[Webkit-unassigned] [Bug 23262] Dual lines in css2.1 layout tests do not match:

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Aug 19 02:14:51 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=23262


Shinichiro Hamaji <hamaji at chromium.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hamaji at chromium.org




--- Comment #2 from Shinichiro Hamaji <hamaji at chromium.org>  2009-08-19 02:14:50 PDT ---
Let me explain this patch.

This should fix the first two failures. As I've looked the discussion of Bug
17557, I copied the original CSS2.1 test suites from css2.1/* to
fast/css/counters/* . I don't think this patch can be handled properly by
commit-queue. Please wait until I'll eventually get my committer bit or use svn
cp for these test files before you commit this patch on behalf of me.

As the diff of tests aren't clear, I'll upload a diff which shows the
difference of the tests.

This patch contains two fixes actually. However, splitting them into two
patches causes tentative layout test failures.

The fix for CounterNode.cpp, which fixes the original issue, makes
css2.1/t120401-scope-02-c.html and css2.1/t120401-scope-03-c.html fail. They
update the value of counter to wrong values, but they passed luckily because
setNeedsLayoutAndPrefWidthsRecalc() is never called. I guess the re-layout
function is not called due to this change:

http://trac.webkit.org/changeset/21606

The changes the meaning of the m_renderer. As m_renderer is the parent() of
corresponding render counter, we should check the children of m_renderer to
re-layout them.

The fix for RenderCounter.cpp fixes issues in css2.1/t120401-scope-02-c.html
and css2.1/t120401-scope-03-c.html. Suppose the counter is showing the
following numbers:

1.
 1.1.
2.

For this case, the previous code creates the tree of counter node like:

reset
 increment
 increment
 reset
  increment

But I think this should be

reset
 increment
 reset
  increment
 increment

This order fix is necessary because CounterNode::recount() updates the nodes'
value using the values of the previous siblings.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list