Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Unified Diff: chrome/browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc

Issue 691253002: Move the Developer Website and Licenses links in the App Info dialog (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(&params);
-}

Powered by Google App Engine
This is Rietveld 408576698