Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/elements/ComputedStyleWidget.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/elements/ComputedStyleWidget.js b/third_party/WebKit/Source/devtools/front_end/elements/ComputedStyleWidget.js |
| index 31a20f8283c4d9bdc4a6ca227adfb1a989dc329e..15e246aa702ba75a438251a7a50ecc906ad3c7da 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/elements/ComputedStyleWidget.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/elements/ComputedStyleWidget.js |
| @@ -30,11 +30,8 @@ |
| /** |
| * @constructor |
| * @extends {WebInspector.ThrottledWidget} |
| - * @param {!WebInspector.StylesSidebarPane} stylesSidebarPane |
| - * @param {!WebInspector.SharedSidebarModel} sharedModel |
| - * @param {function(!WebInspector.CSSProperty)} revealCallback |
| */ |
| -WebInspector.ComputedStyleWidget = function(stylesSidebarPane, sharedModel, revealCallback) |
| +WebInspector.ComputedStyleWidget = function() |
| { |
| WebInspector.ThrottledWidget.call(this); |
| this.element.classList.add("computed-style-sidebar-pane"); |
| @@ -42,8 +39,8 @@ WebInspector.ComputedStyleWidget = function(stylesSidebarPane, sharedModel, reve |
| this.registerRequiredCSS("elements/computedStyleSidebarPane.css"); |
| this._alwaysShowComputedProperties = { "display": true, "height": true, "width": true }; |
| - this._sharedModel = sharedModel; |
| - this._sharedModel.addEventListener(WebInspector.SharedSidebarModel.Events.ComputedStyleChanged, this.update, this); |
| + this._computedStyleModel = new WebInspector.ComputedStyleModel(); |
| + this._computedStyleModel.addEventListener(WebInspector.ComputedStyleModel.Events.ComputedStyleChanged, this.update, this); |
| this._showInheritedComputedStylePropertiesSetting = WebInspector.settings.createSetting("showInheritedComputedStyleProperties", false); |
| this._showInheritedComputedStylePropertiesSetting.addChangeListener(this._showInheritedComputedStyleChanged.bind(this)); |
| @@ -62,9 +59,7 @@ WebInspector.ComputedStyleWidget = function(stylesSidebarPane, sharedModel, reve |
| this._propertiesOutline.element.classList.add("monospace", "computed-properties"); |
| this.element.appendChild(this._propertiesOutline.element); |
| - this._stylesSidebarPane = stylesSidebarPane; |
| this._linkifier = new WebInspector.Linkifier(new WebInspector.Linkifier.DefaultCSSFormatter()); |
| - this._revealCallback = revealCallback; |
| /** |
| * @param {?RegExp} regex |
| @@ -75,17 +70,17 @@ WebInspector.ComputedStyleWidget = function(stylesSidebarPane, sharedModel, reve |
| this._filterRegex = regex; |
| this._updateFilter(regex); |
| } |
| + |
| + var fontsWidget = new WebInspector.PlatformFontsWidget(this._computedStyleModel); |
| + fontsWidget.show(this.element); |
| } |
| /** |
| - * @param {!WebInspector.StylesSidebarPane} stylesSidebarPane |
| - * @param {!WebInspector.SharedSidebarModel} sharedModel |
| - * @param {function(!WebInspector.CSSProperty)} revealCallback |
| * @return {!WebInspector.ElementsSidebarViewWrapperPane} |
| */ |
| -WebInspector.ComputedStyleWidget.createSidebarWrapper = function(stylesSidebarPane, sharedModel, revealCallback) |
| +WebInspector.ComputedStyleWidget.createSidebarWrapper = function() |
| { |
| - var widget = new WebInspector.ComputedStyleWidget(stylesSidebarPane, sharedModel, revealCallback); |
| + var widget = new WebInspector.ComputedStyleWidget(); |
| return new WebInspector.ElementsSidebarViewWrapperPane(WebInspector.UIString("Computed Style"), widget) |
|
lushnikov
2016/07/13 13:33:58
while we're here: semicolon is missing
|
| } |
| @@ -104,14 +99,36 @@ WebInspector.ComputedStyleWidget.prototype = { |
| doUpdate: function() |
| { |
| var promises = [ |
| - this._sharedModel.fetchComputedStyle(), |
| - this._stylesSidebarPane.fetchMatchedCascade() |
| + this._computedStyleModel.fetchComputedStyle(), |
| + this._fetchMatchedCascade() |
| ]; |
| return Promise.all(promises) |
| .spread(this._innerRebuildUpdate.bind(this)); |
| }, |
| /** |
| + * @return {!Promise.<?WebInspector.CSSMatchedStyles>} |
| + */ |
| + _fetchMatchedCascade: function() |
| + { |
| + var node = this._computedStyleModel.node(); |
| + if (!node || !this._computedStyleModel.cssModel()) |
| + return Promise.resolve(/** @type {?WebInspector.CSSMatchedStyles} */(null)); |
| + |
| + return this._computedStyleModel.cssModel().cachedMatchedCascadeForNode(node).then(validateStyles.bind(this)); |
| + |
| + /** |
| + * @param {?WebInspector.CSSMatchedStyles} matchedStyles |
| + * @return {?WebInspector.CSSMatchedStyles} |
| + * @this {WebInspector.ComputedStyleWidget} |
| + */ |
| + function validateStyles(matchedStyles) |
| + { |
| + return matchedStyles && matchedStyles.node() === this._computedStyleModel.node() ? matchedStyles : null; |
| + } |
| + }, |
| + |
| + /** |
| * @param {string} text |
| * @return {!Node} |
| */ |
| @@ -127,14 +144,14 @@ WebInspector.ComputedStyleWidget.prototype = { |
| }, |
| /** |
| - * @param {?WebInspector.SharedSidebarModel.ComputedStyle} nodeStyle |
| + * @param {?WebInspector.ComputedStyleModel.ComputedStyle} nodeStyle |
| * @param {?WebInspector.CSSMatchedStyles} matchedStyles |
| */ |
| _innerRebuildUpdate: function(nodeStyle, matchedStyles) |
| { |
| this._propertiesOutline.removeChildren(); |
| this._linkifier.reset(); |
| - var cssModel = this._sharedModel.cssModel(); |
| + var cssModel = this._computedStyleModel.cssModel(); |
| if (!nodeStyle || !matchedStyles || !cssModel) |
| return; |
| @@ -234,8 +251,7 @@ WebInspector.ComputedStyleWidget.prototype = { |
| */ |
| _navigateToSource: function(cssProperty, event) |
| { |
| - if (this._revealCallback) |
| - this._revealCallback.call(null, cssProperty); |
| + WebInspector.Revealer.reveal(cssProperty); |
| event.consume(true); |
| }, |