On Windows, we need to handle moving focus out of the web view in the client, so add a takeFocus callback to WKPageUIClient and stop handling taking focus in the framework in WKView.mm on the Mac.
Created attachment 89845 [details] Patch
Comment on attachment 89845 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=89845&action=review > Source/WebKit2/UIProcess/API/C/WKPage.h:152 > +typedef void (*WKPageTakeFocusCallback)(WKPageRef page, bool direction, const void *clientInfo); Instead of a bool, I think an enum would be better, e.g. WKFocusDirection.
(In reply to comment #2) > (From update of attachment 89845 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=89845&action=review > > > Source/WebKit2/UIProcess/API/C/WKPage.h:152 > > +typedef void (*WKPageTakeFocusCallback)(WKPageRef page, bool direction, const void *clientInfo); > > Instead of a bool, I think an enum would be better, e.g. WKFocusDirection. Sounds good, I'll upload another patch soon.
Created attachment 89863 [details] Patch
Comment on attachment 89863 [details] Patch This will probably break Qt, you need to add the new client function to qwkpage.cpp.
(In reply to comment #5) > (From update of attachment 89863 [details]) > This will probably break Qt, you need to add the new client function to qwkpage.cpp. Good catch, I will fix this before I commit.
Committed r84064: <http://trac.webkit.org/changeset/84064>
http://trac.webkit.org/changeset/84064 might have broken Leopard Intel Release (Build) and Leopard Intel Debug (Build)
(In reply to comment #7) > Committed r84064: <http://trac.webkit.org/changeset/84064> This broke the Qt Linux Release build: [[ ... obj/release/qwkpage.o:(.data.rel.ro._ZTV14QWKPagePrivate[vtable for QWKPagePrivate]+0xb0): undefined reference to `QWKPagePrivate::takeFocus(bool)' collect2: ld returned 1 exit status ... ]] Committed build fix in 84082 <http://trac.webkit.org/changeset/84082>.