1// Copyright (c) 2013 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_EXTENSIONS_EXTENSION_MESSAGE_BUBBLE_H_
6#define CHROME_BROWSER_EXTENSIONS_EXTENSION_MESSAGE_BUBBLE_H_
7
8#include "base/bind.h"
9
10class Browser;
11
12namespace extensions {
13
14// The interface between the SuspiciousExtensionBubble bubble and its
15// controller.
16class ExtensionMessageBubble {
17 public:
18  // Setup the callback for when the action button is clicked in the
19  // bubble.
20  virtual void OnActionButtonClicked(const base::Closure& callback) = 0;
21
22  // Setup the callback for when the dismiss button is clicked.
23  virtual void OnDismissButtonClicked(const base::Closure& callback) = 0;
24
25  // Setup the callback for when the link is clicked in the bubble.
26  virtual void OnLinkClicked(const base::Closure& callback) = 0;
27
28  // Instruct the bubble to appear.
29  virtual void Show() = 0;
30};
31
32}  // namespace extensions
33
34#endif  // CHROME_BROWSER_EXTENSIONS_EXTENSION_MESSAGE_BUBBLE_H_
35