Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/Node.cpp |
| diff --git a/third_party/WebKit/Source/core/dom/Node.cpp b/third_party/WebKit/Source/core/dom/Node.cpp |
| index 7018a3bc473fb3124ca0479161f0bceaf3d82b9b..15b68633bc7978861bf511a393fe43df9fa27d28 100644 |
| --- a/third_party/WebKit/Source/core/dom/Node.cpp |
| +++ b/third_party/WebKit/Source/core/dom/Node.cpp |
| @@ -2303,6 +2303,37 @@ bool Node::isUserActionElementFocused() const |
| return document().userActionElements().isFocused(this); |
| } |
| +void Node::setCustomElementState(CustomElementState newState) |
| +{ |
| + CustomElementState oldState = getCustomElementState(); |
| + |
| + switch (newState) { |
| + case CustomElementState::Uncustomized: |
| + NOTREACHED(); // Everything starts in this state |
| + return; |
| + |
| + case CustomElementState::Undefined: |
| + DCHECK(CustomElementState::Uncustomized == oldState); |
| + break; |
| + |
| + case CustomElementState::Customized: |
| + DCHECK(CustomElementState::Undefined == oldState); |
|
dominicc (has gone to gerrit)
2016/05/18 07:56:21
When upgrading, don't you go from undefined -> cus
kojii
2016/05/18 08:32:15
Do you mean uncustomized -> customized?
From crea
|
| + break; |
| + } |
| + |
| + DCHECK(isHTMLElement()); |
| + DCHECK(V0Upgraded != getV0CustomElementState()); |
| + |
| + setFlag(CustomElementFlag); |
| + if (newState == CustomElementState::Customized) |
| + setFlag(CustomElementCustomizedFlag); |
| + DCHECK(newState == getCustomElementState()); |
| + |
| + // TODO(kojii): Should fire pseudoStateChanged() when :defined selector is |
| + // ready. |
| + // toElement(this)->pseudoStateChanged(CSSSelector::PseudoDefined); |
| +} |
| + |
| void Node::setV0CustomElementState(V0CustomElementState newState) |
| { |
| V0CustomElementState oldState = getV0CustomElementState(); |
| @@ -2322,6 +2353,7 @@ void Node::setV0CustomElementState(V0CustomElementState newState) |
| } |
| DCHECK(isHTMLElement() || isSVGElement()); |
| + DCHECK(CustomElementState::Customized != getCustomElementState()); |
| setFlag(V0CustomElementFlag); |
| setFlag(newState == V0Upgraded, V0CustomElementUpgradedFlag); |