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 2948 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2959 // |report_frame_name_changes| is set (used by <webview>). If needed, this | 2959 // |report_frame_name_changes| is set (used by <webview>). If needed, this |
2960 // can be optimized further by only sending the update if there are any | 2960 // can be optimized further by only sending the update if there are any |
2961 // remote frames in the frame tree, or delaying and batching up IPCs if | 2961 // remote frames in the frame tree, or delaying and batching up IPCs if |
2962 // updates are happening too frequently. | 2962 // updates are happening too frequently. |
2963 if (SiteIsolationPolicy::AreCrossProcessFramesPossible() || | 2963 if (SiteIsolationPolicy::AreCrossProcessFramesPossible() || |
2964 render_view_->renderer_preferences_.report_frame_name_changes) { | 2964 render_view_->renderer_preferences_.report_frame_name_changes) { |
2965 Send(new FrameHostMsg_DidChangeName( | 2965 Send(new FrameHostMsg_DidChangeName( |
2966 routing_id_, base::UTF16ToUTF8(base::StringPiece16(name)), | 2966 routing_id_, base::UTF16ToUTF8(base::StringPiece16(name)), |
2967 base::UTF16ToUTF8(base::StringPiece16(unique_name)))); | 2967 base::UTF16ToUTF8(base::StringPiece16(unique_name)))); |
2968 } | 2968 } |
2969 | |
2970 if (!committed_first_load_) { | |
Charlie Reis
2016/10/01 00:05:12
nit: No braces.
dcheng
2016/10/01 20:25:14
Done.
| |
2971 name_changed_before_first_commit_ = true; | |
2972 } | |
2969 } | 2973 } |
2970 | 2974 |
2971 void RenderFrameImpl::didEnforceInsecureRequestPolicy( | 2975 void RenderFrameImpl::didEnforceInsecureRequestPolicy( |
2972 blink::WebInsecureRequestPolicy policy) { | 2976 blink::WebInsecureRequestPolicy policy) { |
2973 Send(new FrameHostMsg_EnforceInsecureRequestPolicy(routing_id_, policy)); | 2977 Send(new FrameHostMsg_EnforceInsecureRequestPolicy(routing_id_, policy)); |
2974 } | 2978 } |
2975 | 2979 |
2976 void RenderFrameImpl::didUpdateToUniqueOrigin( | 2980 void RenderFrameImpl::didUpdateToUniqueOrigin( |
2977 bool is_potentially_trustworthy_unique_origin) { | 2981 bool is_potentially_trustworthy_unique_origin) { |
2978 Send(new FrameHostMsg_UpdateToUniqueOrigin( | 2982 Send(new FrameHostMsg_UpdateToUniqueOrigin( |
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3344 } | 3348 } |
3345 | 3349 |
3346 void RenderFrameImpl::didCommitProvisionalLoad( | 3350 void RenderFrameImpl::didCommitProvisionalLoad( |
3347 blink::WebLocalFrame* frame, | 3351 blink::WebLocalFrame* frame, |
3348 const blink::WebHistoryItem& item, | 3352 const blink::WebHistoryItem& item, |
3349 blink::WebHistoryCommitType commit_type) { | 3353 blink::WebHistoryCommitType commit_type) { |
3350 TRACE_EVENT2("navigation,rail", "RenderFrameImpl::didCommitProvisionalLoad", | 3354 TRACE_EVENT2("navigation,rail", "RenderFrameImpl::didCommitProvisionalLoad", |
3351 "id", routing_id_, | 3355 "id", routing_id_, |
3352 "url", GetLoadingUrl().possibly_invalid_spec()); | 3356 "url", GetLoadingUrl().possibly_invalid_spec()); |
3353 DCHECK_EQ(frame_, frame); | 3357 DCHECK_EQ(frame_, frame); |
3358 | |
3359 // TODO(dcheng): Remove this UMA once we have enough measurements. | |
3360 if (!committed_first_load_ && !current_history_item_.isNull()) { | |
Charlie Reis
2016/10/01 00:05:12
Why isn't current_history_item_ enough (here and a
dcheng
2016/10/01 20:25:14
I added a comment to try to make the purpose clear
| |
3361 if (!IsMainFrame()) { | |
3362 UMA_HISTOGRAM_BOOLEAN( | |
3363 "SessionRestore.SubFrameUniqueNameChangedBeforeFirstCommit", | |
3364 name_changed_before_first_commit_); | |
3365 } | |
3366 committed_first_load_ = true; | |
3367 } | |
3368 | |
3354 DocumentState* document_state = | 3369 DocumentState* document_state = |
3355 DocumentState::FromDataSource(frame->dataSource()); | 3370 DocumentState::FromDataSource(frame->dataSource()); |
3356 NavigationStateImpl* navigation_state = | 3371 NavigationStateImpl* navigation_state = |
3357 static_cast<NavigationStateImpl*>(document_state->navigation_state()); | 3372 static_cast<NavigationStateImpl*>(document_state->navigation_state()); |
3358 WebURLResponseExtraDataImpl* extra_data = | 3373 WebURLResponseExtraDataImpl* extra_data = |
3359 GetExtraDataFromResponse(frame->dataSource()->response()); | 3374 GetExtraDataFromResponse(frame->dataSource()->response()); |
3360 // Only update the Lo-Fi and effective connection type states for new main | 3375 // Only update the Lo-Fi and effective connection type states for new main |
3361 // frame documents. Subframes inherit from the main frame and should not | 3376 // frame documents. Subframes inherit from the main frame and should not |
3362 // change at commit time. | 3377 // change at commit time. |
3363 if (is_main_frame_ && !navigation_state->WasWithinSamePage()) { | 3378 if (is_main_frame_ && !navigation_state->WasWithinSamePage()) { |
(...skipping 3071 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6435 // event target. Potentially a Pepper plugin will receive the event. | 6450 // event target. Potentially a Pepper plugin will receive the event. |
6436 // In order to tell whether a plugin gets the last mouse event and which it | 6451 // In order to tell whether a plugin gets the last mouse event and which it |
6437 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets | 6452 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets |
6438 // the event, it will notify us via DidReceiveMouseEvent() and set itself as | 6453 // the event, it will notify us via DidReceiveMouseEvent() and set itself as |
6439 // |pepper_last_mouse_event_target_|. | 6454 // |pepper_last_mouse_event_target_|. |
6440 pepper_last_mouse_event_target_ = nullptr; | 6455 pepper_last_mouse_event_target_ = nullptr; |
6441 #endif | 6456 #endif |
6442 } | 6457 } |
6443 | 6458 |
6444 } // namespace content | 6459 } // namespace content |
OLD | NEW |