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 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_GOOGLE_GOOGLE_URL_TRACKER_NAVIGATION_HELPER_IMPL_H_ 6 #define CHROME_BROWSER_GOOGLE_GOOGLE_URL_TRACKER_NAVIGATION_HELPER_IMPL_H_ 7 8 #include "components/google/core/browser/google_url_tracker_navigation_helper.h" 9 #include "content/public/browser/notification_observer.h" 10 #include "content/public/browser/notification_registrar.h" 11 #include "url/gurl.h" 12 13 namespace content { 14 class WebContents; 15 } 16 17 class GoogleURLTrackerNavigationHelperImpl 18 : public GoogleURLTrackerNavigationHelper, 19 public content::NotificationObserver { 20 public: 21 GoogleURLTrackerNavigationHelperImpl(content::WebContents* web_contents, 22 GoogleURLTracker* tracker); 23 virtual ~GoogleURLTrackerNavigationHelperImpl(); 24 25 // GoogleURLTrackerNavigationHelper: 26 virtual void SetListeningForNavigationCommit( 27 bool listen) OVERRIDE; 28 virtual bool IsListeningForNavigationCommit() OVERRIDE; 29 virtual void SetListeningForTabDestruction( 30 bool listen) OVERRIDE; 31 virtual bool IsListeningForTabDestruction() OVERRIDE; 32 virtual void OpenURL(GURL url, 33 WindowOpenDisposition disposition, 34 bool user_clicked_on_link) OVERRIDE; 35 36 private: 37 // content::NotificationObserver: 38 virtual void Observe(int type, 39 const content::NotificationSource& source, 40 const content::NotificationDetails& details) OVERRIDE; 41 42 content::WebContents* web_contents_; 43 content::NotificationRegistrar registrar_; 44 45 DISALLOW_COPY_AND_ASSIGN(GoogleURLTrackerNavigationHelperImpl); 46 }; 47 48 #endif // CHROME_BROWSER_GOOGLE_GOOGLE_URL_TRACKER_NAVIGATION_HELPER_IMPL_H_ 49