1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/test/remoting/page_load_notification_observer.h" 6 7 #include "content/public/browser/navigation_controller.h" 8 #include "content/public/browser/notification_types.h" 9 #include "content/public/browser/web_contents.h" 10 11 namespace remoting { 12 13 PageLoadNotificationObserver::PageLoadNotificationObserver(const GURL& target) 14 : WindowedNotificationObserver( 15 content::NOTIFICATION_LOAD_STOP, 16 base::Bind(&PageLoadNotificationObserver::IsTargetLoaded, 17 base::Unretained(this))), 18 target_(target) { 19 } 20 21 PageLoadNotificationObserver::~PageLoadNotificationObserver() {} 22 23 bool PageLoadNotificationObserver::IsTargetLoaded() { 24 content::NavigationController* controller = 25 content::Source<content::NavigationController>(source()).ptr(); 26 return controller->GetWebContents()->GetURL() == target_; 27 } 28 29 } // namespace remoting 30