| 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_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ |
| 6 #define CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ | 6 #define CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 #include "content/public/common/renderer_preferences.h" | 26 #include "content/public/common/renderer_preferences.h" |
| 27 #include "net/base/load_states.h" | 27 #include "net/base/load_states.h" |
| 28 #include "ui/gfx/rect_f.h" | 28 #include "ui/gfx/rect_f.h" |
| 29 #include "ui/gfx/size.h" | 29 #include "ui/gfx/size.h" |
| 30 #include "webkit/glue/resource_type.h" | 30 #include "webkit/glue/resource_type.h" |
| 31 | 31 |
| 32 #if defined(OS_WIN) | 32 #if defined(OS_WIN) |
| 33 #include "base/win/scoped_handle.h" | 33 #include "base/win/scoped_handle.h" |
| 34 #endif | 34 #endif |
| 35 | 35 |
| 36 class InterstitialPageImpl; | |
| 37 class SavePackage; | 36 class SavePackage; |
| 38 class SessionStorageNamespaceImpl; | 37 class SessionStorageNamespaceImpl; |
| 39 class WebContentsImpl; | |
| 40 struct BrowserPluginHostMsg_ResizeGuest_Params; | 38 struct BrowserPluginHostMsg_ResizeGuest_Params; |
| 41 struct ViewMsg_PostMessage_Params; | 39 struct ViewMsg_PostMessage_Params; |
| 42 | 40 |
| 41 namespace webkit_glue { |
| 42 struct WebIntentData; |
| 43 struct WebIntentServiceData; |
| 44 } |
| 45 |
| 43 namespace content { | 46 namespace content { |
| 44 class BrowserPluginEmbedder; | 47 class BrowserPluginEmbedder; |
| 45 class BrowserPluginGuest; | 48 class BrowserPluginGuest; |
| 46 class ColorChooser; | 49 class ColorChooser; |
| 47 class DownloadItem; | 50 class DownloadItem; |
| 51 class InterstitialPageImpl; |
| 48 class JavaScriptDialogCreator; | 52 class JavaScriptDialogCreator; |
| 49 class RenderViewHost; | 53 class RenderViewHost; |
| 50 class RenderViewHostDelegateView; | 54 class RenderViewHostDelegateView; |
| 51 class RenderViewHostImpl; | 55 class RenderViewHostImpl; |
| 52 class RenderWidgetHostImpl; | 56 class RenderWidgetHostImpl; |
| 53 class SiteInstance; | 57 class SiteInstance; |
| 54 class TestWebContents; | 58 class TestWebContents; |
| 55 class WebContentsDelegate; | 59 class WebContentsDelegate; |
| 60 class WebContentsImpl; |
| 56 class WebContentsObserver; | 61 class WebContentsObserver; |
| 57 class WebContentsView; | 62 class WebContentsView; |
| 58 class WebContentsViewDelegate; | 63 class WebContentsViewDelegate; |
| 59 struct LoadNotificationDetails; | 64 struct LoadNotificationDetails; |
| 60 | 65 |
| 61 // Factory function for the implementations that content knows about. Takes | 66 // Factory function for the implementations that content knows about. Takes |
| 62 // ownership of |delegate|. | 67 // ownership of |delegate|. |
| 63 WebContentsView* CreateWebContentsView( | 68 WebContentsView* CreateWebContentsView( |
| 64 WebContentsImpl* web_contents, | 69 WebContentsImpl* web_contents, |
| 65 WebContentsViewDelegate* delegate, | 70 WebContentsViewDelegate* delegate, |
| 66 RenderViewHostDelegateView** render_view_host_delegate_view); | 71 RenderViewHostDelegateView** render_view_host_delegate_view); |
| 67 | 72 |
| 68 } // namespace content | |
| 69 | |
| 70 namespace webkit_glue { | |
| 71 struct WebIntentData; | |
| 72 struct WebIntentServiceData; | |
| 73 } | |
| 74 | |
| 75 class CONTENT_EXPORT WebContentsImpl | 73 class CONTENT_EXPORT WebContentsImpl |
| 76 : public NON_EXPORTED_BASE(content::WebContents), | 74 : public NON_EXPORTED_BASE(WebContents), |
| 77 public content::RenderViewHostDelegate, | 75 public RenderViewHostDelegate, |
| 78 public content::RenderWidgetHostDelegate, | 76 public RenderWidgetHostDelegate, |
| 79 public RenderViewHostManager::Delegate, | 77 public RenderViewHostManager::Delegate, |
| 80 public content::NotificationObserver { | 78 public NotificationObserver { |
| 81 public: | 79 public: |
| 82 virtual ~WebContentsImpl(); | 80 virtual ~WebContentsImpl(); |
| 83 | 81 |
| 84 static WebContentsImpl* Create( | 82 static WebContentsImpl* Create( |
| 85 content::BrowserContext* browser_context, | 83 BrowserContext* browser_context, |
| 86 content::SiteInstance* site_instance, | 84 SiteInstance* site_instance, |
| 87 int routing_id, | 85 int routing_id, |
| 88 const WebContentsImpl* base_web_contents); | 86 const WebContentsImpl* base_web_contents); |
| 89 | 87 |
| 90 static WebContentsImpl* CreateWithOpener( | 88 static WebContentsImpl* CreateWithOpener( |
| 91 content::BrowserContext* browser_context, | 89 BrowserContext* browser_context, |
| 92 content::SiteInstance* site_instance, | 90 SiteInstance* site_instance, |
| 93 int routing_id, | 91 int routing_id, |
| 94 const WebContentsImpl* base_web_contents, | 92 const WebContentsImpl* base_web_contents, |
| 95 WebContentsImpl* opener); | 93 WebContentsImpl* opener); |
| 96 | 94 |
| 97 // Creates a WebContents to be used as a browser plugin guest. | 95 // Creates a WebContents to be used as a browser plugin guest. |
| 98 static WebContentsImpl* CreateGuest(content::BrowserContext* browser_context, | 96 static WebContentsImpl* CreateGuest(BrowserContext* browser_context, |
| 99 const std::string& host, | 97 const std::string& host, |
| 100 int guest_instance_id); | 98 int guest_instance_id); |
| 101 | 99 |
| 102 // Returns the content specific prefs for the given RVH. | 100 // Returns the content specific prefs for the given RVH. |
| 103 static webkit_glue::WebPreferences GetWebkitPrefs( | 101 static webkit_glue::WebPreferences GetWebkitPrefs( |
| 104 content::RenderViewHost* rvh, const GURL& url); | 102 RenderViewHost* rvh, const GURL& url); |
| 105 | 103 |
| 106 // Creates a swapped out RenderView. This is used by the browser plugin to | 104 // Creates a swapped out RenderView. This is used by the browser plugin to |
| 107 // create a swapped out RenderView in the embedder render process for the | 105 // create a swapped out RenderView in the embedder render process for the |
| 108 // guest, to expose the guest's window object to the embedder. | 106 // guest, to expose the guest's window object to the embedder. |
| 109 // This returns the routing ID of the newly created swapped out RenderView. | 107 // This returns the routing ID of the newly created swapped out RenderView. |
| 110 int CreateSwappedOutRenderView(content::SiteInstance* instance); | 108 int CreateSwappedOutRenderView(SiteInstance* instance); |
| 111 | 109 |
| 112 // Complex initialization here. Specifically needed to avoid having | 110 // Complex initialization here. Specifically needed to avoid having |
| 113 // members call back into our virtual functions in the constructor. | 111 // members call back into our virtual functions in the constructor. |
| 114 virtual void Init(content::BrowserContext* browser_context, | 112 virtual void Init(BrowserContext* browser_context, |
| 115 content::SiteInstance* site_instance, | 113 SiteInstance* site_instance, |
| 116 int routing_id, | 114 int routing_id, |
| 117 const content::WebContents* base_web_contents); | 115 const WebContents* base_web_contents); |
| 118 | 116 |
| 119 // Returns the SavePackage which manages the page saving job. May be NULL. | 117 // Returns the SavePackage which manages the page saving job. May be NULL. |
| 120 SavePackage* save_package() const { return save_package_.get(); } | 118 SavePackage* save_package() const { return save_package_.get(); } |
| 121 | 119 |
| 122 // Updates the max page ID for the current SiteInstance in this | 120 // Updates the max page ID for the current SiteInstance in this |
| 123 // WebContentsImpl to be at least |page_id|. | 121 // WebContentsImpl to be at least |page_id|. |
| 124 void UpdateMaxPageID(int32 page_id); | 122 void UpdateMaxPageID(int32 page_id); |
| 125 | 123 |
| 126 // Updates the max page ID for the given SiteInstance in this WebContentsImpl | 124 // Updates the max page ID for the given SiteInstance in this WebContentsImpl |
| 127 // to be at least |page_id|. | 125 // to be at least |page_id|. |
| 128 void UpdateMaxPageIDForSiteInstance(content::SiteInstance* site_instance, | 126 void UpdateMaxPageIDForSiteInstance(SiteInstance* site_instance, |
| 129 int32 page_id); | 127 int32 page_id); |
| 130 | 128 |
| 131 // Copy the current map of SiteInstance ID to max page ID from another tab. | 129 // Copy the current map of SiteInstance ID to max page ID from another tab. |
| 132 // This is necessary when this tab adopts the NavigationEntries from | 130 // This is necessary when this tab adopts the NavigationEntries from |
| 133 // |web_contents|. | 131 // |web_contents|. |
| 134 void CopyMaxPageIDsFrom(WebContentsImpl* web_contents); | 132 void CopyMaxPageIDsFrom(WebContentsImpl* web_contents); |
| 135 | 133 |
| 136 // Called by the NavigationController to cause the WebContentsImpl to navigate | 134 // Called by the NavigationController to cause the WebContentsImpl to navigate |
| 137 // to the current pending entry. The NavigationController should be called | 135 // to the current pending entry. The NavigationController should be called |
| 138 // back with RendererDidNavigate on success or DiscardPendingEntry on failure. | 136 // back with RendererDidNavigate on success or DiscardPendingEntry on failure. |
| 139 // The callbacks can be inside of this function, or at some future time. | 137 // The callbacks can be inside of this function, or at some future time. |
| 140 // | 138 // |
| 141 // The entry has a PageID of -1 if newly created (corresponding to navigation | 139 // The entry has a PageID of -1 if newly created (corresponding to navigation |
| 142 // to a new URL). | 140 // to a new URL). |
| 143 // | 141 // |
| 144 // If this method returns false, then the navigation is discarded (equivalent | 142 // If this method returns false, then the navigation is discarded (equivalent |
| 145 // to calling DiscardPendingEntry on the NavigationController). | 143 // to calling DiscardPendingEntry on the NavigationController). |
| 146 bool NavigateToPendingEntry( | 144 bool NavigateToPendingEntry(NavigationController::ReloadType reload_type); |
| 147 content::NavigationController::ReloadType reload_type); | |
| 148 | 145 |
| 149 // Called by InterstitialPageImpl when it creates a RenderViewHost. | 146 // Called by InterstitialPageImpl when it creates a RenderViewHost. |
| 150 void RenderViewForInterstitialPageCreated( | 147 void RenderViewForInterstitialPageCreated(RenderViewHost* render_view_host); |
| 151 content::RenderViewHost* render_view_host); | |
| 152 | 148 |
| 153 // Sets the passed passed interstitial as the currently showing interstitial. | 149 // Sets the passed passed interstitial as the currently showing interstitial. |
| 154 // |interstitial_page| should be non NULL (use the remove_interstitial_page | 150 // |interstitial_page| should be non NULL (use the remove_interstitial_page |
| 155 // method to unset the interstitial) and no interstitial page should be set | 151 // method to unset the interstitial) and no interstitial page should be set |
| 156 // when there is already a non NULL interstitial page set. | 152 // when there is already a non NULL interstitial page set. |
| 157 void set_interstitial_page(InterstitialPageImpl* interstitial_page) { | 153 void set_interstitial_page(InterstitialPageImpl* interstitial_page) { |
| 158 render_manager_.set_interstitial_page(interstitial_page); | 154 render_manager_.set_interstitial_page(interstitial_page); |
| 159 } | 155 } |
| 160 | 156 |
| 161 // Unsets the currently showing interstitial. | 157 // Unsets the currently showing interstitial. |
| 162 void remove_interstitial_page() { | 158 void remove_interstitial_page() { |
| 163 render_manager_.remove_interstitial_page(); | 159 render_manager_.remove_interstitial_page(); |
| 164 } | 160 } |
| 165 | 161 |
| 166 void set_opener_web_ui_type(content::WebUI::TypeID opener_web_ui_type) { | 162 void set_opener_web_ui_type(WebUI::TypeID opener_web_ui_type) { |
| 167 opener_web_ui_type_ = opener_web_ui_type; | 163 opener_web_ui_type_ = opener_web_ui_type; |
| 168 } | 164 } |
| 169 | 165 |
| 170 JavaBridgeDispatcherHostManager* java_bridge_dispatcher_host_manager() const { | 166 JavaBridgeDispatcherHostManager* java_bridge_dispatcher_host_manager() const { |
| 171 return java_bridge_dispatcher_host_manager_.get(); | 167 return java_bridge_dispatcher_host_manager_.get(); |
| 172 } | 168 } |
| 173 | 169 |
| 174 content::old::BrowserPluginHost* old_browser_plugin_host() const { | 170 old::BrowserPluginHost* old_browser_plugin_host() const { |
| 175 return old_browser_plugin_host_.get(); | 171 return old_browser_plugin_host_.get(); |
| 176 } | 172 } |
| 177 | 173 |
| 178 // Expose the render manager for testing. | 174 // Expose the render manager for testing. |
| 179 RenderViewHostManager* GetRenderManagerForTesting(); | 175 RenderViewHostManager* GetRenderManagerForTesting(); |
| 180 | 176 |
| 181 // Returns guest browser plugin object, or NULL if this WebContents is not a | 177 // Returns guest browser plugin object, or NULL if this WebContents is not a |
| 182 // guest. | 178 // guest. |
| 183 content::BrowserPluginGuest* GetBrowserPluginGuest(); | 179 BrowserPluginGuest* GetBrowserPluginGuest(); |
| 184 // Returns embedder browser plugin object, or NULL if this WebContents is not | 180 // Returns embedder browser plugin object, or NULL if this WebContents is not |
| 185 // an embedder. | 181 // an embedder. |
| 186 content::BrowserPluginEmbedder* GetBrowserPluginEmbedder(); | 182 BrowserPluginEmbedder* GetBrowserPluginEmbedder(); |
| 187 | 183 |
| 188 // content::WebContents ------------------------------------------------------ | 184 // WebContents ------------------------------------------------------ |
| 189 virtual content::WebContentsDelegate* GetDelegate() OVERRIDE; | 185 virtual WebContentsDelegate* GetDelegate() OVERRIDE; |
| 190 virtual void SetDelegate(content::WebContentsDelegate* delegate) OVERRIDE; | 186 virtual void SetDelegate(WebContentsDelegate* delegate) OVERRIDE; |
| 191 virtual NavigationControllerImpl& GetController() OVERRIDE; | 187 virtual NavigationControllerImpl& GetController() OVERRIDE; |
| 192 virtual const NavigationControllerImpl& GetController() const OVERRIDE; | 188 virtual const NavigationControllerImpl& GetController() const OVERRIDE; |
| 193 virtual content::BrowserContext* GetBrowserContext() const OVERRIDE; | 189 virtual BrowserContext* GetBrowserContext() const OVERRIDE; |
| 194 virtual content::RenderProcessHost* GetRenderProcessHost() const OVERRIDE; | 190 virtual RenderProcessHost* GetRenderProcessHost() const OVERRIDE; |
| 195 virtual content::RenderViewHost* GetRenderViewHost() const OVERRIDE; | 191 virtual RenderViewHost* GetRenderViewHost() const OVERRIDE; |
| 196 virtual int GetRoutingID() const OVERRIDE; | 192 virtual int GetRoutingID() const OVERRIDE; |
| 197 virtual content::RenderWidgetHostView* | 193 virtual RenderWidgetHostView* GetRenderWidgetHostView() const OVERRIDE; |
| 198 GetRenderWidgetHostView() const OVERRIDE; | 194 virtual WebContentsView* GetView() const OVERRIDE; |
| 199 virtual content::WebContentsView* GetView() const OVERRIDE; | 195 virtual WebUI* CreateWebUI(const GURL& url) OVERRIDE; |
| 200 virtual content::WebUI* CreateWebUI(const GURL& url) OVERRIDE; | 196 virtual WebUI* GetWebUI() const OVERRIDE; |
| 201 virtual content::WebUI* GetWebUI() const OVERRIDE; | 197 virtual WebUI* GetCommittedWebUI() const OVERRIDE; |
| 202 virtual content::WebUI* GetCommittedWebUI() const OVERRIDE; | |
| 203 virtual void SetUserAgentOverride(const std::string& override) OVERRIDE; | 198 virtual void SetUserAgentOverride(const std::string& override) OVERRIDE; |
| 204 virtual const std::string& GetUserAgentOverride() const OVERRIDE; | 199 virtual const std::string& GetUserAgentOverride() const OVERRIDE; |
| 205 virtual const string16& GetTitle() const OVERRIDE; | 200 virtual const string16& GetTitle() const OVERRIDE; |
| 206 virtual int32 GetMaxPageID() OVERRIDE; | 201 virtual int32 GetMaxPageID() OVERRIDE; |
| 207 virtual int32 GetMaxPageIDForSiteInstance( | 202 virtual int32 GetMaxPageIDForSiteInstance( |
| 208 content::SiteInstance* site_instance) OVERRIDE; | 203 SiteInstance* site_instance) OVERRIDE; |
| 209 virtual content::SiteInstance* GetSiteInstance() const OVERRIDE; | 204 virtual SiteInstance* GetSiteInstance() const OVERRIDE; |
| 210 virtual content::SiteInstance* GetPendingSiteInstance() const OVERRIDE; | 205 virtual SiteInstance* GetPendingSiteInstance() const OVERRIDE; |
| 211 virtual bool IsLoading() const OVERRIDE; | 206 virtual bool IsLoading() const OVERRIDE; |
| 212 virtual bool IsWaitingForResponse() const OVERRIDE; | 207 virtual bool IsWaitingForResponse() const OVERRIDE; |
| 213 virtual const net::LoadStateWithParam& GetLoadState() const OVERRIDE; | 208 virtual const net::LoadStateWithParam& GetLoadState() const OVERRIDE; |
| 214 virtual const string16& GetLoadStateHost() const OVERRIDE; | 209 virtual const string16& GetLoadStateHost() const OVERRIDE; |
| 215 virtual uint64 GetUploadSize() const OVERRIDE; | 210 virtual uint64 GetUploadSize() const OVERRIDE; |
| 216 virtual uint64 GetUploadPosition() const OVERRIDE; | 211 virtual uint64 GetUploadPosition() const OVERRIDE; |
| 217 virtual const std::string& GetEncoding() const OVERRIDE; | 212 virtual const std::string& GetEncoding() const OVERRIDE; |
| 218 virtual bool DisplayedInsecureContent() const OVERRIDE; | 213 virtual bool DisplayedInsecureContent() const OVERRIDE; |
| 219 virtual void SetCapturingContents(bool cap) OVERRIDE; | 214 virtual void SetCapturingContents(bool cap) OVERRIDE; |
| 220 virtual bool IsCrashed() const OVERRIDE; | 215 virtual bool IsCrashed() const OVERRIDE; |
| 221 virtual void SetIsCrashed(base::TerminationStatus status, | 216 virtual void SetIsCrashed(base::TerminationStatus status, |
| 222 int error_code) OVERRIDE; | 217 int error_code) OVERRIDE; |
| 223 virtual base::TerminationStatus GetCrashedStatus() const OVERRIDE; | 218 virtual base::TerminationStatus GetCrashedStatus() const OVERRIDE; |
| 224 virtual bool IsBeingDestroyed() const OVERRIDE; | 219 virtual bool IsBeingDestroyed() const OVERRIDE; |
| 225 virtual void NotifyNavigationStateChanged(unsigned changed_flags) OVERRIDE; | 220 virtual void NotifyNavigationStateChanged(unsigned changed_flags) OVERRIDE; |
| 226 virtual base::TimeTicks GetLastSelectedTime() const OVERRIDE; | 221 virtual base::TimeTicks GetLastSelectedTime() const OVERRIDE; |
| 227 virtual void WasShown() OVERRIDE; | 222 virtual void WasShown() OVERRIDE; |
| 228 virtual void WasHidden() OVERRIDE; | 223 virtual void WasHidden() OVERRIDE; |
| 229 virtual bool NeedToFireBeforeUnload() OVERRIDE; | 224 virtual bool NeedToFireBeforeUnload() OVERRIDE; |
| 230 virtual void Stop() OVERRIDE; | 225 virtual void Stop() OVERRIDE; |
| 231 virtual content::WebContents* Clone() OVERRIDE; | 226 virtual WebContents* Clone() OVERRIDE; |
| 232 virtual gfx::NativeView GetContentNativeView() const OVERRIDE; | 227 virtual gfx::NativeView GetContentNativeView() const OVERRIDE; |
| 233 virtual gfx::NativeView GetNativeView() const OVERRIDE; | 228 virtual gfx::NativeView GetNativeView() const OVERRIDE; |
| 234 virtual void GetContainerBounds(gfx::Rect* out) const OVERRIDE; | 229 virtual void GetContainerBounds(gfx::Rect* out) const OVERRIDE; |
| 235 virtual void Focus() OVERRIDE; | 230 virtual void Focus() OVERRIDE; |
| 236 virtual void FocusThroughTabTraversal(bool reverse) OVERRIDE; | 231 virtual void FocusThroughTabTraversal(bool reverse) OVERRIDE; |
| 237 virtual bool ShowingInterstitialPage() const OVERRIDE; | 232 virtual bool ShowingInterstitialPage() const OVERRIDE; |
| 238 virtual content::InterstitialPage* GetInterstitialPage() const OVERRIDE; | 233 virtual InterstitialPage* GetInterstitialPage() const OVERRIDE; |
| 239 virtual bool IsSavable() OVERRIDE; | 234 virtual bool IsSavable() OVERRIDE; |
| 240 virtual void OnSavePage() OVERRIDE; | 235 virtual void OnSavePage() OVERRIDE; |
| 241 virtual bool SavePage(const FilePath& main_file, | 236 virtual bool SavePage(const FilePath& main_file, |
| 242 const FilePath& dir_path, | 237 const FilePath& dir_path, |
| 243 content::SavePageType save_type) OVERRIDE; | 238 SavePageType save_type) OVERRIDE; |
| 244 virtual void GenerateMHTML( | 239 virtual void GenerateMHTML( |
| 245 const FilePath& file, | 240 const FilePath& file, |
| 246 const base::Callback<void(const FilePath&, int64)>& callback) OVERRIDE; | 241 const base::Callback<void(const FilePath&, int64)>& callback) OVERRIDE; |
| 247 virtual bool IsActiveEntry(int32 page_id) OVERRIDE; | 242 virtual bool IsActiveEntry(int32 page_id) OVERRIDE; |
| 248 | 243 |
| 249 virtual const std::string& GetContentsMimeType() const OVERRIDE; | 244 virtual const std::string& GetContentsMimeType() const OVERRIDE; |
| 250 virtual bool WillNotifyDisconnection() const OVERRIDE; | 245 virtual bool WillNotifyDisconnection() const OVERRIDE; |
| 251 virtual void SetOverrideEncoding(const std::string& encoding) OVERRIDE; | 246 virtual void SetOverrideEncoding(const std::string& encoding) OVERRIDE; |
| 252 virtual void ResetOverrideEncoding() OVERRIDE; | 247 virtual void ResetOverrideEncoding() OVERRIDE; |
| 253 virtual content::RendererPreferences* GetMutableRendererPrefs() OVERRIDE; | 248 virtual RendererPreferences* GetMutableRendererPrefs() OVERRIDE; |
| 254 virtual void SetNewTabStartTime(const base::TimeTicks& time) OVERRIDE; | 249 virtual void SetNewTabStartTime(const base::TimeTicks& time) OVERRIDE; |
| 255 virtual base::TimeTicks GetNewTabStartTime() const OVERRIDE; | 250 virtual base::TimeTicks GetNewTabStartTime() const OVERRIDE; |
| 256 virtual void Close() OVERRIDE; | 251 virtual void Close() OVERRIDE; |
| 257 virtual void OnCloseStarted() OVERRIDE; | 252 virtual void OnCloseStarted() OVERRIDE; |
| 258 virtual bool ShouldAcceptDragAndDrop() const OVERRIDE; | 253 virtual bool ShouldAcceptDragAndDrop() const OVERRIDE; |
| 259 virtual void SystemDragEnded() OVERRIDE; | 254 virtual void SystemDragEnded() OVERRIDE; |
| 260 virtual void UserGestureDone() OVERRIDE; | 255 virtual void UserGestureDone() OVERRIDE; |
| 261 virtual void SetClosedByUserGesture(bool value) OVERRIDE; | 256 virtual void SetClosedByUserGesture(bool value) OVERRIDE; |
| 262 virtual bool GetClosedByUserGesture() const OVERRIDE; | 257 virtual bool GetClosedByUserGesture() const OVERRIDE; |
| 263 virtual double GetZoomLevel() const OVERRIDE; | 258 virtual double GetZoomLevel() const OVERRIDE; |
| 264 virtual int GetZoomPercent(bool* enable_increment, | 259 virtual int GetZoomPercent(bool* enable_increment, |
| 265 bool* enable_decrement) const OVERRIDE; | 260 bool* enable_decrement) const OVERRIDE; |
| 266 virtual void ViewSource() OVERRIDE; | 261 virtual void ViewSource() OVERRIDE; |
| 267 virtual void ViewFrameSource(const GURL& url, | 262 virtual void ViewFrameSource(const GURL& url, |
| 268 const std::string& content_state) OVERRIDE; | 263 const std::string& content_state) OVERRIDE; |
| 269 virtual int GetMinimumZoomPercent() const OVERRIDE; | 264 virtual int GetMinimumZoomPercent() const OVERRIDE; |
| 270 virtual int GetMaximumZoomPercent() const OVERRIDE; | 265 virtual int GetMaximumZoomPercent() const OVERRIDE; |
| 271 virtual gfx::Size GetPreferredSize() const OVERRIDE; | 266 virtual gfx::Size GetPreferredSize() const OVERRIDE; |
| 272 virtual int GetContentRestrictions() const OVERRIDE; | 267 virtual int GetContentRestrictions() const OVERRIDE; |
| 273 virtual content::WebUI::TypeID GetWebUITypeForCurrentState() OVERRIDE; | 268 virtual WebUI::TypeID GetWebUITypeForCurrentState() OVERRIDE; |
| 274 virtual content::WebUI* GetWebUIForCurrentState() OVERRIDE; | 269 virtual WebUI* GetWebUIForCurrentState() OVERRIDE; |
| 275 virtual bool GotResponseToLockMouseRequest(bool allowed) OVERRIDE; | 270 virtual bool GotResponseToLockMouseRequest(bool allowed) OVERRIDE; |
| 276 virtual bool HasOpener() const OVERRIDE; | 271 virtual bool HasOpener() const OVERRIDE; |
| 277 virtual void DidChooseColorInColorChooser(int color_chooser_id, | 272 virtual void DidChooseColorInColorChooser(int color_chooser_id, |
| 278 SkColor color) OVERRIDE; | 273 SkColor color) OVERRIDE; |
| 279 virtual void DidEndColorChooser(int color_chooser_id) OVERRIDE; | 274 virtual void DidEndColorChooser(int color_chooser_id) OVERRIDE; |
| 280 | 275 |
| 281 // Implementation of PageNavigator. | 276 // Implementation of PageNavigator. |
| 282 virtual content::WebContents* OpenURL( | 277 virtual WebContents* OpenURL(const OpenURLParams& params) OVERRIDE; |
| 283 const content::OpenURLParams& params) OVERRIDE; | |
| 284 | 278 |
| 285 // Implementation of IPC::Sender. | 279 // Implementation of IPC::Sender. |
| 286 virtual bool Send(IPC::Message* message) OVERRIDE; | 280 virtual bool Send(IPC::Message* message) OVERRIDE; |
| 287 | 281 |
| 288 // RenderViewHostDelegate ---------------------------------------------------- | 282 // RenderViewHostDelegate ---------------------------------------------------- |
| 289 | 283 |
| 290 virtual content::RenderViewHostDelegateView* GetDelegateView() OVERRIDE; | 284 virtual RenderViewHostDelegateView* GetDelegateView() OVERRIDE; |
| 291 virtual content::RenderViewHostDelegate::RendererManagement* | 285 virtual RenderViewHostDelegate::RendererManagement* |
| 292 GetRendererManagementDelegate() OVERRIDE; | 286 GetRendererManagementDelegate() OVERRIDE; |
| 293 virtual bool OnMessageReceived(content::RenderViewHost* render_view_host, | 287 virtual bool OnMessageReceived(RenderViewHost* render_view_host, |
| 294 const IPC::Message& message) OVERRIDE; | 288 const IPC::Message& message) OVERRIDE; |
| 295 virtual const GURL& GetURL() const OVERRIDE; | 289 virtual const GURL& GetURL() const OVERRIDE; |
| 296 virtual content::WebContents* GetAsWebContents() OVERRIDE; | 290 virtual WebContents* GetAsWebContents() OVERRIDE; |
| 297 virtual gfx::Rect GetRootWindowResizerRect() const OVERRIDE; | 291 virtual gfx::Rect GetRootWindowResizerRect() const OVERRIDE; |
| 298 virtual void RenderViewCreated( | 292 virtual void RenderViewCreated(RenderViewHost* render_view_host) OVERRIDE; |
| 299 content::RenderViewHost* render_view_host) OVERRIDE; | 293 virtual void RenderViewReady(RenderViewHost* render_view_host) OVERRIDE; |
| 300 virtual void RenderViewReady( | 294 virtual void RenderViewGone(RenderViewHost* render_view_host, |
| 301 content::RenderViewHost* render_view_host) OVERRIDE; | |
| 302 virtual void RenderViewGone(content::RenderViewHost* render_view_host, | |
| 303 base::TerminationStatus status, | 295 base::TerminationStatus status, |
| 304 int error_code) OVERRIDE; | 296 int error_code) OVERRIDE; |
| 305 virtual void RenderViewDeleted( | 297 virtual void RenderViewDeleted(RenderViewHost* render_view_host) OVERRIDE; |
| 306 content::RenderViewHost* render_view_host) OVERRIDE; | |
| 307 virtual void DidStartProvisionalLoadForFrame( | 298 virtual void DidStartProvisionalLoadForFrame( |
| 308 content::RenderViewHost* render_view_host, | 299 RenderViewHost* render_view_host, |
| 309 int64 frame_id, | 300 int64 frame_id, |
| 310 int64 parent_frame_id, | 301 int64 parent_frame_id, |
| 311 bool main_frame, | 302 bool main_frame, |
| 312 const GURL& opener_url, | 303 const GURL& opener_url, |
| 313 const GURL& url) OVERRIDE; | 304 const GURL& url) OVERRIDE; |
| 314 virtual void DidRedirectProvisionalLoad( | 305 virtual void DidRedirectProvisionalLoad( |
| 315 content::RenderViewHost* render_view_host, | 306 RenderViewHost* render_view_host, |
| 316 int32 page_id, | 307 int32 page_id, |
| 317 const GURL& opener_url, | 308 const GURL& opener_url, |
| 318 const GURL& source_url, | 309 const GURL& source_url, |
| 319 const GURL& target_url) OVERRIDE; | 310 const GURL& target_url) OVERRIDE; |
| 320 virtual void DidFailProvisionalLoadWithError( | 311 virtual void DidFailProvisionalLoadWithError( |
| 321 content::RenderViewHost* render_view_host, | 312 RenderViewHost* render_view_host, |
| 322 const ViewHostMsg_DidFailProvisionalLoadWithError_Params& params) | 313 const ViewHostMsg_DidFailProvisionalLoadWithError_Params& params) |
| 323 OVERRIDE; | 314 OVERRIDE; |
| 324 virtual void DidNavigate( | 315 virtual void DidNavigate( |
| 325 content::RenderViewHost* render_view_host, | 316 RenderViewHost* render_view_host, |
| 326 const ViewHostMsg_FrameNavigate_Params& params) OVERRIDE; | 317 const ViewHostMsg_FrameNavigate_Params& params) OVERRIDE; |
| 327 virtual void UpdateState(content::RenderViewHost* render_view_host, | 318 virtual void UpdateState(RenderViewHost* render_view_host, |
| 328 int32 page_id, | 319 int32 page_id, |
| 329 const std::string& state) OVERRIDE; | 320 const std::string& state) OVERRIDE; |
| 330 virtual void UpdateTitle(content::RenderViewHost* render_view_host, | 321 virtual void UpdateTitle(RenderViewHost* render_view_host, |
| 331 int32 page_id, | 322 int32 page_id, |
| 332 const string16& title, | 323 const string16& title, |
| 333 base::i18n::TextDirection title_direction) OVERRIDE; | 324 base::i18n::TextDirection title_direction) OVERRIDE; |
| 334 virtual void UpdateEncoding(content::RenderViewHost* render_view_host, | 325 virtual void UpdateEncoding(RenderViewHost* render_view_host, |
| 335 const std::string& encoding) OVERRIDE; | 326 const std::string& encoding) OVERRIDE; |
| 336 virtual void UpdateTargetURL(int32 page_id, const GURL& url) OVERRIDE; | 327 virtual void UpdateTargetURL(int32 page_id, const GURL& url) OVERRIDE; |
| 337 virtual void Close(content::RenderViewHost* render_view_host) OVERRIDE; | 328 virtual void Close(RenderViewHost* render_view_host) OVERRIDE; |
| 338 virtual void RequestMove(const gfx::Rect& new_bounds) OVERRIDE; | 329 virtual void RequestMove(const gfx::Rect& new_bounds) OVERRIDE; |
| 339 virtual void SwappedOut(content::RenderViewHost* render_view_host) OVERRIDE; | 330 virtual void SwappedOut(RenderViewHost* render_view_host) OVERRIDE; |
| 340 virtual void DidStartLoading( | 331 virtual void DidStartLoading(RenderViewHost* render_view_host) OVERRIDE; |
| 341 content::RenderViewHost* render_view_host) OVERRIDE; | 332 virtual void DidStopLoading(RenderViewHost* render_view_host) OVERRIDE; |
| 342 virtual void DidStopLoading( | |
| 343 content::RenderViewHost* render_view_host) OVERRIDE; | |
| 344 virtual void DidCancelLoading() OVERRIDE; | 333 virtual void DidCancelLoading() OVERRIDE; |
| 345 virtual void DidChangeLoadProgress(double progress) OVERRIDE; | 334 virtual void DidChangeLoadProgress(double progress) OVERRIDE; |
| 346 virtual void DidUpdateFrameTree(content::RenderViewHost* rvh) OVERRIDE; | 335 virtual void DidUpdateFrameTree(RenderViewHost* rvh) OVERRIDE; |
| 347 virtual void DocumentAvailableInMainFrame( | 336 virtual void DocumentAvailableInMainFrame( |
| 348 content::RenderViewHost* render_view_host) OVERRIDE; | 337 RenderViewHost* render_view_host) OVERRIDE; |
| 349 virtual void DocumentOnLoadCompletedInMainFrame( | 338 virtual void DocumentOnLoadCompletedInMainFrame( |
| 350 content::RenderViewHost* render_view_host, | 339 RenderViewHost* render_view_host, |
| 351 int32 page_id) OVERRIDE; | 340 int32 page_id) OVERRIDE; |
| 352 virtual void RequestOpenURL(content::RenderViewHost* rvh, | 341 virtual void RequestOpenURL(RenderViewHost* rvh, |
| 353 const GURL& url, | 342 const GURL& url, |
| 354 const content::Referrer& referrer, | 343 const Referrer& referrer, |
| 355 WindowOpenDisposition disposition, | 344 WindowOpenDisposition disposition, |
| 356 int64 source_frame_id) OVERRIDE; | 345 int64 source_frame_id) OVERRIDE; |
| 357 virtual void RequestTransferURL( | 346 virtual void RequestTransferURL( |
| 358 const GURL& url, | 347 const GURL& url, |
| 359 const content::Referrer& referrer, | 348 const Referrer& referrer, |
| 360 WindowOpenDisposition disposition, | 349 WindowOpenDisposition disposition, |
| 361 int64 source_frame_id, | 350 int64 source_frame_id, |
| 362 const content::GlobalRequestID& transferred_global_request_id) OVERRIDE; | 351 const GlobalRequestID& transferred_global_request_id) OVERRIDE; |
| 363 virtual void RouteCloseEvent(content::RenderViewHost* rvh) OVERRIDE; | 352 virtual void RouteCloseEvent(RenderViewHost* rvh) OVERRIDE; |
| 364 virtual void RouteMessageEvent( | 353 virtual void RouteMessageEvent( |
| 365 content::RenderViewHost* rvh, | 354 RenderViewHost* rvh, |
| 366 const ViewMsg_PostMessage_Params& params) OVERRIDE; | 355 const ViewMsg_PostMessage_Params& params) OVERRIDE; |
| 367 virtual void RunJavaScriptMessage(content::RenderViewHost* rvh, | 356 virtual void RunJavaScriptMessage(RenderViewHost* rvh, |
| 368 const string16& message, | 357 const string16& message, |
| 369 const string16& default_prompt, | 358 const string16& default_prompt, |
| 370 const GURL& frame_url, | 359 const GURL& frame_url, |
| 371 content::JavaScriptMessageType type, | 360 JavaScriptMessageType type, |
| 372 IPC::Message* reply_msg, | 361 IPC::Message* reply_msg, |
| 373 bool* did_suppress_message) OVERRIDE; | 362 bool* did_suppress_message) OVERRIDE; |
| 374 virtual void RunBeforeUnloadConfirm(content::RenderViewHost* rvh, | 363 virtual void RunBeforeUnloadConfirm(RenderViewHost* rvh, |
| 375 const string16& message, | 364 const string16& message, |
| 376 bool is_reload, | 365 bool is_reload, |
| 377 IPC::Message* reply_msg) OVERRIDE; | 366 IPC::Message* reply_msg) OVERRIDE; |
| 378 virtual bool AddMessageToConsole(int32 level, | 367 virtual bool AddMessageToConsole(int32 level, |
| 379 const string16& message, | 368 const string16& message, |
| 380 int32 line_no, | 369 int32 line_no, |
| 381 const string16& source_id) OVERRIDE; | 370 const string16& source_id) OVERRIDE; |
| 382 virtual content::RendererPreferences GetRendererPrefs( | 371 virtual RendererPreferences GetRendererPrefs( |
| 383 content::BrowserContext* browser_context) const OVERRIDE; | 372 BrowserContext* browser_context) const OVERRIDE; |
| 384 virtual webkit_glue::WebPreferences GetWebkitPrefs() OVERRIDE; | 373 virtual webkit_glue::WebPreferences GetWebkitPrefs() OVERRIDE; |
| 385 virtual void OnUserGesture() OVERRIDE; | 374 virtual void OnUserGesture() OVERRIDE; |
| 386 virtual void OnIgnoredUIEvent() OVERRIDE; | 375 virtual void OnIgnoredUIEvent() OVERRIDE; |
| 387 virtual void RendererUnresponsive(content::RenderViewHost* render_view_host, | 376 virtual void RendererUnresponsive(RenderViewHost* render_view_host, |
| 388 bool is_during_unload) OVERRIDE; | 377 bool is_during_unload) OVERRIDE; |
| 389 virtual void RendererResponsive( | 378 virtual void RendererResponsive(RenderViewHost* render_view_host) OVERRIDE; |
| 390 content::RenderViewHost* render_view_host) OVERRIDE; | |
| 391 virtual void LoadStateChanged(const GURL& url, | 379 virtual void LoadStateChanged(const GURL& url, |
| 392 const net::LoadStateWithParam& load_state, | 380 const net::LoadStateWithParam& load_state, |
| 393 uint64 upload_position, | 381 uint64 upload_position, |
| 394 uint64 upload_size) OVERRIDE; | 382 uint64 upload_size) OVERRIDE; |
| 395 virtual void WorkerCrashed() OVERRIDE; | 383 virtual void WorkerCrashed() OVERRIDE; |
| 396 virtual void Activate() OVERRIDE; | 384 virtual void Activate() OVERRIDE; |
| 397 virtual void Deactivate() OVERRIDE; | 385 virtual void Deactivate() OVERRIDE; |
| 398 virtual void LostCapture() OVERRIDE; | 386 virtual void LostCapture() OVERRIDE; |
| 399 virtual void HandleMouseDown() OVERRIDE; | 387 virtual void HandleMouseDown() OVERRIDE; |
| 400 virtual void HandleMouseUp() OVERRIDE; | 388 virtual void HandleMouseUp() OVERRIDE; |
| 401 virtual void HandlePointerActivate() OVERRIDE; | 389 virtual void HandlePointerActivate() OVERRIDE; |
| 402 virtual void HandleGestureBegin() OVERRIDE; | 390 virtual void HandleGestureBegin() OVERRIDE; |
| 403 virtual void HandleGestureEnd() OVERRIDE; | 391 virtual void HandleGestureEnd() OVERRIDE; |
| 404 virtual void RunFileChooser( | 392 virtual void RunFileChooser( |
| 405 content::RenderViewHost* render_view_host, | 393 RenderViewHost* render_view_host, |
| 406 const content::FileChooserParams& params) OVERRIDE; | 394 const FileChooserParams& params) OVERRIDE; |
| 407 virtual void ToggleFullscreenMode(bool enter_fullscreen) OVERRIDE; | 395 virtual void ToggleFullscreenMode(bool enter_fullscreen) OVERRIDE; |
| 408 virtual bool IsFullscreenForCurrentTab() const OVERRIDE; | 396 virtual bool IsFullscreenForCurrentTab() const OVERRIDE; |
| 409 virtual void UpdatePreferredSize(const gfx::Size& pref_size) OVERRIDE; | 397 virtual void UpdatePreferredSize(const gfx::Size& pref_size) OVERRIDE; |
| 410 virtual void ResizeDueToAutoResize(const gfx::Size& new_size) OVERRIDE; | 398 virtual void ResizeDueToAutoResize(const gfx::Size& new_size) OVERRIDE; |
| 411 virtual void RequestToLockMouse(bool user_gesture, | 399 virtual void RequestToLockMouse(bool user_gesture, |
| 412 bool last_unlocked_by_target) OVERRIDE; | 400 bool last_unlocked_by_target) OVERRIDE; |
| 413 virtual void LostMouseLock() OVERRIDE; | 401 virtual void LostMouseLock() OVERRIDE; |
| 414 virtual void CreateNewWindow( | 402 virtual void CreateNewWindow( |
| 415 int route_id, | 403 int route_id, |
| 416 const ViewHostMsg_CreateWindow_Params& params, | 404 const ViewHostMsg_CreateWindow_Params& params, |
| 417 content::SessionStorageNamespace* session_storage_namespace) OVERRIDE; | 405 SessionStorageNamespace* session_storage_namespace) OVERRIDE; |
| 418 virtual void CreateNewWidget(int route_id, | 406 virtual void CreateNewWidget(int route_id, |
| 419 WebKit::WebPopupType popup_type) OVERRIDE; | 407 WebKit::WebPopupType popup_type) OVERRIDE; |
| 420 virtual void CreateNewFullscreenWidget(int route_id) OVERRIDE; | 408 virtual void CreateNewFullscreenWidget(int route_id) OVERRIDE; |
| 421 virtual void ShowCreatedWindow(int route_id, | 409 virtual void ShowCreatedWindow(int route_id, |
| 422 WindowOpenDisposition disposition, | 410 WindowOpenDisposition disposition, |
| 423 const gfx::Rect& initial_pos, | 411 const gfx::Rect& initial_pos, |
| 424 bool user_gesture) OVERRIDE; | 412 bool user_gesture) OVERRIDE; |
| 425 virtual void ShowCreatedWidget(int route_id, | 413 virtual void ShowCreatedWidget(int route_id, |
| 426 const gfx::Rect& initial_pos) OVERRIDE; | 414 const gfx::Rect& initial_pos) OVERRIDE; |
| 427 virtual void ShowCreatedFullscreenWidget(int route_id) OVERRIDE; | 415 virtual void ShowCreatedFullscreenWidget(int route_id) OVERRIDE; |
| 428 virtual void ShowContextMenu( | 416 virtual void ShowContextMenu( |
| 429 const content::ContextMenuParams& params, | 417 const ContextMenuParams& params, |
| 430 content::ContextMenuSourceType type) OVERRIDE; | 418 ContextMenuSourceType type) OVERRIDE; |
| 431 virtual void RequestMediaAccessPermission( | 419 virtual void RequestMediaAccessPermission( |
| 432 const content::MediaStreamRequest* request, | 420 const MediaStreamRequest* request, |
| 433 const content::MediaResponseCallback& callback) OVERRIDE; | 421 const MediaResponseCallback& callback) OVERRIDE; |
| 434 | 422 |
| 435 #if defined(OS_ANDROID) | 423 #if defined(OS_ANDROID) |
| 436 virtual void AttachLayer(WebKit::WebLayer* layer) OVERRIDE; | 424 virtual void AttachLayer(WebKit::WebLayer* layer) OVERRIDE; |
| 437 virtual void RemoveLayer(WebKit::WebLayer* layer) OVERRIDE; | 425 virtual void RemoveLayer(WebKit::WebLayer* layer) OVERRIDE; |
| 438 #endif | 426 #endif |
| 439 | 427 |
| 440 // RenderWidgetHostDelegate -------------------------------------------------- | 428 // RenderWidgetHostDelegate -------------------------------------------------- |
| 441 | 429 |
| 442 virtual void RenderWidgetDeleted( | 430 virtual void RenderWidgetDeleted( |
| 443 content::RenderWidgetHostImpl* render_widget_host) OVERRIDE; | 431 RenderWidgetHostImpl* render_widget_host) OVERRIDE; |
| 444 virtual bool PreHandleKeyboardEvent( | 432 virtual bool PreHandleKeyboardEvent( |
| 445 const content::NativeWebKeyboardEvent& event, | 433 const NativeWebKeyboardEvent& event, |
| 446 bool* is_keyboard_shortcut) OVERRIDE; | 434 bool* is_keyboard_shortcut) OVERRIDE; |
| 447 virtual void HandleKeyboardEvent( | 435 virtual void HandleKeyboardEvent( |
| 448 const content::NativeWebKeyboardEvent& event) OVERRIDE; | 436 const NativeWebKeyboardEvent& event) OVERRIDE; |
| 449 | 437 |
| 450 // RenderViewHostManager::Delegate ------------------------------------------- | 438 // RenderViewHostManager::Delegate ------------------------------------------- |
| 451 | 439 |
| 452 virtual bool CreateRenderViewForRenderManager( | 440 virtual bool CreateRenderViewForRenderManager( |
| 453 content::RenderViewHost* render_view_host, int opener_route_id) OVERRIDE; | 441 RenderViewHost* render_view_host, int opener_route_id) OVERRIDE; |
| 454 virtual void BeforeUnloadFiredFromRenderManager( | 442 virtual void BeforeUnloadFiredFromRenderManager( |
| 455 bool proceed, const base::TimeTicks& proceed_time, | 443 bool proceed, const base::TimeTicks& proceed_time, |
| 456 bool* proceed_to_fire_unload) OVERRIDE; | 444 bool* proceed_to_fire_unload) OVERRIDE; |
| 457 virtual void RenderViewGoneFromRenderManager( | 445 virtual void RenderViewGoneFromRenderManager( |
| 458 content::RenderViewHost* render_view_host) OVERRIDE; | 446 RenderViewHost* render_view_host) OVERRIDE; |
| 459 virtual void UpdateRenderViewSizeForRenderManager() OVERRIDE; | 447 virtual void UpdateRenderViewSizeForRenderManager() OVERRIDE; |
| 460 virtual void NotifySwappedFromRenderManager() OVERRIDE; | 448 virtual void NotifySwappedFromRenderManager() OVERRIDE; |
| 461 virtual int CreateOpenerRenderViewsForRenderManager( | 449 virtual int CreateOpenerRenderViewsForRenderManager( |
| 462 content::SiteInstance* instance) OVERRIDE; | 450 SiteInstance* instance) OVERRIDE; |
| 463 virtual NavigationControllerImpl& GetControllerForRenderManager() OVERRIDE; | 451 virtual NavigationControllerImpl& |
| 452 GetControllerForRenderManager() OVERRIDE; |
| 464 virtual WebUIImpl* CreateWebUIForRenderManager(const GURL& url) OVERRIDE; | 453 virtual WebUIImpl* CreateWebUIForRenderManager(const GURL& url) OVERRIDE; |
| 465 virtual content::NavigationEntry* | 454 virtual NavigationEntry* |
| 466 GetLastCommittedNavigationEntryForRenderManager() OVERRIDE; | 455 GetLastCommittedNavigationEntryForRenderManager() OVERRIDE; |
| 467 virtual bool FocusLocationBarByDefault() OVERRIDE; | 456 virtual bool FocusLocationBarByDefault() OVERRIDE; |
| 468 virtual void SetFocusToLocationBar(bool select_all) OVERRIDE; | 457 virtual void SetFocusToLocationBar(bool select_all) OVERRIDE; |
| 469 virtual void CreateViewAndSetSizeForRVH( | 458 virtual void CreateViewAndSetSizeForRVH(RenderViewHost* rvh) OVERRIDE; |
| 470 content::RenderViewHost* rvh) OVERRIDE; | |
| 471 | 459 |
| 472 // content::NotificationObserver --------------------------------------------- | 460 // NotificationObserver ------------------------------------------------------ |
| 473 | 461 |
| 474 virtual void Observe(int type, | 462 virtual void Observe(int type, |
| 475 const content::NotificationSource& source, | 463 const NotificationSource& source, |
| 476 const content::NotificationDetails& details) OVERRIDE; | 464 const NotificationDetails& details) OVERRIDE; |
| 477 | 465 |
| 478 | 466 |
| 479 private: | 467 private: |
| 480 friend class NavigationControllerImpl; | 468 friend class NavigationControllerImpl; |
| 481 friend class content::WebContentsObserver; | 469 friend class WebContentsObserver; |
| 482 friend class content::WebContents; // To implement factory methods. | 470 friend class WebContents; // To implement factory methods. |
| 483 | 471 |
| 484 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, NoJSMessageOnInterstitials); | 472 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, NoJSMessageOnInterstitials); |
| 485 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, UpdateTitle); | 473 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, UpdateTitle); |
| 486 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, | 474 FRIEND_TEST_ALL_PREFIXES(WebContentsImplTest, |
| 487 CrossSiteCantPreemptAfterUnload); | 475 CrossSiteCantPreemptAfterUnload); |
| 488 FRIEND_TEST_ALL_PREFIXES(FormStructureBrowserTest, HTMLFiles); | 476 FRIEND_TEST_ALL_PREFIXES(FormStructureBrowserTest, HTMLFiles); |
| 489 FRIEND_TEST_ALL_PREFIXES(NavigationControllerTest, HistoryNavigate); | 477 FRIEND_TEST_ALL_PREFIXES(NavigationControllerTest, HistoryNavigate); |
| 490 FRIEND_TEST_ALL_PREFIXES(RenderViewHostManagerTest, PageDoesBackAndReload); | 478 FRIEND_TEST_ALL_PREFIXES(RenderViewHostManagerTest, PageDoesBackAndReload); |
| 491 | 479 |
| 492 // So InterstitialPageImpl can access SetIsLoading. | 480 // So InterstitialPageImpl can access SetIsLoading. |
| 493 friend class InterstitialPageImpl; | 481 friend class InterstitialPageImpl; |
| 494 | 482 |
| 495 // TODO(brettw) TestWebContents shouldn't exist! | 483 // TODO(brettw) TestWebContents shouldn't exist! |
| 496 friend class content::TestWebContents; | 484 friend class TestWebContents; |
| 497 | 485 |
| 498 // See WebContents::Create for a description of these parameters. | 486 // See WebContents::Create for a description of these parameters. |
| 499 WebContentsImpl(content::BrowserContext* browser_context, | 487 WebContentsImpl(BrowserContext* browser_context, |
| 500 WebContentsImpl* opener); | 488 WebContentsImpl* opener); |
| 501 | 489 |
| 502 // Add and remove observers for page navigation notifications. Adding or | 490 // Add and remove observers for page navigation notifications. Adding or |
| 503 // removing multiple times has no effect. The order in which notifications | 491 // removing multiple times has no effect. The order in which notifications |
| 504 // are sent to observers is undefined. Clients must be sure to remove the | 492 // are sent to observers is undefined. Clients must be sure to remove the |
| 505 // observer before they go away. | 493 // observer before they go away. |
| 506 void AddObserver(content::WebContentsObserver* observer); | 494 void AddObserver(WebContentsObserver* observer); |
| 507 void RemoveObserver(content::WebContentsObserver* observer); | 495 void RemoveObserver(WebContentsObserver* observer); |
| 508 | 496 |
| 509 // Clears this tab's opener if it has been closed. | 497 // Clears this tab's opener if it has been closed. |
| 510 void OnWebContentsDestroyed(content::WebContents* web_contents); | 498 void OnWebContentsDestroyed(WebContents* web_contents); |
| 511 | 499 |
| 512 // Callback function when showing JS dialogs. | 500 // Callback function when showing JS dialogs. |
| 513 void OnDialogClosed(content::RenderViewHost* rvh, | 501 void OnDialogClosed(RenderViewHost* rvh, |
| 514 IPC::Message* reply_msg, | 502 IPC::Message* reply_msg, |
| 515 bool success, | 503 bool success, |
| 516 const string16& user_input); | 504 const string16& user_input); |
| 517 | 505 |
| 518 // Callback function when requesting permission to access the PPAPI broker. | 506 // Callback function when requesting permission to access the PPAPI broker. |
| 519 // |result| is true if permission was granted. | 507 // |result| is true if permission was granted. |
| 520 void OnPpapiBrokerPermissionResult(int request_id, bool result); | 508 void OnPpapiBrokerPermissionResult(int request_id, bool result); |
| 521 | 509 |
| 522 // IPC message handlers. | 510 // IPC message handlers. |
| 523 void OnRegisterIntentService(const webkit_glue::WebIntentServiceData& data, | 511 void OnRegisterIntentService(const webkit_glue::WebIntentServiceData& data, |
| (...skipping 15 matching lines...) Expand all Loading... |
| 539 void OnDidFailLoadWithError(int64 frame_id, | 527 void OnDidFailLoadWithError(int64 frame_id, |
| 540 const GURL& validated_url, | 528 const GURL& validated_url, |
| 541 bool is_main_frame, | 529 bool is_main_frame, |
| 542 int error_code, | 530 int error_code, |
| 543 const string16& error_description); | 531 const string16& error_description); |
| 544 void OnUpdateContentRestrictions(int restrictions); | 532 void OnUpdateContentRestrictions(int restrictions); |
| 545 void OnGoToEntryAtOffset(int offset); | 533 void OnGoToEntryAtOffset(int offset); |
| 546 void OnUpdateZoomLimits(int minimum_percent, | 534 void OnUpdateZoomLimits(int minimum_percent, |
| 547 int maximum_percent, | 535 int maximum_percent, |
| 548 bool remember); | 536 bool remember); |
| 549 void OnSaveURL(const GURL& url, const content::Referrer& referrer); | 537 void OnSaveURL(const GURL& url, const Referrer& referrer); |
| 550 void OnEnumerateDirectory(int request_id, const FilePath& path); | 538 void OnEnumerateDirectory(int request_id, const FilePath& path); |
| 551 void OnJSOutOfMemory(); | 539 void OnJSOutOfMemory(); |
| 552 | 540 |
| 553 void OnRegisterProtocolHandler(const std::string& protocol, | 541 void OnRegisterProtocolHandler(const std::string& protocol, |
| 554 const GURL& url, | 542 const GURL& url, |
| 555 const string16& title, | 543 const string16& title, |
| 556 bool user_gesture); | 544 bool user_gesture); |
| 557 void OnFindReply(int request_id, | 545 void OnFindReply(int request_id, |
| 558 int number_of_matches, | 546 int number_of_matches, |
| 559 const gfx::Rect& selection_rect, | 547 const gfx::Rect& selection_rect, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 579 const GURL& url, | 567 const GURL& url, |
| 580 const FilePath& plugin_path); | 568 const FilePath& plugin_path); |
| 581 void OnBrowserPluginCreateGuest(int instance_id, | 569 void OnBrowserPluginCreateGuest(int instance_id, |
| 582 const std::string& storage_partition_id, | 570 const std::string& storage_partition_id, |
| 583 bool persist_storage); | 571 bool persist_storage); |
| 584 | 572 |
| 585 // Changes the IsLoading state and notifies delegate as needed | 573 // Changes the IsLoading state and notifies delegate as needed |
| 586 // |details| is used to provide details on the load that just finished | 574 // |details| is used to provide details on the load that just finished |
| 587 // (but can be null if not applicable). Can be overridden. | 575 // (but can be null if not applicable). Can be overridden. |
| 588 void SetIsLoading(bool is_loading, | 576 void SetIsLoading(bool is_loading, |
| 589 content::LoadNotificationDetails* details); | 577 LoadNotificationDetails* details); |
| 590 | 578 |
| 591 // Called by derived classes to indicate that we're no longer waiting for a | 579 // Called by derived classes to indicate that we're no longer waiting for a |
| 592 // response. This won't actually update the throbber, but it will get picked | 580 // response. This won't actually update the throbber, but it will get picked |
| 593 // up at the next animation step if the throbber is going. | 581 // up at the next animation step if the throbber is going. |
| 594 void SetNotWaitingForResponse() { waiting_for_response_ = false; } | 582 void SetNotWaitingForResponse() { waiting_for_response_ = false; } |
| 595 | 583 |
| 596 // Navigation helpers -------------------------------------------------------- | 584 // Navigation helpers -------------------------------------------------------- |
| 597 // | 585 // |
| 598 // These functions are helpers for Navigate() and DidNavigate(). | 586 // These functions are helpers for Navigate() and DidNavigate(). |
| 599 | 587 |
| 600 // Handles post-navigation tasks in DidNavigate AFTER the entry has been | 588 // Handles post-navigation tasks in DidNavigate AFTER the entry has been |
| 601 // committed to the navigation controller. Note that the navigation entry is | 589 // committed to the navigation controller. Note that the navigation entry is |
| 602 // not provided since it may be invalid/changed after being committed. The | 590 // not provided since it may be invalid/changed after being committed. The |
| 603 // current navigation entry is in the NavigationController at this point. | 591 // current navigation entry is in the NavigationController at this point. |
| 604 void DidNavigateMainFramePostCommit( | 592 void DidNavigateMainFramePostCommit( |
| 605 const content::LoadCommittedDetails& details, | 593 const LoadCommittedDetails& details, |
| 606 const ViewHostMsg_FrameNavigate_Params& params); | 594 const ViewHostMsg_FrameNavigate_Params& params); |
| 607 void DidNavigateAnyFramePostCommit( | 595 void DidNavigateAnyFramePostCommit( |
| 608 content::RenderViewHost* render_view_host, | 596 RenderViewHost* render_view_host, |
| 609 const content::LoadCommittedDetails& details, | 597 const LoadCommittedDetails& details, |
| 610 const ViewHostMsg_FrameNavigate_Params& params); | 598 const ViewHostMsg_FrameNavigate_Params& params); |
| 611 | 599 |
| 612 // If our controller was restored, update the max page ID associated with the | 600 // If our controller was restored, update the max page ID associated with the |
| 613 // given RenderViewHost to be larger than the number of restored entries. | 601 // given RenderViewHost to be larger than the number of restored entries. |
| 614 // This is called in CreateRenderView before any navigations in the RenderView | 602 // This is called in CreateRenderView before any navigations in the RenderView |
| 615 // have begun, to prevent any races in updating RenderView::next_page_id. | 603 // have begun, to prevent any races in updating RenderView::next_page_id. |
| 616 void UpdateMaxPageIDIfNecessary(content::RenderViewHost* rvh); | 604 void UpdateMaxPageIDIfNecessary(RenderViewHost* rvh); |
| 617 | 605 |
| 618 // Saves the given title to the navigation entry and does associated work. It | 606 // Saves the given title to the navigation entry and does associated work. It |
| 619 // will update history and the view for the new title, and also synthesize | 607 // will update history and the view for the new title, and also synthesize |
| 620 // titles for file URLs that have none (so we require that the URL of the | 608 // titles for file URLs that have none (so we require that the URL of the |
| 621 // entry already be set). | 609 // entry already be set). |
| 622 // | 610 // |
| 623 // This is used as the backend for state updates, which include a new title, | 611 // This is used as the backend for state updates, which include a new title, |
| 624 // or the dedicated set title message. It returns true if the new title is | 612 // or the dedicated set title message. It returns true if the new title is |
| 625 // different and was therefore updated. | 613 // different and was therefore updated. |
| 626 bool UpdateTitleForEntry(content::NavigationEntryImpl* entry, | 614 bool UpdateTitleForEntry(NavigationEntryImpl* entry, |
| 627 const string16& title); | 615 const string16& title); |
| 628 | 616 |
| 629 // Causes the WebContentsImpl to navigate in the right renderer to |entry|, | 617 // Causes the WebContentsImpl to navigate in the right renderer to |entry|, |
| 630 // which must be already part of the entries in the navigation controller. | 618 // which must be already part of the entries in the navigation controller. |
| 631 // This does not change the NavigationController state. | 619 // This does not change the NavigationController state. |
| 632 bool NavigateToEntry(const content::NavigationEntryImpl& entry, | 620 bool NavigateToEntry(const NavigationEntryImpl& entry, |
| 633 content::NavigationController::ReloadType reload_type); | 621 NavigationController::ReloadType reload_type); |
| 634 | 622 |
| 635 // Sets the history for this WebContentsImpl to |history_length| entries, and | 623 // Sets the history for this WebContentsImpl to |history_length| entries, and |
| 636 // moves the current page_id to the last entry in the list if it's valid. | 624 // moves the current page_id to the last entry in the list if it's valid. |
| 637 // This is mainly used when a prerendered page is swapped into the current | 625 // This is mainly used when a prerendered page is swapped into the current |
| 638 // tab. The method is virtual for testing. | 626 // tab. The method is virtual for testing. |
| 639 virtual void SetHistoryLengthAndPrune( | 627 virtual void SetHistoryLengthAndPrune( |
| 640 const content::SiteInstance* site_instance, | 628 const SiteInstance* site_instance, |
| 641 int merge_history_length, | 629 int merge_history_length, |
| 642 int32 minimum_page_id); | 630 int32 minimum_page_id); |
| 643 | 631 |
| 644 // Recursively creates swapped out RenderViews for this tab's opener chain | 632 // Recursively creates swapped out RenderViews for this tab's opener chain |
| 645 // (including this tab) in the given SiteInstance, allowing other tabs to send | 633 // (including this tab) in the given SiteInstance, allowing other tabs to send |
| 646 // cross-process JavaScript calls to their opener(s). Returns the route ID of | 634 // cross-process JavaScript calls to their opener(s). Returns the route ID of |
| 647 // this tab's RenderView for |instance|. | 635 // this tab's RenderView for |instance|. |
| 648 int CreateOpenerRenderViews(content::SiteInstance* instance); | 636 int CreateOpenerRenderViews(SiteInstance* instance); |
| 649 | 637 |
| 650 // Helper for CreateNewWidget/CreateNewFullscreenWidget. | 638 // Helper for CreateNewWidget/CreateNewFullscreenWidget. |
| 651 void CreateNewWidget(int route_id, | 639 void CreateNewWidget(int route_id, |
| 652 bool is_fullscreen, | 640 bool is_fullscreen, |
| 653 WebKit::WebPopupType popup_type); | 641 WebKit::WebPopupType popup_type); |
| 654 | 642 |
| 655 // Helper for ShowCreatedWidget/ShowCreatedFullscreenWidget. | 643 // Helper for ShowCreatedWidget/ShowCreatedFullscreenWidget. |
| 656 void ShowCreatedWidget(int route_id, | 644 void ShowCreatedWidget(int route_id, |
| 657 bool is_fullscreen, | 645 bool is_fullscreen, |
| 658 const gfx::Rect& initial_pos); | 646 const gfx::Rect& initial_pos); |
| 659 | 647 |
| 660 // Finds the new RenderWidgetHost and returns it. Note that this can only be | 648 // Finds the new RenderWidgetHost and returns it. Note that this can only be |
| 661 // called once as this call also removes it from the internal map. | 649 // called once as this call also removes it from the internal map. |
| 662 content::RenderWidgetHostView* GetCreatedWidget(int route_id); | 650 RenderWidgetHostView* GetCreatedWidget(int route_id); |
| 663 | 651 |
| 664 // Finds the new WebContentsImpl by route_id, initializes it for | 652 // Finds the new WebContentsImpl by route_id, initializes it for |
| 665 // renderer-initiated creation, and returns it. Note that this can only be | 653 // renderer-initiated creation, and returns it. Note that this can only be |
| 666 // called once as this call also removes it from the internal map. | 654 // called once as this call also removes it from the internal map. |
| 667 WebContentsImpl* GetCreatedWindow(int route_id); | 655 WebContentsImpl* GetCreatedWindow(int route_id); |
| 668 | 656 |
| 669 // Misc non-view stuff ------------------------------------------------------- | 657 // Misc non-view stuff ------------------------------------------------------- |
| 670 | 658 |
| 671 // Helper functions for sending notifications. | 659 // Helper functions for sending notifications. |
| 672 void NotifySwapped(); | 660 void NotifySwapped(); |
| 673 void NotifyConnected(); | 661 void NotifyConnected(); |
| 674 void NotifyDisconnected(); | 662 void NotifyDisconnected(); |
| 675 | 663 |
| 676 void SetEncoding(const std::string& encoding); | 664 void SetEncoding(const std::string& encoding); |
| 677 | 665 |
| 678 // Save a URL to the local filesystem. | 666 // Save a URL to the local filesystem. |
| 679 void SaveURL(const GURL& url, | 667 void SaveURL(const GURL& url, |
| 680 const content::Referrer& referrer, | 668 const Referrer& referrer, |
| 681 bool is_main_frame); | 669 bool is_main_frame); |
| 682 | 670 |
| 683 content::RenderViewHostImpl* GetRenderViewHostImpl(); | 671 RenderViewHostImpl* GetRenderViewHostImpl(); |
| 684 | 672 |
| 685 void GetBrowserPluginEmbedderInfo(content::RenderViewHost* render_view_host, | 673 void GetBrowserPluginEmbedderInfo(RenderViewHost* render_view_host, |
| 686 std::string* embedder_channel_name, | 674 std::string* embedder_channel_name, |
| 687 int* embedder_container_id); | 675 int* embedder_container_id); |
| 688 | 676 |
| 689 // Removes browser plugin embedder if there is one. | 677 // Removes browser plugin embedder if there is one. |
| 690 void RemoveBrowserPluginEmbedder(); | 678 void RemoveBrowserPluginEmbedder(); |
| 691 | 679 |
| 692 // Data for core operation --------------------------------------------------- | 680 // Data for core operation --------------------------------------------------- |
| 693 | 681 |
| 694 // Delegate for notifying our owner about stuff. Not owned by us. | 682 // Delegate for notifying our owner about stuff. Not owned by us. |
| 695 content::WebContentsDelegate* delegate_; | 683 WebContentsDelegate* delegate_; |
| 696 | 684 |
| 697 // Handles the back/forward list and loading. | 685 // Handles the back/forward list and loading. |
| 698 NavigationControllerImpl controller_; | 686 NavigationControllerImpl controller_; |
| 699 | 687 |
| 700 // The corresponding view. | 688 // The corresponding view. |
| 701 scoped_ptr<content::WebContentsView> view_; | 689 scoped_ptr<WebContentsView> view_; |
| 702 | 690 |
| 703 // The view of the RVHD. Usually this is our WebContentsView implementation, | 691 // The view of the RVHD. Usually this is our WebContentsView implementation, |
| 704 // but if an embedder uses a different WebContentsView, they'll need to | 692 // but if an embedder uses a different WebContentsView, they'll need to |
| 705 // provide this. | 693 // provide this. |
| 706 content::RenderViewHostDelegateView* render_view_host_delegate_view_; | 694 RenderViewHostDelegateView* render_view_host_delegate_view_; |
| 707 | 695 |
| 708 // Tracks created WebContentsImpl objects that have not been shown yet. They | 696 // Tracks created WebContentsImpl objects that have not been shown yet. They |
| 709 // are identified by the route ID passed to CreateNewWindow. | 697 // are identified by the route ID passed to CreateNewWindow. |
| 710 typedef std::map<int, WebContentsImpl*> PendingContents; | 698 typedef std::map<int, WebContentsImpl*> PendingContents; |
| 711 PendingContents pending_contents_; | 699 PendingContents pending_contents_; |
| 712 | 700 |
| 713 // These maps hold on to the widgets that we created on behalf of the renderer | 701 // These maps hold on to the widgets that we created on behalf of the renderer |
| 714 // that haven't shown yet. | 702 // that haven't shown yet. |
| 715 typedef std::map<int, content::RenderWidgetHostView*> PendingWidgetViews; | 703 typedef std::map<int, RenderWidgetHostView*> PendingWidgetViews; |
| 716 PendingWidgetViews pending_widget_views_; | 704 PendingWidgetViews pending_widget_views_; |
| 717 | 705 |
| 718 // A list of observers notified when page state changes. Weak references. | 706 // A list of observers notified when page state changes. Weak references. |
| 719 // This MUST be listed above render_manager_ since at destruction time the | 707 // This MUST be listed above render_manager_ since at destruction time the |
| 720 // latter might cause RenderViewHost's destructor to call us and we might use | 708 // latter might cause RenderViewHost's destructor to call us and we might use |
| 721 // the observer list then. | 709 // the observer list then. |
| 722 ObserverList<content::WebContentsObserver> observers_; | 710 ObserverList<WebContentsObserver> observers_; |
| 723 | 711 |
| 724 // The tab that opened this tab, if any. Will be set to null if the opener | 712 // The tab that opened this tab, if any. Will be set to null if the opener |
| 725 // is closed. | 713 // is closed. |
| 726 WebContentsImpl* opener_; | 714 WebContentsImpl* opener_; |
| 727 | 715 |
| 728 // Helper classes ------------------------------------------------------------ | 716 // Helper classes ------------------------------------------------------------ |
| 729 | 717 |
| 730 // Manages creation and swapping of render views. | 718 // Manages creation and swapping of render views. |
| 731 RenderViewHostManager render_manager_; | 719 RenderViewHostManager render_manager_; |
| 732 | 720 |
| 733 // Manages injecting Java objects into all RenderViewHosts associated with | 721 // Manages injecting Java objects into all RenderViewHosts associated with |
| 734 // this WebContentsImpl. | 722 // this WebContentsImpl. |
| 735 scoped_ptr<JavaBridgeDispatcherHostManager> | 723 scoped_ptr<JavaBridgeDispatcherHostManager> |
| 736 java_bridge_dispatcher_host_manager_; | 724 java_bridge_dispatcher_host_manager_; |
| 737 | 725 |
| 738 // TODO(fsamuel): Remove this once upstreaming of the new browser plugin | 726 // TODO(fsamuel): Remove this once upstreaming of the new browser plugin |
| 739 // implementation is complete. | 727 // implementation is complete. |
| 740 // Manages the browser plugin instances hosted by this WebContents. | 728 // Manages the browser plugin instances hosted by this WebContents. |
| 741 scoped_ptr<content::old::BrowserPluginHost> old_browser_plugin_host_; | 729 scoped_ptr<old::BrowserPluginHost> old_browser_plugin_host_; |
| 742 | 730 |
| 743 // SavePackage, lazily created. | 731 // SavePackage, lazily created. |
| 744 scoped_refptr<SavePackage> save_package_; | 732 scoped_refptr<SavePackage> save_package_; |
| 745 | 733 |
| 746 // Data for loading state ---------------------------------------------------- | 734 // Data for loading state ---------------------------------------------------- |
| 747 | 735 |
| 748 // Indicates whether we're currently loading a resource. | 736 // Indicates whether we're currently loading a resource. |
| 749 bool is_loading_; | 737 bool is_loading_; |
| 750 | 738 |
| 751 // Indicates if the tab is considered crashed. | 739 // Indicates if the tab is considered crashed. |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 797 bool is_being_destroyed_; | 785 bool is_being_destroyed_; |
| 798 | 786 |
| 799 // Indicates whether we should notify about disconnection of this | 787 // Indicates whether we should notify about disconnection of this |
| 800 // WebContentsImpl. This is used to ensure disconnection notifications only | 788 // WebContentsImpl. This is used to ensure disconnection notifications only |
| 801 // happen if a connection notification has happened and that they happen only | 789 // happen if a connection notification has happened and that they happen only |
| 802 // once. | 790 // once. |
| 803 bool notify_disconnection_; | 791 bool notify_disconnection_; |
| 804 | 792 |
| 805 // Pointer to the JavaScript dialog creator, lazily assigned. Used because the | 793 // Pointer to the JavaScript dialog creator, lazily assigned. Used because the |
| 806 // delegate of this WebContentsImpl is nulled before its destructor is called. | 794 // delegate of this WebContentsImpl is nulled before its destructor is called. |
| 807 content::JavaScriptDialogCreator* dialog_creator_; | 795 JavaScriptDialogCreator* dialog_creator_; |
| 808 | 796 |
| 809 #if defined(OS_WIN) | 797 #if defined(OS_WIN) |
| 810 // Handle to an event that's set when the page is showing a message box (or | 798 // Handle to an event that's set when the page is showing a message box (or |
| 811 // equivalent constrained window). Plugin processes check this to know if | 799 // equivalent constrained window). Plugin processes check this to know if |
| 812 // they should pump messages then. | 800 // they should pump messages then. |
| 813 base::win::ScopedHandle message_box_active_; | 801 base::win::ScopedHandle message_box_active_; |
| 814 #endif | 802 #endif |
| 815 | 803 |
| 816 // Set to true when there is an active "before unload" dialog. When true, | 804 // Set to true when there is an active "before unload" dialog. When true, |
| 817 // we've forced the throbber to start in Navigate, and we need to remember to | 805 // we've forced the throbber to start in Navigate, and we need to remember to |
| 818 // turn it off in OnJavaScriptMessageBoxClosed if the navigation is canceled. | 806 // turn it off in OnJavaScriptMessageBoxClosed if the navigation is canceled. |
| 819 bool is_showing_before_unload_dialog_; | 807 bool is_showing_before_unload_dialog_; |
| 820 | 808 |
| 821 // Settings that get passed to the renderer process. | 809 // Settings that get passed to the renderer process. |
| 822 content::RendererPreferences renderer_preferences_; | 810 RendererPreferences renderer_preferences_; |
| 823 | 811 |
| 824 // If this tab was created from a renderer using window.open, this will be | 812 // If this tab was created from a renderer using window.open, this will be |
| 825 // non-NULL and represent the WebUI of the opening renderer. | 813 // non-NULL and represent the WebUI of the opening renderer. |
| 826 content::WebUI::TypeID opener_web_ui_type_; | 814 WebUI::TypeID opener_web_ui_type_; |
| 827 | 815 |
| 828 // The time that we started to create the new tab page. | 816 // The time that we started to create the new tab page. |
| 829 base::TimeTicks new_tab_start_time_; | 817 base::TimeTicks new_tab_start_time_; |
| 830 | 818 |
| 831 // The time that we started to close this WebContents. | 819 // The time that we started to close this WebContents. |
| 832 base::TimeTicks close_start_time_; | 820 base::TimeTicks close_start_time_; |
| 833 | 821 |
| 834 // The time when onbeforeunload ended. | 822 // The time when onbeforeunload ended. |
| 835 base::TimeTicks before_unload_end_time_; | 823 base::TimeTicks before_unload_end_time_; |
| 836 | 824 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 849 bool temporary_zoom_settings_; | 837 bool temporary_zoom_settings_; |
| 850 | 838 |
| 851 // The intrinsic size of the page. | 839 // The intrinsic size of the page. |
| 852 gfx::Size preferred_size_; | 840 gfx::Size preferred_size_; |
| 853 | 841 |
| 854 // Content restrictions, used to disable print/copy etc based on content's | 842 // Content restrictions, used to disable print/copy etc based on content's |
| 855 // (full-page plugins for now only) permissions. | 843 // (full-page plugins for now only) permissions. |
| 856 int content_restrictions_; | 844 int content_restrictions_; |
| 857 | 845 |
| 858 // Color chooser that was opened by this tab. | 846 // Color chooser that was opened by this tab. |
| 859 content::ColorChooser* color_chooser_; | 847 ColorChooser* color_chooser_; |
| 860 | 848 |
| 861 // Manages the embedder state for browser plugins, if this WebContents is an | 849 // Manages the embedder state for browser plugins, if this WebContents is an |
| 862 // embedder; NULL otherwise. | 850 // embedder; NULL otherwise. |
| 863 scoped_ptr<content::BrowserPluginEmbedder> browser_plugin_embedder_; | 851 scoped_ptr<BrowserPluginEmbedder> browser_plugin_embedder_; |
| 864 // Manages the guest state for browser plugin, if this WebContents is a guest; | 852 // Manages the guest state for browser plugin, if this WebContents is a guest; |
| 865 // NULL otherwise. | 853 // NULL otherwise. |
| 866 scoped_ptr<content::BrowserPluginGuest> browser_plugin_guest_; | 854 scoped_ptr<BrowserPluginGuest> browser_plugin_guest_; |
| 867 | 855 |
| 868 // This must be at the end, or else we might get notifications and use other | 856 // This must be at the end, or else we might get notifications and use other |
| 869 // member variables that are gone. | 857 // member variables that are gone. |
| 870 content::NotificationRegistrar registrar_; | 858 NotificationRegistrar registrar_; |
| 871 | 859 |
| 872 // Used during IPC message dispatching so that the handlers can get a pointer | 860 // Used during IPC message dispatching so that the handlers can get a pointer |
| 873 // to the RVH through which the message was received. | 861 // to the RVH through which the message was received. |
| 874 content::RenderViewHost* message_source_; | 862 RenderViewHost* message_source_; |
| 875 | 863 |
| 876 // All live RenderWidgetHostImpls that are created by this object and may | 864 // All live RenderWidgetHostImpls that are created by this object and may |
| 877 // outlive it. | 865 // outlive it. |
| 878 std::set<content::RenderWidgetHostImpl*> created_widgets_; | 866 std::set<RenderWidgetHostImpl*> created_widgets_; |
| 879 | 867 |
| 880 DISALLOW_COPY_AND_ASSIGN(WebContentsImpl); | 868 DISALLOW_COPY_AND_ASSIGN(WebContentsImpl); |
| 881 }; | 869 }; |
| 882 | 870 |
| 871 } // namespace content |
| 872 |
| 883 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ | 873 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ |
| OLD | NEW |