| Index: Source/core/rendering/InlineTextBox.cpp
|
| diff --git a/Source/core/rendering/InlineTextBox.cpp b/Source/core/rendering/InlineTextBox.cpp
|
| index b1352fcb62c8278fb0873ae7de8e6ab011309024..a241b876332d27331ec49851d87bff335e1ba191 100644
|
| --- a/Source/core/rendering/InlineTextBox.cpp
|
| +++ b/Source/core/rendering/InlineTextBox.cpp
|
| @@ -63,7 +63,7 @@ namespace blink {
|
| struct SameSizeAsInlineTextBox : public InlineBox {
|
| unsigned variables[1];
|
| unsigned short variables2[2];
|
| - void* pointers[2];
|
| + void* pointers[3];
|
| };
|
|
|
| COMPILE_ASSERT(sizeof(InlineTextBox) == sizeof(SameSizeAsInlineTextBox), InlineTextBox_should_stay_small);
|
| @@ -588,7 +588,8 @@ void InlineTextBox::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset,
|
| startOffset = selectionEnd;
|
| endOffset = selectionStart;
|
| }
|
| - textPainter.paint(startOffset, endOffset, length, textStyle);
|
| + bool textBlobIsCacheable = RuntimeEnabledFeatures::textBlobEnabled() && startOffset == 0 && endOffset == length;
|
| + textPainter.paint(startOffset, endOffset, length, textStyle, textBlobIsCacheable ? &m_textBlobCache : 0);
|
| }
|
|
|
| if ((paintSelectedTextOnly || paintSelectedTextSeparately) && selectionStart < selectionEnd) {
|
|
|