Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / app_list / search / search_webstore_result.cc
index fa5f1b5..18255e9 100644 (file)
@@ -6,7 +6,8 @@
 
 #include "base/strings/string16.h"
 #include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/ui/browser_navigator.h"
+#include "chrome/browser/ui/app_list/app_list_controller_delegate.h"
+#include "chrome/browser/ui/app_list/search/search_util.h"
 #include "chrome/common/extensions/extension_constants.h"
 #include "chrome/grit/generated_resources.h"
 #include "extensions/common/extension_urls.h"
 
 namespace app_list {
 
-SearchWebstoreResult::SearchWebstoreResult(Profile* profile,
-                                           const std::string& query)
+SearchWebstoreResult::SearchWebstoreResult(
+    Profile* profile,
+    AppListControllerDelegate* controller,
+    const std::string& query)
     : profile_(profile),
+      controller_(controller),
       query_(query),
       launch_url_(extension_urls::GetWebstoreSearchPageUrl(query)) {
   set_id(launch_url_.spec());
@@ -42,28 +46,21 @@ SearchWebstoreResult::SearchWebstoreResult(Profile* profile,
 SearchWebstoreResult::~SearchWebstoreResult() {}
 
 void SearchWebstoreResult::Open(int event_flags) {
+  RecordHistogram(WEBSTORE_SEARCH_RESULT);
   const GURL store_url = net::AppendQueryParameter(
       launch_url_,
       extension_urls::kWebstoreSourceField,
       extension_urls::kLaunchSourceAppListSearch);
 
-  chrome::NavigateParams params(profile_,
-                                store_url,
-                                ui::PAGE_TRANSITION_LINK);
-  params.disposition = ui::DispositionFromEventFlags(event_flags);
-  chrome::Navigate(&params);
+  controller_->OpenURL(profile_,
+                       store_url,
+                       ui::PAGE_TRANSITION_LINK,
+                       ui::DispositionFromEventFlags(event_flags));
 }
 
-void SearchWebstoreResult::InvokeAction(int action_index, int event_flags) {
-}
-
-scoped_ptr<ChromeSearchResult> SearchWebstoreResult::Duplicate() {
-  return scoped_ptr<ChromeSearchResult>(
-      new SearchWebstoreResult(profile_, query_)).Pass();
-}
-
-ChromeSearchResultType SearchWebstoreResult::GetType() {
-  return WEBSTORE_SEARCH_RESULT;
+scoped_ptr<SearchResult> SearchWebstoreResult::Duplicate() {
+  return scoped_ptr<SearchResult>(
+      new SearchWebstoreResult(profile_, controller_, query_));
 }
 
 }  // namespace app_list