Changeset 241824 in webkit


Ignore:
Timestamp:
Feb 20, 2019 11:23:28 AM (5 years ago)
Author:
commit-queue@webkit.org
Message:

Fix crash when opening Web Inspector after a WebSocket was blocked by content extensions
https://bugs.webkit.org/show_bug.cgi?id=194819

Patch by Loïc Yhuel <loic.yhuel@softathome.com> on 2019-02-20
Reviewed by Joseph Pecoraro.

Source/WebCore:

Test: http/tests/inspector/network/contentextensions/blocked-websocket-crash.html

  • Modules/websockets/WebSocketChannel.h:

(WebCore::WebSocketChannel::hasCreatedHandshake):

  • inspector/agents/page/PageNetworkAgent.cpp:

Ignore WebSocketChannel without an WebSocketHandshake, which would crash in InspectorNetworkAgent::enable.

LayoutTests:

  • TestExpectations: Skip the test by default, like http/tests/contentextensions
  • http/tests/inspector/network/contentextensions/blocked-websocket-crash-expected.txt: Added.
  • http/tests/inspector/network/contentextensions/blocked-websocket-crash.html: Added.
  • http/tests/inspector/network/contentextensions/blocked-websocket-crash.html.json: Added.
  • platform/gtk/TestExpectations: Unskip the test
  • platform/mac-wk2/TestExpectations: Ditto
  • platform/wpe/TestExpectations: Ditto
Location:
trunk
Files:
4 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r241819 r241824  
     12019-02-20  Loïc Yhuel  <loic.yhuel@softathome.com>
     2
     3        Fix crash when opening Web Inspector after a WebSocket was blocked by content extensions
     4        https://bugs.webkit.org/show_bug.cgi?id=194819
     5
     6        Reviewed by Joseph Pecoraro.
     7
     8        * TestExpectations: Skip the test by default, like http/tests/contentextensions
     9        * http/tests/inspector/network/contentextensions/blocked-websocket-crash-expected.txt: Added.
     10        * http/tests/inspector/network/contentextensions/blocked-websocket-crash.html: Added.
     11        * http/tests/inspector/network/contentextensions/blocked-websocket-crash.html.json: Added.
     12        * platform/gtk/TestExpectations: Unskip the test
     13        * platform/mac-wk2/TestExpectations: Ditto
     14        * platform/wpe/TestExpectations: Ditto
     15
    1162019-02-20  Shawn Roberts  <sroberts@apple.com>
    217
  • trunk/LayoutTests/TestExpectations

    r241656 r241824  
    11801180# Content extensions are Mac-WK2-only for now
    11811181http/tests/contentextensions [ Skip ]
     1182http/tests/inspector/network/contentextensions [ Skip ]
    11821183http/tests/websocket/tests/hybi/contentextensions [ Skip ]
    11831184http/wpt/beacon/contentextensions [ Skip ]
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r241491 r241824  
    38593859
    38603860http/tests/contentextensions [ Pass ]
     3861http/tests/inspector/network/contentextensions [ Pass ]
    38613862
    38623863imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-001.html [ Pass ]
  • trunk/LayoutTests/platform/mac-wk2/TestExpectations

    r241819 r241824  
    519519# Content Extensions tests must be enabled explicitly on mac-wk2.
    520520http/tests/contentextensions [ Pass ]
     521http/tests/inspector/network/contentextensions [ Pass ]
    521522http/tests/websocket/tests/hybi/contentextensions [ Pass ]
    522523[ Sierra+ ] http/wpt/beacon/contentextensions [ Pass ]
  • trunk/LayoutTests/platform/wpe/TestExpectations

    r241430 r241824  
    614614# Content Extensions
    615615http/tests/contentextensions [ Pass ]
     616http/tests/inspector/network/contentextensions [ Pass ]
    616617
    617618#////////////////////////////////////////////////////////////////////////////////////////
  • trunk/Source/WebCore/ChangeLog

    r241822 r241824  
     12019-02-20  Loïc Yhuel  <loic.yhuel@softathome.com>
     2
     3        Fix crash when opening Web Inspector after a WebSocket was blocked by content extensions
     4        https://bugs.webkit.org/show_bug.cgi?id=194819
     5
     6        Reviewed by Joseph Pecoraro.
     7
     8        Test: http/tests/inspector/network/contentextensions/blocked-websocket-crash.html
     9
     10        * Modules/websockets/WebSocketChannel.h:
     11        (WebCore::WebSocketChannel::hasCreatedHandshake):
     12        * inspector/agents/page/PageNetworkAgent.cpp:
     13        Ignore WebSocketChannel without an WebSocketHandshake, which would crash in InspectorNetworkAgent::enable.
     14
    1152019-02-20  Zalan Bujtas  <zalan@apple.com>
    216
  • trunk/Source/WebCore/Modules/websockets/WebSocketChannel.h

    r241183 r241824  
    117117
    118118    unsigned identifier() const { return m_identifier; }
     119    bool hasCreatedHandshake() { return !!m_handshake; }
    119120    ResourceRequest clientHandshakeRequest();
    120121    const ResourceResponse& serverHandshakeResponse() const;
  • trunk/Source/WebCore/inspector/agents/page/PageNetworkAgent.cpp

    r233122 r241824  
    7070            continue;
    7171
     72        if (!channel->hasCreatedHandshake())
     73            continue;
     74
    7275        if (!is<Document>(webSocket->scriptExecutionContext()))
    7376            continue;
Note: See TracChangeset for help on using the changeset viewer.