Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 (async function(testRunner) { | |
| 2 let {page, session, dp} = await testRunner.startURL('../resources/get-layers.h tml', ''); | |
| 3 | |
| 4 function layerMutations(oldLayers, newLayers) { | |
| 5 var oldLayerIds = oldLayers.map(layer => layer.layerId); | |
| 6 var newLayerIds = newLayers.map(layer => layer.layerId); | |
| 7 return { | |
| 8 additions: newLayers.filter(layer => oldLayerIds.indexOf(layer.layerId) == = -1), | |
| 9 removals: oldLayers.filter(layer => newLayerIds.indexOf(layer.layerId) === -1) | |
| 10 }; | |
| 11 } | |
| 12 | |
| 13 function attributesFromArray(attributes) { | |
|
caseq
2017/06/28 17:19:53
Let's drop it.
dgozman
2017/06/28 19:58:21
Done.
| |
| 14 var map = new Map(); | |
| 15 for (var i = 0, count = attributes.length; i < count; i += 2) | |
| 16 map.set(attributes[i], attributes[i + 1]); | |
| 17 return map; | |
| 18 } | |
| 19 | |
| 20 function dumpLayers(layers) { | |
| 21 function replacer(key, value) { | |
| 22 if (['layerId', 'parentLayerId', 'backendNodeId', 'paintCount'].indexOf(ke y) >= 0) | |
| 23 return typeof(value); | |
| 24 // some values differ based on port, but the ones we most | |
| 25 // care about will always be less or equal 100. | |
| 26 if ((key === 'width' || key === 'height') && value > 100) | |
| 27 return typeof(value); | |
| 28 return value; | |
| 29 } | |
| 30 | |
| 31 // Keep 'internal' layers out for better stability. | |
| 32 layers = layers.filter(layer => !!layer.backendNodeId); | |
| 33 testRunner.log('\n' + JSON.stringify(layers, replacer, ' ')); | |
| 34 } | |
| 35 | |
| 36 await dp.DOM.getDocument(); | |
| 37 dp.LayerTree.enable(); | |
| 38 var initialLayers = (await dp.LayerTree.onceLayerTreeDidChange()).params.layer s; | |
| 39 | |
| 40 dp.Runtime.evaluate({expression: 'addCompositedLayer()'}); | |
| 41 var modifiedLayers = (await dp.LayerTree.onceLayerTreeDidChange()).params.laye rs; | |
| 42 | |
| 43 var mutations = layerMutations(initialLayers, modifiedLayers); | |
| 44 var newLayer = mutations.additions[0]; | |
| 45 | |
| 46 var response = await dp.DOM.pushNodesByBackendIdsToFrontend({backendNodeIds: [ newLayer.backendNodeId]}); | |
| 47 response = await dp.DOM.getAttributes({nodeId: response.result.nodeIds[0]}); | |
|
caseq
2017/06/28 17:19:53
Let's not reuse vairables. This could be
var node
dgozman
2017/06/28 19:58:21
Done.
| |
| 48 var attributes = attributesFromArray(response.result.attributes); | |
|
caseq
2017/06/28 17:19:53
var attributesMap = new Map(response.result.attrib
dgozman
2017/06/28 19:58:21
Done.
| |
| 49 if (attributes.get('id') !== 'last-element') | |
| 50 testRunner.log('FAIL: Did not obtain the expected element for the last inser ted layer.'); | |
| 51 | |
| 52 dumpLayers(initialLayers); | |
| 53 dumpLayers(modifiedLayers); | |
| 54 testRunner.log('DONE!'); | |
| 55 testRunner.completeTest(); | |
| 56 }) | |
| OLD | NEW |