Index: chrome/browser/chromeos/launcher_search_provider/service.cc |
diff --git a/chrome/browser/chromeos/launcher_search_provider/service.cc b/chrome/browser/chromeos/launcher_search_provider/service.cc |
index bf4d130ed2e17679457568cb94332f6ab4d9116a..c66b248e0fd951dad299bf7fe37da4e9bdc78e38 100644 |
--- a/chrome/browser/chromeos/launcher_search_provider/service.cc |
+++ b/chrome/browser/chromeos/launcher_search_provider/service.cc |
@@ -84,6 +84,19 @@ void Service::OnQueryEnded() { |
is_query_running_ = false; |
} |
+void Service::OnOpenResult(const ExtensionId& extension_id, |
+ const std::string& item_id) { |
+ DCHECK(ContainsValue(GetListenerExtensionIds(), extension_id)); |
+ |
+ extensions::EventRouter* event_router = |
+ extensions::EventRouter::Get(profile_); |
+ event_router->DispatchEventToExtension( |
+ extension_id, |
+ make_scoped_ptr(new extensions::Event( |
+ api_launcher_search_provider::OnOpenResult::kEventName, |
+ api_launcher_search_provider::OnOpenResult::Create(item_id)))); |
+} |
+ |
void Service::SetSearchResults( |
const extensions::Extension* extension, |
const std::string& query_id, |
@@ -94,6 +107,10 @@ void Service::SetSearchResults( |
if (!is_query_running_ || query_id != std::to_string(query_id_)) |
return; |
+ // If |extension| is not in the listener extensions list, ignore it. |
+ if (!ContainsValue(GetListenerExtensionIds(), extension->id())) |
yawano
2015/04/20 04:02:36
I noticed that we haven't checked extension id her
|
+ return; |
+ |
// Set search results to provider. |
DCHECK(provider_); |
ScopedVector<app_list::LauncherSearchResult> search_results; |