Index: third_party/WebKit/Source/core/layout/LayoutInline.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutInline.cpp b/third_party/WebKit/Source/core/layout/LayoutInline.cpp |
index 58f6568fd484ab97715f23e4fbfa2cdac89ef240..fd5bdf89a9bf80156e7d7c9b3a4a60388ac281c4 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutInline.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutInline.cpp |
@@ -1424,4 +1424,24 @@ void LayoutInline::invalidateDisplayItemClients(const LayoutBoxModelObject& pain |
paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*box, invalidationReason, paintInvalidationRect); |
} |
+void LayoutInline::invalidateDisplayItemClientsOfFirstLine() |
+{ |
+ if (alwaysCreateLineBoxes()) { |
+ for (InlineFlowBox* box = firstLineBox(); box; box = box->nextLineBox()) { |
+ if (!box->isFirstLineStyle()) |
+ break; |
+ box->invalidateDisplayItemClientsOfFirstLine(); |
+ } |
+ return; |
+ } |
+ |
+ for (LayoutObject* child = firstChild(); child; child = child->nextSibling()) { |
mstensho (USE GERRIT)
2015/12/01 12:29:49
Looks like there's nothing that stops at the end o
Xianzhu
2015/12/01 20:06:25
I think invalidating the first line of containing
|
+ child->setShouldDoFullPaintInvalidation(); |
chrishtr
2015/12/01 01:43:11
Why this line?
|
+ if (child->isLayoutInline()) |
+ toLayoutInline(child)->invalidateDisplayItemClientsOfFirstLine(); |
+ else if (child->isText()) |
+ toLayoutText(child)->invalidateDisplayItemClientsOfFirstLine(); |
+ } |
+} |
+ |
} // namespace blink |