Index: chrome/browser/ui/app_list/search/search_webstore_result.cc |
diff --git a/chrome/browser/ui/app_list/search/search_webstore_result.cc b/chrome/browser/ui/app_list/search/search_webstore_result.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..864667c07706b15493c9c5aaac626ba7eb10f368 |
--- /dev/null |
+++ b/chrome/browser/ui/app_list/search/search_webstore_result.cc |
@@ -0,0 +1,58 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/ui/app_list/search/search_webstore_result.h" |
+ |
+#include "base/string16.h" |
+#include "base/utf_string_conversions.h" |
+#include "chrome/browser/ui/browser_navigator.h" |
+#include "chrome/common/extensions/extension_constants.h" |
+#include "grit/generated_resources.h" |
+#include "grit/theme_resources.h" |
+#include "ui/base/l10n/l10n_util.h" |
+#include "ui/base/resource/resource_bundle.h" |
+ |
+namespace app_list { |
+ |
+SearchWebstoreResult::SearchWebstoreResult(Profile* profile, |
+ const std::string& query) |
+ : profile_(profile), |
+ query_(query), |
+ launch_url_(extension_urls::GetWebstoreSearchPageUrl(query)) { |
+ set_id(launch_url_.spec()); |
+ set_relevance(0.0); |
+ |
+ set_title(UTF8ToUTF16(query)); |
+ |
+ const base::string16 details = |
+ l10n_util::GetStringUTF16(IDS_EXTENSION_WEB_STORE_TITLE); |
+ Tags details_tags; |
+ details_tags.push_back(Tag(SearchResult::Tag::DIM, 0, details.length())); |
+ |
+ set_details(details); |
+ set_details_tags(details_tags); |
+ |
+ SetIcon(*ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( |
+ IDR_WEBSTORE_ICON)); |
+} |
+ |
+SearchWebstoreResult::~SearchWebstoreResult() {} |
+ |
+void SearchWebstoreResult::Open(int event_flags) { |
+ chrome::NavigateParams params(profile_, |
+ launch_url_, |
+ content::PAGE_TRANSITION_LINK); |
+ params.disposition = ui::DispositionFromEventFlags(event_flags); |
+ chrome::Navigate(¶ms); |
+} |
+ |
+void SearchWebstoreResult::InvokeAction(int action_index, int event_flags) { |
+} |
+ |
+scoped_ptr<ChromeSearchResult> SearchWebstoreResult::Duplicate() { |
+ return scoped_ptr<ChromeSearchResult>( |
+ new SearchWebstoreResult(profile_, query_)).Pass(); |
+} |
+ |
+} // namespace app_list |