Commit 6c318524 authored by Demetrios Papadopoulos's avatar Demetrios Papadopoulos Committed by Commit Bot

Settings: Port downloads_page/ to Polymer 3.

Bug: 1026426
Change-Id: I9ec2b7e60d2aa1f86907e5535e3ace1d82431932
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2056566
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#742277}
parent 38d3e485
...@@ -219,6 +219,7 @@ group("closure_compile_module") { ...@@ -219,6 +219,7 @@ group("closure_compile_module") {
":closure_compile_local_module", ":closure_compile_local_module",
"appearance_page:closure_compile_module", "appearance_page:closure_compile_module",
"controls:closure_compile_module", "controls:closure_compile_module",
"downloads_page:closure_compile_module",
"on_startup_page:closure_compile_module", "on_startup_page:closure_compile_module",
"prefs:closure_compile_module", "prefs:closure_compile_module",
"search_engines_page:closure_compile_module", "search_engines_page:closure_compile_module",
......
...@@ -3,6 +3,9 @@ ...@@ -3,6 +3,9 @@
# found in the LICENSE file. # found in the LICENSE file.
import("//third_party/closure_compiler/compile_js.gni") 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") { js_type_check("closure_compile") {
deps = [ deps = [
...@@ -22,41 +25,39 @@ js_library("downloads_page") { ...@@ -22,41 +25,39 @@ js_library("downloads_page") {
deps = [ deps = [
":downloads_browser_proxy", ":downloads_browser_proxy",
"../prefs:prefs_behavior", "../prefs:prefs_behavior",
"//ui/webui/resources/js:load_time_data",
"//ui/webui/resources/js:util", "//ui/webui/resources/js:util",
"//ui/webui/resources/js:web_ui_listener_behavior", "//ui/webui/resources/js:web_ui_listener_behavior",
] ]
} }
# TODO(crbug.com/1026426): Fix and enable. js_type_check("closure_compile_module") {
#js_type_check("closure_compile_module") { is_polymer3 = true
# is_polymer3 = true deps = [
# deps = [ ":downloads_browser_proxy.m",
# ":downloads_browser_proxy.m", ":downloads_page.m",
# ":downloads_page.m", ]
# ] }
#}
js_library("downloads_browser_proxy.m") { js_library("downloads_browser_proxy.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/downloads_page/downloads_browser_proxy.m.js" ] sources = [ "$root_gen_dir/chrome/browser/resources/settings/downloads_page/downloads_browser_proxy.m.js" ]
deps = [ deps = [ "//ui/webui/resources/js:cr.m" ]
# TODO: Fill those in.
]
extra_deps = [ ":modulize" ] extra_deps = [ ":modulize" ]
} }
js_library("downloads_page.m") { js_library("downloads_page.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/downloads_page/downloads_page.m.js" ] sources = [ "$root_gen_dir/chrome/browser/resources/settings/downloads_page/downloads_page.m.js" ]
deps = [ deps = [
# TODO: Fill those in. ":downloads_browser_proxy.m",
"../prefs:prefs_behavior.m",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/js:util.m",
"//ui/webui/resources/js:web_ui_listener_behavior.m",
] ]
extra_deps = [ ":downloads_page_module" ] extra_deps = [ ":downloads_page_module" ]
} }
import("//tools/polymer/polymer.gni")
group("polymer3_elements") { group("polymer3_elements") {
deps = [ public_deps = [
":downloads_page_module", ":downloads_page_module",
":modulize", ":modulize",
] ]
...@@ -66,10 +67,12 @@ polymer_modulizer("downloads_page") { ...@@ -66,10 +67,12 @@ polymer_modulizer("downloads_page") {
js_file = "downloads_page.js" js_file = "downloads_page.js"
html_file = "downloads_page.html" html_file = "downloads_page.html"
html_type = "dom-module" html_type = "dom-module"
namespace_rewrites = settings_namespace_rewrites
auto_imports =
settings_auto_imports + [ "ui/webui/resources/html/util.html|listenOnce" ]
} }
import("//ui/webui/resources/tools/js_modulizer.gni")
js_modulizer("modulize") { js_modulizer("modulize") {
input_files = [ "downloads_browser_proxy.js" ] input_files = [ "downloads_browser_proxy.js" ]
namespace_rewrites = settings_namespace_rewrites
} }
...@@ -2,9 +2,13 @@ ...@@ -2,9 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // 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() { cr.define('settings', function() {
/** @interface */ /** @interface */
class DownloadsBrowserProxy { /* #export */ class DownloadsBrowserProxy {
initializeDownloads() {} initializeDownloads() {}
selectDownloadLocation() {} selectDownloadLocation() {}
resetAutoOpenFileTypes() {} resetAutoOpenFileTypes() {}
...@@ -20,7 +24,7 @@ cr.define('settings', function() { ...@@ -20,7 +24,7 @@ cr.define('settings', function() {
/** /**
* @implements {settings.DownloadsBrowserProxy} * @implements {settings.DownloadsBrowserProxy}
*/ */
class DownloadsBrowserProxyImpl { /* #export */ class DownloadsBrowserProxyImpl {
/** @override */ /** @override */
initializeDownloads() { initializeDownloads() {
chrome.send('initializeDownloads'); chrome.send('initializeDownloads');
......
...@@ -8,6 +8,7 @@ settings_namespace_rewrites = [ ...@@ -8,6 +8,7 @@ settings_namespace_rewrites = [
"cr_slider.SliderTick|SliderTick", "cr_slider.SliderTick|SliderTick",
"settings.AppearanceBrowserProxy|AppearanceBrowserProxy", "settings.AppearanceBrowserProxy|AppearanceBrowserProxy",
"settings.DefaultBrowserBrowserProxy|DefaultBrowserBrowserProxy", "settings.DefaultBrowserBrowserProxy|DefaultBrowserBrowserProxy",
"settings.DownloadsBrowserProxy|DownloadsBrowserProxy",
"settings.EDIT_STARTUP_URL_EVENT|EDIT_STARTUP_URL_EVENT", "settings.EDIT_STARTUP_URL_EVENT|EDIT_STARTUP_URL_EVENT",
"settings.ExtensionControlBrowserProxy|ExtensionControlBrowserProxy", "settings.ExtensionControlBrowserProxy|ExtensionControlBrowserProxy",
"settings.FontsBrowserProxy|FontsBrowserProxy", "settings.FontsBrowserProxy|FontsBrowserProxy",
...@@ -31,7 +32,9 @@ settings_namespace_rewrites = [ ...@@ -31,7 +32,9 @@ settings_namespace_rewrites = [
settings_auto_imports = [ settings_auto_imports = [
"chrome/browser/resources/settings/controls/pref_control_behavior.html|PrefControlBehavior", "chrome/browser/resources/settings/controls/pref_control_behavior.html|PrefControlBehavior",
"chrome/browser/resources/settings/controls/settings_boolean_control_behavior.html|SettingsBooleanControlBehavior", "chrome/browser/resources/settings/controls/settings_boolean_control_behavior.html|SettingsBooleanControlBehavior",
"chrome/browser/resources/settings/downloads_page/downloads_browser_proxy.html|DownloadsBrowserProxy,DownloadsBrowserProxyImpl",
"chrome/browser/resources/settings/extension_control_browser_proxy.html|ExtensionControlBrowserProxyImpl,ExtensionControlBrowserProxy", "chrome/browser/resources/settings/extension_control_browser_proxy.html|ExtensionControlBrowserProxyImpl,ExtensionControlBrowserProxy",
"chrome/browser/resources/settings/i18n_setup.html|loadTimeData",
"chrome/browser/resources/settings/global_scroll_target_behavior.html|GlobalScrollTargetBehavior", "chrome/browser/resources/settings/global_scroll_target_behavior.html|GlobalScrollTargetBehavior",
"chrome/browser/resources/settings/i18n_setup.html|loadTimeData",
"chrome/browser/resources/settings/prefs/prefs_behavior.html|PrefsBehavior",
] ]
...@@ -12,6 +12,7 @@ import './controls/settings_dropdown_menu.m.js'; ...@@ -12,6 +12,7 @@ import './controls/settings_dropdown_menu.m.js';
import './controls/settings_slider.m.js'; import './controls/settings_slider.m.js';
import './controls/settings_textarea.m.js'; import './controls/settings_textarea.m.js';
import './controls/settings_toggle_button.m.js'; import './controls/settings_toggle_button.m.js';
import './downloads_page/downloads_page.m.js';
import './on_startup_page/on_startup_page.m.js'; import './on_startup_page/on_startup_page.m.js';
import './on_startup_page/startup_urls_page.m.js'; import './on_startup_page/startup_urls_page.m.js';
import './prefs/prefs.m.js'; import './prefs/prefs.m.js';
...@@ -35,6 +36,7 @@ export {DefaultBrowserBrowserProxyImpl} from './default_browser_page/default_bro ...@@ -35,6 +36,7 @@ export {DefaultBrowserBrowserProxyImpl} from './default_browser_page/default_bro
export {AppearanceBrowserProxy, AppearanceBrowserProxyImpl} from './appearance_page/appearance_browser_proxy.m.js'; export {AppearanceBrowserProxy, AppearanceBrowserProxyImpl} from './appearance_page/appearance_browser_proxy.m.js';
export {CrSettingsPrefs} from './prefs/prefs_types.m.js'; export {CrSettingsPrefs} from './prefs/prefs_types.m.js';
export {DownloadsBrowserProxyImpl} from './downloads_page/downloads_browser_proxy.m.js';
export {ExtensionControlBrowserProxyImpl} from './extension_control_browser_proxy.m.js'; export {ExtensionControlBrowserProxyImpl} from './extension_control_browser_proxy.m.js';
export {FontsBrowserProxy, FontsBrowserProxyImpl} from './appearance_page/fonts_browser_proxy.m.js'; export {FontsBrowserProxy, FontsBrowserProxyImpl} from './appearance_page/fonts_browser_proxy.m.js';
export {OnStartupBrowserProxy, OnStartupBrowserProxyImpl} from './on_startup_page/on_startup_browser_proxy.m.js'; export {OnStartupBrowserProxy, OnStartupBrowserProxyImpl} from './on_startup_page/on_startup_browser_proxy.m.js';
......
...@@ -71,16 +71,26 @@ ...@@ -71,16 +71,26 @@
file="${root_gen_dir}/chrome/browser/resources/settings/controls/settings_toggle_button.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/controls/settings_toggle_button.m.js"
use_base_dir="false" use_base_dir="false"
type="BINDATA" /> type="BINDATA" />
<if expr="not chromeos"> <if expr="not chromeos">
<include name="IDR_SETTINGS_DEFAULT_BROWSER_BROWSER_PROXY_M_JS" <include name="IDR_SETTINGS_DEFAULT_BROWSER_BROWSER_PROXY_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/default_browser_page/default_browser_browser_proxy.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/default_browser_page/default_browser_browser_proxy.m.js"
use_base_dir="false" use_base_dir="false"
type="BINDATA" /> type="BINDATA" />
<include name="IDR_SETTINGS_DEFAULT_BROWSER_PAGE_M_JS" <include name="IDR_SETTINGS_DEFAULT_BROWSER_PAGE_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/default_browser_page/default_browser_page.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/default_browser_page/default_browser_page.m.js"
use_base_dir="false" use_base_dir="false"
type="BINDATA" /> type="BINDATA" />
</if> </if>
<include name="IDR_SETTINGS_DOWNLOADS_BROWSER_PROXY_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/downloads_page/downloads_browser_proxy.m.js"
use_base_dir="false"
type="BINDATA"
preprocess="true" />
<include name="IDR_SETTINGS_DOWNLOADS_PAGE_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/downloads_page/downloads_page.m.js"
use_base_dir="false"
type="BINDATA"
preprocess="true" />
<include name="IDR_SETTINGS_EXTENSION_CONTROL_BROWSER_PROXY_M_JS" <include name="IDR_SETTINGS_EXTENSION_CONTROL_BROWSER_PROXY_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/extension_control_browser_proxy.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/extension_control_browser_proxy.m.js"
use_base_dir="false" use_base_dir="false"
......
...@@ -215,6 +215,7 @@ js2gtest("browser_tests_js_webui") { ...@@ -215,6 +215,7 @@ js2gtest("browser_tests_js_webui") {
"$root_gen_dir/chrome/test/data/webui/settings/controlled_button_tests.m.js", "$root_gen_dir/chrome/test/data/webui/settings/controlled_button_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/controlled_radio_button_tests.m.js", "$root_gen_dir/chrome/test/data/webui/settings/controlled_radio_button_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/default_browser_browsertest.m.js", "$root_gen_dir/chrome/test/data/webui/settings/default_browser_browsertest.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/downloads_page_test.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/dropdown_menu_tests.m.js", "$root_gen_dir/chrome/test/data/webui/settings/dropdown_menu_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/extension_controlled_indicator_tests.m.js", "$root_gen_dir/chrome/test/data/webui/settings/extension_controlled_indicator_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/fake_settings_private.m.js", "$root_gen_dir/chrome/test/data/webui/settings/fake_settings_private.m.js",
......
...@@ -14,6 +14,7 @@ js_modulizer("modulize") { ...@@ -14,6 +14,7 @@ js_modulizer("modulize") {
"controlled_button_tests.js", "controlled_button_tests.js",
"controlled_radio_button_tests.js", "controlled_radio_button_tests.js",
"default_browser_browsertest.js", "default_browser_browsertest.js",
"downloads_page_test.js",
"dropdown_menu_tests.js", "dropdown_menu_tests.js",
"extension_controlled_indicator_tests.js", "extension_controlled_indicator_tests.js",
"fake_settings_private.js", "fake_settings_private.js",
......
...@@ -64,13 +64,24 @@ var CrSettingsDefaultBrowserV3Test = class extends CrSettingsV3BrowserTest { ...@@ -64,13 +64,24 @@ var CrSettingsDefaultBrowserV3Test = class extends CrSettingsV3BrowserTest {
} }
}; };
TEST_F('CrSettingsDefaultBrowserV3Test', 'All', function() { TEST_F('CrSettingsDefaultBrowserV3Test', 'All', function() {
mocha.run(); mocha.run();
}); });
GEN('#endif // !defined(OS_CHROMEOS)'); GEN('#endif // !defined(OS_CHROMEOS)');
// eslint-disable-next-line no-var
var CrSettingsDownloadsPageV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/downloads_page_test.m.js';
}
};
TEST_F('CrSettingsDownloadsPageV3Test', 'All', function() {
mocha.run();
});
// eslint-disable-next-line no-var // eslint-disable-next-line no-var
var CrSettingsCheckboxV3Test = class extends CrSettingsV3BrowserTest { var CrSettingsCheckboxV3Test = class extends CrSettingsV3BrowserTest {
/** @override */ /** @override */
......
...@@ -2,6 +2,13 @@ ...@@ -2,6 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// clang-format off
// #import {DownloadsBrowserProxyImpl} from 'chrome://settings/settings.js';
// #import {isChromeOS} from 'chrome://resources/js/cr.m.js';
// #import {TestBrowserProxy} from 'chrome://test/test_browser_proxy.m.js';
// #import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// clang-format on
/** @implements {settings.DownloadsBrowserProxy} */ /** @implements {settings.DownloadsBrowserProxy} */
class TestDownloadsBrowserProxy extends TestBrowserProxy { class TestDownloadsBrowserProxy extends TestBrowserProxy {
constructor() { constructor() {
...@@ -29,12 +36,10 @@ class TestDownloadsBrowserProxy extends TestBrowserProxy { ...@@ -29,12 +36,10 @@ class TestDownloadsBrowserProxy extends TestBrowserProxy {
} }
} }
let downloadsPage = null;
/** @type {?TestDownloadsBrowserProxy} */
const DownloadsBrowserProxy = null;
suite('DownloadsHandler', function() { suite('DownloadsHandler', function() {
let downloadsBrowserProxy = null;
let downloadsPage = null;
setup(function() { setup(function() {
downloadsBrowserProxy = new TestDownloadsBrowserProxy(); downloadsBrowserProxy = new TestDownloadsBrowserProxy();
settings.DownloadsBrowserProxyImpl.instance_ = downloadsBrowserProxy; settings.DownloadsBrowserProxyImpl.instance_ = downloadsBrowserProxy;
......
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