Most EnsureNextIteration() callers don't need this check, because they are
either on the graph thread or otherwise know the graph has not shut down.
Differential Revision: https://phabricator.services.mozilla.com/D76795
This is mostly changes to handle retrieving the security state asynchronously via the parent process, needing lots of async/await additions.
It also removes the docshell mixed content flag checks (which don't seem to be used in code, only tests), which are mostly still covered by checks of the security UI.
Differential Revision: https://phabricator.services.mozilla.com/D75448
This removes all docshell nsISecureBrowserUI and mixed content properties, and moves them into CanonicalBrowsingContext/WindowGlobalParent. It makes the mixed content blocker just compute the state for the current load, and then send the results to the parent process, where we update the security state accordingly.
I think we could in the future remove onSecurityChange entirely, and instead just fire an event to the <browser> element notifying it of changes to the queryable securityUI.
Unfortunately we have a lot of existing code that depends on specific ordering between onSecurityChange and onLocationChange, so I had to hook into the RemoteWebProgress implementation in BrowserParent to mimic the same timings.
Differential Revision: https://phabricator.services.mozilla.com/D75447
Previously we only set some fields as part of WindowGlobalInit, but WindowGlobalParent sets itself as the current window global on the CanonicalBrowsingContext.
This exposes a period of time where only part of the document state was set, and this was observable to consumers.
This makes OnNewDocument only run when there is a new Document for the same WindowGlobal.
Differential Revision: https://phabricator.services.mozilla.com/D75446
This addresses a minor regression in bloom-matching.html. The common
case here is that there's no selector to the right of the
pseudo-element, so keep that path inline, while keeping all other checks
out of line.
Differential Revision: https://phabricator.services.mozilla.com/D76793
Detect a profile for the installation, if found offer refresh on welcome page:
- Replace text
- Add help link and button
Add a different prompt to close the browser for refresh.
When leaving the welcome page:
- via help link, launch a URL
- via Refresh button, launch Firefox with the necessary args
Add utility functions to launch the link and Firefox.
Remove the UN_CONFIRM_CLICK label and hide the subheading, this was an
addition to the design. Move down UN_CONFIRM_PAGE_TITLE to fill in the space.
Move the check for the install-specific profile to common.nsh from stub.nsi,
wrapped in stack ops to save regs and with _MOZFUNC_UN for uninstaller compat.
Move InitHashAppModelId to just after un.UninstallUnOnInitCommon (which sets
$INSTDIR correctly), so AUMID would be available in un.PreWelcome. I don't
think there's anything else that would change $INSTDIR in the uninstaller
so this should be ok.
Unrelated but adjacent cleanup: Remove inappropriate use of _MOZFUNC_UN
in CopyPostSigningData.
Differential Revision: https://phabricator.services.mozilla.com/D76435
Make it show the contents of style sheets (as it used to before Stylo)
and make it work in --disable-debug --enable-layout-debugger builds.
Differential Revision: https://phabricator.services.mozilla.com/D76640
We've already tried to looking up the existing AnimatedValue so that when we
want to replace the old one in the hash table we can reuse the existing one.
With this manner, we no longer need to copy TransformData if we don't need to
do.
Differential Revision: https://phabricator.services.mozilla.com/D76633
Changes:
- apply an explicit increase in the number of xorg client count to 2048.
- remove the custom.conf file as it was not making any difference in the behavior of the docker image.
Differential Revision: https://phabricator.services.mozilla.com/D76897
This is mostly changes to handle retrieving the security state asynchronously via the parent process, needing lots of async/await additions.
It also removes the docshell mixed content flag checks (which don't seem to be used in code, only tests), which are mostly still covered by checks of the security UI.
Differential Revision: https://phabricator.services.mozilla.com/D75448
This removes all docshell nsISecureBrowserUI and mixed content properties, and moves them into CanonicalBrowsingContext/WindowGlobalParent. It makes the mixed content blocker just compute the state for the current load, and then send the results to the parent process, where we update the security state accordingly.
I think we could in the future remove onSecurityChange entirely, and instead just fire an event to the <browser> element notifying it of changes to the queryable securityUI.
Unfortunately we have a lot of existing code that depends on specific ordering between onSecurityChange and onLocationChange, so I had to hook into the RemoteWebProgress implementation in BrowserParent to mimic the same timings.
Differential Revision: https://phabricator.services.mozilla.com/D75447
Previously we only set some fields as part of WindowGlobalInit, but WindowGlobalParent sets itself as the current window global on the CanonicalBrowsingContext.
This exposes a period of time where only part of the document state was set, and this was observable to consumers.
This makes OnNewDocument only run when there is a new Document for the same WindowGlobal.
Differential Revision: https://phabricator.services.mozilla.com/D75446
This is the logic of tracing the WebGPU API calls at the level of wgpu-core,
serialized into a folder of choosing on the user drive. Traces are extremely portable,
they can be shared (on BugZilla) and then replayed on the developer machine,
which can have a different architecture from the users machine.
The standalone player is introduced in `gfx/wgpu/player`, similar to WebRender's Wrench.
The output dir is controlled by "dom.webgpu.traceDir" pref. No tracing happens if it's empty.
Differential Revision: https://phabricator.services.mozilla.com/D73333
This was a bit of pain to track down, because some code was allowing an ID of 0, and creating a request context to match, but other code was treating 0 as invalid.
Differential Revision: https://phabricator.services.mozilla.com/D76652
This drops `followLinks` as 1) it has been no-op on UNIX for a long time and 2) its Windows implementation never had a proper symlink support.
Differential Revision: https://phabricator.services.mozilla.com/D75569
The z-index: initial for the keep-open class was redundant (see https://bugzilla.mozilla.org/show_bug.cgi?id=1640410#c4 ).
However, one more change was necessary to fix this bug: the .narrating class
gets z-index: 1 in narrate.css, in order to position the word highlights
below it. But the toolbar-container also gets z-index: 1, and because it
comes before the reader mode content in the DOM, its content will never
appear above the reader mode content unless it gets a higher z-index. So
we give it a z-index of 2.
Differential Revision: https://phabricator.services.mozilla.com/D76851
The Inferred/Guessed atoms are computed by the BytecodeEmitter running on the
enclosing script. During initial compilation we have the name before we
allocate the JSFunction, but for delazification the inner functions already
have been allocated without a name. Use FunctionBox::finish to apply these
names.
Differential Revision: https://phabricator.services.mozilla.com/D76767
Absorb CompilationInfo::publishDeferredFunctions into instantiateStencils and
allocate those JSFunctions after BytecodeEmitter completes.
Differential Revision: https://phabricator.services.mozilla.com/D76568
We defer the call until after BytecodeEmitter finishes running but before the
ScriptStencils are instantiated. We use the FunctionBox::wasEmitted flag to
know the function is now referenced by bytecode in the enclosing script and
that it is time to apply the complete ObjectGroup information.
Differential Revision: https://phabricator.services.mozilla.com/D76548
Replace CompilationInfo::finishFunctions with an instantiateStencils method
and move instantiation of all ScriptStencils into it. Add a ScriptStencil to
the CompilationInfo to hold the result for the top-level script (which may be
a function).
Eliminate the SharedContext::scriptExtent which is only special for
standalone functions and use the top-level stencil mechanism to handle that
instead.
Differential Revision: https://phabricator.services.mozilla.com/D76550
Remove FunctionBox::exposeScript in favour of checking wasEmitted. AsmJS
functions are wasEmitted but not exposeScript so handle that case too.
Remove FunctionBox::emitLazy since the reparse rollback patch avoids us
seeing an incomplete FunctionBox. The lazy BaseScript allocation will
eventually be merged with other Stencil instantiation.
Note: During delazification, the JSFunctions already exist and as a result
publishDeferredFunctions has no work to do. The emitLazy flag was never set
for delazification.
Differential Revision: https://phabricator.services.mozilla.com/D76766
When we reparse, also rewind some deferred object creation records. This
will avoid creating junk data in the Stencil. We limit this to only the
FunctionBox list for now since that is what we traverse over.
Differential Revision: https://phabricator.services.mozilla.com/D76765
Split the array of variants into an array of JSFunction and and array of
ScriptStencil. This will let use hold the Stencil generated by the BCE until
the end. In the future we will be able to remove the JSFunction array.
Differential Revision: https://phabricator.services.mozilla.com/D76549