Make base::Value::TYPE a scoped enum.

As mentioned in the base::Value refactor proposal, base::Value::Type should be a
C++11 style scoped enumeration. This change addresses this issue by adding the
required keyword, making the necessary substitutions and adding casts where
needed.

[email protected]
BUG=646113
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2539363004
Cr-Commit-Position: refs/heads/master@{#436961}
diff --git a/chrome/browser/apps/drive/drive_app_mapping.cc b/chrome/browser/apps/drive/drive_app_mapping.cc
index 73b08b5..ea8fb0f 100644
--- a/chrome/browser/apps/drive/drive_app_mapping.cc
+++ b/chrome/browser/apps/drive/drive_app_mapping.cc
@@ -84,7 +84,7 @@
        it.Advance()) {
     const base::DictionaryValue* info_dict;
     std::string value_string;
-    DCHECK(it.value().IsType(base::Value::TYPE_DICTIONARY));
+    DCHECK(it.value().IsType(base::Value::Type::DICTIONARY));
     if (it.value().GetAsDictionary(&info_dict) &&
         info_dict->GetStringWithoutPathExpansion(kKeyChromeApp,
                                                  &value_string) &&
@@ -104,7 +104,7 @@
     const base::DictionaryValue* info_dict;
     std::string value_string;
     bool generated = false;
-    DCHECK(it.value().IsType(base::Value::TYPE_DICTIONARY));
+    DCHECK(it.value().IsType(base::Value::Type::DICTIONARY));
     if (it.value().GetAsDictionary(&info_dict) &&
         info_dict->GetStringWithoutPathExpansion(kKeyChromeApp,
                                                  &value_string) &&
diff --git a/chrome/browser/banners/app_banner_settings_helper.cc b/chrome/browser/banners/app_banner_settings_helper.cc
index c93f08a..f11d3253 100644
--- a/chrome/browser/banners/app_banner_settings_helper.cc
+++ b/chrome/browser/banners/app_banner_settings_helper.cc
@@ -354,7 +354,7 @@
   // the times are converted to local dates.
   base::Time date = BucketTimeToResolution(time, gMinimumMinutesBetweenVisits);
   for (auto it = could_show_list->begin(); it != could_show_list->end();) {
-    if ((*it)->IsType(base::Value::TYPE_DICTIONARY)) {
+    if ((*it)->IsType(base::Value::Type::DICTIONARY)) {
       base::DictionaryValue* internal_value;
       double internal_date;
       (*it)->GetAsDictionary(&internal_value);
@@ -496,7 +496,7 @@
     return result;
 
   for (const auto& value : *could_show_list) {
-    if (value->IsType(base::Value::TYPE_DICTIONARY)) {
+    if (value->IsType(base::Value::Type::DICTIONARY)) {
       base::DictionaryValue* internal_value;
       double internal_date = 0;
       value->GetAsDictionary(&internal_value);
@@ -581,7 +581,7 @@
   // homescreen recently, return true.
   for (base::DictionaryValue::Iterator it(*origin_dict); !it.IsAtEnd();
        it.Advance()) {
-    if (it.value().IsType(base::Value::TYPE_DICTIONARY)) {
+    if (it.value().IsType(base::Value::Type::DICTIONARY)) {
       const base::DictionaryValue* value;
       it.value().GetAsDictionary(&value);
 
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
index ab3f3447..77d83cb 100644
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
@@ -113,10 +113,10 @@
 
     base::Value* roots = NULL;
     if (!Write(kHeader) ||
-        bookmarks_->GetType() != base::Value::TYPE_DICTIONARY ||
+        bookmarks_->GetType() != base::Value::Type::DICTIONARY ||
         !static_cast<base::DictionaryValue*>(bookmarks_.get())->Get(
             BookmarkCodec::kRootsKey, &roots) ||
-        roots->GetType() != base::Value::TYPE_DICTIONARY) {
+        roots->GetType() != base::Value::Type::DICTIONARY) {
       NOTREACHED();
       return;
     }
@@ -128,13 +128,13 @@
     base::Value* mobile_folder_value = NULL;
     if (!roots_d_value->Get(BookmarkCodec::kRootFolderNameKey,
                             &root_folder_value) ||
-        root_folder_value->GetType() != base::Value::TYPE_DICTIONARY ||
+        root_folder_value->GetType() != base::Value::Type::DICTIONARY ||
         !roots_d_value->Get(BookmarkCodec::kOtherBookmarkFolderNameKey,
                             &other_folder_value) ||
-        other_folder_value->GetType() != base::Value::TYPE_DICTIONARY ||
+        other_folder_value->GetType() != base::Value::Type::DICTIONARY ||
         !roots_d_value->Get(BookmarkCodec::kMobileBookmarkFolderNameKey,
                             &mobile_folder_value) ||
-        mobile_folder_value->GetType() != base::Value::TYPE_DICTIONARY) {
+        mobile_folder_value->GetType() != base::Value::Type::DICTIONARY) {
       NOTREACHED();
       return;  // Invalid type for root folder and/or other folder.
     }
@@ -306,7 +306,7 @@
     if (!value.GetString(BookmarkCodec::kDateModifiedKey,
                          &last_modified_date) ||
         !value.Get(BookmarkCodec::kChildrenKey, &child_values) ||
-        child_values->GetType() != base::Value::TYPE_LIST) {
+        child_values->GetType() != base::Value::Type::LIST) {
       NOTREACHED();
       return false;
     }
@@ -346,7 +346,7 @@
     for (size_t i = 0; i < children->GetSize(); ++i) {
       const base::Value* child_value;
       if (!children->Get(i, &child_value) ||
-          child_value->GetType() != base::Value::TYPE_DICTIONARY) {
+          child_value->GetType() != base::Value::Type::DICTIONARY) {
         NOTREACHED();
         return false;
       }
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index b9b8d665..2990a9e8 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -2241,7 +2241,7 @@
 
   if (filter.get()) {
     // Try to automatically select a client certificate.
-    if (filter->IsType(base::Value::TYPE_DICTIONARY)) {
+    if (filter->IsType(base::Value::Type::DICTIONARY)) {
       base::DictionaryValue* filter_dict =
           static_cast<base::DictionaryValue*>(filter.get());
 
diff --git a/chrome/browser/chromeos/arc/policy/arc_policy_bridge.cc b/chrome/browser/chromeos/arc/policy/arc_policy_bridge.cc
index 72c9383e..e8fb5980 100644
--- a/chrome/browser/chromeos/arc/policy/arc_policy_bridge.cc
+++ b/chrome/browser/chromeos/arc/policy/arc_policy_bridge.cc
@@ -53,7 +53,7 @@
   const base::Value* const policy_value = policy_map.GetValue(policy_name);
   if (!policy_value)
     return;
-  if (!policy_value->IsType(base::Value::TYPE_BOOLEAN)) {
+  if (!policy_value->IsType(base::Value::Type::BOOLEAN)) {
     LOG(ERROR) << "Policy " << policy_name << " is not a boolean.";
     return;
   }
@@ -73,7 +73,7 @@
   const base::Value* const policy_value = policy_map.GetValue(policy_name);
   if (!policy_value)
     return;
-  if (!policy_value->IsType(base::Value::TYPE_INTEGER)) {
+  if (!policy_value->IsType(base::Value::Type::INTEGER)) {
     LOG(ERROR) << "Policy " << policy_name << " is not an integer.";
     return;
   }
diff --git a/chrome/browser/chromeos/extensions/echo_private_apitest.cc b/chrome/browser/chromeos/extensions/echo_private_apitest.cc
index 4cc1c62..0714c63e 100644
--- a/chrome/browser/chromeos/extensions/echo_private_apitest.cc
+++ b/chrome/browser/chromeos/extensions/echo_private_apitest.cc
@@ -55,7 +55,7 @@
         browser()));
 
     ASSERT_TRUE(result.get());
-    ASSERT_EQ(base::Value::TYPE_BOOLEAN, result->GetType());
+    ASSERT_EQ(base::Value::Type::BOOLEAN, result->GetType());
 
     bool result_as_boolean = false;
     ASSERT_TRUE(result->GetAsBoolean(&result_as_boolean));
diff --git a/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc b/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc
index c474b44..5f56af6 100644
--- a/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc
+++ b/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc
@@ -217,11 +217,11 @@
   std::set<std::string> languages;
   const base::Value* language_value = NULL;
   if (dict.Get(extensions::manifest_keys::kLanguage, &language_value)) {
-    if (language_value->GetType() == base::Value::TYPE_STRING) {
+    if (language_value->GetType() == base::Value::Type::STRING) {
       std::string language_str;
       language_value->GetAsString(&language_str);
       languages.insert(language_str);
-    } else if (language_value->GetType() == base::Value::TYPE_LIST) {
+    } else if (language_value->GetType() == base::Value::Type::LIST) {
       const base::ListValue* language_list = NULL;
       language_value->GetAsList(&language_list);
       for (size_t j = 0; j < language_list->GetSize(); ++j) {
diff --git a/chrome/browser/chromeos/mobile/mobile_activator.cc b/chrome/browser/chromeos/mobile/mobile_activator.cc
index c3b1e1b..a53ed1e 100644
--- a/chrome/browser/chromeos/mobile/mobile_activator.cc
+++ b/chrome/browser/chromeos/mobile/mobile_activator.cc
@@ -131,7 +131,7 @@
   std::unique_ptr<base::Value> root =
       base::JSONReader::Read(config, base::JSON_ALLOW_TRAILING_COMMAS);
   DCHECK(root.get() != NULL);
-  if (!root.get() || root->GetType() != base::Value::TYPE_DICTIONARY) {
+  if (!root.get() || root->GetType() != base::Value::Type::DICTIONARY) {
     LOG(WARNING) << "Bad cellular config file";
     return false;
   }
diff --git a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
index 54fa9c16..928be755 100644
--- a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
+++ b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
@@ -59,7 +59,7 @@
     return false;
   }
   const base::Value* value = CrosSettings::Get()->GetPref(kDeviceOwner);
-  if (!value || value->GetType() != base::Value::TYPE_STRING)
+  if (!value || value->GetType() != base::Value::Type::STRING)
     return false;
   return static_cast<const base::StringValue*>(value)->GetString() == user_id;
 }
@@ -275,7 +275,7 @@
                                                 const base::Value& value) {
   DCHECK(thread_checker_.CalledOnValidThread());
   const base::Value* old_value = CrosSettings::Get()->GetPref(setting);
-  if (old_value && !old_value->IsType(base::Value::TYPE_LIST))
+  if (old_value && !old_value->IsType(base::Value::Type::LIST))
     return false;
   std::unique_ptr<base::ListValue> new_value(
       old_value ? static_cast<const base::ListValue*>(old_value)->DeepCopy()
@@ -288,7 +288,7 @@
                                                   const base::Value& value) {
   DCHECK(thread_checker_.CalledOnValidThread());
   const base::Value* old_value = CrosSettings::Get()->GetPref(setting);
-  if (old_value && !old_value->IsType(base::Value::TYPE_LIST))
+  if (old_value && !old_value->IsType(base::Value::Type::LIST))
     return false;
   std::unique_ptr<base::ListValue> new_value(
       old_value ? static_cast<const base::ListValue*>(old_value)->DeepCopy()
diff --git a/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc b/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc
index a21f61a..1ef2da9 100644
--- a/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc
+++ b/chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.cc
@@ -124,8 +124,7 @@
 }  // namespace
 
 ExternalDataPolicyHandler::ExternalDataPolicyHandler(const char* policy_name)
-    : TypeCheckingPolicyHandler(policy_name, base::Value::TYPE_DICTIONARY) {
-}
+    : TypeCheckingPolicyHandler(policy_name, base::Value::Type::DICTIONARY) {}
 
 ExternalDataPolicyHandler::~ExternalDataPolicyHandler() {
 }
@@ -277,10 +276,9 @@
     const char* policy_name,
     onc::ONCSource onc_source,
     const char* pref_path)
-    : TypeCheckingPolicyHandler(policy_name, base::Value::TYPE_STRING),
+    : TypeCheckingPolicyHandler(policy_name, base::Value::Type::STRING),
       onc_source_(onc_source),
-      pref_path_(pref_path) {
-}
+      pref_path_(pref_path) {}
 
 // static
 std::unique_ptr<base::Value>
diff --git a/chrome/browser/chromeos/proxy_cros_settings_parser.cc b/chrome/browser/chromeos/proxy_cros_settings_parser.cc
index 69eca3d..07353a4 100644
--- a/chrome/browser/chromeos/proxy_cros_settings_parser.cc
+++ b/chrome/browser/chromeos/proxy_cros_settings_parser.cc
@@ -261,7 +261,7 @@
     }
   } else if (path == kProxyIgnoreList) {
     net::ProxyBypassRules bypass_rules;
-    if (in_value->GetType() == base::Value::TYPE_LIST) {
+    if (in_value->GetType() == base::Value::Type::LIST) {
       const base::ListValue* list_value =
           static_cast<const base::ListValue*>(in_value);
       for (size_t x = 0; x < list_value->GetSize(); x++) {
diff --git a/chrome/browser/component_updater/component_installers_unittest.cc b/chrome/browser/component_updater/component_installers_unittest.cc
index 14c128e..39b1a151 100644
--- a/chrome/browser/component_updater/component_installers_unittest.cc
+++ b/chrome/browser/component_updater/component_installers_unittest.cc
@@ -89,7 +89,7 @@
       base::DictionaryValue::From(deserializer.Deserialize(NULL, &error));
 
   ASSERT_TRUE(root);
-  ASSERT_TRUE(root->IsType(base::Value::TYPE_DICTIONARY));
+  ASSERT_TRUE(root->IsType(base::Value::Type::DICTIONARY));
 
   // This checks that the whole manifest is compatible.
   base::Version version;
diff --git a/chrome/browser/component_updater/pnacl_component_installer.cc b/chrome/browser/component_updater/pnacl_component_installer.cc
index 8e46bbd..f3b747b 100644
--- a/chrome/browser/component_updater/pnacl_component_installer.cc
+++ b/chrome/browser/component_updater/pnacl_component_installer.cc
@@ -133,7 +133,7 @@
   std::unique_ptr<base::Value> root = deserializer.Deserialize(NULL, &error);
   if (!root.get())
     return NULL;
-  if (!root->IsType(base::Value::TYPE_DICTIONARY))
+  if (!root->IsType(base::Value::Type::DICTIONARY))
     return NULL;
   return static_cast<base::DictionaryValue*>(root.release());
 }
diff --git a/chrome/browser/content_settings/content_settings_policy_provider_unittest.cc b/chrome/browser/content_settings/content_settings_policy_provider_unittest.cc
index 66adec4..54363f2 100644
--- a/chrome/browser/content_settings/content_settings_policy_provider_unittest.cc
+++ b/chrome/browser/content_settings/content_settings_policy_provider_unittest.cc
@@ -273,7 +273,7 @@
       &provider, google_url, google_url,
       CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, std::string(), false));
 
-  ASSERT_EQ(base::Value::TYPE_DICTIONARY, cert_filter->GetType());
+  ASSERT_EQ(base::Value::Type::DICTIONARY, cert_filter->GetType());
   base::DictionaryValue* dict_value =
       static_cast<base::DictionaryValue*>(cert_filter.get());
   std::string actual_common_name;
diff --git a/chrome/browser/devtools/chrome_devtools_manager_delegate.cc b/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
index a438fc4..58103af1 100644
--- a/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
+++ b/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
@@ -199,7 +199,7 @@
     return DevToolsProtocol::CreateInvalidParamsResponse(command_id,
                                                          kLocationsParam);
   for (const auto& item : *locations) {
-    if (!item->IsType(base::Value::TYPE_DICTIONARY)) {
+    if (!item->IsType(base::Value::Type::DICTIONARY)) {
       return DevToolsProtocol::CreateInvalidParamsResponse(command_id,
                                                            kLocationsParam);
     }
diff --git a/chrome/browser/devtools/devtools_protocol.cc b/chrome/browser/devtools/devtools_protocol.cc
index 34bc3b6..a22811053 100644
--- a/chrome/browser/devtools/devtools_protocol.cc
+++ b/chrome/browser/devtools/devtools_protocol.cc
@@ -93,7 +93,7 @@
     std::string* method,
     std::unique_ptr<base::DictionaryValue>* params) {
   std::unique_ptr<base::Value> value = base::JSONReader::Read(json);
-  if (!value || !value->IsType(base::Value::TYPE_DICTIONARY))
+  if (!value || !value->IsType(base::Value::Type::DICTIONARY))
     return false;
 
   std::unique_ptr<base::DictionaryValue> dict(
@@ -104,7 +104,7 @@
 
   std::unique_ptr<base::Value> params_value;
   dict->Remove(kParamsParam, &params_value);
-  if (params_value && params_value->IsType(base::Value::TYPE_DICTIONARY))
+  if (params_value && params_value->IsType(base::Value::Type::DICTIONARY))
     params->reset(static_cast<base::DictionaryValue*>(params_value.release()));
 
   return true;
@@ -115,7 +115,7 @@
                                      int* command_id,
                                      int* error_code) {
   std::unique_ptr<base::Value> value = base::JSONReader::Read(json);
-  if (!value || !value->IsType(base::Value::TYPE_DICTIONARY))
+  if (!value || !value->IsType(base::Value::Type::DICTIONARY))
     return false;
 
   std::unique_ptr<base::DictionaryValue> dict(
diff --git a/chrome/browser/devtools/devtools_ui_bindings.cc b/chrome/browser/devtools/devtools_ui_bindings.cc
index 718fce4..5d37fc7 100644
--- a/chrome/browser/devtools/devtools_ui_bindings.cc
+++ b/chrome/browser/devtools/devtools_ui_bindings.cc
@@ -691,7 +691,7 @@
 void DevToolsUIBindings::ShowCertificateViewer(const std::string& cert_chain) {
   std::unique_ptr<base::Value> value =
       base::JSONReader::Read(cert_chain);
-  if (!value || value->GetType() != base::Value::TYPE_LIST) {
+  if (!value || value->GetType() != base::Value::Type::LIST) {
     NOTREACHED();
     return;
   }
@@ -701,7 +701,7 @@
   std::vector<std::string> decoded;
   for (size_t i = 0; i < list->GetSize(); ++i) {
     base::Value* item;
-    if (!list->Get(i, &item) || item->GetType() != base::Value::TYPE_STRING) {
+    if (!list->Get(i, &item) || item->GetType() != base::Value::Type::STRING) {
       NOTREACHED();
       return;
     }
diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtools/devtools_window.cc
index a090462..0b2824f2e 100644
--- a/chrome/browser/devtools/devtools_window.cc
+++ b/chrome/browser/devtools/devtools_window.cc
@@ -101,7 +101,7 @@
     return;
   DictionaryPrefUpdate update(profile->GetPrefs(), prefs::kDevToolsPreferences);
   for (base::DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) {
-    if (!it.value().IsType(base::Value::TYPE_STRING))
+    if (!it.value().IsType(base::Value::Type::STRING))
       continue;
     update.Get()->SetWithoutPathExpansion(
         it.key(), it.value().CreateDeepCopy());
diff --git a/chrome/browser/download/download_dir_policy_handler.cc b/chrome/browser/download/download_dir_policy_handler.cc
index a99db00..b64c616f7 100644
--- a/chrome/browser/download/download_dir_policy_handler.cc
+++ b/chrome/browser/download/download_dir_policy_handler.cc
@@ -40,7 +40,7 @@
 
 DownloadDirPolicyHandler::DownloadDirPolicyHandler()
     : TypeCheckingPolicyHandler(policy::key::kDownloadDirectory,
-                                base::Value::TYPE_STRING) {}
+                                base::Value::Type::STRING) {}
 
 DownloadDirPolicyHandler::~DownloadDirPolicyHandler() {}
 
diff --git a/chrome/browser/extensions/activity_log/counting_policy.cc b/chrome/browser/extensions/activity_log/counting_policy.cc
index d5946576..b4b6f9ac 100644
--- a/chrome/browser/extensions/activity_log/counting_policy.cc
+++ b/chrome/browser/extensions/activity_log/counting_policy.cc
@@ -499,7 +499,7 @@
     if (query.ColumnType(4) != sql::COLUMN_TYPE_NULL) {
       std::unique_ptr<base::Value> parsed_value =
           base::JSONReader::Read(query.ColumnString(4));
-      if (parsed_value && parsed_value->IsType(base::Value::TYPE_LIST)) {
+      if (parsed_value && parsed_value->IsType(base::Value::Type::LIST)) {
         action->set_args(base::WrapUnique(
             static_cast<base::ListValue*>(parsed_value.release())));
       }
@@ -512,7 +512,7 @@
     if (query.ColumnType(8) != sql::COLUMN_TYPE_NULL) {
       std::unique_ptr<base::Value> parsed_value =
           base::JSONReader::Read(query.ColumnString(8));
-      if (parsed_value && parsed_value->IsType(base::Value::TYPE_DICTIONARY)) {
+      if (parsed_value && parsed_value->IsType(base::Value::Type::DICTIONARY)) {
         action->set_other(base::WrapUnique(
             static_cast<base::DictionaryValue*>(parsed_value.release())));
       }
diff --git a/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc b/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
index 78eece6..0188a53 100644
--- a/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
+++ b/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
@@ -196,7 +196,7 @@
     if (query.ColumnType(4) != sql::COLUMN_TYPE_NULL) {
       std::unique_ptr<base::Value> parsed_value =
           base::JSONReader::Read(query.ColumnString(4));
-      if (parsed_value && parsed_value->IsType(base::Value::TYPE_LIST)) {
+      if (parsed_value && parsed_value->IsType(base::Value::Type::LIST)) {
         action->set_args(base::WrapUnique(
             static_cast<base::ListValue*>(parsed_value.release())));
       }
@@ -209,7 +209,7 @@
     if (query.ColumnType(8) != sql::COLUMN_TYPE_NULL) {
       std::unique_ptr<base::Value> parsed_value =
           base::JSONReader::Read(query.ColumnString(8));
-      if (parsed_value && parsed_value->IsType(base::Value::TYPE_DICTIONARY)) {
+      if (parsed_value && parsed_value->IsType(base::Value::Type::DICTIONARY)) {
         action->set_other(base::WrapUnique(
             static_cast<base::DictionaryValue*>(parsed_value.release())));
       }
diff --git a/chrome/browser/extensions/alert_apitest.cc b/chrome/browser/extensions/alert_apitest.cc
index 718bc18e..9d638b9 100644
--- a/chrome/browser/extensions/alert_apitest.cc
+++ b/chrome/browser/extensions/alert_apitest.cc
@@ -55,7 +55,7 @@
                       size_t* call_count,
                       const base::Value* value) {
   ASSERT_TRUE(value) << dialog_name;
-  ASSERT_TRUE(value->IsType(base::Value::TYPE_NULL));
+  ASSERT_TRUE(value->IsType(base::Value::Type::NONE));
   ++*call_count;
 }
 
diff --git a/chrome/browser/extensions/api/debugger/debugger_api.cc b/chrome/browser/extensions/api/debugger/debugger_api.cc
index 6242e561..b0ad14b 100644
--- a/chrome/browser/extensions/api/debugger/debugger_api.cc
+++ b/chrome/browser/extensions/api/debugger/debugger_api.cc
@@ -432,7 +432,7 @@
     return;
 
   std::unique_ptr<base::Value> result = base::JSONReader::Read(message);
-  if (!result || !result->IsType(base::Value::TYPE_DICTIONARY))
+  if (!result || !result->IsType(base::Value::Type::DICTIONARY))
     return;
   base::DictionaryValue* dictionary =
       static_cast<base::DictionaryValue*>(result.get());
diff --git a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api_chromeos_unittest.cc b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api_chromeos_unittest.cc
index e38c95b..6d0d2f3 100644
--- a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api_chromeos_unittest.cc
+++ b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api_chromeos_unittest.cc
@@ -579,7 +579,7 @@
       extensions::api_test_utils::RunFunctionAndReturnSingleResult(
           function.get(), "[]", profile()));
   ASSERT_TRUE(value.get());
-  ASSERT_EQ(base::Value::TYPE_LIST, value->GetType());
+  ASSERT_EQ(base::Value::Type::LIST, value->GetType());
 
   base::ListValue* list_value = static_cast<base::ListValue*>(value.get());
   EXPECT_EQ(2u, list_value->GetSize());
@@ -588,8 +588,8 @@
   base::Value* remote_device2;
   ASSERT_TRUE(list_value->Get(0, &remote_device1));
   ASSERT_TRUE(list_value->Get(1, &remote_device2));
-  EXPECT_EQ(base::Value::TYPE_DICTIONARY, remote_device1->GetType());
-  EXPECT_EQ(base::Value::TYPE_DICTIONARY, remote_device2->GetType());
+  EXPECT_EQ(base::Value::Type::DICTIONARY, remote_device1->GetType());
+  EXPECT_EQ(base::Value::Type::DICTIONARY, remote_device2->GetType());
 
   std::string name1, name2;
   EXPECT_TRUE(static_cast<base::DictionaryValue*>(remote_device1)
@@ -613,7 +613,7 @@
       extensions::api_test_utils::RunFunctionAndReturnSingleResult(
           function.get(), "[]", profile()));
   ASSERT_TRUE(value.get());
-  ASSERT_EQ(base::Value::TYPE_LIST, value->GetType());
+  ASSERT_EQ(base::Value::Type::LIST, value->GetType());
 
   base::ListValue* list_value = static_cast<base::ListValue*>(value.get());
   EXPECT_EQ(0u, list_value->GetSize());
@@ -634,7 +634,7 @@
       extensions::api_test_utils::RunFunctionAndReturnSingleResult(
           function.get(), "[]", profile()));
   ASSERT_TRUE(value);
-  ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType());
+  ASSERT_EQ(base::Value::Type::DICTIONARY, value->GetType());
   base::DictionaryValue* permit_access =
       static_cast<base::DictionaryValue*>(value.get());
 
diff --git a/chrome/browser/extensions/api/extension_action/extension_action_api.cc b/chrome/browser/extensions/api/extension_action/extension_action_api.cc
index 91555cb..8556def 100644
--- a/chrome/browser/extensions/api/extension_action/extension_action_api.cc
+++ b/chrome/browser/extensions/api/extension_action/extension_action_api.cc
@@ -372,21 +372,21 @@
     return true;
 
   switch (first_arg->GetType()) {
-    case base::Value::TYPE_INTEGER:
+    case base::Value::Type::INTEGER:
       CHECK(first_arg->GetAsInteger(&tab_id_));
       break;
 
-    case base::Value::TYPE_DICTIONARY: {
+    case base::Value::Type::DICTIONARY: {
       // Found the details argument.
       details_ = static_cast<base::DictionaryValue*>(first_arg);
       // Still need to check for the tabId within details.
       base::Value* tab_id_value = NULL;
       if (details_->Get("tabId", &tab_id_value)) {
         switch (tab_id_value->GetType()) {
-          case base::Value::TYPE_NULL:
+          case base::Value::Type::NONE:
             // OK; tabId is optional, leave it default.
             return true;
-          case base::Value::TYPE_INTEGER:
+          case base::Value::Type::INTEGER:
             CHECK(tab_id_value->GetAsInteger(&tab_id_));
             return true;
           default:
@@ -398,7 +398,7 @@
       break;
     }
 
-    case base::Value::TYPE_NULL:
+    case base::Value::Type::NONE:
       // The tabId might be an optional argument.
       break;
 
@@ -502,7 +502,7 @@
   base::Value* color_value = NULL;
   EXTENSION_FUNCTION_VALIDATE(details_->Get("color", &color_value));
   SkColor color = 0;
-  if (color_value->IsType(base::Value::TYPE_LIST)) {
+  if (color_value->IsType(base::Value::Type::LIST)) {
     base::ListValue* list = NULL;
     EXTENSION_FUNCTION_VALIDATE(details_->GetList("color", &list));
     EXTENSION_FUNCTION_VALIDATE(list->GetSize() == 4);
@@ -514,7 +514,7 @@
 
     color = SkColorSetARGB(color_array[3], color_array[0],
                            color_array[1], color_array[2]);
-  } else if (color_value->IsType(base::Value::TYPE_STRING)) {
+  } else if (color_value->IsType(base::Value::Type::STRING)) {
     std::string color_string;
     EXTENSION_FUNCTION_VALIDATE(details_->GetString("color", &color_string));
     if (!image_util::ParseCssColorString(color_string, &color))
diff --git a/chrome/browser/extensions/api/management/management_api_browsertest.cc b/chrome/browser/extensions/api/management/management_api_browsertest.cc
index 15a39a5..75c9f026 100644
--- a/chrome/browser/extensions/api/management/management_api_browsertest.cc
+++ b/chrome/browser/extensions/api/management/management_api_browsertest.cc
@@ -244,7 +244,7 @@
   std::unique_ptr<base::Value> result(util::RunFunctionAndReturnSingleResult(
       function.get(), base::StringPrintf("[\"%s\"]", kId), browser()));
   ASSERT_TRUE(result.get() != NULL);
-  ASSERT_TRUE(result->IsType(base::Value::TYPE_DICTIONARY));
+  ASSERT_TRUE(result->IsType(base::Value::Type::DICTIONARY));
   base::DictionaryValue* dict =
       static_cast<base::DictionaryValue*>(result.get());
   std::string reason;
diff --git a/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.cc b/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.cc
index fee82b6c..bb153dc8 100644
--- a/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.cc
+++ b/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.cc
@@ -21,7 +21,7 @@
     const char* policy_name,
     const char* pref_path,
     bool allow_wildcards)
-    : policy::TypeCheckingPolicyHandler(policy_name, base::Value::TYPE_LIST),
+    : policy::TypeCheckingPolicyHandler(policy_name, base::Value::Type::LIST),
       pref_path_(pref_path),
       allow_wildcards_(allow_wildcards) {}
 
@@ -71,7 +71,7 @@
     if (!(*entry)->GetAsString(&name)) {
       errors->AddError(policy_name(), entry - list_value->begin(),
                        IDS_POLICY_TYPE_ERROR,
-                       base::Value::GetTypeName(base::Value::TYPE_STRING));
+                       base::Value::GetTypeName(base::Value::Type::STRING));
       continue;
     }
     if (!(allow_wildcards_ && name == "*") &&
diff --git a/chrome/browser/extensions/api/notifications/notifications_apitest.cc b/chrome/browser/extensions/api/notifications/notifications_apitest.cc
index b03ea5d..39abdd9 100644
--- a/chrome/browser/extensions/api/notifications/notifications_apitest.cc
+++ b/chrome/browser/extensions/api/notifications/notifications_apitest.cc
@@ -278,7 +278,7 @@
     std::unique_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
         notification_function.get(), "[]", browser(), utils::NONE));
 
-    EXPECT_EQ(base::Value::TYPE_STRING, result->GetType());
+    EXPECT_EQ(base::Value::Type::STRING, result->GetType());
     std::string permission_level;
     EXPECT_TRUE(result->GetAsString(&permission_level));
     EXPECT_EQ("granted", permission_level);
@@ -303,7 +303,7 @@
     std::unique_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
         notification_function.get(), "[]", browser(), utils::NONE));
 
-    EXPECT_EQ(base::Value::TYPE_STRING, result->GetType());
+    EXPECT_EQ(base::Value::Type::STRING, result->GetType());
     std::string permission_level;
     EXPECT_TRUE(result->GetAsString(&permission_level));
     EXPECT_EQ("denied", permission_level);
diff --git a/chrome/browser/extensions/api/proxy/proxy_api.cc b/chrome/browser/extensions/api/proxy/proxy_api.cc
index e52ebb1..c2ad7f3 100644
--- a/chrome/browser/extensions/api/proxy/proxy_api.cc
+++ b/chrome/browser/extensions/api/proxy/proxy_api.cc
@@ -103,7 +103,7 @@
   // When ExtensionToBrowserPref is called, the format of |extension_pref|
   // has been verified already by the extension API to match the schema
   // defined in the extension API JSON.
-  CHECK(extension_pref->IsType(base::Value::TYPE_DICTIONARY));
+  CHECK(extension_pref->IsType(base::Value::Type::DICTIONARY));
   const base::DictionaryValue* config =
       static_cast<const base::DictionaryValue*>(extension_pref);
 
@@ -140,7 +140,7 @@
 
 base::Value* ProxyPrefTransformer::BrowserToExtensionPref(
     const base::Value* browser_pref) {
-  CHECK(browser_pref->IsType(base::Value::TYPE_DICTIONARY));
+  CHECK(browser_pref->IsType(base::Value::Type::DICTIONARY));
 
   // This is a dictionary wrapper that exposes the proxy configuration stored in
   // the browser preferences.
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
index fe8bc3f..0b7d6d97 100644
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -358,17 +358,17 @@
 settings_private::PrefType PrefsUtil::GetType(const std::string& name,
                                               base::Value::Type type) {
   switch (type) {
-    case base::Value::Type::TYPE_BOOLEAN:
+    case base::Value::Type::BOOLEAN:
       return settings_private::PrefType::PREF_TYPE_BOOLEAN;
-    case base::Value::Type::TYPE_INTEGER:
-    case base::Value::Type::TYPE_DOUBLE:
+    case base::Value::Type::INTEGER:
+    case base::Value::Type::DOUBLE:
       return settings_private::PrefType::PREF_TYPE_NUMBER;
-    case base::Value::Type::TYPE_STRING:
+    case base::Value::Type::STRING:
       return IsPrefTypeURL(name) ? settings_private::PrefType::PREF_TYPE_URL
                                  : settings_private::PrefType::PREF_TYPE_STRING;
-    case base::Value::Type::TYPE_LIST:
+    case base::Value::Type::LIST:
       return settings_private::PrefType::PREF_TYPE_LIST;
-    case base::Value::Type::TYPE_DICTIONARY:
+    case base::Value::Type::DICTIONARY:
       return settings_private::PrefType::PREF_TYPE_DICTIONARY;
     default:
       return settings_private::PrefType::PREF_TYPE_NONE;
@@ -503,13 +503,13 @@
   DCHECK_EQ(pref->GetType(), value->GetType());
 
   switch (pref->GetType()) {
-    case base::Value::TYPE_BOOLEAN:
-    case base::Value::TYPE_DOUBLE:
-    case base::Value::TYPE_LIST:
-    case base::Value::TYPE_DICTIONARY:
+    case base::Value::Type::BOOLEAN:
+    case base::Value::Type::DOUBLE:
+    case base::Value::Type::LIST:
+    case base::Value::Type::DICTIONARY:
       pref_service->Set(pref_name, *value);
       break;
-    case base::Value::TYPE_INTEGER: {
+    case base::Value::Type::INTEGER: {
       // In JS all numbers are doubles.
       double double_value;
       if (!value->GetAsDouble(&double_value))
@@ -518,7 +518,7 @@
       pref_service->SetInteger(pref_name, static_cast<int>(double_value));
       break;
     }
-    case base::Value::TYPE_STRING: {
+    case base::Value::Type::STRING: {
       std::string string_value;
       if (!value->GetAsString(&string_value))
         return PREF_TYPE_MISMATCH;
diff --git a/chrome/browser/extensions/api/settings_private/settings_private_api.cc b/chrome/browser/extensions/api/settings_private/settings_private_api.cc
index a73f78f..64104da4 100644
--- a/chrome/browser/extensions/api/settings_private/settings_private_api.cc
+++ b/chrome/browser/extensions/api/settings_private/settings_private_api.cc
@@ -99,7 +99,7 @@
     return RespondNow(Error(kDelegateIsNull));
 
   std::unique_ptr<base::Value> value = delegate->GetPref(parameters->name);
-  if (value->IsType(base::Value::TYPE_NULL))
+  if (value->IsType(base::Value::Type::NONE))
     return RespondNow(Error("Pref * does not exist", parameters->name));
   else
     return RespondNow(OneArgument(std::move(value)));
diff --git a/chrome/browser/extensions/api/settings_private/settings_private_delegate.cc b/chrome/browser/extensions/api/settings_private/settings_private_delegate.cc
index 13ed8a8..1311f2f 100644
--- a/chrome/browser/extensions/api/settings_private/settings_private_delegate.cc
+++ b/chrome/browser/extensions/api/settings_private/settings_private_delegate.cc
@@ -46,7 +46,7 @@
   const TypedPrefMap& keys = prefs_util_->GetWhitelistedKeys();
   for (const auto& it : keys) {
     std::unique_ptr<base::Value> pref = GetPref(it.first);
-    if (!pref->IsType(base::Value::TYPE_NULL))
+    if (!pref->IsType(base::Value::Type::NONE))
       prefs->Append(std::move(pref));
   }
 
diff --git a/chrome/browser/extensions/api/storage/settings_apitest.cc b/chrome/browser/extensions/api/storage/settings_apitest.cc
index b934a9b..ac1d74b7 100644
--- a/chrome/browser/extensions/api/storage/settings_apitest.cc
+++ b/chrome/browser/extensions/api/storage/settings_apitest.cc
@@ -442,37 +442,37 @@
   ASSERT_TRUE(schema);
 
   ASSERT_TRUE(schema->valid());
-  ASSERT_EQ(base::Value::TYPE_DICTIONARY, schema->type());
+  ASSERT_EQ(base::Value::Type::DICTIONARY, schema->type());
   ASSERT_TRUE(schema->GetKnownProperty("string-policy").valid());
-  EXPECT_EQ(base::Value::TYPE_STRING,
+  EXPECT_EQ(base::Value::Type::STRING,
             schema->GetKnownProperty("string-policy").type());
   ASSERT_TRUE(schema->GetKnownProperty("int-policy").valid());
-  EXPECT_EQ(base::Value::TYPE_INTEGER,
+  EXPECT_EQ(base::Value::Type::INTEGER,
             schema->GetKnownProperty("int-policy").type());
   ASSERT_TRUE(schema->GetKnownProperty("double-policy").valid());
-  EXPECT_EQ(base::Value::TYPE_DOUBLE,
+  EXPECT_EQ(base::Value::Type::DOUBLE,
             schema->GetKnownProperty("double-policy").type());
   ASSERT_TRUE(schema->GetKnownProperty("boolean-policy").valid());
-  EXPECT_EQ(base::Value::TYPE_BOOLEAN,
+  EXPECT_EQ(base::Value::Type::BOOLEAN,
             schema->GetKnownProperty("boolean-policy").type());
 
   policy::Schema list = schema->GetKnownProperty("list-policy");
   ASSERT_TRUE(list.valid());
-  ASSERT_EQ(base::Value::TYPE_LIST, list.type());
+  ASSERT_EQ(base::Value::Type::LIST, list.type());
   ASSERT_TRUE(list.GetItems().valid());
-  EXPECT_EQ(base::Value::TYPE_STRING, list.GetItems().type());
+  EXPECT_EQ(base::Value::Type::STRING, list.GetItems().type());
 
   policy::Schema dict = schema->GetKnownProperty("dict-policy");
   ASSERT_TRUE(dict.valid());
-  ASSERT_EQ(base::Value::TYPE_DICTIONARY, dict.type());
+  ASSERT_EQ(base::Value::Type::DICTIONARY, dict.type());
   list = dict.GetKnownProperty("list");
   ASSERT_TRUE(list.valid());
-  ASSERT_EQ(base::Value::TYPE_LIST, list.type());
+  ASSERT_EQ(base::Value::Type::LIST, list.type());
   dict = list.GetItems();
   ASSERT_TRUE(dict.valid());
-  ASSERT_EQ(base::Value::TYPE_DICTIONARY, dict.type());
+  ASSERT_EQ(base::Value::Type::DICTIONARY, dict.type());
   ASSERT_TRUE(dict.GetProperty("anything").valid());
-  EXPECT_EQ(base::Value::TYPE_INTEGER, dict.GetProperty("anything").type());
+  EXPECT_EQ(base::Value::Type::INTEGER, dict.GetProperty("anything").type());
 }
 
 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, ManagedStorage) {
diff --git a/chrome/browser/extensions/api/tabs/tabs_test.cc b/chrome/browser/extensions/api/tabs/tabs_test.cc
index 9e33edf..dcdfc096 100644
--- a/chrome/browser/extensions/api/tabs/tabs_test.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_test.cc
@@ -1168,7 +1168,7 @@
   int duplicate_tab_window_id = GetTabWindowId(duplicate_result.get());
   int duplicate_tab_index =
       api_test_utils::GetInteger(duplicate_result.get(), "index");
-  EXPECT_EQ(base::Value::TYPE_DICTIONARY, duplicate_result->GetType());
+  EXPECT_EQ(base::Value::Type::DICTIONARY, duplicate_result->GetType());
   // Duplicate tab id should be different from the original tab id.
   EXPECT_NE(tab_id, duplicate_tab_id);
   EXPECT_EQ(window_id, duplicate_tab_window_id);
@@ -1205,7 +1205,7 @@
   int duplicate_tab_window_id = GetTabWindowId(duplicate_result.get());
   int duplicate_tab_index =
       api_test_utils::GetInteger(duplicate_result.get(), "index");
-  EXPECT_EQ(base::Value::TYPE_DICTIONARY, duplicate_result->GetType());
+  EXPECT_EQ(base::Value::Type::DICTIONARY, duplicate_result->GetType());
   // Duplicate tab id should be different from the original tab id.
   EXPECT_NE(tab_id, duplicate_tab_id);
   EXPECT_EQ(window_id, duplicate_tab_window_id);
diff --git a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
index 004116e..8cd15af 100644
--- a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
@@ -598,7 +598,7 @@
   std::unique_ptr<const base::Value> form_data =
       base::JSONReader::Read(kFormData);
   ASSERT_TRUE(form_data.get() != NULL);
-  ASSERT_TRUE(form_data->GetType() == base::Value::TYPE_DICTIONARY);
+  ASSERT_TRUE(form_data->GetType() == base::Value::Type::DICTIONARY);
   // Contents of raw.
   base::ListValue raw;
   extensions::subtle::AppendKeyValuePair(
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
index 5af2c5a..2fb92dd 100644
--- a/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
+++ b/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
@@ -402,7 +402,7 @@
     std::unique_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
         function.get(), kEmptyArgs, browser()));
     ASSERT_TRUE(result);
-    EXPECT_EQ(base::Value::TYPE_STRING, result->GetType());
+    EXPECT_EQ(base::Value::Type::STRING, result->GetType());
     std::string webgl_status;
     EXPECT_TRUE(result->GetAsString(&webgl_status));
     EXPECT_STREQ(webgl_allowed ? kWebGLStatusAllowed : kWebGLStatusBlocked,
diff --git a/chrome/browser/extensions/component_loader.cc b/chrome/browser/extensions/component_loader.cc
index 1955d9187..2dabbd35 100644
--- a/chrome/browser/extensions/component_loader.cc
+++ b/chrome/browser/extensions/component_loader.cc
@@ -166,7 +166,7 @@
   JSONStringValueDeserializer deserializer(manifest_contents);
   std::unique_ptr<base::Value> manifest = deserializer.Deserialize(NULL, NULL);
 
-  if (!manifest.get() || !manifest->IsType(base::Value::TYPE_DICTIONARY)) {
+  if (!manifest.get() || !manifest->IsType(base::Value::Type::DICTIONARY)) {
     LOG(ERROR) << "Failed to parse extension manifest.";
     return std::unique_ptr<base::DictionaryValue>();
   }
diff --git a/chrome/browser/extensions/extension_function_test_utils.cc b/chrome/browser/extensions/extension_function_test_utils.cc
index 332dd99..2670e8e 100644
--- a/chrome/browser/extensions/extension_function_test_utils.cc
+++ b/chrome/browser/extensions/extension_function_test_utils.cc
@@ -59,13 +59,13 @@
 
 base::DictionaryValue* ToDictionary(base::Value* val) {
   EXPECT_TRUE(val);
-  EXPECT_EQ(base::Value::TYPE_DICTIONARY, val->GetType());
+  EXPECT_EQ(base::Value::Type::DICTIONARY, val->GetType());
   return static_cast<base::DictionaryValue*>(val);
 }
 
 base::ListValue* ToList(base::Value* val) {
   EXPECT_TRUE(val);
-  EXPECT_EQ(base::Value::TYPE_LIST, val->GetType());
+  EXPECT_EQ(base::Value::Type::LIST, val->GetType());
   return static_cast<base::ListValue*>(val);
 }
 
diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc
index aff5c2c..7af13aff 100644
--- a/chrome/browser/extensions/extension_management.cc
+++ b/chrome/browser/extensions/extension_management.cc
@@ -250,26 +250,26 @@
   // Load all extension management settings preferences.
   const base::ListValue* allowed_list_pref =
       static_cast<const base::ListValue*>(LoadPreference(
-          pref_names::kInstallAllowList, true, base::Value::TYPE_LIST));
+          pref_names::kInstallAllowList, true, base::Value::Type::LIST));
   // Allow user to use preference to block certain extensions. Note that policy
   // managed forcelist or whitelist will always override this.
   const base::ListValue* denied_list_pref =
       static_cast<const base::ListValue*>(LoadPreference(
-          pref_names::kInstallDenyList, false, base::Value::TYPE_LIST));
+          pref_names::kInstallDenyList, false, base::Value::Type::LIST));
   const base::DictionaryValue* forced_list_pref =
       static_cast<const base::DictionaryValue*>(LoadPreference(
-          pref_names::kInstallForceList, true, base::Value::TYPE_DICTIONARY));
+          pref_names::kInstallForceList, true, base::Value::Type::DICTIONARY));
   const base::ListValue* install_sources_pref =
       static_cast<const base::ListValue*>(LoadPreference(
-          pref_names::kAllowedInstallSites, true, base::Value::TYPE_LIST));
+          pref_names::kAllowedInstallSites, true, base::Value::Type::LIST));
   const base::ListValue* allowed_types_pref =
       static_cast<const base::ListValue*>(LoadPreference(
-          pref_names::kAllowedTypes, true, base::Value::TYPE_LIST));
+          pref_names::kAllowedTypes, true, base::Value::Type::LIST));
   const base::DictionaryValue* dict_pref =
       static_cast<const base::DictionaryValue*>(
           LoadPreference(pref_names::kExtensionManagement,
                          true,
-                         base::Value::TYPE_DICTIONARY));
+                         base::Value::Type::DICTIONARY));
 
   // Reset all settings.
   global_settings_.reset(new internal::GlobalSettings());
diff --git a/chrome/browser/extensions/extension_management_test_util.cc b/chrome/browser/extensions/extension_management_test_util.cc
index b873645..85b19468 100644
--- a/chrome/browser/extensions/extension_management_test_util.cc
+++ b/chrome/browser/extensions/extension_management_test_util.cc
@@ -63,7 +63,7 @@
     ClearInstallationModesForIndividualExtensions() {
   for (base::DictionaryValue::Iterator it(*pref_); !it.IsAtEnd();
        it.Advance()) {
-    DCHECK(it.value().IsType(base::Value::TYPE_DICTIONARY));
+    DCHECK(it.value().IsType(base::Value::Type::DICTIONARY));
     if (it.key() != schema::kWildcard) {
       DCHECK(crx_file::id_util::IdIsValid(it.key()));
       pref_->Remove(make_path(it.key(), schema::kInstallationMode), nullptr);
diff --git a/chrome/browser/extensions/extension_management_unittest.cc b/chrome/browser/extensions/extension_management_unittest.cc
index ba9bfc51..56618b81 100644
--- a/chrome/browser/extensions/extension_management_unittest.cc
+++ b/chrome/browser/extensions/extension_management_unittest.cc
@@ -153,7 +153,7 @@
     std::unique_ptr<base::Value> parsed = base::JSONReader::ReadAndReturnError(
         kExampleDictPreference,
         base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, NULL, &error_msg);
-    ASSERT_TRUE(parsed && parsed->IsType(base::Value::TYPE_DICTIONARY))
+    ASSERT_TRUE(parsed && parsed->IsType(base::Value::Type::DICTIONARY))
         << error_msg;
     SetPref(true, pref_names::kExtensionManagement, parsed.release());
   }
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index 744a4fa..663e4c5 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -494,7 +494,7 @@
     std::unique_ptr<base::Value> json_value =
         deserializer.Deserialize(NULL, NULL);
 
-    if (!json_value || !json_value->IsType(base::Value::TYPE_DICTIONARY)) {
+    if (!json_value || !json_value->IsType(base::Value::Type::DICTIONARY)) {
       ADD_FAILURE() << "Unable to deserialize json data";
       return std::unique_ptr<base::DictionaryValue>();
     } else {
diff --git a/chrome/browser/extensions/external_provider_impl.cc b/chrome/browser/extensions/external_provider_impl.cc
index 6d6dba0..aa4cc32 100644
--- a/chrome/browser/extensions/external_provider_impl.cc
+++ b/chrome/browser/extensions/external_provider_impl.cc
@@ -211,7 +211,7 @@
 
     bool has_external_version = false;
     if (extension->Get(kExternalVersion, &external_version_value)) {
-      if (external_version_value->IsType(base::Value::TYPE_STRING)) {
+      if (external_version_value->IsType(base::Value::Type::STRING)) {
         external_version_value->GetAsString(&external_version);
         has_external_version = true;
       } else {
diff --git a/chrome/browser/extensions/policy_handlers.cc b/chrome/browser/extensions/policy_handlers.cc
index b0963d6..fa80158 100644
--- a/chrome/browser/extensions/policy_handlers.cc
+++ b/chrome/browser/extensions/policy_handlers.cc
@@ -28,7 +28,7 @@
 ExtensionListPolicyHandler::ExtensionListPolicyHandler(const char* policy_name,
                                                        const char* pref_path,
                                                        bool allow_wildcards)
-    : policy::TypeCheckingPolicyHandler(policy_name, base::Value::TYPE_LIST),
+    : policy::TypeCheckingPolicyHandler(policy_name, base::Value::Type::LIST),
       pref_path_(pref_path),
       allow_wildcards_(allow_wildcards) {}
 
@@ -81,7 +81,7 @@
     if (!(*entry)->GetAsString(&id)) {
       errors->AddError(policy_name(), entry - list_value->begin(),
                        IDS_POLICY_TYPE_ERROR,
-                       base::Value::GetTypeName(base::Value::TYPE_STRING));
+                       base::Value::GetTypeName(base::Value::Type::STRING));
       continue;
     }
     if (!(allow_wildcards_ && id == "*") && !crx_file::id_util::IdIsValid(id)) {
@@ -103,7 +103,7 @@
 
 ExtensionInstallForcelistPolicyHandler::ExtensionInstallForcelistPolicyHandler()
     : policy::TypeCheckingPolicyHandler(policy::key::kExtensionInstallForcelist,
-                                        base::Value::TYPE_LIST) {}
+                                        base::Value::Type::LIST) {}
 
 ExtensionInstallForcelistPolicyHandler::
     ~ExtensionInstallForcelistPolicyHandler() {}
@@ -149,7 +149,7 @@
       if (errors) {
         errors->AddError(policy_name(), entry - policy_list_value->begin(),
                          IDS_POLICY_TYPE_ERROR,
-                         base::Value::GetTypeName(base::Value::TYPE_STRING));
+                         base::Value::GetTypeName(base::Value::Type::STRING));
       }
       continue;
     }
@@ -193,7 +193,7 @@
 ExtensionURLPatternListPolicyHandler::ExtensionURLPatternListPolicyHandler(
     const char* policy_name,
     const char* pref_path)
-    : policy::TypeCheckingPolicyHandler(policy_name, base::Value::TYPE_LIST),
+    : policy::TypeCheckingPolicyHandler(policy_name, base::Value::Type::LIST),
       pref_path_(pref_path) {}
 
 ExtensionURLPatternListPolicyHandler::~ExtensionURLPatternListPolicyHandler() {}
@@ -221,7 +221,7 @@
     if (!(*entry)->GetAsString(&url_pattern_string)) {
       errors->AddError(policy_name(), entry - list_value->begin(),
                        IDS_POLICY_TYPE_ERROR,
-                       base::Value::GetTypeName(base::Value::TYPE_STRING));
+                       base::Value::GetTypeName(base::Value::Type::STRING));
       return false;
     }
 
@@ -272,14 +272,14 @@
   // |policy_value| is expected to conform to the defined schema. But it's
   // not strictly valid since there are additional restrictions.
   const base::DictionaryValue* dict_value = NULL;
-  DCHECK(policy_value->IsType(base::Value::TYPE_DICTIONARY));
+  DCHECK(policy_value->IsType(base::Value::Type::DICTIONARY));
   policy_value->GetAsDictionary(&dict_value);
 
   for (base::DictionaryValue::Iterator it(*dict_value); !it.IsAtEnd();
        it.Advance()) {
     DCHECK(it.key() == schema_constants::kWildcard ||
            crx_file::id_util::IdIsValid(it.key()));
-    DCHECK(it.value().IsType(base::Value::TYPE_DICTIONARY));
+    DCHECK(it.value().IsType(base::Value::Type::DICTIONARY));
 
     // Extracts sub dictionary.
     const base::DictionaryValue* sub_dict = NULL;
diff --git a/chrome/browser/extensions/webstore_data_fetcher.cc b/chrome/browser/extensions/webstore_data_fetcher.cc
index 1586b92..c914ff3 100644
--- a/chrome/browser/extensions/webstore_data_fetcher.cc
+++ b/chrome/browser/extensions/webstore_data_fetcher.cc
@@ -56,7 +56,7 @@
 
 void WebstoreDataFetcher::OnJsonParseSuccess(
     std::unique_ptr<base::Value> parsed_json) {
-  if (!parsed_json->IsType(base::Value::TYPE_DICTIONARY)) {
+  if (!parsed_json->IsType(base::Value::Type::DICTIONARY)) {
     OnJsonParseFailure(kInvalidWebstoreResponseError);
     return;
   }
diff --git a/chrome/browser/media/webrtc/webrtc_browsertest_base.cc b/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
index e5376dd8..d232889 100644
--- a/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
+++ b/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
@@ -128,7 +128,7 @@
     const std::string& json_array) {
   std::unique_ptr<base::Value> value = base::JSONReader::Read(json_array);
   EXPECT_TRUE(value);
-  EXPECT_TRUE(value->IsType(base::Value::TYPE_LIST));
+  EXPECT_TRUE(value->IsType(base::Value::Type::LIST));
   std::unique_ptr<base::ListValue> list =
       base::ListValue::From(std::move(value));
   std::vector<std::string> vector;
@@ -136,7 +136,7 @@
   for (size_t i = 0; i < list->GetSize(); ++i) {
     base::Value* item;
     EXPECT_TRUE(list->Get(i, &item));
-    EXPECT_TRUE(item->IsType(base::Value::TYPE_STRING));
+    EXPECT_TRUE(item->IsType(base::Value::Type::STRING));
     std::string item_str;
     EXPECT_TRUE(item->GetAsString(&item_str));
     vector.push_back(std::move(item_str));
diff --git a/chrome/browser/media/webrtc/webrtc_getmediadevices_browsertest.cc b/chrome/browser/media/webrtc/webrtc_getmediadevices_browsertest.cc
index 48492e6..76630fa 100644
--- a/chrome/browser/media/webrtc/webrtc_getmediadevices_browsertest.cc
+++ b/chrome/browser/media/webrtc/webrtc_getmediadevices_browsertest.cc
@@ -75,7 +75,7 @@
         &error_message);
 
     ASSERT_TRUE(value.get() != NULL) << error_message;
-    EXPECT_EQ(value->GetType(), base::Value::TYPE_LIST);
+    EXPECT_EQ(value->GetType(), base::Value::Type::LIST);
 
     base::ListValue* values;
     ASSERT_TRUE(value->GetAsList(&values));
diff --git a/chrome/browser/net/disk_cache_dir_policy_handler.cc b/chrome/browser/net/disk_cache_dir_policy_handler.cc
index 498ce9e..ec3402f12 100644
--- a/chrome/browser/net/disk_cache_dir_policy_handler.cc
+++ b/chrome/browser/net/disk_cache_dir_policy_handler.cc
@@ -16,7 +16,8 @@
 namespace policy {
 
 DiskCacheDirPolicyHandler::DiskCacheDirPolicyHandler()
-    : TypeCheckingPolicyHandler(key::kDiskCacheDir, base::Value::TYPE_STRING) {}
+    : TypeCheckingPolicyHandler(key::kDiskCacheDir, base::Value::Type::STRING) {
+}
 
 DiskCacheDirPolicyHandler::~DiskCacheDirPolicyHandler() {}
 
diff --git a/chrome/browser/net/referrer.cc b/chrome/browser/net/referrer.cc
index b72b6f2..e73057f 100644
--- a/chrome/browser/net/referrer.cc
+++ b/chrome/browser/net/referrer.cc
@@ -109,7 +109,7 @@
 }
 
 void Referrer::Deserialize(const base::Value& value) {
-  if (value.GetType() != base::Value::TYPE_LIST)
+  if (value.GetType() != base::Value::Type::LIST)
     return;
   const base::ListValue* subresource_list(
       static_cast<const base::ListValue*>(&value));
diff --git a/chrome/browser/plugins/plugin_finder.cc b/chrome/browser/plugins/plugin_finder.cc
index f4cb1eb4..38cf704 100644
--- a/chrome/browser/plugins/plugin_finder.cc
+++ b/chrome/browser/plugins/plugin_finder.cc
@@ -230,7 +230,7 @@
     return nullptr;
   }
 
-  if (value->GetType() != base::Value::TYPE_DICTIONARY) {
+  if (value->GetType() != base::Value::Type::DICTIONARY) {
     // JSONReader::JSON_PARSE_ERROR_COUNT is used for the case where the JSON
     // value has the wrong type.
     RecordBuiltInPluginListError(PluginListError::SCHEMA_ERROR);
diff --git a/chrome/browser/plugins/plugin_finder_unittest.cc b/chrome/browser/plugins/plugin_finder_unittest.cc
index 0d6a711..ffe88b5a 100644
--- a/chrome/browser/plugins/plugin_finder_unittest.cc
+++ b/chrome/browser/plugins/plugin_finder_unittest.cc
@@ -17,7 +17,7 @@
   ASSERT_TRUE(plugin_list.get());
   std::unique_ptr<base::Value> version;
   ASSERT_TRUE(plugin_list->Remove("x-version", &version));
-  EXPECT_EQ(base::Value::TYPE_INTEGER, version->GetType());
+  EXPECT_EQ(base::Value::Type::INTEGER, version->GetType());
 
   for (base::DictionaryValue::Iterator plugin_it(*plugin_list);
        !plugin_it.IsAtEnd(); plugin_it.Advance()) {
diff --git a/chrome/browser/plugins/plugin_policy_handler.cc b/chrome/browser/plugins/plugin_policy_handler.cc
index 7d03b3b..0194502 100644
--- a/chrome/browser/plugins/plugin_policy_handler.cc
+++ b/chrome/browser/plugins/plugin_policy_handler.cc
@@ -78,9 +78,9 @@
   bool ok = true;
   for (size_t i = 0; i < arraysize(checked_policies); ++i) {
     const base::Value* value = policies.GetValue(checked_policies[i]);
-    if (value && !value->IsType(base::Value::TYPE_LIST)) {
+    if (value && !value->IsType(base::Value::Type::LIST)) {
       errors->AddError(checked_policies[i], IDS_POLICY_TYPE_ERROR,
-                       base::Value::GetTypeName(base::Value::TYPE_LIST));
+                       base::Value::GetTypeName(base::Value::Type::LIST));
       ok = false;
     }
   }
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index 6697f77..774b5bf 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -100,523 +100,524 @@
 const PolicyToPreferenceMapEntry kSimplePolicyMap[] = {
   { key::kHomepageLocation,
     prefs::kHomePage,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kHomepageIsNewTabPage,
     prefs::kHomePageIsNewTabPage,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kRestoreOnStartupURLs,
     prefs::kURLsToRestoreOnStartup,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kAlternateErrorPagesEnabled,
     prefs::kAlternateErrorPagesEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kSearchSuggestEnabled,
     prefs::kSearchSuggestEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kBuiltInDnsClientEnabled,
     prefs::kBuiltInDnsClientEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kWPADQuickCheckEnabled,
     prefs::kQuickCheckEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kPacHttpsUrlStrippingEnabled,
     prefs::kPacHttpsUrlStrippingEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kSafeBrowsingEnabled,
     prefs::kSafeBrowsingEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kForceGoogleSafeSearch,
     prefs::kForceGoogleSafeSearch,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kForceYouTubeRestrict,
     prefs::kForceYouTubeRestrict,
-    base::Value::TYPE_INTEGER},
+    base::Value::Type::INTEGER},
   { key::kPasswordManagerEnabled,
     password_manager::prefs::kPasswordManagerSavingEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kPrintingEnabled,
     prefs::kPrintingEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDisablePrintPreview,
     prefs::kPrintPreviewDisabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDefaultPrinterSelection,
     prefs::kPrintPreviewDefaultDestinationSelectionRules,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kApplicationLocaleValue,
     prefs::kApplicationLocale,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kAlwaysOpenPdfExternally,
     prefs::kPluginsAlwaysOpenPdfExternally,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kShowHomeButton,
     prefs::kShowHomeButton,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kSavingBrowserHistoryDisabled,
     prefs::kSavingBrowserHistoryDisabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAllowDeletingBrowserHistory,
     prefs::kAllowDeletingBrowserHistory,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDeveloperToolsDisabled,
     prefs::kDevToolsDisabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kBlockThirdPartyCookies,
     prefs::kBlockThirdPartyCookies,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDefaultCookiesSetting,
     prefs::kManagedDefaultCookiesSetting,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kDefaultImagesSetting,
     prefs::kManagedDefaultImagesSetting,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kDefaultPluginsSetting,
     prefs::kManagedDefaultPluginsSetting,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kDefaultPopupsSetting,
     prefs::kManagedDefaultPopupsSetting,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kDefaultKeygenSetting,
     prefs::kManagedDefaultKeygenSetting,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kAutoSelectCertificateForUrls,
     prefs::kManagedAutoSelectCertificateForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kCookiesAllowedForUrls,
     prefs::kManagedCookiesAllowedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kCookiesBlockedForUrls,
     prefs::kManagedCookiesBlockedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kCookiesSessionOnlyForUrls,
     prefs::kManagedCookiesSessionOnlyForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kImagesAllowedForUrls,
     prefs::kManagedImagesAllowedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kImagesBlockedForUrls,
     prefs::kManagedImagesBlockedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kJavaScriptAllowedForUrls,
     prefs::kManagedJavaScriptAllowedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kJavaScriptBlockedForUrls,
     prefs::kManagedJavaScriptBlockedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kPluginsAllowedForUrls,
     prefs::kManagedPluginsAllowedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kPluginsBlockedForUrls,
     prefs::kManagedPluginsBlockedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kPopupsAllowedForUrls,
     prefs::kManagedPopupsAllowedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kPopupsBlockedForUrls,
     prefs::kManagedPopupsBlockedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kKeygenAllowedForUrls,
     prefs::kManagedKeygenAllowedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kKeygenBlockedForUrls,
     prefs::kManagedKeygenBlockedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kNotificationsAllowedForUrls,
     prefs::kManagedNotificationsAllowedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kNotificationsBlockedForUrls,
     prefs::kManagedNotificationsBlockedForUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kDefaultNotificationsSetting,
     prefs::kManagedDefaultNotificationsSetting,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kDefaultGeolocationSetting,
     prefs::kManagedDefaultGeolocationSetting,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kSigninAllowed,
     prefs::kSigninAllowed,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kEnableOnlineRevocationChecks,
     ssl_config::prefs::kCertRevocationCheckingEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kRequireOnlineRevocationChecksForLocalAnchors,
     ssl_config::prefs::kCertRevocationCheckingRequiredLocalAnchors,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kEnableSha1ForLocalAnchors,
     ssl_config::prefs::kCertEnableSha1LocalAnchors,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAuthSchemes,
     prefs::kAuthSchemes,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kDisableAuthNegotiateCnameLookup,
     prefs::kDisableAuthNegotiateCnameLookup,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kEnableAuthNegotiatePort,
     prefs::kEnableAuthNegotiatePort,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAuthServerWhitelist,
     prefs::kAuthServerWhitelist,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kAuthNegotiateDelegateWhitelist,
     prefs::kAuthNegotiateDelegateWhitelist,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kGSSAPILibraryName,
     prefs::kGSSAPILibraryName,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kAllowCrossOriginAuthPrompt,
     prefs::kAllowCrossOriginAuthPrompt,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDisable3DAPIs,
     prefs::kDisable3DAPIs,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDisablePluginFinder,
     prefs::kDisablePluginFinder,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDiskCacheSize,
     prefs::kDiskCacheSize,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kMediaCacheSize,
     prefs::kMediaCacheSize,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kPolicyRefreshRate,
     policy_prefs::kUserPolicyRefreshRate,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kDevicePolicyRefreshRate,
     prefs::kDevicePolicyRefreshRate,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kDefaultBrowserSettingEnabled,
     prefs::kDefaultBrowserSettingEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kCloudPrintProxyEnabled,
     prefs::kCloudPrintProxyEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kCloudPrintSubmitEnabled,
     prefs::kCloudPrintSubmitEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kTranslateEnabled,
     prefs::kEnableTranslate,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAllowOutdatedPlugins,
     prefs::kPluginsAllowOutdated,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAlwaysAuthorizePlugins,
     prefs::kPluginsAlwaysAuthorize,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kBookmarkBarEnabled,
     bookmarks::prefs::kShowBookmarkBar,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kEditBookmarksEnabled,
     bookmarks::prefs::kEditBookmarksEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kShowAppsShortcutInBookmarkBar,
     bookmarks::prefs::kShowAppsShortcutInBookmarkBar,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAllowFileSelectionDialogs,
     prefs::kAllowFileSelectionDialogs,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kImportBookmarks,
     prefs::kImportBookmarks,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kImportHistory,
     prefs::kImportHistory,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kImportHomepage,
     prefs::kImportHomepage,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kImportSearchEngine,
     prefs::kImportSearchEngine,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kImportSavedPasswords,
     prefs::kImportSavedPasswords,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kImportAutofillFormData,
     prefs::kImportAutofillFormData,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kMaxConnectionsPerProxy,
     prefs::kMaxConnectionsPerProxy,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kURLWhitelist,
     policy_prefs::kUrlWhitelist,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kRestrictSigninToPattern,
     prefs::kGoogleServicesUsernamePattern,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kDefaultWebBluetoothGuardSetting,
     prefs::kManagedDefaultWebBluetoothGuardSetting,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kDefaultMediaStreamSetting,
     prefs::kManagedDefaultMediaStreamSetting,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kDisableSafeBrowsingProceedAnyway,
     prefs::kSafeBrowsingProceedAnywayDisabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kSafeBrowsingExtendedReportingOptInAllowed,
     prefs::kSafeBrowsingExtendedReportingOptInAllowed,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kSSLErrorOverrideAllowed,
     prefs::kSSLErrorOverrideAllowed,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kHardwareAccelerationModeEnabled,
     prefs::kHardwareAccelerationModeEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAllowDinosaurEasterEgg,
     prefs::kAllowDinosaurEasterEgg,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAllowedDomainsForApps,
     prefs::kAllowedDomainsForApps,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kComponentUpdatesEnabled,
     prefs::kComponentUpdatesEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 
 #if BUILDFLAG(ENABLE_SPELLCHECK)
   { key::kSpellCheckServiceEnabled,
     spellcheck::prefs::kSpellCheckUseSpellingService,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 #endif  // BUILDFLAG(ENABLE_SPELLCHECK)
 
   { key::kDisableScreenshots,
     prefs::kDisableScreenshots,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAudioCaptureAllowed,
     prefs::kAudioCaptureAllowed,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kVideoCaptureAllowed,
     prefs::kVideoCaptureAllowed,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAudioCaptureAllowedUrls,
     prefs::kAudioCaptureAllowedUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kVideoCaptureAllowedUrls,
     prefs::kVideoCaptureAllowedUrls,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kHideWebStoreIcon,
     prefs::kHideWebStoreIcon,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kVariationsRestrictParameter,
     variations::prefs::kVariationsRestrictParameter,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kSupervisedUserCreationEnabled,
     prefs::kSupervisedUserCreationAllowed,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kForceEphemeralProfiles,
     prefs::kForceEphemeralProfiles,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDHEEnabled,
     ssl_config::prefs::kDHEEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kNTPContentSuggestionsEnabled,
     ntp_snippets::prefs::kEnableSnippets,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 #if defined(ENABLE_MEDIA_ROUTER)
   { key::kEnableMediaRouter,
     prefs::kEnableMediaRouter,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 #endif  // defined(ENABLE_MEDIA_ROUTER)
 #if BUILDFLAG(ENABLE_WEBRTC)
   { key::kWebRtcUdpPortRange,
     prefs::kWebRTCUDPPortRange,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
 #endif  // BUILDFLAG(ENABLE_WEBRTC)
 #if !defined(OS_MACOSX)
   { key::kFullscreenAllowed,
     prefs::kFullscreenAllowed,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 #if BUILDFLAG(ENABLE_EXTENSIONS)
   { key::kFullscreenAllowed,
     extensions::pref_names::kAppFullscreenAllowed,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 #endif  // BUILDFLAG(ENABLE_EXTENSIONS)
 #endif  // !defined(OS_MACOSX)
 
 #if defined(OS_CHROMEOS)
   { key::kChromeOsLockOnIdleSuspend,
     prefs::kEnableAutoScreenLock,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kChromeOsReleaseChannel,
     prefs::kChromeOsReleaseChannel,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kDriveDisabled,
     drive::prefs::kDisableDrive,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDriveDisabledOverCellular,
     drive::prefs::kDisableDriveOverCellular,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kExternalStorageDisabled,
     prefs::kExternalStorageDisabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kExternalStorageReadOnly,
     prefs::kExternalStorageReadOnly,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAudioOutputAllowed,
     chromeos::prefs::kAudioOutputAllowed,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kShowLogoutButtonInTray,
     prefs::kShowLogoutButtonInTray,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kShelfAutoHideBehavior,
     prefs::kShelfAutoHideBehaviorLocal,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kSessionLengthLimit,
     prefs::kSessionLengthLimit,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
   { key::kWaitForInitialUserActivity,
     prefs::kSessionWaitForInitialUserActivity,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kPowerManagementUsesAudioActivity,
     prefs::kPowerUseAudioActivity,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kPowerManagementUsesVideoActivity,
     prefs::kPowerUseVideoActivity,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAllowScreenWakeLocks,
     prefs::kPowerAllowScreenWakeLocks,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kWaitForInitialUserActivity,
     prefs::kPowerWaitForInitialUserActivity,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kTermsOfServiceURL,
     prefs::kTermsOfServiceURL,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kShowAccessibilityOptionsInSystemTrayMenu,
     prefs::kShouldAlwaysShowAccessibilityMenu,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kLargeCursorEnabled,
     prefs::kAccessibilityLargeCursorEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kSpokenFeedbackEnabled,
     prefs::kAccessibilitySpokenFeedbackEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kHighContrastEnabled,
     prefs::kAccessibilityHighContrastEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kVirtualKeyboardEnabled,
     prefs::kAccessibilityVirtualKeyboardEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDeviceLoginScreenDefaultLargeCursorEnabled,
     NULL,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDeviceLoginScreenDefaultSpokenFeedbackEnabled,
     NULL,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDeviceLoginScreenDefaultHighContrastEnabled,
     NULL,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kDeviceLoginScreenDefaultVirtualKeyboardEnabled,
     NULL,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kRebootAfterUpdate,
     prefs::kRebootAfterUpdate,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAttestationEnabledForUser,
     prefs::kAttestationEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kChromeOsMultiProfileUserBehavior,
     prefs::kMultiProfileUserBehavior,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
   { key::kKeyboardDefaultToFunctionKeys,
     prefs::kLanguageSendFunctionKeys,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kTouchVirtualKeyboardEnabled,
     prefs::kTouchVirtualKeyboardEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kEasyUnlockAllowed,
     prefs::kEasyUnlockAllowed,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kCaptivePortalAuthenticationIgnoresProxy,
     prefs::kCaptivePortalAuthenticationIgnoresProxy,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kForceMaximizeOnFirstRun,
     prefs::kForceMaximizeOnFirstRun,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kUnifiedDesktopEnabledByDefault,
     prefs::kUnifiedDesktopEnabledByDefault,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kArcEnabled,
     prefs::kArcEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kArcBackupRestoreEnabled,
     prefs::kArcBackupRestoreEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kReportArcStatusEnabled,
     prefs::kReportArcStatusEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kNativePrinters,
     prefs::kRecommendedNativePrinters,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
 #endif  // defined(OS_CHROMEOS)
 
 // Metrics reporting is controlled by a platform specific policy for ChromeOS
 #if defined(OS_CHROMEOS)
   { key::kDeviceMetricsReportingEnabled,
     metrics::prefs::kMetricsReportingEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 #else
   { key::kMetricsReportingEnabled,
     metrics::prefs::kMetricsReportingEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 #endif
 
 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
   { key::kBackgroundModeEnabled,
     prefs::kBackgroundModeEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 #endif  // !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
 
 #if BUILDFLAG(ANDROID_JAVA_UI)
   { key::kDataCompressionProxyEnabled,
     prefs::kDataSaverEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kAuthAndroidNegotiateAccountType,
     prefs::kAuthAndroidNegotiateAccountType,
-    base::Value::TYPE_STRING },
+    base::Value::Type::STRING },
 #endif  // BUILDFLAG(ANDROID_JAVA_UI)
 
 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
   { key::kNativeMessagingUserLevelHosts,
     extensions::pref_names::kNativeMessagingUserLevelHosts,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kBrowserAddPersonEnabled,
     prefs::kBrowserAddPersonEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
   { key::kForceBrowserSignin,
     prefs::kForceBrowserSignin,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 #endif  // !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
 
 #if defined(OS_WIN)
   { key::kWelcomePageOnOSUpgradeEnabled,
     prefs::kWelcomePageOnOSUpgradeEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 #endif  // OS_WIN
 
 #if !defined(OS_ANDROID)
   { key::kSuppressUnsupportedOSWarning,
     prefs::kSuppressUnsupportedOSWarning,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 #endif  // !OS_ANDROID
 
 #if defined(OS_CHROMEOS)
   { key::kSystemTimezoneAutomaticDetection,
     prefs::kSystemTimezoneAutomaticDetectionPolicy,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
 #endif
 
   { key::kTaskManagerEndProcessEnabled,
     prefs::kTaskManagerEndProcessEnabled,
-    base::Value::TYPE_BOOLEAN },
+    base::Value::Type::BOOLEAN },
 
 #if defined(OS_CHROMEOS)
   { key::kNetworkThrottlingEnabled,
     prefs::kNetworkThrottlingEnabled,
-    base::Value::TYPE_DICTIONARY },
+    base::Value::Type::DICTIONARY },
 
-  { key::kAllowScreenLock, prefs::kAllowScreenLock, base::Value::TYPE_BOOLEAN },
+  { key::kAllowScreenLock, prefs::kAllowScreenLock,
+    base::Value::Type::BOOLEAN },
 
   { key::kQuickUnlockModeWhitelist, prefs::kQuickUnlockModeWhitelist,
-    base::Value::TYPE_LIST },
+    base::Value::Type::LIST },
   { key::kQuickUnlockTimeout, prefs::kQuickUnlockTimeout,
-    base::Value::TYPE_INTEGER },
+    base::Value::Type::INTEGER },
 #endif
 };
 
@@ -624,7 +625,7 @@
  public:
   ForceSafeSearchPolicyHandler()
       : TypeCheckingPolicyHandler(key::kForceSafeSearch,
-                                  base::Value::TYPE_BOOLEAN) {}
+                                  base::Value::Type::BOOLEAN) {}
   ~ForceSafeSearchPolicyHandler() override {}
 
   // ConfigurationPolicyHandler implementation:
@@ -665,7 +666,7 @@
  public:
   ForceYouTubeSafetyModePolicyHandler()
       : TypeCheckingPolicyHandler(key::kForceYouTubeSafetyMode,
-                                  base::Value::TYPE_BOOLEAN) {}
+                                  base::Value::Type::BOOLEAN) {}
   ~ForceYouTubeSafetyModePolicyHandler() override {}
 
   // ConfigurationPolicyHandler implementation:
diff --git a/chrome/browser/policy/file_selection_dialogs_policy_handler.cc b/chrome/browser/policy/file_selection_dialogs_policy_handler.cc
index b2815e9..1a304928 100644
--- a/chrome/browser/policy/file_selection_dialogs_policy_handler.cc
+++ b/chrome/browser/policy/file_selection_dialogs_policy_handler.cc
@@ -14,7 +14,7 @@
 
 FileSelectionDialogsPolicyHandler::FileSelectionDialogsPolicyHandler()
     : TypeCheckingPolicyHandler(key::kAllowFileSelectionDialogs,
-                                base::Value::TYPE_BOOLEAN) {}
+                                base::Value::Type::BOOLEAN) {}
 
 FileSelectionDialogsPolicyHandler::~FileSelectionDialogsPolicyHandler() {}
 
diff --git a/chrome/browser/policy/javascript_policy_handler.cc b/chrome/browser/policy/javascript_policy_handler.cc
index edd65f43..8f2194a 100644
--- a/chrome/browser/policy/javascript_policy_handler.cc
+++ b/chrome/browser/policy/javascript_policy_handler.cc
@@ -27,14 +27,14 @@
       policies.GetValue(key::kDefaultJavaScriptSetting);
 
   if (javascript_enabled &&
-      !javascript_enabled->IsType(base::Value::TYPE_BOOLEAN)) {
+      !javascript_enabled->IsType(base::Value::Type::BOOLEAN)) {
     errors->AddError(key::kJavascriptEnabled, IDS_POLICY_TYPE_ERROR,
-                     base::Value::GetTypeName(base::Value::TYPE_BOOLEAN));
+                     base::Value::GetTypeName(base::Value::Type::BOOLEAN));
   }
 
-  if (default_setting && !default_setting->IsType(base::Value::TYPE_INTEGER)) {
+  if (default_setting && !default_setting->IsType(base::Value::Type::INTEGER)) {
     errors->AddError(key::kDefaultJavaScriptSetting, IDS_POLICY_TYPE_ERROR,
-                     base::Value::GetTypeName(base::Value::TYPE_INTEGER));
+                     base::Value::GetTypeName(base::Value::Type::INTEGER));
   }
 
   if (javascript_enabled && default_setting) {
diff --git a/chrome/browser/policy/network_prediction_policy_handler.cc b/chrome/browser/policy/network_prediction_policy_handler.cc
index 0276e2e7..793dbb6 100644
--- a/chrome/browser/policy/network_prediction_policy_handler.cc
+++ b/chrome/browser/policy/network_prediction_policy_handler.cc
@@ -32,15 +32,15 @@
       policies.GetValue(key::kNetworkPredictionOptions);
 
   if (network_prediction_enabled &&
-      !network_prediction_enabled->IsType(base::Value::TYPE_BOOLEAN)) {
+      !network_prediction_enabled->IsType(base::Value::Type::BOOLEAN)) {
     errors->AddError(key::kDnsPrefetchingEnabled, IDS_POLICY_TYPE_ERROR,
-                     base::Value::GetTypeName(base::Value::TYPE_BOOLEAN));
+                     base::Value::GetTypeName(base::Value::Type::BOOLEAN));
   }
 
   if (network_prediction_options &&
-      !network_prediction_options->IsType(base::Value::TYPE_INTEGER)) {
+      !network_prediction_options->IsType(base::Value::Type::INTEGER)) {
     errors->AddError(key::kNetworkPredictionOptions, IDS_POLICY_TYPE_ERROR,
-                     base::Value::GetTypeName(base::Value::TYPE_INTEGER));
+                     base::Value::GetTypeName(base::Value::Type::INTEGER));
   }
 
   if (network_prediction_enabled && network_prediction_options) {
diff --git a/chrome/browser/policy/policy_browsertest.cc b/chrome/browser/policy/policy_browsertest.cc
index d89f788..5d9eaa9c 100644
--- a/chrome/browser/policy/policy_browsertest.cc
+++ b/chrome/browser/policy/policy_browsertest.cc
@@ -468,7 +468,7 @@
       content::ExecuteScriptAndGetValue(contents->GetMainFrame(), "123");
   int result = 0;
   if (!value->GetAsInteger(&result))
-    EXPECT_EQ(base::Value::TYPE_NULL, value->GetType());
+    EXPECT_EQ(base::Value::Type::NONE, value->GetType());
   return result == 123;
 }
 
diff --git a/chrome/browser/prefs/chrome_command_line_pref_store_unittest.cc b/chrome/browser/prefs/chrome_command_line_pref_store_unittest.cc
index 972232b..50547cf 100644
--- a/chrome/browser/prefs/chrome_command_line_pref_store_unittest.cc
+++ b/chrome/browser/prefs/chrome_command_line_pref_store_unittest.cc
@@ -37,7 +37,7 @@
   void VerifyProxyMode(ProxyPrefs::ProxyMode expected_mode) {
     const base::Value* value = NULL;
     ASSERT_TRUE(GetValue(proxy_config::prefs::kProxy, &value));
-    ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType());
+    ASSERT_EQ(base::Value::Type::DICTIONARY, value->GetType());
     ProxyConfigDictionary dict(
         static_cast<const base::DictionaryValue*>(value));
     ProxyPrefs::ProxyMode actual_mode;
@@ -49,7 +49,7 @@
                              size_t cipher_count) {
     const base::Value* value = NULL;
     ASSERT_TRUE(GetValue(ssl_config::prefs::kCipherSuiteBlacklist, &value));
-    ASSERT_EQ(base::Value::TYPE_LIST, value->GetType());
+    ASSERT_EQ(base::Value::Type::LIST, value->GetType());
     const base::ListValue* list_value =
         static_cast<const base::ListValue*>(value);
     ASSERT_EQ(cipher_count, list_value->GetSize());
@@ -121,7 +121,7 @@
 
   const base::Value* value = NULL;
   ASSERT_TRUE(store->GetValue(proxy_config::prefs::kProxy, &value));
-  ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType());
+  ASSERT_EQ(base::Value::Type::DICTIONARY, value->GetType());
   ProxyConfigDictionary dict(static_cast<const base::DictionaryValue*>(value));
 
   std::string string_result;
diff --git a/chrome/browser/prefs/chrome_pref_service_unittest.cc b/chrome/browser/prefs/chrome_pref_service_unittest.cc
index 214b864..31067d3 100644
--- a/chrome/browser/prefs/chrome_pref_service_unittest.cc
+++ b/chrome/browser/prefs/chrome_pref_service_unittest.cc
@@ -27,7 +27,7 @@
   ASSERT_TRUE(pref);
   const base::Value* value = pref->GetValue();
   ASSERT_TRUE(value);
-  EXPECT_EQ(base::Value::TYPE_BOOLEAN, value->GetType());
+  EXPECT_EQ(base::Value::Type::BOOLEAN, value->GetType());
   bool actual_bool_value = true;
   EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value));
   EXPECT_FALSE(actual_bool_value);
@@ -42,7 +42,7 @@
   ASSERT_TRUE(pref);
   value = pref->GetValue();
   ASSERT_TRUE(value);
-  EXPECT_EQ(base::Value::TYPE_BOOLEAN, value->GetType());
+  EXPECT_EQ(base::Value::Type::BOOLEAN, value->GetType());
   actual_bool_value = false;
   EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value));
   EXPECT_TRUE(actual_bool_value);
diff --git a/chrome/browser/prefs/pref_service_browsertest.cc b/chrome/browser/prefs/pref_service_browsertest.cc
index 8097862..8f1eec42 100644
--- a/chrome/browser/prefs/pref_service_browsertest.cc
+++ b/chrome/browser/prefs/pref_service_browsertest.cc
@@ -90,7 +90,7 @@
   std::unique_ptr<base::Value> root = deserializer.Deserialize(NULL, NULL);
 
   ASSERT_TRUE(root.get());
-  ASSERT_TRUE(root->IsType(base::Value::TYPE_DICTIONARY));
+  ASSERT_TRUE(root->IsType(base::Value::Type::DICTIONARY));
 
   base::DictionaryValue* root_dict =
       static_cast<base::DictionaryValue*>(root.get());
diff --git a/chrome/browser/prefs/tracked/pref_hash_browsertest.cc b/chrome/browser/prefs/tracked/pref_hash_browsertest.cc
index f77616a6..ea7def8 100644
--- a/chrome/browser/prefs/tracked/pref_hash_browsertest.cc
+++ b/chrome/browser/prefs/tracked/pref_hash_browsertest.cc
@@ -117,7 +117,7 @@
     ADD_FAILURE() << "Error #" << error_code << ": " << error_str;
     return std::unique_ptr<base::DictionaryValue>();
   }
-  if (!prefs->IsType(base::Value::TYPE_DICTIONARY)) {
+  if (!prefs->IsType(base::Value::Type::DICTIONARY)) {
     ADD_FAILURE();
     return std::unique_ptr<base::DictionaryValue>();
   }
diff --git a/chrome/browser/profile_resetter/brandcoded_default_settings.cc b/chrome/browser/profile_resetter/brandcoded_default_settings.cc
index 7e600f8..b213ee01 100644
--- a/chrome/browser/profile_resetter/brandcoded_default_settings.cc
+++ b/chrome/browser/profile_resetter/brandcoded_default_settings.cc
@@ -23,7 +23,7 @@
       VLOG(1) << "Failed to parse brandcode prefs file: " << error;
       return;
     }
-    if (!root->IsType(base::Value::TYPE_DICTIONARY)) {
+    if (!root->IsType(base::Value::Type::DICTIONARY)) {
       VLOG(1) << "Failed to parse brandcode prefs file: "
               << "Root item must be a dictionary.";
       return;
diff --git a/chrome/browser/profiles/guest_mode_policy_handler.cc b/chrome/browser/profiles/guest_mode_policy_handler.cc
index 151cf07..5d40424c 100644
--- a/chrome/browser/profiles/guest_mode_policy_handler.cc
+++ b/chrome/browser/profiles/guest_mode_policy_handler.cc
@@ -14,7 +14,7 @@
 
 GuestModePolicyHandler::GuestModePolicyHandler()
     : TypeCheckingPolicyHandler(key::kBrowserGuestModeEnabled,
-                                base::Value::TYPE_BOOLEAN) {}
+                                base::Value::Type::BOOLEAN) {}
 
 GuestModePolicyHandler::~GuestModePolicyHandler() {}
 
diff --git a/chrome/browser/profiles/incognito_mode_policy_handler.cc b/chrome/browser/profiles/incognito_mode_policy_handler.cc
index 57afa036..224af9d 100644
--- a/chrome/browser/profiles/incognito_mode_policy_handler.cc
+++ b/chrome/browser/profiles/incognito_mode_policy_handler.cc
@@ -29,7 +29,7 @@
     int int_value = IncognitoModePrefs::ENABLED;
     if (!availability->GetAsInteger(&int_value)) {
       errors->AddError(key::kIncognitoModeAvailability, IDS_POLICY_TYPE_ERROR,
-                       base::Value::GetTypeName(base::Value::TYPE_INTEGER));
+                       base::Value::GetTypeName(base::Value::Type::INTEGER));
       return false;
     }
     IncognitoModePrefs::Availability availability_enum_value;
@@ -46,9 +46,9 @@
   const base::Value* deprecated_enabled =
       policies.GetValue(key::kIncognitoEnabled);
   if (deprecated_enabled &&
-      !deprecated_enabled->IsType(base::Value::TYPE_BOOLEAN)) {
+      !deprecated_enabled->IsType(base::Value::Type::BOOLEAN)) {
     errors->AddError(key::kIncognitoEnabled, IDS_POLICY_TYPE_ERROR,
-                     base::Value::GetTypeName(base::Value::TYPE_BOOLEAN));
+                     base::Value::GetTypeName(base::Value::Type::BOOLEAN));
     return false;
   }
   return true;
diff --git a/chrome/browser/profiles/profile_statistics_aggregator.cc b/chrome/browser/profiles/profile_statistics_aggregator.cc
index 10b9728..e3582be 100644
--- a/chrome/browser/profiles/profile_statistics_aggregator.cc
+++ b/chrome/browser/profiles/profile_statistics_aggregator.cc
@@ -225,7 +225,7 @@
       const PrefService::Preference* pref = pref_service->
                                                 FindPreference(it.key());
       // Skip all dictionaries (which must be empty by the function call above).
-      if (it.value().GetType() != base::Value::TYPE_DICTIONARY &&
+      if (it.value().GetType() != base::Value::Type::DICTIONARY &&
         pref && pref->IsUserControlled() && !pref->IsDefaultValue()) {
         ++count;
       }
diff --git a/chrome/browser/safe_browsing/incident_reporting/platform_state_store.cc b/chrome/browser/safe_browsing/incident_reporting/platform_state_store.cc
index 54319ea4..8da6f19 100644
--- a/chrome/browser/safe_browsing/incident_reporting/platform_state_store.cc
+++ b/chrome/browser/safe_browsing/incident_reporting/platform_state_store.cc
@@ -46,7 +46,7 @@
   for (base::DictionaryValue::Iterator iter(keys_and_digests); !iter.IsAtEnd();
        iter.Advance()) {
     uint32_t digest = 0;
-    if (iter.value().GetType() != base::Value::TYPE_STRING ||
+    if (iter.value().GetType() != base::Value::Type::STRING ||
         !iter.value().GetAsString(&digest_value) ||
         !base::StringToUint(digest_value, &digest)) {
       NOTREACHED();
diff --git a/chrome/browser/safe_browsing/incident_reporting/preference_validation_delegate_unittest.cc b/chrome/browser/safe_browsing/incident_reporting/preference_validation_delegate_unittest.cc
index 2cd6635..ce8ad85 100644
--- a/chrome/browser/safe_browsing/incident_reporting/preference_validation_delegate_unittest.cc
+++ b/chrome/browser/safe_browsing/incident_reporting/preference_validation_delegate_unittest.cc
@@ -130,24 +130,24 @@
   static std::unique_ptr<base::Value> MakeValue(base::Value::Type value_type) {
     using base::Value;
     switch (value_type) {
-      case Value::TYPE_NULL:
+      case Value::Type::NONE:
         return Value::CreateNullValue();
-      case Value::TYPE_BOOLEAN:
+      case Value::Type::BOOLEAN:
         return std::unique_ptr<Value>(new base::FundamentalValue(false));
-      case Value::TYPE_INTEGER:
+      case Value::Type::INTEGER:
         return std::unique_ptr<Value>(new base::FundamentalValue(47));
-      case Value::TYPE_DOUBLE:
+      case Value::Type::DOUBLE:
         return std::unique_ptr<Value>(new base::FundamentalValue(0.47));
-      case Value::TYPE_STRING:
+      case Value::Type::STRING:
         return std::unique_ptr<Value>(new base::StringValue("i have a spleen"));
-      case Value::TYPE_DICTIONARY: {
+      case Value::Type::DICTIONARY: {
         std::unique_ptr<base::DictionaryValue> value(
             new base::DictionaryValue());
         value->SetInteger("twenty-two", 22);
         value->SetInteger("forty-seven", 47);
         return std::move(value);
       }
-      case Value::TYPE_LIST: {
+      case Value::Type::LIST: {
         std::unique_ptr<base::ListValue> value(new base::ListValue());
         value->AppendInteger(22);
         value->AppendInteger(47);
@@ -182,19 +182,19 @@
     // testing/gtest/include/gtest/internal/gtest-tuple.h:246:48:
     //   error: array used as initializer
     testing::Values(
-        std::tr1::make_tuple(base::Value::TYPE_NULL,
+        std::tr1::make_tuple(base::Value::Type::NONE,
                              const_cast<char*>("null")),
-        std::tr1::make_tuple(base::Value::TYPE_BOOLEAN,
+        std::tr1::make_tuple(base::Value::Type::BOOLEAN,
                              const_cast<char*>("false")),
-        std::tr1::make_tuple(base::Value::TYPE_INTEGER,
+        std::tr1::make_tuple(base::Value::Type::INTEGER,
                              const_cast<char*>("47")),
-        std::tr1::make_tuple(base::Value::TYPE_DOUBLE,
+        std::tr1::make_tuple(base::Value::Type::DOUBLE,
                              const_cast<char*>("0.47")),
-        std::tr1::make_tuple(base::Value::TYPE_STRING,
+        std::tr1::make_tuple(base::Value::Type::STRING,
                              const_cast<char*>("i have a spleen")),
-        std::tr1::make_tuple(base::Value::TYPE_DICTIONARY,
+        std::tr1::make_tuple(base::Value::Type::DICTIONARY,
             const_cast<char*>("{\"forty-seven\":47,\"twenty-two\":22}")),
-        std::tr1::make_tuple(base::Value::TYPE_LIST,
+        std::tr1::make_tuple(base::Value::Type::LIST,
                              const_cast<char*>("[22,47]"))));
 
 // Tests that no incidents are reported for relevant combinations of ValueState.
diff --git a/chrome/browser/search/contextual_search_policy_handler_android.cc b/chrome/browser/search/contextual_search_policy_handler_android.cc
index a957b01..eb7e3f5 100644
--- a/chrome/browser/search/contextual_search_policy_handler_android.cc
+++ b/chrome/browser/search/contextual_search_policy_handler_android.cc
@@ -14,7 +14,7 @@
 
 ContextualSearchPolicyHandlerAndroid::ContextualSearchPolicyHandlerAndroid()
     : TypeCheckingPolicyHandler(key::kContextualSearchEnabled,
-                                base::Value::TYPE_BOOLEAN) {}
+                                base::Value::Type::BOOLEAN) {}
 
 ContextualSearchPolicyHandlerAndroid::~ContextualSearchPolicyHandlerAndroid() {
 }
diff --git a/chrome/browser/sessions/restore_on_startup_policy_handler.cc b/chrome/browser/sessions/restore_on_startup_policy_handler.cc
index 6765576..ff6946b6 100644
--- a/chrome/browser/sessions/restore_on_startup_policy_handler.cc
+++ b/chrome/browser/sessions/restore_on_startup_policy_handler.cc
@@ -18,7 +18,7 @@
 
 RestoreOnStartupPolicyHandler::RestoreOnStartupPolicyHandler()
     : TypeCheckingPolicyHandler(key::kRestoreOnStartup,
-                                base::Value::TYPE_INTEGER) {}
+                                base::Value::Type::INTEGER) {}
 
 RestoreOnStartupPolicyHandler::~RestoreOnStartupPolicyHandler() {
 }
diff --git a/chrome/browser/sessions/restore_on_startup_policy_handler_unittest.cc b/chrome/browser/sessions/restore_on_startup_policy_handler_unittest.cc
index 737f66b..faed1f0 100644
--- a/chrome/browser/sessions/restore_on_startup_policy_handler_unittest.cc
+++ b/chrome/browser/sessions/restore_on_startup_policy_handler_unittest.cc
@@ -60,7 +60,7 @@
   EXPECT_EQ(
       l10n_util::GetStringFUTF16(IDS_POLICY_TYPE_ERROR,
                                  base::ASCIIToUTF16(base::Value::GetTypeName(
-                                     base::Value::TYPE_INTEGER))),
+                                     base::Value::Type::INTEGER))),
       errors().begin()->second);
 }
 
diff --git a/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc b/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc
index acdb5a5..7b25db4 100644
--- a/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc
+++ b/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc
@@ -238,7 +238,7 @@
                          const net::SSLInfo& ssl_info) {
   std::unique_ptr<base::Value> value(base::JSONReader::Read(serialized_report));
   ASSERT_TRUE(value);
-  ASSERT_TRUE(value->IsType(base::Value::TYPE_DICTIONARY));
+  ASSERT_TRUE(value->IsType(base::Value::Type::DICTIONARY));
 
   base::DictionaryValue* report_dict;
   ASSERT_TRUE(value->GetAsDictionary(&report_dict));
diff --git a/chrome/browser/ssl/chrome_ssl_host_state_delegate.cc b/chrome/browser/ssl/chrome_ssl_host_state_delegate.cc
index 43787d9..09688e08 100644
--- a/chrome/browser/ssl/chrome_ssl_host_state_delegate.cc
+++ b/chrome/browser/ssl/chrome_ssl_host_state_delegate.cc
@@ -301,7 +301,7 @@
   std::unique_ptr<base::Value> value(map->GetWebsiteSetting(
       url, url, CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, std::string(), NULL));
 
-  if (!value.get() || !value->IsType(base::Value::TYPE_DICTIONARY))
+  if (!value.get() || !value->IsType(base::Value::Type::DICTIONARY))
     value.reset(new base::DictionaryValue());
 
   base::DictionaryValue* dict;
@@ -369,7 +369,7 @@
   if (allow_localhost && net::IsLocalhost(url.host()))
     return ALLOWED;
 
-  if (!value.get() || !value->IsType(base::Value::TYPE_DICTIONARY))
+  if (!value.get() || !value->IsType(base::Value::Type::DICTIONARY))
     return DENIED;
 
   base::DictionaryValue* dict;  // Owned by value
@@ -445,7 +445,7 @@
   std::unique_ptr<base::Value> value(map->GetWebsiteSetting(
       url, url, CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, std::string(), NULL));
 
-  if (!value.get() || !value->IsType(base::Value::TYPE_DICTIONARY))
+  if (!value.get() || !value->IsType(base::Value::Type::DICTIONARY))
     return false;
 
   base::DictionaryValue* dict;  // Owned by value
diff --git a/chrome/browser/themes/browser_theme_pack.cc b/chrome/browser/themes/browser_theme_pack.cc
index 1917736a..7da11d3a 100644
--- a/chrome/browser/themes/browser_theme_pack.cc
+++ b/chrome/browser/themes/browser_theme_pack.cc
@@ -1096,7 +1096,7 @@
 
   for (base::DictionaryValue::Iterator iter(*images_value); !iter.IsAtEnd();
        iter.Advance()) {
-    if (iter.value().IsType(base::Value::TYPE_DICTIONARY)) {
+    if (iter.value().IsType(base::Value::Type::DICTIONARY)) {
       const base::DictionaryValue* inner_value = NULL;
       if (iter.value().GetAsDictionary(&inner_value)) {
         for (base::DictionaryValue::Iterator inner_iter(*inner_value);
@@ -1105,7 +1105,7 @@
           std::string name;
           ui::ScaleFactor scale_factor = ui::SCALE_FACTOR_NONE;
           if (GetScaleFactorFromManifestKey(inner_iter.key(), &scale_factor) &&
-              inner_iter.value().IsType(base::Value::TYPE_STRING) &&
+              inner_iter.value().IsType(base::Value::Type::STRING) &&
               inner_iter.value().GetAsString(&name)) {
             AddFileAtScaleToMap(iter.key(),
                                 scale_factor,
@@ -1114,7 +1114,7 @@
           }
         }
       }
-    } else if (iter.value().IsType(base::Value::TYPE_STRING)) {
+    } else if (iter.value().IsType(base::Value::Type::STRING)) {
       std::string name;
       if (iter.value().GetAsString(&name)) {
         AddFileAtScaleToMap(iter.key(),
diff --git a/chrome/browser/themes/browser_theme_pack_unittest.cc b/chrome/browser/themes/browser_theme_pack_unittest.cc
index 287d6ce..f31dc4e 100644
--- a/chrome/browser/themes/browser_theme_pack_unittest.cc
+++ b/chrome/browser/themes/browser_theme_pack_unittest.cc
@@ -99,7 +99,7 @@
 
   void LoadColorJSON(const std::string& json) {
     std::unique_ptr<base::Value> value = base::JSONReader::Read(json);
-    ASSERT_TRUE(value->IsType(base::Value::TYPE_DICTIONARY));
+    ASSERT_TRUE(value->IsType(base::Value::Type::DICTIONARY));
     LoadColorDictionary(static_cast<base::DictionaryValue*>(value.get()));
   }
 
@@ -109,7 +109,7 @@
 
   void LoadTintJSON(const std::string& json) {
     std::unique_ptr<base::Value> value = base::JSONReader::Read(json);
-    ASSERT_TRUE(value->IsType(base::Value::TYPE_DICTIONARY));
+    ASSERT_TRUE(value->IsType(base::Value::Type::DICTIONARY));
     LoadTintDictionary(static_cast<base::DictionaryValue*>(value.get()));
   }
 
@@ -119,7 +119,7 @@
 
   void LoadDisplayPropertiesJSON(const std::string& json) {
     std::unique_ptr<base::Value> value = base::JSONReader::Read(json);
-    ASSERT_TRUE(value->IsType(base::Value::TYPE_DICTIONARY));
+    ASSERT_TRUE(value->IsType(base::Value::Type::DICTIONARY));
     LoadDisplayPropertiesDictionary(
         static_cast<base::DictionaryValue*>(value.get()));
   }
@@ -131,7 +131,7 @@
   void ParseImageNamesJSON(const std::string& json,
                            TestFilePathMap* out_file_paths) {
     std::unique_ptr<base::Value> value = base::JSONReader::Read(json);
-    ASSERT_TRUE(value->IsType(base::Value::TYPE_DICTIONARY));
+    ASSERT_TRUE(value->IsType(base::Value::Type::DICTIONARY));
     ParseImageNamesDictionary(static_cast<base::DictionaryValue*>(value.get()),
                               out_file_paths);
   }
diff --git a/chrome/browser/ui/app_list/search/common/json_response_fetcher.cc b/chrome/browser/ui/app_list/search/common/json_response_fetcher.cc
index b2a88b5..7975c35 100644
--- a/chrome/browser/ui/app_list/search/common/json_response_fetcher.cc
+++ b/chrome/browser/ui/app_list/search/common/json_response_fetcher.cc
@@ -47,7 +47,7 @@
 
 void JSONResponseFetcher::OnJsonParseSuccess(
     std::unique_ptr<base::Value> parsed_json) {
-  if (!parsed_json->IsType(base::Value::TYPE_DICTIONARY)) {
+  if (!parsed_json->IsType(base::Value::Type::DICTIONARY)) {
     OnJsonParseError(kBadResponse);
     return;
   }
diff --git a/chrome/browser/ui/cocoa/applescript/apple_event_util.mm b/chrome/browser/ui/cocoa/applescript/apple_event_util.mm
index f798950..566bd4c 100644
--- a/chrome/browser/ui/cocoa/applescript/apple_event_util.mm
+++ b/chrome/browser/ui/cocoa/applescript/apple_event_util.mm
@@ -18,26 +18,26 @@
   NSAppleEventDescriptor* descriptor = nil;
 
   switch (value->GetType()) {
-    case base::Value::TYPE_NULL:
+    case base::Value::Type::NONE:
       descriptor = [NSAppleEventDescriptor
           descriptorWithTypeCode:cMissingValue];
       break;
 
-    case base::Value::TYPE_BOOLEAN: {
+    case base::Value::Type::BOOLEAN: {
       bool bool_value;
       value->GetAsBoolean(&bool_value);
       descriptor = [NSAppleEventDescriptor descriptorWithBoolean:bool_value];
       break;
     }
 
-    case base::Value::TYPE_INTEGER: {
+    case base::Value::Type::INTEGER: {
       int int_value;
       value->GetAsInteger(&int_value);
       descriptor = [NSAppleEventDescriptor descriptorWithInt32:int_value];
       break;
     }
 
-    case base::Value::TYPE_DOUBLE: {
+    case base::Value::Type::DOUBLE: {
       double double_value;
       value->GetAsDouble(&double_value);
       descriptor = [NSAppleEventDescriptor
@@ -47,7 +47,7 @@
       break;
     }
 
-    case base::Value::TYPE_STRING: {
+    case base::Value::Type::STRING: {
       std::string string_value;
       value->GetAsString(&string_value);
       descriptor = [NSAppleEventDescriptor descriptorWithString:
@@ -55,11 +55,11 @@
       break;
     }
 
-    case base::Value::TYPE_BINARY:
+    case base::Value::Type::BINARY:
       NOTREACHED();
       break;
 
-    case base::Value::TYPE_DICTIONARY: {
+    case base::Value::Type::DICTIONARY: {
       const base::DictionaryValue* dictionary_value;
       value->GetAsDictionary(&dictionary_value);
       descriptor = [NSAppleEventDescriptor recordDescriptor];
@@ -80,7 +80,7 @@
       break;
     }
 
-    case base::Value::TYPE_LIST: {
+    case base::Value::Type::LIST: {
       const base::ListValue* list_value;
       value->GetAsList(&list_value);
       descriptor = [NSAppleEventDescriptor listDescriptor];
diff --git a/chrome/browser/ui/website_settings/website_settings.cc b/chrome/browser/ui/website_settings/website_settings.cc
index 5f8c7a3..0ef7381 100644
--- a/chrome/browser/ui/website_settings/website_settings.cc
+++ b/chrome/browser/ui/website_settings/website_settings.cc
@@ -709,7 +709,7 @@
     std::unique_ptr<base::Value> value = content_settings_->GetWebsiteSetting(
         site_url_, site_url_, permission_info.type, std::string(), &info);
     DCHECK(value.get());
-    if (value->GetType() == base::Value::TYPE_INTEGER) {
+    if (value->GetType() == base::Value::Type::INTEGER) {
       permission_info.setting =
           content_settings::ValueToContentSetting(value.get());
     } else {
diff --git a/chrome/browser/ui/webui/nacl_ui.cc b/chrome/browser/ui/webui/nacl_ui.cc
index f3713b2c..7fb1ea6 100644
--- a/chrome/browser/ui/webui/nacl_ui.cc
+++ b/chrome/browser/ui/webui/nacl_ui.cc
@@ -335,7 +335,7 @@
   JSONFileValueDeserializer deserializer(pnacl_json_path);
   std::string error;
   std::unique_ptr<base::Value> root = deserializer.Deserialize(NULL, &error);
-  if (!root || !root->IsType(base::Value::TYPE_DICTIONARY))
+  if (!root || !root->IsType(base::Value::Type::DICTIONARY))
     return;
 
   // Now try to get the field. This may leave version empty if the
diff --git a/chrome/browser/ui/webui/options/core_options_handler.cc b/chrome/browser/ui/webui/options/core_options_handler.cc
index f843155..a647807 100644
--- a/chrome/browser/ui/webui/options/core_options_handler.cc
+++ b/chrome/browser/ui/webui/options/core_options_handler.cc
@@ -302,11 +302,11 @@
   }
 
   switch (value->GetType()) {
-    case base::Value::TYPE_BOOLEAN:
-    case base::Value::TYPE_INTEGER:
-    case base::Value::TYPE_DOUBLE:
-    case base::Value::TYPE_STRING:
-    case base::Value::TYPE_LIST:
+    case base::Value::Type::BOOLEAN:
+    case base::Value::Type::INTEGER:
+    case base::Value::Type::DOUBLE:
+    case base::Value::Type::STRING:
+    case base::Value::Type::LIST:
       pref_service->Set(pref_name, *value);
       break;
 
@@ -333,7 +333,7 @@
     return;
 
   std::string metric_string = metric;
-  if (value->IsType(base::Value::TYPE_BOOLEAN)) {
+  if (value->IsType(base::Value::Type::BOOLEAN)) {
     bool bool_value;
     CHECK(value->GetAsBoolean(&bool_value));
     metric_string += bool_value ? "_Enable" : "_Disable";
@@ -447,7 +447,7 @@
 
   // Get callback JS function name.
   const base::Value* callback;
-  if (!args->Get(0, &callback) || !callback->IsType(base::Value::TYPE_STRING))
+  if (!args->Get(0, &callback) || !callback->IsType(base::Value::Type::STRING))
     return;
 
   base::string16 callback_function;
@@ -462,7 +462,7 @@
     if (!args->Get(i, &list_member))
       break;
 
-    if (!list_member->IsType(base::Value::TYPE_STRING))
+    if (!list_member->IsType(base::Value::Type::STRING))
       continue;
 
     std::string pref_name;
@@ -493,7 +493,7 @@
 
     // Just ignore bad pref identifiers for now.
     std::string pref_name;
-    if (!list_member->IsType(base::Value::TYPE_STRING) ||
+    if (!list_member->IsType(base::Value::Type::STRING) ||
         !list_member->GetAsString(&pref_name))
       continue;
 
@@ -545,7 +545,7 @@
 
   switch (type) {
     case TYPE_BOOLEAN:
-      if (!value->IsType(base::Value::TYPE_BOOLEAN)) {
+      if (!value->IsType(base::Value::Type::BOOLEAN)) {
         NOTREACHED();
         return;
       }
@@ -563,13 +563,13 @@
       break;
     }
     case TYPE_DOUBLE:
-      if (!value->IsType(base::Value::TYPE_DOUBLE)) {
+      if (!value->IsType(base::Value::Type::DOUBLE)) {
         NOTREACHED();
         return;
       }
       break;
     case TYPE_STRING:
-      if (!value->IsType(base::Value::TYPE_STRING)) {
+      if (!value->IsType(base::Value::Type::STRING)) {
         NOTREACHED();
         return;
       }
@@ -594,7 +594,7 @@
       }
       temp_value = base::JSONReader::Read(json_string);
       value = temp_value.get();
-      if (!value || !value->IsType(base::Value::TYPE_LIST)) {
+      if (!value || !value->IsType(base::Value::Type::LIST)) {
         NOTREACHED();
         return;
       }
diff --git a/chrome/browser/ui/webui/options/preferences_browsertest.cc b/chrome/browser/ui/webui/options/preferences_browsertest.cc
index de784ef..1a47f6e 100644
--- a/chrome/browser/ui/webui/options/preferences_browsertest.cc
+++ b/chrome/browser/ui/webui/options/preferences_browsertest.cc
@@ -900,13 +900,13 @@
   void SetProxyPref(const std::string& name, const base::Value& value) {
     std::string type;
     switch (value.GetType()) {
-      case base::Value::TYPE_BOOLEAN:
+      case base::Value::Type::BOOLEAN:
         type = "Boolean";
         break;
-      case base::Value::TYPE_INTEGER:
+      case base::Value::Type::INTEGER:
         type = "Integer";
         break;
-      case base::Value::TYPE_STRING:
+      case base::Value::Type::STRING:
         type = "String";
         break;
       default:
diff --git a/chrome/browser/ui/webui/settings/certificates_handler.cc b/chrome/browser/ui/webui/settings/certificates_handler.cc
index 516d476..16503d82 100644
--- a/chrome/browser/ui/webui/settings/certificates_handler.cc
+++ b/chrome/browser/ui/webui/settings/certificates_handler.cc
@@ -89,8 +89,8 @@
 
   bool operator()(const std::unique_ptr<base::Value>& a,
                   const std::unique_ptr<base::Value>& b) const {
-    DCHECK(a->GetType() == base::Value::TYPE_DICTIONARY);
-    DCHECK(b->GetType() == base::Value::TYPE_DICTIONARY);
+    DCHECK(a->GetType() == base::Value::Type::DICTIONARY);
+    DCHECK(b->GetType() == base::Value::Type::DICTIONARY);
     const base::DictionaryValue* a_dict;
     bool a_is_dictionary = a->GetAsDictionary(&a_dict);
     DCHECK(a_is_dictionary);
diff --git a/chrome/browser/ui/webui/signin/sync_confirmation_handler_unittest.cc b/chrome/browser/ui/webui/signin/sync_confirmation_handler_unittest.cc
index 9587dbd..6d310f4 100644
--- a/chrome/browser/ui/webui/signin/sync_confirmation_handler_unittest.cc
+++ b/chrome/browser/ui/webui/signin/sync_confirmation_handler_unittest.cc
@@ -160,7 +160,7 @@
   EXPECT_EQ("sync.confirmation.setUserImageURL",
             web_ui()->call_data()[0]->function_name());
   EXPECT_TRUE(
-      web_ui()->call_data()[0]->arg1()->IsType(base::Value::TYPE_STRING));
+      web_ui()->call_data()[0]->arg1()->IsType(base::Value::Type::STRING));
   std::string passed_picture_url;
   EXPECT_TRUE(
       web_ui()->call_data()[0]->arg1()->GetAsString(&passed_picture_url));
@@ -204,7 +204,7 @@
   EXPECT_EQ("sync.confirmation.setUserImageURL",
             web_ui()->call_data()[1]->function_name());
   EXPECT_TRUE(
-      web_ui()->call_data()[1]->arg1()->IsType(base::Value::TYPE_STRING));
+      web_ui()->call_data()[1]->arg1()->IsType(base::Value::Type::STRING));
   std::string passed_picture_url;
   EXPECT_TRUE(
       web_ui()->call_data()[1]->arg1()->GetAsString(&passed_picture_url));
diff --git a/chrome/common/cloud_print/cloud_print_helpers.cc b/chrome/common/cloud_print/cloud_print_helpers.cc
index 9a2a00a..09eef8a 100644
--- a/chrome/common/cloud_print/cloud_print_helpers.cc
+++ b/chrome/common/cloud_print/cloud_print_helpers.cc
@@ -192,7 +192,7 @@
   if (!message_value.get())
     return std::unique_ptr<base::DictionaryValue>();
 
-  if (!message_value->IsType(base::Value::TYPE_DICTIONARY))
+  if (!message_value->IsType(base::Value::Type::DICTIONARY))
     return std::unique_ptr<base::DictionaryValue>();
 
   std::unique_ptr<base::DictionaryValue> response_dict(
diff --git a/chrome/common/extensions/api/input_ime/input_components_handler.cc b/chrome/common/extensions/api/input_ime/input_components_handler.cc
index 28a3d418..036a253 100644
--- a/chrome/common/extensions/api/input_ime/input_components_handler.cc
+++ b/chrome/common/extensions/api/input_ime/input_components_handler.cc
@@ -124,11 +124,11 @@
     // input_ime manifest specification.
     const base::Value* language_value = NULL;
     if (module_value->Get(keys::kLanguage, &language_value)) {
-      if (language_value->GetType() == base::Value::TYPE_STRING) {
+      if (language_value->GetType() == base::Value::Type::STRING) {
         std::string language_str;
         language_value->GetAsString(&language_str);
         languages.insert(language_str);
-      } else if (language_value->GetType() == base::Value::TYPE_LIST) {
+      } else if (language_value->GetType() == base::Value::Type::LIST) {
         const base::ListValue* language_list = NULL;
         language_value->GetAsList(&language_list);
         for (size_t j = 0; j < language_list->GetSize(); ++j) {
diff --git a/chrome/common/extensions/manifest_handlers/settings_overrides_handler_unittest.cc b/chrome/common/extensions/manifest_handlers/settings_overrides_handler_unittest.cc
index 735fc19a..09ff1ba5 100644
--- a/chrome/common/extensions/manifest_handlers/settings_overrides_handler_unittest.cc
+++ b/chrome/common/extensions/manifest_handlers/settings_overrides_handler_unittest.cc
@@ -85,7 +85,7 @@
   std::string error;
   std::unique_ptr<base::Value> root(json.Deserialize(NULL, &error));
   ASSERT_TRUE(root);
-  ASSERT_TRUE(root->IsType(base::Value::TYPE_DICTIONARY));
+  ASSERT_TRUE(root->IsType(base::Value::Type::DICTIONARY));
   scoped_refptr<Extension> extension = Extension::Create(
       base::FilePath(FILE_PATH_LITERAL("//nonexistent")),
       Manifest::INVALID_LOCATION,
@@ -134,7 +134,7 @@
   std::string error;
   std::unique_ptr<base::Value> root(json.Deserialize(NULL, &error));
   ASSERT_TRUE(root);
-  ASSERT_TRUE(root->IsType(base::Value::TYPE_DICTIONARY));
+  ASSERT_TRUE(root->IsType(base::Value::Type::DICTIONARY));
   scoped_refptr<Extension> extension =
       Extension::Create(base::FilePath(FILE_PATH_LITERAL("//nonexistent")),
                         Manifest::INVALID_LOCATION,
@@ -173,7 +173,7 @@
   std::string error;
   std::unique_ptr<base::Value> root(json.Deserialize(NULL, &error));
   ASSERT_TRUE(root);
-  ASSERT_TRUE(root->IsType(base::Value::TYPE_DICTIONARY));
+  ASSERT_TRUE(root->IsType(base::Value::Type::DICTIONARY));
   scoped_refptr<Extension> extension = Extension::Create(
       base::FilePath(FILE_PATH_LITERAL("//nonexistent")),
       Manifest::INVALID_LOCATION,
diff --git a/chrome/common/extensions/manifest_handlers/theme_handler.cc b/chrome/common/extensions/manifest_handlers/theme_handler.cc
index cdee0c3f..99106c9 100644
--- a/chrome/common/extensions/manifest_handlers/theme_handler.cc
+++ b/chrome/common/extensions/manifest_handlers/theme_handler.cc
@@ -32,12 +32,12 @@
       // The value may be a dictionary of scales and files paths.
       // Or the value may be a file path, in which case a scale
       // of 100% is assumed.
-      if (iter.value().IsType(base::Value::TYPE_DICTIONARY)) {
+      if (iter.value().IsType(base::Value::Type::DICTIONARY)) {
         const base::DictionaryValue* inner_value = NULL;
         if (iter.value().GetAsDictionary(&inner_value)) {
           for (base::DictionaryValue::Iterator inner_iter(*inner_value);
                !inner_iter.IsAtEnd(); inner_iter.Advance()) {
-            if (!inner_iter.value().IsType(base::Value::TYPE_STRING)) {
+            if (!inner_iter.value().IsType(base::Value::Type::STRING)) {
               *error = base::ASCIIToUTF16(errors::kInvalidThemeImages);
               return false;
             }
@@ -46,7 +46,7 @@
           *error = base::ASCIIToUTF16(errors::kInvalidThemeImages);
           return false;
         }
-      } else if (!iter.value().IsType(base::Value::TYPE_STRING)) {
+      } else if (!iter.value().IsType(base::Value::Type::STRING)) {
         *error = base::ASCIIToUTF16(errors::kInvalidThemeImages);
         return false;
       }
diff --git a/chrome/common/extensions/manifest_handlers/ui_overrides_handler_unittest.cc b/chrome/common/extensions/manifest_handlers/ui_overrides_handler_unittest.cc
index 5f75c03e..b4262b3 100644
--- a/chrome/common/extensions/manifest_handlers/ui_overrides_handler_unittest.cc
+++ b/chrome/common/extensions/manifest_handlers/ui_overrides_handler_unittest.cc
@@ -57,7 +57,7 @@
   std::string error;
   std::unique_ptr<base::Value> root(json.Deserialize(NULL, &error));
   ASSERT_TRUE(root);
-  ASSERT_TRUE(root->IsType(base::Value::TYPE_DICTIONARY));
+  ASSERT_TRUE(root->IsType(base::Value::Type::DICTIONARY));
   scoped_refptr<Extension> extension = Extension::Create(
       base::FilePath(FILE_PATH_LITERAL("//nonexistent")),
       Manifest::INVALID_LOCATION,
@@ -85,7 +85,7 @@
   std::string error;
   std::unique_ptr<base::Value> root(json.Deserialize(NULL, &error));
   ASSERT_TRUE(root);
-  ASSERT_TRUE(root->IsType(base::Value::TYPE_DICTIONARY));
+  ASSERT_TRUE(root->IsType(base::Value::Type::DICTIONARY));
   scoped_refptr<Extension> extension = Extension::Create(
       base::FilePath(FILE_PATH_LITERAL("//nonexistent")),
       Manifest::INVALID_LOCATION,
diff --git a/chrome/installer/util/master_preferences.cc b/chrome/installer/util/master_preferences.cc
index 5fa9eeb..8ec3e04 100644
--- a/chrome/installer/util/master_preferences.cc
+++ b/chrome/installer/util/master_preferences.cc
@@ -63,7 +63,7 @@
     LOG(WARNING) << "Failed to parse master prefs file: " << error;
     return NULL;
   }
-  if (!root->IsType(base::Value::TYPE_DICTIONARY)) {
+  if (!root->IsType(base::Value::Type::DICTIONARY)) {
     LOG(WARNING) << "Failed to parse master prefs file: "
                  << "Root item must be a dictionary.";
     return NULL;
diff --git a/chrome/installer/util/uninstall_metrics.cc b/chrome/installer/util/uninstall_metrics.cc
index 3be41c4..427d4f9 100644
--- a/chrome/installer/util/uninstall_metrics.cc
+++ b/chrome/installer/util/uninstall_metrics.cc
@@ -83,7 +83,7 @@
     return false;
 
   // Preferences should always have a dictionary root.
-  if (!root->IsType(base::Value::TYPE_DICTIONARY))
+  if (!root->IsType(base::Value::Type::DICTIONARY))
     return false;
 
   return ExtractUninstallMetrics(
diff --git a/chrome/renderer/extensions/cast_streaming_native_handler.cc b/chrome/renderer/extensions/cast_streaming_native_handler.cc
index 6f504ac..38ab2ae 100644
--- a/chrome/renderer/extensions/cast_streaming_native_handler.cc
+++ b/chrome/renderer/extensions/cast_streaming_native_handler.cc
@@ -936,7 +936,7 @@
     std::unique_ptr<V8ValueConverter> converter(V8ValueConverter::create());
     std::unique_ptr<base::Value> options_value(
         converter->FromV8Value(args[8], context()->v8_context()));
-    if (!options_value->IsType(base::Value::TYPE_NULL)) {
+    if (!options_value->IsType(base::Value::Type::NONE)) {
       options = base::DictionaryValue::From(std::move(options_value));
       if (!options) {
         args.GetIsolate()->ThrowException(v8::Exception::TypeError(
diff --git a/chrome/test/base/extension_js_browser_test.cc b/chrome/test/base/extension_js_browser_test.cc
index ca248f7a..48c9c9b4 100644
--- a/chrome/test/base/extension_js_browser_test.cc
+++ b/chrome/test/base/extension_js_browser_test.cc
@@ -53,7 +53,7 @@
           script);
 
   std::unique_ptr<base::Value> value_result = base::JSONReader::Read(result);
-  CHECK_EQ(base::Value::TYPE_DICTIONARY, value_result->GetType());
+  CHECK_EQ(base::Value::Type::DICTIONARY, value_result->GetType());
   base::DictionaryValue* dict_value =
       static_cast<base::DictionaryValue*>(value_result.get());
   bool test_result;
diff --git a/chrome/test/chromedriver/capabilities.cc b/chrome/test/chromedriver/capabilities.cc
index 60ad11cd..28d42ab5 100644
--- a/chrome/test/chromedriver/capabilities.cc
+++ b/chrome/test/chromedriver/capabilities.cc
@@ -257,7 +257,7 @@
     std::string proxy_servers;
     for (size_t i = 0; i < arraysize(proxy_servers_options); ++i) {
       if (!proxy_dict->Get(proxy_servers_options[i][0], &option_value) ||
-          option_value->IsType(base::Value::TYPE_NULL)) {
+          option_value->IsType(base::Value::Type::NONE)) {
         continue;
       }
       std::string value;
@@ -277,7 +277,7 @@
 
     std::string proxy_bypass_list;
     if (proxy_dict->Get("noProxy", &option_value) &&
-        !option_value->IsType(base::Value::TYPE_NULL)) {
+        !option_value->IsType(base::Value::Type::NONE)) {
       if (!option_value->GetAsString(&proxy_bypass_list))
         return Status(kUnknownError, "'noProxy' must be a string");
     }
diff --git a/chrome/test/chromedriver/chrome/devtools_client_impl_unittest.cc b/chrome/test/chromedriver/chrome/devtools_client_impl_unittest.cc
index 15753839..b74b869b 100644
--- a/chrome/test/chromedriver/chrome/devtools_client_impl_unittest.cc
+++ b/chrome/test/chromedriver/chrome/devtools_client_impl_unittest.cc
@@ -519,7 +519,7 @@
       "{\"method\":\"method\"}", 0, &type, &event, &response));
   ASSERT_EQ(internal::kEventMessageType, type);
   ASSERT_STREQ("method", event.method.c_str());
-  ASSERT_TRUE(event.params->IsType(base::Value::TYPE_DICTIONARY));
+  ASSERT_TRUE(event.params->IsType(base::Value::Type::DICTIONARY));
 }
 
 TEST(ParseInspectorMessage, EventWithParams) {
diff --git a/chrome/test/chromedriver/chrome/web_view_impl_unittest.cc b/chrome/test/chromedriver/chrome/web_view_impl_unittest.cc
index 7545980..d414ead 100644
--- a/chrome/test/chromedriver/chrome/web_view_impl_unittest.cc
+++ b/chrome/test/chromedriver/chrome/web_view_impl_unittest.cc
@@ -157,7 +157,7 @@
   Status status =
       internal::EvaluateScriptAndGetValue(&client, 0, std::string(), &result);
   ASSERT_EQ(kOk, status.code());
-  ASSERT_TRUE(result && result->IsType(base::Value::TYPE_NULL));
+  ASSERT_TRUE(result && result->IsType(base::Value::Type::NONE));
 }
 
 TEST(EvaluateScriptAndGetValue, Ok) {
diff --git a/chrome/test/chromedriver/element_util.cc b/chrome/test/chromedriver/element_util.cc
index 16a5928..b564824 100644
--- a/chrome/test/chromedriver/element_util.cc
+++ b/chrome/test/chromedriver/element_util.cc
@@ -264,7 +264,7 @@
     if (status.IsError())
       return status;
 
-    if (!temp->IsType(base::Value::TYPE_NULL)) {
+    if (!temp->IsType(base::Value::Type::NONE)) {
       if (only_one) {
         value->reset(temp.release());
         return Status(kOk);
diff --git a/chrome/test/chromedriver/window_commands.cc b/chrome/test/chromedriver/window_commands.cc
index 93a36f6f..5aa83bc 100644
--- a/chrome/test/chromedriver/window_commands.cc
+++ b/chrome/test/chromedriver/window_commands.cc
@@ -349,7 +349,7 @@
   if (!params.Get("id", &id))
     return Status(kUnknownError, "missing 'id'");
 
-  if (id->IsType(base::Value::TYPE_NULL)) {
+  if (id->IsType(base::Value::Type::NONE)) {
     session->SwitchToTopFrame();
     return Status(kOk);
   }