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

Side by Side Diff: chrome/browser/extensions/extension_protocols.cc

Issue 10700117: Replaced static URLRequestFileJob factory with non-static protocol handler for File jobs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed context from file_dir_job, merged with error_job cl Created 8 years, 5 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 "chrome/browser/extensions/extension_protocols.h" 5 #include "chrome/browser/extensions/extension_protocols.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/file_path.h" 10 #include "base/file_path.h"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 150
151 scoped_refptr<const Extension> extension_; 151 scoped_refptr<const Extension> extension_;
152 net::HttpResponseInfo response_info_; 152 net::HttpResponseInfo response_info_;
153 }; 153 };
154 154
155 class URLRequestExtensionJob : public net::URLRequestFileJob { 155 class URLRequestExtensionJob : public net::URLRequestFileJob {
156 public: 156 public:
157 URLRequestExtensionJob(net::URLRequest* request, 157 URLRequestExtensionJob(net::URLRequest* request,
158 const FilePath& filename, 158 const FilePath& filename,
159 const std::string& content_security_policy, 159 const std::string& content_security_policy,
160 bool send_cors_header) 160 bool send_cors_header,
161 : net::URLRequestFileJob(request, filename) { 161 net::NetworkDelegate* network_delegate)
162 : net::URLRequestFileJob(request, filename, network_delegate) {
162 response_info_.headers = BuildHttpHeaders(content_security_policy, 163 response_info_.headers = BuildHttpHeaders(content_security_policy,
163 send_cors_header); 164 send_cors_header);
164 } 165 }
165 166
166 virtual void GetResponseInfo(net::HttpResponseInfo* info) OVERRIDE { 167 virtual void GetResponseInfo(net::HttpResponseInfo* info) OVERRIDE {
167 *info = response_info_; 168 *info = response_info_;
168 } 169 }
169 170
170 private: 171 private:
171 virtual ~URLRequestExtensionJob() {} 172 virtual ~URLRequestExtensionJob() {}
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 332
332 FilePath resource_file_path; 333 FilePath resource_file_path;
333 { 334 {
334 // Getting the file path will touch the file system. Fixing 335 // Getting the file path will touch the file system. Fixing
335 // crbug.com/59849 would also fix this. Suppress the error for now. 336 // crbug.com/59849 would also fix this. Suppress the error for now.
336 base::ThreadRestrictions::ScopedAllowIO allow_io; 337 base::ThreadRestrictions::ScopedAllowIO allow_io;
337 resource_file_path = resource.GetFilePath(); 338 resource_file_path = resource.GetFilePath();
338 } 339 }
339 340
340 return new URLRequestExtensionJob(request, resource_file_path, 341 return new URLRequestExtensionJob(request, resource_file_path,
341 content_security_policy, send_cors_header); 342 content_security_policy, send_cors_header,
343 request->context()->network_delegate());
342 } 344 }
343 345
344 } // namespace 346 } // namespace
345 347
346 net::URLRequestJobFactory::ProtocolHandler* CreateExtensionProtocolHandler( 348 net::URLRequestJobFactory::ProtocolHandler* CreateExtensionProtocolHandler(
347 bool is_incognito, 349 bool is_incognito,
348 ExtensionInfoMap* extension_info_map) { 350 ExtensionInfoMap* extension_info_map) {
349 return new ExtensionProtocolHandler(is_incognito, extension_info_map); 351 return new ExtensionProtocolHandler(is_incognito, extension_info_map);
350 } 352 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698