Commit 786221ef authored by Yunke Zhou's avatar Yunke Zhou Committed by Chromium LUCI CQ

Oobe new layout migration: demo-setup screen

Bug: 1159869
Change-Id: I503392bd82e8dd2f7a324da5df3b16ad07e76412
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2621756
Commit-Queue: Yunke Zhou <yunkez@google.com>
Reviewed-by: default avatarRoman Aleksandrov <raleksandrov@google.com>
Reviewed-by: default avatarDenis Kuznetsov [CET] <antrim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#844456}
parent 6959a615
......@@ -67,6 +67,8 @@ namespace chromeos {
namespace {
const test::UIPath kDemoSetupDialog = {"demo-setup", "demoSetupProgressDialog"};
constexpr char kDefaultNetworkServicePath[] = "/service/eth1";
constexpr char kDefaultNetworkName[] = "eth1";
......@@ -1247,49 +1249,24 @@ IN_PROC_BROWSER_TEST_F(DemoSetupArcSupportedTest,
class DemoSetupProgressStepsTest : public DemoSetupTestBase {
public:
DemoSetupProgressStepsTest() {
scoped_feature_list_.InitAndEnableFeature(
features::kShowStepsInDemoModeSetup);
}
DemoSetupProgressStepsTest() = default;
~DemoSetupProgressStepsTest() override = default;
// Checks how many steps have been rendered in the demo setup screen.
int CountNumberOfStepsInUi() {
const std::string query =
"$('demo-setup').$$('oobe-dialog').querySelectorAll('progress-"
"list-item').length";
return test::OobeJS().GetInt(query);
}
// Checks how many steps are marked as pending in the demo setup screen.
int CountPendingStepsInUi() {
const std::string query =
"Object.values($('demo-setup').$$('oobe-dialog')."
"querySelectorAll('progress-list-item')).filter(node => "
"node.shadowRoot.querySelector('#icon-pending:not([hidden])')).length";
return test::OobeJS().GetInt(query);
}
// Checks how many steps are marked as active in the demo setup screen.
int CountActiveStepsInUi() {
const std::string query =
"Object.values($('demo-setup').$$('oobe-dialog')."
"querySelectorAll('progress-list-item')).filter(node => "
"node.shadowRoot.querySelector('#icon-active:not([hidden])')).length";
base::StrCat({test::GetOobeElementPath(kDemoSetupDialog),
".querySelectorAll('progress-list-item').length"});
return test::OobeJS().GetInt(query);
}
// Checks how many steps are marked as complete in the demo setup screen.
int CountCompletedStepsInUi() {
const std::string query =
"Object.values($('demo-setup').$$('oobe-dialog')."
"querySelectorAll('progress-list-item')).filter(node => "
"node.shadowRoot.querySelector('#icon-completed:not([hidden])'))."
"length";
// Checks how many steps are marked as given status in the demo setup screen.
int CountStepsInUi(const std::string& status) {
const std::string query = base::StrCat(
{"Object.values(", test::GetOobeElementPath(kDemoSetupDialog),
".querySelectorAll('progress-list-item')).filter(node => "
"node.shadowRoot.querySelector('#icon-",
status, ":not([hidden])')).length"});
return test::OobeJS().GetInt(query);
}
......@@ -1320,9 +1297,9 @@ IN_PROC_BROWSER_TEST_F(DemoSetupProgressStepsTest,
for (int i = 0; i < numSteps; i++) {
demoSetupScreen->SetCurrentSetupStepForTest(orderedSteps[i]);
ASSERT_EQ(CountPendingStepsInUi(), numSteps - i - 1);
ASSERT_EQ(CountActiveStepsInUi(), 1);
ASSERT_EQ(CountCompletedStepsInUi(), i);
ASSERT_EQ(CountStepsInUi("pending"), numSteps - i - 1);
ASSERT_EQ(CountStepsInUi("active"), 1);
ASSERT_EQ(CountStepsInUi("completed"), i);
}
}
......
/* Copyright 2018 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. */
/* Spinner shown on progress dialog. */
paper-spinner-lite#spinner {
height: 164px;
width: 164px;
}
<link rel="import" href="/components/common_styles.html">
<link rel="import" href="/components/hd_iron_icon.html">
<link rel="import" href="/components/oobe_dialog.html">
<link rel="import" href="/components/oobe_adaptive_dialog.html">
<link rel="import" href="/components/oobe_i18n_behavior.html">
<link rel="import" href="/components/progress_list_item.html">
<dom-module id="demo-setup-element">
<template>
<style include="oobe-dialog-host"></style>
<link rel="stylesheet" href="demo_setup.css">
<oobe-dialog id="demoSetupProgressDialog" role="dialog" has-buttons
title-key="demoSetupProgressScreenTitle" for-step="progress">
<hd-iron-icon slot="oobe-icon"
<oobe-adaptive-dialog id="demoSetupProgressDialog" role="dialog"
aria-label$="[[i18nDynamic(locale, 'demoSetupProgressScreenTitle')]]"
for-step="progress">
<hd-iron-icon slot="icon"
icon1x="oobe-32:computer" icon2x="oobe-64:computer">
</hd-iron-icon>
<div slot="footer"
class="flex layout vertical center center-justified"
hidden$="[[showStepsInDemoModeSetup_]]">
<paper-spinner-lite id="spinner" dir="ltr"
active></paper-spinner-lite>
</div>
<div slot="footer" hidden$="[[!showStepsInDemoModeSetup_]]">
<h1 slot="title">
[[i18nDynamic(locale, 'demoSetupProgressScreenTitle')]]
</h1>
<div slot="content">
<div id="demo-setup-steps" role="list">
<progress-list-item text-key="demoSetupProgressStepDownload"
hidden="[[!shouldShowStep_('downloadResources', setupSteps_)]]"
......@@ -38,16 +34,19 @@
</progress-list-item>
</div>
</div>
</oobe-dialog>
</oobe-adaptive-dialog>
<oobe-dialog id="demoSetupErrorDialog" role="dialog" has-buttons
<oobe-adaptive-dialog id="demoSetupErrorDialog" role="dialog"
aria-label$="[[i18nDynamic(locale, 'demoSetupErrorScreenTitle')]]"
title-key="demoSetupErrorScreenTitle" for-step="error">
<hd-iron-icon slot="oobe-icon"
for-step="error">
<hd-iron-icon slot="icon"
icon1x="oobe-32:computer" icon2x="oobe-64:computer">
</hd-iron-icon>
<h1 slot="title">
[[i18nDynamic(locale, 'demoSetupErrorScreenTitle')]]
</h1>
<div slot="subtitle">[[errorMessage_]]</div>
<div slot="footer" class="flex layout vertical center center-justified">
<div slot="content" class="flex layout vertical center center-justified">
<img srcset="images/alert-illustration_1x.svg 1x,
images/alert-illustration_2x.svg 2x">
</div>
......@@ -56,16 +55,15 @@
disabled="[[isPowerwashRequired_]]"></oobe-back-button>
</div>
<div slot="bottom-buttons">
<oobe-text-button id="retryButton" on-click="onRetryClicked_"
<oobe-text-button id="retryButton" class="focus-on-show" inverse
text-key="demoSetupErrorScreenRetryButtonLabel"
inverse hidden="[[isPowerwashRequired_]]">
on-click="onRetryClicked_" hidden="[[isPowerwashRequired_]]">
</oobe-text-button>
<oobe-text-button id="powerwashButton" on-click="onPowerwashClicked_"
<oobe-text-button id="powerwashButton" class="focus-on-show" inverse
text-key="demoSetupErrorScreenPowerwashButtonLabel"
inverse hidden="[[!isPowerwashRequired_]]">
on-click="onPowerwashClicked_" hidden="[[!isPowerwashRequired_]]">
</oobe-text-button>
</div>
</oobe-dialog>
</oobe-adaptive-dialog>
</template>
</dom-module>
......@@ -58,15 +58,6 @@ Polymer({
type: Boolean,
value: false,
},
/** Feature flag to display progress bar instead of spinner during setup. */
showStepsInDemoModeSetup_: {
type: Boolean,
readonly: true,
value() {
return loadTimeData.getBoolean('showStepsInDemoModeSetup');
}
}
},
defaultUIStep() {
......
......@@ -83,10 +83,6 @@ void DemoSetupScreenHandler::DeclareLocalizedValues(
void DemoSetupScreenHandler::GetAdditionalParameters(
base::DictionaryValue* parameters) {
parameters->SetBoolKey(
"showStepsInDemoModeSetup",
base::FeatureList::IsEnabled(features::kShowStepsInDemoModeSetup));
parameters->SetPath("demoSetupSteps",
DemoSetupController::GetDemoSetupSteps());
}
......
......@@ -615,10 +615,6 @@ const base::Feature kShowBluetoothDeviceBattery{
const base::Feature kShowPlayInDemoMode{"ShowPlayInDemoMode",
base::FEATURE_ENABLED_BY_DEFAULT};
// Shows individual steps during Demo Mode setup.
const base::Feature kShowStepsInDemoModeSetup{"ShowStepsInDemoModeSetup",
base::FEATURE_ENABLED_BY_DEFAULT};
// Uses experimental component version for smart dim.
const base::Feature kSmartDimExperimentalComponent{
"SmartDimExperimentalComponent", base::FEATURE_DISABLED_BY_DEFAULT};
......
......@@ -281,8 +281,6 @@ extern const base::Feature kShowBluetoothDeviceBattery;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kShowPlayInDemoMode;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kShowStepsInDemoModeSetup;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kSmartDimExperimentalComponent;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kSmartDimNewMlAgent;
......
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