| Index: third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp
|
| diff --git a/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp b/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp
|
| index f1a452fb2a64285bf788d484e954d9eeb5e6a16f..7203c81180e8718d477f557fa9fba74c8e3ca550 100644
|
| --- a/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp
|
| @@ -39,6 +39,11 @@ static TextBlobPtr* addToTextBlobCache(const InlineTextBox& inlineTextBox)
|
| return &gTextBlobCache->add(&inlineTextBox, nullptr).storedValue->value;
|
| }
|
|
|
| +LayoutObject& InlineTextBoxPainter::inlineLayoutObject() const
|
| +{
|
| + return *LineLayoutAPIShim::layoutObjectFrom(m_inlineTextBox.getLineLayoutItem());
|
| +}
|
| +
|
| bool InlineTextBoxPainter::paintsMarkerHighlights(const LayoutObject& layoutObject)
|
| {
|
| return layoutObject.node() && layoutObject.document().markers().hasMarkers(layoutObject.node());
|
| @@ -88,7 +93,7 @@ void InlineTextBoxPainter::paint(const PaintInfo& paintInfo, const LayoutPoint&
|
| return;
|
| LayoutRect paintRect(logicalVisualOverflow);
|
| m_inlineTextBox.logicalRectToPhysicalRect(paintRect);
|
| - if (paintInfo.phase != PaintPhaseSelection && (haveSelection || paintsMarkerHighlights(*LineLayoutAPIShim::layoutObjectFrom(m_inlineTextBox.getLineLayoutItem()))))
|
| + if (paintInfo.phase != PaintPhaseSelection && (haveSelection || paintsMarkerHighlights(inlineLayoutObject())))
|
| paintRect.unite(m_inlineTextBox.localSelectionRect(m_inlineTextBox.start(), m_inlineTextBox.start() + m_inlineTextBox.len()));
|
| paintRect.moveBy(adjustedPaintOffset);
|
| drawingRecorder.emplace(paintInfo.context, m_inlineTextBox, DisplayItem::paintPhaseToDrawingType(paintInfo.phase), FloatRect(paintRect));
|
| @@ -105,7 +110,7 @@ void InlineTextBoxPainter::paint(const PaintInfo& paintInfo, const LayoutPoint&
|
| LayoutTextCombine* combinedText = nullptr;
|
| if (!m_inlineTextBox.isHorizontal()) {
|
| if (styleToUse.hasTextCombine() && m_inlineTextBox.getLineLayoutItem().isCombineText()) {
|
| - combinedText = &toLayoutTextCombine(*LineLayoutAPIShim::layoutObjectFrom(m_inlineTextBox.getLineLayoutItem()));
|
| + combinedText = &toLayoutTextCombine(inlineLayoutObject());
|
| if (!combinedText->isCombined())
|
| combinedText = nullptr;
|
| }
|
| @@ -134,7 +139,7 @@ void InlineTextBoxPainter::paint(const PaintInfo& paintInfo, const LayoutPoint&
|
| if (paintInfo.phase != PaintPhaseSelection && paintInfo.phase != PaintPhaseTextClip && !isPrinting) {
|
| paintDocumentMarkers(paintInfo, boxOrigin, styleToUse, font, DocumentMarkerPaintPhase::Background);
|
|
|
| - const LayoutObject& textBoxLayoutObject = *LineLayoutAPIShim::layoutObjectFrom(m_inlineTextBox.getLineLayoutItem());
|
| + const LayoutObject& textBoxLayoutObject = inlineLayoutObject();
|
| if (haveSelection && !paintsCompositionMarkers(textBoxLayoutObject)) {
|
| if (combinedText)
|
| paintSelection<InlineTextBoxPainter::PaintOptions::CombinedText>(context, boxRect, styleToUse, font, selectionStyle.fillColor, combinedText);
|
| @@ -719,7 +724,7 @@ void InlineTextBoxPainter::paintDecoration(const PaintInfo& paintInfo, const Lay
|
|
|
| // Get the text decoration colors.
|
| LayoutObject::AppliedTextDecoration underline, overline, linethrough;
|
| - LayoutObject& textBoxLayoutObject = *LineLayoutAPIShim::layoutObjectFrom(m_inlineTextBox.getLineLayoutItem());
|
| + LayoutObject& textBoxLayoutObject = inlineLayoutObject();
|
| textBoxLayoutObject.getTextDecorations(deco, underline, overline, linethrough, true);
|
| if (m_inlineTextBox.isFirstLineStyle())
|
| textBoxLayoutObject.getTextDecorations(deco, underline, overline, linethrough, true, true);
|
| @@ -804,7 +809,7 @@ void InlineTextBoxPainter::paintCompositionUnderline(GraphicsContext& context, c
|
|
|
| void InlineTextBoxPainter::paintTextMatchMarkerForeground(const PaintInfo& paintInfo, const LayoutPoint& boxOrigin, DocumentMarker* marker, const ComputedStyle& style, const Font& font)
|
| {
|
| - if (!LineLayoutAPIShim::layoutObjectFrom(m_inlineTextBox.getLineLayoutItem())->frame()->editor().markedTextMatchesAreHighlighted())
|
| + if (!inlineLayoutObject().frame()->editor().markedTextMatchesAreHighlighted())
|
| return;
|
|
|
| // TODO(ramya.v): Extract this into a helper function and share many copies of this code.
|
|
|