OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "webkit/blob/blob_url_request_job_factory.h" | |
6 | |
7 #include "base/basictypes.h" | |
8 #include "base/compiler_specific.h" | |
9 #include "base/message_loop_proxy.h" | |
10 #include "net/url_request/url_request.h" | |
11 #include "net/url_request/url_request_job_factory.h" | |
12 #include "webkit/blob/blob_storage_controller.h" | |
13 #include "webkit/blob/blob_url_request_job.h" | |
14 #include "webkit/browser/fileapi/file_system_context.h" | |
15 | |
16 namespace webkit_blob { | |
17 | |
18 BlobProtocolHandler::BlobProtocolHandler( | |
19 webkit_blob::BlobStorageController* blob_storage_controller, | |
20 fileapi::FileSystemContext* file_system_context, | |
21 base::MessageLoopProxy* loop_proxy) | |
22 : blob_storage_controller_(blob_storage_controller), | |
23 file_system_context_(file_system_context), | |
24 file_loop_proxy_(loop_proxy) { | |
25 DCHECK(blob_storage_controller_); | |
26 DCHECK(file_system_context_); | |
27 DCHECK(file_loop_proxy_); | |
28 } | |
29 | |
30 BlobProtocolHandler::~BlobProtocolHandler() {} | |
31 | |
32 net::URLRequestJob* BlobProtocolHandler::MaybeCreateJob( | |
33 net::URLRequest* request, net::NetworkDelegate* network_delegate) const { | |
34 scoped_refptr<webkit_blob::BlobData> data = LookupBlobData(request); | |
35 if (!data) { | |
36 // This request is not coming through resource dispatcher host. | |
37 data = blob_storage_controller_->GetBlobDataFromUrl(request->url()); | |
38 } | |
39 return new webkit_blob::BlobURLRequestJob( | |
40 request, network_delegate, data, file_system_context_, file_loop_proxy_); | |
41 } | |
42 | |
43 scoped_refptr<webkit_blob::BlobData> | |
44 BlobProtocolHandler::LookupBlobData(net::URLRequest* request) const { | |
45 return NULL; | |
46 } | |
47 | |
48 } // namespace webkit_blob | |
OLD | NEW |