Bug 50119

Summary: RenderObject::minimumPreferredLogicalWidth() sometimes reports wrong value
Product: WebKit Reporter: Aaron Boodman <aa>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, hyatt, jamesr, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch none

Description Aaron Boodman 2010-11-26 17:13:37 PST
I noticed a change in the behavior of RenderObject::minimumPreferredLogicalWidth() for the root renderer recently, and tracked it to this change:

http://trac.webkit.org/changeset/70546/trunk/WebCore/rendering/RenderBox.cpp

Also see http://code.google.com/p/chromium/issues/detail?id=61370 for the Chromium bug where this was noticed.

It looks to me like a style can sometimes be applied to a body element before it is appended to the tree. In this case, the dirty bit for minimumPreferredLogicalWidth will not be propagated up the tree.

I have a patch that appears to fix the problem, but I would like feedback on:

a) Whether this is a good way to fix it, and
b) How to create a test case

Patch to follow.
Comment 1 Aaron Boodman 2010-11-26 17:17:49 PST
Created attachment 74955 [details]
Patch
Comment 2 Aaron Boodman 2010-11-26 17:21:24 PST
Created attachment 74956 [details]
Patch
Comment 3 Aaron Boodman 2010-11-26 17:23:04 PST
Comment on attachment 74956 [details]
Patch

Whoops :)
Comment 4 Aaron Boodman 2010-11-30 16:41:03 PST
Created attachment 75223 [details]
Patch
Comment 5 Dave Hyatt 2010-12-01 15:32:19 PST
Comment on attachment 75223 [details]
Patch

r=me
Comment 6 WebKit Commit Bot 2010-12-02 06:59:06 PST
Comment on attachment 75223 [details]
Patch

Rejecting patch 75223 from commit-queue.

Failed to run "['./WebKitTools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=abarth-cq-sl', 'land-attachment', '--force-clean', '--ignore-builders', '--non-interactive', '--parent-command=commit-queue', 75223]" exit_code: 2
Last 500 characters of output:
ommitting to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/rendering/RenderBox.cpp
A repository hook failed: Commit blocked by pre-commit hook (exit code 1) with output:
svnlook: Can't write to stream: Broken pipe

    The following ChangeLog files contain OOPS:

        trunk/WebCore/ChangeLog

    Please don't ever say "OOPS" in a ChangeLog file.
 at /usr/local/git/libexec/git-core/git-svn line 558


Failed to run "[u'git', u'svn', u'dcommit']" exit_code: 1

Full output: http://queues.webkit.org/results/6732012
Comment 7 Aaron Boodman 2010-12-02 20:24:11 PST
Created attachment 75458 [details]
Patch
Comment 8 WebKit Review Bot 2010-12-02 20:25:46 PST
Comment on attachment 75458 [details]
Patch

Rejecting patch 75458 from review queue.

aa@chromium.org does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitpy/common/config/committers.py.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in WebKitTools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.
Comment 9 WebKit Commit Bot 2010-12-02 23:43:17 PST
The commit-queue encountered the following flaky tests while processing attachment 75458 [details]:

animations/dynamic-stylesheet-loading.html

Please file bugs against the tests.  These tests were authored by cmarrin@apple.com.  The commit-queue is continuing to process your patch.
Comment 10 WebKit Commit Bot 2010-12-02 23:45:09 PST
Comment on attachment 75458 [details]
Patch

Clearing flags on attachment: 75458

Committed r73245: <http://trac.webkit.org/changeset/73245>
Comment 11 WebKit Commit Bot 2010-12-02 23:45:15 PST
All reviewed patches have been landed.  Closing bug.