3 <script src="../../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../../http/tests/inspector/debugger-test.js"></script>
9 "var proto = Object.create(HTMLElement.prototype);",
10 "proto.createdCallback = function() { output('Invoked createdCallback.'); };",
11 "proto.attachedCallback = function() { output('Invoked attachedCallback.'); };",
12 "proto.detachedCallback = function() { output('Invoked detachedCallback.'); };",
13 "proto.attributeChangedCallback = function() { output('Invoked attributeChangedCallback.'); };",
14 "CustomElement = document.registerElement('x-foo', {prototype: proto});",
17 var lifecycleCallbacks = [
18 "created = new CustomElement();",
19 "created.setAttribute('x', '1');",
20 "document.body.appendChild(created);",
24 InspectorTest.startDebuggerTest(step1);
27 InspectorTest.evaluateInConsole(setup, function() {
28 InspectorTest.addResult("Custom element registered.");
29 InspectorTest.evaluateInConsoleAndDump("new CustomElement() instanceof CustomElement", step2);
34 InspectorTest.evaluateInConsole('debugger;');
35 InspectorTest.waitUntilPaused(step3);
39 InspectorTest.evaluateInConsoleAndDump("new CustomElement() instanceof CustomElement", step4);
43 InspectorTest.evaluateInConsole(lifecycleCallbacks, InspectorTest.completeDebuggerTest);
50 <body onload="runTest()">
52 Tests that custom element lifecycle events fire while debugger is paused.