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/extensions/extension_install_prompt.cc

Issue 51433002: Enable permission warnings from ManifestHandlers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Working on adding ManifestPermissionSet to PermissionSet. Created 7 years, 1 month 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 767 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 void ExtensionInstallPrompt::OnMintTokenFailure( 778 void ExtensionInstallPrompt::OnMintTokenFailure(
779 const GoogleServiceAuthError& error) { 779 const GoogleServiceAuthError& error) {
780 ShowConfirmation(); 780 ShowConfirmation();
781 } 781 }
782 782
783 void ExtensionInstallPrompt::ShowConfirmation() { 783 void ExtensionInstallPrompt::ShowConfirmation() {
784 if (permissions_.get() && 784 if (permissions_.get() &&
785 (!extension_ || 785 (!extension_ ||
786 !extensions::PermissionsData::ShouldSkipPermissionWarnings( 786 !extensions::PermissionsData::ShouldSkipPermissionWarnings(
787 extension_))) { 787 extension_))) {
788 Manifest::Type extension_type = extension_ ? 788 DCHECK(extension_);
789 extension_->GetType() : Manifest::TYPE_UNKNOWN; 789
790 prompt_.SetPermissions( 790 std::vector<string16> all_messages;
791 std::vector<string16> all_messages_details;
792
793 // Messages from PermissionMessageProvider
794 Manifest::Type extension_type = extension_->GetType();
795 std::vector<string16> permission_messages =
791 extensions::PermissionMessageProvider::Get()-> 796 extensions::PermissionMessageProvider::Get()->
792 GetWarningMessages(permissions_, extension_type)); 797 GetWarningMessages(permissions_, extension_type);
793 prompt_.SetPermissionsDetails( 798 std::vector<string16> permission_messages_details =
794 extensions::PermissionMessageProvider::Get()-> 799 extensions::PermissionMessageProvider::Get()->
795 GetWarningMessagesDetails(permissions_, extension_type)); 800 GetWarningMessagesDetails(permissions_, extension_type);
801
802 all_messages.insert(all_messages.end(),
803 permission_messages.begin(),
804 permission_messages.end());
805 all_messages_details.insert(all_messages_details.end(),
806 permission_messages_details.begin(),
807 permission_messages_details.end());
808
809 // Messages from extension's ManifestHandlers
810 std::vector<string16> manifest_messages =
811 extensions::ManifestHandler::
812 GetExtensionPermissionWarningMessages(extension_);
813 std::vector<string16> manifest_messages_details =
814 extensions::ManifestHandler::
815 GetExtensionPermissionWarningMessagesDetails(extension_);
816
817 all_messages.insert(all_messages.end(),
818 manifest_messages.begin(),
819 manifest_messages.end());
820 all_messages_details.insert(all_messages_details.end(),
821 manifest_messages_details.begin(),
822 manifest_messages_details.end());
823
824 prompt_.SetPermissions(all_messages);
825 prompt_.SetPermissionsDetails(all_messages_details);
796 } 826 }
797 827
798 switch (prompt_.type()) { 828 switch (prompt_.type()) {
799 case PERMISSIONS_PROMPT: 829 case PERMISSIONS_PROMPT:
800 case RE_ENABLE_PROMPT: 830 case RE_ENABLE_PROMPT:
801 case INLINE_INSTALL_PROMPT: 831 case INLINE_INSTALL_PROMPT:
802 case EXTERNAL_INSTALL_PROMPT: 832 case EXTERNAL_INSTALL_PROMPT:
803 case INSTALL_PROMPT: 833 case INSTALL_PROMPT:
804 case LAUNCH_PROMPT: 834 case LAUNCH_PROMPT:
805 case POST_INSTALL_PERMISSIONS_PROMPT: { 835 case POST_INSTALL_PERMISSIONS_PROMPT: {
(...skipping 11 matching lines...) Expand all
817 } 847 }
818 848
819 if (AutoConfirmPrompt(delegate_)) 849 if (AutoConfirmPrompt(delegate_))
820 return; 850 return;
821 851
822 if (show_dialog_callback_.is_null()) 852 if (show_dialog_callback_.is_null())
823 GetDefaultShowDialogCallback().Run(show_params_, delegate_, prompt_); 853 GetDefaultShowDialogCallback().Run(show_params_, delegate_, prompt_);
824 else 854 else
825 show_dialog_callback_.Run(show_params_, delegate_, prompt_); 855 show_dialog_callback_.Run(show_params_, delegate_, prompt_);
826 } 856 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698