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

Side by Side Diff: third_party/WebKit/Source/core/dom/custom/CustomElementsRegistryTest.cpp

Issue 2170383002: CustomElements: adopt node (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge conflict resolution Created 4 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/dom/custom/CustomElementsRegistry.h" 5 #include "core/dom/custom/CustomElementsRegistry.h"
6 6
7 #include "bindings/core/v8/ExceptionState.h" 7 #include "bindings/core/v8/ExceptionState.h"
8 #include "bindings/core/v8/ScriptValue.h" 8 #include "bindings/core/v8/ScriptValue.h"
9 #include "core/dom/Document.h" 9 #include "core/dom/Document.h"
10 #include "core/dom/Element.h" 10 #include "core/dom/Element.h"
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 visitor->trace(m_element); 283 visitor->trace(m_element);
284 } 284 }
285 285
286 // TODO(dominicc): Make this class collect a vector of what's 286 // TODO(dominicc): Make this class collect a vector of what's
287 // upgraded; it will be useful in more tests. 287 // upgraded; it will be useful in more tests.
288 Member<Element> m_element; 288 Member<Element> m_element;
289 enum MethodType { 289 enum MethodType {
290 Constructor, 290 Constructor,
291 ConnectedCallback, 291 ConnectedCallback,
292 DisconnectedCallback, 292 DisconnectedCallback,
293 AdoptedCallback,
293 AttributeChangedCallback, 294 AttributeChangedCallback,
294 }; 295 };
295 Vector<MethodType> m_logs; 296 Vector<MethodType> m_logs;
296 297
297 struct AttributeChanged { 298 struct AttributeChanged {
298 QualifiedName name; 299 QualifiedName name;
299 AtomicString oldValue; 300 AtomicString oldValue;
300 AtomicString newValue; 301 AtomicString newValue;
301 }; 302 };
302 Vector<AttributeChanged> m_attributeChanged; 303 Vector<AttributeChanged> m_attributeChanged;
303 304
304 void clear() 305 void clear()
305 { 306 {
306 m_logs.clear(); 307 m_logs.clear();
307 m_attributeChanged.clear(); 308 m_attributeChanged.clear();
308 } 309 }
309 310
310 bool runConstructor(Element* element) override 311 bool runConstructor(Element* element) override
311 { 312 {
312 m_logs.append(Constructor); 313 m_logs.append(Constructor);
313 m_element = element; 314 m_element = element;
314 return TestCustomElementDefinition::runConstructor(element); 315 return TestCustomElementDefinition::runConstructor(element);
315 } 316 }
316 317
317 bool hasConnectedCallback() const override { return true; } 318 bool hasConnectedCallback() const override { return true; }
318 bool hasDisconnectedCallback() const override { return true; } 319 bool hasDisconnectedCallback() const override { return true; }
320 bool hasAdoptedCallback() const override {return true;}
319 321
320 void runConnectedCallback(Element* element) override 322 void runConnectedCallback(Element* element) override
321 { 323 {
322 m_logs.append(ConnectedCallback); 324 m_logs.append(ConnectedCallback);
323 EXPECT_EQ(element, m_element); 325 EXPECT_EQ(element, m_element);
324 } 326 }
325 327
326 void runDisconnectedCallback(Element* element) override 328 void runDisconnectedCallback(Element* element) override
327 { 329 {
328 m_logs.append(DisconnectedCallback); 330 m_logs.append(DisconnectedCallback);
329 EXPECT_EQ(element, m_element); 331 EXPECT_EQ(element, m_element);
330 } 332 }
331 333
334 void runAdoptedCallback(Element* element) override
335 {
336 m_logs.append(AdoptedCallback);
337 EXPECT_EQ(element, m_element);
338 }
339
332 void runAttributeChangedCallback(Element* element, const QualifiedName& name , const AtomicString& oldValue, const AtomicString& newValue) override 340 void runAttributeChangedCallback(Element* element, const QualifiedName& name , const AtomicString& oldValue, const AtomicString& newValue) override
333 { 341 {
334 m_logs.append(AttributeChangedCallback); 342 m_logs.append(AttributeChangedCallback);
335 EXPECT_EQ(element, m_element); 343 EXPECT_EQ(element, m_element);
336 m_attributeChanged.append(AttributeChanged { name, oldValue, newValue }) ; 344 m_attributeChanged.append(AttributeChanged { name, oldValue, newValue }) ;
337 } 345 }
338 }; 346 };
339 347
340 class LogUpgradeBuilder final : public CustomElementDefinitionBuilder { 348 class LogUpgradeBuilder final : public CustomElementDefinitionBuilder {
341 STACK_ALLOCATED(); 349 STACK_ALLOCATED();
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 << "remove() should invoke disconnectedCallback"; 474 << "remove() should invoke disconnectedCallback";
467 475
468 EXPECT_EQ(1u, definition->m_logs.size()) 476 EXPECT_EQ(1u, definition->m_logs.size())
469 << "remove() should not invoke other callbacks"; 477 << "remove() should not invoke other callbacks";
470 } 478 }
471 479
472 // TODO(dominicc): Add tests which adjust the "is" attribute when type 480 // TODO(dominicc): Add tests which adjust the "is" attribute when type
473 // extensions are implemented. 481 // extensions are implemented.
474 482
475 } // namespace blink 483 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698