summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-18 17:28:38 +0000
committershess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-18 17:28:38 +0000
commit9a514902f55117eae04a60f917905e33e9914d32 (patch)
tree1542d8584e2627c9cb6d22edfe8479577dee79e1
parent50ca28cf1390710a23342e8a3ec273da9dc61007 (diff)
downloadchromium_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.gyp1
-rw-r--r--chrome/test/render_view_test.cc18
-rw-r--r--chrome/test/render_view_test.h10
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_