| // Copyright 2017 The Chromium Authors. All |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| /** |
| * @fileoverview using private properties isn't a Closure violation in tests. |
| * @suppress {accessControls} |
| */ |
| |
| ElementsTestRunner.selectReloadAndDump = function(next, node) { |
| ElementsTestRunner.selectNode(node).then(onSelected); |
| let reloaded = false; |
| let selected = false; |
| |
| function onSelected() { |
| TestRunner.reloadPage(onReloaded); |
| TestRunner.addSniffer(Elements.ElementsPanel.prototype, '_lastSelectedNodeSelectedForTest', onReSelected); |
| } |
| |
| function onReloaded() { |
| reloaded = true; |
| maybeDumpSelectedNode(); |
| } |
| |
| function onReSelected() { |
| selected = true; |
| maybeDumpSelectedNode(); |
| } |
| |
| function maybeDumpSelectedNode() { |
| if (!reloaded || !selected) { |
| return; |
| } |
| |
| const selectedElement = ElementsTestRunner.firstElementsTreeOutline().selectedTreeElement; |
| const nodeName = (selectedElement ? selectedElement.node().nodeNameInCorrectCase() : 'null'); |
| TestRunner.addResult('Selected node: \'' + nodeName + '\''); |
| next(); |
| } |
| }; |