Bug 1708422: part 13) Factor code out to `mozInlineSpellChecker::SpellCheckerTimeSlic...
[gecko.git] / browser / locales / filter.py
blobbb2e992e2e72edd6e50f3285b2be92b39369c8a1
1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 from __future__ import absolute_import
8 def test(mod, path, entity=None):
9 import re
11 # ignore anything but Firefox
12 if mod not in (
13 "netwerk",
14 "dom",
15 "toolkit",
16 "security/manager",
17 "devtools/client",
18 "devtools/shared",
19 "devtools/startup",
20 "browser",
21 "browser/extensions/formautofill",
22 "browser/extensions/fxmonitor",
23 "browser/extensions/report-site-issue",
24 "extensions/spellcheck",
25 "other-licenses/branding/firefox",
26 "browser/branding/official",
27 "services/sync",
29 return "ignore"
30 if mod not in ("browser", "extensions/spellcheck"):
31 # we only have exceptions for browser and extensions/spellcheck
32 return "error"
33 if entity is None:
34 # the only files to ignore are spell checkers
35 if mod == "extensions/spellcheck":
36 return "ignore"
37 return "error"
38 if mod == "extensions/spellcheck":
39 # l10n ships en-US dictionary or something, do compare
40 return "error"
41 if path == "defines.inc":
42 return "ignore" if entity == "MOZ_LANGPACK_CONTRIBUTORS" else "error"
44 if mod == "browser" and path == "chrome/browser-region/region.properties":
45 # only region.properties exceptions remain, compare all others
46 return (
47 "ignore"
48 if (
49 re.match(r"browser\.contentHandlers\.types\.[0-5]", entity)
50 or re.match(r"gecko\.handlerService\.schemes\.", entity)
51 or re.match(r"gecko\.handlerService\.defaultHandlersVersion", entity)
53 else "error"
55 return "error"