diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-18 08:17:44 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-18 08:17:44 +0000 |
commit | 0dd3a0ab424a01e887ac7f69dbbae6aaee6843c0 (patch) | |
tree | e29d015f414f9a33fff40171b743261bd9f3c82f /chrome/browser/tab_contents/background_contents.h | |
parent | 9f60a236323e348ab1a0343d6acdafa99125ac3b (diff) | |
download | chromium_src-0dd3a0ab424a01e887ac7f69dbbae6aaee6843c0.zip chromium_src-0dd3a0ab424a01e887ac7f69dbbae6aaee6843c0.tar.gz chromium_src-0dd3a0ab424a01e887ac7f69dbbae6aaee6843c0.tar.bz2 |
Start moving core pieces of Chrome multi-process code to src\content. I'm starting with tab_contents directory.In future changes the headers that include these files will be updated. Once all the files are moved (i.e. renderer_host, rest of browser, renderer etc), then refactoring can begin so that content\DEPS doesn't have chrome in it.
Review URL: http://codereview.chromium.org/6537015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75369 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/tab_contents/background_contents.h')
-rw-r--r-- | chrome/browser/tab_contents/background_contents.h | 178 |
1 files changed, 2 insertions, 176 deletions
diff --git a/chrome/browser/tab_contents/background_contents.h b/chrome/browser/tab_contents/background_contents.h index 11aa3e2..ea0d6ab 100644 --- a/chrome/browser/tab_contents/background_contents.h +++ b/chrome/browser/tab_contents/background_contents.h @@ -6,181 +6,7 @@ #define CHROME_BROWSER_TAB_CONTENTS_BACKGROUND_CONTENTS_H_ #pragma once -#include <string> -#include <vector> - -#include "chrome/browser/renderer_host/render_view_host_delegate.h" -#include "chrome/browser/tab_contents/render_view_host_delegate_helper.h" -#include "chrome/browser/ui/app_modal_dialogs/js_modal_dialog.h" -#include "chrome/common/notification_registrar.h" -#include "chrome/common/view_types.h" -#include "chrome/common/window_container_type.h" -#include "webkit/glue/window_open_disposition.h" - -class TabContents; -struct WebPreferences; -class DesktopNotificationHandler; - -namespace gfx { -class Rect; -} - -// This class is a peer of TabContents. It can host a renderer, but does not -// have any visible display. Its navigation is not managed by a -// NavigationController because is has no facility for navigating (other than -// programatically view window.location.href) or RenderViewHostManager because -// it is never allowed to navigate across a SiteInstance boundary. -class BackgroundContents : public RenderViewHostDelegate, - public RenderViewHostDelegate::View, - public NotificationObserver, - public JavaScriptAppModalDialogDelegate { - public: - class Delegate { - public: - // Called by ShowCreatedWindow. Asks the delegate to attach the opened - // TabContents to a suitable container (e.g. browser) or to show it if it's - // a popup window. - virtual void AddTabContents(TabContents* new_contents, - WindowOpenDisposition disposition, - const gfx::Rect& initial_pos, - bool user_gesture) = 0; - - protected: - virtual ~Delegate() {} - }; - - BackgroundContents(SiteInstance* site_instance, - int routing_id, - Delegate* delegate); - virtual ~BackgroundContents(); - - // Provide access to the RenderViewHost for the - // RenderViewHostDelegateViewHelper - RenderViewHost* render_view_host() { return render_view_host_; } - - // RenderViewHostDelegate implementation. - virtual BackgroundContents* GetAsBackgroundContents(); - virtual RenderViewHostDelegate::View* GetViewDelegate(); - virtual const GURL& GetURL() const; - virtual ViewType::Type GetRenderViewType() const; - virtual int GetBrowserWindowID() const; - virtual void DidNavigate(RenderViewHost* render_view_host, - const ViewHostMsg_FrameNavigate_Params& params); - virtual WebPreferences GetWebkitPrefs(); - virtual void ProcessWebUIMessage(const ViewHostMsg_DomMessage_Params& params); - virtual void RunJavaScriptMessage(const std::wstring& message, - const std::wstring& default_prompt, - const GURL& frame_url, - const int flags, - IPC::Message* reply_msg, - bool* did_suppress_message); - virtual void Close(RenderViewHost* render_view_host); - virtual RendererPreferences GetRendererPrefs(Profile* profile) const; - virtual void RenderViewGone(RenderViewHost* rvh, - base::TerminationStatus status, - int error_code); - virtual bool OnMessageReceived(const IPC::Message& message); - - // RenderViewHostDelegate::View - virtual void CreateNewWindow( - int route_id, - const ViewHostMsg_CreateWindow_Params& params); - virtual void CreateNewWidget(int route_id, WebKit::WebPopupType popup_type); - virtual void CreateNewFullscreenWidget(int route_id); - virtual void ShowCreatedWindow(int route_id, - WindowOpenDisposition disposition, - const gfx::Rect& initial_pos, - bool user_gesture); - virtual void ShowCreatedWidget(int route_id, - const gfx::Rect& initial_pos); - virtual void ShowCreatedFullscreenWidget(int route_id); - virtual void ShowContextMenu(const ContextMenuParams& params) {} - virtual void ShowPopupMenu(const gfx::Rect& bounds, - int item_height, - double item_font_size, - int selected_item, - const std::vector<WebMenuItem>& items, - bool right_aligned) {} - virtual void StartDragging(const WebDropData& drop_data, - WebKit::WebDragOperationsMask allowed_operations, - const SkBitmap& image, - const gfx::Point& image_offset) {} - virtual void UpdateDragCursor(WebKit::WebDragOperation operation) {} - virtual void GotFocus() {} - virtual void TakeFocus(bool reverse) {} - virtual void LostCapture() {} - virtual void Activate() {} - virtual void Deactivate() {} - virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, - bool* is_keyboard_shortcut); - virtual void HandleKeyboardEvent(const NativeWebKeyboardEvent& event) {} - virtual void HandleMouseMove() {} - virtual void HandleMouseDown() {} - virtual void HandleMouseLeave() {} - virtual void HandleMouseUp() {} - virtual void HandleMouseActivate() {} - virtual void UpdatePreferredSize(const gfx::Size& new_size) {} - - // NotificationObserver - virtual void Observe(NotificationType type, - const NotificationSource& source, - const NotificationDetails& details); - - // Overridden from JavaScriptAppModalDialogDelegate: - virtual void OnMessageBoxClosed(IPC::Message* reply_msg, - bool success, - const std::wstring& prompt); - virtual void SetSuppressMessageBoxes(bool suppress_message_boxes) {} - virtual gfx::NativeWindow GetMessageBoxRootWindow(); - virtual TabContents* AsTabContents(); - virtual ExtensionHost* AsExtensionHost(); - - virtual void UpdateInspectorSetting(const std::string& key, - const std::string& value); - virtual void ClearInspectorSettings(); - - // Helper to find the BackgroundContents that originated the given request. - // Can be NULL if the page has been closed or some other error occurs. - // Should only be called from the UI thread, since it accesses - // BackgroundContents. - static BackgroundContents* GetBackgroundContentsByID(int render_process_id, - int render_view_id); - - protected: - // Exposed for testing. - BackgroundContents(); - - private: - // The delegate for this BackgroundContents. - Delegate* delegate_; - - // The host for our HTML content. - RenderViewHost* render_view_host_; - - // Common implementations of some RenderViewHostDelegate::View methods. - RenderViewHostDelegateViewHelper delegate_view_helper_; - - // The URL being hosted. - GURL url_; - - NotificationRegistrar registrar_; - - // Handles desktop notification IPCs. - scoped_ptr<DesktopNotificationHandler> desktop_notification_handler_; - - DISALLOW_COPY_AND_ASSIGN(BackgroundContents); -}; - -// This is the data sent out as the details with BACKGROUND_CONTENTS_OPENED. -struct BackgroundContentsOpenedDetails { - // The BackgroundContents object that has just been opened. - BackgroundContents* contents; - - // The name of the parent frame for these contents. - const string16& frame_name; - - // The ID of the parent application (if any). - const string16& application_id; -}; +// TODO(jam): remove this file when all files have been converted. +#include "content/browser/tab_contents/background_contents.h" #endif // CHROME_BROWSER_TAB_CONTENTS_BACKGROUND_CONTENTS_H_ |