Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 60 #include "content/common/download/mhtml_save_status.h" | 60 #include "content/common/download/mhtml_save_status.h" |
| 61 #include "content/common/edit_command.h" | 61 #include "content/common/edit_command.h" |
| 62 #include "content/common/frame_messages.h" | 62 #include "content/common/frame_messages.h" |
| 63 #include "content/common/frame_owner_properties.h" | 63 #include "content/common/frame_owner_properties.h" |
| 64 #include "content/common/frame_replication_state.h" | 64 #include "content/common/frame_replication_state.h" |
| 65 #include "content/common/input_messages.h" | 65 #include "content/common/input_messages.h" |
| 66 #include "content/common/navigation_params.h" | 66 #include "content/common/navigation_params.h" |
| 67 #include "content/common/page_messages.h" | 67 #include "content/common/page_messages.h" |
| 68 #include "content/common/savable_subframe.h" | 68 #include "content/common/savable_subframe.h" |
| 69 #include "content/common/service_worker/service_worker_types.h" | 69 #include "content/common/service_worker/service_worker_types.h" |
| 70 #include "content/common/service_worker/service_worker_utils.h" | |
| 70 #include "content/common/site_isolation_policy.h" | 71 #include "content/common/site_isolation_policy.h" |
| 71 #include "content/common/swapped_out_messages.h" | 72 #include "content/common/swapped_out_messages.h" |
| 72 #include "content/common/view_messages.h" | 73 #include "content/common/view_messages.h" |
| 73 #include "content/common/worker_url_loader_factory_provider.mojom.h" | 74 #include "content/common/worker_url_loader_factory_provider.mojom.h" |
| 74 #include "content/public/common/appcache_info.h" | 75 #include "content/public/common/appcache_info.h" |
| 75 #include "content/public/common/associated_interface_provider.h" | 76 #include "content/public/common/associated_interface_provider.h" |
| 76 #include "content/public/common/bindings_policy.h" | 77 #include "content/public/common/bindings_policy.h" |
| 77 #include "content/public/common/browser_side_navigation_policy.h" | 78 #include "content/public/common/browser_side_navigation_policy.h" |
| 78 #include "content/public/common/content_constants.h" | 79 #include "content/public/common/content_constants.h" |
| 79 #include "content/public/common/content_features.h" | 80 #include "content/public/common/content_features.h" |
| (...skipping 2831 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2911 worker_fetch_context->set_first_party_for_cookies( | 2912 worker_fetch_context->set_first_party_for_cookies( |
| 2912 frame_->GetDocument().FirstPartyForCookies()); | 2913 frame_->GetDocument().FirstPartyForCookies()); |
| 2913 worker_fetch_context->set_is_secure_context( | 2914 worker_fetch_context->set_is_secure_context( |
| 2914 frame_->GetDocument().IsSecureContext()); | 2915 frame_->GetDocument().IsSecureContext()); |
| 2915 blink::WebServiceWorkerNetworkProvider* web_provider = | 2916 blink::WebServiceWorkerNetworkProvider* web_provider = |
| 2916 frame_->DataSource()->GetServiceWorkerNetworkProvider(); | 2917 frame_->DataSource()->GetServiceWorkerNetworkProvider(); |
| 2917 if (web_provider) { | 2918 if (web_provider) { |
| 2918 ServiceWorkerNetworkProvider* provider = | 2919 ServiceWorkerNetworkProvider* provider = |
| 2919 ServiceWorkerNetworkProvider::FromWebServiceWorkerNetworkProvider( | 2920 ServiceWorkerNetworkProvider::FromWebServiceWorkerNetworkProvider( |
| 2920 web_provider); | 2921 web_provider); |
| 2922 if (!provider) | |
| 2923 return nullptr; | |
| 2921 worker_fetch_context->set_service_worker_provider_id( | 2924 worker_fetch_context->set_service_worker_provider_id( |
| 2922 provider->provider_id()); | 2925 provider->provider_id()); |
| 2923 worker_fetch_context->set_is_controlled_by_service_worker( | 2926 worker_fetch_context->set_is_controlled_by_service_worker( |
| 2924 provider->IsControlledByServiceWorker()); | 2927 provider->IsControlledByServiceWorker()); |
| 2925 } | 2928 } |
| 2926 return std::move(worker_fetch_context); | 2929 return std::move(worker_fetch_context); |
| 2927 } | 2930 } |
| 2928 | 2931 |
| 2929 WebExternalPopupMenu* RenderFrameImpl::CreateExternalPopupMenu( | 2932 WebExternalPopupMenu* RenderFrameImpl::CreateExternalPopupMenu( |
| 2930 const WebPopupMenuInfo& popup_menu_info, | 2933 const WebPopupMenuInfo& popup_menu_info, |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 2961 } | 2964 } |
| 2962 | 2965 |
| 2963 std::unique_ptr<blink::WebServiceWorkerProvider> | 2966 std::unique_ptr<blink::WebServiceWorkerProvider> |
| 2964 RenderFrameImpl::CreateServiceWorkerProvider() { | 2967 RenderFrameImpl::CreateServiceWorkerProvider() { |
| 2965 // At this point we should have non-null data source. | 2968 // At this point we should have non-null data source. |
| 2966 DCHECK(frame_->DataSource()); | 2969 DCHECK(frame_->DataSource()); |
| 2967 if (!ChildThreadImpl::current()) | 2970 if (!ChildThreadImpl::current()) |
| 2968 return nullptr; // May be null in some tests. | 2971 return nullptr; // May be null in some tests. |
| 2969 ServiceWorkerNetworkProvider* provider = | 2972 ServiceWorkerNetworkProvider* provider = |
| 2970 ServiceWorkerNetworkProvider::FromWebServiceWorkerNetworkProvider( | 2973 ServiceWorkerNetworkProvider::FromWebServiceWorkerNetworkProvider( |
| 2971 frame_->DataSource()->GetServiceWorkerNetworkProvider()); | 2974 frame_->DataSource()->GetServiceWorkerNetworkProvider()); |
|
falken
2017/06/12 01:10:36
To make the two paths more clear, could this be be
kinuko
2017/06/12 02:16:51
Done.
| |
| 2972 if (!provider->context()) { | 2975 if (!provider || !provider->context()) { |
| 2973 // The context can be null when the frame is sandboxed. | 2976 // The context can be null when the frame is sandboxed. |
| 2974 return nullptr; | 2977 return nullptr; |
| 2975 } | 2978 } |
| 2976 return base::MakeUnique<WebServiceWorkerProviderImpl>( | 2979 return base::MakeUnique<WebServiceWorkerProviderImpl>( |
| 2977 ChildThreadImpl::current()->thread_safe_sender(), provider->context()); | 2980 ChildThreadImpl::current()->thread_safe_sender(), provider->context()); |
| 2978 } | 2981 } |
| 2979 | 2982 |
| 2980 service_manager::InterfaceProvider* RenderFrameImpl::GetInterfaceProvider() { | 2983 service_manager::InterfaceProvider* RenderFrameImpl::GetInterfaceProvider() { |
| 2981 DCHECK(remote_interfaces_); | 2984 DCHECK(remote_interfaces_); |
| 2982 return remote_interfaces_.get(); | 2985 return remote_interfaces_.get(); |
| (...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3419 navigation_state->common_params().source_location->column_number; | 3422 navigation_state->common_params().source_location->column_number; |
| 3420 datasource->SetSourceLocation(source_location); | 3423 datasource->SetSourceLocation(source_location); |
| 3421 } | 3424 } |
| 3422 | 3425 |
| 3423 // Create the serviceworker's per-document network observing object if it | 3426 // Create the serviceworker's per-document network observing object if it |
| 3424 // does not exist (When navigation happens within a page, the provider already | 3427 // does not exist (When navigation happens within a page, the provider already |
| 3425 // exists). | 3428 // exists). |
| 3426 if (datasource->GetServiceWorkerNetworkProvider()) | 3429 if (datasource->GetServiceWorkerNetworkProvider()) |
| 3427 return; | 3430 return; |
| 3428 | 3431 |
| 3432 if (ServiceWorkerUtils::IsServicificationEnabled()) { | |
| 3433 // Disable interception via ServiceWorkerNetworkProvider if | |
| 3434 // servicification is enabled. | |
| 3435 return; | |
| 3436 } | |
| 3437 | |
| 3429 datasource->SetServiceWorkerNetworkProvider( | 3438 datasource->SetServiceWorkerNetworkProvider( |
| 3430 ServiceWorkerNetworkProvider::CreateForNavigation( | 3439 ServiceWorkerNetworkProvider::CreateForNavigation( |
| 3431 routing_id_, navigation_state->request_params(), frame, | 3440 routing_id_, navigation_state->request_params(), frame, |
| 3432 content_initiated)); | 3441 content_initiated)); |
| 3433 } | 3442 } |
| 3434 | 3443 |
| 3435 void RenderFrameImpl::DidStartProvisionalLoad(blink::WebDataSource* data_source, | 3444 void RenderFrameImpl::DidStartProvisionalLoad(blink::WebDataSource* data_source, |
| 3436 blink::WebURLRequest& request) { | 3445 blink::WebURLRequest& request) { |
| 3437 // In fast/loader/stop-provisional-loads.html, we abort the load before this | 3446 // In fast/loader/stop-provisional-loads.html, we abort the load before this |
| 3438 // callback is invoked. | 3447 // callback is invoked. |
| (...skipping 3403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6842 policy(info.default_policy), | 6851 policy(info.default_policy), |
| 6843 replaces_current_history_item(info.replaces_current_history_item), | 6852 replaces_current_history_item(info.replaces_current_history_item), |
| 6844 history_navigation_in_new_child_frame( | 6853 history_navigation_in_new_child_frame( |
| 6845 info.is_history_navigation_in_new_child_frame), | 6854 info.is_history_navigation_in_new_child_frame), |
| 6846 client_redirect(info.is_client_redirect), | 6855 client_redirect(info.is_client_redirect), |
| 6847 cache_disabled(info.is_cache_disabled), | 6856 cache_disabled(info.is_cache_disabled), |
| 6848 form(info.form), | 6857 form(info.form), |
| 6849 source_location(info.source_location) {} | 6858 source_location(info.source_location) {} |
| 6850 | 6859 |
| 6851 } // namespace content | 6860 } // namespace content |
| OLD | NEW |