Commit 78588c37 authored by Jeremie Boulic's avatar Jeremie Boulic Committed by Commit Bot

[Files App] Add password needed error handling for archives

A NEED_PASSWORD error has been defined on the cros-disks side to
handle encrypted archives.

Updating the UI to handle this special mounting error.

trying to open encrypted zip archives with cros-disks

Test: Manually tested that the password needed dialog is shown when
Bug: 912236
Change-Id: I23d5285b1efe887c06e54f733ef4c1fe76c35b47
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2303740
Commit-Queue: Jeremie Boulic <jboulic@chromium.org>
Reviewed-by: default avatarRyo Hashimoto <hashimoto@chromium.org>
Reviewed-by: default avatarFrançois Degros <fdegros@chromium.org>
Cr-Commit-Position: refs/heads/master@{#790681}
parent 73cea862
......@@ -166,6 +166,8 @@ MountErrorToMountCompletedStatus(chromeos::MountError error) {
MOUNT_COMPLETED_STATUS_ERROR_UNSUPPORTED_FILESYSTEM;
case chromeos::MOUNT_ERROR_INVALID_ARCHIVE:
return file_manager_private::MOUNT_COMPLETED_STATUS_ERROR_INVALID_ARCHIVE;
case chromeos::MOUNT_ERROR_NEED_PASSWORD:
return file_manager_private::MOUNT_COMPLETED_STATUS_ERROR_NEED_PASSWORD;
// Not a real error.
case chromeos::MOUNT_ERROR_COUNT:
NOTREACHED();
......
......@@ -50,7 +50,8 @@ enum MountCompletedStatus {
error_invalid_device_path,
error_unknown_filesystem,
error_unsupported_filesystem,
error_invalid_archive
error_invalid_archive,
error_need_password
};
// Filesystem to format to.
......
......@@ -115,6 +115,8 @@ MountError CrosDisksMountErrorToChromeMountError(
case cros_disks::MOUNT_ERROR_UNSUPPORTED_ARCHIVE:
// TODO(amistry): Add MOUNT_ERROR_UNSUPPORTED_ARCHIVE.
return MOUNT_ERROR_UNKNOWN;
case cros_disks::MOUNT_ERROR_NEED_PASSWORD:
return MOUNT_ERROR_NEED_PASSWORD;
default:
NOTREACHED() << "Unrecognised mount error code " << mount_error;
return MOUNT_ERROR_UNKNOWN;
......
......@@ -72,6 +72,7 @@ enum MountError {
MOUNT_ERROR_UNKNOWN_FILESYSTEM,
MOUNT_ERROR_UNSUPPORTED_FILESYSTEM,
MOUNT_ERROR_INVALID_ARCHIVE,
MOUNT_ERROR_NEED_PASSWORD,
MOUNT_ERROR_COUNT,
};
......
......@@ -89,6 +89,7 @@ chrome.fileManagerPrivate.MountCompletedStatus = {
ERROR_INVALID_ARCHIVE: 'error_invalid_archive',
ERROR_AUTHENTICATION: 'error_authentication',
ERROR_PATH_UNMOUNTED: 'error_path_unmounted',
ERROR_NEED_PASSWORD: 'error_need_password',
};
/** @enum {string} */
......
......@@ -206,7 +206,8 @@ VolumeManagerCommon.VolumeError = {
INVALID_DEVICE_PATH: 'error_invalid_device_path',
UNKNOWN_FILESYSTEM: 'error_unknown_filesystem',
UNSUPPORTED_FILESYSTEM: 'error_unsupported_filesystem',
INVALID_ARCHIVE: 'error_invalid_archive'
INVALID_ARCHIVE: 'error_invalid_archive',
NEED_PASSWORD: 'error_need_password',
};
Object.freeze(VolumeManagerCommon.VolumeError);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment