Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / content / browser / frame_host / navigator_delegate.h
index e918277..7d0fac7 100644 (file)
@@ -5,16 +5,23 @@
 #ifndef CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_DELEGATE_H_
 #define CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_DELEGATE_H_
 
+#include "base/strings/string16.h"
 #include "content/public/browser/invalidate_type.h"
 #include "content/public/browser/navigation_controller.h"
+#include "content/public/common/page_transition_types.h"
+
+class GURL;
+struct FrameHostMsg_DidCommitProvisionalLoad_Params;
+struct FrameHostMsg_DidFailProvisionalLoadWithError_Params;
 
 namespace content {
 
-class RenderFrameHost;
+class RenderFrameHostImpl;
+struct LoadCommittedDetails;
 
 // A delegate API used by Navigator to notify its embedder of navigation
 // related events.
-class NavigatorDelegate {
+class CONTENT_EXPORT NavigatorDelegate {
  public:
   // The RenderFrameHost started a provisional load for the frame
   // represented by |render_frame_host|.
@@ -32,11 +39,44 @@ class NavigatorDelegate {
       RenderFrameHostImpl* render_frame_host,
       const FrameHostMsg_DidFailProvisionalLoadWithError_Params& params) {}
 
+  // Document load in |render_frame_host| failed.
+  virtual void DidFailLoadWithError(
+      RenderFrameHostImpl* render_frame_host,
+      int64 frame_id,
+      const GURL& url,
+      bool is_main_frame,
+      int error_code,
+      const base::string16& error_description) {}
+
   // A redirect was processed in |render_frame_host| during a provisional load.
   virtual void DidRedirectProvisionalLoad(
       RenderFrameHostImpl* render_frame_host,
       const GURL& validated_target_url) {}
 
+  // A navigation was committed in |render_frame_host|.
+  virtual void DidCommitProvisionalLoad(
+      int64 frame_id,
+      const base::string16& frame_unique_name,
+      bool is_main_frame,
+      const GURL& url,
+      PageTransition transition_type,
+      RenderFrameHostImpl* render_frame_host) {}
+
+  // Handles post-navigation tasks in navigation AFTER the entry has been
+  // committed to the NavigationController. Note that the NavigationEntry is
+  // not provided since it may be invalid/changed after being committed. The
+  // NavigationController's last committed entry is for this navigation.
+  virtual void DidNavigateMainFramePostCommit(
+      const LoadCommittedDetails& details,
+      const FrameHostMsg_DidCommitProvisionalLoad_Params& params) {}
+  virtual void DidNavigateAnyFramePostCommit(
+      RenderFrameHostImpl* render_frame_host,
+      const LoadCommittedDetails& details,
+      const FrameHostMsg_DidCommitProvisionalLoad_Params& params) {}
+
+  virtual void SetMainFrameMimeType(const std::string& mime_type) {}
+  virtual bool CanOverscrollContent();
+
   // Notification to the Navigator embedder that navigation state has
   // changed. This method corresponds to
   // WebContents::NotifyNavigationStateChanged.