Bug 1604100 [wpt PR 20784] - HtmlImportsRequestInitiatorLock: Check imports controlle...
[gecko.git] / .eslintrc.js
bloba4adccabbb0b1afd3f416075b4cd0b09b6c3c183
1 "use strict";
3 const xpcshellTestConfig = require("eslint-plugin-mozilla/lib/configs/xpcshell-test.js");
4 const browserTestConfig = require("eslint-plugin-mozilla/lib/configs/browser-test.js");
5 const mochitestTestConfig = require("eslint-plugin-mozilla/lib/configs/mochitest-test.js");
6 const chromeTestConfig = require("eslint-plugin-mozilla/lib/configs/chrome-test.js");
8 /**
9  * Some configurations have overrides, which can't be specified within overrides,
10  * so we need to remove them.
11  */
12 function removeOverrides(config) {
13   config = {...config};
14   delete config.overrides;
15   return config;
18 const xpcshellTestPaths = [
19   "**/test*/unit*/",
20   "**/test*/xpcshell/",
23 const browserTestPaths = [
24   "**/test*/**/browser/",
27 const mochitestTestPaths = [
28   "**/test*/mochitest/",
31 const chromeTestPaths = [
32   "**/test*/chrome/",
35 module.exports = {
36   // New rules and configurations should generally be added in
37   // tools/lint/eslint/eslint-plugin-mozilla/lib/configs/recommended.js to
38   // allow external repositories that use the plugin to pick them up as well.
39   "extends": [
40     "plugin:mozilla/recommended"
41   ],
42   "plugins": [
43     "mozilla"
44   ],
45   "overrides": [{
46     "files": [
47       "*.html",
48       "*.xhtml",
49       "*.xul",
50       "*.xml",
51       "js/src/builtin/**/*.js",
52       "js/src/shell/**/*.js"
53     ],
54     "rules": {
55       // Curly brackets are required for all the tree via recommended.js,
56       // however these files aren't auto-fixable at the moment.
57       "curly": "off"
58     },
59   }, {
60     // TODO: Bug 1515949. Enable no-undef for gfx/
61     "files": "gfx/layers/apz/test/mochitest/**",
62     "rules": {
63       "no-undef": "off",
64     }
65   }, {
66     ...removeOverrides(xpcshellTestConfig),
67     "files": xpcshellTestPaths.map(path => `${path}**`),
68     "excludedFiles": "devtools/**"
69   }, {
70     // If it is an xpcshell head file, we turn off global unused variable checks, as it
71     // would require searching the other test files to know if they are used or not.
72     // This would be expensive and slow, and it isn't worth it for head files.
73     // We could get developers to declare as exported, but that doesn't seem worth it.
74     "files": xpcshellTestPaths.map(path => `${path}head*.js`),
75     "rules": {
76       "no-unused-vars": ["error", {
77         "args": "none",
78         "vars": "local",
79       }],
80     },
81   }, {
82     ...browserTestConfig,
83     "files": browserTestPaths.map(path => `${path}**`),
84     "excludedFiles": "devtools/**"
85   }, {
86     ...removeOverrides(mochitestTestConfig),
87     "files": mochitestTestPaths.map(path => `${path}**`),
88     "excludedFiles": [
89       "devtools/**",
90       "security/manager/ssl/tests/mochitest/browser/**",
91       "testing/mochitest/**",
92     ],
93   }, {
94     ...removeOverrides(chromeTestConfig),
95     "files": chromeTestPaths.map(path => `${path}**`),
96     "excludedFiles": [
97       "devtools/**",
98     ],
99   }, {
100     "env": {
101       // Ideally we wouldn't be using the simpletest env here, but our uses of
102       // js files mean we pick up everything from the global scope, which could
103       // be any one of a number of html files. So we just allow the basics...
104       "mozilla/simpletest": true,
105     },
106     "files": [
107       ...mochitestTestPaths.map(path => `${path}/**/*.js`),
108       ...chromeTestPaths.map(path => `${path}/**/*.js`),
109     ],
110   }, {
111     "files": [
112       "netwerk/cookie/test/browser/**",
113       "netwerk/test/browser/**",
114       "netwerk/test/mochitests/**",
115       "netwerk/test/unit*/**",
116     ],
117     "rules": {
118       "mozilla/consistent-if-bracing": "off",
119       "mozilla/reject-importGlobalProperties": "off",
120       "mozilla/no-arbitrary-setTimeout": "off",
121       "mozilla/no-define-cc-etc": "off",
122       "mozilla/use-default-preference-values": "off",
123       "mozilla/use-services": "off",
124       "consistent-return": "off",
125       "no-array-constructor": "off",
126       "no-eval": "off",
127       "no-global-assign": "off",
128       "no-nested-ternary": "off",
129       "no-new-wrappers": "off",
130       "no-redeclare": "off",
131       "no-return-await": "off",
132       "no-sequences": "off",
133       "no-shadow": "off",
134       "no-throw-literal": "off",
135       "no-undef": "off",
136       "no-unreachable": "off",
137       "no-unused-vars": "off",
138       "no-useless-return": "off",
139     }
140   }, {
141     "files": [
142       "layout/**",
143     ],
144     "rules": {
145       "object-shorthand": "off",
146       "mozilla/avoid-removeChild": "off",
147       "mozilla/consistent-if-bracing": "off",
148       "mozilla/reject-importGlobalProperties": "off",
149       "mozilla/no-arbitrary-setTimeout": "off",
150       "mozilla/no-define-cc-etc": "off",
151       "mozilla/no-useless-parameters": "off",
152       "mozilla/no-useless-removeEventListener": "off",
153       "mozilla/use-chromeutils-generateqi": "off",
154       "mozilla/use-default-preference-values": "off",
155       "mozilla/use-includes-instead-of-indexOf": "off",
156       "mozilla/use-services": "off",
157       "mozilla/use-ownerGlobal": "off",
158       "complexity": "off",
159       "consistent-return": "off",
160       "no-array-constructor": "off",
161       "no-caller": "off",
162       "no-cond-assign": "off",
163       "no-extra-boolean-cast": "off",
164       "no-eval": "off",
165       "no-func-assign": "off",
166       "no-global-assign": "off",
167       "no-implied-eval": "off",
168       "no-lonely-if": "off",
169       "no-nested-ternary": "off",
170       "no-new-wrappers": "off",
171       "no-redeclare": "off",
172       "no-restricted-globals": "off",
173       "no-return-await": "off",
174       "no-sequences": "off",
175       "no-shadow": "off",
176       "no-throw-literal": "off",
177       "no-useless-concat": "off",
178       "no-undef": "off",
179       "no-unreachable": "off",
180       "no-unsanitized/method": "off",
181       "no-unsanitized/property": "off",
182       "no-unsafe-negation": "off",
183       "no-unused-vars": "off",
184       "no-useless-return": "off",
185     }
186   }, {
187     "files": [
188       "dom/animation/**",
189       "dom/base/test/*.*",
190       "dom/base/test/unit/test_serializers_entities*.js",
191       "dom/base/test/unit_ipc/**",
192       "dom/base/test/jsmodules/**",
193       "dom/base/*.*",
194       "dom/canvas/**",
195       "dom/encoding/**",
196       "dom/events/**",
197       "dom/fetch/**",
198       "dom/file/**",
199       "dom/html/**",
200       "dom/jsurl/**",
201       "dom/media/tests/**",
202       "dom/media/webaudio/**",
203       "dom/media/webspeech/**",
204       "dom/messagechannel/**",
205       "dom/midi/**",
206       "dom/network/**",
207       "dom/payments/**",
208       "dom/performance/**",
209       "dom/permission/**",
210       "dom/quota/**",
211       "dom/security/test/cors/**",
212       "dom/security/test/csp/**",
213       "dom/security/test/general/**",
214       "dom/security/test/mixedcontentblocker/**",
215       "dom/security/test/sri/**",
216       "dom/serviceworkers/**",
217       "dom/smil/**",
218       "dom/tests/mochitest/**",
219       "dom/u2f/**",
220       "dom/vr/**",
221       "dom/webauthn/**",
222       "dom/webgpu/**",
223       "dom/websocket/**",
224       "dom/workers/**",
225       "dom/worklet/**",
226       "dom/xml/**",
227       "dom/xslt/**",
228       "dom/xul/**",
229       "dom/ipc/test.xhtml",
230     ],
231     "rules": {
232       "consistent-return": "off",
233       "mozilla/avoid-removeChild": "off",
234       "mozilla/consistent-if-bracing": "off",
235       "mozilla/no-arbitrary-setTimeout": "off",
236       "mozilla/no-compare-against-boolean-literals": "off",
237       "mozilla/no-define-cc-etc": "off",
238       "mozilla/reject-importGlobalProperties": "off",
239       "mozilla/use-cc-etc": "off",
240       "mozilla/use-chromeutils-generateqi": "off",
241       "mozilla/use-chromeutils-import": "off",
242       "mozilla/use-includes-instead-of-indexOf": "off",
243       "mozilla/use-ownerGlobal": "off",
244       "mozilla/use-services": "off",
245       "no-array-constructor": "off",
246       "no-caller": "off",
247       "no-cond-assign": "off",
248       "no-control-regex": "off",
249       "no-debugger": "off",
250       "no-else-return": "off",
251       "no-empty": "off",
252       "no-eval": "off",
253       "no-func-assign": "off",
254       "no-global-assign": "off",
255       "no-implied-eval": "off",
256       "no-lone-blocks": "off",
257       "no-lonely-if": "off",
258       "no-nested-ternary": "off",
259       "no-new-object": "off",
260       "no-new-wrappers": "off",
261       "no-octal": "off",
262       "no-redeclare": "off",
263       "no-return-await": "off",
264       "no-restricted-globals": "off",
265       "no-self-assign": "off",
266       "no-self-compare": "off",
267       "no-sequences": "off",
268       "no-shadow": "off",
269       "no-shadow-restricted-names": "off",
270       "no-sparse-arrays": "off",
271       "no-throw-literal": "off",
272       "no-unreachable": "off",
273       "no-unsanitized/method": "off",
274       "no-unsanitized/property": "off",
275       "no-undef": "off",
276       "no-unused-vars": "off",
277       "no-useless-call": "off",
278       "no-useless-concat": "off",
279       "no-useless-return": "off",
280       "no-with": "off",
281     }
282   }, {
283     "files": [
284       "dom/l10n/tests/mochitest/document_l10n/non-system-principal/test.html",
285       "dom/payments/test/test_basiccard.html",
286       "dom/payments/test/test_bug1478740.html",
287       "dom/payments/test/test_canMakePayment.html",
288       "dom/payments/test/test_closePayment.html",
289       "dom/payments/test/test_showPayment.html",
290       "dom/tests/browser/browser_persist_cookies.js",
291       "dom/tests/browser/browser_persist_mixed_content_image.js",
292       "netwerk/test/unit/test_http2-proxy.js",
293     ],
294     "rules": {
295       "no-async-promise-executor": "off",
296     }
297   }, {
298     "files": [
299       "browser/base/content/test/chrome/test_aboutCrashed.xhtml",
300       "browser/base/content/test/chrome/test_aboutRestartRequired.xhtml",
301       "browser/base/content/test/general/browser_tab_dragdrop2_frame1.xhtml",
302       "browser/components/places/tests/chrome/test_0_bug510634.xhtml",
303       "browser/components/places/tests/chrome/test_bug1163447_selectItems_through_shortcut.xhtml",
304       "browser/components/places/tests/chrome/test_0_bug510634.xhtml",
305       "browser/components/places/tests/chrome/test_bug1163447_selectItems_through_shortcut.xhtml",
306       "browser/components/places/tests/chrome/test_bug549192.xhtml",
307       "browser/components/places/tests/chrome/test_bug549491.xhtml",
308       "browser/components/places/tests/chrome/test_selectItems_on_nested_tree.xhtml",
309       "browser/components/places/tests/chrome/test_treeview_date.xhtml",
310     ],
311     "rules": {
312       "mozilla/no-arbitrary-setTimeout": "off",
313       "object-shorthand": "off",
314       "no-undef": "off",
315       "no-unused-vars": "off",
316     }
317   }, {
318     "files": [
319       "accessible/tests/mochitest/actions/test_keys_menu.xhtml",
320       "accessible/tests/mochitest/elm/test_listbox.xhtml",
321       "accessible/tests/mochitest/events/test_focus_autocomplete.xhtml",
322       "accessible/tests/mochitest/events/test_focus_contextmenu.xhtml",
323       "accessible/tests/mochitest/events/test_tree.xhtml",
324       "accessible/tests/mochitest/hittest/test_zoom_tree.xhtml",
325       "accessible/tests/mochitest/name/test_general.xhtml",
326       "accessible/tests/mochitest/name/test_tree.xhtml",
327       "accessible/tests/mochitest/selectable/test_listbox.xhtml",
328       "accessible/tests/mochitest/states/test_expandable.xhtml",
329       "accessible/tests/mochitest/tree/test_button.xhtml",
330       "accessible/tests/mochitest/tree/test_tree.xhtml",
331       "accessible/tests/mochitest/treeupdate/test_contextmenu.xhtml",
332       "accessible/tests/mochitest/treeupdate/test_menu.xhtml",
333     ],
334     "rules": {
335       "object-shorthand": "off",
336       "mozilla/no-compare-against-boolean-literals": "off",
337       "mozilla/use-cc-etc": "off",
338       "consistent-return": "off",
339       "no-redeclare": "off",
340       "no-sequences": "off",
341       "no-shadow": "off",
342       "no-unused-vars": "off",
343       "no-useless-call": "off",
344     }
345   }, {
346     "files": [
347       "testing/mochitest/browser-harness.xhtml",
348       "testing/mochitest/chrome/test_chromeGetTestFile.xhtml",
349       "testing/mochitest/chrome/test_sanityEventUtils.xhtml",
350       "testing/mochitest/chrome/test_sanityException.xhtml",
351       "testing/mochitest/chrome/test_sanityException2.xhtml",
352       "testing/mochitest/harness.xhtml",
353     ],
354     "rules": {
355       "dot-notation": "off",
356       "object-shorthand": "off",
357       "mozilla/use-services": "off",
358       "mozilla/no-compare-against-boolean-literals": "off",
359       "mozilla/no-useless-parameters": "off",
360       "mozilla/no-useless-removeEventListener": "off",
361       "mozilla/use-cc-etc": "off",
362       "consistent-return": "off",
363       "no-fallthrough": "off",
364       "no-nested-ternary": "off",
365       "no-redeclare": "off",
366       "no-sequences": "off",
367       "no-shadow": "off",
368       "no-throw-literal": "off",
369       "no-undef": "off",
370       "no-unsanitized/property": "off",
371       "no-unused-vars": "off",
372       "no-useless-call": "off",
373     }
374   }, {
375     "files": [
376       "docshell/test/chrome/bug113934_window.xhtml",
377       "docshell/test/chrome/bug215405_window.xhtml",
378       "docshell/test/chrome/bug293235_window.xhtml",
379       "docshell/test/chrome/bug294258_window.xhtml",
380       "docshell/test/chrome/bug298622_window.xhtml",
381       "docshell/test/chrome/bug301397_window.xhtml",
382       "docshell/test/chrome/bug303267_window.xhtml",
383       "docshell/test/chrome/bug311007_window.xhtml",
384       "docshell/test/chrome/bug321671_window.xhtml",
385       "docshell/test/chrome/bug360511_window.xhtml",
386       "docshell/test/chrome/bug396519_window.xhtml",
387       "docshell/test/chrome/bug396649_window.xhtml",
388       "docshell/test/chrome/bug449778_window.xhtml",
389       "docshell/test/chrome/bug449780_window.xhtml",
390       "docshell/test/chrome/bug582176_window.xhtml",
391       "docshell/test/chrome/bug662200_window.xhtml",
392       "docshell/test/chrome/bug690056_window.xhtml",
393       "docshell/test/chrome/bug89419_window.xhtml",
394       "docshell/test/chrome/mozFrameType_window.xhtml",
395       "docshell/test/chrome/test_bug453650.xhtml",
396       "docshell/test/chrome/test_bug454235.xhtml",
397       "docshell/test/chrome/test_bug565388.xhtml",
398       "docshell/test/chrome/test_bug608669.xhtml",
399       "docshell/test/chrome/test_bug789773.xhtml",
400       "docshell/test/chrome/test_bug846906.xhtml",
401       "docshell/test/chrome/test_docRedirect.xhtml",
402       "docshell/test/chrome/test_principalInherit.xhtml",
403       "docshell/test/chrome/test_viewsource_forbidden_in_iframe.xhtml",
404     ],
405     "rules": {
406       "dot-notation": "off",
407       "no-global-assign": "off",
408       "no-octal": "off",
409       "object-shorthand": "off",
410       "mozilla/consistent-if-bracing": "off",
411       "mozilla/no-compare-against-boolean-literals": "off",
412       "mozilla/no-useless-parameters": "off",
413       "mozilla/no-useless-removeEventListener": "off",
414       "mozilla/use-cc-etc": "off",
415       "mozilla/use-services": "off",
416       "mozilla/use-chromeutils-generateqi": "off",
417       "consistent-return": "off",
418       "no-delete-var": "off",
419       "no-redeclare": "off",
420       "no-sequences": "off",
421       "no-shadow": "off",
422       "no-undef": "off",
423       "no-unused-vars": "off",
424       "no-useless-call": "off",
425     }
426   }, {
427     "files": [
428       "editor/composer/test/test_bug434998.xhtml",
429       "editor/libeditor/tests/test_bug607584.xhtml",
430       "editor/libeditor/tests/test_bug616590.xhtml",
431       "editor/libeditor/tests/test_bug780908.xhtml",
432     ],
433     "rules": {
434       "object-shorthand": "off",
435       "no-undef": "off",
436     }
437   }, {
438     "files": [
439       "widget/tests/native_menus_window.xhtml",
440       "widget/tests/native_mouse_mac_window.xhtml",
441       "widget/tests/standalone_native_menu_window.xhtml",
442       "widget/tests/system_font_changes.xhtml",
443       "widget/tests/taskbar_previews.xhtml",
444       "widget/tests/test_bug1123480.xhtml",
445       "widget/tests/test_bug343416.xhtml",
446       "widget/tests/test_bug428405.xhtml",
447       "widget/tests/test_bug429954.xhtml",
448       "widget/tests/test_bug466599.xhtml",
449       "widget/tests/test_bug485118.xhtml",
450       "widget/tests/test_bug517396.xhtml",
451       "widget/tests/test_bug538242.xhtml",
452       "widget/tests/test_bug596600.xhtml",
453       "widget/tests/test_bug673301.xhtml",
454       "widget/tests/test_bug760802.xhtml",
455       "widget/tests/test_chrome_context_menus_win.xhtml",
456       "widget/tests/test_clipboard.xhtml",
457       "widget/tests/test_input_events_on_deactive_window.xhtml",
458       "widget/tests/test_key_event_counts.xhtml",
459       "widget/tests/test_keycodes.xhtml",
460       "widget/tests/test_panel_mouse_coords.xhtml",
461       "widget/tests/test_position_on_resize.xhtml",
462       "widget/tests/test_sizemode_events.xhtml",
463       "widget/tests/test_taskbar_progress.xhtml",
464       "widget/tests/test_transferable_overflow.xhtml",
465       "widget/tests/window_bug429954.xhtml",
466       "widget/tests/window_bug478536.xhtml",
467       "widget/tests/window_composition_text_querycontent.xhtml",
468       "widget/tests/window_state_windows.xhtml",
469       "widget/tests/window_wheeltransaction.xhtml",
470     ],
471     "rules": {
472       "complexity": "off",
473       "consistent-return": "off",
474       "dot-notation": "off",
475       "mozilla/prefer-boolean-length-check": "off",
476       "mozilla/no-useless-parameters": "off",
477       "mozilla/no-useless-removeEventListener": "off",
478       "mozilla/use-cc-etc": "off",
479       "mozilla/use-chromeutils-generateqi": "off",
480       "mozilla/use-services": "off",
481       "object-shorthand": "off",
482       "no-caller": "off",
483       "no-delete-var": "off",
484       "no-nested-ternary": "off",
485       "no-new-object": "off",
486       "no-redeclare": "off",
487       "no-sequences": "off",
488       "no-shadow": "off",
489       "no-undef": "off",
490       "no-unsafe-finally": "off",
491       "no-unsanitized/property": "off",
492       "no-unused-vars": "off",
493       "no-useless-return": "off",
494     }
495   }, {
496     "files": [
497       "dom/base/test/chrome/cpows_parent.xhtml",
498       "dom/base/test/chrome/file_bug1139964.xhtml",
499       "dom/base/test/chrome/file_bug549682.xhtml",
500       "dom/base/test/chrome/file_bug616841.xhtml",
501       "dom/base/test/chrome/file_bug990812-1.xhtml",
502       "dom/base/test/chrome/file_bug990812-2.xhtml",
503       "dom/base/test/chrome/file_bug990812-3.xhtml",
504       "dom/base/test/chrome/file_bug990812-4.xhtml",
505       "dom/base/test/chrome/file_bug990812-5.xhtml",
506       "dom/base/test/chrome/file_bug990812.xhtml",
507       "dom/base/test/chrome/test_bug1098074_throw_from_ReceiveMessage.xhtml",
508       "dom/base/test/chrome/test_bug339494.xhtml",
509       "dom/base/test/chrome/test_bug429785.xhtml",
510       "dom/base/test/chrome/test_bug467123.xhtml",
511       "dom/base/test/chrome/test_bug683852.xhtml",
512       "dom/base/test/chrome/test_bug780529.xhtml",
513       "dom/base/test/chrome/test_bug800386.xhtml",
514       "dom/base/test/chrome/test_bug814638.xhtml",
515       "dom/base/test/chrome/test_bug884693.xhtml",
516       "dom/base/test/chrome/test_document-element-inserted.xhtml",
517       "dom/base/test/chrome/test_domparsing.xhtml",
518       "dom/base/test/chrome/test_fileconstructor.xhtml",
519       "dom/base/test/chrome/title_window.xhtml",
520       "dom/base/test/chrome/window_nsITextInputProcessor.xhtml",
521       "dom/base/test/chrome/window_swapFrameLoaders.xhtml",
522       "dom/base/test/test_domrequesthelper.xhtml",
523       "dom/bindings/test/test_bug1123516_maplikesetlikechrome.xhtml",
524       "dom/console/tests/test_jsm.xhtml",
525       "dom/events/test/test_bug1412775.xhtml",
526       "dom/events/test/test_bug336682_2.xhtml",
527       "dom/events/test/test_bug415498.xhtml",
528       "dom/events/test/test_bug602962.xhtml",
529       "dom/events/test/test_bug617528.xhtml",
530       "dom/events/test/test_bug679494.xhtml",
531       "dom/indexedDB/test/test_globalObjects_chrome.xhtml",
532       "dom/indexedDB/test/test_wrappedArray.xhtml",
533       "dom/ipc/test.xhtml",
534       "dom/ipc/tests/test_process_error.xhtml",
535       "dom/notification/test/chrome/test_notification_system_principal.xhtml",
536       "dom/plugins/test/mochitest/test_busy_hang.xhtml",
537       "dom/plugins/test/mochitest/test_convertpoint.xhtml",
538       "dom/plugins/test/mochitest/test_crash_notify.xhtml",
539       "dom/plugins/test/mochitest/test_crash_notify_no_report.xhtml",
540       "dom/plugins/test/mochitest/test_crash_submit.xhtml",
541       "dom/plugins/test/mochitest/test_hang_submit.xhtml",
542       "dom/plugins/test/mochitest/test_hangui.xhtml",
543       "dom/plugins/test/mochitest/test_idle_hang.xhtml",
544       "dom/plugins/test/mochitest/test_xulbrowser_plugin_visibility.xhtml",
545       "dom/plugins/test/mochitest/xulbrowser_plugin_visibility.xhtml",
546       "dom/security/test/general/test_bug1277803.xhtml",
547       "dom/serviceworkers/test/test_serviceworkerinfo.xhtml",
548       "dom/serviceworkers/test/test_serviceworkermanager.xhtml",
549       "dom/system/tests/test_constants.xhtml",
550       "dom/tests/mochitest/chrome/DOMWindowCreated_chrome.xhtml",
551       "dom/tests/mochitest/chrome/MozDomFullscreen_chrome.xhtml",
552       "dom/tests/mochitest/chrome/sizemode_attribute.xhtml",
553       "dom/tests/mochitest/chrome/test_cyclecollector.xhtml",
554       "dom/tests/mochitest/chrome/test_docshell_swap.xhtml",
555       "dom/tests/mochitest/chrome/window_focus.xhtml",
556       "dom/url/tests/test_bug883784.xhtml",
557       "dom/workers/test/test_WorkerDebugger.xhtml",
558       "dom/workers/test/test_WorkerDebugger_console.xhtml",
559       "dom/workers/test/test_fileReadSlice.xhtml",
560       "dom/workers/test/test_fileReaderSync.xhtml",
561       "dom/workers/test/test_fileSlice.xhtml",
562     ],
563     "rules": {
564       "mozilla/no-useless-parameters": "off",
565       "mozilla/no-useless-removeEventListener": "off",
566       "mozilla/use-chromeutils-generateqi": "off",
567       "mozilla/use-services": "off",
568       "complexity": "off",
569       "no-array-constructor": "off",
570       "no-caller": "off",
571       "no-empty": "off",
572       "no-eval": "off",
573       "no-lone-blocks": "off",
574       "no-octal": "off",
575       "no-redeclare": "off",
576       "no-shadow": "off",
577       "no-throw-literal": "off",
578       "no-undef": "off",
579       "no-unsanitized/method": "off",
580       "no-unused-vars": "off",
581       "no-useless-return": "off",
582       "object-shorthand": "off",
583     }
584   }, {
585     "files": [
586       "toolkit/components/aboutmemory/tests/test_aboutmemory.xhtml",
587       "toolkit/components/aboutmemory/tests/test_aboutmemory2.xhtml",
588       "toolkit/components/aboutmemory/tests/test_aboutmemory3.xhtml",
589       "toolkit/components/aboutmemory/tests/test_aboutmemory4.xhtml",
590       "toolkit/components/aboutmemory/tests/test_aboutmemory5.xhtml",
591       "toolkit/components/aboutmemory/tests/test_aboutmemory7.xhtml",
592       "toolkit/components/aboutmemory/tests/test_dumpGCAndCCLogsToFile.xhtml",
593       "toolkit/components/aboutmemory/tests/test_memoryReporters.xhtml",
594       "toolkit/components/aboutmemory/tests/test_memoryReporters2.xhtml",
595       "toolkit/components/aboutmemory/tests/test_sqliteMultiReporter.xhtml",
596       "toolkit/components/ctypes/tests/chrome/test_ctypes.xhtml",
597       "toolkit/components/osfile/tests/mochi/test_osfile_back.xhtml",
598       "toolkit/components/osfile/tests/mochi/test_osfile_comms.xhtml",
599       "toolkit/components/osfile/tests/mochi/test_osfile_front.xhtml",
600       "toolkit/components/places/tests/chrome/browser_disableglobalhistory.xhtml",
601       "toolkit/components/places/tests/chrome/test_browser_disableglobalhistory.xhtml",
602       "toolkit/components/places/tests/chrome/test_favicon_annotations.xhtml",
603       "toolkit/components/workerloader/tests/test_loading.xhtml",
604       "toolkit/content/tests/chrome/bug263683_window.xhtml",
605       "toolkit/content/tests/chrome/bug304188_window.xhtml",
606       "toolkit/content/tests/chrome/bug331215_window.xhtml",
607       "toolkit/content/tests/chrome/bug360437_window.xhtml",
608       "toolkit/content/tests/chrome/bug366992_window.xhtml",
609       "toolkit/content/tests/chrome/bug409624_window.xhtml",
610       "toolkit/content/tests/chrome/bug429723_window.xhtml",
611       "toolkit/content/tests/chrome/bug451540_window.xhtml",
612       "toolkit/content/tests/chrome/dialog_dialogfocus.xhtml",
613       "toolkit/content/tests/chrome/findbar_entireword_window.xhtml",
614       "toolkit/content/tests/chrome/findbar_events_window.xhtml",
615       "toolkit/content/tests/chrome/findbar_window.xhtml",
616       "toolkit/content/tests/chrome/frame_popup_anchor.xhtml",
617       "toolkit/content/tests/chrome/frame_subframe_origin_subframe1.xhtml",
618       "toolkit/content/tests/chrome/frame_subframe_origin_subframe2.xhtml",
619       "toolkit/content/tests/chrome/test_arrowpanel.xhtml",
620       "toolkit/content/tests/chrome/test_autocomplete2.xhtml",
621       "toolkit/content/tests/chrome/test_autocomplete3.xhtml",
622       "toolkit/content/tests/chrome/test_autocomplete4.xhtml",
623       "toolkit/content/tests/chrome/test_autocomplete5.xhtml",
624       "toolkit/content/tests/chrome/test_autocomplete_emphasis.xhtml",
625       "toolkit/content/tests/chrome/test_autocomplete_mac_caret.xhtml",
626       "toolkit/content/tests/chrome/test_autocomplete_placehold_last_complete.xhtml",
627       "toolkit/content/tests/chrome/test_browser_drop.xhtml",
628       "toolkit/content/tests/chrome/test_bug1048178.xhtml",
629       "toolkit/content/tests/chrome/test_bug382990.xhtml",
630       "toolkit/content/tests/chrome/test_bug437844.xhtml",
631       "toolkit/content/tests/chrome/test_bug624329.xhtml",
632       "toolkit/content/tests/chrome/test_bug792324.xhtml",
633       "toolkit/content/tests/chrome/test_contextmenu_list.xhtml",
634       "toolkit/content/tests/chrome/test_cursorsnap.xhtml",
635       "toolkit/content/tests/chrome/test_dialogfocus.xhtml",
636       "toolkit/content/tests/chrome/test_hiddenitems.xhtml",
637       "toolkit/content/tests/chrome/test_hiddenpaging.xhtml",
638       "toolkit/content/tests/chrome/test_maximized_persist.xhtml",
639       "toolkit/content/tests/chrome/test_menu.xhtml",
640       "toolkit/content/tests/chrome/test_menuitem_blink.xhtml",
641       "toolkit/content/tests/chrome/test_menulist.xhtml",
642       "toolkit/content/tests/chrome/test_menulist_keynav.xhtml",
643       "toolkit/content/tests/chrome/test_mousescroll.xhtml",
644       "toolkit/content/tests/chrome/test_mozinputbox_dictionary.xhtml",
645       "toolkit/content/tests/chrome/test_notificationbox.xhtml",
646       "toolkit/content/tests/chrome/test_panel_focus.xhtml",
647       "toolkit/content/tests/chrome/test_popup_keys.xhtml",
648       "toolkit/content/tests/chrome/test_popup_scaled.xhtml",
649       "toolkit/content/tests/chrome/test_popupincontent.xhtml",
650       "toolkit/content/tests/chrome/test_popupremoving.xhtml",
651       "toolkit/content/tests/chrome/test_popupremoving_frame.xhtml",
652       "toolkit/content/tests/chrome/test_position.xhtml",
653       "toolkit/content/tests/chrome/test_preferences.xhtml",
654       "toolkit/content/tests/chrome/test_richlistbox.xhtml",
655       "toolkit/content/tests/chrome/test_righttoleft.xhtml",
656       "toolkit/content/tests/chrome/test_screenPersistence.xhtml",
657       "toolkit/content/tests/chrome/test_scrollbar.xhtml",
658       "toolkit/content/tests/chrome/test_showcaret.xhtml",
659       "toolkit/content/tests/chrome/test_tabbox.xhtml",
660       "toolkit/content/tests/chrome/test_textbox_search.xhtml",
661       "toolkit/content/tests/chrome/test_tree_view.xhtml",
662       "toolkit/content/tests/chrome/window_browser_drop.xhtml",
663       "toolkit/content/tests/chrome/window_cursorsnap_dialog.xhtml",
664       "toolkit/content/tests/chrome/window_cursorsnap_wizard.xhtml",
665       "toolkit/content/tests/chrome/window_keys.xhtml",
666       "toolkit/content/tests/chrome/window_largemenu.xhtml",
667       "toolkit/content/tests/chrome/window_panel.xhtml",
668       "toolkit/content/tests/chrome/window_panel_anchoradjust.xhtml",
669       "toolkit/content/tests/chrome/window_popup_preventdefault_chrome.xhtml",
670       "toolkit/content/tests/chrome/window_preferences.xhtml",
671       "toolkit/content/tests/chrome/window_preferences3.xhtml",
672       "toolkit/content/tests/chrome/window_preferences_beforeaccept.xhtml",
673       "toolkit/content/tests/chrome/window_preferences_commandretarget.xhtml",
674       "toolkit/content/tests/chrome/window_preferences_onsyncfrompreference.xhtml",
675       "toolkit/content/tests/chrome/window_subframe_origin.xhtml",
676       "toolkit/content/tests/chrome/window_titlebar.xhtml",
677       "toolkit/content/tests/chrome/window_tooltip.xhtml",
678       "toolkit/content/tests/widgets/test_contextmenu_menugroup.xhtml",
679       "toolkit/content/tests/widgets/test_contextmenu_nested.xhtml",
680       "toolkit/content/tests/widgets/test_editor_currentURI.xhtml",
681       "toolkit/content/tests/widgets/test_popupanchor.xhtml",
682       "toolkit/content/tests/widgets/test_popupreflows.xhtml",
683       "toolkit/content/tests/widgets/window_menubar.xhtml",
684       "toolkit/modules/tests/chrome/test_bug544442_checkCert.xhtml",
685       "toolkit/profile/test/test_create_profile.xhtml",
686     ],
687     "rules": {
688       "object-shorthand": "off",
689       "consistent-return": "off",
690       "mozilla/consistent-if-bracing": "off",
691       "mozilla/no-compare-against-boolean-literals": "off",
692       "mozilla/no-useless-parameters": "off",
693       "mozilla/no-useless-removeEventListener": "off",
694       "mozilla/prefer-boolean-length-check": "off",
695       "mozilla/use-cc-etc": "off",
696       "mozilla/use-chromeutils-generateqi": "off",
697       "mozilla/use-chromeutils-import": "off",
698       "mozilla/use-default-preference-values": "off",
699       "mozilla/use-services": "off",
700       "no-caller": "off",
701       "no-else-return": "off",
702       "no-eval": "off",
703       "no-fallthrough": "off",
704       "no-irregular-whitespace": "off",
705       "no-lonely-if": "off",
706       "no-nested-ternary": "off",
707       "no-redeclare": "off",
708       "no-sequences": "off",
709       "no-shadow": "off",
710       "no-throw-literal": "off",
711       "no-undef": "off",
712       "no-unneeded-ternary": "off",
713       "no-unused-vars": "off",
714       "no-useless-concat": "off",
715       "no-useless-return": "off",
716     }
717   }, {
718     "files": [
719       "accessible/**",
720       "devtools/**",
721       "dom/**",
722       "docshell/**",
723       "editor/libeditor/tests/**",
724       "editor/spellchecker/tests/test_bug338427.html",
725       "gfx/**",
726       "image/test/browser/browser_image.js",
727       "js/src/builtin/**",
728       "layout/**",
729       "mobile/android/**",
730       "modules/**",
731       "netwerk/**",
732       "remote/**",
733       "security/manager/**",
734       "services/**",
735       "storage/test/unit/test_vacuum.js",
736       "taskcluster/docker/periodic-updates/scripts/**",
737       "testing/**",
738       "tools/**",
739       "widget/tests/test_assign_event_data.html",
740     ],
741     "rules": {
742       "mozilla/prefer-boolean-length-check": "off",
743     }
744   }]