Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(113)

Side by Side Diff: chrome/browser/extensions/extension_management_api.h

Issue 8520035: Revert 110264 - Fix for management API related to escalated permissions disabled extensions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_MANAGEMENT_API_H__ 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_MANAGEMENT_API_H__
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_MANAGEMENT_API_H__ 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_MANAGEMENT_API_H__
7 #pragma once 7 #pragma once
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "chrome/browser/extensions/extension_function.h" 10 #include "chrome/browser/extensions/extension_function.h"
11 #include "chrome/browser/extensions/extension_install_ui.h"
12 #include "content/public/browser/notification_observer.h" 11 #include "content/public/browser/notification_observer.h"
13 #include "content/public/browser/notification_registrar.h" 12 #include "content/public/browser/notification_registrar.h"
14 13
15 class ExtensionService; 14 class ExtensionService;
16 15
17 class ExtensionManagementFunction : public SyncExtensionFunction { 16 class ExtensionManagementFunction : public SyncExtensionFunction {
18 protected: 17 protected:
19 ExtensionService* service(); 18 ExtensionService* service();
20 }; 19 };
21 20
22 class AsyncExtensionManagementFunction : public AsyncExtensionFunction {
23 protected:
24 ExtensionService* service();
25 };
26
27 class GetAllExtensionsFunction : public ExtensionManagementFunction { 21 class GetAllExtensionsFunction : public ExtensionManagementFunction {
28 virtual ~GetAllExtensionsFunction() {} 22 virtual ~GetAllExtensionsFunction() {}
29 virtual bool RunImpl() OVERRIDE; 23 virtual bool RunImpl() OVERRIDE;
30 DECLARE_EXTENSION_FUNCTION_NAME("management.getAll"); 24 DECLARE_EXTENSION_FUNCTION_NAME("management.getAll");
31 }; 25 };
32 26
33 class GetExtensionByIdFunction : public ExtensionManagementFunction { 27 class GetExtensionByIdFunction : public ExtensionManagementFunction {
34 virtual ~GetExtensionByIdFunction() {} 28 virtual ~GetExtensionByIdFunction() {}
35 virtual bool RunImpl() OVERRIDE; 29 virtual bool RunImpl() OVERRIDE;
36 DECLARE_EXTENSION_FUNCTION_NAME("management.get"); 30 DECLARE_EXTENSION_FUNCTION_NAME("management.get");
(...skipping 16 matching lines...) Expand all
53 DECLARE_EXTENSION_FUNCTION_NAME( 47 DECLARE_EXTENSION_FUNCTION_NAME(
54 "management.getPermissionWarningsByManifest"); 48 "management.getPermissionWarningsByManifest");
55 }; 49 };
56 50
57 class LaunchAppFunction : public ExtensionManagementFunction { 51 class LaunchAppFunction : public ExtensionManagementFunction {
58 virtual ~LaunchAppFunction() {} 52 virtual ~LaunchAppFunction() {}
59 virtual bool RunImpl() OVERRIDE; 53 virtual bool RunImpl() OVERRIDE;
60 DECLARE_EXTENSION_FUNCTION_NAME("management.launchApp"); 54 DECLARE_EXTENSION_FUNCTION_NAME("management.launchApp");
61 }; 55 };
62 56
63 class SetEnabledFunction : public AsyncExtensionManagementFunction, 57 class SetEnabledFunction : public ExtensionManagementFunction {
64 public ExtensionInstallUI::Delegate { 58 virtual ~SetEnabledFunction() {}
65 public:
66 SetEnabledFunction();
67 virtual ~SetEnabledFunction();
68 virtual bool RunImpl() OVERRIDE; 59 virtual bool RunImpl() OVERRIDE;
69
70 protected:
71 // ExtensionInstalUI::Delegate.
72 virtual void InstallUIProceed() OVERRIDE;
73 virtual void InstallUIAbort(bool user_initiated) OVERRIDE;
74
75 private:
76 std::string extension_id_;
77
78 // Used for prompting to re-enable items with permissions escalation updates.
79 scoped_ptr<ExtensionInstallUI> install_ui_;
80
81 DECLARE_EXTENSION_FUNCTION_NAME("management.setEnabled"); 60 DECLARE_EXTENSION_FUNCTION_NAME("management.setEnabled");
82 }; 61 };
83 62
84 class UninstallFunction : public ExtensionManagementFunction { 63 class UninstallFunction : public ExtensionManagementFunction {
85 virtual ~UninstallFunction() {} 64 virtual ~UninstallFunction() {}
86 virtual bool RunImpl() OVERRIDE; 65 virtual bool RunImpl() OVERRIDE;
87 DECLARE_EXTENSION_FUNCTION_NAME("management.uninstall"); 66 DECLARE_EXTENSION_FUNCTION_NAME("management.uninstall");
88 }; 67 };
89 68
90 class ExtensionManagementEventRouter : public content::NotificationObserver { 69 class ExtensionManagementEventRouter : public content::NotificationObserver {
(...skipping 10 matching lines...) Expand all
101 const content::NotificationDetails& details) OVERRIDE; 80 const content::NotificationDetails& details) OVERRIDE;
102 81
103 content::NotificationRegistrar registrar_; 82 content::NotificationRegistrar registrar_;
104 83
105 Profile* profile_; 84 Profile* profile_;
106 85
107 DISALLOW_COPY_AND_ASSIGN(ExtensionManagementEventRouter); 86 DISALLOW_COPY_AND_ASSIGN(ExtensionManagementEventRouter);
108 }; 87 };
109 88
110 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_MANAGEMENT_API_H__ 89 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_MANAGEMENT_API_H__
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_install_dialog.cc ('k') | chrome/browser/extensions/extension_management_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698