[iOS] Tiny hack to fix WebKitTestRunner view visibility
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Jun 2014 00:55:53 +0000 (00:55 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Jun 2014 00:55:53 +0000 (00:55 +0000)
https://bugs.webkit.org/show_bug.cgi?id=133833

Reviewed by Tim Horton.

PageClientImplIOS in WebKitTestRunner has a null m_webView, so isViewInWindow
was returning false, which confused things.

Fix by falling back to a check on the content view if the m_webView is nil.

* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::isViewInWindow):

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

Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm

index ffa9302..7e17ff6 100644 (file)
@@ -1,3 +1,19 @@
+2014-06-12  Simon Fraser  <simon.fraser@apple.com>
+
+        [iOS] Tiny hack to fix WebKitTestRunner view visibility
+        https://bugs.webkit.org/show_bug.cgi?id=133833
+
+        Reviewed by Tim Horton.
+        
+        PageClientImplIOS in WebKitTestRunner has a null m_webView, so isViewInWindow
+        was returning false, which confused things.
+        
+        Fix by falling back to a check on the content view if the m_webView is nil.
+
+        * UIProcess/ios/PageClientImplIOS.mm:
+        (WebKit::PageClientImpl::isViewVisible):
+        (WebKit::PageClientImpl::isViewInWindow):
+
 2014-06-12  Brady Eidson  <beidson@apple.com>
 
         Add SPI for image controls and service controls preferences.
index fed283a..ddef0cc 100644 (file)
@@ -124,12 +124,16 @@ bool PageClientImpl::isViewFocused()
 
 bool PageClientImpl::isViewVisible()
 {
-    return [m_webView window] && [UIApplication sharedApplication].applicationState != UIApplicationStateBackground;
+    return isViewInWindow() && [UIApplication sharedApplication].applicationState != UIApplicationStateBackground;
 }
 
 bool PageClientImpl::isViewInWindow()
 {
-    return [m_webView window];
+    // FIXME: in WebKitTestRunner, m_webView is nil, so check the content view instead.
+    if (m_webView)
+        return [m_webView window];
+
+    return [m_contentView window];
 }
 
 bool PageClientImpl::isViewVisibleOrOccluded()