diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-23 16:54:21 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-23 16:54:21 +0000 |
commit | 84845656bf7cfd06e2687173ede088823f4f531f (patch) | |
tree | 4c05c49044b4757841fab46ce7abbba8a8f2a4e0 /chrome/browser/sessions | |
parent | fd12b1a8cb25b6137c8da6e9230abead547f427a (diff) | |
download | chromium_src-84845656bf7cfd06e2687173ede088823f4f531f.zip chromium_src-84845656bf7cfd06e2687173ede088823f4f531f.tar.gz chromium_src-84845656bf7cfd06e2687173ede088823f4f531f.tar.bz2 |
Fixes crash in TabRestoreServiceTest.DontPersistPostData. The problem
is this tests ends up going into webkit (by way of
webkit_glue::RemoveFormDataFromHistoryState), and wasn't initializing
webkit. The exact crash was because WebCore::generateSequenceNumber
asks for the current time, which needs a WebKitClient set.
BUG=45977
TEST=none
Review URL: http://codereview.chromium.org/3010025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53482 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sessions')
-rw-r--r-- | chrome/browser/sessions/tab_restore_service_unittest.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/chrome/browser/sessions/tab_restore_service_unittest.cc b/chrome/browser/sessions/tab_restore_service_unittest.cc index 742a1c6..7abe43c 100644 --- a/chrome/browser/sessions/tab_restore_service_unittest.cc +++ b/chrome/browser/sessions/tab_restore_service_unittest.cc @@ -8,8 +8,10 @@ #include "chrome/browser/sessions/session_service.h" #include "chrome/browser/sessions/tab_restore_service.h" #include "chrome/browser/tab_contents/navigation_entry.h" +#include "chrome/test/render_view_test.h" #include "chrome/test/testing_profile.h" #include "testing/gtest/include/gtest/gtest.h" +#include "third_party/WebKit/WebKit/chromium/public/WebKit.h" // Create subclass that overrides TimeNow so that we can control the time used // for closed tabs and windows. @@ -44,11 +46,14 @@ class TabRestoreServiceTest : public RenderViewHostTestHarness { RenderViewHostTestHarness::SetUp(); time_factory_ = new TabRestoreTimeFactory(); service_ = new TabRestoreService(profile(), time_factory_); + WebKit::initialize(&webkitclient_); } + virtual void TearDown() { service_ = NULL; delete time_factory_; RenderViewHostTestHarness::TearDown(); + WebKit::shutdown(); } void AddThreeNavigations() { @@ -111,6 +116,7 @@ class TabRestoreServiceTest : public RenderViewHostTestHarness { GURL url3_; scoped_refptr<TabRestoreService> service_; TabRestoreTimeFactory* time_factory_; + RenderViewTest::RendererWebKitClientImplNoSandbox webkitclient_; }; TEST_F(TabRestoreServiceTest, Basic) { @@ -230,15 +236,8 @@ TEST_F(TabRestoreServiceTest, RestorePinnedAndApp) { EXPECT_TRUE(extension_app_id == tab->extension_app_id); } -// Crashes, http://crbug.com/45977. -#if defined(OS_WIN) -#define MAYBE_DontPersistPostData DISABLED_DontPersistPostData -#else -#define MAYBE_DontPersistPostData DontPersistPostData -#endif // defined(OS_WIN) - // Make sure we persist entries to disk that have post data. -TEST_F(TabRestoreServiceTest, MAYBE_DontPersistPostData) { +TEST_F(TabRestoreServiceTest, DontPersistPostData) { AddThreeNavigations(); controller().GetEntryAtIndex(0)->set_has_post_data(true); controller().GetEntryAtIndex(1)->set_has_post_data(true); |