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

Unified Diff: content/browser/tab_contents/tab_contents.h

Issue 10054012: TabContents -> WebContentsImpl, part 7. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: DEPS Created 8 years, 8 months 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/ssl/ssl_policy.cc ('k') | content/browser/tab_contents/tab_contents.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/tab_contents/tab_contents.h
diff --git a/content/browser/tab_contents/tab_contents.h b/content/browser/tab_contents/tab_contents.h
deleted file mode 100644
index cf0b362176bf3e91de5d34678f461655feffc1c6..0000000000000000000000000000000000000000
--- a/content/browser/tab_contents/tab_contents.h
+++ /dev/null
@@ -1,698 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CONTENT_BROWSER_TAB_CONTENTS_TAB_CONTENTS_H_
-#define CONTENT_BROWSER_TAB_CONTENTS_TAB_CONTENTS_H_
-#pragma once
-
-#include <map>
-#include <string>
-
-#include "base/compiler_specific.h"
-#include "base/gtest_prod_util.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/observer_list.h"
-#include "base/property_bag.h"
-#include "content/browser/browser_plugin/browser_plugin_web_contents_observer.h"
-#include "content/browser/renderer_host/java/java_bridge_dispatcher_host_manager.h"
-#include "content/browser/web_contents/navigation_controller_impl.h"
-#include "content/browser/web_contents/render_view_host_manager.h"
-#include "content/common/content_export.h"
-#include "content/public/browser/render_view_host_delegate.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/common/renderer_preferences.h"
-#include "net/base/load_states.h"
-#include "ui/gfx/size.h"
-#include "webkit/glue/resource_type.h"
-
-#if defined(OS_WIN)
-#include "base/win/scoped_handle.h"
-#endif
-
-class InterstitialPageImpl;
-class SavePackage;
-class SessionStorageNamespaceImpl;
-struct ViewHostMsg_DidFailProvisionalLoadWithError_Params;
-
-namespace content {
-class ColorChooser;
-class DownloadItem;
-class JavaScriptDialogCreator;
-class RenderViewHost;
-class RenderViewHostImpl;
-class SiteInstance;
-class TestWebContents;
-class WebContentsDelegate;
-class WebContentsObserver;
-class WebContentsView;
-struct LoadNotificationDetails;
-}
-
-namespace webkit_glue {
-struct WebIntentData;
-}
-
-class CONTENT_EXPORT WebContentsImpl
- : public NON_EXPORTED_BASE(content::WebContents),
- public content::RenderViewHostDelegate,
- public RenderViewHostManager::Delegate {
- public:
- // See WebContents::Create for a description of these parameters.
- WebContentsImpl(content::BrowserContext* browser_context,
- content::SiteInstance* site_instance,
- int routing_id,
- const WebContentsImpl* base_web_contents,
- SessionStorageNamespaceImpl* session_storage_namespace);
- virtual ~WebContentsImpl();
-
- // Returns the content specific prefs for the given RVH.
- static WebPreferences GetWebkitPrefs(
- content::RenderViewHost* rvh, const GURL& url);
-
- // Returns the SavePackage which manages the page saving job. May be NULL.
- SavePackage* save_package() const { return save_package_.get(); }
-
- // Updates the max page ID for the current SiteInstance in this
- // WebContentsImpl to be at least |page_id|.
- void UpdateMaxPageID(int32 page_id);
-
- // Updates the max page ID for the given SiteInstance in this WebContentsImpl
- // to be at least |page_id|.
- void UpdateMaxPageIDForSiteInstance(content::SiteInstance* site_instance,
- int32 page_id);
-
- // Copy the current map of SiteInstance ID to max page ID from another tab.
- // This is necessary when this tab adopts the NavigationEntries from
- // |web_contents|.
- void CopyMaxPageIDsFrom(WebContentsImpl* web_contents);
-
- // Called by the NavigationController to cause the WebContentsImpl to navigate
- // to the current pending entry. The NavigationController should be called
- // back with RendererDidNavigate on success or DiscardPendingEntry on failure.
- // The callbacks can be inside of this function, or at some future time.
- //
- // The entry has a PageID of -1 if newly created (corresponding to navigation
- // to a new URL).
- //
- // If this method returns false, then the navigation is discarded (equivalent
- // to calling DiscardPendingEntry on the NavigationController).
- bool NavigateToPendingEntry(
- content::NavigationController::ReloadType reload_type);
-
- // Sets the passed passed interstitial as the currently showing interstitial.
- // |interstitial_page| should be non NULL (use the remove_interstitial_page
- // method to unset the interstitial) and no interstitial page should be set
- // when there is already a non NULL interstitial page set.
- void set_interstitial_page(InterstitialPageImpl* interstitial_page) {
- render_manager_.set_interstitial_page(interstitial_page);
- }
-
- // Unsets the currently showing interstitial.
- void remove_interstitial_page() {
- render_manager_.remove_interstitial_page();
- }
-
- void set_opener_web_ui_type(content::WebUI::TypeID opener_web_ui_type) {
- opener_web_ui_type_ = opener_web_ui_type;
- }
-
- void set_has_opener(bool has_opener) {
- has_opener_ = has_opener;
- }
-
- JavaBridgeDispatcherHostManager* java_bridge_dispatcher_host_manager() const {
- return java_bridge_dispatcher_host_manager_.get();
- }
-
- content::BrowserPluginWebContentsObserver*
- browser_plugin_web_contents_observer() const {
- return browser_plugin_web_contents_observer_.get();
- }
-
- // Like GetController from WebContents, but returns the concrete object.
- NavigationControllerImpl& GetControllerImpl();
-
- // Expose the render manager for testing.
- RenderViewHostManager* GetRenderManagerForTesting();
-
- // content::WebContents ------------------------------------------------------
- virtual const base::PropertyBag* GetPropertyBag() const OVERRIDE;
- virtual base::PropertyBag* GetPropertyBag() OVERRIDE;
- virtual content::WebContentsDelegate* GetDelegate() OVERRIDE;
- virtual void SetDelegate(content::WebContentsDelegate* delegate) OVERRIDE;
- virtual content::NavigationController& GetController() OVERRIDE;
- virtual const content::NavigationController& GetController() const OVERRIDE;
- virtual content::BrowserContext* GetBrowserContext() const OVERRIDE;
- virtual void SetViewType(content::ViewType type) OVERRIDE;
- virtual content::ViewType GetViewType() const OVERRIDE;
- virtual content::RenderProcessHost* GetRenderProcessHost() const OVERRIDE;
- virtual content::RenderViewHost* GetRenderViewHost() const OVERRIDE;
- virtual content::RenderWidgetHostView*
- GetRenderWidgetHostView() const OVERRIDE;
- virtual content::WebContentsView* GetView() const OVERRIDE;
- virtual content::WebUI* CreateWebUI(const GURL& url) OVERRIDE;
- virtual content::WebUI* GetWebUI() const OVERRIDE;
- virtual content::WebUI* GetCommittedWebUI() const OVERRIDE;
- virtual const string16& GetTitle() const OVERRIDE;
- virtual int32 GetMaxPageID() OVERRIDE;
- virtual int32 GetMaxPageIDForSiteInstance(
- content::SiteInstance* site_instance) OVERRIDE;
- virtual content::SiteInstance* GetSiteInstance() const OVERRIDE;
- virtual content::SiteInstance* GetPendingSiteInstance() const OVERRIDE;
- virtual bool IsLoading() const OVERRIDE;
- virtual bool IsWaitingForResponse() const OVERRIDE;
- virtual const net::LoadStateWithParam& GetLoadState() const OVERRIDE;
- virtual const string16& GetLoadStateHost() const OVERRIDE;
- virtual uint64 GetUploadSize() const OVERRIDE;
- virtual uint64 GetUploadPosition() const OVERRIDE;
- virtual const std::string& GetEncoding() const OVERRIDE;
- virtual bool DisplayedInsecureContent() const OVERRIDE;
- virtual void SetCapturingContents(bool cap) OVERRIDE;
- virtual bool IsCrashed() const OVERRIDE;
- virtual void SetIsCrashed(base::TerminationStatus status,
- int error_code) OVERRIDE;
- virtual base::TerminationStatus GetCrashedStatus() const OVERRIDE;
- virtual bool IsBeingDestroyed() const OVERRIDE;
- virtual void NotifyNavigationStateChanged(unsigned changed_flags) OVERRIDE;
- virtual void DidBecomeSelected() OVERRIDE;
- virtual base::TimeTicks GetLastSelectedTime() const OVERRIDE;
- virtual void WasHidden() OVERRIDE;
- virtual void ShowContents() OVERRIDE;
- virtual void HideContents() OVERRIDE;
- virtual bool NeedToFireBeforeUnload() OVERRIDE;
- virtual void Stop() OVERRIDE;
- virtual content::WebContents* Clone() OVERRIDE;
- virtual void AddNewContents(content::WebContents* new_contents,
- WindowOpenDisposition disposition,
- const gfx::Rect& initial_pos,
- bool user_gesture) OVERRIDE;
- virtual gfx::NativeView GetContentNativeView() const OVERRIDE;
- virtual gfx::NativeView GetNativeView() const OVERRIDE;
- virtual void GetContainerBounds(gfx::Rect* out) const OVERRIDE;
- virtual void Focus() OVERRIDE;
- virtual void FocusThroughTabTraversal(bool reverse) OVERRIDE;
- virtual bool ShowingInterstitialPage() const OVERRIDE;
- virtual content::InterstitialPage* GetInterstitialPage() const OVERRIDE;
- virtual bool IsSavable() OVERRIDE;
- virtual void OnSavePage() OVERRIDE;
- virtual bool SavePage(const FilePath& main_file,
- const FilePath& dir_path,
- content::SavePageType save_type) OVERRIDE;
- virtual void GenerateMHTML(
- const FilePath& file,
- const base::Callback<void(const FilePath&, int64)>& callback) OVERRIDE;
- virtual bool IsActiveEntry(int32 page_id) OVERRIDE;
-
- virtual const std::string& GetContentsMimeType() const OVERRIDE;
- virtual bool WillNotifyDisconnection() const OVERRIDE;
- virtual void SetOverrideEncoding(const std::string& encoding) OVERRIDE;
- virtual void ResetOverrideEncoding() OVERRIDE;
- virtual content::RendererPreferences* GetMutableRendererPrefs() OVERRIDE;
- virtual void SetNewTabStartTime(const base::TimeTicks& time) OVERRIDE;
- virtual base::TimeTicks GetNewTabStartTime() const OVERRIDE;
- virtual void OnCloseStarted() OVERRIDE;
- virtual bool ShouldAcceptDragAndDrop() const OVERRIDE;
- virtual void SystemDragEnded() OVERRIDE;
- virtual void SetClosedByUserGesture(bool value) OVERRIDE;
- virtual bool GetClosedByUserGesture() const OVERRIDE;
- virtual double GetZoomLevel() const OVERRIDE;
- virtual int GetZoomPercent(bool* enable_increment,
- bool* enable_decrement) OVERRIDE;
- virtual void ViewSource() OVERRIDE;
- virtual void ViewFrameSource(const GURL& url,
- const std::string& content_state) OVERRIDE;
- virtual int GetMinimumZoomPercent() const OVERRIDE;
- virtual int GetMaximumZoomPercent() const OVERRIDE;
- virtual gfx::Size GetPreferredSize() const OVERRIDE;
- virtual int GetContentRestrictions() const OVERRIDE;
- virtual content::WebUI::TypeID GetWebUITypeForCurrentState() OVERRIDE;
- virtual content::WebUI* GetWebUIForCurrentState() OVERRIDE;
- virtual bool GotResponseToLockMouseRequest(bool allowed) OVERRIDE;
- virtual bool HasOpener() const OVERRIDE;
- virtual void DidChooseColorInColorChooser(int color_chooser_id,
- const SkColor&) OVERRIDE;
- virtual void DidEndColorChooser(int color_chooser_id) OVERRIDE;
-
- // Implementation of PageNavigator.
- virtual content::WebContents* OpenURL(
- const content::OpenURLParams& params) OVERRIDE;
-
- // RenderViewHostDelegate ----------------------------------------------------
-
- virtual content::RenderViewHostDelegate::View* GetViewDelegate() OVERRIDE;
- virtual content::RenderViewHostDelegate::RendererManagement*
- GetRendererManagementDelegate() OVERRIDE;
- virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
- virtual const GURL& GetURL() const OVERRIDE;
- virtual WebContents* GetAsWebContents() OVERRIDE;
- virtual content::ViewType GetRenderViewType() const OVERRIDE;
- virtual gfx::Rect GetRootWindowResizerRect() const OVERRIDE;
- virtual void RenderViewCreated(
- content::RenderViewHost* render_view_host) OVERRIDE;
- virtual void RenderViewReady(
- content::RenderViewHost* render_view_host) OVERRIDE;
- virtual void RenderViewGone(content::RenderViewHost* render_view_host,
- base::TerminationStatus status,
- int error_code) OVERRIDE;
- virtual void RenderViewDeleted(
- content::RenderViewHost* render_view_host) OVERRIDE;
- virtual void DidNavigate(
- content::RenderViewHost* render_view_host,
- const ViewHostMsg_FrameNavigate_Params& params) OVERRIDE;
- virtual void UpdateState(content::RenderViewHost* render_view_host,
- int32 page_id,
- const std::string& state) OVERRIDE;
- virtual void UpdateTitle(content::RenderViewHost* render_view_host,
- int32 page_id,
- const string16& title,
- base::i18n::TextDirection title_direction) OVERRIDE;
- virtual void UpdateEncoding(content::RenderViewHost* render_view_host,
- const std::string& encoding) OVERRIDE;
- virtual void UpdateTargetURL(int32 page_id, const GURL& url) OVERRIDE;
- virtual void Close(content::RenderViewHost* render_view_host) OVERRIDE;
- virtual void RequestMove(const gfx::Rect& new_bounds) OVERRIDE;
- virtual void SwappedOut(content::RenderViewHost* render_view_host) OVERRIDE;
- virtual void DidStartLoading() OVERRIDE;
- virtual void DidStopLoading() OVERRIDE;
- virtual void DidCancelLoading() OVERRIDE;
- virtual void DidChangeLoadProgress(double progress) OVERRIDE;
- virtual void DocumentAvailableInMainFrame(
- content::RenderViewHost* render_view_host) OVERRIDE;
- virtual void DocumentOnLoadCompletedInMainFrame(
- content::RenderViewHost* render_view_host,
- int32 page_id) OVERRIDE;
- virtual void RequestOpenURL(const GURL& url,
- const content::Referrer& referrer,
- WindowOpenDisposition disposition,
- int64 source_frame_id) OVERRIDE;
- virtual void RequestTransferURL(
- const GURL& url,
- const content::Referrer& referrer,
- WindowOpenDisposition disposition,
- int64 source_frame_id,
- const content::GlobalRequestID& transferred_global_request_id) OVERRIDE;
- virtual void RunJavaScriptMessage(content::RenderViewHost* rvh,
- const string16& message,
- const string16& default_prompt,
- const GURL& frame_url,
- ui::JavascriptMessageType type,
- IPC::Message* reply_msg,
- bool* did_suppress_message) OVERRIDE;
- virtual void RunBeforeUnloadConfirm(content::RenderViewHost* rvh,
- const string16& message,
- bool is_reload,
- IPC::Message* reply_msg) OVERRIDE;
- virtual content::RendererPreferences GetRendererPrefs(
- content::BrowserContext* browser_context) const OVERRIDE;
- virtual WebPreferences GetWebkitPrefs() OVERRIDE;
- virtual void OnUserGesture() OVERRIDE;
- virtual void OnIgnoredUIEvent() OVERRIDE;
- virtual void RendererUnresponsive(content::RenderViewHost* render_view_host,
- bool is_during_unload) OVERRIDE;
- virtual void RendererResponsive(
- content::RenderViewHost* render_view_host) OVERRIDE;
- virtual void LoadStateChanged(const GURL& url,
- const net::LoadStateWithParam& load_state,
- uint64 upload_position,
- uint64 upload_size) OVERRIDE;
- virtual void WorkerCrashed() OVERRIDE;
- virtual void Activate() OVERRIDE;
- virtual void Deactivate() OVERRIDE;
- virtual void LostCapture() OVERRIDE;
- virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event,
- bool* is_keyboard_shortcut) OVERRIDE;
- virtual void HandleKeyboardEvent(
- const NativeWebKeyboardEvent& event) OVERRIDE;
- virtual void HandleMouseDown() OVERRIDE;
- virtual void HandleMouseUp() OVERRIDE;
- virtual void HandleMouseActivate() OVERRIDE;
- virtual void RunFileChooser(
- content::RenderViewHost* render_view_host,
- const content::FileChooserParams& params) OVERRIDE;
- virtual void ToggleFullscreenMode(bool enter_fullscreen) OVERRIDE;
- virtual bool IsFullscreenForCurrentTab() const OVERRIDE;
- virtual void UpdatePreferredSize(const gfx::Size& pref_size) OVERRIDE;
- virtual void ResizeDueToAutoResize(const gfx::Size& new_size) OVERRIDE;
- virtual void WebUISend(content::RenderViewHost* render_view_host,
- const GURL& source_url,
- const std::string& name,
- const base::ListValue& args) OVERRIDE;
- virtual void RequestToLockMouse() OVERRIDE;
- virtual void LostMouseLock() OVERRIDE;
-
- // RenderViewHostManager::Delegate -------------------------------------------
-
- virtual bool CreateRenderViewForRenderManager(
- content::RenderViewHost* render_view_host) OVERRIDE;
- virtual void BeforeUnloadFiredFromRenderManager(
- bool proceed,
- bool* proceed_to_fire_unload) OVERRIDE;
- virtual void DidStartLoadingFromRenderManager(
- content::RenderViewHost* render_view_host) OVERRIDE;
- virtual void RenderViewGoneFromRenderManager(
- content::RenderViewHost* render_view_host) OVERRIDE;
- virtual void UpdateRenderViewSizeForRenderManager() OVERRIDE;
- virtual void NotifySwappedFromRenderManager() OVERRIDE;
- virtual NavigationControllerImpl& GetControllerForRenderManager() OVERRIDE;
- virtual WebUIImpl* CreateWebUIForRenderManager(const GURL& url) OVERRIDE;
- virtual content::NavigationEntry*
- GetLastCommittedNavigationEntryForRenderManager() OVERRIDE;
- virtual bool FocusLocationBarByDefault() OVERRIDE;
- virtual void SetFocusToLocationBar(bool select_all) OVERRIDE;
- virtual void CreateViewAndSetSizeForRVH(
- content::RenderViewHost* rvh) OVERRIDE;
-
- protected:
- friend class content::WebContentsObserver;
-
- // Add and remove observers for page navigation notifications. Adding or
- // removing multiple times has no effect. The order in which notifications
- // are sent to observers is undefined. Clients must be sure to remove the
- // observer before they go away.
- void AddObserver(content::WebContentsObserver* observer);
- void RemoveObserver(content::WebContentsObserver* observer);
-
- private:
- friend class NavigationControllerImpl;
-
- FRIEND_TEST_ALL_PREFIXES(TabContentsTest, NoJSMessageOnInterstitials);
- FRIEND_TEST_ALL_PREFIXES(TabContentsTest, UpdateTitle);
- FRIEND_TEST_ALL_PREFIXES(TabContentsTest, CrossSiteCantPreemptAfterUnload);
- FRIEND_TEST_ALL_PREFIXES(FormStructureBrowserTest, HTMLFiles);
- FRIEND_TEST_ALL_PREFIXES(NavigationControllerTest, HistoryNavigate);
- FRIEND_TEST_ALL_PREFIXES(RenderViewHostManagerTest, PageDoesBackAndReload);
-
- // Temporary until the view/contents separation is complete.
- friend class content::WebContentsView;
-#if defined(TOOLKIT_VIEWS)
- friend class TabContentsViewViews;
-#elif defined(OS_MACOSX)
- friend class WebContentsViewMac;
-#elif defined(TOOLKIT_GTK)
- friend class WebContentsViewGtk;
-#endif
-
- // So InterstitialPageImpl can access SetIsLoading.
- friend class InterstitialPageImpl;
-
- // TODO(brettw) TestWebContents shouldn't exist!
- friend class content::TestWebContents;
-
- // Callback function when showing JS dialogs.
- void OnDialogClosed(content::RenderViewHost* rvh,
- IPC::Message* reply_msg,
- bool success,
- const string16& user_input);
-
- // Message handlers.
- void OnRegisterIntentService(const string16& action,
- const string16& type,
- const string16& href,
- const string16& title,
- const string16& disposition);
- void OnWebIntentDispatch(const webkit_glue::WebIntentData& intent,
- int intent_id);
- void OnDidStartProvisionalLoadForFrame(int64 frame_id,
- bool main_frame,
- const GURL& opener_url,
- const GURL& url);
- void OnDidRedirectProvisionalLoad(int32 page_id,
- const GURL& opener_url,
- const GURL& source_url,
- const GURL& target_url);
- void OnDidFailProvisionalLoadWithError(
- const ViewHostMsg_DidFailProvisionalLoadWithError_Params& params);
- void OnDidLoadResourceFromMemoryCache(const GURL& url,
- const std::string& security_info,
- const std::string& http_request,
- ResourceType::Type resource_type);
- void OnDidDisplayInsecureContent();
- void OnDidRunInsecureContent(const std::string& security_origin,
- const GURL& target_url);
- void OnDocumentLoadedInFrame(int64 frame_id);
- void OnDidFinishLoad(int64 frame_id,
- const GURL& validated_url,
- bool is_main_frame);
- void OnDidFailLoadWithError(int64 frame_id,
- const GURL& validated_url,
- bool is_main_frame,
- int error_code,
- const string16& error_description);
- void OnUpdateContentRestrictions(int restrictions);
- void OnGoToEntryAtOffset(int offset);
- void OnUpdateZoomLimits(int minimum_percent,
- int maximum_percent,
- bool remember);
- void OnSaveURL(const GURL& url);
- void OnEnumerateDirectory(int request_id, const FilePath& path);
- void OnJSOutOfMemory();
-
- void OnRegisterProtocolHandler(const std::string& protocol,
- const GURL& url,
- const string16& title);
- void OnFindReply(int request_id, int number_of_matches,
- const gfx::Rect& selection_rect, int active_match_ordinal,
- bool final_update);
- void OnCrashedPlugin(const FilePath& plugin_path);
- void OnAppCacheAccessed(const GURL& manifest_url, bool blocked_by_policy);
- void OnOpenColorChooser(int color_chooser_id,
- const SkColor& color);
- void OnEndColorChooser(int color_chooser_id);
- void OnSetSelectedColorInColorChooser(int color_chooser_id,
- const SkColor& color);
-
- // Changes the IsLoading state and notifies delegate as needed
- // |details| is used to provide details on the load that just finished
- // (but can be null if not applicable). Can be overridden.
- void SetIsLoading(bool is_loading,
- content::LoadNotificationDetails* details);
-
- // Called by derived classes to indicate that we're no longer waiting for a
- // response. This won't actually update the throbber, but it will get picked
- // up at the next animation step if the throbber is going.
- void SetNotWaitingForResponse() { waiting_for_response_ = false; }
-
- // Navigation helpers --------------------------------------------------------
- //
- // These functions are helpers for Navigate() and DidNavigate().
-
- // Handles post-navigation tasks in DidNavigate AFTER the entry has been
- // committed to the navigation controller. Note that the navigation entry is
- // not provided since it may be invalid/changed after being committed. The
- // current navigation entry is in the NavigationController at this point.
- void DidNavigateMainFramePostCommit(
- const content::LoadCommittedDetails& details,
- const ViewHostMsg_FrameNavigate_Params& params);
- void DidNavigateAnyFramePostCommit(
- content::RenderViewHost* render_view_host,
- const content::LoadCommittedDetails& details,
- const ViewHostMsg_FrameNavigate_Params& params);
-
- // If our controller was restored, update the max page ID associated with the
- // given RenderViewHost to be larger than the number of restored entries.
- // This is called in CreateRenderView before any navigations in the RenderView
- // have begun, to prevent any races in updating RenderView::next_page_id.
- void UpdateMaxPageIDIfNecessary(content::RenderViewHost* rvh);
-
- // Saves the given title to the navigation entry and does associated work. It
- // will update history and the view for the new title, and also synthesize
- // titles for file URLs that have none (so we require that the URL of the
- // entry already be set).
- //
- // This is used as the backend for state updates, which include a new title,
- // or the dedicated set title message. It returns true if the new title is
- // different and was therefore updated.
- bool UpdateTitleForEntry(content::NavigationEntryImpl* entry,
- const string16& title);
-
- // Causes the WebContentsImpl to navigate in the right renderer to |entry|,
- // which must be already part of the entries in the navigation controller.
- // This does not change the NavigationController state.
- bool NavigateToEntry(const content::NavigationEntryImpl& entry,
- content::NavigationController::ReloadType reload_type);
-
- // Sets the history for this WebContentsImpl to |history_length| entries, and
- // moves the current page_id to the last entry in the list if it's valid.
- // This is mainly used when a prerendered page is swapped into the current
- // tab. The method is virtual for testing.
- virtual void SetHistoryLengthAndPrune(
- const content::SiteInstance* site_instance,
- int merge_history_length,
- int32 minimum_page_id);
-
- // Misc non-view stuff -------------------------------------------------------
-
- // Helper functions for sending notifications.
- void NotifySwapped();
- void NotifyConnected();
- void NotifyDisconnected();
-
- void SetEncoding(const std::string& encoding);
-
- // Save a URL to the local filesystem.
- void SaveURL(const GURL& url, const GURL& referrer, bool is_main_frame);
-
- content::RenderViewHostImpl* GetRenderViewHostImpl();
-
- // Stores random bits of data for others to associate with this object.
- // WARNING: this needs to be deleted after NavigationController.
- base::PropertyBag property_bag_;
-
- // Data for core operation ---------------------------------------------------
-
- // Delegate for notifying our owner about stuff. Not owned by us.
- content::WebContentsDelegate* delegate_;
-
- // Handles the back/forward list and loading.
- NavigationControllerImpl controller_;
-
- // The corresponding view.
- scoped_ptr<content::WebContentsView> view_;
-
- // A list of observers notified when page state changes. Weak references.
- // This MUST be listed above render_manager_ since at destruction time the
- // latter might cause RenderViewHost's destructor to call us and we might use
- // the observer list then.
- ObserverList<content::WebContentsObserver> observers_;
-
- // Helper classes ------------------------------------------------------------
-
- // Manages creation and swapping of render views.
- RenderViewHostManager render_manager_;
-
- // Manages injecting Java objects into all RenderViewHosts associated with
- // this WebContentsImpl.
- scoped_ptr<JavaBridgeDispatcherHostManager>
- java_bridge_dispatcher_host_manager_;
-
- scoped_ptr<content::BrowserPluginWebContentsObserver>
- browser_plugin_web_contents_observer_;
- // SavePackage, lazily created.
- scoped_refptr<SavePackage> save_package_;
-
- // Data for loading state ----------------------------------------------------
-
- // Indicates whether we're currently loading a resource.
- bool is_loading_;
-
- // Indicates if the tab is considered crashed.
- base::TerminationStatus crashed_status_;
- int crashed_error_code_;
-
- // Whether this tab contents is waiting for a first-response for the
- // main resource of the page. This controls whether the throbber state is
- // "waiting" or "loading."
- bool waiting_for_response_;
-
- // Map of SiteInstance ID to max page ID for this tab. A page ID is specific
- // to a given tab and SiteInstance, and must be valid for the lifetime of the
- // WebContentsImpl.
- std::map<int32, int32> max_page_ids_;
-
- // System time at which the current load was started.
- base::TimeTicks current_load_start_;
-
- // The current load state and the URL associated with it.
- net::LoadStateWithParam load_state_;
- string16 load_state_host_;
- // Upload progress, for displaying in the status bar.
- // Set to zero when there is no significant upload happening.
- uint64 upload_size_;
- uint64 upload_position_;
-
- // Data for current page -----------------------------------------------------
-
- // When a title cannot be taken from any entry, this title will be used.
- string16 page_title_when_no_navigation_entry_;
-
- // When a navigation occurs, we record its contents MIME type. It can be
- // used to check whether we can do something for some special contents.
- std::string contents_mime_type_;
-
- // Character encoding.
- std::string encoding_;
-
- // True if this is a secure page which displayed insecure content.
- bool displayed_insecure_content_;
-
- // Data for misc internal state ----------------------------------------------
-
- // Whether the tab contents is currently being screenshotted by the
- // DraggedTabController.
- bool capturing_contents_;
-
- // See getter above.
- bool is_being_destroyed_;
-
- // Indicates whether we should notify about disconnection of this
- // WebContentsImpl. This is used to ensure disconnection notifications only
- // happen if a connection notification has happened and that they happen only
- // once.
- bool notify_disconnection_;
-
- // Pointer to the JavaScript dialog creator, lazily assigned. Used because the
- // delegate of this WebContentsImpl is nulled before its destructor is called.
- content::JavaScriptDialogCreator* dialog_creator_;
-
-#if defined(OS_WIN)
- // Handle to an event that's set when the page is showing a message box (or
- // equivalent constrained window). Plugin processes check this to know if
- // they should pump messages then.
- base::win::ScopedHandle message_box_active_;
-#endif
-
- // Set to true when there is an active "before unload" dialog. When true,
- // we've forced the throbber to start in Navigate, and we need to remember to
- // turn it off in OnJavaScriptMessageBoxClosed if the navigation is canceled.
- bool is_showing_before_unload_dialog_;
-
- // Settings that get passed to the renderer process.
- content::RendererPreferences renderer_preferences_;
-
- // If this tab was created from a renderer using window.open, this will be
- // non-NULL and represent the WebUI of the opening renderer.
- content::WebUI::TypeID opener_web_ui_type_;
-
- // The time that we started to create the new tab page.
- base::TimeTicks new_tab_start_time_;
-
- // The time that we started to close the tab.
- base::TimeTicks tab_close_start_time_;
-
- // The time that this tab was last selected.
- base::TimeTicks last_selected_time_;
-
- // See description above setter.
- bool closed_by_user_gesture_;
-
- // Minimum/maximum zoom percent.
- int minimum_zoom_percent_;
- int maximum_zoom_percent_;
- // If true, the default zoom limits have been overriden for this tab, in which
- // case we don't want saved settings to apply to it and we don't want to
- // remember it.
- bool temporary_zoom_settings_;
-
- // The intrinsic size of the page.
- gfx::Size preferred_size_;
-
- // Content restrictions, used to disable print/copy etc based on content's
- // (full-page plugins for now only) permissions.
- int content_restrictions_;
-
- // Our view type. Default is VIEW_TYPE_TAB_CONTENTS.
- content::ViewType view_type_;
-
- // Is there an opener associated with this?
- bool has_opener_;
-
- // Color chooser that was opened by this tab.
- content::ColorChooser* color_chooser_;
-
- DISALLOW_COPY_AND_ASSIGN(WebContentsImpl);
-};
-
-typedef class WebContentsImpl TabContents;
-
-#endif // CONTENT_BROWSER_TAB_CONTENTS_TAB_CONTENTS_H_
« no previous file with comments | « content/browser/ssl/ssl_policy.cc ('k') | content/browser/tab_contents/tab_contents.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698