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 10 class Profile; 11 12 namespace extensions { 13 14 class SuspiciousExtensionBubble; 15 16 class 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