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