| Index: Source/devtools/front_end/SourcesSearchScope.js
|
| diff --git a/Source/devtools/front_end/SourcesSearchScope.js b/Source/devtools/front_end/SourcesSearchScope.js
|
| index 60f731164a95c323543f118aa35c848b29825ea7..f62364120061cb4c282661f47315cee7965b75f8 100644
|
| --- a/Source/devtools/front_end/SourcesSearchScope.js
|
| +++ b/Source/devtools/front_end/SourcesSearchScope.js
|
| @@ -115,6 +115,8 @@ WebInspector.SourcesSearchScope.prototype = {
|
| return;
|
| }
|
|
|
| + addDirtyFiles();
|
| +
|
| if (!files.length) {
|
| progress.done();
|
| callback();
|
| @@ -130,6 +132,19 @@ WebInspector.SourcesSearchScope.prototype = {
|
| for (var i = 0; i < maxFileContentRequests && i < files.length; ++i)
|
| scheduleSearchInNextFileOrFinish.call(this);
|
|
|
| + function addDirtyFiles()
|
| + {
|
| + var matchingFiles = StringSet.fromArray(files);
|
| + var uiSourceCodes = project.uiSourceCodes();
|
| + for (var i = 0; i < uiSourceCodes.length; ++i) {
|
| + if (!uiSourceCodes[i].isDirty())
|
| + continue;
|
| + var path = uiSourceCodes[i].path();
|
| + if (!matchingFiles.contains(path))
|
| + files.push(path);
|
| + }
|
| + }
|
| +
|
| /**
|
| * @param {!string} path
|
| * @this {WebInspector.SourcesSearchScope}
|
| @@ -143,7 +158,19 @@ WebInspector.SourcesSearchScope.prototype = {
|
| scheduleSearchInNextFileOrFinish.call(this);
|
| return;
|
| }
|
| - uiSourceCode.requestContent(contentLoaded.bind(this, path));
|
| + if (uiSourceCode.isDirty())
|
| + contentLoaded.call(this, uiSourceCode.path(), uiSourceCode.workingCopy());
|
| + else
|
| + uiSourceCode.checkContentUpdated(contentUpdated.bind(this, uiSourceCode));
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.UISourceCode} uiSourceCode
|
| + * @this {WebInspector.SourcesSearchScope}
|
| + */
|
| + function contentUpdated(uiSourceCode)
|
| + {
|
| + uiSourceCode.requestContent(contentLoaded.bind(this, uiSourceCode.path()));
|
| }
|
|
|
| /**
|
|
|