summaryrefslogtreecommitdiffstats
path: root/chromium/content/shell/browser/shell.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/shell/browser/shell.h')
-rw-r--r--chromium/content/shell/browser/shell.h290
1 files changed, 0 insertions, 290 deletions
diff --git a/chromium/content/shell/browser/shell.h b/chromium/content/shell/browser/shell.h
deleted file mode 100644
index 1434b76c119..00000000000
--- a/chromium/content/shell/browser/shell.h
+++ /dev/null
@@ -1,290 +0,0 @@
-// Copyright 2013 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_SHELL_BROWSER_SHELL_H_
-#define CONTENT_SHELL_BROWSER_SHELL_H_
-
-
-#include <vector>
-
-#include "base/basictypes.h"
-#include "base/callback_forward.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/strings/string_piece.h"
-#include "build/build_config.h"
-#include "content/public/browser/web_contents_delegate.h"
-#include "content/public/browser/web_contents_observer.h"
-#include "ipc/ipc_channel.h"
-#include "ui/gfx/native_widget_types.h"
-#include "ui/gfx/size.h"
-
-#if defined(TOOLKIT_GTK)
-#include <gtk/gtk.h>
-#include "ui/base/gtk/gtk_signal.h"
-
-typedef struct _GtkToolItem GtkToolItem;
-#elif defined(OS_ANDROID)
-#include "base/android/scoped_java_ref.h"
-#elif defined(USE_AURA)
-#if defined(OS_CHROMEOS)
-namespace wm {
-class WMTestHelper;
-}
-#endif // defined(OS_CHROMEOS)
-namespace views {
-class Widget;
-class ViewsDelegate;
-}
-#endif // defined(USE_AURA)
-
-class GURL;
-namespace content {
-
-#if defined(USE_AURA)
-class ShellAuraPlatformData;
-#endif
-
-class BrowserContext;
-class ShellDevToolsFrontend;
-class ShellJavaScriptDialogManager;
-class SiteInstance;
-class WebContents;
-
-// This represents one window of the Content Shell, i.e. all the UI including
-// buttons and url bar, as well as the web content area.
-class Shell : public WebContentsDelegate,
- public WebContentsObserver {
- public:
- static const int kDefaultTestWindowWidthDip;
- static const int kDefaultTestWindowHeightDip;
-
- virtual ~Shell();
-
- void LoadURL(const GURL& url);
- void LoadURLForFrame(const GURL& url, const std::string& frame_name);
- void GoBackOrForward(int offset);
- void Reload();
- void Stop();
- void UpdateNavigationControls();
- void Close();
- void ShowDevTools();
- void CloseDevTools();
-#if (defined(OS_WIN) && !defined(USE_AURA)) || \
- defined(TOOLKIT_GTK) || defined(OS_MACOSX)
- // Resizes the main window to the given dimensions.
- void SizeTo(const gfx::Size& content_size);
-#endif
-
- // Do one time initialization at application startup.
- static void Initialize();
-
- static Shell* CreateNewWindow(BrowserContext* browser_context,
- const GURL& url,
- SiteInstance* site_instance,
- int routing_id,
- const gfx::Size& initial_size);
-
- // Returns the Shell object corresponding to the given RenderViewHost.
- static Shell* FromRenderViewHost(RenderViewHost* rvh);
-
- // Returns the currently open windows.
- static std::vector<Shell*>& windows() { return windows_; }
-
- // Closes all windows and returns. This runs a message loop.
- static void CloseAllWindows();
-
- // Used for content_browsertests. Called once.
- static void SetShellCreatedCallback(
- base::Callback<void(Shell*)> shell_created_callback);
-
- WebContents* web_contents() const { return web_contents_.get(); }
- gfx::NativeWindow window() { return window_; }
-
-#if defined(OS_MACOSX)
- // Public to be called by an ObjC bridge object.
- void ActionPerformed(int control);
- void URLEntered(std::string url_string);
-#elif defined(OS_ANDROID)
- // Registers the Android Java to native methods.
- static bool Register(JNIEnv* env);
-#endif
-
- // WebContentsDelegate
- virtual WebContents* OpenURLFromTab(WebContents* source,
- const OpenURLParams& params) OVERRIDE;
- virtual void AddNewContents(WebContents* source,
- WebContents* new_contents,
- WindowOpenDisposition disposition,
- const gfx::Rect& initial_pos,
- bool user_gesture,
- bool* was_blocked) OVERRIDE;
- virtual void LoadingStateChanged(WebContents* source) OVERRIDE;
-#if defined(OS_ANDROID)
- virtual void LoadProgressChanged(WebContents* source,
- double progress) OVERRIDE;
-#endif
- virtual void ToggleFullscreenModeForTab(WebContents* web_contents,
- bool enter_fullscreen) OVERRIDE;
- virtual bool IsFullscreenForTabOrPending(
- const WebContents* web_contents) const OVERRIDE;
- virtual void RequestToLockMouse(WebContents* web_contents,
- bool user_gesture,
- bool last_unlocked_by_target) OVERRIDE;
- virtual void CloseContents(WebContents* source) OVERRIDE;
- virtual bool CanOverscrollContent() const OVERRIDE;
- virtual void DidNavigateMainFramePostCommit(
- WebContents* web_contents) OVERRIDE;
- virtual JavaScriptDialogManager* GetJavaScriptDialogManager() OVERRIDE;
-#if defined(OS_MACOSX)
- virtual void HandleKeyboardEvent(
- WebContents* source,
- const NativeWebKeyboardEvent& event) OVERRIDE;
-#endif
- virtual bool AddMessageToConsole(WebContents* source,
- int32 level,
- const base::string16& message,
- int32 line_no,
- const base::string16& source_id) OVERRIDE;
- virtual void RendererUnresponsive(WebContents* source) OVERRIDE;
- virtual void ActivateContents(WebContents* contents) OVERRIDE;
- virtual void DeactivateContents(WebContents* contents) OVERRIDE;
- virtual void WorkerCrashed(WebContents* source) OVERRIDE;
-
- private:
- enum UIControl {
- BACK_BUTTON,
- FORWARD_BUTTON,
- STOP_BUTTON
- };
-
- class DevToolsWebContentsObserver;
-
- explicit Shell(WebContents* web_contents);
-
- // Helper to create a new Shell given a newly created WebContents.
- static Shell* CreateShell(WebContents* web_contents,
- const gfx::Size& initial_size);
-
- // Helper for one time initialization of application
- static void PlatformInitialize(const gfx::Size& default_window_size);
- // Helper for one time deinitialization of platform specific state.
- static void PlatformExit();
-
- // Adjust the size when Blink sends 0 for width and/or height.
- // This happens when Blink requests a default-sized window.
- static gfx::Size AdjustWindowSize(const gfx::Size& initial_size);
-
- // All the methods that begin with Platform need to be implemented by the
- // platform specific Shell implementation.
- // Called from the destructor to let each platform do any necessary cleanup.
- void PlatformCleanUp();
- // Creates the main window GUI.
- void PlatformCreateWindow(int width, int height);
- // Links the WebContents into the newly created window.
- void PlatformSetContents();
- // Resize the content area and GUI.
- void PlatformResizeSubViews();
- // Enable/disable a button.
- void PlatformEnableUIControl(UIControl control, bool is_enabled);
- // Updates the url in the url bar.
- void PlatformSetAddressBarURL(const GURL& url);
- // Sets whether the spinner is spinning.
- void PlatformSetIsLoading(bool loading);
- // Set the title of shell window
- void PlatformSetTitle(const base::string16& title);
-#if defined(OS_ANDROID)
- void PlatformToggleFullscreenModeForTab(WebContents* web_contents,
- bool enter_fullscreen);
- bool PlatformIsFullscreenForTabOrPending(
- const WebContents* web_contents) const;
-#endif
-
- gfx::NativeView GetContentView();
-
- // WebContentsObserver
- virtual void TitleWasSet(NavigationEntry* entry, bool explicit_set) OVERRIDE;
-
- void OnDevToolsWebContentsDestroyed();
-
-#if defined(OS_WIN) && !defined(USE_AURA)
- static ATOM RegisterWindowClass();
- static LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
- static LRESULT CALLBACK EditWndProc(HWND, UINT, WPARAM, LPARAM);
-#elif defined(TOOLKIT_GTK)
- CHROMEGTK_CALLBACK_0(Shell, void, OnBackButtonClicked);
- CHROMEGTK_CALLBACK_0(Shell, void, OnForwardButtonClicked);
- CHROMEGTK_CALLBACK_0(Shell, void, OnReloadButtonClicked);
- CHROMEGTK_CALLBACK_0(Shell, void, OnStopButtonClicked);
- CHROMEGTK_CALLBACK_0(Shell, void, OnURLEntryActivate);
- CHROMEGTK_CALLBACK_0(Shell, gboolean, OnWindowDestroyed);
-
- CHROMEG_CALLBACK_3(Shell, gboolean, OnCloseWindowKeyPressed, GtkAccelGroup*,
- GObject*, guint, GdkModifierType);
- CHROMEG_CALLBACK_3(Shell, gboolean, OnNewWindowKeyPressed, GtkAccelGroup*,
- GObject*, guint, GdkModifierType);
- CHROMEG_CALLBACK_3(Shell, gboolean, OnHighlightURLView, GtkAccelGroup*,
- GObject*, guint, GdkModifierType);
- CHROMEG_CALLBACK_3(Shell, gboolean, OnReloadKeyPressed, GtkAccelGroup*,
- GObject*, guint, GdkModifierType);
-#endif
-
- scoped_ptr<ShellJavaScriptDialogManager> dialog_manager_;
-
- scoped_ptr<WebContents> web_contents_;
-
- scoped_ptr<DevToolsWebContentsObserver> devtools_observer_;
- ShellDevToolsFrontend* devtools_frontend_;
-
- bool is_fullscreen_;
-
- gfx::NativeWindow window_;
- gfx::NativeEditView url_edit_view_;
-
- gfx::Size content_size_;
-
-#if defined(OS_WIN) && !defined(USE_AURA)
- WNDPROC default_edit_wnd_proc_;
- static HINSTANCE instance_handle_;
-#elif defined(TOOLKIT_GTK)
- GtkWidget* vbox_;
-
- GtkToolItem* back_button_;
- GtkToolItem* forward_button_;
- GtkToolItem* reload_button_;
- GtkToolItem* stop_button_;
-
- GtkWidget* spinner_;
- GtkToolItem* spinner_item_;
-
- int ui_elements_height_; // height of menubar, toolbar, etc.
-#elif defined(OS_ANDROID)
- base::android::ScopedJavaGlobalRef<jobject> java_object_;
-#elif defined(USE_AURA)
-#if defined(OS_CHROMEOS)
- static wm::WMTestHelper* wm_test_helper_;
-#endif
-#if defined(TOOLKIT_VIEWS)
- static views::ViewsDelegate* views_delegate_;
-
- views::Widget* window_widget_;
-#else // defined(TOOLKIT_VIEWS)
- static ShellAuraPlatformData* platform_;
-#endif // defined(TOOLKIT_VIEWS)
-#endif
-
- bool headless_;
-
- // A container of all the open windows. We use a vector so we can keep track
- // of ordering.
- static std::vector<Shell*> windows_;
-
- static base::Callback<void(Shell*)> shell_created_callback_;
-
- // True if the destructur of Shell should post a quit closure on the current
- // message loop if the destructed Shell object was the last one.
- static bool quit_message_loop_;
-};
-
-} // namespace content
-
-#endif // CONTENT_SHELL_BROWSER_SHELL_H_