Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1957)

Unified Diff: Source/devtools/front_end/sources/AdvancedSearchView.js

Issue 1264133002: Devtools: [WIP] Implement enhanced devtools extension language APIs Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Small cleanups - prefer URIs to contentURLs, revert protocol unifications, remove lambdas Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/devtools/front_end/sources/AdvancedSearchView.js
diff --git a/Source/devtools/front_end/sources/AdvancedSearchView.js b/Source/devtools/front_end/sources/AdvancedSearchView.js
index 2fc1b0e0ca5da730e890299932936176fe9a0312..362b9b78e047d09669a6812d2cb246406b78e3f4 100644
--- a/Source/devtools/front_end/sources/AdvancedSearchView.js
+++ b/Source/devtools/front_end/sources/AdvancedSearchView.js
@@ -414,3 +414,60 @@ WebInspector.SearchScope.prototype = {
*/
createSearchResultsPane: function(searchConfig) { }
}
+
+
+/**
+ * @constructor
+ * @implements {WebInspector.Revealer}
+ */
+WebInspector.AdvancedSearchView.SearchResultsRevealer = function()
+{
+}
+
+WebInspector.AdvancedSearchView.SearchResultsRevealer.prototype = {
+ /**
+ * @override
+ * @param {!Object} results
+ * @return {!Promise}
+ */
+ reveal: function(results)
+ {
+ if (!(results instanceof WebInspector.SearchResultsCollection))
+ return Promise.reject(new Error("Internal error: not a search results collection"));
+
+ //TODO: Stop accessing private members
+ var searchResultsPanel = WebInspector.AdvancedSearchView._instance;
+ if (!searchResultsPanel) {
+ searchResultsPanel = new WebInspector.AdvancedSearchView();
+ }
+
+ searchResultsPanel._nothingFound();
+ searchResultsPanel._searchConfig = new WebInspector.SearchConfig(results.highlightText(), true, false); //TODO: HACK - really should be able to highlight arbitrary spans
+ searchResultsPanel._searchResultsPane = searchResultsPanel._searchScope.createSearchResultsPane(searchResultsPanel._searchConfig);
+ searchResultsPanel._resetResults();
+ searchResultsPanel._searchResultsElement.appendChild(searchResultsPanel._searchResultsPane.element);
+
+
+ WebInspector.inspectorView.setCurrentPanel(WebInspector.SourcesPanel.instance());
+ WebInspector.inspectorView.showViewInDrawer("sources.search");
+
+ results.results().map(function(sourceResult) { //map to file search result
+ var code = WebInspector.networkMapping.uiSourceCodeForURLForAnyTarget(sourceResult.source) || WebInspector.workspace.uiSourceCodeForFilePath(sourceResult.source);
+ if (!code) {
+ return;
+ }
+ return new WebInspector.FileBasedSearchResult(
+ code,
+ sourceResult.map(function(item){
+ return new WebInspector.ContentProvider.SearchMatch(item.line(), item.lineContent());
+ })
+ );
+ }).forEach(function(searchResult) {
+ if (!searchResult) return;
+ searchResultsPanel._addSearchResult(searchResult);
+ searchResultsPanel._searchResultsPane.addSearchResult(searchResult);
+ });
+
+ return Promise.resolve();
+ }
+}
« no previous file with comments | « Source/devtools/front_end/source_frame/module.json ('k') | Source/devtools/front_end/sources/JavaScriptCompiler.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698