This seems like the right time to call DestroyNativeWindow since we are
hiding the window and destorying the nsBaseWidget -- there's not much
else that can happen to this window. Making this call here ensures that
the native window is not maintained on the screen waiting for the
destructor to be called during garbage collection.
Differential Revision: https://phabricator.services.mozilla.com/D197214
Building certificate chains (at startup, no less) is slow. Using the policy
APIs to determine if an enterprise certificate is a trusted root or an
intermediate should be faster.
Differential Revision: https://phabricator.services.mozilla.com/D197740
Something I found when testing the original testcase attached to the bug was
that OOM tests involving GC can take a very long time (and sometimes time out)
because of the very frequent simulated OOM when pushing things onto the mark
stack. I added this originally to improve test coverage here but this may have
been over-enthusiastic. The patch changes this to rely on simulated alloc
failure whew the mark stack vector is resized and starts this off with a
smaller size in debug builds to ensure coverage.
Depends on D197911
Differential Revision: https://phabricator.services.mozilla.com/D197912
This will allow user to Ctrl+Enter to get the previous behavior in the Rules view.
A test is added to assert the various stopOnX options of InplaceEditor.
Differential Revision: https://phabricator.services.mozilla.com/D197897
These two settings are only available via the web console commands as they expect number as arguments
which is hard to implement via the context menu on the debugger button.
Move stdout logging to a dedicated method as onEnterFrame reached eslint complexity limit.
Differential Revision: https://phabricator.services.mozilla.com/D196832
The JavaScript Tracer may be initiated by the debugger, or stoped by itself when reaching some limit.
In these cases, the start and stop messages wouldn't have been logged in the console.
Differential Revision: https://phabricator.services.mozilla.com/D196831
As a side effect, fix a few issues with how cpython is built on OSX:
- unset __PYVENV_LAUNCHER__
- make build script version-independent
Differential Revision: https://phabricator.services.mozilla.com/D197570
This patch fixes the mozperftest docs to mention mochitest in the writing section, as well as fixes the `info` calls so that they mention the JSON.stringify requirement.
Differential Revision: https://phabricator.services.mozilla.com/D196853
We are looking into caching loaded script in memory. To do so we need something
to cache.
At the moment, the `ScriptLoadRequest` structure hold all the fields which are
loaded, and used before executing JavaScript code. Then, the `ScriptLoadRequest`
is not guaranteed to out-live the first execution.
Therefore, we have to move fields out of the `ScriptLoadRequest` such that they
can later be used by any caching mechanism. The `LoadedScript` is the closest
existing structure which exists which fit the description.
This patch moves fields out of the ScriptLoadRequest into the `LoadedScript`,
which already has a `LoadedScript` field.
The `LoadedScript` field is initialized sooner, when the `ScriptLoadRequest` is
created, to be subsituted later by a real cache implementation. At the moment
the function `ScriptLoadRequest::NoCacheEntryFound` is used as a placeholder to
change the state of the `ScriptLoadRequest` from `CheckingCache` to `Fetching`.
Existing initializations are replaced by assertions to fail in debug build if
the current patch does not reproduce the expected state properly.
The `LoadedScript` get fields such as the source text, the text length, the
bytecode buffer (which also contains SRI), and the offset at which the bytecode
starts within the bytecode buffer. As these fields are no longer reachable by
name, multiple accessors are added to work-around the issue. Using this as an
opportunity to add extra assertions as part of these accessors.
A new class named `LoadedScriptDelegate` is added to re-add, by inheritance, all
the accessors which used to be part of `ScriptLoadRequest` as methods which are
delegating to the field which is holding the `LoadedScript`. This class is using
templates to avoid virtual inheritance which might hinder inlining, especially
since `ScriptLoadRequest` cannot be made final, as `ModuleLoadRequest` extends
it.
The `ScriptFetchOptions` structure is moved to its own file to solve C++ include
issues.
Differential Revision: https://phabricator.services.mozilla.com/D197921
On the chrome browser, motionmark ramp tests are returning an invalid score of 1 for all test suites in CI
So we are disabling the tests on osx1015 while we debug the issues
Differential Revision: https://phabricator.services.mozilla.com/D197720
The scrollend event has been content enabled by default for about a
year. Remove the preference that allows the feature to be chrome-only.
Differential Revision: https://phabricator.services.mozilla.com/D197699
The DoHConfig now listens for region change notification and
saves the new region in a pref. On the next initialization of
the DoH config we will use the saved pref to update the doh
region even if the pref was already set.
This should also work for testing (manually setting the value of the
pref) as long as no region changes happen.
Differential Revision: https://phabricator.services.mozilla.com/D195023
We've been using `MAP_JIT` on Apple Silicon since bug 1837194.
With this change we no longer need the `com.apple.security.cs.allow-unsigned-executable-memory`
entitlement for the JITs (pre-release Firefox still needs it for the `IOInterposer`
on Intel).
Support for `MAP_JIT` is enabled by the separate `com.apple.security.cs.allow-jit` entitlement.
Intel Macs don't have the `pthread_jit_write_protect_np` API, so we use a similar
strategy as on Apple Silicon but with `mprotect` added to it.
Differential Revision: https://phabricator.services.mozilla.com/D197787
Leaf frames can contain anonymous content, for example text control frames, and we were activating them before and not activating them caused a perf regression in some tests, so restore that behaviour.
This illustrates that some of the performance improvement of using the leaf check came from not descending into some subtrees and changes the perf balance of the patch from bug 1872564. I re-did the measurements with this new constraint and now the IsScrollContainer check is faster, so I switched to using that.
Differential Revision: https://phabricator.services.mozilla.com/D197904
Debugging with disable_autohide, I saw a few "tooltip.revert is not a
function errors". Unify this code to deal with that consistently, but I
don't think it has user impact.
Differential Revision: https://phabricator.services.mozilla.com/D197792
For the media fundation based CDMs, we usually use WMFCDMImpl to get a
capabilities from the MFCDM process in order to get a precise
capabilites result from CDMs.
However, for clearkey, it's all implemented by ourselves and its
capabilites always keep the same, so we can simply just use our
predefined capabilites without asking the MFCDM process.
Differential Revision: https://phabricator.services.mozilla.com/D197763