WebKit Bugzilla
Attachment 370527 Details for
Bug 198197
: Socket-based RWI should be able to inspect a JSContext
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198197-20190523153045.patch (text/plain), 9.14 KB, created by
Ross Kirsling
on 2019-05-23 15:30:44 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Ross Kirsling
Created:
2019-05-23 15:30:44 PDT
Size:
9.14 KB
patch
obsolete
>Subversion Revision: 245693 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index f9d2a2bfd1546fe7f58dfde38b073d630f1301d7..76e0da2a5b812424ac4536a4edf84feeaf32a1e1 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,14 @@ >+2019-05-23 Ross Kirsling <ross.kirsling@sony.com> >+ >+ Socket-based RWI should be able to inspect a JSContext >+ https://bugs.webkit.org/show_bug.cgi?id=198197 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * inspector/remote/socket/RemoteInspectorSocket.cpp: >+ (Inspector::RemoteInspector::listingForInspectionTarget const): >+ Just use the debuggableType strings that WebInspectorUI ultimately wants. >+ > 2019-05-23 Adrian Perez de Castro <aperez@igalia.com> > > Fix a few missing header inclusions often masked by by unified sources >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index c0d439f544138fa86d1cdcec73a4af4c7c964512..35f92fafe13b462d256683ade6123d8d58085828 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,19 @@ >+2019-05-23 Ross Kirsling <ross.kirsling@sony.com> >+ >+ Socket-based RWI should be able to inspect a JSContext >+ https://bugs.webkit.org/show_bug.cgi?id=198197 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * UIProcess/socket/RemoteInspectorClient.cpp: >+ (WebKit::RemoteInspectorClient::inspect): >+ * UIProcess/socket/RemoteInspectorClient.h: >+ * UIProcess/socket/RemoteInspectorProtocolHandler.cpp: >+ (WebKit::RemoteInspectorProtocolHandler::inspect): >+ (WebKit::RemoteInspectorProtocolHandler::platformStartTask): >+ * UIProcess/socket/RemoteInspectorProtocolHandler.h: >+ Have the RWI client actually pass the debuggableType to WebInspectorUI. >+ > 2019-05-23 Alex Christensen <achristensen@webkit.org> > > Deprecate more preview API >diff --git a/Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocket.cpp b/Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocket.cpp >index 52f09b8edc24bc148634585d39707f557a67b630..7b11e1de01b4db4e20b3019ce98cc3d8a1a5e161 100644 >--- a/Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocket.cpp >+++ b/Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocket.cpp >@@ -140,11 +140,11 @@ TargetListing RemoteInspector::listingForInspectionTarget(const RemoteInspection > targetListing->setInteger("targetID"_s, target.targetIdentifier()); > targetListing->setBoolean("hasLocalDebugger"_s, target.hasLocalDebugger()); > if (target.type() == RemoteInspectionTarget::Type::Web) >- targetListing->setString("type"_s, "Web"_s); >+ targetListing->setString("type"_s, "web"_s); > else if (target.type() == RemoteInspectionTarget::Type::JavaScript) >- targetListing->setString("type"_s, "JavaScript"_s); >+ targetListing->setString("type"_s, "javascript"_s); > else if (target.type() == RemoteInspectionTarget::Type::ServiceWorker) >- targetListing->setString("type"_s, "ServiceWorker"_s); >+ targetListing->setString("type"_s, "service-worker"_s); > > return targetListing; > } >diff --git a/Source/WebKit/UIProcess/socket/RemoteInspectorClient.cpp b/Source/WebKit/UIProcess/socket/RemoteInspectorClient.cpp >index eb2ac856859ada44824f2307c7e4507ca7c746f4..ed0d5ffe9589f95e44a07f2218ed82c00f017d7e 100644 >--- a/Source/WebKit/UIProcess/socket/RemoteInspectorClient.cpp >+++ b/Source/WebKit/UIProcess/socket/RemoteInspectorClient.cpp >@@ -36,11 +36,12 @@ namespace WebKit { > class RemoteInspectorProxy final : public RemoteWebInspectorProxyClient { > WTF_MAKE_FAST_ALLOCATED(); > public: >- RemoteInspectorProxy(RemoteInspectorClient& inspectorClient, ConnectionID connectionID, TargetID targetID) >+ RemoteInspectorProxy(RemoteInspectorClient& inspectorClient, ConnectionID connectionID, TargetID targetID, const String& type) > : m_proxy(RemoteWebInspectorProxy::create()) > , m_inspectorClient(inspectorClient) > , m_connectionID(connectionID) > , m_targetID(targetID) >+ , m_debuggableType(type) > { > m_proxy->setClient(this); > } >@@ -53,7 +54,7 @@ public: > > void load() > { >- m_proxy->load("web", ""); >+ m_proxy->load(m_debuggableType, String()); > } > > void show() >@@ -81,6 +82,7 @@ private: > RemoteInspectorClient& m_inspectorClient; > ConnectionID m_connectionID; > TargetID m_targetID; >+ String m_debuggableType; > }; > > RemoteInspectorClient::RemoteInspectorClient(const char* address, unsigned port, RemoteInspectorObserver& observer) >@@ -138,10 +140,10 @@ void RemoteInspectorClient::didClose(ConnectionID) > { > } > >-void RemoteInspectorClient::inspect(ConnectionID connectionID, TargetID targetID) >+void RemoteInspectorClient::inspect(ConnectionID connectionID, TargetID targetID, const String& type) > { >- auto addResult = m_inspectorProxyMap.ensure(std::make_pair(connectionID, targetID), [this, connectionID, targetID] { >- return std::make_unique<RemoteInspectorProxy>(*this, connectionID, targetID); >+ auto addResult = m_inspectorProxyMap.ensure(std::make_pair(connectionID, targetID), [this, connectionID, targetID, &type] { >+ return std::make_unique<RemoteInspectorProxy>(*this, connectionID, targetID, type); > }); > > if (!addResult.isNewEntry) { >diff --git a/Source/WebKit/UIProcess/socket/RemoteInspectorClient.h b/Source/WebKit/UIProcess/socket/RemoteInspectorClient.h >index d5b3584d3a6f64dfdcafbb8d0b3987be898d5ef2..d6f87434c0bbd3d74ed5b3ae1d8eb48c16fc6eaf 100644 >--- a/Source/WebKit/UIProcess/socket/RemoteInspectorClient.h >+++ b/Source/WebKit/UIProcess/socket/RemoteInspectorClient.h >@@ -64,7 +64,7 @@ public: > > const HashMap<ConnectionID, Vector<Target>>& targets() const { return m_targets; } > >- void inspect(ConnectionID, TargetID); >+ void inspect(ConnectionID, TargetID, const String&); > void sendMessageToBackend(ConnectionID, TargetID, const String&); > void closeFromFrontend(ConnectionID, TargetID); > >diff --git a/Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.cpp b/Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.cpp >index 812e45878756af48e0ff78d0f65e94375fa3a03b..4023b71aed0cd155ca103f47e6267211c3cc114f 100644 >--- a/Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.cpp >+++ b/Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.cpp >@@ -52,21 +52,21 @@ public: > void didPostMessage(WebPageProxy& page, const FrameInfoData&, WebCore::SerializedScriptValue& serializedScriptValue) override > { > auto tokens = serializedScriptValue.toString().split(":"); >- if (tokens.size() != 2) >+ if (tokens.size() != 3) > return; > > URL requestURL { { }, page.pageLoadState().url() }; >- m_inspectorProtocolHandler.inspect(requestURL.hostAndPort(), tokens[0].toUIntStrict(), tokens[1].toUIntStrict()); >+ m_inspectorProtocolHandler.inspect(requestURL.hostAndPort(), tokens[0].toUIntStrict(), tokens[1].toUIntStrict(), tokens[2]); > } > > private: > RemoteInspectorProtocolHandler& m_inspectorProtocolHandler; > }; > >-void RemoteInspectorProtocolHandler::inspect(const String& hostAndPort, ConnectionID connectionID, TargetID targetID) >+void RemoteInspectorProtocolHandler::inspect(const String& hostAndPort, ConnectionID connectionID, TargetID targetID, const String& type) > { > if (auto* client = m_inspectorClients.get(hostAndPort)) >- client->inspect(connectionID, targetID); >+ client->inspect(connectionID, targetID, type); > } > > void RemoteInspectorProtocolHandler::targetListChanged(RemoteInspectorClient&) >@@ -118,7 +118,7 @@ void RemoteInspectorProtocolHandler::platformStartTask(WebPageProxy& pageProxy, > htmlBuilder.append(makeString( > "<tbody><tr>" > "<td class=\"data\"><div class=\"targetname\">", target.name, "</div><div class=\"targeturl\">", target.url, "</div></td>" >- "<td class=\"input\"><input type=\"button\" value=\"Inspect\" onclick=\"window.webkit.messageHandlers.inspector.postMessage('", connectionID, ":", target.id, "');\"></td>" >+ "<td class=\"input\"><input type=\"button\" value=\"Inspect\" onclick=\"window.webkit.messageHandlers.inspector.postMessage('", connectionID, ":", target.id, ":", target.type, "');\"></td>" > "</tr></tbody>" > )); > } >diff --git a/Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.h b/Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.h >index e0ac34e2d39d663a4e4beabe8cb26102f06ab11a..703a75662b9c72dcaac9e8b4344ae616e9af98d2 100644 >--- a/Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.h >+++ b/Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.h >@@ -42,7 +42,7 @@ class RemoteInspectorProtocolHandler final : public RemoteInspectorObserver, pub > public: > static Ref<RemoteInspectorProtocolHandler> create(WebPageProxy& page) { return adoptRef(*new RemoteInspectorProtocolHandler(page)); } > >- void inspect(const String&, ConnectionID, TargetID); >+ void inspect(const String& hostAndPort, ConnectionID, TargetID, const String& type); > > private: > RemoteInspectorProtocolHandler(WebPageProxy& page)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 198197
:
370526
|
370527
|
370528