OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 EXPECT_EQ(1u, prerenderingSupport()->addCount(webPrerender)); | 430 EXPECT_EQ(1u, prerenderingSupport()->addCount(webPrerender)); |
431 EXPECT_EQ(1u, prerenderingSupport()->totalCount()); | 431 EXPECT_EQ(1u, prerenderingSupport()->totalCount()); |
432 | 432 |
433 navigateAway(); | 433 navigateAway(); |
434 close(); | 434 close(); |
435 | 435 |
436 // This test passes if this next line doesn't crash. | 436 // This test passes if this next line doesn't crash. |
437 webPrerender.didStartPrerender(); | 437 webPrerender.didStartPrerender(); |
438 } | 438 } |
439 | 439 |
| 440 TEST_F(PrerenderingTest, FastRemoveElement) |
| 441 { |
| 442 initialize("http://www.foo.com/", "prerender/single_prerender.html"); |
| 443 |
| 444 WebPrerender webPrerender = prerendererClient()->releaseWebPrerender(); |
| 445 EXPECT_FALSE(webPrerender.isNull()); |
| 446 |
| 447 EXPECT_EQ(1u, prerenderingSupport()->addCount(webPrerender)); |
| 448 EXPECT_EQ(1u, prerenderingSupport()->totalCount()); |
| 449 |
| 450 // Race removing & starting the prerender against each other, as if the elem
ent was removed very quickly. |
| 451 executeScript("removePrerender()"); |
| 452 EXPECT_FALSE(webPrerender.isNull()); |
| 453 webPrerender.didStartPrerender(); |
| 454 |
| 455 // The page should be totally disconnected from the Prerender at this point,
so the console should not have updated. |
| 456 EXPECT_EQ(0u, consoleLength()); |
| 457 } |
| 458 |
440 } // namespace | 459 } // namespace |
OLD | NEW |