Index: third_party/WebKit/Source/bindings/core/v8/custom/V8HTMLElementCustom.cpp |
diff --git a/third_party/WebKit/Source/bindings/core/v8/custom/V8HTMLElementCustom.cpp b/third_party/WebKit/Source/bindings/core/v8/custom/V8HTMLElementCustom.cpp |
index 8a315ac28147b5eda6aa7dbba804fa25d43d6af4..a4dbe60f67b273813f4d2af932fb4cb689caad2a 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/custom/V8HTMLElementCustom.cpp |
+++ b/third_party/WebKit/Source/bindings/core/v8/custom/V8HTMLElementCustom.cpp |
@@ -55,12 +55,14 @@ void V8HTMLElement::constructorCustom( |
Element* element; |
if (definition->constructionStack().isEmpty()) { |
// This is an element being created with 'new' from script |
- element = window->document()->createElement( |
- definition->descriptor().localName(), |
- AtomicString(), |
- exceptionState); |
- if (exceptionState.throwIfNeeded()) |
- return; |
+ // TODO(kojii): We can't call HTMLElementFactory or |
dominicc (has gone to gerrit)
2016/06/10 06:13:28
Could we tighten this up a bit? Like
TODO(kojii):
kojii
2016/06/10 19:01:45
Done.
|
+ // Document::createElement because they will invoke custom element |
+ // constructors. HTMLElement is enough for now, but type extesion |
dominicc (has gone to gerrit)
2016/06/10 06:13:28
Spelling: Extension
kojii
2016/06/10 19:01:45
Done.
|
+ // will require to hook HTMLElementFactory. |
+ element = HTMLElement::create( |
+ QualifiedName(nullAtom, definition->descriptor().localName(), HTMLNames::xhtmlNamespaceURI), |
+ *window->document()); |
+ element->setCustomElementState(CustomElementState::Undefined); |
} else { |
element = definition->constructionStack().last(); |
if (element) { |
@@ -91,11 +93,6 @@ void V8HTMLElement::constructorCustom( |
scriptState->context(), |
definition->prototype())); |
- // TODO(dominicc): These elements should be 'undefined', not |
- // 'uncustomized', on creation. Investigate why some elements are |
- // running around uncustomized. |
- if (element->getCustomElementState() == CustomElementState::Uncustomized) |
- element->setCustomElementState(CustomElementState::Undefined); |
// TODO(dominicc): Move this to the exactly correct place when |
// https://github.com/whatwg/html/issues/1297 is closed. |
element->setCustomElementState(CustomElementState::Custom); |