Commit 4811c840 authored by dpapad's avatar dpapad Committed by Commit Bot

Settings: Port chrome_cleanup_page/ to Polymer 3.

Bug: 1026426
Change-Id: I2e98be132e07c90aa1535cd4edb4cc399fc4a84f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2073226
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#745113}
parent e54bb038
......@@ -236,6 +236,12 @@ group("closure_compile_module") {
"system_page:closure_compile_module",
]
}
if (is_win) {
deps += [
"chrome_cleanup_page:closure_compile_module",
]
}
}
js_type_check("closure_compile_local_module") {
......@@ -377,7 +383,6 @@ group("polymer3_elements") {
"autofill_page:polymer3_elements",
"basic_page:polymer3_elements",
"change_password_page:polymer3_elements",
"chrome_cleanup_page:polymer3_elements",
"clear_browsing_data_dialog:polymer3_elements",
"controls:polymer3_elements",
"downloads_page:polymer3_elements",
......@@ -413,6 +418,12 @@ group("polymer3_elements") {
"system_page:polymer3_elements",
]
}
if (is_win) {
public_deps += [
"chrome_cleanup_page:polymer3_elements",
]
}
}
polymer_modulizer("icons") {
......
......@@ -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 = [
......@@ -39,44 +42,46 @@ js_library("items_to_remove_list") {
]
}
# TODO(crbug.com/1026426): Fix and enable.
#js_type_check("closure_compile_module") {
# is_polymer3 = true
# deps = [
# ":chrome_cleanup_page.m",
# ":chrome_cleanup_proxy.m",
# ":items_to_remove_list.m",
# ]
#}
js_type_check("closure_compile_module") {
is_polymer3 = true
deps = [
":chrome_cleanup_page.m",
":chrome_cleanup_proxy.m",
":items_to_remove_list.m",
]
}
js_library("chrome_cleanup_page.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.m.js" ]
deps = [
# TODO: Fill those in.
":chrome_cleanup_proxy.m",
":items_to_remove_list.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:web_ui_listener_behavior.m",
]
extra_deps = [ ":chrome_cleanup_page_module" ]
externs_list = [ "$externs_path/settings_private.js" ]
}
js_library("chrome_cleanup_proxy.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_proxy.m.js" ]
deps = [
# TODO: Fill those in.
]
deps = [ "//ui/webui/resources/js:cr.m" ]
extra_deps = [ ":modulize" ]
}
js_library("items_to_remove_list.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/chrome_cleanup_page/items_to_remove_list.m.js" ]
deps = [
# TODO: Fill those in.
":chrome_cleanup_proxy.m",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
]
extra_deps = [ ":items_to_remove_list_module" ]
}
import("//tools/polymer/polymer.gni")
group("polymer3_elements") {
deps = [
public_deps = [
":chrome_cleanup_page_module",
":items_to_remove_list_module",
":modulize",
......@@ -87,16 +92,26 @@ polymer_modulizer("chrome_cleanup_page") {
js_file = "chrome_cleanup_page.js"
html_file = "chrome_cleanup_page.html"
html_type = "dom-module"
namespace_rewrites = settings_namespace_rewrites + [
"settings.ChromeCleaner|ChromeCleaner",
"settings.ChromeCleanup|ChromeCleanup",
]
auto_imports = [
"ui/webui/resources/html/assert.html|assert",
"chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_proxy.html|ChromeCleanupProxyImpl,ChromeCleanupProxy",
"chrome/browser/resources/settings/chrome_cleanup_page/items_to_remove_list.html|ChromeCleanupRemovalListItem",
]
}
polymer_modulizer("items_to_remove_list") {
js_file = "items_to_remove_list.js"
html_file = "items_to_remove_list.html"
html_type = "dom-module"
namespace_rewrites = settings_namespace_rewrites
auto_imports = [ "chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_proxy.html|ChromeCleanupProxyImpl" ]
}
import("//ui/webui/resources/tools/js_modulizer.gni")
js_modulizer("modulize") {
input_files = [ "chrome_cleanup_proxy.js" ]
namespace_rewrites = settings_namespace_rewrites
}
......@@ -7,6 +7,7 @@
<link rel="import" href="chrome://resources/polymer/v1_0/iron-collapse/iron-collapse.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-styles/color.html">
<link rel="import" href="chrome://resources/html/assert.html">
<link rel="import" href="chrome://resources/html/i18n_behavior.html">
<link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
<link rel="import" href="../controls/controlled_button.html">
......
......@@ -8,7 +8,7 @@ cr.define('settings', function() {
* Must be kept in sync with ChromeCleanerController::IdleReason.
* @enum {string}
*/
const ChromeCleanupIdleReason = {
/* #export */ const ChromeCleanupIdleReason = {
INITIAL: 'initial',
REPORTER_FOUND_NOTHING: 'reporter_found_nothing',
REPORTER_FAILED: 'reporter_failed',
......
......@@ -2,9 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// clang-format off
// #import {addSingletonGetter, sendWithPromise} from 'chrome://resources/js/cr.m.js';
// clang-format on
cr.define('settings', function() {
/** @interface */
class ChromeCleanupProxy {
/* #export */ class ChromeCleanupProxy {
/**
* Registers the current ChromeCleanupHandler as an observer of
* ChromeCleanerController events.
......@@ -59,7 +63,7 @@ cr.define('settings', function() {
/**
* @implements {settings.ChromeCleanupProxy}
*/
class ChromeCleanupProxyImpl {
/* #export */ class ChromeCleanupProxyImpl {
/** @override */
registerChromeCleanerObserver() {
chrome.send('registerChromeCleanerObserver');
......
......@@ -12,13 +12,13 @@ cr.define('settings', function() {
* highlightSuffix: ?string,
* }}
*/
let ChromeCleanupRemovalListItem;
/* #export */ let ChromeCleanupRemovalListItem;
/**
* The default number of items to show for files, registry keys and extensions
* on the detailed view when user-initiated cleanups are enabled.
*/
const CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW = 4;
/* #export */ const CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW = 4;
/**
* @fileoverview
......@@ -109,9 +109,9 @@ cr.define('settings', function() {
*/
updateVisibleState_(itemsToShow) {
// Start expanded if there are less than
// |settings.CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW| items to show.
// |CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW| items to show.
this.expanded_ =
itemsToShow.length <= settings.CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW;
itemsToShow.length <= CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW;
if (this.expanded_) {
this.initialItems_ = itemsToShow;
......@@ -120,10 +120,10 @@ cr.define('settings', function() {
return;
}
this.initialItems_ = itemsToShow.slice(
0, settings.CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW - 1);
this.initialItems_ =
itemsToShow.slice(0, CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW - 1);
this.remainingItems_ =
itemsToShow.slice(settings.CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW - 1);
itemsToShow.slice(CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW - 1);
const browserProxy = settings.ChromeCleanupProxyImpl.getInstance();
browserProxy.getMoreItemsPluralString(this.remainingItems_.length)
......
......@@ -8,6 +8,8 @@ settings_namespace_rewrites = [
"cr_slider.SliderTick|SliderTick",
"settings.AboutPageBrowserProxy|AboutPageBrowserProxy",
"settings.AppearanceBrowserProxy|AppearanceBrowserProxy",
"settings.ChromeCleanupProxy|ChromeCleanupProxy",
"settings.ChromeCleanupRemovalListItem|ChromeCleanupRemovalListItem",
"settings.DefaultBrowserBrowserProxy|DefaultBrowserBrowserProxy",
"settings.DownloadsBrowserProxy|DownloadsBrowserProxy",
"settings.EDIT_STARTUP_URL_EVENT|EDIT_STARTUP_URL_EVENT",
......
......@@ -33,6 +33,12 @@ import './default_browser_page/default_browser_page.m.js';
import './system_page/system_page.m.js';
// </if>
// <if expr="_google_chrome and is_win">
export {CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW} from './chrome_cleanup_page/items_to_remove_list.m.js';
export {ChromeCleanupIdleReason} from './chrome_cleanup_page/chrome_cleanup_page.m.js';
export {ChromeCleanupProxyImpl} from './chrome_cleanup_page/chrome_cleanup_proxy.m.js';
// </if>
// <if expr="not chromeos">
export {DefaultBrowserBrowserProxyImpl} from './default_browser_page/default_browser_browser_proxy.m.js';
export {SystemPageBrowserProxyImpl} from './system_page/system_page_browser_proxy.m.js';
......
......@@ -297,8 +297,7 @@
preprocess="true" />
<structure name="IDR_SETTINGS_CHROME_CLEANUP_PAGE_JS"
file="chrome_cleanup_page/chrome_cleanup_page.js"
type="chrome_html"
preprocess="true" />
type="chrome_html" />
<structure name="IDR_SETTINGS_CHROME_CLEANUP_ITEMS_TO_REMOVE_LIST_HTML"
file="chrome_cleanup_page/items_to_remove_list.html"
type="chrome_html"/>
......
......@@ -33,6 +33,21 @@
file="${root_gen_dir}/chrome/browser/resources/settings/appearance_page/home_url_input.m.js"
use_base_dir="false"
type="BINDATA" />
<if expr="is_win">
<include name="IDR_SETTINGS_CHROME_CLEANUP_PROXY_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_proxy.m.js"
use_base_dir="false"
type="BINDATA" />
<include name="IDR_SETTINGS_CHROME_CLEANUP_PAGE_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.m.js"
use_base_dir="false"
type="BINDATA"
preprocess="true" />
<include name="IDR_SETTINGS_CHROME_CLEANUP_ITEMS_TO_REMOVE_LIST_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/chrome_cleanup_page/items_to_remove_list.m.js"
use_base_dir="false"
type="BINDATA" />
</if>
<include name="IDR_SETTINGS_CONTROLS_CONTROLLED_BUTTON_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/controls/controlled_button.m.js"
use_base_dir="false"
......
......@@ -242,6 +242,9 @@ js2gtest("browser_tests_js_webui") {
"$root_gen_dir/chrome/test/data/webui/test_store.m.js",
"$root_gen_dir/chrome/test/data/webui/test_util.m.js",
]
if (is_win) {
data += [ "$root_gen_dir/chrome/test/data/webui/settings/chrome_cleanup_page_test.m.js" ]
}
if (is_chromeos) {
data += [ "$root_gen_dir/chrome/test/data/webui/cr_elements/cr_searchable_drop_down_tests.m.js" ]
}
......
......@@ -40,12 +40,17 @@ js_modulizer("modulize") {
"test_search_engines_browser_proxy.js",
"test_util.js",
]
if (is_win) {
input_files += [ "chrome_cleanup_page_test.js" ]
}
namespace_rewrites = settings_namespace_rewrites + test_namespace_rewrites + [
"settings.CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW|CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW",
"settings.ChromeCleanupIdleReason|ChromeCleanupIdleReason",
"settings.FakeSettingsPrivate|FakeSettingsPrivate",
"settings.TestLifetimeBrowserProxy|TestLifetimeBrowserProxy",
"settings_search.createSampleSearchEngine|createSampleSearchEngine",
"settings_search.TestSearchEnginesBrowserProxy|TestSearchEnginesBrowserProxy",
"settings.TestLifetimeBrowserProxy|TestLifetimeBrowserProxy",
"settings.TestLifetimeBrowserProxy|TestLifetimeBrowserProxy",
"test_util.setupPopstateListener|setupPopstateListener",
]
}
......@@ -2,6 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// clang-format off
// #import {ChromeCleanupProxyImpl, ChromeCleanupIdleReason, CHROME_CLEANUP_DEFAULT_ITEMS_TO_SHOW} from 'chrome://settings/settings.js';
// #import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {TestBrowserProxy} from 'chrome://test/test_browser_proxy.m.js';
// #import {webUIListenerCallback} from 'chrome://resources/js/cr.m.js';
// clang-format on
/** @implements {settings.ChromeCleanupProxy} */
class TestChromeCleanupProxy extends TestBrowserProxy {
constructor() {
......
......@@ -96,6 +96,22 @@ TEST_F('CrSettingsCheckboxV3Test', 'All', function() {
mocha.run();
});
GEN('#if defined(OS_WIN) && BUILDFLAG(GOOGLE_CHROME_BRANDING)');
// eslint-disable-next-line no-var
var CrSettingsChromeCleanupPageV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/chrome_cleanup_page_test.m.js';
}
};
TEST_F('CrSettingsChromeCleanupPageV3Test', 'All', function() {
mocha.run();
});
GEN('#endif // defined(OS_WIN) && BUILDFLAG(GOOGLE_CHROME_BRANDING)');
// eslint-disable-next-line no-var
var CrSettingsDropdownMenuV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
......
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