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") {
":closure_compile_local_module",
"appearance_page:closure_compile_module",
"controls:closure_compile_module",
"downloads_page:closure_compile_module",
"on_startup_page:closure_compile_module",
"prefs:closure_compile_module",
"search_engines_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 = [
......@@ -22,41 +25,39 @@ js_library("downloads_page") {
deps = [
":downloads_browser_proxy",
"../prefs:prefs_behavior",
"//ui/webui/resources/js:load_time_data",
"//ui/webui/resources/js:util",
"//ui/webui/resources/js:web_ui_listener_behavior",
]
}
# TODO(crbug.com/1026426): Fix and enable.
#js_type_check("closure_compile_module") {
# is_polymer3 = true
# deps = [
# ":downloads_browser_proxy.m",
# ":downloads_page.m",
# ]
#}
js_type_check("closure_compile_module") {
is_polymer3 = true
deps = [
":downloads_browser_proxy.m",
":downloads_page.m",
]
}
js_library("downloads_browser_proxy.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/downloads_page/downloads_browser_proxy.m.js" ]
deps = [
# TODO: Fill those in.
]
deps = [ "//ui/webui/resources/js:cr.m" ]
extra_deps = [ ":modulize" ]
}
js_library("downloads_page.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/downloads_page/downloads_page.m.js" ]
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" ]
}
import("//tools/polymer/polymer.gni")
group("polymer3_elements") {
deps = [
public_deps = [
":downloads_page_module",
":modulize",
]
......@@ -66,10 +67,12 @@ polymer_modulizer("downloads_page") {
js_file = "downloads_page.js"
html_file = "downloads_page.html"
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") {
input_files = [ "downloads_browser_proxy.js" ]
namespace_rewrites = settings_namespace_rewrites
}
......@@ -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 DownloadsBrowserProxy {
/* #export */ class DownloadsBrowserProxy {
initializeDownloads() {}
selectDownloadLocation() {}
resetAutoOpenFileTypes() {}
......@@ -20,7 +24,7 @@ cr.define('settings', function() {
/**
* @implements {settings.DownloadsBrowserProxy}
*/
class DownloadsBrowserProxyImpl {
/* #export */ class DownloadsBrowserProxyImpl {
/** @override */
initializeDownloads() {
chrome.send('initializeDownloads');
......
......@@ -8,6 +8,7 @@ settings_namespace_rewrites = [
"cr_slider.SliderTick|SliderTick",
"settings.AppearanceBrowserProxy|AppearanceBrowserProxy",
"settings.DefaultBrowserBrowserProxy|DefaultBrowserBrowserProxy",
"settings.DownloadsBrowserProxy|DownloadsBrowserProxy",
"settings.EDIT_STARTUP_URL_EVENT|EDIT_STARTUP_URL_EVENT",
"settings.ExtensionControlBrowserProxy|ExtensionControlBrowserProxy",
"settings.FontsBrowserProxy|FontsBrowserProxy",
......@@ -31,7 +32,9 @@ settings_namespace_rewrites = [
settings_auto_imports = [
"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/downloads_page/downloads_browser_proxy.html|DownloadsBrowserProxy,DownloadsBrowserProxyImpl",
"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/i18n_setup.html|loadTimeData",
"chrome/browser/resources/settings/prefs/prefs_behavior.html|PrefsBehavior",
]
......@@ -12,6 +12,7 @@ import './controls/settings_dropdown_menu.m.js';
import './controls/settings_slider.m.js';
import './controls/settings_textarea.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/startup_urls_page.m.js';
import './prefs/prefs.m.js';
......@@ -35,6 +36,7 @@ export {DefaultBrowserBrowserProxyImpl} from './default_browser_page/default_bro
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';
export {ExtensionControlBrowserProxyImpl} from './extension_control_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';
......
......@@ -71,16 +71,26 @@
file="${root_gen_dir}/chrome/browser/resources/settings/controls/settings_toggle_button.m.js"
use_base_dir="false"
type="BINDATA" />
<if expr="not chromeos">
<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"
use_base_dir="false"
type="BINDATA" />
<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"
use_base_dir="false"
type="BINDATA" />
</if>
<if expr="not chromeos">
<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"
use_base_dir="false"
type="BINDATA" />
<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"
use_base_dir="false"
type="BINDATA" />
</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"
file="${root_gen_dir}/chrome/browser/resources/settings/extension_control_browser_proxy.m.js"
use_base_dir="false"
......
......@@ -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_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/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/extension_controlled_indicator_tests.m.js",
"$root_gen_dir/chrome/test/data/webui/settings/fake_settings_private.m.js",
......
......@@ -14,6 +14,7 @@ js_modulizer("modulize") {
"controlled_button_tests.js",
"controlled_radio_button_tests.js",
"default_browser_browsertest.js",
"downloads_page_test.js",
"dropdown_menu_tests.js",
"extension_controlled_indicator_tests.js",
"fake_settings_private.js",
......
......@@ -64,13 +64,24 @@ var CrSettingsDefaultBrowserV3Test = class extends CrSettingsV3BrowserTest {
}
};
TEST_F('CrSettingsDefaultBrowserV3Test', 'All', function() {
mocha.run();
});
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
var CrSettingsCheckboxV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
......
......@@ -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 {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} */
class TestDownloadsBrowserProxy extends TestBrowserProxy {
constructor() {
......@@ -29,12 +36,10 @@ class TestDownloadsBrowserProxy extends TestBrowserProxy {
}
}
let downloadsPage = null;
/** @type {?TestDownloadsBrowserProxy} */
const DownloadsBrowserProxy = null;
suite('DownloadsHandler', function() {
let downloadsBrowserProxy = null;
let downloadsPage = null;
setup(function() {
downloadsBrowserProxy = new TestDownloadsBrowserProxy();
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