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

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

Issue 7618016: Additional fixes for prerender/instant + browsing history. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_view.h" 5 #include "content/renderer/render_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 1002 matching lines...) Expand 10 before | Expand all | Expand 10 after
1013 void RenderView::OnScrollFocusedEditableNodeIntoView() { 1013 void RenderView::OnScrollFocusedEditableNodeIntoView() {
1014 WebKit::WebNode node = GetFocusedNode(); 1014 WebKit::WebNode node = GetFocusedNode();
1015 if (!node.isNull()) { 1015 if (!node.isNull()) {
1016 if (IsEditableNode(node)) 1016 if (IsEditableNode(node))
1017 // TODO(varunjain): Change webkit API to scroll a particular node into 1017 // TODO(varunjain): Change webkit API to scroll a particular node into
1018 // view and use that API here instead. 1018 // view and use that API here instead.
1019 webview()->scrollFocusedNodeIntoView(); 1019 webview()->scrollFocusedNodeIntoView();
1020 } 1020 }
1021 } 1021 }
1022 1022
1023 void RenderView::OnSetHistoryLengthAndClear(int history_length) { 1023 void RenderView::OnSetHistoryLengthAndClear(int history_length, int32 page_id) {
1024 DCHECK(history_length >= 0); 1024 DCHECK(history_length >= 0);
1025 1025
1026 if (page_id >= 0) {
1027 // It's possible that the underlying page could have done navigation
1028 // at this point, which this isn't prepared for.
1029 // TODO(cbentzel): Send a message to the browser? There will be a
1030 // mismatch between NavigationController and RenderView here.
1031 if (page_id_ != page_id) {
Charlie Reis 2011/08/11 20:49:24 Dropping this message doesn't seem like the right
1032 return;
1033 }
1034 } else {
1035 // The prerendered page could have been swapped after the initial Navigate
1036 // message is sent but prior to the commit of the provisional load being
1037 // done, and sent to the browser. In that case, we can't validate so
1038 // use the current one.
1039 DCHECK(page_id == -1);
Charlie Reis 2011/08/11 20:49:24 I'm wondering if this whole block would be clearer
1040 }
1041
1026 // history_list_length_ may be 0 if this is called between 1042 // history_list_length_ may be 0 if this is called between
1027 // a navigate and a commit of the provisional load. Otherwise, 1043 // a navigate and a commit of the provisional load. Otherwise,
1028 // only add one entry, regardless of how long the current history is. 1044 // only add one entry, regardless of how long the current history is.
1029 // TODO(cbentzel): Investigate what happens if a prerendered page 1045 // TODO(cbentzel): Investigate what happens if a prerendered page
1030 // navigates to several entries before it is swapped in. Cropping 1046 // navigates to several entries before it is swapped in. Cropping
1031 // those may be a bad idea. 1047 // those may be a bad idea.
1032 int new_history_list_length = history_length; 1048 int new_history_list_length = history_length;
1033 if (history_list_length_ > 0) 1049 if (history_list_length_ > 0)
1034 ++new_history_list_length; 1050 ++new_history_list_length;
1035 1051
(...skipping 3448 matching lines...) Expand 10 before | Expand all | Expand 10 after
4484 } 4500 }
4485 #endif 4501 #endif
4486 4502
4487 void RenderView::OnContextMenuClosed( 4503 void RenderView::OnContextMenuClosed(
4488 const webkit_glue::CustomContextMenuContext& custom_context) { 4504 const webkit_glue::CustomContextMenuContext& custom_context) {
4489 if (custom_context.is_pepper_menu) 4505 if (custom_context.is_pepper_menu)
4490 pepper_delegate_.OnContextMenuClosed(custom_context); 4506 pepper_delegate_.OnContextMenuClosed(custom_context);
4491 else 4507 else
4492 context_menu_node_.reset(); 4508 context_menu_node_.reset();
4493 } 4509 }
OLDNEW
« content/common/view_messages.h ('K') | « content/renderer/render_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698