Summary: | Ignore visibility:hidden elements when computing compositing layer bounds | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||||||
Component: | Layout and Rendering | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | achicu, cmuppala, dglazkov, enne, eric, jamesr, jchaffraix, simon.fraser, webkit-bug-importer, webkit.review.bot | ||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||
Version: | 528+ (Nightly build) | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Attachments: |
|
Description
Simon Fraser (smfr)
2012-07-27 21:55:56 PDT
Created attachment 155109 [details]
Patch
I'll add a test later. Comment on attachment 155109 [details]
Patch
Did you mean to "r?" this patch, or will you upload another? Otherwise all looks good.
Comment on attachment 155109 [details]
Patch
I'll do one with some tests.
Created attachment 155136 [details]
Patch
Comment on attachment 155136 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=155136&action=review > Source/WebCore/rendering/RenderLayer.cpp:4251 > + // FIXME: should probably just pass 'flags' down to descendants. This is a defensive change. “This is a defensive change” is an appropriate comment for the change log. It doesn’t make much sense to someone reading the code (what is the change?). > Source/WebCore/rendering/RenderLayer.cpp:4254 > + CalculateLayerBoundsFlags descendantFlags = DefaultCalculateLayerBoundsFlags; > + if (flags & ExcludeHiddenDescendants) > + descendantFlags |= ExcludeHiddenDescendants; There are many ways to write this. I’d go for the one-liner CalculateLayerBoundsFlags descendantFlags = DefaultCalculateLayerBoundsFlags | (flags & ExcludeHiddenDescendants); Comment on attachment 155136 [details] Patch Attachment 155136 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/13378886 New failing tests: compositing/geometry/bounds-ignores-hidden-composited-descendant.html compositing/geometry/bounds-ignores-hidden-dynamic.html Created attachment 155137 [details]
Archive of layout-test-results from gce-cr-linux-01
The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-01 Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'> Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid
Chromium linux needs to stop making layers 1px bigger on all sides. |