Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.
This patch greatly simplifies how things are exposed. The starting point is:
- GeckoProfiler.h can be #included unconditionally;
- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.
In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.
The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.
Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
Adds a new directory provider key "XRESysExtDev" to be used by system extension
developers needing to load system extensions from a directory readable by
sandboxed content processes.
MozReview-Commit-ID: 4BKOZoPzCC3
--HG--
extra : rebase_source : 452db8d53a1f0248a080f858c48492978b5db808
The difference between GetXULRunnerStubPath and XRE_GetBinaryPath was
removed in bug 552864.
--HG--
extra : rebase_source : 20060486de82c04bc888fade5be1f42675bc5d07
Because nsAString is nicer to work with than char16_t*. The patch relatedly
changes nsIEmbeddingSiteWindow::title and nsIWindowMediator::updateWindowTitle
as well.
--HG--
extra : rebase_source : 0bf332dec3e09af6c39c676f8795b368768a6046
The NS_LITERAL_STRING macro creates a temporary nsLiteralString to encapsulate the char16_t string literal and its length, but AssignLiteral() can determine the char16_t string literal's length at compile-time without nsLiteralString.
MozReview-Commit-ID: L9UE3gXHG4Q
--HG--
extra : source : 37d74bf745b23542251cc6b021d6aabb5ffadea1
extra : intermediate-source : 0402b4bd34c293b44c76de22418899420c8e405b
Add a `--screenshot` argument that implies `--headless` and is used to take a screenshot of a page from the command line.
Default is a full page screenshot, but `--window-size=width[,height]` can change this.
A path for the screenshot can be supplied with `--screenshot=/path/to/file`.
MozReview-Commit-ID: 13tUjk2Yrsl
--HG--
extra : rebase_source : d26ed0856af882ad52a606941685b2c91577d3bf
The GPU process doesn't have the directory service enabled, so it can't find
a tmp dir to put its .extra files for crash reports. Even if we do enable the
directory service, we still don't get the correct "content process tmp dir" in
the GPU process, because the UUID baked into that folder is passed via the
preferences service, and that isn't initialized in the GPU process either.
Rather than unneccessarily initialize all this stuff in the GPU process just
to get one folder name, we can pass that folder name directly in the argv list.
See comments 12-19 on the bug for further discussion of the various solutions
attempted/explored.
MozReview-Commit-ID: 1sFg27hIe7S
--HG--
extra : rebase_source : 78eb600a58fed45800b9df8303cc4d6898d96ae9
The GPU process doesn't have the directory service enabled, so it can't find
a tmp dir to put its .extra files for crash reports. Even if we do enable the
directory service, we still don't get the correct "content process tmp dir" in
the GPU process, because the UUID baked into that folder is passed via the
preferences service, and that isn't initialized in the GPU process either.
Rather than unneccessarily initialize all this stuff in the GPU process just
to get one folder name, we can pass that folder name directly in the argv list.
See comments 12-19 on the bug for further discussion of the various solutions
attempted/explored.
MozReview-Commit-ID: 1sFg27hIe7S
--HG--
extra : rebase_source : 62ff819c5b03f642cd4b9af7c89c84b790397372
This fixes improper usages of Find where an offset was actually being use for
the boolean ignore case flag. It also fixes a few instances of passing in a
literal wchar_t to our functions where a NS_LITERAL_STRING or char16_t should
be used instead.
--HG--
extra : rebase_source : 5de1e9335895d65e6db06c510e8887d27be3390f
extra : source : f762f605dd83fc6331161a33e1ef5d54cafbd08d
NO_REMOTE_TYPE seems to have been an artifact of introducing remote types and
not wanting to change things. This eliminates the type, changing
GetNewOrUsedBrowserProcess() to no longer use a default argument so that
callers must think about the remote type they want. Additionally, the existing
call-site used by xpcshell in nsEmbedFunctions.cpp is updated to use the
DEFAULT_REMOTE_TYPE of "web", as-is the unused nsAppRunner.cpp case. (That is,
no one appears to call nsXULAppInfo::EnsureContentProcess directly or via its
XPCOM interface, and so it probably should be removed. However, since I
potentially want this patch uplifted to beta 56 and legacy extensions exist
there, we're not addressing that in this patch.)
--HG--
extra : rebase_source : bb87ec781d041bcea49268585bb5b45522b19bc2
Follow-up to bug 1122124 to ensure `SaveWordToEnvIfUnset("XRE_PROFILE_NAME", mProfileName);` saves the updated profile name after reset takes the old profiles name.
MozReview-Commit-ID: MTJAQUKktM
--HG--
extra : rebase_source : 4cb6e762898c3dd459f6ef4049687cd1e4170558
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
This is straightforward, with only two notable things.
- `#include "nsXPIDLString.h" is replaced with `#include "nsString.h"`
throughout, because all nsXPIDLString.h did was include nsString.h. The
exception is for files which already include nsString.h, in which case the
patch just removes the nsXPIDLString.h inclusion.
- The patch removes the |xpidl_string| gtest, but improves the |voided| test to
cover some of its ground, e.g. testing Adopt(nullptr).
--HG--
extra : rebase_source : 452cc4a08046a1adb1a8099a7e85a1917de5add8
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.
--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299