Show
Ignore:
Timestamp:
05/01/07 12:59:53 (21 months ago)
Author:
darin
Message:

LayoutTests:

Reviewed by Hyatt.

  • added a test for <rdar://problem/5172596> HTML-parser-created tbody elements are being ignored when processing CSS child rules
  • fast/css/child-selector-implicit-tbody.html: Added.
  • fast/css/child-selector-implicit-tbody-expected.txt: Added.
  • updated test results for <rdar://problem/5172607> XML parser is creating implicit tbody elements; the only change is the tag name that's dumped
  • fast/table/037-expected.txt:
  • tables/mozilla/marvin/x_caption_align_bottom-expected.txt:
  • tables/mozilla/marvin/x_caption_align_top-expected.txt:
  • tables/mozilla/marvin/x_caption_class-expected.txt:
  • tables/mozilla/marvin/x_caption_id-expected.txt:
  • tables/mozilla/marvin/x_caption_style-expected.txt:
  • tables/mozilla/marvin/x_col_align_center-expected.txt:
  • tables/mozilla/marvin/x_col_align_char-expected.txt:
  • tables/mozilla/marvin/x_col_align_justify-expected.txt:
  • tables/mozilla/marvin/x_col_align_left-expected.txt:
  • tables/mozilla/marvin/x_col_align_right-expected.txt:
  • tables/mozilla/marvin/x_col_span-expected.txt:
  • tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
  • tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
  • tables/mozilla/marvin/x_col_valign_middle-expected.txt:
  • tables/mozilla/marvin/x_col_valign_top-expected.txt:
  • tables/mozilla/marvin/x_col_width_pct-expected.txt:
  • tables/mozilla/marvin/x_col_width_px-expected.txt:
  • tables/mozilla/marvin/x_col_width_rel-expected.txt:
  • tables/mozilla/marvin/x_colgroup_align_center-expected.txt:
  • tables/mozilla/marvin/x_colgroup_align_char-expected.txt:
  • tables/mozilla/marvin/x_colgroup_align_justify-expected.txt:
  • tables/mozilla/marvin/x_colgroup_align_left-expected.txt:
  • tables/mozilla/marvin/x_colgroup_align_right-expected.txt:
  • tables/mozilla/marvin/x_colgroup_span-expected.txt:
  • tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
  • tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
  • tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
  • tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
  • tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
  • tables/mozilla/marvin/x_table_align_center-expected.txt:
  • tables/mozilla/marvin/x_table_align_left-expected.txt:
  • tables/mozilla/marvin/x_table_align_right-expected.txt:
  • tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
  • tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
  • tables/mozilla/marvin/x_table_cellpadding-expected.txt:
  • tables/mozilla/marvin/x_table_cellpadding_pct-expected.txt:
  • tables/mozilla/marvin/x_table_cellspacing-expected.txt:
  • tables/mozilla/marvin/x_table_cellspacing_pct-expected.txt:
  • tables/mozilla/marvin/x_table_class-expected.txt:
  • tables/mozilla/marvin/x_table_id-expected.txt:
  • tables/mozilla/marvin/x_table_style-expected.txt:
  • tables/mozilla/marvin/x_table_width_pct-expected.txt:
  • tables/mozilla/marvin/x_table_width_px-expected.txt:
  • tables/mozilla/marvin/x_td_align_center-expected.txt:
  • tables/mozilla/marvin/x_td_align_char-expected.txt:
  • tables/mozilla/marvin/x_td_align_justify-expected.txt:
  • tables/mozilla/marvin/x_td_align_left-expected.txt:
  • tables/mozilla/marvin/x_td_align_right-expected.txt:
  • tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
  • tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
  • tables/mozilla/marvin/x_td_class-expected.txt:
  • tables/mozilla/marvin/x_td_colspan-expected.txt:
  • tables/mozilla/marvin/x_td_height-expected.txt:
  • tables/mozilla/marvin/x_td_id-expected.txt:
  • tables/mozilla/marvin/x_td_nowrap-expected.txt:
  • tables/mozilla/marvin/x_td_rowspan-expected.txt:
  • tables/mozilla/marvin/x_td_style-expected.txt:
  • tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
  • tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
  • tables/mozilla/marvin/x_td_valign_middle-expected.txt:
  • tables/mozilla/marvin/x_td_valign_top-expected.txt:
  • tables/mozilla/marvin/x_td_width-expected.txt:
  • tables/mozilla/marvin/x_th_align_center-expected.txt:
  • tables/mozilla/marvin/x_th_align_char-expected.txt:
  • tables/mozilla/marvin/x_th_align_justify-expected.txt:
  • tables/mozilla/marvin/x_th_align_left-expected.txt:
  • tables/mozilla/marvin/x_th_align_right-expected.txt:
  • tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
  • tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
  • tables/mozilla/marvin/x_th_class-expected.txt:
  • tables/mozilla/marvin/x_th_colspan-expected.txt:
  • tables/mozilla/marvin/x_th_height-expected.txt:
  • tables/mozilla/marvin/x_th_id-expected.txt:
  • tables/mozilla/marvin/x_th_nowrap-expected.txt:
  • tables/mozilla/marvin/x_th_rowspan-expected.txt:
  • tables/mozilla/marvin/x_th_style-expected.txt:
  • tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
  • tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
  • tables/mozilla/marvin/x_th_valign_middle-expected.txt:
  • tables/mozilla/marvin/x_th_valign_top-expected.txt:
  • tables/mozilla/marvin/x_th_width-expected.txt:
  • tables/mozilla/marvin/x_tr_align_center-expected.txt:
  • tables/mozilla/marvin/x_tr_align_char-expected.txt:
  • tables/mozilla/marvin/x_tr_align_justify-expected.txt:
  • tables/mozilla/marvin/x_tr_align_left-expected.txt:
  • tables/mozilla/marvin/x_tr_align_right-expected.txt:
  • tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
  • tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
  • tables/mozilla/marvin/x_tr_class-expected.txt:
  • tables/mozilla/marvin/x_tr_id-expected.txt:
  • tables/mozilla/marvin/x_tr_style-expected.txt:
  • tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
  • tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
  • tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
  • tables/mozilla/marvin/x_tr_valign_top-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug178855-expected.txt:
  • tables/mozilla_expected_failures/marvin/x_caption_align_left-expected.txt:
  • tables/mozilla_expected_failures/marvin/x_caption_align_right-expected.txt:
  • tables/mozilla_expected_failures/marvin/x_colgroup_width_pct-expected.txt:
  • tables/mozilla_expected_failures/marvin/x_colgroup_width_px-expected.txt:

WebCore:

Reviewed by Hyatt.

  • removed the m_implicit bit from Node, freeing up a bit

Test: fast/css/child-selector-implicit-tbody.html

  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkSelector): Removed code that used to look at implicitNode(), which no longer exists.
  • css/html4.css: Added a style rule to handle cases where we have a tr inside a table with no intervening table section.
  • dom/Node.h: Removed the bit.
  • dom/Node.cpp: (WebCore::Node::Node): Don't initialize the bit. (WebCore::Node::dump): Don't dump the bit.
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::startElementNs): Remove the code that made a table body element. This is handled in the render tree, the DOM tree should not be mangled. (WebCore::XMLTokenizer::endElementNs): Removed code that used to look at implicitNode(), which no longer exists.
  • html/HTMLElementFactory.cpp: (WebCore::tableSectionConstructor): Removed boolean parameter that was passed to the HTMLTableSectionElement constructor.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Ditto.
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::createTHead): Ditto. (WebCore::HTMLTableElement::createTFoot): Ditto. (WebCore::HTMLTableElement::insertRow): Changed to return a PassRefPtr, because it's possible the row could be removed from the table by JavaScript code responding to DOM mutation events before the function returns. Just something I noticed by code inspection.
  • html/HTMLTableSectionElement.cpp: (WebCore::HTMLTableSectionElement::HTMLTableSectionElement): Removed boolean "implicit" parameter to the constructor. (WebCore::HTMLTableSectionElement::insertRow): Changed to return a PassRefPtr for the same reason cited above.
  • html/HTMLTableElement.h: Changed the return value of insertRow to be a PassRefPtr.
  • html/HTMLTableSectionElement.h: Ditto.
Files:
1 modified

Legend:

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

    r21184 r21208  
    229229    bool hasChangedChild() const { return m_hasChangedChild; } 
    230230    bool isLink() const { return m_isLink; } 
    231     bool implicitNode() const { return m_implicit; } 
    232231    void setHasID(bool b = true) { m_hasId = b; } 
    233232    void setHasClass(bool b = true) { m_hasClass = b; } 
     
    460459    short m_tabIndex; 
    461460 
    462     // 16 bit fields exactly -- adding another field would increase the size of all Nodes 
     461    // make sure we don't use more than 16 bits here -- adding more would increase the size of all Nodes 
     462 
    463463    bool m_hasId : 1; 
    464464    bool m_hasClass : 1; 
     
    475475    bool m_hovered : 1; 
    476476    bool m_inActiveChain : 1; 
    477     bool m_implicit : 1; // implicitly generated by the parser 
    478477 
    479478    bool m_inDetach : 1;