| Index: chrome/browser/ui/webui/extensions/extension_settings_handler.cc
|
| diff --git a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
|
| index 305d975b4ed8afe1d8d56bcd09216ce7c85740b0..8ae58dffbdfad2b71bd864dc08c8649d71a74bdc 100644
|
| --- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
|
| +++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
|
| @@ -72,6 +72,7 @@
|
| #include "content/public/browser/web_contents.h"
|
| #include "content/public/browser/web_ui.h"
|
| #include "content/public/browser/web_ui_data_source.h"
|
| +#include "extensions/browser/api/device_permissions_manager.h"
|
| #include "extensions/browser/app_window/app_window.h"
|
| #include "extensions/browser/app_window/app_window_registry.h"
|
| #include "extensions/browser/blacklist_state.h"
|
| @@ -801,9 +802,11 @@ void ExtensionSettingsHandler::ExtensionWarningsChanged() {
|
| MaybeUpdateAfterNotification();
|
| }
|
|
|
| -// This is called when the user clicks "Revoke File Access."
|
| +// This is called when the user clicks "Revoke File/Device Access."
|
| void ExtensionSettingsHandler::InstallUIProceed() {
|
| Profile* profile = Profile::FromWebUI(web_ui());
|
| + extensions::DevicePermissionsManager::Get(profile)
|
| + ->Clear(extension_id_prompting_);
|
| apps::SavedFilesService::Get(profile)->ClearQueue(
|
| extension_service_->GetExtensionById(extension_id_prompting_, true));
|
| apps::AppLoadService::Get(profile)
|
| @@ -1179,9 +1182,18 @@ void ExtensionSettingsHandler::HandlePermissionsMessage(
|
| retained_file_paths.push_back(retained_file_entries[i].path);
|
| }
|
| }
|
| + std::vector<base::string16> retained_device_messages;
|
| + if (extension->permissions_data()->HasAPIPermission(APIPermission::kUsb)) {
|
| + retained_device_messages =
|
| + extensions::DevicePermissionsManager::Get(Profile::FromWebUI(web_ui()))
|
| + ->GetPermissionMessageStrings(extension_id_prompting_);
|
| + }
|
| +
|
| // The BrokerDelegate manages its own lifetime.
|
| - prompt_->ReviewPermissions(
|
| - new BrokerDelegate(AsWeakPtr()), extension, retained_file_paths);
|
| + prompt_->ReviewPermissions(new BrokerDelegate(AsWeakPtr()),
|
| + extension,
|
| + retained_file_paths,
|
| + retained_device_messages);
|
| }
|
|
|
| void ExtensionSettingsHandler::HandleShowButtonMessage(
|
|
|