diff options
author | Steve Block <steveblock@google.com> | 2010-04-27 16:31:00 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-05-11 14:42:12 +0100 |
commit | dcc8cf2e65d1aa555cce12431a16547e66b469ee (patch) | |
tree | 92a8d65cd5383bca9749f5327fb5e440563926e6 /WebCore/inspector/InjectedScript.cpp | |
parent | ccac38a6b48843126402088a309597e682f40fe6 (diff) | |
download | external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.zip external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.gz external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.bz2 |
Merge webkit.org at r58033 : Initial merge by git
Change-Id: If006c38561af287c50cd578d251629b51e4d8cd1
Diffstat (limited to 'WebCore/inspector/InjectedScript.cpp')
-rw-r--r-- | WebCore/inspector/InjectedScript.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/WebCore/inspector/InjectedScript.cpp b/WebCore/inspector/InjectedScript.cpp index 42a2856..2e35e4b 100644 --- a/WebCore/inspector/InjectedScript.cpp +++ b/WebCore/inspector/InjectedScript.cpp @@ -47,6 +47,11 @@ InjectedScript::InjectedScript(ScriptObject injectedScriptObject) void InjectedScript::dispatch(long callId, const String& methodName, const String& arguments, bool async, RefPtr<SerializedScriptValue>* result, bool* hadException) { ASSERT(!hasNoValue()); + if (!canAccessInspectedWindow()) { + *hadException = true; + return; + } + ScriptFunctionCall function(m_injectedScriptObject, "dispatch"); function.appendArgument(methodName); function.appendArgument(arguments); @@ -71,10 +76,13 @@ PassRefPtr<SerializedScriptValue> InjectedScript::callFrames() PassRefPtr<SerializedScriptValue> InjectedScript::wrapForConsole(ScriptValue value) { ASSERT(!hasNoValue()); - ScriptFunctionCall wrapFunction(m_injectedScriptObject, "wrapObject"); + ScriptFunctionCall wrapFunction(m_injectedScriptObject, "wrapObjectForConsole"); wrapFunction.appendArgument(value); - wrapFunction.appendArgument("console"); - ScriptValue r = wrapFunction.call(); + wrapFunction.appendArgument(canAccessInspectedWindow()); + bool hadException = false; + ScriptValue r = wrapFunction.call(hadException); + if (hadException) + return SerializedScriptValue::create("<exception>"); return r.serialize(m_injectedScriptObject.scriptState()); } @@ -85,6 +93,10 @@ void InjectedScript::releaseWrapperObjectGroup(const String& objectGroup) releaseFunction.appendArgument(objectGroup); releaseFunction.call(); } +bool InjectedScript::canAccessInspectedWindow() +{ + return InjectedScriptHost::canAccessInspectedWindow(m_injectedScriptObject.scriptState()); +} } // namespace WebCore |