Currently when stylesheets change in some way we generally update style resolvers and invalidate style immediately. We should do this lazily to avoid unnecessary work.
Created attachment 292163 [details] patch
Comment on attachment 292163 [details] patch Attachment 292163 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/2329997 New failing tests: media/track/track-user-stylesheet.html media/track/track-css-user-override.html inspector/css/stylesheet-events-inspector-stylesheet.html printing/page-format-data.html
Created attachment 292167 [details] Archive of layout-test-results from ews101 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews101 Port: mac-yosemite Platform: Mac OS X 10.10.5
Comment on attachment 292163 [details] patch Attachment 292163 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/2330003 New failing tests: media/track/track-user-stylesheet.html media/track/track-css-user-override.html inspector/css/stylesheet-events-inspector-stylesheet.html printing/page-format-data.html
Created attachment 292168 [details] Archive of layout-test-results from ews104 for mac-yosemite-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Comment on attachment 292163 [details] patch Attachment 292163 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/2330006 New failing tests: media/track/track-css-user-override.html printing/page-format-data.html inspector/css/stylesheet-events-inspector-stylesheet.html media/track/track-user-stylesheet.html
Created attachment 292169 [details] Archive of layout-test-results from ews112 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews112 Port: mac-yosemite Platform: Mac OS X 10.10.5
Comment on attachment 292163 [details] patch Attachment 292163 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/2330007 New failing tests: media/track/track-user-stylesheet.html media/track/track-css-user-override.html
Created attachment 292170 [details] Archive of layout-test-results from ews123 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews123 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Created attachment 292177 [details] patch
Comment on attachment 292177 [details] patch Attachment 292177 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/2331262 New failing tests: fast/media/mq-relative-constraints-08.html
Created attachment 292199 [details] Archive of layout-test-results from ews113 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-yosemite Platform: Mac OS X 10.10.5
Comment on attachment 292177 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=292177&action=review > Source/WebCore/css/CSSComputedStyleDeclaration.cpp:2360 > + document.styleScope().flushPendingUpdate(); IIUC this is needed for hasPendingForcedStyleRecalc() to work correctly. Is that accurate? If so, do we also need to do this in Element::needsStyleInvalidation()? > Source/WebCore/testing/Internals.cpp:385 > + page.group().captionPreferences().setTestingMode(true); This deserves a ChangeLog comment at least. :P
> IIUC this is needed for hasPendingForcedStyleRecalc() to work correctly. Is > that accurate? If so, do we also need to do this in > Element::needsStyleInvalidation()? No because needsStyleInvalidation() is used to avoid invalidation work when we know we are already invalidated. Calling flushPendingUpdates() would catch more cases like that but it is way more expensive than per-element work that needsStyleInvalidation() is trying to optimize. > > > Source/WebCore/testing/Internals.cpp:385 > > + page.group().captionPreferences().setTestingMode(true); > > This deserves a ChangeLog comment at least. :P Yea. It is about avoiding inserting magical caption UA sheet that screws up some inspector tests. The existing code that was avoiding that was racy.
Created attachment 292260 [details] patch
Created attachment 292262 [details] patch
Comment on attachment 292262 [details] patch r=me
Comment on attachment 292262 [details] patch Attachment 292262 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/2333649 Number of test failures exceeded the failure limit.
Created attachment 292269 [details] Archive of layout-test-results from ews121 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews121 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Comment on attachment 292262 [details] patch Attachment 292262 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/2334005 New failing tests: svg/text/text-outline-rgba.html
Created attachment 292283 [details] Archive of layout-test-results from ews112 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews112 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 292335 [details] patch
Created attachment 292338 [details] patch
Created attachment 292343 [details] patch
Comment on attachment 292343 [details] patch Clearing flags on attachment: 292343 Committed r207669: <http://trac.webkit.org/changeset/207669>
All reviewed patches have been landed. Closing bug.