| Index: chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc
|
| diff --git a/chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc b/chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc
|
| index 773f07587c61511638a819b9bed09abb016b1d09..d60d3220ed802f0b8914f399f95464263003008b 100644
|
| --- a/chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc
|
| +++ b/chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc
|
| @@ -9,7 +9,6 @@
|
| #include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/extensions/extension_util.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| -#include "chrome/browser/ui/browser_navigator.h"
|
| #include "chrome/common/extensions/extension_constants.h"
|
| #include "chrome/grit/generated_resources.h"
|
| #include "extensions/browser/extension_system.h"
|
| @@ -19,7 +18,6 @@
|
| #include "extensions/common/extension_icon_set.h"
|
| #include "extensions/common/extension_resource.h"
|
| #include "extensions/common/manifest_handlers/icons_handler.h"
|
| -#include "extensions/common/manifest_handlers/shared_module_info.h"
|
| #include "extensions/common/manifest_url_handlers.h"
|
| #include "net/base/url_util.h"
|
| #include "third_party/skia/include/core/SkBitmap.h"
|
| @@ -38,16 +36,12 @@
|
| #include "ui/views/layout/grid_layout.h"
|
| #include "ui/views/layout/layout_constants.h"
|
| #include "ui/views/view.h"
|
| -#include "url/gurl.h"
|
|
|
| namespace {
|
|
|
| // Size of extension icon in top left of dialog.
|
| const int kIconSize = 64;
|
|
|
| -// The horizontal spacing between the app's links in the header section.
|
| -const int kSpacingBetweenAppLinks = 3;
|
| -
|
| } // namespace
|
|
|
| AppInfoHeaderPanel::AppInfoHeaderPanel(Profile* profile,
|
| @@ -55,8 +49,6 @@ AppInfoHeaderPanel::AppInfoHeaderPanel(Profile* profile,
|
| : AppInfoPanel(profile, app),
|
| app_icon_(NULL),
|
| view_in_store_link_(NULL),
|
| - homepage_link_(NULL),
|
| - licenses_link_(NULL),
|
| weak_ptr_factory_(this) {
|
| SetLayoutManager(
|
| new views::BoxLayout(views::BoxLayout::kHorizontal,
|
| @@ -82,14 +74,13 @@ void AppInfoHeaderPanel::CreateControls() {
|
| ui::ResourceBundle::MediumFont));
|
| app_name_label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
|
|
|
| - if (!CanShowAppInWebStore() && !CanShowAppHomePage() &&
|
| - !CanDisplayLicenses()) {
|
| - // If there's no links, allow the app's name to take up multiple lines.
|
| + if (!CanShowAppInWebStore()) {
|
| + // If there's no link, allow the app's name to take up multiple lines.
|
| // TODO(sashab): Limit the number of lines to 2.
|
| app_name_label->SetMultiLine(true);
|
| AddChildView(app_name_label);
|
| } else {
|
| - // Create a vertical container to store the app's name and links.
|
| + // Create a vertical container to store the app's name and link.
|
| views::View* vertical_info_container = new views::View();
|
| views::BoxLayout* vertical_container_layout =
|
| new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 0);
|
| @@ -98,49 +89,21 @@ void AppInfoHeaderPanel::CreateControls() {
|
| vertical_info_container->SetLayoutManager(vertical_container_layout);
|
|
|
| vertical_info_container->AddChildView(app_name_label);
|
| - // Create a horizontal container to store the app's links.
|
| - views::View* horizontal_links_container =
|
| - CreateHorizontalStack(kSpacingBetweenAppLinks);
|
| -
|
| - // If the app/extension has a custom home page, display a link to the
|
| - // developer's homepage *instead of* a link to the webstore.
|
| - if (CanShowAppHomePage()) {
|
| - homepage_link_ = new views::Link(
|
| - l10n_util::GetStringUTF16(IDS_APPLICATION_INFO_HOMEPAGE_LINK));
|
| - homepage_link_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
|
| - homepage_link_->set_listener(this);
|
| - horizontal_links_container->AddChildView(homepage_link_);
|
| - } else if (CanShowAppInWebStore()) {
|
| + if (CanShowAppInWebStore()) {
|
| view_in_store_link_ = new views::Link(
|
| l10n_util::GetStringUTF16(IDS_APPLICATION_INFO_WEB_STORE_LINK));
|
| view_in_store_link_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
|
| view_in_store_link_->set_listener(this);
|
| - horizontal_links_container->AddChildView(view_in_store_link_);
|
| - }
|
| -
|
| - if (CanDisplayLicenses()) {
|
| - licenses_link_ = new views::Link(
|
| - l10n_util::GetStringUTF16(IDS_APPLICATION_INFO_LICENSES_BUTTON_TEXT));
|
| - licenses_link_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
|
| - licenses_link_->set_listener(this);
|
| - horizontal_links_container->AddChildView(licenses_link_);
|
| + vertical_info_container->AddChildView(view_in_store_link_);
|
| }
|
| - vertical_info_container->AddChildView(horizontal_links_container);
|
|
|
| AddChildView(vertical_info_container);
|
| }
|
| }
|
|
|
| void AppInfoHeaderPanel::LinkClicked(views::Link* source, int event_flags) {
|
| - if (source == view_in_store_link_) {
|
| - ShowAppInWebStore();
|
| - } else if (source == homepage_link_) {
|
| - ShowAppHomePage();
|
| - } else if (source == licenses_link_) {
|
| - DisplayLicenses();
|
| - } else {
|
| - NOTREACHED();
|
| - }
|
| + DCHECK_EQ(source, view_in_store_link_);
|
| + ShowAppInWebStore();
|
| }
|
|
|
| void AppInfoHeaderPanel::LoadAppImageAsync() {
|
| @@ -182,53 +145,3 @@ void AppInfoHeaderPanel::ShowAppInWebStore() {
|
| bool AppInfoHeaderPanel::CanShowAppInWebStore() const {
|
| return app_->from_webstore();
|
| }
|
| -
|
| -void AppInfoHeaderPanel::ShowAppHomePage() {
|
| - DCHECK(CanShowAppHomePage());
|
| - OpenLink(extensions::ManifestURL::GetHomepageURL(app_));
|
| - Close();
|
| -}
|
| -
|
| -bool AppInfoHeaderPanel::CanShowAppHomePage() const {
|
| - return extensions::ManifestURL::SpecifiedHomepageURL(app_);
|
| -}
|
| -
|
| -void AppInfoHeaderPanel::DisplayLicenses() {
|
| - DCHECK(CanDisplayLicenses());
|
| - for (const auto& license_url : GetLicenseUrls())
|
| - OpenLink(license_url);
|
| - Close();
|
| -}
|
| -
|
| -bool AppInfoHeaderPanel::CanDisplayLicenses() const {
|
| - return !GetLicenseUrls().empty();
|
| -}
|
| -
|
| -const std::vector<GURL> AppInfoHeaderPanel::GetLicenseUrls() const {
|
| - if (!extensions::SharedModuleInfo::ImportsModules(app_))
|
| - return std::vector<GURL>();
|
| -
|
| - std::vector<GURL> license_urls;
|
| - ExtensionService* service =
|
| - extensions::ExtensionSystem::Get(profile_)->extension_service();
|
| - DCHECK(service);
|
| - const std::vector<extensions::SharedModuleInfo::ImportInfo>& imports =
|
| - extensions::SharedModuleInfo::GetImports(app_);
|
| -
|
| - for (const auto& shared_module : imports) {
|
| - const extensions::Extension* imported_module =
|
| - service->GetExtensionById(shared_module.extension_id, true);
|
| - DCHECK(imported_module);
|
| -
|
| - GURL about_page = extensions::ManifestURL::GetAboutPage(imported_module);
|
| - if (about_page != GURL::EmptyGURL())
|
| - license_urls.push_back(about_page);
|
| - }
|
| - return license_urls;
|
| -}
|
| -
|
| -void AppInfoHeaderPanel::OpenLink(const GURL& url) {
|
| - DCHECK(!url.is_empty());
|
| - chrome::NavigateParams params(profile_, url, ui::PAGE_TRANSITION_LINK);
|
| - chrome::Navigate(¶ms);
|
| -}
|
|
|