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

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

Issue 9814030: get rid of old options pages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more fixes Created 8 years, 9 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
(Empty)
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
3 // found in the LICENSE file.
4
5 var AddLanguageOverlay = options.AddLanguageOverlay;
6 var AdvancedOptions = options.AdvancedOptions;
7 var AlertOverlay = options.AlertOverlay;
8 var AutofillEditAddressOverlay = options.AutofillEditAddressOverlay;
9 var AutofillEditCreditCardOverlay = options.AutofillEditCreditCardOverlay;
10 var AutofillOptions = options.AutofillOptions;
11 var BrowserOptions = options.BrowserOptions;
12 var ClearBrowserDataOverlay = options.ClearBrowserDataOverlay;
13 var ContentSettings = options.ContentSettings;
14 var ContentSettingsExceptionsArea =
15 options.contentSettings.ContentSettingsExceptionsArea;
16 var CookiesView = options.CookiesView;
17 var ExtensionSettings = options.ExtensionSettings;
18 var FontSettings = options.FontSettings;
19 var HandlerOptions = options.HandlerOptions;
20 var ImportDataOverlay = options.ImportDataOverlay;
21 var InstantConfirmOverlay = options.InstantConfirmOverlay;
22 var LanguageOptions = options.LanguageOptions;
23 var OptionsPage = options.OptionsPage;
24 var PackExtensionOverlay = options.PackExtensionOverlay;
25 var PasswordManager = options.PasswordManager;
26 var PersonalOptions = options.PersonalOptions;
27 var Preferences = options.Preferences;
28 var ManageProfileOverlay = options.ManageProfileOverlay;
29 var ProxyOptions = options.ProxyOptions;
30 var SearchEngineManager = options.SearchEngineManager;
31 var SearchPage = options.SearchPage;
32 var SyncSetupOverlay = options.SyncSetupOverlay;
33 var VirtualKeyboardManager = options.VirtualKeyboardManager;
34
35 /**
36 * DOMContentLoaded handler, sets up the page.
37 */
38 function load() {
39 // Decorate the existing elements in the document.
40 cr.ui.decorate('input[pref][type=checkbox]', options.PrefCheckbox);
41 cr.ui.decorate('input[pref][type=number]', options.PrefNumber);
42 cr.ui.decorate('input[pref][type=radio]', options.PrefRadio);
43 cr.ui.decorate('input[pref][type=range]', options.PrefRange);
44 cr.ui.decorate('select[pref]', options.PrefSelect);
45 cr.ui.decorate('input[pref][type=text]', options.PrefTextField);
46 cr.ui.decorate('input[pref][type=url]', options.PrefTextField);
47 cr.ui.decorate('button[pref]', options.PrefButton);
48 cr.ui.decorate('#content-settings-page input[type=radio]:not(.handler-radio)',
49 options.ContentSettingsRadio);
50 cr.ui.decorate('#content-settings-page input[type=radio].handler-radio',
51 options.HandlersEnabledRadio);
52 cr.ui.decorate('span.controlled-setting-indicator',
53 options.ControlledSettingIndicator);
54
55 var menuOffPattern = /(^\?|&)menu=off($|&)/;
56 var menuDisabled = menuOffPattern.test(window.location.search);
57 // document.documentElement.setAttribute('hide-menu', menuDisabled);
58 // We can't use an attribute on the html element because of webkit bug
59 // 12519. Instead, we add a class.
60 if (menuDisabled)
61 document.documentElement.classList.add('hide-menu');
62
63 localStrings = new LocalStrings();
64
65 OptionsPage.register(SearchPage.getInstance());
66
67 OptionsPage.register(BrowserOptions.getInstance());
68 OptionsPage.registerSubPage(SearchEngineManager.getInstance(),
69 BrowserOptions.getInstance(),
70 [$('defaultSearchManageEnginesButton')]);
71 OptionsPage.register(PersonalOptions.getInstance());
72 OptionsPage.registerSubPage(AutofillOptions.getInstance(),
73 PersonalOptions.getInstance(),
74 [$('autofill-settings')]);
75 OptionsPage.registerSubPage(PasswordManager.getInstance(),
76 PersonalOptions.getInstance(),
77 [$('manage-passwords')]);
78 if (cr.isChromeOS) {
79 OptionsPage.register(SystemOptions.getInstance());
80 OptionsPage.registerSubPage(AboutPage.getInstance(),
81 SystemOptions.getInstance());
82 OptionsPage.registerSubPage(LanguageOptions.getInstance(),
83 SystemOptions.getInstance(),
84 [$('language-button')]);
85 OptionsPage.registerSubPage(
86 new OptionsPage('languageChewing',
87 templateData.languageChewingPageTabTitle,
88 'languageChewingPage'),
89 LanguageOptions.getInstance());
90 OptionsPage.registerSubPage(
91 new OptionsPage('languageHangul',
92 templateData.languageHangulPageTabTitle,
93 'languageHangulPage'),
94 LanguageOptions.getInstance());
95 OptionsPage.registerSubPage(
96 new OptionsPage('languageMozc',
97 templateData.languageMozcPageTabTitle,
98 'languageMozcPage'),
99 LanguageOptions.getInstance());
100 OptionsPage.registerSubPage(
101 new OptionsPage('languagePinyin',
102 templateData.languagePinyinPageTabTitle,
103 'languagePinyinPage'),
104 LanguageOptions.getInstance());
105 // Only use the VirtualKeyboardManager if the keyboard DOM elements (which
106 // it will assume exists) are present (i.e. if we were built with
107 // USE_VIRTUAL_KEYBOARD).
108 if ($('language-options-virtual-keyboard')) {
109 OptionsPage.registerSubPage(VirtualKeyboardManager.getInstance(),
110 LanguageOptions.getInstance());
111 }
112 OptionsPage.register(InternetOptions.getInstance());
113 }
114 OptionsPage.register(AdvancedOptions.getInstance());
115 OptionsPage.registerSubPage(ContentSettings.getInstance(),
116 AdvancedOptions.getInstance(),
117 [$('privacyContentSettingsButton')]);
118 OptionsPage.registerSubPage(ContentSettingsExceptionsArea.getInstance(),
119 ContentSettings.getInstance());
120 OptionsPage.registerSubPage(CookiesView.getInstance(),
121 ContentSettings.getInstance(),
122 [$('privacyContentSettingsButton'),
123 $('show-cookies-button')]);
124 // If HandlerOptions is null it means it got compiled out.
125 if (HandlerOptions) {
126 OptionsPage.registerSubPage(HandlerOptions.getInstance(),
127 ContentSettings.getInstance(),
128 [$('manage-handlers-button')]);
129 }
130 OptionsPage.registerSubPage(FontSettings.getInstance(),
131 AdvancedOptions.getInstance(),
132 [$('fontSettingsCustomizeFontsButton')]);
133 if (!cr.isChromeOS) {
134 OptionsPage.registerSubPage(LanguageOptions.getInstance(),
135 AdvancedOptions.getInstance(),
136 [$('language-button')]);
137 }
138 if (!cr.isWindows && !cr.isMac) {
139 OptionsPage.registerSubPage(CertificateManager.getInstance(),
140 AdvancedOptions.getInstance(),
141 [$('certificatesManageButton')]);
142 OptionsPage.registerOverlay(CertificateRestoreOverlay.getInstance(),
143 CertificateManager.getInstance());
144 OptionsPage.registerOverlay(CertificateBackupOverlay.getInstance(),
145 CertificateManager.getInstance());
146 OptionsPage.registerOverlay(CertificateEditCaTrustOverlay.getInstance(),
147 CertificateManager.getInstance());
148 OptionsPage.registerOverlay(CertificateImportErrorOverlay.getInstance(),
149 CertificateManager.getInstance());
150 }
151 OptionsPage.registerOverlay(AddLanguageOverlay.getInstance(),
152 LanguageOptions.getInstance());
153 OptionsPage.registerOverlay(AlertOverlay.getInstance());
154 OptionsPage.registerOverlay(AutofillEditAddressOverlay.getInstance(),
155 AutofillOptions.getInstance());
156 OptionsPage.registerOverlay(AutofillEditCreditCardOverlay.getInstance(),
157 AutofillOptions.getInstance());
158 OptionsPage.registerOverlay(ClearBrowserDataOverlay.getInstance(),
159 AdvancedOptions.getInstance(),
160 [$('privacyClearDataButton')]);
161 OptionsPage.registerOverlay(ImportDataOverlay.getInstance(),
162 PersonalOptions.getInstance());
163 OptionsPage.registerOverlay(InstantConfirmOverlay.getInstance(),
164 BrowserOptions.getInstance());
165 OptionsPage.registerOverlay(SyncSetupOverlay.getInstance(),
166 PersonalOptions.getInstance());
167 OptionsPage.registerOverlay(ManageProfileOverlay.getInstance(),
168 PersonalOptions.getInstance());
169 OptionsPage.register(ExtensionSettings.getInstance());
170 OptionsPage.registerOverlay(PackExtensionOverlay.getInstance(),
171 ExtensionSettings.getInstance());
172
173 if (cr.isChromeOS) {
174 OptionsPage.register(AccountsOptions.getInstance());
175 OptionsPage.registerSubPage(ProxyOptions.getInstance(),
176 InternetOptions.getInstance());
177 OptionsPage.registerSubPage(ChangePictureOptions.getInstance(),
178 PersonalOptions.getInstance(),
179 [$('change-picture-button')]);
180 OptionsPage.registerOverlay(DetailsInternetPage.getInstance(),
181 InternetOptions.getInstance());
182
183 var languageModifierKeysOverlay = new OptionsPage(
184 'languageCustomizeModifierKeysOverlay',
185 localStrings.getString('languageCustomizeModifierKeysOverlay'),
186 'languageCustomizeModifierKeysOverlay')
187 $('languageCustomizeModifierKeysOverleyDismissButton').onclick =
188 function() {
189 OptionsPage.closeOverlay();
190 };
191 OptionsPage.registerOverlay(languageModifierKeysOverlay,
192 SystemOptions.getInstance(),
193 [$('modifier-keys-button')]);
194 OptionsPage.registerOverlay(BluetoothOptions.getInstance(),
195 SystemOptions.getInstance(),
196 [$('bluetooth-add-device')]);
197 OptionsPage.registerOverlay(BluetoothPairing.getInstance(),
198 SystemOptions.getInstance());
199 }
200
201 Preferences.getInstance().initialize();
202 OptionsPage.initialize();
203
204 var path = document.location.pathname;
205
206 if (path.length > 1) {
207 // Skip starting slash and remove trailing slash (if any).
208 var pageName = path.slice(1).replace(/\/$/, '');
209 // Proxy page is now per network and only reachable from internet details.
210 if (pageName != 'proxy') {
211 // Show page, but don't update history (there's already an entry for it).
212 OptionsPage.showPageByName(pageName, false);
213 }
214 } else {
215 OptionsPage.showDefaultPage();
216 }
217
218 var subpagesNavTabs = document.querySelectorAll('.subpages-nav-tabs');
219 for(var i = 0; i < subpagesNavTabs.length; i++) {
220 subpagesNavTabs[i].onclick = function(event) {
221 OptionsPage.showTab(event.srcElement);
222 }
223 }
224
225 // Allow platform specific CSS rules.
226 cr.enablePlatformSpecificCSSRules();
227
228 if (navigator.plugins['Shockwave Flash'])
229 document.documentElement.setAttribute('hasFlashPlugin', '');
230
231 // Clicking on the Settings title brings up the 'Basics' page.
232 $('navbar-content-title').onclick = function() {
233 OptionsPage.navigateToPage(BrowserOptions.getInstance().name);
234 };
235 }
236
237 document.addEventListener('DOMContentLoaded', load);
238
239 window.onpopstate = function(e) {
240 options.OptionsPage.setState(e.state);
241 };
242
243 window.onbeforeunload = function() {
244 options.OptionsPage.willClose();
245 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698