diff options
author | earthdok@chromium.org <earthdok@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-19 13:14:29 +0000 |
---|---|---|
committer | earthdok@chromium.org <earthdok@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-19 13:14:29 +0000 |
commit | 255620da4ddf6f59947d9e77529f54ad02d9af12 (patch) | |
tree | 3259bcf1524fa26fd8099e409af35422d82f9871 /android_webview | |
parent | 6a1162f6cff7d33880f5e03fb9bb3909d84e7beb (diff) | |
download | chromium_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.cc | 7 |
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()); |