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

[CrOS cellular] Add delegate object to cellular setup

- Creates an interface (delagate) which provides alternate UI behaviors
  for the Cellular Setup flows.
- Cellular setup UI is embedded in either OOBE or os-settings, the
  delegate implements functionality depending on where it is embedded.
- Creates a default implementation of delegate interface in os-settings
- Updates cellular_setup ui test and adds fake_cellular_setup_ delagate

screenshot: https://screenshot.googleplex.com/4qdJyUh4yx52iGa.png

Bug: 1093185
Change-Id: Ifd604c8bb57643520ee69f36378053b60e09c822
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2419631
Commit-Queue: Nnamdi Theodore Johnson-kanu <tjohnsonkanu@google.com>
Reviewed-by: default avatarAzeem Arshad <azeemarshad@chromium.org>
Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#810853}
parent 017709e5
...@@ -172,20 +172,32 @@ js_library("tether_connection_dialog") { ...@@ -172,20 +172,32 @@ js_library("tether_connection_dialog") {
js_library("cellular_setup_dialog") { js_library("cellular_setup_dialog") {
deps = [ deps = [
"//ui/webui/resources/cr_components/chromeos/cellular_setup", ":cellular_setup_settings_delegate",
"//ui/webui/resources/cr_components/chromeos/cellular_setup:cellular_setup",
"//ui/webui/resources/cr_components/chromeos/cellular_setup:cellular_setup_delegate",
"//ui/webui/resources/cr_elements/cr_dialog:cr_dialog", "//ui/webui/resources/cr_elements/cr_dialog:cr_dialog",
] ]
} }
js_library("cellular_setup_settings_delegate") {
deps = [
"//ui/webui/resources/cr_components/chromeos/cellular_setup:cellular_setup_delegate",
"//ui/webui/resources/js:cr",
]
}
# TODO: Uncomment as the Polymer3 migration makes progress. # TODO: Uncomment as the Polymer3 migration makes progress.
js_type_check("closure_compile_module") { js_type_check("closure_compile_module") {
is_polymer3 = true is_polymer3 = true
deps = [ deps = [
":cellular_setup_dialog.m", ":cellular_setup_dialog.m",
":cellular_setup_settings_delegate.m",
":internet_config.m", ":internet_config.m",
# ":internet_detail_page.m",
# ":internet_detail_page.m",
":internet_known_networks_page.m", ":internet_known_networks_page.m",
# ":internet_page.m",
# ":internet_page.m",
":internet_page_browser_proxy.m", ":internet_page_browser_proxy.m",
":internet_shared_css.m", ":internet_shared_css.m",
# ":internet_subpage.m", # ":internet_subpage.m",
...@@ -201,6 +213,7 @@ js_library("cellular_setup_dialog.m") { ...@@ -201,6 +213,7 @@ js_library("cellular_setup_dialog.m") {
deps = [ deps = [
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled", "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/cr_components/chromeos/cellular_setup:cellular_setup.m", "//ui/webui/resources/cr_components/chromeos/cellular_setup:cellular_setup.m",
"//ui/webui/resources/cr_components/chromeos/cellular_setup:cellular_setup_delegate.m",
"//ui/webui/resources/cr_elements/cr_dialog:cr_dialog.m", "//ui/webui/resources/cr_elements/cr_dialog:cr_dialog.m",
"//ui/webui/resources/js:i18n_behavior.m", "//ui/webui/resources/js:i18n_behavior.m",
] ]
...@@ -211,8 +224,8 @@ js_library("internet_config.m") { ...@@ -211,8 +224,8 @@ js_library("internet_config.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_config.m.js" ] sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_config.m.js" ]
deps = [ deps = [
":internet_shared_css.m", ":internet_shared_css.m",
"//chrome/browser/resources/settings/chromeos:metrics_recorder.m",
"//chrome/browser/resources/settings:router.m", "//chrome/browser/resources/settings:router.m",
"//chrome/browser/resources/settings/chromeos:metrics_recorder.m",
"//third_party/polymer/v3_0/components-chromium/iron-flex-layout:iron-flex-layout", "//third_party/polymer/v3_0/components-chromium/iron-flex-layout:iron-flex-layout",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled", "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/cr_components/chromeos/network:network_config.m", "//ui/webui/resources/cr_components/chromeos/network:network_config.m",
...@@ -236,10 +249,10 @@ js_library("internet_known_networks_page.m") { ...@@ -236,10 +249,10 @@ js_library("internet_known_networks_page.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.m.js" ] sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_known_networks_page.m.js" ]
deps = [ deps = [
":internet_shared_css.m", ":internet_shared_css.m",
"//chrome/browser/resources/settings:router.m",
"//chrome/browser/resources/settings/chromeos:deep_linking_behavior.m", "//chrome/browser/resources/settings/chromeos:deep_linking_behavior.m",
"//chrome/browser/resources/settings/chromeos:metrics_recorder.m", "//chrome/browser/resources/settings/chromeos:metrics_recorder.m",
"//chrome/browser/resources/settings/chromeos:os_route.m", "//chrome/browser/resources/settings/chromeos:os_route.m",
"//chrome/browser/resources/settings:router.m",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled", "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/cr_components/chromeos/network:cr_policy_network_behavior_mojo.m", "//ui/webui/resources/cr_components/chromeos/network:cr_policy_network_behavior_mojo.m",
"//ui/webui/resources/cr_components/chromeos/network:mojo_interface_provider.m", "//ui/webui/resources/cr_components/chromeos/network:mojo_interface_provider.m",
...@@ -269,6 +282,15 @@ js_library("internet_page_browser_proxy.m") { ...@@ -269,6 +282,15 @@ js_library("internet_page_browser_proxy.m") {
extra_deps = [ ":modulize" ] extra_deps = [ ":modulize" ]
} }
js_library("cellular_setup_settings_delegate.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_page_browser_proxy.m.js" ]
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") { js_library("internet_shared_css.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.m.js" ] sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.m.js" ]
extra_deps = [ ":internet_shared_css_module" ] extra_deps = [ ":internet_shared_css_module" ]
...@@ -416,9 +438,14 @@ polymer_modulizer("cellular_setup_dialog") { ...@@ -416,9 +438,14 @@ polymer_modulizer("cellular_setup_dialog") {
js_file = "cellular_setup_dialog.js" js_file = "cellular_setup_dialog.js"
html_file = "cellular_setup_dialog.html" html_file = "cellular_setup_dialog.html"
html_type = "dom-module" html_type = "dom-module"
auto_imports = os_settings_auto_imports
namespace_rewrites = os_settings_namespace_rewrites
} }
js_modulizer("modulize") { js_modulizer("modulize") {
input_files = [ "internet_page_browser_proxy.js" ] input_files = [
"internet_page_browser_proxy.js",
"cellular_setup_settings_delegate.js",
]
namespace_rewrites = os_settings_namespace_rewrites namespace_rewrites = os_settings_namespace_rewrites
} }
<link rel="import" href="chrome://resources/html/polymer.html"> <link rel="import" href="chrome://resources/html/polymer.html">
<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.html">
<link rel="import" href="chrome://resources/cr_components/chromeos/cellular_setup/cellular_setup_delegate.html">
<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.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/cr_elements/shared_vars_css.html">
<link rel="import" href="chrome://resources/html/i18n_behavior.html"> <link rel="import" href="chrome://resources/html/i18n_behavior.html">
<link rel="import" href="../../settings_shared_css.html"> <link rel="import" href="../../settings_shared_css.html">
<link rel="import" href="cellular_setup_settings_delegate.html">
<dom-module id="os-settings-cellular-setup-dialog"> <dom-module id="os-settings-cellular-setup-dialog">
<template> <template>
...@@ -14,7 +16,7 @@ ...@@ -14,7 +16,7 @@
<cr-dialog id="dialog"> <cr-dialog id="dialog">
<div slot="title">$i18n{cellularSetupDialogTitle}</div> <div slot="title">$i18n{cellularSetupDialogTitle}</div>
<div slot="body"> <div slot="body">
<cellular-setup></cellular-setup> <cellular-setup delegate="[[delegate_]]"></cellular-setup>
</div> </div>
</cr-dialog> </cr-dialog>
</template> </template>
......
...@@ -9,7 +9,18 @@ ...@@ -9,7 +9,18 @@
Polymer({ Polymer({
is: 'os-settings-cellular-setup-dialog', is: 'os-settings-cellular-setup-dialog',
properties: {}, properties: {
/**
* @private {!cellular_setup.CellularSetupDelegate}
*/
delegate_: Object
},
/** @override */
created() {
this.delegate_ = new settings.CellularSetupSettingsDelegate();
},
/** @override */ /** @override */
attached() { attached() {
......
<link rel="import" href="chrome://resources/html/cr.html">
<script src="cellular_setup_settings_delegate.js"></script>
\ No newline at end of file
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// clang-format off
// #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;
}
}
// #cr_define_end
return {
CellularSetupSettingsDelegate: CellularSetupSettingsDelegate,
};
});
...@@ -24,6 +24,7 @@ os_settings_namespace_rewrites = settings_namespace_rewrites + ...@@ -24,6 +24,7 @@ os_settings_namespace_rewrites = settings_namespace_rewrites +
"parental_controls.ParentalControlsBrowserProxy|ParentalControlsBrowserProxy", "parental_controls.ParentalControlsBrowserProxy|ParentalControlsBrowserProxy",
"settings.AccountManagerBrowserProxy|AccountManagerBrowserProxy", "settings.AccountManagerBrowserProxy|AccountManagerBrowserProxy",
"settings.AmbientModeBrowserProxy|AmbientModeBrowserProxy", "settings.AmbientModeBrowserProxy|AmbientModeBrowserProxy",
"settings.CellularSetupSettingsDelegate|CellularSetupSettingsDelegate",
"settings.ChangePictureBrowserProxy|ChangePictureBrowserProxy", "settings.ChangePictureBrowserProxy|ChangePictureBrowserProxy",
"settings.DefaultImage|DefaultImage", "settings.DefaultImage|DefaultImage",
"settings.FingerprintAttempt|FingerprintAttempt", "settings.FingerprintAttempt|FingerprintAttempt",
...@@ -96,6 +97,7 @@ os_settings_auto_imports = settings_auto_imports + ...@@ -96,6 +97,7 @@ os_settings_auto_imports = settings_auto_imports +
cr_elements_chromeos_auto_imports + [ cr_elements_chromeos_auto_imports + [
"chrome/browser/resources/settings/chromeos/ambient_mode_page/ambient_mode_browser_proxy.html|AmbientModeBrowserProxy,AmbientModeBrowserProxyImpl", "chrome/browser/resources/settings/chromeos/ambient_mode_page/ambient_mode_browser_proxy.html|AmbientModeBrowserProxy,AmbientModeBrowserProxyImpl",
"chrome/browser/resources/settings/chromeos/ambient_mode_page/constants.html|AmbientModeTopicSource,AmbientModeTemperatureUnit,AmbientModeAlbum,AmbientModeSettings,TopicSourceItem", "chrome/browser/resources/settings/chromeos/ambient_mode_page/constants.html|AmbientModeTopicSource,AmbientModeTemperatureUnit,AmbientModeAlbum,AmbientModeSettings,TopicSourceItem",
"chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_settings_delegate.html|CellularSetupSettingsDelegate",
"chrome/browser/resources/settings/chromeos/deep_linking_behavior.html|DeepLinkingBehavior", "chrome/browser/resources/settings/chromeos/deep_linking_behavior.html|DeepLinkingBehavior",
"chrome/browser/resources/settings/chromeos/metrics_recorder.html|recordSettingChange", "chrome/browser/resources/settings/chromeos/metrics_recorder.html|recordSettingChange",
"chrome/browser/resources/settings/chromeos/multidevice_page/multidevice_browser_proxy.html|MultiDeviceBrowserProxy,MultiDeviceBrowserProxyImpl", "chrome/browser/resources/settings/chromeos/multidevice_page/multidevice_browser_proxy.html|MultiDeviceBrowserProxy,MultiDeviceBrowserProxyImpl",
......
...@@ -50,6 +50,11 @@ ...@@ -50,6 +50,11 @@
use_base_dir="false" use_base_dir="false"
compress="false" compress="false"
type="BINDATA" /> type="BINDATA" />
<include name="IDR_OS_SETTINGS_CELLULAR_SETUP_SETTINGS_DELEGATE_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/chromeos/internet_page/cellular_setup_settings_delegate.m.js"
use_base_dir="false"
compress="false"
type="BINDATA" />
<include name="IDR_OS_SETTINGS_INTERNET_SHARED_CSS_M_JS" <include name="IDR_OS_SETTINGS_INTERNET_SHARED_CSS_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.m.js"
use_base_dir="false" use_base_dir="false"
......
...@@ -1265,6 +1265,12 @@ ...@@ -1265,6 +1265,12 @@
<structure name="IDR_OS_SETTINGS_INTERNET_PAGE_BROWSER_PROXY_JS" <structure name="IDR_OS_SETTINGS_INTERNET_PAGE_BROWSER_PROXY_JS"
file="chromeos/internet_page/internet_page_browser_proxy.js" file="chromeos/internet_page/internet_page_browser_proxy.js"
compress="false" type="chrome_html" /> compress="false" type="chrome_html" />
<structure name="IDR_OS_SETTINGS_CELLULAR_SETUP_SETTINGS_DELEGATE_HTML"
file="chromeos/internet_page/cellular_setup_settings_delegate.html"
compress="false" type="chrome_html" />
<structure name="IDR_OS_SETTINGS_CELLULAR_SETUP_SETTINGS_DELEGATE_JS"
file="chromeos/internet_page/cellular_setup_settings_delegate.js"
compress="false" type="chrome_html" />
<structure name="IDR_OS_SETTINGS_INTERNET_PAGE_HTML" <structure name="IDR_OS_SETTINGS_INTERNET_PAGE_HTML"
file="chromeos/internet_page/internet_page.html" file="chromeos/internet_page/internet_page.html"
compress="false" type="chrome_html" /> compress="false" type="chrome_html" />
......
...@@ -254,6 +254,7 @@ if (include_js_tests) { ...@@ -254,6 +254,7 @@ if (include_js_tests) {
"$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/cellular_setup/psim_flow_ui_test.m.js", "$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/cellular_setup/psim_flow_ui_test.m.js",
"$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/cellular_setup/setup_selection_flow_test.m.js", "$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/cellular_setup/setup_selection_flow_test.m.js",
"$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/cellular_setup/sim_detect_page_test.m.js", "$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/cellular_setup/sim_detect_page_test.m.js",
"$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/cellular_setup/fake_cellular_setup_delegate.m.js",
"$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/network/cr_policy_network_behavior_mojo_tests.m.js", "$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/network/cr_policy_network_behavior_mojo_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/network/cr_policy_network_indicator_mojo_tests.m.js", "$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/network/cr_policy_network_indicator_mojo_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/network/network_apnlist_test.m.js", "$root_gen_dir/chrome/test/data/webui/cr_components/chromeos/network/network_apnlist_test.m.js",
......
...@@ -16,6 +16,9 @@ js_modulizer("modulize") { ...@@ -16,6 +16,9 @@ js_modulizer("modulize") {
"psim_flow_ui_test.js", "psim_flow_ui_test.js",
"setup_selection_flow_test.js", "setup_selection_flow_test.js",
"sim_detect_page_test.js", "sim_detect_page_test.js",
"fake_cellular_setup_delegate.js",
] ]
namespace_rewrites = cr_components_chromeos_namespace_rewrites namespace_rewrites =
cr_components_chromeos_namespace_rewrites +
[ "cellular_setup.FakeCellularSetupDelegate|FakeCellularSetupDelegate" ]
} }
...@@ -11,12 +11,14 @@ ...@@ -11,12 +11,14 @@
// #import {CellularSetupPageName} from 'chrome://resources/cr_components/chromeos/cellular_setup/cellular_types.m.js'; // #import {CellularSetupPageName} from 'chrome://resources/cr_components/chromeos/cellular_setup/cellular_types.m.js';
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; // #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertTrue} from '../../../chai_assert.js'; // #import {assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on // clang-format on
suite('CrComponentsCellularSetupTest', function() { suite('CrComponentsCellularSetupTest', function() {
let cellularSetupPage; let cellularSetupPage;
setup(function() { setup(function() {
cellularSetupPage = document.createElement('cellular-setup'); cellularSetupPage = document.createElement('cellular-setup');
cellularSetupPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(cellularSetupPage); document.body.appendChild(cellularSetupPage);
Polymer.dom.flush(); Polymer.dom.flush();
}); });
......
...@@ -8,12 +8,14 @@ ...@@ -8,12 +8,14 @@
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; // #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertTrue} from '../../../chai_assert.js'; // #import {assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on // clang-format on
suite('CrComponentsEsimFlowUiTest', function() { suite('CrComponentsEsimFlowUiTest', function() {
let eSimPage; let eSimPage;
setup(function() { setup(function() {
eSimPage = document.createElement('esim-flow-ui'); eSimPage = document.createElement('esim-flow-ui');
eSimPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(eSimPage); document.body.appendChild(eSimPage);
Polymer.dom.flush(); Polymer.dom.flush();
}); });
......
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// clang-format off
// #import {CellularSetupDelegate} from 'chrome://resources/cr_components/chromeos/cellular_setup/cellular_setup_delegate.m.js';
// clang-format on
cr.define('cellular_setup', function() {
/** @implements {cellular_setup.CellularSetupDelegate} */
/* #export */ class FakeCellularSetupDelegate {
/** @override */
shouldShowPageTitle() {
return false;
}
}
// #cr_define_end
return {
FakeCellularSetupDelegate: FakeCellularSetupDelegate,
};
});
\ No newline at end of file
...@@ -7,12 +7,14 @@ ...@@ -7,12 +7,14 @@
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; // #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertFalse, assertTrue} from '../../../chai_assert.js'; // #import {assertFalse, assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on // clang-format on
suite('CrComponentsFinalPageTest', function() { suite('CrComponentsFinalPageTest', function() {
let finalPage; let finalPage;
setup(function() { setup(function() {
finalPage = document.createElement('final-page'); finalPage = document.createElement('final-page');
finalPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(finalPage); document.body.appendChild(finalPage);
Polymer.dom.flush(); Polymer.dom.flush();
}); });
......
...@@ -8,12 +8,14 @@ ...@@ -8,12 +8,14 @@
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; // #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertFalse, assertTrue} from '../../../chai_assert.js'; // #import {assertFalse, assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on // clang-format on
suite('CrComponentsProvisioningPageTest', function() { suite('CrComponentsProvisioningPageTest', function() {
let provisioningPage; let provisioningPage;
setup(function() { setup(function() {
provisioningPage = document.createElement('provisioning-page'); provisioningPage = document.createElement('provisioning-page');
provisioningPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(provisioningPage); document.body.appendChild(provisioningPage);
Polymer.dom.flush(); Polymer.dom.flush();
}); });
......
...@@ -9,12 +9,14 @@ ...@@ -9,12 +9,14 @@
// #import {PSimUIState} from 'chrome://resources/cr_components/chromeos/cellular_setup/psim_flow_ui.m.js'; // #import {PSimUIState} from 'chrome://resources/cr_components/chromeos/cellular_setup/psim_flow_ui.m.js';
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; // #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertTrue} from '../../../chai_assert.js'; // #import {assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on // clang-format on
suite('CrComponentsPsimFlowUiTest', function() { suite('CrComponentsPsimFlowUiTest', function() {
let pSimPage; let pSimPage;
setup(function() { setup(function() {
pSimPage = document.createElement('psim-flow-ui'); pSimPage = document.createElement('psim-flow-ui');
pSimPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(pSimPage); document.body.appendChild(pSimPage);
Polymer.dom.flush(); Polymer.dom.flush();
}); });
......
...@@ -8,12 +8,15 @@ ...@@ -8,12 +8,15 @@
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; // #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertTrue} from '../../../chai_assert.js'; // #import {assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on // clang-format on
suite('CrComponentsSetupSelectionFlowTest', function() { suite('CrComponentsSetupSelectionFlowTest', function() {
let setupSelectionFlow; let setupSelectionFlow;
setup(function() { setup(function() {
setupSelectionFlow = document.createElement('setup-selection-flow'); setupSelectionFlow = document.createElement('setup-selection-flow');
setupSelectionFlow.delegate =
new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(setupSelectionFlow); document.body.appendChild(setupSelectionFlow);
Polymer.dom.flush(); Polymer.dom.flush();
}); });
......
...@@ -8,12 +8,14 @@ ...@@ -8,12 +8,14 @@
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; // #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertFalse, assertTrue} from '../../../chai_assert.js'; // #import {assertFalse, assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on // clang-format on
suite('CrComponentsSimDetectPageTest', function() { suite('CrComponentsSimDetectPageTest', function() {
let simDetectPage; let simDetectPage;
setup(function() { setup(function() {
simDetectPage = document.createElement('sim-detect-page'); simDetectPage = document.createElement('sim-detect-page');
simDetectPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(simDetectPage); document.body.appendChild(simDetectPage);
Polymer.dom.flush(); Polymer.dom.flush();
}); });
......
...@@ -56,13 +56,27 @@ GEN('#include "content/public/test/browser_test.h"'); ...@@ -56,13 +56,27 @@ GEN('#include "content/public/test/browser_test.h"');
[ [
['BasePage', 'cellular_setup/base_page_test.js', []], ['BasePage', 'cellular_setup/base_page_test.js', []],
['ButtonBar', 'cellular_setup/button_bar_test.js',[]], ['ButtonBar', 'cellular_setup/button_bar_test.js',[]],
['CellularSetup', 'cellular_setup/cellular_setup_test.js', []], ['CellularSetup', 'cellular_setup/cellular_setup_test.js', [
['EsimFlowUi', 'cellular_setup/esim_flow_ui_test.js',[]], './cellular_setup/fake_cellular_setup_delegate.js',
['FinalPage', 'cellular_setup/final_page_test.js', []], ]],
['ProvisioningPage', 'cellular_setup/provisioning_page_test.js',[]], ['EsimFlowUi', 'cellular_setup/esim_flow_ui_test.js',[
['PsimFlowUi', 'cellular_setup/psim_flow_ui_test.js',[]], './cellular_setup/fake_cellular_setup_delegate.js',
['SetupSelectionFlow', 'cellular_setup/setup_selection_flow_test.js',[]], ]],
['SimDetectPage', 'cellular_setup/sim_detect_page_test.js', []], ['FinalPage', 'cellular_setup/final_page_test.js', [
'./cellular_setup/fake_cellular_setup_delegate.js',
]],
['ProvisioningPage', 'cellular_setup/provisioning_page_test.js',[
'./cellular_setup/fake_cellular_setup_delegate.js',
]],
['PsimFlowUi', 'cellular_setup/psim_flow_ui_test.js',[
'./cellular_setup/fake_cellular_setup_delegate.js',
]],
['SetupSelectionFlow', 'cellular_setup/setup_selection_flow_test.js',[
'./cellular_setup/fake_cellular_setup_delegate.js',
]],
['SimDetectPage', 'cellular_setup/sim_detect_page_test.js', [
'./cellular_setup/fake_cellular_setup_delegate.js',
]],
].forEach(test => registerTest('CellularSetup', 'cellular-setup', ...test)); ].forEach(test => registerTest('CellularSetup', 'cellular-setup', ...test));
// clang-format on // clang-format on
......
...@@ -141,6 +141,7 @@ preprocess_grit("preprocess_generated") { ...@@ -141,6 +141,7 @@ preprocess_grit("preprocess_generated") {
"cr_components/chromeos/bluetooth/bluetooth_dialog.m.js", "cr_components/chromeos/bluetooth/bluetooth_dialog.m.js",
"cr_components/chromeos/cellular_setup/base_page.m.js", "cr_components/chromeos/cellular_setup/base_page.m.js",
"cr_components/chromeos/cellular_setup/button_bar.m.js", "cr_components/chromeos/cellular_setup/button_bar.m.js",
"cr_components/chromeos/cellular_setup/cellular_setup_delegate.m.js",
"cr_components/chromeos/cellular_setup/cellular_setup.m.js", "cr_components/chromeos/cellular_setup/cellular_setup.m.js",
"cr_components/chromeos/cellular_setup/cellular_types.m.js", "cr_components/chromeos/cellular_setup/cellular_types.m.js",
"cr_components/chromeos/cellular_setup/esim_flow_ui.m.js", "cr_components/chromeos/cellular_setup/esim_flow_ui.m.js",
......
...@@ -14,6 +14,8 @@ js_type_check("closure_compile") { ...@@ -14,6 +14,8 @@ js_type_check("closure_compile") {
":base_page", ":base_page",
":button_bar", ":button_bar",
":cellular_setup", ":cellular_setup",
":cellular_setup_delegate",
":cellular_types",
":final_page", ":final_page",
":mojo_interface_provider", ":mojo_interface_provider",
":provisioning_page", ":provisioning_page",
...@@ -36,7 +38,10 @@ js_library("base_page") { ...@@ -36,7 +38,10 @@ js_library("base_page") {
} }
js_library("sim_detect_page") { js_library("sim_detect_page") {
deps = [ ":base_page" ] deps = [
":base_page",
":cellular_setup_delegate",
]
} }
js_library("webview_post_util") { js_library("webview_post_util") {
...@@ -50,6 +55,7 @@ js_library("webview_post_util") { ...@@ -50,6 +55,7 @@ js_library("webview_post_util") {
js_library("provisioning_page") { js_library("provisioning_page") {
deps = [ deps = [
":base_page", ":base_page",
":cellular_setup_delegate",
":webview_post_util", ":webview_post_util",
] ]
externs_list = [ externs_list = [
...@@ -64,6 +70,7 @@ js_library("final_page") { ...@@ -64,6 +70,7 @@ js_library("final_page") {
js_library("psim_flow_ui") { js_library("psim_flow_ui") {
deps = [ deps = [
":cellular_setup_delegate",
":cellular_types", ":cellular_types",
":final_page", ":final_page",
":mojo_interface_provider", ":mojo_interface_provider",
...@@ -78,6 +85,7 @@ js_library("psim_flow_ui") { ...@@ -78,6 +85,7 @@ js_library("psim_flow_ui") {
js_library("esim_flow_ui") { js_library("esim_flow_ui") {
deps = [ deps = [
":cellular_setup_delegate",
":cellular_types", ":cellular_types",
":subflow_behavior", ":subflow_behavior",
"//ui/webui/resources/js:i18n_behavior", "//ui/webui/resources/js:i18n_behavior",
...@@ -103,9 +111,14 @@ js_library("cellular_types") { ...@@ -103,9 +111,14 @@ js_library("cellular_types") {
deps = [ "//ui/webui/resources/js:cr" ] deps = [ "//ui/webui/resources/js:cr" ]
} }
js_library("cellular_setup_delegate") {
deps = [ "//ui/webui/resources/js:cr" ]
}
js_library("cellular_setup") { js_library("cellular_setup") {
deps = [ deps = [
":button_bar", ":button_bar",
":cellular_setup_delegate",
":cellular_types", ":cellular_types",
":esim_flow_ui", ":esim_flow_ui",
":psim_flow_ui", ":psim_flow_ui",
...@@ -129,6 +142,7 @@ js_type_check("closure_compile_module") { ...@@ -129,6 +142,7 @@ js_type_check("closure_compile_module") {
":base_page.m", ":base_page.m",
":button_bar.m", ":button_bar.m",
":cellular_setup.m", ":cellular_setup.m",
":cellular_setup_delegate.m",
":cellular_types.m", ":cellular_types.m",
":esim_flow_ui.m", ":esim_flow_ui.m",
":final_page.m", ":final_page.m",
...@@ -155,6 +169,7 @@ js_library("final_page.m") { ...@@ -155,6 +169,7 @@ js_library("final_page.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/final_page.m.js" ] sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/final_page.m.js" ]
deps = [ deps = [
":base_page.m", ":base_page.m",
":cellular_setup_delegate.m",
"//ui/webui/resources/js:i18n_behavior.m", "//ui/webui/resources/js:i18n_behavior.m",
] ]
extra_deps = [ ":final_page_module" ] extra_deps = [ ":final_page_module" ]
...@@ -181,7 +196,10 @@ js_library("webview_post_util.m") { ...@@ -181,7 +196,10 @@ js_library("webview_post_util.m") {
js_library("sim_detect_page.m") { js_library("sim_detect_page.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/sim_detect_page.m.js" ] sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/sim_detect_page.m.js" ]
deps = [ ":base_page.m" ] deps = [
":base_page.m",
":cellular_setup_delegate.m",
]
extra_deps = [ ":sim_detect_page_module" ] extra_deps = [ ":sim_detect_page_module" ]
} }
...@@ -189,6 +207,7 @@ js_library("provisioning_page.m") { ...@@ -189,6 +207,7 @@ js_library("provisioning_page.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/provisioning_page.m.js" ] sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/provisioning_page.m.js" ]
deps = [ deps = [
":base_page.m", ":base_page.m",
":cellular_setup_delegate.m",
":webview_post_util.m", ":webview_post_util.m",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled", "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/js:assert.m", "//ui/webui/resources/js:assert.m",
...@@ -216,6 +235,11 @@ js_library("cellular_types.m") { ...@@ -216,6 +235,11 @@ js_library("cellular_types.m") {
extra_deps = [ ":modulize" ] extra_deps = [ ":modulize" ]
} }
js_library("cellular_setup_delegate.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_setup_delegate.m.js" ]
extra_deps = [ ":modulize" ]
}
js_library("subflow_behavior.m") { js_library("subflow_behavior.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/subflow_behavior.m.js" ] sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/subflow_behavior.m.js" ]
deps = [ ":cellular_types.m" ] deps = [ ":cellular_types.m" ]
...@@ -225,7 +249,7 @@ js_library("subflow_behavior.m") { ...@@ -225,7 +249,7 @@ js_library("subflow_behavior.m") {
js_library("psim_flow_ui.m") { js_library("psim_flow_ui.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/psim_flow_ui.m.js" ] sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/psim_flow_ui.m.js" ]
deps = [ deps = [
":cellular_types.m", ":cellular_setup_delegate.m",
":cellular_types.m", ":cellular_types.m",
":final_page.m", ":final_page.m",
":mojo_interface_provider.m", ":mojo_interface_provider.m",
...@@ -243,6 +267,7 @@ js_library("psim_flow_ui.m") { ...@@ -243,6 +267,7 @@ js_library("psim_flow_ui.m") {
js_library("esim_flow_ui.m") { js_library("esim_flow_ui.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/esim_flow_ui.m.js" ] sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/esim_flow_ui.m.js" ]
deps = [ deps = [
":cellular_setup_delegate.m",
":cellular_types.m", ":cellular_types.m",
":subflow_behavior.m", ":subflow_behavior.m",
"//ui/webui/resources/js:i18n_behavior.m", "//ui/webui/resources/js:i18n_behavior.m",
...@@ -264,6 +289,7 @@ js_library("cellular_setup.m") { ...@@ -264,6 +289,7 @@ js_library("cellular_setup.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_setup.m.js" ] sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_setup.m.js" ]
deps = [ deps = [
":button_bar.m", ":button_bar.m",
":cellular_setup_delegate.m",
":cellular_types.m", ":cellular_types.m",
":esim_flow_ui.m", ":esim_flow_ui.m",
":psim_flow_ui.m", ":psim_flow_ui.m",
...@@ -363,6 +389,7 @@ polymer_modulizer("cellular_setup") { ...@@ -363,6 +389,7 @@ polymer_modulizer("cellular_setup") {
js_modulizer("modulize") { js_modulizer("modulize") {
input_files = [ input_files = [
"cellular_types.js", "cellular_types.js",
"cellular_setup_delegate.js",
"mojo_interface_provider.js", "mojo_interface_provider.js",
"subflow_behavior.js", "subflow_behavior.js",
"webview_post_util.js", "webview_post_util.js",
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<link rel="import" href="psim_flow_ui.html"> <link rel="import" href="psim_flow_ui.html">
<link rel="import" href="esim_flow_ui.html"> <link rel="import" href="esim_flow_ui.html">
<link rel="import" href="cellular_types.html"> <link rel="import" href="cellular_types.html">
<link rel="import" href="cellular_setup_delegate.html">
<link rel="import" href="setup_selection_flow.html"> <link rel="import" href="setup_selection_flow.html">
<link rel="import" href="../../../html/i18n_behavior.html"> <link rel="import" href="../../../html/i18n_behavior.html">
...@@ -20,11 +21,19 @@ ...@@ -20,11 +21,19 @@
</setup-selection-flow> </setup-selection-flow>
<template is="dom-if" <template is="dom-if"
if="[[isPSimSelected_(currentPageName_)]]" restamp> if="[[isPSimSelected_(currentPageName_)]]" restamp>
<psim-flow-ui button-state="{{buttonState_}}" id="psim-flow-ui"></psim-flow-ui> <psim-flow-ui
button-state="{{buttonState_}}"
delegate="[[delegate]]"
id="psim-flow-ui">
</psim-flow-ui>
</template> </template>
<template is="dom-if" <template is="dom-if"
if="[[isESimSelected_(currentPageName_)]]" restamp> if="[[isESimSelected_(currentPageName_)]]" restamp>
<esim-flow-ui button-state="{{buttonState_}}" id="esim-flow-ui"></esim-flow-ui> <esim-flow-ui
button-state="{{buttonState_}}"
delegate="[[delegate]]"
id="esim-flow-ui">
</esim-flow-ui>
</template> </template>
</iron-pages> </iron-pages>
<button-bar button-state="[[buttonState_]]"> <button-bar button-state="[[buttonState_]]">
......
...@@ -12,6 +12,9 @@ Polymer({ ...@@ -12,6 +12,9 @@ Polymer({
behaviors: [I18nBehavior], behaviors: [I18nBehavior],
properties: { properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/** /**
* Name of the currently displayed sub-page. * Name of the currently displayed sub-page.
* @private {!cellularSetup.CellularSetupPageName|null} * @private {!cellularSetup.CellularSetupPageName|null}
...@@ -48,7 +51,7 @@ Polymer({ ...@@ -48,7 +51,7 @@ Polymer({
currentPage_: { currentPage_: {
type: Object, type: Object,
observer: 'onPageChange_', observer: 'onPageChange_',
} },
}, },
listeners: { listeners: {
......
<link rel="import" href="../../../html/cr.html">
<script src="cellular_setup_delegate.js"></script>
\ No newline at end of file
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// #import {addSingletonGetter} from 'chrome://resources/js/cr.m.js';
cr.define('cellular_setup', function() {
/**
* Interface which provides alternate UI behaviors for the Cellular Setup
* flows.
* @interface
*/
/* #export */ class CellularSetupDelegate {
/**
* @return {boolean} true if base page title text should be visible.
*/
shouldShowPageTitle() {}
}
// #cr_define_end
return {
CellularSetupDelegate: CellularSetupDelegate,
};
});
\ No newline at end of file
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<link rel="import" href="../../../cr_elements/cr_input/cr_input.html"> <link rel="import" href="../../../cr_elements/cr_input/cr_input.html">
<link rel="import" href="subflow_behavior.html"> <link rel="import" href="subflow_behavior.html">
<link rel="import" href="cellular_types.html"> <link rel="import" href="cellular_types.html">
<link rel="import" href="cellular_setup_delegate.html">
<dom-module id="esim-flow-ui"> <dom-module id="esim-flow-ui">
<template> <template>
......
...@@ -15,6 +15,9 @@ Polymer({ ...@@ -15,6 +15,9 @@ Polymer({
], ],
properties: { properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/** /**
* @type {string} * @type {string}
* @private * @private
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<link rel="import" href="../../../html/i18n_behavior.html"> <link rel="import" href="../../../html/i18n_behavior.html">
<link rel="import" href="base_page.html"> <link rel="import" href="base_page.html">
<link rel="import" href="cellular_setup_delegate.html">
<dom-module id="final-page"> <dom-module id="final-page">
<template> <template>
......
...@@ -13,6 +13,9 @@ Polymer({ ...@@ -13,6 +13,9 @@ Polymer({
behaviors: [I18nBehavior], behaviors: [I18nBehavior],
properties: { properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/** /**
* Whether error state should be shown. * Whether error state should be shown.
* @type {boolean} * @type {boolean}
...@@ -22,12 +25,15 @@ Polymer({ ...@@ -22,12 +25,15 @@ Polymer({
/** /**
* @param {boolean} showError * @param {boolean} showError
* @return {string} * @return {?string}
* @private * @private
*/ */
getTitle_(showError) { getTitle_(showError) {
if (this.delegate.shouldShowPageTitle()) {
return showError ? this.i18n('finalPageErrorTitle') : return showError ? this.i18n('finalPageErrorTitle') :
this.i18n('finalPageTitle'); this.i18n('finalPageTitle');
}
return null;
}, },
/** /**
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<link rel="import" href="base_page.html"> <link rel="import" href="base_page.html">
<link rel="import" href="webview_post_util.html"> <link rel="import" href="webview_post_util.html">
<link rel="import" href="cellular_setup_delegate.html">
<link rel="import" href="../../../html/i18n_behavior.html"> <link rel="import" href="../../../html/i18n_behavior.html">
<link rel="import" href="../../../html/load_time_data.html"> <link rel="import" href="../../../html/load_time_data.html">
<link rel="import" href="../../../html/assert.html"> <link rel="import" href="../../../html/assert.html">
......
...@@ -14,6 +14,9 @@ Polymer({ ...@@ -14,6 +14,9 @@ Polymer({
behaviors: [I18nBehavior], behaviors: [I18nBehavior],
properties: { properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/** /**
* Whether error state should be shown. * Whether error state should be shown.
* @type {boolean} * @type {boolean}
...@@ -55,10 +58,13 @@ Polymer({ ...@@ -55,10 +58,13 @@ Polymer({
}, },
/** /**
* @return {string} * @return {?string}
* @private * @private
*/ */
getPageTitle_() { getPageTitle_() {
if (!this.delegate.shouldShowPageTitle()) {
return null;
}
if (this.showError) { if (this.showError) {
return this.i18n('provisioningPageErrorTitle', this.carrierName_); return this.i18n('provisioningPageErrorTitle', this.carrierName_);
} }
...@@ -69,14 +75,14 @@ Polymer({ ...@@ -69,14 +75,14 @@ Polymer({
}, },
/** /**
* @return {string} * @return {?string}
* @private * @private
*/ */
getPageMessage_() { getPageMessage_() {
if (this.showError) { if (this.showError) {
return this.i18n('provisioningPageErrorMessage', this.carrierName_); return this.i18n('provisioningPageErrorMessage', this.carrierName_);
} }
return ''; return null;
}, },
/** /**
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<link rel="import" href="final_page.html"> <link rel="import" href="final_page.html">
<link rel="import" href="subflow_behavior.html"> <link rel="import" href="subflow_behavior.html">
<link rel="import" href="cellular_types.html"> <link rel="import" href="cellular_types.html">
<link rel="import" href="cellular_setup_delegate.html">
<link rel="import" href="chrome://resources/html/assert.html"> <link rel="import" href="chrome://resources/html/assert.html">
<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout.html"> <link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout.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-flex-layout/iron-flex-layout-classes.html">
...@@ -25,13 +26,13 @@ ...@@ -25,13 +26,13 @@
<iron-pages attr-for-selected="is" <iron-pages attr-for-selected="is"
selected="[[selectedPSimPageName_]]" selected="[[selectedPSimPageName_]]"
selected-item="{{selectedPage_}}"> selected-item="{{selectedPage_}}">
<sim-detect-page show-error="[[showError_]]"></sim-detect-page> <sim-detect-page delegate="[[delegate]]" show-error="[[showError_]]"></sim-detect-page>
<provisioning-page show-error="{{showError_}}" <provisioning-page delegate="[[delegate]]" show-error="{{showError_}}"
cellular-metadata="[[cellularMetadata_]]" cellular-metadata="[[cellularMetadata_]]"
on-carrier-portal-loaded="onCarrierPortalLoaded_" on-carrier-portal-loaded="onCarrierPortalLoaded_"
on-carrier-portal-result="onCarrierPortalResult_"> on-carrier-portal-result="onCarrierPortalResult_">
</provisioning-page> </provisioning-page>
<final-page show-error="[[showError_]]"></final-page> <final-page delegate="[[delegate]]" show-error="[[showError_]]"></final-page>
</iron-pages> </iron-pages>
</template> </template>
<script src="psim_flow_ui.js"></script> <script src="psim_flow_ui.js"></script>
......
...@@ -67,6 +67,9 @@ cr.define('cellularSetup', function() { ...@@ -67,6 +67,9 @@ cr.define('cellularSetup', function() {
], ],
properties: { properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/** /**
* @type {!cellularSetup.PSimUIState} * @type {!cellularSetup.PSimUIState}
* @private * @private
...@@ -126,7 +129,8 @@ cr.define('cellularSetup', function() { ...@@ -126,7 +129,8 @@ cr.define('cellularSetup', function() {
* Whether cancel button should be shown in the button bar. * Whether cancel button should be shown in the button bar.
* @private {boolean} * @private {boolean}
*/ */
showCancelButton_: {type: Boolean, value: false} showCancelButton_: {type: Boolean, value: false},
}, },
observers: [ observers: [
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<link rel="import" href="../../../html/i18n_behavior.html"> <link rel="import" href="../../../html/i18n_behavior.html">
<link rel="import" href="base_page.html"> <link rel="import" href="base_page.html">
<link rel="import" href="cellular_setup_delegate.html">
<link rel="import" href="../../../cr_elements/hidden_style_css.html"> <link rel="import" href="../../../cr_elements/hidden_style_css.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-flex-layout/iron-flex-layout-classes.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-spinner/paper-spinner-lite.html"> <link rel="import" href="chrome://resources/polymer/v1_0/paper-spinner/paper-spinner-lite.html">
......
...@@ -14,6 +14,9 @@ Polymer({ ...@@ -14,6 +14,9 @@ Polymer({
behaviors: [I18nBehavior], behaviors: [I18nBehavior],
properties: { properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/** /**
* Whether error state should be shown. * Whether error state should be shown.
* @type {boolean} * @type {boolean}
...@@ -23,11 +26,14 @@ Polymer({ ...@@ -23,11 +26,14 @@ Polymer({
/** /**
* @param {boolean} showError * @param {boolean} showError
* @return {string} * @return {?string}
* @private * @private
*/ */
getTitle_(showError) { getTitle_(showError) {
return showError ? this.i18n('simDetectPageErrorTitle') : ''; if (this.delegate.shouldShowPageTitle() && showError) {
return this.i18n('simDetectPageErrorTitle');
}
return null;
}, },
/** /**
......
...@@ -14,6 +14,7 @@ cr_components_chromeos_namespace_rewrites = [ ...@@ -14,6 +14,7 @@ cr_components_chromeos_namespace_rewrites = [
"cellularSetup.PSimUIState|PSimUIState", "cellularSetup.PSimUIState|PSimUIState",
"cellularSetup.getTimeoutMsForPSimUIState|getTimeoutMsForPSimUIState", "cellularSetup.getTimeoutMsForPSimUIState|getTimeoutMsForPSimUIState",
"cellular_setup.MojoInterfaceProvider|MojoInterfaceProvider", "cellular_setup.MojoInterfaceProvider|MojoInterfaceProvider",
"cellular_setup.CellularSetupDelegate|CellularSetupDelegate",
"network_config.MojoInterfaceProvider|MojoInterfaceProvider", "network_config.MojoInterfaceProvider|MojoInterfaceProvider",
"network_config.MojoInterfaceProviderImpl|MojoInterfaceProviderImpl", "network_config.MojoInterfaceProviderImpl|MojoInterfaceProviderImpl",
"settings.LockScreenProgress|LockScreenProgress", "settings.LockScreenProgress|LockScreenProgress",
...@@ -24,6 +25,7 @@ cr_components_chromeos_namespace_rewrites = [ ...@@ -24,6 +25,7 @@ cr_components_chromeos_namespace_rewrites = [
cr_components_chromeos_auto_imports = [ cr_components_chromeos_auto_imports = [
"ui/webui/resources/cr_elements/policy/cr_policy_indicator_behavior.html|CrPolicyIndicatorType", "ui/webui/resources/cr_elements/policy/cr_policy_indicator_behavior.html|CrPolicyIndicatorType",
"ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_types.html|ButtonState,Button,ButtonBarState,CellularSetupPageName", "ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_types.html|ButtonState,Button,ButtonBarState,CellularSetupPageName",
"ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_setup_delegate.html|CellularSetupDelegate",
"ui/webui/resources/cr_components/chromeos/cellular_setup/subflow_behavior.html|SubflowBehavior", "ui/webui/resources/cr_components/chromeos/cellular_setup/subflow_behavior.html|SubflowBehavior",
"ui/webui/resources/cr_components/chromeos/cellular_setup/mojo_interface_provider.html|MojoInterfaceProviderImpl,MojoInterfaceProvider", "ui/webui/resources/cr_components/chromeos/cellular_setup/mojo_interface_provider.html|MojoInterfaceProviderImpl,MojoInterfaceProvider",
"ui/webui/resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.html|CrPolicyNetworkBehaviorMojo", "ui/webui/resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.html|CrPolicyNetworkBehaviorMojo",
......
...@@ -152,6 +152,12 @@ ...@@ -152,6 +152,12 @@
<structure name="IDR_WEBUI_CHROMEOS_CELLULAR_TYPES_HTML" <structure name="IDR_WEBUI_CHROMEOS_CELLULAR_TYPES_HTML"
file="cr_components/chromeos/cellular_setup/cellular_types.html" file="cr_components/chromeos/cellular_setup/cellular_types.html"
type="chrome_html" /> type="chrome_html" />
<structure name="IDR_WEBUI_CHROMEOS_CELLULAR_SETUP_DELEGATE_HTML"
file="cr_components/chromeos/cellular_setup/cellular_setup_delegate.html"
type="chrome_html" />
<structure name="IDR_WEBUI_CHROMEOS_CELLULAR_SETUP_DELEGATE_JS"
file="cr_components/chromeos/cellular_setup/cellular_setup_delegate.js"
type="chrome_html" />
<structure name="IDR_WEBUI_CHROMEOS_CELLULAR_SETUP_MOJO_INTERFACE_PROVIDER_HTML" <structure name="IDR_WEBUI_CHROMEOS_CELLULAR_SETUP_MOJO_INTERFACE_PROVIDER_HTML"
file="cr_components/chromeos/cellular_setup/mojo_interface_provider.html" file="cr_components/chromeos/cellular_setup/mojo_interface_provider.html"
type="chrome_html" /> type="chrome_html" />
......
...@@ -196,6 +196,10 @@ ...@@ -196,6 +196,10 @@
file="${root_gen_dir}/ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_types.m.js" file="${root_gen_dir}/ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_types.m.js"
use_base_dir="false" use_base_dir="false"
type="BINDATA" /> type="BINDATA" />
<include name="IDR_WEBUI_CHROMEOS_CELLULAR_SETUP_CELLULAR_SETUP_DELEGATE_M_JS"
file="${root_gen_dir}/ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_setup_delegate.m.js"
use_base_dir="false"
type="BINDATA" />
<include name="IDR_WEBUI_CHROMEOS_CELLULAR_SETUP_SUBFLOW_BEHAVIOR_M_JS" <include name="IDR_WEBUI_CHROMEOS_CELLULAR_SETUP_SUBFLOW_BEHAVIOR_M_JS"
file="${root_gen_dir}/ui/webui/resources/cr_components/chromeos/cellular_setup/subflow_behavior.m.js" file="${root_gen_dir}/ui/webui/resources/cr_components/chromeos/cellular_setup/subflow_behavior.m.js"
use_base_dir="false" use_base_dir="false"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment