summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/ui/webui/flags_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/ui/webui/flags_ui.cc')
-rw-r--r--chromium/chrome/browser/ui/webui/flags_ui.cc29
1 files changed, 28 insertions, 1 deletions
diff --git a/chromium/chrome/browser/ui/webui/flags_ui.cc b/chromium/chrome/browser/ui/webui/flags_ui.cc
index a692030be7a..eca2c98b7fe 100644
--- a/chromium/chrome/browser/ui/webui/flags_ui.cc
+++ b/chromium/chrome/browser/ui/webui/flags_ui.cc
@@ -46,8 +46,8 @@
#include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_factory.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/owner_flags_storage.h"
+#include "components/account_id/account_id.h"
#include "components/pref_registry/pref_registry_syncable.h"
-#include "components/signin/core/account_id/account_id.h"
#include "components/user_manager/user_manager.h"
#endif
@@ -113,6 +113,9 @@ class FlagsDOMHandler : public WebUIMessageHandler {
// Callback for the "enableExperimentalFeature" message.
void HandleEnableExperimentalFeatureMessage(const base::ListValue* args);
+ // Callback for the "setOriginListFlag" message.
+ void HandleSetOriginListFlagMessage(const base::ListValue* args);
+
// Callback for the "restartBrowser" message. Restores all tabs on restart.
void HandleRestartBrowser(const base::ListValue* args);
@@ -138,6 +141,10 @@ void FlagsDOMHandler::RegisterMessages() {
&FlagsDOMHandler::HandleEnableExperimentalFeatureMessage,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
+ flags_ui::kSetOriginListFlag,
+ base::BindRepeating(&FlagsDOMHandler::HandleSetOriginListFlagMessage,
+ base::Unretained(this)));
+ web_ui()->RegisterMessageCallback(
flags_ui::kRestartBrowser,
base::BindRepeating(&FlagsDOMHandler::HandleRestartBrowser,
base::Unretained(this)));
@@ -210,6 +217,26 @@ void FlagsDOMHandler::HandleEnableExperimentalFeatureMessage(
enable_str == "true");
}
+void FlagsDOMHandler::HandleSetOriginListFlagMessage(
+ const base::ListValue* args) {
+ DCHECK(flags_storage_);
+ if (args->GetSize() != 2) {
+ NOTREACHED();
+ return;
+ }
+
+ std::string entry_internal_name;
+ std::string value_str;
+ if (!args->GetString(0, &entry_internal_name) ||
+ !args->GetString(1, &value_str) || entry_internal_name.empty()) {
+ NOTREACHED();
+ return;
+ }
+
+ about_flags::SetOriginListFlag(entry_internal_name, value_str,
+ flags_storage_.get());
+}
+
void FlagsDOMHandler::HandleRestartBrowser(const base::ListValue* args) {
DCHECK(flags_storage_);
#if defined(OS_CHROMEOS)