Commit b6d8f169 authored by rbpotter's avatar rbpotter Committed by Commit Bot

Settings: Migrate about_page/* to Polymer 3

Bug: 1026426
Change-Id: I6ae55030f28fd3588d317f6fd611d04f7bdbfbf8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2058067
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Reviewed-by: default avatarDemetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#742918}
parent a9963eda
......@@ -217,6 +217,7 @@ js_library("search_settings") {
group("closure_compile_module") {
deps = [
":closure_compile_local_module",
"about_page:closure_compile_module",
"appearance_page:closure_compile_module",
"controls:closure_compile_module",
"downloads_page:closure_compile_module",
......
......@@ -3,6 +3,9 @@
# found in the LICENSE file.
import("//third_party/closure_compiler/compile_js.gni")
import("//tools/polymer/polymer.gni")
import("//ui/webui/resources/tools/js_modulizer.gni")
import("../settings.gni")
js_type_check("closure_compile") {
deps = [
......@@ -28,35 +31,38 @@ js_library("about_page_browser_proxy") {
externs_list = [ "$externs_path/chrome_send.js" ]
}
# TODO(crbug.com/1026426): Fix and enable.
#js_type_check("closure_compile_module") {
# is_polymer3 = true
# deps = [
# ":about_page.m",
# ":about_page_browser_proxy.m",
# ]
#}
js_type_check("closure_compile_module") {
is_polymer3 = true
deps = [
":about_page.m",
":about_page_browser_proxy.m",
]
}
js_library("about_page.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/about_page/about_page.m.js" ]
deps = [
# TODO: Fill those in.
":about_page_browser_proxy.m",
"..:lifetime_browser_proxy.m",
"..:router.m",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:i18n_behavior.m",
"//ui/webui/resources/js:parse_html_subset.m",
"//ui/webui/resources/js:web_ui_listener_behavior.m",
]
extra_deps = [ ":about_page_module" ]
}
js_library("about_page_browser_proxy.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/about_page/about_page_browser_proxy.m.js" ]
deps = [
# TODO: Fill those in.
]
deps = [ "//ui/webui/resources/js:cr.m" ]
externs_list = [ "$externs_path/chrome_send.js" ]
extra_deps = [ ":modulize" ]
}
import("//tools/polymer/polymer.gni")
group("polymer3_elements") {
deps = [
public_deps = [
":about_page_module",
":modulize",
]
......@@ -66,10 +72,16 @@ polymer_modulizer("about_page") {
js_file = "about_page.js"
html_file = "about_page.html"
html_type = "dom-module"
auto_imports = settings_auto_imports + [
"ui/webui/resources/html/assert.html|assert",
"chrome/browser/resources/settings/router.html|Router",
"chrome/browser/resources/settings/lifetime_browser_proxy.html|LifetimeBrowserProxy, LifetimeBrowserProxyImpl",
"chrome/browser/resources/settings/about_page/about_page_browser_proxy.html|AboutPageBrowserProxy, AboutPageBrowserProxyImpl, UpdateStatus, UpdateStatusChangedEvent, PromoteUpdaterStatus",
]
namespace_rewrites = settings_namespace_rewrites
}
import("//ui/webui/resources/tools/js_modulizer.gni")
js_modulizer("modulize") {
input_files = [ "about_page_browser_proxy.js" ]
namespace_rewrites = settings_namespace_rewrites
}
......@@ -15,6 +15,7 @@
<link rel="import" href="chrome://resources/cr_elements/icons.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/parse_html_subset.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="chrome://resources/html/assert.html">
<link rel="import" href="chrome://resources/html/cr.html">
<script src="about_page_browser_proxy.js"></script>
......@@ -7,6 +7,11 @@
* the browser.
*/
// clang-format off
// #import {addSingletonGetter, sendWithPromise} from 'chrome://resources/js/cr.m.js';
// #import {assertNotReached} from 'chrome://resources/js/assert.m.js';
// clang-format on
// <if expr="chromeos">
/**
* @typedef {{
......@@ -74,7 +79,7 @@ let TPMFirmwareUpdateStatusChangedEvent;
* the ones defined at |AboutHandler::UpdateStatusToString|.
* @enum {string}
*/
const UpdateStatus = {
/* #export */ const UpdateStatus = {
CHECKING: 'checking',
UPDATING: 'updating',
NEARLY_UPDATED: 'nearly_updated',
......@@ -85,7 +90,12 @@ const UpdateStatus = {
NEED_PERMISSION_TO_UPDATE: 'need_permission_to_update',
};
// <if expr="_google_chrome and is_macosx">
// Note: This typedef should only defined for _google_chrome and is_macosx,
// however, while the Polymer 3 version of this file is autogenerated, it is
// temporarily defined on all platforms.
// TODO (rbpotter): Make this platform/build specific again once the Polymer 3
// version of this file is checked in, and autogeneration is no longer
// necessary.
/**
* @typedef {{
* hidden: boolean,
......@@ -94,8 +104,7 @@ const UpdateStatus = {
* text: (string|undefined)
* }}
*/
let PromoteUpdaterStatus;
// </if>
/* #export */ let PromoteUpdaterStatus;
/**
* @typedef {{
......@@ -107,7 +116,7 @@ let PromoteUpdaterStatus;
* size: (string|undefined),
* }}
*/
let UpdateStatusChangedEvent;
/* #export */ let UpdateStatusChangedEvent;
cr.define('settings', function() {
/**
......@@ -149,7 +158,7 @@ cr.define('settings', function() {
}
/** @interface */
class AboutPageBrowserProxy {
/* #export */ class AboutPageBrowserProxy {
/**
* Indicates to the browser that the page is ready.
*/
......@@ -253,7 +262,7 @@ cr.define('settings', function() {
/**
* @implements {settings.AboutPageBrowserProxy}
*/
class AboutPageBrowserProxyImpl {
/* #export */ class AboutPageBrowserProxyImpl {
/** @override */
pageReady() {
chrome.send('aboutPageReady');
......
......@@ -6,6 +6,7 @@
# targets in Settings.
settings_namespace_rewrites = [
"cr_slider.SliderTick|SliderTick",
"settings.AboutPageBrowserProxy|AboutPageBrowserProxy",
"settings.AppearanceBrowserProxy|AppearanceBrowserProxy",
"settings.DefaultBrowserBrowserProxy|DefaultBrowserBrowserProxy",
"settings.DownloadsBrowserProxy|DownloadsBrowserProxy",
......
......@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import './about_page/about_page.m.js';
import './appearance_page/appearance_page.m.js';
import './appearance_page/appearance_fonts_page.m.js';
import './controls/controlled_button.m.js';
......@@ -36,6 +37,7 @@ export {DefaultBrowserBrowserProxyImpl} from './default_browser_page/default_bro
export {SystemPageBrowserProxyImpl} from './system_page/system_page_browser_proxy.m.js';
// </if>
export {AboutPageBrowserProxy, AboutPageBrowserProxyImpl, UpdateStatus} from './about_page/about_page_browser_proxy.m.js';
export {AppearanceBrowserProxy, AppearanceBrowserProxyImpl} from './appearance_page/appearance_browser_proxy.m.js';
export {CrSettingsPrefs} from './prefs/prefs_types.m.js';
export {DownloadsBrowserProxyImpl} from './downloads_page/downloads_browser_proxy.m.js';
......
<?xml version="1.0" encoding="utf-8"?>
<grit-part>
<!-- Polymer 3.0 Elements -->
<include name="IDR_SETTINGS_ABOUT_PAGE_ABOUT_PAGE_BROWSER_PROXY_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/about_page/about_page_browser_proxy.m.js"
use_base_dir="false"
type="BINDATA"
preprocess="true" />
<include name="IDR_SETTINGS_ABOUT_PAGE_ABOUT_PAGE_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/about_page/about_page.m.js"
use_base_dir="false"
type="BINDATA"
preprocess="true" />
<include name="IDR_SETTINGS_APPEARANCE_PAGE_APPEARANCE_BROWSER_PROXY_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.m.js"
use_base_dir="false"
......@@ -228,6 +238,10 @@
file="${root_gen_dir}/chrome/browser/resources/settings/settings_routes.m.js"
use_base_dir="false"
type="BINDATA" />
<include name="IDR_SETTINGS_SETTINGS_PAGE_CSS_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/settings_page_css.m.js"
use_base_dir="false"
type="BINDATA" />
<include name="IDR_SETTINGS_SETTINGS_SHARED_CSS_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/settings_shared_css.m.js"
use_base_dir="false"
......
......@@ -209,6 +209,7 @@ js2gtest("browser_tests_js_webui") {
"$root_gen_dir/chrome/test/data/webui/mock_controller.m.js",
"$root_gen_dir/chrome/test/data/webui/mock_timer.m.js",
"$root_gen_dir/chrome/test/data/webui/resources/list_property_update_behavior_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/about_page_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/appearance_page_test.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/appearance_fonts_page_test.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/checkbox_tests.m.js",
......@@ -232,6 +233,7 @@ js2gtest("browser_tests_js_webui") {
"$root_gen_dir/chrome/test/data/webui/settings/settings_toggle_button_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/site_favicon_test.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/startup_urls_page_test.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/test_about_page_browser_proxy.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/system_page_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/test_extension_control_browser_proxy.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/test_lifetime_browser_proxy.m.js",
......
......@@ -8,6 +8,7 @@ import("../namespace_rewrites.gni")
js_modulizer("modulize") {
input_files = [
"about_page_tests.js",
"appearance_fonts_page_test.js",
"appearance_page_test.js",
"checkbox_tests.js",
......@@ -32,6 +33,7 @@ js_modulizer("modulize") {
"settings_toggle_button_tests.js",
"site_favicon_test.js",
"startup_urls_page_test.js",
"test_about_page_browser_proxy.js",
"system_page_tests.js",
"test_extension_control_browser_proxy.js",
"test_lifetime_browser_proxy.js",
......@@ -40,6 +42,7 @@ js_modulizer("modulize") {
]
namespace_rewrites = settings_namespace_rewrites + test_namespace_rewrites + [
"settings.FakeSettingsPrivate|FakeSettingsPrivate",
"settings.TestLifetimeBrowserProxy|TestLifetimeBrowserProxy",
"settings_search.createSampleSearchEngine|createSampleSearchEngine",
"settings_search.TestSearchEnginesBrowserProxy|TestSearchEnginesBrowserProxy",
"settings.TestLifetimeBrowserProxy|TestLifetimeBrowserProxy",
......
......@@ -2,6 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// clang-format off
// #import {AboutPageBrowserProxyImpl, LifetimeBrowserProxyImpl, Route, Router, UpdateStatus} from 'chrome://settings/settings.js';
// #import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {isChromeOS, isMac} from 'chrome://resources/js/cr.m.js';
// #import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
// #import {TestAboutPageBrowserProxy} from 'chrome://test/settings/test_about_page_browser_proxy.m.js';
// #import {TestLifetimeBrowserProxy} from 'chrome://test/settings/test_lifetime_browser_proxy.m.js';
// clang-format on
cr.define('settings_about_page', function() {
function setupRouter() {
const routes = {
......@@ -9,7 +18,7 @@ cr.define('settings_about_page', function() {
ABOUT: new settings.Route('/help'),
};
settings.Router.resetInstanceForTesting(new settings.Router(routes));
settings.routes = routes;
return routes;
}
/**
......@@ -39,13 +48,15 @@ cr.define('settings_about_page', function() {
const SPINNER_ICON = 'chrome://resources/images/throbber_small.svg';
let testRoutes = null;
setup(function() {
loadTimeData.overrideValues({
aboutObsoleteNowOrSoon: false,
aboutObsoleteEndOfTheLine: false,
});
setupRouter();
testRoutes = setupRouter();
lifetimeBrowserProxy = new settings.TestLifetimeBrowserProxy();
settings.LifetimeBrowserProxyImpl.instance_ = lifetimeBrowserProxy;
......@@ -65,7 +76,7 @@ cr.define('settings_about_page', function() {
lifetimeBrowserProxy.reset();
PolymerTest.clearBody();
page = document.createElement('settings-about-page');
settings.Router.getInstance().navigateTo(settings.routes.ABOUT);
settings.Router.getInstance().navigateTo(testRoutes.ABOUT);
document.body.appendChild(page);
return cr.isChromeOS ?
Promise.resolve() :
......@@ -269,9 +280,10 @@ cr.define('settings_about_page', function() {
suite('AboutPageTest_OfficialBuilds', function() {
let page = null;
let browserProxy = null;
let testRoutes = null;
setup(function() {
setupRouter();
testRoutes = setupRouter();
browserProxy = new TestAboutPageBrowserProxy();
settings.AboutPageBrowserProxyImpl.instance_ = browserProxy;
PolymerTest.clearBody();
......@@ -389,4 +401,5 @@ cr.define('settings_about_page', function() {
});
}
});
// #cr_define_end
});
......@@ -23,7 +23,7 @@ cr.define('settings_about_page', function() {
suite('AboutPageTest', function() {
let page = null;
/** @type {?settings.TestAboutPageBrowserProxy} */
/** @type {?settings.TestAboutPageBrowserProxyChromeOS} */
let aboutBrowserProxy = null;
/** @type {?settings.TestLifetimeBrowserProxy} */
......@@ -35,7 +35,7 @@ cr.define('settings_about_page', function() {
lifetimeBrowserProxy = new settings.TestLifetimeBrowserProxy();
settings.LifetimeBrowserProxyImpl.instance_ = lifetimeBrowserProxy;
aboutBrowserProxy = new TestAboutPageBrowserProxy();
aboutBrowserProxy = new TestAboutPageBrowserProxyChromeOS();
settings.AboutPageBrowserProxyImpl.instance_ = aboutBrowserProxy;
return initNewPage();
});
......@@ -511,7 +511,7 @@ cr.define('settings_about_page', function() {
let browserProxy = null;
setup(function() {
browserProxy = new TestAboutPageBrowserProxy();
browserProxy = new TestAboutPageBrowserProxyChromeOS();
settings.AboutPageBrowserProxyImpl.instance_ = browserProxy;
PolymerTest.clearBody();
});
......@@ -599,7 +599,7 @@ cr.define('settings_about_page', function() {
const currentChannel = BrowserChannel.BETA;
setup(function() {
browserProxy = new TestAboutPageBrowserProxy();
browserProxy = new TestAboutPageBrowserProxyChromeOS();
browserProxy.setChannels(currentChannel, currentChannel);
settings.AboutPageBrowserProxyImpl.instance_ = browserProxy;
PolymerTest.clearBody();
......
......@@ -74,7 +74,7 @@ var OSSettingsAboutPageTest = class extends OSSettingsBrowserTest {
BROWSER_SETTINGS_PATH + '../test_util.js',
BROWSER_SETTINGS_PATH + '../test_browser_proxy.js',
BROWSER_SETTINGS_PATH + 'test_lifetime_browser_proxy.js',
BROWSER_SETTINGS_PATH + 'test_about_page_browser_proxy.js',
'test_about_page_browser_proxy_chromeos.js',
'os_about_page_tests.js',
]);
}
......
// 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 {TestBrowserProxy} from 'chrome://test/test_browser_proxy.m.js';
// #import {BrowserChannel, UpdateStatus} from 'chrome://settings/settings.js';
/** @implements {settings.AboutPageBrowserProxy} */
/* #export */ class TestAboutPageBrowserProxyChromeOS extends TestBrowserProxy {
constructor() {
super([
'pageReady',
'refreshUpdateStatus',
'openHelpPage',
'openFeedbackDialog',
'getChannelInfo',
'getVersionInfo',
'getRegulatoryInfo',
'checkInternetConnection',
'getEnabledReleaseNotes',
'getEndOfLifeInfo',
'launchReleaseNotes',
'openOsHelpPage',
'refreshTPMFirmwareUpdateStatus',
'setChannel',
]);
/** @private {!UpdateStatus} */
this.updateStatus_ = UpdateStatus.UPDATED;
/** @private {!VersionInfo} */
this.versionInfo_ = {
arcVersion: '',
osFirmware: '',
osVersion: '',
};
/** @private {!ChannelInfo} */
this.channelInfo_ = {
currentChannel: BrowserChannel.BETA,
targetChannel: BrowserChannel.BETA,
canChangeChannel: true,
};
/** @private {?RegulatoryInfo} */
this.regulatoryInfo_ = null;
/** @private {!TPMFirmwareUpdateStatus} */
this.tpmFirmwareUpdateStatus_ = {
updateAvailable: false,
};
this.endOfLifeInfo_ = {
hasEndOfLife: false,
aboutPageEndOfLifeMessage: '',
};
}
/** @param {!UpdateStatus} updateStatus */
setUpdateStatus(updateStatus) {
this.updateStatus_ = updateStatus;
}
sendStatusNoInternet() {
cr.webUIListenerCallback('update-status-changed', {
progress: 0,
status: UpdateStatus.FAILED,
message: 'offline',
connectionTypes: 'no internet',
});
}
/** @override */
pageReady() {
this.methodCalled('pageReady');
}
/** @override */
refreshUpdateStatus() {
cr.webUIListenerCallback('update-status-changed', {
progress: 1,
status: this.updateStatus_,
});
this.methodCalled('refreshUpdateStatus');
}
/** @override */
openFeedbackDialog() {
this.methodCalled('openFeedbackDialog');
}
/** @override */
openHelpPage() {
this.methodCalled('openHelpPage');
}
/** @param {!VersionInfo} */
setVersionInfo(versionInfo) {
this.versionInfo_ = versionInfo;
}
/** @param {boolean} canChangeChannel */
setCanChangeChannel(canChangeChannel) {
this.channelInfo_.canChangeChannel = canChangeChannel;
}
/**
* @param {!BrowserChannel} current
* @param {!BrowserChannel} target
*/
setChannels(current, target) {
this.channelInfo_.currentChannel = current;
this.channelInfo_.targetChannel = target;
}
/** @param {?RegulatoryInfo} regulatoryInfo */
setRegulatoryInfo(regulatoryInfo) {
this.regulatoryInfo_ = regulatoryInfo;
}
/** @param {!EndOfLifeInfo} endOfLifeInfo */
setEndOfLifeInfo(endOfLifeInfo) {
this.endOfLifeInfo_ = endOfLifeInfo;
}
/** @param {boolean|Promise} hasReleaseNotes */
setReleaseNotes(hasEnabledReleaseNotes) {
this.hasReleaseNotes_ = hasEnabledReleaseNotes;
}
/** @param {boolean|Promise} hasInternetConnection */
setInternetConnection(hasInternetConnection) {
this.hasInternetConnection_ = hasInternetConnection;
}
/** @override */
getVersionInfo() {
this.methodCalled('getVersionInfo');
return Promise.resolve(this.versionInfo_);
}
/** @override */
getChannelInfo() {
this.methodCalled('getChannelInfo');
return Promise.resolve(this.channelInfo_);
}
/** @override */
getEnabledReleaseNotes() {
this.methodCalled('getEnabledReleaseNotes');
return Promise.resolve(this.hasReleaseNotes_);
}
/** @override */
checkInternetConnection() {
this.methodCalled('checkInternetConnection');
return Promise.resolve(this.hasInternetConnection_);
}
/** @override */
getRegulatoryInfo() {
this.methodCalled('getRegulatoryInfo');
return Promise.resolve(this.regulatoryInfo_);
}
/** @override */
getEndOfLifeInfo() {
this.methodCalled('getEndOfLifeInfo');
return Promise.resolve(this.endOfLifeInfo_);
}
/** @override */
setChannel(channel, isPowerwashAllowed) {
this.methodCalled('setChannel', [channel, isPowerwashAllowed]);
}
/** @param {!TPMFirmwareUpdateStatus} status */
setTPMFirmwareUpdateStatus(status) {
this.tpmFirmwareUpdateStatus_ = status;
}
/** @override */
refreshTPMFirmwareUpdateStatus() {
this.methodCalled('refreshTPMFirmwareUpdateStatus');
cr.webUIListenerCallback(
'tpm-firmware-update-status-changed', this.tpmFirmwareUpdateStatus_);
}
/** @override */
openOsHelpPage() {
this.methodCalled('openOsHelpPage');
}
/** @override */
launchReleaseNotes() {
this.methodCalled('launchReleaseNotes');
}
}
......@@ -8,6 +8,8 @@
GEN_INCLUDE(['//chrome/test/data/webui/polymer_browser_test_base.js']);
GEN('#include "services/network/public/cpp/features.h"');
GEN('#include "build/branding_buildflags.h"');
/** Test fixture for shared Polymer 3 elements. */
// eslint-disable-next-line no-var
var CrSettingsV3BrowserTest = class extends PolymerTest {
......@@ -303,3 +305,21 @@ var CrSettingsPrefsV3Test = class extends CrSettingsV3BrowserTest {
TEST_F('CrSettingsPrefsV3Test', 'All', function() {
mocha.run();
});
// eslint-disable-next-line no-var
var CrSettingsAboutPageV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/about_page_tests.m.js';
}
};
TEST_F('CrSettingsAboutPageV3Test', 'AboutPage', function() {
mocha.grep('AboutPageTest_AllBuilds').run();
});
GEN('#if BUILDFLAG(GOOGLE_CHROME_BRANDING)');
TEST_F('CrSettingsAboutPageV3Test', 'AboutPage_OfficialBuild', function() {
mocha.grep('AboutPageTest_OfficialBuilds').run();
});
GEN('#endif');
......@@ -2,8 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// #import {TestBrowserProxy} from 'chrome://test/test_browser_proxy.m.js';
// #import {isMac} from 'chrome://resources/js/cr.m.js';
// #import {UpdateStatus} from 'chrome://settings/settings.js';
/** @implements {settings.AboutPageBrowserProxy} */
class TestAboutPageBrowserProxy extends TestBrowserProxy {
/* #export */ class TestAboutPageBrowserProxy extends TestBrowserProxy {
constructor() {
const methodNames = [
'pageReady',
......@@ -12,14 +16,6 @@ class TestAboutPageBrowserProxy extends TestBrowserProxy {
'openFeedbackDialog',
];
if (cr.isChromeOS) {
methodNames.push(
'getChannelInfo', 'getVersionInfo', 'getRegulatoryInfo',
'checkInternetConnection', 'getEnabledReleaseNotes',
'getEndOfLifeInfo', 'launchReleaseNotes', 'openOsHelpPage',
'refreshTPMFirmwareUpdateStatus', 'setChannel');
}
if (cr.isMac) {
methodNames.push('promoteUpdater');
}
......@@ -28,35 +24,6 @@ class TestAboutPageBrowserProxy extends TestBrowserProxy {
/** @private {!UpdateStatus} */
this.updateStatus_ = UpdateStatus.UPDATED;
if (cr.isChromeOS) {
/** @private {!VersionInfo} */
this.versionInfo_ = {
arcVersion: '',
osFirmware: '',
osVersion: '',
};
/** @private {!ChannelInfo} */
this.channelInfo_ = {
currentChannel: BrowserChannel.BETA,
targetChannel: BrowserChannel.BETA,
canChangeChannel: true,
};
/** @private {?RegulatoryInfo} */
this.regulatoryInfo_ = null;
/** @private {!TPMFirmwareUpdateStatus} */
this.tpmFirmwareUpdateStatus_ = {
updateAvailable: false,
};
this.endOfLifeInfo_ = {
hasEndOfLife: false,
aboutPageEndOfLifeMessage: '',
};
}
}
/** @param {!UpdateStatus} updateStatus */
......@@ -105,114 +72,3 @@ if (cr.isMac) {
};
}
if (cr.isChromeOS) {
/** @param {!VersionInfo} */
TestAboutPageBrowserProxy.prototype.setVersionInfo = function(versionInfo) {
this.versionInfo_ = versionInfo;
};
/** @param {boolean} canChangeChannel */
TestAboutPageBrowserProxy.prototype.setCanChangeChannel = function(
canChangeChannel) {
this.channelInfo_.canChangeChannel = canChangeChannel;
};
/**
* @param {!BrowserChannel} current
* @param {!BrowserChannel} target
*/
TestAboutPageBrowserProxy.prototype.setChannels = function(current, target) {
this.channelInfo_.currentChannel = current;
this.channelInfo_.targetChannel = target;
};
/** @param {?RegulatoryInfo} regulatoryInfo */
TestAboutPageBrowserProxy.prototype.setRegulatoryInfo = function(
regulatoryInfo) {
this.regulatoryInfo_ = regulatoryInfo;
};
/** @param {!EndOfLifeInfo} endOfLifeInfo */
TestAboutPageBrowserProxy.prototype.setEndOfLifeInfo = function(
endOfLifeInfo) {
this.endOfLifeInfo_ = endOfLifeInfo;
};
/** @param {boolean|Promise} hasReleaseNotes */
TestAboutPageBrowserProxy.prototype.setReleaseNotes = function(
hasEnabledReleaseNotes) {
this.hasReleaseNotes_ = hasEnabledReleaseNotes;
};
/** @param {boolean|Promise} hasInternetConnection */
TestAboutPageBrowserProxy.prototype.setInternetConnection = function(
hasInternetConnection) {
this.hasInternetConnection_ = hasInternetConnection;
};
/** @override */
TestAboutPageBrowserProxy.prototype.getVersionInfo = function() {
this.methodCalled('getVersionInfo');
return Promise.resolve(this.versionInfo_);
};
/** @override */
TestAboutPageBrowserProxy.prototype.getChannelInfo = function() {
this.methodCalled('getChannelInfo');
return Promise.resolve(this.channelInfo_);
};
/** @override */
TestAboutPageBrowserProxy.prototype.getEnabledReleaseNotes = function() {
this.methodCalled('getEnabledReleaseNotes');
return Promise.resolve(this.hasReleaseNotes_);
};
/** @override */
TestAboutPageBrowserProxy.prototype.checkInternetConnection = function() {
this.methodCalled('checkInternetConnection');
return Promise.resolve(this.hasInternetConnection_);
};
/** @override */
TestAboutPageBrowserProxy.prototype.getRegulatoryInfo = function() {
this.methodCalled('getRegulatoryInfo');
return Promise.resolve(this.regulatoryInfo_);
};
/** @override */
TestAboutPageBrowserProxy.prototype.getEndOfLifeInfo = function() {
this.methodCalled('getEndOfLifeInfo');
return Promise.resolve(this.endOfLifeInfo_);
};
/** @override */
TestAboutPageBrowserProxy.prototype.setChannel = function(
channel, isPowerwashAllowed) {
this.methodCalled('setChannel', [channel, isPowerwashAllowed]);
};
/** @param {!TPMFirmwareUpdateStatus} status */
TestAboutPageBrowserProxy.prototype.setTPMFirmwareUpdateStatus = function(
status) {
this.tpmFirmwareUpdateStatus_ = status;
};
/** @override */
TestAboutPageBrowserProxy.prototype.refreshTPMFirmwareUpdateStatus =
function() {
this.methodCalled('refreshTPMFirmwareUpdateStatus');
cr.webUIListenerCallback(
'tpm-firmware-update-status-changed', this.tpmFirmwareUpdateStatus_);
};
/** @override */
TestAboutPageBrowserProxy.prototype.openOsHelpPage = function() {
this.methodCalled('openOsHelpPage');
};
/** @override */
TestAboutPageBrowserProxy.prototype.launchReleaseNotes = function() {
this.methodCalled('launchReleaseNotes');
};
}
......@@ -14,6 +14,7 @@ common_auto_imports = [
"ui/webui/resources/html/cr/ui/focus_without_ink.html|focusWithoutInk",
"ui/webui/resources/html/i18n_behavior.html|I18nBehavior",
"ui/webui/resources/html/load_time_data.html|loadTimeData",
"ui/webui/resources/html/parse_html_subset.html|parseHtmlSubset",
"ui/webui/resources/html/polymer.html|Polymer,html",
"ui/webui/resources/html/web_ui_listener_behavior.html|WebUIListenerBehavior",
......
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