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") {
js_library("cellular_setup_dialog") {
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",
]
}
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.
js_type_check("closure_compile_module") {
is_polymer3 = true
deps = [
":cellular_setup_dialog.m",
":cellular_setup_settings_delegate.m",
":internet_config.m",
# ":internet_detail_page.m",
# ":internet_detail_page.m",
":internet_known_networks_page.m",
# ":internet_page.m",
# ":internet_page.m",
":internet_page_browser_proxy.m",
":internet_shared_css.m",
# ":internet_subpage.m",
......@@ -201,6 +213,7 @@ js_library("cellular_setup_dialog.m") {
deps = [
"//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_delegate.m",
"//ui/webui/resources/cr_elements/cr_dialog:cr_dialog.m",
"//ui/webui/resources/js:i18n_behavior.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" ]
deps = [
":internet_shared_css.m",
"//chrome/browser/resources/settings/chromeos:metrics_recorder.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/polymer:polymer_bundled",
"//ui/webui/resources/cr_components/chromeos/network:network_config.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" ]
deps = [
":internet_shared_css.m",
"//chrome/browser/resources/settings:router.m",
"//chrome/browser/resources/settings/chromeos:deep_linking_behavior.m",
"//chrome/browser/resources/settings/chromeos:metrics_recorder.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",
"//ui/webui/resources/cr_components/chromeos/network:cr_policy_network_behavior_mojo.m",
"//ui/webui/resources/cr_components/chromeos/network:mojo_interface_provider.m",
......@@ -269,6 +282,15 @@ js_library("internet_page_browser_proxy.m") {
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") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.m.js" ]
extra_deps = [ ":internet_shared_css_module" ]
......@@ -416,9 +438,14 @@ 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
namespace_rewrites = os_settings_namespace_rewrites
}
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
}
<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_delegate.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">
<dom-module id="os-settings-cellular-setup-dialog">
<template>
......@@ -14,7 +16,7 @@
<cr-dialog id="dialog">
<div slot="title">$i18n{cellularSetupDialogTitle}</div>
<div slot="body">
<cellular-setup></cellular-setup>
<cellular-setup delegate="[[delegate_]]"></cellular-setup>
</div>
</cr-dialog>
</template>
......
......@@ -9,7 +9,18 @@
Polymer({
is: 'os-settings-cellular-setup-dialog',
properties: {},
properties: {
/**
* @private {!cellular_setup.CellularSetupDelegate}
*/
delegate_: Object
},
/** @override */
created() {
this.delegate_ = new settings.CellularSetupSettingsDelegate();
},
/** @override */
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 +
"parental_controls.ParentalControlsBrowserProxy|ParentalControlsBrowserProxy",
"settings.AccountManagerBrowserProxy|AccountManagerBrowserProxy",
"settings.AmbientModeBrowserProxy|AmbientModeBrowserProxy",
"settings.CellularSetupSettingsDelegate|CellularSetupSettingsDelegate",
"settings.ChangePictureBrowserProxy|ChangePictureBrowserProxy",
"settings.DefaultImage|DefaultImage",
"settings.FingerprintAttempt|FingerprintAttempt",
......@@ -96,6 +97,7 @@ os_settings_auto_imports = settings_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/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/metrics_recorder.html|recordSettingChange",
"chrome/browser/resources/settings/chromeos/multidevice_page/multidevice_browser_proxy.html|MultiDeviceBrowserProxy,MultiDeviceBrowserProxyImpl",
......
......@@ -50,6 +50,11 @@
use_base_dir="false"
compress="false"
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"
file="${root_gen_dir}/chrome/browser/resources/settings/chromeos/internet_page/internet_shared_css.m.js"
use_base_dir="false"
......
......@@ -1265,6 +1265,12 @@
<structure name="IDR_OS_SETTINGS_INTERNET_PAGE_BROWSER_PROXY_JS"
file="chromeos/internet_page/internet_page_browser_proxy.js"
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"
file="chromeos/internet_page/internet_page.html"
compress="false" type="chrome_html" />
......
......@@ -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/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/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_indicator_mojo_tests.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") {
"psim_flow_ui_test.js",
"setup_selection_flow_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 @@
// #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 {assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on
suite('CrComponentsCellularSetupTest', function() {
let cellularSetupPage;
setup(function() {
cellularSetupPage = document.createElement('cellular-setup');
cellularSetupPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(cellularSetupPage);
Polymer.dom.flush();
});
......
......@@ -8,12 +8,14 @@
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on
suite('CrComponentsEsimFlowUiTest', function() {
let eSimPage;
setup(function() {
eSimPage = document.createElement('esim-flow-ui');
eSimPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(eSimPage);
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 @@
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertFalse, assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on
suite('CrComponentsFinalPageTest', function() {
let finalPage;
setup(function() {
finalPage = document.createElement('final-page');
finalPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(finalPage);
Polymer.dom.flush();
});
......
......@@ -8,12 +8,14 @@
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertFalse, assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on
suite('CrComponentsProvisioningPageTest', function() {
let provisioningPage;
setup(function() {
provisioningPage = document.createElement('provisioning-page');
provisioningPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(provisioningPage);
Polymer.dom.flush();
});
......
......@@ -9,12 +9,14 @@
// #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 {assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on
suite('CrComponentsPsimFlowUiTest', function() {
let pSimPage;
setup(function() {
pSimPage = document.createElement('psim-flow-ui');
pSimPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(pSimPage);
Polymer.dom.flush();
});
......
......@@ -8,12 +8,15 @@
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on
suite('CrComponentsSetupSelectionFlowTest', function() {
let setupSelectionFlow;
setup(function() {
setupSelectionFlow = document.createElement('setup-selection-flow');
setupSelectionFlow.delegate =
new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(setupSelectionFlow);
Polymer.dom.flush();
});
......
......@@ -8,12 +8,14 @@
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertFalse, assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on
suite('CrComponentsSimDetectPageTest', function() {
let simDetectPage;
setup(function() {
simDetectPage = document.createElement('sim-detect-page');
simDetectPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(simDetectPage);
Polymer.dom.flush();
});
......
......@@ -56,13 +56,27 @@ GEN('#include "content/public/test/browser_test.h"');
[
['BasePage', 'cellular_setup/base_page_test.js', []],
['ButtonBar', 'cellular_setup/button_bar_test.js',[]],
['CellularSetup', 'cellular_setup/cellular_setup_test.js', []],
['EsimFlowUi', 'cellular_setup/esim_flow_ui_test.js',[]],
['FinalPage', 'cellular_setup/final_page_test.js', []],
['ProvisioningPage', 'cellular_setup/provisioning_page_test.js',[]],
['PsimFlowUi', 'cellular_setup/psim_flow_ui_test.js',[]],
['SetupSelectionFlow', 'cellular_setup/setup_selection_flow_test.js',[]],
['SimDetectPage', 'cellular_setup/sim_detect_page_test.js', []],
['CellularSetup', 'cellular_setup/cellular_setup_test.js', [
'./cellular_setup/fake_cellular_setup_delegate.js',
]],
['EsimFlowUi', 'cellular_setup/esim_flow_ui_test.js',[
'./cellular_setup/fake_cellular_setup_delegate.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));
// clang-format on
......
......@@ -141,6 +141,7 @@ preprocess_grit("preprocess_generated") {
"cr_components/chromeos/bluetooth/bluetooth_dialog.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/cellular_setup_delegate.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/esim_flow_ui.m.js",
......
......@@ -14,6 +14,8 @@ js_type_check("closure_compile") {
":base_page",
":button_bar",
":cellular_setup",
":cellular_setup_delegate",
":cellular_types",
":final_page",
":mojo_interface_provider",
":provisioning_page",
......@@ -36,7 +38,10 @@ js_library("base_page") {
}
js_library("sim_detect_page") {
deps = [ ":base_page" ]
deps = [
":base_page",
":cellular_setup_delegate",
]
}
js_library("webview_post_util") {
......@@ -50,6 +55,7 @@ js_library("webview_post_util") {
js_library("provisioning_page") {
deps = [
":base_page",
":cellular_setup_delegate",
":webview_post_util",
]
externs_list = [
......@@ -64,6 +70,7 @@ js_library("final_page") {
js_library("psim_flow_ui") {
deps = [
":cellular_setup_delegate",
":cellular_types",
":final_page",
":mojo_interface_provider",
......@@ -78,6 +85,7 @@ js_library("psim_flow_ui") {
js_library("esim_flow_ui") {
deps = [
":cellular_setup_delegate",
":cellular_types",
":subflow_behavior",
"//ui/webui/resources/js:i18n_behavior",
......@@ -103,9 +111,14 @@ js_library("cellular_types") {
deps = [ "//ui/webui/resources/js:cr" ]
}
js_library("cellular_setup_delegate") {
deps = [ "//ui/webui/resources/js:cr" ]
}
js_library("cellular_setup") {
deps = [
":button_bar",
":cellular_setup_delegate",
":cellular_types",
":esim_flow_ui",
":psim_flow_ui",
......@@ -129,6 +142,7 @@ js_type_check("closure_compile_module") {
":base_page.m",
":button_bar.m",
":cellular_setup.m",
":cellular_setup_delegate.m",
":cellular_types.m",
":esim_flow_ui.m",
":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" ]
deps = [
":base_page.m",
":cellular_setup_delegate.m",
"//ui/webui/resources/js:i18n_behavior.m",
]
extra_deps = [ ":final_page_module" ]
......@@ -181,7 +196,10 @@ js_library("webview_post_util.m") {
js_library("sim_detect_page.m") {
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" ]
}
......@@ -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" ]
deps = [
":base_page.m",
":cellular_setup_delegate.m",
":webview_post_util.m",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/js:assert.m",
......@@ -216,6 +235,11 @@ js_library("cellular_types.m") {
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") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/subflow_behavior.m.js" ]
deps = [ ":cellular_types.m" ]
......@@ -225,7 +249,7 @@ js_library("subflow_behavior.m") {
js_library("psim_flow_ui.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/psim_flow_ui.m.js" ]
deps = [
":cellular_types.m",
":cellular_setup_delegate.m",
":cellular_types.m",
":final_page.m",
":mojo_interface_provider.m",
......@@ -243,6 +267,7 @@ js_library("psim_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" ]
deps = [
":cellular_setup_delegate.m",
":cellular_types.m",
":subflow_behavior.m",
"//ui/webui/resources/js:i18n_behavior.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" ]
deps = [
":button_bar.m",
":cellular_setup_delegate.m",
":cellular_types.m",
":esim_flow_ui.m",
":psim_flow_ui.m",
......@@ -363,6 +389,7 @@ polymer_modulizer("cellular_setup") {
js_modulizer("modulize") {
input_files = [
"cellular_types.js",
"cellular_setup_delegate.js",
"mojo_interface_provider.js",
"subflow_behavior.js",
"webview_post_util.js",
......
......@@ -4,6 +4,7 @@
<link rel="import" href="psim_flow_ui.html">
<link rel="import" href="esim_flow_ui.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="../../../html/i18n_behavior.html">
......@@ -20,11 +21,19 @@
</setup-selection-flow>
<template is="dom-if"
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 is="dom-if"
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>
</iron-pages>
<button-bar button-state="[[buttonState_]]">
......
......@@ -12,6 +12,9 @@ Polymer({
behaviors: [I18nBehavior],
properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/**
* Name of the currently displayed sub-page.
* @private {!cellularSetup.CellularSetupPageName|null}
......@@ -48,7 +51,7 @@ Polymer({
currentPage_: {
type: Object,
observer: 'onPageChange_',
}
},
},
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 @@
<link rel="import" href="../../../cr_elements/cr_input/cr_input.html">
<link rel="import" href="subflow_behavior.html">
<link rel="import" href="cellular_types.html">
<link rel="import" href="cellular_setup_delegate.html">
<dom-module id="esim-flow-ui">
<template>
......
......@@ -15,6 +15,9 @@ Polymer({
],
properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/**
* @type {string}
* @private
......
......@@ -2,6 +2,7 @@
<link rel="import" href="../../../html/i18n_behavior.html">
<link rel="import" href="base_page.html">
<link rel="import" href="cellular_setup_delegate.html">
<dom-module id="final-page">
<template>
......
......@@ -13,6 +13,9 @@ Polymer({
behaviors: [I18nBehavior],
properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/**
* Whether error state should be shown.
* @type {boolean}
......@@ -22,12 +25,15 @@ Polymer({
/**
* @param {boolean} showError
* @return {string}
* @return {?string}
* @private
*/
getTitle_(showError) {
return showError ? this.i18n('finalPageErrorTitle') :
this.i18n('finalPageTitle');
if (this.delegate.shouldShowPageTitle()) {
return showError ? this.i18n('finalPageErrorTitle') :
this.i18n('finalPageTitle');
}
return null;
},
/**
......
......@@ -2,6 +2,7 @@
<link rel="import" href="base_page.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/load_time_data.html">
<link rel="import" href="../../../html/assert.html">
......
......@@ -14,6 +14,9 @@ Polymer({
behaviors: [I18nBehavior],
properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/**
* Whether error state should be shown.
* @type {boolean}
......@@ -55,10 +58,13 @@ Polymer({
},
/**
* @return {string}
* @return {?string}
* @private
*/
getPageTitle_() {
if (!this.delegate.shouldShowPageTitle()) {
return null;
}
if (this.showError) {
return this.i18n('provisioningPageErrorTitle', this.carrierName_);
}
......@@ -69,14 +75,14 @@ Polymer({
},
/**
* @return {string}
* @return {?string}
* @private
*/
getPageMessage_() {
if (this.showError) {
return this.i18n('provisioningPageErrorMessage', this.carrierName_);
}
return '';
return null;
},
/**
......
......@@ -7,6 +7,7 @@
<link rel="import" href="final_page.html">
<link rel="import" href="subflow_behavior.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/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">
......@@ -25,13 +26,13 @@
<iron-pages attr-for-selected="is"
selected="[[selectedPSimPageName_]]"
selected-item="{{selectedPage_}}">
<sim-detect-page show-error="[[showError_]]"></sim-detect-page>
<provisioning-page show-error="{{showError_}}"
<sim-detect-page delegate="[[delegate]]" show-error="[[showError_]]"></sim-detect-page>
<provisioning-page delegate="[[delegate]]" show-error="{{showError_}}"
cellular-metadata="[[cellularMetadata_]]"
on-carrier-portal-loaded="onCarrierPortalLoaded_"
on-carrier-portal-result="onCarrierPortalResult_">
</provisioning-page>
<final-page show-error="[[showError_]]"></final-page>
<final-page delegate="[[delegate]]" show-error="[[showError_]]"></final-page>
</iron-pages>
</template>
<script src="psim_flow_ui.js"></script>
......
......@@ -67,6 +67,9 @@ cr.define('cellularSetup', function() {
],
properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/**
* @type {!cellularSetup.PSimUIState}
* @private
......@@ -126,7 +129,8 @@ cr.define('cellularSetup', function() {
* Whether cancel button should be shown in the button bar.
* @private {boolean}
*/
showCancelButton_: {type: Boolean, value: false}
showCancelButton_: {type: Boolean, value: false},
},
observers: [
......
......@@ -2,6 +2,7 @@
<link rel="import" href="../../../html/i18n_behavior.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="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">
......
......@@ -14,6 +14,9 @@ Polymer({
behaviors: [I18nBehavior],
properties: {
/** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object,
/**
* Whether error state should be shown.
* @type {boolean}
......@@ -23,11 +26,14 @@ Polymer({
/**
* @param {boolean} showError
* @return {string}
* @return {?string}
* @private
*/
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 = [
"cellularSetup.PSimUIState|PSimUIState",
"cellularSetup.getTimeoutMsForPSimUIState|getTimeoutMsForPSimUIState",
"cellular_setup.MojoInterfaceProvider|MojoInterfaceProvider",
"cellular_setup.CellularSetupDelegate|CellularSetupDelegate",
"network_config.MojoInterfaceProvider|MojoInterfaceProvider",
"network_config.MojoInterfaceProviderImpl|MojoInterfaceProviderImpl",
"settings.LockScreenProgress|LockScreenProgress",
......@@ -24,6 +25,7 @@ cr_components_chromeos_namespace_rewrites = [
cr_components_chromeos_auto_imports = [
"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_setup_delegate.html|CellularSetupDelegate",
"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/network/cr_policy_network_behavior_mojo.html|CrPolicyNetworkBehaviorMojo",
......
......@@ -152,6 +152,12 @@
<structure name="IDR_WEBUI_CHROMEOS_CELLULAR_TYPES_HTML"
file="cr_components/chromeos/cellular_setup/cellular_types.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"
file="cr_components/chromeos/cellular_setup/mojo_interface_provider.html"
type="chrome_html" />
......
......@@ -196,6 +196,10 @@
file="${root_gen_dir}/ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_types.m.js"
use_base_dir="false"
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"
file="${root_gen_dir}/ui/webui/resources/cr_components/chromeos/cellular_setup/subflow_behavior.m.js"
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