Instead of checking for canonical function using scope chain, we can
directly use the functionOrGlobal field. By moving this to the
BaseScript class we can also simplify the debugger acccess.
Differential Revision: https://phabricator.services.mozilla.com/D47071
--HG--
extra : moz-landing-system : lando
To avoid calling JSScript::function() from finalizer, we need to read the
name earlier in process.
Differential Revision: https://phabricator.services.mozilla.com/D51474
--HG--
extra : moz-landing-system : lando
To allow InitScriptCoverage to be more flexible, we need to delay the call
until the JSScript is actually initialized. This moves the calls from
JSScript constructor until the JSScript is actually initialized. This is
similar to the debugger onNewScript call, but more cleanup would be needed to
unify these.
Differential Revision: https://phabricator.services.mozilla.com/D51473
--HG--
extra : moz-landing-system : lando
Set this flag for scripts that are for functions. This is equivalent to
checking the kind of the bodyScope() but is safe to call in GC contexts such
as finalization.
Also use an isFunction() accessor instead of checking if JSScript::function()
is nullptr throughout the codebase. Similarly, cleanup similar uses of
JSScript::module().
Differential Revision: https://phabricator.services.mozilla.com/D51472
--HG--
extra : moz-landing-system : lando
nsPrintData::mBrandName never changes over the lifetime of a Firefox instance.
It is wasteful to have nsPrintData obtain and store it, since we can replace
an nsPrintJob's nsPrintData object multiple times over the lifetime of the
nsPrintJob and nsPrintJob is the only consumer.
Differential Revision: https://phabricator.services.mozilla.com/D51689
--HG--
extra : moz-landing-system : lando
* Adds a new moz-http2-child.js file which gets spawned into a new process. When calling NodeServer.execute, the code gets passed to the existing moz-http2.js process which then sends it to be evaluated in the child process. Any crash in the child should not be able to kill the main node process.
* Moves the proxy creation code into test_http2-proxy.js
* Adds the new NodeServer.fork() and NodeServer.kill() static methods to spawn a new server
* Makes it easier to isolate a test's behaviour from another's. It also opens the way to moving some of the logic to individual unit tests, like we do for the proxy creation code, rather than keeping it all in moz-http2.js
Differential Revision: https://phabricator.services.mozilla.com/D49961
--HG--
extra : moz-landing-system : lando
Remove mobile/android/extensions/ and /mobile/android/chrome/content from mozilla-central (Fennec leftovers)
Differential Revision: https://phabricator.services.mozilla.com/D51194
--HG--
extra : moz-landing-system : lando
Properly handles NPError reporting and makes sure that, in the case of failure, it does not return junk for the NPObject.
Differential Revision: https://phabricator.services.mozilla.com/D48474
--HG--
extra : moz-landing-system : lando
For content that comes from the parent process (e.g. about:support)
the shape of the display list is slightly different. In these cases
ensure that we setup picture caching slice markers on the root
stacking context.
Differential Revision: https://phabricator.services.mozilla.com/D51540
--HG--
extra : moz-landing-system : lando
The previous code tried to do it, but it did it wrongly, as the overflow clip
comes from the parent, not the child.
Thus when we change a style that influences it, we weren't invalidating the
SIMPLE_DISPLAY_LIST bit, and such.
Make the reftest that caught this fail more reliable.
Differential Revision: https://phabricator.services.mozilla.com/D51683
--HG--
extra : moz-landing-system : lando
This patch fixes some issues with binaries not being executable after being extracted. It also fixes the ImageMagick expected extraction path to the correct location. To prevent that from occuring again, a check is done after extraction to be sure that the extraction completed successfully.
Differential Revision: https://phabricator.services.mozilla.com/D51300
--HG--
extra : moz-landing-system : lando
During the visibility pass, picture caches register themselves as
occluders, if they have a valid opaque region.
During the primitive preparation pass, each tile queries if it is
occluded. If so, it skips rasterization and compositing of itself
for this frame. In this way, tiles that are always occluded never
end up allocating GPU memory for a surface.
Also add support during primitive dependency generation for opaque
images to be considered as part of the opaque backdrop region.
Differential Revision: https://phabricator.services.mozilla.com/D51555
--HG--
extra : moz-landing-system : lando
This method is very asynchronous, called on reflows and throttled. Which means it has a high chance of intermittently failing after destroy.
Differential Revision: https://phabricator.services.mozilla.com/D51663
--HG--
extra : moz-landing-system : lando
Instead, this patch introduces a new `ObjLiteral` mini-bytecode format
that is used to carry object-literal information from parse time to a
later time at which GC objects are safe to allocate. The mini-bytecode simply
specifies a list of fields and constant field values.
The original intent of this patch (realized in previous versions of it)
was to make this an opcode, and completely replace object creation
sequences (NEWINIT, INITPROP, INITPROP, ...) with one OBJLITERAL opcode.
However, there are quite a few performance regressions that occur when
replacing the finely-tuned set of optimizations around this with a new
mechanism.
As a result, this patch only defers allocation of the objects until the
very end of parse. Each object literal adds an ObjLiteralCreationData
instance to the GC-things list, and when the GC-things list is processed
to perform deferred allocations, the described objects will be created.
Differential Revision: https://phabricator.services.mozilla.com/D47985
--HG--
extra : moz-landing-system : lando
Changes:
- reverts the changes made to a vendored psutil file to a prior state
Differential Revision: https://phabricator.services.mozilla.com/D51667
--HG--
extra : moz-landing-system : lando
Spoof dom/dom.properties, layout/xmlparser.properties,
layout/MediaDocument.properties to en-US if needed.
Differential Revision: https://phabricator.services.mozilla.com/D46034
--HG--
extra : moz-landing-system : lando
nsXULWindow is no longer XUL specific and is somewhat confusing name.
Differential Revision: https://phabricator.services.mozilla.com/D51486
--HG--
rename : xpfe/appshell/nsXULWindow.cpp => xpfe/appshell/AppWindow.cpp
rename : xpfe/appshell/nsXULWindow.h => xpfe/appshell/AppWindow.h
rename : xpfe/appshell/nsIXULWindow.idl => xpfe/appshell/nsIAppWindow.idl
extra : moz-landing-system : lando
nsWebShellWindow is the only class that extends nsXULWindow and only
nsWebShellWindows are ever instantiated.
Differential Revision: https://phabricator.services.mozilla.com/D51155
--HG--
extra : moz-landing-system : lando