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 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc
e-loading | 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc
e-loading |
6 | 6 |
7 #include "content/browser/loader/resource_dispatcher_host_impl.h" | 7 #include "content/browser/loader/resource_dispatcher_host_impl.h" |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <vector> | 10 #include <vector> |
(...skipping 23 matching lines...) Expand all Loading... |
34 #include "content/browser/loader/buffered_resource_handler.h" | 34 #include "content/browser/loader/buffered_resource_handler.h" |
35 #include "content/browser/loader/cross_site_resource_handler.h" | 35 #include "content/browser/loader/cross_site_resource_handler.h" |
36 #include "content/browser/loader/power_save_block_resource_throttle.h" | 36 #include "content/browser/loader/power_save_block_resource_throttle.h" |
37 #include "content/browser/loader/redirect_to_file_resource_handler.h" | 37 #include "content/browser/loader/redirect_to_file_resource_handler.h" |
38 #include "content/browser/loader/resource_message_filter.h" | 38 #include "content/browser/loader/resource_message_filter.h" |
39 #include "content/browser/loader/resource_request_info_impl.h" | 39 #include "content/browser/loader/resource_request_info_impl.h" |
40 #include "content/browser/loader/stream_resource_handler.h" | 40 #include "content/browser/loader/stream_resource_handler.h" |
41 #include "content/browser/loader/sync_resource_handler.h" | 41 #include "content/browser/loader/sync_resource_handler.h" |
42 #include "content/browser/loader/throttling_resource_handler.h" | 42 #include "content/browser/loader/throttling_resource_handler.h" |
43 #include "content/browser/loader/transfer_navigation_resource_throttle.h" | 43 #include "content/browser/loader/transfer_navigation_resource_throttle.h" |
| 44 #include "content/browser/loader/upload_data_stream_builder.h" |
44 #include "content/browser/plugin_service_impl.h" | 45 #include "content/browser/plugin_service_impl.h" |
45 #include "content/browser/renderer_host/render_view_host_delegate.h" | 46 #include "content/browser/renderer_host/render_view_host_delegate.h" |
46 #include "content/browser/renderer_host/render_view_host_impl.h" | 47 #include "content/browser/renderer_host/render_view_host_impl.h" |
47 #include "content/browser/resource_context_impl.h" | 48 #include "content/browser/resource_context_impl.h" |
48 #include "content/browser/streams/stream.h" | 49 #include "content/browser/streams/stream.h" |
49 #include "content/browser/streams/stream_context.h" | 50 #include "content/browser/streams/stream_context.h" |
50 #include "content/browser/streams/stream_registry.h" | 51 #include "content/browser/streams/stream_registry.h" |
51 #include "content/browser/worker_host/worker_service_impl.h" | 52 #include "content/browser/worker_host/worker_service_impl.h" |
52 #include "content/common/resource_messages.h" | 53 #include "content/common/resource_messages.h" |
53 #include "content/common/ssl_status_serialization.h" | 54 #include "content/common/ssl_status_serialization.h" |
(...skipping 27 matching lines...) Expand all Loading... |
81 #include "net/http/http_response_info.h" | 82 #include "net/http/http_response_info.h" |
82 #include "net/http/http_transaction_factory.h" | 83 #include "net/http/http_transaction_factory.h" |
83 #include "net/ssl/ssl_cert_request_info.h" | 84 #include "net/ssl/ssl_cert_request_info.h" |
84 #include "net/url_request/url_request.h" | 85 #include "net/url_request/url_request.h" |
85 #include "net/url_request/url_request_context.h" | 86 #include "net/url_request/url_request_context.h" |
86 #include "net/url_request/url_request_job_factory.h" | 87 #include "net/url_request/url_request_job_factory.h" |
87 #include "webkit/browser/appcache/appcache_interceptor.h" | 88 #include "webkit/browser/appcache/appcache_interceptor.h" |
88 #include "webkit/browser/blob/blob_storage_controller.h" | 89 #include "webkit/browser/blob/blob_storage_controller.h" |
89 #include "webkit/common/appcache/appcache_interfaces.h" | 90 #include "webkit/common/appcache/appcache_interfaces.h" |
90 #include "webkit/common/blob/shareable_file_reference.h" | 91 #include "webkit/common/blob/shareable_file_reference.h" |
91 #include "webkit/glue/resource_request_body.h" | 92 #include "webkit/common/resource_request_body.h" |
92 | 93 |
93 using base::Time; | 94 using base::Time; |
94 using base::TimeDelta; | 95 using base::TimeDelta; |
95 using base::TimeTicks; | 96 using base::TimeTicks; |
96 using webkit_blob::ShareableFileReference; | 97 using webkit_blob::ShareableFileReference; |
97 using webkit_glue::ResourceRequestBody; | 98 using webkit_glue::ResourceRequestBody; |
98 | 99 |
99 // ---------------------------------------------------------------------------- | 100 // ---------------------------------------------------------------------------- |
100 | 101 |
101 namespace content { | 102 namespace content { |
(...skipping 915 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1017 } | 1018 } |
1018 | 1019 |
1019 // TODO(darin): Do we really need all of these URLRequest setters in the | 1020 // TODO(darin): Do we really need all of these URLRequest setters in the |
1020 // transferred navigation case? | 1021 // transferred navigation case? |
1021 | 1022 |
1022 request->set_load_flags(load_flags); | 1023 request->set_load_flags(load_flags); |
1023 request->SetPriority(request_data.priority); | 1024 request->SetPriority(request_data.priority); |
1024 | 1025 |
1025 // Resolve elements from request_body and prepare upload data. | 1026 // Resolve elements from request_body and prepare upload data. |
1026 if (request_data.request_body.get()) { | 1027 if (request_data.request_body.get()) { |
1027 request->set_upload(make_scoped_ptr( | 1028 request->set_upload(UploadDataStreamBuilder::Build( |
1028 request_data.request_body->ResolveElementsAndCreateUploadDataStream( | 1029 request_data.request_body, |
1029 filter_->blob_storage_context()->controller(), | 1030 filter_->blob_storage_context()->controller(), |
1030 filter_->file_system_context(), | 1031 filter_->file_system_context(), |
1031 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE) | 1032 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE). |
1032 .get()))); | 1033 get())); |
1033 } | 1034 } |
1034 | 1035 |
1035 bool allow_download = request_data.allow_download && | 1036 bool allow_download = request_data.allow_download && |
1036 ResourceType::IsFrame(request_data.resource_type); | 1037 ResourceType::IsFrame(request_data.resource_type); |
1037 | 1038 |
1038 // Make extra info and read footer (contains request ID). | 1039 // Make extra info and read footer (contains request ID). |
1039 ResourceRequestInfoImpl* extra_info = | 1040 ResourceRequestInfoImpl* extra_info = |
1040 new ResourceRequestInfoImpl( | 1041 new ResourceRequestInfoImpl( |
1041 process_type, | 1042 process_type, |
1042 child_id, | 1043 child_id, |
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1857 DelegateMap::iterator it = delegate_map_.find(id); | 1858 DelegateMap::iterator it = delegate_map_.find(id); |
1858 DCHECK(it->second->HasObserver(delegate)); | 1859 DCHECK(it->second->HasObserver(delegate)); |
1859 it->second->RemoveObserver(delegate); | 1860 it->second->RemoveObserver(delegate); |
1860 if (it->second->size() == 0) { | 1861 if (it->second->size() == 0) { |
1861 delete it->second; | 1862 delete it->second; |
1862 delegate_map_.erase(it); | 1863 delegate_map_.erase(it); |
1863 } | 1864 } |
1864 } | 1865 } |
1865 | 1866 |
1866 } // namespace content | 1867 } // namespace content |
OLD | NEW |