OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/views/extensions/extension_install_dialog_view.h" | 5 #include "chrome/browser/ui/views/extensions/extension_install_dialog_view.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <algorithm> | 8 #include <algorithm> |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/callback_helpers.h" | 13 #include "base/callback_helpers.h" |
14 #include "base/command_line.h" | 14 #include "base/command_line.h" |
15 #include "base/compiler_specific.h" | 15 #include "base/compiler_specific.h" |
16 #include "base/i18n/rtl.h" | 16 #include "base/i18n/rtl.h" |
17 #include "base/macros.h" | 17 #include "base/macros.h" |
18 #include "base/metrics/histogram_macros.h" | 18 #include "base/metrics/histogram_macros.h" |
19 #include "base/strings/string_util.h" | 19 #include "base/strings/string_util.h" |
20 #include "base/strings/utf_string_conversions.h" | 20 #include "base/strings/utf_string_conversions.h" |
21 #include "chrome/app/vector_icons/vector_icons.h" | 21 #include "chrome/app/vector_icons/vector_icons.h" |
22 #include "chrome/browser/browser_process.h" | 22 #include "chrome/browser/browser_process.h" |
23 #include "chrome/browser/extensions/api/experience_sampling_private/experience_s ampling.h" | 23 #include "chrome/browser/extensions/api/experience_sampling_private/experience_s ampling.h" |
24 #include "chrome/browser/extensions/extension_install_prompt_show_params.h" | 24 #include "chrome/browser/extensions/extension_install_prompt_show_params.h" |
25 #include "chrome/browser/profiles/profile.h" | 25 #include "chrome/browser/profiles/profile.h" |
26 #include "chrome/browser/ui/browser.h" | 26 #include "chrome/browser/ui/browser.h" |
27 #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" | 27 #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" |
28 #include "chrome/browser/ui/views/harmony/chrome_typography.h" | |
28 #include "chrome/browser/ui/views/harmony/layout_delegate.h" | 29 #include "chrome/browser/ui/views/harmony/layout_delegate.h" |
29 #include "chrome/common/extensions/extension_constants.h" | 30 #include "chrome/common/extensions/extension_constants.h" |
30 #include "chrome/grit/generated_resources.h" | 31 #include "chrome/grit/generated_resources.h" |
31 #include "components/constrained_window/constrained_window_views.h" | 32 #include "components/constrained_window/constrained_window_views.h" |
32 #include "content/public/browser/browser_thread.h" | 33 #include "content/public/browser/browser_thread.h" |
33 #include "content/public/browser/page_navigator.h" | 34 #include "content/public/browser/page_navigator.h" |
34 #include "content/public/browser/web_contents.h" | 35 #include "content/public/browser/web_contents.h" |
35 #include "extensions/common/extension.h" | 36 #include "extensions/common/extension.h" |
36 #include "extensions/common/extension_urls.h" | 37 #include "extensions/common/extension_urls.h" |
37 #include "ui/base/l10n/l10n_util.h" | 38 #include "ui/base/l10n/l10n_util.h" |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
224 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | 225 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
225 | 226 |
226 if (prompt_->has_webstore_data()) { | 227 if (prompt_->has_webstore_data()) { |
227 layout->StartRow(0, column_set_id); | 228 layout->StartRow(0, column_set_id); |
228 views::View* rating = new views::View(); | 229 views::View* rating = new views::View(); |
229 rating->SetLayoutManager(new views::BoxLayout( | 230 rating->SetLayoutManager(new views::BoxLayout( |
230 views::BoxLayout::kHorizontal, 0, 0, 0)); | 231 views::BoxLayout::kHorizontal, 0, 0, 0)); |
231 layout->AddView(rating); | 232 layout->AddView(rating); |
232 prompt_->AppendRatingStars(AddResourceIcon, rating); | 233 prompt_->AppendRatingStars(AddResourceIcon, rating); |
233 | 234 |
234 const gfx::FontList& small_font_list = | 235 int rating_font, user_count_font; |
Peter Kasting
2017/03/17 02:25:59
Nit: Naming wise I'd prefer "context" or "text_con
tapted
2017/03/17 10:33:10
Done.
| |
235 rb.GetFontList(ui::ResourceBundle::SmallFont); | 236 if (LayoutDelegate::Get()->IsHarmonyMode()) { |
237 rating_font = CONTEXT_DIALOG_MESSAGE; | |
238 user_count_font = CONTEXT_DIALOG_TEXT_SMALL; | |
239 } else { | |
240 rating_font = user_count_font = CONTEXT_DEPRECATED_SMALL; | |
241 } | |
236 views::Label* rating_count = | 242 views::Label* rating_count = |
237 new views::Label(prompt_->GetRatingCount(), small_font_list); | 243 new views::Label(prompt_->GetRatingCount(), rating_font, |
244 views::typography::STYLE_PRIMARY); | |
238 // Add some space between the stars and the rating count. | 245 // Add some space between the stars and the rating count. |
239 rating_count->SetBorder(views::CreateEmptyBorder(0, 2, 0, 0)); | 246 rating_count->SetBorder(views::CreateEmptyBorder(0, 2, 0, 0)); |
240 rating->AddChildView(rating_count); | 247 rating->AddChildView(rating_count); |
241 | 248 |
242 layout->StartRow(0, column_set_id); | 249 layout->StartRow(0, column_set_id); |
243 views::Label* user_count = | 250 views::Label* user_count = new views::Label( |
244 new views::Label(prompt_->GetUserCount(), small_font_list); | 251 prompt_->GetUserCount(), user_count_font, STYLE_SECONDARY); |
245 user_count->SetAutoColorReadabilityEnabled(false); | 252 user_count->SetAutoColorReadabilityEnabled(false); |
246 user_count->SetEnabledColor(SK_ColorGRAY); | 253 user_count->SetEnabledColor(SK_ColorGRAY); |
247 layout->AddView(user_count); | 254 layout->AddView(user_count); |
248 } | 255 } |
249 | 256 |
250 if (prompt_->ShouldShowPermissions()) { | 257 if (prompt_->ShouldShowPermissions()) { |
251 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); | 258 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
252 layout->StartRow(0, column_set_id); | 259 layout->StartRow(0, column_set_id); |
253 layout->AddView(new views::Separator(), 3, 1, views::GridLayout::FILL, | 260 layout->AddView(new views::Separator(), 3, 1, views::GridLayout::FILL, |
254 views::GridLayout::FILL); | 261 views::GridLayout::FILL); |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
435 0, LayoutDelegate::Get()->GetMetric( | 442 0, LayoutDelegate::Get()->GetMetric( |
436 LayoutDelegate::Metric::PANEL_CONTENT_MARGIN)); | 443 LayoutDelegate::Metric::PANEL_CONTENT_MARGIN)); |
437 column_set->AddColumn(views::GridLayout::TRAILING, views::GridLayout::LEADING, | 444 column_set->AddColumn(views::GridLayout::TRAILING, views::GridLayout::LEADING, |
438 0, // no resizing | 445 0, // no resizing |
439 views::GridLayout::USE_PREF, | 446 views::GridLayout::USE_PREF, |
440 0, // no fixed width | 447 0, // no fixed width |
441 kIconSize); | 448 kIconSize); |
442 column_set->AddPaddingColumn(0, views::kButtonHEdgeMarginNew); | 449 column_set->AddPaddingColumn(0, views::kButtonHEdgeMarginNew); |
443 | 450 |
444 layout->StartRow(0, column_set_id); | 451 layout->StartRow(0, column_set_id); |
445 views::Label* title = | 452 views::Label* title = new views::Label( |
446 new views::Label(prompt_->GetDialogTitle(), | 453 prompt_->GetDialogTitle(), views::typography::CONTEXT_DIALOG_TITLE); |
447 ui::ResourceBundle::GetSharedInstance().GetFontList( | |
448 ui::ResourceBundle::MediumFont)); | |
449 title->SetMultiLine(true); | 454 title->SetMultiLine(true); |
450 title->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 455 title->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
451 title->SizeToFit(left_column_width); | 456 title->SizeToFit(left_column_width); |
452 | 457 |
453 // Center align the title along the vertical axis. | 458 // Center align the title along the vertical axis. |
454 layout->AddView(title, 1, 1, views::GridLayout::LEADING, | 459 layout->AddView(title, 1, 1, views::GridLayout::LEADING, |
455 views::GridLayout::CENTER); | 460 views::GridLayout::CENTER); |
456 | 461 |
457 // Scale down to icon size, but allow smaller icons (don't scale up). | 462 // Scale down to icon size, but allow smaller icons (don't scale up). |
458 const gfx::ImageSkia* image = prompt_->icon().ToImageSkia(); | 463 const gfx::ImageSkia* image = prompt_->icon().ToImageSkia(); |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
740 gfx::ImageSkia icon = gfx::CreateVectorIcon( | 745 gfx::ImageSkia icon = gfx::CreateVectorIcon( |
741 expanded ? kCaretUpIcon : kCaretDownIcon, gfx::kChromeIconGrey); | 746 expanded ? kCaretUpIcon : kCaretDownIcon, gfx::kChromeIconGrey); |
742 arrow_toggle_->SetImage(views::Button::STATE_NORMAL, &icon); | 747 arrow_toggle_->SetImage(views::Button::STATE_NORMAL, &icon); |
743 } | 748 } |
744 | 749 |
745 // static | 750 // static |
746 ExtensionInstallPrompt::ShowDialogCallback | 751 ExtensionInstallPrompt::ShowDialogCallback |
747 ExtensionInstallPrompt::GetViewsShowDialogCallback() { | 752 ExtensionInstallPrompt::GetViewsShowDialogCallback() { |
748 return base::Bind(&ShowExtensionInstallDialogImpl); | 753 return base::Bind(&ShowExtensionInstallDialogImpl); |
749 } | 754 } |
OLD | NEW |