Skip to content
  • ap@webkit.org's avatar
    Reviewed by Darin Adler. · be35d511
    ap@webkit.org authored
            https://bugs.webkit.org/show_bug.cgi?id=21970
            Make MessagePort event dispatch work in workers
    
            * bindings/js/JSDOMGlobalObject.cpp:
            (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
            (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
            (WebCore::JSDOMGlobalObject::findJSEventListener):
            (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
            (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
            (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
            (WebCore::JSDOMGlobalObject::jsEventListeners):
            (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
            (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
            (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
            (WebCore::JSDOMGlobalObject::setCurrentEvent):
            (WebCore::JSDOMGlobalObject::currentEvent):
            (WebCore::toJSDOMGlobalObject):
            * bindings/js/JSDOMGlobalObject.h:
            * bindings/js/JSDOMWindowBase.cpp:
            (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
            (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
            (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
            * bindings/js/JSDOMWindowBase.h:
            Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
    
            * bindings/js/JSEventListener.cpp:
            (WebCore::JSAbstractEventListener::handleEvent):
            (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
            (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
            (WebCore::JSUnprotectedEventListener::globalObject):
            (WebCore::JSUnprotectedEventListener::clearGlobalObject):
            (WebCore::JSEventListener::JSEventListener):
            (WebCore::JSEventListener::~JSEventListener):
            (WebCore::JSEventListener::globalObject):
            (WebCore::JSEventListener::clearGlobalObject):
            (WebCore::JSLazyEventListener::JSLazyEventListener):
            (WebCore::JSLazyEventListener::parseCode):
            * bindings/js/JSEventListener.h:
            (WebCore::JSUnprotectedEventListener::create):
            (WebCore::JSEventListener::create):
            (WebCore::JSLazyEventListener::create):
            Changed to use JSDOMGlobalObject and ScriptExecutionContext.
    
            * bindings/js/JSMessagePortCustom.cpp:
            (WebCore::JSMessagePort::startConversation):
            (WebCore::JSMessagePort::addEventListener):
            (WebCore::JSMessagePort::removeEventListener):
            (WebCore::JSMessagePort::setOnmessage):
            (WebCore::JSMessagePort::setOnclose):
            Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
            such code, and stop using a custom implementation for JSMessagePort inline event handler
            getters and setters.
    
            * dom/Document.cpp:
            (WebCore::Document::virtualURL):
            * dom/Document.h:
            * dom/ScriptExecutionContext.h:
            Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
            JSLazyEventListener).
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    be35d511