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 <algorithm> | 9 #include <algorithm> |
10 #include <set> | 10 #include <set> |
(...skipping 14 matching lines...) Expand all Loading... |
25 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" | 25 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" |
26 #include "content/browser/appcache/appcache_interceptor.h" | 26 #include "content/browser/appcache/appcache_interceptor.h" |
27 #include "content/browser/appcache/chrome_appcache_service.h" | 27 #include "content/browser/appcache/chrome_appcache_service.h" |
28 #include "content/browser/cert_store_impl.h" | 28 #include "content/browser/cert_store_impl.h" |
29 #include "content/browser/child_process_security_policy_impl.h" | 29 #include "content/browser/child_process_security_policy_impl.h" |
30 #include "content/browser/cross_site_request_manager.h" | 30 #include "content/browser/cross_site_request_manager.h" |
31 #include "content/browser/download/download_resource_handler.h" | 31 #include "content/browser/download/download_resource_handler.h" |
32 #include "content/browser/download/save_file_manager.h" | 32 #include "content/browser/download/save_file_manager.h" |
33 #include "content/browser/download/save_file_resource_handler.h" | 33 #include "content/browser/download/save_file_resource_handler.h" |
34 #include "content/browser/fileapi/chrome_blob_storage_context.h" | 34 #include "content/browser/fileapi/chrome_blob_storage_context.h" |
| 35 #include "content/browser/frame_host/navigation_request_info.h" |
35 #include "content/browser/loader/async_resource_handler.h" | 36 #include "content/browser/loader/async_resource_handler.h" |
36 #include "content/browser/loader/buffered_resource_handler.h" | 37 #include "content/browser/loader/buffered_resource_handler.h" |
37 #include "content/browser/loader/cross_site_resource_handler.h" | 38 #include "content/browser/loader/cross_site_resource_handler.h" |
38 #include "content/browser/loader/detachable_resource_handler.h" | 39 #include "content/browser/loader/detachable_resource_handler.h" |
39 #include "content/browser/loader/power_save_block_resource_throttle.h" | 40 #include "content/browser/loader/power_save_block_resource_throttle.h" |
40 #include "content/browser/loader/redirect_to_file_resource_handler.h" | 41 #include "content/browser/loader/redirect_to_file_resource_handler.h" |
41 #include "content/browser/loader/resource_message_filter.h" | 42 #include "content/browser/loader/resource_message_filter.h" |
42 #include "content/browser/loader/resource_request_info_impl.h" | 43 #include "content/browser/loader/resource_request_info_impl.h" |
43 #include "content/browser/loader/stream_resource_handler.h" | 44 #include "content/browser/loader/stream_resource_handler.h" |
44 #include "content/browser/loader/sync_resource_handler.h" | 45 #include "content/browser/loader/sync_resource_handler.h" |
45 #include "content/browser/loader/throttling_resource_handler.h" | 46 #include "content/browser/loader/throttling_resource_handler.h" |
46 #include "content/browser/loader/upload_data_stream_builder.h" | 47 #include "content/browser/loader/upload_data_stream_builder.h" |
47 #include "content/browser/plugin_service_impl.h" | 48 #include "content/browser/plugin_service_impl.h" |
48 #include "content/browser/renderer_host/render_view_host_delegate.h" | 49 #include "content/browser/renderer_host/render_view_host_delegate.h" |
49 #include "content/browser/renderer_host/render_view_host_impl.h" | 50 #include "content/browser/renderer_host/render_view_host_impl.h" |
50 #include "content/browser/resource_context_impl.h" | 51 #include "content/browser/resource_context_impl.h" |
51 #include "content/browser/service_worker/service_worker_request_handler.h" | 52 #include "content/browser/service_worker/service_worker_request_handler.h" |
52 #include "content/browser/streams/stream.h" | 53 #include "content/browser/streams/stream.h" |
53 #include "content/browser/streams/stream_context.h" | 54 #include "content/browser/streams/stream_context.h" |
54 #include "content/browser/streams/stream_registry.h" | 55 #include "content/browser/streams/stream_registry.h" |
55 #include "content/browser/worker_host/worker_service_impl.h" | 56 #include "content/browser/worker_host/worker_service_impl.h" |
56 #include "content/browser/web_contents/web_contents_impl.h" | 57 #include "content/browser/web_contents/web_contents_impl.h" |
57 #include "content/common/appcache_interfaces.h" | 58 #include "content/common/appcache_interfaces.h" |
58 #include "content/common/resource_messages.h" | 59 #include "content/common/resource_messages.h" |
59 #include "content/common/resource_request_body.h" | |
60 #include "content/common/ssl_status_serialization.h" | 60 #include "content/common/ssl_status_serialization.h" |
61 #include "content/common/view_messages.h" | 61 #include "content/common/view_messages.h" |
62 #include "content/public/browser/browser_thread.h" | 62 #include "content/public/browser/browser_thread.h" |
63 #include "content/public/browser/content_browser_client.h" | 63 #include "content/public/browser/content_browser_client.h" |
64 #include "content/public/browser/download_manager.h" | 64 #include "content/public/browser/download_manager.h" |
65 #include "content/public/browser/download_url_parameters.h" | 65 #include "content/public/browser/download_url_parameters.h" |
66 #include "content/public/browser/global_request_id.h" | 66 #include "content/public/browser/global_request_id.h" |
67 #include "content/public/browser/resource_dispatcher_host_delegate.h" | 67 #include "content/public/browser/resource_dispatcher_host_delegate.h" |
68 #include "content/public/browser/resource_request_details.h" | 68 #include "content/public/browser/resource_request_details.h" |
69 #include "content/public/browser/resource_throttle.h" | 69 #include "content/public/browser/resource_throttle.h" |
(...skipping 1538 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1608 return true; | 1608 return true; |
1609 } | 1609 } |
1610 | 1610 |
1611 void ResourceDispatcherHostImpl::FinishedWithResourcesForRequest( | 1611 void ResourceDispatcherHostImpl::FinishedWithResourcesForRequest( |
1612 const net::URLRequest* request_) { | 1612 const net::URLRequest* request_) { |
1613 const ResourceRequestInfoImpl* info = | 1613 const ResourceRequestInfoImpl* info = |
1614 ResourceRequestInfoImpl::ForRequest(request_); | 1614 ResourceRequestInfoImpl::ForRequest(request_); |
1615 IncrementOutstandingRequestsCount(-1, *info); | 1615 IncrementOutstandingRequestsCount(-1, *info); |
1616 } | 1616 } |
1617 | 1617 |
| 1618 void ResourceDispatcherHostImpl::NavigationRequest( |
| 1619 const NavigationRequestInfo& info, |
| 1620 scoped_refptr<ResourceRequestBody> request_body, |
| 1621 int64 frame_node_id) { |
| 1622 NOTIMPLEMENTED(); |
| 1623 } |
| 1624 |
1618 // static | 1625 // static |
1619 int ResourceDispatcherHostImpl::CalculateApproximateMemoryCost( | 1626 int ResourceDispatcherHostImpl::CalculateApproximateMemoryCost( |
1620 net::URLRequest* request) { | 1627 net::URLRequest* request) { |
1621 // The following fields should be a minor size contribution (experimentally | 1628 // The following fields should be a minor size contribution (experimentally |
1622 // on the order of 100). However since they are variable length, it could | 1629 // on the order of 100). However since they are variable length, it could |
1623 // in theory be a sizeable contribution. | 1630 // in theory be a sizeable contribution. |
1624 int strings_cost = request->extra_request_headers().ToString().size() + | 1631 int strings_cost = request->extra_request_headers().ToString().size() + |
1625 request->original_url().spec().size() + | 1632 request->original_url().spec().size() + |
1626 request->referrer().size() + | 1633 request->referrer().size() + |
1627 request->method().size(); | 1634 request->method().size(); |
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1984 if ((load_flags & net::LOAD_REPORT_RAW_HEADERS) | 1991 if ((load_flags & net::LOAD_REPORT_RAW_HEADERS) |
1985 && !policy->CanReadRawCookies(child_id)) { | 1992 && !policy->CanReadRawCookies(child_id)) { |
1986 VLOG(1) << "Denied unauthorized request for raw headers"; | 1993 VLOG(1) << "Denied unauthorized request for raw headers"; |
1987 load_flags &= ~net::LOAD_REPORT_RAW_HEADERS; | 1994 load_flags &= ~net::LOAD_REPORT_RAW_HEADERS; |
1988 } | 1995 } |
1989 | 1996 |
1990 return load_flags; | 1997 return load_flags; |
1991 } | 1998 } |
1992 | 1999 |
1993 } // namespace content | 2000 } // namespace content |
OLD | NEW |