With the native compositor enabled, try runs were occasionally
hitting an assertion failure where a compositor surface was
being drawn, but hadn't been created (so the id was unknown).
This was occurring when the MemoryPressure event occurs in some
situations during shutdown. When this occurs, the active_documents
list is cleared. This could result in the native surface updates
list (which was stored in the Frame of a Document) not being
applied, meaning the new surface was not created. If a subsequent
frame then tried to composite that surface, this assert would
occur.
This is fixed by moving compositor surface management to be handled
via the resource cache, in the same way as texture cache updates.
This ensures that even in the presence of a memory pressure event,
any pending native surface updates are applied to the renderer.
Differential Revision: https://phabricator.services.mozilla.com/D55910
--HG--
extra : moz-landing-system : lando
SABs become foreground-finalizable so that we can access the runtime
during finalization. Then a simple counter on the runtime will track
live SABs for the runtime, and the predicate on the context can get
its information from the runtime.
Fallout: SABs are now enabled on the globals used for jsapi-tests.
Differential Revision: https://phabricator.services.mozilla.com/D55783
--HG--
extra : moz-landing-system : lando
Prevent the l10n overlays logic from parsing markup in Fluent translations when the element being localized is `<title>`. This fixes a regression from bug 1591328 which migrated the browser window title to Fluent, interpolating the current page's title into a Fluent message which is used to localize the window title. If the web page's title contained markup, l10n overlays would parse it—and then sanitize and strip it, which produced an incomplete result visible in the window's title bar and the task bar of the OS.
Differential Revision: https://phabricator.services.mozilla.com/D55784
--HG--
extra : moz-landing-system : lando
This patch addresses the following issues which prevent building the
documentation on a Windows system:
1. check_jsdoc attempts to launch a file by the name of jsdoc using
subprocess.check_output(). But, the file jsdoc is a Bash script,
so it can't be launched this way on Windows. We should find the
correct file name to use instead (likely jsdoc.cmd).
2. The Windows CopyFile API will fail if the destination directory does
not exist. The procedure that creates the staging directory for Sphinx
attempts to use this API before any directories are created, so most calls
to it fail and most files don't get staged. These errors are ignored, so
the result is that Sphinx succeeds in generating a set of documentation
that is mostly empty.
3. Several instances where manually constructed paths that contain both back
and forward slashes are compared to or otherwise used with normalized paths,
resulting in incorrect behaviors.
Differential Revision: https://phabricator.services.mozilla.com/D54549
--HG--
extra : moz-landing-system : lando
2019-12-03 J.C. Jones <jjones@mozilla.com>
* lib/nss/nss.h, lib/softoken/softkver.h, lib/util/nssutil.h:
Set version numbers to 3.48 final
[65d3150a258e] [NSS_3_48_RTM] <NSS_3_48_BRANCH>
2019-12-02 J.C. Jones <jjones@mozilla.com>
* .hgtags:
Added tag NSS_3_48_BETA1 for changeset 77976f3fefca
[06d5b4f91a9c]
Differential Revision: https://phabricator.services.mozilla.com/D55994
--HG--
extra : moz-landing-system : lando
This patch adds a new context for the performance-new components. It's
eventually the only place where the settings will live, but for now
the components share the settings between the popup, the devtools panel,
and the about:profiling page.
This page uses the base styling that the preferences page uses. The styles
should obey the theming for the browser, and ignore the devtools theming
colors.
Differential Revision: https://phabricator.services.mozilla.com/D55010
--HG--
extra : moz-landing-system : lando
This is probably the biggest change to the existing components, as it makes the
summary dropdowns conditional based on the page context. This keeps the old
workflow working, but allows for the new about:profiling page's design. Most
of the diff here is creating the new _renderSection method which consolidates
this logic, and also handles the summary div structure.
Differential Revision: https://phabricator.services.mozilla.com/D55009
--HG--
extra : moz-landing-system : lando
The new about:profiling page creates some more complexity around what
the page context is. It is simpler to handle the different cases with
a union, rather than booleans.
Differential Revision: https://phabricator.services.mozilla.com/D55008
--HG--
extra : moz-landing-system : lando
This commit is fairly trivial, but creates the about:profiler page to
start the new about:profiler work.
Differential Revision: https://phabricator.services.mozilla.com/D53729
--HG--
extra : moz-landing-system : lando
GCC8 happens not to generate the code that causes the crash, so do that for now
to unblock fuzzers from hitting this.
We still need to figure out what to do about the more general issue of course...
Differential Revision: https://phabricator.services.mozilla.com/D55985
--HG--
extra : moz-landing-system : lando
also freeze the presshell when setActive(false) is called to stop requestAnimationFrames
Differential Revision: https://phabricator.services.mozilla.com/D55343
--HG--
extra : moz-landing-system : lando
Keep the player window in a similar position to where it was before a resize.
The player window edge closest to a screen edge will be maintained in the X
and Y dimensions.
A video in the bottom right will have its bottom right corner stay in place,
while a video in the top left will have its top left corner stay in place.
Differential Revision: https://phabricator.services.mozilla.com/D52064
--HG--
extra : moz-landing-system : lando
Before the patch, the test failed if indexedDB.databases() returns a promise, but the promise was rejected. This was not what "Ensure that databases() returns a promise." describes. Therefore, either the description should be changed, or the test. But there are other tests that check if the promise is resolved, I changed the test.
Differential Revision: https://phabricator.services.mozilla.com/D54142
--HG--
extra : moz-landing-system : lando
Overall, the new RDM is using dark theme styling as before. The only exception is the text in the actual toolbar React component, which seems to default to using light theme colors. This revision applies a CSS variable `theme-body-color` to the toolbar's document body to toggle between dark/light theme colors for text.
Differential Revision: https://phabricator.services.mozilla.com/D55706
--HG--
extra : moz-landing-system : lando
The fix is to queue pointers to finalization records rather than just holdings when the target dies. These are still in the resgistration map and so can be cleared by unregister(). We detect this in the iterator's next() method and skip any such records.
Differential Revision: https://phabricator.services.mozilla.com/D55808
--HG--
extra : moz-landing-system : lando
This patch adds a new context for the performance-new components. It's
eventually the only place where the settings will live, but for now
the components share the settings between the popup, the devtools panel,
and the about:profiling page.
This page uses the base styling that the preferences page uses. The styles
should obey the theming for the browser, and ignore the devtools theming
colors.
Differential Revision: https://phabricator.services.mozilla.com/D55010
--HG--
extra : moz-landing-system : lando
This is probably the biggest change to the existing components, as it makes the
summary dropdowns conditional based on the page context. This keeps the old
workflow working, but allows for the new about:profiling page's design. Most
of the diff here is creating the new _renderSection method which consolidates
this logic, and also handles the summary div structure.
Differential Revision: https://phabricator.services.mozilla.com/D55009
--HG--
extra : moz-landing-system : lando
The new about:profiling page creates some more complexity around what
the page context is. It is simpler to handle the different cases with
a union, rather than booleans.
Differential Revision: https://phabricator.services.mozilla.com/D55008
--HG--
extra : moz-landing-system : lando