⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 100067 in webkit


Ignore:
Timestamp:
Nov 11, 2011, 8:40:28 PM (15 years ago)
Author:
ojan@chromium.org
Message:

Source/WebCore: Unreviewed. Rollout http://trac.webkit.org/changeset/99744.
https://bugs.webkit.org/show_bug.cgi?id=72203
r99744 causes crash in Chromium's dom_perf test.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::splitColumn):
(WebCore::RenderTable::appendColumn):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addCell):
(WebCore::RenderTableSection::recalcCells):
(WebCore::RenderTableSection::appendColumn):

LayoutTests: Unreviewed. Rollout http://trac.webkit.org/changeset/99744.
https://bugs.webkit.org/show_bug.cgi?id=72203
r99744 causes crash in Chromium's dom_perf test.

  • fast/table/crash-splitColumn-2-expected.txt: Removed.
  • fast/table/crash-splitColumn-2.html: Removed.
  • fast/table/crash-splitColumn-3-expected.txt: Removed.
  • fast/table/crash-splitColumn-3.html: Removed.
  • fast/table/crash-splitColumn-expected.txt: Removed.
  • fast/table/crash-splitColumn.html: Removed.
Location:
trunk
Files:
6 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r100065 r100067  
     12011-11-11  Ojan Vafai  <ojan@chromium.org>
     2
     3        Unreviewed. Rollout http://trac.webkit.org/changeset/99744.
     4        https://bugs.webkit.org/show_bug.cgi?id=72203
     5        r99744 causes crash in Chromium's dom_perf test.
     6 
     7        * fast/table/crash-splitColumn-2-expected.txt: Removed.
     8        * fast/table/crash-splitColumn-2.html: Removed.
     9        * fast/table/crash-splitColumn-3-expected.txt: Removed.
     10        * fast/table/crash-splitColumn-3.html: Removed.
     11        * fast/table/crash-splitColumn-expected.txt: Removed.
     12        * fast/table/crash-splitColumn.html: Removed.
     13
    1142011-11-11  Dominic Mazzoni  <dmazzoni@google.com>
    215
  • trunk/Source/WebCore/ChangeLog

    r100066 r100067  
     12011-11-11  Ojan Vafai  <ojan@chromium.org>
     2
     3        Unreviewed. Rollout http://trac.webkit.org/changeset/99744.
     4        https://bugs.webkit.org/show_bug.cgi?id=72203
     5        r99744 causes crash in Chromium's dom_perf test.
     6
     7        * rendering/RenderTable.cpp:
     8        (WebCore::RenderTable::splitColumn):
     9        (WebCore::RenderTable::appendColumn):
     10        * rendering/RenderTableSection.cpp:
     11        (WebCore::RenderTableSection::addCell):
     12        (WebCore::RenderTableSection::recalcCells):
     13        (WebCore::RenderTableSection::appendColumn):
     14
    1152011-11-11  James Robinson  <jamesr@chromium.org>
    216
  • trunk/Source/WebCore/rendering/RenderTable.cpp

    r99744 r100067  
    646646    m_columns[position + 1].span = oldSpan - firstSpan;
    647647
    648     // Propagate the change in our columns representation to the sections that don't need
    649     // cell recalc. If they do, they will be synced up directly with m_columns later.
     648    // change width of all rows.
    650649    for (RenderObject* child = firstChild(); child; child = child->nextSibling()) {
    651         if (!child->isTableSection())
    652             continue;
    653 
    654         RenderTableSection* section = toRenderTableSection(child);
    655         if (section->needsCellRecalc())
    656             continue;
    657 
    658         section->splitColumn(position, firstSpan);
     650        if (child->isTableSection())
     651            toRenderTableSection(child)->splitColumn(position, firstSpan);
    659652    }
    660653
     
    665658void RenderTable::appendColumn(int span)
    666659{
    667     unsigned pos = m_columns.size();
    668     unsigned newSize = pos + 1;
     660    // easy case.
     661    int pos = m_columns.size();
     662    int newSize = pos + 1;
    669663    m_columns.grow(newSize);
    670664    m_columns[pos].span = span;
    671665
    672     // Propagate the change in our columns representation to the sections that don't need
    673     // cell recalc. If they do, they will be synced up directly with m_columns later.
     666    // change width of all rows.
    674667    for (RenderObject* child = firstChild(); child; child = child->nextSibling()) {
    675         if (!child->isTableSection())
    676             continue;
    677 
    678         RenderTableSection* section = toRenderTableSection(child);
    679         if (section->needsCellRecalc())
    680             continue;
    681 
    682         section->appendColumn(pos);
     668        if (child->isTableSection())
     669            toRenderTableSection(child)->appendColumn(pos);
    683670    }
    684671
  • trunk/Source/WebCore/rendering/RenderTableSection.cpp

    r99919 r100067  
    188188void RenderTableSection::addCell(RenderTableCell* cell, RenderTableRow* row)
    189189{
    190     // We don't insert the cell if we need cell recalc as our internal columns' representation
    191     // will have drifted from the table's representation. Also recalcCells will call addCell
    192     // at a later time after sync'ing our columns' with the table's.
    193     if (needsCellRecalc())
    194         return;
    195 
    196190    int rSpan = cell->rowSpan();
    197191    int cSpan = cell->colSpan();
     
    11231117void RenderTableSection::recalcCells()
    11241118{
    1125     ASSERT(m_needsCellRecalc);
    1126     // We reset the flag here to ensure that |addCell| works. This is safe to do as
    1127     // we clear the grid and properly rebuild it during |addCell|.
    1128     m_needsCellRecalc = false;
    1129 
    11301119    m_cCol = 0;
    11311120    m_cRow = 0;
     
    11541143
    11551144    m_grid.shrinkToFit();
     1145    m_needsCellRecalc = false;
    11561146    setNeedsLayout(true);
    11571147}
     
    11861176void RenderTableSection::appendColumn(int pos)
    11871177{
    1188     ASSERT(!m_needsCellRecalc);
    1189 
    11901178    for (unsigned row = 0; row < m_grid.size(); ++row)
    11911179        m_grid[row].row.resize(pos + 1);
Note: See TracChangeset for help on using the changeset viewer.