The console notification is only created when an error page would not
otherwise load, so allows us to detect the situation where the error
page is not going to be loaded.
Differential Revision: https://phabricator.services.mozilla.com/D218984
This patch corrects a few different issues related to recycling
MacIOSurface objects.
1) When recycling a surface, we must check that the cached surfaces
match all of the requested parameters, not just the size. If we do
not, we should just flush the whole cache immediately since they
should all be created with the same parameters.
2) Allocations can fail, and we should check for failing to get a
surface from the allocator and fall back if so.
3) Locking can fail, and we should check that return value at all of the
call sites.
This may help resolve a number of otherwise difficult to understand
crash signatures. It may also solve display corruption issues in rare
cases where the parameters that changed were roughly equivalent such
that everything appears to work, but they differ enough to change the
presentation.
Differential Revision: https://phabricator.services.mozilla.com/D222775
This succeeds in normal Firefox due to `QueryInterface(Ci.nsIWindowsShellService)` having likely been called on the `nsIShellService` prior to this call, which populates the root `nsIShellService` JavaScript object with the queried interface methods. In Firefox Background Tasks the relevant `QueryInterface` is unlikely to be called ahead of time, resulting in an exception.
Original Revision: https://phabricator.services.mozilla.com/D221540
Differential Revision: https://phabricator.services.mozilla.com/D222325
On macOS 11, MOZTitlebarAccessoryView's viewWillMoveToWindow: is called both when transitioning to full screen, and when transitioning out of full screen. In the case of transitioning into full screen, the window passed to viewWillMoveToWindow: has titlebarAppearsTransparent=false, meaning that the condition added to this function in bug 1906034 caused the title bar separator to always be enabled when in full screen on macOS 11. This patch fixes the logic to instead check if the passed NSWindow is our ToolbarWindow or something else.
On later macOS releases, MOZTitlebarAccessoryView's viewWillMoveToWindow: is called when transitioning out of from full screen, but not when transitioning to full screen. This is why disabling the title bar separator in windowDidEnterFullScreen: is also necessary.
Original Revision: https://phabricator.services.mozilla.com/D221909
Differential Revision: https://phabricator.services.mozilla.com/D222136
for..in will loop through the prototype chain, which might get us into trouble
when the Array prototype is extended (e.g. with Moo.js).
Since the jquery events object we get might already be an arrays in some cases,
we can iterate other them directly, and only creating arrays when those are objects.
Original Revision: https://phabricator.services.mozilla.com/D221118
Differential Revision: https://phabricator.services.mozilla.com/D221621
Previously, this was passed around using the nsHashPropertyBag base
class on HTTP channels. In bug 1907269, this base was added to
nsExtProtocolChannel to support reading this property for external
protocols.
This unfortunately ended up not working when a HTTP channel redirects to
an external protocol, as the hash property propagation logic in
nsHttpChannel happens after the check that the target channel is a HTTP
channel, so the property was lost when redirecting to an external
protocol.
Rather than refactoring HTTP redirect logic, this patch simplifies by
moving the property onto the LoadInfo where it will be trivially
preserved across redirects, and available in the places which need it.
Because the nsHashPropertyBag base is no longer required for
nsExtProtocolChannel, it is also removed.
Differential Revision: https://phabricator.services.mozilla.com/D221876
Rather than renaming files (which must be on the same
volume/filesystem), we copy and delete them. This is less efficient,
however the files in question are fairly small, so there's probably no
need to rename _when we can_ as an optimization.
Differential Revision: https://phabricator.services.mozilla.com/D217727
When there's trailing garbage after an @import rule we throw, but we
still trigger the load (that's not great but not trivial to change).
Deal with that case before calling ImportRuleLoaded().
Differential Revision: https://phabricator.services.mozilla.com/D219783