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

Side by Side Diff: chrome/browser/prerender/prerender_browsertest.cc

Issue 11348357: Add observer interface to PrerenderContents. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: final review remediation, clear to land version Created 8 years 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/prerender/prerender_contents.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <deque> 5 #include <deque>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 bool waiting_for_channel_destruction_; 201 bool waiting_for_channel_destruction_;
202 202
203 DISALLOW_COPY_AND_ASSIGN(ChannelDestructionWatcher); 203 DISALLOW_COPY_AND_ASSIGN(ChannelDestructionWatcher);
204 }; 204 };
205 205
206 // PrerenderContents that stops the UI message loop on DidStopLoading(). 206 // PrerenderContents that stops the UI message loop on DidStopLoading().
207 class TestPrerenderContents : public PrerenderContents { 207 class TestPrerenderContents : public PrerenderContents {
208 public: 208 public:
209 TestPrerenderContents( 209 TestPrerenderContents(
210 PrerenderManager* prerender_manager, 210 PrerenderManager* prerender_manager,
211 PrerenderTracker* prerender_tracker,
212 Profile* profile, 211 Profile* profile,
213 const GURL& url, 212 const GURL& url,
214 const content::Referrer& referrer, 213 const content::Referrer& referrer,
215 Origin origin, 214 Origin origin,
216 int expected_number_of_loads, 215 int expected_number_of_loads,
217 FinalStatus expected_final_status, 216 FinalStatus expected_final_status,
218 bool prerender_should_wait_for_ready_title) 217 bool prerender_should_wait_for_ready_title)
219 : PrerenderContents(prerender_manager, prerender_tracker, profile, url, 218 : PrerenderContents(prerender_manager, profile, url,
220 referrer, origin, PrerenderManager::kNoExperiment), 219 referrer, origin, PrerenderManager::kNoExperiment),
221 number_of_loads_(0), 220 number_of_loads_(0),
222 expected_number_of_loads_(expected_number_of_loads), 221 expected_number_of_loads_(expected_number_of_loads),
223 expected_final_status_(expected_final_status), 222 expected_final_status_(expected_final_status),
224 new_render_view_host_(NULL), 223 new_render_view_host_(NULL),
225 was_hidden_(false), 224 was_hidden_(false),
226 was_shown_(false), 225 was_shown_(false),
227 should_be_shown_(expected_final_status == FINAL_STATUS_USED), 226 should_be_shown_(expected_final_status == FINAL_STATUS_USED),
228 quit_message_loop_on_destruction_( 227 quit_message_loop_on_destruction_(
229 expected_final_status != FINAL_STATUS_EVICTED && 228 expected_final_status != FINAL_STATUS_EVICTED &&
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 : expected_number_of_loads_(expected_number_of_loads), 432 : expected_number_of_loads_(expected_number_of_loads),
434 expected_final_status_queue_(expected_final_status_queue), 433 expected_final_status_queue_(expected_final_status_queue),
435 prerender_should_wait_for_ready_title_( 434 prerender_should_wait_for_ready_title_(
436 prerender_should_wait_for_ready_title) { 435 prerender_should_wait_for_ready_title) {
437 VLOG(1) << "Factory created with queue length " << 436 VLOG(1) << "Factory created with queue length " <<
438 expected_final_status_queue_.size(); 437 expected_final_status_queue_.size();
439 } 438 }
440 439
441 virtual PrerenderContents* CreatePrerenderContents( 440 virtual PrerenderContents* CreatePrerenderContents(
442 PrerenderManager* prerender_manager, 441 PrerenderManager* prerender_manager,
443 PrerenderTracker* prerender_tracker,
444 Profile* profile, 442 Profile* profile,
445 const GURL& url, 443 const GURL& url,
446 const content::Referrer& referrer, 444 const content::Referrer& referrer,
447 Origin origin, 445 Origin origin,
448 uint8 experiment_id) OVERRIDE { 446 uint8 experiment_id) OVERRIDE {
449 FinalStatus expected_final_status = FINAL_STATUS_MAX; 447 FinalStatus expected_final_status = FINAL_STATUS_MAX;
450 if (!expected_final_status_queue_.empty()) { 448 if (!expected_final_status_queue_.empty()) {
451 expected_final_status = expected_final_status_queue_.front(); 449 expected_final_status = expected_final_status_queue_.front();
452 expected_final_status_queue_.pop_front(); 450 expected_final_status_queue_.pop_front();
453 } 451 }
454 VLOG(1) << "Creating prerender contents for " << url.path() << 452 VLOG(1) << "Creating prerender contents for " << url.path() <<
455 " with expected final status " << expected_final_status; 453 " with expected final status " << expected_final_status;
456 VLOG(1) << expected_final_status_queue_.size() << " left in the queue."; 454 VLOG(1) << expected_final_status_queue_.size() << " left in the queue.";
457 return new TestPrerenderContents(prerender_manager, prerender_tracker, 455 return new TestPrerenderContents(prerender_manager,
458 profile, url, referrer, origin, 456 profile, url, referrer, origin,
459 expected_number_of_loads_, 457 expected_number_of_loads_,
460 expected_final_status, 458 expected_final_status,
461 prerender_should_wait_for_ready_title_); 459 prerender_should_wait_for_ready_title_);
462 } 460 }
463 461
464 private: 462 private:
465 int expected_number_of_loads_; 463 int expected_number_of_loads_;
466 std::deque<FinalStatus> expected_final_status_queue_; 464 std::deque<FinalStatus> expected_final_status_queue_;
467 bool prerender_should_wait_for_ready_title_; 465 bool prerender_should_wait_for_ready_title_;
(...skipping 2051 matching lines...) Expand 10 before | Expand all | Expand 10 after
2519 channel_close_watcher.WatchChannel( 2517 channel_close_watcher.WatchChannel(
2520 chrome::GetActiveWebContents(browser())->GetRenderProcessHost()); 2518 chrome::GetActiveWebContents(browser())->GetRenderProcessHost());
2521 NavigateToDestURL(); 2519 NavigateToDestURL();
2522 channel_close_watcher.WaitForChannelClose(); 2520 channel_close_watcher.WaitForChannelClose();
2523 2521
2524 ASSERT_TRUE(IsEmptyPrerenderLinkManager()); 2522 ASSERT_TRUE(IsEmptyPrerenderLinkManager());
2525 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); 2523 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
2526 } 2524 }
2527 2525
2528 } // namespace prerender 2526 } // namespace prerender
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/prerender/prerender_contents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698