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

Side by Side Diff: chrome/browser/ui/webui/extensions/extension_settings_browsertest.js

Issue 1090763003: Fix scroll regression when specifying an extension id. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Dan's Feedback Created 5 years, 8 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
« no previous file with comments | « chrome/browser/resources/extensions/extensions.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // TODO(dbeam): test for loading upacked extensions? 5 // TODO(dbeam): test for loading upacked extensions?
6 6
7 GEN('#include "chrome/browser/ui/webui/extensions/' + 7 GEN('#include "chrome/browser/ui/webui/extensions/' +
8 'extension_settings_browsertest.h"'); 8 'extension_settings_browsertest.h"');
9 9
10 // chrome/test/data/extensions/good.crx's extension ID. good.crx is loaded by 10 // chrome/test/data/extensions/good.crx's extension ID. good.crx is loaded by
(...skipping 11 matching lines...) Expand all
22 * TestFixture for extension settings WebUI testing. 22 * TestFixture for extension settings WebUI testing.
23 * @extends {testing.Test} 23 * @extends {testing.Test}
24 * @constructor 24 * @constructor
25 */ 25 */
26 function ExtensionSettingsWebUITest() {} 26 function ExtensionSettingsWebUITest() {}
27 27
28 ExtensionSettingsWebUITest.prototype = { 28 ExtensionSettingsWebUITest.prototype = {
29 __proto__: testing.Test.prototype, 29 __proto__: testing.Test.prototype,
30 30
31 /** @override */ 31 /** @override */
32 isAsync: true,
33
34 /** @override */
32 runAccessibilityChecks: true, 35 runAccessibilityChecks: true,
33 36
34 /** @override */ 37 /** @override */
35 accessibilityIssuesAreErrors: true, 38 accessibilityIssuesAreErrors: true,
36 39
37 /** 40 /**
38 * A URL to load before starting each test. 41 * A URL to load before starting each test.
39 * @type {string} 42 * @type {string}
40 * @const 43 * @const
41 */ 44 */
42 browsePreload: 'chrome://extensions-frame/', 45 browsePreload: 'chrome://extensions-frame/',
43 46
44 /** @override */ 47 /** @override */
45 typedefCppFixture: 'ExtensionSettingsUIBrowserTest', 48 typedefCppFixture: 'ExtensionSettingsUIBrowserTest',
49
50 /** @override */
51 setUp: function() {
52 // Make all transitions take 0ms for testing purposes.
53 var noTransitionStyle = document.createElement('style');
54 noTransitionStyle.textContent =
55 '* {' +
56 ' -webkit-transition-duration: 0ms !important;' +
57 ' -webkit-transition-delay: 0ms !important;' +
58 '}';
59 document.querySelector('head').appendChild(noTransitionStyle);
60 },
61
62 /**
63 * Holds an array of steps that should happen in order during a test.
64 * The last step should be |testDone|.
65 * @protected {Array<!Function>}
66 * */
67 steps: [],
68
69 /**
70 * Advances to the next step in the test. Every step should call this.
71 * @protected
72 * */
73 nextStep: function() {
74 assertTrue(this.steps.length > 0);
75 this.steps.shift().call(this);
76 },
77
78 /**
79 * Will wait for the page to load before calling the next step. This should be
80 * the first step in every test.
81 * @protected
82 * */
83 waitForPageLoad: function() {
84 assertEquals(this.browsePreload, document.location.href);
85 var extensionList = getRequiredElement('extension-settings-list');
86 extensionList.loadFinished.then(this.nextStep.bind(this));
87 },
88
89 /** @protected */
90 verifyDeveloperModeWorks: function() {
91 var extensionSettings = getRequiredElement('extension-settings');
92 assertFalse(extensionSettings.classList.contains('dev-mode'));
93 $('toggle-dev-on').click();
94 assertTrue(extensionSettings.classList.contains('dev-mode'));
95 chrome.developerPrivate.getProfileConfiguration(function(profileInfo) {
96 assertTrue(profileInfo.inDeveloperMode);
97
98 // A 0ms timeout is necessary so that all the transitions can finish.
99 window.setTimeout(this.nextStep.bind(this), 0);
100 }.bind(this));
101 },
102
103 /** @protected */
104 testDeveloperMode: function() {
105 var checkDevModeIsOff = function() {
106 chrome.developerPrivate.getProfileConfiguration(function(profileInfo) {
107 assertFalse(profileInfo.inDeveloperMode);
108 this.nextStep();
109 }.bind(this));
Dan Beam 2015/04/22 21:09:45 |this| inside of checkDevModeIsOff might differ fr
hcarmona 2015/04/22 21:21:51 Done.
110 };
111 this.steps = [this.waitForPageLoad,
112 checkDevModeIsOff,
113 this.verifyDeveloperModeWorks,
114 testDone];
115 this.nextStep();
116 }
46 }; 117 };
47 118
119 // Verify that developer mode doesn't change behavior when the number of
120 // extensions changes.
121 TEST_F('ExtensionSettingsWebUITest', 'testDeveloperModeNoExtensions',
122 function() {
123 this.testDeveloperMode();
124 });
125
126 TEST_F('ExtensionSettingsWebUITest', 'testEmptyExtensionList', function() {
127 var verifyListIsHiddenAndEmpty = function() {
128 assertTrue($('extension-list-wrapper').hidden);
129 assertFalse($('no-extensions').hidden);
130 assertEquals(0, $('extension-settings-list').childNodes.length);
131 this.nextStep();
132 };
133
134 this.steps = [this.waitForPageLoad, verifyListIsHiddenAndEmpty, testDone];
135 this.nextStep();
136 });
137
48 TEST_F('ExtensionSettingsWebUITest', 'testChromeSendHandled', function() { 138 TEST_F('ExtensionSettingsWebUITest', 'testChromeSendHandled', function() {
49 assertEquals(this.browsePreload, document.location.href); 139 var testPackExtenion = function() {
140 // This dialog should be hidden at first.
141 assertFalse($('pack-extension-overlay').classList.contains('showing'));
50 142
51 // This dialog should be hidden at first. 143 // Show the dialog, which triggers a chrome.send() for metrics purposes.
52 assertFalse($('pack-extension-overlay').classList.contains('showing')); 144 cr.dispatchSimpleEvent($('pack-extension'), 'click');
145 assertTrue($('pack-extension-overlay').classList.contains('showing'));
146 this.nextStep();
147 };
53 148
54 // Show the dialog, which triggers a chrome.send() for metrics purposes. 149 this.steps = [this.waitForPageLoad, testPackExtenion, testDone];
55 cr.dispatchSimpleEvent($('pack-extension'), 'click'); 150 this.nextStep();
56 assertTrue($('pack-extension-overlay').classList.contains('showing'));
57 }); 151 });
58 152
59 function BasicExtensionSettingsWebUITest() {} 153 function BasicExtensionSettingsWebUITest() {}
60 154
61 BasicExtensionSettingsWebUITest.prototype = { 155 BasicExtensionSettingsWebUITest.prototype = {
62 __proto__: ExtensionSettingsWebUITest.prototype, 156 __proto__: ExtensionSettingsWebUITest.prototype,
63 157
64 /** @override */ 158 /** @override */
65 isAsync: true,
66
67 /** @override */
68 testGenPreamble: function() { 159 testGenPreamble: function() {
69 // Install multiple types of extensions to ensure we handle each type. 160 // Install multiple types of extensions to ensure we handle each type.
70 // TODO(devlin): There are more types to add here. 161 // TODO(devlin): There are more types to add here.
71 GEN(' InstallGoodExtension();'); 162 GEN(' InstallGoodExtension();');
72 GEN(' InstallErrorsExtension();'); 163 GEN(' InstallErrorsExtension();');
73 GEN(' InstallSharedModule();'); 164 GEN(' InstallSharedModule();');
74 GEN(' InstallPackagedApp();'); 165 GEN(' InstallPackagedApp();');
75 166
76 GEN(' SetAutoConfirmUninstall();'); 167 GEN(' SetAutoConfirmUninstall();');
77 }, 168 },
78 169
79 /** @protected {Array<!Function>} */
80 steps: [],
81
82 /** @protected */
83 nextStep: function() {
84 assertTrue(this.steps.length > 0);
85 this.steps.shift().call(this);
86 },
87
88 /** @protected */
89 waitForPageLoad: function() {
90 var extensionList = getRequiredElement('extension-settings-list');
91 extensionList.extensionsUpdated_.then(this.nextStep.bind(this));
92 },
93
94 /** @protected */ 170 /** @protected */
95 verifyDisabledWorks: function() { 171 verifyDisabledWorks: function() {
96 chrome.management.setEnabled(GOOD_CRX_ID, false, function() { 172 chrome.management.setEnabled(GOOD_CRX_ID, false, function() {
97 var node = getRequiredElement(GOOD_CRX_ID); 173 var node = getRequiredElement(GOOD_CRX_ID);
98 assertTrue(node.classList.contains('inactive-extension')); 174 assertTrue(node.classList.contains('inactive-extension'));
99 this.nextStep(); 175 this.nextStep();
100 }.bind(this)); 176 }.bind(this));
101 }, 177 },
102 178
103 /** @protected */ 179 /** @protected */
104 verifyEnabledWorks: function() { 180 verifyEnabledWorks: function() {
105 chrome.management.setEnabled(GOOD_CRX_ID, true, function() { 181 chrome.management.setEnabled(GOOD_CRX_ID, true, function() {
106 var node = getRequiredElement(GOOD_CRX_ID); 182 var node = getRequiredElement(GOOD_CRX_ID);
107 assertFalse(node.classList.contains('inactive-extension')); 183 assertFalse(node.classList.contains('inactive-extension'));
108 this.nextStep(); 184 this.nextStep();
109 }.bind(this)); 185 }.bind(this));
110 }, 186 },
111 187
112 /** @protected */ 188 /** @protected */
113 verifyUninstallWorks: function() { 189 verifyUninstallWorks: function() {
114 var next = this.nextStep.bind(this);
115 chrome.test.runWithUserGesture(function() { 190 chrome.test.runWithUserGesture(function() {
116 chrome.management.uninstall(GOOD_CRX_ID, function() { 191 chrome.management.uninstall(GOOD_CRX_ID, function() {
117 assertEquals(null, $(GOOD_CRX_ID)); 192 assertEquals(null, $(GOOD_CRX_ID));
118 next(); 193 this.nextStep();
119 }); 194 }.bind(this));
120 });
121 },
122
123 /** @protected */
124 verifyDeveloperModeWorks: function() {
125 var extensionSettings = getRequiredElement('extension-settings');
126 assertFalse(extensionSettings.classList.contains('dev-mode'));
127 $('toggle-dev-on').click();
128 assertTrue(extensionSettings.classList.contains('dev-mode'));
129 chrome.developerPrivate.getProfileConfiguration(function(profileInfo) {
130 assertTrue(profileInfo.inDeveloperMode);
131 this.nextStep();
132 }.bind(this)); 195 }.bind(this));
Dan Beam 2015/04/22 21:09:45 var next = this.nextStep.bind(this); ... next();
hcarmona 2015/04/22 21:21:51 Done.
133 }, 196 },
134 }; 197 };
135 198
199 // Verify that developer mode doesn't change behavior when the number of
200 // extensions changes.
201 TEST_F('BasicExtensionSettingsWebUITest', 'testDeveloperModeManyExtensions',
202 function() {
203 this.testDeveloperMode();
204 });
205
206
136 TEST_F('BasicExtensionSettingsWebUITest', 'testDisable', function() { 207 TEST_F('BasicExtensionSettingsWebUITest', 'testDisable', function() {
137 this.steps = [this.waitForPageLoad, 208 this.steps = [this.waitForPageLoad, this.verifyDisabledWorks, testDone];
138 this.verifyDisabledWorks,
139 testDone];
140 this.nextStep(); 209 this.nextStep();
141 }); 210 });
142 211
143 TEST_F('BasicExtensionSettingsWebUITest', 'testEnable', function() { 212 TEST_F('BasicExtensionSettingsWebUITest', 'testEnable', function() {
144 this.steps = [this.waitForPageLoad, 213 this.steps = [this.waitForPageLoad,
145 this.verifyDisabledWorks, 214 this.verifyDisabledWorks,
146 this.verifyEnabledWorks, 215 this.verifyEnabledWorks,
147 testDone]; 216 testDone];
148 this.nextStep(); 217 this.nextStep();
149 }); 218 });
150 219
151 TEST_F('BasicExtensionSettingsWebUITest', 'testUninstall', function() { 220 TEST_F('BasicExtensionSettingsWebUITest', 'testUninstall', function() {
152 this.steps = [this.waitForPageLoad, 221 this.steps = [this.waitForPageLoad, this.verifyUninstallWorks, testDone];
153 this.verifyUninstallWorks,
154 testDone];
155 this.nextStep(); 222 this.nextStep();
156 }); 223 });
157 224
158 TEST_F('BasicExtensionSettingsWebUITest', 'testDeveloperMode', function() { 225 TEST_F('BasicExtensionSettingsWebUITest', 'testNonEmptyExtensionList',
159 var next = this.nextStep.bind(this); 226 function() {
160 var checkDevModeIsOff = function() { 227 var verifyListIsNotHiddenAndEmpty = function() {
161 chrome.developerPrivate.getProfileConfiguration(function(profileInfo) { 228 assertFalse($('extension-list-wrapper').hidden);
162 assertFalse(profileInfo.inDeveloperMode); 229 assertTrue($('no-extensions').hidden);
163 next(); 230 assertGT($('extension-settings-list').childNodes.length, 0);
164 }); 231
232 this.nextStep();
165 }; 233 };
166 this.steps = [checkDevModeIsOff, 234
167 this.waitForPageLoad, 235 this.steps = [this.waitForPageLoad, verifyListIsNotHiddenAndEmpty, testDone];
168 this.verifyDeveloperModeWorks,
169 testDone];
170 this.nextStep(); 236 this.nextStep();
171 }); 237 });
172 238
173 function AsyncExtensionSettingsWebUITest() {} 239 function AsyncExtensionSettingsWebUITest() {}
174 240
175 AsyncExtensionSettingsWebUITest.prototype = { 241 AsyncExtensionSettingsWebUITest.prototype = {
176 __proto__: ExtensionSettingsWebUITest.prototype, 242 __proto__: ExtensionSettingsWebUITest.prototype,
177 243
178 /** @override */ 244 /** @override */
179 isAsync: true,
180
181 /** @override */
182 testGenPreamble: function() { 245 testGenPreamble: function() {
183 GEN(' InstallGoodExtension();'); 246 GEN(' InstallGoodExtension();');
184 GEN(' InstallErrorsExtension();'); 247 GEN(' InstallErrorsExtension();');
185 }, 248 },
186
187 enableDeveloperMode: function(callback) {
188 var devControls = $('dev-controls');
189
190 // Make sure developer controls are hidden before checkbox is clicked.
191 assertEquals(0, devControls.offsetHeight);
192 $('toggle-dev-on').click();
193
194 document.addEventListener('webkitTransitionEnd', function f(e) {
195 if (e.target == devControls) {
196 // Make sure developer controls are not hidden after checkbox is
197 // clicked.
198 assertGT(devControls.offsetHeight, 0);
199
200 document.removeEventListener(f, 'webkitTransitionEnd');
201 callback();
202 }
203 });
204 ensureTransitionEndEvent(devControls, 4000);
205 },
206 }; 249 };
207 250
208 TEST_F('AsyncExtensionSettingsWebUITest', 'testDeveloperModeA11y', function() {
209 this.enableDeveloperMode(testDone);
210 });
211
212 // Often times out on all platforms: http://crbug.com/467528 251 // Often times out on all platforms: http://crbug.com/467528
213 TEST_F('AsyncExtensionSettingsWebUITest', 252 TEST_F('AsyncExtensionSettingsWebUITest',
214 'DISABLED_testErrorListButtonVisibility', 253 'DISABLED_testErrorListButtonVisibility',
215 function() { 254 function() {
216 this.enableDeveloperMode(function() { 255 var testButtonVisibility = function() {
217 // 2 extensions are loaded: 256 // 2 extensions are loaded:
218 // The 'good' extension will have 0 errors wich means no error list 257 // The 'good' extension will have 0 errors wich means no error list
219 // buttons. 258 // buttons.
220 // The 'bad' extension will have >3 manifest errors and <3 runtime errors. 259 // The 'bad' extension will have >3 manifest errors and <3 runtime errors.
221 // This means 2 buttons: 1 visible and 1 hidden. 260 // This means 2 buttons: 1 visible and 1 hidden.
222 var visibleButtons = document.querySelectorAll( 261 var visibleButtons = document.querySelectorAll(
223 '.extension-error-list-show-more > a:not([hidden])'); 262 '.extension-error-list-show-more > a:not([hidden])');
224 assertEquals(1, visibleButtons.length); 263 assertEquals(1, visibleButtons.length);
225 // Visible buttons must be part of the focusRow. 264 // Visible buttons must be part of the focusRow.
226 assertTrue(visibleButtons[0].hasAttribute('column-type')); 265 assertTrue(visibleButtons[0].hasAttribute('column-type'));
227 266
228 var hiddenButtons = document.querySelectorAll( 267 var hiddenButtons = document.querySelectorAll(
229 '.extension-error-list-show-more > a[hidden]'); 268 '.extension-error-list-show-more > a[hidden]');
230 assertEquals(1, hiddenButtons.length); 269 assertEquals(1, hiddenButtons.length);
231 // Hidden buttons must NOT be part of the focusRow. 270 // Hidden buttons must NOT be part of the focusRow.
232 assertFalse(hiddenButtons[0].hasAttribute('column-type')); 271 assertFalse(hiddenButtons[0].hasAttribute('column-type'));
233 272
234 testDone(); 273 this.nextStep();
235 }); 274 };
275
276 this.steps = [this.waitForPageLoad,
277 this.verifyDeveloperModeWorks,
278 testButtonVisibility,
279 testDone];
280 this.nextStep();
236 }); 281 });
237 282
238 /** 283 /**
239 * TestFixture for extension settings WebUI testing (commands config edition). 284 * TestFixture for extension settings WebUI testing (commands config edition).
240 * @extends {testing.Test} 285 * @extends {testing.Test}
241 * @constructor 286 * @constructor
242 */ 287 */
243 function ExtensionSettingsCommandsConfigWebUITest() {} 288 function SettingsCommandsExtensionSettingsWebUITest() {}
244 289
245 ExtensionSettingsCommandsConfigWebUITest.prototype = { 290 SettingsCommandsExtensionSettingsWebUITest.prototype = {
246 __proto__: testing.Test.prototype, 291 __proto__: ExtensionSettingsWebUITest.prototype,
247
248 /** @override */
249 runAccessibilityChecks: true,
250
251 /** @override */
252 accessibilityIssuesAreErrors: true,
253 292
254 /** 293 /**
255 * A URL to load before starting each test. 294 * A URL to load before starting each test.
256 * @type {string} 295 * @type {string}
257 * @const 296 * @const
258 */ 297 */
259 browsePreload: 'chrome://extensions-frame/configureCommands', 298 browsePreload: 'chrome://extensions-frame/configureCommands',
260 }; 299 };
261 300
262 TEST_F('ExtensionSettingsCommandsConfigWebUITest', 'testChromeSendHandler', 301 TEST_F('SettingsCommandsExtensionSettingsWebUITest', 'testChromeSendHandler',
263 function() { 302 function() {
264 // Just navigating to the page should trigger the chrome.send(). 303 // Just navigating to the page should trigger the chrome.send().
265 assertEquals(this.browsePreload, document.location.href); 304 var assertOverlayVisible = function() {
266 assertTrue($('extension-commands-overlay').classList.contains('showing')); 305 assertTrue($('extension-commands-overlay').classList.contains('showing'));
306 this.nextStep();
307 };
308
309 this.steps = [this.waitForPageLoad, assertOverlayVisible, testDone];
310 this.nextStep();
267 }); 311 });
268 312
269 /** 313 /**
270 * @constructor 314 * @constructor
271 * @extends {ExtensionSettingsWebUITest} 315 * @extends {ExtensionSettingsWebUITest}
272 */ 316 */
273 function InstalledExtensionSettingsWebUITest() {} 317 function InstallGoodExtensionSettingsWebUITest() {}
274 318
275 InstalledExtensionSettingsWebUITest.prototype = { 319 InstallGoodExtensionSettingsWebUITest.prototype = {
276 __proto__: ExtensionSettingsWebUITest.prototype, 320 __proto__: ExtensionSettingsWebUITest.prototype,
277 321
278 /** @override */ 322 /** @override */
279 typedefCppFixture: 'ExtensionSettingsUIBrowserTest',
280
281 /** @override */
282 testGenPreamble: function() { 323 testGenPreamble: function() {
283 GEN(' InstallGoodExtension();'); 324 GEN(' InstallGoodExtension();');
284 }, 325 },
326
327 emptyTestForAccessibility() {
328 this.steps = [this.waitForPageLoad, testDone];
329 this.nextStep();
330 },
285 }; 331 };
286 332
287 /** @this {InstalledExtensionSettingsWebUITest} */ 333 TEST_F('InstallGoodExtensionSettingsWebUITest', 'testAccessibility',
288 function runAudit() { 334 function() {
289 assertEquals(this.browsePreload, document.location.href); 335 this.emptyTestForAccessibility();
290 this.runAccessibilityAudit(); 336 });
291 }
292 337
293 TEST_F('InstalledExtensionSettingsWebUITest', 'baseAccessibilityOk', runAudit); 338 TEST_F('InstallGoodExtensionSettingsWebUITest', 'showOptions', function() {
339 var showExtensionOptions = function() {
340 var optionsOverlay = extensions.ExtensionOptionsOverlay.getInstance();
341 optionsOverlay.setExtensionAndShowOverlay(GOOD_CRX_ID, 'GOOD!', '',
342 this.nextStep.bind(this));
294 343
295 /** 344 // Preferred size changes don't happen in browser tests. Just fake it.
296 * @constructor 345 document.querySelector('extensionoptions').onpreferredsizechanged(
297 * @extends {InstalledExtensionSettingsWebUITest} 346 {width: 500, height: 500});
298 */ 347 };
299 function AsyncInstalledExtensionSettingsWebUITest() {}
300 348
301 AsyncInstalledExtensionSettingsWebUITest.prototype = { 349 this.steps = [this.waitForPageLoad, showExtensionOptions, testDone];
302 __proto__: InstalledExtensionSettingsWebUITest.prototype, 350 this.nextStep();
303
304 /** @override */
305 isAsync: true,
306 };
307
308 TEST_F('AsyncInstalledExtensionSettingsWebUITest', 'showOptions', function() {
309 var optionsOverlay = extensions.ExtensionOptionsOverlay.getInstance();
310 optionsOverlay.setExtensionAndShowOverlay(GOOD_CRX_ID, 'GOOD!', '', testDone);
311
312 // Preferred size changes don't happen in browser tests. Just fake it.
313 var size = {width: 500, height: 500};
314 document.querySelector('extensionoptions').onpreferredsizechanged(size);
315 }); 351 });
316 352
317 /** 353 /**
318 * @constructor 354 * @constructor
319 * @extends {InstalledExtensionSettingsWebUITest} 355 * @extends {InstallGoodExtensionSettingsWebUITest}
320 */ 356 */
321 function ManagedExtensionSettingsWebUITest() {} 357 function ManagedExtensionSettingsWebUITest() {}
322 358
323 ManagedExtensionSettingsWebUITest.prototype = { 359 ManagedExtensionSettingsWebUITest.prototype = {
324 __proto__: InstalledExtensionSettingsWebUITest.prototype, 360 __proto__: InstallGoodExtensionSettingsWebUITest.prototype,
325 361
326 /** @override */ 362 /** @override */
327 testGenPreamble: function() { 363 testGenPreamble: function() {
328 GEN(' AddManagedPolicyProvider();'); 364 GEN(' AddManagedPolicyProvider();');
329 InstalledExtensionSettingsWebUITest.prototype.testGenPreamble.call(this); 365 InstallGoodExtensionSettingsWebUITest.prototype.testGenPreamble.call(this);
330 }, 366 },
331 }; 367 };
332 368
333 TEST_F('ManagedExtensionSettingsWebUITest', 'testAccessibility', runAudit); 369 TEST_F('ManagedExtensionSettingsWebUITest', 'testAccessibility', function() {
370 this.emptyTestForAccessibility();
371 });
334 372
335 /** 373 /**
336 * @constructor 374 * @constructor
337 * @extends {InstalledExtensionSettingsWebUITest} 375 * @extends {InstallGoodExtensionSettingsWebUITest}
338 */ 376 */
339 function ExtensionOptionsDialogWebUITest() {} 377 function OptionsDialogExtensionSettingsWebUITest() {}
340 378
341 ExtensionOptionsDialogWebUITest.prototype = { 379 OptionsDialogExtensionSettingsWebUITest.prototype = {
342 __proto__: InstalledExtensionSettingsWebUITest.prototype, 380 __proto__: InstallGoodExtensionSettingsWebUITest.prototype,
343 381
344 /** @override */ 382 /** @override */
345 browsePreload: ExtensionSettingsWebUITest.prototype.browsePreload + 383 browsePreload: ExtensionSettingsWebUITest.prototype.browsePreload +
346 '?options=' + GOOD_CRX_ID, 384 '?options=' + GOOD_CRX_ID,
347 }; 385 };
348 386
349 TEST_F('ExtensionOptionsDialogWebUITest', 'testAccessibility', runAudit); 387 TEST_F('OptionsDialogExtensionSettingsWebUITest', 'testAccessibility',
388 function() {
389 this.emptyTestForAccessibility();
390 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/extensions/extensions.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698