diff options
Diffstat (limited to 'WebCore/bindings/js/ScriptObject.cpp')
-rw-r--r-- | WebCore/bindings/js/ScriptObject.cpp | 84 |
1 files changed, 47 insertions, 37 deletions
diff --git a/WebCore/bindings/js/ScriptObject.cpp b/WebCore/bindings/js/ScriptObject.cpp index 44337bd..c5fa399 100644 --- a/WebCore/bindings/js/ScriptObject.cpp +++ b/WebCore/bindings/js/ScriptObject.cpp @@ -32,10 +32,14 @@ #include "ScriptObject.h" #include "JSDOMBinding.h" +#ifdef MANUAL_MERGE_REQUIRED #if ENABLE(JAVASCRIPT_DEBUGGER) #include "JSInspectorController.h" #endif +#else // MANUAL_MERGE_REQUIRED +#include "JSInspectorBackend.h" +#endif // MANUAL_MERGE_REQUIRED #include <runtime/JSLock.h> @@ -43,8 +47,9 @@ using namespace JSC; namespace WebCore { -ScriptObject::ScriptObject(JSObject* object) +ScriptObject::ScriptObject(ScriptState* scriptState, JSObject* object) : ScriptValue(object) + , m_scriptState(scriptState) { } @@ -57,87 +62,92 @@ static bool handleException(ScriptState* scriptState) return false; } -bool ScriptObject::set(ScriptState* scriptState, const String& name, const String& value) +bool ScriptObject::set(const String& name, const String& value) { - JSLock lock(false); + JSLock lock(SilenceAssertionsOnly); PutPropertySlot slot; - jsObject()->put(scriptState, Identifier(scriptState, name), jsString(scriptState, value), slot); - return handleException(scriptState); + jsObject()->put(m_scriptState, Identifier(m_scriptState, name), jsString(m_scriptState, value), slot); + return handleException(m_scriptState); } -bool ScriptObject::set(ScriptState* scriptState, const char* name, const ScriptObject& value) +bool ScriptObject::set(const char* name, const ScriptObject& value) { - JSLock lock(false); + JSLock lock(SilenceAssertionsOnly); PutPropertySlot slot; - jsObject()->put(scriptState, Identifier(scriptState, name), value.jsObject(), slot); - return handleException(scriptState); + jsObject()->put(m_scriptState, Identifier(m_scriptState, name), value.jsObject(), slot); + return handleException(m_scriptState); } -bool ScriptObject::set(ScriptState* scriptState, const char* name, const String& value) +bool ScriptObject::set(const char* name, const String& value) { - JSLock lock(false); + JSLock lock(SilenceAssertionsOnly); PutPropertySlot slot; - jsObject()->put(scriptState, Identifier(scriptState, name), jsString(scriptState, value), slot); - return handleException(scriptState); + jsObject()->put(m_scriptState, Identifier(m_scriptState, name), jsString(m_scriptState, value), slot); + return handleException(m_scriptState); } -bool ScriptObject::set(ScriptState* scriptState, const char* name, double value) +bool ScriptObject::set(const char* name, double value) { - JSLock lock(false); + JSLock lock(SilenceAssertionsOnly); PutPropertySlot slot; - jsObject()->put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot); - return handleException(scriptState); + jsObject()->put(m_scriptState, Identifier(m_scriptState, name), jsNumber(m_scriptState, value), slot); + return handleException(m_scriptState); } -bool ScriptObject::set(ScriptState* scriptState, const char* name, long long value) +bool ScriptObject::set(const char* name, long long value) { - JSLock lock(false); + JSLock lock(SilenceAssertionsOnly); PutPropertySlot slot; - jsObject()->put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot); - return handleException(scriptState); + jsObject()->put(m_scriptState, Identifier(m_scriptState, name), jsNumber(m_scriptState, value), slot); + return handleException(m_scriptState); } -bool ScriptObject::set(ScriptState* scriptState, const char* name, int value) +bool ScriptObject::set(const char* name, int value) { - JSLock lock(false); + JSLock lock(SilenceAssertionsOnly); PutPropertySlot slot; - jsObject()->put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot); - return handleException(scriptState); + jsObject()->put(m_scriptState, Identifier(m_scriptState, name), jsNumber(m_scriptState, value), slot); + return handleException(m_scriptState); } -bool ScriptObject::set(ScriptState* scriptState, const char* name, bool value) +bool ScriptObject::set(const char* name, bool value) { - JSLock lock(false); + JSLock lock(SilenceAssertionsOnly); PutPropertySlot slot; - jsObject()->put(scriptState, Identifier(scriptState, name), jsBoolean(value), slot); - return handleException(scriptState); + jsObject()->put(m_scriptState, Identifier(m_scriptState, name), jsBoolean(value), slot); + return handleException(m_scriptState); } ScriptObject ScriptObject::createNew(ScriptState* scriptState) { - JSLock lock(false); - return ScriptObject(constructEmptyObject(scriptState)); + JSLock lock(SilenceAssertionsOnly); + return ScriptObject(scriptState, constructEmptyObject(scriptState)); } bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, const ScriptObject& value) { - JSLock lock(false); + JSLock lock(SilenceAssertionsOnly); scriptState->lexicalGlobalObject()->putDirect(Identifier(scriptState, name), value.jsObject()); return handleException(scriptState); } +#ifdef MANUAL_MERGE_REQUIRED #if ENABLE(JAVASCRIPT_DEBUGGER) bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, InspectorController* value) +#else // MANUAL_MERGE_REQUIRED +bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, InspectorBackend* value) +#endif // MANUAL_MERGE_REQUIRED { - JSLock lock(false); - scriptState->lexicalGlobalObject()->putDirect(Identifier(scriptState, name), toJS(scriptState, value)); + JSLock lock(SilenceAssertionsOnly); + JSDOMGlobalObject* globalObject = static_cast<JSDOMGlobalObject*>(scriptState->lexicalGlobalObject()); + globalObject->putDirect(Identifier(scriptState, name), toJS(scriptState, globalObject, value)); return handleException(scriptState); } #endif bool ScriptGlobalObject::get(ScriptState* scriptState, const char* name, ScriptObject& value) { - JSLock lock(false); + JSLock lock(SilenceAssertionsOnly); JSValue jsValue = scriptState->lexicalGlobalObject()->get(scriptState, Identifier(scriptState, name)); if (!jsValue) return false; @@ -145,13 +155,13 @@ bool ScriptGlobalObject::get(ScriptState* scriptState, const char* name, ScriptO if (!jsValue.isObject()) return false; - value = ScriptObject(asObject(jsValue)); + value = ScriptObject(scriptState, asObject(jsValue)); return true; } bool ScriptGlobalObject::remove(ScriptState* scriptState, const char* name) { - JSLock lock(false); + JSLock lock(SilenceAssertionsOnly); scriptState->lexicalGlobalObject()->deleteProperty(scriptState, Identifier(scriptState, name)); return handleException(scriptState); } |