Index: third_party/WebKit/Source/core/dom/custom/CustomElementsRegistry.cpp |
diff --git a/third_party/WebKit/Source/core/dom/custom/CustomElementsRegistry.cpp b/third_party/WebKit/Source/core/dom/custom/CustomElementsRegistry.cpp |
index 618fa6158733ce98c0e8a201fb189d03966b939a..eec302d45cc39b454205888f5bae2a3e4358263c 100644 |
--- a/third_party/WebKit/Source/core/dom/custom/CustomElementsRegistry.cpp |
+++ b/third_party/WebKit/Source/core/dom/custom/CustomElementsRegistry.cpp |
@@ -84,7 +84,8 @@ void CustomElementsRegistry::define( |
// TODO(dominicc): Implement steps: |
// 5: localName |
// 6-7: extends processing |
- // 8-9: observed attributes caching |
+ |
+ // 8-9: observed attributes caching is done below, together with callbacks. |
// TODO(dominicc): Add a test where the prototype getter destroys |
// the context. |
@@ -92,11 +93,14 @@ void CustomElementsRegistry::define( |
if (!builder.checkPrototype()) |
return; |
- // TODO(dominicc): Implement steps: |
+ // 8-9: observed attributes caching |
// 12-13: connected callback |
// 14-15: disconnected callback |
// 16-17: attribute changed callback |
+ if (!builder.cacheProperties()) |
+ return; |
+ |
// TODO(dominicc): Add a test where retrieving the prototype |
// recursively calls define with the same name. |