Summary: | Create a containing block when relevant properties are set in the current element will-change | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||||||||||||||||||||||||
Component: | CSS | Assignee: | Tim Nguyen (:ntim) <ntim> | ||||||||||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||||||||||
Severity: | Normal | CC: | buildbot, changseok, commit-queue, darin, esprehn+autocc, ews-watchlist, glenn, heycam, kondapallykalyan, mjs, ntim, pdr, rniwa, simon.fraser, webkit-bug-importer, zalan | ||||||||||||||||||||||||||
Priority: | P2 | Keywords: | InRadar, WebExposed | ||||||||||||||||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||||||||
Attachments: |
|
Description
Simon Fraser (smfr)
2017-02-05 22:22:34 PST
Created attachment 300687 [details]
Patch
Comment on attachment 300687 [details] Patch Attachment 300687 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/3011973 New failing tests: fast/css/will-change/will-change-creates-stacking-context-inline.html Created attachment 300689 [details]
Archive of layout-test-results from ews115 for mac-elcapitan
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews115 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Comment on attachment 300687 [details] Patch Attachment 300687 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/3012020 New failing tests: fast/css/will-change/will-change-creates-stacking-context-inline.html Created attachment 300690 [details]
Archive of layout-test-results from ews101 for mac-elcapitan
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Comment on attachment 300687 [details] Patch Attachment 300687 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/3012028 New failing tests: fast/css/will-change/will-change-creates-stacking-context-inline.html Created attachment 300691 [details]
Archive of layout-test-results from ews106 for mac-elcapitan-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Comment on attachment 300687 [details] Patch Attachment 300687 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/3012033 New failing tests: fast/css/will-change/will-change-creates-stacking-context-inline.html Created attachment 300692 [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
Comment on attachment 300687 [details]
Patch
No idea if this patch is still relevant or still applies, but looks good to me. Maybe it should be re-run through modern EWS?
r=me assuming it still applies and passes tests.
Created attachment 426708 [details]
Patch
Created attachment 426734 [details]
Patch
I've made this more generic so I could fix multiple issues in one go. Created attachment 426807 [details]
Patch
Created attachment 427007 [details]
Patch
Created attachment 427008 [details]
Patch
Comment on attachment 427008 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=427008&action=review > Source/WebCore/rendering/style/WillChangeData.cpp:75 > + || containsProperty(CSSPropertyWebkitBackdropFilter); Needs #if #if ENABLE(FILTERS_LEVEL_2). Created attachment 427011 [details]
Patch
Comment on attachment 427011 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=427011&action=review > Source/WebCore/rendering/RenderElement.h:432 > + || (isRenderBlock() && hasTransform()) > + // FIXME: will-change should create containing blocks on inline boxes (bug 225035) > + || (!isRenderInline() && style().willChange() && style().willChange()->canCreateContainingBlockForAbsOrFixedPos()) Since this is a workaround for RenderObject::containingBlock()'s return value, I'd specifically test for RenderBlock and not for !RenderInline (in practice they probably produce the same result, but checking against RenderBlock is less error prone). > Source/WebCore/rendering/style/WillChangeData.cpp:63 > +bool WillChangeData::canCreateContainingBlockForAbsOrFixedPos() const please do not shorten names like "Abs" or "Pos" (I am not good at naming but maybe this should read willCreate....) Comment on attachment 427011 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=427011&action=review > Source/WebCore/rendering/style/WillChangeData.h:55 > + bool canCreateContainingBlockForAbsOrFixedPos() const; We call these "out of flow positioned:. Created attachment 427067 [details]
Patch
Committed r276627 (237055@main): <https://commits.webkit.org/237055@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 427067 [details]. |