Show
Ignore:
Timestamp:
04/07/06 01:31:17 (3 years ago)
Author:
mjs
Message:

LayoutTests:

Reviewed by Anders.

Added test case for incidental fix from this change:


  • fast/dom/Element/dimension-properties-unrendered-expected.txt: Added.
  • fast/dom/Element/dimension-properties-unrendered.html: Added.
  • fast/dom/Element/resources/dimension-properties-unrendered.js: Added.

WebCore:

Reviewed by Anders.

  • dom/Element.idl: Declare full interface in IDL.
  • dom/Element.h: (WebCore::Element::tagQName): Renamed from tagName, so the real DOM method can be called tagName. (WebCore::Element::tagName): inline alias for nodeName.
  • dom/Element.cpp: (WebCore::Element::scrollByUnits): Moved logic from JS bindings to core DOM. (WebCore::Element::scrollByLines): ditto (WebCore::Element::scrollByPages): ditto (WebCore::Element::offsetLeft): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetTop): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetWidth): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetHeight): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::offsetParent): ditto (WebCore::Element::clientWidth): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::clientHeight): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::scrollLeft): ditto (WebCore::Element::scrollTop): ditto (WebCore::Element::setScrollLeft): ditto (WebCore::Element::setScrollTop): ditto (WebCore::Element::scrollWidth): ditto, plus make unrendered elements return 0 not undefined (WebCore::Element::scrollHeight): ditto, plus make unrendered elements return 0 not undefined
  • bindings/scripts/CodeGeneratorJS.pm: Added support for ConvertUndefinedToTrue, for benefit of scroll methods where omitted arguments should be treated as true. However, maybe explicit overloading in the IDL would be a better long-term approach for optional arguments.
  • khtml/ecma/kjs_binding.cpp: (KJS::valueToStringWithNullCheck): fixed formatting (KJS::valueToBooleanTreatUndefinedAsTrue): added for binding of scrollIntoView (isn't this lame?)
  • khtml/ecma/kjs_binding.h: (KJS::toJS): fixed formatting, added new stuff
  • khtml/ecma/kjs_dom.cpp: (KJS::DOMElement::getValueProperty): removed most of contents (KJS::DOMElement::putValueProperty): ditto (KJS::DOMElementProtoFunc::callAsFunction): ditto
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): updated for rename of tagName to tagQName (WebCore::CSSStyleSelector::checkOneSelector): ditto
  • dom/Document.cpp: (WebCore::Document::importNode): ditto
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::removeInlineStyle): ditto (WebCore::areIdenticalElements): ditto
  • html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList): ditto (WebCore::HTMLElement::inInlineTagList): ditto (WebCore::HTMLElement::inBlockTagList): ditto
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/dom/Element.h

    r13555 r13726  
    3131#include "Attr.h" 
    3232#include "QualifiedName.h" 
     33#include "KWQScrollBar.h" 
    3334 
    3435namespace WebCore { 
     
    6970    void scrollIntoViewIfNeeded(bool centerIfNeeded); 
    7071 
     72    void scrollByUnits(int units, KWQScrollGranularity granularity); 
     73    void scrollByLines(int lines); 
     74    void scrollByPages(int pages); 
     75 
     76    int offsetLeft(); 
     77    int offsetTop(); 
     78    int offsetWidth(); 
     79    int offsetHeight(); 
     80    Element* offsetParent(); 
     81    int clientWidth(); 
     82    int clientHeight(); 
     83    int scrollLeft(); 
     84    int scrollTop(); 
     85    void setScrollLeft(int); 
     86    void setScrollTop(int); 
     87    int scrollWidth(); 
     88    int scrollHeight(); 
     89 
    7190    void removeAttribute(const String &name, ExceptionCode& ec); 
    7291    void removeAttributeNS(const String &namespaceURI, const String& localName, ExceptionCode&); 
     
    8099    virtual CSSStyleDeclaration *style(); 
    81100 
    82     virtual const QualifiedName& tagName() const { return m_tagName; } 
     101    const QualifiedName& tagQName() const { return m_tagName; } 
     102    String tagName() const { return nodeName(); } 
    83103    virtual bool hasTagName(const QualifiedName& tagName) const { return m_tagName.matches(tagName); } 
    84104