summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorasanka <asanka@chromium.org>2015-12-18 20:45:39 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-19 04:46:36 +0000
commitdc5a2994948c060ab7c3a584107fa7ba21ee1486 (patch)
tree90432536b1dfe09e38719f560dd80f7264528d26
parenta82b9b57547c3b9fe783827e626ddec109298e79 (diff)
downloadchromium_src-dc5a2994948c060ab7c3a584107fa7ba21ee1486.zip
chromium_src-dc5a2994948c060ab7c3a584107fa7ba21ee1486.tar.gz
chromium_src-dc5a2994948c060ab7c3a584107fa7ba21ee1486.tar.bz2
Enable download resumption by default.
BUG=7648 Review URL: https://codereview.chromium.org/1538933002 Cr-Commit-Position: refs/heads/master@{#366264}
-rw-r--r--chrome/browser/about_flags.cc2
-rw-r--r--chrome/browser/download/download_browsertest.cc40
-rw-r--r--chrome/browser/download/download_shelf_context_menu.cc6
-rw-r--r--chrome/browser/download/notification/download_notification_browsertest.cc4
-rw-r--r--chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc10
-rw-r--r--content/browser/download/download_browsertest.cc12
-rw-r--r--content/browser/download/download_item_impl.cc13
-rw-r--r--content/browser/download/download_item_impl_unittest.cc32
-rw-r--r--content/public/common/content_features.cc5
-rw-r--r--content/public/common/content_features.h3
-rw-r--r--content/public/common/content_switches.cc3
-rw-r--r--content/public/common/content_switches.h1
12 files changed, 59 insertions, 72 deletions
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index fe09246..8c96baa 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -804,7 +804,7 @@ const FeatureEntry kFeatureEntries[] = {
IDS_FLAGS_DOWNLOAD_RESUMPTION_NAME,
IDS_FLAGS_DOWNLOAD_RESUMPTION_DESCRIPTION,
kOsDesktop,
- SINGLE_VALUE_TYPE(switches::kEnableDownloadResumption)},
+ FEATURE_VALUE_TYPE(features::kDownloadResumption)},
#if defined(OS_CHROMEOS)
{"download-notification",
IDS_FLAGS_DOWNLOAD_NOTIFICATION_NAME,
diff --git a/chrome/browser/download/download_browsertest.cc b/chrome/browser/download/download_browsertest.cc
index e5f6c5d..9e1ffb6 100644
--- a/chrome/browser/download/download_browsertest.cc
+++ b/chrome/browser/download/download_browsertest.cc
@@ -7,6 +7,7 @@
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/command_line.h"
+#include "base/feature_list.h"
#include "base/files/file.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
@@ -80,6 +81,7 @@
#include "content/public/browser/render_widget_host.h"
#include "content/public/browser/resource_context.h"
#include "content/public/browser/web_contents.h"
+#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/context_menu_params.h"
#include "content/public/test/browser_test_utils.h"
@@ -407,6 +409,11 @@ class DownloadTest : public InProcessBrowserTest {
DownloadTest() {}
void SetUpOnMainThread() override {
+ base::FeatureList::ClearInstanceForTesting();
+ scoped_ptr<base::FeatureList> feature_list(new base::FeatureList);
+ feature_list->InitializeFromCommandLine(
+ features::kDownloadResumption.name, std::string());
+ base::FeatureList::SetInstance(std::move(feature_list));
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(&chrome_browser_net::SetUrlRequestMocksEnabled, true));
@@ -844,11 +851,16 @@ class DownloadTest : public InProcessBrowserTest {
browser()->tab_strip_model()->GetActiveWebContents();
ASSERT_TRUE(web_contents);
- scoped_ptr<content::DownloadTestObserver> observer(
- new content::DownloadTestObserverTerminal(
- download_manager,
- 1,
- content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL));
+ scoped_ptr<content::DownloadTestObserver> observer;
+ if (download_info.reason == content::DOWNLOAD_INTERRUPT_REASON_NONE) {
+ observer.reset(new content::DownloadTestObserverTerminal(
+ download_manager, 1,
+ content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL));
+ } else {
+ observer.reset(new content::DownloadTestObserverInterrupted(
+ download_manager, 1,
+ content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL));
+ }
if (download_info.download_method == DOWNLOAD_DIRECT) {
// Go directly to download. Don't wait for navigation.
@@ -1691,9 +1703,11 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadHistoryCheck) {
// at this point as our queries will be behind the history updates
// invoked by completion.
scoped_ptr<content::DownloadTestObserver> download_observer(
- CreateWaiter(browser(), 1));
- ui_test_utils::NavigateToURL(browser(),
- GURL(net::URLRequestSlowDownloadJob::kErrorDownloadUrl));
+ new content::DownloadTestObserverInterrupted(
+ DownloadManagerForBrowser(browser()), 1,
+ content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL));
+ ui_test_utils::NavigateToURL(
+ browser(), GURL(net::URLRequestSlowDownloadJob::kErrorDownloadUrl));
download_observer->WaitForFinished();
EXPECT_EQ(1u, download_observer->NumDownloadsSeenInState(
DownloadItem::INTERRUPTED));
@@ -3018,8 +3032,6 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, MAYBE_DownloadTest_PercentComplete) {
// A download that is interrupted due to a file error should be able to be
// resumed.
IN_PROC_BROWSER_TEST_F(DownloadTest, Resumption_NoPrompt) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
scoped_refptr<content::TestFileErrorInjector> error_injector(
content::TestFileErrorInjector::Create(
DownloadManagerForBrowser(browser())));
@@ -3043,8 +3055,6 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, Resumption_NoPrompt) {
// path is invalid or unusable should cause a prompt to be displayed on
// resumption.
IN_PROC_BROWSER_TEST_F(DownloadTest, Resumption_WithPrompt) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
scoped_refptr<content::TestFileErrorInjector> error_injector(
content::TestFileErrorInjector::Create(
DownloadManagerForBrowser(browser())));
@@ -3067,8 +3077,6 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, Resumption_WithPrompt) {
// The user shouldn't be prompted on a resumed download unless a prompt is
// necessary due to the interrupt reason.
IN_PROC_BROWSER_TEST_F(DownloadTest, Resumption_WithPromptAlways) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
browser()->profile()->GetPrefs()->SetBoolean(
prefs::kPromptForDownload, true);
scoped_refptr<content::TestFileErrorInjector> error_injector(
@@ -3097,8 +3105,6 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, Resumption_WithPromptAlways) {
// A download that is interrupted due to a transient error should be resumed
// automatically.
IN_PROC_BROWSER_TEST_F(DownloadTest, Resumption_Automatic) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
scoped_refptr<content::TestFileErrorInjector> error_injector(
content::TestFileErrorInjector::Create(
DownloadManagerForBrowser(browser())));
@@ -3117,8 +3123,6 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, Resumption_Automatic) {
// An interrupting download should be resumable multiple times.
IN_PROC_BROWSER_TEST_F(DownloadTest, Resumption_MultipleAttempts) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
scoped_refptr<content::TestFileErrorInjector> error_injector(
content::TestFileErrorInjector::Create(
DownloadManagerForBrowser(browser())));
diff --git a/chrome/browser/download/download_shelf_context_menu.cc b/chrome/browser/download/download_shelf_context_menu.cc
index b541b59..91a5728 100644
--- a/chrome/browser/download/download_shelf_context_menu.cc
+++ b/chrome/browser/download/download_shelf_context_menu.cc
@@ -4,10 +4,9 @@
#include "chrome/browser/download/download_shelf_context_menu.h"
-#include "base/command_line.h"
#include "chrome/browser/download/download_item_model.h"
#include "chrome/grit/generated_resources.h"
-#include "content/public/common/content_switches.h"
+#include "content/public/common/content_features.h"
#include "extensions/common/extension.h"
#include "ui/base/l10n/l10n_util.h"
@@ -21,8 +20,7 @@ namespace {
// Returns true if downloads resumption is enabled.
bool IsDownloadResumptionEnabled() {
- return base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableDownloadResumption);
+ return base::FeatureList::IsEnabled(features::kDownloadResumption);
}
} // namespace
diff --git a/chrome/browser/download/notification/download_notification_browsertest.cc b/chrome/browser/download/notification/download_notification_browsertest.cc
index 7846aea..a04323e 100644
--- a/chrome/browser/download/notification/download_notification_browsertest.cc
+++ b/chrome/browser/download/notification/download_notification_browsertest.cc
@@ -668,7 +668,7 @@ IN_PROC_BROWSER_TEST_F(DownloadNotificationTest, InterruptDownload) {
// Installs observers before requesting.
NotificationUpdateObserver
download_notification_update_observer(notification_id());
- content::DownloadTestObserverTerminal download_terminal_observer(
+ content::DownloadTestObserverInterrupted download_terminal_observer(
GetDownloadManager(browser()),
1u, /* wait_count */
content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL);
@@ -722,7 +722,7 @@ IN_PROC_BROWSER_TEST_F(DownloadNotificationTest,
// Installs observers before requesting the completion.
NotificationAddObserver download_notification_add_observer;
- content::DownloadTestObserverTerminal download_terminal_observer(
+ content::DownloadTestObserverInterrupted download_terminal_observer(
download_manager,
1u, /* wait_count */
content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL);
diff --git a/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
index 6e8821d..6f78404 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
@@ -37,7 +37,7 @@
#include "content/public/browser/notification_service.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
-#include "content/public/common/content_switches.h"
+#include "content/public/common/content_features.h"
#include "content/public/test/download_test_observer.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/notification_types.h"
@@ -309,6 +309,12 @@ class DownloadExtensionTest : public ExtensionApiTest {
// InProcessBrowserTest
void SetUpOnMainThread() override {
+ base::FeatureList::ClearInstanceForTesting();
+ scoped_ptr<base::FeatureList> feature_list(new base::FeatureList);
+ feature_list->InitializeFromCommandLine(
+ features::kDownloadResumption.name, std::string());
+ base::FeatureList::SetInstance(std::move(feature_list));
+
ExtensionApiTest::SetUpOnMainThread();
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
@@ -3858,8 +3864,6 @@ IN_PROC_BROWSER_TEST_F(
IN_PROC_BROWSER_TEST_F(
DownloadExtensionTest,
MAYBE_DownloadExtensionTest_OnDeterminingFilename_InterruptedResume) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
LoadExtension("downloads_split");
ASSERT_TRUE(StartEmbeddedTestServer());
GoOnTheRecord();
diff --git a/content/browser/download/download_browsertest.cc b/content/browser/download/download_browsertest.cc
index 73a21c4..c763b87 100644
--- a/content/browser/download/download_browsertest.cc
+++ b/content/browser/download/download_browsertest.cc
@@ -8,7 +8,7 @@
#include <vector>
#include "base/callback_helpers.h"
-#include "base/command_line.h"
+#include "base/feature_list.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
@@ -26,7 +26,7 @@
#include "content/browser/download/download_resource_handler.h"
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/public/browser/power_save_blocker.h"
-#include "content/public/common/content_switches.h"
+#include "content/public/common/content_features.h"
#include "content/public/common/webplugininfo.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/content_browser_test.h"
@@ -709,8 +709,12 @@ class DownloadResumptionContentTest
public ::testing::WithParamInterface<DownloadResumptionTestType> {
public:
void SetUpOnMainThread() override {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
+ base::FeatureList::ClearInstanceForTesting();
+ scoped_ptr<base::FeatureList> feature_list(new base::FeatureList);
+ feature_list->InitializeFromCommandLine(
+ features::kDownloadResumption.name, std::string());
+ base::FeatureList::SetInstance(std::move(feature_list));
+
DownloadContentTest::SetUpOnMainThread();
if (GetParam() == DownloadResumptionTestType::RESUME_WITHOUT_RENDERER)
diff --git a/content/browser/download/download_item_impl.cc b/content/browser/download/download_item_impl.cc
index cf42944..2826d31 100644
--- a/content/browser/download/download_item_impl.cc
+++ b/content/browser/download/download_item_impl.cc
@@ -27,7 +27,6 @@
#include "base/basictypes.h"
#include "base/bind.h"
-#include "base/command_line.h"
#include "base/files/file_util.h"
#include "base/format_macros.h"
#include "base/logging.h"
@@ -49,7 +48,7 @@
#include "content/public/browser/download_danger_type.h"
#include "content/public/browser/download_interrupt_reasons.h"
#include "content/public/browser/download_url_parameters.h"
-#include "content/public/common/content_switches.h"
+#include "content/public/common/content_features.h"
#include "content/public/common/referrer.h"
#include "net/base/net_util.h"
@@ -93,8 +92,7 @@ static void DownloadFileCancel(scoped_ptr<DownloadFile> download_file) {
}
bool IsDownloadResumptionEnabled() {
- return base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableDownloadResumption);
+ return base::FeatureList::IsEnabled(features::kDownloadResumption);
}
} // namespace
@@ -1672,12 +1670,7 @@ void DownloadItemImpl::AutoResumeIfValid() {
void DownloadItemImpl::ResumeInterruptedDownload() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
-
- // If the flag for downloads resumption isn't enabled, ignore
- // this request.
- const base::CommandLine& command_line =
- *base::CommandLine::ForCurrentProcess();
- if (!command_line.HasSwitch(switches::kEnableDownloadResumption))
+ if (!IsDownloadResumptionEnabled())
return;
// If we're not interrupted, ignore the request; our caller is drunk.
diff --git a/content/browser/download/download_item_impl_unittest.cc b/content/browser/download/download_item_impl_unittest.cc
index 862d7d8..75fce50 100644
--- a/content/browser/download/download_item_impl_unittest.cc
+++ b/content/browser/download/download_item_impl_unittest.cc
@@ -3,7 +3,7 @@
// found in the LICENSE file.
#include "base/callback.h"
-#include "base/command_line.h"
+#include "base/feature_list.h"
#include "base/message_loop/message_loop.h"
#include "base/stl_util.h"
#include "base/threading/thread.h"
@@ -17,7 +17,7 @@
#include "content/public/browser/download_destination_observer.h"
#include "content/public/browser/download_interrupt_reasons.h"
#include "content/public/browser/download_url_parameters.h"
-#include "content/public/common/content_switches.h"
+#include "content/public/common/content_features.h"
#include "content/public/test/mock_download_item.h"
#include "content/public/test/test_browser_context.h"
#include "content/public/test/test_browser_thread.h"
@@ -192,6 +192,11 @@ class DownloadItemTest : public testing::Test {
}
virtual void SetUp() {
+ base::FeatureList::ClearInstanceForTesting();
+ scoped_ptr<base::FeatureList> feature_list(new base::FeatureList);
+ feature_list->InitializeFromCommandLine(features::kDownloadResumption.name,
+ std::string());
+ base::FeatureList::SetInstance(std::move(feature_list));
}
virtual void TearDown() {
@@ -399,9 +404,6 @@ TEST_F(DownloadItemTest, NotificationAfterDestroyed) {
}
TEST_F(DownloadItemTest, ContinueAfterInterrupted) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
-
TestBrowserContext test_browser_context;
DownloadItemImpl* item = CreateDownloadItem();
TestDownloadItemObserver observer(item);
@@ -432,9 +434,6 @@ TEST_F(DownloadItemTest, ContinueAfterInterrupted) {
// Same as above, but with a non-continuable interrupt.
TEST_F(DownloadItemTest, RestartAfterInterrupted) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
-
DownloadItemImpl* item = CreateDownloadItem();
TestDownloadItemObserver observer(item);
MockDownloadFile* download_file =
@@ -455,9 +454,6 @@ TEST_F(DownloadItemTest, RestartAfterInterrupted) {
// Check we do correct cleanup for RESUME_MODE_INVALID interrupts.
TEST_F(DownloadItemTest, UnresumableInterrupt) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
-
DownloadItemImpl* item = CreateDownloadItem();
TestDownloadItemObserver observer(item);
MockDownloadFile* download_file =
@@ -484,9 +480,6 @@ TEST_F(DownloadItemTest, UnresumableInterrupt) {
}
TEST_F(DownloadItemTest, LimitRestartsAfterInterrupted) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
-
TestBrowserContext test_browser_context;
DownloadItemImpl* item = CreateDownloadItem();
base::WeakPtr<DownloadDestinationObserver> as_observer(
@@ -546,9 +539,6 @@ TEST_F(DownloadItemTest, LimitRestartsAfterInterrupted) {
// Test that resumption uses the final URL in a URL chain when resuming.
TEST_F(DownloadItemTest, ResumeUsingFinalURL) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
-
TestBrowserContext test_browser_context;
scoped_ptr<DownloadCreateInfo> create_info(new DownloadCreateInfo);
create_info->save_info = scoped_ptr<DownloadSaveInfo>(new DownloadSaveInfo());
@@ -847,8 +837,6 @@ TEST_F(DownloadItemTest, InterruptedBeforeIntermediateRename_Restart) {
// intermediate path should be retained when the download is interrupted after
// the intermediate rename succeeds.
TEST_F(DownloadItemTest, InterruptedBeforeIntermediateRename_Continue) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
DownloadItemImpl* item = CreateDownloadItem();
DownloadItemImplDelegate::DownloadTargetCallback callback;
MockDownloadFile* download_file =
@@ -882,8 +870,6 @@ TEST_F(DownloadItemTest, InterruptedBeforeIntermediateRename_Continue) {
// As above. If the intermediate rename fails, then the interrupt reason should
// be set to the destination error and the intermediate path should be empty.
TEST_F(DownloadItemTest, InterruptedBeforeIntermediateRename_Failed) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
DownloadItemImpl* item = CreateDownloadItem();
DownloadItemImplDelegate::DownloadTargetCallback callback;
MockDownloadFile* download_file =
@@ -1282,8 +1268,6 @@ TEST_F(DownloadItemTest, StealDangerousDownload) {
}
TEST_F(DownloadItemTest, StealInterruptedDangerousDownload) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
base::FilePath returned_path;
DownloadItemImpl* item = CreateDownloadItem();
MockDownloadFile* download_file =
@@ -1308,8 +1292,6 @@ TEST_F(DownloadItemTest, StealInterruptedDangerousDownload) {
}
TEST_F(DownloadItemTest, StealInterruptedNonResumableDangerousDownload) {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kEnableDownloadResumption);
base::FilePath returned_path;
DownloadItemImpl* item = CreateDownloadItem();
MockDownloadFile* download_file =
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
index fef006d..a9e9acf 100644
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -8,6 +8,11 @@ namespace features {
// All features in alphabetical order.
+// Downloads resumption will be controllable via a flag until it's enabled
+// permanently. See https://crbug.com/7648
+const base::Feature kDownloadResumption{"DownloadResumption",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
// The Experimental Framework for controlling access to API experiments.
const base::Feature kExperimentalFramework{"ExperimentalFramework",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
index 3abb36b..0645a2e 100644
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -8,14 +8,15 @@
#ifndef CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_
#define CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_
-#include "build/build_config.h"
#include "base/feature_list.h"
+#include "build/build_config.h"
#include "content/common/content_export.h"
namespace features {
// All features in alphabetical order. The features should be documented
// alongside the definition of their values in the .cc file.
+CONTENT_EXPORT extern const base::Feature kDownloadResumption;
CONTENT_EXPORT extern const base::Feature kExperimentalFramework;
#if defined(OS_ANDROID)
diff --git a/content/public/common/content_switches.cc b/content/public/common/content_switches.cc
index 2399fe5..ceb611e 100644
--- a/content/public/common/content_switches.cc
+++ b/content/public/common/content_switches.cc
@@ -337,9 +337,6 @@ const char kEnableDisplayList2dCanvas[] = "enable-display-list-2d-canvas";
const char kForceDisplayList2dCanvas[] = "force-display-list-2d-canvas";
const char kDisableDisplayList2dCanvas[] = "disable-display-list-2d-canvas";
-// Enables restarting interrupted downloads.
-const char kEnableDownloadResumption[] = "enable-download-resumption";
-
// Disables (unprefixed) Encrypted Media Extensions.
const char kDisableEncryptedMedia[] = "disable-encrypted-media";
diff --git a/content/public/common/content_switches.h b/content/public/common/content_switches.h
index 168ed4b..3c9954f 100644
--- a/content/public/common/content_switches.h
+++ b/content/public/common/content_switches.h
@@ -104,7 +104,6 @@ CONTENT_EXPORT extern const char kEnableBlinkFeatures[];
CONTENT_EXPORT extern const char kEnableBrowserSideNavigation[];
CONTENT_EXPORT extern const char kEnableDisplayList2dCanvas[];
CONTENT_EXPORT extern const char kEnableDistanceFieldText[];
-CONTENT_EXPORT extern const char kEnableDownloadResumption[];
CONTENT_EXPORT extern const char kEnableExperimentalCanvasFeatures[];
CONTENT_EXPORT extern const char kEnableExperimentalWebPlatformFeatures[];
CONTENT_EXPORT extern const char kEnableFeatures[];