| OLD | NEW |
| 1 (async function(testRunner) { | 1 (async function(testRunner) { |
| 2 testRunner.log('This test checks that if style sheet is removed between two in
spector launches it is not reported to frontend.'); | 2 testRunner.log('This test checks that if style sheet is removed between two in
spector launches it is not reported to frontend.'); |
| 3 var page = await testRunner.createPage(); | 3 var page = await testRunner.createPage(); |
| 4 var session = await page.createSession(); | 4 var session = await page.createSession(); |
| 5 await session.evaluate(` | 5 await session.evaluate(` |
| 6 function createStyleSheet(textContent) | 6 function createStyleSheet(textContent) |
| 7 { | 7 { |
| 8 var styleElement = document.createElement('style'); | 8 var styleElement = document.createElement('style'); |
| 9 styleElement.textContent = textContent; | 9 styleElement.textContent = textContent; |
| 10 document.head.appendChild(styleElement); | 10 document.head.appendChild(styleElement); |
| 11 return styleElement; | 11 return styleElement; |
| 12 } | 12 } |
| 13 window.styleElement1 = createStyleSheet('body.class1 { color: red; } \\n /*#
sourceURL=foo.css */'); | 13 window.styleElement1 = createStyleSheet('body.class1 { color: red; } \\n /*#
sourceURL=foo.css */'); |
| 14 window.styleElement2 = createStyleSheet('body.class2 { color: green; } \\n /
*# sourceURL=bar.css */'); | 14 window.styleElement2 = createStyleSheet('body.class2 { color: green; } \\n /
*# sourceURL=bar.css */'); |
| 15 `); | 15 `); |
| 16 testRunner.log('\nRunning test'); | 16 testRunner.log('\nRunning test'); |
| 17 testRunner.log('Opening front-end for the first time'); | 17 testRunner.log('Opening front-end for the first time'); |
| 18 await runTest(session); | 18 await runTest(session); |
| 19 testRunner.log('Closing inspector.'); | 19 testRunner.log('Closing inspector.'); |
| 20 testRunner.log('\nRemoving style sheet.\n'); | 20 testRunner.log('\nRemoving style sheet.\n'); |
| 21 session.evaluate('setTimeout(() => document.head.removeChild(styleElement1), 0
)'); | 21 session.evaluate('setTimeout(() => { document.head.removeChild(styleElement1);
document.body.offsetWidth; }, 0)'); |
| 22 await session.disconnect(); | 22 await session.disconnect(); |
| 23 testRunner.log('Reopening inspector.'); | 23 testRunner.log('Reopening inspector.'); |
| 24 session = await page.createSession(); | 24 session = await page.createSession(); |
| 25 testRunner.log('Running test'); | 25 testRunner.log('Running test'); |
| 26 testRunner.log('Opening front-end second time'); | 26 testRunner.log('Opening front-end second time'); |
| 27 await runTest(session); | 27 await runTest(session); |
| 28 testRunner.completeTest(); | 28 testRunner.completeTest(); |
| 29 async function runTest(session) { | 29 async function runTest(session) { |
| 30 var headersAdded = []; | 30 var headersAdded = []; |
| 31 session.protocol.CSS.onStyleSheetAdded(response => headersAdded.push(respons
e.params.header)); | 31 session.protocol.CSS.onStyleSheetAdded(response => headersAdded.push(respons
e.params.header)); |
| 32 var headersRemoved = []; | 32 var headersRemoved = []; |
| 33 session.protocol.CSS.onStyleSheetRemoved(response => headersRemoved.push(res
ponse.params.styleSheetId)); | 33 session.protocol.CSS.onStyleSheetRemoved(response => headersRemoved.push(res
ponse.params.styleSheetId)); |
| 34 testRunner.log('Enabling CSS domain.'); | 34 testRunner.log('Enabling CSS domain.'); |
| 35 session.protocol.DOM.enable(); | 35 session.protocol.DOM.enable(); |
| 36 await session.protocol.CSS.enable(); | 36 await session.protocol.CSS.enable(); |
| 37 var headers = {}; | 37 var headers = {}; |
| 38 headersAdded.sort((a, b) => a.styleSheetId - b.styleSheetId); | 38 headersAdded.sort((a, b) => a.styleSheetId - b.styleSheetId); |
| 39 for (var header of headersAdded) { | 39 for (var header of headersAdded) { |
| 40 headers[header.styleSheetId] = header.sourceURL; | 40 headers[header.styleSheetId] = header.sourceURL; |
| 41 testRunner.log(' - style sheet added: ' + header.sourceURL); | 41 testRunner.log(' - style sheet added: ' + header.sourceURL); |
| 42 } | 42 } |
| 43 headersRemoved.sort(); | 43 headersRemoved.sort(); |
| 44 for (var styleSheetId of headersRemoved) | 44 for (var styleSheetId of headersRemoved) |
| 45 testRunner.log(' - style sheet removed: ' + headers[styleSheetId]); | 45 testRunner.log(' - style sheet removed: ' + headers[styleSheetId]); |
| 46 } | 46 } |
| 47 }) | 47 }) |
| OLD | NEW |