Title: [246102] trunk/Source
Revision
246102
Author
[email protected]
Date
2019-06-05 00:56:07 -0700 (Wed, 05 Jun 2019)

Log Message

REGRESSION(r245796): [WPE][GTK] Web process crash on startup
https://bugs.webkit.org/show_bug.cgi?id=198485

Reviewed by Chris Dumez.

Source/WebCore:

ResourceRequest's PageIdentifier may be unset, which causes coding to fail as
ObjectIdentifiers are required to be valid (nonzero). We need to use Optional here.
Previously, 0 was used to indicate unset page ID. This is clearer.

* platform/network/soup/ResourceRequest.h:
(WebCore::ResourceRequest::initiatingPageID const):
(WebCore::ResourceRequest::decodeWithPlatformData):
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupRequest const):

Source/WebKit:

* UIProcess/API/glib/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestCreate):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (246101 => 246102)


--- trunk/Source/WebCore/ChangeLog	2019-06-05 07:42:09 UTC (rev 246101)
+++ trunk/Source/WebCore/ChangeLog	2019-06-05 07:56:07 UTC (rev 246102)
@@ -1,3 +1,20 @@
+2019-06-05  Michael Catanzaro  <[email protected]>
+
+        REGRESSION(r245796): [WPE][GTK] Web process crash on startup
+        https://bugs.webkit.org/show_bug.cgi?id=198485
+
+        Reviewed by Chris Dumez.
+
+        ResourceRequest's PageIdentifier may be unset, which causes coding to fail as
+        ObjectIdentifiers are required to be valid (nonzero). We need to use Optional here.
+        Previously, 0 was used to indicate unset page ID. This is clearer.
+
+        * platform/network/soup/ResourceRequest.h:
+        (WebCore::ResourceRequest::initiatingPageID const):
+        (WebCore::ResourceRequest::decodeWithPlatformData):
+        * platform/network/soup/ResourceRequestSoup.cpp:
+        (WebCore::ResourceRequest::updateSoupRequest const):
+
 2019-06-04  Ryosuke Niwa  <[email protected]>
 
         iPadOS: Google calendars new event picker moves and flickers in landscape with software keyboard

Modified: trunk/Source/WebCore/platform/network/soup/ResourceRequest.h (246101 => 246102)


--- trunk/Source/WebCore/platform/network/soup/ResourceRequest.h	2019-06-05 07:42:09 UTC (rev 246101)
+++ trunk/Source/WebCore/platform/network/soup/ResourceRequest.h	2019-06-05 07:56:07 UTC (rev 246102)
@@ -95,7 +95,7 @@
         SoupMessageFlags soupMessageFlags() const { return m_soupFlags; }
         void setSoupMessageFlags(SoupMessageFlags soupFlags) { m_soupFlags = soupFlags; }
 
-        PageIdentifier initiatingPageID() const { return m_initiatingPageID; }
+        Optional<PageIdentifier> initiatingPageID() const { return m_initiatingPageID; }
         void setInitiatingPageID(PageIdentifier pageID) { m_initiatingPageID = pageID; }
 
         GUniquePtr<SoupURI> createSoupURI() const;
@@ -108,7 +108,7 @@
 
         bool m_acceptEncoding : 1;
         SoupMessageFlags m_soupFlags;
-        PageIdentifier m_initiatingPageID;
+        Optional<PageIdentifier> m_initiatingPageID;
 
         void updateSoupMessageMembers(SoupMessage*) const;
         void updateSoupMessageBody(SoupMessage*) const;
@@ -157,7 +157,7 @@
         return false;
     m_soupFlags = static_cast<SoupMessageFlags>(soupMessageFlags);
 
-    Optional<PageIdentifier> initiatingPageID;
+    Optional<Optional<PageIdentifier>> initiatingPageID;
     decoder >> initiatingPageID;
     if (!initiatingPageID)
         return false;

Modified: trunk/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp (246101 => 246102)


--- trunk/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp	2019-06-05 07:42:09 UTC (rev 246101)
+++ trunk/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp	2019-06-05 07:56:07 UTC (rev 246102)
@@ -183,7 +183,7 @@
 {
     if (m_initiatingPageID) {
         uint64_t* initiatingPageIDPtr = static_cast<uint64_t*>(fastMalloc(sizeof(uint64_t)));
-        *initiatingPageIDPtr = m_initiatingPageID.toUInt64();
+        *initiatingPageIDPtr = m_initiatingPageID->toUInt64();
         g_object_set_data_full(G_OBJECT(soupRequest), g_intern_static_string(gSoupRequestInitiatingPageIDKey), initiatingPageIDPtr, fastFree);
     }
 

Modified: trunk/Source/WebKit/ChangeLog (246101 => 246102)


--- trunk/Source/WebKit/ChangeLog	2019-06-05 07:42:09 UTC (rev 246101)
+++ trunk/Source/WebKit/ChangeLog	2019-06-05 07:56:07 UTC (rev 246102)
@@ -1,3 +1,13 @@
+2019-06-05  Michael Catanzaro  <[email protected]>
+
+        REGRESSION(r245796): [WPE][GTK] Web process crash on startup
+        https://bugs.webkit.org/show_bug.cgi?id=198485
+
+        Reviewed by Chris Dumez.
+
+        * UIProcess/API/glib/WebKitURISchemeRequest.cpp:
+        (webkitURISchemeRequestCreate):
+
 2019-06-05  Carlos Garcia Campos  <[email protected]>
 
         [GTK][WPE] Re-enable process warming

Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp (246101 => 246102)


--- trunk/Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp	2019-06-05 07:42:09 UTC (rev 246101)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp	2019-06-05 07:56:07 UTC (rev 246102)
@@ -84,7 +84,7 @@
     request->priv->webContext = webContext;
     request->priv->manager = &manager;
     request->priv->uri = resourceRequest.url().string().utf8();
-    request->priv->initiatingPage = WebProcessProxy::webPage(resourceRequest.initiatingPageID());
+    request->priv->initiatingPage = WebProcessProxy::webPage(*resourceRequest.initiatingPageID());
     request->priv->requestID = requestID;
     return request;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to