OLD | NEW |
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 "content/browser/storage_partition_impl_map.h" | 5 #include "content/browser/storage_partition_impl_map.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 scoped_refptr<Stream> stream = | 75 scoped_refptr<Stream> stream = |
76 stream_context_->registry()->GetStream(request->url()); | 76 stream_context_->registry()->GetStream(request->url()); |
77 if (stream.get()) | 77 if (stream.get()) |
78 return new StreamURLRequestJob(request, network_delegate, stream); | 78 return new StreamURLRequestJob(request, network_delegate, stream); |
79 | 79 |
80 if (!blob_protocol_handler_) { | 80 if (!blob_protocol_handler_) { |
81 // Construction is deferred because 'this' is constructed on | 81 // Construction is deferred because 'this' is constructed on |
82 // the main thread but we want blob_protocol_handler_ constructed | 82 // the main thread but we want blob_protocol_handler_ constructed |
83 // on the IO thread. | 83 // on the IO thread. |
84 blob_protocol_handler_.reset(new storage::BlobProtocolHandler( | 84 blob_protocol_handler_.reset(new storage::BlobProtocolHandler( |
85 blob_storage_context_->context(), | 85 blob_storage_context_->context(), file_system_context_.get(), |
86 file_system_context_.get(), | 86 BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE).get())); |
87 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE) | |
88 .get())); | |
89 } | 87 } |
90 return blob_protocol_handler_->MaybeCreateJob(request, network_delegate); | 88 return blob_protocol_handler_->MaybeCreateJob(request, network_delegate); |
91 } | 89 } |
92 | 90 |
93 private: | 91 private: |
94 const scoped_refptr<ChromeBlobStorageContext> blob_storage_context_; | 92 const scoped_refptr<ChromeBlobStorageContext> blob_storage_context_; |
95 const scoped_refptr<StreamContext> stream_context_; | 93 const scoped_refptr<StreamContext> stream_context_; |
96 const scoped_refptr<storage::FileSystemContext> file_system_context_; | 94 const scoped_refptr<storage::FileSystemContext> file_system_context_; |
97 mutable std::unique_ptr<storage::BlobProtocolHandler> blob_protocol_handler_; | 95 mutable std::unique_ptr<storage::BlobProtocolHandler> blob_protocol_handler_; |
98 DISALLOW_COPY_AND_ASSIGN(BlobProtocolHandler); | 96 DISALLOW_COPY_AND_ASSIGN(BlobProtocolHandler); |
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
609 | 607 |
610 // We do not call InitializeURLRequestContext() for media contexts because, | 608 // We do not call InitializeURLRequestContext() for media contexts because, |
611 // other than the HTTP cache, the media contexts share the same backing | 609 // other than the HTTP cache, the media contexts share the same backing |
612 // objects as their associated "normal" request context. Thus, the previous | 610 // objects as their associated "normal" request context. Thus, the previous |
613 // call serves to initialize the media request context for this storage | 611 // call serves to initialize the media request context for this storage |
614 // partition as well. | 612 // partition as well. |
615 } | 613 } |
616 } | 614 } |
617 | 615 |
618 } // namespace content | 616 } // namespace content |
OLD | NEW |