Index: chrome/browser/chromeos/extensions/launcher_search_provider.cc |
diff --git a/chrome/browser/chromeos/extensions/launcher_search_provider.cc b/chrome/browser/chromeos/extensions/launcher_search_provider.cc |
index d89bf2ad5962afbfda040e7a4638830df50b3205..a21659c76af13bf86ec6abc5f0daa8263dea8699 100644 |
--- a/chrome/browser/chromeos/extensions/launcher_search_provider.cc |
+++ b/chrome/browser/chromeos/extensions/launcher_search_provider.cc |
@@ -4,8 +4,12 @@ |
#include "chrome/browser/chromeos/extensions/launcher_search_provider.h" |
+#include "base/memory/ref_counted.h" |
+#include "chrome/browser/chromeos/launcher_search_provider/error_reporter.h" |
#include "chrome/browser/chromeos/launcher_search_provider/service.h" |
#include "chrome/common/extensions/api/launcher_search_provider.h" |
+#include "content/public/browser/render_frame_host.h" |
+#include "content/public/browser/render_view_host.h" |
namespace extensions { |
@@ -14,13 +18,30 @@ LauncherSearchProviderSetSearchResultsFunction:: |
} |
bool LauncherSearchProviderSetSearchResultsFunction::RunSync() { |
+ using chromeos::launcher_search_provider::ErrorReporter; |
using chromeos::launcher_search_provider::Service; |
using extensions::api::launcher_search_provider::SetSearchResults::Params; |
const scoped_ptr<Params> params(Params::Create(*args_)); |
EXTENSION_FUNCTION_VALIDATE(params); |
+ // Either render_view_host or render_frame_host will be set. See |
+ // crbug.com/304341. |
+ IPC::Sender* sender = nullptr; |
+ int routing_id = 0; |
+ if (render_view_host()) { |
+ sender = render_view_host(); |
+ routing_id = render_view_host()->GetRoutingID(); |
+ } else { |
+ sender = render_frame_host(); |
+ routing_id = render_frame_host()->GetRoutingID(); |
+ } |
+ DCHECK(sender); |
+ |
+ scoped_refptr<ErrorReporter> error_reporter( |
+ new ErrorReporter(sender, routing_id)); |
Service* const service = Service::Get(GetProfile()); |
- service->SetSearchResults(extension(), params->query_id, params->results); |
+ service->SetSearchResults(extension(), error_reporter, params->query_id, |
+ params->results); |
return true; |
} |