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

Unified Diff: third_party/WebKit/Source/core/dom/custom/CustomElementTestHelpers.h

Issue 2442223003: Make createElement tag name case handling consistent for custom elements (Closed)
Patch Set: Created 4 years, 2 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: third_party/WebKit/Source/core/dom/custom/CustomElementTestHelpers.h
diff --git a/third_party/WebKit/Source/core/dom/custom/CustomElementTestHelpers.h b/third_party/WebKit/Source/core/dom/custom/CustomElementTestHelpers.h
index da78263a801fad5e631409d55a1922574f4366bb..813413d6f3c6eaec2c84ba4e1bafba013d3e57a1 100644
--- a/third_party/WebKit/Source/core/dom/custom/CustomElementTestHelpers.h
+++ b/third_party/WebKit/Source/core/dom/custom/CustomElementTestHelpers.h
@@ -8,7 +8,11 @@
#include "bindings/core/v8/ExceptionState.h"
#include "core/dom/Document.h"
#include "core/dom/Element.h"
+#include "core/dom/ElementDefinitionOptions.h"
#include "core/dom/QualifiedName.h"
+#include "core/dom/custom/CEReactionsScope.h"
+#include "core/dom/custom/CustomElementDefinition.h"
+#include "core/dom/custom/CustomElementDefinitionBuilder.h"
#include "core/html/HTMLDocument.h"
#include "platform/heap/Handle.h"
#include "wtf/text/AtomicString.h"
@@ -18,6 +22,81 @@
namespace blink {
+class CustomElementDescriptor;
+
+class TestCustomElementDefinitionBuilder
+ : public CustomElementDefinitionBuilder {
+ STACK_ALLOCATED();
+ WTF_MAKE_NONCOPYABLE(TestCustomElementDefinitionBuilder);
+
+ public:
+ TestCustomElementDefinitionBuilder() {}
+ bool checkConstructorIntrinsics() override { return true; }
+ bool checkConstructorNotRegistered() override { return true; }
+ bool checkPrototype() override { return true; }
+ bool rememberOriginalProperties() override { return true; }
+ CustomElementDefinition* build(const CustomElementDescriptor&) override;
+};
+
+class TestCustomElementDefinition : public CustomElementDefinition {
+ WTF_MAKE_NONCOPYABLE(TestCustomElementDefinition);
+
+ public:
+ TestCustomElementDefinition(const CustomElementDescriptor& descriptor)
+ : CustomElementDefinition(descriptor) {}
+
+ TestCustomElementDefinition(const CustomElementDescriptor& descriptor,
+ const HashSet<AtomicString>& observedAttributes)
+ : CustomElementDefinition(descriptor, observedAttributes) {}
+
+ ~TestCustomElementDefinition() override = default;
+
+ ScriptValue getConstructorForScript() override { return ScriptValue(); }
+
+ bool runConstructor(Element* element) override {
+ if (constructionStack().isEmpty() || constructionStack().last() != element)
+ return false;
+ constructionStack().last().clear();
+ return true;
+ }
+
+ HTMLElement* createElementSync(Document& document,
+ const QualifiedName&) override {
+ return createElementForConstructor(document);
+ }
+
+ HTMLElement* createElementSync(Document& document,
+ const QualifiedName&,
+ ExceptionState&) override {
+ return createElementForConstructor(document);
+ }
+
+ bool hasConnectedCallback() const override { return false; }
+ bool hasDisconnectedCallback() const override { return false; }
+ bool hasAdoptedCallback() const override { return false; }
+
+ void runConnectedCallback(Element*) override {
+ NOTREACHED() << "definition does not have connected callback";
+ }
+
+ void runDisconnectedCallback(Element*) override {
+ NOTREACHED() << "definition does not have disconnected callback";
+ }
+
+ void runAdoptedCallback(Element*,
+ Document* oldOwner,
+ Document* newOwner) override {
+ NOTREACHED() << "definition does not have adopted callback";
+ }
+
+ void runAttributeChangedCallback(Element*,
+ const QualifiedName&,
+ const AtomicString& oldValue,
+ const AtomicString& newValue) override {
+ NOTREACHED() << "definition does not have attribute changed callback";
+ }
+};
+
class CreateElement {
STACK_ALLOCATED()
public:

Powered by Google App Engine
This is Rietveld 408576698