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

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

Issue 9030010: Move most of the remaining users of WebContentsObserver::tab_contents() to use web_contents(). (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 8 years, 12 months 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/prerender/prerender_contents.h" 5 #include "chrome/browser/prerender/prerender_contents.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/process_util.h" 10 #include "base/process_util.h"
(...skipping 20 matching lines...) Expand all
31 #include "content/browser/tab_contents/tab_contents_view.h" 31 #include "content/browser/tab_contents/tab_contents_view.h"
32 #include "content/public/browser/notification_service.h" 32 #include "content/public/browser/notification_service.h"
33 #include "content/public/browser/web_contents_delegate.h" 33 #include "content/public/browser/web_contents_delegate.h"
34 #include "ui/gfx/rect.h" 34 #include "ui/gfx/rect.h"
35 35
36 #if defined(OS_MACOSX) 36 #if defined(OS_MACOSX)
37 #include "content/browser/mach_broker_mac.h" 37 #include "content/browser/mach_broker_mac.h"
38 #endif 38 #endif
39 39
40 using content::DownloadItem; 40 using content::DownloadItem;
41 using content::WebContents;
41 42
42 namespace prerender { 43 namespace prerender {
43 44
44 namespace { 45 namespace {
45 46
46 // Compares URLs ignoring any ref for the purposes of matching URLs when 47 // Compares URLs ignoring any ref for the purposes of matching URLs when
47 // prerendering. 48 // prerendering.
48 struct PrerenderURLPredicate { 49 struct PrerenderURLPredicate {
49 explicit PrerenderURLPredicate(const GURL& url) 50 explicit PrerenderURLPredicate(const GURL& url)
50 : url_(url) { 51 : url_(url) {
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 content::Source<Profile>(profile_)); 324 content::Source<Profile>(profile_));
324 325
325 // Register to inform new RenderViews that we're prerendering. 326 // Register to inform new RenderViews that we're prerendering.
326 notification_registrar_.Add( 327 notification_registrar_.Add(
327 this, content::NOTIFICATION_RENDER_VIEW_HOST_CREATED_FOR_TAB, 328 this, content::NOTIFICATION_RENDER_VIEW_HOST_CREATED_FOR_TAB,
328 content::Source<TabContents>(new_contents)); 329 content::Source<TabContents>(new_contents));
329 330
330 // Register for redirect notifications sourced from |this|. 331 // Register for redirect notifications sourced from |this|.
331 notification_registrar_.Add( 332 notification_registrar_.Add(
332 this, content::NOTIFICATION_RESOURCE_RECEIVED_REDIRECT, 333 this, content::NOTIFICATION_RESOURCE_RECEIVED_REDIRECT,
333 content::Source<RenderViewHostDelegate>(GetRenderViewHostDelegate())); 334 content::Source<WebContents>(GetWebContents()));
334 335
335 // Register for new windows from any source. 336 // Register for new windows from any source.
336 notification_registrar_.Add( 337 notification_registrar_.Add(
337 this, content::NOTIFICATION_CREATING_NEW_WINDOW_CANCELLED, 338 this, content::NOTIFICATION_CREATING_NEW_WINDOW_CANCELLED,
338 content::Source<TabContents>(new_contents)); 339 content::Source<TabContents>(new_contents));
339 340
340 DCHECK(load_start_time_.is_null()); 341 DCHECK(load_start_time_.is_null());
341 load_start_time_ = base::TimeTicks::Now(); 342 load_start_time_ = base::TimeTicks::Now();
342 343
343 content::PageTransition transition = content::PAGE_TRANSITION_LINK; 344 content::PageTransition transition = content::PAGE_TRANSITION_LINK;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 case content::NOTIFICATION_APP_TERMINATING: 418 case content::NOTIFICATION_APP_TERMINATING:
418 Destroy(FINAL_STATUS_APP_TERMINATING); 419 Destroy(FINAL_STATUS_APP_TERMINATING);
419 return; 420 return;
420 421
421 case content::NOTIFICATION_RESOURCE_RECEIVED_REDIRECT: { 422 case content::NOTIFICATION_RESOURCE_RECEIVED_REDIRECT: {
422 // RESOURCE_RECEIVED_REDIRECT can come for any resource on a page. 423 // RESOURCE_RECEIVED_REDIRECT can come for any resource on a page.
423 // If it's a redirect on the top-level resource, the name needs 424 // If it's a redirect on the top-level resource, the name needs
424 // to be remembered for future matching, and if it redirects to 425 // to be remembered for future matching, and if it redirects to
425 // an https resource, it needs to be canceled. If a subresource 426 // an https resource, it needs to be canceled. If a subresource
426 // is redirected, nothing changes. 427 // is redirected, nothing changes.
427 DCHECK(content::Source<RenderViewHostDelegate>(source).ptr() == 428 DCHECK(content::Source<WebContents>(source).ptr() == GetWebContents());
428 GetRenderViewHostDelegate());
429 ResourceRedirectDetails* resource_redirect_details = 429 ResourceRedirectDetails* resource_redirect_details =
430 content::Details<ResourceRedirectDetails>(details).ptr(); 430 content::Details<ResourceRedirectDetails>(details).ptr();
431 CHECK(resource_redirect_details); 431 CHECK(resource_redirect_details);
432 if (resource_redirect_details->resource_type() == 432 if (resource_redirect_details->resource_type() ==
433 ResourceType::MAIN_FRAME) { 433 ResourceType::MAIN_FRAME) {
434 if (!AddAliasURL(resource_redirect_details->new_url())) 434 if (!AddAliasURL(resource_redirect_details->new_url()))
435 return; 435 return;
436 } 436 }
437 break; 437 break;
438 } 438 }
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 } 652 }
653 } 653 }
654 654
655 TabContentsWrapper* PrerenderContents::ReleasePrerenderContents() { 655 TabContentsWrapper* PrerenderContents::ReleasePrerenderContents() {
656 prerender_contents_->tab_contents()->SetDelegate(NULL); 656 prerender_contents_->tab_contents()->SetDelegate(NULL);
657 render_view_host_observer_.reset(); 657 render_view_host_observer_.reset();
658 content::WebContentsObserver::Observe(NULL); 658 content::WebContentsObserver::Observe(NULL);
659 return prerender_contents_.release(); 659 return prerender_contents_.release();
660 } 660 }
661 661
662 RenderViewHostDelegate* PrerenderContents::GetRenderViewHostDelegate() { 662 WebContents* PrerenderContents::GetWebContents() {
663 if (!prerender_contents_.get()) 663 if (!prerender_contents_.get())
664 return NULL; 664 return NULL;
665 return prerender_contents_->tab_contents(); 665 return prerender_contents_->tab_contents();
666 } 666 }
667 667
668 RenderViewHost* PrerenderContents::render_view_host_mutable() { 668 RenderViewHost* PrerenderContents::render_view_host_mutable() {
669 return const_cast<RenderViewHost*>(render_view_host()); 669 return const_cast<RenderViewHost*>(render_view_host());
670 } 670 }
671 671
672 const RenderViewHost* PrerenderContents::render_view_host() const { 672 const RenderViewHost* PrerenderContents::render_view_host() const {
(...skipping 21 matching lines...) Expand all
694 bool PrerenderContents::IsCrossSiteNavigationPending() const { 694 bool PrerenderContents::IsCrossSiteNavigationPending() const {
695 if (!prerender_contents_.get() || !prerender_contents_->tab_contents()) 695 if (!prerender_contents_.get() || !prerender_contents_->tab_contents())
696 return false; 696 return false;
697 const TabContents* tab_contents = prerender_contents_->tab_contents(); 697 const TabContents* tab_contents = prerender_contents_->tab_contents();
698 return (tab_contents->GetSiteInstance() != 698 return (tab_contents->GetSiteInstance() !=
699 tab_contents->GetPendingSiteInstance()); 699 tab_contents->GetPendingSiteInstance());
700 } 700 }
701 701
702 702
703 } // namespace prerender 703 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_contents.h ('k') | chrome/browser/safe_browsing/browser_feature_extractor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698