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

Side by Side Diff: content/browser/frame_host/navigator_impl.h

Issue 281653003: DRAFT CL: Add FrameNavigationEntry and track subframe session histories. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 5 years, 9 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
« no previous file with comments | « content/browser/frame_host/navigator.cc ('k') | content/browser/frame_host/navigator_impl.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 #ifndef CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_IMPL_H_ 5 #ifndef CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_IMPL_H_
6 #define CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_IMPL_H_ 6 #define CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_IMPL_H_
7 7
8 #include "base/containers/scoped_ptr_hash_map.h" 8 #include "base/containers/scoped_ptr_hash_map.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 override; 45 override;
46 void DidFailLoadWithError(RenderFrameHostImpl* render_frame_host, 46 void DidFailLoadWithError(RenderFrameHostImpl* render_frame_host,
47 const GURL& url, 47 const GURL& url,
48 int error_code, 48 int error_code,
49 const base::string16& error_description) override; 49 const base::string16& error_description) override;
50 void DidNavigate(RenderFrameHostImpl* render_frame_host, 50 void DidNavigate(RenderFrameHostImpl* render_frame_host,
51 const FrameHostMsg_DidCommitProvisionalLoad_Params& 51 const FrameHostMsg_DidCommitProvisionalLoad_Params&
52 input_params) override; 52 input_params) override;
53 bool NavigateToPendingEntry( 53 bool NavigateToPendingEntry(
54 FrameTreeNode* frame_tree_node, 54 FrameTreeNode* frame_tree_node,
55 const FrameNavigationEntry& frame_nav_entry,
55 NavigationController::ReloadType reload_type) override; 56 NavigationController::ReloadType reload_type) override;
56 void RequestOpenURL(RenderFrameHostImpl* render_frame_host, 57 void RequestOpenURL(RenderFrameHostImpl* render_frame_host,
57 const GURL& url, 58 const GURL& url,
58 SiteInstance* source_site_instance, 59 SiteInstance* source_site_instance,
59 const Referrer& referrer, 60 const Referrer& referrer,
60 WindowOpenDisposition disposition, 61 WindowOpenDisposition disposition,
61 bool should_replace_current_entry, 62 bool should_replace_current_entry,
62 bool user_gesture) override; 63 bool user_gesture) override;
63 void RequestTransferURL(RenderFrameHostImpl* render_frame_host, 64 void RequestTransferURL(RenderFrameHostImpl* render_frame_host,
64 const GURL& url, 65 const GURL& url,
(...skipping 30 matching lines...) Expand all
95 // Holds data used to track browser side navigation metrics. 96 // Holds data used to track browser side navigation metrics.
96 struct NavigationMetricsData; 97 struct NavigationMetricsData;
97 98
98 friend class NavigatorTestWithBrowserSideNavigation; 99 friend class NavigatorTestWithBrowserSideNavigation;
99 ~NavigatorImpl() override; 100 ~NavigatorImpl() override;
100 101
101 // Navigates to the given entry, which must be the pending entry. Private 102 // Navigates to the given entry, which must be the pending entry. Private
102 // because all callers should use NavigateToPendingEntry. 103 // because all callers should use NavigateToPendingEntry.
103 bool NavigateToEntry( 104 bool NavigateToEntry(
104 FrameTreeNode* frame_tree_node, 105 FrameTreeNode* frame_tree_node,
106 const FrameNavigationEntry& frame_nav_entry,
105 const NavigationEntryImpl& entry, 107 const NavigationEntryImpl& entry,
106 NavigationController::ReloadType reload_type); 108 NavigationController::ReloadType reload_type);
107 109
108 bool ShouldAssignSiteForURL(const GURL& url); 110 bool ShouldAssignSiteForURL(const GURL& url);
109 111
110 void CheckWebUIRendererDoesNotDisplayNormalURL( 112 void CheckWebUIRendererDoesNotDisplayNormalURL(
111 RenderFrameHostImpl* render_frame_host, 113 RenderFrameHostImpl* render_frame_host,
112 const GURL& url); 114 const GURL& url);
113 115
114 // PlzNavigate: if needed, sends a BeforeUnload IPC to the renderer to ask it 116 // PlzNavigate: if needed, sends a BeforeUnload IPC to the renderer to ask it
115 // to execute the beforeUnload event. Otherwise, the navigation request will 117 // to execute the beforeUnload event. Otherwise, the navigation request will
116 // be started. 118 // be started.
117 void RequestNavigation(FrameTreeNode* frame_tree_node, 119 void RequestNavigation(FrameTreeNode* frame_tree_node,
120 const FrameNavigationEntry& frame_entry,
118 const NavigationEntryImpl& entry, 121 const NavigationEntryImpl& entry,
119 NavigationController::ReloadType reload_type, 122 NavigationController::ReloadType reload_type,
120 base::TimeTicks navigation_start); 123 base::TimeTicks navigation_start);
121 124
122 // PlzNavigate: sends the NavigationRequest for |frame_tree_node| to the 125 // PlzNavigate: sends the NavigationRequest for |frame_tree_node| to the
123 // network stack so that it can start. 126 // network stack so that it can start.
124 void BeginNavigation(FrameTreeNode* frame_tree_node); 127 void BeginNavigation(FrameTreeNode* frame_tree_node);
125 128
126 void RecordNavigationMetrics( 129 void RecordNavigationMetrics(
127 const LoadCommittedDetails& details, 130 const LoadCommittedDetails& details,
(...skipping 16 matching lines...) Expand all
144 // different FrameTreeNodes, based on the frame_tree_node_id. 147 // different FrameTreeNodes, based on the frame_tree_node_id.
145 typedef base::ScopedPtrHashMap<int64, NavigationRequest> NavigationRequestMap; 148 typedef base::ScopedPtrHashMap<int64, NavigationRequest> NavigationRequestMap;
146 NavigationRequestMap navigation_request_map_; 149 NavigationRequestMap navigation_request_map_;
147 150
148 DISALLOW_COPY_AND_ASSIGN(NavigatorImpl); 151 DISALLOW_COPY_AND_ASSIGN(NavigatorImpl);
149 }; 152 };
150 153
151 } // namespace content 154 } // namespace content
152 155
153 #endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_IMPL_H_ 156 #endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_IMPL_H_
OLDNEW
« no previous file with comments | « content/browser/frame_host/navigator.cc ('k') | content/browser/frame_host/navigator_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698