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

Side by Side Diff: android_webview/browser/net/aw_url_request_context_getter.cc

Issue 11896113: Add chrome-search: access from Instant overlay (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Yet another rebase Created 7 years, 9 months 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "android_webview/browser/net/aw_url_request_context_getter.h" 5 #include "android_webview/browser/net/aw_url_request_context_getter.h"
6 6
7 #include "android_webview/browser/aw_browser_context.h" 7 #include "android_webview/browser/aw_browser_context.h"
8 #include "android_webview/browser/aw_request_interceptor.h" 8 #include "android_webview/browser/aw_request_interceptor.h"
9 #include "android_webview/browser/net/aw_network_delegate.h" 9 #include "android_webview/browser/net/aw_network_delegate.h"
10 #include "android_webview/browser/net/aw_url_request_job_factory.h" 10 #include "android_webview/browser/net/aw_url_request_job_factory.h"
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 net::URLRequestContext* AwURLRequestContextGetter::GetURLRequestContext() { 99 net::URLRequestContext* AwURLRequestContextGetter::GetURLRequestContext() {
100 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 100 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
101 if (!job_factory_) { 101 if (!job_factory_) {
102 scoped_ptr<AwURLRequestJobFactory> job_factory(new AwURLRequestJobFactory); 102 scoped_ptr<AwURLRequestJobFactory> job_factory(new AwURLRequestJobFactory);
103 bool set_protocol = job_factory->SetProtocolHandler( 103 bool set_protocol = job_factory->SetProtocolHandler(
104 chrome::kFileScheme, new net::FileProtocolHandler()); 104 chrome::kFileScheme, new net::FileProtocolHandler());
105 DCHECK(set_protocol); 105 DCHECK(set_protocol);
106 set_protocol = job_factory->SetProtocolHandler( 106 set_protocol = job_factory->SetProtocolHandler(
107 chrome::kDataScheme, new net::DataProtocolHandler()); 107 chrome::kDataScheme, new net::DataProtocolHandler());
108 DCHECK(set_protocol); 108 DCHECK(set_protocol);
109 DCHECK(blob_protocol_handler_);
110 set_protocol = job_factory->SetProtocolHandler( 109 set_protocol = job_factory->SetProtocolHandler(
111 chrome::kBlobScheme, blob_protocol_handler_.release()); 110 chrome::kBlobScheme, protocol_handlers_[chrome::kBlobScheme].release());
112 DCHECK(set_protocol); 111 DCHECK(set_protocol);
113 DCHECK(file_system_protocol_handler_);
114 set_protocol = job_factory->SetProtocolHandler( 112 set_protocol = job_factory->SetProtocolHandler(
115 chrome::kFileSystemScheme, file_system_protocol_handler_.release()); 113 chrome::kFileSystemScheme,
114 protocol_handlers_[chrome::kFileSystemScheme].release());
116 DCHECK(set_protocol); 115 DCHECK(set_protocol);
117 DCHECK(chrome_protocol_handler_);
118 set_protocol = job_factory->SetProtocolHandler( 116 set_protocol = job_factory->SetProtocolHandler(
119 chrome::kChromeUIScheme, chrome_protocol_handler_.release()); 117 chrome::kChromeUIScheme,
118 protocol_handlers_[chrome::kChromeUIScheme].release());
120 DCHECK(set_protocol); 119 DCHECK(set_protocol);
121 DCHECK(chrome_devtools_protocol_handler_);
122 set_protocol = job_factory->SetProtocolHandler( 120 set_protocol = job_factory->SetProtocolHandler(
123 chrome::kChromeDevToolsScheme, 121 chrome::kChromeDevToolsScheme,
124 chrome_devtools_protocol_handler_.release()); 122 protocol_handlers_[chrome::kChromeDevToolsScheme].release());
125 DCHECK(set_protocol); 123 DCHECK(set_protocol);
124 protocol_handlers_.clear();
126 // Create a chain of URLRequestJobFactories. Keep |job_factory_| pointed 125 // Create a chain of URLRequestJobFactories. Keep |job_factory_| pointed
127 // at the beginning of the chain. 126 // at the beginning of the chain.
128 job_factory_ = CreateAndroidJobFactory(job_factory.Pass()); 127 job_factory_ = CreateAndroidJobFactory(job_factory.Pass());
129 job_factory_.reset(new net::ProtocolInterceptJobFactory( 128 job_factory_.reset(new net::ProtocolInterceptJobFactory(
130 job_factory_.Pass(), 129 job_factory_.Pass(),
131 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>( 130 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>(
132 new AwRequestInterceptor()))); 131 new AwRequestInterceptor())));
133 job_factory_.reset(new net::ProtocolInterceptJobFactory(
134 job_factory_.Pass(),
135 developer_protocol_handler_.Pass()));
136 url_request_context_->set_job_factory(job_factory_.get()); 132 url_request_context_->set_job_factory(job_factory_.get());
137 } 133 }
138 return url_request_context_.get(); 134 return url_request_context_.get();
139 } 135 }
140 136
141 scoped_refptr<base::SingleThreadTaskRunner> 137 scoped_refptr<base::SingleThreadTaskRunner>
142 AwURLRequestContextGetter::GetNetworkTaskRunner() const { 138 AwURLRequestContextGetter::GetNetworkTaskRunner() const {
143 return BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO); 139 return BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO);
144 } 140 }
145 141
146 void AwURLRequestContextGetter::SetProtocolHandlers( 142 void AwURLRequestContextGetter::SetProtocolHandlers(
147 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler> 143 content::ProtocolHandlerMap* protocol_handlers) {
148 blob_protocol_handler, 144 std::swap(protocol_handlers_, *protocol_handlers);
149 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
150 file_system_protocol_handler,
151 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
152 developer_protocol_handler,
153 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
154 chrome_protocol_handler,
155 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
156 chrome_devtools_protocol_handler) {
157 blob_protocol_handler_ = blob_protocol_handler.Pass();
158 file_system_protocol_handler_ = file_system_protocol_handler.Pass();
159 developer_protocol_handler_ = developer_protocol_handler.Pass();
160 chrome_protocol_handler_ = chrome_protocol_handler.Pass();
161 chrome_devtools_protocol_handler_ = chrome_devtools_protocol_handler.Pass();
162 } 145 }
163 146
164 } // namespace android_webview 147 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/browser/net/aw_url_request_context_getter.h ('k') | chrome/browser/browser_process_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698