Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(509)

Unified Diff: third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp

Issue 2656113002: Reland of Fix shouldPaint issue when a composited floating iframe becomes non-self-painting (Closed)
Patch Set: Remove iframe borders Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
index f2f945d27010331740d9a5e8484f7f9cd5e80395..359acb0524b8a521a062c2975514686772581dc1 100644
--- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
@@ -3998,7 +3998,9 @@ bool LayoutBlockFlow::hitTestFloats(HitTestResult& result,
for (FloatingObjectSetIterator it = floatingObjectSet.end(); it != begin;) {
--it;
const FloatingObject& floatingObject = *it->get();
- if (floatingObject.shouldPaint()) {
+ if (floatingObject.shouldPaint() &&
+ // TODO(wangxianzhu): Should this be a DCHECK?
+ !floatingObject.layoutObject()->hasSelfPaintingLayer()) {
LayoutUnit xOffset = xPositionForFloatIncludingMargin(floatingObject) -
floatingObject.layoutObject()->location().x();
LayoutUnit yOffset = yPositionForFloatIncludingMargin(floatingObject) -
@@ -4051,7 +4053,7 @@ LayoutUnit LayoutBlockFlow::logicalRightFloatOffsetForLine(
return fixedOffset;
}
-void LayoutBlockFlow::setAncestorShouldPaintFloatingObject(
+void LayoutBlockFlow::updateAncestorShouldPaintFloatingObject(
const LayoutBox& floatBox) {
ASSERT(floatBox.isFloating());
bool floatBoxIsSelfPaintingLayer =

Powered by Google App Engine
This is Rietveld 408576698