| 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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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()); |
| 2975 if (!provider) { |
| 2976 DCHECK(ServiceWorkerUtils::IsServicificationEnabled()); |
| 2977 return nullptr; |
| 2978 } |
| 2972 if (!provider->context()) { | 2979 if (!provider->context()) { |
| 2973 // The context can be null when the frame is sandboxed. | 2980 // The context can be null when the frame is sandboxed. |
| 2974 return nullptr; | 2981 return nullptr; |
| 2975 } | 2982 } |
| 2976 return base::MakeUnique<WebServiceWorkerProviderImpl>( | 2983 return base::MakeUnique<WebServiceWorkerProviderImpl>( |
| 2977 ChildThreadImpl::current()->thread_safe_sender(), provider->context()); | 2984 ChildThreadImpl::current()->thread_safe_sender(), provider->context()); |
| 2978 } | 2985 } |
| 2979 | 2986 |
| 2980 service_manager::InterfaceProvider* RenderFrameImpl::GetInterfaceProvider() { | 2987 service_manager::InterfaceProvider* RenderFrameImpl::GetInterfaceProvider() { |
| 2981 DCHECK(remote_interfaces_); | 2988 DCHECK(remote_interfaces_); |
| (...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3419 navigation_state->common_params().source_location->column_number; | 3426 navigation_state->common_params().source_location->column_number; |
| 3420 datasource->SetSourceLocation(source_location); | 3427 datasource->SetSourceLocation(source_location); |
| 3421 } | 3428 } |
| 3422 | 3429 |
| 3423 // Create the serviceworker's per-document network observing object if it | 3430 // Create the serviceworker's per-document network observing object if it |
| 3424 // does not exist (When navigation happens within a page, the provider already | 3431 // does not exist (When navigation happens within a page, the provider already |
| 3425 // exists). | 3432 // exists). |
| 3426 if (datasource->GetServiceWorkerNetworkProvider()) | 3433 if (datasource->GetServiceWorkerNetworkProvider()) |
| 3427 return; | 3434 return; |
| 3428 | 3435 |
| 3436 if (ServiceWorkerUtils::IsServicificationEnabled()) { |
| 3437 // Disable interception via ServiceWorkerNetworkProvider if |
| 3438 // servicification is enabled. |
| 3439 return; |
| 3440 } |
| 3441 |
| 3429 datasource->SetServiceWorkerNetworkProvider( | 3442 datasource->SetServiceWorkerNetworkProvider( |
| 3430 ServiceWorkerNetworkProvider::CreateForNavigation( | 3443 ServiceWorkerNetworkProvider::CreateForNavigation( |
| 3431 routing_id_, navigation_state->request_params(), frame, | 3444 routing_id_, navigation_state->request_params(), frame, |
| 3432 content_initiated)); | 3445 content_initiated)); |
| 3433 } | 3446 } |
| 3434 | 3447 |
| 3435 void RenderFrameImpl::DidStartProvisionalLoad(blink::WebDataSource* data_source, | 3448 void RenderFrameImpl::DidStartProvisionalLoad(blink::WebDataSource* data_source, |
| 3436 blink::WebURLRequest& request) { | 3449 blink::WebURLRequest& request) { |
| 3437 // In fast/loader/stop-provisional-loads.html, we abort the load before this | 3450 // In fast/loader/stop-provisional-loads.html, we abort the load before this |
| 3438 // callback is invoked. | 3451 // callback is invoked. |
| (...skipping 3403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6842 policy(info.default_policy), | 6855 policy(info.default_policy), |
| 6843 replaces_current_history_item(info.replaces_current_history_item), | 6856 replaces_current_history_item(info.replaces_current_history_item), |
| 6844 history_navigation_in_new_child_frame( | 6857 history_navigation_in_new_child_frame( |
| 6845 info.is_history_navigation_in_new_child_frame), | 6858 info.is_history_navigation_in_new_child_frame), |
| 6846 client_redirect(info.is_client_redirect), | 6859 client_redirect(info.is_client_redirect), |
| 6847 cache_disabled(info.is_cache_disabled), | 6860 cache_disabled(info.is_cache_disabled), |
| 6848 form(info.form), | 6861 form(info.form), |
| 6849 source_location(info.source_location) {} | 6862 source_location(info.source_location) {} |
| 6850 | 6863 |
| 6851 } // namespace content | 6864 } // namespace content |
| OLD | NEW |