| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 * @extends {WebInspector.ElementsSidebarPane} | 31 * @extends {WebInspector.ElementsSidebarPane} |
| 32 */ | 32 */ |
| 33 WebInspector.MetricsSidebarPane = function() | 33 WebInspector.MetricsSidebarPane = function() |
| 34 { | 34 { |
| 35 WebInspector.ElementsSidebarPane.call(this, WebInspector.UIString("Metrics")
); | 35 WebInspector.ElementsSidebarPane.call(this, WebInspector.UIString("Metrics")
); |
| 36 } | 36 } |
| 37 | 37 |
| 38 WebInspector.MetricsSidebarPane.prototype = { | 38 WebInspector.MetricsSidebarPane.prototype = { |
| 39 /** | 39 /** |
| 40 * @override | 40 * @override |
| 41 * @param {!WebInspector.Throttler.FinishCallback} finishedCallback | |
| 42 * @protected | 41 * @protected |
| 42 * @return {!Promise.<?>} |
| 43 */ | 43 */ |
| 44 doUpdate: function(finishedCallback) | 44 doUpdate: function() |
| 45 { | 45 { |
| 46 // "style" attribute might have changed. Update metrics unless they are
being edited | 46 // "style" attribute might have changed. Update metrics unless they are
being edited |
| 47 // (if a CSS property is added, a StyleSheetChanged event is dispatched)
. | 47 // (if a CSS property is added, a StyleSheetChanged event is dispatched)
. |
| 48 if (this._isEditingMetrics) { | 48 if (this._isEditingMetrics) |
| 49 finishedCallback(); | 49 return Promise.resolve(); |
| 50 return; | |
| 51 } | |
| 52 | 50 |
| 53 // FIXME: avoid updates of a collapsed pane. | 51 // FIXME: avoid updates of a collapsed pane. |
| 54 var node = this.node(); | 52 var node = this.node(); |
| 55 var cssModel = this.cssModel(); | 53 var cssModel = this.cssModel(); |
| 56 if (!node || node.nodeType() !== Node.ELEMENT_NODE || !cssModel) { | 54 if (!node || node.nodeType() !== Node.ELEMENT_NODE || !cssModel) { |
| 57 this.element.removeChildren(); | 55 this.element.removeChildren(); |
| 58 finishedCallback(); | 56 return Promise.resolve(); |
| 59 return; | |
| 60 } | 57 } |
| 61 | 58 |
| 62 /** | 59 /** |
| 63 * @param {?WebInspector.CSSStyleDeclaration} style | 60 * @param {?WebInspector.CSSStyleDeclaration} style |
| 64 * @this {WebInspector.MetricsSidebarPane} | 61 * @this {WebInspector.MetricsSidebarPane} |
| 65 */ | 62 */ |
| 66 function callback(style) | 63 function callback(style) |
| 67 { | 64 { |
| 68 if (!style || this.node() !== node) | 65 if (!style || this.node() !== node) |
| 69 return; | 66 return; |
| 70 this._updateMetrics(style); | 67 this._updateMetrics(style); |
| 71 } | 68 } |
| 72 /** | 69 /** |
| 73 * @param {?WebInspector.CSSStyleModel.InlineStyleResult} inlineStyleRes
ult | 70 * @param {?WebInspector.CSSStyleModel.InlineStyleResult} inlineStyleRes
ult |
| 74 * @this {WebInspector.MetricsSidebarPane} | 71 * @this {WebInspector.MetricsSidebarPane} |
| 75 */ | 72 */ |
| 76 function inlineStyleCallback(inlineStyleResult) | 73 function inlineStyleCallback(inlineStyleResult) |
| 77 { | 74 { |
| 78 if (inlineStyleResult && this.node() === node) | 75 if (inlineStyleResult && this.node() === node) |
| 79 this.inlineStyle = inlineStyleResult.inlineStyle; | 76 this.inlineStyle = inlineStyleResult.inlineStyle; |
| 80 } | 77 } |
| 81 | 78 |
| 82 var promises = [ | 79 var promises = [ |
| 83 cssModel.computedStylePromise(node.id).then(callback.bind(this)), | 80 cssModel.computedStylePromise(node.id).then(callback.bind(this)), |
| 84 cssModel.inlineStylesPromise(node.id).then(inlineStyleCallback.bind(
this)) | 81 cssModel.inlineStylesPromise(node.id).then(inlineStyleCallback.bind(
this)) |
| 85 ]; | 82 ]; |
| 86 Promise.all(promises) | 83 return Promise.all(promises); |
| 87 .then(finishedCallback.bind(null, undefined)) | |
| 88 .catch(/** @type {function()} */(finishedCallback)); | |
| 89 }, | 84 }, |
| 90 | 85 |
| 91 /** | 86 /** |
| 92 * @override | 87 * @override |
| 93 */ | 88 */ |
| 94 onDOMModelChanged: function() | 89 onDOMModelChanged: function() |
| 95 { | 90 { |
| 96 this.update(); | 91 this.update(); |
| 97 }, | 92 }, |
| 98 | 93 |
| (...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 460 }, | 455 }, |
| 461 | 456 |
| 462 editingCommitted: function(element, userInput, previousContent, context) | 457 editingCommitted: function(element, userInput, previousContent, context) |
| 463 { | 458 { |
| 464 this.editingEnded(element, context); | 459 this.editingEnded(element, context); |
| 465 this._applyUserInput(element, userInput, previousContent, context, true)
; | 460 this._applyUserInput(element, userInput, previousContent, context, true)
; |
| 466 }, | 461 }, |
| 467 | 462 |
| 468 __proto__: WebInspector.ElementsSidebarPane.prototype | 463 __proto__: WebInspector.ElementsSidebarPane.prototype |
| 469 } | 464 } |
| OLD | NEW |