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_SUSPICIOUS_EXTENSION_BUBBLE_CONTROLLER_H_
6#define CHROME_BROWSER_EXTENSIONS_SUSPICIOUS_EXTENSION_BUBBLE_CONTROLLER_H_
7
8#include "chrome/browser/extensions/extension_message_bubble_controller.h"
9
10class Profile;
11
12namespace extensions {
13
14class SuspiciousExtensionBubble;
15
16class SuspiciousExtensionBubbleController
17    : public extensions::ExtensionMessageBubbleController {
18 public:
19  // Clears the list of profiles the bubble has been shown for. Should only be
20  // used during testing.
21  static void ClearProfileListForTesting();
22
23  explicit SuspiciousExtensionBubbleController(Profile* profile);
24  virtual ~SuspiciousExtensionBubbleController();
25
26  // Whether the controller knows of extensions to list in the bubble. Returns
27  // true if so.
28  bool ShouldShow();
29
30  // ExtensionMessageBubbleController methods.
31  virtual void Show(ExtensionMessageBubble* bubble) OVERRIDE;
32
33 private:
34  // A weak pointer to the profile we are associated with. Not owned by us.
35  Profile* profile_;
36
37  DISALLOW_COPY_AND_ASSIGN(SuspiciousExtensionBubbleController);
38};
39
40}  // namespace extensions
41
42#endif  // CHROME_BROWSER_EXTENSIONS_SUSPICIOUS_EXTENSION_BUBBLE_CONTROLLER_H_
43