Commit fee34876 authored by dpapad's avatar dpapad Committed by Commit Bot

Settings: Check-in on_startup_page/ Polymer3.

Bug: 1069258
Change-Id: I25e66ab27d894c466875a6412b8876bd7727d89f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2152997
Auto-Submit: dpapad <dpapad@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#759931}
parent 0c12d022
...@@ -74,7 +74,6 @@ group("closure_compile") { ...@@ -74,7 +74,6 @@ group("closure_compile") {
"controls:closure_compile", "controls:closure_compile",
"downloads_page:closure_compile", "downloads_page:closure_compile",
"languages_page:closure_compile", "languages_page:closure_compile",
"on_startup_page:closure_compile",
"people_page:closure_compile", "people_page:closure_compile",
"prefs:closure_compile", "prefs:closure_compile",
"printing_page:closure_compile", "printing_page:closure_compile",
......
...@@ -4,10 +4,11 @@ ...@@ -4,10 +4,11 @@
import("//third_party/closure_compiler/compile_js.gni") import("//third_party/closure_compiler/compile_js.gni")
import("//tools/polymer/polymer.gni") import("//tools/polymer/polymer.gni")
import("//ui/webui/resources/tools/js_modulizer.gni")
import("../settings.gni") import("../settings.gni")
js_type_check("closure_compile") { js_type_check("closure_compile_module") {
is_polymer3 = true
closure_flags = settings_closure_flags
deps = [ deps = [
":on_startup_browser_proxy", ":on_startup_browser_proxy",
":on_startup_page", ":on_startup_page",
...@@ -19,133 +20,53 @@ js_type_check("closure_compile") { ...@@ -19,133 +20,53 @@ js_type_check("closure_compile") {
} }
js_library("on_startup_browser_proxy") { js_library("on_startup_browser_proxy") {
deps = [ deps = [ "//ui/webui/resources/js:cr.m" ]
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js:cr",
]
} }
js_library("on_startup_page") { js_library("on_startup_page") {
deps = [ deps = [
":on_startup_browser_proxy", ":on_startup_browser_proxy",
"//ui/webui/resources/js:web_ui_listener_behavior", "//ui/webui/resources/js:web_ui_listener_behavior.m",
]
}
js_library("startup_urls_page") {
deps = [
":startup_url_entry",
":startup_urls_page_browser_proxy",
"//ui/webui/resources/cr_elements:cr_scrollable_behavior",
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js:web_ui_listener_behavior",
"//ui/webui/resources/js/cr/ui:focus_without_ink",
]
externs_list = [ "$externs_path/settings_private.js" ]
}
js_library("startup_urls_page_browser_proxy") {
deps = [
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js:cr",
]
externs_list = [ "$externs_path/chrome_send.js" ]
}
js_library("startup_url_entry") {
deps = [
":startup_urls_page_browser_proxy",
"//ui/webui/resources/cr_elements/cr_action_menu:cr_action_menu",
"//ui/webui/resources/cr_elements/cr_lazy_render:cr_lazy_render",
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js:icon",
"//ui/webui/resources/js/cr/ui:focus_row_behavior",
] ]
} }
js_library("startup_url_dialog") { js_library("startup_url_dialog") {
deps = [ deps = [
":startup_urls_page_browser_proxy", ":startup_urls_page_browser_proxy",
"//ui/webui/resources/cr_elements/cr_dialog:cr_dialog",
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js:load_time_data",
]
}
js_type_check("closure_compile_module") {
is_polymer3 = true
deps = [
":on_startup_browser_proxy.m",
":on_startup_page.m",
":startup_url_dialog.m",
":startup_url_entry.m",
":startup_urls_page.m",
":startup_urls_page_browser_proxy.m",
]
}
js_library("on_startup_browser_proxy.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/on_startup_page/on_startup_browser_proxy.m.js" ]
deps = [ "//ui/webui/resources/js:cr.m" ]
extra_deps = [ ":modulize" ]
}
js_library("on_startup_page.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/on_startup_page/on_startup_page.m.js" ]
deps = [
":on_startup_browser_proxy.m",
"//ui/webui/resources/js:web_ui_listener_behavior.m",
]
extra_deps = [ ":on_startup_page_module" ]
}
js_library("startup_url_dialog.m") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/on_startup_page/startup_url_dialog.m.js" ]
deps = [
":startup_urls_page_browser_proxy.m",
"..:i18n_setup.m", "..:i18n_setup.m",
"//ui/webui/resources/cr_elements/cr_dialog:cr_dialog.m", "//ui/webui/resources/cr_elements/cr_dialog:cr_dialog.m",
] ]
extra_deps = [ ":startup_url_dialog_module" ]
} }
js_library("startup_url_entry.m") { js_library("startup_url_entry") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/on_startup_page/startup_url_entry.m.js" ]
deps = [ deps = [
":startup_urls_page_browser_proxy.m", ":startup_urls_page_browser_proxy",
"//ui/webui/resources/cr_elements/cr_action_menu:cr_action_menu.m", "//ui/webui/resources/cr_elements/cr_action_menu:cr_action_menu.m",
"//ui/webui/resources/cr_elements/cr_lazy_render:cr_lazy_render.m", "//ui/webui/resources/cr_elements/cr_lazy_render:cr_lazy_render.m",
"//ui/webui/resources/js:assert.m", "//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:icon.m", "//ui/webui/resources/js:icon.m",
"//ui/webui/resources/js/cr/ui:focus_row_behavior.m", "//ui/webui/resources/js/cr/ui:focus_row_behavior.m",
] ]
extra_deps = [ ":startup_url_entry_module" ]
} }
js_library("startup_urls_page.m") { js_library("startup_urls_page") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/on_startup_page/startup_urls_page.m.js" ]
deps = [ deps = [
":startup_url_entry.m", ":startup_url_entry",
":startup_urls_page_browser_proxy.m", ":startup_urls_page_browser_proxy",
"//ui/webui/resources/cr_elements:cr_scrollable_behavior.m", "//ui/webui/resources/cr_elements:cr_scrollable_behavior.m",
"//ui/webui/resources/js:assert.m", "//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:web_ui_listener_behavior.m", "//ui/webui/resources/js:web_ui_listener_behavior.m",
"//ui/webui/resources/js/cr/ui:focus_without_ink.m", "//ui/webui/resources/js/cr/ui:focus_without_ink.m",
] ]
externs_list = [ "$externs_path/settings_private.js" ] externs_list = [ "$externs_path/settings_private.js" ]
extra_deps = [ ":startup_urls_page_module" ]
} }
js_library("startup_urls_page_browser_proxy.m") { js_library("startup_urls_page_browser_proxy") {
sources = [ "$root_gen_dir/chrome/browser/resources/settings/on_startup_page/startup_urls_page_browser_proxy.m.js" ]
deps = [ "//ui/webui/resources/js:cr.m" ] deps = [ "//ui/webui/resources/js:cr.m" ]
extra_deps = [ ":modulize" ]
} }
group("polymer3_elements") { group("polymer3_elements") {
public_deps = [ public_deps = [
":modulize",
":on_startup_page_module", ":on_startup_page_module",
":startup_url_dialog_module", ":startup_url_dialog_module",
":startup_url_entry_module", ":startup_url_entry_module",
...@@ -156,46 +77,23 @@ group("polymer3_elements") { ...@@ -156,46 +77,23 @@ group("polymer3_elements") {
polymer_modulizer("on_startup_page") { polymer_modulizer("on_startup_page") {
js_file = "on_startup_page.js" js_file = "on_startup_page.js"
html_file = "on_startup_page.html" html_file = "on_startup_page.html"
html_type = "dom-module" html_type = "v3-ready"
auto_imports = [ "chrome/browser/resources/settings/on_startup_page/on_startup_browser_proxy.html|NtpExtension, OnStartupBrowserProxyImpl" ]
namespace_rewrites = settings_namespace_rewrites
} }
polymer_modulizer("startup_url_dialog") { polymer_modulizer("startup_url_dialog") {
js_file = "startup_url_dialog.js" js_file = "startup_url_dialog.js"
html_file = "startup_url_dialog.html" html_file = "startup_url_dialog.html"
html_type = "dom-module" html_type = "v3-ready"
auto_imports = settings_auto_imports + [ "chrome/browser/resources/settings/on_startup_page/startup_urls_page_browser_proxy.html|StartupPageInfo, StartupUrlsPageBrowserProxy, StartupUrlsPageBrowserProxyImpl" ]
namespace_rewrites = settings_namespace_rewrites
} }
polymer_modulizer("startup_url_entry") { polymer_modulizer("startup_url_entry") {
js_file = "startup_url_entry.js" js_file = "startup_url_entry.js"
html_file = "startup_url_entry.html" html_file = "startup_url_entry.html"
html_type = "dom-module" html_type = "v3-ready"
auto_imports = [
"ui/webui/resources/html/assert.html|assert",
"chrome/browser/resources/settings/on_startup_page/startup_urls_page_browser_proxy.html|StartupPageInfo, StartupUrlsPageBrowserProxyImpl",
]
namespace_rewrites = settings_namespace_rewrites
} }
polymer_modulizer("startup_urls_page") { polymer_modulizer("startup_urls_page") {
js_file = "startup_urls_page.js" js_file = "startup_urls_page.js"
html_file = "startup_urls_page.html" html_file = "startup_urls_page.html"
html_type = "dom-module" html_type = "v3-ready"
auto_imports = [
"ui/webui/resources/html/assert.html|assert",
"chrome/browser/resources/settings/on_startup_page/startup_url_entry.html|EDIT_STARTUP_URL_EVENT",
"chrome/browser/resources/settings/on_startup_page/startup_urls_page_browser_proxy.html|StartupPageInfo, StartupUrlsPageBrowserProxy, StartupUrlsPageBrowserProxyImpl",
]
namespace_rewrites = settings_namespace_rewrites
}
js_modulizer("modulize") {
input_files = [
"on_startup_browser_proxy.js",
"startup_urls_page_browser_proxy.js",
]
namespace_rewrites = settings_namespace_rewrites
} }
<link rel="import" href="chrome://resources/html/assert.html">
<link rel="import" href="chrome://resources/html/cr.html">
<script src="on_startup_browser_proxy.js"></script>
...@@ -3,34 +3,26 @@ ...@@ -3,34 +3,26 @@
// found in the LICENSE file. // found in the LICENSE file.
// clang-format off // clang-format off
// #import {addSingletonGetter, sendWithPromise} from 'chrome://resources/js/cr.m.js'; import {addSingletonGetter, sendWithPromise} from 'chrome://resources/js/cr.m.js';
// clang-format on // clang-format on
/** @typedef {{id: string, name: string, canBeDisabled: boolean}} */ /** @typedef {{id: string, name: string, canBeDisabled: boolean}} */
/* #export */ let NtpExtension; export let NtpExtension;
cr.define('settings', function() {
/** @interface */ /** @interface */
/* #export */ class OnStartupBrowserProxy { export class OnStartupBrowserProxy {
/** @return {!Promise<?NtpExtension>} */ /** @return {!Promise<?NtpExtension>} */
getNtpExtension() {} getNtpExtension() {}
} }
/** /**
* @implements {settings.OnStartupBrowserProxy} * @implements {OnStartupBrowserProxy}
*/ */
/* #export */ class OnStartupBrowserProxyImpl { export class OnStartupBrowserProxyImpl {
/** @override */ /** @override */
getNtpExtension() { getNtpExtension() {
return cr.sendWithPromise('getNtpExtension'); return sendWithPromise('getNtpExtension');
} }
} }
cr.addSingletonGetter(OnStartupBrowserProxyImpl); addSingletonGetter(OnStartupBrowserProxyImpl);
// #cr_define_end
return {
OnStartupBrowserProxy: OnStartupBrowserProxy,
OnStartupBrowserProxyImpl: OnStartupBrowserProxyImpl,
};
});
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
<link rel="import" href="../controls/controlled_radio_button.html">
<link rel="import" href="../controls/extension_controlled_indicator.html">
<link rel="import" href="../controls/settings_radio_group.html">
<link rel="import" href="on_startup_browser_proxy.html">
<link rel="import" href="startup_urls_page.html">
<link rel="import" href="../i18n_setup.html">
<link rel="import" href="../settings_shared_css.html">
<dom-module id="settings-on-startup-page">
<template>
<style include="settings-shared"> <style include="settings-shared">
.block { .block {
display: block; display: block;
...@@ -47,6 +34,3 @@ ...@@ -47,6 +34,3 @@
<settings-startup-urls-page prefs="[[prefs]]"> <settings-startup-urls-page prefs="[[prefs]]">
</settings-startup-urls-page> </settings-startup-urls-page>
</template> </template>
</template>
<script src="on_startup_page.js"></script>
</dom-module>
...@@ -6,7 +6,20 @@ ...@@ -6,7 +6,20 @@
* @fileoverview * @fileoverview
* 'settings-on-startup-page' is a settings page. * 'settings-on-startup-page' is a settings page.
*/ */
import '../controls/controlled_radio_button.m.js';
import '../controls/extension_controlled_indicator.m.js';
import '../controls/settings_radio_group.m.js';
import './startup_urls_page.js';
import '../i18n_setup.m.js';
import '../settings_shared_css.m.js';
import {WebUIListenerBehavior} from 'chrome://resources/js/web_ui_listener_behavior.m.js';
import {html, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {NtpExtension, OnStartupBrowserProxyImpl} from './on_startup_browser_proxy.js';
Polymer({ Polymer({
_template: html`{__html_template__}`,
is: 'settings-on-startup-page', is: 'settings-on-startup-page',
behaviors: [WebUIListenerBehavior], behaviors: [WebUIListenerBehavior],
...@@ -41,7 +54,7 @@ Polymer({ ...@@ -41,7 +54,7 @@ Polymer({
// Note that |ntpExtension| is empty if there is no NTP extension. // Note that |ntpExtension| is empty if there is no NTP extension.
this.ntpExtension_ = ntpExtension; this.ntpExtension_ = ntpExtension;
}; };
settings.OnStartupBrowserProxyImpl.getInstance().getNtpExtension().then( OnStartupBrowserProxyImpl.getInstance().getNtpExtension().then(
updateNtpExtension); updateNtpExtension);
this.addWebUIListener('update-ntp-extension', updateNtpExtension); this.addWebUIListener('update-ntp-extension', updateNtpExtension);
}, },
......
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_button/cr_button.html">
<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
<link rel="import" href="chrome://resources/cr_elements/cr_input/cr_input.html">
<link rel="import" href="../i18n_setup.html">
<link rel="import" href="../settings_shared_css.html">
<link rel="import" href="startup_urls_page_browser_proxy.html">
<dom-module id="settings-startup-url-dialog">
<template>
<style include="settings-shared"></style> <style include="settings-shared"></style>
<cr-dialog id="dialog" close-text="$i18n{close}"> <cr-dialog id="dialog" close-text="$i18n{close}">
<div slot="title">[[dialogTitle_]]</div> <div slot="title">[[dialogTitle_]]</div>
...@@ -27,6 +16,3 @@ ...@@ -27,6 +16,3 @@
on-click="onActionButtonTap_">[[actionButtonText_]]</cr-button> on-click="onActionButtonTap_">[[actionButtonText_]]</cr-button>
</div> </div>
</cr-dialog> </cr-dialog>
</template>
<script src="startup_url_dialog.js"></script>
</dom-module>
...@@ -2,7 +2,17 @@ ...@@ -2,7 +2,17 @@
// 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.
(function() { import 'chrome://resources/cr_elements/cr_button/cr_button.m.js';
import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.m.js';
import 'chrome://resources/cr_elements/cr_input/cr_input.m.js';
import '../settings_shared_css.m.js';
import {html, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {loadTimeData} from '../i18n_setup.m.js';
import {StartupPageInfo, StartupUrlsPageBrowserProxy, StartupUrlsPageBrowserProxyImpl} from './startup_urls_page_browser_proxy.js';
/** /**
* Describe the current URL input error status. * Describe the current URL input error status.
...@@ -19,6 +29,7 @@ const UrlInputError = { ...@@ -19,6 +29,7 @@ const UrlInputError = {
* or editing a startup URL entry. * or editing a startup URL entry.
*/ */
Polymer({ Polymer({
_template: html`{__html_template__}`,
is: 'settings-startup-url-dialog', is: 'settings-startup-url-dialog',
properties: { properties: {
...@@ -52,12 +63,12 @@ Polymer({ ...@@ -52,12 +63,12 @@ Polymer({
actionButtonText_: String, actionButtonText_: String,
}, },
/** @private {?settings.StartupUrlsPageBrowserProxy} */ /** @private {?StartupUrlsPageBrowserProxy} */
browserProxy_: null, browserProxy_: null,
/** @override */ /** @override */
attached() { attached() {
this.browserProxy_ = settings.StartupUrlsPageBrowserProxyImpl.getInstance(); this.browserProxy_ = StartupUrlsPageBrowserProxyImpl.getInstance();
if (this.model) { if (this.model) {
this.dialogTitle_ = loadTimeData.getString('onStartupEditPage'); this.dialogTitle_ = loadTimeData.getString('onStartupEditPage');
...@@ -129,4 +140,3 @@ Polymer({ ...@@ -129,4 +140,3 @@ Polymer({
}); });
}, },
}); });
})();
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_action_menu/cr_action_menu.html">
<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
<link rel="import" href="chrome://resources/cr_elements/cr_lazy_render/cr_lazy_render.html">
<link rel="import" href="chrome://resources/html/assert.html">
<link rel="import" href="chrome://resources/html/cr/ui/focus_row_behavior.html">
<link rel="import" href="chrome://resources/cr_elements/icons.html">
<link rel="import" href="startup_urls_page_browser_proxy.html">
<link rel="import" href="../settings_shared_css.html">
<link rel="import" href="../site_favicon.html">
<dom-module id="settings-startup-url-entry">
<template>
<style include="settings-shared"> <style include="settings-shared">
.hide-overflow { .hide-overflow {
overflow: hidden; overflow: hidden;
...@@ -42,6 +28,3 @@ ...@@ -42,6 +28,3 @@
</cr-lazy-render> </cr-lazy-render>
</template> </template>
</div> </div>
</template>
<script src="startup_url_entry.js"></script>
</dom-module>
...@@ -8,57 +8,66 @@ ...@@ -8,57 +8,66 @@
* the user to edit/remove the entry. * the user to edit/remove the entry.
*/ */
cr.define('settings', function() { import 'chrome://resources/cr_elements/cr_action_menu/cr_action_menu.m.js';
/** import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.m.js';
* The name of the event fired from this element when the "Edit" option is import 'chrome://resources/cr_elements/cr_lazy_render/cr_lazy_render.m.js';
* clicked. import 'chrome://resources/cr_elements/icons.m.js';
* @type {string} import '../settings_shared_css.m.js';
*/ import '../site_favicon.m.js';
/* #export */ const EDIT_STARTUP_URL_EVENT = 'edit-startup-url';
Polymer({ import {assert} from 'chrome://resources/js/assert.m.js';
is: 'settings-startup-url-entry', import {FocusRowBehavior} from 'chrome://resources/js/cr/ui/focus_row_behavior.m.js';
import {html, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
behaviors: [cr.ui.FocusRowBehavior], import {StartupPageInfo, StartupUrlsPageBrowserProxyImpl} from './startup_urls_page_browser_proxy.js';
properties: { /**
editable: { * The name of the event fired from this element when the "Edit" option is
type: Boolean, * clicked.
reflectToAttribute: true, * @type {string}
}, */
export const EDIT_STARTUP_URL_EVENT = 'edit-startup-url';
/** @type {!StartupPageInfo} */ Polymer({
model: Object, _template: html`{__html_template__}`,
}, is: 'settings-startup-url-entry',
/** @private */ behaviors: [FocusRowBehavior],
onRemoveTap_() {
this.$$('cr-action-menu').close();
settings.StartupUrlsPageBrowserProxyImpl.getInstance().removeStartupPage(
this.model.modelIndex);
},
/** properties: {
* @param {!Event} e editable: {
* @private type: Boolean,
*/ reflectToAttribute: true,
onEditTap_(e) {
e.preventDefault();
this.$$('cr-action-menu').close();
this.fire(settings.EDIT_STARTUP_URL_EVENT, {
model: this.model,
anchor: this.$$('#dots'),
});
}, },
/** @private */ /** @type {!StartupPageInfo} */
onDotsTap_() { model: Object,
const actionMenu = },
/** @type {!CrActionMenuElement} */ (this.$$('#menu').get());
actionMenu.showAt(assert(this.$$('#dots'))); /** @private */
}, onRemoveTap_() {
}); this.$$('cr-action-menu').close();
StartupUrlsPageBrowserProxyImpl.getInstance().removeStartupPage(
this.model.modelIndex);
},
/**
* @param {!Event} e
* @private
*/
onEditTap_(e) {
e.preventDefault();
this.$$('cr-action-menu').close();
this.fire(EDIT_STARTUP_URL_EVENT, {
model: this.model,
anchor: this.$$('#dots'),
});
},
// #cr_define_end /** @private */
return {EDIT_STARTUP_URL_EVENT}; onDotsTap_() {
const actionMenu =
/** @type {!CrActionMenuElement} */ (this.$$('#menu').get());
actionMenu.showAt(assert(this.$$('#dots')));
},
}); });
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/html/action_link.html">
<link rel="import" href="chrome://resources/cr_elements/action_link_css.html">
<link rel="import" href="chrome://resources/html/assert.html">
<link rel="import" href="chrome://resources/html/cr/ui/focus_without_ink.html">
<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
<link rel="import" href="chrome://resources/polymer/v1_0/iron-list/iron-list.html">
<link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
<link rel="import" href="chrome://resources/cr_elements/cr_scrollable_behavior.html">
<link rel="import" href="../controls/extension_controlled_indicator.html">
<link rel="import" href="../settings_shared_css.html">
<link rel="import" href="startup_url_dialog.html">
<link rel="import" href="startup_url_entry.html">
<link rel="import" href="startup_urls_page_browser_proxy.html">
<dom-module id="settings-startup-urls-page">
<template>
<style include="settings-shared action-link iron-flex"> <style include="settings-shared action-link iron-flex">
.list-frame { .list-frame {
@apply --settings-list-frame-padding; @apply --settings-list-frame-padding;
...@@ -79,6 +61,3 @@ ...@@ -79,6 +61,3 @@
on-close="destroyUrlDialog_"> on-close="destroyUrlDialog_">
</settings-startup-url-dialog> </settings-startup-url-dialog>
</template> </template>
</template>
<script src="startup_urls_page.js"></script>
</dom-module>
...@@ -7,7 +7,25 @@ ...@@ -7,7 +7,25 @@
* containing the urls that will be opened when chrome is started. * containing the urls that will be opened when chrome is started.
*/ */
import 'chrome://resources/js/action_link.js';
import 'chrome://resources/cr_elements/action_link_css.m.js';
import 'chrome://resources/polymer/v3_0/iron-flex-layout/iron-flex-layout-classes.js';
import 'chrome://resources/polymer/v3_0/iron-list/iron-list.js';
import '../controls/extension_controlled_indicator.m.js';
import '../settings_shared_css.m.js';
import './startup_url_dialog.js';
import {CrScrollableBehavior} from 'chrome://resources/cr_elements/cr_scrollable_behavior.m.js';
import {assert} from 'chrome://resources/js/assert.m.js';
import {focusWithoutInk} from 'chrome://resources/js/cr/ui/focus_without_ink.m.js';
import {WebUIListenerBehavior} from 'chrome://resources/js/web_ui_listener_behavior.m.js';
import {html, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {EDIT_STARTUP_URL_EVENT} from './startup_url_entry.js';
import {StartupPageInfo, StartupUrlsPageBrowserProxy, StartupUrlsPageBrowserProxyImpl} from './startup_urls_page_browser_proxy.js';
Polymer({ Polymer({
_template: html`{__html_template__}`,
is: 'settings-startup-urls-page', is: 'settings-startup-urls-page',
behaviors: [CrScrollableBehavior, WebUIListenerBehavior], behaviors: [CrScrollableBehavior, WebUIListenerBehavior],
...@@ -34,7 +52,7 @@ Polymer({ ...@@ -34,7 +52,7 @@ Polymer({
listBlurred_: Boolean, listBlurred_: Boolean,
}, },
/** @private {?settings.StartupUrlsPageBrowserProxy} */ /** @private {?StartupUrlsPageBrowserProxy} */
browserProxy_: null, browserProxy_: null,
/** /**
...@@ -45,7 +63,7 @@ Polymer({ ...@@ -45,7 +63,7 @@ Polymer({
/** @override */ /** @override */
attached() { attached() {
this.browserProxy_ = settings.StartupUrlsPageBrowserProxyImpl.getInstance(); this.browserProxy_ = StartupUrlsPageBrowserProxyImpl.getInstance();
this.addWebUIListener('update-startup-pages', startupPages => { this.addWebUIListener('update-startup-pages', startupPages => {
// If an "edit" URL dialog was open, close it, because the underlying page // If an "edit" URL dialog was open, close it, because the underlying page
// might have just been removed (and model indices have changed anyway). // might have just been removed (and model indices have changed anyway).
...@@ -57,7 +75,7 @@ Polymer({ ...@@ -57,7 +75,7 @@ Polymer({
}); });
this.browserProxy_.loadStartupPages(); this.browserProxy_.loadStartupPages();
this.addEventListener(settings.EDIT_STARTUP_URL_EVENT, event => { this.addEventListener(EDIT_STARTUP_URL_EVENT, event => {
this.startupUrlDialogModel_ = event.detail.model; this.startupUrlDialogModel_ = event.detail.model;
this.startupUrlDialogAnchor_ = event.detail.anchor; this.startupUrlDialogAnchor_ = event.detail.anchor;
this.showStartupUrlDialog_ = true; this.showStartupUrlDialog_ = true;
...@@ -81,7 +99,7 @@ Polymer({ ...@@ -81,7 +99,7 @@ Polymer({
this.showStartupUrlDialog_ = false; this.showStartupUrlDialog_ = false;
this.startupUrlDialogModel_ = null; this.startupUrlDialogModel_ = null;
if (this.startupUrlDialogAnchor_) { if (this.startupUrlDialogAnchor_) {
cr.ui.focusWithoutInk(assert(this.startupUrlDialogAnchor_)); focusWithoutInk(assert(this.startupUrlDialogAnchor_));
this.startupUrlDialogAnchor_ = null; this.startupUrlDialogAnchor_ = null;
} }
}, },
......
<link rel="href" src="chrome://resources/html/assert.html">
<link rel="href" src="chrome://resources/html/cr.html">
<link rel="href" src="chrome://resources/html/promise_resolver.html">
<script src="startup_urls_page_browser_proxy.js"></script>
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
// clang-format off // clang-format off
// #import {addSingletonGetter, sendWithPromise} from 'chrome://resources/js/cr.m.js'; import {addSingletonGetter, sendWithPromise} from 'chrome://resources/js/cr.m.js';
// clang-format on // clang-format on
/** /**
...@@ -14,11 +14,10 @@ ...@@ -14,11 +14,10 @@
* url: string * url: string
* }} * }}
*/ */
/* #export */ let StartupPageInfo; export let StartupPageInfo;
cr.define('settings', function() {
/** @interface */ /** @interface */
/* #export */ class StartupUrlsPageBrowserProxy { export class StartupUrlsPageBrowserProxy {
loadStartupPages() {} loadStartupPages() {}
useCurrentPages() {} useCurrentPages() {}
...@@ -48,9 +47,9 @@ cr.define('settings', function() { ...@@ -48,9 +47,9 @@ cr.define('settings', function() {
} }
/** /**
* @implements {settings.StartupUrlsPageBrowserProxy} * @implements {StartupUrlsPageBrowserProxy}
*/ */
/* #export */ class StartupUrlsPageBrowserProxyImpl { export class StartupUrlsPageBrowserProxyImpl {
/** @override */ /** @override */
loadStartupPages() { loadStartupPages() {
chrome.send('onStartupPrefsPageLoad'); chrome.send('onStartupPrefsPageLoad');
...@@ -63,17 +62,17 @@ cr.define('settings', function() { ...@@ -63,17 +62,17 @@ cr.define('settings', function() {
/** @override */ /** @override */
validateStartupPage(url) { validateStartupPage(url) {
return cr.sendWithPromise('validateStartupPage', url); return sendWithPromise('validateStartupPage', url);
} }
/** @override */ /** @override */
addStartupPage(url) { addStartupPage(url) {
return cr.sendWithPromise('addStartupPage', url); return sendWithPromise('addStartupPage', url);
} }
/** @override */ /** @override */
editStartupPage(modelIndex, url) { editStartupPage(modelIndex, url) {
return cr.sendWithPromise('editStartupPage', modelIndex, url); return sendWithPromise('editStartupPage', modelIndex, url);
} }
/** @override */ /** @override */
...@@ -82,11 +81,4 @@ cr.define('settings', function() { ...@@ -82,11 +81,4 @@ cr.define('settings', function() {
} }
} }
cr.addSingletonGetter(StartupUrlsPageBrowserProxyImpl); addSingletonGetter(StartupUrlsPageBrowserProxyImpl);
// #cr_define_end
return {
StartupUrlsPageBrowserProxy: StartupUrlsPageBrowserProxy,
StartupUrlsPageBrowserProxyImpl: StartupUrlsPageBrowserProxyImpl,
};
});
...@@ -146,5 +146,6 @@ settings_closure_flags = ...@@ -146,5 +146,6 @@ settings_closure_flags =
settings_migrated_imports = [ settings_migrated_imports = [
"chrome/browser/resources/settings/reset_page/reset_profile_banner.html", "chrome/browser/resources/settings/reset_page/reset_profile_banner.html",
"chrome/browser/resources/settings/on_startup_page/on_startup_page.html",
"chrome/browser/resources/settings/search_page/search_page.html", "chrome/browser/resources/settings/search_page/search_page.html",
] ]
...@@ -14,9 +14,9 @@ export {ExtensionControlBrowserProxyImpl} from './extension_control_browser_prox ...@@ -14,9 +14,9 @@ export {ExtensionControlBrowserProxyImpl} from './extension_control_browser_prox
export {HatsBrowserProxyImpl} from './hats_browser_proxy.m.js'; export {HatsBrowserProxyImpl} from './hats_browser_proxy.m.js';
export {LifetimeBrowserProxyImpl} from './lifetime_browser_proxy.m.js'; export {LifetimeBrowserProxyImpl} from './lifetime_browser_proxy.m.js';
export {MetricsBrowserProxyImpl, PrivacyElementInteractions, SafetyCheckInteractions} from './metrics_browser_proxy.m.js'; export {MetricsBrowserProxyImpl, PrivacyElementInteractions, SafetyCheckInteractions} from './metrics_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.js';
export {EDIT_STARTUP_URL_EVENT} from './on_startup_page/startup_url_entry.m.js'; export {EDIT_STARTUP_URL_EVENT} from './on_startup_page/startup_url_entry.js';
export {StartupUrlsPageBrowserProxy, StartupUrlsPageBrowserProxyImpl} from './on_startup_page/startup_urls_page_browser_proxy.m.js'; export {StartupUrlsPageBrowserProxy, StartupUrlsPageBrowserProxyImpl} from './on_startup_page/startup_urls_page_browser_proxy.js';
export {OpenWindowProxyImpl} from './open_window_proxy.m.js'; export {OpenWindowProxyImpl} from './open_window_proxy.m.js';
export {pageVisibility, setPageVisibilityForTesting} from './page_visibility.m.js'; export {pageVisibility, setPageVisibilityForTesting} from './page_visibility.m.js';
// <if expr="chromeos"> // <if expr="chromeos">
......
...@@ -332,29 +332,27 @@ ...@@ -332,29 +332,27 @@
file="${root_gen_dir}/chrome/browser/resources/settings/metrics_browser_proxy.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/metrics_browser_proxy.m.js"
use_base_dir="false" use_base_dir="false"
compress="false" type="BINDATA" /> compress="false" type="BINDATA" />
<include name="IDR_SETTINGS_ON_STARTUP_PAGE_ON_STARTUP_BROWSER_PROXY_M_JS" <include name="IDR_SETTINGS_ON_STARTUP_PAGE_ON_STARTUP_BROWSER_PROXY_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/on_startup_page/on_startup_browser_proxy.m.js" file="on_startup_page/on_startup_browser_proxy.js"
use_base_dir="false"
compress="false" type="BINDATA" /> compress="false" type="BINDATA" />
<include name="IDR_SETTINGS_ON_STARTUP_PAGE_ON_STARTUP_PAGE_M_JS" <include name="IDR_SETTINGS_ON_STARTUP_PAGE_ON_STARTUP_PAGE_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/on_startup_page/on_startup_page.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/on_startup_page/on_startup_page.js"
use_base_dir="false" use_base_dir="false"
compress="false" type="BINDATA" /> compress="false" type="BINDATA" />
<include name="IDR_SETTINGS_ON_STARTUP_PAGE_STARTUP_URL_DIALOG_M_JS" <include name="IDR_SETTINGS_ON_STARTUP_PAGE_STARTUP_URL_DIALOG_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/on_startup_page/startup_url_dialog.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/on_startup_page/startup_url_dialog.js"
use_base_dir="false" use_base_dir="false"
compress="false" type="BINDATA" /> compress="false" type="BINDATA" />
<include name="IDR_SETTINGS_ON_STARTUP_PAGE_STARTUP_URL_ENTRY_M_JS" <include name="IDR_SETTINGS_ON_STARTUP_PAGE_STARTUP_URL_ENTRY_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/on_startup_page/startup_url_entry.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/on_startup_page/startup_url_entry.js"
use_base_dir="false" use_base_dir="false"
compress="false" type="BINDATA" /> compress="false" type="BINDATA" />
<include name="IDR_SETTINGS_ON_STARTUP_PAGE_STARTUP_URLS_PAGE_M_JS" <include name="IDR_SETTINGS_ON_STARTUP_PAGE_STARTUP_URLS_PAGE_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/on_startup_page/startup_urls_page.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/on_startup_page/startup_urls_page.js"
use_base_dir="false" use_base_dir="false"
compress="false" type="BINDATA" /> compress="false" type="BINDATA" />
<include name="IDR_SETTINGS_ON_STARTUP_PAGE_STARTUP_URLS_PAGE_BROWSER_PROXY_M_JS" <include name="IDR_SETTINGS_ON_STARTUP_PAGE_STARTUP_URLS_PAGE_BROWSER_PROXY_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/on_startup_page/startup_urls_page_browser_proxy.m.js" file="on_startup_page/startup_urls_page_browser_proxy.js"
use_base_dir="false"
compress="false" type="BINDATA" /> compress="false" type="BINDATA" />
<include name="IDR_SETTINGS_OPEN_WINDOW_PROXY_M_JS" <include name="IDR_SETTINGS_OPEN_WINDOW_PROXY_M_JS"
file="${root_gen_dir}/chrome/browser/resources/settings/open_window_proxy.m.js" file="${root_gen_dir}/chrome/browser/resources/settings/open_window_proxy.m.js"
......
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