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..fa5b4c389d31f96bd248bcbc6b08210620cbc3d0 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::Custom: |
| + DCHECK(CustomElementState::Undefined == oldState); |
| + break; |
| + } |
| + |
| + DCHECK(isHTMLElement()); |
| + DCHECK(V0Upgraded != getV0CustomElementState()); |
|
yosin_UTC9
2016/05/19 06:00:35
nit: Use DCHECK_NE(getV0CustomElementState(), V0Up
|
| + |
| + setFlag(CustomElementFlag); |
| + if (newState == CustomElementState::Custom) |
| + setFlag(CustomElementCustomFlag); |
| + DCHECK(newState == getCustomElementState()); |
|
yosin_UTC9
2016/05/19 06:00:35
Use DCHECK_EQ(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::Custom != getCustomElementState()); |
|
yosin_UTC9
2016/05/19 06:00:35
Use DCHECK_NE(CustomElementState::Custom, getCusto
|
| setFlag(V0CustomElementFlag); |
| setFlag(newState == V0Upgraded, V0CustomElementUpgradedFlag); |