Commit 7da222fb authored by Demetrios Papadopoulos's avatar Demetrios Papadopoulos Committed by Commit Bot

Settings: Port default_browser_page/ to Polymer 3.

Bug: 1026426
Change-Id: I384b5f55acc3bbe71b03c039e3cc68782dacc5ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2038074
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#738830}
parent 3be1aecc
......@@ -216,6 +216,9 @@ group("closure_compile_module") {
"search_engines_page:closure_compile_module",
"settings_page:closure_compile_module",
]
if (!is_chromeos) {
deps += [ "default_browser_page:closure_compile_module" ]
}
}
js_type_check("closure_compile_local_module") {
......@@ -358,7 +361,6 @@ group("polymer3_elements") {
"chrome_cleanup_page:polymer3_elements",
"clear_browsing_data_dialog:polymer3_elements",
"controls:polymer3_elements",
"default_browser_page:polymer3_elements",
"downloads_page:polymer3_elements",
"incompatible_applications_page:polymer3_elements",
"languages_page:polymer3_elements",
......@@ -376,7 +378,6 @@ group("polymer3_elements") {
"settings_ui:polymer3_elements",
"site_settings:polymer3_elements",
"site_settings_page:polymer3_elements",
"system_page:polymer3_elements",
# Local targets
":icons_module",
......@@ -386,6 +387,13 @@ group("polymer3_elements") {
":settings_vars_css_module",
":site_favicon_module",
]
if (!is_chromeos) {
public_deps += [
"default_browser_page:polymer3_elements",
"system_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 = [
......@@ -23,35 +26,32 @@ js_library("default_browser_page") {
]
}
# TODO(crbug.com/1026426): Fix and enable.
#js_type_check("closure_compile_module") {
# is_polymer3 = true
# deps = [
# ":default_browser_browser_proxy.m",
# ":default_browser_page.m",
# ]
#}
js_type_check("closure_compile_module") {
is_polymer3 = true
deps = [
":default_browser_browser_proxy.m",
":default_browser_page.m",
]
}
js_library("default_browser_browser_proxy.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/default_browser_page/default_browser_browser_proxy.m.js" ]
deps = [
# TODO: Fill those in.
]
deps = [ "//ui/webui/resources/js:cr.m" ]
extra_deps = [ ":modulize" ]
}
js_library("default_browser_page.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/default_browser_page/default_browser_page.m.js" ]
deps = [
# TODO: Fill those in.
":default_browser_browser_proxy.m",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/js:web_ui_listener_behavior.m",
]
extra_deps = [ ":default_browser_page_module" ]
}
import("//tools/polymer/polymer.gni")
group("polymer3_elements") {
deps = [
public_deps = [
":default_browser_page_module",
":modulize",
]
......@@ -61,10 +61,11 @@ polymer_modulizer("default_browser_page") {
js_file = "default_browser_page.js"
html_file = "default_browser_page.html"
html_type = "dom-module"
namespace_rewrites = settings_namespace_rewrites
auto_imports = [ "chrome/browser/resources/settings/default_browser_page/default_browser_browser_proxy.html|DefaultBrowserBrowserProxyImpl,DefaultBrowserBrowserProxy,DefaultBrowserInfo" ]
}
import("//ui/webui/resources/tools/js_modulizer.gni")
js_modulizer("modulize") {
input_files = [ "default_browser_browser_proxy.js" ]
namespace_rewrites = settings_namespace_rewrites
}
......@@ -7,6 +7,10 @@
* to interact with the browser.
*/
// clang-format off
// #import {addSingletonGetter, sendWithPromise} from 'chrome://resources/js/cr.m.js';
// clang-format on
/**
* @typedef {{
* canBeDefault: boolean,
......@@ -15,11 +19,11 @@
* isUnknownError: boolean,
* }};
*/
let DefaultBrowserInfo;
/* #export */ let DefaultBrowserInfo;
cr.define('settings', function() {
/** @interface */
class DefaultBrowserBrowserProxy {
/* #export */ class DefaultBrowserBrowserProxy {
/**
* Get the initial DefaultBrowserInfo and begin sending updates to
* 'settings.updateDefaultBrowserState'.
......@@ -34,10 +38,8 @@ cr.define('settings', function() {
setAsDefaultBrowser() {}
}
/**
* @implements {settings.DefaultBrowserBrowserProxy}
*/
class DefaultBrowserBrowserProxyImpl {
/** @implements {settings.DefaultBrowserBrowserProxy} */
/* #export */ class DefaultBrowserBrowserProxyImpl {
/** @override */
requestDefaultBrowserState() {
return cr.sendWithPromise('requestDefaultBrowserState');
......
......@@ -14,6 +14,7 @@ settings_namespace_rewrites = [
"Settings.PrefUtil.stringToPrefValue|stringToPrefValue",
"settings.Route|Route",
"settings.SearchEnginesBrowserProxy|SearchEnginesBrowserProxy",
"settings.DefaultBrowserBrowserProxy|DefaultBrowserBrowserProxy",
"action_link.m.js|action_link.js",
......
......@@ -11,7 +11,6 @@ import './controls/settings_slider.m.js';
import './controls/settings_textarea.m.js';
import './controls/settings_toggle_button.m.js';
import './site_favicon.m.js';
import './search_engines_page/omnibox_extension_entry.m.js';
import './search_engines_page/search_engine_dialog.m.js';
import './search_engines_page/search_engine_entry.m.js';
......@@ -19,6 +18,14 @@ import './search_engines_page/search_engines_page.m.js';
import './settings_page/settings_subpage.m.js';
import './settings_page/settings_animated_pages.m.js';
// <if expr="not chromeos">
import './default_browser_page/default_browser_page.m.js';
// </if>
// <if expr="not chromeos">
export {DefaultBrowserBrowserProxyImpl} from './default_browser_page/default_browser_browser_proxy.m.js';
// </if>
export {ExtensionControlBrowserProxyImpl} from './extension_control_browser_proxy.m.js';
export {prefToString, stringToPrefValue} from './prefs/pref_util.m.js';
export {Route, Router} from './router.m.js';
......
......@@ -49,6 +49,16 @@
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>
<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"
......@@ -60,6 +70,11 @@
<include name="IDR_SETTINGS_I18N_SETUP_M_JS"
file="i18n_setup.m.js"
type="BINDATA" />
<include name="IDR_SETTINGS_ICONS_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/icons.m.js"
use_base_dir="false"
type="BINDATA"
preprocess="true" />
<include name="IDR_SETTINGS_PAGE_VISIBILITY_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/page_visibility.m.js"
use_base_dir="false"
......@@ -150,7 +165,8 @@
type="BINDATA" />
<include name="IDR_SETTINGS_SETTINGS_V3_JS"
file="settings.js"
type="BINDATA" />
type="BINDATA"
preprocess="true" />
<include name="IDR_SETTINGS_SITE_FAVICON_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/site_favicon.m.js"
use_base_dir="false"
......
......@@ -212,6 +212,7 @@ js2gtest("browser_tests_js_webui") {
"$root_gen_dir/chrome/test/data/webui/settings/checkbox_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/default_browser_browsertest.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/pref_util_tests.m.js",
......
......@@ -9,6 +9,7 @@ js_modulizer("modulize") {
"checkbox_tests.js",
"controlled_button_tests.js",
"controlled_radio_button_tests.js",
"default_browser_browsertest.js",
"dropdown_menu_tests.js",
"extension_controlled_indicator_tests.js",
"pref_util_tests.js",
......@@ -24,6 +25,7 @@ js_modulizer("modulize") {
"test_util.js",
]
namespace_rewrites = [
"settings.DefaultBrowserBrowserProxyImpl|DefaultBrowserBrowserProxyImpl",
"settings.ExtensionControlBrowserProxyImpl|ExtensionControlBrowserProxyImpl",
"settings.Route|Route",
"settings.routes|routes",
......
......@@ -48,6 +48,23 @@ TEST_F('CrControlledRadioButtonV3Test', 'All', function() {
mocha.run();
});
GEN('#if !defined(OS_CHROMEOS)');
// eslint-disable-next-line no-var
var CrSettingsDefaultBrowserV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/default_browser_browsertest.m.js';
}
};
TEST_F('CrSettingsDefaultBrowserV3Test', 'All', function() {
mocha.run();
});
GEN('#endif // !defined(OS_CHROMEOS)');
// eslint-disable-next-line no-var
var CrSettingsCheckboxV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
......
......@@ -2,6 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// clang-format off
// #import {DefaultBrowserBrowserProxyImpl} from 'chrome://settings/settings.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
/**
* A test version of DefaultBrowserBrowserProxy. Provides helper methods
* for allowing tests to know when a method was called, as well as
......
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