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

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

Issue 997183005: [Extensions] Add a developerPrivate.updateExtensionConfiguration function (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
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 <vector> 7 #include <vector>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/bind_helpers.h" 11 #include "base/bind_helpers.h"
12 #include "base/location.h" 12 #include "base/location.h"
13 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
14 #include "base/metrics/histogram.h" 14 #include "base/metrics/histogram.h"
15 #include "base/prefs/pref_service.h" 15 #include "base/prefs/pref_service.h"
16 #include "base/strings/string_util.h" 16 #include "base/strings/string_util.h"
17 #include "base/strings/utf_string_conversions.h" 17 #include "base/strings/utf_string_conversions.h"
18 #include "base/values.h" 18 #include "base/values.h"
19 #include "base/version.h" 19 #include "base/version.h"
20 #include "chrome/browser/background/background_contents.h" 20 #include "chrome/browser/background/background_contents.h"
21 #include "chrome/browser/browser_process.h" 21 #include "chrome/browser/browser_process.h"
22 #include "chrome/browser/chrome_notification_types.h" 22 #include "chrome/browser/chrome_notification_types.h"
23 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
24 #include "chrome/browser/extensions/error_console/error_console.h" 23 #include "chrome/browser/extensions/error_console/error_console.h"
25 #include "chrome/browser/extensions/extension_management.h" 24 #include "chrome/browser/extensions/extension_management.h"
26 #include "chrome/browser/extensions/extension_service.h" 25 #include "chrome/browser/extensions/extension_service.h"
27 #include "chrome/browser/extensions/extension_tab_util.h" 26 #include "chrome/browser/extensions/extension_tab_util.h"
28 #include "chrome/browser/extensions/extension_ui_util.h" 27 #include "chrome/browser/extensions/extension_ui_util.h"
29 #include "chrome/browser/extensions/extension_util.h"
30 #include "chrome/browser/extensions/install_verifier.h" 28 #include "chrome/browser/extensions/install_verifier.h"
31 #include "chrome/browser/extensions/updater/extension_updater.h" 29 #include "chrome/browser/extensions/updater/extension_updater.h"
32 #include "chrome/browser/extensions/webstore_reinstaller.h" 30 #include "chrome/browser/extensions/webstore_reinstaller.h"
33 #include "chrome/browser/platform_util.h" 31 #include "chrome/browser/platform_util.h"
34 #include "chrome/browser/prefs/incognito_mode_prefs.h" 32 #include "chrome/browser/prefs/incognito_mode_prefs.h"
35 #include "chrome/browser/profiles/profile.h" 33 #include "chrome/browser/profiles/profile.h"
36 #include "chrome/browser/ui/apps/app_info_dialog.h" 34 #include "chrome/browser/ui/apps/app_info_dialog.h"
37 #include "chrome/browser/ui/browser.h" 35 #include "chrome/browser/ui/browser.h"
38 #include "chrome/browser/ui/browser_finder.h" 36 #include "chrome/browser/ui/browser_finder.h"
39 #include "chrome/browser/ui/browser_window.h" 37 #include "chrome/browser/ui/browser_window.h"
(...skipping 22 matching lines...) Expand all
62 #include "extensions/browser/extension_registry.h" 60 #include "extensions/browser/extension_registry.h"
63 #include "extensions/browser/extension_system.h" 61 #include "extensions/browser/extension_system.h"
64 #include "extensions/browser/management_policy.h" 62 #include "extensions/browser/management_policy.h"
65 #include "extensions/browser/pref_names.h" 63 #include "extensions/browser/pref_names.h"
66 #include "extensions/browser/warning_set.h" 64 #include "extensions/browser/warning_set.h"
67 #include "extensions/common/constants.h" 65 #include "extensions/common/constants.h"
68 #include "extensions/common/extension.h" 66 #include "extensions/common/extension.h"
69 #include "extensions/common/extension_icon_set.h" 67 #include "extensions/common/extension_icon_set.h"
70 #include "extensions/common/extension_set.h" 68 #include "extensions/common/extension_set.h"
71 #include "extensions/common/extension_urls.h" 69 #include "extensions/common/extension_urls.h"
72 #include "extensions/common/feature_switch.h"
73 #include "extensions/common/manifest.h" 70 #include "extensions/common/manifest.h"
74 #include "extensions/common/manifest_handlers/options_page_info.h" 71 #include "extensions/common/manifest_handlers/options_page_info.h"
75 #include "extensions/common/permissions/permissions_data.h" 72 #include "extensions/common/permissions/permissions_data.h"
76 #include "grit/browser_resources.h" 73 #include "grit/browser_resources.h"
77 #include "grit/components_strings.h" 74 #include "grit/components_strings.h"
78 #include "grit/theme_resources.h" 75 #include "grit/theme_resources.h"
79 #include "ui/base/l10n/l10n_util.h" 76 #include "ui/base/l10n/l10n_util.h"
80 #include "url/gurl.h" 77 #include "url/gurl.h"
81 78
82 namespace { 79 namespace {
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 AsWeakPtr())); 347 AsWeakPtr()));
351 web_ui()->RegisterMessageCallback("extensionSettingsToggleDeveloperMode", 348 web_ui()->RegisterMessageCallback("extensionSettingsToggleDeveloperMode",
352 base::Bind(&ExtensionSettingsHandler::HandleToggleDeveloperMode, 349 base::Bind(&ExtensionSettingsHandler::HandleToggleDeveloperMode,
353 AsWeakPtr())); 350 AsWeakPtr()));
354 web_ui()->RegisterMessageCallback("extensionSettingsLaunch", 351 web_ui()->RegisterMessageCallback("extensionSettingsLaunch",
355 base::Bind(&ExtensionSettingsHandler::HandleLaunchMessage, 352 base::Bind(&ExtensionSettingsHandler::HandleLaunchMessage,
356 AsWeakPtr())); 353 AsWeakPtr()));
357 web_ui()->RegisterMessageCallback("extensionSettingsRepair", 354 web_ui()->RegisterMessageCallback("extensionSettingsRepair",
358 base::Bind(&ExtensionSettingsHandler::HandleRepairMessage, 355 base::Bind(&ExtensionSettingsHandler::HandleRepairMessage,
359 AsWeakPtr())); 356 AsWeakPtr()));
360 web_ui()->RegisterMessageCallback("extensionSettingsEnableErrorCollection",
361 base::Bind(&ExtensionSettingsHandler::HandleEnableErrorCollectionMessage,
362 AsWeakPtr()));
363 web_ui()->RegisterMessageCallback("extensionSettingsAllowOnAllUrls",
364 base::Bind(&ExtensionSettingsHandler::HandleAllowOnAllUrlsMessage,
365 AsWeakPtr()));
366 web_ui()->RegisterMessageCallback("extensionSettingsOptions", 357 web_ui()->RegisterMessageCallback("extensionSettingsOptions",
367 base::Bind(&ExtensionSettingsHandler::HandleOptionsMessage, 358 base::Bind(&ExtensionSettingsHandler::HandleOptionsMessage,
368 AsWeakPtr())); 359 AsWeakPtr()));
369 web_ui()->RegisterMessageCallback("extensionSettingsShowButton",
370 base::Bind(&ExtensionSettingsHandler::HandleShowButtonMessage,
371 AsWeakPtr()));
372 web_ui()->RegisterMessageCallback("extensionSettingsAutoupdate", 360 web_ui()->RegisterMessageCallback("extensionSettingsAutoupdate",
373 base::Bind(&ExtensionSettingsHandler::HandleAutoUpdateMessage, 361 base::Bind(&ExtensionSettingsHandler::HandleAutoUpdateMessage,
374 AsWeakPtr())); 362 AsWeakPtr()));
375 web_ui()->RegisterMessageCallback("extensionSettingsDismissADTPromo", 363 web_ui()->RegisterMessageCallback("extensionSettingsDismissADTPromo",
376 base::Bind(&ExtensionSettingsHandler::HandleDismissADTPromoMessage, 364 base::Bind(&ExtensionSettingsHandler::HandleDismissADTPromoMessage,
377 AsWeakPtr())); 365 AsWeakPtr()));
378 web_ui()->RegisterMessageCallback("extensionSettingsShowPath", 366 web_ui()->RegisterMessageCallback("extensionSettingsShowPath",
379 base::Bind(&ExtensionSettingsHandler::HandleShowPath, 367 base::Bind(&ExtensionSettingsHandler::HandleShowPath,
380 AsWeakPtr())); 368 AsWeakPtr()));
381 } 369 }
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 std::string extension_id = base::UTF16ToUTF8(ExtractStringValue(args)); 556 std::string extension_id = base::UTF16ToUTF8(ExtractStringValue(args));
569 CHECK(!extension_id.empty()); 557 CHECK(!extension_id.empty());
570 scoped_refptr<WebstoreReinstaller> reinstaller(new WebstoreReinstaller( 558 scoped_refptr<WebstoreReinstaller> reinstaller(new WebstoreReinstaller(
571 web_contents(), 559 web_contents(),
572 extension_id, 560 extension_id,
573 base::Bind(&ExtensionSettingsHandler::OnReinstallComplete, 561 base::Bind(&ExtensionSettingsHandler::OnReinstallComplete,
574 AsWeakPtr()))); 562 AsWeakPtr())));
575 reinstaller->BeginReinstall(); 563 reinstaller->BeginReinstall();
576 } 564 }
577 565
578 void ExtensionSettingsHandler::HandleEnableErrorCollectionMessage(
579 const base::ListValue* args) {
580 CHECK_EQ(2u, args->GetSize());
581 std::string extension_id;
582 std::string enable_str;
583 CHECK(args->GetString(0, &extension_id));
584 CHECK(args->GetString(1, &enable_str));
585 bool enabled = enable_str == "true";
586 ErrorConsole::Get(Profile::FromWebUI(web_ui()))
587 ->SetReportingAllForExtension(extension_id, enabled);
588 }
589
590 void ExtensionSettingsHandler::HandleAllowOnAllUrlsMessage(
591 const base::ListValue* args) {
592 DCHECK(FeatureSwitch::scripts_require_action()->IsEnabled());
593 CHECK_EQ(2u, args->GetSize());
594 std::string extension_id;
595 std::string allow_str;
596 CHECK(args->GetString(0, &extension_id));
597 CHECK(args->GetString(1, &allow_str));
598 util::SetAllowedScriptingOnAllUrls(extension_id,
599 extension_service_->GetBrowserContext(),
600 allow_str == "true");
601 }
602
603 void ExtensionSettingsHandler::HandleOptionsMessage( 566 void ExtensionSettingsHandler::HandleOptionsMessage(
604 const base::ListValue* args) { 567 const base::ListValue* args) {
605 const Extension* extension = GetActiveExtension(args); 568 const Extension* extension = GetActiveExtension(args);
606 if (!extension || OptionsPageInfo::GetOptionsPage(extension).is_empty()) 569 if (!extension || OptionsPageInfo::GetOptionsPage(extension).is_empty())
607 return; 570 return;
608 ExtensionTabUtil::OpenOptionsPage(extension, 571 ExtensionTabUtil::OpenOptionsPage(extension,
609 chrome::FindBrowserWithWebContents(web_ui()->GetWebContents())); 572 chrome::FindBrowserWithWebContents(web_ui()->GetWebContents()));
610 } 573 }
611 574
612 void ExtensionSettingsHandler::HandleShowButtonMessage(
613 const base::ListValue* args) {
614 const Extension* extension = GetActiveExtension(args);
615 if (!extension)
616 return;
617 ExtensionActionAPI::SetBrowserActionVisibility(
618 ExtensionPrefs::Get(extension_service_->profile()),
619 extension->id(),
620 true);
621 }
622
623 void ExtensionSettingsHandler::HandleAutoUpdateMessage( 575 void ExtensionSettingsHandler::HandleAutoUpdateMessage(
624 const base::ListValue* args) { 576 const base::ListValue* args) {
625 ExtensionUpdater* updater = extension_service_->updater(); 577 ExtensionUpdater* updater = extension_service_->updater();
626 if (updater) { 578 if (updater) {
627 ExtensionUpdater::CheckParams params; 579 ExtensionUpdater::CheckParams params;
628 params.install_immediately = true; 580 params.install_immediately = true;
629 updater->CheckNow(params); 581 updater->CheckNow(params);
630 } 582 }
631 } 583 }
632 584
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 } 663 }
712 664
713 void ExtensionSettingsHandler::OnReinstallComplete( 665 void ExtensionSettingsHandler::OnReinstallComplete(
714 bool success, 666 bool success,
715 const std::string& error, 667 const std::string& error,
716 webstore_install::Result result) { 668 webstore_install::Result result) {
717 MaybeUpdateAfterNotification(); 669 MaybeUpdateAfterNotification();
718 } 670 }
719 671
720 } // namespace extensions 672 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/extensions/extension_settings_handler.h ('k') | chrome/common/extensions/api/developer_private.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698