Index: chrome/browser/lifetime/keep_alive_registry_unittest.cc |
diff --git a/chrome/browser/lifetime/keep_alive_registry_unittest.cc b/chrome/browser/lifetime/keep_alive_registry_unittest.cc |
index f6a570404f97583236bade1bf4cdfa8473bfa6ea..e634bbd946b725a34da9213ba43603cbb6c54760 100644 |
--- a/chrome/browser/lifetime/keep_alive_registry_unittest.cc |
+++ b/chrome/browser/lifetime/keep_alive_registry_unittest.cc |
@@ -9,7 +9,6 @@ |
#include "chrome/browser/lifetime/keep_alive_state_observer.h" |
#include "chrome/browser/lifetime/keep_alive_types.h" |
#include "chrome/browser/lifetime/scoped_keep_alive.h" |
-#include "chrome/test/base/testing_browser_process.h" |
#include "testing/gtest/include/gtest/gtest.h" |
class KeepAliveRegistryTest : public testing::Test, |
@@ -18,6 +17,8 @@ class KeepAliveRegistryTest : public testing::Test, |
KeepAliveRegistryTest() |
: on_restart_allowed_call_count_(0), |
on_restart_forbidden_call_count_(0), |
+ start_keep_alive_call_count_(0), |
+ stop_keep_alive_call_count_(0), |
registry_(KeepAliveRegistry::GetInstance()) { |
registry_->AddObserver(this); |
@@ -30,6 +31,13 @@ class KeepAliveRegistryTest : public testing::Test, |
EXPECT_FALSE(registry_->IsKeepingAlive()); |
} |
+ void OnKeepAliveStateChanged(bool is_keeping_alive) override { |
+ if (is_keeping_alive) |
+ ++start_keep_alive_call_count_; |
+ else |
+ ++stop_keep_alive_call_count_; |
+ } |
+ |
void OnKeepAliveRestartStateChanged(bool can_restart) override { |
if (can_restart) |
++on_restart_allowed_call_count_; |
@@ -40,18 +48,16 @@ class KeepAliveRegistryTest : public testing::Test, |
protected: |
int on_restart_allowed_call_count_; |
int on_restart_forbidden_call_count_; |
+ int start_keep_alive_call_count_; |
+ int stop_keep_alive_call_count_; |
KeepAliveRegistry* registry_; |
}; |
// Test the IsKeepingAlive state and when we interact with the browser with |
// a KeepAlive registered. |
TEST_F(KeepAliveRegistryTest, BasicKeepAliveTest) { |
- TestingBrowserProcess* browser_process = TestingBrowserProcess::GetGlobal(); |
- const unsigned int base_module_ref_count = |
- browser_process->module_ref_count(); |
- KeepAliveRegistry* registry = KeepAliveRegistry::GetInstance(); |
- |
- EXPECT_FALSE(registry->IsKeepingAlive()); |
+ EXPECT_EQ(0, start_keep_alive_call_count_); |
+ EXPECT_EQ(0, stop_keep_alive_call_count_); |
{ |
// Arbitrarily chosen Origin |
@@ -59,41 +65,44 @@ TEST_F(KeepAliveRegistryTest, BasicKeepAliveTest) { |
KeepAliveRestartOption::DISABLED); |
// We should require the browser to stay alive |
- EXPECT_EQ(base_module_ref_count + 1, browser_process->module_ref_count()); |
+ ASSERT_EQ(1, start_keep_alive_call_count_--); // decrement to ack |
EXPECT_TRUE(registry_->IsKeepingAlive()); |
} |
- // We should be back to normal now. |
- EXPECT_EQ(base_module_ref_count, browser_process->module_ref_count()); |
+ // We should be back to normal now, notifying of the state change. |
+ ASSERT_EQ(1, stop_keep_alive_call_count_--); |
EXPECT_FALSE(registry_->IsKeepingAlive()); |
+ |
+ // This should not have changed. |
+ ASSERT_EQ(0, start_keep_alive_call_count_); |
} |
// Test the IsKeepingAlive state and when we interact with the browser with |
// more than one KeepAlive registered. |
TEST_F(KeepAliveRegistryTest, DoubleKeepAliveTest) { |
- TestingBrowserProcess* browser_process = TestingBrowserProcess::GetGlobal(); |
- const unsigned int base_module_ref_count = |
- browser_process->module_ref_count(); |
+ EXPECT_EQ(0, start_keep_alive_call_count_); |
+ EXPECT_EQ(0, stop_keep_alive_call_count_); |
scoped_ptr<ScopedKeepAlive> keep_alive_1, keep_alive_2; |
keep_alive_1.reset(new ScopedKeepAlive(KeepAliveOrigin::CHROME_APP_DELEGATE, |
KeepAliveRestartOption::DISABLED)); |
- EXPECT_EQ(base_module_ref_count + 1, browser_process->module_ref_count()); |
+ ASSERT_EQ(1, start_keep_alive_call_count_--); // decrement to ack |
EXPECT_TRUE(registry_->IsKeepingAlive()); |
keep_alive_2.reset(new ScopedKeepAlive(KeepAliveOrigin::CHROME_APP_DELEGATE, |
KeepAliveRestartOption::DISABLED)); |
// We should not increment the count twice |
- EXPECT_EQ(base_module_ref_count + 1, browser_process->module_ref_count()); |
+ EXPECT_EQ(0, start_keep_alive_call_count_); |
EXPECT_TRUE(registry_->IsKeepingAlive()); |
keep_alive_1.reset(); |
// We should not decrement the count before the last keep alive is released. |
- EXPECT_EQ(base_module_ref_count + 1, browser_process->module_ref_count()); |
+ EXPECT_EQ(0, stop_keep_alive_call_count_); |
EXPECT_TRUE(registry_->IsKeepingAlive()); |
keep_alive_2.reset(); |
- EXPECT_EQ(base_module_ref_count, browser_process->module_ref_count()); |
+ ASSERT_EQ(1, stop_keep_alive_call_count_--); |
+ EXPECT_EQ(0, start_keep_alive_call_count_); |
EXPECT_FALSE(registry_->IsKeepingAlive()); |
} |