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

Side by Side Diff: chrome/browser/ui/views/extensions/extension_install_dialog_view.cc

Issue 580363002: Update app info and install prompt UI to show retained devices. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed feedback from Avi and tapted. Created 6 years, 3 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 unified diff | Download patch
OLDNEW
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 <vector> 7 #include <vector>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 layout->StartRow(0, column_set_id); 466 layout->StartRow(0, column_set_id);
467 views::Label* permission_label = new views::Label( 467 views::Label* permission_label = new views::Label(
468 l10n_util::GetStringUTF16(IDS_EXTENSION_NO_SPECIAL_PERMISSIONS)); 468 l10n_util::GetStringUTF16(IDS_EXTENSION_NO_SPECIAL_PERMISSIONS));
469 permission_label->SetMultiLine(true); 469 permission_label->SetMultiLine(true);
470 permission_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); 470 permission_label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
471 permission_label->SizeToFit(left_column_width); 471 permission_label->SizeToFit(left_column_width);
472 layout->AddView(permission_label); 472 layout->AddView(permission_label);
473 } 473 }
474 } 474 }
475 475
476 if (prompt->GetRetainedFileCount()) { 476 int space_for_files_and_devices = left_column_width;
477 // Slide in under the permissions, if there are any. If there are 477 if (prompt->GetRetainedFileCount() || prompt->GetRetainedDeviceCount()) {
478 // either, the retained files prompt stretches all the way to the 478 // Slide in under the permissions, if there are any. If there are either,
479 // right of the dialog. If there are no permissions, the retained 479 // the retained files and devices prompts stretch all the way to the right
480 // files prompt just takes up the left column. 480 // of the dialog. If there are no permissions, the retained files and
481 int space_for_files = left_column_width; 481 // devices prompts just take up the left column.
482
482 if (prompt->GetPermissionCount()) { 483 if (prompt->GetPermissionCount()) {
483 space_for_files += kIconSize; 484 space_for_files_and_devices += kIconSize;
484 views::ColumnSet* column_set = layout->AddColumnSet(++column_set_id); 485 views::ColumnSet* column_set = layout->AddColumnSet(++column_set_id);
485 column_set->AddColumn(views::GridLayout::FILL, 486 column_set->AddColumn(views::GridLayout::FILL,
486 views::GridLayout::FILL, 487 views::GridLayout::FILL,
487 1, 488 1,
488 views::GridLayout::USE_PREF, 489 views::GridLayout::USE_PREF,
489 0, // no fixed width 490 0, // no fixed width
490 space_for_files); 491 space_for_files_and_devices);
491 } 492 }
493 }
492 494
495 if (prompt->GetRetainedFileCount()) {
493 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); 496 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
494 497
495 layout->StartRow(0, column_set_id); 498 layout->StartRow(0, column_set_id);
496 views::Label* retained_files_header = NULL; 499 views::Label* retained_header = NULL;
497 retained_files_header = new views::Label(prompt->GetRetainedFilesHeading()); 500 retained_header = new views::Label(prompt->GetRetainedFilesHeading());
498 retained_files_header->SetMultiLine(true); 501 retained_header->SetMultiLine(true);
499 retained_files_header->SetHorizontalAlignment(gfx::ALIGN_LEFT); 502 retained_header->SetHorizontalAlignment(gfx::ALIGN_LEFT);
500 retained_files_header->SizeToFit(space_for_files); 503 retained_header->SizeToFit(space_for_files_and_devices);
501 layout->AddView(retained_files_header); 504 layout->AddView(retained_header);
502 505
503 layout->StartRow(0, column_set_id); 506 layout->StartRow(0, column_set_id);
504 PermissionDetails details; 507 PermissionDetails details;
505 for (size_t i = 0; i < prompt->GetRetainedFileCount(); ++i) 508 for (size_t i = 0; i < prompt->GetRetainedFileCount(); ++i)
506 details.push_back(prompt->GetRetainedFile(i)); 509 details.push_back(prompt->GetRetainedFile(i));
507 ExpandableContainerView* issue_advice_view = 510 ExpandableContainerView* issue_advice_view =
508 new ExpandableContainerView( 511 new ExpandableContainerView(this,
509 this, base::string16(), details, space_for_files, 512 base::string16(),
510 false, true, false); 513 details,
514 space_for_files_and_devices,
515 false,
516 true,
517 false);
511 layout->AddView(issue_advice_view); 518 layout->AddView(issue_advice_view);
512 } 519 }
513 520
521 if (prompt->GetRetainedDeviceCount()) {
522 layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
523
524 layout->StartRow(0, column_set_id);
525 views::Label* retained_header = NULL;
526 retained_header = new views::Label(prompt->GetRetainedDevicesHeading());
527 retained_header->SetMultiLine(true);
528 retained_header->SetHorizontalAlignment(gfx::ALIGN_LEFT);
529 retained_header->SizeToFit(space_for_files_and_devices);
530 layout->AddView(retained_header);
531
532 layout->StartRow(0, column_set_id);
533 PermissionDetails details;
534 for (size_t i = 0; i < prompt->GetRetainedDeviceCount(); ++i)
535 details.push_back(prompt->GetRetainedDeviceMessageString(i));
536 ExpandableContainerView* issue_advice_view =
537 new ExpandableContainerView(this,
538 base::string16(),
539 details,
540 space_for_files_and_devices,
541 false,
542 true,
543 false);
544 layout->AddView(issue_advice_view);
545 }
546
514 DCHECK(prompt->type() >= 0); 547 DCHECK(prompt->type() >= 0);
515 UMA_HISTOGRAM_ENUMERATION("Extensions.InstallPrompt.Type", 548 UMA_HISTOGRAM_ENUMERATION("Extensions.InstallPrompt.Type",
516 prompt->type(), 549 prompt->type(),
517 ExtensionInstallPrompt::NUM_PROMPT_TYPES); 550 ExtensionInstallPrompt::NUM_PROMPT_TYPES);
518 551
519 if (prompt->ShouldShowPermissions()) { 552 if (prompt->ShouldShowPermissions()) {
520 if (prompt->ShouldShowExplanationText()) { 553 if (prompt->ShouldShowExplanationText()) {
521 views::ColumnSet* column_set = layout->AddColumnSet(++column_set_id); 554 views::ColumnSet* column_set = layout->AddColumnSet(++column_set_id);
522 column_set->AddColumn(views::GridLayout::LEADING, 555 column_set->AddColumn(views::GridLayout::LEADING,
523 views::GridLayout::FILL, 556 views::GridLayout::FILL,
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 void ExpandableContainerView::ExpandWithoutAnimation() { 1111 void ExpandableContainerView::ExpandWithoutAnimation() {
1079 expanded_ = true; 1112 expanded_ = true;
1080 details_view_->AnimateToState(1.0); 1113 details_view_->AnimateToState(1.0);
1081 } 1114 }
1082 1115
1083 // static 1116 // static
1084 ExtensionInstallPrompt::ShowDialogCallback 1117 ExtensionInstallPrompt::ShowDialogCallback
1085 ExtensionInstallPrompt::GetDefaultShowDialogCallback() { 1118 ExtensionInstallPrompt::GetDefaultShowDialogCallback() {
1086 return base::Bind(&ShowExtensionInstallDialogImpl); 1119 return base::Bind(&ShowExtensionInstallDialogImpl);
1087 } 1120 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698