Chromium Code Reviews| Index: third_party/WebKit/Source/core/html/HTMLElement.cpp |
| diff --git a/third_party/WebKit/Source/core/html/HTMLElement.cpp b/third_party/WebKit/Source/core/html/HTMLElement.cpp |
| index deaffb100f9afb20f25292e1f32f9b3112c24a82..d09e577cf9286b91d8068c8c195049eb2d39f7ce 100644 |
| --- a/third_party/WebKit/Source/core/html/HTMLElement.cpp |
| +++ b/third_party/WebKit/Source/core/html/HTMLElement.cpp |
| @@ -46,6 +46,7 @@ |
| #include "core/dom/shadow/ShadowRoot.h" |
| #include "core/editing/EditingUtilities.h" |
| #include "core/editing/serializers/Serialization.h" |
| +#include "core/editing/spellcheck/SpellChecker.h" |
| #include "core/events/EventListener.h" |
| #include "core/events/KeyboardEvent.h" |
| #include "core/frame/Settings.h" |
| @@ -436,6 +437,8 @@ void HTMLElement::attributeChanged(const AttributeModificationParams& params) { |
| if (adjustedFocusedElementInTreeScope() == this) |
| blur(); |
| } else if (params.name == contenteditableAttr) { |
| + if (params.newValue.isNull() || equalIgnoringCase(params.newValue, "false")) |
| + document().frame()->spellChecker().removeSpellingAndGrammarMarkers(*this); |
|
yosin_UTC9
2017/01/25 02:31:41
Do we really need to remove markers synchronously?
Xiaocheng
2017/01/25 02:56:57
I think synchronous marker removal is fine, as we
Manuel Rego
2017/01/25 08:03:10
Good catch! Probably I should use isEditable() to
|
| if (adjustedFocusedElementInTreeScope() != this) |
| return; |
| // The attribute change may cause supportsFocus() to return false |
| @@ -457,6 +460,11 @@ void HTMLElement::parseAttribute(const AttributeModificationParams& params) { |
| dirAttributeChanged(params.newValue); |
| } else if (params.name == langAttr) { |
| pseudoStateChanged(CSSSelector::PseudoLang); |
| + } else if (params.name == contenteditableAttr) { |
| + if (params.newValue.isNull() || |
| + equalIgnoringCase(params.newValue, "false")) { |
| + // document().frame()->spellChecker().removeSpellingAndGrammarMarkers(*this); |
|
yosin_UTC9
2017/01/25 02:31:41
Could you remove this comment?
Manuel Rego
2017/01/25 08:03:10
Sure this is a leftover from a previous version of
|
| + } |
| } else { |
| const AtomicString& eventName = eventNameForAttributeName(params.name); |
| if (!eventName.isNull()) { |