blob: ce92d68b9a58d7dd50bbf69f139e414ea2dfcd1d [file] [log] [blame]
rdevlin.cronin690e44f2015-11-06 00:27:141// 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_DELEGATE_H_
6#define CHROME_BROWSER_EXTENSIONS_DEV_MODE_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
15namespace extensions {
16
17class Extension;
18
19class DevModeBubbleDelegate
20 : public ExtensionMessageBubbleController::Delegate {
21 public:
22 explicit DevModeBubbleDelegate(Profile* profile);
23 ~DevModeBubbleDelegate() 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;
Tim Judkins0c0936f52019-08-05 19:29:2536 base::string16 GetLearnMoreLabel() const override;
rdevlin.cronin690e44f2015-11-06 00:27:1437 GURL GetLearnMoreUrl() const override;
38 base::string16 GetActionButtonLabel() const override;
39 base::string16 GetDismissButtonLabel() const override;
40 bool ShouldCloseOnDeactivate() const override;
rdevlin.cronincf27f866a2017-02-01 16:34:3941 bool ShouldAcknowledgeOnDeactivate() const override;
Catherine Mullings478a0432017-11-22 07:06:0642 bool ShouldShow(const ExtensionIdList& extensions) const override;
43 void OnShown(const ExtensionIdList& extensions) override;
44 void OnAction() override;
45 void ClearProfileSetForTesting() override;
rdevlin.cronin690e44f2015-11-06 00:27:1446 bool ShouldShowExtensionList() const override;
47 bool ShouldHighlightExtensions() const override;
48 bool ShouldLimitToEnabledExtensions() const override;
49 void LogExtensionCount(size_t count) override;
50 void LogAction(ExtensionMessageBubbleController::BubbleAction) override;
catmullings22bc2372016-11-02 19:59:3551 bool SupportsPolicyIndicator() override;
rdevlin.cronin690e44f2015-11-06 00:27:1452
53 private:
Catherine Mullings478a0432017-11-22 07:06:0654 Profile* profile_;
55
rdevlin.cronin690e44f2015-11-06 00:27:1456 DISALLOW_COPY_AND_ASSIGN(DevModeBubbleDelegate);
57};
58
59} // namespace extensions
60
61#endif // CHROME_BROWSER_EXTENSIONS_DEV_MODE_BUBBLE_DELEGATE_H_