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 1569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1580 IPC_MESSAGE_HANDLER(FrameMsg_SetFrameOwnerProperties, | 1580 IPC_MESSAGE_HANDLER(FrameMsg_SetFrameOwnerProperties, |
| 1581 OnSetFrameOwnerProperties) | 1581 OnSetFrameOwnerProperties) |
| 1582 IPC_MESSAGE_HANDLER(FrameMsg_AdvanceFocus, OnAdvanceFocus) | 1582 IPC_MESSAGE_HANDLER(FrameMsg_AdvanceFocus, OnAdvanceFocus) |
| 1583 IPC_MESSAGE_HANDLER(FrameMsg_SetFocusedFrame, OnSetFocusedFrame) | 1583 IPC_MESSAGE_HANDLER(FrameMsg_SetFocusedFrame, OnSetFocusedFrame) |
| 1584 IPC_MESSAGE_HANDLER(FrameMsg_SetTextTrackSettings, | 1584 IPC_MESSAGE_HANDLER(FrameMsg_SetTextTrackSettings, |
| 1585 OnTextTrackSettingsChanged) | 1585 OnTextTrackSettingsChanged) |
| 1586 IPC_MESSAGE_HANDLER(FrameMsg_PostMessageEvent, OnPostMessageEvent) | 1586 IPC_MESSAGE_HANDLER(FrameMsg_PostMessageEvent, OnPostMessageEvent) |
| 1587 IPC_MESSAGE_HANDLER(FrameMsg_FailedNavigation, OnFailedNavigation) | 1587 IPC_MESSAGE_HANDLER(FrameMsg_FailedNavigation, OnFailedNavigation) |
| 1588 IPC_MESSAGE_HANDLER(FrameMsg_ReportContentSecurityPolicyViolation, | 1588 IPC_MESSAGE_HANDLER(FrameMsg_ReportContentSecurityPolicyViolation, |
| 1589 OnReportContentSecurityPolicyViolation) | 1589 OnReportContentSecurityPolicyViolation) |
| 1590 IPC_MESSAGE_HANDLER(FrameMsg_DroppedNavigation, OnDroppedNavigation) | |
| 1590 IPC_MESSAGE_HANDLER(FrameMsg_GetSavableResourceLinks, | 1591 IPC_MESSAGE_HANDLER(FrameMsg_GetSavableResourceLinks, |
| 1591 OnGetSavableResourceLinks) | 1592 OnGetSavableResourceLinks) |
| 1592 IPC_MESSAGE_HANDLER(FrameMsg_GetSerializedHtmlWithLocalLinks, | 1593 IPC_MESSAGE_HANDLER(FrameMsg_GetSerializedHtmlWithLocalLinks, |
| 1593 OnGetSerializedHtmlWithLocalLinks) | 1594 OnGetSerializedHtmlWithLocalLinks) |
| 1594 IPC_MESSAGE_HANDLER(FrameMsg_SerializeAsMHTML, OnSerializeAsMHTML) | 1595 IPC_MESSAGE_HANDLER(FrameMsg_SerializeAsMHTML, OnSerializeAsMHTML) |
| 1595 IPC_MESSAGE_HANDLER(FrameMsg_Find, OnFind) | 1596 IPC_MESSAGE_HANDLER(FrameMsg_Find, OnFind) |
| 1596 IPC_MESSAGE_HANDLER(FrameMsg_ClearActiveFindMatch, OnClearActiveFindMatch) | 1597 IPC_MESSAGE_HANDLER(FrameMsg_ClearActiveFindMatch, OnClearActiveFindMatch) |
| 1597 IPC_MESSAGE_HANDLER(FrameMsg_StopFinding, OnStopFinding) | 1598 IPC_MESSAGE_HANDLER(FrameMsg_StopFinding, OnStopFinding) |
| 1598 IPC_MESSAGE_HANDLER(FrameMsg_EnableViewSourceMode, OnEnableViewSourceMode) | 1599 IPC_MESSAGE_HANDLER(FrameMsg_EnableViewSourceMode, OnEnableViewSourceMode) |
| 1599 IPC_MESSAGE_HANDLER(FrameMsg_SuppressFurtherDialogs, | 1600 IPC_MESSAGE_HANDLER(FrameMsg_SuppressFurtherDialogs, |
| (...skipping 2482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4082 | 4083 |
| 4083 void RenderFrameImpl::dispatchLoad() { | 4084 void RenderFrameImpl::dispatchLoad() { |
| 4084 Send(new FrameHostMsg_DispatchLoad(routing_id_)); | 4085 Send(new FrameHostMsg_DispatchLoad(routing_id_)); |
| 4085 } | 4086 } |
| 4086 | 4087 |
| 4087 blink::WebEffectiveConnectionType | 4088 blink::WebEffectiveConnectionType |
| 4088 RenderFrameImpl::getEffectiveConnectionType() { | 4089 RenderFrameImpl::getEffectiveConnectionType() { |
| 4089 return effective_connection_type_; | 4090 return effective_connection_type_; |
| 4090 } | 4091 } |
| 4091 | 4092 |
| 4093 void RenderFrameImpl::abortClientNavigation() { | |
| 4094 Send(new FrameHostMsg_AbortNavigation(routing_id_)); | |
| 4095 } | |
| 4096 | |
| 4092 void RenderFrameImpl::didChangeSelection(bool is_empty_selection) { | 4097 void RenderFrameImpl::didChangeSelection(bool is_empty_selection) { |
| 4093 if (!GetRenderWidget()->input_handler().handling_input_event() && | 4098 if (!GetRenderWidget()->input_handler().handling_input_event() && |
| 4094 !handling_select_range_) | 4099 !handling_select_range_) |
| 4095 return; | 4100 return; |
| 4096 | 4101 |
| 4097 if (is_empty_selection) | 4102 if (is_empty_selection) |
| 4098 selection_text_.clear(); | 4103 selection_text_.clear(); |
| 4099 | 4104 |
| 4100 // UpdateTextInputState should be called before SyncSelectionIfRequired. | 4105 // UpdateTextInputState should be called before SyncSelectionIfRequired. |
| 4101 // UpdateTextInputState may send TextInputStateChanged to notify the focus | 4106 // UpdateTextInputState may send TextInputStateChanged to notify the focus |
| (...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5265 | 5270 |
| 5266 browser_side_navigation_pending_ = false; | 5271 browser_side_navigation_pending_ = false; |
| 5267 } | 5272 } |
| 5268 | 5273 |
| 5269 void RenderFrameImpl::OnReportContentSecurityPolicyViolation( | 5274 void RenderFrameImpl::OnReportContentSecurityPolicyViolation( |
| 5270 const content::CSPViolationParams& violation_params) { | 5275 const content::CSPViolationParams& violation_params) { |
| 5271 frame_->reportContentSecurityPolicyViolation( | 5276 frame_->reportContentSecurityPolicyViolation( |
| 5272 BuildWebContentSecurityPolicyViolation(violation_params)); | 5277 BuildWebContentSecurityPolicyViolation(violation_params)); |
| 5273 } | 5278 } |
| 5274 | 5279 |
| 5280 void RenderFrameImpl::OnDroppedNavigation(int navigation_id) { | |
| 5281 // Check that the navigation dropped was the last one sent to the browser | |
| 5282 // process. If not, do nothing as the browser process still has some more | |
| 5283 // navigations to process. | |
| 5284 if (navigation_id != navigation_id_) | |
| 5285 return; | |
| 5286 browser_side_navigation_pending_ = false; | |
| 5287 frame_->clientDroppedNavigation(); | |
|
Charlie Reis
2017/03/20 06:34:44
Why does this code need to wait until we hear back
clamy
2017/03/20 14:56:22
The patch is fixing two issues: the first one is c
Charlie Reis
2017/03/20 23:02:49
Right.
| |
| 5288 } | |
| 5289 | |
| 5275 WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation( | 5290 WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation( |
| 5276 const NavigationPolicyInfo& info) { | 5291 const NavigationPolicyInfo& info) { |
| 5277 // A content initiated navigation may have originated from a link-click, | 5292 // A content initiated navigation may have originated from a link-click, |
| 5278 // script, drag-n-drop operation, etc. | 5293 // script, drag-n-drop operation, etc. |
| 5279 // info.extraData is only non-null if this is a redirect. Use the extraData | 5294 // info.extraData is only non-null if this is a redirect. Use the extraData |
| 5280 // initiation information for redirects, and check pending_navigation_params_ | 5295 // initiation information for redirects, and check pending_navigation_params_ |
| 5281 // otherwise. | 5296 // otherwise. |
| 5282 bool is_content_initiated = | 5297 bool is_content_initiated = |
| 5283 info.extraData | 5298 info.extraData |
| 5284 ? static_cast<DocumentState*>(info.extraData) | 5299 ? static_cast<DocumentState*>(info.extraData) |
| (...skipping 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6346 net::LOAD_ONLY_FROM_CACHE | net::LOAD_DISABLE_CACHE); | 6361 net::LOAD_ONLY_FROM_CACHE | net::LOAD_DISABLE_CACHE); |
| 6347 load_flags |= net::LOAD_BYPASS_CACHE; | 6362 load_flags |= net::LOAD_BYPASS_CACHE; |
| 6348 } | 6363 } |
| 6349 BeginNavigationParams begin_navigation_params( | 6364 BeginNavigationParams begin_navigation_params( |
| 6350 GetWebURLRequestHeaders(info.urlRequest), load_flags, | 6365 GetWebURLRequestHeaders(info.urlRequest), load_flags, |
| 6351 info.urlRequest.hasUserGesture(), | 6366 info.urlRequest.hasUserGesture(), |
| 6352 info.urlRequest.getServiceWorkerMode() != | 6367 info.urlRequest.getServiceWorkerMode() != |
| 6353 blink::WebURLRequest::ServiceWorkerMode::All, | 6368 blink::WebURLRequest::ServiceWorkerMode::All, |
| 6354 GetRequestContextTypeForWebURLRequest(info.urlRequest), | 6369 GetRequestContextTypeForWebURLRequest(info.urlRequest), |
| 6355 GetMixedContentContextTypeForWebURLRequest(info.urlRequest), | 6370 GetMixedContentContextTypeForWebURLRequest(info.urlRequest), |
| 6356 initiator_origin); | 6371 initiator_origin, ++navigation_id_); |
| 6357 | 6372 |
| 6358 if (!info.form.isNull()) { | 6373 if (!info.form.isNull()) { |
| 6359 WebSearchableFormData web_searchable_form_data(info.form); | 6374 WebSearchableFormData web_searchable_form_data(info.form); |
| 6360 begin_navigation_params.searchable_form_url = | 6375 begin_navigation_params.searchable_form_url = |
| 6361 web_searchable_form_data.url(); | 6376 web_searchable_form_data.url(); |
| 6362 begin_navigation_params.searchable_form_encoding = | 6377 begin_navigation_params.searchable_form_encoding = |
| 6363 web_searchable_form_data.encoding().utf8(); | 6378 web_searchable_form_data.encoding().utf8(); |
| 6364 } | 6379 } |
| 6365 | 6380 |
| 6366 if (info.isClientRedirect) | 6381 if (info.isClientRedirect) |
| (...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6912 // event target. Potentially a Pepper plugin will receive the event. | 6927 // event target. Potentially a Pepper plugin will receive the event. |
| 6913 // In order to tell whether a plugin gets the last mouse event and which it | 6928 // In order to tell whether a plugin gets the last mouse event and which it |
| 6914 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets | 6929 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets |
| 6915 // the event, it will notify us via DidReceiveMouseEvent() and set itself as | 6930 // the event, it will notify us via DidReceiveMouseEvent() and set itself as |
| 6916 // |pepper_last_mouse_event_target_|. | 6931 // |pepper_last_mouse_event_target_|. |
| 6917 pepper_last_mouse_event_target_ = nullptr; | 6932 pepper_last_mouse_event_target_ = nullptr; |
| 6918 #endif | 6933 #endif |
| 6919 } | 6934 } |
| 6920 | 6935 |
| 6921 } // namespace content | 6936 } // namespace content |
| OLD | NEW |