Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: mojo/loader/loader.cc

Issue 38303002: Enable Mojo to download from file URLs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove unneeded include Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "mojo/loader/loader.h" 5 #include "mojo/loader/loader.h"
6 6
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "base/threading/thread.h" 8 #include "base/threading/thread.h"
9 #include "mojo/loader/url_request_context_getter.h" 9 #include "mojo/loader/url_request_context_getter.h"
10 #include "net/url_request/url_fetcher.h" 10 #include "net/url_request/url_fetcher.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 57
58 class Loader::Data { 58 class Loader::Data {
59 public: 59 public:
60 scoped_refptr<base::SingleThreadTaskRunner> file_runner; 60 scoped_refptr<base::SingleThreadTaskRunner> file_runner;
61 scoped_ptr<base::Thread> cache_thread; 61 scoped_ptr<base::Thread> cache_thread;
62 scoped_refptr<URLRequestContextGetter> url_request_context_getter; 62 scoped_refptr<URLRequestContextGetter> url_request_context_getter;
63 }; 63 };
64 64
65 Loader::Loader(base::SingleThreadTaskRunner* network_runner, 65 Loader::Loader(base::SingleThreadTaskRunner* network_runner,
66 base::SingleThreadTaskRunner* file_runner, 66 base::SingleThreadTaskRunner* file_runner,
67 scoped_ptr<net::NetworkDelegate> network_delegate,
67 base::FilePath base_path) 68 base::FilePath base_path)
68 : data_(new Data()) { 69 : data_(new Data()) {
69 data_->file_runner = file_runner; 70 data_->file_runner = file_runner;
70 data_->cache_thread = CreateIOThread("cache_thread"); 71 data_->cache_thread = CreateIOThread("cache_thread");
71 data_->url_request_context_getter = new URLRequestContextGetter( 72 data_->url_request_context_getter = new URLRequestContextGetter(
72 base_path, network_runner, data_->cache_thread->message_loop_proxy()); 73 base_path, network_runner, file_runner,
74 data_->cache_thread->message_loop_proxy(),
75 network_delegate.Pass());
73 } 76 }
74 77
75 Loader::~Loader() { 78 Loader::~Loader() {
76 } 79 }
77 80
78 scoped_ptr<Job> Loader::Load(const GURL& app_url, Job::Delegate* delegate) { 81 scoped_ptr<Job> Loader::Load(const GURL& app_url, Job::Delegate* delegate) {
79 JobImpl* job = new JobImpl(app_url, delegate); 82 JobImpl* job = new JobImpl(app_url, delegate);
80 job->fetcher()->SetRequestContext(data_->url_request_context_getter.get()); 83 job->fetcher()->SetRequestContext(data_->url_request_context_getter.get());
81 job->fetcher()->SaveResponseToTemporaryFile(data_->file_runner.get()); 84 job->fetcher()->SaveResponseToTemporaryFile(data_->file_runner.get());
82 job->fetcher()->Start(); 85 job->fetcher()->Start();
83 return make_scoped_ptr(static_cast<Job*>(job)); 86 return make_scoped_ptr(static_cast<Job*>(job));
84 } 87 }
85 88
86 } // namespace loader 89 } // namespace loader
87 } // namespace mojo 90 } // namespace mojo
OLDNEW
« mojo/DEPS ('K') | « mojo/loader/loader.h ('k') | mojo/loader/url_request_context_getter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698