Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(308)

Unified Diff: Source/bindings/dart/DartCustomElementConstructorBuilder.h

Issue 24294002: Dartium changes for custom element lifecycle events. (Closed) Base URL: svn://svn.chromium.org/multivm/trunk/webkit
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/bindings/dart/DartCustomElementConstructorBuilder.h
diff --git a/Source/bindings/v8/CustomElementConstructorBuilder.h b/Source/bindings/dart/DartCustomElementConstructorBuilder.h
similarity index 59%
copy from Source/bindings/v8/CustomElementConstructorBuilder.h
copy to Source/bindings/dart/DartCustomElementConstructorBuilder.h
index 84e46bb568a56a6a6f8a54d0db1bdfb48638e642..ba03b5f444d98afb8e37bbe96b97b9c202691c6b 100644
--- a/Source/bindings/v8/CustomElementConstructorBuilder.h
+++ b/Source/bindings/dart/DartCustomElementConstructorBuilder.h
@@ -28,71 +28,61 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef CustomElementConstructorBuilder_h
-#define CustomElementConstructorBuilder_h
+#ifndef DartCustomElementConstructorBuilder_h
+#define DartCustomElementConstructorBuilder_h
-#include "bindings/v8/ScriptValue.h"
-#include "bindings/v8/V8CustomElementLifecycleCallbacks.h"
-#include "core/dom/CustomElementLifecycleCallbacks.h"
-#include "core/dom/QualifiedName.h"
-#include "wtf/Noncopyable.h"
-#include "wtf/PassRefPtr.h"
-#include "wtf/RefPtr.h"
-#include "wtf/text/AtomicString.h"
+#include "bindings/v8/CustomElementConstructorBuilder.h"
+
+#include <dart_api.h>
#include <v8.h>
namespace WebCore {
class CustomElementDefinition;
+class DartCustomElementLifecycleCallbacks;
class Dictionary;
class Document;
-class Element;
class ExceptionState;
class QualifiedName;
class ScriptState;
-class V8PerContextData;
-class WrapperTypeInfo;
+
// Handles the scripting-specific parts of the Custom Elements element
// registration algorithm and constructor generation algorithm. It is
// used in the implementation of those algorithms in
// Document::registerElement.
-class CustomElementConstructorBuilder {
- WTF_MAKE_NONCOPYABLE(CustomElementConstructorBuilder);
+class DartCustomElementConstructorBuilder : public CustomElementConstructorBuilder {
+ WTF_MAKE_NONCOPYABLE(DartCustomElementConstructorBuilder);
public:
- CustomElementConstructorBuilder(ScriptState*, const Dictionary* options);
+ DartCustomElementConstructorBuilder(Dart_Handle type, const AtomicString& extendsTagName, ScriptState*, const Dictionary* options);
+ virtual ~DartCustomElementConstructorBuilder() { }
// The builder accumulates state and may run script at specific
// points. These methods must be called in order. When one fails
// (returns false), the calls must stop.
- bool isFeatureAllowed() const;
- bool validateOptions(const AtomicString& type, ExceptionState&);
- bool findTagName(const AtomicString& customElementType, QualifiedName& tagName);
- PassRefPtr<CustomElementLifecycleCallbacks> createCallbacks();
- bool createConstructor(Document*, CustomElementDefinition*, ExceptionState&);
- bool didRegisterDefinition(CustomElementDefinition*) const;
+ virtual bool isFeatureAllowed() const;
+ virtual bool validateOptions(const AtomicString& type, ExceptionState&);
+ virtual bool findTagName(const AtomicString& customElementType, QualifiedName& tagName);
+ virtual PassRefPtr<CustomElementLifecycleCallbacks> createCallbacks();
+ virtual bool createConstructor(Document*, CustomElementDefinition*, ExceptionState&);
+ virtual bool didRegisterDefinition(CustomElementDefinition*) const;
// This method collects a return value for the bindings. It is
// safe to call this method even if the builder failed; it will
// return an empty value.
- ScriptValue bindingsReturnValue() const;
+ virtual ScriptValue bindingsReturnValue() const;
private:
- static WrapperTypeInfo* findWrapperType(v8::Handle<v8::Value> chain);
- bool hasValidPrototypeChainFor(V8PerContextData*, WrapperTypeInfo*) const;
- bool prototypeIsValid(const AtomicString& type, ExceptionState&) const;
- v8::Handle<v8::Function> retrieveCallback(v8::Isolate*, const char* name);
-
- v8::Handle<v8::Context> m_context;
- const Dictionary* m_options;
- v8::Handle<v8::Object> m_prototype;
- WrapperTypeInfo* m_wrapperType;
+ Dart_Handle m_customType;
+ Dart_Isolate m_isolate;
AtomicString m_namespaceURI;
- v8::Handle<v8::Function> m_constructor;
- RefPtr<V8CustomElementLifecycleCallbacks> m_callbacks;
+ AtomicString m_extendsTagName;
+ AtomicString m_localName;
+ v8::Handle<v8::Context> m_context;
+ RefPtr<DartCustomElementLifecycleCallbacks> m_callbacks;
};
}
-#endif // CustomElementConstructorBuilder_h
+#endif // DartCustomElementConstructorBuilder_h

Powered by Google App Engine
This is Rietveld 408576698