Chromium Code Reviews| 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); |