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

Unified Diff: content/public/browser/web_contents.h

Issue 8949061: Move a bunch of methods from TabContents into the WebContents interface. This change either moves... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/webkit_browsertest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/public/browser/web_contents.h
===================================================================
--- content/public/browser/web_contents.h (revision 115435)
+++ content/public/browser/web_contents.h (working copy)
@@ -6,20 +6,30 @@
#define CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_H_
#pragma once
+#include "base/basictypes.h"
+#include "base/process_util.h"
#include "base/string16.h"
#include "content/common/content_export.h"
class NavigationController;
class RenderViewHost;
+class RenderViewHostManager;
class RenderWidgetHostView;
+class SiteInstance;
// TODO(jam): of course we will have to rename TabContentsView etc to use
// WebContents.
class TabContentsView;
+class WebUI;
namespace base {
class PropertyBag;
+class TimeTicks;
}
+namespace net {
+struct LoadStateWithParam;
+}
+
namespace content {
class BrowserContext;
@@ -65,6 +75,101 @@
// The TabContentsView will never change and is guaranteed non-NULL.
virtual TabContentsView* GetView() const = 0;
+
+ // Returns the committed WebUI if one exists, otherwise the pending one.
+ // Callers who want to use the pending WebUI for the pending navigation entry
+ // should use GetWebUIForCurrentState instead.
+ virtual WebUI* GetWebUI() const = 0;
+ virtual WebUI* GetCommittedWebUI() const = 0;
+
+ // Tab navigation state ------------------------------------------------------
+
+ // Returns the current navigation properties, which if a navigation is
+ // pending may be provisional (e.g., the navigation could result in a
+ // download, in which case the URL would revert to what it was previously).
+ virtual const string16& GetTitle() const = 0;
+
+ // The max page ID for any page that the current SiteInstance has loaded in
+ // this TabContents. Page IDs are specific to a given SiteInstance and
+ // TabContents, corresponding to a specific RenderView in the renderer.
+ // Page IDs increase with each new page that is loaded by a tab.
+ virtual int32 GetMaxPageID() = 0;
+
+ // The max page ID for any page that the given SiteInstance has loaded in
+ // this TabContents.
+ virtual int32 GetMaxPageIDForSiteInstance(SiteInstance* site_instance) = 0;
+
+ // Returns the SiteInstance associated with the current page.
+ virtual SiteInstance* GetSiteInstance() const = 0;
+
+ // Returns the SiteInstance for the pending navigation, if any. Otherwise
+ // returns the current SiteInstance.
+ virtual SiteInstance* GetPendingSiteInstance() const = 0;
+
+ // Return whether this tab contents is loading a resource.
+ virtual bool IsLoading() const = 0;
+
+ // Returns whether this tab contents is waiting for a first-response for the
+ // main resource of the page.
+ virtual bool IsWaitingForResponse() const = 0;
+
+ // Return the current load state and the URL associated with it.
+ virtual const net::LoadStateWithParam& GetLoadState() const = 0;
+ virtual const string16& GetLoadStateHost() const = 0;
+
+ // Return the upload progress.
+ virtual uint64 GetUploadSize() const = 0;
+ virtual uint64 GetUploadPosition() const = 0;
+
+ // Return the character encoding of the page.
+ virtual const std::string& GetEncoding() const = 0;
+
+ // True if this is a secure page which displayed insecure content.
+ virtual bool DisplayedInsecureContent() const = 0;
+
+ // Internal state ------------------------------------------------------------
+
+ // This flag indicates whether the tab contents is currently being
+ // screenshotted by the DraggedTabController.
+ virtual void SetCapturingContents(bool cap) = 0;
+
+ // Indicates whether this tab should be considered crashed. The setter will
+ // also notify the delegate when the flag is changed.
+ virtual bool IsCrashed() const = 0;
+ virtual void SetIsCrashed(base::TerminationStatus status, int error_code) = 0;
+
+ virtual base::TerminationStatus GetCrashedStatus() const = 0;
+
+ // Whether the tab is in the process of being destroyed.
+ // Added as a tentative work-around for focus related bug #4633. This allows
+ // us not to store focus when a tab is being closed.
+ virtual bool IsBeingDestroyed() const = 0;
+
+ // Convenience method for notifying the delegate of a navigation state
+ // change. See WebContentsDelegate.
+ virtual void NotifyNavigationStateChanged(unsigned changed_flags) = 0;
+
+ // Invoked when the tab contents becomes selected. If you override, be sure
+ // and invoke super's implementation.
+ virtual void DidBecomeSelected() = 0;
+ virtual base::TimeTicks GetLastSelectedTime() const = 0;
+
+ // Invoked when the tab contents becomes hidden.
+ // NOTE: If you override this, call the superclass version too!
+ virtual void WasHidden() = 0;
+
+ // TODO(brettw) document these.
+ virtual void ShowContents() = 0;
+ virtual void HideContents() = 0;
+
+ // Returns true if the before unload and unload listeners need to be
+ // fired. The value of this changes over time. For example, if true and the
+ // before unload listener is executed and allows the user to exit, then this
+ // returns false.
+ virtual bool NeedToFireBeforeUnload() = 0;
+
+ // Expose the render manager for testing.
+ virtual RenderViewHostManager* GetRenderManagerForTesting() = 0;
};
} // namespace content
« no previous file with comments | « content/browser/webkit_browsertest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698