Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(395)

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 2931033005: Small fixes for Servicified SW code path (Closed)
Patch Set: . Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/common/service_worker/service_worker_utils.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « content/common/service_worker/service_worker_utils.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698