Skip to content
  • ggaren@apple.com's avatar
    2011-04-21 Geoffrey Garen <ggaren@apple.com> · a49297e4
    ggaren@apple.com authored
            Reviewed by Oliver Hunt.
    
            Removed a use of markDOMObjectWrapper: Element and Document
            https://bugs.webkit.org/show_bug.cgi?id=59178
    
            * GNUmakefile.list.am:
            * UseJSC.cmake:
            * WebCore.gypi:
            * WebCore.pro:
            * WebCore.vcproj/WebCore.vcproj:
            * WebCore.xcodeproj/project.pbxproj:
            * bindings/js/JSBindingsAllInOne.cpp: Build!
    
            * bindings/js/JSDOMImplementationCustom.cpp:
            (WebCore::JSDOMImplementationOwner::isReachableFromOpaqueRoots):
            (WebCore::JSDOMImplementationOwner::finalize):
            (WebCore::wrapperOwner):
            (WebCore::wrapperContext):
            (WebCore::toJS): Use the opaque roots system for DOMImplementation. Also,
            DOMImplementation does not need to keep its document wrapper alive, since
            there's no DOM API for getting a DOMImplementation's document.
    
            * bindings/js/JSDOMStringMapCustom.cpp:
            (WebCore::JSDOMStringMapOwner::isReachableFromOpaqueRoots):
            (WebCore::JSDOMStringMapOwner::finalize):
            (WebCore::wrapperOwner):
            (WebCore::wrapperContext):
            (WebCore::toJS): Use the opaque roots system for DOMStringMap.
    
            * bindings/js/JSDOMTokenListCustom.cpp: Added.
            (WebCore::JSDOMTokenListOwner::isReachableFromOpaqueRoots):
            (WebCore::JSDOMTokenListOwner::finalize):
            (WebCore::wrapperOwner):
            (WebCore::wrapperContext):
            (WebCore::toJS): Use the opaque roots system for DOMTokenList.
    
            * bindings/js/JSDocumentCustom.cpp:
            (WebCore::JSDocument::visitChildren):
            * bindings/js/JSElementCustom.cpp: No more need for explicit marking.
    
            * bindings/scripts/CodeGeneratorV8.pm: Boo on whoever made this design decision.
    
            * dom/DOMImplementation.cpp:
            (WebCore::DOMImplementation::DOMImplementation):
            (WebCore::DOMImplementation::createDocument):
            (WebCore::DOMImplementation::createHTMLDocument):
            * dom/DOMImplementation.h:
            (WebCore::DOMImplementation::create):
            (WebCore::DOMImplementation::ref):
            (WebCore::DOMImplementation::deref):
            (WebCore::DOMImplementation::document): Fixed the DOMImplementation
            ownership model to match other satellite objects in the DOM. This was
            necessary to fix some crashes due to incorrect reference counting.
    
            * dom/DOMImplementation.idl:
            * dom/DOMStringMap.idl:
            * dom/Document.cpp:
            (WebCore::Document::~Document):
            * dom/Document.h:
            * dom/Element.cpp:
            * dom/Element.h:
            * dom/Element.idl:
            * html/DOMTokenList.idl: Updated to match changes above.
    2011-04-21  Geoffrey Garen  <ggaren@apple.com>
    
            Reviewed by Oliver Hunt.
    
            Removed a use of markDOMObjectWrapper: Element and Document
            https://bugs.webkit.org/show_bug.cgi?id=59178
    
            * fast/dom/dataset-gc-expected.txt:
            * fast/dom/script-tests/dataset-gc.js: Changed this test not to be
            specific to __proto__. We have a general bug in the DOM that assignment
            to __proto__ does not persist after garbage collection. While we should
            fix that bug, we don't want existing tests to tickle it, because it makes
            them flaky.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    a49297e4