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

Side by Side Diff: chrome/browser/ui/webui/extensions/extension_settings_handler.cc

Issue 954943007: [Extensions] Make chrome://extensions use api functions for file access, reload (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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/webui/extensions/extension_settings_handler.h" 5 #include "chrome/browser/ui/webui/extensions/extension_settings_handler.h"
6 6
7 #include "apps/app_load_service.h" 7 #include "apps/app_load_service.h"
8 #include "apps/saved_files_service.h" 8 #include "apps/saved_files_service.h"
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/base64.h" 10 #include "base/base64.h"
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 AsWeakPtr())); 684 AsWeakPtr()));
685 web_ui()->RegisterMessageCallback("extensionSettingsToggleDeveloperMode", 685 web_ui()->RegisterMessageCallback("extensionSettingsToggleDeveloperMode",
686 base::Bind(&ExtensionSettingsHandler::HandleToggleDeveloperMode, 686 base::Bind(&ExtensionSettingsHandler::HandleToggleDeveloperMode,
687 AsWeakPtr())); 687 AsWeakPtr()));
688 web_ui()->RegisterMessageCallback("extensionSettingsInspect", 688 web_ui()->RegisterMessageCallback("extensionSettingsInspect",
689 base::Bind(&ExtensionSettingsHandler::HandleInspectMessage, 689 base::Bind(&ExtensionSettingsHandler::HandleInspectMessage,
690 AsWeakPtr())); 690 AsWeakPtr()));
691 web_ui()->RegisterMessageCallback("extensionSettingsLaunch", 691 web_ui()->RegisterMessageCallback("extensionSettingsLaunch",
692 base::Bind(&ExtensionSettingsHandler::HandleLaunchMessage, 692 base::Bind(&ExtensionSettingsHandler::HandleLaunchMessage,
693 AsWeakPtr())); 693 AsWeakPtr()));
694 web_ui()->RegisterMessageCallback("extensionSettingsReload",
695 base::Bind(&ExtensionSettingsHandler::HandleReloadMessage,
696 AsWeakPtr()));
697 web_ui()->RegisterMessageCallback("extensionSettingsRepair", 694 web_ui()->RegisterMessageCallback("extensionSettingsRepair",
698 base::Bind(&ExtensionSettingsHandler::HandleRepairMessage, 695 base::Bind(&ExtensionSettingsHandler::HandleRepairMessage,
699 AsWeakPtr())); 696 AsWeakPtr()));
700 web_ui()->RegisterMessageCallback("extensionSettingsEnableErrorCollection", 697 web_ui()->RegisterMessageCallback("extensionSettingsEnableErrorCollection",
701 base::Bind(&ExtensionSettingsHandler::HandleEnableErrorCollectionMessage, 698 base::Bind(&ExtensionSettingsHandler::HandleEnableErrorCollectionMessage,
702 AsWeakPtr())); 699 AsWeakPtr()));
703 web_ui()->RegisterMessageCallback("extensionSettingsAllowFileAccess",
704 base::Bind(&ExtensionSettingsHandler::HandleAllowFileAccessMessage,
705 AsWeakPtr()));
706 web_ui()->RegisterMessageCallback("extensionSettingsAllowOnAllUrls", 700 web_ui()->RegisterMessageCallback("extensionSettingsAllowOnAllUrls",
707 base::Bind(&ExtensionSettingsHandler::HandleAllowOnAllUrlsMessage, 701 base::Bind(&ExtensionSettingsHandler::HandleAllowOnAllUrlsMessage,
708 AsWeakPtr())); 702 AsWeakPtr()));
709 web_ui()->RegisterMessageCallback("extensionSettingsUninstall", 703 web_ui()->RegisterMessageCallback("extensionSettingsUninstall",
710 base::Bind(&ExtensionSettingsHandler::HandleUninstallMessage, 704 base::Bind(&ExtensionSettingsHandler::HandleUninstallMessage,
711 AsWeakPtr())); 705 AsWeakPtr()));
712 web_ui()->RegisterMessageCallback("extensionSettingsOptions", 706 web_ui()->RegisterMessageCallback("extensionSettingsOptions",
713 base::Bind(&ExtensionSettingsHandler::HandleOptionsMessage, 707 base::Bind(&ExtensionSettingsHandler::HandleOptionsMessage,
714 AsWeakPtr())); 708 AsWeakPtr()));
715 web_ui()->RegisterMessageCallback("extensionSettingsPermissions", 709 web_ui()->RegisterMessageCallback("extensionSettingsPermissions",
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
1037 std::string extension_id; 1031 std::string extension_id;
1038 CHECK(args->GetString(0, &extension_id)); 1032 CHECK(args->GetString(0, &extension_id));
1039 const Extension* extension = 1033 const Extension* extension =
1040 extension_service_->GetExtensionById(extension_id, false); 1034 extension_service_->GetExtensionById(extension_id, false);
1041 OpenApplication(AppLaunchParams(extension_service_->profile(), extension, 1035 OpenApplication(AppLaunchParams(extension_service_->profile(), extension,
1042 extensions::LAUNCH_CONTAINER_WINDOW, 1036 extensions::LAUNCH_CONTAINER_WINDOW,
1043 NEW_WINDOW, 1037 NEW_WINDOW,
1044 extensions::SOURCE_EXTENSIONS_PAGE)); 1038 extensions::SOURCE_EXTENSIONS_PAGE));
1045 } 1039 }
1046 1040
1047 void ExtensionSettingsHandler::HandleReloadMessage(
1048 const base::ListValue* args) {
1049 std::string extension_id = base::UTF16ToUTF8(ExtractStringValue(args));
1050 CHECK(!extension_id.empty());
1051 extension_service_->ReloadExtensionWithQuietFailure(extension_id);
1052 }
1053
1054 void ExtensionSettingsHandler::HandleRepairMessage( 1041 void ExtensionSettingsHandler::HandleRepairMessage(
1055 const base::ListValue* args) { 1042 const base::ListValue* args) {
1056 std::string extension_id = base::UTF16ToUTF8(ExtractStringValue(args)); 1043 std::string extension_id = base::UTF16ToUTF8(ExtractStringValue(args));
1057 CHECK(!extension_id.empty()); 1044 CHECK(!extension_id.empty());
1058 scoped_refptr<WebstoreReinstaller> reinstaller(new WebstoreReinstaller( 1045 scoped_refptr<WebstoreReinstaller> reinstaller(new WebstoreReinstaller(
1059 web_contents(), 1046 web_contents(),
1060 extension_id, 1047 extension_id,
1061 base::Bind(&ExtensionSettingsHandler::OnReinstallComplete, 1048 base::Bind(&ExtensionSettingsHandler::OnReinstallComplete,
1062 AsWeakPtr()))); 1049 AsWeakPtr())));
1063 reinstaller->BeginReinstall(); 1050 reinstaller->BeginReinstall();
1064 } 1051 }
1065 1052
1066 void ExtensionSettingsHandler::HandleEnableErrorCollectionMessage( 1053 void ExtensionSettingsHandler::HandleEnableErrorCollectionMessage(
1067 const base::ListValue* args) { 1054 const base::ListValue* args) {
1068 CHECK_EQ(2u, args->GetSize()); 1055 CHECK_EQ(2u, args->GetSize());
1069 std::string extension_id; 1056 std::string extension_id;
1070 std::string enable_str; 1057 std::string enable_str;
1071 CHECK(args->GetString(0, &extension_id)); 1058 CHECK(args->GetString(0, &extension_id));
1072 CHECK(args->GetString(1, &enable_str)); 1059 CHECK(args->GetString(1, &enable_str));
1073 bool enabled = enable_str == "true"; 1060 bool enabled = enable_str == "true";
1074 ErrorConsole::Get(Profile::FromWebUI(web_ui())) 1061 ErrorConsole::Get(Profile::FromWebUI(web_ui()))
1075 ->SetReportingAllForExtension(extension_id, enabled); 1062 ->SetReportingAllForExtension(extension_id, enabled);
1076 } 1063 }
1077 1064
1078 void ExtensionSettingsHandler::HandleAllowFileAccessMessage(
1079 const base::ListValue* args) {
1080 CHECK_EQ(2U, args->GetSize());
1081 std::string extension_id, allow_str;
1082 CHECK(args->GetString(0, &extension_id));
1083 CHECK(args->GetString(1, &allow_str));
1084 const Extension* extension =
1085 extension_service_->GetInstalledExtension(extension_id);
1086 if (!extension)
1087 return;
1088
1089 if (util::IsExtensionSupervised(extension, Profile::FromWebUI(web_ui())))
not at google - send to devlin 2015/02/26 00:56:48 Looks like you lost this check in the move to the
Devlin 2015/02/26 01:14:03 I didn't miss it; it wasn't there when I moved it!
1090 return;
1091
1092 if (!management_policy_->UserMayModifySettings(extension, NULL)) {
1093 LOG(ERROR) << "An attempt was made to change allow file access of an"
1094 << " extension that is non-usermanagable. Extension id : "
1095 << extension->id();
1096 return;
1097 }
1098
1099 util::SetAllowFileAccess(
1100 extension_id, extension_service_->profile(), allow_str == "true");
1101 }
1102
1103 void ExtensionSettingsHandler::HandleAllowOnAllUrlsMessage( 1065 void ExtensionSettingsHandler::HandleAllowOnAllUrlsMessage(
1104 const base::ListValue* args) { 1066 const base::ListValue* args) {
1105 DCHECK(FeatureSwitch::scripts_require_action()->IsEnabled()); 1067 DCHECK(FeatureSwitch::scripts_require_action()->IsEnabled());
1106 CHECK_EQ(2u, args->GetSize()); 1068 CHECK_EQ(2u, args->GetSize());
1107 std::string extension_id; 1069 std::string extension_id;
1108 std::string allow_str; 1070 std::string allow_str;
1109 CHECK(args->GetString(0, &extension_id)); 1071 CHECK(args->GetString(0, &extension_id));
1110 CHECK(args->GetString(1, &allow_str)); 1072 CHECK(args->GetString(1, &allow_str));
1111 util::SetAllowedScriptingOnAllUrls(extension_id, 1073 util::SetAllowedScriptingOnAllUrls(extension_id,
1112 extension_service_->GetBrowserContext(), 1074 extension_service_->GetBrowserContext(),
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
1443 } 1405 }
1444 1406
1445 void ExtensionSettingsHandler::OnReinstallComplete( 1407 void ExtensionSettingsHandler::OnReinstallComplete(
1446 bool success, 1408 bool success,
1447 const std::string& error, 1409 const std::string& error,
1448 webstore_install::Result result) { 1410 webstore_install::Result result) {
1449 MaybeUpdateAfterNotification(); 1411 MaybeUpdateAfterNotification();
1450 } 1412 }
1451 1413
1452 } // namespace extensions 1414 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698