Index: trunk/Source/devtools/front_end/CSSStyleModel.js |
=================================================================== |
--- trunk/Source/devtools/front_end/CSSStyleModel.js (revision 169387) |
+++ trunk/Source/devtools/front_end/CSSStyleModel.js (working copy) |
@@ -169,23 +169,7 @@ |
*/ |
allStyleSheets: function() |
{ |
- var values = Object.values(this._styleSheetIdToHeader); |
- /** |
- * @param {!WebInspector.CSSStyleSheetHeader} a |
- * @param {!WebInspector.CSSStyleSheetHeader} b |
- * @return {number} |
- */ |
- function styleSheetComparator(a, b) |
- { |
- if (a.sourceURL < b.sourceURL) |
- return -1; |
- else if (a.sourceURL > b.sourceURL) |
- return 1; |
- return a.startLine - b.startLine || a.startColumn - b.startColumn; |
- } |
- values.sort(styleSheetComparator); |
- |
- return values; |
+ return Object.values(this._styleSheetIdToHeader); |
}, |
/** |
@@ -361,6 +345,7 @@ |
mediaQueryResultChanged: function() |
{ |
+ this._styleLoader.reset(); |
this.dispatchEventToListeners(WebInspector.CSSStyleModel.Events.MediaQueryResultChanged); |
}, |
@@ -398,6 +383,7 @@ |
*/ |
_fireStyleSheetChanged: function(styleSheetId) |
{ |
+ this._styleLoader.reset(); |
if (!this._pendingCommandsMajorState.length) |
return; |
@@ -427,6 +413,7 @@ |
frameIdToStyleSheetIds[styleSheetHeader.frameId] = styleSheetIds; |
} |
styleSheetIds.push(styleSheetHeader.id); |
+ this._styleLoader.reset(); |
this.dispatchEventToListeners(WebInspector.CSSStyleModel.Events.StyleSheetAdded, styleSheetHeader); |
}, |
@@ -446,6 +433,7 @@ |
if (!Object.keys(this._styleSheetIdsForURL[url]).length) |
delete this._styleSheetIdsForURL[url]; |
} |
+ this._styleLoader.reset(); |
this.dispatchEventToListeners(WebInspector.CSSStyleModel.Events.StyleSheetRemoved, header); |
}, |
@@ -1535,6 +1523,16 @@ |
} |
WebInspector.CSSStyleModel.ComputedStyleLoader.prototype = { |
+ reset: function() |
+ { |
+ for (var nodeId in this._nodeIdToCallbackData) { |
+ var callbacks = this._nodeIdToCallbackData[nodeId]; |
+ for (var i = 0; i < callbacks.length; ++i) |
+ callbacks[i](null); |
+ } |
+ this._nodeIdToCallbackData = {}; |
+ }, |
+ |
/** |
* @param {!DOMAgent.NodeId} nodeId |
* @param {function(?WebInspector.CSSStyleDeclaration)} userCallback |