angler-fishThe Vulnerability History Project

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
    
commit 313588bc5684f8eacd61c27d8921e9cb347920ff
+1 -82
+1 -1
+1 -1
+11 -37
+31 -13
+24 -6
+7 -7
+3 -3
+5 -5
+1 -1
+13 -19
+6 -9
+53 -62
+11 -4
+18 -34
+8 -5
+1 -1
+10 -11
+5 -5
expand_less