summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/mac/WidgetMac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/mac/WidgetMac.mm')
-rw-r--r--Source/WebCore/platform/mac/WidgetMac.mm11
1 files changed, 8 insertions, 3 deletions
diff --git a/Source/WebCore/platform/mac/WidgetMac.mm b/Source/WebCore/platform/mac/WidgetMac.mm
index 96bcde2..f75faaa 100644
--- a/Source/WebCore/platform/mac/WidgetMac.mm
+++ b/Source/WebCore/platform/mac/WidgetMac.mm
@@ -115,10 +115,15 @@ void Widget::setFocus(bool focused)
BEGIN_BLOCK_OBJC_EXCEPTIONS;
+ // If there's no platformWidget, WK2 is running. The focus() method needs to be used
+ // to bring focus to the right view on the UIProcess side.
NSView *view = [platformWidget() _webcore_effectiveFirstResponder];
- if (Page* page = frame->page())
- page->chrome()->focusNSView(view);
-
+ if (Page* page = frame->page()) {
+ if (!platformWidget())
+ page->chrome()->focus();
+ else
+ page->chrome()->focusNSView(view);
+ }
END_BLOCK_OBJC_EXCEPTIONS;
}