Files
react-native-devtools-frontend/front_end/elements/StylePropertyHighlighter.js
T
Blink Reformat 4c46d0969f The Great Blink mv for source files, part 2.
Move and rename files.

NOAUTOREVERT=true
NOPRESUBMIT=true
NOTREECHECKS=true
Bug: 768828
TBR=darin@chromium.org
NOTRY=true

Change-Id: I66d3b155808bc5bdbf237b80208e1e552bcf7f28
Reviewed-on: https://chromium-review.googlesource.com/1001153
Reviewed-by: Blink Reformat <blink-reformat@chromium.org>
Commit-Queue: Blink Reformat <blink-reformat@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#549061}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0aee4434a4dba42a42abaea9bfbc0cd196a63bc1
2018-04-07 15:32:37 +00:00

52 lines
1.7 KiB
JavaScript

// Copyright (c) 2015 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.
/**
* @unrestricted
*/
Elements.StylePropertyHighlighter = class {
/**
* @param {!Elements.StylesSidebarPane} ssp
* @param {!SDK.CSSProperty} cssProperty
*/
constructor(ssp, cssProperty) {
this._styleSidebarPane = ssp;
this._cssProperty = cssProperty;
}
perform() {
// Expand all shorthands.
for (const section of this._styleSidebarPane.allSections()) {
for (let treeElement = section.propertiesTreeOutline.firstChild(); treeElement;
treeElement = treeElement.nextSibling)
treeElement.onpopulate();
}
let highlightTreeElement = null;
for (const section of this._styleSidebarPane.allSections()) {
let treeElement = section.propertiesTreeOutline.firstChild();
while (treeElement && !highlightTreeElement) {
if (treeElement.property === this._cssProperty) {
highlightTreeElement = treeElement;
break;
}
treeElement = treeElement.traverseNextTreeElement(false, null, true);
}
if (highlightTreeElement)
break;
}
if (!highlightTreeElement)
return;
highlightTreeElement.parent.expand();
highlightTreeElement.listItemElement.scrollIntoViewIfNeeded();
highlightTreeElement.listItemElement.animate(
[
{offset: 0, backgroundColor: 'rgba(255, 255, 0, 0.2)'},
{offset: 0.1, backgroundColor: 'rgba(255, 255, 0, 0.7)'}, {offset: 1, backgroundColor: 'transparent'}
],
{duration: 2000, easing: 'cubic-bezier(0, 0, 0.2, 1)'});
}
};