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

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, 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
« no previous file with comments | « chrome/browser/ui/webui/extensions/extension_settings_handler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 662 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 AsWeakPtr())); 673 AsWeakPtr()));
674 web_ui()->RegisterMessageCallback("extensionSettingsToggleDeveloperMode", 674 web_ui()->RegisterMessageCallback("extensionSettingsToggleDeveloperMode",
675 base::Bind(&ExtensionSettingsHandler::HandleToggleDeveloperMode, 675 base::Bind(&ExtensionSettingsHandler::HandleToggleDeveloperMode,
676 AsWeakPtr())); 676 AsWeakPtr()));
677 web_ui()->RegisterMessageCallback("extensionSettingsInspect", 677 web_ui()->RegisterMessageCallback("extensionSettingsInspect",
678 base::Bind(&ExtensionSettingsHandler::HandleInspectMessage, 678 base::Bind(&ExtensionSettingsHandler::HandleInspectMessage,
679 AsWeakPtr())); 679 AsWeakPtr()));
680 web_ui()->RegisterMessageCallback("extensionSettingsLaunch", 680 web_ui()->RegisterMessageCallback("extensionSettingsLaunch",
681 base::Bind(&ExtensionSettingsHandler::HandleLaunchMessage, 681 base::Bind(&ExtensionSettingsHandler::HandleLaunchMessage,
682 AsWeakPtr())); 682 AsWeakPtr()));
683 web_ui()->RegisterMessageCallback("extensionSettingsReload",
684 base::Bind(&ExtensionSettingsHandler::HandleReloadMessage,
685 AsWeakPtr()));
686 web_ui()->RegisterMessageCallback("extensionSettingsRepair", 683 web_ui()->RegisterMessageCallback("extensionSettingsRepair",
687 base::Bind(&ExtensionSettingsHandler::HandleRepairMessage, 684 base::Bind(&ExtensionSettingsHandler::HandleRepairMessage,
688 AsWeakPtr())); 685 AsWeakPtr()));
689 web_ui()->RegisterMessageCallback("extensionSettingsEnableErrorCollection", 686 web_ui()->RegisterMessageCallback("extensionSettingsEnableErrorCollection",
690 base::Bind(&ExtensionSettingsHandler::HandleEnableErrorCollectionMessage, 687 base::Bind(&ExtensionSettingsHandler::HandleEnableErrorCollectionMessage,
691 AsWeakPtr())); 688 AsWeakPtr()));
692 web_ui()->RegisterMessageCallback("extensionSettingsAllowFileAccess",
693 base::Bind(&ExtensionSettingsHandler::HandleAllowFileAccessMessage,
694 AsWeakPtr()));
695 web_ui()->RegisterMessageCallback("extensionSettingsAllowOnAllUrls", 689 web_ui()->RegisterMessageCallback("extensionSettingsAllowOnAllUrls",
696 base::Bind(&ExtensionSettingsHandler::HandleAllowOnAllUrlsMessage, 690 base::Bind(&ExtensionSettingsHandler::HandleAllowOnAllUrlsMessage,
697 AsWeakPtr())); 691 AsWeakPtr()));
698 web_ui()->RegisterMessageCallback("extensionSettingsOptions", 692 web_ui()->RegisterMessageCallback("extensionSettingsOptions",
699 base::Bind(&ExtensionSettingsHandler::HandleOptionsMessage, 693 base::Bind(&ExtensionSettingsHandler::HandleOptionsMessage,
700 AsWeakPtr())); 694 AsWeakPtr()));
701 web_ui()->RegisterMessageCallback("extensionSettingsPermissions", 695 web_ui()->RegisterMessageCallback("extensionSettingsPermissions",
702 base::Bind(&ExtensionSettingsHandler::HandlePermissionsMessage, 696 base::Bind(&ExtensionSettingsHandler::HandlePermissionsMessage,
703 AsWeakPtr())); 697 AsWeakPtr()));
704 web_ui()->RegisterMessageCallback("extensionSettingsShowButton", 698 web_ui()->RegisterMessageCallback("extensionSettingsShowButton",
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
988 std::string extension_id; 982 std::string extension_id;
989 CHECK(args->GetString(0, &extension_id)); 983 CHECK(args->GetString(0, &extension_id));
990 const Extension* extension = 984 const Extension* extension =
991 extension_service_->GetExtensionById(extension_id, false); 985 extension_service_->GetExtensionById(extension_id, false);
992 OpenApplication(AppLaunchParams(extension_service_->profile(), extension, 986 OpenApplication(AppLaunchParams(extension_service_->profile(), extension,
993 extensions::LAUNCH_CONTAINER_WINDOW, 987 extensions::LAUNCH_CONTAINER_WINDOW,
994 NEW_WINDOW, 988 NEW_WINDOW,
995 extensions::SOURCE_EXTENSIONS_PAGE)); 989 extensions::SOURCE_EXTENSIONS_PAGE));
996 } 990 }
997 991
998 void ExtensionSettingsHandler::HandleReloadMessage(
999 const base::ListValue* args) {
1000 std::string extension_id = base::UTF16ToUTF8(ExtractStringValue(args));
1001 CHECK(!extension_id.empty());
1002 extension_service_->ReloadExtensionWithQuietFailure(extension_id);
1003 }
1004
1005 void ExtensionSettingsHandler::HandleRepairMessage( 992 void ExtensionSettingsHandler::HandleRepairMessage(
1006 const base::ListValue* args) { 993 const base::ListValue* args) {
1007 std::string extension_id = base::UTF16ToUTF8(ExtractStringValue(args)); 994 std::string extension_id = base::UTF16ToUTF8(ExtractStringValue(args));
1008 CHECK(!extension_id.empty()); 995 CHECK(!extension_id.empty());
1009 scoped_refptr<WebstoreReinstaller> reinstaller(new WebstoreReinstaller( 996 scoped_refptr<WebstoreReinstaller> reinstaller(new WebstoreReinstaller(
1010 web_contents(), 997 web_contents(),
1011 extension_id, 998 extension_id,
1012 base::Bind(&ExtensionSettingsHandler::OnReinstallComplete, 999 base::Bind(&ExtensionSettingsHandler::OnReinstallComplete,
1013 AsWeakPtr()))); 1000 AsWeakPtr())));
1014 reinstaller->BeginReinstall(); 1001 reinstaller->BeginReinstall();
1015 } 1002 }
1016 1003
1017 void ExtensionSettingsHandler::HandleEnableErrorCollectionMessage( 1004 void ExtensionSettingsHandler::HandleEnableErrorCollectionMessage(
1018 const base::ListValue* args) { 1005 const base::ListValue* args) {
1019 CHECK_EQ(2u, args->GetSize()); 1006 CHECK_EQ(2u, args->GetSize());
1020 std::string extension_id; 1007 std::string extension_id;
1021 std::string enable_str; 1008 std::string enable_str;
1022 CHECK(args->GetString(0, &extension_id)); 1009 CHECK(args->GetString(0, &extension_id));
1023 CHECK(args->GetString(1, &enable_str)); 1010 CHECK(args->GetString(1, &enable_str));
1024 bool enabled = enable_str == "true"; 1011 bool enabled = enable_str == "true";
1025 ErrorConsole::Get(Profile::FromWebUI(web_ui())) 1012 ErrorConsole::Get(Profile::FromWebUI(web_ui()))
1026 ->SetReportingAllForExtension(extension_id, enabled); 1013 ->SetReportingAllForExtension(extension_id, enabled);
1027 } 1014 }
1028 1015
1029 void ExtensionSettingsHandler::HandleAllowFileAccessMessage(
1030 const base::ListValue* args) {
1031 CHECK_EQ(2U, args->GetSize());
1032 std::string extension_id, allow_str;
1033 CHECK(args->GetString(0, &extension_id));
1034 CHECK(args->GetString(1, &allow_str));
1035 const Extension* extension =
1036 extension_service_->GetInstalledExtension(extension_id);
1037 if (!extension)
1038 return;
1039
1040 if (util::IsExtensionSupervised(extension, Profile::FromWebUI(web_ui())))
1041 return;
1042
1043 if (!management_policy_->UserMayModifySettings(extension, NULL)) {
1044 LOG(ERROR) << "An attempt was made to change allow file access of an"
1045 << " extension that is non-usermanagable. Extension id : "
1046 << extension->id();
1047 return;
1048 }
1049
1050 util::SetAllowFileAccess(
1051 extension_id, extension_service_->profile(), allow_str == "true");
1052 }
1053
1054 void ExtensionSettingsHandler::HandleAllowOnAllUrlsMessage( 1016 void ExtensionSettingsHandler::HandleAllowOnAllUrlsMessage(
1055 const base::ListValue* args) { 1017 const base::ListValue* args) {
1056 DCHECK(FeatureSwitch::scripts_require_action()->IsEnabled()); 1018 DCHECK(FeatureSwitch::scripts_require_action()->IsEnabled());
1057 CHECK_EQ(2u, args->GetSize()); 1019 CHECK_EQ(2u, args->GetSize());
1058 std::string extension_id; 1020 std::string extension_id;
1059 std::string allow_str; 1021 std::string allow_str;
1060 CHECK(args->GetString(0, &extension_id)); 1022 CHECK(args->GetString(0, &extension_id));
1061 CHECK(args->GetString(1, &allow_str)); 1023 CHECK(args->GetString(1, &allow_str));
1062 util::SetAllowedScriptingOnAllUrls(extension_id, 1024 util::SetAllowedScriptingOnAllUrls(extension_id,
1063 extension_service_->GetBrowserContext(), 1025 extension_service_->GetBrowserContext(),
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
1353 } 1315 }
1354 1316
1355 void ExtensionSettingsHandler::OnReinstallComplete( 1317 void ExtensionSettingsHandler::OnReinstallComplete(
1356 bool success, 1318 bool success,
1357 const std::string& error, 1319 const std::string& error,
1358 webstore_install::Result result) { 1320 webstore_install::Result result) {
1359 MaybeUpdateAfterNotification(); 1321 MaybeUpdateAfterNotification();
1360 } 1322 }
1361 1323
1362 } // namespace extensions 1324 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/extensions/extension_settings_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698