diff options
author | Steve Block <steveblock@google.com> | 2009-11-05 09:23:40 +0000 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2009-11-10 22:41:12 +0000 |
commit | cac0f67c402d107cdb10971b95719e2ff9c7c76b (patch) | |
tree | d182c7f87211c6f201a5f038e332336493ebdbe7 /WebCore/bindings/js/JSDOMGlobalObject.cpp | |
parent | 4b2ef0f288e7c6c4602f621b7a0e9feed304b70e (diff) | |
download | external_webkit-cac0f67c402d107cdb10971b95719e2ff9c7c76b.zip external_webkit-cac0f67c402d107cdb10971b95719e2ff9c7c76b.tar.gz external_webkit-cac0f67c402d107cdb10971b95719e2ff9c7c76b.tar.bz2 |
Merge webkit.org at r50258 : Initial merge by git.
Change-Id: I1a9e1dc4ed654b69174ad52a4f031a07240f37b0
Diffstat (limited to 'WebCore/bindings/js/JSDOMGlobalObject.cpp')
-rw-r--r-- | WebCore/bindings/js/JSDOMGlobalObject.cpp | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/WebCore/bindings/js/JSDOMGlobalObject.cpp b/WebCore/bindings/js/JSDOMGlobalObject.cpp index 372684c..011a4e4 100644 --- a/WebCore/bindings/js/JSDOMGlobalObject.cpp +++ b/WebCore/bindings/js/JSDOMGlobalObject.cpp @@ -51,7 +51,7 @@ void JSDOMGlobalObject::markChildren(MarkStack& markStack) JSDOMStructureMap::iterator end = structures().end(); for (JSDOMStructureMap::iterator it = structures().begin(); it != end; ++it) - it->second->markAggregate(markStack); + markStack.append(it->second->storedPrototype()); JSDOMConstructorMap::iterator end2 = constructors().end(); for (JSDOMConstructorMap::iterator it2 = constructors().begin(); it2 != end2; ++it2) @@ -63,7 +63,7 @@ PassRefPtr<JSEventListener> JSDOMGlobalObject::createJSAttributeEventListener(JS if (!val.isObject()) return 0; - return JSEventListener::create(asObject(val), true).get(); + return JSEventListener::create(asObject(val), true, currentWorld(globalExec())).get(); } void JSDOMGlobalObject::setCurrentEvent(Event* evt) @@ -81,15 +81,34 @@ void JSDOMGlobalObject::destroyJSDOMGlobalObjectData(void* jsDOMGlobalObjectData delete static_cast<JSDOMGlobalObjectData*>(jsDOMGlobalObjectData); } -JSDOMGlobalObject* toJSDOMGlobalObject(Document* document) +JSDOMGlobalObject* toJSDOMGlobalObject(Document* document, JSC::ExecState* exec) { - return toJSDOMWindow(document->frame()); + return toJSDOMWindow(document->frame(), currentWorld(exec)); } -JSDOMGlobalObject* toJSDOMGlobalObject(ScriptExecutionContext* scriptExecutionContext) +JSDOMGlobalObject* toJSDOMGlobalObject(ScriptExecutionContext* scriptExecutionContext, JSC::ExecState* exec) { if (scriptExecutionContext->isDocument()) - return toJSDOMGlobalObject(static_cast<Document*>(scriptExecutionContext)); + return toJSDOMGlobalObject(static_cast<Document*>(scriptExecutionContext), exec); + +#if ENABLE(WORKERS) + if (scriptExecutionContext->isWorkerContext()) + return static_cast<WorkerContext*>(scriptExecutionContext)->script()->workerContextWrapper(); +#endif + + ASSERT_NOT_REACHED(); + return 0; +} + +JSDOMGlobalObject* toJSDOMGlobalObject(Document* document, DOMWrapperWorld* world) +{ + return toJSDOMWindow(document->frame(), world); +} + +JSDOMGlobalObject* toJSDOMGlobalObject(ScriptExecutionContext* scriptExecutionContext, DOMWrapperWorld* world) +{ + if (scriptExecutionContext->isDocument()) + return toJSDOMGlobalObject(static_cast<Document*>(scriptExecutionContext), world); #if ENABLE(WORKERS) if (scriptExecutionContext->isWorkerContext()) |