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

Unified Diff: chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.h

Issue 1071093002: Implement setSearchResults. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix memory leak. Created 5 years, 8 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: chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.h
diff --git a/chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.h b/chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.h
index 930bf5487a13c5ecf54f099e0ec4c1fe59b4578b..24fa2b600f814e564471ff453584531ad8f03e1a 100644
--- a/chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.h
+++ b/chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.h
@@ -5,10 +5,14 @@
#ifndef CHROME_BROWSER_UI_APP_LIST_SEARCH_LAUNCHER_SEARCH_LAUNCHER_SEARCH_PROVIDER_H_
#define CHROME_BROWSER_UI_APP_LIST_SEARCH_LAUNCHER_SEARCH_LAUNCHER_SEARCH_PROVIDER_H_
+#include "base/memory/scoped_vector.h"
+#include "base/stl_util.h"
#include "base/strings/string16.h"
#include "base/time/time.h"
#include "base/timer/timer.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/app_list/search/launcher_search/launcher_search_result.h"
+#include "extensions/common/extension.h"
#include "ui/app_list/search_provider.h"
namespace app_list {
@@ -22,6 +26,8 @@ class LauncherSearchProvider : public SearchProvider {
void Start(bool is_voice_query, const base::string16& query) override;
void Stop() override;
+ void SetSearchResults(const extensions::ExtensionId& extension_id,
+ ScopedVector<LauncherSearchResult> extension_results);
private:
// Delays query for |kLauncherSearchProviderQueryDelayInMs|. This dispatches
@@ -31,13 +37,21 @@ class LauncherSearchProvider : public SearchProvider {
// Dispatches |query| to LauncherSearchProvider service.
void StartInternal(const base::string16& query);
+ // The search results of each extension. The STLValueDeleter will
+ // automatically free the vectors in this map, but elements that are
+ // individually erased or replaced must be manually deleted.
+ typedef std::map<extensions::ExtensionId, ScopedVector<LauncherSearchResult>*>
+ ExtensionResults;
+ ExtensionResults extension_results_;
+ STLValueDeleter<ExtensionResults> extension_results_deleter_;
+
// A timer to delay query.
base::OneShotTimer<LauncherSearchProvider> query_timer_;
// The timestamp of the last query.
base::Time last_query_time_;
- // Keep reference to profile to get LauncherSearchProvider service.
+ // The reference to profile to get LauncherSearchProvider service.
Profile* profile_;
base::WeakPtrFactory<LauncherSearchProvider> weak_ptr_factory_;

Powered by Google App Engine
This is Rietveld 408576698