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_OPEN_PDF_IN_READER_BUBBLE_VIEW_H_
      6 #define CHROME_BROWSER_UI_VIEWS_OPEN_PDF_IN_READER_BUBBLE_VIEW_H_
      7 
      8 #include "ui/views/bubble/bubble_delegate.h"
      9 #include "ui/views/controls/button/button.h"
     10 #include "ui/views/controls/link_listener.h"
     11 
     12 namespace pdf {
     13 class OpenPDFInReaderPromptClient;
     14 }
     15 
     16 namespace views {
     17 class LabelButton;
     18 }
     19 
     20 class OpenPDFInReaderBubbleView : public views::BubbleDelegateView,
     21                                   public views::ButtonListener,
     22                                   public views::LinkListener {
     23  public:
     24   OpenPDFInReaderBubbleView(views::View* anchor_view,
     25                             pdf::OpenPDFInReaderPromptClient* model);
     26   virtual ~OpenPDFInReaderBubbleView();
     27 
     28  protected:
     29   // views::BubbleDelegateView:
     30   virtual void Init() OVERRIDE;
     31 
     32   // views::ButtonListener:
     33   virtual void ButtonPressed(views::Button* sender,
     34                              const ui::Event& event) OVERRIDE;
     35 
     36   // views::LinkListener:
     37   virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE;
     38 
     39  private:
     40   // Weak pointer; owned by the PDFWebContentsHelper of the currently active
     41   // tab.
     42   pdf::OpenPDFInReaderPromptClient* model_;
     43 
     44   views::Link* open_in_reader_link_;
     45   views::LabelButton* close_button_;
     46 
     47   DISALLOW_COPY_AND_ASSIGN(OpenPDFInReaderBubbleView);
     48 };
     49 
     50 #endif  // CHROME_BROWSER_UI_VIEWS_OPEN_PDF_IN_READER_BUBBLE_VIEW_H_
     51