Title: [233954] branches/safari-606-branch/Source/WebKit
Revision
233954
Author
[email protected]
Date
2018-07-18 18:59:54 -0700 (Wed, 18 Jul 2018)

Log Message

Cherry-pick r233876. rdar://problem/42345027

    Black flash in content area when returning to Mail
    https://bugs.webkit.org/show_bug.cgi?id=187719
    <rdar://problem/42165340>

    Reviewed by Wenson Hsieh.

    * UIProcess/ios/WebPageProxyIOS.mm:
    (WebKit::WebPageProxy::applicationDidFinishSnapshottingAfterEnteringBackground):
    This still reproduces sometimes even after r233723, because:

    If a pending commit arrives after ApplicationDidEnterBackground (when we
    ask the web content process to freeze the layer tree), and after
    ApplicationDidFinishSnapshottingAfterEnteringBackground (when we hide
    WKContentView), but before the process sleeps, it will cause WKContentView
    to be unhidden (potentially including layers with empty surfaces as contents).
    Nothing will re-hide WKContentView. Instead, we should wait for the next
    *pending* commit, which will necessarily not come until after the application
    returns to the foreground because of the strict IPC ordering between
    the message that freezes the layer tree and the "next commit" mechanism.

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

Modified Paths

Diff

Modified: branches/safari-606-branch/Source/WebKit/ChangeLog (233953 => 233954)


--- branches/safari-606-branch/Source/WebKit/ChangeLog	2018-07-19 01:59:51 UTC (rev 233953)
+++ branches/safari-606-branch/Source/WebKit/ChangeLog	2018-07-19 01:59:54 UTC (rev 233954)
@@ -1,5 +1,54 @@
 2018-07-18  Babak Shafiei  <[email protected]>
 
+        Cherry-pick r233876. rdar://problem/42345027
+
+    Black flash in content area when returning to Mail
+    https://bugs.webkit.org/show_bug.cgi?id=187719
+    <rdar://problem/42165340>
+    
+    Reviewed by Wenson Hsieh.
+    
+    * UIProcess/ios/WebPageProxyIOS.mm:
+    (WebKit::WebPageProxy::applicationDidFinishSnapshottingAfterEnteringBackground):
+    This still reproduces sometimes even after r233723, because:
+    
+    If a pending commit arrives after ApplicationDidEnterBackground (when we
+    ask the web content process to freeze the layer tree), and after
+    ApplicationDidFinishSnapshottingAfterEnteringBackground (when we hide
+    WKContentView), but before the process sleeps, it will cause WKContentView
+    to be unhidden (potentially including layers with empty surfaces as contents).
+    Nothing will re-hide WKContentView. Instead, we should wait for the next
+    *pending* commit, which will necessarily not come until after the application
+    returns to the foreground because of the strict IPC ordering between
+    the message that freezes the layer tree and the "next commit" mechanism.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2018-07-16  Tim Horton  <[email protected]>
+
+            Black flash in content area when returning to Mail
+            https://bugs.webkit.org/show_bug.cgi?id=187719
+            <rdar://problem/42165340>
+
+            Reviewed by Wenson Hsieh.
+
+            * UIProcess/ios/WebPageProxyIOS.mm:
+            (WebKit::WebPageProxy::applicationDidFinishSnapshottingAfterEnteringBackground):
+            This still reproduces sometimes even after r233723, because:
+
+            If a pending commit arrives after ApplicationDidEnterBackground (when we
+            ask the web content process to freeze the layer tree), and after
+            ApplicationDidFinishSnapshottingAfterEnteringBackground (when we hide
+            WKContentView), but before the process sleeps, it will cause WKContentView
+            to be unhidden (potentially including layers with empty surfaces as contents).
+            Nothing will re-hide WKContentView. Instead, we should wait for the next
+            *pending* commit, which will necessarily not come until after the application
+            returns to the foreground because of the strict IPC ordering between
+            the message that freezes the layer tree and the "next commit" mechanism.
+
+2018-07-18  Babak Shafiei  <[email protected]>
+
         Cherry-pick r233872. rdar://problem/42345272
 
     Source/WebCore:

Modified: branches/safari-606-branch/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm (233953 => 233954)


--- branches/safari-606-branch/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm	2018-07-19 01:59:51 UTC (rev 233953)
+++ branches/safari-606-branch/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm	2018-07-19 01:59:54 UTC (rev 233954)
@@ -657,7 +657,7 @@
 {
     if (m_drawingArea) {
         m_drawingArea->prepareForAppSuspension();
-        m_drawingArea->hideContentUntilAnyUpdate();
+        m_drawingArea->hideContentUntilPendingUpdate();
     }
     m_process->send(Messages::WebPage::ApplicationDidFinishSnapshottingAfterEnteringBackground(), m_pageID);
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to