Inspector doesn't get focused when opened in dock mode
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 Mar 2015 02:37:00 +0000 (02:37 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 Mar 2015 02:37:00 +0000 (02:37 +0000)
https://bugs.webkit.org/show_bug.cgi?id=143030

Reviewed by Anders Carlsson.

The bug was caused by platformBringToFront and platformAttach calling makeFirstResponder on WKWebView,
which aren't intended to become the first responder. Fixed the bug by calling makeFirstResponder on the WKView
subview of the WKWebView, which is intended to be used as the first responder on behalf of the web view.

* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformBringToFront):
(WebKit::WebInspectorProxy::platformAttach):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181927 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm

index 8868e210d862929d04b0c98e0388bb0dc486d27f..030cfb9055fb3b354c8ec840b18199dec0d3a412 100644 (file)
@@ -1,3 +1,18 @@
+2015-03-24  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Inspector doesn't get focused when opened in dock mode
+        https://bugs.webkit.org/show_bug.cgi?id=143030
+
+        Reviewed by Anders Carlsson.
+
+        The bug was caused by platformBringToFront and platformAttach calling makeFirstResponder on WKWebView,
+        which aren't intended to become the first responder. Fixed the bug by calling makeFirstResponder on the WKView
+        subview of the WKWebView, which is intended to be used as the first responder on behalf of the web view.
+
+        * UIProcess/mac/WebInspectorProxyMac.mm:
+        (WebKit::WebInspectorProxy::platformBringToFront):
+        (WebKit::WebInspectorProxy::platformAttach):
+
 2015-03-24  Chris Dumez  <cdumez@apple.com>
 
         [WK2] Responses with 302 HTTP Status Code should not be cached
 2015-03-24  Chris Dumez  <cdumez@apple.com>
 
         [WK2] Responses with 302 HTTP Status Code should not be cached
index 5fda7fcecec960aba0ed1be01c8626f400834aa3..50f09f63ec9adc21b47e9a94bf1e00da14222b16 100644 (file)
@@ -651,7 +651,7 @@ void WebInspectorProxy::platformBringToFront()
 
     // FIXME <rdar://problem/10937688>: this will not bring a background tab in Safari to the front, only its window.
     [m_inspectorView.get().window makeKeyAndOrderFront:nil];
 
     // FIXME <rdar://problem/10937688>: this will not bring a background tab in Safari to the front, only its window.
     [m_inspectorView.get().window makeKeyAndOrderFront:nil];
-    [m_inspectorView.get().window makeFirstResponder:m_inspectorView.get()];
+    [m_inspectorView.get().window makeFirstResponder:m_inspectorView->_page->wkView()];
 }
 
 bool WebInspectorProxy::platformIsFront()
 }
 
 bool WebInspectorProxy::platformIsFront()
@@ -860,8 +860,7 @@ void WebInspectorProxy::platformAttach()
     inspectedViewFrameDidChange(currentDimension);
 
     [[inspectedView superview] addSubview:m_inspectorView.get() positioned:NSWindowBelow relativeTo:inspectedView];
     inspectedViewFrameDidChange(currentDimension);
 
     [[inspectedView superview] addSubview:m_inspectorView.get() positioned:NSWindowBelow relativeTo:inspectedView];
-
-    [[inspectedView window] makeFirstResponder:m_inspectorView.get()];
+    [m_inspectorView.get().window makeFirstResponder:m_inspectorView->_page->wkView()];
 }
 
 void WebInspectorProxy::platformDetach()
 }
 
 void WebInspectorProxy::platformDetach()