Remove base::Value::IsType in //chrome

This change removes base::Value::IsType in the //chrome directory.

It is superfluous and not part of the new API. Existing usages are
replaced by base::Value::is_* if possible (e.g. |val.is_int()| instead
of |val.IsType(base::Value::Type::INTEGER)|). Otherwise, |type()| in
combination with operator== is used (e.g. |val.type() == type| instead
of |val.IsType(type)|).

Bug: 646113
Change-Id: Id285b993173ec190fa0a68487c7be813d4952256
Reviewed-on: https://chromium-review.googlesource.com/732655
Reviewed-by: Lei Zhang <[email protected]>
Commit-Queue: Jan Wilken Dörrie <[email protected]>
Cr-Commit-Position: refs/heads/master@{#510829}
diff --git a/chrome/browser/apps/drive/drive_app_mapping.cc b/chrome/browser/apps/drive/drive_app_mapping.cc
index bfe302b8..448b0a6 100644
--- a/chrome/browser/apps/drive/drive_app_mapping.cc
+++ b/chrome/browser/apps/drive/drive_app_mapping.cc
@@ -86,7 +86,7 @@
        it.Advance()) {
     const base::DictionaryValue* info_dict;
     std::string value_string;
-    DCHECK(it.value().IsType(base::Value::Type::DICTIONARY));
+    DCHECK(it.value().is_dict());
     if (it.value().GetAsDictionary(&info_dict) &&
         info_dict->GetStringWithoutPathExpansion(kKeyChromeApp,
                                                  &value_string) &&
@@ -106,7 +106,7 @@
     const base::DictionaryValue* info_dict;
     std::string value_string;
     bool generated = false;
-    DCHECK(it.value().IsType(base::Value::Type::DICTIONARY));
+    DCHECK(it.value().is_dict());
     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 526349b..3e681a0 100644
--- a/chrome/browser/banners/app_banner_settings_helper.cc
+++ b/chrome/browser/banners/app_banner_settings_helper.cc
@@ -353,7 +353,7 @@
       base::TimeDelta::FromDays(kRecentLastLaunchInDays);
   for (base::DictionaryValue::Iterator it(*origin_dict); !it.IsAtEnd();
        it.Advance()) {
-    if (it.value().IsType(base::Value::Type::DICTIONARY)) {
+    if (it.value().is_dict()) {
       const base::DictionaryValue* value;
       it.value().GetAsDictionary(&value);
 
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 56ec62c4..a7c3065 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -2291,7 +2291,7 @@
 
   if (filter.get()) {
     // Try to automatically select a client certificate.
-    if (filter->IsType(base::Value::Type::DICTIONARY)) {
+    if (filter->is_dict()) {
       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 1f6c92fb..bd46857 100644
--- a/chrome/browser/chromeos/arc/policy/arc_policy_bridge.cc
+++ b/chrome/browser/chromeos/arc/policy/arc_policy_bridge.cc
@@ -54,7 +54,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->is_bool()) {
     NOTREACHED() << "Policy " << policy_name << " is not a boolean.";
     return;
   }
@@ -74,7 +74,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->is_int()) {
     NOTREACHED() << "Policy " << policy_name << " is not an integer.";
     return;
   }
diff --git a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
index abff5b47..0a122a38 100644
--- a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
+++ b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
@@ -306,7 +306,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->is_list())
     return false;
   std::unique_ptr<base::ListValue> new_value(
       old_value ? static_cast<const base::ListValue*>(old_value)->DeepCopy()
@@ -319,7 +319,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->is_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/component_updater/component_installers_unittest.cc b/chrome/browser/component_updater/component_installers_unittest.cc
index b00fa00..ce5a3ba 100644
--- a/chrome/browser/component_updater/component_installers_unittest.cc
+++ b/chrome/browser/component_updater/component_installers_unittest.cc
@@ -85,7 +85,7 @@
       base::DictionaryValue::From(deserializer.Deserialize(NULL, &error));
 
   ASSERT_TRUE(root);
-  ASSERT_TRUE(root->IsType(base::Value::Type::DICTIONARY));
+  ASSERT_TRUE(root->is_dict());
 
   // 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 3ab0106..d9dcb6f 100644
--- a/chrome/browser/component_updater/pnacl_component_installer.cc
+++ b/chrome/browser/component_updater/pnacl_component_installer.cc
@@ -100,7 +100,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->is_dict())
     return NULL;
   return static_cast<base::DictionaryValue*>(root.release());
 }
diff --git a/chrome/browser/devtools/chrome_devtools_manager_delegate.cc b/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
index 3eac8b2..4c970bf 100644
--- a/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
+++ b/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
@@ -273,7 +273,7 @@
     return DevToolsProtocol::CreateInvalidParamsResponse(command_id,
                                                          kLocationsParam);
   for (const auto& item : *locations) {
-    if (!item.IsType(base::Value::Type::DICTIONARY)) {
+    if (!item.is_dict()) {
       return DevToolsProtocol::CreateInvalidParamsResponse(command_id,
                                                            kLocationsParam);
     }
diff --git a/chrome/browser/devtools/devtools_protocol.cc b/chrome/browser/devtools/devtools_protocol.cc
index c6c8dad7..1a2e6ccb 100644
--- a/chrome/browser/devtools/devtools_protocol.cc
+++ b/chrome/browser/devtools/devtools_protocol.cc
@@ -110,7 +110,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->is_dict())
     return false;
 
   std::unique_ptr<base::DictionaryValue> dict(
@@ -121,7 +121,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->is_dict())
     params->reset(static_cast<base::DictionaryValue*>(params_value.release()));
 
   return true;
@@ -132,7 +132,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->is_dict())
     return false;
 
   std::unique_ptr<base::DictionaryValue> dict(
diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtools/devtools_window.cc
index 9fb58bf..8282fec 100644
--- a/chrome/browser/devtools/devtools_window.cc
+++ b/chrome/browser/devtools/devtools_window.cc
@@ -106,7 +106,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().is_string())
       continue;
     update.Get()->SetWithoutPathExpansion(
         it.key(), it.value().CreateDeepCopy());
@@ -1293,7 +1293,7 @@
   std::vector<std::string> decoded;
   for (size_t i = 0; i < list->GetSize(); ++i) {
     base::Value* item;
-    if (!list->Get(i, &item) || item->type() != base::Value::Type::STRING) {
+    if (!list->Get(i, &item) || !item->is_string()) {
       NOTREACHED();
       return;
     }
diff --git a/chrome/browser/devtools/protocol_string.cc b/chrome/browser/devtools/protocol_string.cc
index 833628cf..8221084 100644
--- a/chrome/browser/devtools/protocol_string.cc
+++ b/chrome/browser/devtools/protocol_string.cc
@@ -17,29 +17,29 @@
                                                  int depth) {
   if (!value || !depth)
     return nullptr;
-  if (value->IsType(base::Value::Type::NONE))
+  if (value->is_none())
     return protocol::Value::null();
-  if (value->IsType(base::Value::Type::BOOLEAN)) {
+  if (value->is_bool()) {
     bool inner;
     value->GetAsBoolean(&inner);
     return protocol::FundamentalValue::create(inner);
   }
-  if (value->IsType(base::Value::Type::INTEGER)) {
+  if (value->is_int()) {
     int inner;
     value->GetAsInteger(&inner);
     return protocol::FundamentalValue::create(inner);
   }
-  if (value->IsType(base::Value::Type::DOUBLE)) {
+  if (value->is_double()) {
     double inner;
     value->GetAsDouble(&inner);
     return protocol::FundamentalValue::create(inner);
   }
-  if (value->IsType(base::Value::Type::STRING)) {
+  if (value->is_string()) {
     std::string inner;
     value->GetAsString(&inner);
     return protocol::StringValue::create(inner);
   }
-  if (value->IsType(base::Value::Type::LIST)) {
+  if (value->is_list()) {
     const base::ListValue* list = nullptr;
     value->GetAsList(&list);
     std::unique_ptr<protocol::ListValue> result = protocol::ListValue::create();
@@ -53,7 +53,7 @@
     }
     return std::move(result);
   }
-  if (value->IsType(base::Value::Type::DICTIONARY)) {
+  if (value->is_dict()) {
     const base::DictionaryValue* dictionary = nullptr;
     value->GetAsDictionary(&dictionary);
     std::unique_ptr<protocol::DictionaryValue> result =
diff --git a/chrome/browser/extensions/activity_log/counting_policy.cc b/chrome/browser/extensions/activity_log/counting_policy.cc
index f5a8ab7..cdd6a65 100644
--- a/chrome/browser/extensions/activity_log/counting_policy.cc
+++ b/chrome/browser/extensions/activity_log/counting_policy.cc
@@ -500,7 +500,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->is_list()) {
         action->set_args(base::WrapUnique(
             static_cast<base::ListValue*>(parsed_value.release())));
       }
@@ -513,7 +513,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->is_dict()) {
         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 128bb9a9..0f5c33c 100644
--- a/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
+++ b/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
@@ -198,7 +198,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->is_list()) {
         action->set_args(base::WrapUnique(
             static_cast<base::ListValue*>(parsed_value.release())));
       }
@@ -211,7 +211,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->is_dict()) {
         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 f32e4159..15bf9fcb 100644
--- a/chrome/browser/extensions/alert_apitest.cc
+++ b/chrome/browser/extensions/alert_apitest.cc
@@ -52,7 +52,7 @@
                       size_t* call_count,
                       const base::Value* value) {
   ASSERT_TRUE(value) << dialog_name;
-  ASSERT_TRUE(value->IsType(base::Value::Type::NONE));
+  ASSERT_TRUE(value->is_none());
   ++*call_count;
 }
 
diff --git a/chrome/browser/extensions/api/debugger/debugger_api.cc b/chrome/browser/extensions/api/debugger/debugger_api.cc
index 1c66cef..e25573d 100644
--- a/chrome/browser/extensions/api/debugger/debugger_api.cc
+++ b/chrome/browser/extensions/api/debugger/debugger_api.cc
@@ -440,7 +440,7 @@
     return;
 
   std::unique_ptr<base::Value> result = base::JSONReader::Read(message);
-  if (!result || !result->IsType(base::Value::Type::DICTIONARY))
+  if (!result || !result->is_dict())
     return;
   base::DictionaryValue* dictionary =
       static_cast<base::DictionaryValue*>(result.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 2709ca1..bf0c918 100644
--- a/chrome/browser/extensions/api/extension_action/extension_action_api.cc
+++ b/chrome/browser/extensions/api/extension_action/extension_action_api.cc
@@ -489,7 +489,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->is_list()) {
     base::ListValue* list = NULL;
     EXTENSION_FUNCTION_VALIDATE(details_->GetList("color", &list));
     EXTENSION_FUNCTION_VALIDATE(list->GetSize() == 4);
@@ -501,7 +501,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->is_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 b6cbae0..c4cae1b 100644
--- a/chrome/browser/extensions/api/management/management_api_browsertest.cc
+++ b/chrome/browser/extensions/api/management/management_api_browsertest.cc
@@ -243,7 +243,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->is_dict());
   base::DictionaryValue* dict =
       static_cast<base::DictionaryValue*>(result.get());
   std::string reason;
diff --git a/chrome/browser/extensions/api/proxy/proxy_api.cc b/chrome/browser/extensions/api/proxy/proxy_api.cc
index a234547..7d2925d 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->is_dict());
   const base::DictionaryValue* config =
       static_cast<const base::DictionaryValue*>(extension_pref);
 
@@ -140,7 +140,7 @@
 
 std::unique_ptr<base::Value> ProxyPrefTransformer::BrowserToExtensionPref(
     const base::Value* browser_pref) {
-  CHECK(browser_pref->IsType(base::Value::Type::DICTIONARY));
+  CHECK(browser_pref->is_dict());
 
   // This is a dictionary wrapper that exposes the proxy configuration stored in
   // the browser preferences.
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 d146a279..38f4d8f 100644
--- a/chrome/browser/extensions/api/settings_private/settings_private_api.cc
+++ b/chrome/browser/extensions/api/settings_private/settings_private_api.cc
@@ -96,7 +96,7 @@
     return RespondNow(Error(kDelegateIsNull));
 
   std::unique_ptr<base::Value> value = delegate->GetPref(parameters->name);
-  if (value->IsType(base::Value::Type::NONE))
+  if (value->is_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 f043941..0ad0716d 100644
--- a/chrome/browser/extensions/api/settings_private/settings_private_delegate.cc
+++ b/chrome/browser/extensions/api/settings_private/settings_private_delegate.cc
@@ -47,7 +47,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::NONE))
+    if (!pref->is_none())
       prefs->Append(std::move(pref));
   }
 
diff --git a/chrome/browser/extensions/component_loader.cc b/chrome/browser/extensions/component_loader.cc
index cf28809..745de11 100644
--- a/chrome/browser/extensions/component_loader.cc
+++ b/chrome/browser/extensions/component_loader.cc
@@ -172,7 +172,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->is_dict()) {
     LOG(ERROR) << "Failed to parse extension manifest.";
     return std::unique_ptr<base::DictionaryValue>();
   }
diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc
index c4f7cdd..6c733a65 100644
--- a/chrome/browser/extensions/extension_management.cc
+++ b/chrome/browser/extensions/extension_management.cc
@@ -451,7 +451,7 @@
   if (pref && !pref->IsDefaultValue() &&
       (!force_managed || pref->IsManaged())) {
     const base::Value* value = pref->GetValue();
-    if (value && value->IsType(expected_type))
+    if (value && value->type() == expected_type)
       return value;
   }
   return nullptr;
diff --git a/chrome/browser/extensions/extension_management_test_util.cc b/chrome/browser/extensions/extension_management_test_util.cc
index 7edc838a..fc7cc81 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().is_dict());
     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 bccd8b64..e23720e 100644
--- a/chrome/browser/extensions/extension_management_unittest.cc
+++ b/chrome/browser/extensions/extension_management_unittest.cc
@@ -172,8 +172,7 @@
     std::unique_ptr<base::Value> parsed = base::JSONReader::ReadAndReturnError(
         example_dict_preference,
         base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, NULL, &error_msg);
-    ASSERT_TRUE(parsed && parsed->IsType(base::Value::Type::DICTIONARY))
-        << error_msg;
+    ASSERT_TRUE(parsed && parsed->is_dict()) << error_msg;
     SetPref(true, pref_names::kExtensionManagement, std::move(parsed));
   }
 
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index 65a44a3..f4804653 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -499,7 +499,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->is_dict()) {
       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 e68c82f..854d319a 100644
--- a/chrome/browser/extensions/external_provider_impl.cc
+++ b/chrome/browser/extensions/external_provider_impl.cc
@@ -240,7 +240,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->is_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 4a2186b..5affb86 100644
--- a/chrome/browser/extensions/policy_handlers.cc
+++ b/chrome/browser/extensions/policy_handlers.cc
@@ -234,14 +234,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->is_dict());
   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().is_dict());
 
     // 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 7411412..ccb17fd 100644
--- a/chrome/browser/extensions/webstore_data_fetcher.cc
+++ b/chrome/browser/extensions/webstore_data_fetcher.cc
@@ -99,7 +99,7 @@
 
 void WebstoreDataFetcher::OnJsonParseSuccess(
     std::unique_ptr<base::Value> parsed_json) {
-  if (!parsed_json->IsType(base::Value::Type::DICTIONARY)) {
+  if (!parsed_json->is_dict()) {
     OnJsonParseFailure(kInvalidWebstoreResponseError);
     return;
   }
diff --git a/chrome/browser/media/webrtc/webrtc_browsertest_base.cc b/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
index cfde443..9786c7a 100644
--- a/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
+++ b/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
@@ -133,7 +133,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->is_list());
   std::unique_ptr<base::ListValue> list =
       base::ListValue::From(std::move(value));
   std::vector<std::string> vector;
@@ -141,7 +141,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->is_string());
     std::string item_str;
     EXPECT_TRUE(item->GetAsString(&item_str));
     vector.push_back(std::move(item_str));
diff --git a/chrome/browser/plugins/plugin_policy_handler.cc b/chrome/browser/plugins/plugin_policy_handler.cc
index 05c637c2..09f8357 100644
--- a/chrome/browser/plugins/plugin_policy_handler.cc
+++ b/chrome/browser/plugins/plugin_policy_handler.cc
@@ -79,7 +79,7 @@
   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->is_list()) {
       errors->AddError(checked_policies[i], IDS_POLICY_TYPE_ERROR,
                        base::Value::GetTypeName(base::Value::Type::LIST));
       ok = false;
diff --git a/chrome/browser/policy/javascript_policy_handler.cc b/chrome/browser/policy/javascript_policy_handler.cc
index 8f2194a..6eb4f0f 100644
--- a/chrome/browser/policy/javascript_policy_handler.cc
+++ b/chrome/browser/policy/javascript_policy_handler.cc
@@ -26,13 +26,12 @@
   const base::Value* default_setting =
       policies.GetValue(key::kDefaultJavaScriptSetting);
 
-  if (javascript_enabled &&
-      !javascript_enabled->IsType(base::Value::Type::BOOLEAN)) {
+  if (javascript_enabled && !javascript_enabled->is_bool()) {
     errors->AddError(key::kJavascriptEnabled, IDS_POLICY_TYPE_ERROR,
                      base::Value::GetTypeName(base::Value::Type::BOOLEAN));
   }
 
-  if (default_setting && !default_setting->IsType(base::Value::Type::INTEGER)) {
+  if (default_setting && !default_setting->is_int()) {
     errors->AddError(key::kDefaultJavaScriptSetting, IDS_POLICY_TYPE_ERROR,
                      base::Value::GetTypeName(base::Value::Type::INTEGER));
   }
diff --git a/chrome/browser/policy/network_prediction_policy_handler.cc b/chrome/browser/policy/network_prediction_policy_handler.cc
index 793dbb6..66b31a8c 100644
--- a/chrome/browser/policy/network_prediction_policy_handler.cc
+++ b/chrome/browser/policy/network_prediction_policy_handler.cc
@@ -31,14 +31,12 @@
   const base::Value* network_prediction_options =
       policies.GetValue(key::kNetworkPredictionOptions);
 
-  if (network_prediction_enabled &&
-      !network_prediction_enabled->IsType(base::Value::Type::BOOLEAN)) {
+  if (network_prediction_enabled && !network_prediction_enabled->is_bool()) {
     errors->AddError(key::kDnsPrefetchingEnabled, IDS_POLICY_TYPE_ERROR,
                      base::Value::GetTypeName(base::Value::Type::BOOLEAN));
   }
 
-  if (network_prediction_options &&
-      !network_prediction_options->IsType(base::Value::Type::INTEGER)) {
+  if (network_prediction_options && !network_prediction_options->is_int()) {
     errors->AddError(key::kNetworkPredictionOptions, IDS_POLICY_TYPE_ERROR,
                      base::Value::GetTypeName(base::Value::Type::INTEGER));
   }
diff --git a/chrome/browser/prefs/pref_service_browsertest.cc b/chrome/browser/prefs/pref_service_browsertest.cc
index ab2d5cd8..3729c61 100644
--- a/chrome/browser/prefs/pref_service_browsertest.cc
+++ b/chrome/browser/prefs/pref_service_browsertest.cc
@@ -95,7 +95,7 @@
   }
 
   ASSERT_TRUE(root.get());
-  ASSERT_TRUE(root->IsType(base::Value::Type::DICTIONARY));
+  ASSERT_TRUE(root->is_dict());
 
   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 202c30a..f080d974 100644
--- a/chrome/browser/prefs/tracked/pref_hash_browsertest.cc
+++ b/chrome/browser/prefs/tracked/pref_hash_browsertest.cc
@@ -139,7 +139,7 @@
     ADD_FAILURE() << "Error #" << error_code << ": " << error_str;
     return std::unique_ptr<base::DictionaryValue>();
   }
-  if (!prefs->IsType(base::Value::Type::DICTIONARY)) {
+  if (!prefs->is_dict()) {
     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 b213ee01..b366a505 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->is_dict()) {
       VLOG(1) << "Failed to parse brandcode prefs file: "
               << "Root item must be a dictionary.";
       return;
diff --git a/chrome/browser/profiles/incognito_mode_policy_handler.cc b/chrome/browser/profiles/incognito_mode_policy_handler.cc
index 224af9d..d95db82 100644
--- a/chrome/browser/profiles/incognito_mode_policy_handler.cc
+++ b/chrome/browser/profiles/incognito_mode_policy_handler.cc
@@ -45,8 +45,7 @@
 
   const base::Value* deprecated_enabled =
       policies.GetValue(key::kIncognitoEnabled);
-  if (deprecated_enabled &&
-      !deprecated_enabled->IsType(base::Value::Type::BOOLEAN)) {
+  if (deprecated_enabled && !deprecated_enabled->is_bool()) {
     errors->AddError(key::kIncognitoEnabled, IDS_POLICY_TYPE_ERROR,
                      base::Value::GetTypeName(base::Value::Type::BOOLEAN));
     return false;
diff --git a/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc b/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc
index 4ada3ca..09fc12b 100644
--- a/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc
+++ b/chrome/browser/ssl/chrome_expect_ct_reporter_unittest.cc
@@ -215,7 +215,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->is_dict());
 
   base::DictionaryValue* outer_report_dict;
   ASSERT_TRUE(value->GetAsDictionary(&outer_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 24dc860a..17b8857b 100644
--- a/chrome/browser/ssl/chrome_ssl_host_state_delegate.cc
+++ b/chrome/browser/ssl/chrome_ssl_host_state_delegate.cc
@@ -302,7 +302,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->is_dict())
     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->is_dict())
     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->is_dict())
     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 9000957..13cb822 100644
--- a/chrome/browser/themes/browser_theme_pack.cc
+++ b/chrome/browser/themes/browser_theme_pack.cc
@@ -1069,7 +1069,7 @@
 
   for (base::DictionaryValue::Iterator iter(*images_value); !iter.IsAtEnd();
        iter.Advance()) {
-    if (iter.value().IsType(base::Value::Type::DICTIONARY)) {
+    if (iter.value().is_dict()) {
       const base::DictionaryValue* inner_value = NULL;
       if (iter.value().GetAsDictionary(&inner_value)) {
         for (base::DictionaryValue::Iterator inner_iter(*inner_value);
@@ -1078,7 +1078,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().is_string() &&
               inner_iter.value().GetAsString(&name)) {
             AddFileAtScaleToMap(iter.key(),
                                 scale_factor,
@@ -1087,7 +1087,7 @@
           }
         }
       }
-    } else if (iter.value().IsType(base::Value::Type::STRING)) {
+    } else if (iter.value().is_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 4c6efbe..8d1f3f3 100644
--- a/chrome/browser/themes/browser_theme_pack_unittest.cc
+++ b/chrome/browser/themes/browser_theme_pack_unittest.cc
@@ -94,7 +94,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->is_dict());
     LoadColorDictionary(static_cast<base::DictionaryValue*>(value.get()));
   }
 
@@ -104,7 +104,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->is_dict());
     LoadTintDictionary(static_cast<base::DictionaryValue*>(value.get()));
   }
 
@@ -114,7 +114,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->is_dict());
     LoadDisplayPropertiesDictionary(
         static_cast<base::DictionaryValue*>(value.get()));
   }
@@ -126,7 +126,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->is_dict());
     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 2fbb1a6..e6de1a4 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
@@ -48,7 +48,7 @@
 
 void JSONResponseFetcher::OnJsonParseSuccess(
     std::unique_ptr<base::Value> parsed_json) {
-  if (!parsed_json->IsType(base::Value::Type::DICTIONARY)) {
+  if (!parsed_json->is_dict()) {
     OnJsonParseError(kBadResponse);
     return;
   }
diff --git a/chrome/browser/ui/desktop_ios_promotion/sms_service.cc b/chrome/browser/ui/desktop_ios_promotion/sms_service.cc
index db0efdd..c4ed75d 100644
--- a/chrome/browser/ui/desktop_ios_promotion/sms_service.cc
+++ b/chrome/browser/ui/desktop_ios_promotion/sms_service.cc
@@ -304,7 +304,7 @@
   bool has_number = false;
   std::unique_ptr<base::Value> value =
       base::JSONReader::Read(request->GetResponseBody());
-  if (value.get() && value.get()->IsType(base::Value::Type::DICTIONARY)) {
+  if (value.get() && value.get()->is_dict()) {
     const base::DictionaryValue* dictionary;
     if (value->GetAsDictionary(&dictionary)) {
       const base::ListValue* number_list;
@@ -333,7 +333,7 @@
   bool has_number = false;
   std::unique_ptr<base::Value> value =
       base::JSONReader::Read(request->GetResponseBody());
-  if (value.get() && value.get()->IsType(base::Value::Type::DICTIONARY)) {
+  if (value.get() && value.get()->is_dict()) {
     const base::DictionaryValue* dictionary;
     if (value->GetAsDictionary(&dictionary)) {
       if (dictionary->GetString("phoneNumber", &phone_number))
diff --git a/chrome/browser/ui/webui/nacl_ui.cc b/chrome/browser/ui/webui/nacl_ui.cc
index e1863f2..570deb9 100644
--- a/chrome/browser/ui/webui/nacl_ui.cc
+++ b/chrome/browser/ui/webui/nacl_ui.cc
@@ -336,7 +336,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->is_dict())
     return;
 
   // Now try to get the field. This may leave version empty if the
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
index 9ade9c9..a8ab1f2 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -1083,7 +1083,7 @@
   auto caps = base::MakeUnique<base::DictionaryValue>();
   if (destination_info &&
       destination_info->Remove(printing::kSettingCapabilities, &caps_value) &&
-      caps_value->IsType(base::Value::Type::DICTIONARY)) {
+      caps_value->is_dict()) {
     caps = base::DictionaryValue::From(std::move(caps_value));
   } else {
     LOG(WARNING) << "Printer setup failed";
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 c6e6599..63744b79 100644
--- a/chrome/browser/ui/webui/signin/sync_confirmation_handler_unittest.cc
+++ b/chrome/browser/ui/webui/signin/sync_confirmation_handler_unittest.cc
@@ -198,8 +198,7 @@
   // clearFocus since the image URL is known before showing the dialog.
   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));
+  EXPECT_TRUE(web_ui()->call_data()[0]->arg1()->is_string());
   std::string passed_picture_url;
   EXPECT_TRUE(
       web_ui()->call_data()[0]->arg1()->GetAsString(&passed_picture_url));
@@ -238,8 +237,7 @@
   // setUserImageURL is called with the default placeholder image.
   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));
+  EXPECT_TRUE(web_ui()->call_data()[0]->arg1()->is_string());
   std::string passed_picture_url;
   EXPECT_TRUE(
       web_ui()->call_data()[0]->arg1()->GetAsString(&passed_picture_url));
@@ -252,8 +250,7 @@
 
   EXPECT_EQ("sync.confirmation.setUserImageURL",
             web_ui()->call_data()[2]->function_name());
-  EXPECT_TRUE(
-      web_ui()->call_data()[2]->arg1()->IsType(base::Value::Type::STRING));
+  EXPECT_TRUE(web_ui()->call_data()[2]->arg1()->is_string());
   EXPECT_TRUE(
       web_ui()->call_data()[2]->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 09eef8a..635c04f1 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->is_dict())
     return std::unique_ptr<base::DictionaryValue>();
 
   std::unique_ptr<base::DictionaryValue> response_dict(
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 09ff1ba5..4b85792 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->is_dict());
   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->is_dict());
   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->is_dict());
   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 f4359117..ef811548 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().is_dict()) {
         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().is_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().is_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 b4262b3..180748d 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->is_dict());
   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->is_dict());
   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 8820718e..340befc 100644
--- a/chrome/installer/util/master_preferences.cc
+++ b/chrome/installer/util/master_preferences.cc
@@ -64,7 +64,7 @@
     LOG(WARNING) << "Failed to parse master prefs file: " << error;
     return NULL;
   }
-  if (!root->IsType(base::Value::Type::DICTIONARY)) {
+  if (!root->is_dict()) {
     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 427d4f9..88fe63d 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->is_dict())
     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 353b557..c7990e0 100644
--- a/chrome/renderer/extensions/cast_streaming_native_handler.cc
+++ b/chrome/renderer/extensions/cast_streaming_native_handler.cc
@@ -927,7 +927,7 @@
     std::unique_ptr<base::Value> options_value =
         V8ValueConverter::Create()->FromV8Value(args[8],
                                                 context()->v8_context());
-    if (!options_value->IsType(base::Value::Type::NONE)) {
+    if (!options_value->is_none()) {
       options = base::DictionaryValue::From(std::move(options_value));
       if (!options) {
         args.GetIsolate()->ThrowException(v8::Exception::TypeError(
diff --git a/chrome/test/chromedriver/capabilities.cc b/chrome/test/chromedriver/capabilities.cc
index 393a352..a342d8a 100644
--- a/chrome/test/chromedriver/capabilities.cc
+++ b/chrome/test/chromedriver/capabilities.cc
@@ -258,7 +258,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::NONE)) {
+          option_value->is_none()) {
         continue;
       }
       std::string value;
@@ -277,8 +277,7 @@
     }
 
     std::string proxy_bypass_list;
-    if (proxy_dict->Get("noProxy", &option_value) &&
-        !option_value->IsType(base::Value::Type::NONE)) {
+    if (proxy_dict->Get("noProxy", &option_value) && !option_value->is_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 7db2284..9d81d4d 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->is_dict());
 }
 
 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 c0d9b4d..1d6a0bc 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::NONE));
+  ASSERT_TRUE(result && result->is_none());
 }
 
 TEST(EvaluateScriptAndGetValue, Ok) {
diff --git a/chrome/test/chromedriver/element_util.cc b/chrome/test/chromedriver/element_util.cc
index d6878c98..9c01feb 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::NONE)) {
+    if (!temp->is_none()) {
       if (only_one) {
         *value = std::move(temp);
         return Status(kOk);
diff --git a/chrome/test/chromedriver/window_commands.cc b/chrome/test/chromedriver/window_commands.cc
index 20fb925..22a5f97a 100644
--- a/chrome/test/chromedriver/window_commands.cc
+++ b/chrome/test/chromedriver/window_commands.cc
@@ -370,7 +370,7 @@
   if (!params.Get("id", &id))
     return Status(kUnknownError, "missing 'id'");
 
-  if (id->IsType(base::Value::Type::NONE)) {
+  if (id->is_none()) {
     session->SwitchToTopFrame();
     return Status(kOk);
   }