Chromium Code Reviews| 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 b46e742c2e33dbb443ce2d3856c22bb16242dc8d..87f42e6cbf9014d3b0bcde3fab18ccf1790a03fb 100644 |
| --- a/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp |
| +++ b/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp |
| @@ -5,9 +5,11 @@ |
| #include "core/paint/InlineTextBoxPainter.h" |
| #include "core/editing/CompositionUnderline.h" |
| +#include "core/editing/EditingUtilities.h" |
| #include "core/editing/Editor.h" |
| #include "core/editing/markers/DocumentMarkerController.h" |
| #include "core/frame/LocalFrame.h" |
| +#include "core/html/HTMLFormControlElement.h" |
| #include "core/layout/LayoutTextCombine.h" |
| #include "core/layout/LayoutTheme.h" |
| #include "core/layout/api/LineLayoutAPIShim.h" |
| @@ -801,7 +803,13 @@ void InlineTextBoxPainter::paintDocumentMarkers( |
| const ComputedStyle& style, |
| const Font& font, |
| DocumentMarkerPaintPhase markerPaintPhase) { |
| - if (!m_inlineTextBox.getLineLayoutItem().node()) |
| + const Node* node = m_inlineTextBox.getLineLayoutItem().node(); |
| + if (!node) |
| + return; |
| + |
| + if (!hasEditableStyle(*node) && |
|
Xiaocheng
2017/03/03 18:24:06
This breaks the rendering of non-spelling markers,
|
| + (!isHTMLFormControlElement(*node) || |
| + toHTMLFormControlElement(*node).isDisabledOrReadOnly())) |
| return; |
| DCHECK(m_inlineTextBox.truncation() != cFullTruncation); |