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

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

Issue 1136553005: Revert of Classify navigations without page id in parallel to the existing classifier. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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/public/test/web_contents_tester.h ('k') | content/renderer/render_view_browsertest.cc » ('j') | 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 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 2667 matching lines...) Expand 10 before | Expand all | Expand 10 after
2678 !navigation_state->start_params().should_replace_current_entry) { 2678 !navigation_state->start_params().should_replace_current_entry) {
2679 // Advance our offset in session history, applying the length limit. 2679 // Advance our offset in session history, applying the length limit.
2680 // There is now no forward history. 2680 // There is now no forward history.
2681 render_view_->history_list_offset_++; 2681 render_view_->history_list_offset_++;
2682 if (render_view_->history_list_offset_ >= kMaxSessionHistoryEntries) 2682 if (render_view_->history_list_offset_ >= kMaxSessionHistoryEntries)
2683 render_view_->history_list_offset_ = kMaxSessionHistoryEntries - 1; 2683 render_view_->history_list_offset_ = kMaxSessionHistoryEntries - 1;
2684 render_view_->history_list_length_ = 2684 render_view_->history_list_length_ =
2685 render_view_->history_list_offset_ + 1; 2685 render_view_->history_list_offset_ + 1;
2686 } 2686 }
2687 } else { 2687 } else {
2688 if (navigation_state->request_params().page_id != -1) { 2688 // Inspect the navigation_state on this frame to see if the navigation
2689 // corresponds to a session history navigation... Note: |frame| may or
2690 // may not be the toplevel frame, but for the case of capturing session
2691 // history, the first committed frame suffices. We keep track of whether
2692 // we've seen this commit before so that only capture session history once
2693 // per navigation.
2694 //
2695 // Note that we need to check if the page ID changed. In the case of a
2696 // reload, the page ID doesn't change, and UpdateSessionHistory gets the
2697 // previous URL and the current page ID, which would be wrong.
2698 if (navigation_state->request_params().page_id != -1 &&
2699 navigation_state->request_params().page_id != render_view_->page_id_) {
2689 // This is a successful session history navigation! 2700 // This is a successful session history navigation!
2690 render_view_->page_id_ = navigation_state->request_params().page_id; 2701 render_view_->page_id_ = navigation_state->request_params().page_id;
2691 2702
2692 render_view_->history_list_offset_ = 2703 render_view_->history_list_offset_ =
2693 navigation_state->request_params().pending_history_list_offset; 2704 navigation_state->request_params().pending_history_list_offset;
2694 } 2705 }
2695 } 2706 }
2696 2707
2697 bool sent = Send( 2708 bool sent = Send(
2698 new FrameHostMsg_DidAssignPageId(routing_id_, render_view_->page_id_)); 2709 new FrameHostMsg_DidAssignPageId(routing_id_, render_view_->page_id_));
(...skipping 1146 matching lines...) Expand 10 before | Expand all | Expand 10 after
3845 DocumentState* document_state = DocumentState::FromDataSource(ds); 3856 DocumentState* document_state = DocumentState::FromDataSource(ds);
3846 NavigationStateImpl* navigation_state = 3857 NavigationStateImpl* navigation_state =
3847 static_cast<NavigationStateImpl*>(document_state->navigation_state()); 3858 static_cast<NavigationStateImpl*>(document_state->navigation_state());
3848 InternalDocumentStateData* internal_data = 3859 InternalDocumentStateData* internal_data =
3849 InternalDocumentStateData::FromDocumentState(document_state); 3860 InternalDocumentStateData::FromDocumentState(document_state);
3850 3861
3851 FrameHostMsg_DidCommitProvisionalLoad_Params params; 3862 FrameHostMsg_DidCommitProvisionalLoad_Params params;
3852 params.http_status_code = response.httpStatusCode(); 3863 params.http_status_code = response.httpStatusCode();
3853 params.url_is_unreachable = ds->hasUnreachableURL(); 3864 params.url_is_unreachable = ds->hasUnreachableURL();
3854 params.is_post = false; 3865 params.is_post = false;
3855 params.intended_as_new_entry =
3856 navigation_state->request_params().intended_as_new_entry;
3857 params.did_create_new_entry = commit_type == blink::WebStandardCommit;
3858 params.post_id = -1; 3866 params.post_id = -1;
3859 params.page_id = render_view_->page_id_; 3867 params.page_id = render_view_->page_id_;
3860 params.nav_entry_id = navigation_state->request_params().nav_entry_id;
3861 // We need to track the RenderViewHost routing_id because of downstream 3868 // We need to track the RenderViewHost routing_id because of downstream
3862 // dependencies (crbug.com/392171 DownloadRequestHandle, SaveFileManager, 3869 // dependencies (crbug.com/392171 DownloadRequestHandle, SaveFileManager,
3863 // ResourceDispatcherHostImpl, MediaStreamUIProxy, 3870 // ResourceDispatcherHostImpl, MediaStreamUIProxy,
3864 // SpeechRecognitionDispatcherHost and possibly others). They look up the view 3871 // SpeechRecognitionDispatcherHost and possibly others). They look up the view
3865 // based on the ID stored in the resource requests. Once those dependencies 3872 // based on the ID stored in the resource requests. Once those dependencies
3866 // are unwound or moved to RenderFrameHost (crbug.com/304341) we can move the 3873 // are unwound or moved to RenderFrameHost (crbug.com/304341) we can move the
3867 // client to be based on the routing_id of the RenderFrameHost. 3874 // client to be based on the routing_id of the RenderFrameHost.
3868 params.render_view_routing_id = render_view_->routing_id(); 3875 params.render_view_routing_id = render_view_->routing_id();
3869 params.socket_address.set_host(response.remoteIPAddress().utf8()); 3876 params.socket_address.set_host(response.remoteIPAddress().utf8());
3870 params.socket_address.set_port(response.remotePort()); 3877 params.socket_address.set_port(response.remotePort());
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after
4454 if (reload_original_url) 4461 if (reload_original_url)
4455 frame_->reloadWithOverrideURL(common_params.url, true); 4462 frame_->reloadWithOverrideURL(common_params.url, true);
4456 else 4463 else
4457 frame_->reload(ignore_cache); 4464 frame_->reload(ignore_cache);
4458 } else if (is_history_navigation && !browser_side_navigation) { 4465 } else if (is_history_navigation && !browser_side_navigation) {
4459 // TODO(clamy): adapt this code for PlzNavigate. In particular the stream 4466 // TODO(clamy): adapt this code for PlzNavigate. In particular the stream
4460 // override should be given to the generated request. 4467 // override should be given to the generated request.
4461 4468
4462 // We must know the page ID of the page we are navigating back to. 4469 // We must know the page ID of the page we are navigating back to.
4463 DCHECK_NE(request_params.page_id, -1); 4470 DCHECK_NE(request_params.page_id, -1);
4464 // We must know the nav entry ID of the page we are navigating back to,
4465 // which should be the case because history navigations are routed via the
4466 // browser.
4467 DCHECK_NE(0, request_params.nav_entry_id);
4468 scoped_ptr<HistoryEntry> entry = 4471 scoped_ptr<HistoryEntry> entry =
4469 PageStateToHistoryEntry(request_params.page_state); 4472 PageStateToHistoryEntry(request_params.page_state);
4470 if (entry) { 4473 if (entry) {
4471 // Ensure we didn't save the swapped out URL in UpdateState, since the 4474 // Ensure we didn't save the swapped out URL in UpdateState, since the
4472 // browser should never be telling us to navigate to swappedout://. 4475 // browser should never be telling us to navigate to swappedout://.
4473 CHECK(entry->root().urlString() != WebString::fromUTF8(kSwappedOutURL)); 4476 CHECK(entry->root().urlString() != WebString::fromUTF8(kSwappedOutURL));
4474 scoped_ptr<NavigationParams> navigation_params( 4477 scoped_ptr<NavigationParams> navigation_params(
4475 new NavigationParams(*pending_navigation_params_.get())); 4478 new NavigationParams(*pending_navigation_params_.get()));
4476 render_view_->history_controller()->GoToEntry( 4479 render_view_->history_controller()->GoToEntry(
4477 entry.Pass(), navigation_params.Pass(), cache_policy); 4480 entry.Pass(), navigation_params.Pass(), cache_policy);
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
4929 #elif defined(ENABLE_BROWSER_CDMS) 4932 #elif defined(ENABLE_BROWSER_CDMS)
4930 cdm_manager_, 4933 cdm_manager_,
4931 #endif 4934 #endif
4932 this); 4935 this);
4933 } 4936 }
4934 4937
4935 return cdm_factory_; 4938 return cdm_factory_;
4936 } 4939 }
4937 4940
4938 } // namespace content 4941 } // namespace content
OLDNEW
« no previous file with comments | « content/public/test/web_contents_tester.h ('k') | content/renderer/render_view_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698