Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Side by Side Diff: chrome/browser/resources/options/options.js

Issue 410293004: Split OptionsPage into Page and PageManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: s/PageTree/PageManager/, s/pageHelper/pageManager/ Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var AddLanguageOverlay = options.AddLanguageOverlay; 5 var AddLanguageOverlay = options.AddLanguageOverlay;
6 var AlertOverlay = options.AlertOverlay; 6 var AlertOverlay = options.AlertOverlay;
7 var AutofillEditAddressOverlay = options.AutofillEditAddressOverlay; 7 var AutofillEditAddressOverlay = options.AutofillEditAddressOverlay;
8 var AutofillEditCreditCardOverlay = options.AutofillEditCreditCardOverlay; 8 var AutofillEditCreditCardOverlay = options.AutofillEditCreditCardOverlay;
9 var AutofillOptions = options.AutofillOptions; 9 var AutofillOptions = options.AutofillOptions;
10 var AutomaticSettingsResetBanner = options.AutomaticSettingsResetBanner; 10 var AutomaticSettingsResetBanner = options.AutomaticSettingsResetBanner;
(...skipping 15 matching lines...) Expand all
26 var HomePageOverlay = options.HomePageOverlay; 26 var HomePageOverlay = options.HomePageOverlay;
27 var HotwordConfirmDialog = options.HotwordConfirmDialog; 27 var HotwordConfirmDialog = options.HotwordConfirmDialog;
28 var ImportDataOverlay = options.ImportDataOverlay; 28 var ImportDataOverlay = options.ImportDataOverlay;
29 var LanguageOptions = options.LanguageOptions; 29 var LanguageOptions = options.LanguageOptions;
30 var ManageProfileOverlay = options.ManageProfileOverlay; 30 var ManageProfileOverlay = options.ManageProfileOverlay;
31 var ManagedUserCreateConfirmOverlay = options.ManagedUserCreateConfirmOverlay; 31 var ManagedUserCreateConfirmOverlay = options.ManagedUserCreateConfirmOverlay;
32 var ManagedUserImportOverlay = options.ManagedUserImportOverlay; 32 var ManagedUserImportOverlay = options.ManagedUserImportOverlay;
33 var ManagedUserLearnMoreOverlay = options.ManagedUserLearnMoreOverlay; 33 var ManagedUserLearnMoreOverlay = options.ManagedUserLearnMoreOverlay;
34 var OptionsFocusManager = options.OptionsFocusManager; 34 var OptionsFocusManager = options.OptionsFocusManager;
35 var OptionsPage = options.OptionsPage; 35 var OptionsPage = options.OptionsPage;
36 var PageManager = cr.ui.pageManager.PageManager;
36 var PasswordManager = options.PasswordManager; 37 var PasswordManager = options.PasswordManager;
37 var Preferences = options.Preferences; 38 var Preferences = options.Preferences;
38 var PreferredNetworks = options.PreferredNetworks; 39 var PreferredNetworks = options.PreferredNetworks;
39 var ResetProfileSettingsBanner = options.ResetProfileSettingsBanner; 40 var ResetProfileSettingsBanner = options.ResetProfileSettingsBanner;
40 var ResetProfileSettingsOverlay = options.ResetProfileSettingsOverlay; 41 var ResetProfileSettingsOverlay = options.ResetProfileSettingsOverlay;
41 var SearchEngineManager = options.SearchEngineManager; 42 var SearchEngineManager = options.SearchEngineManager;
42 var SearchPage = options.SearchPage; 43 var SearchPage = options.SearchPage;
43 var StartupOverlay = options.StartupOverlay; 44 var StartupOverlay = options.StartupOverlay;
44 var SyncSetupOverlay = options.SyncSetupOverlay; 45 var SyncSetupOverlay = options.SyncSetupOverlay;
45 var WebsiteSettingsManager = options.WebsiteSettingsManager; 46 var WebsiteSettingsManager = options.WebsiteSettingsManager;
(...skipping 13 matching lines...) Expand all
59 cr.ui.decorate('input[pref][type=url]', options.PrefTextField); 60 cr.ui.decorate('input[pref][type=url]', options.PrefTextField);
60 cr.ui.decorate('button[pref]', options.PrefButton); 61 cr.ui.decorate('button[pref]', options.PrefButton);
61 cr.ui.decorate('#content-settings-page input[type=radio]:not(.handler-radio)', 62 cr.ui.decorate('#content-settings-page input[type=radio]:not(.handler-radio)',
62 options.ContentSettingsRadio); 63 options.ContentSettingsRadio);
63 cr.ui.decorate('#content-settings-page input[type=radio].handler-radio', 64 cr.ui.decorate('#content-settings-page input[type=radio].handler-radio',
64 options.HandlersEnabledRadio); 65 options.HandlersEnabledRadio);
65 cr.ui.decorate('span.controlled-setting-indicator', 66 cr.ui.decorate('span.controlled-setting-indicator',
66 options.ControlledSettingIndicator); 67 options.ControlledSettingIndicator);
67 68
68 // Top level pages. 69 // Top level pages.
69 OptionsPage.register(SearchPage.getInstance()); 70 PageManager.register(SearchPage.getInstance());
70 OptionsPage.register(BrowserOptions.getInstance()); 71 PageManager.register(BrowserOptions.getInstance());
71 72
72 // Overlays. 73 // Overlays.
73 OptionsPage.registerOverlay(AddLanguageOverlay.getInstance(), 74 PageManager.registerOverlay(AddLanguageOverlay.getInstance(),
74 LanguageOptions.getInstance()); 75 LanguageOptions.getInstance());
75 OptionsPage.registerOverlay(AlertOverlay.getInstance()); 76 PageManager.registerOverlay(AlertOverlay.getInstance());
76 OptionsPage.registerOverlay(AutofillEditAddressOverlay.getInstance(), 77 PageManager.registerOverlay(AutofillEditAddressOverlay.getInstance(),
77 AutofillOptions.getInstance()); 78 AutofillOptions.getInstance());
78 OptionsPage.registerOverlay(AutofillEditCreditCardOverlay.getInstance(), 79 PageManager.registerOverlay(AutofillEditCreditCardOverlay.getInstance(),
79 AutofillOptions.getInstance()); 80 AutofillOptions.getInstance());
80 OptionsPage.registerOverlay(AutofillOptions.getInstance(), 81 PageManager.registerOverlay(AutofillOptions.getInstance(),
81 BrowserOptions.getInstance(), 82 BrowserOptions.getInstance(),
82 [$('autofill-settings')]); 83 [$('autofill-settings')]);
83 OptionsPage.registerOverlay(ClearBrowserDataOverlay.getInstance(), 84 PageManager.registerOverlay(ClearBrowserDataOverlay.getInstance(),
84 BrowserOptions.getInstance(), 85 BrowserOptions.getInstance(),
85 [$('privacyClearDataButton')]); 86 [$('privacyClearDataButton')]);
86 OptionsPage.registerOverlay( 87 PageManager.registerOverlay(
87 new ConfirmDialog( 88 new ConfirmDialog(
88 'doNotTrackConfirm', 89 'doNotTrackConfirm',
89 loadTimeData.getString('doNotTrackConfirmOverlayTabTitle'), 90 loadTimeData.getString('doNotTrackConfirmOverlayTabTitle'),
90 'do-not-track-confirm-overlay', 91 'do-not-track-confirm-overlay',
91 $('do-not-track-confirm-ok'), 92 $('do-not-track-confirm-ok'),
92 $('do-not-track-confirm-cancel'), 93 $('do-not-track-confirm-cancel'),
93 $('do-not-track-enabled').pref, 94 $('do-not-track-enabled').pref,
94 $('do-not-track-enabled').metric), 95 $('do-not-track-enabled').metric),
95 BrowserOptions.getInstance()); 96 BrowserOptions.getInstance());
96 // 'spelling-enabled-control' element is only present on Chrome branded 97 // 'spelling-enabled-control' element is only present on Chrome branded
97 // builds. 98 // builds.
98 if ($('spelling-enabled-control')) { 99 if ($('spelling-enabled-control')) {
99 OptionsPage.registerOverlay( 100 PageManager.registerOverlay(
100 new ConfirmDialog( 101 new ConfirmDialog(
101 'spellingConfirm', 102 'spellingConfirm',
102 loadTimeData.getString('spellingConfirmOverlayTabTitle'), 103 loadTimeData.getString('spellingConfirmOverlayTabTitle'),
103 'spelling-confirm-overlay', 104 'spelling-confirm-overlay',
104 $('spelling-confirm-ok'), 105 $('spelling-confirm-ok'),
105 $('spelling-confirm-cancel'), 106 $('spelling-confirm-cancel'),
106 $('spelling-enabled-control').pref, 107 $('spelling-enabled-control').pref,
107 $('spelling-enabled-control').metric), 108 $('spelling-enabled-control').metric),
108 BrowserOptions.getInstance()); 109 BrowserOptions.getInstance());
109 } 110 }
110 OptionsPage.registerOverlay(new HotwordConfirmDialog(), 111 PageManager.registerOverlay(new HotwordConfirmDialog(),
111 BrowserOptions.getInstance()); 112 BrowserOptions.getInstance());
112 OptionsPage.registerOverlay(ContentSettings.getInstance(), 113 PageManager.registerOverlay(ContentSettings.getInstance(),
113 BrowserOptions.getInstance(), 114 BrowserOptions.getInstance(),
114 [$('privacyContentSettingsButton')]); 115 [$('privacyContentSettingsButton')]);
115 OptionsPage.registerOverlay(WebsiteSettingsManager.getInstance(), 116 PageManager.registerOverlay(WebsiteSettingsManager.getInstance(),
116 BrowserOptions.getInstance(), 117 BrowserOptions.getInstance(),
117 [$('website-management-button')]); 118 [$('website-management-button')]);
118 OptionsPage.registerOverlay(ContentSettingsExceptionsArea.getInstance(), 119 PageManager.registerOverlay(ContentSettingsExceptionsArea.getInstance(),
119 ContentSettings.getInstance()); 120 ContentSettings.getInstance());
120 OptionsPage.registerOverlay(CookiesView.getInstance(), 121 PageManager.registerOverlay(CookiesView.getInstance(),
121 ContentSettings.getInstance(), 122 ContentSettings.getInstance(),
122 [$('privacyContentSettingsButton'), 123 [$('privacyContentSettingsButton'),
123 $('show-cookies-button')]); 124 $('show-cookies-button')]);
124 OptionsPage.registerOverlay(CreateProfileOverlay.getInstance(), 125 PageManager.registerOverlay(CreateProfileOverlay.getInstance(),
125 BrowserOptions.getInstance()); 126 BrowserOptions.getInstance());
126 if (!cr.isMac) { 127 if (!cr.isMac) {
127 OptionsPage.registerOverlay(EditDictionaryOverlay.getInstance(), 128 PageManager.registerOverlay(EditDictionaryOverlay.getInstance(),
128 LanguageOptions.getInstance(), 129 LanguageOptions.getInstance(),
129 [$('edit-dictionary-button')]); 130 [$('edit-dictionary-button')]);
130 } 131 }
131 OptionsPage.registerOverlay(FontSettings.getInstance(), 132 PageManager.registerOverlay(FontSettings.getInstance(),
132 BrowserOptions.getInstance(), 133 BrowserOptions.getInstance(),
133 [$('fontSettingsCustomizeFontsButton')]); 134 [$('fontSettingsCustomizeFontsButton')]);
134 if (HandlerOptions && $('manage-handlers-button')) { 135 if (HandlerOptions && $('manage-handlers-button')) {
135 OptionsPage.registerOverlay(HandlerOptions.getInstance(), 136 PageManager.registerOverlay(HandlerOptions.getInstance(),
136 ContentSettings.getInstance(), 137 ContentSettings.getInstance(),
137 [$('manage-handlers-button')]); 138 [$('manage-handlers-button')]);
138 } 139 }
139 OptionsPage.registerOverlay(HomePageOverlay.getInstance(), 140 PageManager.registerOverlay(HomePageOverlay.getInstance(),
140 BrowserOptions.getInstance(), 141 BrowserOptions.getInstance(),
141 [$('change-home-page')]); 142 [$('change-home-page')]);
142 OptionsPage.registerOverlay(ImportDataOverlay.getInstance(), 143 PageManager.registerOverlay(ImportDataOverlay.getInstance(),
143 BrowserOptions.getInstance()); 144 BrowserOptions.getInstance());
144 OptionsPage.registerOverlay(LanguageOptions.getInstance(), 145 PageManager.registerOverlay(LanguageOptions.getInstance(),
145 BrowserOptions.getInstance(), 146 BrowserOptions.getInstance(),
146 [$('language-button'), 147 [$('language-button'),
147 $('manage-languages')]); 148 $('manage-languages')]);
148 OptionsPage.registerOverlay(ManageProfileOverlay.getInstance(), 149 PageManager.registerOverlay(ManageProfileOverlay.getInstance(),
149 BrowserOptions.getInstance()); 150 BrowserOptions.getInstance());
150 if (!cr.isChromeOS) { 151 if (!cr.isChromeOS) {
151 OptionsPage.registerOverlay(ManagedUserCreateConfirmOverlay.getInstance(), 152 PageManager.registerOverlay(ManagedUserCreateConfirmOverlay.getInstance(),
152 BrowserOptions.getInstance()); 153 BrowserOptions.getInstance());
153 OptionsPage.registerOverlay(ManagedUserImportOverlay.getInstance(), 154 PageManager.registerOverlay(ManagedUserImportOverlay.getInstance(),
154 CreateProfileOverlay.getInstance()); 155 CreateProfileOverlay.getInstance());
155 OptionsPage.registerOverlay(ManagedUserLearnMoreOverlay.getInstance(), 156 PageManager.registerOverlay(ManagedUserLearnMoreOverlay.getInstance(),
156 CreateProfileOverlay.getInstance()); 157 CreateProfileOverlay.getInstance());
157 } 158 }
158 OptionsPage.registerOverlay(PasswordManager.getInstance(), 159 PageManager.registerOverlay(PasswordManager.getInstance(),
159 BrowserOptions.getInstance(), 160 BrowserOptions.getInstance(),
160 [$('manage-passwords')]); 161 [$('manage-passwords')]);
161 OptionsPage.registerOverlay(ResetProfileSettingsOverlay.getInstance(), 162 PageManager.registerOverlay(ResetProfileSettingsOverlay.getInstance(),
162 BrowserOptions.getInstance(), 163 BrowserOptions.getInstance(),
163 [$('reset-profile-settings')]); 164 [$('reset-profile-settings')]);
164 OptionsPage.registerOverlay(SearchEngineManager.getInstance(), 165 PageManager.registerOverlay(SearchEngineManager.getInstance(),
165 BrowserOptions.getInstance(), 166 BrowserOptions.getInstance(),
166 [$('manage-default-search-engines')]); 167 [$('manage-default-search-engines')]);
167 OptionsPage.registerOverlay(StartupOverlay.getInstance(), 168 PageManager.registerOverlay(StartupOverlay.getInstance(),
168 BrowserOptions.getInstance()); 169 BrowserOptions.getInstance());
169 OptionsPage.registerOverlay(SyncSetupOverlay.getInstance(), 170 PageManager.registerOverlay(SyncSetupOverlay.getInstance(),
170 BrowserOptions.getInstance(), 171 BrowserOptions.getInstance(),
171 [$('customize-sync')]); 172 [$('customize-sync')]);
172 if (cr.isChromeOS) { 173 if (cr.isChromeOS) {
173 OptionsPage.registerOverlay(AccountsOptions.getInstance(), 174 PageManager.registerOverlay(AccountsOptions.getInstance(),
174 BrowserOptions.getInstance(), 175 BrowserOptions.getInstance(),
175 [$('manage-accounts-button')]); 176 [$('manage-accounts-button')]);
176 OptionsPage.registerOverlay(BluetoothOptions.getInstance(), 177 PageManager.registerOverlay(BluetoothOptions.getInstance(),
177 BrowserOptions.getInstance(), 178 BrowserOptions.getInstance(),
178 [$('bluetooth-add-device')]); 179 [$('bluetooth-add-device')]);
179 OptionsPage.registerOverlay(BluetoothPairing.getInstance(), 180 PageManager.registerOverlay(BluetoothPairing.getInstance(),
180 BrowserOptions.getInstance()); 181 BrowserOptions.getInstance());
181 OptionsPage.registerOverlay(FactoryResetOverlay.getInstance(), 182 PageManager.registerOverlay(FactoryResetOverlay.getInstance(),
182 BrowserOptions.getInstance(), 183 BrowserOptions.getInstance(),
183 [$('factory-reset-restart')]); 184 [$('factory-reset-restart')]);
184 OptionsPage.registerOverlay(ChangePictureOptions.getInstance(), 185 PageManager.registerOverlay(ChangePictureOptions.getInstance(),
185 BrowserOptions.getInstance(), 186 BrowserOptions.getInstance(),
186 [$('account-picture')]); 187 [$('account-picture')]);
187 OptionsPage.registerOverlay(ConsumerManagementOverlay.getInstance(), 188 PageManager.registerOverlay(ConsumerManagementOverlay.getInstance(),
188 BrowserOptions.getInstance()); 189 BrowserOptions.getInstance());
189 OptionsPage.registerOverlay(DetailsInternetPage.getInstance(), 190 PageManager.registerOverlay(DetailsInternetPage.getInstance(),
190 BrowserOptions.getInstance()); 191 BrowserOptions.getInstance());
191 OptionsPage.registerOverlay(DisplayOptions.getInstance(), 192 PageManager.registerOverlay(DisplayOptions.getInstance(),
192 BrowserOptions.getInstance(), 193 BrowserOptions.getInstance(),
193 [$('display-options')]); 194 [$('display-options')]);
194 OptionsPage.registerOverlay(DisplayOverscan.getInstance(), 195 PageManager.registerOverlay(DisplayOverscan.getInstance(),
195 DisplayOptions.getInstance()); 196 DisplayOptions.getInstance());
196 OptionsPage.registerOverlay(KeyboardOverlay.getInstance(), 197 PageManager.registerOverlay(KeyboardOverlay.getInstance(),
197 BrowserOptions.getInstance(), 198 BrowserOptions.getInstance(),
198 [$('keyboard-settings-button')]); 199 [$('keyboard-settings-button')]);
199 OptionsPage.registerOverlay(PointerOverlay.getInstance(), 200 PageManager.registerOverlay(PointerOverlay.getInstance(),
200 BrowserOptions.getInstance(), 201 BrowserOptions.getInstance(),
201 [$('pointer-settings-button')]); 202 [$('pointer-settings-button')]);
202 OptionsPage.registerOverlay(PreferredNetworks.getInstance(), 203 PageManager.registerOverlay(PreferredNetworks.getInstance(),
203 BrowserOptions.getInstance()); 204 BrowserOptions.getInstance());
204 OptionsPage.registerOverlay(ThirdPartyImeConfirmOverlay.getInstance(), 205 PageManager.registerOverlay(ThirdPartyImeConfirmOverlay.getInstance(),
205 LanguageOptions.getInstance()); 206 LanguageOptions.getInstance());
206 } 207 }
207 208
208 if (!cr.isWindows && !cr.isMac) { 209 if (!cr.isWindows && !cr.isMac) {
209 OptionsPage.registerOverlay(CertificateBackupOverlay.getInstance(), 210 PageManager.registerOverlay(CertificateBackupOverlay.getInstance(),
210 CertificateManager.getInstance()); 211 CertificateManager.getInstance());
211 OptionsPage.registerOverlay(CertificateEditCaTrustOverlay.getInstance(), 212 PageManager.registerOverlay(CertificateEditCaTrustOverlay.getInstance(),
212 CertificateManager.getInstance()); 213 CertificateManager.getInstance());
213 OptionsPage.registerOverlay(CertificateImportErrorOverlay.getInstance(), 214 PageManager.registerOverlay(CertificateImportErrorOverlay.getInstance(),
214 CertificateManager.getInstance()); 215 CertificateManager.getInstance());
215 OptionsPage.registerOverlay(CertificateManager.getInstance(), 216 PageManager.registerOverlay(CertificateManager.getInstance(),
216 BrowserOptions.getInstance(), 217 BrowserOptions.getInstance(),
217 [$('certificatesManageButton')]); 218 [$('certificatesManageButton')]);
218 OptionsPage.registerOverlay(CertificateRestoreOverlay.getInstance(), 219 PageManager.registerOverlay(CertificateRestoreOverlay.getInstance(),
219 CertificateManager.getInstance()); 220 CertificateManager.getInstance());
220 } 221 }
221 222
222 cr.ui.FocusManager.disableMouseFocusOnButtons(); 223 cr.ui.FocusManager.disableMouseFocusOnButtons();
223 OptionsFocusManager.getInstance().initialize(); 224 OptionsFocusManager.getInstance().initialize();
224 Preferences.getInstance().initialize(); 225 Preferences.getInstance().initialize();
225 ResetProfileSettingsBanner.getInstance().initialize(); 226 ResetProfileSettingsBanner.getInstance().initialize();
226 AutomaticSettingsResetBanner.getInstance().initialize(); 227 AutomaticSettingsResetBanner.getInstance().initialize();
227 OptionsPage.initialize(); 228 OptionsPage.initialize();
228 229
229 var pageName = OptionsPage.getPageNameFromPath(); 230 var pageName = PageManager.getPageNameFromPath();
230 // Still update history so that chrome://settings/nonexistant redirects 231 // Still update history so that chrome://settings/nonexistant redirects
231 // appropriately to chrome://settings/. If the URL matches, updateHistory_ 232 // appropriately to chrome://settings/. If the URL matches, updateHistory_
232 // will avoid the extra replaceState. 233 // will avoid the extra replaceState.
233 OptionsPage.showPageByName(pageName, true, {replaceState: true}); 234 PageManager.showPageByName(pageName, true, {replaceState: true});
234 235
235 var subpagesNavTabs = document.querySelectorAll('.subpages-nav-tabs'); 236 var subpagesNavTabs = document.querySelectorAll('.subpages-nav-tabs');
236 for (var i = 0; i < subpagesNavTabs.length; i++) { 237 for (var i = 0; i < subpagesNavTabs.length; i++) {
237 subpagesNavTabs[i].onclick = function(event) { 238 subpagesNavTabs[i].onclick = function(event) {
238 OptionsPage.showTab(event.srcElement); 239 OptionsPage.showTab(event.srcElement);
239 }; 240 };
240 } 241 }
241 242
242 window.setTimeout(function() { 243 window.setTimeout(function() {
243 document.documentElement.classList.remove('loading'); 244 document.documentElement.classList.remove('loading');
244 chrome.send('onFinishedLoadingOptions'); 245 chrome.send('onFinishedLoadingOptions');
245 }); 246 });
246 } 247 }
247 248
248 document.documentElement.classList.add('loading'); 249 document.documentElement.classList.add('loading');
249 document.addEventListener('DOMContentLoaded', load); 250 document.addEventListener('DOMContentLoaded', load);
250 251
251 /** 252 /**
252 * Listener for the |beforeunload| event. 253 * Listener for the |beforeunload| event.
253 */ 254 */
254 window.onbeforeunload = function() { 255 window.onbeforeunload = function() {
255 options.OptionsPage.willClose(); 256 PageManager.willClose();
256 }; 257 };
257 258
258 /** 259 /**
259 * Listener for the |popstate| event. 260 * Listener for the |popstate| event.
260 * @param {Event} e The |popstate| event. 261 * @param {Event} e The |popstate| event.
261 */ 262 */
262 window.onpopstate = function(e) { 263 window.onpopstate = function(e) {
263 var pageName = options.OptionsPage.getPageNameFromPath(); 264 var pageName = PageManager.getPageNameFromPath();
264 options.OptionsPage.setState(pageName, e.state); 265 PageManager.setState(pageName, e.state);
265 }; 266 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698