| Index: content/public/browser/web_contents_observer.h
|
| diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h
|
| index 6a2b1acdd7976fa13a5855cae2faa574cabb1530..c4fc6bfab09f1bec85254aee6bb3a71660043333 100644
|
| --- a/content/public/browser/web_contents_observer.h
|
| +++ b/content/public/browser/web_contents_observer.h
|
| @@ -122,8 +122,8 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener,
|
| // Called when a navigation started in the WebContents. |navigation_handle|
|
| // is unique to a specific navigation. The same |navigation_handle| will be
|
| // provided on subsequent calls to
|
| - // DidRedirect/Commit/FinishNavigation/ReadyToCommitNavigation related to
|
| - // this navigation.
|
| + // DidRedirect/FinishNavigation/ReadyToCommitNavigation related to this
|
| + // navigation.
|
| //
|
| // Note that this is fired by navigations in any frame of the WebContents,
|
| // not just the main frame.
|
| @@ -141,22 +141,69 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener,
|
| virtual void DidRedirectNavigation(NavigationHandle* navigation_handle) {}
|
|
|
| // PlzNavigate
|
| - // Called when the navigation is ready to be committed in a renderer. This is
|
| - // the first point in time where a RenderFrameHost is associated with the
|
| - // navigation. Observers that want to initialize any renderer side
|
| - // structures/state before the RenderFrame is navigated, should use this
|
| - // method as opposed to DidCommitNavigation, which is after the fact.
|
| + // Called when the navigation is ready to be committed in a renderer. Most
|
| + // observers should use DidFinishNavigation instead, which happens right
|
| + // after the navigation commits. This method is for observers that want to
|
| + // initialize renderer-side state just before the RenderFrame commits the
|
| + // navigation.
|
| + //
|
| + // This is the first point in time where a RenderFrameHost is associated with
|
| + // the navigation.
|
| virtual void ReadyToCommitNavigation(NavigationHandle* navigation_handle) {}
|
|
|
| - // Called when a navigation was committed.
|
| - virtual void DidCommitNavigation(NavigationHandle* navigation_handle) {}
|
| -
|
| - // Called when a navigation stopped in the WebContents. This happens when a
|
| - // navigation is either aborted, replaced by a new one, or the document load
|
| - // finishes. Note that |navigation_handle| will be destroyed at the end of
|
| - // this call, so do not keep a reference to it afterward.
|
| + // Called when a navigation finished in the WebContents. This happens when a
|
| + // navigation is committed, aborted or replaced by a new one. To know if the
|
| + // navigation has committed, use NavigationHandle::HasCommited; use
|
| + // NavigationHandle::IsErrorPage to know if the navigation resulted in an
|
| + // error page.
|
| + //
|
| + // If this is called because the navigation committed, then the document load
|
| + // will still be ongoing in the RenderFrameHost returned by
|
| + // |navigation_handle|. Use the document loads events such as DidStopLoading
|
| + // and related methods to listen for continued events from this
|
| + // RenderFrameHost.
|
| + //
|
| + // Note that |navigation_handle| will be destroyed at the end of this call,
|
| + // so do not keep a reference to it afterward.
|
| virtual void DidFinishNavigation(NavigationHandle* navigation_handle) {}
|
|
|
| + // Document load events ------------------------------------------------------
|
| +
|
| + // These two methods correspond to the points in time when the spinner of the
|
| + // tab starts and stops spinning.
|
| + virtual void DidStartLoading() {}
|
| + virtual void DidStopLoading() {}
|
| +
|
| + // This method is invoked once the window.document object of the main frame
|
| + // was created.
|
| + virtual void DocumentAvailableInMainFrame() {}
|
| +
|
| + // This method is invoked once the onload handler of the main frame has
|
| + // completed.
|
| + virtual void DocumentOnLoadCompletedInMainFrame() {}
|
| +
|
| + // This method is invoked when the document in the given frame finished
|
| + // loading. At this point, scripts marked as defer were executed, and
|
| + // content scripts marked "document_end" get injected into the frame.
|
| + virtual void DocumentLoadedInFrame(RenderFrameHost* render_frame_host) {}
|
| +
|
| + // This method is invoked when the navigation is done, i.e. the spinner of
|
| + // the tab will stop spinning, and the onload event was dispatched.
|
| + //
|
| + // If the WebContents is displaying replacement content, e.g. network error
|
| + // pages, DidFinishLoad is invoked for frames that were not sending
|
| + // navigational events before. It is safe to ignore these events.
|
| + virtual void DidFinishLoad(RenderFrameHost* render_frame_host,
|
| + const GURL& validated_url) {}
|
| +
|
| + // This method is like DidFinishLoad, but when the load failed or was
|
| + // cancelled, e.g. window.stop() is invoked.
|
| + virtual void DidFailLoad(RenderFrameHost* render_frame_host,
|
| + const GURL& validated_url,
|
| + int error_code,
|
| + const base::string16& error_description,
|
| + bool was_ignored_by_handler) {}
|
| +
|
| // ---------------------------------------------------------------------------
|
|
|
| // This method is invoked after the WebContents decides which RenderFrameHost
|
| @@ -233,36 +280,6 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener,
|
| SecurityStyle security_style,
|
| const SecurityStyleExplanations& security_style_explanations) {}
|
|
|
| - // This method is invoked once the window.document object of the main frame
|
| - // was created.
|
| - virtual void DocumentAvailableInMainFrame() {}
|
| -
|
| - // This method is invoked once the onload handler of the main frame has
|
| - // completed.
|
| - virtual void DocumentOnLoadCompletedInMainFrame() {}
|
| -
|
| - // This method is invoked when the document in the given frame finished
|
| - // loading. At this point, scripts marked as defer were executed, and
|
| - // content scripts marked "document_end" get injected into the frame.
|
| - virtual void DocumentLoadedInFrame(RenderFrameHost* render_frame_host) {}
|
| -
|
| - // This method is invoked when the navigation is done, i.e. the spinner of
|
| - // the tab will stop spinning, and the onload event was dispatched.
|
| - //
|
| - // If the WebContents is displaying replacement content, e.g. network error
|
| - // pages, DidFinishLoad is invoked for frames that were not sending
|
| - // navigational events before. It is safe to ignore these events.
|
| - virtual void DidFinishLoad(RenderFrameHost* render_frame_host,
|
| - const GURL& validated_url) {}
|
| -
|
| - // This method is like DidFinishLoad, but when the load failed or was
|
| - // cancelled, e.g. window.stop() is invoked.
|
| - virtual void DidFailLoad(RenderFrameHost* render_frame_host,
|
| - const GURL& validated_url,
|
| - int error_code,
|
| - const base::string16& error_description,
|
| - bool was_ignored_by_handler) {}
|
| -
|
| // This method is invoked when content was loaded from an in-memory cache.
|
| virtual void DidLoadResourceFromMemoryCache(
|
| const LoadFromMemoryCacheDetails& details) {}
|
| @@ -300,11 +317,6 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener,
|
| // paint after a non-empty layout.
|
| virtual void DidFirstVisuallyNonEmptyPaint() {}
|
|
|
| - // These two methods correspond to the points in time when the spinner of the
|
| - // tab starts and stops spinning.
|
| - virtual void DidStartLoading() {}
|
| - virtual void DidStopLoading() {}
|
| -
|
| // When WebContents::Stop() is called, the WebContents stops loading and then
|
| // invokes this method. If there are ongoing navigations, their respective
|
| // failure methods will also be invoked.
|
|
|