Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 7f2172b76eafde1f96ae015c7bbe1a412344aa27..27dda967e316318cfbd812174f6361a0e4bff504 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -59,6 +59,7 @@ |
#include "content/public/renderer/content_renderer_client.h" |
#include "content/public/renderer/context_menu_client.h" |
#include "content/public/renderer/document_state.h" |
+#include "content/public/renderer/history_item_serialization.h" |
#include "content/public/renderer/navigation_state.h" |
#include "content/public/renderer/password_form_conversion_utils.h" |
#include "content/public/renderer/render_view_observer.h" |
@@ -198,7 +199,6 @@ |
#include "webkit/appcache/web_application_cache_host_impl.h" |
#include "webkit/base/file_path_string_conversions.h" |
#include "webkit/dom_storage/dom_storage_types.h" |
-#include "webkit/glue/glue_serialize.h" |
#include "webkit/glue/webdropdata.h" |
#include "webkit/glue/webkit_glue.h" |
#include "webkit/glue/weburlresponse_extradata_impl.h" |
@@ -1227,10 +1227,10 @@ void RenderViewImpl::OnNavigate(const ViewMsg_Navigate_Params& params) { |
frame->reloadWithOverrideURL(params.url, true); |
else |
frame->reload(ignore_cache); |
- } else if (!params.state.empty()) { |
+ } else if (params.page_state.IsValid()) { |
// We must know the page ID of the page we are navigating back to. |
DCHECK_NE(params.page_id, -1); |
- WebHistoryItem item = webkit_glue::HistoryItemFromString(params.state); |
+ WebHistoryItem item = PageStateToHistoryItem(params.page_state); |
if (!item.isNull()) { |
// Ensure we didn't save the swapped out URL in UpdateState, since the |
// browser should never be telling us to navigate to swappedout://. |
@@ -1321,7 +1321,7 @@ bool RenderViewImpl::IsBackForwardToStaleEntry( |
// Make sure this isn't a back/forward to an entry we have already cropped |
// or replaced from our history, before the browser knew about it. If so, |
// a new navigation has committed in the mean time, and we can ignore this. |
- bool is_back_forward = !is_reload && !params.state.empty(); |
+ bool is_back_forward = !is_reload && params.page_state.IsValid(); |
// Note: if the history_list_length_ is 0 for a back/forward, we must be |
// restoring from a previous session. We'll update our state in OnNavigate. |
@@ -1682,13 +1682,12 @@ void RenderViewImpl::UpdateURL(WebFrame* frame) { |
// Make navigation state a part of the FrameNavigate message so that commited |
// entry had it at all times. |
- const WebHistoryItem& item = frame->currentHistoryItem(); |
- if (!item.isNull()) { |
- params.content_state = webkit_glue::HistoryItemToString(item); |
- } else { |
- params.content_state = |
- webkit_glue::CreateHistoryStateForURL(GURL(request.url())); |
+ WebHistoryItem item = frame->currentHistoryItem(); |
+ if (item.isNull()) { |
+ item.initialize(); |
+ item.setURLString(request.url().spec().utf16()); |
brettw
2013/05/23 23:38:39
ugh, hopefully our refactoring can remove the need
|
} |
+ params.page_state = HistoryItemToPageState(item); |
if (!frame->parent()) { |
// Top-level navigation. |
@@ -1853,7 +1852,7 @@ void RenderViewImpl::SendUpdateState(const WebHistoryItem& item) { |
return; |
Send(new ViewHostMsg_UpdateState( |
- routing_id_, page_id_, webkit_glue::HistoryItemToString(item))); |
+ routing_id_, page_id_, HistoryItemToPageState(item))); |
} |
void RenderViewImpl::OpenURL(WebFrame* frame, |
@@ -3300,7 +3299,7 @@ void RenderViewImpl::PopulateDocumentStateFromPending( |
if (IsReload(params)) |
document_state->set_load_type(DocumentState::RELOAD); |
- else if (!params.state.empty()) |
+ else if (params.page_state.IsValid()) |
document_state->set_load_type(DocumentState::HISTORY_LOAD); |
else |
document_state->set_load_type(DocumentState::NORMAL_LOAD); |