| Index: webkit/tools/test_shell/test_shell.h
|
| diff --git a/webkit/tools/test_shell/test_shell.h b/webkit/tools/test_shell/test_shell.h
|
| deleted file mode 100644
|
| index d6db56c41ff49b335c3b81092e29838e54860e98..0000000000000000000000000000000000000000
|
| --- a/webkit/tools/test_shell/test_shell.h
|
| +++ /dev/null
|
| @@ -1,350 +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 WEBKIT_TOOLS_TEST_SHELL_TEST_SHELL_H_
|
| -#define WEBKIT_TOOLS_TEST_SHELL_TEST_SHELL_H_
|
| -
|
| -
|
| -#include <list>
|
| -#include <map>
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/files/file_path.h"
|
| -#include "base/files/scoped_temp_dir.h"
|
| -#include "base/lazy_instance.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "base/strings/string_piece.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebNavigationPolicy.h"
|
| -#include "ui/gfx/native_widget_types.h"
|
| -#include "webkit/tools/test_shell/webview_host.h"
|
| -#include "webkit/tools/test_shell/webwidget_host.h"
|
| -
|
| -typedef std::list<gfx::NativeWindow> WindowList;
|
| -
|
| -#if defined(OS_WIN)
|
| -namespace ui {
|
| -class ScopedOleInitializer;
|
| -}
|
| -#endif
|
| -
|
| -class GURL;
|
| -class TestNavigationEntry;
|
| -class TestNavigationController;
|
| -class TestNotificationPresenter;
|
| -class TestShellDevToolsAgent;
|
| -class TestShellDevToolsClient;
|
| -class TestWebViewDelegate;
|
| -struct WebPreferences;
|
| -
|
| -namespace WebKit {
|
| -class WebDeviceOrientationClientMock;
|
| -class WebGeolocationClientMock;
|
| -}
|
| -
|
| -class TestShell : public base::SupportsWeakPtr<TestShell> {
|
| -public:
|
| - struct TestParams {
|
| - // Load the test defaults.
|
| - TestParams();
|
| -
|
| - // The kind of output we want from this test.
|
| - bool dump_tree;
|
| - bool dump_pixels;
|
| -
|
| - // Filename we dump pixels to (when pixel testing is enabled).
|
| - base::FilePath pixel_file_name;
|
| - // The md5 hash of the bitmap dump (when pixel testing is enabled).
|
| - std::string pixel_hash;
|
| - // URL of the test.
|
| - std::string test_url;
|
| - };
|
| -
|
| - TestShell();
|
| - virtual ~TestShell();
|
| -
|
| - // Initialization and clean up of logging.
|
| - static void InitLogging(bool suppress_error_dialogs,
|
| - bool running_layout_tests,
|
| - bool enable_gp_fault_error_box);
|
| - static void CleanupLogging();
|
| -
|
| - // Initialization and clean up of a static member variable.
|
| - static void InitializeTestShell(bool layout_test_mode,
|
| - bool allow_external_pages);
|
| - static void ShutdownTestShell();
|
| -
|
| - static bool layout_test_mode() { return layout_test_mode_; }
|
| - static bool allow_external_pages() { return allow_external_pages_; }
|
| -
|
| - // Called from the destructor to let each platform do any necessary
|
| - // cleanup.
|
| - void PlatformCleanUp();
|
| -
|
| - WebKit::WebView* webView() {
|
| - return m_webViewHost.get() ? m_webViewHost->webview() : NULL;
|
| - }
|
| - WebViewHost* webViewHost() { return m_webViewHost.get(); }
|
| - WebKit::WebWidget* popup() {
|
| - return m_popupHost ? m_popupHost->webwidget() : NULL;
|
| - }
|
| - WebWidgetHost* popupHost() { return m_popupHost; }
|
| -
|
| - bool is_loading() const { return is_loading_; }
|
| - void set_is_loading(bool is_loading) { is_loading_ = is_loading; }
|
| -
|
| - bool allow_images() const { return allow_images_; }
|
| - void set_allow_images(bool allow) { allow_images_ = allow; }
|
| -
|
| - bool allow_plugins() const { return allow_plugins_; }
|
| - void set_allow_plugins(bool allow) { allow_plugins_ = allow; }
|
| -
|
| - bool allow_scripts() const { return allow_scripts_; }
|
| - void set_allow_scripts(bool allow) { allow_scripts_ = allow; }
|
| -
|
| - void UpdateNavigationControls();
|
| -
|
| - // A new TestShell window will be opened with devtools url.
|
| - // DevTools window can be opened manually via menu or automatically when
|
| - // inspector's layout test url is passed from command line or console.
|
| - void ShowDevTools();
|
| - void CloseDevTools();
|
| -
|
| - void Show(WebKit::WebNavigationPolicy policy);
|
| -
|
| - // We use this to avoid relying on Windows focus during layout test mode.
|
| - void SetFocus(WebWidgetHost* host, bool enable);
|
| -
|
| - TestWebViewDelegate* delegate() { return delegate_.get(); }
|
| - TestWebViewDelegate* popup_delegate() { return popup_delegate_.get(); }
|
| - TestNavigationController* navigation_controller() {
|
| - return navigation_controller_.get();
|
| - }
|
| - TestNotificationPresenter* notification_presenter() {
|
| - return notification_presenter_.get();
|
| - }
|
| -
|
| - // Resets TestWebViewDelegate. Should be called before loading a page,
|
| - // since some end-editing event notifications may arrive after the previous
|
| - // page has finished dumping its text and therefore end up in the next
|
| - // test's results if the messages are still enabled.
|
| - void ResetTestController();
|
| -
|
| - bool AcceptsEditing() {
|
| - return true;
|
| - }
|
| -
|
| - void LoadFile(const base::FilePath& file);
|
| - void LoadURL(const GURL& url);
|
| - void LoadURLForFrame(const GURL& url, const base::string16& frame_name);
|
| - void GoBackOrForward(int offset);
|
| - void Reload();
|
| - bool Navigate(const TestNavigationEntry& entry, bool reload);
|
| -
|
| - bool PromptForSaveFile(const wchar_t* prompt_title, base::FilePath* result);
|
| - base::string16 GetDocumentText();
|
| - void DumpDocumentText();
|
| - void DumpRenderTree();
|
| -
|
| - gfx::NativeWindow mainWnd() const { return m_mainWnd; }
|
| - gfx::NativeView webViewWnd() const { return m_webViewHost->view_handle(); }
|
| - gfx::NativeEditView editWnd() const { return m_editWnd; }
|
| - gfx::NativeView popupWnd() const { return m_popupHost->view_handle(); }
|
| -
|
| - static WindowList* windowList() { return window_list_; }
|
| -
|
| - // If shell is non-null, then *shell is assigned upon successful return
|
| - static bool CreateNewWindow(const GURL& starting_url,
|
| - TestShell** shell = NULL);
|
| -
|
| - static void DestroyWindow(gfx::NativeWindow windowHandle);
|
| -
|
| - // Remove the given window from window_list_, return true if it was in the
|
| - // list and was removed and false otherwise.
|
| - static bool RemoveWindowFromList(gfx::NativeWindow window);
|
| -
|
| - // Implements CreateWebView for TestWebViewDelegate, which in turn
|
| - // is called as a WebViewDelegate.
|
| - WebKit::WebView* CreateWebView();
|
| - WebKit::WebWidget* CreatePopupWidget();
|
| - void ClosePopup();
|
| -
|
| -#if defined(OS_WIN)
|
| - static ATOM RegisterWindowClass();
|
| -#endif
|
| -
|
| - // Writes the back-forward list data for every open window into result.
|
| - // Should call DumpBackForwardListOfWindow on each TestShell window.
|
| - static void DumpAllBackForwardLists(base::string16* result);
|
| -
|
| - // Writes the single back-forward entry into result.
|
| - void DumpBackForwardEntry(int index, base::string16* result);
|
| -
|
| - // Writes the back-forward list data for this test shell into result.
|
| - void DumpBackForwardList(base::string16* result);
|
| -
|
| - static void ResetWebPreferences();
|
| -
|
| - static void SetAllowScriptsToCloseWindows();
|
| -
|
| - static void SetAccelerated2dCanvasEnabled(bool enabled);
|
| - static void SetAcceleratedCompositingEnabled(bool enabled);
|
| -
|
| - static WebPreferences* GetWebPreferences();
|
| -
|
| - // Some layout tests hardcode a file:///tmp/LayoutTests URL. We get around
|
| - // this by substituting "tmp" with the path to the LayoutTests parent dir.
|
| - static std::string RewriteLocalUrl(const std::string& url);
|
| -
|
| - // Set the JavaScript flags to use. This is a vector as when multiple loads
|
| - // are specified each load can have different flags passed.
|
| - static void SetJavaScriptFlags(std::vector<std::string> js_flags) {
|
| - js_flags_ = js_flags;
|
| - }
|
| -
|
| - // Get the JavaScript flags for a specific load
|
| - static std::string GetJSFlagsForLoad(size_t load) {
|
| - if (load >= js_flags_.size())
|
| - return std::string();
|
| - return js_flags_[load];
|
| - }
|
| -
|
| - // Have the shell print the StatsTable to stdout on teardown.
|
| - void DumpStatsTableOnExit() { dump_stats_table_on_exit_ = true; }
|
| -
|
| - void CallJSGC();
|
| -
|
| - void set_is_modal(bool value) { is_modal_ = value; }
|
| - bool is_modal() const { return is_modal_; }
|
| -
|
| - const TestParams* test_params() { return test_params_; }
|
| - void set_test_params(const TestParams* test_params) {
|
| - test_params_ = test_params;
|
| - }
|
| -
|
| -#if defined(OS_MACOSX)
|
| - // handle cleaning up a shell given the associated window
|
| - static void DestroyAssociatedShell(gfx::NativeWindow handle);
|
| -#endif
|
| -
|
| - // Show the "attach to me" dialog, for debugging test shell startup.
|
| - static void ShowStartupDebuggingDialog();
|
| -
|
| - // This is called indirectly by the modules that need access resources.
|
| - static base::StringPiece ResourceProvider(int key);
|
| -
|
| - TestShellDevToolsAgent* dev_tools_agent() {
|
| - return dev_tools_agent_.get();
|
| - }
|
| -
|
| - WebKit::WebDeviceOrientationClientMock* device_orientation_client_mock();
|
| -
|
| - WebKit::WebGeolocationClientMock* geolocation_client_mock();
|
| -
|
| -protected:
|
| - void CreateDevToolsClient(TestShellDevToolsAgent* agent);
|
| - bool Initialize(const GURL& starting_url);
|
| - bool IsSVGTestURL(const GURL& url);
|
| - void SizeToSVG();
|
| - void SizeToDefault();
|
| - void SizeTo(int width, int height);
|
| - void ResizeSubViews();
|
| -
|
| - // Set the focus in interactive mode (pass through to relevant system call).
|
| - void InteractiveSetFocus(WebWidgetHost* host, bool enable);
|
| -
|
| - enum UIControl {
|
| - BACK_BUTTON,
|
| - FORWARD_BUTTON,
|
| - STOP_BUTTON
|
| - };
|
| -
|
| - void EnableUIControl(UIControl control, bool is_enabled);
|
| -
|
| -#if defined(OS_WIN)
|
| - static LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
|
| - static LRESULT CALLBACK EditWndProc(HWND, UINT, WPARAM, LPARAM);
|
| -#endif
|
| -
|
| - static void PlatformShutdown();
|
| -
|
| - gfx::NativeWindow m_mainWnd;
|
| - gfx::NativeEditView m_editWnd;
|
| - scoped_ptr<WebViewHost> m_webViewHost;
|
| - WebWidgetHost* m_popupHost;
|
| -#if defined(OS_WIN)
|
| - WNDPROC default_edit_wnd_proc_;
|
| -#endif
|
| -
|
| - // Primitive focus controller for layout test mode.
|
| - WebWidgetHost* m_focusedWidgetHost;
|
| -
|
| -private:
|
| - // A set of all our windows.
|
| - static WindowList* window_list_;
|
| -#if defined(OS_MACOSX)
|
| - typedef std::map<gfx::NativeWindow, TestShell *> WindowMap;
|
| - static base::LazyInstance<WindowMap> window_map_;
|
| -#endif
|
| -
|
| -#if defined(OS_WIN)
|
| - static HINSTANCE instance_handle_;
|
| -
|
| - static ui::ScopedOleInitializer* ole_initializer_;
|
| -#endif
|
| -
|
| - // True when the app is being run using the --layout-tests switch.
|
| - static bool layout_test_mode_;
|
| -
|
| - // True when we wish to allow test shell to load external pages like
|
| - // www.google.com even when in --layout-test mode (used for QA to
|
| - // produce images of the rendered page)
|
| - static bool allow_external_pages_;
|
| -
|
| - scoped_ptr<TestNavigationController> navigation_controller_;
|
| - scoped_ptr<TestNotificationPresenter> notification_presenter_;
|
| -
|
| - scoped_ptr<TestWebViewDelegate> delegate_;
|
| - scoped_ptr<TestWebViewDelegate> popup_delegate_;
|
| -
|
| - base::WeakPtr<TestShell> devtools_shell_;
|
| - scoped_ptr<TestShellDevToolsAgent> dev_tools_agent_;
|
| - scoped_ptr<TestShellDevToolsClient> dev_tools_client_;
|
| - scoped_ptr<WebKit::WebDeviceOrientationClientMock>
|
| - device_orientation_client_mock_;
|
| - scoped_ptr<WebKit::WebGeolocationClientMock> geolocation_client_mock_;
|
| -
|
| - const TestParams* test_params_;
|
| -
|
| - // JavaScript flags. Each element in the vector contains a set of flags as
|
| - // a string (e.g. "--xxx --yyy"). Each flag set is used for separate loads
|
| - // of each URL.
|
| - static std::vector<std::string> js_flags_;
|
| -
|
| - // True if we're testing the accelerated canvas 2d path.
|
| - static bool accelerated_2d_canvas_enabled_;
|
| -
|
| - // True if we're testing the accelerated compositing.
|
| - static bool accelerated_compositing_enabled_;
|
| -
|
| - // True if driven from a nested message loop.
|
| - bool is_modal_;
|
| -
|
| - // True if the page is loading.
|
| - bool is_loading_;
|
| -
|
| - bool allow_images_;
|
| - bool allow_plugins_;
|
| - bool allow_scripts_;
|
| -
|
| - // The preferences for the test shell.
|
| - static WebPreferences* web_prefs_;
|
| -
|
| - // Dump the stats table counters on exit.
|
| - bool dump_stats_table_on_exit_;
|
| -};
|
| -
|
| -#endif // WEBKIT_TOOLS_TEST_SHELL_TEST_SHELL_H_
|
|
|