Title: [255299] branches/safari-610.1.1-branch/Source/WebCore
- Revision
- 255299
- Author
- [email protected]
- Date
- 2020-01-28 13:49:46 -0800 (Tue, 28 Jan 2020)
Log Message
Cherry-pick r255068. rdar://problem/58809696
[LFC][Integration] LineLayout::paint should take advantage of the glyph display list cache
https://bugs.webkit.org/show_bug.cgi?id=206727
<rdar://problem/58809696>
Reviewed by Antti Koivisto.
* layout/displaytree/DisplayInlineContent.cpp:
(WebCore::Display::InlineContent::~InlineContent):
* layout/displaytree/DisplayInlineContent.h:
* layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::paint):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255068 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-610.1.1-branch/Source/WebCore/ChangeLog (255298 => 255299)
--- branches/safari-610.1.1-branch/Source/WebCore/ChangeLog 2020-01-28 21:49:43 UTC (rev 255298)
+++ branches/safari-610.1.1-branch/Source/WebCore/ChangeLog 2020-01-28 21:49:46 UTC (rev 255299)
@@ -1,5 +1,38 @@
2020-01-28 Russell Epstein <[email protected]>
+ Cherry-pick r255068. rdar://problem/58809696
+
+ [LFC][Integration] LineLayout::paint should take advantage of the glyph display list cache
+ https://bugs.webkit.org/show_bug.cgi?id=206727
+ <rdar://problem/58809696>
+
+ Reviewed by Antti Koivisto.
+
+ * layout/displaytree/DisplayInlineContent.cpp:
+ (WebCore::Display::InlineContent::~InlineContent):
+ * layout/displaytree/DisplayInlineContent.h:
+ * layout/integration/LayoutIntegrationLineLayout.cpp:
+ (WebCore::LayoutIntegration::LineLayout::paint):
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255068 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2020-01-24 Zalan Bujtas <[email protected]>
+
+ [LFC][Integration] LineLayout::paint should take advantage of the glyph display list cache
+ https://bugs.webkit.org/show_bug.cgi?id=206727
+ <rdar://problem/58809696>
+
+ Reviewed by Antti Koivisto.
+
+ * layout/displaytree/DisplayInlineContent.cpp:
+ (WebCore::Display::InlineContent::~InlineContent):
+ * layout/displaytree/DisplayInlineContent.h:
+ * layout/integration/LayoutIntegrationLineLayout.cpp:
+ (WebCore::LayoutIntegration::LineLayout::paint):
+
+2020-01-28 Russell Epstein <[email protected]>
+
Cherry-pick r254951. rdar://problem/58713125
Make a Ref to WindowEventLoop when the timer to run tasks fires
Modified: branches/safari-610.1.1-branch/Source/WebCore/layout/displaytree/DisplayInlineContent.cpp (255298 => 255299)
--- branches/safari-610.1.1-branch/Source/WebCore/layout/displaytree/DisplayInlineContent.cpp 2020-01-28 21:49:43 UTC (rev 255298)
+++ branches/safari-610.1.1-branch/Source/WebCore/layout/displaytree/DisplayInlineContent.cpp 2020-01-28 21:49:46 UTC (rev 255299)
@@ -28,6 +28,8 @@
#if ENABLE(LAYOUT_FORMATTING_CONTEXT)
#include "DisplayInlineContent.h"
+#include "RuntimeEnabledFeatures.h"
+#include "TextPainter.h"
namespace WebCore {
namespace Display {
@@ -40,7 +42,15 @@
return { &runs.first(), &runs.last() + 1 };
}
+InlineContent::~InlineContent()
+{
+ if (RuntimeEnabledFeatures::sharedFeatures().layoutFormattingContextIntegrationEnabled()) {
+ for (auto& run : runs)
+ TextPainter::removeGlyphDisplayList(run);
+ }
}
+
}
+}
#endif
Modified: branches/safari-610.1.1-branch/Source/WebCore/layout/displaytree/DisplayInlineContent.h (255298 => 255299)
--- branches/safari-610.1.1-branch/Source/WebCore/layout/displaytree/DisplayInlineContent.h 2020-01-28 21:49:43 UTC (rev 255298)
+++ branches/safari-610.1.1-branch/Source/WebCore/layout/displaytree/DisplayInlineContent.h 2020-01-28 21:49:46 UTC (rev 255299)
@@ -36,6 +36,8 @@
namespace Display {
struct InlineContent : public RefCounted<InlineContent> {
+ ~InlineContent();
+
using Runs = Vector<Run, 10>;
using LineBoxes = Vector<LineBox, 5>;
Modified: branches/safari-610.1.1-branch/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp (255298 => 255299)
--- branches/safari-610.1.1-branch/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp 2020-01-28 21:49:43 UTC (rev 255298)
+++ branches/safari-610.1.1-branch/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp 2020-01-28 21:49:46 UTC (rev 255299)
@@ -273,6 +273,7 @@
if (auto* debugShadow = debugTextShadow())
textPainter.setShadow(debugShadow);
+ textPainter.setGlyphDisplayListIfNeeded(run, paintInfo, style.fontCascade(), paintInfo.context(), textRun);
textPainter.paint(textRun, rect, textOrigin);
if (!style.textDecorationsInEffect().isEmpty()) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes