Bug 181210

Summary: Invalidate current element style on class change accurately
Product: WebKit Reporter: Antti Koivisto <koivisto>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, ews-watchlist, rniwa, ryanhaddad, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch
ews-watchlist: commit-queue-
Archive of layout-test-results from ews102 for mac-elcapitan
none
Archive of layout-test-results from ews105 for mac-elcapitan-wk2
none
Archive of layout-test-results from ews116 for mac-elcapitan
none
patch none

Description Antti Koivisto 2018-01-02 04:35:36 PST
We currently do accurate invalidation for descendants but always invalidate the element itself as long as there are any rules that mention the class. We should do this with rulesets too.
Comment 1 Antti Koivisto 2018-01-02 06:28:17 PST
Created attachment 330312 [details]
patch
Comment 2 EWS Watchlist 2018-01-02 07:26:51 PST
Comment on attachment 330312 [details]
patch

Attachment 330312 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/5893217

New failing tests:
fast/shadow-dom/shadow-host-with-before-after.html
fast/shadow-dom/css-scoping-slotted-invalidation.html
fast/shadow-dom/css-scoping-slot-flex.html
fast/shadow-dom/shadow-host-style-update.html
Comment 3 EWS Watchlist 2018-01-02 07:26:52 PST
Created attachment 330314 [details]
Archive of layout-test-results from ews102 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 4 EWS Watchlist 2018-01-02 07:38:08 PST
Comment on attachment 330312 [details]
patch

Attachment 330312 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/5893227

New failing tests:
fast/shadow-dom/shadow-host-with-before-after.html
fast/shadow-dom/css-scoping-slotted-invalidation.html
fast/shadow-dom/css-scoping-slot-flex.html
Comment 5 EWS Watchlist 2018-01-02 07:38:09 PST
Created attachment 330315 [details]
Archive of layout-test-results from ews105 for mac-elcapitan-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105  Port: mac-elcapitan-wk2  Platform: Mac OS X 10.11.6
Comment 6 EWS Watchlist 2018-01-02 07:51:21 PST
Comment on attachment 330312 [details]
patch

Attachment 330312 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/5893231

New failing tests:
fast/shadow-dom/shadow-host-with-before-after.html
Comment 7 EWS Watchlist 2018-01-02 07:51:22 PST
Created attachment 330316 [details]
Archive of layout-test-results from ews116 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews116  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 8 Antti Koivisto 2018-01-02 08:05:44 PST
Created attachment 330317 [details]
patch
Comment 9 WebKit Commit Bot 2018-01-10 01:01:58 PST
Comment on attachment 330317 [details]
patch

Clearing flags on attachment: 330317

Committed r226703: <https://trac.webkit.org/changeset/226703>
Comment 10 WebKit Commit Bot 2018-01-10 01:02:00 PST
All reviewed patches have been landed.  Closing bug.
Comment 11 Radar WebKit Bug Importer 2018-01-10 01:03:26 PST
<rdar://problem/36401057>
Comment 12 Ryan Haddad 2018-01-10 08:43:30 PST
This change broke the Windows build.

Here is the error from the bots, which matches what win-ews reported before the change was landed:
c:\cygwin\home\buildbot\slave\win-release\build\source\webcore\css\rulefeature.cpp(68): error C2220: warning treated as error - no 'object' file generated [C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\Source\WebCore\WebCore.vcxproj]
c:\cygwin\home\buildbot\slave\win-release\build\source\webcore\css\rulefeature.cpp(68): warning C4715: 'WebCore::RuleFeatureSet::computeNextMatchElement': not all control paths return a value [C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\Source\WebCore\WebCore.vcxproj]
  UnifiedSource211.cpp

https://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/builds/6974
Comment 13 Antti Koivisto 2018-01-10 09:02:09 PST
https://trac.webkit.org/r226718 might help