| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| (async function() { |
| TestRunner.addResult(`Tests overlay layers are not present in the layer tree`); |
| |
| await TestRunner.loadModule('layers_test_runner'); |
| await TestRunner.loadHTML(` |
| <style> |
| .layer { |
| transform: translateZ(10px); |
| opacity: 0.8; |
| background: blue; |
| } |
| </style> |
| <div id="a" style="width: 200px; height: 200px" class="layer"> |
| CONTENT |
| </div> |
| `); |
| await TestRunner.evaluateInPagePromise(` |
| function updateGeometry() |
| { |
| document.getElementById("a").style.width = "300px"; |
| } |
| `); |
| |
| await LayersTestRunner.requestLayers(); |
| |
| var layersBeforeHighlight = []; |
| LayersTestRunner.layerTreeModel().layerTree().forEachLayer(function(layer) { |
| layersBeforeHighlight.push(layer.id()); |
| }); |
| TestRunner.OverlayAgent.highlightRect(0, 0, 200, 200, {r: 255, g: 0, b: 0}); |
| |
| await LayersTestRunner.evaluateAndWaitForTreeChange('updateGeometry()'); |
| |
| var layersAfterHighlight = []; |
| LayersTestRunner.layerTreeModel().layerTree().forEachLayer(function(layer) { |
| layersAfterHighlight.push(layer.id()); |
| }); |
| |
| layersBeforeHighlight.sort(); |
| layersAfterHighlight.sort(); |
| |
| function inOverlay() { |
| return document; |
| } |
| function isCSSPropertyUseCountedInOverlay(overlay_document) { |
| assert_false(internals.isCSSPropertyUseCounted(overlay_document, "height")); |
| assert_false(internals.isCSSPropertyUseCounted(overlay_document, "width")); |
| assert_true(internals.isCSSPropertyUseCounted(document, "height")); |
| assert_true(internals.isCSSPropertyUseCounted(document, "width")); |
| } |
| TestRunner.evaluateFunctionInOverlay(inOverlay, isCSSPropertyUseCountedInOverlay); |
| TestRunner.assertEquals(JSON.stringify(layersBeforeHighlight), JSON.stringify(layersAfterHighlight)); |
| TestRunner.addResult('DONE'); |
| TestRunner.completeTest(); |
| })(); |