Commit Graph

968 Commits

Author SHA1 Message Date
Tom Tromey
a0148cdc8d Bug 1334278 - change mozilla::Smprintf to return a UniquePtr; r=froydnj
Change mozilla::Smprintf and friends to return a UniquePtr, rather than
relying on manual memory management.  (Though after this patch there are
still a handful of spots needing SmprintfFree.)

MozReview-Commit-ID: COa4nzIX5qa
2017-03-03 08:17:27 -07:00
Blake Kaplan
8c9d8ec6fa Bug 1349363 - Centralize pref-checking code for e10s-multi control. r=Felipe
This patch centralizes all of the pref-checking code for e10s-multi in a
single function. It is intended to be used throughout the codebase to see if
e10s-multi is "on". It also introduces dom.ipc.multiOptOut, which can be set
by the user to indicate that they do not want to participate in the e10s-multi
experiment.

MozReview-Commit-ID: Kyq1fqNzwue
2017-04-17 14:36:04 -07:00
Zibi Braniecki
8c433fc56a Bug 1346616 - Migrate callsites that are retrieving requested locale from pref, to use LocaleService::GetRequestedLocales. r=jfkthame,Pike
I'm adding a helper function mozILocaleService::GetRequestedLocale to simplify
most of the callsites that are looking for the first of the requested locales.

In most cases, I'm just matching the behavior of the code with reusing
LocaleService API instead of direct manipulation on the prefs.
That includes how I handle error case scenarios.

In case of sdk/l10n/locale.js I am reusing LocaleService heuristics over
the custom one from the file since the ones in LocaleService are just
more correct and unified accross the whole platform.

In case of FallbackEncoding I have to turn it into a nsIObserver to listen
to intl:requested-locales-changed.

MozReview-Commit-ID: 7rOr2CovLK
2017-03-11 18:43:11 -08:00
Sebastian Hengst
017c2ee2bf Backed out changeset 60d72c2dd49d (bug 1346616) for eslint failure in DirectoryLinksProvider.jsm. r=backout on a CLOSED TREE 2017-04-18 00:48:16 +02:00
Zibi Braniecki
64bae2dccf Bug 1346616 - Migrate callsites that are retrieving requested locale from pref, to use LocaleService::GetRequestedLocales. r=jfkthame,Pike
I'm adding a helper function mozILocaleService::GetRequestedLocale to simplify
most of the callsites that are looking for the first of the requested locales.

In most cases, I'm just matching the behavior of the code with reusing
LocaleService API instead of direct manipulation on the prefs.
That includes how I handle error case scenarios.

In case of sdk/l10n/locale.js I am reusing LocaleService heuristics over
the custom one from the file since the ones in LocaleService are just
more correct and unified accross the whole platform.

In case of FallbackEncoding I have to turn it into a nsIObserver to listen
to intl:requested-locales-changed.

MozReview-Commit-ID: 7rOr2CovLK
2017-03-11 18:43:11 -08:00
Robert Strong
7fd5f9815c Bug 1355361 - nsUpdateProcessor::ProcessUpdate should use the directory service instead of nsXREDirProvider (also removes app update gonk support). r=mhowell
Since the ApplyUpdate and SwitchToUpdatedApp functions are almost entirely the same this moves everything into ApplyUpdate.
Removes most of the gonk code from application update.
Makes client code and xpcshell tests use the same code for directory providers in nsUpdateDriver.cpp.
2017-04-12 18:07:07 -07:00
Mats Palmgren
d2ab73de9d Bug 1354166 - Add missing #include for gfxPlatform::IsHeadless(). r=bdahl
MozReview-Commit-ID: DkpUu8j3Lou
2017-04-06 20:17:34 +02:00
Brendan Dahl
85f151ac59 Bug 1338004 - Add headless browser mode. r=jrmuizel, r=ted
Supports creating a windowless browser on Linux without an X server. Most of the
changes are just adding branches to avoid calls in to GTK which calls
into X. Some of the bigger additions were adding a separate headless widget
which implements just enough to render a page. A headless look and
feel were also added since there are many calls into GTK in the platform
specific one.
2017-04-04 10:22:00 -04:00
Alex Gaynor
55cd169ff1 Bug 805173 - Enable HeapEnableTerminationOnCorruption for chrome processes on Windows. r=mhowell,tjr
This is an exploit mitigation which causes the Windows system allocator to abort
in the event it is in a corrupted state, rather than attempt to proceed in a
potentially exploitable state.

Because we use jemalloc, this only affects system libraries or plugins which
still use the system allocator.

The has been enabled on our content processes for a while without incident.

r=mhowell,tjr

MozReview-Commit-ID: 5ctXugtbI1A
2017-03-31 16:15:56 -04:00
Gian-Carlo Pascutto
a5e51e146f Bug 1347358 - Add a Cleanup() function for profile locks. r=glandium
MozReview-Commit-ID: GYQeUuzWPOV
2017-03-23 18:02:10 +01:00
Nicholas Nethercote
7263dfc040 Bug 1346132 (part 1) - Initialize Mozilla logging earlier in nsAppRunner.cpp. r=erahm.
The following functions all call NS_LogInit() (either directly or via
ScopedLogging) and then call LogModule::Init() very shortly after:
XRE_InitChildProcess(), NS_InitXPCOM2(), NS_InitMinimalXPCOM(),
XRE_XPCShellMain().

XREMain::XRE_main() does not, however. This prevents us from using MOZ_LOG
easily in the profiler, because the profiler starts up earlier than logging in
the browser.

This patch adds an early LogModule::Init() to XRE_main(), just after the
NS_LogInit().
2017-03-10 18:55:40 +11:00
Gabriele Svelto
30d88a559a Bug 1322611 - After a crash compute the SHA256 hash of a minidump and attach it to the crash ping; r=Ted, nchen
This patch changes the crashreporter client code as well as the crash service
code to compute a SHA256 hash of a crash' minidump file and add it to the
crash ping. The crash service code computes the hash on the fly before handing
over the crash to the crash manager; the crash manager will then add it to the
crash ping. The crashreporter client on the other hand sends the hash via the
ping it generates but it also adds it to the event file so that the crash
manager can pick it up and send it along with its own crash ping. On Fennec
the crashreporter activity takes care of computing the hash.

SHA256 hash computation uses nsICryptoHash in the crash service, the
java.security.MessageDigest class in Fennec, the bundled NSS library in the
crashreporter when running on Windows and Mac and the system-provided NSS
library under Linux. The latter is required because the crashreporter client
uses the system curl library which is linked to NSS and which would thus clash
with the bundled one if used together.

This patch introduces two new methods for the nsICrashService interface:
|getMinidumpForID()| and |getExtraFileForID()|, these reliably retrieve the
.dmp and .extra files associated with a crash and ensure the files exist
before returning. These new methods are used in the CrashService for
processing and will become the only way to reliably retrieve those files
from a crash ID.

MozReview-Commit-ID: 8BKvqj6URcO
2017-02-16 07:36:57 +01:00
Mike Hommey
7ffe948662 Bug 1345413 - Fallback to getpwuid() info when LOGNAME is not set when creating the XRemote mutex. r=froydnj 2017-03-14 14:11:55 +09:00
Andrew McCreight
c2a3167764 Bug 1345978, part 1 - Add a way to get the platform build id without the service manager. r=froydnj
The next patch needs this value early in startup, before the service
manager is available.

MozReview-Commit-ID: LAfnzV2nfiR
2017-03-11 08:01:34 -08:00
David Parks
b0304bb1c8 Bug 1284897 - Add mechanism to libsandbox_s to track names of files that have been given special sandbox access permissions (PermissionsService). r=bobowen, r=glandium
Hook this into the browser via the XREAppData. This patch does not include the changes to Chromium source code.
2017-02-14 15:08:40 -08:00
Sebastian Hengst
736fb3a64b Backed out changeset 71b9ac06a60a (bug 1284897) 2017-02-21 23:13:29 +01:00
David Parks
a8f0f4ecaf Bug 1284897 - Add mechanism to libsandbox_s to track names of files that have been given special sandbox access permissions (PermissionsService). r=bobowen, r=glandium
Hook this into the browser via the XREAppData. This patch does not include the changes to Chromium source code.
2017-02-14 15:08:40 -08:00
Tom Tromey
e90d95a3f9 Bug 1060419 - make AppendPrintf and nsPrintfCString use Printf.h, r=froydnj
MozReview-Commit-ID: 2E8FoiNxU8L
2016-12-14 09:32:21 -07:00
Tom Tromey
a4916aafc0 Bug 1060419 - make nsAppRunner.cpp use Printf.h, r=froydnj
MozReview-Commit-ID: Al0y5RiHCBZ
2016-12-09 14:00:21 -10:00
Sylvestre Ledru
5094e61ffe Bug 1338086 - Remove useless else blocks in order to reduce complexity in toolkit/xre/ r=jimm
MozReview-Commit-ID: 33kF2DJl0Mi
2017-02-09 10:57:44 +01:00
Gregory Moore
4248c7de55 Bug 883627 - Updated CreateResetProfile() to use the existing profile name for the newly created profile, r=gijs
MozReview-Commit-ID: Gkul477NIDG
2017-02-09 15:29:58 -08:00
Martin Stransky
2c86249f62 Bug 1336048 - Add display detection to dom/ipc/ContentChild.cpp, r=glandium
MozReview-Commit-ID: CwcGXFiIl4e
2017-02-07 14:34:23 +01:00
Masatoshi Kimura
c1e0b14258 Bug 1334866 - Remove Windows XP support from toolkit/xre/. r=bsmedberg
MozReview-Commit-ID: H93Jx632Olg
2017-01-29 16:17:37 +09:00
Felipe Gomes
784e8c52c2 Bug 1329752 - Don't enable e10s for XP users on ESR. r=jimm
MozReview-Commit-ID: CD9wvSOIj0s
2017-02-03 16:25:30 -02:00
Sebastian Hengst
1c4f7fdee9 Backed out changeset 96ecba4a2327 (bug 1329752) for Windows build bustage due to attempted string conversion ins nsAppRunner.cpp. r=backout on a CLOSED TREE 2017-02-03 18:29:09 +01:00
Felipe Gomes
15f6077344 Bug 1329752 - Don't enable e10s for XP users on ESR. r=jimm
MozReview-Commit-ID: H8XednifbBu
2017-02-02 16:14:38 -02:00
Mike Hommey
e521d08008 Bug 1330533 - Use FuzzerDriver directly instead of wrapping it in a libfuzzer_main function. r=decoder
Going further from the previous changes, all libfuzzer_main really does
is call the init function, and then proceed to call the fuzzer driver
with the testing function.

So instead of calling that function for it to do all that, the
LibFuzzerRunner can just call the init function itself, and then
call the fuzzer driver with the testing function.
2017-01-12 14:44:18 +09:00
Mike Hommey
e55bae1e11 Bug 1330533 - Remove argc/argv arguments to XRE_LibFuzzerSetMain. r=decoder
The function given to XRE_LibFuzzerSetMain is called from somewhere that
does have access to argc/argv already, so we can avoid passing them
to XRE_LibFuzzerSetMain.

This actually might fix subtle issues with argc/argv not really matching
reality when calling the LibFuzzerMain function in the current code:
some arguments are handled before the call, and both argc and argv are
modified from within XRE_main, but the values stored for the
LibFuzzerMain call still are the original ones.

Argv being a pointer, and it not being reallocated, the value stored for
the LibFuzzerMain call points to the changed one, but argc, being an
integer, is not modified accordingly.

In fact, it's actually worse, because while the Gecko code doesn't
reallocate argv, gtk_main might. So if some GTK flag is passed on the
command line, there's also a possibility that the LibFuzzerMain function
will do a use-after-free.

So all in all, it's just better to use the set of modified argc/argv
from XRE_main instead of storing them from main().
2017-01-12 11:59:37 +09:00
Benjamin Smedberg
b4f800ee6d Bug 1306329 - Stop exporting XPCOM and XUL symbols. r=glandium 2016-12-02 12:55:34 -05:00
Wes Kocher
842ef93a40 Backed out 4 changesets (bug 1306329) for 3000+ hazards a=backout
Backed out changeset 1c2f51ce3faf (bug 1306329)
Backed out changeset 6bb17b9a62d8 (bug 1306329)
Backed out changeset 377ca1419f1a (bug 1306329)
Backed out changeset ad4e531c7070 (bug 1306329)

MozReview-Commit-ID: KJAxdyJeJ6J
2017-01-17 17:55:24 -08:00
Benjamin Smedberg
2e8da44529 Bug 1306329 - Stop exporting XPCOM and XUL symbols. r=glandium 2016-12-02 12:55:34 -05:00
Mike Hommey
3349e52d3c Bug 1306327 - Move reading application.ini to XRE_main. r=bsmedberg
Reading application.ini involves using nsCOMPtr<nsIFile>, and that can
only happen through the XPCOM glue, which we eventually want to get rid
of.

So, while keeping the command line argument/environment variable
handling in nsBrowserApp, we move the actually parsing of the file to
XRE_main, where things can be handled without the XPCOM glue.
2017-01-10 16:43:23 +09:00
Mike Hommey
2756f99622 Bug 1306327 - Remove NS_XRE_DLL_BLOCKLIST_ENABLED. r=bsmedberg
Instead of having nsBrowserApp.cpp set a flag in XREAppData to indicate
whether the DLL blocklist properly initialized, just have XRE code ask
the blocklist itself.
2017-01-10 09:10:36 +09:00
Mike Hommey
f89620bd8c Bug 1306327 - Remove the flags argument to XRE_main. r=bsmedberg
This hasn't been used since the removal of the Metro code in bug
1039866, close to two years ago.
2017-01-10 14:15:50 +09:00
Bobby Holley
f696e08c63 Bug 1328651 - Move servo initialization/shutdown back to nsLayoutStatics.cpp. r=heycam 2017-01-08 17:42:29 -08:00
Gijs Kruitbosch
b3e435695e Bug 1122124 - fix default profile setting after reset, keep profile name, r=MattN
MozReview-Commit-ID: 9h1ktdUUVZH
2016-05-10 10:09:46 +01:00
Benjamin Smedberg
16afdb2402 Bug 1321593 part A - Refactor nsXREAppData: 1) make nsXREAppData strongly own its members 2) rename it to mozilla::XREAppData 3) separate out the static compiled data into StaticXREAppData 4) Remove XRE_CreateAppData and XRE_FreeAppData 5) remove the struct size and related size-checking code which was only ever useful for cross-version compatibility, r=glandium
MozReview-Commit-ID: CQv1UrSaw4D
2016-12-02 09:07:24 -05:00
Sebastian Hengst
960f717144 Backed out changeset eae2252a519f (bug 1321593) for leaks, e.g. in clipboard and jetpack tests. r=backout 2016-12-12 22:10:17 +01:00
Benjamin Smedberg
3963121e97 Bug 1321593 part A - Refactor nsXREAppData: 1) make nsXREAppData strongly own its members 2) rename it to mozilla::XREAppData 3) separate out the static compiled data into StaticXREAppData 4) Remove XRE_CreateAppData and XRE_FreeAppData 5) remove the struct size and related size-checking code which was only ever useful for cross-version compatibility, r=glandium
MozReview-Commit-ID: CQv1UrSaw4D
2016-12-02 09:07:24 -05:00
Marco Castelluccio
b19616aecc Bug 1315213 - Add "CurrentPatchLevel" to the list of possible values where the microcode version is stored. r=milan 2016-12-01 09:31:46 +01:00
Marco Castelluccio
1e546637b5 Bug 1315213 - Support reading microcode version from the registry when it is a REG_DWORD value (sometimes used for AMD CPUs). r=milan 2016-12-01 09:31:14 +01:00
Carsten "Tomcat" Book
1cfbe9e7ac Merge mozilla-central to mozilla-inbound 2016-11-24 16:46:19 +01:00
Bob Owen
60d7f90590 Bug 1147911 Part 6: Send remote type down to child. r=gijs, r=smaug 2016-11-24 15:08:31 +00:00
Sylvestre Ledru
0f65f2ab6c Bug 1318004 - Converts for(...; ...; ...) loops to use the new range-based loops in C++11. r=Ehsan
MozReview-Commit-ID: lk5eJXUno9
2016-11-16 17:12:13 +01:00
Sebastian Hengst
5be7256f11 Backed out changeset 360c780c0a95 (bug 1147911) 2016-11-23 18:32:54 +01:00
Bob Owen
893c454622 Bug 1147911 Part 6: Send remote type down to child. r=gijs, r=smaug 2016-11-23 13:36:58 +00:00
Wes Kocher
b620596e75 Backed out 4 changesets (bug 1318004) for xpcshell failures a=backout CLOSED TREE
Backed out changeset a3fe53641526 (bug 1318004)
Backed out changeset a5d1676b6f88 (bug 1318004)
Backed out changeset b56b37f0f4d7 (bug 1318004)
Backed out changeset fb5254baf1cb (bug 1318004)
2016-11-21 16:15:38 -08:00
Sylvestre Ledru
7ccbd595c5 Bug 1318004 - Converts for(...; ...; ...) loops to use the new range-based loops in C++11. r=Ehsan
MozReview-Commit-ID: lk5eJXUno9
2016-11-16 17:12:13 +01:00
Wes Kocher
13642ca8af Backed out 4 changesets (bug 1318004) for xpcshell failures a=backout
Backed out changeset 6995bd33872b (bug 1318004)
Backed out changeset 9be5c856bc78 (bug 1318004)
Backed out changeset 365b0b7f289a (bug 1318004)
Backed out changeset 2f2ebf176eac (bug 1318004)
2016-11-21 12:23:17 -08:00
Sylvestre Ledru
ea83e5e8bd Bug 1318004 - Converts for(...; ...; ...) loops to use the new range-based loops in C++11. r=Ehsan
MozReview-Commit-ID: lk5eJXUno9
2016-11-16 17:12:13 +01:00