⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 245726 in webkit


Ignore:
Timestamp:
May 23, 2019, 4:36:36 PM (7 years ago)
Author:
Ross Kirsling
Message:

Socket-based RWI should be able to inspect a JSContext
https://bugs.webkit.org/show_bug.cgi?id=198197

Reviewed by Don Olmstead.

Source/JavaScriptCore:

  • inspector/remote/socket/RemoteInspectorSocket.cpp:

(Inspector::RemoteInspector::listingForInspectionTarget const):
Just use the debuggableType strings that WebInspectorUI ultimately wants.

Source/WebKit:

  • UIProcess/socket/RemoteInspectorClient.cpp:

(WebKit::RemoteInspectorClient::inspect):

  • UIProcess/socket/RemoteInspectorClient.h:
  • UIProcess/socket/RemoteInspectorProtocolHandler.cpp:

(WebKit::RemoteInspectorProtocolHandler::inspect):
(WebKit::RemoteInspectorProtocolHandler::targetListChanged):
(WebKit::RemoteInspectorProtocolHandler::platformStartTask):

  • UIProcess/socket/RemoteInspectorProtocolHandler.h:

Have the RWI client actually pass the debuggableType to WebInspectorUI.

Location:
trunk/Source
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r245710 r245726  
     12019-05-23  Ross Kirsling  <ross.kirsling@sony.com>
     2
     3        Socket-based RWI should be able to inspect a JSContext
     4        https://bugs.webkit.org/show_bug.cgi?id=198197
     5
     6        Reviewed by Don Olmstead.
     7
     8        * inspector/remote/socket/RemoteInspectorSocket.cpp:
     9        (Inspector::RemoteInspector::listingForInspectionTarget const):
     10        Just use the debuggableType strings that WebInspectorUI ultimately wants.
     11
    1122019-05-23  Tadeu Zagallo  <tzagallo@apple.com>
    213
  • trunk/Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocket.cpp

    r244919 r245726  
    141141    targetListing->setBoolean("hasLocalDebugger"_s, target.hasLocalDebugger());
    142142    if (target.type() == RemoteInspectionTarget::Type::Web)
    143         targetListing->setString("type"_s, "Web"_s);
     143        targetListing->setString("type"_s, "web"_s);
    144144    else if (target.type() == RemoteInspectionTarget::Type::JavaScript)
    145         targetListing->setString("type"_s, "JavaScript"_s);
     145        targetListing->setString("type"_s, "javascript"_s);
    146146    else if (target.type() == RemoteInspectionTarget::Type::ServiceWorker)
    147         targetListing->setString("type"_s, "ServiceWorker"_s);
     147        targetListing->setString("type"_s, "service-worker"_s);
    148148
    149149    return targetListing;
  • trunk/Source/WebKit/ChangeLog

    r245717 r245726  
     12019-05-23  Ross Kirsling  <ross.kirsling@sony.com>
     2
     3        Socket-based RWI should be able to inspect a JSContext
     4        https://bugs.webkit.org/show_bug.cgi?id=198197
     5
     6        Reviewed by Don Olmstead.
     7
     8        * UIProcess/socket/RemoteInspectorClient.cpp:
     9        (WebKit::RemoteInspectorClient::inspect):
     10        * UIProcess/socket/RemoteInspectorClient.h:
     11        * UIProcess/socket/RemoteInspectorProtocolHandler.cpp:
     12        (WebKit::RemoteInspectorProtocolHandler::inspect):
     13        (WebKit::RemoteInspectorProtocolHandler::targetListChanged):
     14        (WebKit::RemoteInspectorProtocolHandler::platformStartTask):
     15        * UIProcess/socket/RemoteInspectorProtocolHandler.h:
     16        Have the RWI client actually pass the debuggableType to WebInspectorUI.
     17
    1182019-05-22  Stephanie Lewis  <slewis@apple.com>
    219
  • trunk/Source/WebKit/UIProcess/socket/RemoteInspectorClient.cpp

    r245536 r245726  
    3737    WTF_MAKE_FAST_ALLOCATED();
    3838public:
    39     RemoteInspectorProxy(RemoteInspectorClient& inspectorClient, ConnectionID connectionID, TargetID targetID)
     39    RemoteInspectorProxy(RemoteInspectorClient& inspectorClient, ConnectionID connectionID, TargetID targetID, const String& type)
    4040        : m_proxy(RemoteWebInspectorProxy::create())
    4141        , m_inspectorClient(inspectorClient)
    4242        , m_connectionID(connectionID)
    4343        , m_targetID(targetID)
     44        , m_debuggableType(type)
    4445    {
    4546        m_proxy->setClient(this);
     
    5455    void load()
    5556    {
    56         m_proxy->load("web", "");
     57        m_proxy->load(m_debuggableType, String());
    5758    }
    5859
     
    8283    ConnectionID m_connectionID;
    8384    TargetID m_targetID;
     85    String m_debuggableType;
    8486};
    8587
     
    139141}
    140142
    141 void RemoteInspectorClient::inspect(ConnectionID connectionID, TargetID targetID)
    142 {
    143     auto addResult = m_inspectorProxyMap.ensure(std::make_pair(connectionID, targetID), [this, connectionID, targetID] {
    144         return std::make_unique<RemoteInspectorProxy>(*this, connectionID, targetID);
     143void RemoteInspectorClient::inspect(ConnectionID connectionID, TargetID targetID, const String& type)
     144{
     145    auto addResult = m_inspectorProxyMap.ensure(std::make_pair(connectionID, targetID), [this, connectionID, targetID, &type] {
     146        return std::make_unique<RemoteInspectorProxy>(*this, connectionID, targetID, type);
    145147    });
    146148
  • trunk/Source/WebKit/UIProcess/socket/RemoteInspectorClient.h

    r245536 r245726  
    6565    const HashMap<ConnectionID, Vector<Target>>& targets() const { return m_targets; }
    6666
    67     void inspect(ConnectionID, TargetID);
     67    void inspect(ConnectionID, TargetID, const String&);
    6868    void sendMessageToBackend(ConnectionID, TargetID, const String&);
    6969    void closeFromFrontend(ConnectionID, TargetID);
  • trunk/Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.cpp

    r245536 r245726  
    5353    {
    5454        auto tokens = serializedScriptValue.toString().split(":");
    55         if (tokens.size() != 2)
     55        if (tokens.size() != 3)
    5656            return;
    5757
    5858        URL requestURL { { }, page.pageLoadState().url() };
    59         m_inspectorProtocolHandler.inspect(requestURL.hostAndPort(), tokens[0].toUIntStrict(), tokens[1].toUIntStrict());
     59        m_inspectorProtocolHandler.inspect(requestURL.hostAndPort(), tokens[0].toUIntStrict(), tokens[1].toUIntStrict(), tokens[2]);
    6060    }
    6161
     
    6464};
    6565
    66 void RemoteInspectorProtocolHandler::inspect(const String& hostAndPort, ConnectionID connectionID, TargetID targetID)
     66void RemoteInspectorProtocolHandler::inspect(const String& hostAndPort, ConnectionID connectionID, TargetID targetID, const String& type)
    6767{
    6868    if (auto* client = m_inspectorClients.get(hostAndPort))
    69         client->inspect(connectionID, targetID);
     69        client->inspect(connectionID, targetID, type);
    7070}
    7171
    7272void RemoteInspectorProtocolHandler::targetListChanged(RemoteInspectorClient&)
    7373{
     74    if (m_page.pageLoadState().isLoading())
     75        return;
     76
    7477    m_page.reload({ });
    7578}
     
    119122                    "<tbody><tr>"
    120123                    "<td class=\"data\"><div class=\"targetname\">", target.name, "</div><div class=\"targeturl\">", target.url, "</div></td>"
    121                     "<td class=\"input\"><input type=\"button\" value=\"Inspect\" onclick=\"window.webkit.messageHandlers.inspector.postMessage('", connectionID, ":", target.id, "');\"></td>"
     124                    "<td class=\"input\"><input type=\"button\" value=\"Inspect\" onclick=\"window.webkit.messageHandlers.inspector.postMessage('", connectionID, ":", target.id, ":", target.type, "');\"></td>"
    122125                    "</tr></tbody>"
    123126                ));
  • trunk/Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.h

    r245536 r245726  
    4343    static Ref<RemoteInspectorProtocolHandler> create(WebPageProxy& page) { return adoptRef(*new RemoteInspectorProtocolHandler(page)); }
    4444
    45     void inspect(const String&, ConnectionID, TargetID);
     45    void inspect(const String& hostAndPort, ConnectionID, TargetID, const String& type);
    4646
    4747private:
Note: See TracChangeset for help on using the changeset viewer.