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

Side by Side Diff: chrome/browser/extensions/extension_install_prompt.cc

Issue 968183002: Extension install prompt: in the delegated permissions prompt, include optional permissions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@testext_permission_prompt
Patch Set: add test Created 5 years, 9 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/extensions/extension_install_prompt.h" 5 #include "chrome/browser/extensions/extension_install_prompt.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 18 matching lines...) Expand all
29 #include "extensions/browser/image_loader.h" 29 #include "extensions/browser/image_loader.h"
30 #include "extensions/browser/install/extension_install_ui.h" 30 #include "extensions/browser/install/extension_install_ui.h"
31 #include "extensions/common/constants.h" 31 #include "extensions/common/constants.h"
32 #include "extensions/common/extension.h" 32 #include "extensions/common/extension.h"
33 #include "extensions/common/extension_icon_set.h" 33 #include "extensions/common/extension_icon_set.h"
34 #include "extensions/common/extension_resource.h" 34 #include "extensions/common/extension_resource.h"
35 #include "extensions/common/feature_switch.h" 35 #include "extensions/common/feature_switch.h"
36 #include "extensions/common/manifest.h" 36 #include "extensions/common/manifest.h"
37 #include "extensions/common/manifest_constants.h" 37 #include "extensions/common/manifest_constants.h"
38 #include "extensions/common/manifest_handlers/icons_handler.h" 38 #include "extensions/common/manifest_handlers/icons_handler.h"
39 #include "extensions/common/manifest_handlers/permissions_parser.h"
39 #include "extensions/common/permissions/permission_message_provider.h" 40 #include "extensions/common/permissions/permission_message_provider.h"
40 #include "extensions/common/permissions/permission_set.h" 41 #include "extensions/common/permissions/permission_set.h"
41 #include "extensions/common/permissions/permissions_data.h" 42 #include "extensions/common/permissions/permissions_data.h"
42 #include "extensions/common/url_pattern.h" 43 #include "extensions/common/url_pattern.h"
43 #include "grit/theme_resources.h" 44 #include "grit/theme_resources.h"
44 #include "ui/base/l10n/l10n_util.h" 45 #include "ui/base/l10n/l10n_util.h"
45 #include "ui/base/resource/resource_bundle.h" 46 #include "ui/base/resource/resource_bundle.h"
46 #include "ui/base/ui_base_types.h" 47 #include "ui/base/ui_base_types.h"
47 #include "ui/gfx/image/image.h" 48 #include "ui/gfx/image/image.h"
48 49
(...skipping 868 matching lines...) Expand 10 before | Expand all | Expand 10 after
917 if (custom_permissions_.get()) { 918 if (custom_permissions_.get()) {
918 permissions_to_display = custom_permissions_; 919 permissions_to_display = custom_permissions_;
919 } else if (extension_) { 920 } else if (extension_) {
920 // Initialize permissions if they have not already been set so that 921 // Initialize permissions if they have not already been set so that
921 // withheld permissions are displayed properly in the install prompt. 922 // withheld permissions are displayed properly in the install prompt.
922 extensions::PermissionsUpdater( 923 extensions::PermissionsUpdater(
923 profile_, extensions::PermissionsUpdater::INIT_FLAG_TRANSIENT) 924 profile_, extensions::PermissionsUpdater::INIT_FLAG_TRANSIENT)
924 .InitializePermissions(extension_); 925 .InitializePermissions(extension_);
925 permissions_to_display = 926 permissions_to_display =
926 extension_->permissions_data()->active_permissions(); 927 extension_->permissions_data()->active_permissions();
928 // For delegated installs, all optional permissions are pre-approved by the
929 // person who triggers the install, so add them to the list.
930 if (prompt_->type() == DELEGATED_PERMISSIONS_PROMPT) {
931 scoped_refptr<const PermissionSet> optional_permissions =
932 extensions::PermissionsParser::GetOptionalPermissions(extension_);
933 permissions_to_display = PermissionSet::CreateUnion(
934 permissions_to_display.get(),
935 optional_permissions.get());
936 }
927 } 937 }
928 938
929 if (permissions_to_display.get() && 939 if (permissions_to_display.get() &&
930 (!extension_ || 940 (!extension_ ||
931 !extensions::PermissionsData::ShouldSkipPermissionWarnings( 941 !extensions::PermissionsData::ShouldSkipPermissionWarnings(
932 extension_->id()))) { 942 extension_->id()))) {
933 Manifest::Type type = 943 Manifest::Type type =
934 extension_ ? extension_->GetType() : Manifest::TYPE_UNKNOWN; 944 extension_ ? extension_->GetType() : Manifest::TYPE_UNKNOWN;
935 const extensions::PermissionMessageProvider* message_provider = 945 const extensions::PermissionMessageProvider* message_provider =
936 extensions::PermissionMessageProvider::Get(); 946 extensions::PermissionMessageProvider::Get();
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
986 if (show_params_->WasParentDestroyed()) { 996 if (show_params_->WasParentDestroyed()) {
987 delegate_->InstallUIAbort(false); 997 delegate_->InstallUIAbort(false);
988 return; 998 return;
989 } 999 }
990 1000
991 if (show_dialog_callback_.is_null()) 1001 if (show_dialog_callback_.is_null())
992 GetDefaultShowDialogCallback().Run(show_params_.get(), delegate_, prompt_); 1002 GetDefaultShowDialogCallback().Run(show_params_.get(), delegate_, prompt_);
993 else 1003 else
994 show_dialog_callback_.Run(show_params_.get(), delegate_, prompt_); 1004 show_dialog_callback_.Run(show_params_.get(), delegate_, prompt_);
995 } 1005 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698