| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_PUBLIC_BROWSER_WEB_CONTENTS_OBSERVER_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_OBSERVER_H_ |
| 6 #define CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_OBSERVER_H_ | 6 #define CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_OBSERVER_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 class NavigationEntry; | 28 class NavigationEntry; |
| 29 class NavigationHandle; | 29 class NavigationHandle; |
| 30 class RenderFrameHost; | 30 class RenderFrameHost; |
| 31 class RenderViewHost; | 31 class RenderViewHost; |
| 32 class RenderWidgetHost; | 32 class RenderWidgetHost; |
| 33 class WebContents; | 33 class WebContents; |
| 34 class WebContentsImpl; | 34 class WebContentsImpl; |
| 35 struct AXEventNotificationDetails; | 35 struct AXEventNotificationDetails; |
| 36 struct AXLocationChangeNotificationDetails; | 36 struct AXLocationChangeNotificationDetails; |
| 37 struct FaviconURL; | 37 struct FaviconURL; |
| 38 struct FrameNavigateParams; | |
| 39 struct LoadCommittedDetails; | 38 struct LoadCommittedDetails; |
| 40 struct Referrer; | 39 struct Referrer; |
| 41 struct ResourceRedirectDetails; | 40 struct ResourceRedirectDetails; |
| 42 struct ResourceRequestDetails; | 41 struct ResourceRequestDetails; |
| 43 | 42 |
| 44 // An observer API implemented by classes which are interested in various page | 43 // An observer API implemented by classes which are interested in various page |
| 45 // load events from WebContents. They also get a chance to filter IPC messages. | 44 // load events from WebContents. They also get a chance to filter IPC messages. |
| 46 // | 45 // |
| 47 // Since a WebContents can be a delegate to almost arbitrarily many | 46 // Since a WebContents can be a delegate to almost arbitrarily many |
| 48 // RenderViewHosts, it is important to check in those WebContentsObserver | 47 // RenderViewHosts, it is important to check in those WebContentsObserver |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 // be called multiple times for a given navigation, such as a typed URL | 195 // be called multiple times for a given navigation, such as a typed URL |
| 197 // followed by a cross-process client or server redirect. | 196 // followed by a cross-process client or server redirect. |
| 198 // | 197 // |
| 199 // SOON TO BE DEPRECATED. Use DidStartNavigation instead in PlzNavigate. In | 198 // SOON TO BE DEPRECATED. Use DidStartNavigation instead in PlzNavigate. In |
| 200 // default mode, it is still necessary to override this function to be | 199 // default mode, it is still necessary to override this function to be |
| 201 // notified about a navigation earlier than DidStartProvisionalLoad. This | 200 // notified about a navigation earlier than DidStartProvisionalLoad. This |
| 202 // function will be removed when PlzNavigate is enabled. | 201 // function will be removed when PlzNavigate is enabled. |
| 203 virtual void DidStartNavigationToPendingEntry(const GURL& url, | 202 virtual void DidStartNavigationToPendingEntry(const GURL& url, |
| 204 ReloadType reload_type) {} | 203 ReloadType reload_type) {} |
| 205 | 204 |
| 206 // |render_frame_host| is the RenderFrameHost for which the provisional load | |
| 207 // is happening. | |
| 208 // | |
| 209 // Since the URL validation will strip error URLs, the boolean flag | |
| 210 // |is_error_page| will indicate that the not validated URL was an error page. | |
| 211 // | |
| 212 // Note that during a cross-process navigation, several provisional loads | |
| 213 // can be on-going in parallel. | |
| 214 // | |
| 215 // DEPRECATED. Use DidStartNavigation instead in all cases. | |
| 216 virtual void DidStartProvisionalLoadForFrame( | |
| 217 RenderFrameHost* render_frame_host, | |
| 218 const GURL& validated_url, | |
| 219 bool is_error_page) {} | |
| 220 | |
| 221 // This method is invoked when the provisional load was successfully | |
| 222 // committed. | |
| 223 // | |
| 224 // If the navigation only changed the reference fragment, or was triggered | |
| 225 // using the history API (e.g. window.history.replaceState), we will receive | |
| 226 // this signal without a prior DidStartProvisionalLoadForFrame signal. | |
| 227 // | |
| 228 // DEPRECATED. Use DidFinishNavigation instead in all cases. | |
| 229 virtual void DidCommitProvisionalLoadForFrame( | |
| 230 RenderFrameHost* render_frame_host, | |
| 231 const GURL& url, | |
| 232 ui::PageTransition transition_type) {} | |
| 233 | |
| 234 // This method is invoked when the provisional load failed. | |
| 235 // | |
| 236 // DEPRECATED. Use DidFinishNavigation instead in all cases. | |
| 237 virtual void DidFailProvisionalLoad( | |
| 238 RenderFrameHost* render_frame_host, | |
| 239 const GURL& validated_url, | |
| 240 int error_code, | |
| 241 const base::string16& error_description, | |
| 242 bool was_ignored_by_handler) {} | |
| 243 | |
| 244 // If the provisional load corresponded to the main frame, this method is | |
| 245 // invoked in addition to DidCommitProvisionalLoadForFrame. | |
| 246 // | |
| 247 // DEPRECATED. Use DidFinishNavigation instead in all cases. | |
| 248 virtual void DidNavigateMainFrame( | |
| 249 const LoadCommittedDetails& details, | |
| 250 const FrameNavigateParams& params) {} | |
| 251 | |
| 252 // And regardless of what frame navigated, this method is invoked after | |
| 253 // DidCommitProvisionalLoadForFrame was invoked. | |
| 254 // | |
| 255 // DEPRECATED. Use DidFinishNavigation instead in all cases. | |
| 256 virtual void DidNavigateAnyFrame( | |
| 257 RenderFrameHost* render_frame_host, | |
| 258 const LoadCommittedDetails& details, | |
| 259 const FrameNavigateParams& params) {} | |
| 260 | |
| 261 // Document load events ------------------------------------------------------ | 205 // Document load events ------------------------------------------------------ |
| 262 | 206 |
| 263 // These two methods correspond to the points in time when the spinner of the | 207 // These two methods correspond to the points in time when the spinner of the |
| 264 // tab starts and stops spinning. | 208 // tab starts and stops spinning. |
| 265 virtual void DidStartLoading() {} | 209 virtual void DidStartLoading() {} |
| 266 virtual void DidStopLoading() {} | 210 virtual void DidStopLoading() {} |
| 267 | 211 |
| 268 // This method is invoked once the window.document object of the main frame | 212 // This method is invoked once the window.document object of the main frame |
| 269 // was created. | 213 // was created. |
| 270 virtual void DocumentAvailableInMainFrame() {} | 214 virtual void DocumentAvailableInMainFrame() {} |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 511 void ResetWebContents(); | 455 void ResetWebContents(); |
| 512 | 456 |
| 513 WebContentsImpl* web_contents_; | 457 WebContentsImpl* web_contents_; |
| 514 | 458 |
| 515 DISALLOW_COPY_AND_ASSIGN(WebContentsObserver); | 459 DISALLOW_COPY_AND_ASSIGN(WebContentsObserver); |
| 516 }; | 460 }; |
| 517 | 461 |
| 518 } // namespace content | 462 } // namespace content |
| 519 | 463 |
| 520 #endif // CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_OBSERVER_H_ | 464 #endif // CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_OBSERVER_H_ |
| OLD | NEW |