blob: fda84ca32c1b829cbf8c17c56c25a80f4a4c0ac8 [file] [log] [blame]
// 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 that the inspected page does not crash after inspecting element with CSSOM added rules. Bug 373508 crbug.com/373508\n`);
await TestRunner.loadModule('elements_test_runner');
await TestRunner.showPanel('elements');
await TestRunner.loadHTML(`
<style>
div {
border: 1px solid black;
background-color: white;
padding: 20px;
}
</style>
<div id="box">Inspecting this element crashes DevTools</div>
`);
await TestRunner.evaluateInPagePromise(`
var lastSheet = document.styleSheets[document.styleSheets.length - 1];
var mediaIndex = lastSheet.insertRule('@media all { }', lastSheet.cssRules.length);
var mediaRule = lastSheet.cssRules[mediaIndex];
mediaRule.insertRule('#box { background: red; color: white; }', mediaRule.cssRules.length);
`);
ElementsTestRunner.selectNodeAndWaitForStyles('box', step1);
async function step1() {
await ElementsTestRunner.dumpSelectedElementStyles(true, false, true, false);
TestRunner.completeTest();
}
})();