There are needs to delay the execution of code on the main thread
until the next tick of the event loop has happened.
Differential Revision: https://phabricator.services.mozilla.com/D71291
DownloadsSubview and DownloadsView do not inherit from custom elements and cannot rely on the static getFragment method.
The individual download list items all need to be cloned in order to display.
Differential Revision: https://phabricator.services.mozilla.com/D71204
When `HTMLEditor` is notified of content changes, it may add a runnable method
`HTMLEditor::OnModifyDocument` or `HTMLEditor::NotifyRootChanged` for each
notification. However, their code do not need running twice nor more. This
could cause performance issues on complicated web apps which sets `innerHTML`
at every key press.
Differential Revision: https://phabricator.services.mozilla.com/D71001
Made the files in toolkit/crashreporter flake8 compliant
And some finishing touches in the symbolstore.py file for readability
Differential Revision: https://phabricator.services.mozilla.com/D68691
It's a virtual method which always returns true if `TextEditor`. Therefore,
we can move it into `HTMLEditUtils` and we can make the only caller of
`EditorBase` check `IsTextEditor()` instead.
Depends on D70880
Differential Revision: https://phabricator.services.mozilla.com/D70882
We need this since nsLayoutUtils::SurfaceFromElement expects the
returned frame size to be correct, and we are now wrapping a source
element's image with an OrientedImage.
Differential Revision: https://phabricator.services.mozilla.com/D71243
This makes EXIF orientation metadata honored by default.
Introduce OrientedPixel and UnorientedPixel typed rects and sizes and
use them throughout RasterImage so that we don't confuse which we want.
The reason for doing this rather than having the imgLoader wrap every
RasterImage it creates with an OrientedImage is that returning the
wrapper messes with various notifications, as OrientedImage is not an
ImageResource.
(It would be even better if the JPEG decoder could decode to imgFrames
handling the EXIF orientation itself, but that's a more complicated
change.)
Differential Revision: https://phabricator.services.mozilla.com/D70273
RasterImage will make use of them.
Note that there is one bug fix in this patch, which is that
OrientedImage::OrientSurface now creates a surface of the correct size.
(Previously this code was creating a surface with the underlying
image's size, rather than the correctly oriented size. But we must
not have been calling into that code with our current uses of
OrientedImage.)
Differential Revision: https://phabricator.services.mozilla.com/D70271
The preprocessor does not handle "# ifdef" like the C preprocessor,
and I failed to test this appropriately after restructuring the
#if... clauses. This also reverts fastShutdownStage back to 1, so
we can be confident in the data we collect.
Differential Revision: https://phabricator.services.mozilla.com/D71190
For ops with the gen_boilerplate attribute, this auto-generates the writer and compiler
boilerplate code. The attribute has been added to some arbitrary ops to test this.
CacheIRWriter methods that return a new OperandId are not supported yet.
Initially I wanted to generate multiple header files and classes, but the current
approach works fine and is probably a bit easier to reason about. Because the
code generation itself is pretty simple it should be easy to experiment with different
codegen strategies in the future.
Differential Revision: https://phabricator.services.mozilla.com/D71153
For ops that are implemented in the base class, we used to generate an emitFoo
implementation in BaselineCacheIRCompiler and IonCacheIRCompiler that forwarded
to the base class method.
Now that we can easily codegen, it's nicer to generate a list of unshared ops
and use it so that we can call the base class methods directly. This generates
a lot less C++ code in the CacheIR compilers and is easier on the C++ compiler.
Eventually both the shared and unshared lists will be replaced with generated
boilerplate, but for now this is an improvement.
Differential Revision: https://phabricator.services.mozilla.com/D71140
Invalid sameSite cookie attributes generate console warning messages in the
wrong 'generic' category. In this patch, we put them under the 'sameSite'
category. We also rename the 'generic' category to 'oversize' because all the
remaining messages are about invalid cookie sizes.
Differential Revision: https://phabricator.services.mozilla.com/D70795
This patch also names the former to `GetInclusiveAncestorBlockElement()` and
the latter to `GetAncestorBlockElement()` for consistency with modern DOM
API names.
Depends on D70882
Differential Revision: https://phabricator.services.mozilla.com/D70883
TaskQueues hold onto their nsIEventTarget (in this case mCanvasWorkers) until
after they resolve their shutdown promise, which is what causes
CanvasThreadHolder::StaticRelease to be submitted to the compositor thread.
So this assertion can't be guaranteed.
Differential Revision: https://phabricator.services.mozilla.com/D71176
This make four changes:
- use shippable/pgo builds on win64 and android platforms
- use linux64 instead of linux to get test packages for out-of-tree tasks
- consistently use `build` as the dependency name in tasks
- use the geckodriver toolchain, rather than the one packed in tasks
Differential Revision: https://phabricator.services.mozilla.com/D70943