Bug 115543 - Improve the performance of RenderDeprecatedFlexibleBox
Summary: Improve the performance of RenderDeprecatedFlexibleBox
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Dave Hyatt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-02 21:48 PDT by Dave Hyatt
Modified: 2013-05-06 08:22 PDT (History)
7 users (show)

See Also:


Attachments
Patch (22.00 KB, patch)
2013-05-02 21:50 PDT, Dave Hyatt
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from webkit-ews-07 for mac-mountainlion (566.88 KB, application/zip)
2013-05-03 00:01 PDT, Build Bot
no flags Details
Archive of layout-test-results from webkit-ews-09 for mac-mountainlion-wk2 (530.57 KB, application/zip)
2013-05-03 02:38 PDT, Build Bot
no flags Details
Fix the table section layout test failure and clean up the style. (22.54 KB, patch)
2013-05-03 09:29 PDT, Dave Hyatt
no flags Details | Formatted Diff | Diff
Fix style. (21.73 KB, patch)
2013-05-03 09:50 PDT, Dave Hyatt
bdakin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dave Hyatt 2013-05-02 21:48:20 PDT
Make the deprecated flexible box both layout less and repaint less.
Comment 1 Dave Hyatt 2013-05-02 21:50:29 PDT
Created attachment 200384 [details]
Patch
Comment 2 WebKit Commit Bot 2013-05-02 21:51:44 PDT
Attachment 200384 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp', u'Source/WebCore/rendering/RenderDeprecatedFlexibleBox.h']" exit_code: 1
Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:391:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:616:  One line control clauses should not use braces.  [whitespace/braces] [4]
Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:614:  An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:910:  One line control clauses should not use braces.  [whitespace/braces] [4]
Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:908:  An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Total errors found: 5 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Build Bot 2013-05-03 00:01:41 PDT
Comment on attachment 200384 [details]
Patch

Attachment 200384 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/382020

New failing tests:
fast/table/recalc-section-first-body-crash-main.html
Comment 4 Build Bot 2013-05-03 00:01:43 PDT
Created attachment 200391 [details]
Archive of layout-test-results from webkit-ews-07 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-07  Port: mac-mountainlion  Platform: Mac OS X 10.8.2
Comment 5 Build Bot 2013-05-03 02:38:53 PDT
Comment on attachment 200384 [details]
Patch

Attachment 200384 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/388396

New failing tests:
fast/table/recalc-section-first-body-crash-main.html
Comment 6 Build Bot 2013-05-03 02:38:55 PDT
Created attachment 200397 [details]
Archive of layout-test-results from webkit-ews-09 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-09  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.2
Comment 7 Dave Hyatt 2013-05-03 09:29:04 PDT
Created attachment 200418 [details]
Fix the table section layout test failure and clean up the style.
Comment 8 WebKit Commit Bot 2013-05-03 09:30:08 PDT
Attachment 200418 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp', u'Source/WebCore/rendering/RenderDeprecatedFlexibleBox.h']" exit_code: 1
Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:616:  An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:911:  An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 9 Dave Hyatt 2013-05-03 09:50:11 PDT
Created attachment 200426 [details]
Fix style.
Comment 10 Beth Dakin 2013-05-04 12:18:22 PDT
Comment on attachment 200426 [details]
Fix style.

View in context: https://bugs.webkit.org/attachment.cgi?id=200426&action=review

r=me!

> Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:778
> +    bool clearingFlexibleItemsOverridePass = false;

It seems a little unfortunate to have this wall of state variables show up twice, but I really don't see a way around that.
Comment 11 Dave Hyatt 2013-05-06 08:22:44 PDT
Fixed in r149597.