Index: chrome/browser/prerender/prerender_tracker_unittest.cc |
diff --git a/chrome/browser/prerender/prerender_tracker_unittest.cc b/chrome/browser/prerender/prerender_tracker_unittest.cc |
index 0fd4b47e09c21e8d0a4d48545e6d9f60c1294e6b..260ccf2e9b85fdc70e3b13406db729704cc07f01 100644 |
--- a/chrome/browser/prerender/prerender_tracker_unittest.cc |
+++ b/chrome/browser/prerender/prerender_tracker_unittest.cc |
@@ -3,9 +3,11 @@ |
// found in the LICENSE file. |
#include <set> |
+#include <utility> |
#include "base/logging.h" |
#include "base/message_loop.h" |
+#include "chrome/browser/prerender/prerender_contents.h" |
#include "chrome/browser/prerender/prerender_manager.h" |
#include "chrome/browser/prerender/prerender_tracker.h" |
#include "chrome/test/base/testing_browser_process.h" |
@@ -18,6 +20,51 @@ namespace prerender { |
namespace { |
+class TestPrerenderContents : public PrerenderContents { |
+ public: |
+ TestPrerenderContents(PrerenderManager* prerender_manager, |
+ int child_id, int route_id) |
+ : PrerenderContents(prerender_manager, static_cast<Profile*>(NULL), |
+ GURL(), content::Referrer(), ORIGIN_NONE, |
+ PrerenderManager::kNoExperiment), |
+ child_id_(child_id), |
+ route_id_(route_id) { |
+ } |
+ |
+ ~TestPrerenderContents() { |
mmenke
2012/12/06 19:54:22
nit: virtual
gavinp
2012/12/07 17:37:04
Done.
|
+ if (final_status() == FINAL_STATUS_MAX) |
+ SetFinalStatus(FINAL_STATUS_USED); |
+ } |
+ |
+ virtual bool GetChildId(int* child_id) const OVERRIDE { |
+ *child_id = child_id_; |
+ return true; |
+ } |
+ |
+ virtual bool GetRouteId(int* route_id) const OVERRIDE { |
+ *route_id = route_id_; |
+ return true; |
+ } |
+ |
+ void Start() { |
+ AddObserver(prerender_manager()->prerender_tracker()); |
+ prerendering_has_started_ = true; |
+ NotifyPrerenderStart(); |
+ } |
+ |
+ void Cancel() { |
+ Destroy(FINAL_STATUS_CANCELLED); |
+ } |
+ |
+ void Use() { |
+ SetFinalStatus(FINAL_STATUS_USED); |
+ } |
+ |
+ private: |
+ int child_id_; |
+ int route_id_; |
+}; |
+ |
class TestPrerenderManager : public PrerenderManager { |
public: |
explicit TestPrerenderManager(PrerenderTracker* prerender_tracker) : |
@@ -30,11 +77,18 @@ class TestPrerenderManager : public PrerenderManager { |
cancelled_id_pairs_.insert(std::make_pair(process_id, view_id)); |
} |
+ // We never allocate our PrerenderContents in PrerenderManager, so we don't |
+ // ever want the default pending delete behaviour. |
+ virtual void MoveEntryToPendingDelete(PrerenderContents* entry, |
+ FinalStatus final_status) OVERRIDE { |
+ } |
+ |
bool WasPrerenderCancelled(int child_id, int route_id) { |
std::pair<int, int> child_route_id_pair(child_id, route_id); |
return cancelled_id_pairs_.count(child_route_id_pair) != 0; |
} |
+ |
mmenke
2012/12/06 19:54:22
nit: Remove blank line.
gavinp
2012/12/07 17:37:04
Done.
|
// Set of all the RenderViews that have been cancelled. |
std::set<std::pair<int, int> > cancelled_id_pairs_; |
}; |
@@ -43,18 +97,26 @@ class TestPrerenderManager : public PrerenderManager { |
class PrerenderTrackerTest : public testing::Test { |
public: |
+ static const int kDefaultChildId = 0; |
+ static const int kDefaultRouteId = 100; |
+ |
PrerenderTrackerTest() : |
ui_thread_(BrowserThread::UI, &message_loop_), |
io_thread_(BrowserThread::IO, &message_loop_), |
- prerender_manager_(new TestPrerenderManager(prerender_tracker())) { |
+ prerender_manager_(prerender_tracker()), |
+ test_contents_(&prerender_manager_, kDefaultChildId, kDefaultRouteId) { |
+ } |
+ |
+ PrerenderTracker* prerender_tracker() { |
+ return g_browser_process->prerender_tracker(); |
} |
TestPrerenderManager* prerender_manager() { |
- return prerender_manager_.get(); |
+ return &prerender_manager_; |
} |
- PrerenderTracker* prerender_tracker() { |
- return g_browser_process->prerender_tracker(); |
+ TestPrerenderContents* test_contents() { |
+ return &test_contents_; |
} |
int GetCurrentStatus(int child_id, int route_id) { |
@@ -76,223 +138,289 @@ class PrerenderTrackerTest : public testing::Test { |
content::TestBrowserThread ui_thread_; |
content::TestBrowserThread io_thread_; |
- scoped_ptr<TestPrerenderManager> prerender_manager_; |
+ TestPrerenderManager prerender_manager_; |
+ TestPrerenderContents test_contents_; |
}; |
// Check that a non-existant RenderView is handled correctly. |
TEST_F(PrerenderTrackerTest, PrerenderTrackerNull) { |
- FinalStatus final_status; |
- EXPECT_FALSE(prerender_tracker()->TryUse(0, 0)); |
- EXPECT_FALSE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_HTTPS)); |
+ EXPECT_FALSE(prerender_tracker()->TryUse(kDefaultChildId, kDefaultRouteId)); |
+ EXPECT_FALSE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_CANCELLED)); |
EXPECT_FALSE(prerender_tracker()->TryCancelOnIOThread( |
- 0, 0, FINAL_STATUS_HTTPS)); |
- EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread(0, 0)); |
- EXPECT_FALSE(prerender_tracker()->GetFinalStatus(0, 0, &final_status)); |
- EXPECT_FALSE(prerender_manager()->WasPrerenderCancelled(0, 0)); |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_CANCELLED)); |
+ EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId, kDefaultRouteId)); |
+ FinalStatus final_status; |
+ EXPECT_FALSE(prerender_tracker()->GetFinalStatus( |
+ kDefaultChildId, kDefaultRouteId, &final_status)); |
+ EXPECT_FALSE(prerender_manager()->WasPrerenderCancelled( |
+ kDefaultChildId, kDefaultRouteId)); |
} |
// Check that a page that is used is handled correctly. |
TEST_F(PrerenderTrackerTest, PrerenderTrackerUsed) { |
- prerender_tracker()->OnPrerenderingStarted(0, 0, prerender_manager()); |
- EXPECT_EQ(FINAL_STATUS_MAX, GetCurrentStatus(0, 0)); |
+ test_contents()->Start(); |
+ |
+ EXPECT_EQ(FINAL_STATUS_MAX, |
+ GetCurrentStatus(kDefaultChildId, kDefaultRouteId)); |
// This calls AddPrerenderOnIOThreadTask(). |
RunEvents(); |
- EXPECT_TRUE(prerender_tracker()->IsPrerenderingOnIOThread(0, 0)); |
- EXPECT_EQ(FINAL_STATUS_MAX, GetCurrentStatus(0, 0)); |
+ EXPECT_TRUE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId, kDefaultRouteId)); |
+ EXPECT_EQ(FINAL_STATUS_MAX, |
+ GetCurrentStatus(kDefaultChildId, kDefaultRouteId)); |
// Display the prerendered RenderView. |
- EXPECT_TRUE(prerender_tracker()->TryUse(0, 0)); |
+ EXPECT_TRUE(prerender_tracker()->TryUse(kDefaultChildId, kDefaultRouteId)); |
// Make sure the page can't be destroyed or claim it was destroyed after |
// it's been used. |
- EXPECT_FALSE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_HTTPS)); |
+ EXPECT_FALSE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_CANCELLED)); |
EXPECT_FALSE(prerender_tracker()->TryCancelOnIOThread( |
- 0, 0, FINAL_STATUS_TIMED_OUT)); |
- EXPECT_EQ(FINAL_STATUS_USED, GetCurrentStatus(0, 0)); |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_TIMED_OUT)); |
+ EXPECT_EQ(FINAL_STATUS_USED, |
+ GetCurrentStatus(kDefaultChildId, kDefaultRouteId)); |
// This would call DestroyPrerenderForChildRouteIdPair(), if the prerender |
// were cancelled. |
RunEvents(); |
// These functions should all behave as before. |
- EXPECT_FALSE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_HTTPS)); |
+ EXPECT_FALSE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_CANCELLED)); |
EXPECT_FALSE(prerender_tracker()->TryCancelOnIOThread( |
- 0, 0, FINAL_STATUS_TIMED_OUT)); |
- EXPECT_EQ(FINAL_STATUS_USED, GetCurrentStatus(0, 0)); |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_TIMED_OUT)); |
+ EXPECT_EQ(FINAL_STATUS_USED, GetCurrentStatus( |
+ kDefaultChildId, kDefaultRouteId)); |
// This calls DestroyPrerenderForChildRouteIdPair(). |
- prerender_tracker()->OnPrerenderingFinished(0, 0); |
- EXPECT_TRUE(prerender_tracker()->IsPrerenderingOnIOThread(0, 0)); |
+ test_contents()->Use(); |
+ EXPECT_TRUE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId, kDefaultRouteId)); |
// This calls RemovePrerenderOnIOThreadTask(). |
RunEvents(); |
FinalStatus final_status; |
- EXPECT_FALSE(prerender_tracker()->GetFinalStatus(0, 0, &final_status)); |
- EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread(0, 0)); |
- EXPECT_FALSE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_HTTPS)); |
- EXPECT_FALSE(prerender_manager()->WasPrerenderCancelled(0, 0)); |
+ EXPECT_FALSE(prerender_tracker()->GetFinalStatus( |
+ kDefaultChildId, kDefaultRouteId, &final_status)); |
+ EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId, kDefaultRouteId)); |
+ EXPECT_FALSE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_CANCELLED)); |
+ EXPECT_FALSE(prerender_manager()->WasPrerenderCancelled( |
+ kDefaultChildId, kDefaultRouteId)); |
} |
// Check that a prerendered page cancelled by TryCancel() is handled correctly. |
TEST_F(PrerenderTrackerTest, PrerenderTrackerCancelled) { |
- prerender_tracker()->OnPrerenderingStarted(0, 0, prerender_manager()); |
- EXPECT_EQ(FINAL_STATUS_MAX, GetCurrentStatus(0, 0)); |
+ test_contents()->Start(); |
+ EXPECT_EQ(FINAL_STATUS_MAX, |
+ GetCurrentStatus(kDefaultChildId, kDefaultRouteId)); |
// This calls AddPrerenderOnIOThreadTask(). |
RunEvents(); |
// Cancel the prerender. |
- EXPECT_TRUE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_HTTPS)); |
+ EXPECT_TRUE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_CANCELLED)); |
- EXPECT_FALSE(prerender_tracker()->TryUse(0, 0)); |
- EXPECT_TRUE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_TIMED_OUT)); |
+ EXPECT_FALSE(prerender_tracker()->TryUse(kDefaultChildId, kDefaultRouteId)); |
+ EXPECT_TRUE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_TIMED_OUT)); |
EXPECT_TRUE(prerender_tracker()->TryCancelOnIOThread( |
- 0, 0, FINAL_STATUS_TIMED_OUT)); |
- EXPECT_EQ(FINAL_STATUS_HTTPS, GetCurrentStatus(0, 0)); |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_TIMED_OUT)); |
+ EXPECT_EQ(FINAL_STATUS_CANCELLED, |
+ GetCurrentStatus(kDefaultChildId, kDefaultRouteId)); |
// This calls DestroyPrerenderForChildRouteIdPair(). |
RunEvents(); |
- EXPECT_TRUE(prerender_manager()->WasPrerenderCancelled(0, 0)); |
+ EXPECT_TRUE(prerender_manager()->WasPrerenderCancelled( |
+ kDefaultChildId, kDefaultRouteId)); |
// These should all work until the prerendering RenderViewHost is destroyed. |
- EXPECT_TRUE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_TIMED_OUT)); |
+ EXPECT_TRUE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_TIMED_OUT)); |
EXPECT_TRUE(prerender_tracker()->TryCancelOnIOThread( |
- 0, 0, FINAL_STATUS_TIMED_OUT)); |
- EXPECT_EQ(FINAL_STATUS_HTTPS, GetCurrentStatus(0, 0)); |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_TIMED_OUT)); |
+ EXPECT_EQ(FINAL_STATUS_CANCELLED, |
+ GetCurrentStatus(kDefaultChildId, kDefaultRouteId)); |
- prerender_tracker()->OnPrerenderingFinished(0, 0); |
- EXPECT_TRUE(prerender_tracker()->IsPrerenderingOnIOThread(0, 0)); |
+ test_contents()->Cancel(); |
+ EXPECT_TRUE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId, kDefaultRouteId)); |
// This calls RemovePrerenderOnIOThreadTask(). |
RunEvents(); |
FinalStatus final_status; |
- EXPECT_FALSE(prerender_tracker()->GetFinalStatus(0, 0, &final_status)); |
- EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread(0, 0)); |
+ EXPECT_FALSE(prerender_tracker()->GetFinalStatus( |
+ kDefaultChildId, kDefaultRouteId, &final_status)); |
+ EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId, kDefaultRouteId)); |
} |
// Check that a prerendered page cancelled on the IO thread by |
// TryCancelOnIOThread() is handled correctly. |
TEST_F(PrerenderTrackerTest, PrerenderTrackerCancelledOnIO) { |
- prerender_tracker()->OnPrerenderingStarted(0, 0, prerender_manager()); |
- EXPECT_EQ(FINAL_STATUS_MAX, GetCurrentStatus(0, 0)); |
+ test_contents()->Start(); |
+ EXPECT_EQ(FINAL_STATUS_MAX, |
+ GetCurrentStatus(kDefaultChildId, kDefaultRouteId)); |
// This calls AddPrerenderOnIOThreadTask(). |
RunEvents(); |
// Cancel the prerender. |
EXPECT_TRUE(prerender_tracker()->TryCancelOnIOThread( |
- 0, 0, FINAL_STATUS_TIMED_OUT)); |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_TIMED_OUT)); |
- EXPECT_FALSE(prerender_tracker()->TryUse(0, 0)); |
- EXPECT_TRUE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_HTTPS)); |
+ EXPECT_FALSE(prerender_tracker()->TryUse(kDefaultChildId, kDefaultRouteId)); |
+ EXPECT_TRUE(prerender_tracker()->TryCancel(kDefaultChildId, kDefaultRouteId, |
+ FINAL_STATUS_CANCELLED)); |
EXPECT_TRUE(prerender_tracker()->TryCancelOnIOThread( |
- 0, 0, FINAL_STATUS_HTTPS)); |
- EXPECT_EQ(FINAL_STATUS_TIMED_OUT, GetCurrentStatus(0, 0)); |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_CANCELLED)); |
+ EXPECT_EQ(FINAL_STATUS_TIMED_OUT, |
+ GetCurrentStatus(kDefaultChildId, kDefaultRouteId)); |
// This calls DestroyPrerenderForChildRouteIdPair(). |
RunEvents(); |
- EXPECT_TRUE(prerender_manager()->WasPrerenderCancelled(0, 0)); |
+ EXPECT_TRUE(prerender_manager()->WasPrerenderCancelled( |
+ kDefaultChildId, kDefaultRouteId)); |
// These should all work until the prerendering RenderViewHost is destroyed. |
- EXPECT_TRUE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_HTTPS)); |
+ EXPECT_TRUE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_CANCELLED)); |
EXPECT_TRUE(prerender_tracker()->TryCancelOnIOThread( |
- 0, 0, FINAL_STATUS_HTTPS)); |
- EXPECT_EQ(FINAL_STATUS_TIMED_OUT, GetCurrentStatus(0, 0)); |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_CANCELLED)); |
+ EXPECT_EQ(FINAL_STATUS_TIMED_OUT, |
+ GetCurrentStatus(kDefaultChildId, kDefaultRouteId)); |
- prerender_tracker()->OnPrerenderingFinished(0, 0); |
- EXPECT_TRUE(prerender_tracker()->IsPrerenderingOnIOThread(0, 0)); |
+ test_contents()->Cancel(); |
+ EXPECT_TRUE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId, kDefaultRouteId)); |
// This calls RemovePrerenderOnIOThreadTask(). |
RunEvents(); |
FinalStatus final_status; |
- EXPECT_FALSE(prerender_tracker()->GetFinalStatus(0, 0, &final_status)); |
- EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread(0, 0)); |
+ EXPECT_FALSE(prerender_tracker()->GetFinalStatus( |
+ kDefaultChildId, kDefaultRouteId, &final_status)); |
+ EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId, kDefaultRouteId)); |
} |
// Check that a prerendered page cancelled before it reaches the IO thread is |
// handled correctly. |
TEST_F(PrerenderTrackerTest, PrerenderTrackerCancelledFast) { |
- prerender_tracker()->OnPrerenderingStarted(0, 0, prerender_manager()); |
+ test_contents()->Start(); |
+ |
// Cancel the prerender. |
- EXPECT_TRUE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_HTTPS)); |
+ EXPECT_TRUE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_CANCELLED)); |
- EXPECT_FALSE(prerender_tracker()->TryUse(0, 0)); |
- EXPECT_TRUE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_TIMED_OUT)); |
+ EXPECT_FALSE(prerender_tracker()->TryUse(kDefaultChildId, kDefaultRouteId)); |
+ EXPECT_TRUE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_TIMED_OUT)); |
// This calls AddPrerenderOnIOThreadTask() and |
// DestroyPrerenderForChildRouteIdPair(). |
RunEvents(); |
- EXPECT_TRUE(prerender_manager()->WasPrerenderCancelled(0, 0)); |
+ EXPECT_TRUE(prerender_manager()->WasPrerenderCancelled( |
+ kDefaultChildId, kDefaultRouteId)); |
EXPECT_TRUE(prerender_tracker()->TryCancelOnIOThread( |
- 0, 0, FINAL_STATUS_TIMED_OUT)); |
- EXPECT_TRUE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_TIMED_OUT)); |
- EXPECT_EQ(FINAL_STATUS_HTTPS, GetCurrentStatus(0, 0)); |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_TIMED_OUT)); |
+ EXPECT_TRUE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_TIMED_OUT)); |
+ EXPECT_EQ(FINAL_STATUS_CANCELLED, GetCurrentStatus( |
+ kDefaultChildId, kDefaultRouteId)); |
- prerender_tracker()->OnPrerenderingFinished(0, 0); |
+ test_contents()->Cancel(); |
// This calls RemovePrerenderOnIOThreadTask(). |
RunEvents(); |
FinalStatus final_status; |
- EXPECT_FALSE(prerender_tracker()->GetFinalStatus(0, 0, &final_status)); |
- EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread(0, 0)); |
+ EXPECT_FALSE(prerender_tracker()->GetFinalStatus( |
+ kDefaultChildId, kDefaultRouteId, &final_status)); |
+ EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId, kDefaultRouteId)); |
} |
// Check that handling two pages at once works. |
TEST_F(PrerenderTrackerTest, PrerenderTrackerMultiple) { |
- prerender_tracker()->OnPrerenderingStarted(0, 0, prerender_manager()); |
+ test_contents()->Start(); |
// This calls AddPrerenderOnIOThreadTask(). |
RunEvents(); |
- EXPECT_TRUE(prerender_tracker()->IsPrerenderingOnIOThread(0, 0)); |
- EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread(1, 2)); |
- EXPECT_FALSE(prerender_tracker()->TryUse(1, 2)); |
- EXPECT_FALSE(prerender_tracker()->TryCancel(1, 2, FINAL_STATUS_HTTPS)); |
+ EXPECT_TRUE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId, kDefaultRouteId)); |
+ EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId + 1, kDefaultRouteId + 1)); |
+ EXPECT_FALSE(prerender_tracker()->TryUse( |
+ kDefaultChildId + 1, kDefaultRouteId + 1)); |
+ EXPECT_FALSE(prerender_tracker()->TryCancel( |
+ kDefaultChildId + 1, kDefaultRouteId + 1, FINAL_STATUS_CANCELLED)); |
// Start second prerender. |
- prerender_tracker()->OnPrerenderingStarted(1, 2, prerender_manager()); |
+ TestPrerenderContents second_test_contents(prerender_manager(), |
+ kDefaultChildId + 1, |
+ kDefaultRouteId + 1); |
+ |
+ second_test_contents.Start(); |
// This calls AddPrerenderOnIOThreadTask(). |
RunEvents(); |
- // Use (0, 0). |
- EXPECT_TRUE(prerender_tracker()->TryUse(0, 0)); |
- EXPECT_EQ(FINAL_STATUS_USED, GetCurrentStatus(0, 0)); |
- EXPECT_EQ(FINAL_STATUS_MAX, GetCurrentStatus(1, 2)); |
+ // Use (kDefaultChildId, kDefaultRouteId). |
+ EXPECT_TRUE(prerender_tracker()->TryUse(kDefaultChildId, kDefaultRouteId)); |
+ EXPECT_EQ(FINAL_STATUS_USED, GetCurrentStatus( |
+ kDefaultChildId, kDefaultRouteId)); |
+ EXPECT_EQ(FINAL_STATUS_MAX, |
+ GetCurrentStatus(kDefaultChildId + 1, kDefaultRouteId + 1)); |
- // Cancel (1, 2). |
+ // Cancel (kDefaultChildId + 1, kDefaultRouteId + 1). |
EXPECT_TRUE(prerender_tracker()->TryCancelOnIOThread( |
- 1, 2, FINAL_STATUS_HTTPS)); |
+ kDefaultChildId + 1, kDefaultRouteId + 1, FINAL_STATUS_CANCELLED)); |
- EXPECT_FALSE(prerender_tracker()->TryCancel(0, 0, FINAL_STATUS_HTTPS)); |
- EXPECT_EQ(FINAL_STATUS_USED, GetCurrentStatus(0, 0)); |
+ EXPECT_FALSE(prerender_tracker()->TryCancel( |
+ kDefaultChildId, kDefaultRouteId, FINAL_STATUS_CANCELLED)); |
+ EXPECT_EQ(FINAL_STATUS_USED, |
+ GetCurrentStatus(kDefaultChildId, kDefaultRouteId)); |
- EXPECT_FALSE(prerender_tracker()->TryUse(1, 2)); |
- EXPECT_TRUE(prerender_tracker()->TryCancel(1, 2, FINAL_STATUS_HTTPS)); |
- EXPECT_EQ(FINAL_STATUS_HTTPS, GetCurrentStatus(1, 2)); |
+ EXPECT_FALSE(prerender_tracker()->TryUse( |
+ kDefaultChildId + 1, kDefaultRouteId + 1)); |
+ EXPECT_TRUE(prerender_tracker()->TryCancel( |
+ kDefaultChildId + 1, kDefaultRouteId + 1, FINAL_STATUS_CANCELLED)); |
+ EXPECT_EQ(FINAL_STATUS_CANCELLED, |
+ GetCurrentStatus(kDefaultChildId + 1, kDefaultRouteId + 1)); |
// This calls DestroyPrerenderForChildRouteIdPair(). |
RunEvents(); |
- EXPECT_FALSE(prerender_manager()->WasPrerenderCancelled(0, 0)); |
- EXPECT_TRUE(prerender_manager()->WasPrerenderCancelled(1, 2)); |
+ EXPECT_FALSE(prerender_manager()->WasPrerenderCancelled(kDefaultChildId, |
+ kDefaultRouteId)); |
+ EXPECT_TRUE(prerender_manager()->WasPrerenderCancelled(kDefaultChildId + 1, |
+ kDefaultRouteId + 1)); |
- prerender_tracker()->OnPrerenderingFinished(0, 0); |
- prerender_tracker()->OnPrerenderingFinished(1, 2); |
+ test_contents()->Cancel(); |
+ second_test_contents.Cancel(); |
// This calls RemovePrerenderOnIOThreadTask(). |
RunEvents(); |
FinalStatus final_status; |
- EXPECT_FALSE(prerender_tracker()->GetFinalStatus(0, 0, &final_status)); |
- EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread(0, 0)); |
- |
- EXPECT_FALSE(prerender_tracker()->GetFinalStatus(1, 2, &final_status)); |
- EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread(1, 2)); |
+ EXPECT_FALSE(prerender_tracker()->GetFinalStatus( |
+ kDefaultChildId, kDefaultRouteId, &final_status)); |
+ EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId, kDefaultRouteId)); |
+ |
+ EXPECT_FALSE(prerender_tracker()->GetFinalStatus( |
+ kDefaultChildId + 1, kDefaultRouteId + 1, &final_status)); |
+ EXPECT_FALSE(prerender_tracker()->IsPrerenderingOnIOThread( |
+ kDefaultChildId + 1, kDefaultRouteId + 1)); |
} |
} // namespace prerender |