feat(extensions): add support for some chrome.management APIs (#25098)

* fix: initialize management policy

* fix(extensions): crash when using chrome.management

* test: add tests

* docs: add a note about chrome.management

* fix: lint errors

* fix: lint errors

* fix: remove favicon_service include

* fix: add missing management permission

* docs: more supported apis

* fix: extensions.md line endings
This commit is contained in:
Eryk Rakowski 2020-09-02 02:59:56 +02:00 committed by GitHub
parent bf7dbff858
commit 3745b76da8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 430 additions and 3 deletions

View file

@ -25,6 +25,7 @@
#include "extensions/browser/api/app_runtime/app_runtime_api.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/info_map.h"
#include "extensions/browser/management_policy.h"
#include "extensions/browser/notification_types.h"
#include "extensions/browser/null_app_sorting.h"
#include "extensions/browser/quota_service.h"
@ -91,6 +92,8 @@ void ElectronExtensionSystem::InitForRegularProfile(bool extensions_enabled) {
if (!browser_context_->IsOffTheRecord())
LoadComponentExtensions();
management_policy_.reset(new ManagementPolicy);
}
std::unique_ptr<base::DictionaryValue> ParseManifest(
@ -130,7 +133,7 @@ RuntimeData* ElectronExtensionSystem::runtime_data() {
}
ManagementPolicy* ElectronExtensionSystem::management_policy() {
return nullptr;
return management_policy_.get();
}
ServiceWorkerManager* ElectronExtensionSystem::service_worker_manager() {