2010-08-13 Anton Muhin <antonm@chromium.org>
authorantonm@chromium.org <antonm@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Aug 2010 12:29:14 +0000 (12:29 +0000)
committerantonm@chromium.org <antonm@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Aug 2010 12:29:14 +0000 (12:29 +0000)
commit3996a5075510222ad63ac72272533667dda853e5
tree1b52ae54b0ece8a7b7c390d0ab7c3a55134b457f
parentcb9312ff8a901f181eb513b1ff9da039d4461a09
2010-08-13  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        Reapplying http://trac.webkit.org/changeset/65284 after fixed include.

        [v8] Create callbacks for named access of elements from document object on fly.
        https://bugs.webkit.org/show_bug.cgi?id=43725

        That should speed up access to methods on document as there is no need to
        consult with interceptor before invoking the method.

        This reapplies http://trac.webkit.org/changeset/60670 reverted with
        http://trac.webkit.org/changeset/63845.  The main difference is in treatment
        of removed named elements: we don't remove an accessor any more, but leave it.
        Therefore any accessor should be able to treat the case when there is no
        expando property.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::checkDocumentWrapper):
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        (WebCore::getter):
        (WebCore::V8DOMWindowShell::namedItemAdded):
        (WebCore::V8DOMWindowShell::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject):
        (WebCore::V8HTMLDocument::GetNamedProperty):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::removeItemFromMap):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@65316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/bindings/scripts/CodeGeneratorV8.pm
WebCore/bindings/v8/ScriptController.cpp
WebCore/bindings/v8/V8DOMWindowShell.cpp
WebCore/bindings/v8/V8DOMWindowShell.h
WebCore/bindings/v8/V8DOMWrapper.cpp
WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp
WebCore/html/HTMLDocument.cpp