OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/memory/scoped_vector.h" | 6 #include "base/memory/scoped_vector.h" |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "base/time.h" | 8 #include "base/time.h" |
9 #include "chrome/browser/prerender/prerender_contents.h" | 9 #include "chrome/browser/prerender/prerender_contents.h" |
10 #include "chrome/browser/prerender/prerender_link_manager.h" | 10 #include "chrome/browser/prerender/prerender_link_manager.h" |
11 #include "chrome/browser/prerender/prerender_manager.h" | 11 #include "chrome/browser/prerender/prerender_manager.h" |
12 #include "chrome/browser/prerender/prerender_origin.h" | 12 #include "chrome/browser/prerender/prerender_origin.h" |
13 #include "chrome/common/chrome_switches.h" | 13 #include "chrome/common/chrome_switches.h" |
14 #include "chrome/test/base/testing_browser_process.h" | 14 #include "chrome/test/base/testing_browser_process.h" |
15 #include "chrome/test/base/testing_profile.h" | 15 #include "chrome/test/base/testing_profile.h" |
16 #include "content/public/browser/render_view_host.h" | 16 #include "content/public/browser/render_view_host.h" |
17 #include "content/test/test_browser_thread.h" | 17 #include "content/test/test_browser_thread.h" |
18 #include "googleurl/src/gurl.h" | 18 #include "googleurl/src/gurl.h" |
19 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
20 #include "ui/gfx/size.h" | 20 #include "ui/gfx/size.h" |
21 | 21 |
22 using content::BrowserThread; | 22 using content::BrowserThread; |
| 23 using content::Referrer; |
23 | 24 |
24 namespace prerender { | 25 namespace prerender { |
25 | 26 |
26 namespace { | 27 namespace { |
27 | 28 |
28 class DummyPrerenderContents : public PrerenderContents { | 29 class DummyPrerenderContents : public PrerenderContents { |
29 public: | 30 public: |
30 DummyPrerenderContents(PrerenderManager* prerender_manager, | 31 DummyPrerenderContents(PrerenderManager* prerender_manager, |
31 PrerenderTracker* prerender_tracker, | 32 PrerenderTracker* prerender_tracker, |
32 const GURL& url, | 33 const GURL& url, |
33 Origin origin, | 34 Origin origin, |
34 FinalStatus expected_final_status) | 35 FinalStatus expected_final_status) |
35 : PrerenderContents(prerender_manager, prerender_tracker, | 36 : PrerenderContents(prerender_manager, prerender_tracker, |
36 NULL, url, content::Referrer(), | 37 NULL, url, Referrer(), origin, |
37 origin, PrerenderManager::kNoExperiment), | 38 PrerenderManager::kNoExperiment), |
38 has_started_(false), | |
39 expected_final_status_(expected_final_status) { | 39 expected_final_status_(expected_final_status) { |
40 } | 40 } |
41 | 41 |
42 virtual ~DummyPrerenderContents() { | 42 virtual ~DummyPrerenderContents() { |
43 EXPECT_EQ(expected_final_status_, final_status()); | 43 EXPECT_EQ(expected_final_status_, final_status()); |
44 } | 44 } |
45 | 45 |
46 virtual void StartPrerendering( | 46 virtual void StartPrerendering( |
47 int ALLOW_UNUSED creator_child_id, | 47 int ALLOW_UNUSED creator_child_id, |
48 const gfx::Size& ALLOW_UNUSED size, | 48 const gfx::Size& ALLOW_UNUSED size, |
49 content::SessionStorageNamespace* ALLOW_UNUSED | 49 content::SessionStorageNamespace* ALLOW_UNUSED |
50 session_storage_namespace) OVERRIDE { | 50 session_storage_namespace) OVERRIDE { |
51 has_started_ = true; | 51 prerendering_has_started_ = true; |
52 } | 52 } |
53 | 53 |
54 virtual bool GetChildId(int* child_id) const OVERRIDE { | 54 virtual bool GetChildId(int* child_id) const OVERRIDE { |
55 *child_id = 0; | 55 *child_id = 0; |
56 return true; | 56 return true; |
57 } | 57 } |
58 | 58 |
59 virtual bool GetRouteId(int* route_id) const OVERRIDE { | 59 virtual bool GetRouteId(int* route_id) const OVERRIDE { |
60 *route_id = 0; | 60 *route_id = 0; |
61 return true; | 61 return true; |
62 } | 62 } |
63 | 63 |
64 bool has_started() const { return has_started_; } | |
65 | |
66 FinalStatus expected_final_status() const { return expected_final_status_; } | 64 FinalStatus expected_final_status() const { return expected_final_status_; } |
67 | 65 |
68 bool prerendering_has_been_cancelled() const { | 66 bool prerendering_has_been_cancelled() const { |
69 return PrerenderContents::prerendering_has_been_cancelled(); | 67 return PrerenderContents::prerendering_has_been_cancelled(); |
70 } | 68 } |
71 | 69 |
72 private: | 70 private: |
73 bool has_started_; | |
74 FinalStatus expected_final_status_; | 71 FinalStatus expected_final_status_; |
75 }; | 72 }; |
76 | 73 |
77 class TestPrerenderManager : public PrerenderManager { | 74 class TestPrerenderManager : public PrerenderManager { |
78 public: | 75 public: |
79 explicit TestPrerenderManager(PrerenderTracker* prerender_tracker) | 76 explicit TestPrerenderManager(PrerenderTracker* prerender_tracker) |
80 : PrerenderManager(&profile_, prerender_tracker), | 77 : PrerenderManager(&profile_, prerender_tracker), |
81 time_(base::Time::Now()), | 78 time_(base::Time::Now()), |
82 time_ticks_(base::TimeTicks::Now()), | 79 time_ticks_(base::TimeTicks::Now()), |
83 next_prerender_contents_(NULL), | 80 next_prerender_contents_(NULL), |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 virtual base::Time GetCurrentTime() const OVERRIDE { | 165 virtual base::Time GetCurrentTime() const OVERRIDE { |
169 return time_; | 166 return time_; |
170 } | 167 } |
171 | 168 |
172 virtual base::TimeTicks GetCurrentTimeTicks() const OVERRIDE { | 169 virtual base::TimeTicks GetCurrentTimeTicks() const OVERRIDE { |
173 return time_ticks_; | 170 return time_ticks_; |
174 } | 171 } |
175 | 172 |
176 virtual PrerenderContents* CreatePrerenderContents( | 173 virtual PrerenderContents* CreatePrerenderContents( |
177 const GURL& url, | 174 const GURL& url, |
178 const content::Referrer& referrer, | 175 const Referrer& referrer, |
179 Origin origin, | 176 Origin origin, |
180 uint8 experiment_id) OVERRIDE { | 177 uint8 experiment_id) OVERRIDE { |
181 DCHECK(next_prerender_contents_.get()); | 178 DCHECK(next_prerender_contents_.get()); |
182 DCHECK_EQ(next_prerender_contents_->prerender_url(), url); | 179 DCHECK_EQ(next_prerender_contents_->prerender_url(), url); |
183 DCHECK_EQ(next_prerender_contents_->origin(), origin); | 180 DCHECK_EQ(next_prerender_contents_->origin(), origin); |
184 return next_prerender_contents_.release(); | 181 return next_prerender_contents_.release(); |
185 } | 182 } |
186 | 183 |
187 base::Time time_; | 184 base::Time time_; |
188 base::TimeTicks time_ticks_; | 185 base::TimeTicks time_ticks_; |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 GURL("http://www.google.com/"))); | 269 GURL("http://www.google.com/"))); |
273 } | 270 } |
274 | 271 |
275 TEST_F(PrerenderTest, FoundTest) { | 272 TEST_F(PrerenderTest, FoundTest) { |
276 GURL url("http://www.google.com/"); | 273 GURL url("http://www.google.com/"); |
277 DummyPrerenderContents* prerender_contents = | 274 DummyPrerenderContents* prerender_contents = |
278 prerender_manager()->CreateNextPrerenderContents( | 275 prerender_manager()->CreateNextPrerenderContents( |
279 url, | 276 url, |
280 FINAL_STATUS_USED); | 277 FINAL_STATUS_USED); |
281 EXPECT_TRUE(AddSimplePrerender(url)); | 278 EXPECT_TRUE(AddSimplePrerender(url)); |
282 EXPECT_TRUE(prerender_contents->has_started()); | 279 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
283 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); | 280 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); |
284 } | 281 } |
285 | 282 |
286 // Make sure that if queue a request, and a second prerender request for the | 283 // Make sure that if queue a request, and a second prerender request for the |
287 // same URL comes in, that we drop the second request and keep the first one. | 284 // same URL comes in, that we drop the second request and keep the first one. |
288 TEST_F(PrerenderTest, DropSecondRequestTest) { | 285 TEST_F(PrerenderTest, DropSecondRequestTest) { |
289 GURL url("http://www.google.com/"); | 286 GURL url("http://www.google.com/"); |
290 DummyPrerenderContents* prerender_contents = | 287 DummyPrerenderContents* prerender_contents = |
291 prerender_manager()->CreateNextPrerenderContents( | 288 prerender_manager()->CreateNextPrerenderContents( |
292 url, | 289 url, |
293 FINAL_STATUS_USED); | 290 FINAL_STATUS_USED); |
294 DummyPrerenderContents* null = NULL; | 291 DummyPrerenderContents* null = NULL; |
295 EXPECT_TRUE(AddSimplePrerender(url)); | 292 EXPECT_TRUE(AddSimplePrerender(url)); |
296 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); | 293 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); |
297 EXPECT_TRUE(prerender_contents->has_started()); | 294 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
298 | 295 |
299 DummyPrerenderContents* prerender_contents1 = | 296 DummyPrerenderContents* prerender_contents1 = |
300 prerender_manager()->CreateNextPrerenderContents( | 297 prerender_manager()->CreateNextPrerenderContents( |
301 url, | 298 url, |
302 FINAL_STATUS_MANAGER_SHUTDOWN); | 299 FINAL_STATUS_MANAGER_SHUTDOWN); |
303 EXPECT_TRUE(AddSimplePrerender(url)); | 300 EXPECT_TRUE(AddSimplePrerender(url)); |
304 EXPECT_EQ(prerender_contents1, | 301 EXPECT_EQ(prerender_contents1, |
305 prerender_manager()->next_prerender_contents()); | 302 prerender_manager()->next_prerender_contents()); |
306 EXPECT_FALSE(prerender_contents1->has_started()); | 303 EXPECT_FALSE(prerender_contents1->prerendering_has_started()); |
307 | 304 |
308 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); | 305 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); |
309 } | 306 } |
310 | 307 |
311 // Ensure that we expire a prerendered page after the max. permitted time. | 308 // Ensure that we expire a prerendered page after the max. permitted time. |
312 TEST_F(PrerenderTest, ExpireTest) { | 309 TEST_F(PrerenderTest, ExpireTest) { |
313 GURL url("http://www.google.com/"); | 310 GURL url("http://www.google.com/"); |
314 DummyPrerenderContents* prerender_contents = | 311 DummyPrerenderContents* prerender_contents = |
315 prerender_manager()->CreateNextPrerenderContents( | 312 prerender_manager()->CreateNextPrerenderContents( |
316 url, | 313 url, |
317 FINAL_STATUS_TIMED_OUT); | 314 FINAL_STATUS_TIMED_OUT); |
318 DummyPrerenderContents* null = NULL; | 315 DummyPrerenderContents* null = NULL; |
319 EXPECT_TRUE(AddSimplePrerender(url)); | 316 EXPECT_TRUE(AddSimplePrerender(url)); |
320 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); | 317 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); |
321 EXPECT_TRUE(prerender_contents->has_started()); | 318 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
322 prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() + | 319 prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() + |
323 base::TimeDelta::FromSeconds(1)); | 320 base::TimeDelta::FromSeconds(1)); |
324 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 321 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
325 } | 322 } |
326 | 323 |
327 // LRU Test. Make sure that if we prerender more than one request, that | 324 // LRU Test. Make sure that if we prerender more than one request, that |
328 // the oldest one will be dropped. | 325 // the oldest one will be dropped. |
329 TEST_F(PrerenderTest, DropOldestRequestTest) { | 326 TEST_F(PrerenderTest, DropOldestRequestTest) { |
330 GURL url("http://www.google.com/"); | 327 GURL url("http://www.google.com/"); |
331 DummyPrerenderContents* prerender_contents = | 328 DummyPrerenderContents* prerender_contents = |
332 prerender_manager()->CreateNextPrerenderContents( | 329 prerender_manager()->CreateNextPrerenderContents( |
333 url, | 330 url, |
334 FINAL_STATUS_EVICTED); | 331 FINAL_STATUS_EVICTED); |
335 DummyPrerenderContents* null = NULL; | 332 DummyPrerenderContents* null = NULL; |
336 EXPECT_TRUE(AddSimplePrerender(url)); | 333 EXPECT_TRUE(AddSimplePrerender(url)); |
337 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); | 334 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); |
338 EXPECT_TRUE(prerender_contents->has_started()); | 335 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
339 | 336 |
340 GURL url1("http://news.google.com/"); | 337 GURL url1("http://news.google.com/"); |
341 DummyPrerenderContents* prerender_contents1 = | 338 DummyPrerenderContents* prerender_contents1 = |
342 prerender_manager()->CreateNextPrerenderContents( | 339 prerender_manager()->CreateNextPrerenderContents( |
343 url1, | 340 url1, |
344 FINAL_STATUS_USED); | 341 FINAL_STATUS_USED); |
345 EXPECT_TRUE(AddSimplePrerender(url1)); | 342 EXPECT_TRUE(AddSimplePrerender(url1)); |
346 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); | 343 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); |
347 EXPECT_TRUE(prerender_contents1->has_started()); | 344 EXPECT_TRUE(prerender_contents1->prerendering_has_started()); |
348 | 345 |
349 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 346 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
350 ASSERT_EQ(prerender_contents1, prerender_manager()->GetEntry(url1)); | 347 ASSERT_EQ(prerender_contents1, prerender_manager()->GetEntry(url1)); |
351 } | 348 } |
352 | 349 |
353 // Two element prerender test. Ensure that the LRU operates correctly if we | 350 // Two element prerender test. Ensure that the LRU operates correctly if we |
354 // permit 2 elements to be kept prerendered. | 351 // permit 2 elements to be kept prerendered. |
355 TEST_F(PrerenderTest, TwoElementPrerenderTest) { | 352 TEST_F(PrerenderTest, TwoElementPrerenderTest) { |
356 prerender_manager()->mutable_config().max_elements = 2; | 353 prerender_manager()->mutable_config().max_elements = 2; |
357 GURL url("http://www.google.com/"); | 354 GURL url("http://www.google.com/"); |
358 DummyPrerenderContents* prerender_contents = | 355 DummyPrerenderContents* prerender_contents = |
359 prerender_manager()->CreateNextPrerenderContents( | 356 prerender_manager()->CreateNextPrerenderContents( |
360 url, | 357 url, |
361 FINAL_STATUS_EVICTED); | 358 FINAL_STATUS_EVICTED); |
362 DummyPrerenderContents* null = NULL; | 359 DummyPrerenderContents* null = NULL; |
363 EXPECT_TRUE(AddSimplePrerender(url)); | 360 EXPECT_TRUE(AddSimplePrerender(url)); |
364 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); | 361 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); |
365 EXPECT_TRUE(prerender_contents->has_started()); | 362 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
366 | 363 |
367 GURL url1("http://news.google.com/"); | 364 GURL url1("http://news.google.com/"); |
368 DummyPrerenderContents* prerender_contents1 = | 365 DummyPrerenderContents* prerender_contents1 = |
369 prerender_manager()->CreateNextPrerenderContents( | 366 prerender_manager()->CreateNextPrerenderContents( |
370 url1, | 367 url1, |
371 FINAL_STATUS_USED); | 368 FINAL_STATUS_USED); |
372 EXPECT_TRUE(AddSimplePrerender(url1)); | 369 EXPECT_TRUE(AddSimplePrerender(url1)); |
373 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); | 370 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); |
374 EXPECT_TRUE(prerender_contents1->has_started()); | 371 EXPECT_TRUE(prerender_contents1->prerendering_has_started()); |
375 | 372 |
376 GURL url2("http://images.google.com/"); | 373 GURL url2("http://images.google.com/"); |
377 DummyPrerenderContents* prerender_contents2 = | 374 DummyPrerenderContents* prerender_contents2 = |
378 prerender_manager()->CreateNextPrerenderContents( | 375 prerender_manager()->CreateNextPrerenderContents( |
379 url2, | 376 url2, |
380 FINAL_STATUS_USED); | 377 FINAL_STATUS_USED); |
381 EXPECT_TRUE(AddSimplePrerender(url2)); | 378 EXPECT_TRUE(AddSimplePrerender(url2)); |
382 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); | 379 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); |
383 EXPECT_TRUE(prerender_contents2->has_started()); | 380 EXPECT_TRUE(prerender_contents2->prerendering_has_started()); |
384 | 381 |
385 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 382 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
386 ASSERT_EQ(prerender_contents1, prerender_manager()->GetEntry(url1)); | 383 ASSERT_EQ(prerender_contents1, prerender_manager()->GetEntry(url1)); |
387 ASSERT_EQ(prerender_contents2, prerender_manager()->GetEntry(url2)); | 384 ASSERT_EQ(prerender_contents2, prerender_manager()->GetEntry(url2)); |
388 } | 385 } |
389 | 386 |
390 TEST_F(PrerenderTest, AliasURLTest) { | 387 TEST_F(PrerenderTest, AliasURLTest) { |
391 GURL url("http://www.google.com/"); | 388 GURL url("http://www.google.com/"); |
392 GURL alias_url1("http://www.google.com/index.html"); | 389 GURL alias_url1("http://www.google.com/index.html"); |
393 GURL alias_url2("http://google.com/"); | 390 GURL alias_url2("http://google.com/"); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 // Ensure that we ignore prerender requests within the rate limit. | 422 // Ensure that we ignore prerender requests within the rate limit. |
426 TEST_F(PrerenderTest, RateLimitInWindowTest) { | 423 TEST_F(PrerenderTest, RateLimitInWindowTest) { |
427 GURL url("http://www.google.com/"); | 424 GURL url("http://www.google.com/"); |
428 DummyPrerenderContents* prerender_contents = | 425 DummyPrerenderContents* prerender_contents = |
429 prerender_manager()->CreateNextPrerenderContents( | 426 prerender_manager()->CreateNextPrerenderContents( |
430 url, | 427 url, |
431 FINAL_STATUS_MANAGER_SHUTDOWN); | 428 FINAL_STATUS_MANAGER_SHUTDOWN); |
432 DummyPrerenderContents* null = NULL; | 429 DummyPrerenderContents* null = NULL; |
433 EXPECT_TRUE(AddSimplePrerender(url)); | 430 EXPECT_TRUE(AddSimplePrerender(url)); |
434 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); | 431 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); |
435 EXPECT_TRUE(prerender_contents->has_started()); | 432 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
436 | 433 |
437 prerender_manager()->set_rate_limit_enabled(true); | 434 prerender_manager()->set_rate_limit_enabled(true); |
438 prerender_manager()->AdvanceTimeTicks(base::TimeDelta::FromMilliseconds(1)); | 435 prerender_manager()->AdvanceTimeTicks(base::TimeDelta::FromMilliseconds(1)); |
439 | 436 |
440 GURL url1("http://news.google.com/"); | 437 GURL url1("http://news.google.com/"); |
441 prerender_manager()->CreateNextPrerenderContents( | 438 prerender_manager()->CreateNextPrerenderContents( |
442 url, | 439 url, |
443 FINAL_STATUS_MANAGER_SHUTDOWN); | 440 FINAL_STATUS_MANAGER_SHUTDOWN); |
444 EXPECT_FALSE(AddSimplePrerender(url1)); | 441 EXPECT_FALSE(AddSimplePrerender(url1)); |
445 prerender_manager()->set_rate_limit_enabled(false); | 442 prerender_manager()->set_rate_limit_enabled(false); |
446 } | 443 } |
447 | 444 |
448 // Ensure that we don't ignore prerender requests outside the rate limit. | 445 // Ensure that we don't ignore prerender requests outside the rate limit. |
449 TEST_F(PrerenderTest, RateLimitOutsideWindowTest) { | 446 TEST_F(PrerenderTest, RateLimitOutsideWindowTest) { |
450 GURL url("http://www.google.com/"); | 447 GURL url("http://www.google.com/"); |
451 DummyPrerenderContents* prerender_contents = | 448 DummyPrerenderContents* prerender_contents = |
452 prerender_manager()->CreateNextPrerenderContents( | 449 prerender_manager()->CreateNextPrerenderContents( |
453 url, | 450 url, |
454 FINAL_STATUS_EVICTED); | 451 FINAL_STATUS_EVICTED); |
455 DummyPrerenderContents* null = NULL; | 452 DummyPrerenderContents* null = NULL; |
456 EXPECT_TRUE(AddSimplePrerender(url)); | 453 EXPECT_TRUE(AddSimplePrerender(url)); |
457 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); | 454 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); |
458 EXPECT_TRUE(prerender_contents->has_started()); | 455 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
459 | 456 |
460 prerender_manager()->set_rate_limit_enabled(true); | 457 prerender_manager()->set_rate_limit_enabled(true); |
461 prerender_manager()->AdvanceTimeTicks( | 458 prerender_manager()->AdvanceTimeTicks( |
462 base::TimeDelta::FromMilliseconds(2000)); | 459 base::TimeDelta::FromMilliseconds(2000)); |
463 | 460 |
464 GURL url1("http://news.google.com/"); | 461 GURL url1("http://news.google.com/"); |
465 DummyPrerenderContents* rate_limit_prerender_contents = | 462 DummyPrerenderContents* rate_limit_prerender_contents = |
466 prerender_manager()->CreateNextPrerenderContents( | 463 prerender_manager()->CreateNextPrerenderContents( |
467 url1, | 464 url1, |
468 FINAL_STATUS_MANAGER_SHUTDOWN); | 465 FINAL_STATUS_MANAGER_SHUTDOWN); |
469 EXPECT_TRUE(AddSimplePrerender(url1)); | 466 EXPECT_TRUE(AddSimplePrerender(url1)); |
470 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); | 467 EXPECT_EQ(null, prerender_manager()->next_prerender_contents()); |
471 EXPECT_TRUE(rate_limit_prerender_contents->has_started()); | 468 EXPECT_TRUE(rate_limit_prerender_contents->prerendering_has_started()); |
472 prerender_manager()->set_rate_limit_enabled(false); | 469 prerender_manager()->set_rate_limit_enabled(false); |
473 } | 470 } |
474 | 471 |
475 TEST_F(PrerenderTest, PendingPrerenderTest) { | 472 TEST_F(PrerenderTest, PendingPrerenderTest) { |
476 GURL url("http://www.google.com/"); | 473 GURL url("http://www.google.com/"); |
477 DummyPrerenderContents* prerender_contents = | 474 DummyPrerenderContents* prerender_contents = |
478 prerender_manager()->CreateNextPrerenderContents( | 475 prerender_manager()->CreateNextPrerenderContents( |
479 url, | 476 url, |
480 FINAL_STATUS_USED); | 477 FINAL_STATUS_USED); |
481 EXPECT_TRUE(AddSimplePrerender(url)); | 478 EXPECT_TRUE(AddSimplePrerender(url)); |
482 | 479 |
483 int child_id; | 480 int child_id; |
484 int route_id; | 481 int route_id; |
485 ASSERT_TRUE(prerender_contents->GetChildId(&child_id)); | 482 ASSERT_TRUE(prerender_contents->GetChildId(&child_id)); |
486 ASSERT_TRUE(prerender_contents->GetRouteId(&route_id)); | 483 ASSERT_TRUE(prerender_contents->GetRouteId(&route_id)); |
487 | 484 |
488 GURL pending_url("http://news.google.com/"); | 485 GURL pending_url("http://news.google.com/"); |
489 | 486 |
490 EXPECT_TRUE(prerender_manager()->AddPrerenderFromLinkRelPrerender( | 487 EXPECT_TRUE(prerender_manager()->AddPrerenderFromLinkRelPrerender( |
491 child_id, route_id, | 488 child_id, route_id, |
492 pending_url, content::Referrer(url, WebKit::WebReferrerPolicyDefault), | 489 pending_url, Referrer(url, WebKit::WebReferrerPolicyDefault), |
493 gfx::Size())); | 490 gfx::Size())); |
494 | 491 |
495 EXPECT_TRUE(prerender_manager()->IsPendingEntry(pending_url)); | 492 EXPECT_TRUE(prerender_manager()->IsPendingEntry(pending_url)); |
496 EXPECT_TRUE(prerender_contents->has_started()); | 493 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
497 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); | 494 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); |
498 } | 495 } |
499 | 496 |
500 // Tests that a PrerenderManager created for a browser session in the control | 497 // Tests that a PrerenderManager created for a browser session in the control |
501 // group works as expected. | 498 // group works as expected. |
502 TEST_F(PrerenderTest, ControlGroup) { | 499 TEST_F(PrerenderTest, ControlGroup) { |
503 RestorePrerenderMode restore_prerender_mode; | 500 RestorePrerenderMode restore_prerender_mode; |
504 PrerenderManager::SetMode( | 501 PrerenderManager::SetMode( |
505 PrerenderManager::PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP); | 502 PrerenderManager::PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP); |
506 GURL url("http://www.google.com/"); | 503 GURL url("http://www.google.com/"); |
507 DummyPrerenderContents* prerender_contents = | 504 DummyPrerenderContents* prerender_contents = |
508 prerender_manager()->CreateNextPrerenderContents( | 505 prerender_manager()->CreateNextPrerenderContents( |
509 url, | 506 url, |
510 FINAL_STATUS_MANAGER_SHUTDOWN); | 507 FINAL_STATUS_MANAGER_SHUTDOWN); |
511 EXPECT_TRUE(AddSimplePrerender(url)); | 508 EXPECT_TRUE(AddSimplePrerender(url)); |
512 EXPECT_FALSE(prerender_contents->has_started()); | 509 EXPECT_FALSE(prerender_contents->prerendering_has_started()); |
513 } | 510 } |
514 | 511 |
515 // Tests that prerendering is cancelled when the source render view does not | 512 // Tests that prerendering is cancelled when the source render view does not |
516 // exist. On failure, the DCHECK in CreatePrerenderContents() above should be | 513 // exist. On failure, the DCHECK in CreatePrerenderContents() above should be |
517 // triggered. | 514 // triggered. |
518 TEST_F(PrerenderTest, SourceRenderViewClosed) { | 515 TEST_F(PrerenderTest, SourceRenderViewClosed) { |
519 GURL url("http://www.google.com/"); | 516 GURL url("http://www.google.com/"); |
520 prerender_manager()->CreateNextPrerenderContents( | 517 prerender_manager()->CreateNextPrerenderContents( |
521 url, | 518 url, |
522 FINAL_STATUS_MANAGER_SHUTDOWN); | 519 FINAL_STATUS_MANAGER_SHUTDOWN); |
523 EXPECT_FALSE(prerender_link_manager()->OnAddPrerender( | 520 EXPECT_FALSE(prerender_link_manager()->OnAddPrerender( |
524 100, GetNextPrerenderID(), url, | 521 100, GetNextPrerenderID(), url, |
525 content::Referrer(), gfx::Size(), 200)); | 522 Referrer(), gfx::Size(), 200)); |
526 } | 523 } |
527 | 524 |
528 // Tests that the prerender manager ignores fragment references when matching | 525 // Tests that the prerender manager ignores fragment references when matching |
529 // prerender URLs in the case the fragment is not in the prerender URL. | 526 // prerender URLs in the case the fragment is not in the prerender URL. |
530 TEST_F(PrerenderTest, PageMatchesFragmentTest) { | 527 TEST_F(PrerenderTest, PageMatchesFragmentTest) { |
531 GURL url("http://www.google.com/"); | 528 GURL url("http://www.google.com/"); |
532 GURL fragment_url("http://www.google.com/#test"); | 529 GURL fragment_url("http://www.google.com/#test"); |
533 | 530 |
534 DummyPrerenderContents* prerender_contents = | 531 DummyPrerenderContents* prerender_contents = |
535 prerender_manager()->CreateNextPrerenderContents(url, | 532 prerender_manager()->CreateNextPrerenderContents(url, |
536 FINAL_STATUS_USED); | 533 FINAL_STATUS_USED); |
537 EXPECT_TRUE(AddSimplePrerender(url)); | 534 EXPECT_TRUE(AddSimplePrerender(url)); |
538 EXPECT_TRUE(prerender_contents->has_started()); | 535 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
539 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(fragment_url)); | 536 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(fragment_url)); |
540 } | 537 } |
541 | 538 |
542 // Tests that the prerender manager ignores fragment references when matching | 539 // Tests that the prerender manager ignores fragment references when matching |
543 // prerender URLs in the case the fragment is in the prerender URL. | 540 // prerender URLs in the case the fragment is in the prerender URL. |
544 // TODO(gavinp): Re-enable this in the Prerender API once we're officially | 541 // TODO(gavinp): Re-enable this in the Prerender API once we're officially |
545 // fragment clean. | 542 // fragment clean. |
546 TEST_F(PrerenderTest, DISABLED_FragmentMatchesPageTest) { | 543 TEST_F(PrerenderTest, DISABLED_FragmentMatchesPageTest) { |
547 GURL url("http://www.google.com/"); | 544 GURL url("http://www.google.com/"); |
548 GURL fragment_url("http://www.google.com/#test"); | 545 GURL fragment_url("http://www.google.com/#test"); |
549 | 546 |
550 DummyPrerenderContents* prerender_contents = | 547 DummyPrerenderContents* prerender_contents = |
551 prerender_manager()->CreateNextPrerenderContents(fragment_url, | 548 prerender_manager()->CreateNextPrerenderContents(fragment_url, |
552 FINAL_STATUS_USED); | 549 FINAL_STATUS_USED); |
553 EXPECT_TRUE(AddSimplePrerender(fragment_url)); | 550 EXPECT_TRUE(AddSimplePrerender(fragment_url)); |
554 EXPECT_TRUE(prerender_contents->has_started()); | 551 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
555 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); | 552 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); |
556 } | 553 } |
557 | 554 |
558 // Tests that the prerender manager ignores fragment references when matching | 555 // Tests that the prerender manager ignores fragment references when matching |
559 // prerender URLs in the case the fragment is in both URLs. | 556 // prerender URLs in the case the fragment is in both URLs. |
560 // TODO(gavinp): Re-enable this in the Prerender API once we're officially | 557 // TODO(gavinp): Re-enable this in the Prerender API once we're officially |
561 // fragment clean. | 558 // fragment clean. |
562 TEST_F(PrerenderTest, DISABLED_FragmentMatchesFragmentTest) { | 559 TEST_F(PrerenderTest, DISABLED_FragmentMatchesFragmentTest) { |
563 GURL fragment_url("http://www.google.com/#test"); | 560 GURL fragment_url("http://www.google.com/#test"); |
564 GURL other_fragment_url("http://www.google.com/#other_test"); | 561 GURL other_fragment_url("http://www.google.com/#other_test"); |
565 | 562 |
566 DummyPrerenderContents* prerender_contents = | 563 DummyPrerenderContents* prerender_contents = |
567 prerender_manager()->CreateNextPrerenderContents(fragment_url, | 564 prerender_manager()->CreateNextPrerenderContents(fragment_url, |
568 FINAL_STATUS_USED); | 565 FINAL_STATUS_USED); |
569 EXPECT_TRUE(AddSimplePrerender(fragment_url)); | 566 EXPECT_TRUE(AddSimplePrerender(fragment_url)); |
570 EXPECT_TRUE(prerender_contents->has_started()); | 567 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
571 ASSERT_EQ(prerender_contents, | 568 ASSERT_EQ(prerender_contents, |
572 prerender_manager()->GetEntry(other_fragment_url)); | 569 prerender_manager()->GetEntry(other_fragment_url)); |
573 } | 570 } |
574 | 571 |
575 // Make sure that clearing works as expected. | 572 // Make sure that clearing works as expected. |
576 TEST_F(PrerenderTest, ClearTest) { | 573 TEST_F(PrerenderTest, ClearTest) { |
577 GURL url("http://www.google.com/"); | 574 GURL url("http://www.google.com/"); |
578 DummyPrerenderContents* prerender_contents = | 575 DummyPrerenderContents* prerender_contents = |
579 prerender_manager()->CreateNextPrerenderContents( | 576 prerender_manager()->CreateNextPrerenderContents( |
580 url, | 577 url, |
581 FINAL_STATUS_CACHE_OR_HISTORY_CLEARED); | 578 FINAL_STATUS_CACHE_OR_HISTORY_CLEARED); |
582 EXPECT_TRUE(AddSimplePrerender(url)); | 579 EXPECT_TRUE(AddSimplePrerender(url)); |
583 EXPECT_TRUE(prerender_contents->has_started()); | 580 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
584 prerender_manager()->ClearData(PrerenderManager::CLEAR_PRERENDER_CONTENTS); | 581 prerender_manager()->ClearData(PrerenderManager::CLEAR_PRERENDER_CONTENTS); |
585 DummyPrerenderContents* null = NULL; | 582 DummyPrerenderContents* null = NULL; |
586 EXPECT_EQ(null, prerender_manager()->FindEntry(url)); | 583 EXPECT_EQ(null, prerender_manager()->FindEntry(url)); |
587 } | 584 } |
588 | 585 |
589 // Make sure canceling works as expected. | 586 // Make sure canceling works as expected. |
590 TEST_F(PrerenderTest, CancelAllTest) { | 587 TEST_F(PrerenderTest, CancelAllTest) { |
591 GURL url("http://www.google.com/"); | 588 GURL url("http://www.google.com/"); |
592 DummyPrerenderContents* prerender_contents = | 589 DummyPrerenderContents* prerender_contents = |
593 prerender_manager()->CreateNextPrerenderContents( | 590 prerender_manager()->CreateNextPrerenderContents( |
594 url, FINAL_STATUS_CANCELLED); | 591 url, FINAL_STATUS_CANCELLED); |
595 EXPECT_TRUE(AddSimplePrerender(url)); | 592 EXPECT_TRUE(AddSimplePrerender(url)); |
596 EXPECT_TRUE(prerender_contents->has_started()); | 593 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
597 prerender_manager()->CancelAllPrerenders(); | 594 prerender_manager()->CancelAllPrerenders(); |
598 const DummyPrerenderContents* null = NULL; | 595 const DummyPrerenderContents* null = NULL; |
599 EXPECT_EQ(null, prerender_manager()->FindEntry(url)); | 596 EXPECT_EQ(null, prerender_manager()->FindEntry(url)); |
600 } | 597 } |
601 | 598 |
602 // Make sure canceling for omnibox works as expected. | 599 // Make sure canceling for omnibox works as expected. |
603 TEST_F(PrerenderTest, CancelOmniboxRemovesOmniboxTest) { | 600 TEST_F(PrerenderTest, CancelOmniboxRemovesOmniboxTest) { |
604 // Check canceling removes the Omnibox url. | 601 // Check canceling removes the Omnibox url. |
605 GURL url("http://www.google.com/"); | 602 GURL url("http://www.google.com/"); |
606 DummyPrerenderContents* prerender_contents = | 603 DummyPrerenderContents* prerender_contents = |
607 prerender_manager()->CreateNextPrerenderContents( | 604 prerender_manager()->CreateNextPrerenderContents( |
608 url, ORIGIN_OMNIBOX, FINAL_STATUS_CANCELLED); | 605 url, ORIGIN_OMNIBOX, FINAL_STATUS_CANCELLED); |
609 EXPECT_TRUE(prerender_manager()->AddPrerenderFromOmnibox(url, NULL)); | 606 EXPECT_TRUE(prerender_manager()->AddPrerenderFromOmnibox(url, NULL)); |
610 EXPECT_TRUE(prerender_contents->has_started()); | 607 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
611 prerender_manager()->CancelOmniboxPrerenders(); | 608 prerender_manager()->CancelOmniboxPrerenders(); |
612 const DummyPrerenderContents* null = NULL; | 609 const DummyPrerenderContents* null = NULL; |
613 EXPECT_EQ(null, prerender_manager()->FindEntry(url)); | 610 EXPECT_EQ(null, prerender_manager()->FindEntry(url)); |
614 } | 611 } |
615 | 612 |
616 TEST_F(PrerenderTest, CancelOmniboxDoesNotRemoveLinkTest) { | 613 TEST_F(PrerenderTest, CancelOmniboxDoesNotRemoveLinkTest) { |
617 GURL url("http://www.google.com/"); | 614 GURL url("http://www.google.com/"); |
618 DummyPrerenderContents* prerender_contents = | 615 DummyPrerenderContents* prerender_contents = |
619 prerender_manager()->CreateNextPrerenderContents( | 616 prerender_manager()->CreateNextPrerenderContents( |
620 url, ORIGIN_LINK_REL_PRERENDER, FINAL_STATUS_MANAGER_SHUTDOWN); | 617 url, ORIGIN_LINK_REL_PRERENDER, FINAL_STATUS_MANAGER_SHUTDOWN); |
621 EXPECT_TRUE(AddSimplePrerender(url)); | 618 EXPECT_TRUE(AddSimplePrerender(url)); |
622 EXPECT_TRUE(prerender_contents->has_started()); | 619 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
623 prerender_manager()->CancelOmniboxPrerenders(); | 620 prerender_manager()->CancelOmniboxPrerenders(); |
624 const DummyPrerenderContents* null = NULL; | 621 const DummyPrerenderContents* null = NULL; |
625 EXPECT_NE(null, prerender_manager()->FindEntry(url)); | 622 EXPECT_NE(null, prerender_manager()->FindEntry(url)); |
626 } | 623 } |
627 | 624 |
628 TEST_F(PrerenderTest, OmniboxNotAllowedWhenDisabled) { | 625 TEST_F(PrerenderTest, OmniboxNotAllowedWhenDisabled) { |
629 prerender_manager()->set_enabled(false); | 626 prerender_manager()->set_enabled(false); |
630 EXPECT_FALSE(prerender_manager()->AddPrerenderFromOmnibox( | 627 EXPECT_FALSE(prerender_manager()->AddPrerenderFromOmnibox( |
631 GURL("http://www.example.com"), NULL)); | 628 GURL("http://www.example.com"), NULL)); |
632 } | 629 } |
633 | 630 |
634 TEST_F(PrerenderTest, LinkRelNotAllowedWhenDisabled) { | 631 TEST_F(PrerenderTest, LinkRelNotAllowedWhenDisabled) { |
635 prerender_manager()->set_enabled(false); | 632 prerender_manager()->set_enabled(false); |
636 EXPECT_FALSE(AddSimplePrerender( | 633 EXPECT_FALSE(AddSimplePrerender( |
637 GURL("http://www.example.com"))); | 634 GURL("http://www.example.com"))); |
638 } | 635 } |
639 | 636 |
640 TEST_F(PrerenderTest, LinkManagerCancel) { | 637 TEST_F(PrerenderTest, LinkManagerCancel) { |
641 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 638 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
642 GURL url("http://www.myexample.com"); | 639 GURL url("http://www.myexample.com"); |
643 DummyPrerenderContents* prerender_contents = | 640 DummyPrerenderContents* prerender_contents = |
644 prerender_manager()->CreateNextPrerenderContents( | 641 prerender_manager()->CreateNextPrerenderContents( |
645 url, FINAL_STATUS_CANCELLED); | 642 url, FINAL_STATUS_CANCELLED); |
646 | 643 |
647 EXPECT_TRUE(AddSimplePrerender(url)); | 644 EXPECT_TRUE(AddSimplePrerender(url)); |
648 | 645 |
649 EXPECT_TRUE(prerender_contents->has_started()); | 646 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
650 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 647 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
651 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 648 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
652 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 649 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
653 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 650 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
654 last_prerender_id()); | 651 last_prerender_id()); |
655 | 652 |
656 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 653 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
657 DummyPrerenderContents* null = NULL; | 654 DummyPrerenderContents* null = NULL; |
658 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 655 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
659 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 656 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
660 } | 657 } |
661 | 658 |
662 TEST_F(PrerenderTest, LinkManagerCancelThenAbandon) { | 659 TEST_F(PrerenderTest, LinkManagerCancelThenAbandon) { |
663 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 660 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
664 GURL url("http://www.myexample.com"); | 661 GURL url("http://www.myexample.com"); |
665 DummyPrerenderContents* prerender_contents = | 662 DummyPrerenderContents* prerender_contents = |
666 prerender_manager()->CreateNextPrerenderContents( | 663 prerender_manager()->CreateNextPrerenderContents( |
667 url, FINAL_STATUS_CANCELLED); | 664 url, FINAL_STATUS_CANCELLED); |
668 | 665 |
669 EXPECT_TRUE(AddSimplePrerender(url)); | 666 EXPECT_TRUE(AddSimplePrerender(url)); |
670 | 667 |
671 EXPECT_TRUE(prerender_contents->has_started()); | 668 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
672 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 669 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
673 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 670 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
674 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 671 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
675 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 672 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
676 last_prerender_id()); | 673 last_prerender_id()); |
677 | 674 |
678 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 675 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
679 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 676 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
680 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, | 677 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, |
681 last_prerender_id()); | 678 last_prerender_id()); |
682 | 679 |
683 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 680 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
684 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 681 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
685 DummyPrerenderContents* null = NULL; | 682 DummyPrerenderContents* null = NULL; |
686 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 683 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
687 } | 684 } |
688 | 685 |
689 // TODO(gavinp): Update this test after abandon has an effect on Prerenders, | 686 // TODO(gavinp): Update this test after abandon has an effect on Prerenders, |
690 // like shortening the timeouts. | 687 // like shortening the timeouts. |
691 TEST_F(PrerenderTest, LinkManagerAbandon) { | 688 TEST_F(PrerenderTest, LinkManagerAbandon) { |
692 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 689 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
693 GURL url("http://www.myexample.com"); | 690 GURL url("http://www.myexample.com"); |
694 DummyPrerenderContents* prerender_contents = | 691 DummyPrerenderContents* prerender_contents = |
695 prerender_manager()->CreateNextPrerenderContents( | 692 prerender_manager()->CreateNextPrerenderContents( |
696 url, FINAL_STATUS_USED); | 693 url, FINAL_STATUS_USED); |
697 | 694 |
698 EXPECT_TRUE(AddSimplePrerender(url)); | 695 EXPECT_TRUE(AddSimplePrerender(url)); |
699 | 696 |
700 EXPECT_TRUE(prerender_contents->has_started()); | 697 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
701 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 698 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
702 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 699 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
703 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 700 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
704 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, | 701 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, |
705 last_prerender_id()); | 702 last_prerender_id()); |
706 | 703 |
707 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 704 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
708 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); | 705 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); |
709 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 706 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
710 } | 707 } |
711 | 708 |
712 TEST_F(PrerenderTest, LinkManagerCancelTwice) { | 709 TEST_F(PrerenderTest, LinkManagerCancelTwice) { |
713 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 710 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
714 GURL url("http://www.myexample.com"); | 711 GURL url("http://www.myexample.com"); |
715 DummyPrerenderContents* prerender_contents = | 712 DummyPrerenderContents* prerender_contents = |
716 prerender_manager()->CreateNextPrerenderContents( | 713 prerender_manager()->CreateNextPrerenderContents( |
717 url, FINAL_STATUS_CANCELLED); | 714 url, FINAL_STATUS_CANCELLED); |
718 | 715 |
719 EXPECT_TRUE(AddSimplePrerender(url)); | 716 EXPECT_TRUE(AddSimplePrerender(url)); |
720 EXPECT_TRUE(prerender_contents->has_started()); | 717 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
721 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 718 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
722 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 719 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
723 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 720 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
724 last_prerender_id()); | 721 last_prerender_id()); |
725 | 722 |
726 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 723 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
727 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 724 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
728 DummyPrerenderContents* null = NULL; | 725 DummyPrerenderContents* null = NULL; |
729 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 726 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
730 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 727 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
731 last_prerender_id()); | 728 last_prerender_id()); |
732 } | 729 } |
733 | 730 |
734 TEST_F(PrerenderTest, LinkManagerAddTwiceCancelTwice) { | 731 TEST_F(PrerenderTest, LinkManagerAddTwiceCancelTwice) { |
735 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 732 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
736 GURL url("http://www.myexample.com"); | 733 GURL url("http://www.myexample.com"); |
737 DummyPrerenderContents* prerender_contents = | 734 DummyPrerenderContents* prerender_contents = |
738 prerender_manager()->CreateNextPrerenderContents( | 735 prerender_manager()->CreateNextPrerenderContents( |
739 url, FINAL_STATUS_CANCELLED); | 736 url, FINAL_STATUS_CANCELLED); |
740 | 737 |
741 EXPECT_TRUE(AddSimplePrerender(url)); | 738 EXPECT_TRUE(AddSimplePrerender(url)); |
742 | 739 |
743 const int first_prerender_id = last_prerender_id(); | 740 const int first_prerender_id = last_prerender_id(); |
744 EXPECT_TRUE(prerender_contents->has_started()); | 741 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
745 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 742 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
746 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 743 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
747 EXPECT_TRUE(AddSimplePrerender(url)); | 744 EXPECT_TRUE(AddSimplePrerender(url)); |
748 | 745 |
749 const int second_prerender_id = last_prerender_id(); | 746 const int second_prerender_id = last_prerender_id(); |
750 EXPECT_TRUE(prerender_contents->has_started()); | 747 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
751 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 748 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
752 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 749 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
753 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 750 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
754 first_prerender_id); | 751 first_prerender_id); |
755 | 752 |
756 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 753 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
757 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 754 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
758 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 755 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
759 second_prerender_id); | 756 second_prerender_id); |
760 | 757 |
761 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 758 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
762 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 759 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
763 DummyPrerenderContents* null = NULL; | 760 DummyPrerenderContents* null = NULL; |
764 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 761 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
765 } | 762 } |
766 | 763 |
767 TEST_F(PrerenderTest, LinkManagerAddTwiceCancelTwiceThenAbandonTwice) { | 764 TEST_F(PrerenderTest, LinkManagerAddTwiceCancelTwiceThenAbandonTwice) { |
768 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 765 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
769 GURL url("http://www.myexample.com"); | 766 GURL url("http://www.myexample.com"); |
770 DummyPrerenderContents* prerender_contents = | 767 DummyPrerenderContents* prerender_contents = |
771 prerender_manager()->CreateNextPrerenderContents( | 768 prerender_manager()->CreateNextPrerenderContents( |
772 url, FINAL_STATUS_CANCELLED); | 769 url, FINAL_STATUS_CANCELLED); |
773 | 770 |
774 EXPECT_TRUE(AddSimplePrerender(url)); | 771 EXPECT_TRUE(AddSimplePrerender(url)); |
775 | 772 |
776 const int first_prerender_id = last_prerender_id(); | 773 const int first_prerender_id = last_prerender_id(); |
777 EXPECT_TRUE(prerender_contents->has_started()); | 774 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
778 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 775 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
779 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 776 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
780 EXPECT_TRUE(AddSimplePrerender(url)); | 777 EXPECT_TRUE(AddSimplePrerender(url)); |
781 | 778 |
782 const int second_prerender_id = last_prerender_id(); | 779 const int second_prerender_id = last_prerender_id(); |
783 EXPECT_TRUE(prerender_contents->has_started()); | 780 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
784 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 781 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
785 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 782 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
786 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 783 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
787 first_prerender_id); | 784 first_prerender_id); |
788 | 785 |
789 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 786 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
790 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 787 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
791 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 788 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
792 second_prerender_id); | 789 second_prerender_id); |
793 | 790 |
(...skipping 18 matching lines...) Expand all Loading... |
812 TEST_F(PrerenderTest, LinkManagerAddTwiceAbandonTwice) { | 809 TEST_F(PrerenderTest, LinkManagerAddTwiceAbandonTwice) { |
813 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 810 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
814 GURL url("http://www.myexample.com"); | 811 GURL url("http://www.myexample.com"); |
815 DummyPrerenderContents* prerender_contents = | 812 DummyPrerenderContents* prerender_contents = |
816 prerender_manager()->CreateNextPrerenderContents( | 813 prerender_manager()->CreateNextPrerenderContents( |
817 url, FINAL_STATUS_USED); | 814 url, FINAL_STATUS_USED); |
818 | 815 |
819 EXPECT_TRUE(AddSimplePrerender(url)); | 816 EXPECT_TRUE(AddSimplePrerender(url)); |
820 | 817 |
821 const int first_prerender_id = last_prerender_id(); | 818 const int first_prerender_id = last_prerender_id(); |
822 EXPECT_TRUE(prerender_contents->has_started()); | 819 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
823 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 820 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
824 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 821 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
825 EXPECT_TRUE(AddSimplePrerender(url)); | 822 EXPECT_TRUE(AddSimplePrerender(url)); |
826 | 823 |
827 const int second_prerender_id = last_prerender_id(); | 824 const int second_prerender_id = last_prerender_id(); |
828 EXPECT_TRUE(prerender_contents->has_started()); | 825 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
829 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 826 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
830 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 827 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
831 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, | 828 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, |
832 first_prerender_id); | 829 first_prerender_id); |
833 | 830 |
834 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 831 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
835 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 832 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
836 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, | 833 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, |
837 second_prerender_id); | 834 second_prerender_id); |
838 | 835 |
839 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 836 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
840 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 837 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
841 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); | 838 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); |
842 } | 839 } |
843 | 840 |
844 // TODO(gavinp): After abandon shortens the expire time on a Prerender, | 841 // TODO(gavinp): After abandon shortens the expire time on a Prerender, |
845 // add a series of tests testing advancing the time by either the abandon | 842 // add a series of tests testing advancing the time by either the abandon |
846 // or normal expire, and verifying the expected behaviour with groups | 843 // or normal expire, and verifying the expected behaviour with groups |
847 // of links. | 844 // of links. |
848 TEST_F(PrerenderTest, LinkManagerExpireThenCancel) { | 845 TEST_F(PrerenderTest, LinkManagerExpireThenCancel) { |
849 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 846 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
850 GURL url("http://www.myexample.com"); | 847 GURL url("http://www.myexample.com"); |
851 DummyPrerenderContents* prerender_contents = | 848 DummyPrerenderContents* prerender_contents = |
852 prerender_manager()->CreateNextPrerenderContents( | 849 prerender_manager()->CreateNextPrerenderContents( |
853 url, FINAL_STATUS_TIMED_OUT); | 850 url, FINAL_STATUS_TIMED_OUT); |
854 | 851 |
855 EXPECT_TRUE(AddSimplePrerender(url)); | 852 EXPECT_TRUE(AddSimplePrerender(url)); |
856 | 853 |
857 EXPECT_TRUE(prerender_contents->has_started()); | 854 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
858 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 855 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
859 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 856 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); |
860 prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() + | 857 prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() + |
861 base::TimeDelta::FromSeconds(1)); | 858 base::TimeDelta::FromSeconds(1)); |
862 | 859 |
863 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 860 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
864 DummyPrerenderContents* null = NULL; | 861 DummyPrerenderContents* null = NULL; |
865 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 862 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
866 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 863 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
867 last_prerender_id()); | 864 last_prerender_id()); |
868 | 865 |
869 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 866 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
870 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 867 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
871 } | 868 } |
872 | 869 |
873 TEST_F(PrerenderTest, LinkManagerExpireThenAddAgain) { | 870 TEST_F(PrerenderTest, LinkManagerExpireThenAddAgain) { |
874 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 871 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
875 GURL url("http://www.myexample.com"); | 872 GURL url("http://www.myexample.com"); |
876 DummyPrerenderContents* first_prerender_contents = | 873 DummyPrerenderContents* first_prerender_contents = |
877 prerender_manager()->CreateNextPrerenderContents( | 874 prerender_manager()->CreateNextPrerenderContents( |
878 url, FINAL_STATUS_TIMED_OUT); | 875 url, FINAL_STATUS_TIMED_OUT); |
879 EXPECT_TRUE(AddSimplePrerender(url)); | 876 EXPECT_TRUE(AddSimplePrerender(url)); |
880 EXPECT_TRUE(first_prerender_contents->has_started()); | 877 EXPECT_TRUE(first_prerender_contents->prerendering_has_started()); |
881 EXPECT_FALSE(first_prerender_contents->prerendering_has_been_cancelled()); | 878 EXPECT_FALSE(first_prerender_contents->prerendering_has_been_cancelled()); |
882 ASSERT_EQ(first_prerender_contents, prerender_manager()->FindEntry(url)); | 879 ASSERT_EQ(first_prerender_contents, prerender_manager()->FindEntry(url)); |
883 prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() + | 880 prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() + |
884 base::TimeDelta::FromSeconds(1)); | 881 base::TimeDelta::FromSeconds(1)); |
885 DummyPrerenderContents* null = NULL; | 882 DummyPrerenderContents* null = NULL; |
886 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 883 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
887 DummyPrerenderContents* second_prerender_contents = | 884 DummyPrerenderContents* second_prerender_contents = |
888 prerender_manager()->CreateNextPrerenderContents( | 885 prerender_manager()->CreateNextPrerenderContents( |
889 url, FINAL_STATUS_USED); | 886 url, FINAL_STATUS_USED); |
890 EXPECT_TRUE(AddSimplePrerender(url)); | 887 EXPECT_TRUE(AddSimplePrerender(url)); |
891 EXPECT_TRUE(second_prerender_contents->has_started()); | 888 EXPECT_TRUE(second_prerender_contents->prerendering_has_started()); |
892 ASSERT_EQ(second_prerender_contents, prerender_manager()->GetEntry(url)); | 889 ASSERT_EQ(second_prerender_contents, prerender_manager()->GetEntry(url)); |
893 // The PrerenderLinkManager is not empty since we never removed the first | 890 // The PrerenderLinkManager is not empty since we never removed the first |
894 // prerender. | 891 // prerender. |
895 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 892 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
896 } | 893 } |
897 | 894 |
898 TEST_F(PrerenderTest, LinkManagerCancelThenAddAgain) { | 895 TEST_F(PrerenderTest, LinkManagerCancelThenAddAgain) { |
899 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 896 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
900 GURL url("http://www.myexample.com"); | 897 GURL url("http://www.myexample.com"); |
901 DummyPrerenderContents* first_prerender_contents = | 898 DummyPrerenderContents* first_prerender_contents = |
902 prerender_manager()->CreateNextPrerenderContents( | 899 prerender_manager()->CreateNextPrerenderContents( |
903 url, FINAL_STATUS_CANCELLED); | 900 url, FINAL_STATUS_CANCELLED); |
904 EXPECT_TRUE(AddSimplePrerender(url)); | 901 EXPECT_TRUE(AddSimplePrerender(url)); |
905 EXPECT_TRUE(first_prerender_contents->has_started()); | 902 EXPECT_TRUE(first_prerender_contents->prerendering_has_started()); |
906 EXPECT_FALSE(first_prerender_contents->prerendering_has_been_cancelled()); | 903 EXPECT_FALSE(first_prerender_contents->prerendering_has_been_cancelled()); |
907 ASSERT_EQ(first_prerender_contents, prerender_manager()->FindEntry(url)); | 904 ASSERT_EQ(first_prerender_contents, prerender_manager()->FindEntry(url)); |
908 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 905 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
909 last_prerender_id()); | 906 last_prerender_id()); |
910 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 907 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
911 EXPECT_TRUE(first_prerender_contents->prerendering_has_been_cancelled()); | 908 EXPECT_TRUE(first_prerender_contents->prerendering_has_been_cancelled()); |
912 DummyPrerenderContents* null = NULL; | 909 DummyPrerenderContents* null = NULL; |
913 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 910 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
914 DummyPrerenderContents* second_prerender_contents = | 911 DummyPrerenderContents* second_prerender_contents = |
915 prerender_manager()->CreateNextPrerenderContents( | 912 prerender_manager()->CreateNextPrerenderContents( |
916 url, FINAL_STATUS_USED); | 913 url, FINAL_STATUS_USED); |
917 EXPECT_TRUE(AddSimplePrerender(url)); | 914 EXPECT_TRUE(AddSimplePrerender(url)); |
918 EXPECT_TRUE(second_prerender_contents->has_started()); | 915 EXPECT_TRUE(second_prerender_contents->prerendering_has_started()); |
919 ASSERT_EQ(second_prerender_contents, prerender_manager()->GetEntry(url)); | 916 ASSERT_EQ(second_prerender_contents, prerender_manager()->GetEntry(url)); |
920 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 917 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
921 } | 918 } |
922 | 919 |
923 } // namespace prerender | 920 } // namespace prerender |
924 | |
OLD | NEW |