summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Stransky <stransky@redhat.com>2021-08-11 13:56:24 +0200
committerMartin Stransky <stransky@redhat.com>2021-08-11 13:56:24 +0200
commitb9def774e6f889373bf1a47ff2044add7ced9658 (patch)
treea6ff51d95ae35215dff2382e5ccb912f27689b2d
parentFixed typo at with-unsigned-addon-scopes (diff)
downloadlibrewolf-fedora-ff-b9def774e6f889373bf1a47ff2044add7ced9658.tar.gz
librewolf-fedora-ff-b9def774e6f889373bf1a47ff2044add7ced9658.tar.bz2
librewolf-fedora-ff-b9def774e6f889373bf1a47ff2044add7ced9658.zip
Updated to 91.0
-rw-r--r--.gitignore2
-rw-r--r--build-python-1.patch211
-rw-r--r--build-python-2.patch607
-rw-r--r--firefox-crashreporter-build.patch12
-rw-r--r--firefox-testing.patch44
-rw-r--r--firefox-tests-reftest.patch382
-rw-r--r--firefox.spec21
-rw-r--r--mozilla-1646135.patch20
-rw-r--r--mozilla-1715254.patch24
-rw-r--r--sources6
10 files changed, 217 insertions, 1112 deletions
diff --git a/.gitignore b/.gitignore
index c01196b..b40519e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -467,3 +467,5 @@ firefox-3.6.4.source.tar.bz2
/firefox-langpacks-90.0.1-20210721.tar.xz
/firefox-90.0.2.source.tar.xz
/firefox-langpacks-90.0.2-20210722.tar.xz
+/firefox-91.0.source.tar.xz
+/firefox-langpacks-91.0-20210810.tar.xz
diff --git a/build-python-1.patch b/build-python-1.patch
deleted file mode 100644
index 580fcae..0000000
--- a/build-python-1.patch
+++ /dev/null
@@ -1,211 +0,0 @@
-diff --git a/python/mach/mach/config.py b/python/mach/mach/config.py
---- a/python/mach/mach/config.py
-+++ b/python/mach/mach/config.py
-@@ -17,6 +17,7 @@
- from __future__ import absolute_import, unicode_literals
-
- import collections
-+import collections.abc
- import os
- import sys
- import six
-@@ -146,7 +147,7 @@
- return _
-
-
--class ConfigSettings(collections.Mapping):
-+class ConfigSettings(collections.abc.Mapping):
- """Interface for configuration settings.
-
- This is the main interface to the configuration.
-@@ -192,7 +193,7 @@
- will result in exceptions being raised.
- """
-
-- class ConfigSection(collections.MutableMapping, object):
-+ class ConfigSection(collections.abc.MutableMapping, object):
- """Represents an individual config section."""
-
- def __init__(self, config, name, settings):
-@@ -317,13 +318,7 @@
- self._config.write(fh)
-
- @classmethod
-- def _format_metadata(
-- cls,
-- type_cls,
-- description,
-- default=DefaultValue,
-- extra=None,
-- ):
-+ def _format_metadata(cls, type_cls, description, default=DefaultValue, extra=None):
- """Formats and returns the metadata for a setting.
-
- Each setting must have:
-@@ -344,10 +339,7 @@
- if isinstance(type_cls, string_types):
- type_cls = TYPE_CLASSES[type_cls]
-
-- meta = {
-- "description": description,
-- "type_cls": type_cls,
-- }
-+ meta = {"description": description, "type_cls": type_cls}
-
- if default != DefaultValue:
- meta["default"] = default
-diff --git a/python/mach/mach/decorators.py b/python/mach/mach/decorators.py
---- a/python/mach/mach/decorators.py
-+++ b/python/mach/mach/decorators.py
-@@ -6,6 +6,7 @@
-
- import argparse
- import collections
-+import collections.abc
-
- from .base import MachError
- from .registrar import Registrar
-@@ -151,7 +152,7 @@
- + "of functions. Found %s instead."
- )
-
-- if not isinstance(command.conditions, collections.Iterable):
-+ if not isinstance(command.conditions, collections.abc.Iterable):
- msg = msg % (command.name, type(command.conditions))
- raise MachError(msg)
-
-diff --git a/python/mach/mach/main.py b/python/mach/mach/main.py
---- a/python/mach/mach/main.py
-+++ b/python/mach/mach/main.py
-@@ -16,7 +16,7 @@
- import sys
- import traceback
- import uuid
--from collections import Iterable
-+from collections.abc import Iterable
-
- from six import string_types
-
-@@ -34,10 +34,7 @@
- from .logging import LoggingManager
- from .registrar import Registrar
- from .sentry import register_sentry, NoopErrorReporter
--from .telemetry import (
-- report_invocation_metrics,
-- create_telemetry_from_environment,
--)
-+from .telemetry import report_invocation_metrics, create_telemetry_from_environment
- from .util import setenv, UserError
-
- SUGGEST_MACH_BUSTED_TEMPLATE = r"""
-diff --git a/python/mozbuild/mozbuild/backend/configenvironment.py b/python/mozbuild/mozbuild/backend/configenvironment.py
---- a/python/mozbuild/mozbuild/backend/configenvironment.py
-+++ b/python/mozbuild/mozbuild/backend/configenvironment.py
-@@ -9,7 +9,8 @@
- import sys
- import json
-
--from collections import Iterable, OrderedDict
-+from collections.abc import Iterable
-+from collections import OrderedDict
- from types import ModuleType
-
- import mozpack.path as mozpath
-@@ -62,10 +63,7 @@
- compile(source, path, "exec", dont_inherit=1),
- )
-
-- g = {
-- "__builtins__": __builtins__,
-- "__file__": path,
-- }
-+ g = {"__builtins__": __builtins__, "__file__": path}
- l = {}
- try:
- exec(code_cache[path][1], g, l)
-diff --git a/python/mozbuild/mozbuild/makeutil.py b/python/mozbuild/mozbuild/makeutil.py
---- a/python/mozbuild/mozbuild/makeutil.py
-+++ b/python/mozbuild/mozbuild/makeutil.py
-@@ -7,7 +7,7 @@
- import os
- import re
- import six
--from collections import Iterable
-+from collections.abc import Iterable
-
-
- class Makefile(object):
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -9,6 +9,7 @@
-
- import argparse
- import collections
-+import collections.abc
- import ctypes
- import difflib
- import errno
-@@ -809,7 +810,7 @@
- self._strings = StrictOrderingOnAppendList()
- self._children = {}
-
-- class StringListAdaptor(collections.Sequence):
-+ class StringListAdaptor(collections.abc.Sequence):
- def __init__(self, hsl):
- self._hsl = hsl
-
-diff --git a/taskcluster/taskgraph/util/schema.py b/taskcluster/taskgraph/util/schema.py
---- a/taskcluster/taskgraph/util/schema.py
-+++ b/taskcluster/taskgraph/util/schema.py
-@@ -7,6 +7,7 @@
- import re
- import pprint
- import collections
-+import collections.abc
- import voluptuous
-
- from six import text_type, iteritems
-@@ -190,7 +191,7 @@
- )
- )
-
-- if isinstance(sch, collections.Mapping):
-+ if isinstance(sch, collections.abc.Mapping):
- for k, v in iteritems(sch):
- child = "{}[{!r}]".format(path, k)
- check_identifier(child, k)
-diff --git a/testing/mozbase/manifestparser/manifestparser/filters.py b/testing/mozbase/manifestparser/manifestparser/filters.py
---- a/testing/mozbase/manifestparser/manifestparser/filters.py
-+++ b/testing/mozbase/manifestparser/manifestparser/filters.py
-@@ -12,7 +12,8 @@
-
- import itertools
- import os
--from collections import defaultdict, MutableSequence
-+from collections import defaultdict
-+from collections.abc import MutableSequence
-
- import six
- from six import string_types
-diff --git a/third_party/python/gyp/pylib/gyp/common.py b/third_party/python/gyp/pylib/gyp/common.py
---- a/third_party/python/gyp/pylib/gyp/common.py
-+++ b/third_party/python/gyp/pylib/gyp/common.py
-@@ -5,6 +5,7 @@
- from __future__ import with_statement
-
- import collections
-+import collections.abc
- import errno
- import filecmp
- import os.path
-@@ -494,7 +495,7 @@
-
-
- # Based on http://code.activestate.com/recipes/576694/.
--class OrderedSet(collections.MutableSet):
-+class OrderedSet(collections.abc.MutableSet):
- def __init__(self, iterable=None):
- self.end = end = []
- end += [None, end, end] # sentinel node for doubly linked list
-
diff --git a/build-python-2.patch b/build-python-2.patch
deleted file mode 100644
index e15649e..0000000
--- a/build-python-2.patch
+++ /dev/null
@@ -1,607 +0,0 @@
-diff -up firefox-90.0/third_party/python/requirements.in.build-python-2 firefox-90.0/third_party/python/requirements.in
---- firefox-90.0/third_party/python/requirements.in.build-python-2 2021-07-05 21:16:03.000000000 +0200
-+++ firefox-90.0/third_party/python/requirements.in 2021-07-21 09:42:47.772128103 +0200
-@@ -44,5 +44,5 @@ requests==2.25.1
- responses==0.10.6
- sentry-sdk==0.14.3
- six==1.13.0
--voluptuous==0.11.5
-+voluptuous==0.12.1
- yamllint==1.23
-diff -up firefox-90.0/third_party/python/requirements.txt.build-python-2 firefox-90.0/third_party/python/requirements.txt
---- firefox-90.0/third_party/python/requirements.txt.build-python-2 2021-07-05 21:16:03.000000000 +0200
-+++ firefox-90.0/third_party/python/requirements.txt 2021-07-21 09:42:47.773128134 +0200
-@@ -286,9 +286,9 @@ urllib3==1.25.9 \
- # via
- # requests
- # sentry-sdk
--voluptuous==0.11.5 \
-- --hash=sha256:303542b3fc07fb52ec3d7a1c614b329cdbee13a9d681935353d8ea56a7bfa9f1 \
-- --hash=sha256:567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef
-+voluptuous==0.12.1 \
-+ --hash=sha256:663572419281ddfaf4b4197fd4942d181630120fb39b333e3adad70aeb56444b \
-+ --hash=sha256:8ace33fcf9e6b1f59406bfaf6b8ec7bcc44266a9f29080b4deb4fe6ff2492386
- # via -r requirements-mach-vendor-python.in
- yamllint==1.23 \
- --hash=sha256:0fa69bf8a86182b7fe14918bdd3a30354c869966bbc7cbfff176af71bda9c806 \
-diff -up firefox-90.0/third_party/python/voluptuous/voluptuous-0.11.5.dist-info/RECORD.build-python-2 firefox-90.0/third_party/python/voluptuous/voluptuous-0.11.5.dist-info/RECORD
-diff -up firefox-90.0/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/COPYING.build-python-2 firefox-90.0/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/COPYING
---- firefox-90.0/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/COPYING.build-python-2 2021-07-21 09:42:47.774128166 +0200
-+++ firefox-90.0/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/COPYING 2021-07-21 09:42:47.774128166 +0200
-@@ -0,0 +1,25 @@
-+Copyright (c) 2010, Alec Thomas
-+All rights reserved.
-+
-+Redistribution and use in source and binary forms, with or without
-+modification, are permitted provided that the following conditions are met:
-+
-+ - Redistributions of source code must retain the above copyright notice, this
-+ list of conditions and the following disclaimer.
-+ - Redistributions in binary form must reproduce the above copyright notice,
-+ this list of conditions and the following disclaimer in the documentation
-+ and/or other materials provided with the distribution.
-+ - Neither the name of SwapOff.org nor the names of its contributors may
-+ be used to endorse or promote products derived from this software without
-+ specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-diff -up firefox-90.0/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/RECORD.build-python-2 firefox-90.0/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/RECORD
---- firefox-90.0/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/RECORD.build-python-2 2021-07-21 09:42:47.774128166 +0200
-+++ firefox-90.0/third_party/python/voluptuous/voluptuous-0.12.1.dist-info/RECORD 2021-07-21 09:42:47.774128166 +0200
-@@ -0,0 +1,11 @@
-+voluptuous/__init__.py,sha256=tSYWPAIWee6YwcMK8hxmaiagG_swokUMeH8MluJLWZM,203
-+voluptuous/error.py,sha256=fLRmJwKp0bqRGgBM34ztg9MTxhEOf465sbQcvJlEtAk,4026
-+voluptuous/humanize.py,sha256=hZlhdN4aVeGDIXdtSTeyEbmku65SDPRuut3mOfuRQP0,1606
-+voluptuous/schema_builder.py,sha256=xVJpf3uJMyS1CKwzDw3rEK39ebqDiF_A2Kbq4VnZ3Aw,43677
-+voluptuous/util.py,sha256=RXLZ2b5y-A4az3teG6UpCx2UZcXpS11sIVCdORyKar8,3150
-+voluptuous/validators.py,sha256=xZgyKH-EVqUHCHral5gzViXq4HfEjJEsGdQy7z6llc0,32798
-+voluptuous-0.12.1.dist-info/COPYING,sha256=JHtJdren-k2J2Vh8qlCVVh60bcVFfyJ59ipitUUq3qk,1486
-+voluptuous-0.12.1.dist-info/METADATA,sha256=OdEydy5NydPFFzAhP8qj_YqJsQPQvoIt5ZT1t8B14Ok,20120
-+voluptuous-0.12.1.dist-info/WHEEL,sha256=S6zePDbUAjzMmpYOg2cHDxuYFWw7WiOXt6ogM6hIB5Q,92
-+voluptuous-0.12.1.dist-info/top_level.txt,sha256=TTdVb7M-vndb67UqTmAxuVjpAUakrlAWJYqvo3w4Iqc,11
-+voluptuous-0.12.1.dist-info/RECORD,,
-diff -up firefox-90.0/third_party/python/voluptuous/voluptuous/error.py.build-python-2 firefox-90.0/third_party/python/voluptuous/voluptuous/error.py
---- firefox-90.0/third_party/python/voluptuous/voluptuous/error.py.build-python-2 2021-07-05 21:16:03.000000000 +0200
-+++ firefox-90.0/third_party/python/voluptuous/voluptuous/error.py 2021-07-21 09:42:47.775128197 +0200
-@@ -142,11 +142,11 @@ class BooleanInvalid(Invalid):
-
-
- class UrlInvalid(Invalid):
-- """The value is not a url."""
-+ """The value is not a URL."""
-
-
- class EmailInvalid(Invalid):
-- """The value is not a email."""
-+ """The value is not an email address."""
-
-
- class FileInvalid(Invalid):
-diff -up firefox-90.0/third_party/python/voluptuous/voluptuous/__init__.py.build-python-2 firefox-90.0/third_party/python/voluptuous/voluptuous/__init__.py
---- firefox-90.0/third_party/python/voluptuous/voluptuous/__init__.py.build-python-2 2021-07-05 21:16:03.000000000 +0200
-+++ firefox-90.0/third_party/python/voluptuous/voluptuous/__init__.py 2021-07-21 09:42:47.775128197 +0200
-@@ -5,5 +5,5 @@ from voluptuous.validators import *
- from voluptuous.util import *
- from voluptuous.error import *
-
--__version__ = '0.11.5'
-+__version__ = '0.12.1'
- __author__ = 'alecthomas'
-diff -up firefox-90.0/third_party/python/voluptuous/voluptuous/schema_builder.py.build-python-2 firefox-90.0/third_party/python/voluptuous/voluptuous/schema_builder.py
---- firefox-90.0/third_party/python/voluptuous/voluptuous/schema_builder.py.build-python-2 2021-07-05 21:16:03.000000000 +0200
-+++ firefox-90.0/third_party/python/voluptuous/voluptuous/schema_builder.py 2021-07-21 09:42:47.775128197 +0200
-@@ -22,6 +22,11 @@ else:
- def iteritems(d):
- return d.iteritems()
-
-+if sys.version_info >= (3, 3):
-+ _Mapping = collections.abc.Mapping
-+else:
-+ _Mapping = collections.Mapping
-+
- """Schema validation for Python data structures.
-
- Given eg. a nested data structure like this:
-@@ -280,7 +285,7 @@ class Schema(object):
- return schema.__voluptuous_compile__(self)
- if isinstance(schema, Object):
- return self._compile_object(schema)
-- if isinstance(schema, collections.Mapping):
-+ if isinstance(schema, _Mapping):
- return self._compile_dict(schema)
- elif isinstance(schema, list):
- return self._compile_list(schema)
-@@ -610,11 +615,11 @@ class Schema(object):
- if not isinstance(data, seq_type):
- raise er.SequenceTypeInvalid('expected a %s' % seq_type_name, path)
-
-- # Empty seq schema, allow any data.
-+ # Empty seq schema, reject any data.
- if not schema:
- if data:
- raise er.MultipleInvalid([
-- er.ValueInvalid('not a valid value', [value]) for value in data
-+ er.ValueInvalid('not a valid value', path if path else data)
- ])
- return data
-
-@@ -735,7 +740,7 @@ class Schema(object):
-
- result = self.schema.copy()
-
-- # returns the key that may have been passed as arugment to Marker constructor
-+ # returns the key that may have been passed as an argument to Marker constructor
- def key_literal(key):
- return (key.schema if isinstance(key, Marker) else key)
-
-@@ -771,9 +776,10 @@ class Schema(object):
- result[key] = value
-
- # recompile and send old object
-+ result_cls = type(self)
- result_required = (required if required is not None else self.required)
- result_extra = (extra if extra is not None else self.extra)
-- return Schema(result, required=result_required, extra=result_extra)
-+ return result_cls(result, required=result_required, extra=result_extra)
-
-
- def _compile_scalar(schema):
-@@ -809,7 +815,7 @@ def _compile_scalar(schema):
- def validate_callable(path, data):
- try:
- return schema(data)
-- except ValueError as e:
-+ except ValueError:
- raise er.ValueInvalid('not a valid value', path)
- except er.Invalid as e:
- e.prepend(path)
-@@ -1121,8 +1127,11 @@ class Inclusive(Optional):
- True
- """
-
-- def __init__(self, schema, group_of_inclusion, msg=None):
-- super(Inclusive, self).__init__(schema, msg=msg)
-+ def __init__(self, schema, group_of_inclusion,
-+ msg=None, description=None, default=UNDEFINED):
-+ super(Inclusive, self).__init__(schema, msg=msg,
-+ default=default,
-+ description=description)
- self.group_of_inclusion = group_of_inclusion
-
-
-diff -up firefox-90.0/third_party/python/voluptuous/voluptuous/util.py.build-python-2 firefox-90.0/third_party/python/voluptuous/voluptuous/util.py
---- firefox-90.0/third_party/python/voluptuous/voluptuous/util.py.build-python-2 2021-07-05 21:16:03.000000000 +0200
-+++ firefox-90.0/third_party/python/voluptuous/voluptuous/util.py 2021-07-21 09:42:47.776128229 +0200
-@@ -7,6 +7,14 @@ from voluptuous import validators
- __author__ = 'tusharmakkar08'
-
-
-+def _fix_str(v):
-+ if sys.version_info[0] == 2 and isinstance(v, unicode):
-+ s = v
-+ else:
-+ s = str(v)
-+ return s
-+
-+
- def Lower(v):
- """Transform a string to lower case.
-
-@@ -14,7 +22,7 @@ def Lower(v):
- >>> s('HI')
- 'hi'
- """
-- return str(v).lower()
-+ return _fix_str(v).lower()
-
-
- def Upper(v):
-@@ -24,7 +32,7 @@ def Upper(v):
- >>> s('hi')
- 'HI'
- """
-- return str(v).upper()
-+ return _fix_str(v).upper()
-
-
- def Capitalize(v):
-@@ -34,7 +42,7 @@ def Capitalize(v):
- >>> s('hello world')
- 'Hello world'
- """
-- return str(v).capitalize()
-+ return _fix_str(v).capitalize()
-
-
- def Title(v):
-@@ -44,7 +52,7 @@ def Title(v):
- >>> s('hello world')
- 'Hello World'
- """
-- return str(v).title()
-+ return _fix_str(v).title()
-
-
- def Strip(v):
-@@ -54,7 +62,7 @@ def Strip(v):
- >>> s(' hello world ')
- 'hello world'
- """
-- return str(v).strip()
-+ return _fix_str(v).strip()
-
-
- class DefaultTo(object):
-diff -up firefox-90.0/third_party/python/voluptuous/voluptuous/validators.py.build-python-2 firefox-90.0/third_party/python/voluptuous/voluptuous/validators.py
---- firefox-90.0/third_party/python/voluptuous/voluptuous/validators.py.build-python-2 2021-07-05 21:16:03.000000000 +0200
-+++ firefox-90.0/third_party/python/voluptuous/voluptuous/validators.py 2021-07-21 09:42:47.776128229 +0200
-@@ -192,15 +192,26 @@ class _WithSubValidators(object):
- def __init__(self, *validators, **kwargs):
- self.validators = validators
- self.msg = kwargs.pop('msg', None)
-+ self.required = kwargs.pop('required', False)
-+ self.discriminant = kwargs.pop('discriminant', None)
-
- def __voluptuous_compile__(self, schema):
-- self._compiled = [
-- schema._compile(v)
-- for v in self.validators
-- ]
-+ self._compiled = []
-+ old_required = schema.required
-+ self.schema = schema
-+ for v in self.validators:
-+ schema.required = self.required
-+ self._compiled.append(schema._compile(v))
-+ schema.required = old_required
- return self._run
-
- def _run(self, path, value):
-+ if self.discriminant is not None:
-+ self._compiled = [
-+ self.schema._compile(v)
-+ for v in self.discriminant(value, self.validators)
-+ ]
-+
- return self._exec(self._compiled, value, path)
-
- def __call__(self, v):
-@@ -218,7 +229,7 @@ class Any(_WithSubValidators):
- """Use the first validated value.
-
- :param msg: Message to deliver to user if validation fails.
-- :param kwargs: All other keyword arguments are passed to the sub-Schema constructors.
-+ :param kwargs: All other keyword arguments are passed to the sub-schema constructors.
- :returns: Return value of the first validator that passes.
-
- >>> validate = Schema(Any('true', 'false',
-@@ -262,13 +273,57 @@ class Any(_WithSubValidators):
- Or = Any
-
-
-+class Union(_WithSubValidators):
-+ """Use the first validated value among those selected by discriminant.
-+
-+ :param msg: Message to deliver to user if validation fails.
-+ :param discriminant(value, validators): Returns the filtered list of validators based on the value.
-+ :param kwargs: All other keyword arguments are passed to the sub-schema constructors.
-+ :returns: Return value of the first validator that passes.
-+
-+ >>> validate = Schema(Union({'type':'a', 'a_val':'1'},{'type':'b', 'b_val':'2'},
-+ ... discriminant=lambda val, alt: filter(
-+ ... lambda v : v['type'] == val['type'] , alt)))
-+ >>> validate({'type':'a', 'a_val':'1'}) == {'type':'a', 'a_val':'1'}
-+ True
-+ >>> with raises(MultipleInvalid, "not a valid value for dictionary value @ data['b_val']"):
-+ ... validate({'type':'b', 'b_val':'5'})
-+
-+ ```discriminant({'type':'b', 'a_val':'5'}, [{'type':'a', 'a_val':'1'},{'type':'b', 'b_val':'2'}])``` is invoked
-+
-+ Without the discriminant, the exception would be "extra keys not allowed @ data['b_val']"
-+ """
-+
-+ def _exec(self, funcs, v, path=None):
-+ error = None
-+ for func in funcs:
-+ try:
-+ if path is None:
-+ return func(v)
-+ else:
-+ return func(path, v)
-+ except Invalid as e:
-+ if error is None or len(e.path) > len(error.path):
-+ error = e
-+ else:
-+ if error:
-+ raise error if self.msg is None else AnyInvalid(
-+ self.msg, path=path)
-+ raise AnyInvalid(self.msg or 'no valid value found',
-+ path=path)
-+
-+
-+# Convenience alias
-+Switch = Union
-+
-+
- class All(_WithSubValidators):
- """Value must pass all validators.
-
- The output of each validator is passed as input to the next.
-
- :param msg: Message to deliver to user if validation fails.
-- :param kwargs: All other keyword arguments are passed to the sub-Schema constructors.
-+ :param kwargs: All other keyword arguments are passed to the sub-schema constructors.
-
- >>> validate = Schema(All('10', Coerce(int)))
- >>> validate('10')
-@@ -303,7 +358,7 @@ class Match(object):
- >>> with raises(MultipleInvalid, 'expected string or buffer'):
- ... validate(123)
-
-- Pattern may also be a _compiled regular expression:
-+ Pattern may also be a compiled regular expression:
-
- >>> validate = Schema(Match(re.compile(r'0x[A-F0-9]+', re.I)))
- >>> validate('0x123ef4')
-@@ -361,38 +416,38 @@ def _url_validation(v):
- return parsed
-
-
--@message('expected an Email', cls=EmailInvalid)
-+@message('expected an email address', cls=EmailInvalid)
- def Email(v):
-- """Verify that the value is an Email or not.
-+ """Verify that the value is an email address or not.
-
- >>> s = Schema(Email())
-- >>> with raises(MultipleInvalid, 'expected an Email'):
-+ >>> with raises(MultipleInvalid, 'expected an email address'):
- ... s("a.com")
-- >>> with raises(MultipleInvalid, 'expected an Email'):
-+ >>> with raises(MultipleInvalid, 'expected an email address'):
- ... s("a@.com")
-- >>> with raises(MultipleInvalid, 'expected an Email'):
-+ >>> with raises(MultipleInvalid, 'expected an email address'):
- ... s("a@.com")
- >>> s('t@x.com')
- 't@x.com'
- """
- try:
- if not v or "@" not in v:
-- raise EmailInvalid("Invalid Email")
-+ raise EmailInvalid("Invalid email address")
- user_part, domain_part = v.rsplit('@', 1)
-
- if not (USER_REGEX.match(user_part) and DOMAIN_REGEX.match(domain_part)):
-- raise EmailInvalid("Invalid Email")
-+ raise EmailInvalid("Invalid email address")
- return v
- except:
- raise ValueError
-
-
--@message('expected a Fully qualified domain name URL', cls=UrlInvalid)
-+@message('expected a fully qualified domain name URL', cls=UrlInvalid)
- def FqdnUrl(v):
-- """Verify that the value is a Fully qualified domain name URL.
-+ """Verify that the value is a fully qualified domain name URL.
-
- >>> s = Schema(FqdnUrl())
-- >>> with raises(MultipleInvalid, 'expected a Fully qualified domain name URL'):
-+ >>> with raises(MultipleInvalid, 'expected a fully qualified domain name URL'):
- ... s("http://localhost/")
- >>> s('http://w3.org')
- 'http://w3.org'
-@@ -423,14 +478,14 @@ def Url(v):
- raise ValueError
-
-
--@message('not a file', cls=FileInvalid)
-+@message('Not a file', cls=FileInvalid)
- @truth
- def IsFile(v):
- """Verify the file exists.
-
- >>> os.path.basename(IsFile()(__file__)).startswith('validators.py')
- True
-- >>> with raises(FileInvalid, 'not a file'):
-+ >>> with raises(FileInvalid, 'Not a file'):
- ... IsFile()("random_filename_goes_here.py")
- >>> with raises(FileInvalid, 'Not a file'):
- ... IsFile()(None)
-@@ -445,7 +500,7 @@ def IsFile(v):
- raise FileInvalid('Not a file')
-
-
--@message('not a directory', cls=DirInvalid)
-+@message('Not a directory', cls=DirInvalid)
- @truth
- def IsDir(v):
- """Verify the directory exists.
-@@ -487,11 +542,11 @@ def PathExists(v):
- raise PathInvalid("Not a Path")
-
-
--def Maybe(validator):
-+def Maybe(validator, msg=None):
- """Validate that the object matches given validator or is None.
-
-- :raises Invalid: if the value does not match the given validator and is not
-- None
-+ :raises Invalid: If the value does not match the given validator and is not
-+ None.
-
- >>> s = Schema(Maybe(int))
- >>> s(10)
-@@ -500,7 +555,7 @@ def Maybe(validator):
- ... s("string")
-
- """
-- return Any(None, validator)
-+ return Any(validator, None, msg=msg)
-
-
- class Range(object):
-@@ -533,23 +588,30 @@ class Range(object):
- self.msg = msg
-
- def __call__(self, v):
-- if self.min_included:
-- if self.min is not None and not v >= self.min:
-- raise RangeInvalid(
-- self.msg or 'value must be at least %s' % self.min)
-- else:
-- if self.min is not None and not v > self.min:
-- raise RangeInvalid(
-- self.msg or 'value must be higher than %s' % self.min)
-- if self.max_included:
-- if self.max is not None and not v <= self.max:
-- raise RangeInvalid(
-- self.msg or 'value must be at most %s' % self.max)
-- else:
-- if self.max is not None and not v < self.max:
-- raise RangeInvalid(
-- self.msg or 'value must be lower than %s' % self.max)
-- return v
-+ try:
-+ if self.min_included:
-+ if self.min is not None and not v >= self.min:
-+ raise RangeInvalid(
-+ self.msg or 'value must be at least %s' % self.min)
-+ else:
-+ if self.min is not None and not v > self.min:
-+ raise RangeInvalid(
-+ self.msg or 'value must be higher than %s' % self.min)
-+ if self.max_included:
-+ if self.max is not None and not v <= self.max:
-+ raise RangeInvalid(
-+ self.msg or 'value must be at most %s' % self.max)
-+ else:
-+ if self.max is not None and not v < self.max:
-+ raise RangeInvalid(
-+ self.msg or 'value must be lower than %s' % self.max)
-+
-+ return v
-+
-+ # Objects that lack a partial ordering, e.g. None or strings will raise TypeError
-+ except TypeError:
-+ raise RangeInvalid(
-+ self.msg or 'invalid value or type (must have a partial ordering)')
-
- def __repr__(self):
- return ('Range(min=%r, max=%r, min_included=%r,'
-@@ -579,11 +641,17 @@ class Clamp(object):
- self.msg = msg
-
- def __call__(self, v):
-- if self.min is not None and v < self.min:
-- v = self.min
-- if self.max is not None and v > self.max:
-- v = self.max
-- return v
-+ try:
-+ if self.min is not None and v < self.min:
-+ v = self.min
-+ if self.max is not None and v > self.max:
-+ v = self.max
-+ return v
-+
-+ # Objects that lack a partial ordering, e.g. None or strings will raise TypeError
-+ except TypeError:
-+ raise RangeInvalid(
-+ self.msg or 'invalid value or type (must have a partial ordering)')
-
- def __repr__(self):
- return 'Clamp(min=%s, max=%s)' % (self.min, self.max)
-@@ -598,13 +666,19 @@ class Length(object):
- self.msg = msg
-
- def __call__(self, v):
-- if self.min is not None and len(v) < self.min:
-- raise LengthInvalid(
-- self.msg or 'length of value must be at least %s' % self.min)
-- if self.max is not None and len(v) > self.max:
-- raise LengthInvalid(
-- self.msg or 'length of value must be at most %s' % self.max)
-- return v
-+ try:
-+ if self.min is not None and len(v) < self.min:
-+ raise LengthInvalid(
-+ self.msg or 'length of value must be at least %s' % self.min)
-+ if self.max is not None and len(v) > self.max:
-+ raise LengthInvalid(
-+ self.msg or 'length of value must be at most %s' % self.max)
-+ return v
-+
-+ # Objects that havbe no length e.g. None or strings will raise TypeError
-+ except TypeError:
-+ raise RangeInvalid(
-+ self.msg or 'invalid value or type')
-
- def __repr__(self):
- return 'Length(min=%s, max=%s)' % (self.min, self.max)
-@@ -663,7 +737,8 @@ class In(object):
- except TypeError:
- check = True
- if check:
-- raise InInvalid(self.msg or 'value is not allowed')
-+ raise InInvalid(self.msg or
-+ 'value must be one of {}'.format(sorted(self.container)))
- return v
-
- def __repr__(self):
-@@ -683,7 +758,8 @@ class NotIn(object):
- except TypeError:
- check = True
- if check:
-- raise NotInInvalid(self.msg or 'value is not allowed')
-+ raise NotInInvalid(self.msg or
-+ 'value must not be one of {}'.format(sorted(self.container)))
- return v
-
- def __repr__(self):
-@@ -722,7 +798,7 @@ class ExactSequence(object):
- the validators.
-
- :param msg: Message to deliver to user if validation fails.
-- :param kwargs: All other keyword arguments are passed to the sub-Schema
-+ :param kwargs: All other keyword arguments are passed to the sub-schema
- constructors.
-
- >>> from voluptuous import Schema, ExactSequence
-@@ -887,7 +963,7 @@ class Unordered(object):
- class Number(object):
- """
- Verify the number of digits that are present in the number(Precision),
-- and the decimal places(Scale)
-+ and the decimal places(Scale).
-
- :raises Invalid: If the value does not match the provided Precision and Scale.
-
-@@ -951,13 +1027,13 @@ class SomeOf(_WithSubValidators):
- The output of each validator is passed as input to the next.
-
- :param min_valid: Minimum number of valid schemas.
-- :param validators: a list of schemas or validators to match input against
-+ :param validators: List of schemas or validators to match input against.
- :param max_valid: Maximum number of valid schemas.
- :param msg: Message to deliver to user if validation fails.
-- :param kwargs: All other keyword arguments are passed to the sub-Schema constructors.
-+ :param kwargs: All other keyword arguments are passed to the sub-schema constructors.
-
-- :raises NotEnoughValid: if the minimum number of validations isn't met
-- :raises TooManyValid: if the more validations than the given amount is met
-+ :raises NotEnoughValid: If the minimum number of validations isn't met.
-+ :raises TooManyValid: If the maximum number of validations is exceeded.
-
- >>> validate = Schema(SomeOf(min_valid=2, validators=[Range(1, 5), Any(float, int), 6.6]))
- >>> validate(6.6)
diff --git a/firefox-crashreporter-build.patch b/firefox-crashreporter-build.patch
deleted file mode 100644
index 0c1bc37..0000000
--- a/firefox-crashreporter-build.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up firefox-87.0/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc.old firefox-87.0/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc
---- firefox-87.0/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc.old 2021-03-25 19:07:12.920421009 +0100
-+++ firefox-87.0/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc 2021-03-25 19:06:45.496596019 +0100
-@@ -149,7 +149,7 @@ void InstallAlternateStackLocked() {
- // SIGSTKSZ may be too small to prevent the signal handlers from overrunning
- // the alternative stack. Ensure that the size of the alternative stack is
- // large enough.
-- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
-+ static const unsigned kSigStackSize = (16384 > SIGSTKSZ) ? 16384 : SIGSTKSZ;
-
- // Only set an alternative stack if there isn't already one, or if the current
- // one is too small.
diff --git a/firefox-testing.patch b/firefox-testing.patch
index f918aa3..1a9ee13 100644
--- a/firefox-testing.patch
+++ b/firefox-testing.patch
@@ -1,6 +1,6 @@
-diff -up firefox-87.0/docshell/base/crashtests/crashtests.list.testing firefox-87.0/docshell/base/crashtests/crashtests.list
---- firefox-87.0/docshell/base/crashtests/crashtests.list.testing 2021-03-18 14:48:29.000000000 +0100
-+++ firefox-87.0/docshell/base/crashtests/crashtests.list 2021-03-22 19:07:27.214761368 +0100
+diff -up firefox-91.0/docshell/base/crashtests/crashtests.list.testing firefox-91.0/docshell/base/crashtests/crashtests.list
+--- firefox-91.0/docshell/base/crashtests/crashtests.list.testing 2021-08-04 20:02:32.000000000 +0200
++++ firefox-91.0/docshell/base/crashtests/crashtests.list 2021-08-10 10:38:40.885587687 +0200
@@ -13,7 +13,6 @@ load 614499-1.html
load 678872-1.html
skip-if(Android) pref(dom.disable_open_during_load,false) load 914521.html # Android bug 1584562
@@ -9,9 +9,9 @@ diff -up firefox-87.0/docshell/base/crashtests/crashtests.list.testing firefox-8
load 1341657.html
load 1584467.html
load 1614211-1.html
-diff -up firefox-87.0/dom/media/tests/crashtests/crashtests.list.testing firefox-87.0/dom/media/tests/crashtests/crashtests.list
---- firefox-87.0/dom/media/tests/crashtests/crashtests.list.testing 2021-03-18 14:48:35.000000000 +0100
-+++ firefox-87.0/dom/media/tests/crashtests/crashtests.list 2021-03-22 19:07:27.214761368 +0100
+diff -up firefox-91.0/dom/media/tests/crashtests/crashtests.list.testing firefox-91.0/dom/media/tests/crashtests/crashtests.list
+--- firefox-91.0/dom/media/tests/crashtests/crashtests.list.testing 2021-08-04 20:02:33.000000000 +0200
++++ firefox-91.0/dom/media/tests/crashtests/crashtests.list 2021-08-10 10:38:40.885587687 +0200
@@ -25,7 +25,6 @@ asserts-if(Android,0-1) pref(browser.lin
load 1443212.html
asserts-if(Android,0-2) load 1453030.html
@@ -20,10 +20,10 @@ diff -up firefox-87.0/dom/media/tests/crashtests/crashtests.list.testing firefox
load 1505957.html
load 1509442.html
load 1511130.html
-diff -up firefox-87.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing firefox-87.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py
---- firefox-87.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing 2021-03-18 14:49:06.000000000 +0100
-+++ firefox-87.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py 2021-03-22 19:07:27.214761368 +0100
-@@ -69,15 +69,7 @@ class TestMarionette(MarionetteTestCase)
+diff -up firefox-91.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing firefox-91.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py
+--- firefox-91.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing 2021-08-04 20:03:19.000000000 +0200
++++ firefox-91.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py 2021-08-10 10:38:40.885587687 +0200
+@@ -75,15 +75,7 @@ class TestMarionette(MarionetteTestCase)
def test_application_update_disabled(self):
# Updates of the application should always be disabled by default
@@ -40,19 +40,21 @@ diff -up firefox-87.0/testing/marionette/harness/marionette_harness/tests/unit/t
self.assertFalse(update_allowed)
-diff -up firefox-87.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt.testing firefox-87.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
---- firefox-87.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt.testing 2021-03-18 14:49:54.000000000 +0100
-+++ firefox-87.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt 2021-03-22 19:07:27.214761368 +0100
-@@ -1,4 +1,5 @@
+diff -up firefox-91.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt.testing firefox-91.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
+--- firefox-91.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt.testing 2021-08-10 10:38:40.885587687 +0200
++++ firefox-91.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt 2021-08-10 10:46:55.136291780 +0200
+@@ -1,6 +1,7 @@
# This file is the websocketprocess requirements.txt used with python 3.
-+pyrsistent
- # needed by txws, and we'd like pip to get it from the local server before setuptools tries pypi
six
-diff -up firefox-87.0/toolkit/crashreporter/test/unit/xpcshell.ini.testing firefox-87.0/toolkit/crashreporter/test/unit/xpcshell.ini
---- firefox-87.0/toolkit/crashreporter/test/unit/xpcshell.ini.testing 2021-03-22 19:07:27.214761368 +0100
-+++ firefox-87.0/toolkit/crashreporter/test/unit/xpcshell.ini 2021-03-22 19:10:00.264361746 +0100
-@@ -37,7 +37,6 @@ skip-if = (os != 'win' && os != 'linux')
++pyrsistent
+ vcversioner==2.16.0.0
+ twisted>=18.7.0
+
+diff -up firefox-91.0/toolkit/crashreporter/test/unit/xpcshell.ini.testing firefox-91.0/toolkit/crashreporter/test/unit/xpcshell.ini
+--- firefox-91.0/toolkit/crashreporter/test/unit/xpcshell.ini.testing 2021-08-04 20:04:05.000000000 +0200
++++ firefox-91.0/toolkit/crashreporter/test/unit/xpcshell.ini 2021-08-10 10:38:40.885587687 +0200
+@@ -41,7 +41,6 @@ skip-if = (os != 'win' && os != 'linux')
[test_crash_AsyncShutdown.js]
[test_event_files.js]
@@ -60,7 +62,7 @@ diff -up firefox-87.0/toolkit/crashreporter/test/unit/xpcshell.ini.testing firef
[test_crash_backgroundtask_moz_crash.js]
-@@ -112,4 +111,3 @@ head = head_crashreporter.js head_win64c
+@@ -121,4 +120,3 @@ head = head_crashreporter.js head_win64c
skip-if = !(os == 'win' && bits == 64 && processor == 'x86_64')
reason = Windows test specific to the x86-64 architecture
support-files = test_crash_win64cfi_not_a_pe.exe
diff --git a/firefox-tests-reftest.patch b/firefox-tests-reftest.patch
index 75f4db5..c3d6fa5 100644
--- a/firefox-tests-reftest.patch
+++ b/firefox-tests-reftest.patch
@@ -1,42 +1,42 @@
-diff -U0 firefox-90.0/dom/canvas/test/reftest/filters/reftest.list.firefox-tests-reftest firefox-90.0/dom/canvas/test/reftest/filters/reftest.list
---- firefox-90.0/dom/canvas/test/reftest/filters/reftest.list.firefox-tests-reftest 2021-07-05 18:19:58.000000000 +0200
-+++ firefox-90.0/dom/canvas/test/reftest/filters/reftest.list 2021-07-12 11:35:21.174278391 +0200
+diff -U0 firefox-91.0/dom/canvas/test/reftest/filters/reftest.list.firefox-tests-reftest firefox-91.0/dom/canvas/test/reftest/filters/reftest.list
+--- firefox-91.0/dom/canvas/test/reftest/filters/reftest.list.firefox-tests-reftest 2021-08-04 20:02:32.000000000 +0200
++++ firefox-91.0/dom/canvas/test/reftest/filters/reftest.list 2021-08-10 11:16:07.941749476 +0200
@@ -21 +21 @@
-== units-ex.html ref.html
+fuzzy-if(gtkWidget,0-255,0-100) == units-ex.html ref.html
-diff -U0 firefox-90.0/dom/html/reftests/autofocus/reftest.list.firefox-tests-reftest firefox-90.0/dom/html/reftests/autofocus/reftest.list
---- firefox-90.0/dom/html/reftests/autofocus/reftest.list.firefox-tests-reftest 2021-07-05 18:20:04.000000000 +0200
-+++ firefox-90.0/dom/html/reftests/autofocus/reftest.list 2021-07-12 11:35:21.174278391 +0200
+diff -U0 firefox-91.0/dom/html/reftests/autofocus/reftest.list.firefox-tests-reftest firefox-91.0/dom/html/reftests/autofocus/reftest.list
+--- firefox-91.0/dom/html/reftests/autofocus/reftest.list.firefox-tests-reftest 2021-08-04 20:02:33.000000000 +0200
++++ firefox-91.0/dom/html/reftests/autofocus/reftest.list 2021-08-10 11:16:07.941749476 +0200
@@ -7 +7 @@
-fuzzy-if(gtkWidget,0-18,0-1) needs-focus == textarea-load.html textarea-ref.html # One anti-aliased corner.
+fuzzy-if(gtkWidget,0-56,0-2) needs-focus == textarea-load.html textarea-ref.html # One anti-aliased corner.
-diff -U0 firefox-90.0/dom/html/reftests/reftest.list.firefox-tests-reftest firefox-90.0/dom/html/reftests/reftest.list
---- firefox-90.0/dom/html/reftests/reftest.list.firefox-tests-reftest 2021-07-12 11:35:21.174278391 +0200
-+++ firefox-90.0/dom/html/reftests/reftest.list 2021-07-12 12:30:17.981144490 +0200
+diff -U0 firefox-91.0/dom/html/reftests/reftest.list.firefox-tests-reftest firefox-91.0/dom/html/reftests/reftest.list
+--- firefox-91.0/dom/html/reftests/reftest.list.firefox-tests-reftest 2021-08-04 20:02:33.000000000 +0200
++++ firefox-91.0/dom/html/reftests/reftest.list 2021-08-10 11:16:07.941749476 +0200
@@ -46 +45,0 @@
-skip-if(isCoverageBuild) fuzzy(0-2,0-830) random-if(useDrawSnapshot) == bug917595-iframe-1.html bug917595-1-ref.html
-diff -U0 firefox-90.0/dom/media/test/reftest/reftest.list.firefox-tests-reftest firefox-90.0/dom/media/test/reftest/reftest.list
---- firefox-90.0/dom/media/test/reftest/reftest.list.firefox-tests-reftest 2021-07-12 11:35:26.666315412 +0200
-+++ firefox-90.0/dom/media/test/reftest/reftest.list 2021-07-12 12:34:06.390676369 +0200
+diff -U0 firefox-91.0/dom/media/test/reftest/reftest.list.firefox-tests-reftest firefox-91.0/dom/media/test/reftest/reftest.list
+--- firefox-91.0/dom/media/test/reftest/reftest.list.firefox-tests-reftest 2021-08-10 11:16:30.741184726 +0200
++++ firefox-91.0/dom/media/test/reftest/reftest.list 2021-08-10 11:28:25.927470045 +0200
@@ -1,9 +0,0 @@
--skip-if(Android) fuzzy-if(OSX,0-80,0-76800) fuzzy-if(appleSilicon,92-92,76799-76799) fuzzy-if(winWidget,0-62,0-76799) fuzzy-if(gtkWidget&&layersGPUAccelerated,0-70,0-644) HTTP(..) == short.mp4.firstframe.html short.mp4.firstframe-ref.html
--skip-if(Android) fuzzy-if(OSX,0-87,0-76797) fuzzy-if(appleSilicon,83-83,76797-76797) fuzzy-if(winWidget,0-60,0-76797) fuzzy-if(gtkWidget&&layersGPUAccelerated,0-60,0-1810) HTTP(..) == short.mp4.lastframe.html short.mp4.lastframe-ref.html
--skip-if(Android) skip-if(cocoaWidget) skip-if(winWidget) fuzzy-if(gtkWidget&&layersGPUAccelerated,0-57,0-4281) fuzzy-if(OSX,55-80,4173-4417) HTTP(..) == bipbop_300_215kbps.mp4.lastframe.html bipbop_300_215kbps.mp4.lastframe-ref.html
+-skip-if(Android) fuzzy-if(OSX,0-80,0-76800) fuzzy-if(appleSilicon,92-92,76799-76799) fuzzy-if(winWidget,0-62,0-76799) fuzzy-if(gtkWidget&&layersGPUAccelerated,0-70,0-2032) fuzzy-if(swgl,62-69,588-76737) HTTP(..) == short.mp4.firstframe.html short.mp4.firstframe-ref.html
+-skip-if(Android) fuzzy-if(OSX,0-87,0-76797) fuzzy-if(appleSilicon,83-83,76797-76797) fuzzy-if(winWidget,0-60,0-76797) fuzzy-if(gtkWidget&&layersGPUAccelerated,0-60,0-6070) fuzzy-if(swgl,52-76,1698-76545) HTTP(..) == short.mp4.lastframe.html short.mp4.lastframe-ref.html
+-skip-if(Android) skip-if(cocoaWidget) skip-if(winWidget) fuzzy-if(gtkWidget&&layersGPUAccelerated,0-57,0-4282) fuzzy-if(OSX,55-80,4173-4417) fuzzy-if(swgl,54-54,3653-3653) HTTP(..) == bipbop_300_215kbps.mp4.lastframe.html bipbop_300_215kbps.mp4.lastframe-ref.html
-skip-if(Android) fuzzy-if(OSX,0-25,0-175921) fuzzy-if(appleSilicon,49-49,176063-176063) fuzzy-if(winWidget,0-71,0-179198) fuzzy-if((/^Windows\x20NT\x2010\.0/.test(http.oscpu))&&(/^aarch64-msvc/.test(xulRuntime.XPCOMABI)),0-255,0-179500) HTTP(..) == gizmo.mp4.seek.html gizmo.mp4.55thframe-ref.html
-skip-if(Android) skip-if(MinGW) skip-if((/^Windows\x20NT\x2010\.0/.test(http.oscpu))&&(/^aarch64-msvc/.test(xulRuntime.XPCOMABI))) fuzzy(0-10,0-778236) == image-10bits-rendering-video.html image-10bits-rendering-ref.html
-skip-if(Android) skip-if(MinGW) skip-if((/^Windows\x20NT\x2010\.0/.test(http.oscpu))&&(/^aarch64-msvc/.test(xulRuntime.XPCOMABI))) fuzzy(0-10,0-778536) == image-10bits-rendering-90-video.html image-10bits-rendering-90-ref.html
--skip-if(Android) fuzzy(0-26,0-567562) fuzzy-if(appleSilicon,46-46,575885-575885) == image-10bits-rendering-720-video.html image-10bits-rendering-720-ref.html
+-skip-if(Android) fuzzy(0-27,0-573106) fuzzy-if(appleSilicon,46-46,575885-575885) == image-10bits-rendering-720-video.html image-10bits-rendering-720-ref.html
-skip-if(Android) fuzzy(0-31,0-573249) == image-10bits-rendering-720-90-video.html image-10bits-rendering-720-90-ref.html
-skip-if(Android) skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-84,0-771156) fails-if(useDrawSnapshot) == uneven_frame_duration_video.html uneven_frame_duration_video-ref.html # Skip on Windows 7 as the resolution of the video is too high for test machines and will fail in the decoder.
-diff -U0 firefox-90.0/dom/media/webvtt/test/reftest/reftest.list.firefox-tests-reftest firefox-90.0/dom/media/webvtt/test/reftest/reftest.list
---- firefox-90.0/dom/media/webvtt/test/reftest/reftest.list.firefox-tests-reftest 2021-07-05 18:20:04.000000000 +0200
-+++ firefox-90.0/dom/media/webvtt/test/reftest/reftest.list 2021-07-12 11:35:26.666315412 +0200
+diff -U0 firefox-91.0/dom/media/webvtt/test/reftest/reftest.list.firefox-tests-reftest firefox-91.0/dom/media/webvtt/test/reftest/reftest.list
+--- firefox-91.0/dom/media/webvtt/test/reftest/reftest.list.firefox-tests-reftest 2021-08-04 20:02:33.000000000 +0200
++++ firefox-91.0/dom/media/webvtt/test/reftest/reftest.list 2021-08-10 11:16:30.741184726 +0200
@@ -1,2 +0,0 @@
-skip-if(Android) fuzzy-if((/^Windows\x20NT\x2010\.0/.test(http.oscpu))&&(/^aarch64-msvc/.test(xulRuntime.XPCOMABI)),0-136,0-427680) == vtt_update_display_after_removed_cue.html vtt_update_display_after_removed_cue_ref.html
-skip-if(Android) fuzzy-if(winWidget,0-170,0-170) == vtt_overlapping_time.html vtt_overlapping_time-ref.html
-diff -U0 firefox-90.0/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-reftest firefox-90.0/gfx/layers/apz/test/reftest/reftest.list
---- firefox-90.0/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-reftest 2021-07-05 18:20:05.000000000 +0200
-+++ firefox-90.0/gfx/layers/apz/test/reftest/reftest.list 2021-07-12 12:35:18.788161922 +0200
+diff -U0 firefox-91.0/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-reftest firefox-91.0/gfx/layers/apz/test/reftest/reftest.list
+--- firefox-91.0/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-reftest 2021-08-04 20:02:39.000000000 +0200
++++ firefox-91.0/gfx/layers/apz/test/reftest/reftest.list 2021-08-10 11:16:30.741184726 +0200
@@ -6,6 +5,0 @@
-fuzzy-if(Android&&!swgl,0-1,0-2) fuzzy-if(Android&&swgl,3-3,4-4) fuzzy-if(webrender&&gtkWidget,1-8,8-32) fuzzy-if(webrender&&cocoaWidget,18-22,20-44) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-v.html async-scrollbar-1-v-ref.html
-fuzzy-if(Android&&!swgl,0-4,0-5) fuzzy-if(Android&&swgl,11-11,4-4) fuzzy-if(webrender&&gtkWidget,1-30,4-32) fuzzy-if(webrender&&cocoaWidget,18-22,20-44) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-h.html async-scrollbar-1-h-ref.html
@@ -47,9 +47,9 @@ diff -U0 firefox-90.0/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-ref
@@ -21 +15 @@
-# On desktop, even more fuzz is needed because thumb scaling is not exactly proportional: making the page twice as long
+# On desktop, even more fuzz is needed because thumb scaling is not exactly proportional: making the page twice as long
-diff -U0 firefox-90.0/image/test/reftest/downscaling/reftest.list.firefox-tests-reftest firefox-90.0/image/test/reftest/downscaling/reftest.list
---- firefox-90.0/image/test/reftest/downscaling/reftest.list.firefox-tests-reftest 2021-07-12 11:35:28.682329003 +0200
-+++ firefox-90.0/image/test/reftest/downscaling/reftest.list 2021-07-12 12:21:55.506769150 +0200
+diff -U0 firefox-91.0/image/test/reftest/downscaling/reftest.list.firefox-tests-reftest firefox-91.0/image/test/reftest/downscaling/reftest.list
+--- firefox-91.0/image/test/reftest/downscaling/reftest.list.firefox-tests-reftest 2021-08-04 20:02:39.000000000 +0200
++++ firefox-91.0/image/test/reftest/downscaling/reftest.list 2021-08-10 11:16:30.741184726 +0200
@@ -90,4 +89,0 @@
-# Skip on Android because it runs reftests via http, and moz-icon isn't
-# accessible from http/https origins anymore.
@@ -61,60 +61,50 @@ diff -U0 firefox-90.0/image/test/reftest/downscaling/reftest.list.firefox-tests-
-# Skip on Android because it runs reftests via http, and moz-icon isn't
-# accessible from http/https origins anymore.
-fuzzy(0-53,0-6391) fuzzy-if(appleSilicon,20-20,11605-11605) fuzzy-if(gtkWidget&&webrender,18-19,5502-5568) fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) skip-if(Android) == downscale-moz-icon-1.html downscale-moz-icon-1-ref.html # gtkWidget Bug 1592059
-diff -U0 firefox-90.0/layout/reftests/abs-pos/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/abs-pos/reftest.list
---- firefox-90.0/layout/reftests/abs-pos/reftest.list.firefox-tests-reftest 2021-07-05 18:20:19.000000000 +0200
-+++ firefox-90.0/layout/reftests/abs-pos/reftest.list 2021-07-12 11:35:28.682329003 +0200
+diff -U0 firefox-91.0/layout/reftests/abs-pos/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/abs-pos/reftest.list
+--- firefox-91.0/layout/reftests/abs-pos/reftest.list.firefox-tests-reftest 2021-08-04 20:02:52.000000000 +0200
++++ firefox-91.0/layout/reftests/abs-pos/reftest.list 2021-08-10 11:16:30.741184726 +0200
@@ -54 +54 @@
-fuzzy-if(gtkWidget,0-1,0-1) fuzzy-if(Android,0-9,0-185) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-140,0-144) == scrollframe-2.html scrollframe-2-ref.html #bug 756530
+fuzzy-if(gtkWidget,0-100,0-160) fuzzy-if(Android,0-9,0-185) == scrollframe-2.html scrollframe-2-ref.html #bug 756530
-diff -U0 firefox-90.0/layout/reftests/async-scrolling/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/async-scrolling/reftest.list
---- firefox-90.0/layout/reftests/async-scrolling/reftest.list.firefox-tests-reftest 2021-07-05 21:16:02.000000000 +0200
-+++ firefox-90.0/layout/reftests/async-scrolling/reftest.list 2021-07-12 12:26:00.137414899 +0200
+diff -U0 firefox-91.0/layout/reftests/async-scrolling/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/async-scrolling/reftest.list
+--- firefox-91.0/layout/reftests/async-scrolling/reftest.list.firefox-tests-reftest 2021-08-04 20:02:52.000000000 +0200
++++ firefox-91.0/layout/reftests/async-scrolling/reftest.list 2021-08-10 11:21:35.508635413 +0200
@@ -27 +27 @@
-fuzzy-if(Android,0-8,0-4) fuzzy-if(webrender&&gtkWidget,20-33,14-32) fuzzy-if(webrender&&cocoaWidget,9-21,20-44) skip-if(!asyncPan) == position-fixed-transformed-1.html position-fixed-transformed-1-ref.html # Bug 1604338
+fuzzy-if(Android,0-8,0-4) fuzzy-if(webrender&&gtkWidget,30-50,30-50) fuzzy-if(webrender&&cocoaWidget,21-21,44-44) skip-if(!asyncPan) == position-fixed-transformed-1.html position-fixed-transformed-1-ref.html # Bug 1604338
@@ -38 +38 @@
--skip-if(!asyncPan) fuzzy(0-2,0-2) fuzzy-if(cocoaWidget&&!webrender,1-1,7-16) fuzzy-if(gtkWidget&&!nativeThemePref,0-1,0-4) fuzzy-if(winWidget&&!nativeThemePref,0-1,0-51) == fixed-pos-scrollable-1.html fixed-pos-scrollable-1-ref.html
+-skip-if(!asyncPan) fuzzy(0-2,0-2) fuzzy-if(gtkWidget&&!nativeThemePref,0-1,0-4) fuzzy-if(winWidget&&!nativeThemePref,0-1,0-51) == fixed-pos-scrollable-1.html fixed-pos-scrollable-1-ref.html
+skip-if(!asyncPan) fuzzy(0-2,0-2) fuzzy-if(gtkWidget,0-5,0-5) fuzzy-if(cocoaWidget&&!webrender,0-10,0-16) == fixed-pos-scrollable-1.html fixed-pos-scrollable-1-ref.html
-@@ -52,2 +52,2 @@
--fuzzy-if(Android,0-6,0-4) fuzzy-if(skiaContent&&!Android,0-1,0-34) fuzzy-if(webrender&&gtkWidget,22-74,20-32) fuzzy-if(webrender&&cocoaWidget,6-7,18-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-1.html offscreen-clipped-blendmode-ref.html # Bug 1604338
--fuzzy-if(Android,0-6,0-4) fuzzy-if(webrender&&gtkWidget,22-74,20-32) fuzzy-if(webrender&&cocoaWidget,6-7,18-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-2.html offscreen-clipped-blendmode-ref.html # Bug 1604338
-+fuzzy-if(Android,0-6,0-4) fuzzy-if(skiaContent&&!Android,0-1,0-34) fuzzy-if(webrender&&gtkWidget,0-50,0-50) fuzzy-if(webrender&&cocoaWidget,7-7,38-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-1.html offscreen-clipped-blendmode-ref.html # Bug 1604338
-+fuzzy-if(Android,0-6,0-4) fuzzy-if(webrender&&gtkWidget,0-50,0-50) fuzzy-if(webrender&&cocoaWidget,7-7,38-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-2.html offscreen-clipped-blendmode-ref.html # Bug 1604338
-@@ -55,2 +55,2 @@
--fuzzy-if(Android,0-6,0-4) fuzzy-if(webrender&&gtkWidget,22-74,20-32) fuzzy-if(webrender&&cocoaWidget,6-7,18-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-4.html offscreen-clipped-blendmode-ref.html # Bug 1604338
--fuzzy-if(Android,0-7,0-1680) fuzzy-if(webrender&&gtkWidget,1-1,2-20) fuzzy-if(webrender&&cocoaWidget,1-2,10-18) skip-if(!asyncPan) == perspective-scrolling-1.html perspective-scrolling-1-ref.html # Bug 1604338
-+fuzzy-if(Android,0-6,0-4) fuzzy-if(webrender&&gtkWidget,0-50,0-50) fuzzy-if(webrender&&cocoaWidget,7-7,38-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-4.html offscreen-clipped-blendmode-ref.html # Bug 1604338
-+fuzzy-if(Android,0-7,0-1680) fuzzy-if(webrender&&gtkWidget&&!swgl,0-50,0-50) fuzzy-if(webrender&&cocoaWidget,1-2,16-18) skip-if(!asyncPan) == perspective-scrolling-1.html perspective-scrolling-1-ref.html # Bug 1604338
-@@ -58,2 +58,2 @@
+@@ -52,2 +51,0 @@
+-fuzzy-if(Android,0-6,0-4) fuzzy-if(skiaContent&&!Android,0-1,0-34) fuzzy-if(webrender&&gtkWidget,22-74,20-32) fuzzy-if(webrender&&cocoaWidget,6-7,18-39) fuzzy-if(swgl&&cocoaWidget&&isDebugBuild,0-7,0-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-1.html offscreen-clipped-blendmode-ref.html # Bug 1604338
+-fuzzy-if(Android,0-6,0-4) fuzzy-if(webrender&&gtkWidget,22-74,20-32) fuzzy-if(webrender&&cocoaWidget,6-7,18-39) fuzzy-if(swgl&&cocoaWidget&&isDebugBuild,0-7,0-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-2.html offscreen-clipped-blendmode-ref.html # Bug 1604338
+@@ -55,2 +52,0 @@
+-fuzzy-if(Android,0-6,0-4) fuzzy-if(webrender&&gtkWidget,22-74,20-32) fuzzy-if(webrender&&cocoaWidget,6-7,18-39) fuzzy-if(swgl&&cocoaWidget&&isDebugBuild,0-7,0-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-4.html offscreen-clipped-blendmode-ref.html # Bug 1604338
+-fuzzy-if(Android,0-7,0-1680) fuzzy-if(webrender&&gtkWidget,1-1,2-20) fuzzy-if(webrender&&cocoaWidget,1-2,10-18) fuzzy-if(swgl&&cocoaWidget&&isDebugBuild,0-2,0-18) skip-if(!asyncPan) == perspective-scrolling-1.html perspective-scrolling-1-ref.html # Bug 1604338
+@@ -58,2 +54,2 @@
-fuzzy-if(Android,0-19,0-4) fuzzy-if(webrender&&gtkWidget,8-13,12-32) fuzzy-if(webrender&&cocoaWidget,10-13,20-44) skip-if(!asyncPan) == perspective-scrolling-3.html perspective-scrolling-3-ref.html # Bug 1604338
-fuzzy-if(Android,0-7,0-4) fuzzy-if(webrender&&gtkWidget,18-30,14-32) fuzzy-if(webrender&&cocoaWidget,16-20,20-44) skip-if(!asyncPan) == perspective-scrolling-4.html perspective-scrolling-4-ref.html # Bug 1604338
+fuzzy-if(Android,0-19,0-4) fuzzy-if(webrender&&gtkWidget,0-50,0-50) fuzzy-if(webrender&&cocoaWidget,13-13,44-44) skip-if(!asyncPan) == perspective-scrolling-3.html perspective-scrolling-3-ref.html # Bug 1604338
+fuzzy-if(Android,0-7,0-4) fuzzy-if(webrender&&gtkWidget,0-50,0-50) fuzzy-if(webrender&&cocoaWidget,19-20,44-44) skip-if(!asyncPan) == perspective-scrolling-4.html perspective-scrolling-4-ref.html # Bug 1604338
-@@ -65,4 +65,4 @@
+@@ -65,4 +60,0 @@
-fuzzy-if(Android,0-19,0-4) fuzzy-if(webrender&&gtkWidget,12-19,12-32) fuzzy-if(webrender&&cocoaWidget,17-21,20-44) skip-if(!asyncPan) == fixed-pos-scrolled-clip-1.html fixed-pos-scrolled-clip-1-ref.html # Bug 1604338
--fuzzy-if(Android,0-44,0-10) fuzzy-if(webrender&&gtkWidget,16-26,26-64) fuzzy-if(webrender&&cocoaWidget,10-13,38-82) fuzzy-if(winWidget&&!nativeThemePref,0-4,0-36) skip-if(!asyncPan) == fixed-pos-scrolled-clip-2.html fixed-pos-scrolled-clip-2-ref.html # Bug 1604338
+-fuzzy-if(Android,0-44,0-10) fuzzy-if(Android&&webrender&&swgl,0-44,0-126) fuzzy-if(webrender&&gtkWidget,16-26,26-64) fuzzy-if(webrender&&cocoaWidget,10-13,38-82) fuzzy-if(winWidget&&!nativeThemePref,0-4,0-36) skip-if(!asyncPan) == fixed-pos-scrolled-clip-2.html fixed-pos-scrolled-clip-2-ref.html # Bug 1604338
-fuzzy-if(Android,0-6,0-8) fuzzy-if(webrender&&gtkWidget,17-28,24-60) fuzzy-if(webrender&&cocoaWidget,15-19,40-75) skip-if(!asyncPan) == fixed-pos-scrolled-clip-3.html fixed-pos-scrolled-clip-3-ref.html # Bug 1604338
-fuzzy-if(Android,0-6,0-8) fuzzy-if(webrender&&gtkWidget,17-29,24-60) fuzzy-if(webrender&&cocoaWidget,15-19,40-75) skip-if(!asyncPan) == fixed-pos-scrolled-clip-4.html fixed-pos-scrolled-clip-4-ref.html # Bug 1604338
-+fuzzy-if(Android,0-19,0-4) fuzzy-if(webrender&&gtkWidget,0-50,0-50) fuzzy-if(webrender&&cocoaWidget,21-21,44-44) skip-if(!asyncPan) == fixed-pos-scrolled-clip-1.html fixed-pos-scrolled-clip-1-ref.html # Bug 1604338
-+fuzzy-if(Android,0-44,0-10) fuzzy-if(webrender&&gtkWidget,0-100,0-100) fuzzy-if(webrender&&cocoaWidget,13-13,81-82) skip-if(!asyncPan) == fixed-pos-scrolled-clip-2.html fixed-pos-scrolled-clip-2-ref.html # Bug 1604338
-+fuzzy-if(Android,0-6,0-8) fuzzy-if(webrender&&gtkWidget,0-50,0-100) fuzzy-if(webrender&&cocoaWidget,18-19,70-75) skip-if(!asyncPan) == fixed-pos-scrolled-clip-3.html fixed-pos-scrolled-clip-3-ref.html # Bug 1604338
-+fuzzy-if(Android,0-6,0-8) fuzzy-if(webrender&&gtkWidget,0-50,0-100) fuzzy-if(webrender&&cocoaWidget,18-19,70-75) skip-if(!asyncPan) == fixed-pos-scrolled-clip-4.html fixed-pos-scrolled-clip-4-ref.html # Bug 1604338
-@@ -71 +71 @@
+@@ -71 +63 @@
-fuzzy-if(Android,0-8,0-4) fuzzy-if(webrender&&gtkWidget,16-25,12-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) skip-if(!asyncPan) == position-sticky-scrolled-clip-1.html position-sticky-scrolled-clip-1-ref.html # Bug 1604338
+fuzzy-if(Android,0-8,0-4) fuzzy-if(webrender&&gtkWidget,22-30,28-50) fuzzy-if(webrender&&cocoaWidget,16-16,44-44) skip-if(!asyncPan) == position-sticky-scrolled-clip-1.html position-sticky-scrolled-clip-1-ref.html # Bug 1604338
-@@ -73,6 +73,2 @@
+@@ -73,6 +64,0 @@
-fuzzy-if(Android,0-8,0-27) fuzzy-if(webrender&&cocoaWidget,9-11,20-44) skip-if(!asyncPan) == curtain-effect-1.html curtain-effect-1-ref.html
-fuzzy-if(Android,0-7,0-4) fuzzy-if(webrender&&gtkWidget,10-15,12-32) fuzzy-if(webrender&&cocoaWidget,5-9,20-42) skip-if(!asyncPan) == transformed-1.html transformed-1-ref.html # Bug 1604338
--fuzzy-if(Android&&!webrender,2-6,4-4) fuzzy-if(Android&&webrender,6-7,4-4) fuzzy-if(webrender&&gtkWidget,3-5,12-28) fuzzy-if(webrender&&cocoaWidget,5-6,18-38) skip-if(!asyncPan) == position-sticky-transformed-in-scrollframe-1.html position-sticky-transformed-in-scrollframe-1-ref.html # Bug 1604338
--fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,10-10,4-4) fuzzy-if(webrender&&gtkWidget,13-20,12-32) fuzzy-if(webrender&&cocoaWidget,12-16,20-44) skip-if(!asyncPan) == position-sticky-transformed-in-scrollframe-2.html position-sticky-transformed-in-scrollframe-2-ref.html # Bug 1604338
--fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,12-13,4-4) fuzzy-if(webrender&&gtkWidget,16-27,14-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) skip-if(!asyncPan) == position-sticky-in-transformed-scrollframe-1.html position-sticky-in-transformed-scrollframe-ref.html # Bug 1604338
--fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,12-13,4-4) fuzzy-if(webrender&&gtkWidget,16-27,14-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) skip-if(!asyncPan) == position-sticky-in-transformed-scrollframe-2.html position-sticky-in-transformed-scrollframe-ref.html # Bug 1604338
-+fuzzy-if(webrender&&gtkWidget,0-17,0-50) fuzzy-if(Android,0-8,0-27) fuzzy-if(webrender&&cocoaWidget,9-11,20-44) skip-if(!asyncPan) == curtain-effect-1.html curtain-effect-1-ref.html
-+fuzzy-if(webrender&&gtkWidget,10-16,28-41) fuzzy-if(Android,0-7,0-4) fuzzy-if(webrender&&gtkWidget,10-15,12-32) fuzzy-if(webrender&&cocoaWidget,5-9,20-42) skip-if(!asyncPan) == transformed-1.html transformed-1-ref.html # Bug 1604338
-diff -U0 firefox-90.0/layout/reftests/bidi/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/bidi/reftest.list
---- firefox-90.0/layout/reftests/bidi/reftest.list.firefox-tests-reftest 2021-07-05 18:20:20.000000000 +0200
-+++ firefox-90.0/layout/reftests/bidi/reftest.list 2021-07-12 11:35:28.683329010 +0200
+-fuzzy-if(Android&&!webrender,2-6,4-4) fuzzy-if(Android&&webrender,6-7,4-4) fuzzy-if(webrender&&gtkWidget,3-5,12-28) fuzzy-if(webrender&&cocoaWidget,5-6,18-38) skip-if(!asyncPan) fuzzy-if(swgl&&cocoaWidget&&isDebugBuild,0-6,0-38) == position-sticky-transformed-in-scrollframe-1.html position-sticky-transformed-in-scrollframe-1-ref.html # Bug 1604338
+-fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,10-10,4-449) fuzzy-if(webrender&&gtkWidget,13-20,12-32) fuzzy-if(webrender&&cocoaWidget,12-16,20-44) skip-if(!asyncPan) == position-sticky-transformed-in-scrollframe-2.html position-sticky-transformed-in-scrollframe-2-ref.html # Bug 1604338
+-fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,12-13,4-24) fuzzy-if(webrender&&gtkWidget,16-27,14-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) skip-if(!asyncPan) == position-sticky-in-transformed-scrollframe-1.html position-sticky-in-transformed-scrollframe-ref.html # Bug 1604338
+-fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,12-13,4-24) fuzzy-if(webrender&&gtkWidget,16-27,14-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) skip-if(!asyncPan) == position-sticky-in-transformed-scrollframe-2.html position-sticky-in-transformed-scrollframe-ref.html # Bug 1604338
+diff -U0 firefox-91.0/layout/reftests/bidi/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/bidi/reftest.list
+--- firefox-91.0/layout/reftests/bidi/reftest.list.firefox-tests-reftest 2021-08-04 20:03:02.000000000 +0200
++++ firefox-91.0/layout/reftests/bidi/reftest.list 2021-08-10 11:16:30.742184701 +0200
@@ -3 +3 @@
-fuzzy-if(cocoaWidget,0-1,0-1) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == bdi-element.html bdi-element-ref.html # Bug 1392106
+fuzzy(0-1,0-1) fuzzy-if(cocoaWidget,0-1,0-1) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == bdi-element.html bdi-element-ref.html # Bug 1392106
@@ -140,15 +130,15 @@ diff -U0 firefox-90.0/layout/reftests/bidi/reftest.list.firefox-tests-reftest fi
+fuzzy(0-254,0-231) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2c-rtl.html brackets-2c-rtl-ref.html # Bug 1392106
+fuzzy(0-1,0-8) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-3a-ltr.html brackets-3a-ltr-ref.html # Bug 1392106
+fuzzy(0-1,0-6) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-3a-rtl.html brackets-3a-rtl-ref.html # Bug 1392106
-diff -U0 firefox-90.0/layout/reftests/border-radius/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/border-radius/reftest.list
---- firefox-90.0/layout/reftests/border-radius/reftest.list.firefox-tests-reftest 2021-07-05 21:16:03.000000000 +0200
-+++ firefox-90.0/layout/reftests/border-radius/reftest.list 2021-07-12 11:35:28.683329010 +0200
+diff -U0 firefox-91.0/layout/reftests/border-radius/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/border-radius/reftest.list
+--- firefox-91.0/layout/reftests/border-radius/reftest.list.firefox-tests-reftest 2021-08-04 20:03:02.000000000 +0200
++++ firefox-91.0/layout/reftests/border-radius/reftest.list 2021-08-10 11:16:30.742184701 +0200
@@ -54 +54 @@
-fuzzy-if(Android,0-8,0-469) fuzzy-if(skiaContent,0-21,0-76) fuzzy-if(winWidget,0-144,0-335) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == clipping-6.html clipping-6-ref.html # PaintedLayer and MaskLayer with transforms that aren't identical, bug 1392106
+fuzzy-if(gtkWidget,0-80,0-300) fuzzy-if(Android,0-8,0-469) fuzzy-if(winWidget,0-144,0-335) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == clipping-6.html clipping-6-ref.html # PaintedLayer and MaskLayer with transforms that aren't identical, bug 1392106
-diff -U0 firefox-90.0/layout/reftests/bugs/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/bugs/reftest.list
---- firefox-90.0/layout/reftests/bugs/reftest.list.firefox-tests-reftest 2021-07-05 21:16:02.000000000 +0200
-+++ firefox-90.0/layout/reftests/bugs/reftest.list 2021-07-12 11:35:28.683329010 +0200
+diff -U0 firefox-91.0/layout/reftests/bugs/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/bugs/reftest.list
+--- firefox-91.0/layout/reftests/bugs/reftest.list.firefox-tests-reftest 2021-08-04 20:02:52.000000000 +0200
++++ firefox-91.0/layout/reftests/bugs/reftest.list 2021-08-10 11:26:39.242111782 +0200
@@ -464 +463,0 @@
-== 341043-1a.html 341043-1-ref.html
@@ -553 +552 @@
@@ -166,39 +156,38 @@ diff -U0 firefox-90.0/layout/reftests/bugs/reftest.list.firefox-tests-reftest fi
@@ -1000 +999 @@
-== 422394-1.html 422394-1-ref.html
+fuzzy-if(gtkWidget,0-255,0-640) == 422394-1.html 422394-1-ref.html
-@@ -1175 +1174 @@
+@@ -1172 +1171 @@
-fails-if(Android||cocoaWidget||winWidget) == chrome://reftest/content/bugs/456147.xhtml 456147-ref.html # bug 458047
+fuzzy-if(gtkWidget,0-255,0-5167) fails-if(Android||cocoaWidget||winWidget) == chrome://reftest/content/bugs/456147.xhtml 456147-ref.html # bug 458047
-@@ -1385 +1384 @@
+@@ -1382 +1381 @@
-fuzzy-if(winWidget&&nativeThemePref&&webrender,82-82,84-84) fuzzy-if(cocoaWidget&&nativeThemePref&&webrender,46-46,58-58) == 513153-2a.html 513153-2-ref.html
+fuzzy(0-61,0-172) fuzzy-if(webrender&&winWidget,82-82,84-84) == 513153-2a.html 513153-2-ref.html
-@@ -1823 +1822 @@
+@@ -1820 +1819 @@
-== 1062108-1.html 1062108-1-ref.html
+fuzzy-if(gtkWidget,0-255,0-53) == 1062108-1.html 1062108-1-ref.html
-@@ -2025 +2023,0 @@
+@@ -2022 +2020,0 @@
-!= 1404057.html 1404057-noref.html
-@@ -2065,2 +2063 @@
--fuzzy-if(!webrender,1-5,66-547) fuzzy-if(geckoview&&!webrender,1-2,64-141) fuzzy-if(winWidget&&swgl,1-1,16-16) fuzzy-if(cocoaWidget&&swgl,1-1,32-32) == 1529992-1.html 1529992-1-ref.html
--fuzzy-if(!webrender,0-6,0-34) fuzzy-if(Android,9-14,44-60) fails-if(webrender) == 1529992-2.html 1529992-2-ref.html
-+fuzzy(0-13,0-154) fuzzy-if(Android,9-14,44-60) fails-if(webrender) == 1529992-2.html 1529992-2-ref.html
-@@ -2069 +2066 @@
+@@ -2062,2 +2059,0 @@
+-fuzzy-if(!webrender,1-5,66-547) fuzzy-if(geckoview&&!webrender,1-2,64-141) fuzzy-if(winWidget&&swgl,1-1,12-16) fuzzy-if(cocoaWidget&&swgl,1-1,32-32) fuzzy-if(useDrawSnapshot&&webrender,3-3,459-459) == 1529992-1.html 1529992-1-ref.html
+-fuzzy-if(!webrender,0-6,0-34) fuzzy-if(Android,9-14,44-60) fails-if(!useDrawSnapshot&&webrender) == 1529992-2.html 1529992-2-ref.html
+@@ -2066 +2062 @@
-skip-if(!asyncPan) == 1544895.html 1544895-ref.html
+fuzzy-if(gtkWidget,0-252,0-24) skip-if(!asyncPan) == 1544895.html 1544895-ref.html
-@@ -2082 +2079 @@
+@@ -2079 +2075 @@
-fuzzy-if(winWidget&&webrender,0-31,0-3) fuzzy-if(geckoview&&webrender,0-93,0-87) == 1562733-rotated-nastaliq-2.html 1562733-rotated-nastaliq-2-ref.html
+fuzzy(0-30,0-2) fuzzy-if(winWidget&&webrender,0-31,0-3) fuzzy-if(geckoview&&webrender,0-93,0-87) == 1562733-rotated-nastaliq-2.html 1562733-rotated-nastaliq-2-ref.html
-diff -U0 firefox-90.0/layout/reftests/canvas/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/canvas/reftest.list
---- firefox-90.0/layout/reftests/canvas/reftest.list.firefox-tests-reftest 2021-07-05 18:20:12.000000000 +0200
-+++ firefox-90.0/layout/reftests/canvas/reftest.list 2021-07-12 11:35:28.684329017 +0200
+diff -U0 firefox-91.0/layout/reftests/canvas/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/canvas/reftest.list
+--- firefox-91.0/layout/reftests/canvas/reftest.list.firefox-tests-reftest 2021-08-04 20:03:02.000000000 +0200
++++ firefox-91.0/layout/reftests/canvas/reftest.list 2021-08-10 11:16:30.743184676 +0200
@@ -51,2 +50,0 @@
-!= text-font-lang.html text-font-lang-notref.html
-
@@ -54 +52 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-small-caps-1.html text-small-caps-1-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-255,0-2304) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-small-caps-1.html text-small-caps-1-ref.html # Bug 1392106
-diff -U0 firefox-90.0/layout/reftests/css-break/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/css-break/reftest.list
---- firefox-90.0/layout/reftests/css-break/reftest.list.firefox-tests-reftest 2021-07-05 18:20:20.000000000 +0200
-+++ firefox-90.0/layout/reftests/css-break/reftest.list 2021-07-12 11:35:28.684329017 +0200
+diff -U0 firefox-91.0/layout/reftests/css-break/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/css-break/reftest.list
+--- firefox-91.0/layout/reftests/css-break/reftest.list.firefox-tests-reftest 2021-08-04 20:03:02.000000000 +0200
++++ firefox-91.0/layout/reftests/css-break/reftest.list 2021-08-10 11:16:30.743184676 +0200
@@ -1,3 +1,3 @@
-== box-decoration-break-1.html box-decoration-break-1-ref.html
-fuzzy(0-1,0-20) fuzzy-if(skiaContent,0-1,0-700) == box-decoration-break-with-inset-box-shadow-1.html box-decoration-break-with-inset-box-shadow-1-ref.html
@@ -206,15 +195,15 @@ diff -U0 firefox-90.0/layout/reftests/css-break/reftest.list.firefox-tests-refte
+fuzzy-if(gtkWidget,0-255,0-4972) == box-decoration-break-1.html box-decoration-break-1-ref.html
+fuzzy-if(gtkWidget,0-255,0-22330) fuzzy-if(skiaContent,0-1,0-700) == box-decoration-break-with-inset-box-shadow-1.html box-decoration-break-with-inset-box-shadow-1-ref.html
+skip-if(verify) fuzzy(0-75,0-460) fuzzy-if(skiaContent,0-64,0-484) fuzzy-if(Android,0-70,0-1330) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == box-decoration-break-with-outset-box-shadow-1.html box-decoration-break-with-outset-box-shadow-1-ref.html # Bug 1386543, bug 1392106
-diff -U0 firefox-90.0/layout/reftests/css-placeholder/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/css-placeholder/reftest.list
---- firefox-90.0/layout/reftests/css-placeholder/reftest.list.firefox-tests-reftest 2021-07-05 18:20:12.000000000 +0200
-+++ firefox-90.0/layout/reftests/css-placeholder/reftest.list 2021-07-12 11:35:28.684329017 +0200
+diff -U0 firefox-91.0/layout/reftests/css-placeholder/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/css-placeholder/reftest.list
+--- firefox-91.0/layout/reftests/css-placeholder/reftest.list.firefox-tests-reftest 2021-08-04 20:03:02.000000000 +0200
++++ firefox-91.0/layout/reftests/css-placeholder/reftest.list 2021-08-10 11:16:30.743184676 +0200
@@ -5 +5 @@
-fuzzy-if(gtkWidget&&nativeThemePref,255-255,1376-1881) == css-simple-styling.html css-simple-styling-ref.html # gtkWidget, Bug 1600749
+fuzzy-if(gtkWidget&&nativeThemePref,255-255,1300-1881) == css-simple-styling.html css-simple-styling-ref.html # gtkWidget, Bug 1600749
-diff -U0 firefox-90.0/layout/reftests/css-ruby/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/css-ruby/reftest.list
---- firefox-90.0/layout/reftests/css-ruby/reftest.list.firefox-tests-reftest 2021-07-05 18:20:19.000000000 +0200
-+++ firefox-90.0/layout/reftests/css-ruby/reftest.list 2021-07-12 11:35:28.684329017 +0200
+diff -U0 firefox-91.0/layout/reftests/css-ruby/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/css-ruby/reftest.list
+--- firefox-91.0/layout/reftests/css-ruby/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/css-ruby/reftest.list 2021-08-10 11:16:30.743184676 +0200
@@ -17,4 +17,4 @@
-== relative-positioning-2.html relative-positioning-2-ref.html
-== ruby-position-horizontal.html ruby-position-horizontal-ref.html
@@ -230,15 +219,15 @@ diff -U0 firefox-90.0/layout/reftests/css-ruby/reftest.list.firefox-tests-reftes
@@ -28 +28 @@
-pref(layout.css.ruby.intercharacter.enabled,true) == ruby-intercharacter-2.htm ruby-intercharacter-2-ref.htm
+fuzzy-if(gtkWidget,0-255,0-219) pref(layout.css.ruby.intercharacter.enabled,true) == ruby-intercharacter-2.htm ruby-intercharacter-2-ref.htm
-diff -U0 firefox-90.0/layout/reftests/first-letter/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/first-letter/reftest.list
---- firefox-90.0/layout/reftests/first-letter/reftest.list.firefox-tests-reftest 2021-07-05 18:20:25.000000000 +0200
-+++ firefox-90.0/layout/reftests/first-letter/reftest.list 2021-07-12 11:35:28.684329017 +0200
+diff -U0 firefox-91.0/layout/reftests/first-letter/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/first-letter/reftest.list
+--- firefox-91.0/layout/reftests/first-letter/reftest.list.firefox-tests-reftest 2021-08-04 20:03:03.000000000 +0200
++++ firefox-91.0/layout/reftests/first-letter/reftest.list 2021-08-10 11:16:30.743184676 +0200
@@ -64 +64 @@
-fails-if(winWidget||cocoaWidget) fails-if(geckoview) == 617869-1.html 617869-1-ref.html # Bug 1558513 for GV
+fuzzy-if(gtkWidget,0-260,0-900) fails-if(winWidget||cocoaWidget) fails-if(geckoview) == 617869-1.html 617869-1-ref.html # Bug 1558513 for GV
-diff -U0 firefox-90.0/layout/reftests/font-face/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/font-face/reftest.list
---- firefox-90.0/layout/reftests/font-face/reftest.list.firefox-tests-reftest 2021-07-05 18:20:19.000000000 +0200
-+++ firefox-90.0/layout/reftests/font-face/reftest.list 2021-07-12 11:35:28.684329017 +0200
+diff -U0 firefox-91.0/layout/reftests/font-face/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/font-face/reftest.list
+--- firefox-91.0/layout/reftests/font-face/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/font-face/reftest.list 2021-08-10 11:16:30.743184676 +0200
@@ -9 +9 @@
-== name-override-simple-1.html name-override-simple-1-ref.html
+fuzzy-if(gtkWidget,0-112,0-107) == name-override-simple-1.html name-override-simple-1-ref.html
@@ -274,9 +263,9 @@ diff -U0 firefox-90.0/layout/reftests/font-face/reftest.list.firefox-tests-refte
@@ -204 +203 @@
-# Currently Windows 7 and macOS all fail on
+# Currently Windows 7 and macOS all fail on
-diff -U0 firefox-90.0/layout/reftests/font-matching/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/font-matching/reftest.list
---- firefox-90.0/layout/reftests/font-matching/reftest.list.firefox-tests-reftest 2021-07-05 18:20:20.000000000 +0200
-+++ firefox-90.0/layout/reftests/font-matching/reftest.list 2021-07-12 11:35:28.684329017 +0200
+diff -U0 firefox-91.0/layout/reftests/font-matching/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/font-matching/reftest.list
+--- firefox-91.0/layout/reftests/font-matching/reftest.list.firefox-tests-reftest 2021-08-04 20:02:52.000000000 +0200
++++ firefox-91.0/layout/reftests/font-matching/reftest.list 2021-08-10 11:16:30.743184676 +0200
@@ -124 +124 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-2.html italic-oblique-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-104,0-1836) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-2.html italic-oblique-ref.html # Bug 1392106
@@ -288,59 +277,56 @@ diff -U0 firefox-90.0/layout/reftests/font-matching/reftest.list.firefox-tests-r
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-9.html italic-oblique-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-104,0-1836) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-8.html italic-oblique-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-104,0-1836) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-9.html italic-oblique-ref.html # Bug 1392106
-diff -U0 firefox-90.0/layout/reftests/forms/fieldset/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/forms/fieldset/reftest.list
---- firefox-90.0/layout/reftests/forms/fieldset/reftest.list.firefox-tests-reftest 2021-07-05 21:16:02.000000000 +0200
-+++ firefox-90.0/layout/reftests/forms/fieldset/reftest.list 2021-07-12 11:35:28.685329024 +0200
-@@ -8 +8 @@
--fuzzy-if(winWidget&&!layersGPUAccelerated,0-142,0-276) == positioned-container-1.html positioned-container-1-ref.html
-+fuzzy-if(gtkWidget,0-100,0-305) fuzzy-if(winWidget&&!layersGPUAccelerated,0-142,0-276) == positioned-container-1.html positioned-container-1-ref.html
-diff -U0 firefox-90.0/layout/reftests/forms/input/checkbox/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/forms/input/checkbox/reftest.list
---- firefox-90.0/layout/reftests/forms/input/checkbox/reftest.list.firefox-tests-reftest 2021-07-05 18:20:19.000000000 +0200
-+++ firefox-90.0/layout/reftests/forms/input/checkbox/reftest.list 2021-07-12 11:35:28.685329024 +0200
+diff -U0 firefox-91.0/layout/reftests/forms/fieldset/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/forms/fieldset/reftest.list
+--- firefox-91.0/layout/reftests/forms/fieldset/reftest.list.firefox-tests-reftest 2021-08-10 11:16:30.744184651 +0200
++++ firefox-91.0/layout/reftests/forms/fieldset/reftest.list 2021-08-10 11:23:23.585958273 +0200
+@@ -8 +7,0 @@
+-fuzzy-if(!layersGPUAccelerated,0-142,0-276) == positioned-container-1.html positioned-container-1-ref.html
+diff -U0 firefox-91.0/layout/reftests/forms/input/checkbox/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/forms/input/checkbox/reftest.list
+--- firefox-91.0/layout/reftests/forms/input/checkbox/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/forms/input/checkbox/reftest.list 2021-08-10 11:16:30.744184651 +0200
@@ -18 +18 @@
-skip-if((OSX||winWidget)&&nativeThemePref) fuzzy-if(gtkWidget&&nativeThemePref,25-25,32-32) fails-if(Android&&nativeThemePref) == checkbox-clamp-02.html checkbox-clamp-02-ref.html
+skip-if(OSX||winWidget) fails-if(geckoview&&webrender) fuzzy-if(gtkWidget&&nativeThemePref,12-25,25-32) fails-if(Android) == checkbox-clamp-02.html checkbox-clamp-02-ref.html
-diff -U0 firefox-90.0/layout/reftests/forms/input/radio/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/forms/input/radio/reftest.list
---- firefox-90.0/layout/reftests/forms/input/radio/reftest.list.firefox-tests-reftest 2021-07-05 18:20:25.000000000 +0200
-+++ firefox-90.0/layout/reftests/forms/input/radio/reftest.list 2021-07-12 11:35:28.685329024 +0200
+diff -U0 firefox-91.0/layout/reftests/forms/input/radio/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/forms/input/radio/reftest.list
+--- firefox-91.0/layout/reftests/forms/input/radio/reftest.list.firefox-tests-reftest 2021-08-04 20:02:52.000000000 +0200
++++ firefox-91.0/layout/reftests/forms/input/radio/reftest.list 2021-08-10 11:16:30.744184651 +0200
@@ -9 +9 @@
-skip-if(OSX||winWidget||Android) fuzzy-if(gtkWidget&&nativeThemePref,24-24,16-16) == radio-clamp-02.html radio-clamp-02-ref.html # gtkWidget, Bug 1599622
+skip-if(OSX||winWidget||Android) fuzzy-if(gtkWidget&&nativeThemePref,10-24,16-16) == radio-clamp-02.html radio-clamp-02-ref.html # gtkWidget, Bug 1599622
-diff -U0 firefox-90.0/layout/reftests/forms/placeholder/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/forms/placeholder/reftest.list
---- firefox-90.0/layout/reftests/forms/placeholder/reftest.list.firefox-tests-reftest 2021-07-05 18:20:25.000000000 +0200
-+++ firefox-90.0/layout/reftests/forms/placeholder/reftest.list 2021-07-12 11:35:28.685329024 +0200
+diff -U0 firefox-91.0/layout/reftests/forms/placeholder/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/forms/placeholder/reftest.list
+--- firefox-91.0/layout/reftests/forms/placeholder/reftest.list.firefox-tests-reftest 2021-08-04 20:02:52.000000000 +0200
++++ firefox-91.0/layout/reftests/forms/placeholder/reftest.list 2021-08-10 11:16:30.744184651 +0200
@@ -21 +21 @@
-fuzzy-if(winWidget,0-160,0-10) fuzzy-if(Android,0-160,0-41) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-146,0-317) fuzzy-if(OSX==1010&&browserIsRemote,0-1,0-8) == placeholder-6.html placeholder-overflow-ref.html
+fuzzy-if(gtkWidget,0-255,0-341) fuzzy-if(winWidget,0-160,0-10) fuzzy-if(Android,0-160,0-41) fuzzy-if(OSX==1010&&browserIsRemote,0-1,0-8) == placeholder-6.html placeholder-overflow-ref.html
-diff -U0 firefox-90.0/layout/reftests/forms/textbox/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/forms/textbox/reftest.list
---- firefox-90.0/layout/reftests/forms/textbox/reftest.list.firefox-tests-reftest 2021-07-05 21:16:02.000000000 +0200
-+++ firefox-90.0/layout/reftests/forms/textbox/reftest.list 2021-07-12 11:35:28.685329024 +0200
-@@ -4 +4 @@
--fuzzy-if(winWidget,0-1,0-3) skip-if(cocoaWidget||Android) fails-if(webrender) == chrome://reftest/content/forms/textbox/accesskey-2.xhtml chrome://reftest/content/forms/textbox/accesskey-2-ref.xhtml
-+fuzzy-if(gtkWidget,0-1,0-21) fuzzy-if(winWidget,0-1,0-3) skip-if(cocoaWidget||Android) fails-if(webrender) == chrome://reftest/content/forms/textbox/accesskey-2.xhtml chrome://reftest/content/forms/textbox/accesskey-2-ref.xhtml
-@@ -8 +8 @@
--fuzzy-if(winWidget,0-1,0-3) skip-if(cocoaWidget||Android) fails-if(webrender&&!Android) == chrome://reftest/content/forms/textbox/accesskey-4.xhtml chrome://reftest/content/forms/textbox/accesskey-4-ref.xhtml
-+fuzzy-if(gtkWidget,0-1,0-21) fuzzy-if(winWidget,0-1,0-3) skip-if(cocoaWidget||Android) fails-if(webrender&&!Android) == chrome://reftest/content/forms/textbox/accesskey-4.xhtml chrome://reftest/content/forms/textbox/accesskey-4-ref.xhtml
-diff -U0 firefox-90.0/layout/reftests/generated-content/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/generated-content/reftest.list
---- firefox-90.0/layout/reftests/generated-content/reftest.list.firefox-tests-reftest 2021-07-05 18:20:20.000000000 +0200
-+++ firefox-90.0/layout/reftests/generated-content/reftest.list 2021-07-12 11:35:28.685329024 +0200
+diff -U0 firefox-91.0/layout/reftests/forms/textbox/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/forms/textbox/reftest.list
+--- firefox-91.0/layout/reftests/forms/textbox/reftest.list.firefox-tests-reftest 2021-08-10 11:16:30.744184651 +0200
++++ firefox-91.0/layout/reftests/forms/textbox/reftest.list 2021-08-10 11:24:23.139483108 +0200
+@@ -4 +3,0 @@
+-fuzzy-if(winWidget,0-1,0-3) skip-if(cocoaWidget||Android) fails-if(!useDrawSnapshot&&webrender) == chrome://reftest/content/forms/textbox/accesskey-2.xhtml chrome://reftest/content/forms/textbox/accesskey-2-ref.xhtml
+@@ -8 +6,0 @@
+-fuzzy-if(winWidget,0-1,0-3) skip-if(cocoaWidget||Android) fails-if(!useDrawSnapshot&&webrender&&!Android) == chrome://reftest/content/forms/textbox/accesskey-4.xhtml chrome://reftest/content/forms/textbox/accesskey-4-ref.xhtml
+diff -U0 firefox-91.0/layout/reftests/generated-content/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/generated-content/reftest.list
+--- firefox-91.0/layout/reftests/generated-content/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/generated-content/reftest.list 2021-08-10 11:16:30.744184651 +0200
@@ -16 +16 @@
-fuzzy-if(OSX==1010,0-1,0-10) == quotes-001.xml quotes-001-ref.xml
+fuzzy(0-128,0-737) fuzzy-if(OSX==1010,0-1,0-10) == quotes-001.xml quotes-001-ref.xml
-diff -U0 firefox-90.0/layout/reftests/high-contrast/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/high-contrast/reftest.list
---- firefox-90.0/layout/reftests/high-contrast/reftest.list.firefox-tests-reftest 2021-07-05 21:16:02.000000000 +0200
-+++ firefox-90.0/layout/reftests/high-contrast/reftest.list 2021-07-12 11:35:28.685329024 +0200
+diff -U0 firefox-91.0/layout/reftests/high-contrast/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/high-contrast/reftest.list
+--- firefox-91.0/layout/reftests/high-contrast/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/high-contrast/reftest.list 2021-08-10 11:16:30.744184651 +0200
@@ -22 +22 @@
-fuzzy-if(cocoaWidget,255-255,1495-1495) fuzzy-if(winWidget,255-255,353-353) fuzzy-if(Android,255-255,700-700) == backplate-bg-image-010.html backplate-bg-image-010-ref.html
+fuzzy-if(gtkWidget,0-255,0-1495) fuzzy-if(cocoaWidget,255-255,1495-1495) fuzzy-if(winWidget,255-255,353-353) fuzzy-if(Android,255-255,700-700) == backplate-bg-image-010.html backplate-bg-image-010-ref.html
-diff -U0 firefox-90.0/layout/reftests/indic-shaping/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/indic-shaping/reftest.list
---- firefox-90.0/layout/reftests/indic-shaping/reftest.list.firefox-tests-reftest 2021-07-05 18:20:24.000000000 +0200
-+++ firefox-90.0/layout/reftests/indic-shaping/reftest.list 2021-07-12 11:35:28.685329024 +0200
+diff -U0 firefox-91.0/layout/reftests/indic-shaping/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/indic-shaping/reftest.list
+--- firefox-91.0/layout/reftests/indic-shaping/reftest.list.firefox-tests-reftest 2021-08-04 20:02:53.000000000 +0200
++++ firefox-91.0/layout/reftests/indic-shaping/reftest.list 2021-08-10 11:16:30.744184651 +0200
@@ -12 +11,0 @@
-fuzzy-if(gtkWidget,255-255,46-46) == gujarati-3b.html gujarati-3-ref.html # gtkWidget, Bug 1600777
-diff -U0 firefox-90.0/layout/reftests/mathml/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/mathml/reftest.list
---- firefox-90.0/layout/reftests/mathml/reftest.list.firefox-tests-reftest 2021-07-05 18:20:31.000000000 +0200
-+++ firefox-90.0/layout/reftests/mathml/reftest.list 2021-07-12 11:35:28.686329031 +0200
+diff -U0 firefox-91.0/layout/reftests/mathml/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/mathml/reftest.list
+--- firefox-91.0/layout/reftests/mathml/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/mathml/reftest.list 2021-08-10 11:16:30.745184627 +0200
@@ -26 +26 @@
-random-if(smallScreen&&Android) fuzzy(0-255,0-200) fuzzy-if(geckoview&&webrender,201-216,200-250) fuzzy-if(webrender&&winWidget,114-255,245-361) fuzzy-if(webrender&&OSX,79-153,240-250) == mirror-op-1.html mirror-op-1-ref.html
+random-if(smallScreen&&Android) fuzzy(0-255,0-350) fuzzy-if(geckoview&&webrender,201-216,312-316) fuzzy-if(webrender&&winWidget,114-255,245-361) fuzzy-if(webrender&&OSX,79-153,307-314) == mirror-op-1.html mirror-op-1-ref.html
@@ -351,9 +337,9 @@ diff -U0 firefox-90.0/layout/reftests/mathml/reftest.list.firefox-tests-reftest
-fuzzy-if(skiaContent,0-1,0-80) fuzzy-if(Android,0-255,0-105) fuzzy-if(gtkWidget,255-255,96-96) skip-if(winWidget) == multiscripts-1.html multiscripts-1-ref.html # Windows: bug 1314684; Android: bug 1392254; Linux: bug 1599638
@@ -256 +254,0 @@
-fails-if(winWidget) fuzzy-if(gtkWidget,255-255,776226-776226) == subscript-italic-correction.html subscript-italic-correction-ref.html # bug 961482 (Windows), bug 1599640 (Linux)
-diff -U0 firefox-90.0/layout/reftests/position-dynamic-changes/relative/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/position-dynamic-changes/relative/reftest.list
---- firefox-90.0/layout/reftests/position-dynamic-changes/relative/reftest.list.firefox-tests-reftest 2021-07-05 18:20:19.000000000 +0200
-+++ firefox-90.0/layout/reftests/position-dynamic-changes/relative/reftest.list 2021-07-12 11:35:28.686329031 +0200
+diff -U0 firefox-91.0/layout/reftests/position-dynamic-changes/relative/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/position-dynamic-changes/relative/reftest.list
+--- firefox-91.0/layout/reftests/position-dynamic-changes/relative/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/position-dynamic-changes/relative/reftest.list 2021-08-10 11:16:30.745184627 +0200
@@ -1,4 +1,4 @@
-fuzzy-if(cocoaWidget,0-1,0-2) fuzzy-if(d2d,0-47,0-26) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-169,0-970) == move-right-bottom.html move-right-bottom-ref.html
-fuzzy-if(cocoaWidget,0-1,0-2) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-169,0-970) == move-top-left.html move-top-left-ref.html # Bug 688545
@@ -363,16 +349,16 @@ diff -U0 firefox-90.0/layout/reftests/position-dynamic-changes/relative/reftest.
+fuzzy-if(gtkWidget,0-99,0-1254) fuzzy-if(cocoaWidget,0-1,0-2) == move-top-left.html move-top-left-ref.html # Bug 688545
+fuzzy-if(gtkWidget,0-103,0-637) fuzzy-if(cocoaWidget,0-1,0-3) == move-right-bottom-table.html move-right-bottom-table-ref.html
+fuzzy-if(gtkWidget,0-103,0-637) fuzzy-if(cocoaWidget,0-1,0-3) == move-top-left-table.html move-top-left-table-ref.html # Bug 688545
-diff -U0 firefox-90.0/layout/reftests/position-sticky/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/position-sticky/reftest.list
---- firefox-90.0/layout/reftests/position-sticky/reftest.list.firefox-tests-reftest 2021-07-12 11:35:28.686329031 +0200
-+++ firefox-90.0/layout/reftests/position-sticky/reftest.list 2021-07-12 12:28:07.464269144 +0200
+diff -U0 firefox-91.0/layout/reftests/position-sticky/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/position-sticky/reftest.list
+--- firefox-91.0/layout/reftests/position-sticky/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/position-sticky/reftest.list 2021-08-10 11:16:30.745184627 +0200
@@ -53,3 +52,0 @@
-fuzzy-if(Android,0-5,0-4) fuzzy-if(webrender&&gtkWidget,10-17,12-32) fuzzy-if(webrender&&cocoaWidget,7-8,18-42) skip-if(!asyncPan) fails-if(useDrawSnapshot) == transformed-2.html transformed-2-ref.html # Bug 1604644
-skip-if(!asyncPan) fuzzy-if(Android,0-10,0-4) fuzzy-if(webrender&&gtkWidget,19-30,12-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) fails-if(useDrawSnapshot) == nested-sticky-1.html nested-sticky-1-ref.html # Bug 1604644
-skip-if(!asyncPan) fuzzy-if(Android,0-10,0-4) fuzzy-if(webrender&&gtkWidget,19-30,12-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),0-4,0-104) fails-if(useDrawSnapshot) == nested-sticky-2.html nested-sticky-2-ref.html # Bug 1604644
-diff -U0 firefox-90.0/layout/reftests/reftest-sanity/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/reftest-sanity/reftest.list
---- firefox-90.0/layout/reftests/reftest-sanity/reftest.list.firefox-tests-reftest 2021-07-05 18:20:31.000000000 +0200
-+++ firefox-90.0/layout/reftests/reftest-sanity/reftest.list 2021-07-12 11:35:28.686329031 +0200
+diff -U0 firefox-91.0/layout/reftests/reftest-sanity/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/reftest-sanity/reftest.list
+--- firefox-91.0/layout/reftests/reftest-sanity/reftest.list.firefox-tests-reftest 2021-08-04 20:02:52.000000000 +0200
++++ firefox-91.0/layout/reftests/reftest-sanity/reftest.list 2021-08-10 11:16:30.745184627 +0200
@@ -131,6 +131,6 @@
-pref(font.default.x-western,"serif") == font-serif.html font-default.html
-pref(font.default.x-western,"serif") != font-sans-serif.html font-default.html
@@ -386,9 +372,9 @@ diff -U0 firefox-90.0/layout/reftests/reftest-sanity/reftest.list.firefox-tests-
+#pref(font.default.x-western,"sans-serif") != font-serif.html font-default.html
+#fails pref(font.default.x-western,true) == font-serif.html font-default.html
+#fails pref(font.default.x-western,0) == font-serif.html font-default.html
-diff -U0 firefox-90.0/layout/reftests/svg/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/svg/reftest.list
---- firefox-90.0/layout/reftests/svg/reftest.list.firefox-tests-reftest 2021-07-05 21:16:02.000000000 +0200
-+++ firefox-90.0/layout/reftests/svg/reftest.list 2021-07-12 11:35:28.686329031 +0200
+diff -U0 firefox-91.0/layout/reftests/svg/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/svg/reftest.list
+--- firefox-91.0/layout/reftests/svg/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/svg/reftest.list 2021-08-10 11:16:30.745184627 +0200
@@ -475 +475 @@
-random-if(winWidget) fuzzy-if(Android,0-10,0-2) == text-gradient-02.svg text-gradient-02-ref.svg # see bug 590101
+random-if(winWidget) fuzzy-if(gtkWidget,0-20,0-10) fuzzy-if(Android,0-10,0-2) == text-gradient-02.svg text-gradient-02-ref.svg # see bug 590101
@@ -400,32 +386,30 @@ diff -U0 firefox-90.0/layout/reftests/svg/reftest.list.firefox-tests-reftest fir
@@ -492 +491 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-09.svg pass.svg # Bug 1392106
+fuzzy(0-255,0-237) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-09.svg pass.svg # Bug 1392106
-diff -U0 firefox-90.0/layout/reftests/svg/smil/style/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/svg/smil/style/reftest.list
---- firefox-90.0/layout/reftests/svg/smil/style/reftest.list.firefox-tests-reftest 2021-07-05 21:16:02.000000000 +0200
-+++ firefox-90.0/layout/reftests/svg/smil/style/reftest.list 2021-07-12 11:35:28.686329031 +0200
+diff -U0 firefox-91.0/layout/reftests/svg/smil/style/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/svg/smil/style/reftest.list
+--- firefox-91.0/layout/reftests/svg/smil/style/reftest.list.firefox-tests-reftest 2021-08-04 20:02:52.000000000 +0200
++++ firefox-91.0/layout/reftests/svg/smil/style/reftest.list 2021-08-10 11:16:30.745184627 +0200
@@ -70 +70 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy-if(gtkWidget,255-255,1520-1520) == anim-css-font-1.svg anim-css-font-1-ref.svg # Windows: Bug 1392106 Linux: Bug 1599619
+random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == anim-css-font-1.svg anim-css-font-1-ref.svg # Windows: Bug 1392106 Linux: Bug 1599619
-diff -U0 firefox-90.0/layout/reftests/svg/svg-integration/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/svg/svg-integration/reftest.list
---- firefox-90.0/layout/reftests/svg/svg-integration/reftest.list.firefox-tests-reftest 2021-07-05 18:20:19.000000000 +0200
-+++ firefox-90.0/layout/reftests/svg/svg-integration/reftest.list 2021-07-12 11:35:28.687329038 +0200
+diff -U0 firefox-91.0/layout/reftests/svg/svg-integration/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/svg/svg-integration/reftest.list
+--- firefox-91.0/layout/reftests/svg/svg-integration/reftest.list.firefox-tests-reftest 2021-08-04 20:02:52.000000000 +0200
++++ firefox-91.0/layout/reftests/svg/svg-integration/reftest.list 2021-08-10 11:16:30.745184627 +0200
@@ -50 +50 @@
-fuzzy-if(Android,0-4,0-10) == box-decoration-break-01.xhtml box-decoration-break-01-ref.xhtml
+fuzzy-if(gtkWidget,0-5,0-11) fuzzy-if(Android,0-4,0-10) == box-decoration-break-01.xhtml box-decoration-break-01-ref.xhtml
@@ -52 +52 @@
-fuzzy(0-67,0-238) == box-decoration-break-03.xhtml box-decoration-break-01-ref.xhtml
+fuzzy(0-67,0-254) == box-decoration-break-03.xhtml box-decoration-break-01-ref.xhtml
-diff -U0 firefox-90.0/layout/reftests/svg/text/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/svg/text/reftest.list
---- firefox-90.0/layout/reftests/svg/text/reftest.list.firefox-tests-reftest 2021-07-05 21:16:02.000000000 +0200
-+++ firefox-90.0/layout/reftests/svg/text/reftest.list 2021-07-12 11:35:28.687329038 +0200
-@@ -203,2 +203,2 @@
--fuzzy-if(skiaContent,0-1,0-100) needs-focus fuzzy-if(webrender&&winWidget,134-148,261-318) == simple-bidi-selection.svg simple-bidi-selection-ref.html
--fuzzy-if(skiaContent,0-1,0-50) needs-focus fuzzy-if(webrender&&winWidget,127-148,221-254) fuzzy-if(webrender&&OSX,1-65,19-196) == simple-fill-color-selection.svg simple-fill-color-selection-ref.html
-+fuzzy-if(skiaContent,0-1,0-120) needs-focus fuzzy-if(webrender&&winWidget,134-148,261-318) == simple-bidi-selection.svg simple-bidi-selection-ref.html
-+fuzzy-if(skiaContent,0-1,0-70) needs-focus fuzzy-if(webrender&&winWidget,127-148,221-254) fuzzy-if(webrender&&OSX,1-65,19-196) == simple-fill-color-selection.svg simple-fill-color-selection-ref.html
-diff -U0 firefox-90.0/layout/reftests/tab-size/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/tab-size/reftest.list
---- firefox-90.0/layout/reftests/tab-size/reftest.list.firefox-tests-reftest 2021-07-05 18:20:20.000000000 +0200
-+++ firefox-90.0/layout/reftests/tab-size/reftest.list 2021-07-12 11:35:28.687329038 +0200
+diff -U0 firefox-91.0/layout/reftests/svg/text/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/svg/text/reftest.list
+--- firefox-91.0/layout/reftests/svg/text/reftest.list.firefox-tests-reftest 2021-08-10 11:16:30.746184602 +0200
++++ firefox-91.0/layout/reftests/svg/text/reftest.list 2021-08-10 11:22:43.058962164 +0200
+@@ -203,2 +202,0 @@
+-fuzzy-if(skiaContent,0-1,0-100) needs-focus fuzzy-if(webrender&&winWidget,55-148,200-318) == simple-bidi-selection.svg simple-bidi-selection-ref.html
+-fuzzy-if(skiaContent,0-1,0-50) needs-focus fuzzy-if(webrender&&winWidget,55-148,200-254) fuzzy-if(webrender&&OSX,1-65,19-196) == simple-fill-color-selection.svg simple-fill-color-selection-ref.html
+diff -U0 firefox-91.0/layout/reftests/tab-size/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/tab-size/reftest.list
+--- firefox-91.0/layout/reftests/tab-size/reftest.list.firefox-tests-reftest 2021-08-04 20:02:52.000000000 +0200
++++ firefox-91.0/layout/reftests/tab-size/reftest.list 2021-08-10 11:16:30.746184602 +0200
@@ -2,6 +2,6 @@
-== tab-size-8.html spaces-8.html
-== tab-size-4.html spaces-4.html
@@ -439,26 +423,26 @@ diff -U0 firefox-90.0/layout/reftests/tab-size/reftest.list.firefox-tests-reftes
+fuzzy-if(gtkWidget,0-255,0-371) == tab-size-4-spanoffset.html spaces-4-offset.html
+fuzzy-if(gtkWidget,0-255,0-410) == tab-size-4-multiple.html spaces-4-multiple.html
+fuzzy-if(gtkWidget,0-255,0-63) == tab-size-1.html spaces-1.html
-diff -U0 firefox-90.0/layout/reftests/text-decoration/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/text-decoration/reftest.list
---- firefox-90.0/layout/reftests/text-decoration/reftest.list.firefox-tests-reftest 2021-07-05 18:20:19.000000000 +0200
-+++ firefox-90.0/layout/reftests/text-decoration/reftest.list 2021-07-12 11:35:28.687329038 +0200
+diff -U0 firefox-91.0/layout/reftests/text-decoration/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/text-decoration/reftest.list
+--- firefox-91.0/layout/reftests/text-decoration/reftest.list.firefox-tests-reftest 2021-08-04 20:02:52.000000000 +0200
++++ firefox-91.0/layout/reftests/text-decoration/reftest.list 2021-08-10 11:16:30.746184602 +0200
@@ -1,2 +1,2 @@
-fuzzy-if(webrender&&gtkWidget,0-208,0-12) == complex-decoration-style-quirks.html complex-decoration-style-quirks-ref.html
-fuzzy-if(webrender&&gtkWidget,0-208,0-12) == complex-decoration-style-standards.html complex-decoration-style-standards-ref.html
+fuzzy-if(gtkWidget,0-255,0-40) == complex-decoration-style-quirks.html complex-decoration-style-quirks-ref.html
+fuzzy-if(gtkWidget,0-255,0-40) == complex-decoration-style-standards.html complex-decoration-style-standards-ref.html
-diff -U0 firefox-90.0/layout/reftests/text-overflow/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/text-overflow/reftest.list
---- firefox-90.0/layout/reftests/text-overflow/reftest.list.firefox-tests-reftest 2021-07-05 21:16:02.000000000 +0200
-+++ firefox-90.0/layout/reftests/text-overflow/reftest.list 2021-07-12 11:35:28.687329038 +0200
+diff -U0 firefox-91.0/layout/reftests/text-overflow/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/text-overflow/reftest.list
+--- firefox-91.0/layout/reftests/text-overflow/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/text-overflow/reftest.list 2021-08-10 11:16:30.746184602 +0200
@@ -6 +6 @@
-skip-if(!gtkWidget) fuzzy-if(gtkWidget,0-124,0-289) == bidi-simple-scrolled.html bidi-simple-scrolled-ref.html # Fails on Windows and OSX due to anti-aliasing
+skip-if(!gtkWidget) fuzzy-if(gtkWidget,0-255,0-400) == bidi-simple-scrolled.html bidi-simple-scrolled-ref.html # Fails on Windows and OSX due to anti-aliasing
@@ -28 +28 @@
-== float-edges-1.html float-edges-1-ref.html
+fuzzy-if(gtkWidget,0-255,0-294) == float-edges-1.html float-edges-1-ref.html
-diff -U0 firefox-90.0/layout/reftests/text/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/text/reftest.list
---- firefox-90.0/layout/reftests/text/reftest.list.firefox-tests-reftest 2021-07-05 21:16:02.000000000 +0200
-+++ firefox-90.0/layout/reftests/text/reftest.list 2021-07-12 11:35:28.687329038 +0200
+diff -U0 firefox-91.0/layout/reftests/text/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/text/reftest.list
+--- firefox-91.0/layout/reftests/text/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/text/reftest.list 2021-08-10 11:25:48.104378489 +0200
@@ -190 +190 @@
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1320665-cmap-format-13.html 1320665-cmap-format-13-ref.html # see bug 1320665 comments 8-9
+fuzzy-if(gtkWidget,0-255,0-1071) fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1320665-cmap-format-13.html 1320665-cmap-format-13-ref.html # see bug 1320665 comments 8-9
@@ -467,39 +451,37 @@ diff -U0 firefox-90.0/layout/reftests/text/reftest.list.firefox-tests-reftest fi
-fails-if(Android) == 1463020-letter-spacing-text-transform-2.html 1463020-letter-spacing-text-transform-2-ref.html # missing font coverage on Android
+fuzzy-if(gtkWidget,0-255,0-800) fails-if(/^^Windows\x20NT\x2010\.0/.test(http.oscpu)) fuzzy-if(Android,0-128,0-233) == 1463020-letter-spacing-text-transform-1.html 1463020-letter-spacing-text-transform-1-ref.html
+fuzzy-if(gtkWidget,0-255,0-1600) fails-if(Android) == 1463020-letter-spacing-text-transform-2.html 1463020-letter-spacing-text-transform-2-ref.html # missing font coverage on Android
-@@ -198 +198 @@
--fuzzy-if(!webrender,0-42,0-1590) fuzzy-if(gtkWidget&&!webrender,0-255,0-50) == 1655364-1.html 1655364-1-ref.html
-+fuzzy-if(!webrender,0-42,0-1553) fuzzy-if(gtkWidget,0-255,0-1625) == 1655364-1.html 1655364-1-ref.html
-@@ -366 +366 @@
+@@ -198 +197,0 @@
+-fuzzy-if(useDrawSnapshot&&webrender,255-255,50-50) fuzzy-if(!webrender,0-42,0-1590) fuzzy-if(gtkWidget&&!webrender,0-255,0-50) == 1655364-1.html 1655364-1-ref.html
+@@ -366 +365 @@
-== color-opacity-rtl-1.html color-opacity-rtl-1-ref.html
+fuzzy-if(gtkWidget,0-5,0-5) == color-opacity-rtl-1.html color-opacity-rtl-1-ref.html
-diff -U0 firefox-90.0/layout/reftests/text-transform/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/text-transform/reftest.list
---- firefox-90.0/layout/reftests/text-transform/reftest.list.firefox-tests-reftest 2021-07-05 18:20:31.000000000 +0200
-+++ firefox-90.0/layout/reftests/text-transform/reftest.list 2021-07-12 11:35:28.687329038 +0200
+diff -U0 firefox-91.0/layout/reftests/text-transform/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/text-transform/reftest.list
+--- firefox-91.0/layout/reftests/text-transform/reftest.list.firefox-tests-reftest 2021-08-04 20:03:03.000000000 +0200
++++ firefox-91.0/layout/reftests/text-transform/reftest.list 2021-08-10 11:16:30.746184602 +0200
@@ -15 +15 @@
-random-if(winWidget) == small-caps-1.html small-caps-1-ref.html # fails if default font supports 'smcp'
+fuzzy-if(gtkWidget,0-255,0-571) random-if(winWidget) == small-caps-1.html small-caps-1-ref.html # fails if default font supports 'smcp'
-diff -U0 firefox-90.0/layout/reftests/transform-3d/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/transform-3d/reftest.list
---- firefox-90.0/layout/reftests/transform-3d/reftest.list.firefox-tests-reftest 2021-07-05 21:16:02.000000000 +0200
-+++ firefox-90.0/layout/reftests/transform-3d/reftest.list 2021-07-12 12:28:41.903500117 +0200
-@@ -14 +14 @@
--fuzzy-if(gtkWidget||winWidget,0-8,0-376) fuzzy-if(Android,0-8,0-441) fuzzy-if(cocoaWidget,0-17,0-4) fuzzy-if(skiaContent,0-16,0-286) fuzzy-if(webrender&&cocoaWidget,0-200,0-310) fuzzy-if(webrender&&winWidget,0-175,0-250) == preserve3d-1a.html preserve3d-1-ref.html
-+fuzzy-if(gtkWidget,0-16,0-500) == preserve3d-1a.html preserve3d-1-ref.html
-@@ -27,2 +27,2 @@
+diff -U0 firefox-91.0/layout/reftests/transform-3d/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/transform-3d/reftest.list
+--- firefox-91.0/layout/reftests/transform-3d/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/transform-3d/reftest.list 2021-08-10 11:25:18.496111903 +0200
+@@ -14 +13,0 @@
+-fuzzy-if(gtkWidget||winWidget,0-8,0-376) fuzzy-if(Android,0-8,0-441) fuzzy-if(skiaContent,0-16,0-346) fuzzy-if(webrender&&cocoaWidget,0-200,0-310) fuzzy-if(webrender&&winWidget,0-175,0-250) == preserve3d-1a.html preserve3d-1-ref.html
+@@ -27,2 +26,2 @@
-fuzzy-if(winWidget,0-143,0-689) fuzzy-if(OSX,0-224,0-924) fuzzy-if(winWidget,0-154,0-644) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == scale3d-all.html scale3d-1-ref.html # subpixel AA
-fuzzy-if(winWidget,0-143,0-689) fuzzy-if(OSX,0-224,0-924) fuzzy-if(winWidget,0-154,0-644) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == scale3d-all-separate.html scale3d-1-ref.html # subpixel AA
+fuzzy-if(gtkWidget,0-100,0-628) fuzzy-if(winWidget,0-143,0-689) fuzzy-if(OSX,0-224,0-924) fuzzy-if(winWidget,0-154,0-644) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == scale3d-all.html scale3d-1-ref.html # subpixel AA
+fuzzy-if(gtkWidget,0-100,0-628) fuzzy-if(winWidget,0-143,0-689) fuzzy-if(OSX,0-224,0-924) fuzzy-if(winWidget,0-154,0-644) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == scale3d-all-separate.html scale3d-1-ref.html # subpixel AA
-@@ -75,2 +75,2 @@
+@@ -75,2 +74,2 @@
-fuzzy-if(skiaContent,0-1,0-4) fuzzy-if(cocoaWidget,0-128,0-9) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == animate-preserve3d-parent.html animate-preserve3d-ref.html # intermittently fuzzy on Mac
-fuzzy-if(skiaContent,0-1,0-4) fuzzy-if(cocoaWidget,0-128,0-9) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == animate-preserve3d-child.html animate-preserve3d-ref.html # intermittently fuzzy on Mac, bug 1461311 for Android
+fuzzy(0-1,0-9) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == animate-preserve3d-parent.html animate-preserve3d-ref.html # intermittently fuzzy on Mac
+fuzzy(0-1,0-6) fuzzy-if(cocoaWidget,0-128,0-9) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == animate-preserve3d-child.html animate-preserve3d-ref.html # intermittently fuzzy on Mac, bug 1461311 for Android
-@@ -102 +101,0 @@
+@@ -102 +100,0 @@
-fuzzy-if(webrender,0-6,0-3117) fuzzy-if(useDrawSnapshot,4-4,13-13) == 1637067-1.html 1637067-1-ref.html
-diff -U0 firefox-90.0/layout/reftests/writing-mode/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/writing-mode/reftest.list
---- firefox-90.0/layout/reftests/writing-mode/reftest.list.firefox-tests-reftest 2021-07-05 18:20:32.000000000 +0200
-+++ firefox-90.0/layout/reftests/writing-mode/reftest.list 2021-07-12 11:35:28.688329045 +0200
+diff -U0 firefox-91.0/layout/reftests/writing-mode/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/writing-mode/reftest.list
+--- firefox-91.0/layout/reftests/writing-mode/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/writing-mode/reftest.list 2021-08-10 11:16:30.747184577 +0200
@@ -20 +20 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1091058-1.html 1091058-1-ref.html # Bug 1392106
+fuzzy(0-255,0-315) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1091058-1.html 1091058-1-ref.html # Bug 1392106
@@ -515,9 +497,9 @@ diff -U0 firefox-90.0/layout/reftests/writing-mode/reftest.list.firefox-tests-re
@@ -185 +185 @@
-== 1395926-vertical-upright-gpos-1.html 1395926-vertical-upright-gpos-1-ref.html
+fuzzy-if(gtkWidget,0-248,0-8) == 1395926-vertical-upright-gpos-1.html 1395926-vertical-upright-gpos-1-ref.html
-diff -U0 firefox-90.0/layout/reftests/writing-mode/tables/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/writing-mode/tables/reftest.list
---- firefox-90.0/layout/reftests/writing-mode/tables/reftest.list.firefox-tests-reftest 2021-07-05 18:20:31.000000000 +0200
-+++ firefox-90.0/layout/reftests/writing-mode/tables/reftest.list 2021-07-12 11:35:28.688329045 +0200
+diff -U0 firefox-91.0/layout/reftests/writing-mode/tables/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/writing-mode/tables/reftest.list
+--- firefox-91.0/layout/reftests/writing-mode/tables/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/writing-mode/tables/reftest.list 2021-08-10 11:16:30.747184577 +0200
@@ -34 +34 @@
-== fixed-table-layout-027-vlr.html fixed-table-layout-025-ref.html
+fuzzy-if(gtkWidget,0-260,0-250) == fixed-table-layout-027-vlr.html fixed-table-layout-025-ref.html
@@ -527,15 +509,15 @@ diff -U0 firefox-90.0/layout/reftests/writing-mode/tables/reftest.list.firefox-t
@@ -77,2 +76,0 @@
-fuzzy-if(Android,0-255,0-38) == table-caption-top-1.html table-caption-top-1-ref.html
-fuzzy-if(Android,0-255,0-38) pref(layout.css.caption-side-non-standard.enabled,true) == table-caption-bottom-1.html table-caption-bottom-1-ref.html
-diff -U0 firefox-90.0/layout/reftests/xul/reftest.list.firefox-tests-reftest firefox-90.0/layout/reftests/xul/reftest.list
---- firefox-90.0/layout/reftests/xul/reftest.list.firefox-tests-reftest 2021-07-05 18:20:20.000000000 +0200
-+++ firefox-90.0/layout/reftests/xul/reftest.list 2021-07-12 11:35:28.688329045 +0200
+diff -U0 firefox-91.0/layout/reftests/xul/reftest.list.firefox-tests-reftest firefox-91.0/layout/reftests/xul/reftest.list
+--- firefox-91.0/layout/reftests/xul/reftest.list.firefox-tests-reftest 2021-08-04 20:03:10.000000000 +0200
++++ firefox-91.0/layout/reftests/xul/reftest.list 2021-08-10 11:16:30.747184577 +0200
@@ -15 +15 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == chrome://reftest/content/xul/text-small-caps-1.xhtml chrome://reftest/content/xul/text-small-caps-1-ref.xhtml
+fuzzy-if(gtkWidget,0-255,0-5159) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == chrome://reftest/content/xul/text-small-caps-1.xhtml chrome://reftest/content/xul/text-small-caps-1-ref.xhtml
-diff -U0 firefox-90.0/layout/xul/reftest/reftest.list.firefox-tests-reftest firefox-90.0/layout/xul/reftest/reftest.list
---- firefox-90.0/layout/xul/reftest/reftest.list.firefox-tests-reftest 2021-07-12 11:35:28.688329045 +0200
-+++ firefox-90.0/layout/xul/reftest/reftest.list 2021-07-12 12:29:23.455778799 +0200
+diff -U0 firefox-91.0/layout/xul/reftest/reftest.list.firefox-tests-reftest firefox-91.0/layout/xul/reftest/reftest.list
+--- firefox-91.0/layout/xul/reftest/reftest.list.firefox-tests-reftest 2021-08-10 11:16:31.901155994 +0200
++++ firefox-91.0/layout/xul/reftest/reftest.list 2021-08-10 11:27:21.391068048 +0200
@@ -13,2 +12,0 @@
-# This test is fuzzy as the marks cannot be positioned exactly as the real ones are measured in dev pixels.
--fuzzy(0-10,0-75) fuzzy-if(winWidget&&isDebugBuild&&layersGPUAccelerated&&!is64Bit,1-1,102-102) == chrome://reftest/content/xul/reftest/scrollbar-marks-overlay.html chrome://reftest/content/xul/reftest/scrollbar-marks-overlay-ref.html
+-fuzzy(0-10,0-102) fuzzy-if(winWidget&&isDebugBuild&&layersGPUAccelerated&&!is64Bit,1-1,102-102) == chrome://reftest/content/xul/reftest/scrollbar-marks-overlay.html chrome://reftest/content/xul/reftest/scrollbar-marks-overlay-ref.html
diff --git a/firefox.spec b/firefox.spec
index e97739c..a081828 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -115,7 +115,7 @@ ExcludeArch: armv7hl
%if %{?system_nss}
%global nspr_version 4.26
%global nspr_build_version %{nspr_version}
-%global nss_version 3.66
+%global nss_version 3.68
%global nss_build_version %{nss_version}
%endif
@@ -151,13 +151,13 @@ ExcludeArch: armv7hl
Summary: Mozilla Firefox Web browser
Name: firefox
-Version: 90.0.2
-Release: 2%{?pre_tag}%{?dist}
+Version: 91.0
+Release: 1%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
%if %{with langpacks}
-Source1: firefox-langpacks-%{version}%{?pre_version}-20210722.tar.xz
+Source1: firefox-langpacks-%{version}%{?pre_version}-20210810.tar.xz
%endif
Source2: cbindgen-vendor.tar.xz
Source10: firefox-mozconfig
@@ -206,9 +206,6 @@ Patch53: firefox-gcc-build.patch
Patch54: mozilla-1669639.patch
Patch55: firefox-testing.patch
Patch57: firefox-disable-ffvpx-with-vapi.patch
-Patch58: firefox-crashreporter-build.patch
-Patch59: build-python-1.patch
-Patch60: build-python-2.patch
Patch61: firefox-glibc-dynstack.patch
# Test patches
@@ -235,8 +232,6 @@ Patch407: mozilla-1667096.patch
Patch408: mozilla-1663844.patch
Patch415: mozilla-1670333.patch
Patch420: mochitest-wayland-workaround.patch
-Patch423: mozilla-1646135.patch
-Patch424: mozilla-1715254.patch
# PGO/LTO patches
Patch600: pgo.patch
@@ -450,9 +445,6 @@ This package contains results of tests executed during build.
%patch54 -p1 -b .1669639
%patch55 -p1 -b .testing
%patch57 -p1 -b .ffvpx-with-vapi
-%patch58 -p1 -b .firefox-crashreporter-build
-%patch59 -p1 -b .build-python-1
-%patch60 -p1 -b .build-python-2
%patch61 -p1 -b .glibc-dynstack
# Test patches
@@ -477,8 +469,6 @@ This package contains results of tests executed during build.
%patch408 -p1 -b .1663844
%patch415 -p1 -b .1670333
%patch420 -p1 -b .mochitest-wayland-workaround
-%patch423 -p1 -b .1646135
-%patch424 -p1 -b .1715254
# PGO patches
%if %{build_with_pgo}
@@ -1049,6 +1039,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
+* Tue Aug 10 2021 Martin Stransky <stransky@redhat.com> - 91.0-1
+- Updated to 91.0
+
* Wed Aug 04 2021 Martin Stransky <stransky@redhat.com> - 90.0.2-2
- Added fix for rhbz#1988841 - Allow unsigned extensions when installed
under non-user-writable dirs.
diff --git a/mozilla-1646135.patch b/mozilla-1646135.patch
deleted file mode 100644
index 8597bc0..0000000
--- a/mozilla-1646135.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/widget/gtk/GfxInfo.cpp b/widget/gtk/GfxInfo.cpp
---- a/widget/gtk/GfxInfo.cpp
-+++ b/widget/gtk/GfxInfo.cpp
-@@ -674,6 +674,16 @@
- nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_LESS_THAN, V(460, 32, 3, 0),
- "FEATURE_FAILURE_WEBRENDER_OLD_NVIDIA", "460.32.03");
-
-+ // Disable Nvidia proprietary drivers on Wayland.
-+ APPEND_TO_DRIVER_BLOCKLIST_EXT(
-+ OperatingSystem::Linux, ScreenSizeStatus::All, BatteryStatus::All,
-+ DesktopEnvironment::All, WindowProtocol::Wayland,
-+ DriverVendor::NonMesaAll, DeviceFamily::NvidiaAll,
-+ nsIGfxInfo::FEATURE_WEBRENDER, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
-+ DRIVER_COMPARISON_IGNORED, V(0, 0, 0, 0),
-+ "FEATURE_FAILURE_WEBRENDER_NVIDIA_WAYLAND",
-+ "https://bugzilla.mozilla.org/show_bug.cgi?id=1646135");
-+
- // ATI Mesa baseline, chosen arbitrarily.
- APPEND_TO_DRIVER_BLOCKLIST_EXT(
- OperatingSystem::Linux, ScreenSizeStatus::All, BatteryStatus::All,
diff --git a/mozilla-1715254.patch b/mozilla-1715254.patch
deleted file mode 100644
index 662a9d8..0000000
--- a/mozilla-1715254.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
---- a/security/sandbox/linux/SandboxFilter.cpp
-+++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -858,6 +858,9 @@
- case __NR_clone:
- return ClonePolicy(InvalidSyscall());
-
-+ case __NR_clone3:
-+ return Error(ENOSYS);
-+
- // More thread creation.
- #ifdef __NR_set_robust_list
- case __NR_set_robust_list:
-@@ -1504,6 +1507,9 @@
- case __NR_clone:
- return ClonePolicy(Error(EPERM));
-
-+ case __NR_clone3:
-+ return Error(ENOSYS);
-+
- # ifdef __NR_fadvise64
- case __NR_fadvise64:
- return Allow();
-
diff --git a/sources b/sources
index 65839bc..f6c6ab4 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-SHA512 (mochitest-python.tar.gz) = 7f357cb8bd93d64be5cb75819a8a813d2f8f217ff25f0df8c3190910744132405d45797b3900775a44b554f5c70cf2682809c9e7a686ca131fddcd81e98028d9
SHA512 (cbindgen-vendor.tar.xz) = b9ab1498be90ecf60822df7021f8812f124550d97f8cd687c69d3ab56fc5fb714bfe88c78c978a1794d211724909a9a5cad6a4b483fa05f762909c45d5075520
-SHA512 (firefox-90.0.2.source.tar.xz) = 4fda0b1e666fb0b1d846708fad2b48a5b53d48e7fc2a5da1f234b5b839c55265b41f6509e6b506d5e8a7455f816dfa5ab538589bc9e83b7e3846f0f72210513e
-SHA512 (firefox-langpacks-90.0.2-20210722.tar.xz) = 69dc45b9d021669ae7cc915c998a268fb81afdd75a8432d5eb1a994ae5f22168207ec6badf76e3a131cb828f2b63a9493f4a820ad47ca304fcdd04ec95172771
+SHA512 (firefox-91.0.source.tar.xz) = a02486a3996570e0cc815e92c98890bca1d27ce0018c2ee3d4bff9a6e54dbc8f5926fea8b5864f208e15389d631685b2add1e4e9e51146e40224d16d5c02f730
+SHA512 (firefox-langpacks-91.0-20210810.tar.xz) = 1492af1916eed2dfd7ffe31eafed6358a925995cf413569d0567654cea005bfae655caa41b81dc2141a99c9b3affe87b931ead18b7231f347d9acbdde1ba41a3
+SHA512 (mochitest-python.tar.gz) = 18e1aeb475df5fbf1fe3838897d5ac2f3114aa349030713fc2be27af087b1b12f57642621b87bd052f324a7cb7fbae5f36b21502191d85692f62c8cdd69c8bf2
bgstack15