Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (239459 => 239460)
--- trunk/Source/_javascript_Core/ChangeLog 2018-12-20 20:05:34 UTC (rev 239459)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-12-20 20:08:27 UTC (rev 239460)
@@ -1,3 +1,21 @@
+2018-12-20 Joseph Pecoraro <[email protected]>
+
+ ITMLKit Inspector: Elements tab does not show DOM Tree
+ https://bugs.webkit.org/show_bug.cgi?id=192910
+ <rdar://problem/46680585>
+
+ Reviewed by Brian Burg.
+
+ * inspector/agents/InspectorAgent.h:
+ * inspector/agents/InspectorAgent.cpp:
+ (Inspector::InspectorAgent::enable):
+ (Inspector::InspectorAgent::activateExtraDomain):
+ (Inspector::InspectorAgent::activateExtraDomains):
+ Send extra domains immediately instead of waiting until
+ the Inspector domain is enabled. This will ensure the frontend
+ hears about extra augmented domains before augmenting agents
+ get a chance to send any messages.
+
2018-12-20 Mark Lam <[email protected]>
Fix a typo in slow_path_construct_arityCheck and operationConstructArityCheck.
Modified: trunk/Source/_javascript_Core/inspector/agents/InspectorAgent.cpp (239459 => 239460)
--- trunk/Source/_javascript_Core/inspector/agents/InspectorAgent.cpp 2018-12-20 20:05:34 UTC (rev 239459)
+++ trunk/Source/_javascript_Core/inspector/agents/InspectorAgent.cpp 2018-12-20 20:08:27 UTC (rev 239460)
@@ -68,11 +68,6 @@
if (m_pendingInspectData.first)
inspect(m_pendingInspectData.first.copyRef(), m_pendingInspectData.second.copyRef());
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
- if (m_pendingExtraDomainsData)
- m_frontendDispatcher->activateExtraDomains(m_pendingExtraDomainsData);
-#endif
-
for (auto& testCommand : m_pendingEvaluateTestCommands)
m_frontendDispatcher->evaluateForTestInFrontend(testCommand);
@@ -113,12 +108,8 @@
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
void InspectorAgent::activateExtraDomain(const String& domainName)
{
- if (!m_enabled) {
- if (!m_pendingExtraDomainsData)
- m_pendingExtraDomainsData = JSON::ArrayOf<String>::create();
- m_pendingExtraDomainsData->addItem(domainName);
+ if (!m_enabled)
return;
- }
auto domainNames = JSON::ArrayOf<String>::create();
domainNames->addItem(domainName);
@@ -134,10 +125,7 @@
for (auto domainName : extraDomains)
domainNames->addItem(domainName);
- if (!m_enabled)
- m_pendingExtraDomainsData = WTFMove(domainNames);
- else
- m_frontendDispatcher->activateExtraDomains(WTFMove(domainNames));
+ m_frontendDispatcher->activateExtraDomains(WTFMove(domainNames));
}
#endif
Modified: trunk/Source/_javascript_Core/inspector/agents/InspectorAgent.h (239459 => 239460)
--- trunk/Source/_javascript_Core/inspector/agents/InspectorAgent.h 2018-12-20 20:05:34 UTC (rev 239459)
+++ trunk/Source/_javascript_Core/inspector/agents/InspectorAgent.h 2018-12-20 20:08:27 UTC (rev 239460)
@@ -71,9 +71,6 @@
Vector<String> m_pendingEvaluateTestCommands;
std::pair<RefPtr<Protocol::Runtime::RemoteObject>, RefPtr<JSON::Object>> m_pendingInspectData;
-#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
- RefPtr<JSON::ArrayOf<String>> m_pendingExtraDomainsData;
-#endif
bool m_enabled { false };
};
Modified: trunk/Source/WebInspectorUI/ChangeLog (239459 => 239460)
--- trunk/Source/WebInspectorUI/ChangeLog 2018-12-20 20:05:34 UTC (rev 239459)
+++ trunk/Source/WebInspectorUI/ChangeLog 2018-12-20 20:08:27 UTC (rev 239460)
@@ -1,5 +1,29 @@
2018-12-20 Joseph Pecoraro <[email protected]>
+ ITMLKit Inspector: Elements tab does not show DOM Tree
+ https://bugs.webkit.org/show_bug.cgi?id=192910
+ <rdar://problem/46680585>
+
+ Reviewed by Brian Burg.
+
+ * UserInterface/Protocol/Connection.js:
+ (InspectorBackend.Connection.prototype._dispatchEvent):
+ Better logging for errors.
+
+ * UserInterface/Base/Main.js:
+ * UserInterface/Controllers/AppController.js:
+ (WI.AppController.prototype.activateExtraDomains):
+ Let Targets get a chance to activate extra domains.
+ Perform a little more work in these cases.
+
+ * UserInterface/Protocol/Target.js:
+ (WI.Target):
+ (WI.Target.prototype.activateExtraDomain):
+ Expose agents for domains that are active.
+ Expose agents for extra domains when they are activated.
+
+2018-12-20 Joseph Pecoraro <[email protected]>
+
ITMLKit Inspector: Computed Style Box Model section throws exceptions
https://bugs.webkit.org/show_bug.cgi?id=192911
<rdar://problem/46861112>
Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (239459 => 239460)
--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2018-12-20 20:05:34 UTC (rev 239459)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2018-12-20 20:08:27 UTC (rev 239460)
@@ -754,9 +754,20 @@
{
this.notifications.dispatchEventToListeners(WI.Notification.ExtraDomainsActivated, {domains});
- if (WI.mainTarget && WI.mainTarget.CSSAgent)
- WI.CSSCompletions.initializeCSSCompletions(WI.assumingMainTarget());
+ if (WI.mainTarget) {
+ if (!WI.pageTarget && WI.mainTarget.DOMAgent)
+ WI.pageTarget = WI.mainTarget;
+ if (WI.mainTarget.CSSAgent)
+ WI.CSSCompletions.initializeCSSCompletions(WI.assumingMainTarget());
+
+ if (WI.mainTarget.DOMAgent)
+ WI.domManager.ensureDocument();
+
+ if (WI.mainTarget.PageAgent)
+ WI.networkManager.initializeTarget(WI.mainTarget);
+ }
+
this._updateReloadToolbarButton();
this._updateDownloadToolbarButton();
this._updateInspectModeToolbarButton();
Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/AppController.js (239459 => 239460)
--- trunk/Source/WebInspectorUI/UserInterface/Controllers/AppController.js 2018-12-20 20:05:34 UTC (rev 239459)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/AppController.js 2018-12-20 20:08:27 UTC (rev 239460)
@@ -65,10 +65,17 @@
this._hasExtraDomains = true;
+ console.assert(WI.mainTarget instanceof WI.DirectBackendTarget);
+ console.assert(WI.mainTarget.type === WI.Target.Type.JSContext);
+ console.assert(WI.sharedApp.debuggableType === WI.DebuggableType._javascript_);
+ console.assert(WI.targets.length === 1);
+
for (let domain of domains) {
let agent = InspectorBackend.activateDomain(domain);
if (agent.enable)
agent.enable();
+ for (let target of WI.targets)
+ target.activateExtraDomain(domain);
}
// FIXME: all code within WI.activateExtraDomains should be distributed elsewhere.
Modified: trunk/Source/WebInspectorUI/UserInterface/Protocol/Connection.js (239459 => 239460)
--- trunk/Source/WebInspectorUI/UserInterface/Protocol/Connection.js 2018-12-20 20:05:34 UTC (rev 239459)
+++ trunk/Source/WebInspectorUI/UserInterface/Protocol/Connection.js 2018-12-20 20:08:27 UTC (rev 239460)
@@ -165,19 +165,19 @@
let qualifiedName = messageObject["method"];
let [domainName, eventName] = qualifiedName.split(".");
if (!(domainName in this._agents)) {
- console.error("Protocol Error: Attempted to dispatch method '" + eventName + "' for non-existing domain '" + domainName + "'");
+ console.error("Protocol Error: Attempted to dispatch method '" + eventName + "' for non-existing domain '" + domainName + "'", messageObject);
return;
}
let agent = this._agents[domainName];
if (!agent.active) {
- console.error("Protocol Error: Attempted to dispatch method for domain '" + domainName + "' which exists but is not active.");
+ console.error("Protocol Error: Attempted to dispatch method for domain '" + domainName + "' which exists but is not active.", messageObject);
return;
}
let event = agent.getEvent(eventName);
if (!event) {
- console.error("Protocol Error: Attempted to dispatch an unspecified method '" + qualifiedName + "'");
+ console.error("Protocol Error: Attempted to dispatch an unspecified method '" + qualifiedName + "'", messageObject);
return;
}
Modified: trunk/Source/WebInspectorUI/UserInterface/Protocol/Target.js (239459 => 239460)
--- trunk/Source/WebInspectorUI/UserInterface/Protocol/Target.js 2018-12-20 20:05:34 UTC (rev 239459)
+++ trunk/Source/WebInspectorUI/UserInterface/Protocol/Target.js 2018-12-20 20:08:27 UTC (rev 239460)
@@ -43,8 +43,11 @@
// supported by the target.
this._agents = {};
const supportedDomains = this._supportedDomainsForTargetType(this._type);
- for (let domain of supportedDomains)
- this._agents[domain] = this._connection._agents[domain];
+ for (let domain of supportedDomains) {
+ let agent = this._connection._agents[domain];
+ if (agent && agent.active)
+ this._agents[domain] = agent;
+ }
this._connection.target = this;
@@ -97,6 +100,13 @@
});
}
+ activateExtraDomain(domain)
+ {
+ let agent = this._connection._agents[domain];
+ if (agent && agent.active)
+ this._agents[domain] = agent;
+ }
+
// Agents
get ApplicationCacheAgent() { return this._agents.ApplicationCache; }