Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3183)

Unified Diff: chrome/browser/sessions/persistent_tab_restore_service_browsertest.cc

Issue 14197014: Add TestBrowserThreadBundle into RenderViewHostTestHarness. Kill some unnecessary real threads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merged ToT Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sessions/persistent_tab_restore_service_browsertest.cc
diff --git a/chrome/browser/sessions/persistent_tab_restore_service_browsertest.cc b/chrome/browser/sessions/persistent_tab_restore_service_browsertest.cc
index 399b35a863525562e2b5f7a61c872c573363d6fc..c433623e15c81057880b07252036ca4c2c3f7fa1 100644
--- a/chrome/browser/sessions/persistent_tab_restore_service_browsertest.cc
+++ b/chrome/browser/sessions/persistent_tab_restore_service_browsertest.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/sessions/persistent_tab_restore_service.h"
#include "base/compiler_specific.h"
+#include "base/run_loop.h"
#include "base/stringprintf.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/profiles/profile.h"
@@ -28,7 +29,6 @@
#include "content/public/browser/notification_types.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/render_view_test.h"
-#include "content/public/test/test_browser_thread.h"
#include "content/public/test/test_utils.h"
#include "content/public/test/web_contents_tester.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -61,12 +61,12 @@ class PersistentTabRestoreTimeFactory : public TabRestoreService::TimeFactory {
class PersistentTabRestoreServiceTest : public ChromeRenderViewHostTestHarness {
public:
PersistentTabRestoreServiceTest()
- : ui_thread_(content::BrowserThread::UI, &message_loop_) {
- url1_ = GURL("http://1");
- url2_ = GURL("http://2");
- url3_ = GURL("http://3");
- user_agent_override_ = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19"
- " (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19";
+ : url1_("http://1"),
+ url2_("http://2"),
+ url3_("http://3"),
+ user_agent_override_(
+ "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19"
+ " (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19") {
}
virtual ~PersistentTabRestoreServiceTest() {
@@ -121,7 +121,7 @@ class PersistentTabRestoreServiceTest : public ChromeRenderViewHostTestHarness {
service_->Shutdown();
service_.reset();
service_.reset(new PersistentTabRestoreService(profile(), time_factory_));
- service_->LoadTabsFromLastSession();
+ SynchronousLoadTabsFromLastSession();
}
// Adds a window with one tab and url to the profile's session service.
@@ -159,6 +159,12 @@ class PersistentTabRestoreServiceTest : public ChromeRenderViewHostTestHarness {
profile()->set_last_session_exited_cleanly(false);
}
+ void SynchronousLoadTabsFromLastSession() {
+ // Ensures that the load is complete before continuing.
+ service_->LoadTabsFromLastSession();
+ base::RunLoop().RunUntilIdle();
+ }
+
GURL url1_;
GURL url2_;
GURL url3_;
@@ -167,7 +173,6 @@ class PersistentTabRestoreServiceTest : public ChromeRenderViewHostTestHarness {
PersistentTabRestoreTimeFactory* time_factory_;
content::RenderViewTest::RendererWebKitPlatformSupportImplNoSandbox
webkit_platform_support_;
- content::TestBrowserThread ui_thread_;
};
namespace {
@@ -387,7 +392,7 @@ TEST_F(PersistentTabRestoreServiceTest, DontLoadTwice) {
// Recreate the service and have it load the tabs.
RecreateService();
- service_->LoadTabsFromLastSession();
+ SynchronousLoadTabsFromLastSession();
// There should only be one entry.
ASSERT_EQ(1U, service_->entries().size());
@@ -404,7 +409,7 @@ TEST_F(PersistentTabRestoreServiceTest, LoadPreviousSession) {
TestTabRestoreServiceObserver observer;
service_->AddObserver(&observer);
- service_->LoadTabsFromLastSession();
+ SynchronousLoadTabsFromLastSession();
EXPECT_TRUE(observer.got_loaded());
service_->RemoveObserver(&observer);
@@ -432,7 +437,7 @@ TEST_F(PersistentTabRestoreServiceTest, DontLoadAfterRestore) {
profile()->set_restored_last_session(true);
- service_->LoadTabsFromLastSession();
+ SynchronousLoadTabsFromLastSession();
// Because we restored a session PersistentTabRestoreService shouldn't load
// the tabs.
@@ -448,7 +453,7 @@ TEST_F(PersistentTabRestoreServiceTest, DontLoadAfterCleanExit) {
profile()->set_last_session_exited_cleanly(true);
- service_->LoadTabsFromLastSession();
+ SynchronousLoadTabsFromLastSession();
ASSERT_EQ(0U, service_->entries().size());
}
@@ -726,7 +731,7 @@ TEST_F(PersistentTabRestoreServiceTest, PruneIsCalled) {
EXPECT_EQ(max_entries, service_->entries().size());
// This should not crash.
- service_->LoadTabsFromLastSession();
+ SynchronousLoadTabsFromLastSession();
EXPECT_EQ(max_entries, service_->entries().size());
}
@@ -744,7 +749,7 @@ TEST_F(PersistentTabRestoreServiceTest, GoToLoadedWhenHaveMaxEntries) {
TestTabRestoreServiceObserver observer;
service_->AddObserver(&observer);
EXPECT_EQ(max_entries, service_->entries().size());
- service_->LoadTabsFromLastSession();
+ SynchronousLoadTabsFromLastSession();
EXPECT_TRUE(observer.got_loaded());
EXPECT_TRUE(service_->IsLoaded());
service_->RemoveObserver(&observer);
« no previous file with comments | « chrome/browser/safe_browsing/two_phase_uploader_unittest.cc ('k') | chrome/browser/storage_monitor/volume_mount_watcher_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698