Commit 5e297562 authored by Nnamdi Theodore Johnson-Kanu's avatar Nnamdi Theodore Johnson-Kanu Committed by Commit Bot

[CrOS Settings] Update isOSSettingsSubPage route list

Before this CL, the route list of settings subpage routes
in isOSSettingsSubPage was incomplete. The CL adds chromeOS
routes that were missing. ChromeOs pages which can be opened by android
intents are added to the ChromePage enum. Originally this listed was
curated and only whitelisted chrome pages could be added. This was
because of security concerns.
https://chromium-review.googlesource.com/c/chromium/src/+/750501/.
In https://chromium-review.googlesource.com/c/chromium/src/+/784396/
whitelisting was removed and all settings URLs where now accessible to
android intents.

Bug: 982445
Change-Id: I67a1bb665f4705fe5a379f7da920878732606628
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2036935Reviewed-by: default avatarcalamity <calamity@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Reviewed-by: default avatarJames Cook <jamescook@chromium.org>
Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Commit-Queue: Nnamdi Theodore Johnson-kanu <tjohnsonkanu@google.com>
Cr-Commit-Position: refs/heads/master@{#742782}
parent 8cb67208
......@@ -74,28 +74,51 @@ using arc::mojom::ChromePage;
namespace {
constexpr std::pair<arc::mojom::ChromePage, const char*> kOSSettingsMapping[] =
{{ChromePage::MULTIDEVICE, chrome::kMultideviceSubPage},
{ChromePage::MAIN, ""},
{ChromePage::POWER, chrome::kPowerSubPage},
{ChromePage::BLUETOOTH, chrome::kBluetoothSubPage},
{ChromePage::DATETIME, chrome::kDateTimeSubPage},
{ChromePage::DISPLAY, chrome::kDisplaySubPage},
{ChromePage::WIFI, chrome::kWiFiSettingsSubPage},
{ChromePage::HELP, chrome::kHelpSubPage},
{{ChromePage::ACCESSIBILITY, chrome::kAccessibilitySubPage},
{ChromePage::ACCOUNTS, chrome::kAccountSubPage},
{ChromePage::ACCOUNTMANAGER, chrome::kAccountManagerSubPage},
{ChromePage::ANDROIDAPPSDETAILS, chrome::kAndroidAppsDetailsSubPage},
{ChromePage::ANDROIDAPPSDETAILSINBROWSERSETTINGS,
chrome::kAndroidAppsDetailsSubPageInBrowserSettings},
{ChromePage::APPMANAGEMENT, chrome::kAppManagementSubPage},
{ChromePage::APPMANAGEMENTDETAILS, chrome::kAppManagementDetailSubPage},
{ChromePage::ASSISTANT, chrome::kAssistantSubPage},
{ChromePage::BLUETOOTH, chrome::kBluetoothSubPage},
{ChromePage::BLUETOOTHDEVICES, chrome::kBluetoothSubPage},
{ChromePage::CHANGEPICTURE, chrome::kChangePictureSubPage},
{ChromePage::CROSTINIDISKRESIZE, chrome::kCrostiniDiskResizeSubPage},
{ChromePage::CONNECTEDDEVICES, chrome::kConnectedDevicesSubPage},
{ChromePage::CROSTINISHAREDPATHS, chrome::kCrostiniSharedPathsSubPage},
{ChromePage::CROSTINISHAREDUSBDEVICES,
chrome::kCrostiniSharedUsbDevicesSubPage},
{ChromePage::CROSTINIEXPORTIMPORT, chrome::kCrostiniExportImportSubPage},
{ChromePage::CUPSPRINTERS, chrome::kNativePrintingSettingsSubPage},
{ChromePage::DATETIME, chrome::kDateTimeSubPage},
{ChromePage::DISPLAY, chrome::kDisplaySubPage},
{ChromePage::EXTERNALSTORAGE, chrome::kExternalStorageSubPage},
{ChromePage::HELP, chrome::kHelpSubPage},
{ChromePage::INTERNET, chrome::kInternetSubPage},
{ChromePage::KERBEROSACCOUNTS, chrome::kKerberosAccountsSubPage},
{ChromePage::KEYBOARDOVERLAY, chrome::kKeyboardOverlaySubPage},
{ChromePage::KNOWNNETWORKS, chrome::kKnownNetworksSubPage},
{ChromePage::LANGUAGES, chrome::kLanguageSubPage},
{ChromePage::LOCKSCREEN, chrome::kLockScreenSubPage},
{ChromePage::MAIN, ""},
{ChromePage::MANAGEACCESSIBILITY, chrome::kManageAccessibilitySubPage},
{ChromePage::MANAGEACCESSIBILITYTTS,
chrome::kManageAccessibilityTtsSubPage},
{ChromePage::MULTIDEVICE, chrome::kMultideviceSubPage},
{ChromePage::NETWORKSTYPEVPN, chrome::kVPNSettingsSubPage},
{ChromePage::POINTEROVERLAY, chrome::kPointerOverlaySubPage},
{ChromePage::POWER, chrome::kPowerSubPage},
{ChromePage::RESET, chrome::kResetSubPage},
{ChromePage::SMARTLOCKSETTINGS, chrome::kSmartLockSettingsSubPage},
{ChromePage::STORAGE, chrome::kStorageSubPage},
{ChromePage::SYNCSETUP, chrome::kSyncSetupSubPage}};
{ChromePage::STYLUS, chrome::kStylusSubPage},
{ChromePage::SWITCHACCESS, chrome::kSwitchAccessSubPage},
{ChromePage::SYNCSETUP, chrome::kSyncSetupSubPage},
{ChromePage::TETHERSETTINGS, chrome::kTetherSettingsSubPage},
{ChromePage::WIFI, chrome::kWiFiSettingsSubPage}};
constexpr std::pair<arc::mojom::ChromePage, const char*>
kBrowserSettingsMapping[] = {
......
......@@ -284,6 +284,48 @@ void TestAllOSSettingPages(const GURL& base_url) {
base_url.Resolve(chrome::kStorageSubPage));
TestOpenChromePage(ChromePage::SYNCSETUP,
base_url.Resolve(chrome::kSyncSetupSubPage));
TestOpenChromePage(ChromePage::ACCESSIBILITY,
base_url.Resolve(chrome::kAccessibilitySubPage));
TestOpenChromePage(ChromePage::ACCOUNTMANAGER,
base_url.Resolve(chrome::kAccountManagerSubPage));
TestOpenChromePage(ChromePage::ANDROIDAPPSDETAILS,
base_url.Resolve(chrome::kAndroidAppsDetailsSubPage));
TestOpenChromePage(
ChromePage::ANDROIDAPPSDETAILSINBROWSERSETTINGS,
base_url.Resolve(chrome::kAndroidAppsDetailsSubPageInBrowserSettings));
TestOpenChromePage(ChromePage::APPMANAGEMENTDETAILS,
base_url.Resolve(chrome::kAppManagementDetailSubPage));
TestOpenChromePage(ChromePage::APPMANAGEMENT,
base_url.Resolve(chrome::kAppManagementSubPage));
TestOpenChromePage(ChromePage::ASSISTANT,
base_url.Resolve(chrome::kAssistantSubPage));
TestOpenChromePage(ChromePage::CONNECTEDDEVICES,
base_url.Resolve(chrome::kConnectedDevicesSubPage));
TestOpenChromePage(ChromePage::CROSTINISHAREDPATHS,
base_url.Resolve(chrome::kCrostiniSharedPathsSubPage));
TestOpenChromePage(
ChromePage::CROSTINISHAREDUSBDEVICES,
base_url.Resolve(chrome::kCrostiniSharedUsbDevicesSubPage));
TestOpenChromePage(ChromePage::CROSTINIEXPORTIMPORT,
base_url.Resolve(chrome::kCrostiniExportImportSubPage));
TestOpenChromePage(ChromePage::EXTERNALSTORAGE,
base_url.Resolve(chrome::kExternalStorageSubPage));
TestOpenChromePage(ChromePage::INTERNET,
base_url.Resolve(chrome::kInternetSubPage));
TestOpenChromePage(ChromePage::KERBEROSACCOUNTS,
base_url.Resolve(chrome::kKerberosAccountsSubPage));
TestOpenChromePage(ChromePage::KNOWNNETWORKS,
base_url.Resolve(chrome::kKnownNetworksSubPage));
TestOpenChromePage(ChromePage::MANAGEACCESSIBILITYTTS,
base_url.Resolve(chrome::kManageAccessibilityTtsSubPage));
TestOpenChromePage(ChromePage::SMARTLOCKSETTINGS,
base_url.Resolve(chrome::kSmartLockSettingsSubPage));
TestOpenChromePage(ChromePage::STYLUS,
base_url.Resolve(chrome::kStylusSubPage));
TestOpenChromePage(ChromePage::SWITCHACCESS,
base_url.Resolve(chrome::kSwitchAccessSubPage));
TestOpenChromePage(ChromePage::TETHERSETTINGS,
base_url.Resolve(chrome::kTetherSettingsSubPage));
}
void TestAllBrowserSettingPages(const GURL& base_url) {
......
......@@ -400,6 +400,7 @@ const char kAndroidAppsDetailsSubPage[] = "androidAppsDetails";
const char kAndroidAppsDetailsSubPageInBrowserSettings[] =
"androidApps/details";
const char kAppManagementDetailSubPage[] = "app-management/detail";
const char kAppManagementSubPage[] = "app-management";
const char kAssistantSubPage[] = "googleAssistant";
const char kBluetoothSubPage[] = "bluetoothDevices";
const char kChangePictureSubPage[] = "changePicture";
......@@ -416,6 +417,7 @@ const char kHelpSubPage[] = "help";
const char kInternetSubPage[] = "internet";
const char kKerberosAccountsSubPage[] = "kerberosAccounts";
const char kKeyboardOverlaySubPage[] = "keyboard-overlay";
const char kKnownNetworksSubPage[] = "knownNetworks";
const char kLanguageSubPage[] = "languages/details";
const char kLockScreenSubPage[] = "lockScreen";
const char kManageAccessibilitySubPage[] = "manageAccessibility";
......@@ -448,6 +450,7 @@ bool IsOSSettingsSubPage(const std::string& sub_page) {
kAndroidAppsDetailsSubPage,
kAndroidAppsDetailsSubPageInBrowserSettings,
kAppManagementDetailSubPage,
kAppManagementSubPage,
kAssistantSubPage,
kBluetoothSubPage,
kChangePictureSubPage,
......@@ -455,6 +458,7 @@ bool IsOSSettingsSubPage(const std::string& sub_page) {
kCrostiniSharedPathsSubPage,
kCrostiniSharedUsbDevicesSubPage,
kCrostiniDiskResizeSubPage,
kCrostiniExportImportSubPage,
kDateTimeSubPage,
kDisplaySubPage,
kExternalStorageSubPage,
......@@ -462,6 +466,7 @@ bool IsOSSettingsSubPage(const std::string& sub_page) {
kInternetSubPage,
kKerberosAccountsSubPage,
kKeyboardOverlaySubPage,
kKnownNetworksSubPage,
// language is both an OS and browser sub page, but prefer the OS version
kLanguageSubPage,
kLockScreenSubPage,
......
......@@ -351,6 +351,7 @@ extern const char kAccountSubPage[];
extern const char kAndroidAppsDetailsSubPage[];
extern const char kAndroidAppsDetailsSubPageInBrowserSettings[];
extern const char kAppManagementDetailSubPage[];
extern const char kAppManagementSubPage[];
extern const char kAssistantSubPage[];
extern const char kBluetoothSubPage[];
extern const char kChangePictureSubPage[];
......@@ -366,9 +367,11 @@ extern const char kHelpSubPage[];
extern const char kInternetSubPage[];
extern const char kKerberosAccountsSubPage[];
extern const char kKeyboardOverlaySubPage[];
extern const char kKnownNetworksSubPage[];
extern const char kLanguageSubPage[];
extern const char kLockScreenSubPage[];
extern const char kManageAccessibilitySubPage[];
extern const char kManageAccessibilityTtsSubPage[];
extern const char kMultideviceSubPage[];
extern const char kNativePrintingSettingsSubPage[];
extern const char kNetworkDetailSubPage[];
......@@ -382,6 +385,7 @@ extern const char kSmartLockSettingsSubPage[];
extern const char kSmbSharesSubPage[];
extern const char kStorageSubPage[];
extern const char kStylusSubPage[];
extern const char kSwitchAccessSubPage[];
extern const char kTetherSettingsSubPage[];
extern const char kVPNSettingsSubPage[];
extern const char kWiFiSettingsSubPage[];
......
......@@ -148,8 +148,28 @@ enum ChromePage {
ABOUTDOWNLOADS,
ABOUTHISTORY,
CROSTINIDISKRESIZE,
LAST = CROSTINIDISKRESIZE,
ACCESSIBILITY,
ACCOUNTMANAGER,
ANDROIDAPPSDETAILS,
ANDROIDAPPSDETAILSINBROWSERSETTINGS,
APPMANAGEMENT,
APPMANAGEMENTDETAILS,
ASSISTANT,
CONNECTEDDEVICES,
CROSTINISHAREDPATHS,
CROSTINISHAREDUSBDEVICES,
CROSTINIEXPORTIMPORT,
EXTERNALSTORAGE,
INTERNET,
KERBEROSACCOUNTS,
KNOWNNETWORKS,
MANAGEACCESSIBILITYTTS,
SMARTLOCKSETTINGS,
SWITCHACCESS,
STYLUS,
TETHERSETTINGS,
LAST = TETHERSETTINGS,
};
// Describes an unique chrome app.
......
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