2009-10-22 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Adam Barth.
[V8] Rework event listeners to not hold references to frame or V8 context.
https://bugs.webkit.org/show_bug.cgi?id=30648
Covered by existing layout tests: fast/events/attribute-listener*
* bindings/scripts/CodeGeneratorV8.pm: Added passing ScriptExecutionContext*
to event listener handling code.
* bindings/v8/DateExtension.cpp:
(WebCore::DateExtension::setAllowSleep): Changed to use currentContext().
* bindings/v8/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener): Reworked to match JSC logic.
(WebCore::getEventListenerHandlerBody): Added ScriptExecutionContext* param.
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::V8AbstractEventListener): Removed Frame* param
and usage.
(WebCore::V8AbstractEventListener::handleEvent): Chaged to use ScriptExecutionContext*.
(WebCore::V8AbstractEventListener::invokeEventHandler): Ditto.
* bindings/v8/V8AbstractEventListener.h:
(WebCore::V8AbstractEventListener::getListenerObject): Ditto.
(WebCore::V8AbstractEventListener::prepareListenerObject): Ditto.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventListenerToV8Object): Added ScriptExecutionContext* param.
(WebCore::V8DOMWrapper::getEventListener): Ditto.
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::convertEventListenerToV8Object): Ditto.
* bindings/v8/V8EventListenerList.h:
(WebCore::V8EventListenerList::findOrCreateWrapper): Removed ContextType* template param,
because it's no longer needed.
* bindings/v8/V8IsolatedWorld.h:
(WebCore::V8IsolatedWorld::sharedContext): Renamed from shared_context.
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::V8LazyEve