Changeset 178490 in webkit
- Timestamp:
- Jan 14, 2015, 11:59:09 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 3 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/compositing/contents-opaque/opaque-with-scrolled-expected.txt (added)
-
LayoutTests/compositing/contents-opaque/opaque-with-scrolled.html (added)
-
LayoutTests/fast/backgrounds/opaque-scrolled-paint-background-expected.html (added)
-
LayoutTests/fast/backgrounds/opaque-scrolled-paint-background.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/rendering/RenderBox.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r178488 r178490 1 2015-01-14 Simon Fraser <simon.fraser@apple.com> 2 3 Graphics corruption after Find on some pages 4 https://bugs.webkit.org/show_bug.cgi?id=140489 5 6 Reviewed by Zalan Bujtas. 7 8 Two new tests. The first one just reports that we have an opaque compositing 9 layer. The second one tests the the user-visible symptom of the missing 10 background. 11 12 * compositing/contents-opaque/opaque-with-scrolled-expected.txt: Added. 13 * compositing/contents-opaque/opaque-with-scrolled.html: Added. 14 * fast/backgrounds/opaque-scrolled-paint-background-expected.html: Added. 15 * fast/backgrounds/opaque-scrolled-paint-background.html: Added. 16 1 17 2015-01-14 Alexey Proskuryakov <ap@apple.com> 2 18 -
trunk/Source/WebCore/ChangeLog
r178486 r178490 1 2015-01-14 Simon Fraser <simon.fraser@apple.com> 2 3 Graphics corruption after Find on some pages 4 https://bugs.webkit.org/show_bug.cgi?id=140489 5 6 Reviewed by Zalan Bujtas. 7 8 After doing a Find on http://shop.outlier.cc/shop/retail/chino.html, 9 garbage could appear on some parts of the page. This is caused by creating 10 a compositing layer which is marked as opaque, yet failing to paint the entire 11 layer contents. 12 13 This was caused by a bug in RenderBox::computeBackgroundIsKnownToBeObscured() 14 logic. On the page in question, doing a Find could cause overflow:hidden sections 15 to get scrolled (since Find can reveal the selection by scrolling overflow). 16 However, the render tree walking under RenderBox::foregroundIsKnownToBeOpaqueInRect() 17 fails to take overflow scrolling into account, so gives the wrong answer 18 in some content configurations. As a result, we'd think that the background 19 is obscured, and never paint it. 20 21 Conservative fix is to have isCandidateForOpaquenessTest() return false 22 when the content has any non-zero scroll offset. 23 24 Tests: compositing/contents-opaque/opaque-with-scrolled.html 25 fast/backgrounds/opaque-scrolled-paint-background.html 26 27 * rendering/RenderBox.cpp: 28 (WebCore::isCandidateForOpaquenessTest): 29 1 30 2015-01-14 Jer Noble <jer.noble@apple.com> 2 31 -
trunk/Source/WebCore/rendering/RenderBox.cpp
r178231 r178490 1400 1400 return false; 1401 1401 if (childLayer->hasTransform() || childLayer->isTransparent() || childLayer->hasFilter()) 1402 return false; 1403 if (!childBox.scrolledContentOffset().isZero()) 1402 1404 return false; 1403 1405 }
Note:
See TracChangeset
for help on using the changeset viewer.