diff options
author | shess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-18 17:28:38 +0000 |
---|---|---|
committer | shess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-18 17:28:38 +0000 |
commit | 9a514902f55117eae04a60f917905e33e9914d32 (patch) | |
tree | 1542d8584e2627c9cb6d22edfe8479577dee79e1 | |
parent | 50ca28cf1390710a23342e8a3ec273da9dc61007 (diff) | |
download | chromium_src-9a514902f55117eae04a60f917905e33e9914d32.zip chromium_src-9a514902f55117eae04a60f917905e33e9914d32.tar.gz chromium_src-9a514902f55117eae04a60f917905e33e9914d32.tar.bz2 |
Mac: Initialize webkit system so that render_view_unittest.cc can run.
Basically the same fix as http://codereview.chromium.org/21330 . Still no good idea on how to make that more general without being arbitrary.
Review URL: http://codereview.chromium.org/113425
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16295 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/chrome.gyp | 1 | ||||
-rw-r--r-- | chrome/test/render_view_test.cc | 18 | ||||
-rw-r--r-- | chrome/test/render_view_test.h | 10 |
3 files changed, 28 insertions, 1 deletions
diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index b38a8fd..9907673 100644 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -2855,7 +2855,6 @@ 'browser/gtk/tabs/tab_renderer_gtk_unittest.cc', 'browser/navigation_controller_unittest.cc', 'browser/task_manager_unittest.cc', - 'renderer/render_view_unittest.cc', 'test/test_notification_tracker.cc', 'test/test_notification_tracker.h', ], diff --git a/chrome/test/render_view_test.cc b/chrome/test/render_view_test.cc index 4096238..7eff1f9 100644 --- a/chrome/test/render_view_test.cc +++ b/chrome/test/render_view_test.cc @@ -11,6 +11,7 @@ #include "chrome/renderer/extensions/extension_process_bindings.h" #include "chrome/renderer/extensions/renderer_extension_bindings.h" #include "chrome/renderer/js_only_v8_extensions.h" +#include "chrome/renderer/renderer_main_platform_delegate.h" #include "webkit/api/public/WebInputEvent.h" #include "webkit/api/public/WebKit.h" #include "webkit/api/public/WebScriptSource.h" @@ -54,6 +55,17 @@ void RenderViewTest::LoadHTML(const char* html) { } void RenderViewTest::SetUp() { + sandbox_init_wrapper_.reset(new SandboxInitWrapper()); +#if defined(OS_WIN) + command_line_.reset(new CommandLine(std::wstring())); +#elif defined(OS_POSIX) + command_line_.reset(new CommandLine(std::vector<std::string>())); +#endif + params_.reset(new MainFunctionParams(*command_line_, *sandbox_init_wrapper_, + NULL)); + platform_.reset(new RendererMainPlatformDelegate(*params_)); + platform_->PlatformInitialize(); + WebKit::initialize(&webkitclient_); WebKit::registerExtension(BaseJsV8Extension::Get()); WebKit::registerExtension(JsonJsV8Extension::Get()); @@ -96,6 +108,12 @@ void RenderViewTest::TearDown() { msg_loop_.RunAllPending(); mock_keyboard_.reset(); + + platform_->PlatformUninitialize(); + platform_.reset(); + params_.reset(); + command_line_.reset(); + sandbox_init_wrapper_.reset(); } int RenderViewTest::SendKeyEvent(MockKeyboard::Layout layout, diff --git a/chrome/test/render_view_test.h b/chrome/test/render_view_test.h index a399c7b..40e6256 100644 --- a/chrome/test/render_view_test.h +++ b/chrome/test/render_view_test.h @@ -7,11 +7,15 @@ #include <string> +#include "base/command_line.h" #include "base/scoped_ptr.h" +#include "chrome/common/main_function_params.h" +#include "chrome/common/sandbox_init_wrapper.h" #include "chrome/renderer/mock_keyboard.h" #include "chrome/renderer/mock_render_process.h" #include "chrome/renderer/mock_render_thread.h" #include "chrome/renderer/render_view.h" +#include "chrome/renderer/renderer_main_platform_delegate.h" #include "chrome/renderer/renderer_webkitclient_impl.h" #include "testing/gtest/include/gtest/gtest.h" #include "webkit/glue/webframe.h" @@ -52,6 +56,12 @@ class RenderViewTest : public testing::Test { scoped_refptr<RenderView> view_; RendererWebKitClientImpl webkitclient_; scoped_ptr<MockKeyboard> mock_keyboard_; + + // Used to setup the process so renderers can run. + scoped_ptr<RendererMainPlatformDelegate> platform_; + scoped_ptr<MainFunctionParams> params_; + scoped_ptr<CommandLine> command_line_; + scoped_ptr<SandboxInitWrapper> sandbox_init_wrapper_; }; #endif // CHROME_TEST_RENDER_VIEW_TEST_H_ |