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); |