OLD | NEW |
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_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_H_ |
6 #define CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_H_ |
7 | 7 |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
10 #include "content/browser/frame_host/navigation_handle_impl.h" | 10 #include "content/browser/frame_host/navigation_handle_impl.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 // Returns the NavigationController associated with this Navigator. | 46 // Returns the NavigationController associated with this Navigator. |
47 virtual NavigationController* GetController(); | 47 virtual NavigationController* GetController(); |
48 | 48 |
49 // Notifications coming from the RenderFrameHosts ---------------------------- | 49 // Notifications coming from the RenderFrameHosts ---------------------------- |
50 | 50 |
51 // The RenderFrameHostImpl started a provisional load. | 51 // The RenderFrameHostImpl started a provisional load. |
52 virtual void DidStartProvisionalLoad( | 52 virtual void DidStartProvisionalLoad( |
53 RenderFrameHostImpl* render_frame_host, | 53 RenderFrameHostImpl* render_frame_host, |
54 const GURL& url, | 54 const GURL& url, |
55 const std::vector<GURL>& redirect_chain, | 55 const std::vector<GURL>& redirect_chain, |
56 const base::TimeTicks& navigation_start) {}; | 56 const base::TimeTicks& navigation_start) {} |
57 | 57 |
58 // The RenderFrameHostImpl has failed a provisional load. | 58 // The RenderFrameHostImpl has failed a provisional load. |
59 virtual void DidFailProvisionalLoadWithError( | 59 virtual void DidFailProvisionalLoadWithError( |
60 RenderFrameHostImpl* render_frame_host, | 60 RenderFrameHostImpl* render_frame_host, |
61 const FrameHostMsg_DidFailProvisionalLoadWithError_Params& params) {}; | 61 const FrameHostMsg_DidFailProvisionalLoadWithError_Params& params) {} |
62 | 62 |
63 // The RenderFrameHostImpl has failed to load the document. | 63 // The RenderFrameHostImpl has failed to load the document. |
64 virtual void DidFailLoadWithError( | 64 virtual void DidFailLoadWithError( |
65 RenderFrameHostImpl* render_frame_host, | 65 RenderFrameHostImpl* render_frame_host, |
66 const GURL& url, | 66 const GURL& url, |
67 int error_code, | 67 int error_code, |
68 const base::string16& error_description, | 68 const base::string16& error_description, |
69 bool was_ignored_by_handler) {} | 69 bool was_ignored_by_handler) {} |
70 | 70 |
71 // The RenderFrameHostImpl has committed a navigation. The Navigator is | 71 // The RenderFrameHostImpl has committed a navigation. The Navigator is |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 // The RenderFrameHostImpl has received a request to open a URL with the | 114 // The RenderFrameHostImpl has received a request to open a URL with the |
115 // specified |disposition|. | 115 // specified |disposition|. |
116 virtual void RequestOpenURL( | 116 virtual void RequestOpenURL( |
117 RenderFrameHostImpl* render_frame_host, | 117 RenderFrameHostImpl* render_frame_host, |
118 const GURL& url, | 118 const GURL& url, |
119 bool uses_post, | 119 bool uses_post, |
120 const scoped_refptr<ResourceRequestBodyImpl>& body, | 120 const scoped_refptr<ResourceRequestBodyImpl>& body, |
121 const std::string& extra_headers, | 121 const std::string& extra_headers, |
122 const Referrer& referrer, | 122 const Referrer& referrer, |
123 WindowOpenDisposition disposition, | 123 WindowOpenDisposition disposition, |
124 bool force_new_process_for_new_contents, | |
125 bool should_replace_current_entry, | 124 bool should_replace_current_entry, |
126 bool user_gesture) {} | 125 bool user_gesture) {} |
127 | 126 |
128 // The RenderFrameHostImpl wants to transfer the request to a new renderer. | 127 // The RenderFrameHostImpl wants to transfer the request to a new renderer. |
129 // |redirect_chain| contains any redirect URLs (excluding |url|) that happened | 128 // |redirect_chain| contains any redirect URLs (excluding |url|) that happened |
130 // before the transfer. If |method| is "POST", then |post_body| needs to | 129 // before the transfer. If |method| is "POST", then |post_body| needs to |
131 // specify the request body, otherwise |post_body| should be null. | 130 // specify the request body, otherwise |post_body| should be null. |
132 virtual void RequestTransferURL( | 131 virtual void RequestTransferURL( |
133 RenderFrameHostImpl* render_frame_host, | 132 RenderFrameHostImpl* render_frame_host, |
134 const GURL& url, | 133 const GURL& url, |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 // cancelled. | 168 // cancelled. |
170 virtual void CancelNavigation(FrameTreeNode* frame_tree_node, | 169 virtual void CancelNavigation(FrameTreeNode* frame_tree_node, |
171 bool inform_renderer) {} | 170 bool inform_renderer) {} |
172 | 171 |
173 // Called when the network stack started handling the navigation request | 172 // Called when the network stack started handling the navigation request |
174 // so that the |timestamp| when it happened can be recorded into an histogram. | 173 // so that the |timestamp| when it happened can be recorded into an histogram. |
175 // The |url| is used to verify we're tracking the correct navigation. | 174 // The |url| is used to verify we're tracking the correct navigation. |
176 // TODO(carlosk): once PlzNavigate is the only navigation implementation | 175 // TODO(carlosk): once PlzNavigate is the only navigation implementation |
177 // remove the URL parameter and rename this method to better suit its naming | 176 // remove the URL parameter and rename this method to better suit its naming |
178 // conventions. | 177 // conventions. |
179 virtual void LogResourceRequestTime( | 178 virtual void LogResourceRequestTime(base::TimeTicks timestamp, |
180 base::TimeTicks timestamp, const GURL& url) {}; | 179 const GURL& url) {} |
181 | 180 |
182 // Called to record the time it took to execute the before unload hook for the | 181 // Called to record the time it took to execute the before unload hook for the |
183 // current navigation. | 182 // current navigation. |
184 virtual void LogBeforeUnloadTime( | 183 virtual void LogBeforeUnloadTime( |
185 const base::TimeTicks& renderer_before_unload_start_time, | 184 const base::TimeTicks& renderer_before_unload_start_time, |
186 const base::TimeTicks& renderer_before_unload_end_time) {} | 185 const base::TimeTicks& renderer_before_unload_end_time) {} |
187 | 186 |
188 // Called when a navigation has failed or the response is 204/205 to discard | 187 // Called when a navigation has failed or the response is 204/205 to discard |
189 // the pending entry in order to avoid url spoofs. |expected_pending_entry_id| | 188 // the pending entry in order to avoid url spoofs. |expected_pending_entry_id| |
190 // is the ID of the pending NavigationEntry at the start of the navigation. | 189 // is the ID of the pending NavigationEntry at the start of the navigation. |
191 // With sufficiently bad interleaving of IPCs, this may no longer be the | 190 // With sufficiently bad interleaving of IPCs, this may no longer be the |
192 // pending NavigationEntry, in which case the pending NavigationEntry will not | 191 // pending NavigationEntry, in which case the pending NavigationEntry will not |
193 // be discarded. | 192 // be discarded. |
194 virtual void DiscardPendingEntryIfNeeded(int expected_pending_entry_id) {} | 193 virtual void DiscardPendingEntryIfNeeded(int expected_pending_entry_id) {} |
195 | 194 |
196 protected: | 195 protected: |
197 friend class base::RefCounted<Navigator>; | 196 friend class base::RefCounted<Navigator>; |
198 virtual ~Navigator() {} | 197 virtual ~Navigator() {} |
199 }; | 198 }; |
200 | 199 |
201 } // namespace content | 200 } // namespace content |
202 | 201 |
203 #endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_H_ | 202 #endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_H_ |
OLD | NEW |