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

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

Issue 2105503002: Skip foreign fetch when the skipServiceWorker flag is set on a request. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add comments explaing why skip is set to ::Controlling for fallback requests Created 4 years, 5 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
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 4024 matching lines...) Expand 10 before | Expand all | Expand 10 after
4035 provider_id = provider->provider_id(); 4035 provider_id = provider->provider_id();
4036 } 4036 }
4037 } else if (frame->dataSource()) { 4037 } else if (frame->dataSource()) {
4038 ServiceWorkerNetworkProvider* provider = 4038 ServiceWorkerNetworkProvider* provider =
4039 ServiceWorkerNetworkProvider::FromDocumentState( 4039 ServiceWorkerNetworkProvider::FromDocumentState(
4040 DocumentState::FromDataSource(frame->dataSource())); 4040 DocumentState::FromDataSource(frame->dataSource()));
4041 DCHECK(provider); 4041 DCHECK(provider);
4042 provider_id = provider->provider_id(); 4042 provider_id = provider->provider_id();
4043 // Explicitly set the SkipServiceWorker flag here if the renderer process 4043 // Explicitly set the SkipServiceWorker flag here if the renderer process
4044 // hasn't received SetControllerServiceWorker message. 4044 // hasn't received SetControllerServiceWorker message.
4045 if (!provider->IsControlledByServiceWorker()) 4045 if (!provider->IsControlledByServiceWorker() &&
4046 request.setSkipServiceWorker(true); 4046 request.skipServiceWorker() !=
4047 blink::WebURLRequest::SkipServiceWorker::All)
4048 request.setSkipServiceWorker(
4049 blink::WebURLRequest::SkipServiceWorker::Controlling);
4047 } 4050 }
4048 4051
4049 WebFrame* parent = frame->parent(); 4052 WebFrame* parent = frame->parent();
4050 int parent_routing_id = parent ? GetRoutingIdForFrameOrProxy(parent) : -1; 4053 int parent_routing_id = parent ? GetRoutingIdForFrameOrProxy(parent) : -1;
4051 4054
4052 RequestExtraData* extra_data = new RequestExtraData(); 4055 RequestExtraData* extra_data = new RequestExtraData();
4053 extra_data->set_visibility_state(render_view_->visibilityState()); 4056 extra_data->set_visibility_state(render_view_->visibilityState());
4054 extra_data->set_custom_user_agent(custom_user_agent); 4057 extra_data->set_custom_user_agent(custom_user_agent);
4055 extra_data->set_requested_with(requested_with); 4058 extra_data->set_requested_with(requested_with);
4056 extra_data->set_render_frame_id(routing_id_); 4059 extra_data->set_render_frame_id(routing_id_);
(...skipping 1780 matching lines...) Expand 10 before | Expand all | Expand 10 after
5837 DCHECK(!frame_->parent() || 5840 DCHECK(!frame_->parent() ||
5838 GetRequestContextFrameTypeForWebURLRequest(*request) == 5841 GetRequestContextFrameTypeForWebURLRequest(*request) ==
5839 REQUEST_CONTEXT_FRAME_TYPE_NESTED); 5842 REQUEST_CONTEXT_FRAME_TYPE_NESTED);
5840 5843
5841 Send(new FrameHostMsg_BeginNavigation( 5844 Send(new FrameHostMsg_BeginNavigation(
5842 routing_id_, 5845 routing_id_,
5843 MakeCommonNavigationParams(request, should_replace_current_entry), 5846 MakeCommonNavigationParams(request, should_replace_current_entry),
5844 BeginNavigationParams(GetWebURLRequestHeaders(*request), 5847 BeginNavigationParams(GetWebURLRequestHeaders(*request),
5845 GetLoadFlagsForWebURLRequest(*request), 5848 GetLoadFlagsForWebURLRequest(*request),
5846 request->hasUserGesture(), 5849 request->hasUserGesture(),
5847 request->skipServiceWorker(), 5850 request->skipServiceWorker() !=
5851 blink::WebURLRequest::SkipServiceWorker::None,
5848 GetRequestContextTypeForWebURLRequest(*request)))); 5852 GetRequestContextTypeForWebURLRequest(*request))));
5849 } 5853 }
5850 5854
5851 void RenderFrameImpl::LoadDataURL( 5855 void RenderFrameImpl::LoadDataURL(
5852 const CommonNavigationParams& params, 5856 const CommonNavigationParams& params,
5853 const RequestNavigationParams& request_params, 5857 const RequestNavigationParams& request_params,
5854 WebLocalFrame* frame, 5858 WebLocalFrame* frame,
5855 blink::WebFrameLoadType load_type, 5859 blink::WebFrameLoadType load_type,
5856 blink::WebHistoryItem item_for_history_navigation, 5860 blink::WebHistoryItem item_for_history_navigation,
5857 blink::WebHistoryLoadType history_load_type, 5861 blink::WebHistoryLoadType history_load_type,
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
6309 // event target. Potentially a Pepper plugin will receive the event. 6313 // event target. Potentially a Pepper plugin will receive the event.
6310 // In order to tell whether a plugin gets the last mouse event and which it 6314 // In order to tell whether a plugin gets the last mouse event and which it
6311 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets 6315 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets
6312 // the event, it will notify us via DidReceiveMouseEvent() and set itself as 6316 // the event, it will notify us via DidReceiveMouseEvent() and set itself as
6313 // |pepper_last_mouse_event_target_|. 6317 // |pepper_last_mouse_event_target_|.
6314 pepper_last_mouse_event_target_ = nullptr; 6318 pepper_last_mouse_event_target_ = nullptr;
6315 #endif 6319 #endif
6316 } 6320 }
6317 6321
6318 } // namespace content 6322 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698