Title: [253442] trunk/Source/WebCore
Revision
253442
Author
[email protected]
Date
2019-12-12 13:32:01 -0800 (Thu, 12 Dec 2019)

Log Message

[LFC][Integration] Paint seemingly blank runs (0 width, result of negative letter-spacing)
https://bugs.webkit.org/show_bug.cgi?id=205114
<rdar://problem/57837165>

Reviewed by Antti Koivisto.

Let's not intersect the run's rect with the damaged area when we don't yet have any paint
overflow information (This should rather use the line box set to identify the line range to paint.)

* layout/displaytree/DisplayInlineContent.cpp:
(WebCore::Display:: const):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (253441 => 253442)


--- trunk/Source/WebCore/ChangeLog	2019-12-12 19:19:30 UTC (rev 253441)
+++ trunk/Source/WebCore/ChangeLog	2019-12-12 21:32:01 UTC (rev 253442)
@@ -1,3 +1,17 @@
+2019-12-12  Zalan Bujtas  <[email protected]>
+
+        [LFC][Integration] Paint seemingly blank runs (0 width, result of negative letter-spacing)
+        https://bugs.webkit.org/show_bug.cgi?id=205114
+        <rdar://problem/57837165>
+
+        Reviewed by Antti Koivisto.
+
+        Let's not intersect the run's rect with the damaged area when we don't yet have any paint
+        overflow information (This should rather use the line box set to identify the line range to paint.)
+
+        * layout/displaytree/DisplayInlineContent.cpp:
+        (WebCore::Display:: const):
+
 2019-12-12  Per Arne Vollan  <[email protected]>
 
         [iOS] Deny mach lookup access to content filter service in the WebContent sandbox

Modified: trunk/Source/WebCore/layout/displaytree/DisplayInlineContent.cpp (253441 => 253442)


--- trunk/Source/WebCore/layout/displaytree/DisplayInlineContent.cpp	2019-12-12 19:19:30 UTC (rev 253441)
+++ trunk/Source/WebCore/layout/displaytree/DisplayInlineContent.cpp	2019-12-12 21:32:01 UTC (rev 253442)
@@ -31,30 +31,12 @@
 namespace WebCore {
 namespace Display {
 
-WTF::IteratorRange<const Run*> InlineContent::runsForRect(const LayoutRect& rect) const
+WTF::IteratorRange<const Run*> InlineContent::runsForRect(const LayoutRect&) const
 {
-    // FIXME: Do something efficient.
-    const Run* first = nullptr;
-    for (auto& run : runs) {
-        auto runRect = FloatRect { run.logicalRect() };
-        if (runRect.intersects(rect)) {
-            first = &run;
-            break;
-        }
-    }
-    if (!first)
+    // FIXME: Do something efficient e.g. using line boxes.
+    if (runs.isEmpty())
         return { nullptr, nullptr };
-
-    const Run* last = nullptr;
-    for (auto& run : WTF::makeReversedRange(runs)) {
-        auto runRect = FloatRect { run.logicalRect() };
-        if (runRect.intersects(rect)) {
-            last = &run;
-            break;
-        }
-    }
-
-    return { first, last + 1 };
+    return { &runs.first(), &runs.last() + 1 };
 }
 
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to