ee4d117ec7bc74e46498f2550cd0a55f43a2b36b - chromium/src

60 views
Skip to first unread message

tjohns...@google.com

unread,
Jul 13, 2021, 1:11:06 AM7/13/21
to chromium...@chromium.org
commit ee4d117ec7bc74e46498f2550cd0a55f43a2b36b
Author: Theo Johnson-Kanu <tjohns...@google.com>
AuthorDate: Tue Jul 13 05:09:15 2021
Commit: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
CommitDate: Tue Jul 13 05:09:15 2021

[Cros Settings] Check in Polymer3 code for internet_page

Bug: 1180979
Change-Id: If8f307b53aa88cc0d6f0298640bd75928fbd8003
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3022005
Reviewed-by: Kyle Horimoto <khor...@chromium.org>
Commit-Queue: Nnamdi Theodore Johnson-kanu <tjohns...@google.com>
Cr-Commit-Position: refs/heads/master@{#900846}

diff --git a/chrome/browser/resources/settings/chromeos/BUILD.gn b/chrome/browser/resources/settings/chromeos/BUILD.gn
index 34b727d..56fbac3 100644
--- a/chrome/browser/resources/settings/chromeos/BUILD.gn
+++ b/chrome/browser/resources/settings/chromeos/BUILD.gn
@@ -215,6 +215,8 @@
"chromeos/date_time_page/timezone_browser_proxy.js",
"chromeos/google_assistant_page/google_assistant_browser_proxy.js",
"chromeos/guest_os/guest_os_browser_proxy.js",
+ "chromeos/internet_page/cellular_setup_settings_delegate.js",
+ "chromeos/internet_page/internet_page_browser_proxy.js",
"chromeos/os_languages_page/input_method_settings.js",
"chromeos/os_printing_page/cups_printers_entry_list_behavior.js",
"chromeos/os_printing_page/cups_printer_dialog_util.js",
@@ -306,26 +308,24 @@
"chromeos/google_assistant_page/google_assistant_page.js",
"chromeos/guest_os/guest_os_shared_paths.js",
"chromeos/guest_os/guest_os_shared_usb_devices.js",
- "chromeos/internet_page/esim_install_error_dialog.m.js",
- "chromeos/internet_page/esim_remove_profile_dialog.m.js",
- "chromeos/internet_page/esim_rename_dialog.m.js",
- "chromeos/internet_page/cellular_networks_list.m.js",
- "chromeos/internet_page/cellular_roaming_toggle_button.m.js",
- "chromeos/internet_page/cellular_setup_dialog.m.js",
- "chromeos/internet_page/cellular_setup_settings_delegate.m.js",
- "chromeos/internet_page/internet_config.m.js",
- "chromeos/internet_page/internet_detail_menu.m.js",
- "chromeos/internet_page/internet_detail_page.m.js",
- "chromeos/internet_page/internet_known_networks_page.m.js",
- "chromeos/internet_page/internet_page.m.js",
- "chromeos/internet_page/internet_page_browser_proxy.m.js",
- "chromeos/internet_page/internet_shared_css.m.js",
- "chromeos/internet_page/internet_subpage.m.js",
- "chromeos/internet_page/network_always_on_vpn.m.js",
- "chromeos/internet_page/network_proxy_section.m.js",
- "chromeos/internet_page/network_summary.m.js",
- "chromeos/internet_page/network_summary_item.m.js",
- "chromeos/internet_page/tether_connection_dialog.m.js",
+ "chromeos/internet_page/esim_install_error_dialog.js",
+ "chromeos/internet_page/esim_remove_profile_dialog.js",
+ "chromeos/internet_page/esim_rename_dialog.js",
+ "chromeos/internet_page/cellular_networks_list.js",
+ "chromeos/internet_page/cellular_roaming_toggle_button.js",
+ "chromeos/internet_page/cellular_setup_dialog.js",
+ "chromeos/internet_page/internet_config.js",
+ "chromeos/internet_page/internet_detail_menu.js",
+ "chromeos/internet_page/internet_detail_page.js",
+ "chromeos/internet_page/internet_known_networks_page.js",
+ "chromeos/internet_page/internet_page.js",
+ "chromeos/internet_page/internet_shared_css.js",
+ "chromeos/internet_page/internet_subpage.js",
+ "chromeos/internet_page/network_always_on_vpn.js",
+ "chromeos/internet_page/network_proxy_section.js",
+ "chromeos/internet_page/network_summary.js",
+ "chromeos/internet_page/network_summary_item.js",
+ "chromeos/internet_page/tether_connection_dialog.js",
"chromeos/kerberos_page/kerberos_accounts.m.js",
"chromeos/kerberos_page/kerberos_accounts_browser_proxy.m.js",
"chromeos/kerberos_page/kerberos_add_account_dialog.m.js",
@@ -679,7 +679,7 @@
"device_page:polymer3_elements",
"google_assistant_page:web_components",
"guest_os:web_components",
- "internet_page:polymer3_elements",
+ "internet_page:web_components",
"kerberos_page:polymer3_elements",
"keyboard_shortcut_banner:web_components",
"localized_link:web_components",
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/BUILD.gn b/chrome/browser/resources/settings/chromeos/internet_page/BUILD.gn
index ad7922e..175642e 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/BUILD.gn
+++ b/chrome/browser/resources/settings/chromeos/internet_page/BUILD.gn
@@ -4,39 +4,37 @@

import("//chrome/browser/resources/settings/chromeos/os_settings.gni")
import("//third_party/closure_compiler/compile_js.gni")
-import("//tools/polymer/polymer.gni")
-import("//ui/webui/resources/tools/js_modulizer.gni")
+import("//tools/polymer/html_to_js.gni")
import("../os_settings.gni")

js_type_check("closure_compile_module") {
closure_flags = os_settings_closure_flags
is_polymer3 = true
deps = [
- ":cellular_networks_list.m",
- ":cellular_roaming_toggle_button.m",
- ":cellular_setup_dialog.m",
- ":cellular_setup_settings_delegate.m",
- ":esim_install_error_dialog.m",
- ":esim_remove_profile_dialog.m",
- ":esim_rename_dialog.m",
- ":internet_config.m",
- ":internet_detail_menu.m",
- ":internet_detail_page.m",
- ":internet_known_networks_page.m",
- ":internet_page.m",
- ":internet_page_browser_proxy.m",
- ":internet_shared_css.m",
- ":internet_subpage.m",
- ":network_always_on_vpn.m",
- ":network_proxy_section.m",
- ":network_summary.m",
- ":network_summary_item.m",
- ":tether_connection_dialog.m",
+ ":cellular_networks_list",
+ ":cellular_roaming_toggle_button",
+ ":cellular_setup_dialog",
+ ":cellular_setup_settings_delegate",
+ ":esim_install_error_dialog",
+ ":esim_remove_profile_dialog",
+ ":esim_rename_dialog",
+ ":internet_config",
+ ":internet_detail_menu",
+ ":internet_detail_page",
+ ":internet_known_networks_page",
+ ":internet_page",
+ ":internet_page_browser_proxy",
+ ":internet_shared_css",
+ ":internet_subpage",
+ ":network_always_on_vpn",
+ ":network_proxy_section",
+ ":network_summary",
+ ":network_summary_item",
+ ":tether_connection_dialog",
]
}

-js_library("cellular_setup_dialog.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.m.js" ]
+js_library("cellular_setup_dialog") {
deps = [
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/cr_components/chromeos/cellular_setup:cellular_setup.m",
@@ -44,13 +42,11 @@
"//ui/webui/resources/cr_elements/cr_dialog:cr_dialog.m",
"//ui/webui/resources/js:i18n_behavior.m",
]
- extra_deps = [ ":cellular_setup_dialog_module" ]
}

-js_library("internet_config.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_config.m.js" ]
+js_library("internet_config") {
deps = [
- ":internet_shared_css.m",
+ ":internet_shared_css",
"//chrome/browser/resources/settings:router",
"//chrome/browser/resources/settings/chromeos:metrics_recorder.m",
"//third_party/polymer/v3_0/components-chromium/iron-flex-layout:iron-flex-layout",
@@ -62,11 +58,9 @@
"//ui/webui/resources/js:i18n_behavior.m",
"//ui/webui/resources/js:util.m",
]
- extra_deps = [ ":internet_config_module" ]
}

-js_library("internet_detail_menu.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_menu.m.js" ]
+js_library("internet_detail_menu") {
deps = [
"//chrome/browser/resources/settings:router",
"//chrome/browser/resources/settings/chromeos:deep_linking_behavior.m",
@@ -78,17 +72,15 @@
"//ui/webui/resources/js:i18n_behavior.m",
"//ui/webui/resources/js:web_ui_listener_behavior.m",
]
- extra_deps = [ ":internet_detail_menu_module" ]
}

-js_library("internet_detail_page.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_page.m.js" ]
+js_library("internet_detail_page") {
deps = [
- ":cellular_roaming_toggle_button.m",
- ":internet_page_browser_proxy.m",
- ":internet_shared_css.m",
- ":network_proxy_section.m",
- ":tether_connection_dialog.m",
+ ":cellular_roaming_toggle_button",
+ ":internet_page_browser_proxy",
+ ":internet_shared_css",
+ ":network_proxy_section",
+ ":tether_connection_dialog",
"//chrome/browser/resources/settings:router",
"//chrome/browser/resources/settings/chromeos:deep_linking_behavior.m",
"//chrome/browser/resources/settings/chromeos:metrics_recorder.m",
@@ -123,13 +115,11 @@
"//ui/webui/resources/js:i18n_behavior.m",
"//ui/webui/resources/js:web_ui_listener_behavior.m",
]
- extra_deps = [ ":internet_detail_page_module" ]
}

-js_library("internet_known_networks_page.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.m.js" ]
+js_library("internet_known_networks_page") {
deps = [
- ":internet_shared_css.m",
+ ":internet_shared_css",
"//chrome/browser/resources/settings:router",
"//chrome/browser/resources/settings/chromeos:deep_linking_behavior.m",
"//chrome/browser/resources/settings/chromeos:metrics_recorder.m",
@@ -144,21 +134,19 @@
"//ui/webui/resources/cr_elements/cr_link_row:cr_link_row",
"//ui/webui/resources/js:assert.m",
]
- extra_deps = [ ":internet_known_networks_page_module" ]
}

-js_library("internet_page.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_page.m.js" ]
+js_library("internet_page") {
deps = [
- ":cellular_setup_dialog.m",
- ":esim_remove_profile_dialog.m",
- ":esim_rename_dialog.m",
- ":internet_config.m",
- ":internet_detail_page.m",
- ":internet_known_networks_page.m",
- ":internet_page_browser_proxy.m",
- ":internet_subpage.m",
- ":network_summary.m",
+ ":cellular_setup_dialog",
+ ":esim_remove_profile_dialog",
+ ":esim_rename_dialog",
+ ":internet_config",
+ ":internet_detail_page",
+ ":internet_known_networks_page",
+ ":internet_page_browser_proxy",
+ ":internet_subpage",
+ ":network_summary",
"//chrome/browser/resources/settings:router",
"//chrome/browser/resources/settings/chromeos:deep_linking_behavior.m",
"//chrome/browser/resources/settings/chromeos:metrics_recorder.m",
@@ -182,34 +170,26 @@
"//ui/webui/resources/js:i18n_behavior.m",
"//ui/webui/resources/js:web_ui_listener_behavior.m",
]
- extra_deps = [ ":internet_page_module" ]
}

-js_library("internet_page_browser_proxy.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_page_browser_proxy.m.js" ]
- extra_deps = [ ":modulize" ]
+js_library("internet_page_browser_proxy") {
}

-js_library("cellular_setup_settings_delegate.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_page_browser_proxy.m.js" ]
+js_library("cellular_setup_settings_delegate") {
deps = [
"//ui/webui/resources/cr_components/chromeos/cellular_setup:cellular_setup_delegate.m",
"//ui/webui/resources/js:cr.m",
]
- extra_deps = [ ":modulize" ]
}

-js_library("internet_shared_css.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.m.js" ]
- extra_deps = [ ":internet_shared_css_module" ]
+js_library("internet_shared_css") {
}

-js_library("internet_subpage.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_subpage.m.js" ]
+js_library("internet_subpage") {
deps = [
- ":cellular_networks_list.m",
- ":internet_page_browser_proxy.m",
- ":network_always_on_vpn.m",
+ ":cellular_networks_list",
+ ":internet_page_browser_proxy",
+ ":network_always_on_vpn",
"//chrome/browser/resources/settings:router",
"//chrome/browser/resources/settings/chromeos:deep_linking_behavior.m",
"//chrome/browser/resources/settings/chromeos:metrics_recorder.m",
@@ -230,25 +210,21 @@
"//ui/webui/resources/cr_elements/policy:cr_policy_indicator.m",
"//ui/webui/resources/js:i18n_behavior.m",
]
- extra_deps = [ ":internet_subpage_module" ]
}

-js_library("network_always_on_vpn.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/network_always_on_vpn.m.js" ]
+js_library("network_always_on_vpn") {
deps = [
- ":internet_shared_css.m",
+ ":internet_shared_css",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/cr_components/chromeos/network:onc_mojo.m",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:i18n_behavior.m",
]
- extra_deps = [ ":network_always_on_vpn_module" ]
}

-js_library("network_proxy_section.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/network_proxy_section.m.js" ]
+js_library("network_proxy_section") {
deps = [
- ":internet_shared_css.m",
+ ":internet_shared_css",
"//chrome/browser/resources/settings:router",
"//chrome/browser/resources/settings/chromeos:os_route.m",
"//chrome/browser/resources/settings/controls:extension_controlled_indicator",
@@ -263,23 +239,19 @@
"//ui/webui/resources/cr_elements/cr_dialog:cr_dialog.m",
"//ui/webui/resources/js:i18n_behavior.m",
]
- extra_deps = [ ":network_proxy_section_module" ]
}

-js_library("network_summary.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/network_summary.m.js" ]
+js_library("network_summary") {
deps = [
- ":network_summary_item.m",
+ ":network_summary_item",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/cr_components/chromeos/network:mojo_interface_provider.m",
"//ui/webui/resources/cr_components/chromeos/network:network_listener_behavior.m",
"//ui/webui/resources/cr_components/chromeos/network:onc_mojo.m",
]
- extra_deps = [ ":network_summary_module" ]
}

-js_library("network_summary_item.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/network_summary_item.m.js" ]
+js_library("network_summary_item") {
deps = [
"//third_party/polymer/v3_0/components-chromium/iron-flex-layout:iron-flex-layout-classes",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
@@ -294,11 +266,9 @@
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:i18n_behavior.m",
]
- extra_deps = [ ":network_summary_item_module" ]
}

-js_library("tether_connection_dialog.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/tether_connection_dialog.m.js" ]
+js_library("tether_connection_dialog") {
deps = [
"//chrome/browser/resources/settings/chromeos:os_route.m",
"//chromeos/services/network_config/public/mojom:mojom_js_library_for_compile",
@@ -311,13 +281,11 @@
"//ui/webui/resources/cr_elements/cr_dialog:cr_dialog.m",
"//ui/webui/resources/js:i18n_behavior.m",
]
- extra_deps = [ ":tether_connection_dialog_module" ]
}

-js_library("cellular_networks_list.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/cellular_networks_list.m.js" ]
+js_library("cellular_networks_list") {
deps = [
- ":esim_install_error_dialog.m",
+ ":esim_install_error_dialog",
"../multidevice_page:multidevice_browser_proxy.m",
"../multidevice_page:multidevice_constants.m",
"//chrome/browser/resources/settings/chromeos/localized_link:localized_link",
@@ -332,11 +300,9 @@
"//ui/webui/resources/js:i18n_behavior.m",
"//ui/webui/resources/js:web_ui_listener_behavior.m",
]
- extra_deps = [ ":cellular_networks_list_module" ]
}

-js_library("cellular_roaming_toggle_button.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/cellular_roaming_toggle_button.m.js" ]
+js_library("cellular_roaming_toggle_button") {
deps = [
"//chrome/browser/resources/settings/controls:settings_toggle_button",
"//chrome/browser/resources/settings/prefs:prefs",
@@ -345,11 +311,9 @@
"//ui/webui/resources/js:i18n_behavior.m",
"//ui/webui/resources/js:load_time_data.m",
]
- extra_deps = [ ":cellular_roaming_toggle_button_module" ]
}

-js_library("esim_install_error_dialog.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/esim_install_error_dialog.m.js" ]
+js_library("esim_install_error_dialog") {
deps = [
"//third_party/polymer/v3_0/components-chromium/paper-spinner:paper-spinner-lite",
"//ui/webui/resources/cr_components/chromeos/cellular_setup:esim_manager_utils.m",
@@ -357,22 +321,18 @@
"//ui/webui/resources/cr_elements/cr_input:cr_input.m",
"//ui/webui/resources/js:i18n_behavior.m",
]
- extra_deps = [ ":esim_install_error_dialog_module" ]
}

-js_library("esim_rename_dialog.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/esim_rename_dialog.m.js" ]
+js_library("esim_rename_dialog") {
deps = [
"//ui/webui/resources/cr_components/chromeos/cellular_setup:esim_manager_utils.m",
"//ui/webui/resources/cr_elements/cr_dialog:cr_dialog.m",
"//ui/webui/resources/cr_elements/cr_input:cr_input.m",
"//ui/webui/resources/js:i18n_behavior.m",
]
- extra_deps = [ ":esim_rename_dialog_module" ]
}

-js_library("esim_remove_profile_dialog.m") {
- sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/esim_remove_profile_dialog.m.js" ]
+js_library("esim_remove_profile_dialog") {
deps = [
"//chrome/browser/resources/settings:router",
"//chrome/browser/resources/settings/chromeos:os_route.m",
@@ -382,198 +342,27 @@
"//ui/webui/resources/cr_elements/cr_input:cr_input.m",
"//ui/webui/resources/js:i18n_behavior.m",
]
- extra_deps = [ ":esim_remove_profile_dialog_module" ]
}

-group("polymer3_elements") {
- public_deps = [
- ":cellular_networks_list_module",
- ":cellular_roaming_toggle_button_module",
- ":cellular_setup_dialog_module",
- ":esim_install_error_dialog_module",
- ":esim_remove_profile_dialog_module",
- ":esim_rename_dialog_module",
- ":internet_config_module",
- ":internet_detail_menu_module",
- ":internet_detail_page_module",
- ":internet_known_networks_page_module",
- ":internet_page_module",
- ":internet_shared_css_module",
- ":internet_subpage_module",
- ":modulize",
- ":network_always_on_vpn_module",
- ":network_proxy_section_module",
- ":network_summary_item_module",
- ":network_summary_module",
- ":tether_connection_dialog_module",
+html_to_js("web_components") {
+ js_files = [
+ "cellular_networks_list.js",
+ "cellular_roaming_toggle_button.js",
+ "cellular_setup_dialog.js",
+ "esim_install_error_dialog.js",
+ "esim_remove_profile_dialog.js",
+ "esim_rename_dialog.js",
+ "internet_config.js",
+ "internet_detail_menu.js",
+ "internet_detail_page.js",
+ "internet_known_networks_page.js",
+ "internet_page.js",
+ "internet_shared_css.js",
+ "internet_subpage.js",
+ "network_always_on_vpn.js",
+ "network_proxy_section.js",
+ "network_summary_item.js",
+ "network_summary.js",
+ "tether_connection_dialog.js",
]
}
-
-polymer_modulizer("internet_config") {
- js_file = "internet_config.js"
- html_file = "internet_config.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("internet_detail_menu") {
- js_file = "internet_detail_menu.js"
- html_file = "internet_detail_menu.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("internet_detail_page") {
- js_file = "internet_detail_page.js"
- html_file = "internet_detail_page.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports + [ "chrome/browser/resources/settings/chromeos/internet_page/internet_page_browser_proxy.html|InternetPageBrowserProxy,InternetPageBrowserProxyImpl" ]
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("internet_known_networks_page") {
- js_file = "internet_known_networks_page.js"
- html_file = "internet_known_networks_page.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("internet_page") {
- js_file = "internet_page.js"
- html_file = "internet_page.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("internet_shared_css") {
- js_file = "internet_shared_css.m.js"
- html_file = "internet_shared_css.html"
- html_type = "style-module"
- migrated_imports = os_settings_migrated_imports
-}
-
-polymer_modulizer("internet_subpage") {
- js_file = "internet_subpage.js"
- html_file = "internet_subpage.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("network_always_on_vpn") {
- js_file = "network_always_on_vpn.js"
- html_file = "network_always_on_vpn.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("network_proxy_section") {
- js_file = "network_proxy_section.js"
- html_file = "network_proxy_section.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports + [ "chrome/browser/resources/settings/controls/settings_toggle_button.html|SettingsToggleButtonElement" ]
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("network_summary") {
- js_file = "network_summary.js"
- html_file = "network_summary.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("network_summary_item") {
- js_file = "network_summary_item.js"
- html_file = "network_summary_item.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("tether_connection_dialog") {
- js_file = "tether_connection_dialog.js"
- html_file = "tether_connection_dialog.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites =
- [ "cros_network_config.mojom.m.js|cros_network_config.mojom-lite.js" ]
-}
-
-polymer_modulizer("cellular_setup_dialog") {
- js_file = "cellular_setup_dialog.js"
- html_file = "cellular_setup_dialog.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("cellular_networks_list") {
- js_file = "cellular_networks_list.js"
- html_file = "cellular_networks_list.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("cellular_roaming_toggle_button") {
- js_file = "cellular_roaming_toggle_button.js"
- html_file = "cellular_roaming_toggle_button.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports + [ "chrome/browser/resources/settings/controls/settings_toggle_button.html|SettingsToggleButtonElement" ]
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("esim_install_error_dialog") {
- js_file = "esim_install_error_dialog.js"
- html_file = "esim_install_error_dialog.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("esim_rename_dialog") {
- js_file = "esim_rename_dialog.js"
- html_file = "esim_rename_dialog.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-polymer_modulizer("esim_remove_profile_dialog") {
- js_file = "esim_remove_profile_dialog.js"
- html_file = "esim_remove_profile_dialog.html"
- html_type = "dom-module"
- auto_imports = os_settings_auto_imports
- migrated_imports = os_settings_migrated_imports
- namespace_rewrites = os_settings_namespace_rewrites
-}
-
-js_modulizer("modulize") {
- input_files = [
- "internet_page_browser_proxy.js",
- "cellular_setup_settings_delegate.js",
- ]
- namespace_rewrites = os_settings_namespace_rewrites
-}
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/cellular_networks_list.html b/chrome/browser/resources/settings/chromeos/internet_page/cellular_networks_list.html
index 0ee0445..df33c50 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/cellular_networks_list.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/cellular_networks_list.html
@@ -1,240 +1,211 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="cr-shared-style os-settings-icons settings-shared iron-flex">
+ :host > div {
+ /* network-list is padded to the right to allow space for a ripple */
+ padding-inline-end: calc(var(--cr-section-padding) -
+ var(--cr-icon-ripple-padding));
+ padding-inline-start: var(--cr-section-padding);
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/mojo_interface_provider.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/esim_manager_listener_behavior.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/esim_manager_utils.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/cellular_eid_dialog.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/cellular_utils.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_list_types.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/mojo_interface_provider.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_icons_css.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/cellular_types.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
-<link rel="import" href="chrome://resources/html/assert.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
-<link rel="import" href="chrome://resources/cr_elements/shared_style_css.html">
-<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
-<link rel="import" href="../multidevice_page/multidevice_browser_proxy.html">
-<link rel="import" href="../multidevice_page/multidevice_constants.html">
-<link rel="import" href="../../chromeos/os_settings_icons_css.html">
-<link rel="import" href="esim_install_error_dialog.html">
+ .cellular-network-list-separator {
+ border-top: var(--cr-separator-line);
+ padding: 0;
+ }

-<dom-module id="cellular-networks-list">
- <template>
- <style include="cr-shared-style os-settings-icons settings-shared iron-flex">
- :host > div {
- /* network-list is padded to the right to allow space for a ripple */
- padding-inline-end: calc(var(--cr-section-padding) -
- var(--cr-icon-ripple-padding));
- padding-inline-start: var(--cr-section-padding);
- }
+ .cellular-network-list-header {
+ align-items: center;
+ display: flex;
+ height: 72px;
+ }

- .cellular-network-list-separator {
- border-top: var(--cr-separator-line);
- padding: 0;
- }
+ .esim-list-title {
+ align-self: center;
+ }

- .cellular-network-list-header {
- align-items: center;
- display: flex;
- height: 72px;
- }
+ .cellular-network-content {
+ margin-inline-start: 32px;
+ }

- .esim-list-title {
- align-self: center;
- }
+ .cellular-not-setup {
+ color: var(--google-grey-700);
+ font-size: small;
+ margin-bottom: 16px;
+ }

- .cellular-network-content {
- margin-inline-start: 32px;
- }
+ .flex {
+ display: flex;
+ }

- .cellular-not-setup {
- color: var(--google-grey-700);
- font-size: small;
- margin-bottom: 16px;
- }
+ .flex-column {
+ display: flex;
+ flex-direction: column;
+ }

- .flex {
- display: flex;
- }
+ #eidPopupButton {
+ --cr-icon-button-size: 18px;
+ cursor: pointer;
+ margin-inline-start: 4px;
+ }

- .flex-column {
- display: flex;
- flex-direction: column;
- }
+ :host-context([dir='rtl']) #addESimButton {
+ transform: scaleX(1);
+ }

- #eidPopupButton {
- --cr-icon-button-size: 18px;
- cursor: pointer;
- margin-inline-start: 4px;
- }
+ #alignEnd {
+ align-items: center;
+ display: flex;
+ margin-inline-end: 12px;
+ margin-inline-start: auto;
+ }

- :host-context([dir='rtl']) #addESimButton {
- transform: scaleX(1);
- }
+ #inhibitedSubtext {
+ color: var(--cr-secondary-text-color);
+ }

- #alignEnd {
- align-items: center;
- display: flex;
- margin-inline-end: 12px;
- margin-inline-start: auto;
- }
+ paper-spinner-lite {
+ height: 20px;
+ width: 20px;
+ }

- #inhibitedSubtext {
- color: var(--cr-secondary-text-color);
- }
-
- paper-spinner-lite {
- height: 20px;
- width: 20px;
- }
-
- .separator {
- margin-inline-end: 0;
- margin-inline-start: 24px;
- }
- </style>
- <template is="dom-if" if="[[shouldShowEsimSection_(euicc_,
- cellularDeviceState, cellularDeviceState.*)]]" restamp>
- <div class="cellular-network-list-separator"></div>
- <div class="cellular-network-list-header flex settings-box-text">
- <div class="flex-column">
- <div class="flex header-row">
- $i18n{cellularNetworkEsimLabel}
- </div>
- <div id="inhibitedSubtext" class="header-row secondary-box-text"
- hidden="[[!isDeviceInhibited_]]" aria-live="assertive">
- [[getInhibitedSubtextMessage_(isDeviceInhibited_)]]
- </div>
- </div>
- <div id="alignEnd">
- <template is="dom-if" if="[[canShowSpinner]]" restamp>
- <paper-spinner-lite id="inhibitedSpinner"
- active="[[isDeviceInhibited_]]">
- </paper-spinner-lite>
- </template>
- <template is="dom-if" if="[[showAddESimButton_(cellularDeviceState,
- globalPolicy)]]" restamp>
- <cr-icon-button class="icon-add-cellular add-button"
- aria-label="$i18n{internetAddCellular}" id="addESimButton"
- disabled="[[isDeviceInhibited_]]"
- on-click="onAddEsimButtonTap_">
- </cr-icon-button>
- <div class="separator"></div>
- </template>
- <cr-icon-button id="moreESim" class="icon-more-vert"
- title="$i18n{moreActions}"
- on-click="onESimDotsClick_">
- </cr-icon-button>
- <cr-lazy-render id="menu">
- <template>
- <cr-action-menu>
- <button class="dropdown-item"
- on-click="onShowEidDialogTap_"
- role="menuitem">
- $i18n{eidPopupMenuItemTitle}
- </button>
- </cr-action-menu>
- </template>
- </cr-lazy-render>
- <template is="dom-if" if="[[shouldShowEidDialog_]]" restamp>
- <cellular-eid-dialog class="eid-dialog"
- on-close="onCloseEidDialog_"
- euicc="[[euicc_]]">
- </cellular-eid-dialog>
- </template>
- </div>
+ .separator {
+ margin-inline-end: 0;
+ margin-inline-start: 24px;
+ }
+</style>
+<template is="dom-if" if="[[shouldShowEsimSection_(euicc_,
+ cellularDeviceState, cellularDeviceState.*)]]" restamp>
+ <div class="cellular-network-list-separator"></div>
+ <div class="cellular-network-list-header flex settings-box-text">
+ <div class="flex-column">
+ <div class="flex header-row">
+ $i18n{cellularNetworkEsimLabel}
+ </div>
+ <div id="inhibitedSubtext" class="header-row secondary-box-text"
+ hidden="[[!isDeviceInhibited_]]" aria-live="assertive">
+ [[getInhibitedSubtextMessage_(isDeviceInhibited_)]]
</div>
</div>
- <template is="dom-if" if="[[shouldShowNetworkSublist_(eSimNetworks_,
- eSimPendingProfileItems_)]]" restamp>
- <div class="cellular-network-content">
- <network-list id="esimNetworkList" show-buttons
- show-technology-badge="[[showTechnologyBadge]]"
- networks="[[eSimNetworks_]]"
- custom-items="[[eSimPendingProfileItems_]]"
- device-state="[[cellularDeviceState]]">
- </network-list>
- </div>
- </template>
- <template is="dom-if" if="[[!shouldShowNetworkSublist_(eSimNetworks_,
- eSimPendingProfileItems_)]]" restamp>
- <div id="eSimNoNetworkFound"
- class="cellular-network-content cellular-not-setup">
- <settings-localized-link
- link-disabled = "[[isDeviceInhibited_]]"
- on-link-clicked="onEsimLearnMoreClicked_"
- localized-string="$i18n{eSimNetworkNotSetup}">
- </settings-localized-link>
- </div>
- </template>
- </template>
- <template is="dom-if"
- if="[[shouldShowPSimSection_(cellularDeviceState,
- cellularDeviceState.*)]]" restamp>
- <div class="cellular-network-list-separator"></div>
- <div class="cellular-network-list-header settings-box-text">
- $i18n{cellularNetworkPsimLabel}
+ <div id="alignEnd">
+ <template is="dom-if" if="[[canShowSpinner]]" restamp>
+ <paper-spinner-lite id="inhibitedSpinner"
+ active="[[isDeviceInhibited_]]">
+ </paper-spinner-lite>
+ </template>
+ <template is="dom-if" if="[[showAddESimButton_(cellularDeviceState,
+ globalPolicy)]]" restamp>
+ <cr-icon-button class="icon-add-cellular add-button"
+ aria-label="$i18n{internetAddCellular}" id="addESimButton"
+ disabled="[[isDeviceInhibited_]]"
+ on-click="onAddEsimButtonTap_">
+ </cr-icon-button>
+ <div class="separator"></div>
+ </template>
+ <cr-icon-button id="moreESim" class="icon-more-vert"
+ title="$i18n{moreActions}"
+ on-click="onESimDotsClick_">
+ </cr-icon-button>
+ <cr-lazy-render id="menu">
+ <template>
+ <cr-action-menu>
+ <button class="dropdown-item"
+ on-click="onShowEidDialogTap_"
+ role="menuitem">
+ $i18n{eidPopupMenuItemTitle}
+ </button>
+ </cr-action-menu>
+ </template>
+ </cr-lazy-render>
+ <template is="dom-if" if="[[shouldShowEidDialog_]]" restamp>
+ <cellular-eid-dialog class="eid-dialog"
+ on-close="onCloseEidDialog_"
+ euicc="[[euicc_]]">
+ </cellular-eid-dialog>
+ </template>
</div>
- <template
- is="dom-if"
- if="[[shouldShowNetworkSublist_(pSimNetworks_)]]" restamp>
- <div class="cellular-network-content">
- <network-list
- id="psimNetworkList" show-buttons
- show-technology-badge="[[showTechnologyBadge]]"
- networks="[[pSimNetworks_]]"
- device-state="[[cellularDeviceState]]">
- </network-list>
- </div>
- </template>
- <template
- is="dom-if"
- if="[[!shouldShowNetworkSublist_(pSimNetworks_)]]" restamp>
- <div id="pSimNoNetworkFound"
- class="cellular-network-content cellular-not-setup">
- $i18n{pSimNotInsertedLabel}
- </div>
- </template>
- </template>
- <template is="dom-if"
- if="[[shouldShowTetherSection_(multiDevicePageContentData_)]]" restamp>
- <div class="cellular-network-list-separator"></div>
- <div class="cellular-network-list-header settings-box-text">
- $i18n{cellularNetworkTetherLabel}
- </div>
- <template is="dom-if"
- if="[[shouldShowNetworkSublist_(tetherNetworks_)]]" restamp>
- <div class="cellular-network-content">
- <network-list
- id="tetherNetworkList" show-buttons
- show-technology-badge="[[showTechnologyBadge]]"
- networks="[[tetherNetworks_]]"
- device-state="[[tetherDeviceState]]">
- </network-list>
- </div>
- </template>
- <template is="dom-if"
- if="[[!shouldShowNetworkSublist_(tetherNetworks_)]]" restamp>
- <div id="tetherNetworksNotSetup"
- class="cellular-network-content cellular-not-setup">
- <settings-localized-link
- localized-string="[[i18nAdvanced('tetherNetworkNotSetup')]]">
- </settings-localized-link>
- </div>
- </template>
- </template>
-
- <template is="dom-if" if="[[shouldShowInstallErrorDialog_]]" restamp>
- <esim-install-error-dialog id="installErrorDialog"
- on-close="onCloseInstallErrorDialog_"
- error-code="[[eSimProfileInstallError_]]"
- profile="[[installingESimProfile_]]">
- </esim-install-error-dialog>
- </template>
+ </div>
+ </div>
+ <template is="dom-if" if="[[shouldShowNetworkSublist_(eSimNetworks_,
+ eSimPendingProfileItems_)]]" restamp>
+ <div class="cellular-network-content">
+ <network-list id="esimNetworkList" show-buttons
+ show-technology-badge="[[showTechnologyBadge]]"
+ networks="[[eSimNetworks_]]"
+ custom-items="[[eSimPendingProfileItems_]]"
+ device-state="[[cellularDeviceState]]">
+ </network-list>
+ </div>
</template>
- <script src="cellular_networks_list.js"></script>
-</dom-module>
\ No newline at end of file
+ <template is="dom-if" if="[[!shouldShowNetworkSublist_(eSimNetworks_,
+ eSimPendingProfileItems_)]]" restamp>
+ <div id="eSimNoNetworkFound"
+ class="cellular-network-content cellular-not-setup">
+ <settings-localized-link
+ link-disabled = "[[isDeviceInhibited_]]"
+ on-link-clicked="onEsimLearnMoreClicked_"
+ localized-string="$i18n{eSimNetworkNotSetup}">
+ </settings-localized-link>
+ </div>
+ </template>
+</template>
+<template is="dom-if"
+ if="[[shouldShowPSimSection_(cellularDeviceState,
+ cellularDeviceState.*)]]" restamp>
+ <div class="cellular-network-list-separator"></div>
+ <div class="cellular-network-list-header settings-box-text">
+ $i18n{cellularNetworkPsimLabel}
+ </div>
+ <template
+ is="dom-if"
+ if="[[shouldShowNetworkSublist_(pSimNetworks_)]]" restamp>
+ <div class="cellular-network-content">
+ <network-list
+ id="psimNetworkList" show-buttons
+ show-technology-badge="[[showTechnologyBadge]]"
+ networks="[[pSimNetworks_]]"
+ device-state="[[cellularDeviceState]]">
+ </network-list>
+ </div>
+ </template>
+ <template
+ is="dom-if"
+ if="[[!shouldShowNetworkSublist_(pSimNetworks_)]]" restamp>
+ <div id="pSimNoNetworkFound"
+ class="cellular-network-content cellular-not-setup">
+ $i18n{pSimNotInsertedLabel}
+ </div>
+ </template>
+</template>
+<template is="dom-if"
+ if="[[shouldShowTetherSection_(multiDevicePageContentData_)]]" restamp>
+ <div class="cellular-network-list-separator"></div>
+ <div class="cellular-network-list-header settings-box-text">
+ $i18n{cellularNetworkTetherLabel}
+ </div>
+ <template is="dom-if"
+ if="[[shouldShowNetworkSublist_(tetherNetworks_)]]" restamp>
+ <div class="cellular-network-content">
+ <network-list
+ id="tetherNetworkList" show-buttons
+ show-technology-badge="[[showTechnologyBadge]]"
+ networks="[[tetherNetworks_]]"
+ device-state="[[tetherDeviceState]]">
+ </network-list>
+ </div>
+ </template>
+ <template is="dom-if"
+ if="[[!shouldShowNetworkSublist_(tetherNetworks_)]]" restamp>
+ <div id="tetherNetworksNotSetup"
+ class="cellular-network-content cellular-not-setup">
+ <settings-localized-link
+ localized-string="[[i18nAdvanced('tetherNetworkNotSetup')]]">
+ </settings-localized-link>
+ </div>
+ </template>
+</template>
+
+<template is="dom-if" if="[[shouldShowInstallErrorDialog_]]" restamp>
+ <esim-install-error-dialog id="installErrorDialog"
+ on-close="onCloseInstallErrorDialog_"
+ error-code="[[eSimProfileInstallError_]]"
+ profile="[[installingESimProfile_]]">
+ </esim-install-error-dialog>
+</template>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/cellular_networks_list.js b/chrome/browser/resources/settings/chromeos/internet_page/cellular_networks_list.js
index 37b36ea..ae2ec908 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/cellular_networks_list.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/cellular_networks_list.js
@@ -7,7 +7,33 @@
* states
*/

+import '//resources/cr_components/chromeos/cellular_setup/cellular_eid_dialog.m.js';
+import '//resources/cr_elements/cr_icon_button/cr_icon_button.m.js';
+import '//resources/cr_elements/cr_icons_css.m.js';
+import '//resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js';
+import '//resources/cr_elements/shared_style_css.m.js';
+import '//resources/cr_elements/shared_vars_css.m.js';
+import '../os_settings_icons_css.m.js';
+import './esim_install_error_dialog.js';
+
+import {Button, ButtonBarState, ButtonState, CellularSetupPageName} from '//resources/cr_components/chromeos/cellular_setup/cellular_types.m.js';
+import {ESimManagerListenerBehavior} from '//resources/cr_components/chromeos/cellular_setup/esim_manager_listener_behavior.m.js';
+import {getESimProfile, getESimProfileProperties, getEuicc, getNonPendingESimProfiles, getNumESimProfiles, getPendingESimProfiles} from '//resources/cr_components/chromeos/cellular_setup/esim_manager_utils.m.js';
+import {getCellularSetupRemote, getESimManagerRemote, observeESimManager, setCellularSetupRemoteForTesting, setESimManagerRemoteForTesting} from '//resources/cr_components/chromeos/cellular_setup/mojo_interface_provider.m.js';
+import {getSimSlotCount, hasActiveCellularNetwork, isActiveSim, isConnectedToNonCellularNetwork} from '//resources/cr_components/chromeos/network/cellular_utils.m.js';
+import {MojoInterfaceProvider, MojoInterfaceProviderImpl} from '//resources/cr_components/chromeos/network/mojo_interface_provider.m.js';
+import {NetworkList} from '//resources/cr_components/chromeos/network/network_list_types.m.js';
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import {assert, assertNotReached} from '//resources/js/assert.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {WebUIListenerBehavior} from '//resources/js/web_ui_listener_behavior.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {MultiDeviceBrowserProxy, MultiDeviceBrowserProxyImpl} from '../multidevice_page/multidevice_browser_proxy.m.js';
+import {MultiDeviceFeature, MultiDeviceFeatureState, MultiDevicePageContentData, MultiDeviceSettingsMode, PhoneHubNotificationAccessStatus, SmartLockSignInEnabledState} from '../multidevice_page/multidevice_constants.m.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'cellular-networks-list',

behaviors: [
@@ -168,7 +194,7 @@
/**
* Multi-device page data used to determine if the tether section should be
* shown or not.
- * @type {?settings.MultiDevicePageContentData}
+ * @type {?MultiDevicePageContentData}
* @private
*/
multiDevicePageContentData_: {
@@ -193,8 +219,8 @@

/** @override */
created() {
- this.networkConfig_ = network_config.MojoInterfaceProviderImpl.getInstance()
- .getMojoServiceRemote();
+ this.networkConfig_ =
+ MojoInterfaceProviderImpl.getInstance().getMojoServiceRemote();
this.fetchESimPendingProfileList_();
},

@@ -204,7 +230,7 @@
'settings.updateMultidevicePageContentData',
this.onMultiDevicePageContentDataChanged_.bind(this));

- const browserProxy = settings.MultiDeviceBrowserProxyImpl.getInstance();
+ const browserProxy = MultiDeviceBrowserProxyImpl.getInstance();
browserProxy.getPageContentData().then(
this.onMultiDevicePageContentDataChanged_.bind(this));
},
@@ -246,7 +272,7 @@

/** @private */
fetchESimPendingProfileList_() {
- cellular_setup.getEuicc().then(euicc => {
+ getEuicc().then(euicc => {
if (!euicc) {
return;
}
@@ -276,7 +302,7 @@
* @private
*/
fetchESimPendingProfileListForEuicc_(euicc) {
- cellular_setup.getPendingESimProfiles(euicc).then(
+ getPendingESimProfiles(euicc).then(
this.processESimPendingProfiles_.bind(this));
},

@@ -376,7 +402,7 @@
},

/**
- * @param {!settings.MultiDevicePageContentData} newData
+ * @param {!MultiDevicePageContentData} newData
* @private
*/
onMultiDevicePageContentDataChanged_(newData) {
@@ -384,7 +410,7 @@
},

/**
- * @param {?settings.MultiDevicePageContentData} pageContentData
+ * @param {?MultiDevicePageContentData} pageContentData
* @returns {boolean}
* @private
*/
@@ -393,7 +419,7 @@
return false;
}
return pageContentData.instantTetheringState ===
- settings.MultiDeviceFeatureState.ENABLED_BY_USER;
+ MultiDeviceFeatureState.ENABLED_BY_USER;
},

/**
@@ -405,8 +431,7 @@
event.stopPropagation();

this.fire(
- 'show-cellular-setup',
- {pageName: cellularSetup.CellularSetupPageName.ESIM_FLOW_UI});
+ 'show-cellular-setup', {pageName: CellularSetupPageName.ESIM_FLOW_UI});
},

/**
@@ -502,8 +527,7 @@
/** @private */
onAddEsimButtonTap_() {
this.fire(
- 'show-cellular-setup',
- {pageName: cellularSetup.CellularSetupPageName.ESIM_FLOW_UI});
+ 'show-cellular-setup', {pageName: CellularSetupPageName.ESIM_FLOW_UI});
},

/*
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/cellular_roaming_toggle_button.html b/chrome/browser/resources/settings/chromeos/internet_page/cellular_roaming_toggle_button.html
index 6fda07d..14bafbb 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/cellular_roaming_toggle_button.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/cellular_roaming_toggle_button.html
@@ -1,23 +1,10 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
-
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="chrome://resources/html/load_time_data.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="../../controls/settings_toggle_button.html">
-<link rel="import" href="../../prefs/prefs.html">
-
-<dom-module id="cellular-roaming-toggle-button">
- <template>
- <!-- TODO(crbug/1220691): Remove when allowPerNetworkRoaming flag
- launches -->
- <template is="dom-if" if="[[!allowPerNetworkRoaming_]]">
- <settings-toggle-button id="cellularRoamingToggle" class="hr"
- disabled="[[disabled]]"
- label="$i18n{networkAllowDataRoaming}"
- sub-label="[[getRoamingDetails_(managedProperties)]]"
- pref="{{prefs.cros.signed.data_roaming_enabled}}">
- </settings-toggle-button>
- </template>
- </template>
- <script src="cellular_roaming_toggle_button.js"></script>
-</dom-module>
+<!-- TODO(crbug/1220691): Remove when allowPerNetworkRoaming flag
+ launches -->
+<template is="dom-if" if="[[!allowPerNetworkRoaming_]]">
+ <settings-toggle-button id="cellularRoamingToggle" class="hr"
+ disabled="[[disabled]]"
+ label="$i18n{networkAllowDataRoaming}"
+ sub-label="[[getRoamingDetails_(managedProperties)]]"
+ pref="{{prefs.cros.signed.data_roaming_enabled}}">
+ </settings-toggle-button>
+</template>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/cellular_roaming_toggle_button.js b/chrome/browser/resources/settings/chromeos/internet_page/cellular_roaming_toggle_button.js
index 49e48a2..b4a01005 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/cellular_roaming_toggle_button.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/cellular_roaming_toggle_button.js
@@ -9,7 +9,17 @@
* the transition to a more granular approach to roaming configuration.
*/

+import '../../prefs/prefs.js';
+
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {loadTimeData} from '//resources/js/load_time_data.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {SettingsToggleButtonElement} from '../../controls/settings_toggle_button.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'cellular-roaming-toggle-button',

behaviors: [
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.html b/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.html
index 68d73dc..7269dbe 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.html
@@ -1,74 +1,58 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="settings-shared">
+ @media (min-width: 640px){
+ :host {
+ --cr-dialog-width: 512px;
+ }
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/cellular_setup.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/cellular_setup_delegate.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/cellular_types.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
-<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="../../settings_shared_css.html">
-<link rel="import" href="cellular_setup_settings_delegate.html">
+ @media (max-width: 640px){
+ :host {
+ --cr-dialog-width: 320px;
+ }
+ }

-<dom-module id="os-settings-cellular-setup-dialog">
- <template>
- <style include="settings-shared">
- @media (min-width: 640px){
- :host {
- --cr-dialog-width: 512px;
- }
- }
+ :host {
+ --cr-dialog-body-padding-horizontal: 24px;
+ --cr-dialog-title-slot-padding-bottom: 0;
+ --cr-dialog-title-slot-padding-end: 0;
+ --cr-dialog-title-slot-padding-start: 0;
+ --cr-dialog-title-slot-padding-top: 0;
+ }

- @media (max-width: 640px){
- :host {
- --cr-dialog-width: 320px;
- }
- }
+ #header {
+ padding-bottom: 8px;
+ padding-inline-end: 24px;
+ padding-inline-start: 24px;
+ padding-top: 24px;
+ }

- :host {
- --cr-dialog-body-padding-horizontal: 24px;
- --cr-dialog-title-slot-padding-bottom: 0;
- --cr-dialog-title-slot-padding-end: 0;
- --cr-dialog-title-slot-padding-start: 0;
- --cr-dialog-title-slot-padding-top: 0;
- }
+ #title {
+ align-items: center;
+ background-color: var(--google-grey-200);
+ display: flex;
+ font-size: x-small;
+ height: 32px;
+ justify-content: center;
+ }

- #header {
- padding-bottom: 8px;
- padding-inline-end: 24px;
- padding-inline-start: 24px;
- padding-top: 24px;
- }
-
- #title {
- align-items: center;
- background-color: var(--google-grey-200);
- display: flex;
- font-size: x-small;
- height: 32px;
- justify-content: center;
- }
-
- </style>
- <!-- TODO(crbug/1093185): Change close logic when CellularSetup embedded -->
- <cr-dialog id="dialog">
- <div slot="title">
- <template is="dom-if"
- if="[[shouldShowDialogTitle_(dialogTitle_)]]" restamp>
- <div id="title">
- [[dialogTitle_]]
- </div>
- </template>
- <div id="header">[[getDialogHeader_(dialogHeader_)]]</div>
+</style>
+<!-- TODO(crbug/1093185): Change close logic when CellularSetup embedded -->
+<cr-dialog id="dialog">
+ <div slot="title">
+ <template is="dom-if"
+ if="[[shouldShowDialogTitle_(dialogTitle_)]]" restamp>
+ <div id="title">
+ [[dialogTitle_]]
</div>
- <div slot="body">
- <cellular-setup
- flow-title="{{dialogTitle_}}"
- flow-header="{{dialogHeader_}}"
- delegate="[[delegate_]]"
- current-page-name="[[pageName]]">
- </cellular-setup>
- </div>
- </cr-dialog>
- </template>
- <script src="cellular_setup_dialog.js"></script>
-</dom-module>
+ </template>
+ <div id="header">[[getDialogHeader_(dialogHeader_)]]</div>
+ </div>
+ <div slot="body">
+ <cellular-setup
+ flow-title="{{dialogTitle_}}"
+ flow-header="{{dialogHeader_}}"
+ delegate="[[delegate_]]"
+ current-page-name="[[pageName]]">
+ </cellular-setup>
+ </div>
+</cr-dialog>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.js b/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.js
index 24820a8..ea0c80a 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.js
@@ -6,7 +6,20 @@
* @fileoverview 'os-settings-cellular-setup-dialog' embeds the <cellular-setup>
* that is shared with OOBE in a dialog with OS Settings stylizations.
*/
+import '//resources/cr_components/chromeos/cellular_setup/cellular_setup.m.js';
+import '//resources/cr_elements/cr_dialog/cr_dialog.m.js';
+import '//resources/cr_elements/shared_vars_css.m.js';
+import '../../settings_shared_css.js';
+
+import {CellularSetupDelegate} from '//resources/cr_components/chromeos/cellular_setup/cellular_setup_delegate.m.js';
+import {Button, ButtonBarState, ButtonState, CellularSetupPageName} from '//resources/cr_components/chromeos/cellular_setup/cellular_types.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {CellularSetupSettingsDelegate} from './cellular_setup_settings_delegate.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'os-settings-cellular-setup-dialog',

behaviors: [I18nBehavior],
@@ -15,12 +28,12 @@

/**
* Name of cellular dialog page to be selected.
- * @type {!cellularSetup.CellularSetupPageName}
+ * @type {!CellularSetupPageName}
*/
pageName: String,

/**
- * @private {!cellular_setup.CellularSetupDelegate}
+ * @private {!CellularSetupDelegate}
*/
delegate_: Object,

@@ -37,7 +50,7 @@

/** @override */
created() {
- this.delegate_ = new settings.CellularSetupSettingsDelegate();
+ this.delegate_ = new CellularSetupSettingsDelegate();
},

listeners: {
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_settings_delegate.js b/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_settings_delegate.js
index a818db0..631b319 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_settings_delegate.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_settings_delegate.js
@@ -3,25 +3,18 @@
// found in the LICENSE file.

// clang-format off
-// #import {CellularSetupDelegate} from 'chrome://resources/cr_components/chromeos/cellular_setup/cellular_setup_delegate.m.js';
+import {CellularSetupDelegate} from 'chrome://resources/cr_components/chromeos/cellular_setup/cellular_setup_delegate.m.js';
// clang-format on

-cr.define('settings', function() {
- /** @implements {cellular_setup.CellularSetupDelegate} */
- /* #export */ class CellularSetupSettingsDelegate {
- /** @override */
- shouldShowPageTitle() {
- return false;
- }
-
- /** @override */
- shouldShowCancelButton() {
- return true;
- }
+/** @implements {CellularSetupDelegate} */
+export class CellularSetupSettingsDelegate {
+ /** @override */
+ shouldShowPageTitle() {
+ return false;
}

- // #cr_define_end
- return {
- CellularSetupSettingsDelegate: CellularSetupSettingsDelegate,
- };
-});
+ /** @override */
+ shouldShowCancelButton() {
+ return true;
+ }
+}
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/esim_install_error_dialog.html b/chrome/browser/resources/settings/chromeos/internet_page/esim_install_error_dialog.html
index 899ca9f..e94fd47 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/esim_install_error_dialog.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/esim_install_error_dialog.html
@@ -1,76 +1,63 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="iron-flex iron-positioning">
+ :host {
+ --cr-dialog-width: 372px;
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/esim_manager_utils.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_input/cr_input.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
+ paper-spinner-lite {
+ height: 20px;
+ position: absolute;
+ right: 16px;
+ top: 6px;
+ width: 20px;
+ }

-<dom-module id="esim-install-error-dialog">
- <template>
- <style include="iron-flex iron-positioning">
- :host {
- --cr-dialog-width: 372px;
- }
+ #confirmationCodeMessage {
+ margin-bottom: 30px;
+ }

- paper-spinner-lite {
- height: 20px;
- position: absolute;
- right: 16px;
- top: 6px;
- width: 20px;
- }
-
- #confirmationCodeMessage {
- margin-bottom: 30px;
- }
-
- #cancel {
- margin-inline-end: 8px;
- }
- </style>
- <cr-dialog id="installErrorDialog" show-on-attach>
- <div slot="title">$i18n{eSimInstallErrorDialogTitle}</div>
- <div slot="body">
- <div id="genericErrorContainer"
- hidden$="[[isConfirmationCodeError_(errorCode)]]">
- $i18n{eSimInstallErrorDialogGenericErrorMessage}
+ #cancel {
+ margin-inline-end: 8px;
+ }
+</style>
+<cr-dialog id="installErrorDialog" show-on-attach>
+ <div slot="title">$i18n{eSimInstallErrorDialogTitle}</div>
+ <div slot="body">
+ <div id="genericErrorContainer"
+ hidden$="[[isConfirmationCodeError_(errorCode)]]">
+ $i18n{eSimInstallErrorDialogGenericErrorMessage}
+ </div>
+ <template is="dom-if" if="[[isConfirmationCodeError_(errorCode)]]" restamp>
+ <div id="confirmationCodeErrorContainer">
+ <div id="confirmationCodeMessage">
+ $i18n{eSimInstallErrorDialogConfirmationCodeMessage}
</div>
- <template is="dom-if" if="[[isConfirmationCodeError_(errorCode)]]" restamp>
- <div id="confirmationCodeErrorContainer">
- <div id="confirmationCodeMessage">
- $i18n{eSimInstallErrorDialogConfirmationCodeMessage}
- </div>
- <div class="relative">
- <cr-input id="confirmationCode"
- value="{{confirmationCode_}}"
- spellcheck="false"
- disabled="[[isInstallInProgress_]]"
- error-message="$i18n{eSimInstallErrorDialogConfirmationCodeError}"
- invalid="[[isConfirmationCodeInvalid_]]">
- </cr-input>
- <paper-spinner-lite active
- hidden$="[[!isInstallInProgress_]]">
- </paper-spinner-lite>
- </div>
- </div>
- </template>
+ <div class="relative">
+ <cr-input id="confirmationCode"
+ value="{{confirmationCode_}}"
+ spellcheck="false"
+ disabled="[[isInstallInProgress_]]"
+ error-message="$i18n{eSimInstallErrorDialogConfirmationCodeError}"
+ invalid="[[isConfirmationCodeInvalid_]]">
+ </cr-input>
+ <paper-spinner-lite active
+ hidden$="[[!isInstallInProgress_]]">
+ </paper-spinner-lite>
+ </div>
</div>
- <div slot="button-container">
- <cr-button id="cancel"
- on-click="onCancelClicked_"
- class="cancel-button"
- hidden$="[[!isConfirmationCodeError_(errorCode)]]">
- $i18n{eSimRenameProfileDialogCancel}
- </cr-button>
- <cr-button id="done"
- on-click="onDoneClicked_"
- disabled="[[isDoneButtonDisabled_(errorCode, confirmationCode_, isInstallInProgress_)]]"
- class="action-button">
- $i18n{eSimRenameProfileDialogDone}
- </cr-button>
- </div>
- </cr-dialog>
- </template>
- <script src="esim_install_error_dialog.js"></script>
-</dom-module>
\ No newline at end of file
+ </template>
+ </div>
+ <div slot="button-container">
+ <cr-button id="cancel"
+ on-click="onCancelClicked_"
+ class="cancel-button"
+ hidden$="[[!isConfirmationCodeError_(errorCode)]]">
+ $i18n{eSimRenameProfileDialogCancel}
+ </cr-button>
+ <cr-button id="done"
+ on-click="onDoneClicked_"
+ disabled="[[isDoneButtonDisabled_(errorCode, confirmationCode_, isInstallInProgress_)]]"
+ class="action-button">
+ $i18n{eSimRenameProfileDialogDone}
+ </cr-button>
+ </div>
+</cr-dialog>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/esim_install_error_dialog.js b/chrome/browser/resources/settings/chromeos/internet_page/esim_install_error_dialog.js
index 88a3b53..6a1d6d7 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/esim_install_error_dialog.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/esim_install_error_dialog.js
@@ -7,7 +7,16 @@
* profile, such as requiring a confirmation code.
*/

+import '//resources/cr_elements/cr_dialog/cr_dialog.m.js';
+import '//resources/cr_elements/cr_input/cr_input.m.js';
+import '//resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js';
+
+import {getESimProfile, getESimProfileProperties, getEuicc, getNonPendingESimProfiles, getNumESimProfiles, getPendingESimProfiles} from '//resources/cr_components/chromeos/cellular_setup/esim_manager_utils.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'esim-install-error-dialog',

behaviors: [
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/esim_remove_profile_dialog.html b/chrome/browser/resources/settings/chromeos/internet_page/esim_remove_profile_dialog.html
index 4418b0d..27371a2 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/esim_remove_profile_dialog.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/esim_remove_profile_dialog.html
@@ -1,81 +1,65 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style>
+ :host {
+ --cr-dialog-width: 416px;
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/cellular_setup_icons.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/esim_manager_utils.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_input/cr_input.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="../../router.html">
-<link rel="import" href="../os_route.html">
+ #title {
+ height: 15px;
+ }

-<dom-module id="esim-remove-profile-dialog">
- <template>
- <style>
- :host {
- --cr-dialog-width: 416px;
- }
+ #warningMessage {
+ --iron-icon-fill-color: var(--google-grey-600);
+ --iron-icon-height: 16px;
+ --iron-icon-width: 16px;
+ font-size: smaller;
+ margin-top: 20px;
+ }

- #title {
- height: 15px;
- }
+ #warningMessage iron-icon {
+ float: left;
+ padding-inline-end: 4px;
+ }

- #warningMessage {
- --iron-icon-fill-color: var(--google-grey-600);
- --iron-icon-height: 16px;
- --iron-icon-width: 16px;
- font-size: smaller;
- margin-top: 20px;
- }
+ :host-context([dir='rtl']) #warningMessage iron-icon {
+ float: right;
+ }

- #warningMessage iron-icon {
- float: left;
- padding-inline-end: 4px;
- }
+ #warningMessage div {
+ overflow: hidden;
+ }

- :host-context([dir='rtl']) #warningMessage iron-icon {
- float: right;
- }
+ #cancel {
+ margin-inline-end: 8px;
+ }

- #warningMessage div {
- overflow: hidden;
- }
-
- #cancel {
- margin-inline-end: 8px;
- }
-
- #cancel:focus {
- box-shadow: 0 0 0 2px var(--focus-shadow-color);
- }
- </style>
- <cr-dialog id="dialog" show-on-attach>
- <div id="title" slot="title">
- [[getTitleString_(esimProfileName_)]]
- </div>
- <div slot="body">
- <div id="description">$i18n{eSimRemoveProfileDialogDescription}</div>
- <div id="warningMessage" hidden$="[[!showCellularDisconnectWarning]]">
- <iron-icon icon="cr:info-outline"></iron-icon>
- <div>$i18n{eSimDialogConnectionWarning}</div>
- </div>
- </div>
- <div slot="button-container">
- <cr-button id="cancel"
- aria-label="[[getCancelBtnA11yLabel_(esimProfileName_)]]"
- on-click="onCancelTap_"
- class="cancel-button">
- $i18n{eSimRemoveProfileDialogCancel}
- </cr-button>
- <cr-button id="remove"
- aria-label$="[[getRemoveBtnA11yLabel_(esimProfileName_)]]"
- aria-describedby="description warningMessage"
- on-click="onRemoveProfileTap_"
- class="action-button">
- $i18n{eSimRemoveProfileDialogRemove}
- </cr-button>
- </div>
- </cr-dialog>
- </template>
- <script src="esim_remove_profile_dialog.js"></script>
-</dom-module>
\ No newline at end of file
+ #cancel:focus {
+ box-shadow: 0 0 0 2px var(--focus-shadow-color);
+ }
+</style>
+<cr-dialog id="dialog" show-on-attach>
+ <div id="title" slot="title">
+ [[getTitleString_(esimProfileName_)]]
+ </div>
+ <div slot="body">
+ <div id="description">$i18n{eSimRemoveProfileDialogDescription}</div>
+ <div id="warningMessage" hidden$="[[!showCellularDisconnectWarning]]">
+ <iron-icon icon="cr:info-outline"></iron-icon>
+ <div>$i18n{eSimDialogConnectionWarning}</div>
+ </div>
+ </div>
+ <div slot="button-container">
+ <cr-button id="cancel"
+ aria-label="[[getCancelBtnA11yLabel_(esimProfileName_)]]"
+ on-click="onCancelTap_"
+ class="cancel-button">
+ $i18n{eSimRemoveProfileDialogCancel}
+ </cr-button>
+ <cr-button id="remove"
+ aria-label$="[[getRemoveBtnA11yLabel_(esimProfileName_)]]"
+ aria-describedby="description warningMessage"
+ on-click="onRemoveProfileTap_"
+ class="action-button">
+ $i18n{eSimRemoveProfileDialogRemove}
+ </cr-button>
+ </div>
+</cr-dialog>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/esim_remove_profile_dialog.js b/chrome/browser/resources/settings/chromeos/internet_page/esim_remove_profile_dialog.js
index 8a2ded6..445f11c 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/esim_remove_profile_dialog.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/esim_remove_profile_dialog.js
@@ -6,7 +6,20 @@
* @fileoverview Polymer element to remove eSIM profile
*/

+import '//resources/cr_components/chromeos/cellular_setup/cellular_setup_icons.m.js';
+import '//resources/cr_elements/cr_dialog/cr_dialog.m.js';
+import '//resources/cr_elements/cr_input/cr_input.m.js';
+
+import {getESimProfile, getESimProfileProperties, getEuicc, getNonPendingESimProfiles, getNumESimProfiles, getPendingESimProfiles} from '//resources/cr_components/chromeos/cellular_setup/esim_manager_utils.m.js';
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {Route, RouteObserverBehavior, Router} from '../../router.js';
+import {routes} from '../os_route.m.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'esim-remove-profile-dialog',

behaviors: [
@@ -48,8 +61,8 @@
chromeos.networkConfig.mojom.NetworkType.kCellular)) {
return;
}
- this.esimProfileRemote_ = await cellular_setup.getESimProfile(
- this.networkState.typeState.cellular.iccid);
+ this.esimProfileRemote_ =
+ await getESimProfile(this.networkState.typeState.cellular.iccid);
// Fail gracefully if init is incomplete, see crbug/1194729.
if (!this.esimProfileRemote_) {
this.fire('show-error-toast', this.i18n('eSimRemoveProfileDialogError'));
@@ -99,8 +112,8 @@
'type',
OncMojo.getNetworkTypeString(
chromeos.networkConfig.mojom.NetworkType.kCellular));
- settings.Router.getInstance().setCurrentRoute(
- settings.routes.INTERNET_NETWORKS, params, /*isPopState=*/ true);
+ Router.getInstance().setCurrentRoute(
+ routes.INTERNET_NETWORKS, params, /*isPopState=*/ true);
},

/**
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/esim_rename_dialog.html b/chrome/browser/resources/settings/chromeos/internet_page/esim_rename_dialog.html
index aba954d..bc195df 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/esim_rename_dialog.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/esim_rename_dialog.html
@@ -1,145 +1,131 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="iron-positioning">
+ :host {
+ --cr-dialog-width: 416px;
+ --cr-dialog-title-slot-padding-bottom: 10px;
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/cellular_setup_icons.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/esim_manager_utils.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_input/cr_input.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
+ #body {
+ overflow: hidden;
+ padding: 0 20px 2px 20px;
+ }

-<dom-module id="esim-rename-dialog">
- <template>
- <style include="iron-positioning">
- :host {
- --cr-dialog-width: 416px;
- --cr-dialog-title-slot-padding-bottom: 10px;
- }
+ #warningMessage {
+ --iron-icon-fill-color: var(--google-grey-600);
+ --iron-icon-height: 16px;
+ --iron-icon-width: 16px;
+ font-size: smaller;
+ padding-bottom: 12px;
+ }

- #body {
- overflow: hidden;
- padding: 0 20px 2px 20px;
- }
+ #warningMessage iron-icon {
+ float: left;
+ padding-inline-end: 4px;
+ }

- #warningMessage {
- --iron-icon-fill-color: var(--google-grey-600);
- --iron-icon-height: 16px;
- --iron-icon-width: 16px;
- font-size: smaller;
- padding-bottom: 12px;
- }
+ :host-context([dir='rtl']) #warningMessage iron-icon {
+ float: right;
+ }

- #warningMessage iron-icon {
- float: left;
- padding-inline-end: 4px;
- }
+ #warningMessage div {
+ overflow: hidden;
+ }

- :host-context([dir='rtl']) #warningMessage iron-icon {
- float: right;
- }
+ #inputContainer {
+ margin-top: 12px;
+ }

- #warningMessage div {
- overflow: hidden;
- }
+ #inputInfo {
+ background-color: white;
+ color: var(--google-grey-700);
+ font-size: var(--cr-form-field-label-font-size);
+ font-weight: 400;
+ height: 30px;
+ line-height: var(--cr-form-field-label-line-height);
+ padding-top: 8px;
+ position: absolute;
+ top: 50px;
+ width: 100%;
+ }

- #inputContainer {
- margin-top: 12px;
- }
+ #inputInfo.error {
+ color: var(--google-red-600);
+ }

- #inputInfo {
- background-color: white;
- color: var(--google-grey-700);
- font-size: var(--cr-form-field-label-font-size);
- font-weight: 400;
- height: 30px;
- line-height: var(--cr-form-field-label-line-height);
- padding-top: 8px;
- position: absolute;
- top: 50px;
- width: 100%;
- }
+ #inputSubtitle {
+ display: block;
+ width: 260px;
+ }

- #inputInfo.error {
- color: var(--google-red-600);
- }
+ #inputCount {
+ position: absolute;
+ right: 0;
+ top: 8px;
+ }

- #inputSubtitle {
- display: block;
- width: 260px;
- }
+ :host-context([dir='rtl']) #inputCount {
+ left: 0;
+ right: auto;
+ }

- #inputCount {
- position: absolute;
- right: 0;
- top: 8px;
- }
-
- :host-context([dir='rtl']) #inputCount {
- left: 0;
- right: auto;
- }
-
- #cancel {
- margin-inline-end: 8px;
- }
- </style>
- <cr-dialog id="profileRenameDialog" show-on-attach>
- <div slot="title">$i18n{eSimRenameProfileDialogLabel}</div>
- <div id="body" slot="body">
- <div id="warningMessage" hidden$="[[!showCellularDisconnectWarning]]">
- <iron-icon icon="cr:info-outline"></iron-icon>
- <div>$i18n{eSimDialogConnectionWarning}</div>
- </div>
- <template is="dom-if" if="[[!errorMessage_]]" restamp>
- <div id="inputContainer" class="relative">
- <!-- Set error-message so then it is read out by ChromeVox
- when cr-input is invalid. Since we already display the error
- message in #inputInfo, this is visually hidden by #inputInfo. -->
- <cr-input id="eSimprofileName"
- value="{{esimProfileName_}}"
- spellcheck="false"
- disabled="[[isRenameInProgress_]]"
- invalid="[[isInputInvalid_]]"
- label="$i18n{eSimRenameProfileInputTitle}"
- aria-label="[[i18n('eSimRenameProfileDialogLabel')]]"
- aria-description="[[i18n('eSimRenameProfileInputA11yLabel',
- MAX_INPUT_LENGTH)]]"
- error-message="[[i18n('eSimRenameProfileInputA11yLabel',
- MAX_INPUT_LENGTH)]]">
- </cr-input>
- <div id="inputInfo"
- class$="[[getInputInfoClass_(isInputInvalid_)]]"
- aria-hidden="true">
- <span id="inputSubtitle">$i18n{eSimRenameProfileInputSubtitle}</span>
- <span id="inputCount">
- [[getInputCountString_(esimProfileName_)]]
- </span>
- </div>
- </div>
- </template>
- <div id="errorMessage" aria-live="polite" hidden$="[[!errorMessage_]]">
- [[errorMessage_]]
+ #cancel {
+ margin-inline-end: 8px;
+ }
+</style>
+<cr-dialog id="profileRenameDialog" show-on-attach>
+ <div slot="title">$i18n{eSimRenameProfileDialogLabel}</div>
+ <div id="body" slot="body">
+ <div id="warningMessage" hidden$="[[!showCellularDisconnectWarning]]">
+ <iron-icon icon="cr:info-outline"></iron-icon>
+ <div>$i18n{eSimDialogConnectionWarning}</div>
+ </div>
+ <template is="dom-if" if="[[!errorMessage_]]" restamp>
+ <div id="inputContainer" class="relative">
+ <!-- Set error-message so then it is read out by ChromeVox
+ when cr-input is invalid. Since we already display the error
+ message in #inputInfo, this is visually hidden by #inputInfo. -->
+ <cr-input id="eSimprofileName"
+ value="{{esimProfileName_}}"
+ spellcheck="false"
+ disabled="[[isRenameInProgress_]]"
+ invalid="[[isInputInvalid_]]"
+ label="$i18n{eSimRenameProfileInputTitle}"
+ aria-label="[[i18n('eSimRenameProfileDialogLabel')]]"
+ aria-description="[[i18n('eSimRenameProfileInputA11yLabel',
+ MAX_INPUT_LENGTH)]]"
+ error-message="[[i18n('eSimRenameProfileInputA11yLabel',
+ MAX_INPUT_LENGTH)]]">
+ </cr-input>
+ <div id="inputInfo"
+ class$="[[getInputInfoClass_(isInputInvalid_)]]"
+ aria-hidden="true">
+ <span id="inputSubtitle">$i18n{eSimRenameProfileInputSubtitle}</span>
+ <span id="inputCount">
+ [[getInputCountString_(esimProfileName_)]]
+ </span>
</div>
</div>
- <div slot="button-container">
- <template is="dom-if" if="[[!errorMessage_]]" restamp>
- <cr-button id="cancel"
- on-click="onCancelTap_"
- disabled="[[isRenameInProgress_]]"
- class="cancel-button">
- $i18n{eSimRenameProfileDialogCancel}
- </cr-button>
- </template>
- <cr-button id="done"
- on-click="onRenameDialogDoneTap_"
- disabled="[[isDoneButtonDisabled_(isRenameInProgress_,
- esimProfileName_)]]"
- aria-label$="[[getDoneBtnA11yLabel_(esimProfileName_)]]"
- aria-describedby="warningMessage"
- class="action-button">
- $i18n{eSimRenameProfileDialogDone}
- </cr-button>
- </div>
- </cr-dialog>
- </template>
- <script src="esim_rename_dialog.js"></script>
-</dom-module>
\ No newline at end of file
+ </template>
+ <div id="errorMessage" aria-live="polite" hidden$="[[!errorMessage_]]">
+ [[errorMessage_]]
+ </div>
+ </div>
+ <div slot="button-container">
+ <template is="dom-if" if="[[!errorMessage_]]" restamp>
+ <cr-button id="cancel"
+ on-click="onCancelTap_"
+ disabled="[[isRenameInProgress_]]"
+ class="cancel-button">
+ $i18n{eSimRenameProfileDialogCancel}
+ </cr-button>
+ </template>
+ <cr-button id="done"
+ on-click="onRenameDialogDoneTap_"
+ disabled="[[isDoneButtonDisabled_(isRenameInProgress_,
+ esimProfileName_)]]"
+ aria-label$="[[getDoneBtnA11yLabel_(esimProfileName_)]]"
+ aria-describedby="warningMessage"
+ class="action-button">
+ $i18n{eSimRenameProfileDialogDone}
+ </cr-button>
+ </div>
+</cr-dialog>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/esim_rename_dialog.js b/chrome/browser/resources/settings/chromeos/internet_page/esim_rename_dialog.js
index d3305da..dcd1422 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/esim_rename_dialog.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/esim_rename_dialog.js
@@ -16,7 +16,17 @@
* @fileoverview Polymer element to rename eSIM profile name
*/

+import {afterNextRender, Polymer, html, flush, Templatizer, TemplateInstanceBase} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import '//resources/cr_components/chromeos/cellular_setup/cellular_setup_icons.m.js';
+import {getPendingESimProfiles, getNonPendingESimProfiles, getNumESimProfiles, getEuicc, getESimProfile, getESimProfileProperties} from '//resources/cr_components/chromeos/cellular_setup/esim_manager_utils.m.js';
+import '//resources/cr_elements/cr_dialog/cr_dialog.m.js';
+import '//resources/cr_elements/cr_input/cr_input.m.js';
+import '//resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'esim-rename-dialog',

behaviors: [
@@ -83,8 +93,8 @@
chromeos.networkConfig.mojom.NetworkType.kCellular)) {
return;
}
- this.esimProfileRemote_ = await cellular_setup.getESimProfile(
- this.networkState.typeState.cellular.iccid);
+ this.esimProfileRemote_ =
+ await getESimProfile(this.networkState.typeState.cellular.iccid);
// Fail gracefully if init is incomplete, see crbug/1194729.
if (!this.esimProfileRemote_) {
this.errorMessage_ = this.i18n('eSimRenameProfileDialogError');
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_config.html b/chrome/browser/resources/settings/chromeos/internet_page/internet_config.html
index cb7a444..afb9a5d 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_config.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_config.html
@@ -1,67 +1,50 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="internet-shared iron-flex">
+ cr-dialog::part(dialog) {
+ width: 460px;
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_config.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_button/cr_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="chrome://resources/html/util.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
-<link rel="import" href="../metrics_recorder.html">
-<link rel="import" href="internet_shared_css.html">
+ .error {
+ color: red;
+ font-weight: 500;
+ }
+</style>

-<dom-module id="internet-config">
- <template>
- <style include="internet-shared iron-flex">
- cr-dialog::part(dialog) {
- width: 460px;
- }
+<cr-dialog id="dialog" close-text="$i18n{close}">
+ <div slot="title">
+ [[getDialogTitle_(name, type, showConnect)]]
+ </div>
+ <div slot="body">
+ <network-config id="networkConfig" class="flex"
+ guid="[[guid]]" name="{{name}}" type="{{type}}"
+ enable-connect="{{enableConnect_}}" enable-save="{{enableSave_}}"
+ share-allow-enable="[[shareAllowEnable_]]"
+ share-default="[[shareDefault_]]"
+ error="{{error_}}"
+ on-close="onClose_"
+ connect-on-enter="[[showConnect]]"
+ on-properties-set="onPropertiesSet_">
+ </network-config>
+ </div>

- .error {
- color: red;
- font-weight: 500;
- }
- </style>
+ <div class="layout horizontal center" slot="button-container">
+ <template is="dom-if" if="[[error_]]" restamp>
+ <div class="flex error">[[getError_(error_)]]</div>
+ </template>
+ <cr-button class="cancel-button" on-click="onCancelTap_">
+ $i18n{cancel}
+ </cr-button>
+ <template is="dom-if" if="[[!showConnect]]">
+ <cr-button id="saveButton" class="action-button"
+ on-click="onSaveTap_" disabled="[[!enableSave_]]">
+ $i18n{save}
+ </cr-button>
+ </template>
+ <template is="dom-if" if="[[showConnect]]">
+ <cr-button id="connectButton" class="action-button"
+ on-click="onConnectTap_" disabled="[[!enableConnect_]]">
+ $i18n{networkButtonConnect}
+ </cr-button>
+ </template>
+ </div>

- <cr-dialog id="dialog" close-text="$i18n{close}">
- <div slot="title">
- [[getDialogTitle_(name, type, showConnect)]]
- </div>
- <div slot="body">
- <network-config id="networkConfig" class="flex"
- guid="[[guid]]" name="{{name}}" type="{{type}}"
- enable-connect="{{enableConnect_}}" enable-save="{{enableSave_}}"
- share-allow-enable="[[shareAllowEnable_]]"
- share-default="[[shareDefault_]]"
- error="{{error_}}"
- on-close="onClose_"
- connect-on-enter="[[showConnect]]"
- on-properties-set="onPropertiesSet_">
- </network-config>
- </div>
-
- <div class="layout horizontal center" slot="button-container">
- <template is="dom-if" if="[[error_]]" restamp>
- <div class="flex error">[[getError_(error_)]]</div>
- </template>
- <cr-button class="cancel-button" on-click="onCancelTap_">
- $i18n{cancel}
- </cr-button>
- <template is="dom-if" if="[[!showConnect]]">
- <cr-button id="saveButton" class="action-button"
- on-click="onSaveTap_" disabled="[[!enableSave_]]">
- $i18n{save}
- </cr-button>
- </template>
- <template is="dom-if" if="[[showConnect]]">
- <cr-button id="connectButton" class="action-button"
- on-click="onConnectTap_" disabled="[[!enableConnect_]]">
- $i18n{networkButtonConnect}
- </cr-button>
- </template>
- </div>
-
- </cr-dialog>
- </template>
- <script src="internet_config.js"></script>
-</dom-module>
+</cr-dialog>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_config.js b/chrome/browser/resources/settings/chromeos/internet_page/internet_config.js
index f30c445..0decdca3 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_config.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_config.js
@@ -6,7 +6,21 @@
* @fileoverview
* 'internet-config' is a Settings dialog wrapper for network-config.
*/
+import '//resources/cr_components/chromeos/network/network_config.m.js';
+import '//resources/cr_elements/cr_button/cr_button.m.js';
+import '//resources/cr_elements/cr_dialog/cr_dialog.m.js';
+import '//resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js';
+import './internet_shared_css.js';
+
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {HTMLEscape, listenOnce} from '//resources/js/util.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {recordClick, recordNavigation, recordPageBlur, recordPageFocus, recordSearch, recordSettingChange, setUserActionRecorderForTesting} from '../metrics_recorder.m.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'internet-config',

behaviors: [I18nBehavior],
@@ -149,11 +163,11 @@
if (this.type ===
OncMojo.getNetworkTypeString(
chromeos.networkConfig.mojom.NetworkType.kWiFi)) {
- settings.recordSettingChange(
+ recordSettingChange(
chromeos.settings.mojom.Setting.kWifiAddNetwork,
{stringValue: this.guid});
} else {
- settings.recordSettingChange();
+ recordSettingChange();
}
},
});
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_menu.html b/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_menu.html
index e791958..a15e01df 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_menu.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_menu.html
@@ -1,60 +1,40 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="cr-shared-style settings-shared iron-flex">
+ cr-action-menu.dropdown-item {
+ min-height: 36px;
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/network/mojo_interface_provider.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/esim_manager_listener_behavior.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_action_menu/cr_action_menu.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_lazy_render/cr_lazy_render.html">
-<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="../../router.html">
-<link rel="import" href="../../settings_shared_css.html">
-<link rel="import" href="../deep_linking_behavior.html">
-<link rel="import" href="../os_route.html">
-
-<dom-module id="settings-internet-detail-menu">
+ cr-action-menu hr {
+ /* Override user-agent border and margin. */
+ border: none;
+ border-top: var(--cr-separator-line);
+ margin: 6px 0 0 0;
+ }
+</style>
+<template is="dom-if"
+ if="[[shouldShowDotsMenuButton_(eSimNetworkState_, isGuest_)]]" restamp>
+ <cr-icon-button class="icon-more-vert"
+ title="$i18n{moreActions}"
+ id="moreNetworkDetail"
+ on-click="onDotsClick_"
+ disabled="[[isDotsMenuButtonDisabled_(deviceState.*)]]">
+ </cr-icon-button>
+</template>
+<cr-lazy-render id="menu">
<template>
- <style include="cr-shared-style settings-shared iron-flex">
- cr-action-menu.dropdown-item {
- min-height: 36px;
- }
-
- cr-action-menu hr {
- /* Override user-agent border and margin. */
- border: none;
- border-top: var(--cr-separator-line);
- margin: 6px 0 0 0;
- }
- </style>
- <template is="dom-if"
- if="[[shouldShowDotsMenuButton_(eSimNetworkState_, isGuest_)]]" restamp>
- <cr-icon-button class="icon-more-vert"
- title="$i18n{moreActions}"
- id="moreNetworkDetail"
- on-click="onDotsClick_"
- disabled="[[isDotsMenuButtonDisabled_(deviceState.*)]]">
- </cr-icon-button>
- </template>
- <cr-lazy-render id="menu">
- <template>
- <cr-action-menu role-description="$i18n{menu}">
- <button class="dropdown-item"
- id="renameBtn"
- on-click="onRenameESimProfileTap_"
- role="menuitem">
- $i18n{networkDetailMenuRenameESim}
- </button>
- <hr>
- <button class="dropdown-item"
- on-click="onRemoveESimProfileTap_"
- role="menuitem"
- id="removeBtn">
- $i18n{networkDetailMenuRemoveESim}
- </button>
- </cr-action-menu>
- </template>
- </cr-lazy-render>
+ <cr-action-menu role-description="$i18n{menu}">
+ <button class="dropdown-item"
+ id="renameBtn"
+ on-click="onRenameESimProfileTap_"
+ role="menuitem">
+ $i18n{networkDetailMenuRenameESim}
+ </button>
+ <hr>
+ <button class="dropdown-item"
+ on-click="onRemoveESimProfileTap_"
+ role="menuitem"
+ id="removeBtn">
+ $i18n{networkDetailMenuRemoveESim}
+ </button>
+ </cr-action-menu>
</template>
- <script src="internet_detail_menu.js"></script>
-</dom-module>
+</cr-lazy-render>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_menu.js b/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_menu.js
index 3cd36c2..0ac4c74 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_menu.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_menu.js
@@ -6,13 +6,30 @@
* @fileoverview 'settings-internet-detail-menu' is a menu that provides
* additional actions for a network in the network detail page.
*/
+import '//resources/cr_elements/cr_action_menu/cr_action_menu.m.js';
+import '//resources/cr_elements/cr_icon_button/cr_icon_button.m.js';
+import '//resources/cr_elements/cr_lazy_render/cr_lazy_render.m.js';
+import '//resources/cr_elements/shared_vars_css.m.js';
+import '../../settings_shared_css.js';
+
+import {ESimManagerListenerBehavior} from '//resources/cr_components/chromeos/cellular_setup/esim_manager_listener_behavior.m.js';
+import {MojoInterfaceProvider, MojoInterfaceProviderImpl} from '//resources/cr_components/chromeos/network/mojo_interface_provider.m.js';
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {Route, RouteObserverBehavior, Router} from '../../router.js';
+import {DeepLinkingBehavior} from '../deep_linking_behavior.m.js';
+import {routes} from '../os_route.m.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'settings-internet-detail-menu',

// TODO(crbug.com/1093185): Implement DeepLinkingBehavior and override methods
// to show the actions for search result.
behaviors: [
- settings.RouteObserverBehavior,
+ RouteObserverBehavior,
ESimManagerListenerBehavior,
DeepLinkingBehavior,
],
@@ -74,12 +91,12 @@
* @return {boolean}
*/
beforeDeepLinkAttempt(settingId) {
- Polymer.RenderStatus.afterNextRender(this, () => {
+ afterNextRender(this, () => {
const menu = /** @type {!CrActionMenuElement} */ (this.$.menu.get());
menu.showAt(/** @type {!Element} */ (this.$$('#moreNetworkDetail')));

// Wait for menu to open.
- Polymer.RenderStatus.afterNextRender(this, () => {
+ afterNextRender(this, () => {
let element;
if (settingId ===
chromeos.settings.mojom.Setting.kCellularRenameESimNetwork) {
@@ -103,16 +120,15 @@
},

/**
- * settings.RouteObserverBehavior
- * @param {!settings.Route} route
- * @param {!settings.Route} oldRoute
+ * RouteObserverBehavior
+ * @param {!Route} route
+ * @param {!Route} oldRoute
* @protected
*/
currentRouteChanged(route, oldRoute) {
this.eSimNetworkState_ = null;
this.guid_ = '';
- if (route !== settings.routes.NETWORK_DETAIL ||
- !this.isUpdatedCellularUiEnabled_) {
+ if (route !== routes.NETWORK_DETAIL || !this.isUpdatedCellularUiEnabled_) {
return;
}

@@ -120,7 +136,7 @@
// current route. We can't use the 'type' parameter in the url
// directly because Cellular and Tethering share the same subpage and have
// the same 'type' in the route.
- const queryParams = settings.Router.getInstance().getQueryParameters();
+ const queryParams = Router.getInstance().getQueryParameters();
const guid = queryParams.get('guid') || '';
if (!guid) {
console.error('No guid specified for page:' + route);
@@ -146,8 +162,8 @@
* @private
*/
setESimNetworkState_() {
- const networkConfig = network_config.MojoInterfaceProviderImpl.getInstance()
- .getMojoServiceRemote();
+ const networkConfig =
+ MojoInterfaceProviderImpl.getInstance().getMojoServiceRemote();
networkConfig.getNetworkState(this.guid_).then(response => {
if (!response.result ||
response.result.type !==
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_page.html b/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_page.html
index b85251e..8408f13 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_page.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_page.html
@@ -1,481 +1,433 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="internet-shared settings-shared iron-flex">
+ :host {
+ padding-bottom: 40px;
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/cr_policy_network_indicator_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/mojo_interface_provider.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_apnlist.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_choose_mobile.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_config_toggle.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_icon.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_ip_config.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_listener_behavior.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_nameservers.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_property_list_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_siminfo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/cellular_utils.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_button/cr_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_expand_button/cr_expand_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_toggle/cr_toggle.html">
-<link rel="import" href="chrome://resources/cr_elements/icons.html">
-<link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_indicator.html">
-<link rel="import" href="chrome://resources/html/assert.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-collapse/iron-collapse.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/paper-spinner/paper-spinner-lite.html">
-<link rel="import" href="../../controls/controlled_button.html">
-<link rel="import" href="../../controls/settings_toggle_button.html">
-<link rel="import" href="../../people_page/sync_browser_proxy.html">
-<link rel="import" href="../../prefs/prefs.html">
-<link rel="import" href="../../router.html">
-<link rel="import" href="../deep_linking_behavior.html">
-<link rel="import" href="../metrics_recorder.html">
-<link rel="import" href="../os_people_page/os_sync_browser_proxy.html">
-<link rel="import" href="../os_route.html">
-<link rel="import" href="cellular_roaming_toggle_button.html">
-<link rel="import" href="internet_page_browser_proxy.html">
-<link rel="import" href="internet_shared_css.html">
-<link rel="import" href="network_proxy_section.html">
-<link rel="import" href="tether_connection_dialog.html">
+ iron-icon {
+ margin-inline-end: 10px;
+ }

-<dom-module id="settings-internet-detail-page">
- <template>
- <style include="internet-shared settings-shared iron-flex">
- :host {
- padding-bottom: 40px;
- }
+ cr-policy-indicator {
+ margin-inline-start: var(--settings-controlled-by-spacing);
+ }

- iron-icon {
- margin-inline-end: 10px;
- }
+ cr-policy-network-indicator-mojo {
+ margin: 0 var(--settings-controlled-by-spacing);
+ }

- cr-policy-indicator {
- margin-inline-start: var(--settings-controlled-by-spacing);
- }
+ #networkState[connected] {
+ color: var(--google-green-500);
+ }

- cr-policy-network-indicator-mojo {
- margin: 0 var(--settings-controlled-by-spacing);
- }
+ #networkState[error] {
+ color: var(--google-red-500);
+ }

- #networkState[connected] {
- color: var(--google-green-500);
- }
+ #preferNetworkToggleContainer:hover {
+ background-color: var(--cr-hover-background-color);
+ }

- #networkState[error] {
- color: var(--google-red-500);
- }
+ #preferNetworkToggleContainer:active {
+ background-color: var(--cr-active-background-color);
+ }

- #preferNetworkToggleContainer:hover {
- background-color: var(--cr-hover-background-color);
- }
+ paper-spinner-lite {
+ height: var(--cr-icon-size);
+ width: var(--cr-icon-size);
+ }

- #preferNetworkToggleContainer:active {
- background-color: var(--cr-active-background-color);
- }
+ .warning {
+ color: var(--cr-secondary-text-color);
+ margin-inline-start: var(--settings-controlled-by-spacing);
+ }

- paper-spinner-lite {
- height: var(--cr-icon-size);
- width: var(--cr-icon-size);
- }
-
- .warning {
- color: var(--cr-secondary-text-color);
- margin-inline-start: var(--settings-controlled-by-spacing);
- }
-
- #mac-address-container {
- border-top: none;
- }
- </style>
- <!-- Title section: Icon + name + connection state. -->
- <div id="titleDiv" class="settings-box first">
- <div class="start layout horizontal center">
- <network-icon
- show-technology-badge="[[showTechnologyBadge_]]"
- network-state="[[getNetworkState_(managedProperties_)]]">
- </network-icon>
- <div id="networkState" class="title settings-box-text"
- connected$="[[isConnectedState_(managedProperties_)]]"
- error$="[[isOutOfRangeOrNotEnabled_(outOfRange_, deviceState_)]]">
- [[getStateText_(managedProperties_, propertiesReceived_,
- outOfRange_, deviceState_)]]
- </div>
- <template is="dom-if"
- if="[[isPolicySource(managedProperties_.source))]]">
- <cr-policy-indicator
- indicator-type="[[getIndicatorTypeForSource(
- managedProperties_.source)]]">
- </cr-policy-indicator>
- </template>
- </div>
- <cr-button id="forgetButton" on-click="onForgetTap_"
- hidden$="[[!showForget_(managedProperties_)]]"
- disabled="[[disableForget_(managedProperties_,
- prefs.vpn_config_allowed, disabled_)]]">
- $i18n{networkButtonForget}
- </cr-button>
- <cr-button id="viewAccountButton"
- on-click="onViewAccountTap_"
- hidden$="[[!showViewAccount_(managedProperties_)]]"
- disabled="[[disabled_]]">
- $i18n{networkButtonViewAccount}
- </cr-button>
- <cr-button id="activateButton"
- on-click="onActivateTap_"
- hidden$="[[!showActivate_(managedProperties_)]]"
- disabled="[[disabled_]]">
- $i18n{networkButtonActivate}
- </cr-button>
- <cr-button id="configureButton" on-click="onConfigureTap_"
- hidden$="[[!showConfigure_(managedProperties_, globalPolicy,
- managedNetworkAvailable)]]"
- disabled="[[disableConfigure_(managedProperties_,
- prefs.vpn_config_allowed, disabled_)]]"
- deep-link-focus-id$="[[Setting.kConfigureEthernet]]">
- $i18n{networkButtonConfigure}
- </cr-button>
- <!-- Use policy properties from vpn_config_allowed to indicate when that
- pref disables buttons in this row. -->
- <controlled-button id="connectDisconnect" class="action-button"
- on-click="onConnectDisconnectTap_"
- hidden$="[[shouldConnectDisconnectButtonBeHidden_(
- managedProperties_, globalPolicy, managedNetworkAvailable,
- deviceState_)]]"
- disabled="[[shouldConnectDisconnectButtonBeDisabled_(
- managedProperties_, defaultNetwork, propertiesReceived_,
- outOfRange_, globalPolicy, managedNetworkAvailable,
- deviceState_, disabled_)]]"
- label="[[getConnectDisconnectButtonLabel_(managedProperties_,
- globalPolicy,managedNetworkAvailable, deviceState_)]]"
- pref="[[getFakeVpnConfigPrefForEnforcement_(managedProperties_,
- prefs.vpn_config_allowed)]]"
- deep-link-focus-id$="[[Setting.kDisconnectWifiNetwork]]
- [[Setting.kDisconnectCellularNetwork]]
- [[Setting.kDisconnectTetherNetwork]]">
- </controlled-button>
+ #mac-address-container {
+ border-top: none;
+ }
+</style>
+<!-- Title section: Icon + name + connection state. -->
+<div id="titleDiv" class="settings-box first">
+ <div class="start layout horizontal center">
+ <network-icon
+ show-technology-badge="[[showTechnologyBadge_]]"
+ network-state="[[getNetworkState_(managedProperties_)]]">
+ </network-icon>
+ <div id="networkState" class="title settings-box-text"
+ connected$="[[isConnectedState_(managedProperties_)]]"
+ error$="[[isOutOfRangeOrNotEnabled_(outOfRange_, deviceState_)]]">
+ [[getStateText_(managedProperties_, propertiesReceived_,
+ outOfRange_, deviceState_)]]
</div>
-
-
- <!-- Start of NOTICES section. -->
- <!-- If row ordering changes, messagesDividerClass_() must be updated. -->
- <template is="dom-if" if="[[isBlockedByPolicy_(managedProperties_,
- globalPolicy, managedNetworkAvailable)]]">
- <!-- Disabled by policy -->
- <div class="settings-box continuation">
- <iron-icon class="policy" icon="cr20:domain"></iron-icon>
- <div class="settings-box-text">$i18n{networkConnectNotAllowed}</div>
- </div>
- </template>
-
- <template is="dom-if" if="[[isSecondaryUser_]]">
- <!-- Non primary users. -->
- <div class$="settings-box single-column
- [[messagesDividerClass_('secondary', managedProperties_,
- globalPolicy, managedNetworkAvailable,
- isSecondaryUser_, isWifiSyncEnabled_)]]">
- <div class="layout horizontal center">
- <iron-icon class="policy" icon="cr:group"></iron-icon>
- <div class="settings-box-text">
- [[i18n('networkPrimaryUserControlled', primaryUserEmail_)]]
- </div>
- </div>
- </div>
- </template>
-
-
<template is="dom-if"
- if="[[showShared_(managedProperties_, globalPolicy,
+ if="[[isPolicySource(managedProperties_.source))]]">
+ <cr-policy-indicator
+ indicator-type="[[getIndicatorTypeForSource(
+ managedProperties_.source)]]">
+ </cr-policy-indicator>
+ </template>
+ </div>
+ <cr-button id="forgetButton" on-click="onForgetTap_"
+ hidden$="[[!showForget_(managedProperties_)]]"
+ disabled="[[disableForget_(managedProperties_,
+ prefs.vpn_config_allowed, disabled_)]]">
+ $i18n{networkButtonForget}
+ </cr-button>
+ <cr-button id="viewAccountButton"
+ on-click="onViewAccountTap_"
+ hidden$="[[!showViewAccount_(managedProperties_)]]"
+ disabled="[[disabled_]]">
+ $i18n{networkButtonViewAccount}
+ </cr-button>
+ <cr-button id="activateButton"
+ on-click="onActivateTap_"
+ hidden$="[[!showActivate_(managedProperties_)]]"
+ disabled="[[disabled_]]">
+ $i18n{networkButtonActivate}
+ </cr-button>
+ <cr-button id="configureButton" on-click="onConfigureTap_"
+ hidden$="[[!showConfigure_(managedProperties_, globalPolicy,
+ managedNetworkAvailable)]]"
+ disabled="[[disableConfigure_(managedProperties_,
+ prefs.vpn_config_allowed, disabled_)]]"
+ deep-link-focus-id$="[[Setting.kConfigureEthernet]]">
+ $i18n{networkButtonConfigure}
+ </cr-button>
+ <!-- Use policy properties from vpn_config_allowed to indicate when that
+ pref disables buttons in this row. -->
+ <controlled-button id="connectDisconnect" class="action-button"
+ on-click="onConnectDisconnectTap_"
+ hidden$="[[shouldConnectDisconnectButtonBeHidden_(
+ managedProperties_, globalPolicy, managedNetworkAvailable,
+ deviceState_)]]"
+ disabled="[[shouldConnectDisconnectButtonBeDisabled_(
+ managedProperties_, defaultNetwork, propertiesReceived_,
+ outOfRange_, globalPolicy, managedNetworkAvailable,
+ deviceState_, disabled_)]]"
+ label="[[getConnectDisconnectButtonLabel_(managedProperties_,
+ globalPolicy,managedNetworkAvailable, deviceState_)]]"
+ pref="[[getFakeVpnConfigPrefForEnforcement_(managedProperties_,
+ prefs.vpn_config_allowed)]]"
+ deep-link-focus-id$="[[Setting.kDisconnectWifiNetwork]]
+ [[Setting.kDisconnectCellularNetwork]]
+ [[Setting.kDisconnectTetherNetwork]]">
+ </controlled-button>
+</div>
+
+
+<!-- Start of NOTICES section. -->
+<!-- If row ordering changes, messagesDividerClass_() must be updated. -->
+<template is="dom-if" if="[[isBlockedByPolicy_(managedProperties_,
+ globalPolicy, managedNetworkAvailable)]]">
+ <!-- Disabled by policy -->
+ <div class="settings-box continuation">
+ <iron-icon class="policy" icon="cr20:domain"></iron-icon>
+ <div class="settings-box-text">$i18n{networkConnectNotAllowed}</div>
+ </div>
+</template>
+
+<template is="dom-if" if="[[isSecondaryUser_]]">
+ <!-- Non primary users. -->
+ <div class$="settings-box single-column
+ [[messagesDividerClass_('secondary', managedProperties_,
+ globalPolicy, managedNetworkAvailable,
+ isSecondaryUser_, isWifiSyncEnabled_)]]">
+ <div class="layout horizontal center">
+ <iron-icon class="policy" icon="cr:group"></iron-icon>
+ <div class="settings-box-text">
+ [[i18n('networkPrimaryUserControlled', primaryUserEmail_)]]
+ </div>
+ </div>
+ </div>
+</template>
+
+
+<template is="dom-if"
+ if="[[showShared_(managedProperties_, globalPolicy,
+ managedNetworkAvailable)]]">
+ <!-- Shared network. -->
+ <div class$="settings-box settings-box-text
+ [[messagesDividerClass_('shared', managedProperties_,
+ globalPolicy, managedNetworkAvailable,
+ isSecondaryUser_, isWifiSyncEnabled_)]]">
+ [[sharedString_(managedProperties_)]]
+ </div>
+</template>
+<template is="dom-if"
+ if="[[showSynced_(managedProperties_, globalPolicy,
+ managedNetworkAvailable, isWifiSyncEnabled_)]]">
+ <!-- Synced network. -->
+ <div class$="settings-box settings-box-text
+ [[messagesDividerClass_('synced', managedProperties_,
+ globalPolicy, managedNetworkAvailable,
+ isSecondaryUser_, isWifiSyncEnabled_)]]">
+ <settings-localized-link
+ localized-string="[[syncedString_(managedProperties_)]]">
+ </settings-localized-link>
+ </div>
+</template>
+<!-- End of NOTICES section -->
+
+<template is="dom-if" if="[[!isSecondaryUser_]]">
+ <template is="dom-if" if="[[showConfigurableSections_]]" restamp>
+ <!-- Prefer this network. -->
+ <template is="dom-if"
+ if="[[showPreferNetwork_(managedProperties_, globalPolicy,
managedNetworkAvailable)]]">
- <!-- Shared network. -->
- <div class$="settings-box settings-box-text
- [[messagesDividerClass_('shared', managedProperties_,
- globalPolicy, managedNetworkAvailable,
- isSecondaryUser_, isWifiSyncEnabled_)]]">
- [[sharedString_(managedProperties_)]]
+ <div id="preferNetworkToggleContainer" class="settings-box"
+ on-click="onPreferNetworkRowClicked_"
+ actionable$="[[!isNetworkPolicyEnforced(
+ managedProperties_.priority)]]">
+ <div id="preferNetworkToggleLabel" class="start settings-box-text">
+ $i18n{networkPrefer}
+ </div>
+ <cr-policy-network-indicator-mojo
+ property="[[managedProperties_.priority]]">
+ </cr-policy-network-indicator-mojo>
+ <cr-toggle id="preferNetworkToggle" checked="{{preferNetwork_}}"
+ disabled="[[shouldPreferNetworkToggleBeDisabled_(
+ managedProperties_.priority, disabled_)]]"
+ aria-labelledby="preferNetworkToggleLabel"
+ deep-link-focus-id$="[[Setting.kPreferWifiNetwork]]">
+ </cr-toggle>
</div>
</template>
+ <!-- Hidden. -->
<template is="dom-if"
- if="[[showSynced_(managedProperties_, globalPolicy,
- managedNetworkAvailable, isWifiSyncEnabled_)]]">
- <!-- Synced network. -->
- <div class$="settings-box settings-box-text
- [[messagesDividerClass_('synced', managedProperties_,
- globalPolicy, managedNetworkAvailable,
- isSecondaryUser_, isWifiSyncEnabled_)]]">
- <settings-localized-link
- localized-string="[[syncedString_(managedProperties_)]]">
- </settings-localized-link>
+ if="[[showHiddenNetwork_(managedProperties_, globalPolicy,
+ managedNetworkAvailable)]]">
+ <settings-toggle-button id="hiddenToggle" class="hr"
+ pref="{{hiddenPref_}}"
+ label="$i18n{networkHidden}"
+ sub-label="$i18n{networkHiddenSublabel}"
+ sub-label-icon="cr20:warning"
+ learn-more-url="$i18n{wifiHiddenNetworkLearnMoreUrl}"
+ deep-link-focus-id$="[[Setting.kWifiHidden]]">
+ </settings-toggle-button>
+ </template>
+ <!-- Autoconnect. -->
+ <template is="dom-if"
+ if="[[showAutoConnect_(managedProperties_, globalPolicy,
+ managedNetworkAvailable)]]">
+ <settings-toggle-button id="autoConnectToggle" class="hr"
+ pref="{{autoConnectPref_}}"
+ label="[[getAutoConnectToggleLabel_(managedProperties_)]]"
+ deep-link-focus-id$="[[Setting.kWifiAutoConnectToNetwork]]
+ [[Setting.kCellularAutoConnectToNetwork]]"
+ disabled="[[disabled_]]">
+ </settings-toggle-button>
+ <!-- Hidden Network Warning -->
+ <template is="dom-if"
+ if="[[showHiddenNetworkWarning_(autoConnectPref_.*,
+ managedProperties_)]]"
+ restamp>
+ <div class="warning">
+ <iron-icon icon="cr:warning"></iron-icon>
+ [[i18n('hiddenNetworkWarning')]]
+ </div>
+ </template>
+ </template>
+ <!-- Always-on VPN. -->
+ <template is="dom-if"
+ if="[[showAlwaysOnVpn_(managedProperties_)]]">
+ <settings-toggle-button id="alwaysOnVpnToggle" class="hr"
+ pref="{{alwaysOnVpn_}}"
+ label="$i18n{networkAlwaysOnVpn}"
+ disabled="[[disabled_]]">
+ </settings-toggle-button>
+ </template>
+ <!-- Data roaming (Cellular only). -->
+ <template is="dom-if" if="[[isCellular_(managedProperties_)]]">
+ <cellular-roaming-toggle-button
+ disabled="[[disabled_]]"
+ prefs="{{prefs}}"
+ managed-properties="[[managedProperties_]]">
+ </cellular-roaming-toggle-button>
+ </template>
+ <!-- SIM Info (Cellular only). -->
+ <!-- TODO(crbug/1093185): Remove when updatedCellularActivationUi
+ flag launches -->
+ <template is="dom-if" if="[[showCellularSim_(managedProperties_)]]"
+ restamp>
+ <div class="settings-box single-column stretch">
+ <network-siminfo id="cellularSimInfo"
+ network-state="[[getNetworkState_(managedProperties_)]]"
+ device-state="[[deviceState_]]"
+ disabled="[[disabled_]]">
+ </network-siminfo>
</div>
</template>
- <!-- End of NOTICES section -->
+ <!-- IP Address. -->
+ <div
+ class="settings-box two-line single-column stretch settings-box-text"
+ hidden$="[[!showIpAddress_(ipAddress_, managedProperties_)]]">
+ <div>$i18n{networkIPAddress}</div>
+ <div class="secondary">[[ipAddress_]]</div>
+ </div>
+ <!-- Properties to always show if present. -->
+ <template is="dom-if" if="[[hasInfoFields_(managedProperties_)]]">
+ <div class="settings-box single-column stretch">
+ <network-property-list-mojo id="infoFields"
+ fields="[[getInfoFields_(managedProperties_)]]"
+ edit-field-types="[[getInfoEditFieldTypes_(
+ managedProperties_)]]"
+ property-dict="[[managedProperties_]]"
+ on-property-change="onNetworkPropertyChange_"
+ disabled="[[disabled_]]">
+ </network-property-list-mojo>
+ </div>
+ </template>
+ </template>
+ <template is="dom-if" if="[[hasAdvancedSection_(managedProperties_,
+ propertiesReceived_, showMeteredToggle_,
+ deviceState_)]]">
+ <!-- Advanced toggle. -->
+ <cr-expand-button
+ aria-label="$i18n{networkSectionAdvancedA11yLabel}"
+ class="settings-box"
+ expanded="{{advancedExpanded_}}">
+ $i18n{networkSectionAdvanced}
+ </cr-expand-button>

- <template is="dom-if" if="[[!isSecondaryUser_]]">
- <template is="dom-if" if="[[showConfigurableSections_]]" restamp>
- <!-- Prefer this network. -->
+ <!-- Advanced section -->
+ <iron-collapse opened="[[advancedExpanded_]]">
+ <div class="settings-box single-column stretch indented first">
+ <!-- SIM Info (Cellular only). -->
<template is="dom-if"
- if="[[showPreferNetwork_(managedProperties_, globalPolicy,
- managedNetworkAvailable)]]">
- <div id="preferNetworkToggleContainer" class="settings-box"
- on-click="onPreferNetworkRowClicked_"
- actionable$="[[!isNetworkPolicyEnforced(
- managedProperties_.priority)]]">
- <div id="preferNetworkToggleLabel" class="start settings-box-text">
- $i18n{networkPrefer}
- </div>
- <cr-policy-network-indicator-mojo
- property="[[managedProperties_.priority]]">
- </cr-policy-network-indicator-mojo>
- <cr-toggle id="preferNetworkToggle" checked="{{preferNetwork_}}"
- disabled="[[shouldPreferNetworkToggleBeDisabled_(
- managedProperties_.priority, disabled_)]]"
- aria-labelledby="preferNetworkToggleLabel"
- deep-link-focus-id$="[[Setting.kPreferWifiNetwork]]">
- </cr-toggle>
- </div>
- </template>
- <!-- Hidden. -->
- <template is="dom-if"
- if="[[showHiddenNetwork_(managedProperties_, globalPolicy,
- managedNetworkAvailable)]]">
- <settings-toggle-button id="hiddenToggle" class="hr"
- pref="{{hiddenPref_}}"
- label="$i18n{networkHidden}"
- sub-label="$i18n{networkHiddenSublabel}"
- sub-label-icon="cr20:warning"
- learn-more-url="$i18n{wifiHiddenNetworkLearnMoreUrl}"
- deep-link-focus-id$="[[Setting.kWifiHidden]]">
- </settings-toggle-button>
- </template>
- <!-- Autoconnect. -->
- <template is="dom-if"
- if="[[showAutoConnect_(managedProperties_, globalPolicy,
- managedNetworkAvailable)]]">
- <settings-toggle-button id="autoConnectToggle" class="hr"
- pref="{{autoConnectPref_}}"
- label="[[getAutoConnectToggleLabel_(managedProperties_)]]"
- deep-link-focus-id$="[[Setting.kWifiAutoConnectToNetwork]]
- [[Setting.kCellularAutoConnectToNetwork]]"
- disabled="[[disabled_]]">
- </settings-toggle-button>
- <!-- Hidden Network Warning -->
- <template is="dom-if"
- if="[[showHiddenNetworkWarning_(autoConnectPref_.*,
- managedProperties_)]]"
- restamp>
- <div class="warning">
- <iron-icon icon="cr:warning"></iron-icon>
- [[i18n('hiddenNetworkWarning')]]
- </div>
- </template>
- </template>
- <!-- Always-on VPN. -->
- <template is="dom-if"
- if="[[showAlwaysOnVpn_(managedProperties_)]]">
- <settings-toggle-button id="alwaysOnVpnToggle" class="hr"
- pref="{{alwaysOnVpn_}}"
- label="$i18n{networkAlwaysOnVpn}"
- disabled="[[disabled_]]">
- </settings-toggle-button>
- </template>
- <!-- Data roaming (Cellular only). -->
- <template is="dom-if" if="[[isCellular_(managedProperties_)]]">
- <cellular-roaming-toggle-button
- disabled="[[disabled_]]"
- prefs="{{prefs}}"
- managed-properties="[[managedProperties_]]">
- </cellular-roaming-toggle-button>
- </template>
- <!-- SIM Info (Cellular only). -->
- <!-- TODO(crbug/1093185): Remove when updatedCellularActivationUi
- flag launches -->
- <template is="dom-if" if="[[showCellularSim_(managedProperties_)]]"
- restamp>
- <div class="settings-box single-column stretch">
- <network-siminfo id="cellularSimInfo"
+ if="[[showCellularSimUpdatedUi_(managedProperties_)]]" restamp>
+ <div class="single-column stretch">
+ <network-siminfo id="cellularSimInfoAdvanced"
network-state="[[getNetworkState_(managedProperties_)]]"
device-state="[[deviceState_]]"
disabled="[[disabled_]]">
</network-siminfo>
</div>
</template>
- <!-- IP Address. -->
- <div
- class="settings-box two-line single-column stretch settings-box-text"
- hidden$="[[!showIpAddress_(ipAddress_, managedProperties_)]]">
- <div>$i18n{networkIPAddress}</div>
- <div class="secondary">[[ipAddress_]]</div>
+ <!-- Metered (WiFi and Cellular only). -->
+ <template is="dom-if"
+ if="[[showMetered_(managedProperties_, showMeteredToggle_)]]">
+ <network-config-toggle id="meteredToggle" policy-on-left
+ property="[[managedProperties_.metered]]"
+ label="$i18n{networkMetered}"
+ sub-label="$i18n{networkMeteredDesc}"
+ checked="{{meteredOverride_}}"
+ on-checked-changed="meteredChanged_"
+ deep-link-focus-id$="[[Setting.kWifiMetered]]
+ [[Setting.kCellularMetered]]"
+ disabled="[[disabled_]]">
+ </network-config-toggle>
+ </template>
+ <!-- Advanced properties -->
+ <template is="dom-if"
+ if="[[hasAdvancedFields_(managedProperties_)]]">
+ <network-property-list-mojo id="advancedFields"
+ fields="[[getAdvancedFields_(managedProperties_)]]"
+ property-dict="[[managedProperties_]]"
+ disabled="[[disabled_]]">
+ </network-property-list-mojo>
+ </template>
+ <!-- Device properties -->
+ <template is="dom-if"
+ if="[[hasDeviceFields_(managedProperties_, deviceState_)]]">
+ <network-property-list-mojo id="deviceFields"
+ fields="[[getDeviceFields_(managedProperties_,
+ deviceState_)]]"
+ property-dict="[[managedProperties_]]"
+ disabled="[[disabled_]]">
+ </network-property-list-mojo>
+ </template>
+ </div>
+ </iron-collapse>
+ </template>
+
+ <template is="dom-if" if="[[showConfigurableSections_]]" restamp>
+ <template is="dom-if" if="[[hasNetworkSection_(managedProperties_,
+ globalPolicy, managedNetworkAvailable)]]">
+ <!-- Network toggle -->
+ <cr-expand-button
+ id="configurableSections"
+ aria-label="$i18n{networkSectionNetworkExpandA11yLabel}"
+ class="settings-box"
+ expanded="{{networkExpanded_}}">
+ <div class="settings-row">
+ <div class="start">
+ $i18n{networkSectionNetwork}
+ </div>
+ <template is="dom-if" if="[[showScanningSpinner_(
+ managedProperties_, deviceState_)]]">
+ <paper-spinner-lite active></paper-spinner-lite>
+ </template>
</div>
- <!-- Properties to always show if present. -->
- <template is="dom-if" if="[[hasInfoFields_(managedProperties_)]]">
- <div class="settings-box single-column stretch">
- <network-property-list-mojo id="infoFields"
- fields="[[getInfoFields_(managedProperties_)]]"
- edit-field-types="[[getInfoEditFieldTypes_(
- managedProperties_)]]"
- property-dict="[[managedProperties_]]"
- on-property-change="onNetworkPropertyChange_"
- disabled="[[disabled_]]">
- </network-property-list-mojo>
- </div>
- </template>
- </template>
- <template is="dom-if" if="[[hasAdvancedSection_(managedProperties_,
- propertiesReceived_, showMeteredToggle_,
- deviceState_)]]">
- <!-- Advanced toggle. -->
- <cr-expand-button
- aria-label="$i18n{networkSectionAdvancedA11yLabel}"
- class="settings-box"
- expanded="{{advancedExpanded_}}">
- $i18n{networkSectionAdvanced}
- </cr-expand-button>
+ </cr-expand-button>

- <!-- Advanced section -->
- <iron-collapse opened="[[advancedExpanded_]]">
- <div class="settings-box single-column stretch indented first">
- <!-- SIM Info (Cellular only). -->
- <template is="dom-if"
- if="[[showCellularSimUpdatedUi_(managedProperties_)]]" restamp>
- <div class="single-column stretch">
- <network-siminfo id="cellularSimInfoAdvanced"
- network-state="[[getNetworkState_(managedProperties_)]]"
- device-state="[[deviceState_]]"
- disabled="[[disabled_]]">
- </network-siminfo>
- </div>
- </template>
- <!-- Metered (WiFi and Cellular only). -->
- <template is="dom-if"
- if="[[showMetered_(managedProperties_, showMeteredToggle_)]]">
- <network-config-toggle id="meteredToggle" policy-on-left
- property="[[managedProperties_.metered]]"
- label="$i18n{networkMetered}"
- sub-label="$i18n{networkMeteredDesc}"
- checked="{{meteredOverride_}}"
- on-checked-changed="meteredChanged_"
- deep-link-focus-id$="[[Setting.kWifiMetered]]
- [[Setting.kCellularMetered]]"
- disabled="[[disabled_]]">
- </network-config-toggle>
- </template>
- <!-- Advanced properties -->
- <template is="dom-if"
- if="[[hasAdvancedFields_(managedProperties_)]]">
- <network-property-list-mojo id="advancedFields"
- fields="[[getAdvancedFields_(managedProperties_)]]"
- property-dict="[[managedProperties_]]"
- disabled="[[disabled_]]">
- </network-property-list-mojo>
- </template>
- <!-- Device properties -->
- <template is="dom-if"
- if="[[hasDeviceFields_(managedProperties_, deviceState_)]]">
- <network-property-list-mojo id="deviceFields"
- fields="[[getDeviceFields_(managedProperties_,
- deviceState_)]]"
- property-dict="[[managedProperties_]]"
- disabled="[[disabled_]]">
- </network-property-list-mojo>
- </template>
- </div>
- </iron-collapse>
- </template>
-
- <template is="dom-if" if="[[showConfigurableSections_]]" restamp>
- <template is="dom-if" if="[[hasNetworkSection_(managedProperties_,
- globalPolicy, managedNetworkAvailable)]]">
- <!-- Network toggle -->
- <cr-expand-button
- id="configurableSections"
- aria-label="$i18n{networkSectionNetworkExpandA11yLabel}"
- class="settings-box"
- expanded="{{networkExpanded_}}">
- <div class="settings-row">
- <div class="start">
- $i18n{networkSectionNetwork}
- </div>
- <template is="dom-if" if="[[showScanningSpinner_(
- managedProperties_, deviceState_)]]">
- <paper-spinner-lite active></paper-spinner-lite>
- </template>
- </div>
- </cr-expand-button>
-
- <iron-collapse opened="[[networkExpanded_]]">
- <div class="settings-box single-column stretch indented first">
- <!-- Choose Mobile Network (Cellular only). -->
- <template is="dom-if"
- if="[[showCellularChooseNetwork_(managedProperties_)]]">
- <network-choose-mobile device-state="[[deviceState_]]"
- managed-properties="[[managedProperties_]]"
- disabled="[[disabled_]]">
- </network-choose-mobile>
- </template>
-
- <!-- APN -->
- <template is="dom-if" if="[[isCellular_(managedProperties_)]]">
- <network-apnlist on-apn-change="onApnChange_"
- managed-properties="[[managedProperties_]]"
- disabled="[[disabled_]]">
- </network-apnlist>
- </template>
-
- <!-- IP Config, Nameservers -->
- <template is="dom-if"
- if="[[isRememberedOrConnected_(managedProperties_)]]">
- <network-ip-config on-ip-change="onIPConfigChange_"
- managed-properties="[[managedProperties_]]"
- disabled="[[disabled_]]">
- </network-ip-config>
- <network-nameservers on-nameservers-change="onIPConfigChange_"
- managed-properties="[[managedProperties_]]"
- disabled="[[disabled_]]">
- </network-nameservers>
- </template>
- </div>
-
- <!-- MAC Address. -->
- <div class="settings-box two-line single-column stretch indented"
- id="mac-address-container"
- hidden$="[[!shouldShowMacAddress_(deviceState_)]]">
- <div>$i18n{OncMacAddress}</div>
- <div class="secondary">[[getMacAddress_(deviceState_)]]</div>
- </div>
- </iron-collapse>
- </template>
-
- <template is="dom-if" if="[[hasProxySection_(managedProperties_,
- globalPolicy, managedNetworkAvailable)]]">
- <!-- Proxy toggle -->
- <cr-expand-button
- aria-label="$i18n{networkSectionProxyExpandA11yLabel}"
- class="settings-box"
- expanded="{{proxyExpanded_}}">
- $i18n{networkSectionProxy}
- </cr-expand-button>
-
- <iron-collapse opened="[[proxyExpanded_]]">
- <network-proxy-section prefs="{{prefs}}"
- on-proxy-change="onProxyChange_"
+ <iron-collapse opened="[[networkExpanded_]]">
+ <div class="settings-box single-column stretch indented first">
+ <!-- Choose Mobile Network (Cellular only). -->
+ <template is="dom-if"
+ if="[[showCellularChooseNetwork_(managedProperties_)]]">
+ <network-choose-mobile device-state="[[deviceState_]]"
managed-properties="[[managedProperties_]]"
disabled="[[disabled_]]">
- </network-proxy-section>
- </iron-collapse>
- </template>
- </template>
+ </network-choose-mobile>
+ </template>
+
+ <!-- APN -->
+ <template is="dom-if" if="[[isCellular_(managedProperties_)]]">
+ <network-apnlist on-apn-change="onApnChange_"
+ managed-properties="[[managedProperties_]]"
+ disabled="[[disabled_]]">
+ </network-apnlist>
+ </template>
+
+ <!-- IP Config, Nameservers -->
+ <template is="dom-if"
+ if="[[isRememberedOrConnected_(managedProperties_)]]">
+ <network-ip-config on-ip-change="onIPConfigChange_"
+ managed-properties="[[managedProperties_]]"
+ disabled="[[disabled_]]">
+ </network-ip-config>
+ <network-nameservers on-nameservers-change="onIPConfigChange_"
+ managed-properties="[[managedProperties_]]"
+ disabled="[[disabled_]]">
+ </network-nameservers>
+ </template>
+ </div>
+
+ <!-- MAC Address. -->
+ <div class="settings-box two-line single-column stretch indented"
+ id="mac-address-container"
+ hidden$="[[!shouldShowMacAddress_(deviceState_)]]">
+ <div>$i18n{OncMacAddress}</div>
+ <div class="secondary">[[getMacAddress_(deviceState_)]]</div>
+ </div>
+ </iron-collapse>
</template>
- <template is="dom-if" if="[[showConfigurableSections_]]" restamp>
- <template is="dom-if" if="[[isTether_(managedProperties_)]]" restamp>
- <tether-connection-dialog id="tetherDialog"
+
+ <template is="dom-if" if="[[hasProxySection_(managedProperties_,
+ globalPolicy, managedNetworkAvailable)]]">
+ <!-- Proxy toggle -->
+ <cr-expand-button
+ aria-label="$i18n{networkSectionProxyExpandA11yLabel}"
+ class="settings-box"
+ expanded="{{proxyExpanded_}}">
+ $i18n{networkSectionProxy}
+ </cr-expand-button>
+
+ <iron-collapse opened="[[proxyExpanded_]]">
+ <network-proxy-section prefs="{{prefs}}"
+ on-proxy-change="onProxyChange_"
managed-properties="[[managedProperties_]]"
- on-tether-connect="onTetherConnect_"
- out-of-range="[[outOfRange_]]">
- </tether-connection-dialog>
- </template>
+ disabled="[[disabled_]]">
+ </network-proxy-section>
+ </iron-collapse>
</template>
</template>
- <script src="internet_detail_page.js"></script>
-</dom-module>
+</template>
+<template is="dom-if" if="[[showConfigurableSections_]]" restamp>
+ <template is="dom-if" if="[[isTether_(managedProperties_)]]" restamp>
+ <tether-connection-dialog id="tetherDialog"
+ managed-properties="[[managedProperties_]]"
+ on-tether-connect="onTetherConnect_"
+ out-of-range="[[outOfRange_]]">
+ </tether-connection-dialog>
+ </template>
+</template>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_page.js b/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_page.js
index 3ba10d2..a2025be 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_page.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_detail_page.js
@@ -8,14 +8,60 @@
* for a network.
*/

+import '//resources/cr_components/chromeos/network/cr_policy_network_indicator_mojo.m.js';
+import '//resources/cr_components/chromeos/network/network_apnlist.m.js';
+import '//resources/cr_components/chromeos/network/network_choose_mobile.m.js';
+import '//resources/cr_components/chromeos/network/network_config_toggle.m.js';
+import '//resources/cr_components/chromeos/network/network_icon.m.js';
+import '//resources/cr_components/chromeos/network/network_ip_config.m.js';
+import '//resources/cr_components/chromeos/network/network_nameservers.m.js';
+import '//resources/cr_components/chromeos/network/network_property_list_mojo.m.js';
+import '//resources/cr_components/chromeos/network/network_siminfo.m.js';
+import '//resources/cr_elements/cr_button/cr_button.m.js';
+import '//resources/cr_elements/cr_expand_button/cr_expand_button.m.js';
+import '//resources/cr_elements/cr_toggle/cr_toggle.m.js';
+import '//resources/cr_elements/icons.m.js';
+import '//resources/cr_elements/policy/cr_policy_indicator.m.js';
+import '//resources/polymer/v3_0/iron-collapse/iron-collapse.js';
+import '//resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js';
+import '//resources/polymer/v3_0/iron-icon/iron-icon.js';
+import '//resources/polymer/v3_0/paper-spinner/paper-spinner-lite.js';
+import '../../controls/controlled_button.js';
+import '../../controls/settings_toggle_button.js';
+import '../../prefs/prefs.js';
+import './cellular_roaming_toggle_button.js';
+import './internet_shared_css.js';
+import './network_proxy_section.js';
+import './tether_connection_dialog.js';
+
+import {getSimSlotCount, hasActiveCellularNetwork, isActiveSim, isConnectedToNonCellularNetwork} from '//resources/cr_components/chromeos/network/cellular_utils.m.js';
+import {CrPolicyNetworkBehaviorMojo} from '//resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.m.js';
+import {MojoInterfaceProvider, MojoInterfaceProviderImpl} from '//resources/cr_components/chromeos/network/mojo_interface_provider.m.js';
+import {NetworkListenerBehavior} from '//resources/cr_components/chromeos/network/network_listener_behavior.m.js';
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import {assert, assertNotReached} from '//resources/js/assert.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {WebUIListenerBehavior} from '//resources/js/web_ui_listener_behavior.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {StatusAction, SyncBrowserProxy, SyncBrowserProxyImpl, SyncPrefs, SyncStatus} from '../../people_page/sync_browser_proxy.js';
+import {Route, RouteObserverBehavior, Router} from '../../router.js';
+import {DeepLinkingBehavior} from '../deep_linking_behavior.m.js';
+import {recordClick, recordNavigation, recordPageBlur, recordPageFocus, recordSearch, recordSettingChange, setUserActionRecorderForTesting} from '../metrics_recorder.m.js';
+import {OsSyncBrowserProxy, OsSyncBrowserProxyImpl, OsSyncPrefs} from '../os_people_page/os_sync_browser_proxy.m.js';
+import {routes} from '../os_route.m.js';
+
+import {InternetPageBrowserProxy, InternetPageBrowserProxyImpl} from './internet_page_browser_proxy.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'settings-internet-detail-page',

behaviors: [
NetworkListenerBehavior,
CrPolicyNetworkBehaviorMojo,
DeepLinkingBehavior,
- settings.RouteObserverBehavior,
+ RouteObserverBehavior,
I18nBehavior,
WebUIListenerBehavior,
],
@@ -319,13 +365,13 @@
*/
shouldShowConfigureWhenNetworkLoaded_: false,

- /** @private {settings.InternetPageBrowserProxy} */
+ /** @private {InternetPageBrowserProxy} */
browserProxy_: null,

- /** @private {?settings.OsSyncBrowserProxy} */
+ /** @private {?OsSyncBrowserProxy} */
osSyncBrowserProxy_: null,

- /** @private {?settings.SyncBrowserProxy} */
+ /** @private {?SyncBrowserProxy} */
syncBrowserProxy_: null,

/** @private {?chromeos.networkConfig.mojom.CrosNetworkConfigRemote} */
@@ -359,14 +405,14 @@

/** @override */
created() {
- this.browserProxy_ = settings.InternetPageBrowserProxyImpl.getInstance();
- this.networkConfig_ = network_config.MojoInterfaceProviderImpl.getInstance()
- .getMojoServiceRemote();
+ this.browserProxy_ = InternetPageBrowserProxyImpl.getInstance();
+ this.networkConfig_ =
+ MojoInterfaceProviderImpl.getInstance().getMojoServiceRemote();

if (loadTimeData.getBoolean('splitSettingsSyncEnabled')) {
- this.osSyncBrowserProxy_ = settings.OsSyncBrowserProxyImpl.getInstance();
+ this.osSyncBrowserProxy_ = OsSyncBrowserProxyImpl.getInstance();
} else {
- this.syncBrowserProxy_ = settings.SyncBrowserProxyImpl.getInstance();
+ this.syncBrowserProxy_ = SyncBrowserProxyImpl.getInstance();
}
},

@@ -378,7 +424,7 @@
*/
afterRenderShowDeepLink(settingId, elementCallback) {
// Wait for element to load.
- Polymer.RenderStatus.afterNextRender(this, () => {
+ afterNextRender(this, () => {
const deepLinkElement = elementCallback();
if (!deepLinkElement || deepLinkElement.hidden) {
console.warn(`Element with deep link id ${settingId} not focusable.`);
@@ -478,17 +524,17 @@
},

/**
- * settings.RouteObserverBehavior
- * @param {!settings.Route} route
- * @param {!settings.Route} oldRoute
+ * RouteObserverBehavior
+ * @param {!Route} route
+ * @param {!Route} oldRoute
* @protected
*/
currentRouteChanged(route, oldRoute) {
- if (route !== settings.routes.NETWORK_DETAIL) {
+ if (route !== routes.NETWORK_DETAIL) {
return;
}

- const queryParams = settings.Router.getInstance().getQueryParameters();
+ const queryParams = Router.getInstance().getQueryParameters();
const guid = queryParams.get('guid') || '';
if (!guid) {
console.warn('No guid specified for page:' + route);
@@ -554,7 +600,7 @@
this.managedProperties_ = undefined;
this.propertiesReceived_ = false;

- settings.Router.getInstance().navigateToPreviousRoute();
+ Router.getInstance().navigateToPreviousRoute();
});
},

@@ -631,17 +677,17 @@
// Update the detail page title.
const networkName = OncMojo.getNetworkName(this.managedProperties_);
this.parentNode.pageTitle = networkName;
- Polymer.dom.flush();
+ flush();

if (!this.didSetFocus_ &&
- !settings.Router.getInstance().getQueryParameters().has('search') &&
+ !Router.getInstance().getQueryParameters().has('search') &&
!this.getDeepLinkSettingId()) {
// Unless the page was navigated to via search or has a deep linked
// setting, focus a button once the initial state is set.
this.didSetFocus_ = true;
const button = this.$$('#titleDiv .action-button:not([hidden])');
if (button) {
- Polymer.RenderStatus.afterNextRender(this, () => button.focus());
+ afterNextRender(this, () => button.focus());
}
}

@@ -737,7 +783,7 @@
// This is slightly preferable to requestAnimationFrame used within
// network-siminfo to focus elements since it can be reproduced in
// testing.
- Polymer.RenderStatus.afterNextRender(this, () => {
+ afterNextRender(this, () => {
if (simLockStatus && !!simLockStatus.lockType) {
this.afterRenderShowDeepLink(
settingId, () => this.$$('network-siminfo').getUnlockButton());
@@ -763,7 +809,7 @@
if (!this.propertiesReceived_) {
return;
}
- settings.recordSettingChange(
+ recordSettingChange(
chromeos.settings.mojom.Setting.kWifiHidden,
{boolValue: !!this.hiddenPref_.value});
const config = this.getDefaultConfigProperties_();
@@ -1006,7 +1052,7 @@
this.managedProperties_.typeProperties.cellular;
}
this.managedProperties_ = properties;
- Polymer.RenderStatus.afterNextRender(this, () => {
+ afterNextRender(this, () => {
this.applyingChanges_ = false;
});
},
@@ -1083,7 +1129,7 @@
this.getNetworkDetails_();
}
});
- settings.recordSettingChange();
+ recordSettingChange();
},

/**
@@ -1556,7 +1602,7 @@
this.fire(
'network-connect',
{networkState: networkState, bypassConnectionDialog: bypassDialog});
- settings.recordSettingChange();
+ recordSettingChange();
},

/** @private */
@@ -1566,7 +1612,7 @@
console.warn('Disconnect failed for: ' + this.guid);
}
});
- settings.recordSettingChange();
+ recordSettingChange();
},

/** @private */
@@ -1646,10 +1692,9 @@

if (this.managedProperties_.type ===
chromeos.networkConfig.mojom.NetworkType.kWiFi) {
- settings.recordSettingChange(
- chromeos.settings.mojom.Setting.kForgetWifiNetwork);
+ recordSettingChange(chromeos.settings.mojom.Setting.kForgetWifiNetwork);
} else {
- settings.recordSettingChange();
+ recordSettingChange();
}
},

@@ -1664,7 +1709,7 @@
(this.isThirdPartyVpn_(this.managedProperties_) ||
this.isArcVpn_(this.managedProperties_))) {
this.browserProxy_.configureThirdPartyVpn(this.guid);
- settings.recordSettingChange();
+ recordSettingChange();
return;
}

@@ -2031,7 +2076,7 @@
}

this.preferNetwork_ = !this.preferNetwork_;
- settings.recordSettingChange();
+ recordSettingChange();
},

/**
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.html b/chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.html
index 10b93a9..f1c21688 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.html
@@ -1,107 +1,84 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="internet-shared iron-flex">
+ cr-policy-indicator {
+ margin-inline-start: var(--settings-controlled-by-spacing);
+ }
+</style>

-<link rel="import" href="chrome://resources/cr_components/chromeos/network/mojo_interface_provider.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_listener_behavior.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_action_menu/cr_action_menu.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_link_row/cr_link_row.html">
-<link rel="import" href="chrome://resources/cr_elements/icons.html">
-<link rel="import" href="chrome://resources/html/assert.html">
-<link rel="import" href="../../router.html">
-<link rel="import" href="../../settings_shared_css.html">
-<link rel="import" href="../deep_linking_behavior.html">
-<link rel="import" href="../metrics_recorder.html">
-<link rel="import" href="../os_route.html">
-<link rel="import" href="internet_shared_css.html">
+<div class="settings-box first">
+ <div class="settings-box-text">$i18n{knownNetworksMessage}</div>
+</div>

-<dom-module id="settings-internet-known-networks-page">
- <template>
- <style include="internet-shared iron-flex">
- cr-policy-indicator {
- margin-inline-start: var(--settings-controlled-by-spacing);
- }
- </style>
-
- <div class="settings-box first">
- <div class="settings-box-text">$i18n{knownNetworksMessage}</div>
+<div class="settings-box settings-box-text">
+ <div class="secondary">$i18n{knownNetworksPreferred}</div>
+</div>
+<div class="list-frame vertical-list"
+ hidden$="[[havePreferred_(networkStateList_)]]">
+ <div class="list-item settings-box-text">
+ $i18n{internetNoNetworks}
+ </div>
+</div>
+<div id="preferredNetworkList" class="list-frame vertical-list"
+ hidden$="[[!havePreferred_(networkStateList_)]]">
+ <template is="dom-repeat" items="[[networkStateList_]]"
+ filter="networkIsPreferred_">
+ <div class="list-item">
+ <cr-link-row embedded label="[[getNetworkDisplayName_(item)]]"
+ on-click="fireShowDetails_"
+ role-description="$i18n{subpageArrowRoleDescription}"
+ deep-link-focus-id$="[[Setting.kForgetWifiNetwork]]">
+ <template is="dom-if" if="[[isPolicySource(item.source))]]">
+ <cr-policy-indicator on-click="doNothing_"
+ indicator-type="[[getIndicatorTypeForSource(item.source)]]">
+ </cr-policy-indicator>
+ </template>
+ </cr-link-row>
+ <div class="separator"></div>
+ <cr-icon-button class="icon-more-vert" tabindex$="[[tabindex]]"
+ on-click="onMenuButtonTap_" title="$i18n{moreActions}">
+ </cr-icon-button>
</div>
-
- <div class="settings-box settings-box-text">
- <div class="secondary">$i18n{knownNetworksPreferred}</div>
- </div>
- <div class="list-frame vertical-list"
- hidden$="[[havePreferred_(networkStateList_)]]">
- <div class="list-item settings-box-text">
- $i18n{internetNoNetworks}
- </div>
- </div>
- <div id="preferredNetworkList" class="list-frame vertical-list"
- hidden$="[[!havePreferred_(networkStateList_)]]">
- <template is="dom-repeat" items="[[networkStateList_]]"
- filter="networkIsPreferred_">
- <div class="list-item">
- <cr-link-row embedded label="[[getNetworkDisplayName_(item)]]"
- on-click="fireShowDetails_"
- role-description="$i18n{subpageArrowRoleDescription}"
- deep-link-focus-id$="[[Setting.kForgetWifiNetwork]]">
- <template is="dom-if" if="[[isPolicySource(item.source))]]">
- <cr-policy-indicator on-click="doNothing_"
- indicator-type="[[getIndicatorTypeForSource(item.source)]]">
- </cr-policy-indicator>
- </template>
- </cr-link-row>
- <div class="separator"></div>
- <cr-icon-button class="icon-more-vert" tabindex$="[[tabindex]]"
- on-click="onMenuButtonTap_" title="$i18n{moreActions}">
- </cr-icon-button>
- </div>
- </template>
- </div>
-
- <div class="settings-box settings-box-text">
- <div class="secondary">$i18n{knownNetworksAll}</div>
- </div>
- <div id="notPreferredNetworkList" class="list-frame vertical-list"
- hidden$="[[!haveNotPreferred_(networkStateList_)]]">
- <template is="dom-repeat" items="[[networkStateList_]]"
- filter="networkIsNotPreferred_">
- <div class="list-item">
- <cr-link-row embedded label="[[getNetworkDisplayName_(item)]]"
- on-click="fireShowDetails_"
- role-description="$i18n{subpageArrowRoleDescription}"
- deep-link-focus-id$="[[Setting.kPreferWifiNetwork]]
- [[Setting.kForgetWifiNetwork]]">
- <template is="dom-if" if="[[isPolicySource(item.source))]]">
- <cr-policy-indicator on-click="doNothing_"
- indicator-type="[[getIndicatorTypeForSource(item.source)]]">
- </cr-policy-indicator>
- </template>
- </cr-link-row>
- <div class="separator"></div>
- <cr-icon-button class="icon-more-vert" tabindex$="[[tabindex]]"
- on-click="onMenuButtonTap_" title="$i18n{moreActions}">
- </cr-icon-button>
- </div>
- </template>
- </div>
-
- <cr-action-menu id="dotsMenu" role-description="$i18n{menu}">
- <button class="dropdown-item" hidden="[[!showAddPreferred_]]"
- on-click="onAddPreferredTap_">
- $i18n{knownNetworksMenuAddPreferred}
- </button>
- <button class="dropdown-item"
- hidden="[[!showRemovePreferred_]]" on-click="onRemovePreferredTap_">
- $i18n{knownNetworksMenuRemovePreferred}
- </button>
- <button class="dropdown-item" disabled="[[!enableForget_]]"
- on-click="onForgetTap_">
- $i18n{knownNetworksMenuForget}
- </button>
- </cr-action-menu>
-
</template>
- <script src="internet_known_networks_page.js"></script>
-</dom-module>
+</div>
+
+<div class="settings-box settings-box-text">
+ <div class="secondary">$i18n{knownNetworksAll}</div>
+</div>
+<div id="notPreferredNetworkList" class="list-frame vertical-list"
+ hidden$="[[!haveNotPreferred_(networkStateList_)]]">
+ <template is="dom-repeat" items="[[networkStateList_]]"
+ filter="networkIsNotPreferred_">
+ <div class="list-item">
+ <cr-link-row embedded label="[[getNetworkDisplayName_(item)]]"
+ on-click="fireShowDetails_"
+ role-description="$i18n{subpageArrowRoleDescription}"
+ deep-link-focus-id$="[[Setting.kPreferWifiNetwork]]
+ [[Setting.kForgetWifiNetwork]]">
+ <template is="dom-if" if="[[isPolicySource(item.source))]]">
+ <cr-policy-indicator on-click="doNothing_"
+ indicator-type="[[getIndicatorTypeForSource(item.source)]]">
+ </cr-policy-indicator>
+ </template>
+ </cr-link-row>
+ <div class="separator"></div>
+ <cr-icon-button class="icon-more-vert" tabindex$="[[tabindex]]"
+ on-click="onMenuButtonTap_" title="$i18n{moreActions}">
+ </cr-icon-button>
+ </div>
+ </template>
+</div>
+
+<cr-action-menu id="dotsMenu" role-description="$i18n{menu}">
+ <button class="dropdown-item" hidden="[[!showAddPreferred_]]"
+ on-click="onAddPreferredTap_">
+ $i18n{knownNetworksMenuAddPreferred}
+ </button>
+ <button class="dropdown-item"
+ hidden="[[!showRemovePreferred_]]" on-click="onRemovePreferredTap_">
+ $i18n{knownNetworksMenuRemovePreferred}
+ </button>
+ <button class="dropdown-item" disabled="[[!enableForget_]]"
+ on-click="onForgetTap_">
+ $i18n{knownNetworksMenuForget}
+ </button>
+</cr-action-menu>
+
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.js b/chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.js
index c1eec2c..fd35083 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.js
@@ -7,14 +7,34 @@
* 'settings-internet-known-networks' is the settings subpage listing the
* known networks for a type (currently always WiFi).
*/
+import '//resources/cr_elements/cr_action_menu/cr_action_menu.m.js';
+import '//resources/cr_elements/cr_icon_button/cr_icon_button.m.js';
+import '//resources/cr_elements/cr_link_row/cr_link_row.js';
+import '//resources/cr_elements/icons.m.js';
+import '../../settings_shared_css.js';
+import './internet_shared_css.js';
+
+import {CrPolicyNetworkBehaviorMojo} from '//resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.m.js';
+import {MojoInterfaceProvider, MojoInterfaceProviderImpl} from '//resources/cr_components/chromeos/network/mojo_interface_provider.m.js';
+import {NetworkListenerBehavior} from '//resources/cr_components/chromeos/network/network_listener_behavior.m.js';
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import {assert, assertNotReached} from '//resources/js/assert.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {Route, RouteObserverBehavior, Router} from '../../router.js';
+import {DeepLinkingBehavior} from '../deep_linking_behavior.m.js';
+import {recordClick, recordNavigation, recordPageBlur, recordPageFocus, recordSearch, recordSettingChange, setUserActionRecorderForTesting} from '../metrics_recorder.m.js';
+import {routes} from '../os_route.m.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'settings-internet-known-networks-page',

behaviors: [
DeepLinkingBehavior,
NetworkListenerBehavior,
CrPolicyNetworkBehaviorMojo,
- settings.RouteObserverBehavior,
+ RouteObserverBehavior,
],

properties: {
@@ -83,19 +103,19 @@

/** @override */
created() {
- this.networkConfig_ = network_config.MojoInterfaceProviderImpl.getInstance()
- .getMojoServiceRemote();
+ this.networkConfig_ =
+ MojoInterfaceProviderImpl.getInstance().getMojoServiceRemote();
},

/**
- * settings.RouteObserverBehavior
- * @param {!settings.Route} route
- * @param {!settings.Route} oldRoute
+ * RouteObserverBehavior
+ * @param {!Route} route
+ * @param {!Route} oldRoute
* @protected
*/
currentRouteChanged(route, oldRoute) {
// Does not apply to this page.
- if (route !== settings.routes.KNOWN_NETWORKS) {
+ if (route !== routes.KNOWN_NETWORKS) {
return;
}

@@ -242,7 +262,7 @@
JSON.stringify(config));
}
});
- settings.recordSettingChange();
+ recordSettingChange();
},

/** @private */
@@ -272,10 +292,9 @@
});

if (this.networkType === chromeos.networkConfig.mojom.NetworkType.kWiFi) {
- settings.recordSettingChange(
- chromeos.settings.mojom.Setting.kForgetWifiNetwork);
+ recordSettingChange(chromeos.settings.mojom.Setting.kForgetWifiNetwork);
} else {
- settings.recordSettingChange();
+ recordSettingChange();
}

/** @type {!CrActionMenuElement} */ (this.$.dotsMenu).close();
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_page.html b/chrome/browser/resources/settings/chromeos/internet_page/internet_page.html
index 7d51597..6863673 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_page.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_page.html
@@ -1,216 +1,172 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="os-settings-icons settings-shared">
+ iron-icon.policy {
+ height: 24px;
+ margin-inline-end: 12px;
+ margin-inline-start: 4px;
+ width: 24px;
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/cellular_setup_icons.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/cellular_types.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/esim_manager_utils.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/cellular_utils.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/mojo_interface_provider.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_listener_behavior.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/sim_lock_dialogs.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_expand_button/cr_expand_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_toast/cr_toast.html">
-<link rel="import" href="chrome://resources/cr_elements/icons.html">
-<link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_indicator.html">
-<link rel="import" href="chrome://resources/html/assert.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html">
-<link rel="import" href="../../chromeos/os_settings_icons_css.html">
-<link rel="import" href="../../prefs/prefs.html">
-<link rel="import" href="../../router.html">
-<link rel="import" href="../../settings_page/settings_animated_pages.html">
-<link rel="import" href="../../settings_page/settings_subpage.html">
-<link rel="import" href="../../settings_shared_css.html">
-<link rel="import" href="../deep_linking_behavior.html">
-<link rel="import" href="../metrics_recorder.html">
-<link rel="import" href="../os_route.html">
-<link rel="import" href="cellular_setup_dialog.html">
-<link rel="import" href="internet_config.html">
-<link rel="import" href="internet_detail_menu.html">
-<link rel="import" href="internet_detail_page.html">
-<link rel="import" href="internet_known_networks_page.html">
-<link rel="import" href="internet_page_browser_proxy.html">
-<link rel="import" href="internet_subpage.html">
-<link rel="import" href="network_summary.html">
-<link rel="import" href="esim_rename_dialog.html">
-<link rel="import" href="esim_remove_profile_dialog.html">
+ cr-toast {
+ --iron-icon-fill-color: var(--google-yellow-500);
+ }

-<dom-module id="settings-internet-page">
- <template>
- <style include="os-settings-icons settings-shared">
- iron-icon.policy {
- height: 24px;
- margin-inline-end: 12px;
- margin-inline-start: 4px;
- width: 24px;
- }
-
- cr-toast {
- --iron-icon-fill-color: var(--google-yellow-500);
- }
-
- cr-toast iron-icon {
- margin-inline-end: 16px;
- }
- </style>
- <settings-animated-pages id="pages" section="internet"
- focus-config="[[focusConfig_]]">
- <div route-path="default">
- <network-summary default-network="{{defaultNetwork}}"
- device-states="{{deviceStates}}"
- on-active-networks-updated="attemptDeepLink">
- </network-summary>
- <template is="dom-if" if="[[allowAddConnection_(globalPolicy_,
- managedNetworkAvailable)]]">
- <cr-expand-button
- aria-label="$i18n{internetAddConnectionExpandA11yLabel}"
- class="settings-box two-line"
- expanded="{{addConnectionExpanded_}}"
- id="expandAddConnections">
- <span aria-hidden="true">
- $i18n{internetAddConnection}
- </span>
- </cr-expand-button>
- <template is="dom-if" if="[[addConnectionExpanded_]]">
- <div class="list-frame vertical-list">
- <template is="dom-if" if="[[wifiIsEnabled_(deviceStates)]]">
- <div actionable class="list-item" on-click="onAddWiFiTap_">
- <div class="start settings-box-text"
- id="add-wifi-label" aria-hidden="true">
- $i18n{internetAddWiFi}
- </div>
- <cr-icon-button class="icon-add-wifi"
- aria-labelledby="add-wifi-label"></cr-icon-button>
- </div>
- </template>
- <div actionable$="[[!vpnIsProhibited_]]" class="list-item"
- on-click="onAddVPNTap_">
- <div class="start settings-box-text"
- id="add-vpn-label" aria-hidden="true">
- $i18n{internetAddVPN}
- </div>
- <template is="dom-if" if="[[vpnIsProhibited_]]">
- <cr-policy-indicator id="vpnPolicyIndicator"
- icon-aria-label="$i18n{networkVpnBuiltin}"
- indicator-type="devicePolicy"
- on-click="doNothing_">
- </cr-policy-indicator>
- </template>
- <cr-icon-button class="icon-add-circle"
- aria-labelledby="add-vpn-label"
- disabled="[[vpnIsProhibited_]]">
- </cr-icon-button>
+ cr-toast iron-icon {
+ margin-inline-end: 16px;
+ }
+</style>
+<settings-animated-pages id="pages" section="internet"
+ focus-config="[[focusConfig_]]">
+ <div route-path="default">
+ <network-summary default-network="{{defaultNetwork}}"
+ device-states="{{deviceStates}}"
+ on-active-networks-updated="attemptDeepLink">
+ </network-summary>
+ <template is="dom-if" if="[[allowAddConnection_(globalPolicy_,
+ managedNetworkAvailable)]]">
+ <cr-expand-button
+ aria-label="$i18n{internetAddConnectionExpandA11yLabel}"
+ class="settings-box two-line"
+ expanded="{{addConnectionExpanded_}}"
+ id="expandAddConnections">
+ <span aria-hidden="true">
+ $i18n{internetAddConnection}
+ </span>
+ </cr-expand-button>
+ <template is="dom-if" if="[[addConnectionExpanded_]]">
+ <div class="list-frame vertical-list">
+ <template is="dom-if" if="[[wifiIsEnabled_(deviceStates)]]">
+ <div actionable class="list-item" on-click="onAddWiFiTap_">
+ <div class="start settings-box-text"
+ id="add-wifi-label" aria-hidden="true">
+ $i18n{internetAddWiFi}
</div>
- <template is="dom-repeat" items="[[vpnProviders_]]">
- <div actionable class="list-item"
- on-click="onAddThirdPartyVpnTap_">
- <div class="start settings-box-text">
- [[getAddThirdPartyVpnLabel_(item)]]
- </div>
- <cr-icon-button class="icon-external"
- aria-label$="[[getAddThirdPartyVpnLabel_(item)]]">
- </cr-icon-button>
- </div>
- </template>
+ <cr-icon-button class="icon-add-wifi"
+ aria-labelledby="add-wifi-label"></cr-icon-button>
</div>
</template>
- </template>
- <template is="dom-if" if="[[!allowAddConnection_(globalPolicy_,
- managedNetworkAvailable)]]">
- <div class="settings-box">
- <iron-icon class="policy" icon="cr20:domain"></iron-icon>
- <div class="settings-box-text">
- $i18n{internetAddConnectionNotAllowed}
+ <div actionable$="[[!vpnIsProhibited_]]" class="list-item"
+ on-click="onAddVPNTap_">
+ <div class="start settings-box-text"
+ id="add-vpn-label" aria-hidden="true">
+ $i18n{internetAddVPN}
</div>
+ <template is="dom-if" if="[[vpnIsProhibited_]]">
+ <cr-policy-indicator id="vpnPolicyIndicator"
+ icon-aria-label="$i18n{networkVpnBuiltin}"
+ indicator-type="devicePolicy"
+ on-click="doNothing_">
+ </cr-policy-indicator>
+ </template>
+ <cr-icon-button class="icon-add-circle"
+ aria-labelledby="add-vpn-label"
+ disabled="[[vpnIsProhibited_]]">
+ </cr-icon-button>
</div>
- </template>
- </div>
-
- <template is="dom-if" route-path="/networkDetail" no-search restamp>
- <settings-subpage page-title="$i18n{internetDetailPageTitle}">
- <template is="dom-if" if="[[isUpdatedCellularUiEnabled_]]" restamp>
- <settings-internet-detail-menu
- slot="subpage-title-extra"
- device-state="[[getDeviceState_(subpageType_, deviceStates)]]">
- </settings-internet-detail-menu>
+ <template is="dom-repeat" items="[[vpnProviders_]]">
+ <div actionable class="list-item"
+ on-click="onAddThirdPartyVpnTap_">
+ <div class="start settings-box-text">
+ [[getAddThirdPartyVpnLabel_(item)]]
+ </div>
+ <cr-icon-button class="icon-external"
+ aria-label$="[[getAddThirdPartyVpnLabel_(item)]]">
+ </cr-icon-button>
+ </div>
</template>
- <settings-internet-detail-page prefs="{{prefs}}"
- default-network="[[defaultNetwork]]"
- global-policy="[[globalPolicy_]]"
- managed-network-available="[[managedNetworkAvailable]]">
- </settings-internet-detail-page>
- </settings-subpage>
+ </div>
</template>
+ </template>
+ <template is="dom-if" if="[[!allowAddConnection_(globalPolicy_,
+ managedNetworkAvailable)]]">
+ <div class="settings-box">
+ <iron-icon class="policy" icon="cr20:domain"></iron-icon>
+ <div class="settings-box-text">
+ $i18n{internetAddConnectionNotAllowed}
+ </div>
+ </div>
+ </template>
+ </div>

- <template is="dom-if" route-path="/knownNetworks" no-search restamp>
- <settings-subpage page-title="$i18n{internetKnownNetworksPageTitle}">
- <settings-internet-known-networks-page
- network-type="[[knownNetworksType_]]">
- </settings-internet-known-networks-page>
- </settings-subpage>
+ <template is="dom-if" route-path="/networkDetail" no-search restamp>
+ <settings-subpage page-title="$i18n{internetDetailPageTitle}">
+ <template is="dom-if" if="[[isUpdatedCellularUiEnabled_]]" restamp>
+ <settings-internet-detail-menu
+ slot="subpage-title-extra"
+ device-state="[[getDeviceState_(subpageType_, deviceStates)]]">
+ </settings-internet-detail-menu>
</template>
-
- <template is="dom-if" route-path="/networks" no-search restamp>
- <settings-subpage page-title="[[getNetworksPageTitle_(subpageType_)]]"
- show-spinner="[[showSpinner_]]"
- spinner-title="$i18n{networkScanningLabel}">
- <settings-internet-subpage
- default-network="[[defaultNetwork]]"
- device-state="[[getDeviceState_(subpageType_, deviceStates)]]"
- tether-device-state="[[getTetherDeviceState_(deviceStates)]]"
- global-policy="[[globalPolicy_]]"
- vpn-providers="[[vpnProviders_]]"
- show-spinner="{{showSpinner_}}"
- is-connected-to-non-cellular-network="[[isConnectedToNonCellularNetwork_]]"
- is-cellular-setup-active="[[showCellularSetupDialog_]]">
- </settings-internet-subpage>
- </settings-subpage>
- </template>
-
- </settings-animated-pages>
-
- <template is="dom-if" if="[[showInternetConfig_]]" restamp>
- <internet-config id="configDialog" on-close="onInternetConfigClose_">
- </internet-config>
- </template>
-
- <template is="dom-if" if="[[showCellularSetupDialog_]]" restamp>
- <os-settings-cellular-setup-dialog id="cellularSetupDialog"
- on-close="onCloseCellularSetupDialog_"
- page-name="[[cellularSetupDialogPageName_]]">
- </os-settings-cellular-setup-dialog>
- </template>
-
- <template is="dom-if" if="[[showESimProfileRenameDialog_]]" restamp>
- <esim-rename-dialog id="esimRenameDialog"
- on-close="onCloseESimProfileRenameDialog_"
- network-state="[[eSimNetworkState_]]"
- show-cellular-disconnect-warning="[[hasActiveCellularNetwork_]]">
- </esim-rename-dialog>
- </template>
-
- <template is="dom-if" if="[[showESimRemoveProfileDialog_]]" restamp>
- <esim-remove-profile-dialog id="esimRemoveProfileDialog"
- on-close="onCloseESimRemoveProfileDialog_"
- on-show-error-toast="onShowErrorToast_"
- network-state="[[eSimNetworkState_]]"
- show-cellular-disconnect-warning="[[hasActiveCellularNetwork_]]">
- </esim-remove-profile-dialog>
- </template>
-
- <template is="dom-if" if="[[showSimLockDialog_]]" restamp>
- <sim-lock-dialogs
- is-dialog-open="{{showSimLockDialog_}}"
- device-state="[[getDeviceState_(subpageType_, deviceStates)]]">
- </sim-lock-dialogs>
- </template>
-
- <cr-toast id="errorToast" duration="5000">
- <iron-icon icon="cellular-setup:warning"></iron-icon>
- <span id="errorToastMessage">[[errorToastMessage_]]</span>
- </cr-toast>
+ <settings-internet-detail-page prefs="{{prefs}}"
+ default-network="[[defaultNetwork]]"
+ global-policy="[[globalPolicy_]]"
+ managed-network-available="[[managedNetworkAvailable]]">
+ </settings-internet-detail-page>
+ </settings-subpage>
</template>
- <script src="internet_page.js"></script>
-</dom-module>
+
+ <template is="dom-if" route-path="/knownNetworks" no-search restamp>
+ <settings-subpage page-title="$i18n{internetKnownNetworksPageTitle}">
+ <settings-internet-known-networks-page
+ network-type="[[knownNetworksType_]]">
+ </settings-internet-known-networks-page>
+ </settings-subpage>
+ </template>
+
+ <template is="dom-if" route-path="/networks" no-search restamp>
+ <settings-subpage page-title="[[getNetworksPageTitle_(subpageType_)]]"
+ show-spinner="[[showSpinner_]]"
+ spinner-title="$i18n{networkScanningLabel}">
+ <settings-internet-subpage
+ default-network="[[defaultNetwork]]"
+ device-state="[[getDeviceState_(subpageType_, deviceStates)]]"
+ tether-device-state="[[getTetherDeviceState_(deviceStates)]]"
+ global-policy="[[globalPolicy_]]"
+ vpn-providers="[[vpnProviders_]]"
+ show-spinner="{{showSpinner_}}"
+ is-connected-to-non-cellular-network="[[isConnectedToNonCellularNetwork_]]"
+ is-cellular-setup-active="[[showCellularSetupDialog_]]">
+ </settings-internet-subpage>
+ </settings-subpage>
+ </template>
+
+</settings-animated-pages>
+
+<template is="dom-if" if="[[showInternetConfig_]]" restamp>
+ <internet-config id="configDialog" on-close="onInternetConfigClose_">
+ </internet-config>
+</template>
+
+<template is="dom-if" if="[[showCellularSetupDialog_]]" restamp>
+ <os-settings-cellular-setup-dialog id="cellularSetupDialog"
+ on-close="onCloseCellularSetupDialog_"
+ page-name="[[cellularSetupDialogPageName_]]">
+ </os-settings-cellular-setup-dialog>
+</template>
+
+<template is="dom-if" if="[[showESimProfileRenameDialog_]]" restamp>
+ <esim-rename-dialog id="esimRenameDialog"
+ on-close="onCloseESimProfileRenameDialog_"
+ network-state="[[eSimNetworkState_]]"
+ show-cellular-disconnect-warning="[[hasActiveCellularNetwork_]]">
+ </esim-rename-dialog>
+</template>
+
+<template is="dom-if" if="[[showESimRemoveProfileDialog_]]" restamp>
+ <esim-remove-profile-dialog id="esimRemoveProfileDialog"
+ on-close="onCloseESimRemoveProfileDialog_"
+ on-show-error-toast="onShowErrorToast_"
+ network-state="[[eSimNetworkState_]]"
+ show-cellular-disconnect-warning="[[hasActiveCellularNetwork_]]">
+ </esim-remove-profile-dialog>
+</template>
+
+<template is="dom-if" if="[[showSimLockDialog_]]" restamp>
+ <sim-lock-dialogs
+ is-dialog-open="{{showSimLockDialog_}}"
+ device-state="[[getDeviceState_(subpageType_, deviceStates)]]">
+ </sim-lock-dialogs>
+</template>
+
+<cr-toast id="errorToast" duration="5000">
+ <iron-icon icon="cellular-setup:warning"></iron-icon>
+ <span id="errorToastMessage">[[errorToastMessage_]]</span>
+</cr-toast>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_page.js b/chrome/browser/resources/settings/chromeos/internet_page/internet_page.js
index 500636f..497f6d2 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_page.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_page.js
@@ -2,7 +2,47 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

-(function() {
+import '//resources/cr_components/chromeos/cellular_setup/cellular_setup_icons.m.js';
+import '//resources/cr_components/chromeos/network/sim_lock_dialogs.m.js';
+import '//resources/cr_elements/cr_expand_button/cr_expand_button.m.js';
+import '//resources/cr_elements/cr_icon_button/cr_icon_button.m.js';
+import '//resources/cr_elements/cr_toast/cr_toast.m.js';
+import '//resources/cr_elements/icons.m.js';
+import '//resources/cr_elements/policy/cr_policy_indicator.m.js';
+import '//resources/polymer/v3_0/iron-icon/iron-icon.js';
+import '../os_settings_icons_css.m.js';
+import '../../prefs/prefs.js';
+import '../../settings_page/settings_animated_pages.js';
+import '../../settings_page/settings_subpage.js';
+import '../../settings_shared_css.js';
+import './cellular_setup_dialog.js';
+import './internet_config.js';
+import './internet_detail_menu.js';
+import './internet_detail_page.js';
+import './internet_known_networks_page.js';
+import './internet_subpage.js';
+import './network_summary.js';
+import './esim_rename_dialog.js';
+import './esim_remove_profile_dialog.js';
+
+import {Button, ButtonBarState, ButtonState, CellularSetupPageName} from '//resources/cr_components/chromeos/cellular_setup/cellular_types.m.js';
+import {getESimProfile, getESimProfileProperties, getEuicc, getNonPendingESimProfiles, getNumESimProfiles, getPendingESimProfiles} from '//resources/cr_components/chromeos/cellular_setup/esim_manager_utils.m.js';
+import {getSimSlotCount, hasActiveCellularNetwork, isActiveSim, isConnectedToNonCellularNetwork} from '//resources/cr_components/chromeos/network/cellular_utils.m.js';
+import {MojoInterfaceProvider, MojoInterfaceProviderImpl} from '//resources/cr_components/chromeos/network/mojo_interface_provider.m.js';
+import {NetworkListenerBehavior} from '//resources/cr_components/chromeos/network/network_listener_behavior.m.js';
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import {assert, assertNotReached} from '//resources/js/assert.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {WebUIListenerBehavior} from '//resources/js/web_ui_listener_behavior.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {Route, RouteObserverBehavior, Router} from '../../router.js';
+import {DeepLinkingBehavior} from '../deep_linking_behavior.m.js';
+import {recordClick, recordNavigation, recordPageBlur, recordPageFocus, recordSearch, recordSettingChange, setUserActionRecorderForTesting} from '../metrics_recorder.m.js';
+import {routes} from '../os_route.m.js';
+
+import {InternetPageBrowserProxy, InternetPageBrowserProxyImpl} from './internet_page_browser_proxy.js';
+

const mojom = chromeos.networkConfig.mojom;

@@ -15,13 +55,14 @@
* settings.
*/
Polymer({
+ _template: html`{__html_template__}`,
is: 'settings-internet-page',

behaviors: [
NetworkListenerBehavior,
DeepLinkingBehavior,
I18nBehavior,
- settings.RouteObserverBehavior,
+ RouteObserverBehavior,
WebUIListenerBehavior,
],

@@ -125,7 +166,7 @@
/**
* Page name, if defined, indicating that the next deviceStates update
* should call attemptShowCellularSetupDialog_().
- * @private {cellularSetup.CellularSetupPageName|null}
+ * @private {CellularSetupPageName|null}
*/
pendingShowCellularSetupDialogAttemptPageName_: {
type: String,
@@ -140,7 +181,7 @@

/**
* Name of cellular setup dialog page.
- * @private {!cellularSetup.CellularSetupPageName|null}
+ * @private {!CellularSetupPageName|null}
*/
cellularSetupDialogPageName_: String,

@@ -248,7 +289,7 @@
'show-error-toast': 'onShowErrorToast_',
},

- /** @private {?settings.InternetPageBrowserProxy} */
+ /** @private {?InternetPageBrowserProxy} */
browserProxy_: null,

/** @private {?chromeos.networkConfig.mojom.CrosNetworkConfigRemote} */
@@ -256,9 +297,9 @@

/** @override */
created() {
- this.browserProxy_ = settings.InternetPageBrowserProxyImpl.getInstance();
- this.networkConfig_ = network_config.MojoInterfaceProviderImpl.getInstance()
- .getMojoServiceRemote();
+ this.browserProxy_ = InternetPageBrowserProxyImpl.getInstance();
+ this.networkConfig_ =
+ MojoInterfaceProviderImpl.getInstance().getMojoServiceRemote();
},

/** @override */
@@ -284,7 +325,7 @@
networkType = mojom.NetworkType.kCellular;
}

- Polymer.RenderStatus.afterNextRender(this, () => {
+ afterNextRender(this, () => {
const networkRow = this.$$('network-summary').getNetworkRow(networkType);
if (networkRow && networkRow.getDeviceEnabledToggle()) {
this.showDeepLinkElement(networkRow.getDeviceEnabledToggle());
@@ -297,16 +338,16 @@
},

/**
- * settings.RouteObserverBehavior
- * @param {!settings.Route} route
- * @param {!settings.Route} oldRoute
+ * RouteObserverBehavior
+ * @param {!Route} route
+ * @param {!Route} oldRoute
* @protected
*/
currentRouteChanged(route, oldRoute) {
- if (route === settings.routes.INTERNET_NETWORKS) {
+ if (route === routes.INTERNET_NETWORKS) {
// Handle direct navigation to the networks page,
// e.g. chrome://settings/internet/networks?type=WiFi
- const queryParams = settings.Router.getInstance().getQueryParameters();
+ const queryParams = Router.getInstance().getQueryParameters();
const type = queryParams.get('type');
if (type) {
this.subpageType_ = OncMojo.getNetworkTypeFromString(type);
@@ -314,8 +355,8 @@

if (!oldRoute && queryParams.get('showCellularSetup') === 'true') {
const pageName = queryParams.get('showPsimFlow') === 'true' ?
- cellularSetup.CellularSetupPageName.PSIM_FLOW_UI :
- cellularSetup.CellularSetupPageName.ESIM_FLOW_UI;
+ CellularSetupPageName.PSIM_FLOW_UI :
+ CellularSetupPageName.ESIM_FLOW_UI;
// If the page just loaded, deviceStates will not be fully initialized
// yet. Set pendingShowCellularSetupDialogAttemptPageName_ to indicate
// showCellularSetupDialogAttempt_() should be called next deviceStates
@@ -331,30 +372,29 @@
!!queryParams.get('showSimLockDialog') &&
this.subpageType_ === mojom.NetworkType.kCellular &&
this.isUpdatedCellularUiEnabled_;
- } else if (route === settings.routes.KNOWN_NETWORKS) {
+ } else if (route === routes.KNOWN_NETWORKS) {
// Handle direct navigation to the known networks page,
// e.g. chrome://settings/internet/knownNetworks?type=WiFi
- const queryParams = settings.Router.getInstance().getQueryParameters();
+ const queryParams = Router.getInstance().getQueryParameters();
const type = queryParams.get('type');
if (type) {
this.knownNetworksType_ = OncMojo.getNetworkTypeFromString(type);
}
- } else if (route === settings.routes.INTERNET) {
+ } else if (route === routes.INTERNET) {
// Show deep links for the internet page.
this.attemptDeepLink();
- } else if (route !== settings.routes.BASIC) {
+ } else if (route !== routes.BASIC) {
// If we are navigating to a non internet section, do not set focus.
return;
}

- if (!settings.routes.INTERNET ||
- !settings.routes.INTERNET.contains(oldRoute)) {
+ if (!routes.INTERNET || !routes.INTERNET.contains(oldRoute)) {
return;
}

// Focus the subpage arrow where appropriate.
let element;
- if (route === settings.routes.INTERNET_NETWORKS) {
+ if (route === routes.INTERNET_NETWORKS) {
// iron-list makes the correct timing to focus an item in the list
// very complicated, and the item may not exist, so just focus the
// entire list for now.
@@ -418,7 +458,7 @@
onDeviceEnabledToggled_(event) {
this.networkConfig_.setNetworkTypeEnabledState(
event.detail.type, event.detail.enabled);
- settings.recordSettingChange();
+ recordSettingChange();
},

/**
@@ -449,7 +489,7 @@
* Opens the cellular setup dialog if pageName is PSIM_FLOW_UI, or if pageName
* is ESIM_FLOW_UI and isConnectedToNonCellularNetwork_ is true. If
* isConnectedToNonCellularNetwork_ is false, shows an error toast.
- * @param {cellularSetup.CellularSetupPageName} pageName
+ * @param {CellularSetupPageName} pageName
* @private
*/
attemptShowCellularSetupDialog_(pageName) {
@@ -461,7 +501,7 @@
return;
}

- if (pageName === cellularSetup.CellularSetupPageName.PSIM_FLOW_UI) {
+ if (pageName === CellularSetupPageName.PSIM_FLOW_UI) {
this.showCellularSetupDialog_ = true;
this.cellularSetupDialogPageName_ = pageName;
} else {
@@ -471,7 +511,7 @@

/** @private */
async attemptShowESimSetupDialog_() {
- const numProfiles = await cellular_setup.getNumESimProfiles();
+ const numProfiles = await getNumESimProfiles();
if (numProfiles >= ESIM_PROFILE_LIMIT) {
this.showErrorToast_(
this.i18n('eSimProfileLimitReachedErrorToast', ESIM_PROFILE_LIMIT));
@@ -488,7 +528,7 @@
return;
}
this.cellularSetupDialogPageName_ =
- cellularSetup.CellularSetupPageName.ESIM_FLOW_UI;
+ CellularSetupPageName.ESIM_FLOW_UI;
}).bind(this));
},

@@ -558,8 +598,7 @@
params.append('guid', networkState.guid);
params.append('type', OncMojo.getNetworkTypeString(networkState.type));
params.append('name', OncMojo.getNetworkStateDisplayName(networkState));
- settings.Router.getInstance().navigateTo(
- settings.routes.NETWORK_DETAIL, params);
+ Router.getInstance().navigateTo(routes.NETWORK_DETAIL, params);
},

/**
@@ -699,8 +738,7 @@
this.knownNetworksType_ = type;
const params = new URLSearchParams;
params.append('type', OncMojo.getNetworkTypeString(type));
- settings.Router.getInstance().navigateTo(
- settings.routes.KNOWN_NETWORKS, params);
+ Router.getInstance().navigateTo(routes.KNOWN_NETWORKS, params);
},

/** @private */
@@ -726,7 +764,7 @@
onAddThirdPartyVpnTap_(event) {
const provider = event.model.item;
this.browserProxy_.addThirdPartyVpn(provider.appId);
- settings.recordSettingChange();
+ recordSettingChange();
},

/**
@@ -738,8 +776,7 @@
const params = new URLSearchParams;
params.append('type', OncMojo.getNetworkTypeString(type));
this.subpageType_ = type;
- settings.Router.getInstance().navigateTo(
- settings.routes.INTERNET_NETWORKS, params);
+ Router.getInstance().navigateTo(routes.INTERNET_NETWORKS, params);
},

/**
@@ -825,8 +862,7 @@
params.append('name', displayName);
params.append('showConfigure', true.toString());

- settings.Router.getInstance().navigateTo(
- settings.routes.NETWORK_DETAIL, params);
+ Router.getInstance().navigateTo(routes.NETWORK_DETAIL, params);
return;
}

@@ -867,4 +903,3 @@
});
},
});
-})();
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_page_browser_proxy.js b/chrome/browser/resources/settings/chromeos/internet_page/internet_page_browser_proxy.js
index a5e2f7dc..f4c37f5 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_page_browser_proxy.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_page_browser_proxy.js
@@ -3,95 +3,89 @@
// found in the LICENSE file.

// clang-format off
-// #import {addSingletonGetter, addWebUIListener} from 'chrome://resources/js/cr.m.js';
+import {addSingletonGetter, addWebUIListener} from 'chrome://resources/js/cr.m.js';
// clang-format on

/** @fileoverview A helper object used for Internet page. */
-cr.define('settings', function() {
/** @interface */
- /* #export */ class InternetPageBrowserProxy {
- /**
- * Shows the account details page of a cellular network.
- * @param {string} guid
- */
- showCarrierAccountDetail(guid) {}
-
- /**
- * Shows the Cellular activation UI.
- * @param {string} guid
- */
- showCellularSetupUI(guid) {}
-
- /**
- * Shows configuration for external VPNs. Includes ThirdParty (extension
- * configured) VPNs, and Arc VPNs.
- * @param {string} guid
- */
- configureThirdPartyVpn(guid) {}
-
- /**
- * Sends an add VPN request to the external VPN provider (ThirdParty VPN
- * extension or Arc VPN provider app).
- * @param {string} appId
- */
- addThirdPartyVpn(appId) {}
-
- /**
- * Requests that Chrome send the list of devices whose "Google Play
- * Services" notifications are disabled (these notifications must be enabled
- * to utilize Instant Tethering). The names will be provided via
- * setGmsCoreNotificationsDisabledDeviceNamesCallback().
- */
- requestGmsCoreNotificationsDisabledDeviceNames() {}
-
- /**
- * Sets the callback to be used to receive the list of devices whose "Google
- * Play Services" notifications are disabled. |callback| is invoked with an
- * array of the names of these devices; note that if no devices have this
- * property, the provided list of device names is empty.
- * @param {function(!Array<string>):void} callback
- */
- setGmsCoreNotificationsDisabledDeviceNamesCallback(callback) {}
- }
+export class InternetPageBrowserProxy {
+ /**
+ * Shows the account details page of a cellular network.
+ * @param {string} guid
+ */
+ showCarrierAccountDetail(guid) {}

/**
- * @implements {settings.InternetPageBrowserProxy}
+ * Shows the Cellular activation UI.
+ * @param {string} guid
*/
- /* #export */ class InternetPageBrowserProxyImpl {
- /** @override */
- showCarrierAccountDetail(guid) {
- chrome.send('showCarrierAccountDetail', [guid]);
- }
+ showCellularSetupUI(guid) {}

- /** @override */
- showCellularSetupUI(guid) {
- chrome.send('showCellularSetupUI', [guid]);
- }
+ /**
+ * Shows configuration for external VPNs. Includes ThirdParty (extension
+ * configured) VPNs, and Arc VPNs.
+ * @param {string} guid
+ */
+ configureThirdPartyVpn(guid) {}

- /** @override */
- configureThirdPartyVpn(guid) {
- chrome.send('configureThirdPartyVpn', [guid]);
- }
+ /**
+ * Sends an add VPN request to the external VPN provider (ThirdParty VPN
+ * extension or Arc VPN provider app).
+ * @param {string} appId
+ */
+ addThirdPartyVpn(appId) {}

- /** @override */
- addThirdPartyVpn(appId) {
- chrome.send('addThirdPartyVpn', [appId]);
- }
+ /**
+ * Requests that Chrome send the list of devices whose "Google Play
+ * Services" notifications are disabled (these notifications must be enabled
+ * to utilize Instant Tethering). The names will be provided via
+ * setGmsCoreNotificationsDisabledDeviceNamesCallback().
+ */
+ requestGmsCoreNotificationsDisabledDeviceNames() {}

- /** @override */
- requestGmsCoreNotificationsDisabledDeviceNames() {
- chrome.send('requestGmsCoreNotificationsDisabledDeviceNames');
- }
+ /**
+ * Sets the callback to be used to receive the list of devices whose "Google
+ * Play Services" notifications are disabled. |callback| is invoked with an
+ * array of the names of these devices; note that if no devices have this
+ * property, the provided list of device names is empty.
+ * @param {function(!Array<string>):void} callback
+ */
+ setGmsCoreNotificationsDisabledDeviceNamesCallback(callback) {}
+}

- /** @override */
- setGmsCoreNotificationsDisabledDeviceNamesCallback(callback) {
- cr.addWebUIListener(
- 'sendGmsCoreNotificationsDisabledDeviceNames', callback);
- }
+/**
+ * @implements {InternetPageBrowserProxy}
+ */
+export class InternetPageBrowserProxyImpl {
+ /** @override */
+ showCarrierAccountDetail(guid) {
+ chrome.send('showCarrierAccountDetail', [guid]);
}

- cr.addSingletonGetter(InternetPageBrowserProxyImpl);
+ /** @override */
+ showCellularSetupUI(guid) {
+ chrome.send('showCellularSetupUI', [guid]);
+ }

- // #cr_define_end
- return {InternetPageBrowserProxy, InternetPageBrowserProxyImpl};
-});
+ /** @override */
+ configureThirdPartyVpn(guid) {
+ chrome.send('configureThirdPartyVpn', [guid]);
+ }
+
+ /** @override */
+ addThirdPartyVpn(appId) {
+ chrome.send('addThirdPartyVpn', [appId]);
+ }
+
+ /** @override */
+ requestGmsCoreNotificationsDisabledDeviceNames() {
+ chrome.send('requestGmsCoreNotificationsDisabledDeviceNames');
+ }
+
+ /** @override */
+ setGmsCoreNotificationsDisabledDeviceNamesCallback(callback) {
+ addWebUIListener('sendGmsCoreNotificationsDisabledDeviceNames', callback);
+ }
+}
+
+addSingletonGetter(InternetPageBrowserProxyImpl);
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.html b/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.html
index acb8f9b..f56ed93 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.html
@@ -1,30 +1,25 @@
-<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
-<link rel="import" href="../../settings_shared_css.html">

-<!-- Common styles for Internet settings. -->
-<dom-module id="internet-shared">
- <template>
- <style include="settings-shared">
- network-icon {
- padding-inline-end: var(--cr-section-padding);
- }
+<template>
+ <style include="settings-shared">
+ network-icon {
+ padding-inline-end: var(--cr-section-padding);
+ }

- iron-icon.policy {
- margin-inline-end: var(--cr-controlled-by-spacing);
- }
+ iron-icon.policy {
+ margin-inline-end: var(--cr-controlled-by-spacing);
+ }

- .indented {
- margin-inline-start: var(--cr-section-padding);
- }
+ .indented {
+ margin-inline-start: var(--cr-section-padding);
+ }

- .stretch {
- align-items: stretch;
- }
+ .stretch {
+ align-items: stretch;
+ }

- .title {
- font-size: 107.69%; /* 14px / 13px */
- font-weight: 500;
- }
- </style>
- </template>
-</dom-module>
+ .title {
+ font-size: 107.69%; /* 14px / 13px */
+ font-weight: 500;
+ }
+ </style>
+</template>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.js b/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.js
new file mode 100644
index 0000000..659d6aa
--- /dev/null
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.js
@@ -0,0 +1,7 @@
+import '//resources/cr_elements/shared_vars_css.m.js';
+import '../../settings_shared_css.js';
+const template = document.createElement('template');
+template.innerHTML = `
+<dom-module id="internet-shared" assetpath="chrome://resources/">{__html_template__}</dom-module>
+`;
+document.body.appendChild(template.content.cloneNode(true));
\ No newline at end of file
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_subpage.html b/chrome/browser/resources/settings/chromeos/internet_page/internet_subpage.html
index 0d400cf..a516ade 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_subpage.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_subpage.html
@@ -1,289 +1,254 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="cr-shared-style os-settings-icons settings-shared iron-flex">
+ #networkListDiv {
+ min-height: var(--settings-row-min-height);
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/mojo_interface_provider.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_list.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_listener_behavior.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_link_row/cr_link_row.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_toggle/cr_toggle.html">
-<link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_indicator.html">
-<link rel="import" href="chrome://resources/cr_elements/md_select_css.html">
-<link rel="import" href="chrome://resources/cr_elements/shared_style_css.html">
-<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
-<link rel="import" href="chrome://resources/html/assert.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html">
-<link rel="import" href="../../chromeos/os_settings_icons_css.html">
-<link rel="import" href="../../router.html">
-<link rel="import" href="../../settings_shared_css.html">
-<link rel="import" href="../deep_linking_behavior.html">
-<link rel="import" href="../localized_link/localized_link.html">
-<link rel="import" href="../metrics_recorder.html">
-<link rel="import" href="../os_route.html">
-<link rel="import" href="./cellular_networks_list.html">
-<link rel="import" href="../route_origin_behavior.html">
-<link rel="import" href="internet_page_browser_proxy.html">
-<link rel="import" href="network_always_on_vpn.html">
+ :host(:not([is-showing-vpn_])) #networkListDiv {
+ margin-top: var(--cr-section-vertical-margin);
+ }

-<dom-module id="settings-internet-subpage">
- <template>
- <style include="cr-shared-style os-settings-icons settings-shared iron-flex">
- #networkListDiv {
- min-height: var(--settings-row-min-height);
- }
+ #cellularNetworkList {
+ /* No extra margin-top when displaying the cellular network list. */
+ margin-top: calc(-1*var(--cr-section-vertical-margin));
+ }

- :host(:not([is-showing-vpn_])) #networkListDiv {
- margin-top: var(--cr-section-vertical-margin);
- }
+ /* Set padding on children instead of the container itself to ensure that
+ separator lines can fill the entire width of the page. */
+ #networkListDiv > * {
+ /* network-list is padded to the right to allow space for a ripple */
+ padding-inline-end: calc(var(--cr-section-padding) -
+ var(--cr-icon-ripple-padding));
+ padding-inline-start: var(--cr-section-padding);
+ }

- #cellularNetworkList {
- /* No extra margin-top when displaying the cellular network list. */
- margin-top: calc(-1*var(--cr-section-vertical-margin));
- }
+ .add-button {
+ margin-inline-end: var(--settings-control-label-spacing);
+ }

- /* Set padding on children instead of the container itself to ensure that
- separator lines can fill the entire width of the page. */
- #networkListDiv > * {
- /* network-list is padded to the right to allow space for a ripple */
- padding-inline-end: calc(var(--cr-section-padding) -
- var(--cr-icon-ripple-padding));
- padding-inline-start: var(--cr-section-padding);
- }
+ #onOff {
+ font-weight: 500;
+ }

- .add-button {
- margin-inline-end: var(--settings-control-label-spacing);
- }
+ #onOff[on] {
+ color: var(--cr-toggle-color);
+ }

- #onOff {
- font-weight: 500;
- }
+ .vpn-header {
+ margin-bottom: 8px;
+ margin-inline-end: 12px;
+ margin-inline-start: 4px;
+ margin-top: 8px;
+ }

- #onOff[on] {
- color: var(--cr-toggle-color);
- }
+ .no-networks {
+ margin: 4px;
+ }

- .vpn-header {
- margin-bottom: 8px;
- margin-inline-end: 12px;
- margin-inline-start: 4px;
- margin-top: 8px;
- }
+ network-list {
+ flex: 1;
+ }

- .no-networks {
- margin: 4px;
- }
+ network-always-on-vpn {
+ width: 100%;
+ }

- network-list {
- flex: 1;
- }
+ #gmscore-notifications-container {
+ border-top: var(--cr-separator-line);
+ margin: 10px 0;
+ padding-bottom: var(--cr-section-padding);
+ padding-top: var(--cr-section-padding);
+ }

- network-always-on-vpn {
- width: 100%;
- }
+ #gmscore-notifications-container[no-networks-text-below] {
+ border-bottom: var(--cr-separator-line);
+ margin-top: 0;
+ }

- #gmscore-notifications-container {
- border-top: var(--cr-separator-line);
- margin: 10px 0;
- padding-bottom: var(--cr-section-padding);
- padding-top: var(--cr-section-padding);
- }
+ #gmscore-notifications-device-string {
+ margin-top: 5px;
+ }

- #gmscore-notifications-container[no-networks-text-below] {
- border-bottom: var(--cr-separator-line);
- margin-top: 0;
- }
+ #gmscore-notifications-instructions {
+ margin: 0;
+ padding-inline-start: 15px;
+ }

- #gmscore-notifications-device-string {
- margin-top: 5px;
- }
+ #cellularNetworkList {
+ padding-inline-end: 0;
+ padding-inline-start: 0;
+ }
+</style>
+<template is="dom-if" if="[[enableToggleIsVisible_(deviceState)]]">
+ <div class="settings-box first">
+ <div id="onOff" class="start" on$="[[deviceIsEnabled_(deviceState)]]"
+ aria-hidden="true">
+ [[getOffOnString_(deviceState,
+ '$i18nPolymer{deviceOn}', '$i18nPolymer{deviceOff}')]]
+ </div>
+ <!-- The add button in this row is only shown for WiFi networks. -->
+ <cr-icon-button class="icon-add-wifi add-button" id="addWifiButton"
+ hidden$="[[!showAddWifiButton_(deviceState, globalPolicy)]]"
+ aria-label="$i18n{internetAddWiFi}" on-click="onAddWifiButtonTap_"
+ tabindex$="[[tabindex]]"
+ deep-link-focus-id$="[[Setting.kWifiAddNetwork]]">
+ </cr-icon-button>
+ <cr-toggle id="deviceEnabledButton"
+ aria-label$="[[getToggleA11yString_(deviceState)]]"
+ checked="[[deviceIsEnabled_(deviceState)]]"
+ disabled="[[!enableToggleIsEnabled_(deviceState,
+ deviceState.inhibitReason)]]"
+ on-change="onDeviceEnabledChange_"
+ deep-link-focus-id$="[[Setting.kWifiOnOff]]
+ [[Setting.kMobileOnOff]]">
+ </cr-toggle>
+ </div>
+</template>

- #gmscore-notifications-instructions {
- margin: 0;
- padding-inline-start: 15px;
- }
+<template is="dom-if" if="[[knownNetworksIsVisible_(deviceState)]]">
+ <cr-link-row
+ id="knownNetworksSubpageButton"
+ class="hr"
+ label="$i18n{knownNetworksButton}"
+ on-click="onKnownNetworksTap_"
+ role-description="$i18n{subpageArrowRoleDescription}">
+ </cr-link-row>
+</template>

- #cellularNetworkList {
- padding-inline-end: 0;
- padding-inline-start: 0;
- }
- </style>
- <template is="dom-if" if="[[enableToggleIsVisible_(deviceState)]]">
- <div class="settings-box first">
- <div id="onOff" class="start" on$="[[deviceIsEnabled_(deviceState)]]"
- aria-hidden="true">
- [[getOffOnString_(deviceState,
- '$i18nPolymer{deviceOn}', '$i18nPolymer{deviceOff}')]]
- </div>
- <!-- The add button in this row is only shown for WiFi networks. -->
- <cr-icon-button class="icon-add-wifi add-button" id="addWifiButton"
- hidden$="[[!showAddWifiButton_(deviceState, globalPolicy)]]"
- aria-label="$i18n{internetAddWiFi}" on-click="onAddWifiButtonTap_"
- tabindex$="[[tabindex]]"
- deep-link-focus-id$="[[Setting.kWifiAddNetwork]]">
+<template is="dom-if" if="[[deviceIsEnabled_(deviceState)]]">
+ <div id="networkListDiv" class="layout vertical flex">
+ <!-- VPN only header for built-in VPNs. -->
+ <template is="dom-if" if="[[isShowingVpn_]]">
+ <div class="vpn-header layout horizontal center">
+ <div class="flex settings-box-text">$i18n{networkVpnBuiltin}</div>
+ <template is="dom-if" if="[[!vpnIsEnabled_]]">
+ <cr-policy-indicator indicator-type="devicePolicy">
+ </cr-policy-indicator>
+ </template>
+ <cr-icon-button class="icon-add-circle"
+ disabled="[[!vpnIsEnabled_]]"
+ aria-label="$i18n{internetAddVPN}"
+ on-click="onAddVpnButtonTap_"
+ tabindex$="[[tabindex]]">
</cr-icon-button>
- <cr-toggle id="deviceEnabledButton"
- aria-label$="[[getToggleA11yString_(deviceState)]]"
- checked="[[deviceIsEnabled_(deviceState)]]"
- disabled="[[!enableToggleIsEnabled_(deviceState,
- deviceState.inhibitReason)]]"
- on-change="onDeviceEnabledChange_"
- deep-link-focus-id$="[[Setting.kWifiOnOff]]
- [[Setting.kMobileOnOff]]">
- </cr-toggle>
</div>
</template>

- <template is="dom-if" if="[[knownNetworksIsVisible_(deviceState)]]">
- <cr-link-row
- id="knownNetworksSubpageButton"
- class="hr"
- label="$i18n{knownNetworksButton}"
- on-click="onKnownNetworksTap_"
- role-description="$i18n{subpageArrowRoleDescription}">
- </cr-link-row>
+ <!-- List of networks (empty if no networks exist). -->
+ <template is="dom-if"
+ if="[[shouldShowNetworkList_(networkStateList_, deviceState)]]">
+ <network-list id="networkList" show-buttons
+ show-technology-badge="[[showTechnologyBadge_]]"
+ networks="[[networkStateList_]]"
+ on-selected="onNetworkSelected_"
+ device-state="[[deviceState]]">
+ </network-list>
</template>

- <template is="dom-if" if="[[deviceIsEnabled_(deviceState)]]">
- <div id="networkListDiv" class="layout vertical flex">
- <!-- VPN only header for built-in VPNs. -->
- <template is="dom-if" if="[[isShowingVpn_]]">
- <div class="vpn-header layout horizontal center">
- <div class="flex settings-box-text">$i18n{networkVpnBuiltin}</div>
- <template is="dom-if" if="[[!vpnIsEnabled_]]">
- <cr-policy-indicator indicator-type="devicePolicy">
- </cr-policy-indicator>
- </template>
- <cr-icon-button class="icon-add-circle"
- disabled="[[!vpnIsEnabled_]]"
- aria-label="$i18n{internetAddVPN}"
- on-click="onAddVpnButtonTap_"
- tabindex$="[[tabindex]]">
- </cr-icon-button>
- </div>
- </template>
+ <!-- List of cellular and instant tethering networks -->
+ <template is="dom-if"
+ if="[[shouldShowCellularNetworkList_(networkStateList_,
+ deviceState)]]">
+ <cellular-networks-list id="cellularNetworkList"
+ networks="[[networkStateList_]]"
+ show-technology-badge="[[showTechnologyBadge_]]"
+ on-selected="onNetworkSelected_"
+ cellular-device-state="[[deviceState]]"
+ tether-device-state="[[tetherDeviceState]]"
+ global-policy="[[globalPolicy]]"
+ is-connected-to-non-cellular-network="[[isConnectedToNonCellularNetwork]]"
+ can-show-spinner="[[!isCellularSetupActive]]">
+ </cellular-networks-list>
+ </template>

- <!-- List of networks (empty if no networks exist). -->
- <template is="dom-if"
- if="[[shouldShowNetworkList_(networkStateList_, deviceState)]]">
- <network-list id="networkList" show-buttons
- show-technology-badge="[[showTechnologyBadge_]]"
- networks="[[networkStateList_]]"
- on-selected="onNetworkSelected_"
- device-state="[[deviceState]]">
- </network-list>
- </template>
-
- <!-- List of cellular and instant tethering networks -->
- <template is="dom-if"
- if="[[shouldShowCellularNetworkList_(networkStateList_,
- deviceState)]]">
- <cellular-networks-list id="cellularNetworkList"
- networks="[[networkStateList_]]"
- show-technology-badge="[[showTechnologyBadge_]]"
- on-selected="onNetworkSelected_"
- cellular-device-state="[[deviceState]]"
- tether-device-state="[[tetherDeviceState]]"
- global-policy="[[globalPolicy]]"
- is-connected-to-non-cellular-network="[[isConnectedToNonCellularNetwork]]"
- can-show-spinner="[[!isCellularSetupActive]]">
- </cellular-networks-list>
- </template>
-
- <!-- Instructions for how to enable "Google Play Services" notifications
- (needed for Instant Tethering). -->
- <template is="dom-if" if="[[showGmsCoreNotificationsSection_(
- notificationsDisabledDeviceNames_)]]">
- <div id="gmscore-notifications-container"
- no-networks-text-below$="[[!networkStateList_.length]]">
- <div>$i18n{gmscoreNotificationsTitle}</div>
- <div id="gmscore-notifications-device-string"
- class="cr-secondary-text">
- [[getGmsCoreNotificationsDevicesString_(
- notificationsDisabledDeviceNames_)]]
- </div>
- <ol id="gmscore-notifications-instructions"
- class="cr-secondary-text">
- <li>$i18n{gmscoreNotificationsFirstStep}</li>
- <li>$i18n{gmscoreNotificationsSecondStep}</li>
- <li>$i18n{gmscoreNotificationsThirdStep}</li>
- <li>$i18n{gmscoreNotificationsFourthStep}</li>
- </ol>
- </div>
- </template>
-
- <!-- Text shown if no networks exist. -->
- <settings-localized-link
- class="no-networks"
- hidden="[[hideNoNetworksMessage_(networkStateList_, deviceState)]]"
- localized-string=
- "[[getNoNetworksInnerHtml_(deviceState, tetherDeviceState)]]">
- </settings-localized-link>
-
- <template is="dom-if" if="[[isShowingVpn_]]">
- <!-- Third party VPNs. -->
- <template is="dom-repeat"
- items="[[getVpnProviders_(vpnProviders, thirdPartyVpns_)]]">
- <div id="[[item.providerName]]"
- class="vpn-header layout horizontal center">
- <div class="flex settings-box-text">[[item.providerName]]</div>
- <cr-icon-button class="icon-add-circle"
- aria-label$="[[getAddThirdPartyVpnA11yString_(item)]]"
- on-click="onAddThirdPartyVpnTap_" tabindex$="[[tabindex]]">
- </cr-icon-button>
- </div>
- <network-list show-buttons
- hidden$="[[!haveThirdPartyVpnNetwork_(thirdPartyVpns_, item)]]"
- networks="[[getThirdPartyVpnNetworks_(thirdPartyVpns_, item)]]"
- on-selected="onNetworkSelected_">
- </network-list>
- <div hidden$="[[haveThirdPartyVpnNetwork_(thirdPartyVpns_, item)]]"
- class="no-networks settings-box-text">
- $i18n{internetNoNetworks}
- </div>
- </template>
- </template>
+ <!-- Instructions for how to enable "Google Play Services" notifications
+ (needed for Instant Tethering). -->
+ <template is="dom-if" if="[[showGmsCoreNotificationsSection_(
+ notificationsDisabledDeviceNames_)]]">
+ <div id="gmscore-notifications-container"
+ no-networks-text-below$="[[!networkStateList_.length]]">
+ <div>$i18n{gmscoreNotificationsTitle}</div>
+ <div id="gmscore-notifications-device-string"
+ class="cr-secondary-text">
+ [[getGmsCoreNotificationsDevicesString_(
+ notificationsDisabledDeviceNames_)]]
+ </div>
+ <ol id="gmscore-notifications-instructions"
+ class="cr-secondary-text">
+ <li>$i18n{gmscoreNotificationsFirstStep}</li>
+ <li>$i18n{gmscoreNotificationsSecondStep}</li>
+ <li>$i18n{gmscoreNotificationsThirdStep}</li>
+ <li>$i18n{gmscoreNotificationsFourthStep}</li>
+ </ol>
</div>
+ </template>

- <template is="dom-if"
- if="[[shouldShowVpnPreferences_(isManaged_, isShowingVpn_)]]">
- <div class="settings-box first">
- <h2>$i18n{networkVpnPreferences}</h2>
- </div>
- <div class="settings-box first">
- <network-always-on-vpn id="alwaysOnVpnSelector"
- networks="[[getAlwaysOnVpnNetworks_(deviceState,
- networkStateList_, thirdPartyVpns_)]]"
- mode="{{alwaysOnVpnMode_}}"
- service="{{alwaysOnVpnService_}}">
- </network-always-on-vpn>
- </div>
- </template>
+ <!-- Text shown if no networks exist. -->
+ <settings-localized-link
+ class="no-networks"
+ hidden="[[hideNoNetworksMessage_(networkStateList_, deviceState)]]"
+ localized-string=
+ "[[getNoNetworksInnerHtml_(deviceState, tetherDeviceState)]]">
+ </settings-localized-link>

- <template is="dom-if"
- if="[[tetherToggleIsVisible_(deviceState, tetherDeviceState)]]">
- <div class="settings-box two-line" actionable
- on-click="onTetherEnabledChange_">
- <div class="start settings-box-text">
- $i18n{internetToggleTetherLabel}
- <div id="tetherSecondary" class="secondary">
- $i18n{internetToggleTetherSubtext}
- </div>
- </div>
- <cr-toggle id="tetherEnabledButton"
- aria-label="$i18n{internetToggleTetherLabel}"
- aria-describedby="tetherSecondary"
- checked="[[deviceIsEnabled_(tetherDeviceState)]]"
- disabled="[[!tetherToggleIsEnabled_(deviceState,
- tetherDeviceState)]]"
- on-change="onTetherEnabledChange_">
- </cr-toggle>
+ <template is="dom-if" if="[[isShowingVpn_]]">
+ <!-- Third party VPNs. -->
+ <template is="dom-repeat"
+ items="[[getVpnProviders_(vpnProviders, thirdPartyVpns_)]]">
+ <div id="[[item.providerName]]"
+ class="vpn-header layout horizontal center">
+ <div class="flex settings-box-text">[[item.providerName]]</div>
+ <cr-icon-button class="icon-add-circle"
+ aria-label$="[[getAddThirdPartyVpnA11yString_(item)]]"
+ on-click="onAddThirdPartyVpnTap_" tabindex$="[[tabindex]]">
+ </cr-icon-button>
+ </div>
+ <network-list show-buttons
+ hidden$="[[!haveThirdPartyVpnNetwork_(thirdPartyVpns_, item)]]"
+ networks="[[getThirdPartyVpnNetworks_(thirdPartyVpns_, item)]]"
+ on-selected="onNetworkSelected_">
+ </network-list>
+ <div hidden$="[[haveThirdPartyVpnNetwork_(thirdPartyVpns_, item)]]"
+ class="no-networks settings-box-text">
+ $i18n{internetNoNetworks}
</div>
</template>
</template>
+ </div>

+ <template is="dom-if"
+ if="[[shouldShowVpnPreferences_(isManaged_, isShowingVpn_)]]">
+ <div class="settings-box first">
+ <h2>$i18n{networkVpnPreferences}</h2>
+ </div>
+ <div class="settings-box first">
+ <network-always-on-vpn id="alwaysOnVpnSelector"
+ networks="[[getAlwaysOnVpnNetworks_(deviceState,
+ networkStateList_, thirdPartyVpns_)]]"
+ mode="{{alwaysOnVpnMode_}}"
+ service="{{alwaysOnVpnService_}}">
+ </network-always-on-vpn>
+ </div>
</template>
- <script src="internet_subpage.js"></script>
-</dom-module>
+
+ <template is="dom-if"
+ if="[[tetherToggleIsVisible_(deviceState, tetherDeviceState)]]">
+ <div class="settings-box two-line" actionable
+ on-click="onTetherEnabledChange_">
+ <div class="start settings-box-text">
+ $i18n{internetToggleTetherLabel}
+ <div id="tetherSecondary" class="secondary">
+ $i18n{internetToggleTetherSubtext}
+ </div>
+ </div>
+ <cr-toggle id="tetherEnabledButton"
+ aria-label="$i18n{internetToggleTetherLabel}"
+ aria-describedby="tetherSecondary"
+ checked="[[deviceIsEnabled_(tetherDeviceState)]]"
+ disabled="[[!tetherToggleIsEnabled_(deviceState,
+ tetherDeviceState)]]"
+ on-change="onTetherEnabledChange_">
+ </cr-toggle>
+ </div>
+ </template>
+</template>
+
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/internet_subpage.js b/chrome/browser/resources/settings/chromeos/internet_page/internet_subpage.js
index db3d40c..33ed049 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/internet_subpage.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/internet_subpage.js
@@ -7,19 +7,51 @@
* Cellular, or virtual networks.
*/

-(function() {
+import '//resources/cr_components/chromeos/network/network_list.m.js';
+import '//resources/cr_elements/cr_icon_button/cr_icon_button.m.js';
+import '//resources/cr_elements/cr_link_row/cr_link_row.js';
+import '//resources/cr_elements/cr_toggle/cr_toggle.m.js';
+import '//resources/cr_elements/policy/cr_policy_indicator.m.js';
+import '//resources/cr_elements/md_select_css.m.js';
+import '//resources/cr_elements/shared_style_css.m.js';
+import '//resources/cr_elements/shared_vars_css.m.js';
+import '//resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js';
+import '//resources/polymer/v3_0/iron-icon/iron-icon.js';
+import '../os_settings_icons_css.m.js';
+import '../../settings_shared_css.js';
+import '../localized_link/localized_link.js';
+import './cellular_networks_list.js';
+import './network_always_on_vpn.js';
+
+import {CrPolicyNetworkBehaviorMojo} from '//resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.m.js';
+import {MojoInterfaceProvider, MojoInterfaceProviderImpl} from '//resources/cr_components/chromeos/network/mojo_interface_provider.m.js';
+import {NetworkListenerBehavior} from '//resources/cr_components/chromeos/network/network_listener_behavior.m.js';
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import {assert, assertNotReached} from '//resources/js/assert.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {Route, RouteObserverBehavior, Router} from '../../router.js';
+import {DeepLinkingBehavior} from '../deep_linking_behavior.m.js';
+import {recordClick, recordNavigation, recordPageBlur, recordPageFocus, recordSearch, recordSettingChange, setUserActionRecorderForTesting} from '../metrics_recorder.m.js';
+import {routes} from '../os_route.m.js';
+import {RouteOriginBehavior, RouteOriginBehaviorImpl} from '../route_origin_behavior.m.js';
+
+import {InternetPageBrowserProxy, InternetPageBrowserProxyImpl} from './internet_page_browser_proxy.js';
+

const mojom = chromeos.networkConfig.mojom;

Polymer({
+ _template: html`{__html_template__}`,
is: 'settings-internet-subpage',

behaviors: [
NetworkListenerBehavior,
CrPolicyNetworkBehaviorMojo,
DeepLinkingBehavior,
- settings.RouteObserverBehavior,
- settings.RouteOriginBehavior,
+ RouteObserverBehavior,
+ RouteOriginBehavior,
I18nBehavior,
],

@@ -195,8 +227,8 @@
},
},

- /** settings.RouteOriginBehavior override */
- route_: settings.routes.INTERNET_NETWORKS,
+ /** RouteOriginBehavior override */
+ route_: routes.INTERNET_NETWORKS,

observers: [
'deviceStateChanged_(deviceState)',
@@ -206,7 +238,7 @@
/** @private {number|null} */
scanIntervalId_: null,

- /** @private {settings.InternetPageBrowserProxy} */
+ /** @private {InternetPageBrowserProxy} */
browserProxy_: null,

/** @private {?chromeos.networkConfig.mojom.CrosNetworkConfigRemote} */
@@ -214,9 +246,9 @@

/** @override */
created() {
- this.browserProxy_ = settings.InternetPageBrowserProxyImpl.getInstance();
- this.networkConfig_ = network_config.MojoInterfaceProviderImpl.getInstance()
- .getMojoServiceRemote();
+ this.browserProxy_ = InternetPageBrowserProxyImpl.getInstance();
+ this.networkConfig_ =
+ MojoInterfaceProviderImpl.getInstance().getMojoServiceRemote();
},

/** @override */
@@ -225,8 +257,7 @@
this.onNotificationsDisabledDeviceNamesReceived_.bind(this));
this.browserProxy_.requestGmsCoreNotificationsDisabledDeviceNames();

- this.addFocusConfig_(
- settings.routes.KNOWN_NETWORKS, '#knownNetworksSubpageButton');
+ this.addFocusConfig_(routes.KNOWN_NETWORKS, '#knownNetworksSubpageButton');
},

/** override */
@@ -241,7 +272,7 @@
*/
beforeDeepLinkAttempt(settingId) {
if (settingId === chromeos.settings.mojom.Setting.kAddESimNetwork) {
- Polymer.RenderStatus.afterNextRender(this, () => {
+ afterNextRender(this, () => {
const deepLinkElement =
this.$$('cellular-networks-list').getAddEsimButton();
if (!deepLinkElement || deepLinkElement.hidden) {
@@ -255,7 +286,7 @@

if (settingId === chromeos.settings.mojom.Setting.kInstantTetheringOnOff) {
// Wait for element to load.
- Polymer.RenderStatus.afterNextRender(this, () => {
+ afterNextRender(this, () => {
// If both Cellular and Instant Tethering are enabled, we show a special
// toggle for Instant Tethering. If it exists, deep link to it.
const tetherEnabled = this.$$('#tetherEnabledButton');
@@ -279,19 +310,18 @@
},

/**
- * settings.RouteObserverBehavior
- * @param {!settings.Route} newRoute
- * @param {!settings.Route} oldRoute
+ * RouteObserverBehavior
+ * @param {!Route} newRoute
+ * @param {!Route} oldRoute
* @protected
*/
currentRouteChanged(newRoute, oldRoute) {
- if (newRoute !== settings.routes.INTERNET_NETWORKS) {
+ if (newRoute !== routes.INTERNET_NETWORKS) {
this.stopScanning_();
return;
}
this.init();
- settings.RouteOriginBehaviorImpl.currentRouteChanged.call(
- this, newRoute, oldRoute);
+ RouteOriginBehaviorImpl.currentRouteChanged.call(this, newRoute, oldRoute);

this.attemptDeepLink().then(result => {
if (!result.deepLinkShown && result.pendingSettingId) {
@@ -364,8 +394,7 @@
}

// Scans should only be triggered by the "networks" subpage.
- if (settings.Router.getInstance().getCurrentRoute() !==
- settings.routes.INTERNET_NETWORKS) {
+ if (Router.getInstance().getCurrentRoute() !== routes.INTERNET_NETWORKS) {
this.stopScanning_();
return;
}
@@ -708,7 +737,7 @@
onAddThirdPartyVpnTap_(event) {
const provider = event.model.item;
this.browserProxy_.addThirdPartyVpn(provider.appId);
- settings.recordSettingChange();
+ recordSettingChange();
},

/**
@@ -775,7 +804,7 @@
e.target.blur();
if (this.canAttemptConnection_(networkState)) {
this.fire('network-connect', {networkState: networkState});
- settings.recordSettingChange();
+ recordSettingChange();
return;
}
this.fire('show-detail', networkState);
@@ -1085,4 +1114,3 @@
this.networkConfig_.setAlwaysOnVpn(properties);
},
});
-})();
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/network_always_on_vpn.html b/chrome/browser/resources/settings/chromeos/internet_page/network_always_on_vpn.html
index ecb00db..cc80b479 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/network_always_on_vpn.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/network_always_on_vpn.html
@@ -1,75 +1,63 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
-
-<link rel="import" href="chrome://resources/cr_elements/cr_toggle/cr_toggle.html">
-<link rel="import" href="chrome://resources/cr_elements/md_select_css.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_shared_css.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-
-<dom-module id="network-always-on-vpn">
- <template>
- <style include="settings-shared network-shared md-select">
- #lockdown {
- border-top: var(--cr-separator-line);
- }
- </style>
- <!-- Always-on VPN enable/disable toggle -->
- <div class="property-box">
- <div class="start text-area" aria-hidden="true">
- <div class="label" id="alwaysOnVpnEnableLabel">
- $i18n{networkAlwaysOnVpnEnableLabel}
- </div>
- <div class="secondary" id="alwaysOnVpnEnableSublabel">
- $i18n{networkAlwaysOnVpnEnableSublabel}
- </div>
- </div>
- <cr-toggle id="alwaysOnVpnEnableToggle"
- disabled="[[shouldDisableAlwaysOnVpn_(networks)]]"
- checked="[[computeAlwaysOnVpnEnabled_(mode, networks)]]"
- on-change="onAlwaysOnEnableChanged_"
- aria-labelledby="alwaysOnVpnEnableLabel"
- aria-describedby="alwaysOnVpnEnableSublabel">
- </cr-toggle>
+<style include="settings-shared network-shared md-select">
+ #lockdown {
+ border-top: var(--cr-separator-line);
+ }
+</style>
+<!-- Always-on VPN enable/disable toggle -->
+<div class="property-box">
+ <div class="start text-area" aria-hidden="true">
+ <div class="label" id="alwaysOnVpnEnableLabel">
+ $i18n{networkAlwaysOnVpnEnableLabel}
</div>
- <!-- Always-on VPN options -->
- <template is="dom-if" if="[[shouldShowAlwaysOnVpnOptions_(
- mode, networks)]]">
- <!-- Service selector -->
- <div class="property-box indented two-line">
- <div class="start text-area" aria-hidden="true">
- <div class="label" id="alwaysOnVpnServiceLabel">
- $i18n{networkAlwaysOnVpnService}
- </div>
- </div>
- <select id="alwaysOnVpnServiceSelect"
- class="md-select"
- on-change="onAlwaysOnVpnServiceChanged_"
- aria-labelledby="alwaysOnVpnServiceLabel">
- <template is="dom-repeat" items="[[getAlwaysOnVpnListOptions_(
- service, networks)]]">
- <option value="[[item.value]]" selected="[[item.selected]]">
- [[item.name]]
- </option>
- </template>
- </select>
+ <div class="secondary" id="alwaysOnVpnEnableSublabel">
+ $i18n{networkAlwaysOnVpnEnableSublabel}
+ </div>
+ </div>
+ <cr-toggle id="alwaysOnVpnEnableToggle"
+ disabled="[[shouldDisableAlwaysOnVpn_(networks)]]"
+ checked="[[computeAlwaysOnVpnEnabled_(mode, networks)]]"
+ on-change="onAlwaysOnEnableChanged_"
+ aria-labelledby="alwaysOnVpnEnableLabel"
+ aria-describedby="alwaysOnVpnEnableSublabel">
+ </cr-toggle>
+</div>
+<!-- Always-on VPN options -->
+<template is="dom-if" if="[[shouldShowAlwaysOnVpnOptions_(
+ mode, networks)]]">
+ <!-- Service selector -->
+ <div class="property-box indented two-line">
+ <div class="start text-area" aria-hidden="true">
+ <div class="label" id="alwaysOnVpnServiceLabel">
+ $i18n{networkAlwaysOnVpnService}
</div>
- <!-- Lockdown toggle -->
- <div id="lockdown" class="property-box indented two-line">
- <div class="start text-area" aria-hidden="true">
- <div class="label" id="alwaysOnVpnLockdownLabel">
- $i18n{networkAlwaysOnVpnLockdownLabel}
- </div>
- <div class="secondary" id="alwaysOnVpnLockdownSublabel">
- $i18n{networkAlwaysOnVpnLockdownSublabel}
- </div>
- </div>
- <cr-toggle id="alwaysOnVpnLockdownToggle"
- checked="[[computeAlwaysOnVpnLockdown_(mode)]]"
- on-change="onAlwaysOnVpnLockdownChanged_"
- aria-labelledby="alwaysOnVpnLockdownLabel"
- aria-describedby="alwaysOnVpnLockdownSublabel">
- </cr-toggle>
+ </div>
+ <select id="alwaysOnVpnServiceSelect"
+ class="md-select"
+ on-change="onAlwaysOnVpnServiceChanged_"
+ aria-labelledby="alwaysOnVpnServiceLabel">
+ <template is="dom-repeat" items="[[getAlwaysOnVpnListOptions_(
+ service, networks)]]">
+ <option value="[[item.value]]" selected="[[item.selected]]">
+ [[item.name]]
+ </option>
+ </template>
+ </select>
+ </div>
+ <!-- Lockdown toggle -->
+ <div id="lockdown" class="property-box indented two-line">
+ <div class="start text-area" aria-hidden="true">
+ <div class="label" id="alwaysOnVpnLockdownLabel">
+ $i18n{networkAlwaysOnVpnLockdownLabel}
</div>
- </template>
- </template>
- <script src="network_always_on_vpn.js"></script>
-</dom-module>
+ <div class="secondary" id="alwaysOnVpnLockdownSublabel">
+ $i18n{networkAlwaysOnVpnLockdownSublabel}
+ </div>
+ </div>
+ <cr-toggle id="alwaysOnVpnLockdownToggle"
+ checked="[[computeAlwaysOnVpnLockdown_(mode)]]"
+ on-change="onAlwaysOnVpnLockdownChanged_"
+ aria-labelledby="alwaysOnVpnLockdownLabel"
+ aria-describedby="alwaysOnVpnLockdownSublabel">
+ </cr-toggle>
+ </div>
+</template>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/network_always_on_vpn.js b/chrome/browser/resources/settings/chromeos/internet_page/network_always_on_vpn.js
index 8376362..3a75aa9 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/network_always_on_vpn.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/network_always_on_vpn.js
@@ -6,11 +6,18 @@
* @fileoverview Polymer element for displaying and modifying always-on VPN
* settings.
*/
-(function() {
+import '//resources/cr_elements/cr_toggle/cr_toggle.m.js';
+import '//resources/cr_elements/md_select_css.m.js';
+import '//resources/cr_components/chromeos/network/network_shared_css.m.js';
+
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+

const mojom = chromeos.networkConfig.mojom;

Polymer({
+ _template: html`{__html_template__}`,
is: 'network-always-on-vpn',

behaviors: [I18nBehavior],
@@ -162,4 +169,3 @@
},

});
-})();
\ No newline at end of file
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/network_proxy_section.html b/chrome/browser/resources/settings/chromeos/internet_page/network_proxy_section.html
index 2a09bd78..6f9b6fb 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/network_proxy_section.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/network_proxy_section.html
@@ -1,101 +1,78 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="internet-shared cr-hidden-style iron-flex
+ iron-flex-alignment">
+ cr-policy-network-indicator-mojo {
+ margin-inline-end: 10px;
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/cr_policy_network_indicator_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_proxy.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_button/cr_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
-<link rel="import" href="chrome://resources/cr_elements/hidden_style_css.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
-<link rel="import" href="../../controls/extension_controlled_indicator.html">
-<link rel="import" href="../../controls/settings_toggle_button.html">
-<link rel="import" href="../../prefs/prefs_behavior.html">
-<link rel="import" href="../../router.html">
-<link rel="import" href="../../settings_vars_css.html">
-<link rel="import" href="../os_route.html">
-<link rel="import" href="internet_shared_css.html">
+ extension-controlled-indicator {
+ margin-inline-start: 0;
+ width: 100%;
+ }

-<dom-module id="network-proxy-section">
- <template>
- <style include="internet-shared cr-hidden-style iron-flex
- iron-flex-alignment">
- cr-policy-network-indicator-mojo {
- margin-inline-end: 10px;
- }
+ .settings-box:first-of-type {
+ border-top: none;
+ }
+</style>

- extension-controlled-indicator {
- margin-inline-start: 0;
- width: 100%;
- }
-
- .settings-box:first-of-type {
- border-top: none;
- }
- </style>
-
- <!-- Policy indicator. Only one dom-if below will be shown. -->
- <template is="dom-if"
- if="[[shouldShowNetworkPolicyIndicator_(managedProperties)]]">
- <div class="settings-box">
- <div class="layout horizontal center">
- <cr-policy-network-indicator-mojo
- property="[[managedProperties.proxySettings.type]]"
- no-extension-indicator>
- </cr-policy-network-indicator-mojo>
- <div>$i18n{networkProxyEnforcedPolicy}</div>
- </div>
- </div>
- </template>
- <template is="dom-if"
- if="[[shouldShowExtensionIndicator_(managedProperties)]]">
- <div class="settings-box">
- <extension-controlled-indicator
- extension-id="[[prefs.proxy.extensionId]]"
- extension-name="[[prefs.proxy.controlledByName]]"
- extension-can-be-disabled="[[prefs.proxy.extensionCanBeDisabled]]">
- </extension-controlled-indicator>
- </div>
- </template>
-
- <!-- Allow shared proxies -->
- <settings-toggle-button id="allowShared" class="indented"
- hidden$="[[!shouldShowAllowShared_(managedProperties.source)]]"
- pref="{{prefs.settings.use_shared_proxies}}"
- label="$i18n{networkProxyAllowShared}"
- on-settings-boolean-control-change="onAllowSharedProxiesChange_"
- no-set-pref
- disabled="[[disabled]]">
- </settings-toggle-button>
-
- <div class="settings-box single-column stretch continuation indented">
- <network-proxy editable="[[!disabled]]"
- managed-properties="[[managedProperties]]"
- use-shared-proxies="[[useSharedProxies_]]">
- </network-proxy>
+<!-- Policy indicator. Only one dom-if below will be shown. -->
+<template is="dom-if"
+ if="[[shouldShowNetworkPolicyIndicator_(managedProperties)]]">
+ <div class="settings-box">
+ <div class="layout horizontal center">
+ <cr-policy-network-indicator-mojo
+ property="[[managedProperties.proxySettings.type]]"
+ no-extension-indicator>
+ </cr-policy-network-indicator-mojo>
+ <div>$i18n{networkProxyEnforcedPolicy}</div>
</div>
+ </div>
+</template>
+<template is="dom-if"
+ if="[[shouldShowExtensionIndicator_(managedProperties)]]">
+ <div class="settings-box">
+ <extension-controlled-indicator
+ extension-id="[[prefs.proxy.extensionId]]"
+ extension-name="[[prefs.proxy.controlledByName]]"
+ extension-can-be-disabled="[[prefs.proxy.extensionCanBeDisabled]]">
+ </extension-controlled-indicator>
+ </div>
+</template>

- <!-- Confirm Allow shared proxies dialog -->
- <cr-dialog id="confirmAllowSharedDialog"
- close-text="$i18n{close}" on-cancel="onAllowSharedDialogCancel_"
- on-close="onAllowSharedDialogClose_">
- <div slot="title">
- [[getAllowSharedDialogTitle_(prefs.settings.use_shared_proxies.value)]]
- </div>
- <div slot="body">
- $i18n{networkProxyAllowSharedWarningMessage}
- </div>
- <div slot="button-container">
- <cr-button class="cancel-button"
- on-click="onAllowSharedDialogCancel_">
- $i18n{cancel}
- </cr-button>
- <cr-button class="action-button"
- on-click="onAllowSharedDialogConfirm_">
- $i18n{confirm}
- </cr-button>
- </div>
- </cr-dialog>
- </template>
- <script src="network_proxy_section.js"></script>
-</dom-module>
+<!-- Allow shared proxies -->
+<settings-toggle-button id="allowShared" class="indented"
+ hidden$="[[!shouldShowAllowShared_(managedProperties.source)]]"
+ pref="{{prefs.settings.use_shared_proxies}}"
+ label="$i18n{networkProxyAllowShared}"
+ on-settings-boolean-control-change="onAllowSharedProxiesChange_"
+ no-set-pref
+ disabled="[[disabled]]">
+</settings-toggle-button>
+
+<div class="settings-box single-column stretch continuation indented">
+ <network-proxy editable="[[!disabled]]"
+ managed-properties="[[managedProperties]]"
+ use-shared-proxies="[[useSharedProxies_]]">
+ </network-proxy>
+</div>
+
+<!-- Confirm Allow shared proxies dialog -->
+<cr-dialog id="confirmAllowSharedDialog"
+ close-text="$i18n{close}" on-cancel="onAllowSharedDialogCancel_"
+ on-close="onAllowSharedDialogClose_">
+ <div slot="title">
+ [[getAllowSharedDialogTitle_(prefs.settings.use_shared_proxies.value)]]
+ </div>
+ <div slot="body">
+ $i18n{networkProxyAllowSharedWarningMessage}
+ </div>
+ <div slot="button-container">
+ <cr-button class="cancel-button"
+ on-click="onAllowSharedDialogCancel_">
+ $i18n{cancel}
+ </cr-button>
+ <cr-button class="action-button"
+ on-click="onAllowSharedDialogConfirm_">
+ $i18n{confirm}
+ </cr-button>
+ </div>
+</cr-dialog>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/network_proxy_section.js b/chrome/browser/resources/settings/chromeos/internet_page/network_proxy_section.js
index 5d9a96d..1e92388 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/network_proxy_section.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/network_proxy_section.js
@@ -8,14 +8,34 @@
* shared networks'.
*/

+import '//resources/cr_components/chromeos/network/cr_policy_network_indicator_mojo.m.js';
+import '//resources/cr_components/chromeos/network/network_proxy.m.js';
+import '//resources/cr_elements/cr_button/cr_button.m.js';
+import '//resources/cr_elements/cr_dialog/cr_dialog.m.js';
+import '//resources/cr_elements/hidden_style_css.m.js';
+import '//resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js';
+import '../../controls/extension_controlled_indicator.js';
+import '../../settings_vars_css.js';
+import './internet_shared_css.js';
+
+import {CrPolicyNetworkBehaviorMojo} from '//resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {SettingsToggleButtonElement} from '../../controls/settings_toggle_button.js';
+import {PrefsBehavior} from '../../prefs/prefs_behavior.js';
+import {Route, RouteObserverBehavior, Router} from '../../router.js';
+import {routes} from '../os_route.m.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'network-proxy-section',

behaviors: [
CrPolicyNetworkBehaviorMojo,
I18nBehavior,
PrefsBehavior,
- settings.RouteObserverBehavior,
+ RouteObserverBehavior,
],

properties: {
@@ -46,9 +66,9 @@
return /** @type {?CrToggleElement} */ (this.$$('#allowShared'));
},

- /** @protected settings.RouteObserverBehavior */
+ /** @protected RouteObserverBehavior */
currentRouteChanged(newRoute) {
- if (newRoute === settings.routes.NETWORK_DETAIL) {
+ if (newRoute === routes.NETWORK_DETAIL) {
/** @type {NetworkProxyElement} */ (this.$$('network-proxy')).reset();
}
},
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/network_summary.html b/chrome/browser/resources/settings/chromeos/internet_page/network_summary.html
index 0f5c8f85..bb3b099 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/network_summary.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/network_summary.html
@@ -1,27 +1,15 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
-
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/mojo_interface_provider.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_listener_behavior.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="network_summary_item.html">
-
-<dom-module id="network-summary">
- <template>
- <style>
- network-summary-item:first-child {
- --cr-separator-line: 0;
- }
- </style>
- <div id="summary">
- <template is="dom-repeat" items="[[activeNetworkStates_]]">
- <network-summary-item id="[[getTypeString_(item)]]"
- active-network-state="[[item]]"
- device-state="[[get(item.type, deviceStates)]]"
- network-state-list="[[get(item.type, networkStateLists_)]]"
- tether-device-state="[[getTetherDeviceState_(deviceStates)]]">
- </network-summary-item>
- </template>
- </div>
+<style>
+ network-summary-item:first-child {
+ --cr-separator-line: 0;
+ }
+</style>
+<div id="summary">
+ <template is="dom-repeat" items="[[activeNetworkStates_]]">
+ <network-summary-item id="[[getTypeString_(item)]]"
+ active-network-state="[[item]]"
+ device-state="[[get(item.type, deviceStates)]]"
+ network-state-list="[[get(item.type, networkStateLists_)]]"
+ tether-device-state="[[getTetherDeviceState_(deviceStates)]]">
+ </network-summary-item>
</template>
- <script src="network_summary.js"></script>
-</dom-module>
+</div>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/network_summary.js b/chrome/browser/resources/settings/chromeos/internet_page/network_summary.js
index af3de0a..a51ee83 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/network_summary.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/network_summary.js
@@ -7,11 +7,18 @@
* by type: Ethernet, WiFi, Cellular, and VPN.
*/

-(function() {
+import './network_summary_item.js';
+
+import {MojoInterfaceProvider, MojoInterfaceProviderImpl} from '//resources/cr_components/chromeos/network/mojo_interface_provider.m.js';
+import {NetworkListenerBehavior} from '//resources/cr_components/chromeos/network/network_listener_behavior.m.js';
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+

const mojom = chromeos.networkConfig.mojom;

Polymer({
+ _template: html`{__html_template__}`,
is: 'network-summary',

behaviors: [
@@ -86,8 +93,8 @@

/** @override */
created() {
- this.networkConfig_ = network_config.MojoInterfaceProviderImpl.getInstance()
- .getMojoServiceRemote();
+ this.networkConfig_ =
+ MojoInterfaceProviderImpl.getInstance().getMojoServiceRemote();
},

/** @override */
@@ -304,4 +311,3 @@
return this.deviceStates[mojom.NetworkType.kTether];
},
});
-})();
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/network_summary_item.html b/chrome/browser/resources/settings/chromeos/internet_page/network_summary_item.html
index f226563..103b51c 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/network_summary_item.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/network_summary_item.html
@@ -1,107 +1,87 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
+<style include="internet-shared iron-flex">
+ network-siminfo {
+ padding-inline-start: var(--cr-section-padding);
+ }

-<link rel="import" href="chrome://resources/cr_components/chromeos/network/cellular_utils.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_icon.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_siminfo.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_toggle/cr_toggle.html">
-<link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_indicator_behavior.html">
-<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
-<link rel="import" href="chrome://resources/html/assert.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
+ #outerBox {
+ padding: 0 var(--cr-section-padding);
+ }

-<dom-module id="network-summary-item">
- <template>
- <style include="internet-shared iron-flex">
- network-siminfo {
- padding-inline-start: var(--cr-section-padding);
- }
+ #details {
+ align-items: center;
+ display: flex;
+ flex: auto;
+ }

- #outerBox {
- padding: 0 var(--cr-section-padding);
- }
+ .network-state {
+ color: var(--cr-secondary-text-color);
+ font-size: inherit;
+ }

- #details {
- align-items: center;
- display: flex;
- flex: auto;
- }
-
- .network-state {
- color: var(--cr-secondary-text-color);
- font-size: inherit;
- }
-
- .locked-warning-message {
- color: var(--google-yellow-800);
- font-size: inherit;
- }
- </style>
- <div class="settings-box two-line no-padding">
- <div actionable$="[[isItemActionable_(activeNetworkState,
- deviceState, networkStateList)]]"
- class="flex layout horizontal center link-wrapper"
- on-click="onShowDetailsTap_">
- <div id="details" no-flex$="[[showSimInfo_(deviceState)]]"
- aria-hidden="true">
- <network-icon
- id="networkIcon"
- show-technology-badge="[[showTechnologyBadge_]]"
- network-state="[[activeNetworkState]]"
- device-state="[[deviceState]]">
- </network-icon>
- <div class="flex settings-box-text">
- <div id="networkTitleText">
- [[getTitleText_(activeNetworkState)]]
- </div>
- <div id="networkState"
- class$="[[getNetworkStateClass_(deviceState, deviceState.*)]]">
- [[getNetworkStateText_(activeNetworkState, deviceState.*)]]
- </div>
- </div>
+ .locked-warning-message {
+ color: var(--google-yellow-800);
+ font-size: inherit;
+ }
+</style>
+<div class="settings-box two-line no-padding">
+ <div actionable$="[[isItemActionable_(activeNetworkState,
+ deviceState, networkStateList)]]"
+ class="flex layout horizontal center link-wrapper"
+ on-click="onShowDetailsTap_">
+ <div id="details" no-flex$="[[showSimInfo_(deviceState)]]"
+ aria-hidden="true">
+ <network-icon
+ id="networkIcon"
+ show-technology-badge="[[showTechnologyBadge_]]"
+ network-state="[[activeNetworkState]]"
+ device-state="[[deviceState]]">
+ </network-icon>
+ <div class="flex settings-box-text">
+ <div id="networkTitleText">
+ [[getTitleText_(activeNetworkState)]]
</div>
-
- <template is="dom-if" if="[[showSimInfo_(deviceState)]]" restamp>
- <network-siminfo
- on-click="doNothing_"
- network-state="[[activeNetworkState]]"
- device-state="[[deviceState]]">
- </network-siminfo>
- </template>
-
- <template is="dom-if" if="[[showPolicyIndicator_(activeNetworkState)]]">
- <cr-policy-indicator id="policyIndicator"
- icon-aria-label="[[getTitleText_(activeNetworkState)]]"
- indicator-type="[[getPolicyIndicatorType_(activeNetworkState)]]"
- on-click="doNothing_">
- </cr-policy-indicator>
- </template>
-
- <template is="dom-if" if="[[showArrowButton_(activeNetworkState,
- deviceState, networkStateList)]]">
- <cr-icon-button class="subpage-arrow"
- aria-labelledby="networkTitleText"
- aria-describedby="networkState networkIcon"
- aria-roledescription="$i18n{subpageArrowRoleDescription}">
- </cr-icon-button>
- </template>
+ <div id="networkState"
+ class$="[[getNetworkStateClass_(deviceState, deviceState.*)]]">
+ [[getNetworkStateText_(activeNetworkState, deviceState.*)]]
+ </div>
</div>
-
- <template is="dom-if" if="[[enableToggleIsVisible_(deviceState)]]">
- <div class="separator"></div>
- <cr-toggle id="deviceEnabledButton"
- class="margin-matches-padding"
- aria-label$="[[getToggleA11yString_(deviceState)]]"
- aria-describedby$="[[getToggleA11yDescribedBy_(deviceState)]]"
- checked="[[deviceIsEnabled_(deviceState)]]"
- disabled="[[!enableToggleIsEnabled_(deviceState)]]"
- on-change="onDeviceEnabledChange_">
- </cr-toggle>
- </template>
</div>
+
+ <template is="dom-if" if="[[showSimInfo_(deviceState)]]" restamp>
+ <network-siminfo
+ on-click="doNothing_"
+ network-state="[[activeNetworkState]]"
+ device-state="[[deviceState]]">
+ </network-siminfo>
+ </template>
+
+ <template is="dom-if" if="[[showPolicyIndicator_(activeNetworkState)]]">
+ <cr-policy-indicator id="policyIndicator"
+ icon-aria-label="[[getTitleText_(activeNetworkState)]]"
+ indicator-type="[[getPolicyIndicatorType_(activeNetworkState)]]"
+ on-click="doNothing_">
+ </cr-policy-indicator>
+ </template>
+
+ <template is="dom-if" if="[[showArrowButton_(activeNetworkState,
+ deviceState, networkStateList)]]">
+ <cr-icon-button class="subpage-arrow"
+ aria-labelledby="networkTitleText"
+ aria-describedby="networkState networkIcon"
+ aria-roledescription="$i18n{subpageArrowRoleDescription}">
+ </cr-icon-button>
+ </template>
+ </div>
+
+ <template is="dom-if" if="[[enableToggleIsVisible_(deviceState)]]">
+ <div class="separator"></div>
+ <cr-toggle id="deviceEnabledButton"
+ class="margin-matches-padding"
+ aria-label$="[[getToggleA11yString_(deviceState)]]"
+ aria-describedby$="[[getToggleA11yDescribedBy_(deviceState)]]"
+ checked="[[deviceIsEnabled_(deviceState)]]"
+ disabled="[[!enableToggleIsEnabled_(deviceState)]]"
+ on-change="onDeviceEnabledChange_">
+ </cr-toggle>
</template>
- <script src="network_summary_item.js"></script>
-</dom-module>
+</div>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/network_summary_item.js b/chrome/browser/resources/settings/chromeos/internet_page/network_summary_item.js
index 6c13a2e..c9f2535 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/network_summary_item.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/network_summary_item.js
@@ -9,11 +9,26 @@
* section. See crbug.com/726380.
*/

-(function() {
+import '//resources/cr_components/chromeos/network/network_icon.m.js';
+import '//resources/cr_components/chromeos/network/network_siminfo.m.js';
+import '//resources/cr_elements/cr_icon_button/cr_icon_button.m.js';
+import '//resources/cr_elements/cr_toggle/cr_toggle.m.js';
+import '//resources/cr_elements/shared_vars_css.m.js';
+import '//resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js';
+
+import {getSimSlotCount, hasActiveCellularNetwork, isActiveSim, isConnectedToNonCellularNetwork} from '//resources/cr_components/chromeos/network/cellular_utils.m.js';
+import {CrPolicyNetworkBehaviorMojo} from '//resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.m.js';
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import {CrPolicyIndicatorType} from '//resources/cr_elements/policy/cr_policy_indicator_behavior.m.js';
+import {assert, assertNotReached} from '//resources/js/assert.m.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {afterNextRender, flush, html, Polymer, TemplateInstanceBase, Templatizer} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+

const mojom = chromeos.networkConfig.mojom;

Polymer({
+ _template: html`{__html_template__}`,
is: 'network-summary-item',

behaviors: [
@@ -652,4 +667,3 @@
return this.i18n('OncType' + OncMojo.getNetworkTypeString(type));
},
});
-})();
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/tether_connection_dialog.html b/chrome/browser/resources/settings/chromeos/internet_page/tether_connection_dialog.html
index 3a34825..5099009 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/tether_connection_dialog.html
+++ b/chrome/browser/resources/settings/chromeos/internet_page/tether_connection_dialog.html
@@ -1,131 +1,111 @@
-<link rel="import" href="chrome://resources/html/polymer.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/network_icon.html">
-<link rel="import" href="chrome://resources/cr_components/chromeos/network/onc_mojo.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_button/cr_button.html">
-<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
-<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
-<link rel="import" href="chrome://resources/mojo/chromeos/services/network_config/public/mojom/cros_network_config.mojom.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html">
-<link rel="import" href="chrome://resources/html/i18n_behavior.html">
-<link rel="import" href="chrome://resources/html/util.html">
-<link rel="import" href="../../chromeos/os_icons.html">
-<link rel="import" href="../../settings_shared_css.html">
-<link rel="import" href="../os_route.html">
+<style include="settings-shared iron-flex">
+ [slot=title] {
+ margin-top: 9px;
+ }

-<dom-module id="tether-connection-dialog">
- <template>
- <style include="settings-shared iron-flex">
- [slot=title] {
- margin-top: 9px;
- }
+ [slot=body] {
+ border-top: solid 2px rgba(0, 0, 0, .14);
+ }

- [slot=body] {
- border-top: solid 2px rgba(0, 0, 0, .14);
- }
+ [slot=body] > * {
+ margin-inline-start: 5px;
+ }

- [slot=body] > * {
- margin-inline-start: 5px;
- }
+ iron-icon {
+ --iron-icon-fill-color: #4285F4;
+ }

- iron-icon {
- --iron-icon-fill-color: #4285F4;
- }
+ #host-device-text-container {
+ display: flex;
+ flex-direction: column;
+ margin-inline-start: 18px;
+ }

- #host-device-text-container {
- display: flex;
- flex-direction: column;
- margin-inline-start: 18px;
- }
+ #availability-title {
+ color: black;
+ margin-top: 5px;
+ opacity: 0.54;
+ }

- #availability-title {
- color: black;
- margin-top: 5px;
- opacity: 0.54;
- }
+ #host-device-container {
+ align-items: center;
+ display: flex;
+ margin-top: 12px;
+ min-height: 46px;
+ }

- #host-device-container {
- align-items: center;
- display: flex;
- margin-top: 12px;
- min-height: 46px;
- }
+ #tether-explanation,
+ #tether-carrier-warning,
+ #tether-description-title {
+ margin-top: var(--cr-section-vertical-margin);
+ }

- #tether-explanation,
- #tether-carrier-warning,
- #tether-description-title {
- margin-top: var(--cr-section-vertical-margin);
- }
+ #tether-carrier-warning {
+ font-weight: 600;
+ }

- #tether-carrier-warning {
- font-weight: 600;
- }
+ #tether-description-list {
+ padding-inline-start: 16px;
+ }

- #tether-description-list {
- padding-inline-start: 16px;
- }
-
- #host-device-lost-container {
- color: var(--google-red-500);
- font-weight: 500;
- }
- </style>
- <cr-dialog id="dialog" close-text="$i18n{close}">
- <div slot="title">$i18n{tetherConnectionDialogTitle}</div>
- <div slot="body">
- <span id="availability-title">
- $i18n{tetherConnectionAvailableDeviceTitle}
+ #host-device-lost-container {
+ color: var(--google-red-500);
+ font-weight: 500;
+ }
+</style>
+<cr-dialog id="dialog" close-text="$i18n{close}">
+ <div slot="title">$i18n{tetherConnectionDialogTitle}</div>
+ <div slot="body">
+ <span id="availability-title">
+ $i18n{tetherConnectionAvailableDeviceTitle}
+ </span>
+ <div id="host-device-container">
+ <iron-icon id="host-device-signal-strength-icon"
+ icon="[[getSignalStrengthIconName_(managedProperties)]]"
+ aria-label$="[[getSignalStrengthLabel_(managedProperties)]]">
+ </iron-icon>
+ <div id="host-device-text-container">
+ <span id="host-device-text-name"
+ aria-describedby="host-device-signal-strength-icon
+ hostDeviceTextBattery">
+ [[getDeviceName_(managedProperties)]]
</span>
- <div id="host-device-container">
- <iron-icon id="host-device-signal-strength-icon"
- icon="[[getSignalStrengthIconName_(managedProperties)]]"
- aria-label$="[[getSignalStrengthLabel_(managedProperties)]]">
- </iron-icon>
- <div id="host-device-text-container">
- <span id="host-device-text-name"
- aria-describedby="host-device-signal-strength-icon
- hostDeviceTextBattery">
- [[getDeviceName_(managedProperties)]]
- </span>
- <span id="hostDeviceTextBattery" class="secondary"
- aria-hidden="true">
- [[getBatteryPercentageString_(managedProperties)]]
- </span>
- </div>
- <div class="flex"></div>
- <div id="host-device-lost-container" hidden$="[[!outOfRange]]">
- <iron-icon icon="os-settings:alert-device-out-of-range">
- </iron-icon>
- $i18n{tetherPhoneOutOfRange}
- </div>
- </div>
- <div id="tether-explanation">
- [[getExplanation_(managedProperties)]]
- </div>
- <div id="tether-carrier-warning">
- $i18n{tetherConnectionCarrierWarning}
- </div>
- <div id="tether-description-title">
- [[getDescriptionTitle_(managedProperties)]]
- </div>
- <ul id="tether-description-list">
- <li>$i18n{tetherConnectionDescriptionMobileData}</li>
- <li>[[getBatteryDescription_(managedProperties)]]</li>
- <li hidden$="[[!shouldShowDisconnectFromWifi_(managedProperties)]]">
- $i18n{tetherConnectionDescriptionWiFi}
- </li>
- </ul>
+ <span id="hostDeviceTextBattery" class="secondary"
+ aria-hidden="true">
+ [[getBatteryPercentageString_(managedProperties)]]
+ </span>
</div>
- <div slot="button-container">
- <cr-button class="cancel-button" on-click="onNotNowTap_">
- $i18n{tetherConnectionNotNowButton}
- </cr-button>
- <cr-button id="connectButton" class="action-button"
- on-click="onConnectTap_" disabled="[[outOfRange]]">
- $i18n{tetherConnectionConnectButton}
- </cr-button>
+ <div class="flex"></div>
+ <div id="host-device-lost-container" hidden$="[[!outOfRange]]">
+ <iron-icon icon="os-settings:alert-device-out-of-range">
+ </iron-icon>
+ $i18n{tetherPhoneOutOfRange}
</div>
- </cr-dialog>
- </template>
- <script src="tether_connection_dialog.js"></script>
-</dom-module>
+ </div>
+ <div id="tether-explanation">
+ [[getExplanation_(managedProperties)]]
+ </div>
+ <div id="tether-carrier-warning">
+ $i18n{tetherConnectionCarrierWarning}
+ </div>
+ <div id="tether-description-title">
+ [[getDescriptionTitle_(managedProperties)]]
+ </div>
+ <ul id="tether-description-list">
+ <li>$i18n{tetherConnectionDescriptionMobileData}</li>
+ <li>[[getBatteryDescription_(managedProperties)]]</li>
+ <li hidden$="[[!shouldShowDisconnectFromWifi_(managedProperties)]]">
+ $i18n{tetherConnectionDescriptionWiFi}
+ </li>
+ </ul>
+ </div>
+ <div slot="button-container">
+ <cr-button class="cancel-button" on-click="onNotNowTap_">
+ $i18n{tetherConnectionNotNowButton}
+ </cr-button>
+ <cr-button id="connectButton" class="action-button"
+ on-click="onConnectTap_" disabled="[[outOfRange]]">
+ $i18n{tetherConnectionConnectButton}
+ </cr-button>
+ </div>
+</cr-dialog>
diff --git a/chrome/browser/resources/settings/chromeos/internet_page/tether_connection_dialog.js b/chrome/browser/resources/settings/chromeos/internet_page/tether_connection_dialog.js
index b0c60cd..a81e9fe 100644
--- a/chrome/browser/resources/settings/chromeos/internet_page/tether_connection_dialog.js
+++ b/chrome/browser/resources/settings/chromeos/internet_page/tether_connection_dialog.js
@@ -25,7 +25,23 @@
return 0;
}

+import {afterNextRender, Polymer, html, flush, Templatizer, TemplateInstanceBase} from '//resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+import '//resources/cr_components/chromeos/network/network_icon.m.js';
+import {OncMojo} from '//resources/cr_components/chromeos/network/onc_mojo.m.js';
+import '//resources/cr_elements/cr_button/cr_button.m.js';
+import '//resources/cr_elements/cr_dialog/cr_dialog.m.js';
+import '//resources/cr_elements/shared_vars_css.m.js';
+import '//resources/mojo/chromeos/services/network_config/public/mojom/cros_network_config.mojom-lite.js';
+import '//resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js';
+import '//resources/polymer/v3_0/iron-icon/iron-icon.js';
+import {I18nBehavior} from '//resources/js/i18n_behavior.m.js';
+import {HTMLEscape, listenOnce} from '//resources/js/util.m.js';
+import '../os_icons.m.js';
+import '../../settings_shared_css.js';
+import {routes} from '../os_route.m.js';
+
Polymer({
+ _template: html`{__html_template__}`,
is: 'tether-connection-dialog',

behaviors: [I18nBehavior],
diff --git a/chrome/browser/resources/settings/chromeos/os_settings.gni b/chrome/browser/resources/settings/chromeos/os_settings.gni
index 9a61eeb..3f7e41c 100644
--- a/chrome/browser/resources/settings/chromeos/os_settings.gni
+++ b/chrome/browser/resources/settings/chromeos/os_settings.gni
@@ -314,6 +314,26 @@
"chrome/browser/resources/settings/chromeos/google_assistant_page/google_assistant_page.html",
"chrome/browser/resources/settings/chromeos/guest_os/guest_os_shared_paths.html",
"chrome/browser/resources/settings/chromeos/guest_os/guest_os_shared_usb_devices.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/esim_install_error_dialog.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/esim_remove_profile_dialog.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/esim_rename_dialog.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/cellular_networks_list.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/cellular_roaming_toggle_button.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_dialog.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_settings_delegate.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/internet_page_browser_proxy.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/internet_config.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/internet_detail_menu.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/internet_detail_page.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/internet_page.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/internet_subpage.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/network_always_on_vpn.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/network_proxy_section.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/network_summary.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/network_summary_item.html",
+ "chrome/browser/resources/settings/chromeos/internet_page/tether_connection_dialog.html",
"chrome/browser/resources/settings/chromeos/localized_link/localized_link.html",
"chrome/browser/resources/settings/chromeos/on_startup_page/on_startup_page.html",
"chrome/browser/resources/settings/chromeos/os_apps_page/app_notifications_page/app_notifications_subpage.html",
diff --git a/chrome/browser/resources/settings/chromeos/os_settings.js b/chrome/browser/resources/settings/chromeos/os_settings.js
index 9dfcce2..e985f7c 100644
--- a/chrome/browser/resources/settings/chromeos/os_settings.js
+++ b/chrome/browser/resources/settings/chromeos/os_settings.js
@@ -19,19 +19,19 @@
import './device_page/storage_external_entry.m.js';
import './device_page/stylus.m.js';
import './google_assistant_page/google_assistant_page.js';
-import './internet_page/cellular_roaming_toggle_button.m.js';
-import './internet_page/cellular_setup_dialog.m.js';
-import './internet_page/esim_remove_profile_dialog.m.js';
-import './internet_page/internet_config.m.js';
-import './internet_page/internet_detail_page.m.js';
-import './internet_page/internet_known_networks_page.m.js';
-import './internet_page/internet_page.m.js';
-import './internet_page/internet_subpage.m.js';
-import './internet_page/network_always_on_vpn.m.js';
-import './internet_page/network_proxy_section.m.js';
-import './internet_page/network_summary.m.js';
-import './internet_page/network_summary_item.m.js';
-import './internet_page/tether_connection_dialog.m.js';
+import './internet_page/cellular_roaming_toggle_button.js';
+import './internet_page/cellular_setup_dialog.js';
+import './internet_page/esim_remove_profile_dialog.js';
+import './internet_page/internet_config.js';
+import './internet_page/internet_detail_page.js';
+import './internet_page/internet_known_networks_page.js';
+import './internet_page/internet_page.js';
+import './internet_page/internet_subpage.js';
+import './internet_page/network_always_on_vpn.js';
+import './internet_page/network_proxy_section.js';
+import './internet_page/network_summary.js';
+import './internet_page/network_summary_item.js';
+import './internet_page/tether_connection_dialog.js';
import './kerberos_page/kerberos_accounts.m.js';
import './kerberos_page/kerberos_page.m.js';
import './localized_link/localized_link.js';
@@ -104,7 +104,7 @@
export {DevicePageBrowserProxy, DevicePageBrowserProxyImpl, IdleBehavior, LidClosedBehavior, NoteAppLockScreenSupport, setDisplayApiForTesting, StorageSpaceState} from './device_page/device_page_browser_proxy.m.js';
export {GoogleAssistantBrowserProxyImpl} from './google_assistant_page/google_assistant_browser_proxy.js';
export {ConsentStatus, DspHotwordState} from './google_assistant_page/google_assistant_page.js';
-export {InternetPageBrowserProxy, InternetPageBrowserProxyImpl} from './internet_page/internet_page_browser_proxy.m.js';
+export {InternetPageBrowserProxy, InternetPageBrowserProxyImpl} from './internet_page/internet_page_browser_proxy.js';
export {KerberosAccountsBrowserProxyImpl, KerberosConfigErrorCode, KerberosErrorType} from './kerberos_page/kerberos_accounts_browser_proxy.m.js';
export {recordClick, recordNavigation, recordPageBlur, recordPageFocus, recordSearch, recordSettingChange, setUserActionRecorderForTesting} from './metrics_recorder.m.js';
export {MultiDeviceBrowserProxy, MultiDeviceBrowserProxyImpl} from './multidevice_page/multidevice_browser_proxy.m.js';
Reply all
Reply to author
Forward
0 new messages