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
12namespace pdf {
13class OpenPDFInReaderPromptClient;
14}
15
16namespace views {
17class LabelButton;
18}
19
20class 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