Title: [260104] trunk/Source/WebKit
Revision
260104
Author
[email protected]
Date
2020-04-14 16:53:25 -0700 (Tue, 14 Apr 2020)

Log Message

REGRESSION (r259898): Tabs occasionally go blank and get stuck that way
https://bugs.webkit.org/show_bug.cgi?id=210520
<rdar://problem/61776830>

Reviewed by Simon Fraser.

* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
setThumbnailView calls setAcceleratedCompositingRootLayer in order to reconnect the
existing root layer. After r259898, this would cause us to go down the
process-swap path, and hide the root layer, and nothing would ever
come along and fix it.

If setAcceleratedCompositingRootLayer is called with the existing root
layer, that cannot be a process swap, so ignore it and proceed as before.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (260103 => 260104)


--- trunk/Source/WebKit/ChangeLog	2020-04-14 23:33:03 UTC (rev 260103)
+++ trunk/Source/WebKit/ChangeLog	2020-04-14 23:53:25 UTC (rev 260104)
@@ -1,3 +1,21 @@
+2020-04-14  Tim Horton  <[email protected]>
+
+        REGRESSION (r259898): Tabs occasionally go blank and get stuck that way
+        https://bugs.webkit.org/show_bug.cgi?id=210520
+        <rdar://problem/61776830>
+
+        Reviewed by Simon Fraser.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
+        setThumbnailView calls setAcceleratedCompositingRootLayer in order to reconnect the
+        existing root layer. After r259898, this would cause us to go down the
+        process-swap path, and hide the root layer, and nothing would ever
+        come along and fix it.
+
+        If setAcceleratedCompositingRootLayer is called with the existing root
+        layer, that cannot be a process swap, so ignore it and proceed as before.
+
 2020-04-14  Jer Noble  <[email protected]>
 
         Adopt interface AVAudioRoutingArbiter for Mac

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (260103 => 260104)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2020-04-14 23:33:03 UTC (rev 260103)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2020-04-14 23:53:25 UTC (rev 260104)
@@ -3815,7 +3815,7 @@
     // This is the process-swap case. We add the new layer behind the existing root layer and mark it as hidden.
     // This way, the new layer gets accelerated compositing but won't be visible until
     // setAcceleratedCompositingRootLayerAfterFlush() is called, in order to prevent flashing.
-    if (m_rootLayer && rootLayer) {
+    if (m_rootLayer && rootLayer && m_rootLayer != rootLayer) {
         if (m_thumbnailView)
             return;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to