| 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 <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 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 658 show_params_( | 658 show_params_( |
| 659 new ExtensionInstallPromptShowParams(profile, native_window)), | 659 new ExtensionInstallPromptShowParams(profile, native_window)), |
| 660 delegate_(NULL) { | 660 delegate_(NULL) { |
| 661 } | 661 } |
| 662 | 662 |
| 663 ExtensionInstallPrompt::~ExtensionInstallPrompt() { | 663 ExtensionInstallPrompt::~ExtensionInstallPrompt() { |
| 664 } | 664 } |
| 665 | 665 |
| 666 void ExtensionInstallPrompt::ConfirmBundleInstall( | 666 void ExtensionInstallPrompt::ConfirmBundleInstall( |
| 667 extensions::BundleInstaller* bundle, | 667 extensions::BundleInstaller* bundle, |
| 668 const SkBitmap* icon, |
| 668 const PermissionSet* permissions) { | 669 const PermissionSet* permissions) { |
| 669 DCHECK(ui_loop_ == base::MessageLoop::current()); | 670 DCHECK(ui_loop_ == base::MessageLoop::current()); |
| 670 bundle_ = bundle; | 671 bundle_ = bundle; |
| 671 custom_permissions_ = permissions; | 672 custom_permissions_ = permissions; |
| 672 delegate_ = bundle; | 673 delegate_ = bundle; |
| 673 prompt_ = new Prompt(BUNDLE_INSTALL_PROMPT); | 674 prompt_ = new Prompt(BUNDLE_INSTALL_PROMPT); |
| 674 | 675 |
| 676 SetIcon(icon); |
| 675 ShowConfirmation(); | 677 ShowConfirmation(); |
| 676 } | 678 } |
| 677 | 679 |
| 678 void ExtensionInstallPrompt::ConfirmStandaloneInstall( | 680 void ExtensionInstallPrompt::ConfirmStandaloneInstall( |
| 679 Delegate* delegate, | 681 Delegate* delegate, |
| 680 const Extension* extension, | 682 const Extension* extension, |
| 681 SkBitmap* icon, | 683 SkBitmap* icon, |
| 682 scoped_refptr<Prompt> prompt) { | 684 scoped_refptr<Prompt> prompt) { |
| 683 DCHECK(ui_loop_ == base::MessageLoop::current()); | 685 DCHECK(ui_loop_ == base::MessageLoop::current()); |
| 684 extension_ = extension; | 686 extension_ = extension; |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 824 | 826 |
| 825 void ExtensionInstallPrompt::SetIcon(const SkBitmap* image) { | 827 void ExtensionInstallPrompt::SetIcon(const SkBitmap* image) { |
| 826 if (image) | 828 if (image) |
| 827 icon_ = *image; | 829 icon_ = *image; |
| 828 else | 830 else |
| 829 icon_ = SkBitmap(); | 831 icon_ = SkBitmap(); |
| 830 if (icon_.empty()) { | 832 if (icon_.empty()) { |
| 831 // Let's set default icon bitmap whose size is equal to the default icon's | 833 // Let's set default icon bitmap whose size is equal to the default icon's |
| 832 // pixel size under maximal supported scale factor. If the bitmap is larger | 834 // pixel size under maximal supported scale factor. If the bitmap is larger |
| 833 // than the one we need, it will be scaled down by the ui code. | 835 // than the one we need, it will be scaled down by the ui code. |
| 834 icon_ = GetDefaultIconBitmapForMaxScaleFactor(extension_->is_app()); | 836 icon_ = GetDefaultIconBitmapForMaxScaleFactor( |
| 837 extension_ ? extension_->is_app() : false); |
| 835 } | 838 } |
| 836 } | 839 } |
| 837 | 840 |
| 838 void ExtensionInstallPrompt::OnImageLoaded(const gfx::Image& image) { | 841 void ExtensionInstallPrompt::OnImageLoaded(const gfx::Image& image) { |
| 839 SetIcon(image.IsEmpty() ? NULL : image.ToSkBitmap()); | 842 SetIcon(image.IsEmpty() ? NULL : image.ToSkBitmap()); |
| 840 ShowConfirmation(); | 843 ShowConfirmation(); |
| 841 } | 844 } |
| 842 | 845 |
| 843 void ExtensionInstallPrompt::LoadImageIfNeeded() { | 846 void ExtensionInstallPrompt::LoadImageIfNeeded() { |
| 844 // Bundle install prompts do not have an icon. | 847 // Bundle install prompts do not have an icon. |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 919 case RE_ENABLE_PROMPT: | 922 case RE_ENABLE_PROMPT: |
| 920 case INLINE_INSTALL_PROMPT: | 923 case INLINE_INSTALL_PROMPT: |
| 921 case EXTERNAL_INSTALL_PROMPT: | 924 case EXTERNAL_INSTALL_PROMPT: |
| 922 case INSTALL_PROMPT: | 925 case INSTALL_PROMPT: |
| 923 case LAUNCH_PROMPT: | 926 case LAUNCH_PROMPT: |
| 924 case POST_INSTALL_PERMISSIONS_PROMPT: | 927 case POST_INSTALL_PERMISSIONS_PROMPT: |
| 925 case REMOTE_INSTALL_PROMPT: | 928 case REMOTE_INSTALL_PROMPT: |
| 926 case REPAIR_PROMPT: | 929 case REPAIR_PROMPT: |
| 927 case DELEGATED_PERMISSIONS_PROMPT: { | 930 case DELEGATED_PERMISSIONS_PROMPT: { |
| 928 prompt_->set_extension(extension_); | 931 prompt_->set_extension(extension_); |
| 929 prompt_->set_icon(gfx::Image::CreateFrom1xBitmap(icon_)); | |
| 930 prompt_->set_delegated_username(delegated_username_); | 932 prompt_->set_delegated_username(delegated_username_); |
| 931 break; | 933 break; |
| 932 } | 934 } |
| 933 case BUNDLE_INSTALL_PROMPT: { | 935 case BUNDLE_INSTALL_PROMPT: { |
| 934 prompt_->set_bundle(bundle_); | 936 prompt_->set_bundle(bundle_); |
| 935 break; | 937 break; |
| 936 } | 938 } |
| 937 default: | 939 default: |
| 938 NOTREACHED() << "Unknown message"; | 940 NOTREACHED() << "Unknown message"; |
| 939 return; | 941 return; |
| 940 } | 942 } |
| 943 prompt_->set_icon(gfx::Image::CreateFrom1xBitmap(icon_)); |
| 941 | 944 |
| 942 g_last_prompt_type_for_tests = prompt_->type(); | 945 g_last_prompt_type_for_tests = prompt_->type(); |
| 943 | 946 |
| 944 if (AutoConfirmPrompt(delegate_)) | 947 if (AutoConfirmPrompt(delegate_)) |
| 945 return; | 948 return; |
| 946 | 949 |
| 947 if (show_params_->WasParentDestroyed()) { | 950 if (show_params_->WasParentDestroyed()) { |
| 948 delegate_->InstallUIAbort(false); | 951 delegate_->InstallUIAbort(false); |
| 949 return; | 952 return; |
| 950 } | 953 } |
| 951 | 954 |
| 952 if (show_dialog_callback_.is_null()) | 955 if (show_dialog_callback_.is_null()) |
| 953 GetDefaultShowDialogCallback().Run(show_params_.get(), delegate_, prompt_); | 956 GetDefaultShowDialogCallback().Run(show_params_.get(), delegate_, prompt_); |
| 954 else | 957 else |
| 955 show_dialog_callback_.Run(show_params_.get(), delegate_, prompt_); | 958 show_dialog_callback_.Run(show_params_.get(), delegate_, prompt_); |
| 956 } | 959 } |
| OLD | NEW |