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") { ...@@ -216,6 +216,9 @@ group("closure_compile_module") {
"search_engines_page:closure_compile_module", "search_engines_page:closure_compile_module",
"settings_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") { js_type_check("closure_compile_local_module") {
...@@ -358,7 +361,6 @@ group("polymer3_elements") { ...@@ -358,7 +361,6 @@ group("polymer3_elements") {
"chrome_cleanup_page:polymer3_elements", "chrome_cleanup_page:polymer3_elements",
"clear_browsing_data_dialog:polymer3_elements", "clear_browsing_data_dialog:polymer3_elements",
"controls:polymer3_elements", "controls:polymer3_elements",
"default_browser_page:polymer3_elements",
"downloads_page:polymer3_elements", "downloads_page:polymer3_elements",
"incompatible_applications_page:polymer3_elements", "incompatible_applications_page:polymer3_elements",
"languages_page:polymer3_elements", "languages_page:polymer3_elements",
...@@ -376,7 +378,6 @@ group("polymer3_elements") { ...@@ -376,7 +378,6 @@ group("polymer3_elements") {
"settings_ui:polymer3_elements", "settings_ui:polymer3_elements",
"site_settings:polymer3_elements", "site_settings:polymer3_elements",
"site_settings_page:polymer3_elements", "site_settings_page:polymer3_elements",
"system_page:polymer3_elements",
# Local targets # Local targets
":icons_module", ":icons_module",
...@@ -386,6 +387,13 @@ group("polymer3_elements") { ...@@ -386,6 +387,13 @@ group("polymer3_elements") {
":settings_vars_css_module", ":settings_vars_css_module",
":site_favicon_module", ":site_favicon_module",
] ]
if (!is_chromeos) {
public_deps += [
"default_browser_page:polymer3_elements",
"system_page:polymer3_elements",
]
}
} }
polymer_modulizer("icons") { polymer_modulizer("icons") {
......
...@@ -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 = [
...@@ -23,35 +26,32 @@ js_library("default_browser_page") { ...@@ -23,35 +26,32 @@ js_library("default_browser_page") {
] ]
} }
# 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 = [ ":default_browser_browser_proxy.m",
# ":default_browser_browser_proxy.m", ":default_browser_page.m",
# ":default_browser_page.m", ]
# ] }
#}
js_library("default_browser_browser_proxy.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" ] sources = [ "$root_gen_dir/chrome/browser/resources/settings/default_browser_page/default_browser_browser_proxy.m.js" ]
deps = [ deps = [ "//ui/webui/resources/js:cr.m" ]
# TODO: Fill those in.
]
extra_deps = [ ":modulize" ] extra_deps = [ ":modulize" ]
} }
js_library("default_browser_page.m") { js_library("default_browser_page.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/default_browser_page/default_browser_page.m.js" ] sources = [ "$root_gen_dir/chrome/browser/resources/settings/default_browser_page/default_browser_page.m.js" ]
deps = [ 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" ] extra_deps = [ ":default_browser_page_module" ]
} }
import("//tools/polymer/polymer.gni")
group("polymer3_elements") { group("polymer3_elements") {
deps = [ public_deps = [
":default_browser_page_module", ":default_browser_page_module",
":modulize", ":modulize",
] ]
...@@ -61,10 +61,11 @@ polymer_modulizer("default_browser_page") { ...@@ -61,10 +61,11 @@ polymer_modulizer("default_browser_page") {
js_file = "default_browser_page.js" js_file = "default_browser_page.js"
html_file = "default_browser_page.html" html_file = "default_browser_page.html"
html_type = "dom-module" 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") { js_modulizer("modulize") {
input_files = [ "default_browser_browser_proxy.js" ] input_files = [ "default_browser_browser_proxy.js" ]
namespace_rewrites = settings_namespace_rewrites
} }
...@@ -7,6 +7,10 @@ ...@@ -7,6 +7,10 @@
* to interact with the browser. * to interact with the browser.
*/ */
// clang-format off
// #import {addSingletonGetter, sendWithPromise} from 'chrome://resources/js/cr.m.js';
// clang-format on
/** /**
* @typedef {{ * @typedef {{
* canBeDefault: boolean, * canBeDefault: boolean,
...@@ -15,11 +19,11 @@ ...@@ -15,11 +19,11 @@
* isUnknownError: boolean, * isUnknownError: boolean,
* }}; * }};
*/ */
let DefaultBrowserInfo; /* #export */ let DefaultBrowserInfo;
cr.define('settings', function() { cr.define('settings', function() {
/** @interface */ /** @interface */
class DefaultBrowserBrowserProxy { /* #export */ class DefaultBrowserBrowserProxy {
/** /**
* Get the initial DefaultBrowserInfo and begin sending updates to * Get the initial DefaultBrowserInfo and begin sending updates to
* 'settings.updateDefaultBrowserState'. * 'settings.updateDefaultBrowserState'.
...@@ -34,10 +38,8 @@ cr.define('settings', function() { ...@@ -34,10 +38,8 @@ cr.define('settings', function() {
setAsDefaultBrowser() {} setAsDefaultBrowser() {}
} }
/** /** @implements {settings.DefaultBrowserBrowserProxy} */
* @implements {settings.DefaultBrowserBrowserProxy} /* #export */ class DefaultBrowserBrowserProxyImpl {
*/
class DefaultBrowserBrowserProxyImpl {
/** @override */ /** @override */
requestDefaultBrowserState() { requestDefaultBrowserState() {
return cr.sendWithPromise('requestDefaultBrowserState'); return cr.sendWithPromise('requestDefaultBrowserState');
......
...@@ -14,6 +14,7 @@ settings_namespace_rewrites = [ ...@@ -14,6 +14,7 @@ settings_namespace_rewrites = [
"Settings.PrefUtil.stringToPrefValue|stringToPrefValue", "Settings.PrefUtil.stringToPrefValue|stringToPrefValue",
"settings.Route|Route", "settings.Route|Route",
"settings.SearchEnginesBrowserProxy|SearchEnginesBrowserProxy", "settings.SearchEnginesBrowserProxy|SearchEnginesBrowserProxy",
"settings.DefaultBrowserBrowserProxy|DefaultBrowserBrowserProxy",
"action_link.m.js|action_link.js", "action_link.m.js|action_link.js",
......
...@@ -11,7 +11,6 @@ import './controls/settings_slider.m.js'; ...@@ -11,7 +11,6 @@ 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 './site_favicon.m.js'; import './site_favicon.m.js';
import './search_engines_page/omnibox_extension_entry.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_dialog.m.js';
import './search_engines_page/search_engine_entry.m.js'; import './search_engines_page/search_engine_entry.m.js';
...@@ -19,6 +18,14 @@ import './search_engines_page/search_engines_page.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_subpage.m.js';
import './settings_page/settings_animated_pages.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 {ExtensionControlBrowserProxyImpl} from './extension_control_browser_proxy.m.js';
export {prefToString, stringToPrefValue} from './prefs/pref_util.m.js'; export {prefToString, stringToPrefValue} from './prefs/pref_util.m.js';
export {Route, Router} from './router.m.js'; export {Route, Router} from './router.m.js';
......
...@@ -49,6 +49,16 @@ ...@@ -49,6 +49,16 @@
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">
<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" <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"
...@@ -60,6 +70,11 @@ ...@@ -60,6 +70,11 @@
<include name="IDR_SETTINGS_I18N_SETUP_M_JS" <include name="IDR_SETTINGS_I18N_SETUP_M_JS"
file="i18n_setup.m.js" file="i18n_setup.m.js"
type="BINDATA" /> 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" <include name="IDR_SETTINGS_PAGE_VISIBILITY_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/page_visibility.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/page_visibility.m.js"
use_base_dir="false" use_base_dir="false"
...@@ -150,7 +165,8 @@ ...@@ -150,7 +165,8 @@
type="BINDATA" /> type="BINDATA" />
<include name="IDR_SETTINGS_SETTINGS_V3_JS" <include name="IDR_SETTINGS_SETTINGS_V3_JS"
file="settings.js" file="settings.js"
type="BINDATA" /> type="BINDATA"
preprocess="true" />
<include name="IDR_SETTINGS_SITE_FAVICON_M_JS" <include name="IDR_SETTINGS_SITE_FAVICON_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/site_favicon.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/site_favicon.m.js"
use_base_dir="false" use_base_dir="false"
......
...@@ -212,6 +212,7 @@ js2gtest("browser_tests_js_webui") { ...@@ -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/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_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/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/pref_util_tests.m.js", "$root_gen_dir/chrome/test/data/webui/settings/pref_util_tests.m.js",
......
...@@ -9,6 +9,7 @@ js_modulizer("modulize") { ...@@ -9,6 +9,7 @@ js_modulizer("modulize") {
"checkbox_tests.js", "checkbox_tests.js",
"controlled_button_tests.js", "controlled_button_tests.js",
"controlled_radio_button_tests.js", "controlled_radio_button_tests.js",
"default_browser_browsertest.js",
"dropdown_menu_tests.js", "dropdown_menu_tests.js",
"extension_controlled_indicator_tests.js", "extension_controlled_indicator_tests.js",
"pref_util_tests.js", "pref_util_tests.js",
...@@ -24,6 +25,7 @@ js_modulizer("modulize") { ...@@ -24,6 +25,7 @@ js_modulizer("modulize") {
"test_util.js", "test_util.js",
] ]
namespace_rewrites = [ namespace_rewrites = [
"settings.DefaultBrowserBrowserProxyImpl|DefaultBrowserBrowserProxyImpl",
"settings.ExtensionControlBrowserProxyImpl|ExtensionControlBrowserProxyImpl", "settings.ExtensionControlBrowserProxyImpl|ExtensionControlBrowserProxyImpl",
"settings.Route|Route", "settings.Route|Route",
"settings.routes|routes", "settings.routes|routes",
......
...@@ -48,6 +48,23 @@ TEST_F('CrControlledRadioButtonV3Test', 'All', function() { ...@@ -48,6 +48,23 @@ TEST_F('CrControlledRadioButtonV3Test', 'All', function() {
mocha.run(); 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 // eslint-disable-next-line no-var
var CrSettingsCheckboxV3Test = class extends CrSettingsV3BrowserTest { var CrSettingsCheckboxV3Test = class extends CrSettingsV3BrowserTest {
/** @override */ /** @override */
......
...@@ -2,6 +2,12 @@ ...@@ -2,6 +2,12 @@
// 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 {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 * A test version of DefaultBrowserBrowserProxy. Provides helper methods
* for allowing tests to know when a method was called, as well as * 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