[Extensions] Remove ExtensionSyncData::OptionalBoolean
ExtensionSyncData::OptionalBoolean was added before base::Optional<>
existed. Now that we have base::Optional<>, we should just use that.
Bug: None
Change-Id: Ibf19830b6d7154be82f6a45f9b645b3055d2da3b
Reviewed-on: https://chromium-review.googlesource.com/1044646
Reviewed-by: Karan Bhatia <[email protected]>
Commit-Queue: Devlin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#556199}
diff --git a/chrome/browser/extensions/extension_service_sync_unittest.cc b/chrome/browser/extensions/extension_service_sync_unittest.cc
index 1e854e0..9620496e 100644
--- a/chrome/browser/extensions/extension_service_sync_unittest.cc
+++ b/chrome/browser/extensions/extension_service_sync_unittest.cc
@@ -101,8 +101,7 @@
bool incognito_enabled = false;
bool remote_install = false;
bool installed_by_custodian = false;
- ExtensionSyncData::OptionalBoolean has_all_urls =
- ExtensionSyncData::BOOLEAN_UNSET;
+ base::Optional<bool> has_all_urls;
return ExtensionSyncData(extension, enabled, disable_reasons,
incognito_enabled, remote_install, has_all_urls,
installed_by_custodian);
@@ -113,8 +112,7 @@
bool incognito_enabled = false;
bool remote_install = false;
bool installed_by_custodian = false;
- ExtensionSyncData::OptionalBoolean has_all_urls =
- ExtensionSyncData::BOOLEAN_UNSET;
+ base::Optional<bool> has_all_urls;
return ExtensionSyncData(
extension, enabled, extensions::disable_reason::DISABLE_NONE,
incognito_enabled, remote_install, has_all_urls, installed_by_custodian);
@@ -373,7 +371,7 @@
// Then sync data arrives telling us to disable |good0|.
ExtensionSyncData disable_good_crx(
*extension, false, extensions::disable_reason::DISABLE_USER_ACTION, false,
- false, ExtensionSyncData::BOOLEAN_UNSET, false);
+ false, base::nullopt, false);
SyncChangeList list(
1, disable_good_crx.GetSyncChange(SyncChange::ACTION_UPDATE));
extension_sync_service()->ProcessSyncChanges(FROM_HERE, list);
@@ -567,10 +565,10 @@
// Now sync data comes in that says to disable good0 and enable good2.
ExtensionSyncData disable_good0(
*extension0, false, extensions::disable_reason::DISABLE_USER_ACTION,
- false, false, ExtensionSyncData::BOOLEAN_UNSET, false);
- ExtensionSyncData enable_good2(
- *extension2, true, extensions::disable_reason::DISABLE_NONE, false, false,
- ExtensionSyncData::BOOLEAN_UNSET, false);
+ false, false, base::nullopt, false);
+ ExtensionSyncData enable_good2(*extension2, true,
+ extensions::disable_reason::DISABLE_NONE,
+ false, false, base::nullopt, false);
syncer::SyncDataList sync_data;
sync_data.push_back(disable_good0.GetSyncData());
sync_data.push_back(enable_good2.GetSyncData());
@@ -620,9 +618,9 @@
ASSERT_TRUE(extension);
// Disable the extension.
- ExtensionSyncData data(
- *extension, false, extensions::disable_reason::DISABLE_USER_ACTION,
- false, false, ExtensionSyncData::BOOLEAN_UNSET, false);
+ ExtensionSyncData data(*extension, false,
+ extensions::disable_reason::DISABLE_USER_ACTION,
+ false, false, base::nullopt, false);
SyncChangeList list(1, data.GetSyncChange(SyncChange::ACTION_UPDATE));
extension_sync_service()->ProcessSyncChanges(FROM_HERE, list);
@@ -637,7 +635,7 @@
// Set incognito enabled to true.
ExtensionSyncData data(*extension, false,
extensions::disable_reason::DISABLE_NONE, true,
- false, ExtensionSyncData::BOOLEAN_UNSET, false);
+ false, base::nullopt, false);
SyncChangeList list(1, data.GetSyncChange(SyncChange::ACTION_UPDATE));
extension_sync_service()->ProcessSyncChanges(FROM_HERE, list);
@@ -654,7 +652,7 @@
*extension, false,
extensions::disable_reason::DISABLE_USER_ACTION |
extensions::disable_reason::DISABLE_PERMISSIONS_INCREASE,
- false, false, ExtensionSyncData::BOOLEAN_UNSET, false);
+ false, false, base::nullopt, false);
SyncChangeList list(1, data.GetSyncChange(SyncChange::ACTION_UPDATE));
extension_sync_service()->ProcessSyncChanges(FROM_HERE, list);
@@ -671,7 +669,7 @@
*extension, false,
extensions::disable_reason::DISABLE_USER_ACTION |
extensions::disable_reason::DISABLE_PERMISSIONS_INCREASE,
- false, false, ExtensionSyncData::BOOLEAN_UNSET, false);
+ false, false, base::nullopt, false);
SyncChangeList list(1, data.GetSyncChange(SyncChange::ACTION_DELETE));
extension_sync_service()->ProcessSyncChanges(FROM_HERE, list);
@@ -702,7 +700,7 @@
EXPECT_EQ(service()->IsExtensionEnabled(good_crx), data->enabled());
EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile()),
data->incognito_enabled());
- EXPECT_EQ(ExtensionSyncData::BOOLEAN_UNSET, data->all_urls_enabled());
+ EXPECT_EQ(base::nullopt, data->all_urls_enabled());
EXPECT_EQ(data->version(), extension->version());
EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension),
data->update_url());
@@ -810,7 +808,7 @@
EXPECT_EQ(service()->IsExtensionEnabled(good_crx), data->enabled());
EXPECT_EQ(extensions::util::IsIncognitoEnabled(good_crx, profile()),
data->incognito_enabled());
- EXPECT_EQ(ExtensionSyncData::BOOLEAN_UNSET, data->all_urls_enabled());
+ EXPECT_EQ(base::nullopt, data->all_urls_enabled());
EXPECT_EQ(data->version(), extension->version());
EXPECT_EQ(extensions::ManifestURL::GetUpdateURL(extension),
data->update_url());
@@ -853,7 +851,7 @@
ASSERT_TRUE(data.get());
EXPECT_TRUE(data->enabled());
EXPECT_FALSE(data->incognito_enabled());
- EXPECT_EQ(ExtensionSyncData::BOOLEAN_UNSET, data->all_urls_enabled());
+ EXPECT_EQ(base::nullopt, data->all_urls_enabled());
}
service()->DisableExtension(good_crx,
@@ -867,7 +865,7 @@
ASSERT_TRUE(data.get());
EXPECT_FALSE(data->enabled());
EXPECT_FALSE(data->incognito_enabled());
- EXPECT_EQ(ExtensionSyncData::BOOLEAN_UNSET, data->all_urls_enabled());
+ EXPECT_EQ(base::nullopt, data->all_urls_enabled());
}
extensions::util::SetIsIncognitoEnabled(good_crx, profile(), true);
@@ -884,7 +882,7 @@
ASSERT_TRUE(data.get());
EXPECT_FALSE(data->enabled());
EXPECT_TRUE(data->incognito_enabled());
- EXPECT_EQ(ExtensionSyncData::BOOLEAN_FALSE, data->all_urls_enabled());
+ EXPECT_EQ(base::Optional<bool>(false), data->all_urls_enabled());
}
service()->EnableExtension(good_crx);
@@ -898,7 +896,7 @@
ASSERT_TRUE(data.get());
EXPECT_TRUE(data->enabled());
EXPECT_TRUE(data->incognito_enabled());
- EXPECT_EQ(ExtensionSyncData::BOOLEAN_TRUE, data->all_urls_enabled());
+ EXPECT_EQ(base::Optional<bool>(true), data->all_urls_enabled());
}
}
diff --git a/chrome/browser/extensions/extension_sync_data.cc b/chrome/browser/extensions/extension_sync_data.cc
index 7a1b924d..f6b4ed0 100644
--- a/chrome/browser/extensions/extension_sync_data.cc
+++ b/chrome/browser/extensions/extension_sync_data.cc
@@ -79,7 +79,6 @@
disable_reasons_(disable_reason::DISABLE_NONE),
incognito_enabled_(false),
remote_install_(false),
- all_urls_enabled_(BOOLEAN_UNSET),
installed_by_custodian_(false),
launch_type_(LAUNCH_TYPE_INVALID) {}
@@ -88,20 +87,25 @@
int disable_reasons,
bool incognito_enabled,
bool remote_install,
- OptionalBoolean all_urls_enabled,
+ base::Optional<bool> all_urls_enabled,
bool installed_by_custodian)
- : ExtensionSyncData(extension, enabled, disable_reasons, incognito_enabled,
- remote_install, all_urls_enabled,
- installed_by_custodian, StringOrdinal(),
- StringOrdinal(), LAUNCH_TYPE_INVALID) {
-}
+ : ExtensionSyncData(extension,
+ enabled,
+ disable_reasons,
+ incognito_enabled,
+ remote_install,
+ all_urls_enabled,
+ installed_by_custodian,
+ StringOrdinal(),
+ StringOrdinal(),
+ LAUNCH_TYPE_INVALID) {}
ExtensionSyncData::ExtensionSyncData(const Extension& extension,
bool enabled,
int disable_reasons,
bool incognito_enabled,
bool remote_install,
- OptionalBoolean all_urls_enabled,
+ base::Optional<bool> all_urls_enabled,
bool installed_by_custodian,
const StringOrdinal& app_launch_ordinal,
const StringOrdinal& page_ordinal,
@@ -192,8 +196,8 @@
specifics->set_disable_reasons(disable_reasons_);
specifics->set_incognito_enabled(incognito_enabled_);
specifics->set_remote_install(remote_install_);
- if (all_urls_enabled_ != BOOLEAN_UNSET)
- specifics->set_all_urls_enabled(all_urls_enabled_ == BOOLEAN_TRUE);
+ if (all_urls_enabled_.has_value())
+ specifics->set_all_urls_enabled(*all_urls_enabled_);
specifics->set_installed_by_custodian(installed_by_custodian_);
specifics->set_name(name_);
}
@@ -275,12 +279,11 @@
disable_reasons_ = specifics.disable_reasons();
incognito_enabled_ = specifics.incognito_enabled();
if (specifics.has_all_urls_enabled()) {
- all_urls_enabled_ =
- specifics.all_urls_enabled() ? BOOLEAN_TRUE : BOOLEAN_FALSE;
+ all_urls_enabled_ = specifics.all_urls_enabled();
} else {
// Set this explicitly (even though it's the default) on the offchance
// that someone is re-using an ExtensionSyncData object.
- all_urls_enabled_ = BOOLEAN_UNSET;
+ all_urls_enabled_ = base::nullopt;
}
remote_install_ = specifics.remote_install();
installed_by_custodian_ = specifics.installed_by_custodian();
diff --git a/chrome/browser/extensions/extension_sync_data.h b/chrome/browser/extensions/extension_sync_data.h
index 4c22da4..9a17b64 100644
--- a/chrome/browser/extensions/extension_sync_data.h
+++ b/chrome/browser/extensions/extension_sync_data.h
@@ -35,12 +35,6 @@
// AppSpecifics itself includes an ExtensionSpecifics).
class ExtensionSyncData {
public:
- enum OptionalBoolean {
- BOOLEAN_UNSET,
- BOOLEAN_TRUE,
- BOOLEAN_FALSE
- };
-
struct LinkedAppIconInfo {
LinkedAppIconInfo();
~LinkedAppIconInfo();
@@ -55,7 +49,7 @@
int disable_reasons,
bool incognito_enabled,
bool remote_install,
- OptionalBoolean all_urls_enabled,
+ base::Optional<bool> all_urls_enabled,
bool installed_by_custodian);
// App constructor.
ExtensionSyncData(const Extension& extension,
@@ -63,7 +57,7 @@
int disable_reasons,
bool incognito_enabled,
bool remote_install,
- OptionalBoolean all_urls_enabled,
+ base::Optional<bool> all_urls_enabled,
bool installed_by_custodian,
const syncer::StringOrdinal& app_launch_ordinal,
const syncer::StringOrdinal& page_ordinal,
@@ -96,7 +90,7 @@
int disable_reasons() const { return disable_reasons_; }
bool incognito_enabled() const { return incognito_enabled_; }
bool remote_install() const { return remote_install_; }
- OptionalBoolean all_urls_enabled() const { return all_urls_enabled_; }
+ base::Optional<bool> all_urls_enabled() const { return all_urls_enabled_; }
bool installed_by_custodian() const { return installed_by_custodian_; }
// Version-dependent properties (i.e., should be used only when the
@@ -162,7 +156,7 @@
int disable_reasons_;
bool incognito_enabled_;
bool remote_install_;
- OptionalBoolean all_urls_enabled_;
+ base::Optional<bool> all_urls_enabled_;
bool installed_by_custodian_;
base::Version version_;
GURL update_url_;
diff --git a/chrome/browser/extensions/extension_sync_data_unittest.cc b/chrome/browser/extensions/extension_sync_data_unittest.cc
index 89065a3..a823bddc 100644
--- a/chrome/browser/extensions/extension_sync_data_unittest.cc
+++ b/chrome/browser/extensions/extension_sync_data_unittest.cc
@@ -117,8 +117,7 @@
EXPECT_FALSE(extension_sync_data.enabled());
EXPECT_EQ(true, extension_sync_data.incognito_enabled());
EXPECT_FALSE(extension_sync_data.remote_install());
- EXPECT_EQ(ExtensionSyncData::BOOLEAN_TRUE,
- extension_sync_data.all_urls_enabled());
+ EXPECT_EQ(base::Optional<bool>(true), extension_sync_data.all_urls_enabled());
EXPECT_EQ(base::Version(kVersion), extension_sync_data.version());
EXPECT_EQ(std::string(kName), extension_sync_data.name());
@@ -133,7 +132,7 @@
ProtobufToSyncDataEqual(entity);
extension_sync_data.PopulateFromExtensionSpecifics(*extension_specifics);
- EXPECT_EQ(ExtensionSyncData::BOOLEAN_FALSE,
+ EXPECT_EQ(base::Optional<bool>(false),
extension_sync_data.all_urls_enabled());
EXPECT_FALSE(extension_sync_data.incognito_enabled());
@@ -144,8 +143,7 @@
extension_sync_data.PopulateFromExtensionSpecifics(*extension_specifics);
EXPECT_FALSE(extension_specifics->has_all_urls_enabled());
- EXPECT_EQ(ExtensionSyncData::BOOLEAN_UNSET,
- extension_sync_data.all_urls_enabled());
+ EXPECT_FALSE(extension_sync_data.all_urls_enabled().has_value());
SyncDataToProtobufEqual(extension_sync_data);
}
diff --git a/chrome/browser/extensions/extension_sync_service.cc b/chrome/browser/extensions/extension_sync_service.cc
index 5b011f1..9784710 100644
--- a/chrome/browser/extensions/extension_sync_service.cc
+++ b/chrome/browser/extensions/extension_sync_service.cc
@@ -52,7 +52,7 @@
namespace {
// Returns the pref value for "all urls enabled" for the given extension id.
-ExtensionSyncData::OptionalBoolean GetAllowedOnAllUrlsOptionalBoolean(
+base::Optional<bool> GetAllowedOnAllUrlsValue(
const Extension& extension,
content::BrowserContext* context) {
extensions::ScriptingPermissionsModifier permissions_modifier(context,
@@ -61,14 +61,14 @@
// If the extension is not allowed on all urls (which is not the default),
// then we have to sync the preference.
if (!allowed_on_all_urls)
- return ExtensionSyncData::BOOLEAN_FALSE;
+ return false;
// If the user has explicitly set a value, then we sync it.
if (permissions_modifier.HasSetAllowedOnAllUrls())
- return ExtensionSyncData::BOOLEAN_TRUE;
+ return true;
// Otherwise, unset.
- return ExtensionSyncData::BOOLEAN_UNSET;
+ return base::nullopt;
}
// Returns true if the sync type of |extension| matches |type|.
@@ -271,8 +271,8 @@
bool incognito_enabled = extensions::util::IsIncognitoEnabled(id, profile_);
bool remote_install = extension_prefs->HasDisableReason(
id, extensions::disable_reason::DISABLE_REMOTE_INSTALL);
- ExtensionSyncData::OptionalBoolean allowed_on_all_url =
- GetAllowedOnAllUrlsOptionalBoolean(extension, profile_);
+ base::Optional<bool> allowed_on_all_url =
+ GetAllowedOnAllUrlsValue(extension, profile_);
bool installed_by_custodian =
extensions::util::WasInstalledByCustodian(id, profile_);
AppSorting* app_sorting = ExtensionSystem::Get(profile_)->app_sorting();
@@ -482,10 +482,8 @@
extension = nullptr; // No longer safe to use.
// Update the all urls flag.
- if (extension_sync_data.all_urls_enabled() !=
- ExtensionSyncData::BOOLEAN_UNSET) {
- bool allowed = extension_sync_data.all_urls_enabled() ==
- ExtensionSyncData::BOOLEAN_TRUE;
+ if (extension_sync_data.all_urls_enabled().has_value()) {
+ bool allowed = *extension_sync_data.all_urls_enabled();
extensions::ScriptingPermissionsModifier::SetAllowedOnAllUrlsForSync(
allowed, profile_, id);
}