The implementations of browserAction, pageAction, and menu onClick
handlers now stash the current <browser> until we get a reply from
the extension process indicating that the handler has finished running.
We also have to take care to keep that <browser> around even if the
permissions api has to be loaded asynchronously.
MozReview-Commit-ID: BYJaiwdj40u
--HG--
extra : rebase_source : 3d9cba03d2853ef8d71b6c3e3a1fd0aba400b39c
Using /home/worker is the build directory has a 30% talos performance
loss, because test machines has a /home mount directory.
MozReview-Commit-ID: zehcGJrUQX
--HG--
extra : rebase_source : e9ce75ecf18e7d4c829e369f5fbd1df8d6449edf
A lot of reports have already been filed; and more are coming every day, which
probably won't bring much value, compared to the time needed to look at them.
So we are disable this functionality for now, to give us time to review current
reports.
MozReview-Commit-ID: FbMSHvZXrtc
--HG--
extra : rebase_source : 579302fa5ac7739ac44b8cbfb0d62827f393d154
Current codegen list the methods for clearing cached attribute values in both
chrome only unforgeable methods and chrome only normal methods, but they should
exist only in the normal ones.
MozReview-Commit-ID: Il2JvCLZ2v3
--HG--
extra : rebase_source : 21b9c715c921c4ac7f6ed4c235ee79a3628162bd
Currently we resolve a property by iterating every prefable and check whether it
is enabled. If it is, we linear search the ids that it manages. This patch
changes that to binary searching to find whether the id being resolved is
present first, and checking whether its prefable is enabled only when we find
it. This improves the performance of property resolution, especially when the
property is not present.
The patch stores all the property ids a NativePropertiesN owns in a single array
of PropertyInfo structs. Each struct contains an id and the information needed
to find the corresponding Prefable for the enabled check, as well as the
information needed to find the correct property descriptor in the Prefable. We
also store an array of indices into the PropertyInfo array, sorted by bits of
the corresponding jsid. Given a jsid, this allows us to binary search for the
index of the corresponding PropertyInfo, if any. The index array requires 2
bytes for each property, which is ~20k across all our bindings. The extra
information stored in each PropertyInfo requires 4 bytes for each property,
which is about 40k across all our bindings in 32-bit builds, or 80k in 64-bit
builds due to alignment requirements on PropertyInfo. However we save a bit of
memory from changing NativePropertiesN's trios to duos.
The array of unsorted ids is kept because XrayOwnPropertyKeys() includes only
properties that are enabled. Without it, we will need to check every single
property to know whether its prefable is enabled or not, which is inefficient.
With this patch, initializing property ids takes longer because of the sorting.
I measured also insertion sort because I thought the ids should be nearly sorted
as they are generated sequentially at run time, but that's not the case and
NS_QuickSort() runs faster.
MozReview-Commit-ID: Lc4Z1ui3t0o
--HG--
extra : rebase_source : 314efe467a14428c57f90af2ecc0ec5c47a31993
The -fsanitize=integer analysis from UBSan can be helpful to detect signed and unsigned integer overflows in the codebase. Unfortunately, those occur very frequently, making it impossible to test anything with it without the use of a huge blacklist. This patch includes a blacklist that is broad enough to silence everything that would drain performance too much. But even with this blacklist, neither tests nor fuzzing is "clean". We can however in the future combine this with static analysis to limit ourselves to interesting places to look at, or improve the dynamic analysis to omit typical benign overflows.
It also adds another attribute that can be used on functions. It is not used right now because it was initially easier to add things to the compile-time blacklist to get started.
Finally, it includes a runtime suppression list and patches various parts in the test harnesses to support that. It is currently empty and it should not be used on frequent overflows because it is expensive. However, it has the advantage that it can be used to differentiate between signed and unsigned overflows while the compile-time blacklist cannot do that. So it can be used to e.g. silence unsigned integer overflows on a file or function while still reporting signed issues. We can also use this suppression list for any other UBSan related suppressions, should we ever want to use other features from that sanitizer.
MozReview-Commit-ID: C5ofhfJdpCS
--HG--
extra : rebase_source : 952043a441b41b2f58ec4abc51ac15fa71fc142f
This patch enables startupRecorder.js to collect data on
loaded and shown raster and SVG images on startup via events
from native code. It also adds a test that uses this data
to find images that are unnecessarily loaded.
I've not fixed any of the affected images yet, there's a
fairly comprehensive whitelist that I want to gradually
decrease by opening bugs in the respective components.
MozReview-Commit-ID: 9KqQvKLtZhu
--HG--
extra : rebase_source : 5f75fcd1152f569a5b48e21d4e4821a24f768ecd
So we can remove the use of mMutex from InvalidateWithFlags().
MozReview-Commit-ID: 75pHDM5xYYb
--HG--
extra : rebase_source : e39e1a3e4c796b8163b0c9b1bfeec048e6fb06f0
The '-moz-windows-accent-color-applies' media query matches when the Windows 10
accent color should be used as the background of the title bar.
MozReview-Commit-ID: GM7nZij6MhQ
--HG--
extra : rebase_source : ee8089ef876d0887e2c0d063015145d17eefa612
Rebase of https://github.com/servo/servo/pull/17449
Source-Repo: https://github.com/servo/servo
Source-Revision: 8029f1a1bbe9721f5bd1a3772c9573e2b700dcc6
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0c0c15a7fb7b2da87e8e21b489017d3d5c505f7b
This patch changes the Recent Bookmarks flow in browser-places.js to use the new
PlacesPanelview to provide a rich view that support drag and drop and context
actions.
A new button 'Search Bookmarks' was added, which prefills the urlbar with '* ',
which is a shortcut for searching bookmarks using the Awesomebar.
MozReview-Commit-ID: 1XlO8HMKEJs
--HG--
extra : rebase_source : 59cdf8a24341eb5df55511c5be83ebee8787aad5
NaN, inf, -inf values are not valid json-- let's just output null
instead when we get these values.
MozReview-Commit-ID: CxddnTXVs4A
--HG--
extra : rebase_source : 60886caff8c57c67579bf9fcabcdaa3ce2e7c4c9
This patch enables talos test suites to run on VM (taskcluster) and also enables these test suites to run with GCOV code coverage instrumentation on the linux64-ccov build.
MozReview-Commit-ID: 7p59zvra1ge
--HG--
extra : rebase_source : 990ebecb9daaee7c5030e08b0d763493103f0fe8
* Split out the arrow and progressbar in the indicatorOverlay for individual animation.
* Group icon and progressbar parts into addressable elements in a single download-icons.svg
MozReview-Commit-ID: KAn0gFqjKjc
--HG--
extra : rebase_source : 4df5377be7d6d0b42eaebd1e28286b81fd555ec2
Since the restart itself will clear the restart notification if
it's successful, there's no need to actually dismiss it even on
the main action being executed. Accordingly, this patch changes
it to pass the "dismiss" field to the main action, which will
cause the main action to simply degrade the doorhanger to a
badge.
MozReview-Commit-ID: 5FKTTihIoe4
--HG--
extra : rebase_source : ec9bc2b961bd1c2ec08580d95f0fec06a7f2b437
The GetNamedCookie command currently returns a JSON Array of one,
retained cookie, after it has removed the cookies that don't match by
name.
This is in violation of the WebDriver specification, which says it must
return the cookie serialisation directly.
MozReview-Commit-ID: 9yEiarEGBez
--HG--
extra : rebase_source : ec393eec712a6f957cee22d261bcd9ed13c6ec5b
The expires property on nsICookie2 does not exist and we are
consequently returning it as undefined, which gets omitted in the JSON
serialisation to the client.
This patch changes it to return the correct property so that the expiry
property is returned as part of the serialised cookie.
MozReview-Commit-ID: IIjf4NWnUoQ
--HG--
extra : rebase_source : 9e4695b7de1e7b866c10a4b181d75fdbf37db2f6
The url fixture is used to access hosted files on the wptserve instance.
This patch makes it possible to choose between different wptserve HTTPDs
based on the protocol.
The default remains the HTTP protocol.
MozReview-Commit-ID: FvtMMUSlB4M
--HG--
extra : rebase_source : 3045dffd2c5c1ec5837b75252a4b148a5cc6e2b0
Using the {foo = null} = {} shorthand to generate default values exposed
as function scope variables is more readable, and arguably somewhat safer,
than the current approach.
MozReview-Commit-ID: Lxn0fpBSR3a
--HG--
extra : rebase_source : 63fa829657d726e8987a77b5add817a3b7d0b7d3
Whilst try...catch (e if foo) { ... } is a very nice construct, it has
not been standardised and we should avoid using non-web platform features.
MozReview-Commit-ID: 9qzHtBdlPfw
--HG--
extra : rebase_source : be27a3d647eba2d48721c77dabe12ca13278bda9
We try to delete the element entry by "id", which is not defined.
MozReview-Commit-ID: DXAOJAV1z9Q
--HG--
extra : rebase_source : 103209d203f64bb354e46fb4fb98225b8e7165a0
getContext and setContext are duplicated further up under the Marionette
serivce entries.
MozReview-Commit-ID: 2V5S2XG6wDw
--HG--
extra : rebase_source : 1f22adc294c063f014e3a0e884a01ed6a7fbe43e
To ensure a consistent return type from browser.Context#get, this patch
introduces a RangeError to be thrown if the weak reference to the window
is empty.
MozReview-Commit-ID: 2aNOG9Uht3I
--HG--
extra : rebase_source : e57f288544b011444c26f0d0ecd68979aa0caced
accessibility.service is allowed to return undefined, but we should
be explicit that this condition is allowed instead of relying on the
default value of the service variable assigned on the first line.
MozReview-Commit-ID: LrlnIba56v5
--HG--
extra : rebase_source : 1b66b6aa4393cb14b41bc67036d5d7296195be32