| Index: third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getEventListeners.js
|
| diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getEventListeners.js b/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getEventListeners.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..77d57effa1527780dcd57dbaf062da37692725ab
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getEventListeners.js
|
| @@ -0,0 +1,53 @@
|
| +(async function(testRunner) {
|
| + var {page, session, dp} = await testRunner.startHTML(`
|
| + <template id='shadow-template' onclick='clickTemplate'>
|
| + <style>
|
| + :host {
|
| + color: red;
|
| + }
|
| + </style>
|
| + <div></div><h1>Hi from a template!</h1></div>
|
| + </template>
|
| + </head>
|
| + <body class='body-class' onload='runTest()'>
|
| + <div id='A'> A
|
| + <div id='B'> B
|
| + <div id='C'> C
|
| + </div>
|
| + </div>
|
| + </div>
|
| +
|
| + <iframe src='../dom/resources/iframe-with-listener.html' width='400' height='200'></iframe>
|
| + <div id='shadow-host'></div>
|
| + </body>
|
| + `, '');
|
| +
|
| + await session.evaluate(() => {
|
| + var host = document.querySelector('#shadow-host').createShadowRoot();
|
| + var template = document.querySelector('#shadow-template');
|
| + host.appendChild(template.content);
|
| + template.remove();
|
| + document.getElementById('A').addEventListener('listenerA', () => {});
|
| + document.getElementById('B').addEventListener('listenerB', () => {});
|
| + document.getElementById('C').addEventListener('listenerC', () => {});
|
| + document.addEventListener('documentListener', () => {});
|
| + });
|
| +
|
| + dp.DOM.enable();
|
| + dp.Runtime.enable();
|
| + var result = await dp.Runtime.evaluate({expression: 'document'});
|
| + var objectId = result.result.result.objectId;
|
| +
|
| + await dumpListeners(objectId);
|
| + await dumpListeners(objectId, 1);
|
| + await dumpListeners(objectId, 4);
|
| + await dumpListeners(objectId, -1);
|
| + await dumpListeners(objectId, -1, true);
|
| + testRunner.completeTest();
|
| +
|
| + async function dumpListeners(objectId, depth, pierce) {
|
| + testRunner.log(`Fetching listeners for depth = ${depth} and pierce = ${pierce}`);
|
| + var {result} = await dp.DOMDebugger.getEventListeners({objectId, depth, pierce});
|
| + testRunner.logMessage(result);
|
| + }
|
| +})
|
|
|