#ifndef CHROME_BROWSER_EXTENSIONS_SUSPICIOUS_EXTENSION_BUBBLE_CONTROLLER_H_
#define CHROME_BROWSER_EXTENSIONS_SUSPICIOUS_EXTENSION_BUBBLE_CONTROLLER_H_
#include <string>
#include "chrome/browser/extensions/extension_message_bubble_controller.h"
#include "extensions/common/extension.h"
class Browser;
class ExtensionService;
class Profile;
using extensions::ExtensionMessageBubbleController;
namespace {
class SuspiciousExtensionBubbleDelegate
: public ExtensionMessageBubbleController::Delegate {
public:
explicit SuspiciousExtensionBubbleDelegate(Profile* profile);
virtual ~SuspiciousExtensionBubbleDelegate();
virtual bool ShouldIncludeExtension(const std::string& extension_id) OVERRIDE;
virtual void AcknowledgeExtension(
const std::string& extension_id,
ExtensionMessageBubbleController::BubbleAction user_action) OVERRIDE;
virtual void PerformAction(const extensions::ExtensionIdList& list) OVERRIDE;
virtual base::string16 GetTitle() const OVERRIDE;
virtual base::string16 GetMessageBody() const OVERRIDE;
virtual base::string16 GetOverflowText(
const base::string16& overflow_count) const OVERRIDE;
virtual base::string16 GetLearnMoreLabel() const OVERRIDE;
virtual GURL GetLearnMoreUrl() const OVERRIDE;
virtual base::string16 GetActionButtonLabel() const OVERRIDE;
virtual base::string16 GetDismissButtonLabel() const OVERRIDE;
virtual bool ShouldShowExtensionList() const OVERRIDE;
virtual void LogExtensionCount(size_t count) OVERRIDE;
virtual void LogAction(
ExtensionMessageBubbleController::BubbleAction action) OVERRIDE;
private:
Profile* profile_;
DISALLOW_COPY_AND_ASSIGN(SuspiciousExtensionBubbleDelegate);
};
}
namespace extensions {
class SuspiciousExtensionBubble;
class SuspiciousExtensionBubbleController
: public ExtensionMessageBubbleController {
public:
static void ClearProfileListForTesting();
explicit SuspiciousExtensionBubbleController(Profile* profile);
virtual ~SuspiciousExtensionBubbleController();
bool ShouldShow();
virtual void Show(ExtensionMessageBubble* bubble) OVERRIDE;
private:
Profile* profile_;
DISALLOW_COPY_AND_ASSIGN(SuspiciousExtensionBubbleController);
};
}
#endif