search_webstore_result.cc revision 868fa2fe829687343ffae624259930155e16dbd8
1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/ui/app_list/search/search_webstore_result.h" 6 7#include "base/string16.h" 8#include "base/strings/utf_string_conversions.h" 9#include "chrome/browser/ui/browser_navigator.h" 10#include "chrome/common/extensions/extension_constants.h" 11#include "grit/generated_resources.h" 12#include "grit/theme_resources.h" 13#include "ui/base/l10n/l10n_util.h" 14#include "ui/base/resource/resource_bundle.h" 15 16namespace app_list { 17 18SearchWebstoreResult::SearchWebstoreResult(Profile* profile, 19 const std::string& query) 20 : profile_(profile), 21 query_(query), 22 launch_url_(extension_urls::GetWebstoreSearchPageUrl(query)) { 23 set_id(launch_url_.spec()); 24 set_relevance(0.0); 25 26 set_title(UTF8ToUTF16(query)); 27 28 const base::string16 details = 29 l10n_util::GetStringUTF16(IDS_EXTENSION_WEB_STORE_TITLE); 30 Tags details_tags; 31 details_tags.push_back(Tag(SearchResult::Tag::DIM, 0, details.length())); 32 33 set_details(details); 34 set_details_tags(details_tags); 35 36 SetIcon(*ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( 37 IDR_WEBSTORE_ICON)); 38} 39 40SearchWebstoreResult::~SearchWebstoreResult() {} 41 42void SearchWebstoreResult::Open(int event_flags) { 43 chrome::NavigateParams params(profile_, 44 launch_url_, 45 content::PAGE_TRANSITION_LINK); 46 params.disposition = ui::DispositionFromEventFlags(event_flags); 47 chrome::Navigate(¶ms); 48} 49 50void SearchWebstoreResult::InvokeAction(int action_index, int event_flags) { 51} 52 53scoped_ptr<ChromeSearchResult> SearchWebstoreResult::Duplicate() { 54 return scoped_ptr<ChromeSearchResult>( 55 new SearchWebstoreResult(profile_, query_)).Pass(); 56} 57 58} // namespace app_list 59