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

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

Powered by Google App Engine
This is Rietveld 408576698