Fragment navigation should update NavigationState, but not DocumentState.

This is an unhandled corner case from change 110391. It manifests itself as a
DCHECK when a fragment navigation tries to set request_time after the page has
already been loaded. It probably leads to misreported PLT metrics.

BUG=121236
TEST=See bug.


Review URL: http://codereview.chromium.org/10007030

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131203 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index c0d6b48..cacdcb2 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -89,6 +89,7 @@
 
 namespace content {
 class DocumentState;
+class NavigationState;
 class P2PSocketDispatcher;
 class RenderViewObserver;
 class RenderViewTest;
@@ -973,8 +974,11 @@
 
   // If we initiated a navigation, this function will populate |document_state|
   // with the navigation information saved in OnNavigate().
-  void PopulateStateFromPendingNavigationParams(
-      content::DocumentState* document_state);
+  void PopulateDocumentStateFromPending(content::DocumentState* document_state);
+
+  // Returns a new NavigationState populated with the navigation information
+  // saved in OnNavigate().
+  content::NavigationState* CreateNavigationStateFromPending();
 
   // Processes the command-line flags --enable-viewport and
   // --enable-fixed-layout[=w,h].