| 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/extensions/extension_install_prompt.h" | 5 #include "chrome/browser/extensions/extension_install_prompt.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/callback_helpers.h" | 9 #include "base/callback_helpers.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 #include "extensions/common/extension_icon_set.h" | 31 #include "extensions/common/extension_icon_set.h" |
| 32 #include "extensions/common/extension_resource.h" | 32 #include "extensions/common/extension_resource.h" |
| 33 #include "extensions/common/feature_switch.h" | 33 #include "extensions/common/feature_switch.h" |
| 34 #include "extensions/common/manifest.h" | 34 #include "extensions/common/manifest.h" |
| 35 #include "extensions/common/manifest_constants.h" | 35 #include "extensions/common/manifest_constants.h" |
| 36 #include "extensions/common/manifest_handlers/icons_handler.h" | 36 #include "extensions/common/manifest_handlers/icons_handler.h" |
| 37 #include "extensions/common/manifest_handlers/permissions_parser.h" | 37 #include "extensions/common/manifest_handlers/permissions_parser.h" |
| 38 #include "extensions/common/permissions/permission_message_provider.h" | 38 #include "extensions/common/permissions/permission_message_provider.h" |
| 39 #include "extensions/common/permissions/permission_set.h" | 39 #include "extensions/common/permissions/permission_set.h" |
| 40 #include "extensions/common/permissions/permissions_data.h" | 40 #include "extensions/common/permissions/permissions_data.h" |
| 41 #include "extensions/common/url_pattern.h" | |
| 42 #include "grit/components_strings.h" | 41 #include "grit/components_strings.h" |
| 43 #include "grit/theme_resources.h" | 42 #include "grit/theme_resources.h" |
| 44 #include "ui/base/l10n/l10n_util.h" | 43 #include "ui/base/l10n/l10n_util.h" |
| 45 #include "ui/base/resource/resource_bundle.h" | 44 #include "ui/base/resource/resource_bundle.h" |
| 46 #include "ui/base/ui_base_types.h" | 45 #include "ui/base/ui_base_types.h" |
| 47 #include "ui/gfx/image/image.h" | 46 #include "ui/gfx/image/image_skia.h" |
| 48 | 47 |
| 49 using extensions::BundleInstaller; | 48 using extensions::BundleInstaller; |
| 50 using extensions::Extension; | 49 using extensions::Extension; |
| 51 using extensions::Manifest; | 50 using extensions::Manifest; |
| 52 using extensions::PermissionMessage; | 51 using extensions::PermissionMessage; |
| 53 using extensions::PermissionMessages; | 52 using extensions::PermissionMessages; |
| 54 using extensions::PermissionSet; | 53 using extensions::PermissionSet; |
| 55 | 54 |
| 56 namespace { | 55 namespace { |
| 57 | 56 |
| (...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 616 error); | 615 error); |
| 617 } | 616 } |
| 618 | 617 |
| 619 ExtensionInstallPrompt::ExtensionInstallPrompt(content::WebContents* contents) | 618 ExtensionInstallPrompt::ExtensionInstallPrompt(content::WebContents* contents) |
| 620 : profile_(ProfileForWebContents(contents)), | 619 : profile_(ProfileForWebContents(contents)), |
| 621 ui_loop_(base::MessageLoop::current()), | 620 ui_loop_(base::MessageLoop::current()), |
| 622 extension_(NULL), | 621 extension_(NULL), |
| 623 install_ui_(extensions::CreateExtensionInstallUI( | 622 install_ui_(extensions::CreateExtensionInstallUI( |
| 624 ProfileForWebContents(contents))), | 623 ProfileForWebContents(contents))), |
| 625 show_params_(new ExtensionInstallPromptShowParams(contents)), | 624 show_params_(new ExtensionInstallPromptShowParams(contents)), |
| 626 did_call_show_dialog_(false) { | 625 did_call_show_dialog_(false), |
| 626 weak_factory_(this) { |
| 627 } | 627 } |
| 628 | 628 |
| 629 ExtensionInstallPrompt::ExtensionInstallPrompt(Profile* profile, | 629 ExtensionInstallPrompt::ExtensionInstallPrompt(Profile* profile, |
| 630 gfx::NativeWindow native_window) | 630 gfx::NativeWindow native_window) |
| 631 : profile_(profile), | 631 : profile_(profile), |
| 632 ui_loop_(base::MessageLoop::current()), | 632 ui_loop_(base::MessageLoop::current()), |
| 633 extension_(NULL), | 633 extension_(NULL), |
| 634 install_ui_(extensions::CreateExtensionInstallUI(profile)), | 634 install_ui_(extensions::CreateExtensionInstallUI(profile)), |
| 635 show_params_( | 635 show_params_( |
| 636 new ExtensionInstallPromptShowParams(profile, native_window)), | 636 new ExtensionInstallPromptShowParams(profile, native_window)), |
| 637 did_call_show_dialog_(false) { | 637 did_call_show_dialog_(false), |
| 638 weak_factory_(this) { |
| 638 } | 639 } |
| 639 | 640 |
| 640 ExtensionInstallPrompt::~ExtensionInstallPrompt() { | 641 ExtensionInstallPrompt::~ExtensionInstallPrompt() { |
| 641 } | 642 } |
| 642 | 643 |
| 643 void ExtensionInstallPrompt::ShowDialog( | 644 void ExtensionInstallPrompt::ShowDialog( |
| 644 const DoneCallback& done_callback, | 645 const DoneCallback& done_callback, |
| 645 const Extension* extension, | 646 const Extension* extension, |
| 646 const SkBitmap* icon, | 647 const SkBitmap* icon, |
| 647 const ShowDialogCallback& show_dialog_callback) { | 648 const ShowDialogCallback& show_dialog_callback) { |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 744 | 745 |
| 745 std::vector<extensions::ImageLoader::ImageRepresentation> images_list; | 746 std::vector<extensions::ImageLoader::ImageRepresentation> images_list; |
| 746 images_list.push_back(extensions::ImageLoader::ImageRepresentation( | 747 images_list.push_back(extensions::ImageLoader::ImageRepresentation( |
| 747 image, | 748 image, |
| 748 extensions::ImageLoader::ImageRepresentation::NEVER_RESIZE, | 749 extensions::ImageLoader::ImageRepresentation::NEVER_RESIZE, |
| 749 gfx::Size(), | 750 gfx::Size(), |
| 750 ui::SCALE_FACTOR_100P)); | 751 ui::SCALE_FACTOR_100P)); |
| 751 loader->LoadImagesAsync( | 752 loader->LoadImagesAsync( |
| 752 extension_, | 753 extension_, |
| 753 images_list, | 754 images_list, |
| 754 base::Bind(&ExtensionInstallPrompt::OnImageLoaded, AsWeakPtr())); | 755 base::Bind(&ExtensionInstallPrompt::OnImageLoaded, |
| 756 weak_factory_.GetWeakPtr())); |
| 755 } | 757 } |
| 756 | 758 |
| 757 void ExtensionInstallPrompt::ShowConfirmation() { | 759 void ExtensionInstallPrompt::ShowConfirmation() { |
| 758 scoped_ptr<const PermissionSet> permissions_wrapper; | 760 scoped_ptr<const PermissionSet> permissions_wrapper; |
| 759 const PermissionSet* permissions_to_display = nullptr; | 761 const PermissionSet* permissions_to_display = nullptr; |
| 760 if (custom_permissions_.get()) { | 762 if (custom_permissions_.get()) { |
| 761 permissions_to_display = custom_permissions_.get(); | 763 permissions_to_display = custom_permissions_.get(); |
| 762 } else if (extension_) { | 764 } else if (extension_) { |
| 763 // Initialize permissions if they have not already been set so that | 765 // Initialize permissions if they have not already been set so that |
| 764 // withheld permissions are displayed properly in the install prompt. | 766 // withheld permissions are displayed properly in the install prompt. |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 839 | 841 |
| 840 if (AutoConfirmPrompt(&done_callback_)) | 842 if (AutoConfirmPrompt(&done_callback_)) |
| 841 return; | 843 return; |
| 842 | 844 |
| 843 if (show_dialog_callback_.is_null()) | 845 if (show_dialog_callback_.is_null()) |
| 844 show_dialog_callback_ = GetDefaultShowDialogCallback(); | 846 show_dialog_callback_ = GetDefaultShowDialogCallback(); |
| 845 base::ResetAndReturn(&show_dialog_callback_) | 847 base::ResetAndReturn(&show_dialog_callback_) |
| 846 .Run(show_params_.get(), base::ResetAndReturn(&done_callback_), | 848 .Run(show_params_.get(), base::ResetAndReturn(&done_callback_), |
| 847 std::move(prompt_)); | 849 std::move(prompt_)); |
| 848 } | 850 } |
| OLD | NEW |