Skip to content
  • commit-queue@webkit.org's avatar
    2010-10-29 Kenichi Ishibashi <bashi@google.com> · 691d04f1
    commit-queue@webkit.org authored
            Reviewed by Kent Tamura.
    
            [HTML5] Add DOMSettableTokenList
            https://bugs.webkit.org/show_bug.cgi?id=47810
    
            * fast/dom/Window/window-properties-expected.txt: Updated expectations.
            * fast/dom/Window/window-property-descriptors-expected.txt: Updated expectations.
            * fast/dom/prototype-inheritance-2-expected.txt: Updated expectations.
            * fast/dom/prototype-inheritance-expected.txt: Updated expectations.
            * fast/js/global-constructors-expected.txt: Updated expectations.
    2010-10-29  Kenichi Ishibashi  <bashi@google.com>
    
            Reviewed by Kent Tamura.
    
            [HTML5] Add DOMSettableTokenList
            https://bugs.webkit.org/show_bug.cgi?id=47810
    
            Adds DOMSettableTokenList interface to support <output> element.
            The DOMTokenList interface was refactored since its was tightly coupled
            with HTMLElement.classList property.
    
            * Android.derived.jscbindings.mk: Added JSDOMSettableTokenList.h file.
            * Android.derived.v8bindings.mk: Added V8DOMSettableTokenList.h file.
            * Android.jscbindings.mk: Added JSDOMSettableTokenList.cpp file.
            * Android.mk: Added ClassList.cpp file.
            * CMakeLists.txt: Added DOMSettableTokenList.{cpp,idl} and ClassList.cpp files.
            * DerivedSources.cpp: Added JSDOMSettableTokenList.cpp file.
            * DerivedSources.make: Added DOMSettableTokenList entry.
            * GNUmakefile.am: Added JSDOMSettableTokenList.{h,cpp} and ClassList.{h,cpp} files.
            * WebCore.gypi: Added DOMSettableTokenList.{h,cpp,idl}, V8DOMSettableTokenListCustom.cpp and ClassList.{h,cpp} files.
            * WebCore.pri: Added DOMSettableTokenList.idl file.
            * WebCore.pro: Added V8DOMSettableTokenListCustom.cpp, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
            * WebCore.vcproj/WebCore.vcproj: Added JSDOMSettableTokenList.{h,cpp}, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
            * WebCore.xcodeproj/project.pbxproj: Added ClassList.{h,cpp}, DOMSettabletokenList.{h,cpp} and JSDOMSettableTokenList.{h,cpp}
            * bindings/gobject/GNUmakefile.am: Added WebKitDOMDOMSettableTokenList.{h,cpp} and WebKitDOMDOMSettableTokenListPrivate.cpp files.
            * bindings/scripts/CodeGeneratorJS.pm: Modified IndexGetterReturnsStrings() returns 1 for DOMSettableTokenList.
            * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Added.
            (WebCore::V8DOMSettableTokenList::indexedPropertyGetter):
            * dom/Element.cpp: Replaced DOMTokenList to ClassList.
            (WebCore::Element::classList):
            * dom/ElementRareData.h: ditto.
            * dom/SpaceSplitString.cpp: Added add() and remove() functions.
            (WebCore::SpaceSplitStringData::add):
            (WebCore::SpaceSplitStringData::remove):
            (WebCore::SpaceSplitString::add):
            (WebCore::SpaceSplitString::remove):
            * dom/SpaceSplitString.h: Added add() and remove() functions.
            * dom/StyledElement.cpp: Replaced DOMTokenList to ClassList.
            (WebCore::StyledElement::classAttributeChanged):
            * dom/StyledElement.h: ditto.
            * html/ClassList.cpp: Added, mostly from original DOMTokenList.cpp.
            (WebCore::ClassList::ClassList):
            (WebCore::ClassList::ref):
            (WebCore::ClassList::deref):
            (WebCore::ClassList::length):
            (WebCore::ClassList::item):
            (WebCore::ClassList::contains):
            (WebCore::ClassList::containsInternal):
            (WebCore::ClassList::add):
            (WebCore::ClassList::addInternal):
            (WebCore::ClassList::remove):
            (WebCore::ClassList::removeInternal):
            (WebCore::ClassList::toggle):
            (WebCore::ClassList::toString):
            (WebCore::ClassList::reset):
            (WebCore::ClassList::classNames):
            * html/ClassList.h: Added, mostly from original DOMTokenList.h.
            (WebCore::ClassList::create):
            (WebCore::ClassList::element):
            * html/DOMSettableTokenList.cpp: Added.
            (WebCore::DOMSettableTokenList::DOMSettableTokenList):
            (WebCore::DOMSettableTokenList::~DOMSettableTokenList):
            (WebCore::DOMSettableTokenList::item):
            (WebCore::DOMSettableTokenList::contains):
            (WebCore::DOMSettableTokenList::add):
            (WebCore::DOMSettableTokenList::addInternal):
            (WebCore::DOMSettableTokenList::remove):
            (WebCore::DOMSettableTokenList::removeInternal):
            (WebCore::DOMSettableTokenList::toggle):
            (WebCore::DOMSettableTokenList::setValue):
            * html/DOMSettableTokenList.h: Added.
            (WebCore::DOMSettableTokenList::create):
            (WebCore::DOMSettableTokenList::ref):
            (WebCore::DOMSettableTokenList::deref):
            (WebCore::DOMSettableTokenList::length):
            (WebCore::DOMSettableTokenList::toString):
            (WebCore::DOMSettableTokenList::value):
            * html/DOMSettableTokenList.idl: Added.
            * html/DOMTokenList.cpp: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
            (WebCore::DOMTokenList::validateToken): Changed to be a static member function of DOMTokenList.
            (WebCore::DOMTokenList::addToken): Added, mostly from original DOMTokenList::addInternal().
            (WebCore::DOMTokenList::removeToken): Added, mostly from original DOMTokenList::removeInternal().
            * html/DOMTokenList.h: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
            (WebCore::DOMTokenList::~DOMTokenList):
            (WebCore::DOMTokenList::element):
            * page/DOMWindow.cpp: Added an entry for DOMSettableTokenList.
            * page/DOMWindow.idl: ditto.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70854 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    691d04f1