diff options
author | tburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-02 15:21:58 +0000 |
---|---|---|
committer | tburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-02 15:21:58 +0000 |
commit | 7a966579811ce220ded2ecfb2c40709a1d05e4a1 (patch) | |
tree | 8e210afc31f6b2a094a87c1ba0497256041d63d8 | |
parent | 2dd68fd375448e951f5476f0de313b6551d9a785 (diff) | |
download | chromium_src-7a966579811ce220ded2ecfb2c40709a1d05e4a1.zip chromium_src-7a966579811ce220ded2ecfb2c40709a1d05e4a1.tar.gz chromium_src-7a966579811ce220ded2ecfb2c40709a1d05e4a1.tar.bz2 |
Preparation to add support for side-effect free whitelist in safebrowsing.
Find LGTM's in https://codereview.chromium.org/14584002/
Review URL: https://codereview.chromium.org/14582005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197923 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/prerender/prerender_field_trial.cc | 25 | ||||
-rw-r--r-- | chrome/browser/prerender/prerender_field_trial.h | 3 | ||||
-rw-r--r-- | chrome/common/chrome_switches.cc | 4 | ||||
-rw-r--r-- | chrome/common/chrome_switches.h | 1 | ||||
-rw-r--r-- | tools/metrics/histograms/histograms.xml | 51 |
5 files changed, 80 insertions, 4 deletions
diff --git a/chrome/browser/prerender/prerender_field_trial.cc b/chrome/browser/prerender/prerender_field_trial.cc index 312c9fb..b74e79a 100644 --- a/chrome/browser/prerender/prerender_field_trial.cc +++ b/chrome/browser/prerender/prerender_field_trial.cc @@ -33,6 +33,10 @@ const char kLoggedInPredictorTrialName[] = "PrerenderLoggedInPredictor"; const char kLoggedInPredictorEnabledGroup[] = "Enabled"; const char kLoggedInPredictorDisabledGroup[] = "Disabled"; +const char kSideEffectFreeWhitelistTrialName[] = "SideEffectFreeWhitelist"; +const char kSideEffectFreeWhitelistEnabledGroup[] = "Enabled"; +const char kSideEffectFreeWhitelistDisabledGroup[] = "Disabled"; + void SetupPrefetchFieldTrial() { chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); if (channel == chrome::VersionInfo::CHANNEL_STABLE || @@ -146,6 +150,7 @@ void SetupPrerenderFieldTrial() { void ConfigureOmniboxPrerender(); void ConfigureLoggedInPredictor(); +void ConfigureSideEffectFreeWhitelist(); void ConfigurePrefetchAndPrerender(const CommandLine& command_line) { enum PrerenderOption { @@ -203,6 +208,7 @@ void ConfigurePrefetchAndPrerender(const CommandLine& command_line) { ConfigureOmniboxPrerender(); ConfigureLoggedInPredictor(); + ConfigureSideEffectFreeWhitelist(); } void ConfigureOmniboxPrerender() { @@ -236,6 +242,20 @@ void ConfigureLoggedInPredictor() { logged_in_predictor_trial->AppendGroup(kLoggedInPredictorEnabledGroup, 100); } +void ConfigureSideEffectFreeWhitelist() { + scoped_refptr<FieldTrial> side_effect_free_whitelist_trial( + FieldTrialList::FactoryGetFieldTrial( + kSideEffectFreeWhitelistTrialName, 100, + kSideEffectFreeWhitelistDisabledGroup, 2013, 12, 31, NULL)); + chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); + if (channel == chrome::VersionInfo::CHANNEL_STABLE || + channel == chrome::VersionInfo::CHANNEL_BETA) { + return; + } + side_effect_free_whitelist_trial->AppendGroup( + kSideEffectFreeWhitelistEnabledGroup, 100); +} + bool IsOmniboxEnabled(Profile* profile) { if (!profile) return false; @@ -274,4 +294,9 @@ bool IsLoggedInPredictorEnabled() { kLoggedInPredictorEnabledGroup; } +bool IsSideEffectFreeWhitelistEnabled() { + return base::FieldTrialList::FindFullName(kSideEffectFreeWhitelistTrialName) + == kSideEffectFreeWhitelistEnabledGroup; +} + } // namespace prerender diff --git a/chrome/browser/prerender/prerender_field_trial.h b/chrome/browser/prerender/prerender_field_trial.h index 7ce9d9a..5e80a01 100644 --- a/chrome/browser/prerender/prerender_field_trial.h +++ b/chrome/browser/prerender/prerender_field_trial.h @@ -27,6 +27,9 @@ bool IsLocalPredictorEnabled(); // Returns true iff the LoggedIn Predictor is enabled. bool IsLoggedInPredictorEnabled(); +// Returns true iff the side-effect free whitelist is enabled. +bool IsSideEffectFreeWhitelistEnabled(); + } // namespace prerender #endif // CHROME_BROWSER_PRERENDER_PRERENDER_FIELD_TRIAL_H_ diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc index 30f5b36..fa17dd0 100644 --- a/chrome/common/chrome_switches.cc +++ b/chrome/common/chrome_switches.cc @@ -1230,6 +1230,10 @@ const char kSbDisableDownloadProtection[] = const char kSbDisableExtensionBlacklist[] = "safebrowsing-disable-extension-blacklist"; +// Disables safebrowsing feature that provides a side-effect free whitelist. +const char kSbDisableSideEffectFreeWhitelist[] = + "safebrowsing-disable-side-effect-free-whitelist"; + // Enables or disables extension scripts badges in the location bar. const char kScriptBadges[] = "script-badges"; diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h index cd71d1f..923f3e4 100644 --- a/chrome/common/chrome_switches.h +++ b/chrome/common/chrome_switches.h @@ -323,6 +323,7 @@ extern const char kSbURLPrefix[]; extern const char kSbDisableAutoUpdate[]; extern const char kSbDisableDownloadProtection[]; extern const char kSbDisableExtensionBlacklist[]; +extern const char kSbDisableSideEffectFreeWhitelist[]; extern const char kScriptBadges[]; extern const char kScriptBubble[]; extern const char kSearchInOmniboxHint[]; diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 1b93a9f..46d4e4e 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml @@ -6305,6 +6305,35 @@ other types of suffix sets. <summary>Time to store the PrefixSet file.</summary> </histogram> +<histogram name="SB2.SideEffectFreeWhitelistDatabaseKilobytes" units="KB"> + <summary> + The size of the Side Effect Free Whitelist SaafeBrowsing database file on + disk in kilobytes, after an update has occurred. + </summary> +</histogram> + +<histogram name="SB2.SideEffectFreeWhitelistPrefixSetKilobytes" units="KB"> + <summary> + The size of the Side Effect Free Whitelist PrefixSet file in kilobytes, + after an udpate has occurred. + </summary> +</histogram> + +<histogram name="SB2.SideEffectFreeWhitelistPrefixSetLoad" units="ms"> + <summary>Time to load the Side Effect Free Whitelist PrefixSet file.</summary> +</histogram> + +<histogram name="SB2.SideEffectFreeWhitelistPrefixSetWrite" units="ms"> + <summary> + Time to store the Side Effect Free Whitelist PrefixSet file. + </summary> +</histogram> + +<histogram name="SB2.SideEffectFreeWhitelistStatus" + enum="SB2SideEffectFreeWhitelistStatus"> + <summary>The instantiation status of the SideEffectFreeWhitelist.</summary> +</histogram> + <histogram name="SB2.SubPrefixes"> <summary> The number of sub prefixes stored in the database after the last update. @@ -9933,10 +9962,19 @@ other types of suffix sets. <int value="11" label="DOWNLOAD_DB_UPDATE_FINISH"/> <int value="12" label="CSD_DB_UPDATE_BEGIN"/> <int value="13" label="CSD_DB_UPDATE_FINISH"/> - <int value="14" label="PREFIX_SET_MISSING"/> - <int value="15" label="PREFIX_SET_READ"/> - <int value="16" label="PREFIX_SET_WRITE"/> - <int value="17" label="PREFIX_SET_DELETE"/> + <int value="14" label="BROWSE_PREFIX_SET_MISSING"/> + <int value="15" label="BROWSE_PREFIX_SET_READ"/> + <int value="16" label="BROWSE_PREFIX_SET_WRITE"/> + <int value="17" label="BROWSE_PREFIX_SET_DELETE"/> + <int value="18" label="EXTENSION_BLACKLIST_UPDATE_BEGIN"/> + <int value="19" label="EXTENSION_BLACKLIST_UPDATE_FINISH"/> + <int value="20" label="EXTENSION_BLACKLIST_UPDATE_DELETE"/> + <int value="21" label="SIDE_EFFECT_FREE_WHITELIST_UPDATE_BEGIN"/> + <int value="22" label="SIDE_EFFECT_FREE_WHITELIST_UPDATE_FINISH"/> + <int value="23" label="SIDE_EFFECT_FREE_WHITELIST_DELETE"/> + <int value="24" label="SIDE_EFFECT_FREE_WHITELIST_PREFIX_SET_READ"/> + <int value="25" label="SIDE_EFFECT_FREE_WHITELIST_PREFIX_SET_WRITE"/> + <int value="26" label="SIDE_EFFECT_FREE_WHITELIST_PREFIX_SET_DELETE"/> </enum> <enum name="SB2DownloadChecks" type="int"> @@ -10013,6 +10051,11 @@ other types of suffix sets. <int value="19" label="BLOOM_MISS_PREFIX_HIT"/> </enum> +<enum name="SB2SideEffectFreeWhitelistStatus" type="int"> + <int value="0" label="Enabled"/> + <int value="1" label="Disabled"/> +</enum> + <enum name="SB2UpdateResult" type="int"> <int value="0" label="FAIL"/> <int value="1" label="SUCCESS"/> |