Title: [279045] trunk/Source/WebKit
Revision
279045
Author
[email protected]
Date
2021-06-18 13:36:37 -0700 (Fri, 18 Jun 2021)

Log Message

Clear state after process crash so that we know to re-issue sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=227103
<rdar://problem/77588760>

Reviewed by Tim Horton.

Follow-up patch that corrects a problem when switching between processes (for example, when
a provisional load moves to a committed load.) The parameters for the new process would fail
to pass the necessary sandbox extensions for the <attachment> element if they had been vended
to the provisional load. Instead, we should be checking if the new process has been given
the necessary extensions.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters): Use the new process, not the process state we are
copying from when deciding whether we need to extend sandbox powers to the new process.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (279044 => 279045)


--- trunk/Source/WebKit/ChangeLog	2021-06-18 19:44:30 UTC (rev 279044)
+++ trunk/Source/WebKit/ChangeLog	2021-06-18 20:36:37 UTC (rev 279045)
@@ -1,3 +1,21 @@
+2021-06-18  Brent Fulgham  <[email protected]>
+
+        Clear state after process crash so that we know to re-issue sandbox extensions
+        https://bugs.webkit.org/show_bug.cgi?id=227103
+        <rdar://problem/77588760>
+
+        Reviewed by Tim Horton.
+
+        Follow-up patch that corrects a problem when switching between processes (for example, when
+        a provisional load moves to a committed load.) The parameters for the new process would fail
+        to pass the necessary sandbox extensions for the <attachment> element if they had been vended
+        to the provisional load. Instead, we should be checking if the new process has been given
+        the necessary extensions.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::creationParameters): Use the new process, not the process state we are
+        copying from when deciding whether we need to extend sandbox powers to the new process.
+
 2021-06-18  Peng Liu  <[email protected]>
 
         [iOS] Fullscreen video playback gets stuck after interacting with the playback controls

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (279044 => 279045)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-06-18 19:44:30 UTC (rev 279044)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-06-18 20:36:37 UTC (rev 279045)
@@ -8198,9 +8198,9 @@
 #endif
 
 #if ENABLE(ATTACHMENT_ELEMENT) && PLATFORM(COCOA)
-    if (m_preferences->attachmentElementEnabled() && !m_process->hasIssuedAttachmentElementRelatedSandboxExtensions()) {
+    if (m_preferences->attachmentElementEnabled() && !process.hasIssuedAttachmentElementRelatedSandboxExtensions()) {
         parameters.attachmentElementExtensionHandles = SandboxExtension::createHandlesForMachLookup(attachmentElementServices(), std::nullopt);
-        m_process->setHasIssuedAttachmentElementRelatedSandboxExtensions();
+        process.setHasIssuedAttachmentElementRelatedSandboxExtensions();
     }
 #endif
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to