OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * Copyright (C) 2004-2008, 2013, 2014 Apple Inc. All rights reserved. | 4 * Copyright (C) 2004-2008, 2013, 2014 Apple Inc. All rights reserved. |
5 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. | 5 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. |
6 * (http://www.torchmobile.com/) | 6 * (http://www.torchmobile.com/) |
7 * Copyright (C) 2011 Motorola Mobility. All rights reserved. | 7 * Copyright (C) 2011 Motorola Mobility. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 void HTMLElement::attributeChanged(const AttributeModificationParams& params) { | 430 void HTMLElement::attributeChanged(const AttributeModificationParams& params) { |
431 Element::attributeChanged(params); | 431 Element::attributeChanged(params); |
432 if (params.reason != AttributeModificationReason::kDirectly) | 432 if (params.reason != AttributeModificationReason::kDirectly) |
433 return; | 433 return; |
434 // adjustedFocusedElementInTreeScope() is not trivial. We should check | 434 // adjustedFocusedElementInTreeScope() is not trivial. We should check |
435 // attribute names, then call adjustedFocusedElementInTreeScope(). | 435 // attribute names, then call adjustedFocusedElementInTreeScope(). |
436 if (params.name == hiddenAttr && !params.newValue.isNull()) { | 436 if (params.name == hiddenAttr && !params.newValue.isNull()) { |
437 if (adjustedFocusedElementInTreeScope() == this) | 437 if (adjustedFocusedElementInTreeScope() == this) |
438 blur(); | 438 blur(); |
439 } else if (params.name == contenteditableAttr) { | 439 } else if (params.name == contenteditableAttr) { |
440 document().frame()->spellChecker().removeSpellingAndGrammarMarkers( | 440 if (document().frame()) { |
441 *this, SpellChecker::ElementsType::kOnlyNonEditable); | 441 document().frame()->spellChecker().removeSpellingAndGrammarMarkers( |
| 442 *this, SpellChecker::ElementsType::kOnlyNonEditable); |
| 443 } |
442 if (adjustedFocusedElementInTreeScope() != this) | 444 if (adjustedFocusedElementInTreeScope() != this) |
443 return; | 445 return; |
444 // The attribute change may cause supportsFocus() to return false | 446 // The attribute change may cause supportsFocus() to return false |
445 // for the element which had focus. | 447 // for the element which had focus. |
446 // | 448 // |
447 // TODO(tkent): We should avoid updating style. We'd like to check only | 449 // TODO(tkent): We should avoid updating style. We'd like to check only |
448 // DOM-level focusability here. | 450 // DOM-level focusability here. |
449 document().updateStyleAndLayoutTreeForNode(this); | 451 document().updateStyleAndLayoutTreeForNode(this); |
450 if (!supportsFocus()) | 452 if (!supportsFocus()) |
451 blur(); | 453 blur(); |
(...skipping 766 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1218 | 1220 |
1219 #ifndef NDEBUG | 1221 #ifndef NDEBUG |
1220 | 1222 |
1221 // For use in the debugger | 1223 // For use in the debugger |
1222 void dumpInnerHTML(blink::HTMLElement*); | 1224 void dumpInnerHTML(blink::HTMLElement*); |
1223 | 1225 |
1224 void dumpInnerHTML(blink::HTMLElement* element) { | 1226 void dumpInnerHTML(blink::HTMLElement* element) { |
1225 printf("%s\n", element->innerHTML().ascii().data()); | 1227 printf("%s\n", element->innerHTML().ascii().data()); |
1226 } | 1228 } |
1227 #endif | 1229 #endif |
OLD | NEW |