REGRESSION(PSON): Process swapping code doesn't set DisplayID in WebContent process
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Dec 2018 06:12:28 +0000 (06:12 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Dec 2018 06:12:28 +0000 (06:12 +0000)
https://bugs.webkit.org/show_bug.cgi?id=192290

Reviewed by Simon Fraser.

Fixed the bug by updating the DisplayID upon attaching to a WebContent process
after a process swap as well as after the previous WebContent process had crashed.

Unfortunately no new tests since WebKitTestRunner / DumpRenderTree should use 0 as DisplayID
as they have an off-screen NSWindow. The issue that this results in no fallback for
the animation timer is tracked by webkit.org/b/192448.

* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::didRelaunchProcess):

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

Source/WebKit/ChangeLog
Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm

index 063a19a..d250437 100644 (file)
@@ -1,3 +1,20 @@
+2018-12-05  Ryosuke Niwa  <rniwa@webkit.org>
+
+        REGRESSION(PSON): Process swapping code doesn't set DisplayID in WebContent process
+        https://bugs.webkit.org/show_bug.cgi?id=192290
+
+        Reviewed by Simon Fraser.
+
+        Fixed the bug by updating the DisplayID upon attaching to a WebContent process
+        after a process swap as well as after the previous WebContent process had crashed.
+
+        Unfortunately no new tests since WebKitTestRunner / DumpRenderTree should use 0 as DisplayID
+        as they have an off-screen NSWindow. The issue that this results in no fallback for
+        the animation timer is tracked by webkit.org/b/192448.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::didRelaunchProcess):
+
 2018-12-05  Youenn Fablet  <youenn@apple.com>
 
         Remove a document entry from NetworkMDNSRegister::m_services when document goes away
index f82da4a..f1ad363 100644 (file)
@@ -1498,6 +1498,7 @@ void WebViewImpl::didRelaunchProcess()
         m_gestureController->connectToProcess();
 
     accessibilityRegisterUIProcessTokens();
+    windowDidChangeScreen(); // Make sure DisplayID is set.
 }
 
 void WebViewImpl::setDrawsBackground(bool drawsBackground)