diff options
author | Steve Block <steveblock@google.com> | 2009-10-08 17:19:54 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2009-10-20 00:41:58 +0100 |
commit | 231d4e3152a9c27a73b6ac7badbe6be673aa3ddf (patch) | |
tree | a6c7e2d6cd7bfa7011cc39abbb436142d7a4a7c8 /WebCore/bindings/js/JSDOMGlobalObject.cpp | |
parent | e196732677050bd463301566a68a643b6d14b907 (diff) | |
download | external_webkit-231d4e3152a9c27a73b6ac7badbe6be673aa3ddf.zip external_webkit-231d4e3152a9c27a73b6ac7badbe6be673aa3ddf.tar.gz external_webkit-231d4e3152a9c27a73b6ac7badbe6be673aa3ddf.tar.bz2 |
Merge webkit.org at R49305 : Automatic merge by git.
Change-Id: I8968561bc1bfd72b8923b7118d3728579c6dbcc7
Diffstat (limited to 'WebCore/bindings/js/JSDOMGlobalObject.cpp')
-rw-r--r-- | WebCore/bindings/js/JSDOMGlobalObject.cpp | 47 |
1 files changed, 7 insertions, 40 deletions
diff --git a/WebCore/bindings/js/JSDOMGlobalObject.cpp b/WebCore/bindings/js/JSDOMGlobalObject.cpp index 68a1db9..372684c 100644 --- a/WebCore/bindings/js/JSDOMGlobalObject.cpp +++ b/WebCore/bindings/js/JSDOMGlobalObject.cpp @@ -40,24 +40,11 @@ using namespace JSC; namespace WebCore { -JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData() - : evt(0) -{ -} - -JSDOMGlobalObject::JSDOMGlobalObject(PassRefPtr<Structure> structure, JSDOMGlobalObject::JSDOMGlobalObjectData* data, JSObject* thisValue) +JSDOMGlobalObject::JSDOMGlobalObject(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject::JSDOMGlobalObjectData* data, JSObject* thisValue) : JSGlobalObject(structure, data, thisValue) { } -JSDOMGlobalObject::~JSDOMGlobalObject() -{ - JSListenersMap::iterator it = d()->jsEventListeners.begin(); - JSListenersMap::iterator end = d()->jsEventListeners.end(); - for (; it != end; ++it) - it->second->clearGlobalObject(); -} - void JSDOMGlobalObject::markChildren(MarkStack& markStack) { Base::markChildren(markStack); @@ -71,37 +58,12 @@ void JSDOMGlobalObject::markChildren(MarkStack& markStack) markStack.append(it2->second); } -JSEventListener* JSDOMGlobalObject::findJSEventListener(JSValue val) -{ - if (!val.isObject()) - return 0; - - return d()->jsEventListeners.get(asObject(val)); -} - -PassRefPtr<JSEventListener> JSDOMGlobalObject::findOrCreateJSEventListener(JSValue val) -{ - if (JSEventListener* listener = findJSEventListener(val)) - return listener; - - if (!val.isObject()) - return 0; - - // The JSEventListener constructor adds it to our jsEventListeners map. - return JSEventListener::create(asObject(val), this, false).get(); -} - PassRefPtr<JSEventListener> JSDOMGlobalObject::createJSAttributeEventListener(JSValue val) { if (!val.isObject()) return 0; - return JSEventListener::create(asObject(val), this, true).get(); -} - -JSDOMGlobalObject::JSListenersMap& JSDOMGlobalObject::jsEventListeners() -{ - return d()->jsEventListeners; + return JSEventListener::create(asObject(val), true).get(); } void JSDOMGlobalObject::setCurrentEvent(Event* evt) @@ -114,6 +76,11 @@ Event* JSDOMGlobalObject::currentEvent() const return d()->evt; } +void JSDOMGlobalObject::destroyJSDOMGlobalObjectData(void* jsDOMGlobalObjectData) +{ + delete static_cast<JSDOMGlobalObjectData*>(jsDOMGlobalObjectData); +} + JSDOMGlobalObject* toJSDOMGlobalObject(Document* document) { return toJSDOMWindow(document->frame()); |