diff options
Diffstat (limited to 'Source/WebCore/platform/mac/WidgetMac.mm')
-rw-r--r-- | Source/WebCore/platform/mac/WidgetMac.mm | 11 |
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; } |