summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/net/chrome_url_request_context.cc14
-rw-r--r--chrome/common/chrome_switches.cc3
-rw-r--r--chrome/common/chrome_switches.h2
3 files changed, 18 insertions, 1 deletions
diff --git a/chrome/browser/net/chrome_url_request_context.cc b/chrome/browser/net/chrome_url_request_context.cc
index 5bb921b..da77fcf 100644
--- a/chrome/browser/net/chrome_url_request_context.cc
+++ b/chrome/browser/net/chrome_url_request_context.cc
@@ -125,6 +125,9 @@ ChromeURLRequestContext* ChromeURLRequestContext::CreateOriginal(
context->ssl_config_service_,
disk_cache_path.ToWStringHack(), cache_size);
+ if (command_line.HasSwitch(switches::kEnableByteRangeSupport))
+ cache->set_enable_range_support(true);
+
bool record_mode = chrome::kRecordModeEnabled &&
command_line.HasSwitch(switches::kRecordMode);
bool playback_mode = command_line.HasSwitch(switches::kPlaybackMode);
@@ -207,10 +210,15 @@ ChromeURLRequestContext* ChromeURLRequestContext::CreateOffTheRecord(
context->proxy_service_ =
profile->GetOriginalProfile()->GetRequestContext()->proxy_service();
- context->http_transaction_factory_ =
+ net::HttpCache* cache =
new net::HttpCache(context->host_resolver_, context->proxy_service_,
context->ssl_config_service_, 0);
context->cookie_store_ = new net::CookieMonster;
+ context->http_transaction_factory_ = cache;
+
+ if (CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableByteRangeSupport))
+ cache->set_enable_range_support(true);
// The kWininetFtp switch is Windows specific because we have two FTP
// implementations on Windows.
@@ -279,6 +287,10 @@ ChromeURLRequestContext* ChromeURLRequestContext::CreateRequestContextForMedia(
disk_cache_path.ToWStringHack(), cache_size);
}
+ if (CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableByteRangeSupport))
+ cache->set_enable_range_support(true);
+
cache->set_type(net::MEDIA_CACHE);
context->http_transaction_factory_ = cache;
return context;
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index c62c4db..a232be0 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -591,4 +591,7 @@ const wchar_t kSyncServiceURL[] = L"sync-url";
const wchar_t kCookiePipe[] = L"cookie-pipe";
#endif
+// Enable experimental support for cached byte-ranges.
+const wchar_t kEnableByteRangeSupport[] = L"enable-byte-range-support";
+
} // namespace switches
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index e4dc936..fce1b69 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -239,6 +239,8 @@ extern const wchar_t kSyncServiceURL[];
extern const wchar_t kCookiePipe[];
#endif
+extern const wchar_t kEnableByteRangeSupport[];
+
} // namespace switches
#endif // CHROME_COMMON_CHROME_SWITCHES_H_