Home | History | Annotate | Download | only in views
      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_UI_VIEWS_NETWORK_PROFILE_BUBBLE_VIEW_H_
      6 #define CHROME_BROWSER_UI_VIEWS_NETWORK_PROFILE_BUBBLE_VIEW_H_
      7 
      8 #include "base/basictypes.h"
      9 #include "base/compiler_specific.h"
     10 #include "ui/views/bubble/bubble_delegate.h"
     11 #include "ui/views/controls/button/button.h"
     12 #include "ui/views/controls/link_listener.h"
     13 
     14 class Profile;
     15 
     16 namespace content {
     17 class PageNavigator;
     18 }
     19 
     20 class NetworkProfileBubbleView : public views::BubbleDelegateView,
     21                                  public views::ButtonListener,
     22                                  public views::LinkListener {
     23  public:
     24   NetworkProfileBubbleView(views::View* anchor,
     25                            content::PageNavigator* navigator,
     26                            Profile* profile);
     27  private:
     28   virtual ~NetworkProfileBubbleView();
     29 
     30   // views::BubbleDelegateView:
     31   virtual void Init() OVERRIDE;
     32 
     33   // views::ButtonListener:
     34   virtual void ButtonPressed(views::Button* sender,
     35                              const ui::Event& event) OVERRIDE;
     36 
     37   // views::LinkListener:
     38   virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE;
     39 
     40   // Used for loading pages.
     41   content::PageNavigator* navigator_;
     42   Profile* profile_;
     43 
     44   DISALLOW_COPY_AND_ASSIGN(NetworkProfileBubbleView);
     45 };
     46 
     47 #endif  // CHROME_BROWSER_UI_VIEWS_NETWORK_PROFILE_BUBBLE_VIEW_H_
     48