fune/browser/components/preferences/in-content/home.xul
Timothy Guan-tin Chien de9b8ba1e2 Bug 1520350 - Lazily load about:preferences markups from hidden panes r=jaws
Because custom elements will be constructed when DOM is constructed,
construct the DOM in the hidden panels will be expensive as we move
more and more widgets to custom elements from XBL.

This patch attempts to counter that by moving all the pane markups
into comment nodes, and use MozXULElement.parseXULToFragment() to
insert it when it is being asked.

They will be loaded lazily from an requestIdleCallback() in findInPage.js.

Differential Revision: https://phabricator.services.mozilla.com/D16787

--HG--
extra : moz-landing-system : lando
2019-01-29 00:27:29 +00:00

101 lines
4.2 KiB
XML

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<!-- Home panel -->
<script type="application/javascript"
src="chrome://browser/content/preferences/in-content/home.js"/>
<box id="template-paneHome" hidden="true"><![CDATA[
<hbox id="firefoxHomeCategory"
class="subcategory"
hidden="true"
data-category="paneHome">
<html:h1 style="-moz-box-flex: 1;" data-l10n-id="pane-home-title"/>
<button id="restoreDefaultHomePageBtn"
class="homepage-button check-home-page-controlled"
data-preference-related="browser.startup.homepage"
data-l10n-id="home-restore-defaults"
preference="pref.browser.homepage.disable_button.restore_default"/>
</hbox>
<groupbox id="homepageGroup"
data-category="paneHome"
hidden="true">
<label><html:h2 data-l10n-id="home-new-windows-tabs-header"/></label>
<description data-l10n-id="home-new-windows-tabs-description2" />
<hbox id="homepageAndNewWindowsOption">
<label control="homeMode" data-l10n-id="home-homepage-mode-label" flex="1" />
<vbox class="homepageMenuItemContainer" flex="1">
<textbox id="homePrefHidden"
preference="browser.startup.homepage"
onsyncfrompreference="return gHomePane.syncFromHomePref();"
hidden="true" />
<menulist id="homeMode"
class="check-home-page-controlled"
data-preference-related="browser.startup.homepage">
<menupopup>
<menuitem value="0" data-l10n-id="home-mode-choice-default" />
<menuitem value="2" data-l10n-id="home-mode-choice-custom" />
<menuitem value="1" data-l10n-id="home-mode-choice-blank" />
</menupopup>
</menulist>
<vbox id="customSettings" hidden="true">
<textbox id="homePageUrl"
class="uri-element check-home-page-controlled"
data-preference-related="browser.startup.homepage"
type="autocomplete"
data-l10n-id="home-homepage-custom-url"
autocompletesearch="unifiedcomplete" />
<hbox class="homepage-buttons">
<button id="useCurrentBtn"
flex="1"
class="homepage-button check-home-page-controlled"
data-l10n-id="use-current-pages"
data-l10n-args='{"tabCount": 0}'
disabled="true"
preference="pref.browser.homepage.disable_button.current_page"/>
<button id="useBookmarkBtn"
flex="1"
class="homepage-button check-home-page-controlled"
data-l10n-id="choose-bookmark"
preference="pref.browser.homepage.disable_button.bookmark_page"
search-l10n-ids="select-bookmark-window.title, select-bookmark-desc"/>
</hbox>
</vbox>
</vbox>
</hbox>
<hbox id="newTabsOption">
<label control="newTabMode" data-l10n-id="home-newtabs-mode-label" flex="1" />
<menulist id="newTabMode"
flex="1"
preference="browser.newtabpage.enabled"
onsyncfrompreference="return gHomePane.syncFromNewTabPref();"
onsynctopreference="return gHomePane.syncToNewTabPref(this.value);">
<menupopup>
<menuitem value="0" data-l10n-id="home-mode-choice-default" />
<menuitem value="1" data-l10n-id="home-mode-choice-blank" />
</menupopup>
</menulist>
</hbox>
<hbox id="browserHomePageExtensionContent"
align="center" hidden="true" class="extension-controlled">
<description control="disableHomePageExtension" flex="1" />
<button id="disableHomePageExtension"
class="extension-controlled-button accessory-button"
data-l10n-id="disable-extension" />
</hbox>
<hbox id="browserNewTabExtensionContent"
align="center" hidden="true" class="extension-controlled">
<description control="disableNewTabExtension" flex="1" />
<button id="disableNewTabExtension"
class="extension-controlled-button accessory-button"
data-l10n-id="disable-extension" />
</hbox>
</groupbox>
]]></box>