From d0825bca7fe65beaee391d30da42e937db621564 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Tue, 2 Feb 2010 14:57:50 +0000 Subject: Merge webkit.org at r54127 : Initial merge by git Change-Id: Ib661abb595522f50ea406f72d3a0ce17f7193c82 --- WebCore/inspector/InjectedScriptHost.cpp | 55 +++++++++++++++++++++++--------- 1 file changed, 40 insertions(+), 15 deletions(-) (limited to 'WebCore/inspector/InjectedScriptHost.cpp') diff --git a/WebCore/inspector/InjectedScriptHost.cpp b/WebCore/inspector/InjectedScriptHost.cpp index f326f52..d5bbd1c 100644 --- a/WebCore/inspector/InjectedScriptHost.cpp +++ b/WebCore/inspector/InjectedScriptHost.cpp @@ -72,6 +72,7 @@ namespace WebCore { InjectedScriptHost::InjectedScriptHost(InspectorController* inspectorController) : m_inspectorController(inspectorController) + , m_nextInjectedScriptId(1) { } @@ -79,6 +80,12 @@ InjectedScriptHost::~InjectedScriptHost() { } +void InjectedScriptHost::clearConsoleMessages() +{ + if (m_inspectorController) + m_inspectorController->clearConsoleMessages(); +} + void InjectedScriptHost::copyText(const String& text) { Pasteboard::generalPasteboard()->writePlainText(text); @@ -91,27 +98,15 @@ Node* InjectedScriptHost::nodeForId(long nodeId) return 0; } -ScriptValue InjectedScriptHost::wrapObject(const ScriptValue& object, const String& objectGroup) -{ - if (m_inspectorController) - return m_inspectorController->wrapObject(object, objectGroup); - return ScriptValue(); -} - -ScriptValue InjectedScriptHost::unwrapObject(const String& objectId) -{ - if (m_inspectorController) - return m_inspectorController->unwrapObject(objectId); - return ScriptValue(); -} - -long InjectedScriptHost::pushNodePathToFrontend(Node* node, bool selectInUI) +long InjectedScriptHost::pushNodePathToFrontend(Node* node, bool withChildren, bool selectInUI) { InspectorFrontend* frontend = inspectorFrontend(); InspectorDOMAgent* domAgent = inspectorDOMAgent(); if (!domAgent || !frontend) return 0; long id = domAgent->pushNodePathToFrontend(node); + if (withChildren) + domAgent->pushChildNodesToFrontend(id); if (selectInUI) frontend->updateFocusedNode(id); return id; @@ -172,6 +167,29 @@ void InjectedScriptHost::reportDidDispatchOnInjectedScript(long callId, const St frontend->didDispatchOnInjectedScript(callId, result, isException); } +ScriptObject InjectedScriptHost::injectedScriptForId(long id) +{ + return m_idToInjectedScript.get(id); +} + +void InjectedScriptHost::discardInjectedScripts() +{ + m_idToInjectedScript.clear(); +} + +void InjectedScriptHost::releaseWrapperObjectGroup(long injectedScriptId, const String& objectGroup) +{ + if (injectedScriptId) { + ScriptObject injectedScript = m_idToInjectedScript.get(injectedScriptId); + if (!injectedScript.hasNoValue()) + releaseWrapperObjectGroup(injectedScript, objectGroup); + } else { + // Iterate over all injected scripts if injectedScriptId is not specified. + for (IdToInjectedScriptMap::iterator it = m_idToInjectedScript.begin(); it != m_idToInjectedScript.end(); ++it) + releaseWrapperObjectGroup(it->second, objectGroup); + } +} + InspectorDOMAgent* InjectedScriptHost::inspectorDOMAgent() { if (!m_inspectorController) @@ -186,6 +204,13 @@ InspectorFrontend* InjectedScriptHost::inspectorFrontend() return m_inspectorController->m_frontend.get(); } +void InjectedScriptHost::releaseWrapperObjectGroup(const ScriptObject& injectedScript, const String& objectGroup) +{ + ScriptFunctionCall releaseFunction(injectedScript.scriptState(), injectedScript, "releaseWrapperObjectGroup"); + releaseFunction.appendArgument(objectGroup); + releaseFunction.call(); +} + } // namespace WebCore #endif // ENABLE(INSPECTOR) -- cgit v1.1