Commit e1e445e8 authored by Jon Mann's avatar Jon Mann Committed by Commit Bot

Split MainPageBehavior between browser and OS settings.

This is a prerequisite to implement lazy loading for Polymer 3.

Bug: 1045266
Change-Id: I92c428cd2c18d6f4096ee5fbdd26ae77efb831ec
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2321954Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Reviewed-by: default avatardpapad <dpapad@chromium.org>
Commit-Queue: Jon Mann <jonmann@chromium.org>
Cr-Commit-Position: refs/heads/master@{#792491}
parent 66881f7b
...@@ -272,7 +272,8 @@ group("closure_compile_module") { ...@@ -272,7 +272,8 @@ group("closure_compile_module") {
#"os_search_page:closure_compile_module", #"os_search_page:closure_compile_module",
#"os_settings_main:closure_compile_module", #"os_settings_main:closure_compile_module",
#"os_settings_menu:closure_compile_module", #"os_settings_menu:closure_compile_module",
#"os_settings_page:closure_compile_module", "os_settings_page:closure_compile_module",
#"os_settings_search_box:closure_compile_module", #"os_settings_search_box:closure_compile_module",
#"os_settings_ui:closure_compile_module", #"os_settings_ui:closure_compile_module",
#"os_toolbar:closure_compile_module", #"os_toolbar:closure_compile_module",
......
...@@ -13,7 +13,7 @@ js_library("os_settings_main") { ...@@ -13,7 +13,7 @@ js_library("os_settings_main") {
"..:os_page_visibility", "..:os_page_visibility",
"../..:router", "../..:router",
"../..:search_settings", "../..:search_settings",
"../../settings_page:main_page_behavior", "../os_settings_page:main_page_behavior",
"../os_settings_page:os_settings_page", "../os_settings_page:os_settings_page",
"//third_party/polymer/v1_0/components-chromium/iron-a11y-announcer:iron-a11y-announcer-extracted", "//third_party/polymer/v1_0/components-chromium/iron-a11y-announcer:iron-a11y-announcer-extracted",
"//ui/webui/resources/js:assert", "//ui/webui/resources/js:assert",
......
...@@ -3,18 +3,23 @@ ...@@ -3,18 +3,23 @@
# 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("//ui/webui/resources/tools/js_modulizer.gni")
import("../os_settings.gni")
js_type_check("closure_compile") { js_type_check("closure_compile") {
deps = [ ":os_settings_page" ] deps = [
":main_page_behavior",
":os_settings_page",
]
} }
js_library("os_settings_page") { js_library("os_settings_page") {
deps = [ deps = [
":main_page_behavior",
"..:os_page_visibility", "..:os_page_visibility",
"..:os_route", "..:os_route",
"../..:router", "../..:router",
"../..:search_settings", "../..:search_settings",
"../../settings_page:main_page_behavior",
"../os_apps_page:android_apps_browser_proxy", "../os_apps_page:android_apps_browser_proxy",
"//ui/webui/resources/js:load_time_data", "//ui/webui/resources/js:load_time_data",
"//ui/webui/resources/js:web_ui_listener_behavior", "//ui/webui/resources/js:web_ui_listener_behavior",
...@@ -22,13 +27,24 @@ js_library("os_settings_page") { ...@@ -22,13 +27,24 @@ js_library("os_settings_page") {
externs_list = [ "$externs_path/pending.js" ] externs_list = [ "$externs_path/pending.js" ]
} }
js_library("main_page_behavior") {
deps = [
"../..:router",
"../../settings_page:settings_section",
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js:util",
]
externs_list = [ "$externs_path/pending.js" ]
}
# TODO: Uncomment as the Polymer3 migration makes progress. # TODO: Uncomment as the Polymer3 migration makes progress.
#js_type_check("closure_compile_module") { js_type_check("closure_compile_module") {
# is_polymer3 = true is_polymer3 = true
# deps = [ deps = [
# ":os_settings_page.m" # ":os_settings_page.m",
# ] ":main_page_behavior.m",
#} ]
}
js_library("os_settings_page.m") { js_library("os_settings_page.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/os_settings_page/os_settings_page.m.js" ] sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/os_settings_page/os_settings_page.m.js" ]
...@@ -38,10 +54,25 @@ js_library("os_settings_page.m") { ...@@ -38,10 +54,25 @@ js_library("os_settings_page.m") {
extra_deps = [ ":os_settings_page_module" ] extra_deps = [ ":os_settings_page_module" ]
} }
js_library("main_page_behavior.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/chromeos/os_settings_page/main_page_behavior.m.js" ]
deps = [
"../..:router.m",
"../../settings_page:settings_section.m",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:util.m",
]
extra_deps = [ ":modulize" ]
}
import("//tools/polymer/polymer.gni") import("//tools/polymer/polymer.gni")
group("polymer3_elements") { group("polymer3_elements") {
public_deps = [ ":os_settings_page_module" ] public_deps = [
":modulize",
":os_settings_page_module",
]
} }
polymer_modulizer("os_settings_page") { polymer_modulizer("os_settings_page") {
...@@ -49,3 +80,8 @@ polymer_modulizer("os_settings_page") { ...@@ -49,3 +80,8 @@ polymer_modulizer("os_settings_page") {
html_file = "os_settings_page.html" html_file = "os_settings_page.html"
html_type = "dom-module" html_type = "dom-module"
} }
js_modulizer("modulize") {
input_files = [ "main_page_behavior.js" ]
namespace_rewrites = os_settings_namespace_rewrites
}
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/html/assert.html">
<link rel="import" href="../../router.html">
<script src="main_page_behavior.js"></script>
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<link rel="import" href="chrome://resources/cr_elements/hidden_style_css.html"> <link rel="import" href="chrome://resources/cr_elements/hidden_style_css.html">
<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html"> <link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
<link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html"> <link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
<link rel="import" href="main_page_behavior.html">
<link rel="import" href="../os_a11y_page/os_a11y_page.html"> <link rel="import" href="../os_a11y_page/os_a11y_page.html">
<link rel="import" href="../os_apps_page/android_apps_browser_proxy.html"> <link rel="import" href="../os_apps_page/android_apps_browser_proxy.html">
<link rel="import" href="../os_apps_page/os_apps_page.html"> <link rel="import" href="../os_apps_page/os_apps_page.html">
...@@ -11,7 +12,6 @@ ...@@ -11,7 +12,6 @@
<link rel="import" href="../os_search_page/os_search_page.html"> <link rel="import" href="../os_search_page/os_search_page.html">
<link rel="import" href="../personalization_page/personalization_page.html"> <link rel="import" href="../personalization_page/personalization_page.html">
<link rel="import" href="../../controls/settings_idle_load.html"> <link rel="import" href="../../controls/settings_idle_load.html">
<link rel="import" href="../../settings_page/main_page_behavior.html">
<link rel="import" href="../../settings_page/settings_section.html"> <link rel="import" href="../../settings_page/settings_section.html">
<link rel="import" href="../../settings_page_css.html"> <link rel="import" href="../../settings_page_css.html">
<link rel="import" href="../bluetooth_page/bluetooth_page.html"> <link rel="import" href="../bluetooth_page/bluetooth_page.html">
......
...@@ -412,10 +412,10 @@ ...@@ -412,10 +412,10 @@
file="settings_page_css.html" file="settings_page_css.html"
compress="false" type="chrome_html" /> compress="false" type="chrome_html" />
<structure name="IDR_OS_SETTINGS_MAIN_PAGE_BEHAVIOR_HTML" <structure name="IDR_OS_SETTINGS_MAIN_PAGE_BEHAVIOR_HTML"
file="settings_page/main_page_behavior.html" file="chromeos/os_settings_page/main_page_behavior.html"
compress="false" type="chrome_html" /> compress="false" type="chrome_html" />
<structure name="IDR_OS_SETTINGS_MAIN_PAGE_BEHAVIOR_JS" <structure name="IDR_OS_SETTINGS_MAIN_PAGE_BEHAVIOR_JS"
file="settings_page/main_page_behavior.js" file="chromeos/os_settings_page/main_page_behavior.js"
compress="false" type="chrome_html" compress="false" type="chrome_html"
preprocess="true" /> preprocess="true" />
<structure name="IDR_OS_SETTINGS_SETTINGS_VARS_CSS_HTML" <structure name="IDR_OS_SETTINGS_SETTINGS_VARS_CSS_HTML"
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
// #import {Route, Router, MinimumRoutes} from '../router.m.js'; // #import {Route, Router, MinimumRoutes} from '../router.m.js';
// clang-format on // clang-format on
// TODO(dpapad): Fully migrate this file to polymer 3.
cr.define('settings', function() { cr.define('settings', function() {
/** /**
* @enum {string} * @enum {string}
...@@ -147,12 +148,7 @@ cr.define('settings', function() { ...@@ -147,12 +148,7 @@ cr.define('settings', function() {
shouldExpandAdvanced_(route) { shouldExpandAdvanced_(route) {
const routes = /** @type {!settings.MinimumRoutes} */ ( const routes = /** @type {!settings.MinimumRoutes} */ (
settings.Router.getInstance().getRoutes()); settings.Router.getInstance().getRoutes());
return ( return this.tagName === 'SETTINGS-BASIC-PAGE' &&
this.tagName === 'SETTINGS-BASIC-PAGE'
// <if expr="chromeos">
|| this.tagName === 'OS-SETTINGS-PAGE'
// </if>
) &&
routes.ADVANCED && routes.ADVANCED.contains(route); routes.ADVANCED && routes.ADVANCED.contains(route);
}, },
...@@ -203,16 +199,8 @@ cr.define('settings', function() { ...@@ -203,16 +199,8 @@ cr.define('settings', function() {
// Explicitly load the lazy_load.html module, since all subpages reside in // Explicitly load the lazy_load.html module, since all subpages reside in
// the lazy loaded module. // the lazy loaded module.
// TODO(dpapad): On chrome://os-settings the lazy_load.html file resides
// at a different path. Remove conditional logic once this file is not
// shared between chrome://settings and chrome://os-settings.
// Polymer 2 codepath // Polymer 2 codepath
/* #ignore */ const lazyLoadPathPrefix = /* #ignore */ Polymer.importHref('/lazy_load.html', () => {});
/* #ignore */ window.location.origin === 'chrome://settings' ?
/* #ignore */ '' :
/* #ignore */ '/chromeos';
/* #ignore */ Polymer.importHref(
/* #ignore */ `${lazyLoadPathPrefix}/lazy_load.html`, () => {});
// Polymer 3 codepath, do not delete next line comment. // Polymer 3 codepath, do not delete next line comment.
// #polymer3 ensureLazyLoaded(); // #polymer3 ensureLazyLoaded();
......
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