Changeset 246102 in webkit


Ignore:
Timestamp:
Jun 5, 2019 12:56:07 AM (5 years ago)
Author:
Michael Catanzaro
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):

Location:
trunk/Source
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r246099 r246102  
     12019-06-05  Michael Catanzaro  <mcatanzaro@igalia.com>
     2
     3        REGRESSION(r245796): [WPE][GTK] Web process crash on startup
     4        https://bugs.webkit.org/show_bug.cgi?id=198485
     5
     6        Reviewed by Chris Dumez.
     7
     8        ResourceRequest's PageIdentifier may be unset, which causes coding to fail as
     9        ObjectIdentifiers are required to be valid (nonzero). We need to use Optional here.
     10        Previously, 0 was used to indicate unset page ID. This is clearer.
     11
     12        * platform/network/soup/ResourceRequest.h:
     13        (WebCore::ResourceRequest::initiatingPageID const):
     14        (WebCore::ResourceRequest::decodeWithPlatformData):
     15        * platform/network/soup/ResourceRequestSoup.cpp:
     16        (WebCore::ResourceRequest::updateSoupRequest const):
     17
    1182019-06-04  Ryosuke Niwa  <rniwa@webkit.org>
    219
  • trunk/Source/WebCore/platform/network/soup/ResourceRequest.h

    r245796 r246102  
    9696        void setSoupMessageFlags(SoupMessageFlags soupFlags) { m_soupFlags = soupFlags; }
    9797
    98         PageIdentifier initiatingPageID() const { return m_initiatingPageID; }
     98        Optional<PageIdentifier> initiatingPageID() const { return m_initiatingPageID; }
    9999        void setInitiatingPageID(PageIdentifier pageID) { m_initiatingPageID = pageID; }
    100100
     
    109109        bool m_acceptEncoding : 1;
    110110        SoupMessageFlags m_soupFlags;
    111         PageIdentifier m_initiatingPageID;
     111        Optional<PageIdentifier> m_initiatingPageID;
    112112
    113113        void updateSoupMessageMembers(SoupMessage*) const;
     
    158158    m_soupFlags = static_cast<SoupMessageFlags>(soupMessageFlags);
    159159
    160     Optional<PageIdentifier> initiatingPageID;
     160    Optional<Optional<PageIdentifier>> initiatingPageID;
    161161    decoder >> initiatingPageID;
    162162    if (!initiatingPageID)
  • trunk/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp

    r245796 r246102  
    184184    if (m_initiatingPageID) {
    185185        uint64_t* initiatingPageIDPtr = static_cast<uint64_t*>(fastMalloc(sizeof(uint64_t)));
    186         *initiatingPageIDPtr = m_initiatingPageID.toUInt64();
     186        *initiatingPageIDPtr = m_initiatingPageID->toUInt64();
    187187        g_object_set_data_full(G_OBJECT(soupRequest), g_intern_static_string(gSoupRequestInitiatingPageIDKey), initiatingPageIDPtr, fastFree);
    188188    }
  • trunk/Source/WebKit/ChangeLog

    r246101 r246102  
     12019-06-05  Michael Catanzaro  <mcatanzaro@igalia.com>
     2
     3        REGRESSION(r245796): [WPE][GTK] Web process crash on startup
     4        https://bugs.webkit.org/show_bug.cgi?id=198485
     5
     6        Reviewed by Chris Dumez.
     7
     8        * UIProcess/API/glib/WebKitURISchemeRequest.cpp:
     9        (webkitURISchemeRequestCreate):
     10
    1112019-06-05  Carlos Garcia Campos  <cgarcia@igalia.com>
    212
  • trunk/Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp

    r238851 r246102  
    8585    request->priv->manager = &manager;
    8686    request->priv->uri = resourceRequest.url().string().utf8();
    87     request->priv->initiatingPage = WebProcessProxy::webPage(resourceRequest.initiatingPageID());
     87    request->priv->initiatingPage = WebProcessProxy::webPage(*resourceRequest.initiatingPageID());
    8888    request->priv->requestID = requestID;
    8989    return request;
Note: See TracChangeset for help on using the changeset viewer.