Also, use |run-if| instead of |skip-if| to filter the test.
MozReview-Commit-ID: 5NUoSoRzqMC
--HG--
extra : rebase_source : c50eb0cf377d02456089382108a49658ea6930b7
GConf uses ORBit, which tries to create server sockets, which has been
disallowed by the content sandbox seccomp-bpf policy since 55 (bug
1358647). GConf is considered obsolete and hasn't been updated since
2013. This patch disables the use of GConf in content processes, on the
assumption that anything that this would break is already broken by
rejecting the system call.
The one use case that's believed to be broken is using WebRTC behind a
mandatory proxy and using system preferences (rather than Firefox's) for
the proxy config. WebRTC uses nsIProtocolProxyService in the content
process, so if this combination of things is done on a system with GConf,
it will not be able to read the system prefs.
The larger use case of WebRTC + GConf (with or without a proxy) will
crash on Nightly without this patch, because rejected syscalls produce
crashes in order to gather more diagnostic information.
MozReview-Commit-ID: 6jpBkByzo7n
--HG--
extra : rebase_source : 54f28163b78593d25b7a52897162f20e9042bcfe
Here, we calculate the recovery time from two different start points because that when GPU crashes, VideoDecoderChild::ActorDestory() is called, but VideoDecoderChild doesn't dispatch events to trigger decoder recreation immediately.
Instead, it waits until a new VideoDecoderManager has been recreated [1], and then rejects all pending promises to MFR with a NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER, which triggers playback pipeline recreation.
These two probes help us to know the gap between "GPU crash" and "MFR is notified". We don't need to wait for VideoDecoderManager recreation if we're certain that we don't create remote video decoder anymore. And if the gap is large, it might be a significant optimization.
[1] http://searchfox.org/mozilla-central/rev/51b3d67a5ec1758bd2fe7d7b6e75ad6b6b5da223/dom/media/ipc/VideoDecoderChild.cpp#124-145
MozReview-Commit-ID: DcI2CwWORxZ
--HG--
extra : rebase_source : 2f69330b9721cd4d6895f93b3a3cbc740de54e8c
Also reordered strings according to the order they appear in the template.
Unused strings:
* aboutTelemetry.showNewerPing
* aboutTelemetry.showOlderPing
* aboutTelemetry.archiveWeekHeader
* aboutTelemetry.filterText
MozReview-Commit-ID: 4WaKaNGM0xd
--HG--
extra : rebase_source : 205e3dbd724c5c81672a2c424a89a49040323a7c
It doesn't work properly anyways due to a more general coordinate-system
problem on the Print Preview page (see bug 1393494).
MozReview-Commit-ID: D4i2H8z5mtW
--HG--
extra : rebase_source : da241829abf69cd03ef838bea57e1828356f0e00
Based on a patch that Dão Gottwald <dao+bmo@mozilla.com> wrote.
We used to preload about:newtab as soon as a tab had finished being opened,
which meant that the first opened tab was _never_ preloaded, and that we
risked janking the browser immediately after the user opened a new tab
(which is, arguably, the worst time to do it, since the user is probably
about to navigate that tab somewhere).
This patch makes it so that about:newtab is preloaded after:
1) 1 second of user inactivity, and
2) When we have at least 40ms of idle time to spend in an idle callback.
The 1s and 40ms thresholds were chosen arbitrarily, and we might tune them
over time.
MozReview-Commit-ID: J5xkPQvCdW6
--HG--
extra : rebase_source : 51aed2f47ee5c6a68d04036d0bdc9e6357a5fc8d
Also adds a mozilla/ResultExtensions.h header to define the appropriate
conversion functions for nsresult and PRResult. This is in a separate header
since those types are not available in Spidermonkey, and this is the pattern
other *Extensions.h headers follow.
Also removes equivalent NS_TRY macros and WrapNSResult inlines that served the
same purpose in existing code, and are no longer necessary.
MozReview-Commit-ID: A85PCAeyWhx
--HG--
extra : rebase_source : a5988ff770888f901dd0798e7717bcf6254460cd
This allows MOZ_TRY and MOZ_TRY_VAR to be transparently used in XPCOM methods
when compatible Result types are used.
Also removes a compatibility macro in SimpleChannel.cpp, and an identical
specialization in AddonManagerStartup, which are no longer necessary after
this change.
MozReview-Commit-ID: 94iNrPDJEnN
--HG--
extra : rebase_source : 24ad4a54cbd170eb04ded21794530e56b1dfbd82
When there are no updates to write to an xml file just delete the associated xml file
Cleaned up loading of the updates.xml and active-update.xml files so |_ensureUpdates| is no longer needed
Added dirty check for whether to write the update history in updates.xml
Adds errorCode property to nsIUpdatePatch so it is saved to the xml
Adds errorCode for trying to apply an older version or same version with the same build ID
Adds errorCode for when there is a no status file
Adds errorCode for channel change
1. Make nsINamed queriable on WrappedJSHolder.
2. Identify callers via |Cu.generateXPCWrappedJS(aCallback).QueryInterface(Ci.nsINamed).name|.
--HG--
extra : amend_source : 5d4201059f66e46c869c30a963921b6f7b91c389
Replace it with NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION, because it
has been the same for a while.
MozReview-Commit-ID: 5agRGFyUry1
--HG--
extra : rebase_source : 5388c56b2f6905c6ef969150f0c5b77bf247624d
With the removal of the old addonHistograms, all histograms are now registered.
So removing registered(Keyed)Histograms should be straightforward?
Unfortunately not, as this was how we filtered data based on dataset
(opt-in/opt-out), so a little more fiddling was needed to get C++ to only
serialize dataset-appropriate data (instead of post-facto filtering it in JS).
MozReview-Commit-ID: HDplhmzmzJl
--HG--
extra : rebase_source : 9c38c97e39e3c4fb192288d751505e1f0f2a2c6d
This fixes usages of `Find`, `RFind` and the equality operator that kind of
work right now but will break with the proper type checking of a templatized
version of the string classes.
For `Find` and `RFind` it appears that `nsCString::(R)Find("foo", 0)` calls
were being coerced to the `Find(char*, bool, int, int)` versions. The intent was
probably to just start searching from position zero.
For the equality operator, the type of nullptr is nullptr_t rather than
char(16_t)* so we'd need to add an operator overload that takes nullptr_t. In
this case just using `IsVoid` is probably more appropriate.
--HG--
extra : rebase_source : 50f78519084012ca669da0a211c489520c11d6b6
- if enabled, lock orienation when fullscreen state change
- use video aspect ratio to choose which orientation to lock
MozReview-Commit-ID: 3HP60YNbWcc
symbolstore.py processes filenames in FILE lines of symbol files to encode
information about the source repository they came from, or to mark
known generated source files. It also reads the dist/include install
manifest so it can map header files from there back to their source locations.
These mappings were broken on Windows because symbolstore.py first passes
filenames into `FixFilenameCase`, which calls `GetFinalPathNameByHandleW`,
which breaks things in two ways:
1) It returns paths with an uppercase drive letter, and source paths from
elsewhere have a lowercase drive letter.
2) It resolves symlinks, and on Taskcluster Windows builds the whole build
is done within a symlinked directory so paths directly from the srcdir
and objdir won't match those canonicalized paths.
This patch adds a `normpath` function to symbolstore.py and moves the
contents of `FixFilenameCase` into it on Windows, and just makes it
an alias for `os.path.normpath` everywhere else. It then uses it everywhere
we deal with paths that will be compared against source file paths from symbol
files so that all paths are canonicalized the same and we can do simple
string matching from there.
Additionally, this patch adds a check to the functional test to verify
that header files from dist/include are correctly mapped to the source
repository. Unfortunately there is still not a test for generated files
because they only appear in the libxul symbol file, and dumping symbols
from libxul is too slow to invoke as part of a unit test.
MozReview-Commit-ID: Dx3z1BZcIvc
--HG--
extra : rebase_source : 80179bbea58a804344a56ef27f438ada76e7fe77
For parent process, users may expect the UI is interactable after they saw the
first tab has restored/shown.
So this patch added a new topic "sessionstore-one-or-no-tab-restored" which
represents the parent process has finished a tab restoring. If there is nothing
to restore, it is effectively equal to "sessionstore-windows-restored".
For centent processes, users may expect web content is interactable when the
top-level-content-document has finished loading, which is different from the
parent case.
MozReview-Commit-ID: AtEUW80Ea6n
--HG--
extra : rebase_source : d920975bf95545ea9e3127d3f570b814fe301be9
- if enabled, lock orienation when fullscreen state change
- use video aspect ratio to choose which orientation to lock
MozReview-Commit-ID: 3HP60YNbWcc
--HG--
extra : rebase_source : 0ca078e35324d1e5f3bdf1ec29d33b3bc812bfa1
Change webextensions experiments test to use the shimmed certficiate DB
instead of the extensions.legacy.enabled pref.
In builds that don't honor the extensions.legacy.enabled pref, disable
test_legacy.js since that tests that flipping that preference works properly.
Finally, remove a now doubly-obsolete test of plugins embedded in xpis.
MozReview-Commit-ID: JiRdgCXyjKR
--HG--
extra : rebase_source : f0c7672b0755993bd20f9fc84e242eb76cb949ef
test_signed_migrate.js was about migrating from a build that does not
enforce signatures to one that does. This migration happened a while
ago so we can just get rid of this test.
test_signed_inject.js uses signed legacy extensions and needs to be
udpated to use webextensions, this is bug 1394122.
MozReview-Commit-ID: GYq002YroDk
--HG--
extra : rebase_source : a9c5441e55a52f4a98dbb06781588af13915cb8f
Update a bunch of tests that cover rebuilding the addons database to use
webextension themes instead of complete themes. Discovered bug 1394117
along the way and disabled a bunch of code pending fixing that bug.
MozReview-Commit-ID: AfXL9vcQGvK
--HG--
extra : rebase_source : a05ccff9b54838684a26c3139557c75b12c33028
Bug 1360308 offloads IO operations from the main thread when we create paired minidumps.
This breaks the symmetry of paired minidumps: the thread stacks of the parent minidump
doesn't correspond to the thread stacks in the child minidumps and renders the parent
stack useless. This patch moves generation of the parent minidump back to the main
thread to keep the context of the parent process when creating paired minidumps. Child
minidump is still created asynchronously.
MozReview-Commit-ID: 9RmBAuXMPSX
We hook in kernelbase.dll rather than kernel32.dll, as hooking QueryDosDeviceW
kernel32.dll is failing on our Win8 tests, it seems because QueryDosDeviceW in
kernel32.dll redirects to kernelbase32.dll, and the redirect has insufficient
space for our hook in Win8. So hook in kernelbase.dll, where the redirect
redirects to instead.
MozReview-Commit-ID: JKRiKCd7Ibn
--HG--
extra : source : 635dedbff7ceebc1e71bf397228da87bf5c6a0dc
The hyphenation dictionaries we ship as part of the build don't depend
on the UI locale, let's stop treating them as localizable content during
repacks.
MozReview-Commit-ID: FTrw4KDtops
--HG--
extra : rebase_source : f6ddb22154fc66da0a7cdc56a4cecb58c9e3d54b
Like part a, but for `choices` messages rather than error messages.
MozReview-Commit-ID: 7dJ0NL2fUh5
--HG--
extra : rebase_source : 477f1364c0904bde78d54eae083bdb8e49ee5732
extra : histedit_source : 38c336b3a59481b6f2523798367159fb757c6485
For choices types, when one choice fails, we don't need the original error
string, since another choice may succeed, and we generate the final error
based on all of the options. Nevertheless, we spend a lot of time generating
JSON strings for the failed inputs in those cases, which adds up to about 12%
of the remaining overhead at this point.
MozReview-Commit-ID: 6nXBAv2W20V
--HG--
extra : rebase_source : 5894bc4b9e8d64ac9505f27240ea4fabfcb5f02f
extra : histedit_source : 0e8b5e0315abd672a57a60420453a1e0681c9df6
The Array and ArrayBuffer type checks we do in getBaseType add up to a
significant amount of overhead given the number of times we call them,
especially when X-ray overhead comes into play. These changes allow us to
avoid X-ray overhead altogether.
MozReview-Commit-ID: KlRuxeElIfp
--HG--
extra : rebase_source : c7f00fb8c35965476e7c7b888b6af36714c1323f
extra : histedit_source : fc559e665e60e9bbb688eebe6c6e6da5dacec748
Provides access to the browser's internal Find APIs. Can search,
get range data and rect data on found results, and highlight results.
--HG--
extra : amend_source : dfa2b36794543378db58e411ca4e317a64921831