Chromium Code Reviews| Index: chrome/browser/extensions/permissions_updater.cc |
| diff --git a/chrome/browser/extensions/permissions_updater.cc b/chrome/browser/extensions/permissions_updater.cc |
| index 26730a999aaa4510a01500c6c3bab92db4b18f12..350e0c1b8b2de7910e330120b5fd9b189c55f0ad 100644 |
| --- a/chrome/browser/extensions/permissions_updater.cc |
| +++ b/chrome/browser/extensions/permissions_updater.cc |
| @@ -69,6 +69,8 @@ std::unique_ptr<const PermissionSet> GetBoundedActivePermissions( |
| return adjusted_active; |
| } |
| +PermissionsUpdater::Delegate* g_delegate = nullptr; |
| + |
| } // namespace |
| PermissionsUpdater::PermissionsUpdater(content::BrowserContext* browser_context) |
| @@ -82,6 +84,11 @@ PermissionsUpdater::PermissionsUpdater(content::BrowserContext* browser_context, |
| PermissionsUpdater::~PermissionsUpdater() {} |
| +// static |
| +void PermissionsUpdater::SetPlatformDelegate(Delegate* delegate) { |
| + g_delegate = delegate; |
|
Andrew T Wilson (Slow)
2017/04/11 11:32:54
I think we should CHECK(!g_delegate) here to make
Ivan Šandrk
2017/04/11 13:37:27
Done.
|
| +} |
| + |
| void PermissionsUpdater::AddPermissions(const Extension* extension, |
| const PermissionSet& permissions) { |
| const PermissionSet& active = |
| @@ -197,6 +204,9 @@ void PermissionsUpdater::InitializePermissions(const Extension* extension) { |
| &withheld_permissions, |
| (init_flag_ & INIT_FLAG_TRANSIENT) != 0); |
| + if (g_delegate) |
| + g_delegate->InitializePermissions(extension, &granted_permissions); |
| + |
| SetPermissions(extension, std::move(granted_permissions), |
| std::move(withheld_permissions)); |
| } |
| @@ -243,7 +253,7 @@ void PermissionsUpdater::NotifyPermissionsUpdated( |
| EventType event_type, |
| const Extension* extension, |
| const PermissionSet& changed) { |
| - DCHECK((init_flag_ & INIT_FLAG_TRANSIENT) == 0); |
| + DCHECK_EQ(0, init_flag_ & INIT_FLAG_TRANSIENT); |
| if (changed.IsEmpty()) |
| return; |