OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 26 matching lines...) Expand all Loading... |
37 #include "bindings/core/v8/ExceptionState.h" | 37 #include "bindings/core/v8/ExceptionState.h" |
38 #include "bindings/core/v8/V8Binding.h" | 38 #include "bindings/core/v8/V8Binding.h" |
39 #include "bindings/core/v8/V8Document.h" | 39 #include "bindings/core/v8/V8Document.h" |
40 #include "bindings/core/v8/V8HiddenValue.h" | 40 #include "bindings/core/v8/V8HiddenValue.h" |
41 #include "bindings/core/v8/V8PerContextData.h" | 41 #include "bindings/core/v8/V8PerContextData.h" |
42 #include "core/HTMLNames.h" | 42 #include "core/HTMLNames.h" |
43 #include "core/SVGNames.h" | 43 #include "core/SVGNames.h" |
44 #include "core/V8HTMLElementWrapperFactory.h" // FIXME: should be bindings/core/
v8 | 44 #include "core/V8HTMLElementWrapperFactory.h" // FIXME: should be bindings/core/
v8 |
45 #include "core/V8SVGElementWrapperFactory.h" // FIXME: should be bindings/core/v
8 | 45 #include "core/V8SVGElementWrapperFactory.h" // FIXME: should be bindings/core/v
8 |
46 #include "core/dom/Document.h" | 46 #include "core/dom/Document.h" |
47 #include "core/dom/custom/CustomElementCallbackDispatcher.h" | |
48 #include "core/dom/custom/CustomElementDefinition.h" | 47 #include "core/dom/custom/CustomElementDefinition.h" |
49 #include "core/dom/custom/CustomElementDescriptor.h" | 48 #include "core/dom/custom/CustomElementDescriptor.h" |
50 #include "core/dom/custom/CustomElementException.h" | 49 #include "core/dom/custom/CustomElementException.h" |
| 50 #include "core/dom/custom/CustomElementProcessingStack.h" |
51 #include "wtf/Assertions.h" | 51 #include "wtf/Assertions.h" |
52 | 52 |
53 namespace blink { | 53 namespace blink { |
54 | 54 |
55 static void constructCustomElement(const v8::FunctionCallbackInfo<v8::Value>&); | 55 static void constructCustomElement(const v8::FunctionCallbackInfo<v8::Value>&); |
56 | 56 |
57 CustomElementConstructorBuilder::CustomElementConstructorBuilder(ScriptState* sc
riptState, const Dictionary* options) | 57 CustomElementConstructorBuilder::CustomElementConstructorBuilder(ScriptState* sc
riptState, const Dictionary* options) |
58 : m_scriptState(scriptState) | 58 : m_scriptState(scriptState) |
59 , m_options(options) | 59 , m_options(options) |
60 , m_wrapperType(0) | 60 , m_wrapperType(0) |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 return; | 286 return; |
287 } | 287 } |
288 | 288 |
289 Document* document = V8Document::toNative(V8HiddenValue::getHiddenValue(info
.GetIsolate(), info.Callee(), V8HiddenValue::customElementDocument(isolate)).As<
v8::Object>()); | 289 Document* document = V8Document::toNative(V8HiddenValue::getHiddenValue(info
.GetIsolate(), info.Callee(), V8HiddenValue::customElementDocument(isolate)).As<
v8::Object>()); |
290 TOSTRING_VOID(V8StringResource<>, namespaceURI, V8HiddenValue::getHiddenValu
e(isolate, info.Callee(), V8HiddenValue::customElementNamespaceURI(isolate))); | 290 TOSTRING_VOID(V8StringResource<>, namespaceURI, V8HiddenValue::getHiddenValu
e(isolate, info.Callee(), V8HiddenValue::customElementNamespaceURI(isolate))); |
291 TOSTRING_VOID(V8StringResource<>, tagName, V8HiddenValue::getHiddenValue(iso
late, info.Callee(), V8HiddenValue::customElementTagName(isolate))); | 291 TOSTRING_VOID(V8StringResource<>, tagName, V8HiddenValue::getHiddenValue(iso
late, info.Callee(), V8HiddenValue::customElementTagName(isolate))); |
292 v8::Handle<v8::Value> maybeType = V8HiddenValue::getHiddenValue(info.GetIsol
ate(), info.Callee(), V8HiddenValue::customElementType(isolate)); | 292 v8::Handle<v8::Value> maybeType = V8HiddenValue::getHiddenValue(info.GetIsol
ate(), info.Callee(), V8HiddenValue::customElementType(isolate)); |
293 TOSTRING_VOID(V8StringResource<>, type, maybeType); | 293 TOSTRING_VOID(V8StringResource<>, type, maybeType); |
294 | 294 |
295 ExceptionState exceptionState(ExceptionState::ConstructionContext, "CustomEl
ement", info.Holder(), info.GetIsolate()); | 295 ExceptionState exceptionState(ExceptionState::ConstructionContext, "CustomEl
ement", info.Holder(), info.GetIsolate()); |
296 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; | 296 CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; |
297 RefPtrWillBeRawPtr<Element> element = document->createElementNS(namespaceURI
, tagName, maybeType->IsNull() ? nullAtom : type, exceptionState); | 297 RefPtrWillBeRawPtr<Element> element = document->createElementNS(namespaceURI
, tagName, maybeType->IsNull() ? nullAtom : type, exceptionState); |
298 if (exceptionState.throwIfNeeded()) | 298 if (exceptionState.throwIfNeeded()) |
299 return; | 299 return; |
300 v8SetReturnValueFast(info, element.release(), document); | 300 v8SetReturnValueFast(info, element.release(), document); |
301 } | 301 } |
302 | 302 |
303 } // namespace blink | 303 } // namespace blink |
OLD | NEW |