Home | History | Annotate | Download | only in google
      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