blob: 2a92c34f34c0c138b82136f217896d373e1e1da6 [file] [log] [blame]
rdevlin.cronin690e44f2015-11-06 00:27:141// Copyright 2014 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_PROXY_OVERRIDDEN_BUBBLE_DELEGATE_H_
6#define CHROME_BROWSER_EXTENSIONS_PROXY_OVERRIDDEN_BUBBLE_DELEGATE_H_
7
avia2f4804a2015-12-24 23:11:138#include <stddef.h>
9
rdevlin.cronin690e44f2015-11-06 00:27:1410#include <string>
11
12#include "base/macros.h"
13#include "chrome/browser/extensions/extension_message_bubble_controller.h"
14
15class Browser;
16
17namespace extensions {
18
19class ProxyOverriddenBubbleDelegate
20 : public ExtensionMessageBubbleController::Delegate {
21 public:
22 explicit ProxyOverriddenBubbleDelegate(Profile* profile);
23 ~ProxyOverriddenBubbleDelegate() override;
24
25 // ExtensionMessageBubbleController::Delegate methods.
26 bool ShouldIncludeExtension(const Extension* extension) override;
27 void AcknowledgeExtension(
28 const std::string& extension_id,
29 ExtensionMessageBubbleController::BubbleAction user_action) override;
30 void PerformAction(const ExtensionIdList& list) override;
31 base::string16 GetTitle() const override;
32 base::string16 GetMessageBody(bool anchored_to_browser_action,
33 int extension_count) const override;
34 base::string16 GetOverflowText(
35 const base::string16& overflow_count) const override;
36 GURL GetLearnMoreUrl() const override;
37 base::string16 GetActionButtonLabel() const override;
38 base::string16 GetDismissButtonLabel() const override;
39 bool ShouldCloseOnDeactivate() const override;
40 bool ShouldShowExtensionList() const override;
41 bool ShouldHighlightExtensions() const override;
42 bool ShouldLimitToEnabledExtensions() const override;
43 void LogExtensionCount(size_t count) override;
44 void LogAction(ExtensionMessageBubbleController::BubbleAction) override;
rdevlin.cronin486b20e2015-11-20 17:20:3545 const char* GetKey() override;
rdevlin.cronin690e44f2015-11-06 00:27:1446
47 private:
48 // The ID of the extension we are showing the bubble for.
49 std::string extension_id_;
50
51 DISALLOW_COPY_AND_ASSIGN(ProxyOverriddenBubbleDelegate);
52};
53
54} // namespace extensions
55
56#endif // CHROME_BROWSER_EXTENSIONS_PROXY_OVERRIDDEN_BUBBLE_DELEGATE_H_