summaryrefslogtreecommitdiffstats
path: root/android_webview
diff options
context:
space:
mode:
authorearthdok@chromium.org <earthdok@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-19 13:14:29 +0000
committerearthdok@chromium.org <earthdok@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-19 13:14:29 +0000
commit255620da4ddf6f59947d9e77529f54ad02d9af12 (patch)
tree3259bcf1524fa26fd8099e409af35422d82f9871 /android_webview
parent6a1162f6cff7d33880f5e03fb9bb3909d84e7beb (diff)
downloadchromium_src-255620da4ddf6f59947d9e77529f54ad02d9af12.zip
chromium_src-255620da4ddf6f59947d9e77529f54ad02d9af12.tar.gz
chromium_src-255620da4ddf6f59947d9e77529f54ad02d9af12.tar.bz2
Remove WorkerPool dependency from URLRequestFileJob.
Make net::URLRequestFileJob pass a TaskRunner to FileStream, instead of using a deprecated FileStream constructor that depends on WorkerPool. This TaskRunner is obtained from the blocking pool where possible. Also, remove two explicit uses of WorkerPool in net/url_request/ and chrome/browser/. Removes dependency on deprecated code. Also fixes memory leaks in unit tests caused by FileStream destruction tasks not running to completion in WorkerPool. BUG=248513, 251774 Review URL: https://chromiumcodereview.appspot.com/22795006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218273 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview')
-rw-r--r--android_webview/browser/net/aw_url_request_context_getter.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/android_webview/browser/net/aw_url_request_context_getter.cc b/android_webview/browser/net/aw_url_request_context_getter.cc
index eed948f..4017c18 100644
--- a/android_webview/browser/net/aw_url_request_context_getter.cc
+++ b/android_webview/browser/net/aw_url_request_context_getter.cc
@@ -14,6 +14,7 @@
#include "android_webview/browser/net/init_native_callback.h"
#include "android_webview/common/aw_switches.h"
#include "base/command_line.h"
+#include "base/threading/sequenced_worker_pool.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/cookie_store_factory.h"
@@ -123,7 +124,11 @@ net::URLRequestContext* AwURLRequestContextGetter::GetURLRequestContext() {
if (!job_factory_) {
scoped_ptr<AwURLRequestJobFactory> job_factory(new AwURLRequestJobFactory);
bool set_protocol = job_factory->SetProtocolHandler(
- chrome::kFileScheme, new net::FileProtocolHandler());
+ chrome::kFileScheme,
+ new net::FileProtocolHandler(
+ content::BrowserThread::GetBlockingPool()->
+ GetTaskRunnerWithShutdownBehavior(
+ base::SequencedWorkerPool::SKIP_ON_SHUTDOWN)));
DCHECK(set_protocol);
set_protocol = job_factory->SetProtocolHandler(
chrome::kDataScheme, new net::DataProtocolHandler());