Title: [202396] branches/safari-602.1.38-branch/Source/WebKit2
Revision
202396
Author
[email protected]
Date
2016-06-23 13:21:34 -0700 (Thu, 23 Jun 2016)

Log Message

Merged r202393.  rdar://problem/17665473

Modified Paths

Diff

Modified: branches/safari-602.1.38-branch/Source/WebKit2/ChangeLog (202395 => 202396)


--- branches/safari-602.1.38-branch/Source/WebKit2/ChangeLog	2016-06-23 20:16:51 UTC (rev 202395)
+++ branches/safari-602.1.38-branch/Source/WebKit2/ChangeLog	2016-06-23 20:21:34 UTC (rev 202396)
@@ -1,5 +1,28 @@
 2016-06-23  Babak Shafiei  <[email protected]>
 
+        Merge r202393.
+
+    2016-06-23  Chris Dumez  <[email protected]>
+
+            [iOS] A WebPageProxy in closed state should not be allowed to hold a process assertion
+            https://bugs.webkit.org/show_bug.cgi?id=159068
+            <rdar://problem/17665473>
+
+            Reviewed by Tim Horton.
+
+            A WebPageProxy in closed state should not be allowed to hold a process assertion. It
+            currently happens that WebPageProxy::close() gets called but that the WebPageProxy is
+            kept alive by Safari (e.g. In case of top-hit preloading). In such cases, we fail to
+            release the foreground process assertion that the WebPageProxy holds.
+
+            We should clear the foreground process assertion that the WebPageProxy holds as soon
+            as WebPageProxy::close() is called.
+
+            * UIProcess/WebPageProxy.cpp:
+            (WebKit::WebPageProxy::close):
+
+2016-06-23  Babak Shafiei  <[email protected]>
+
         Merge patch for rdar://problem/26831566.
 
     2016-06-23  Dean Jackson  <[email protected]>

Modified: branches/safari-602.1.38-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp (202395 => 202396)


--- branches/safari-602.1.38-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp	2016-06-23 20:16:51 UTC (rev 202395)
+++ branches/safari-602.1.38-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp	2016-06-23 20:21:34 UTC (rev 202396)
@@ -868,6 +868,11 @@
     m_process->removeWebPage(m_pageID);
     m_process->removeMessageReceiver(Messages::WebPageProxy::messageReceiverName(), m_pageID);
     m_process->processPool().supplement<WebNotificationManagerProxy>()->clearNotifications(this);
+
+#if PLATFORM(IOS)
+    // Make sure we don't hold a process assertion after getting closed.
+    m_activityToken = nullptr;
+#endif
 }
 
 bool WebPageProxy::tryClose()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to