Commit Graph

2255 Commits

Author SHA1 Message Date
Robert Strong
f9a82146b7 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
Kan-Ru Chen
da0e46ae95 Bug 1355123 - Initialize gecko profiler properly for IPDL test runner. r=mstange,njn
MozReview-Commit-ID: C9hkZPj3SVL
2017-04-11 10:56:58 -04:00
Sebastian Hengst
1828ea89ca Backed out changeset 7fdcabdbb675 (bug 1024669) for failing mda, GTest and talos jobs. r=backout on a CLOSED TREE 2017-04-10 19:05:44 +02:00
Cervantes Yu
364e524eca Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Bob Owen
02318af6d1 Bug 1329294 Part 1: Ensure Content Temp Dir is created before use. r=bsmedberg 2017-04-10 14:38:13 +01:00
Carsten "Tomcat" Book
02ddc23c74 Backed out changeset 7a52d887bcea (bug 1024669) for bustage 2017-04-10 11:43:49 +02:00
Cervantes Yu
ece1ce1a7d Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Joel Maher
bc070be3c8 Bug 1351067 - add BUG_COMPONENT to toolkit/* files. r=myk,enndeakin,mossop
MozReview-Commit-ID: 8mv5Oed68JL
2017-04-09 05:43:43 -04:00
Phil Ringnalda
8ff3505864 Merge m-c to a CLOSED TREE m-i 2017-04-06 21:16:43 -07:00
Phil Ringnalda
607ccd57d2 Backed out changeset a50a4f9e972b (bug 1322554) for near-permaorange in Win8 debug updater xpcshell tests 2017-04-06 21:00:26 -07:00
Phil Ringnalda
ae74044b98 Merge m-c to m-i 2017-04-05 21:35:03 -07:00
Phil Ringnalda
4c78879252 Backed out 2 changesets (bug 1329294) for Win8 debug bustage in test_refresh_firefox.py TestFirefoxRefresh.testReset, a=merged-around-permaorange
Backed out changeset 08e2719fe7be (bug 1329294)
Backed out changeset 3b1bbf6392f4 (bug 1329294)
2017-04-05 21:32:08 -07:00
Bob Owen
064f4db5bc Bug 1329294 Part 1: Ensure Content Temp Dir is created before use. r=bsmedberg 2017-04-05 16:34:35 +01:00
Carl Corcoran
08fc406af4 Bug 1322554: Interpose kernel32!BaseThreadInitThunk to add verification of thread start addresses; r=dmajor
MozReview-Commit-ID: CvqZ3gXJyvo
2017-03-29 17:07:37 +02:00
Brendan Dahl
a1f2e12af8 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
Mats Palmgren
9178a1fa06 Bug 1354166 - Add missing #include for gfxPlatform::IsHeadless(). r=bdahl
MozReview-Commit-ID: DkpUu8j3Lou
2017-04-06 20:17:34 +02:00
Paolo Amadini
bc9668cdff Bug 1346716 - Remove the entry for "mimeTypes.rdf" in the directory service. r=mak
This improves performance because we won't try to fix the permissions of the file every time the nsIHandlerService implementation wants to open it, and makes it easier to access the file path from xpcshell tests.

MozReview-Commit-ID: DZmLa92qUnZ

--HG--
extra : source : bd0fdce03cc7442079e96318d3a9b519a4d403a9
2017-03-30 15:51:18 +01:00
Eric Rahm
2fb2f1cb55 Bug 1244091 - Switch nsUpdateDriver to LazyLogModule. r=froydnj 2017-04-03 18:36:18 -07:00
Alex Gaynor
50bb200c66 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

--HG--
extra : rebase_source : f6f134404be3b258a8e522c22fa061c32a47e313
2017-03-31 16:15:56 -04:00
Gian-Carlo Pascutto
2285dea6a3 Bug 1347358 - Add a Cleanup() function for profile locks. r=glandium
MozReview-Commit-ID: GYQeUuzWPOV

--HG--
extra : rebase_source : 1c031180cb7e31cbeff205de583bd37a3c13945c
2017-03-23 18:02:10 +01:00
Makoto Kato
516d961243 Bug 1348177 - Part 2. Remove GetProcAddress for shell32 to use Vista+/7+ API (tookit part). r=jimm
It is unnecessary to use Vista/7+ API via GetProcAddress.

MozReview-Commit-ID: AT6OJhhf4r2

--HG--
extra : rebase_source : 0231fad656de11c8a8d6d8fa7374a8365778ea43
2017-03-17 11:04:33 +09:00
Jonathan Watt
15826f5605 Bug 1350641 - Allow MOZ_DEBUG_CHILD_PAUSE to specify the child process startup sleep time. r=jimm 2017-03-08 17:15:47 +00:00
Nicholas Nethercote
bcac800a39 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().

--HG--
extra : rebase_source : c25fc891da78755e2f38f4dc672d503734990c47
2017-03-10 18:55:40 +11:00
Cervantes Yu
615a84813f Bug 1320134 - Part 2: Initialize and shutdown the TLS allocation tracker in the content process. r=froydnj
MozReview-Commit-ID: 2Pu9r1MV1e4
2017-03-16 14:06:35 +08:00
Robert Strong
6c54db1fdf Bug 1348609 - Use the installation dir path CityHash hash for the updates directory even when the hash hasn't been written to the registry by the installer. r=mhowell, r=dtownsend 2017-03-22 11:45:11 -07:00
Carsten "Tomcat" Book
62f6c37109 merge mozilla-inbound to mozilla-central a=merge 2017-03-22 14:26:27 +01:00
Mark Banner
bd625e4e9f Bug 1347712 - Change the testing configurations into ESLint configurations within eslint-plugin-mozilla - automatically update .eslintrc.js test config files for new config locations. r=jaws
MozReview-Commit-ID: LH0CQOPfoe6

--HG--
extra : rebase_source : 83eaf40c5cbb5e25cfb3f3b5afadf4fbf0422c92
2017-03-20 12:36:37 +01:00
Gabriele Svelto
1ab1c1e41b 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

--HG--
extra : source : a4d8291c56fcde00238ab3166bbe6af6dd602340
2017-02-16 07:36:57 +01:00
Wes Kocher
6d2e245da8 Backed out changeset 5bbf6972b904 (bug 1235982) for landing prematurely a=backout
MozReview-Commit-ID: Fy7NwUoMipw
2017-03-15 14:00:47 -07:00
Tom Ritter
db3ff2c559 Bug 1235982 Add CFG to firefox.exe and mozglue, and a mochitest to ensure a crash r=glandium,mconley
MozReview-Commit-ID: 1XnHH3NeGnJ

--HG--
extra : rebase_source : 3bbf02779cb4ee0a04dcea851fe81a96faec2494
2017-03-15 11:14:22 -05:00
Carsten "Tomcat" Book
f807b332df merge mozilla-inbound to mozilla-central a=merge 2017-03-15 13:12:42 +01:00
Cervantes Yu
8b1cde8577 Backed out changeset e91e04dadeb3 (bug 1320134) for crashing webgl on Windows. r=backout 2017-03-15 12:41:21 +08:00
Mike Hommey
9f7b6a9229 Bug 1345413 - Fallback to getpwuid() info when LOGNAME is not set when creating the XRemote mutex. r=froydnj
--HG--
extra : rebase_source : 31590f6dd7fc175f1e19627ad97a9a21ac6856c9
2017-03-14 14:11:55 +09:00
David Major
dc67bfc9a3 Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo

--HG--
extra : rebase_source : c21a65694d6e1c42fd88f73632f7ac8f38d005ae
2017-03-14 15:26:27 +13:00
Iris Hsiao
5cece96e1c Backed out 12 changesets (bug 1344629) for stylo build bustage
Backed out changeset cf4273d3ac30 (bug 1344629)
Backed out changeset a96390e044e0 (bug 1344629)
Backed out changeset d9b330f9bc24 (bug 1344629)
Backed out changeset 2b460fe020af (bug 1344629)
Backed out changeset 0ada91b0452e (bug 1344629)
Backed out changeset 083304fcd6bd (bug 1344629)
Backed out changeset 53d7d1ce2c97 (bug 1344629)
Backed out changeset 55eee7078ae4 (bug 1344629)
Backed out changeset 7d3c06b3eca9 (bug 1344629)
Backed out changeset e5df14c3db61 (bug 1344629)
Backed out changeset 636095ff2815 (bug 1344629)
Backed out changeset 0be052ad24c1 (bug 1344629)
2017-03-14 11:52:24 +08:00
David Major
40f4821701 Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo

--HG--
extra : rebase_source : c21a65694d6e1c42fd88f73632f7ac8f38d005ae
2017-03-14 15:26:27 +13:00
Wes Kocher
8010f266fb Merge m-c to autoland, a=merge
MozReview-Commit-ID: Hikpu6ARByb
2017-03-13 16:40:18 -07:00
Cervantes Yu
7c8969a918 Bug 1320134 - Part 2: Initialize and shutdown the TLS allocation tracker in the content process. r=froydnj
MozReview-Commit-ID: 2Pu9r1MV1e4
2017-03-01 18:58:13 +08:00
Andrew McCreight
3cb01b77f0 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

--HG--
extra : rebase_source : 7230335461d06157d916b02fbe37f623fd233fae
2017-03-11 08:01:34 -08:00
Jim Chen
53a1107cd1 Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin
Bug 1343075 - 1a. Add TextEventDispatcherListener::GetIMEUpdatePreference; r=masayuki

Add a GetIMEUpdatePreference method to TextEventDispatcherListener to
optionally control which IME notifications are received by NotifyIME.
This patch also makes nsBaseWidget forward its GetIMEUpdatePreference
call to the widget's native TextEventDispatcherListener.

Bug 1343075 - 1b. Implement GetIMEUpdatePreference for all TextEventDispatcherListener; r=masayuki

This patch implements GetIMEUpdatePreference for all
TextEventDispatcherListener implementations, by moving previous
implementations of nsIWidget::GetIMEUpdatePreference.

Bug 1343075 - 2. Allow setting a PuppetWidget's native TextEventDispatcherListener; r=masayuki

In PuppetWidget, add getter and setter for the widget's native
TextEventDispatcherListener. This allows overriding of PuppetWidget's
default IME handling. For example, on Android, the PuppetWidget's native
TextEventDispatcherListener will communicate directly with Java IME code
in the main process.

Bug 1343075 - 3. Add AIDL interface for main process; r=rbarker

Add AIDL definition and implementation for an interface for the main
process that child processes can access.

Bug 1343075 - 4. Set Gecko thread JNIEnv for child process; r=snorp

Add a JNIEnv* parameter to XRE_SetAndroidChildFds, which is used to set
the Gecko thread JNIEnv for child processes. XRE_SetAndroidChildFds is
the only Android-specific entry point for child processes, so I think
it's the most logical place to initialize JNI.

Bug 1343075 - 5. Support multiple remote GeckoEditableChild; r=esawin

Support remote GeckoEditableChild instances that are created in the
content processes and connect to the parent process GeckoEditableParent
through binders.

Support having multiple GeckoEditableChild instances in GeckoEditable by
keeping track of which child is currently focused, and only allow
calls to/from the focused child by using access tokens.

Bug 1343075 - 6. Add method to get GeckoEditableParent instance; r=esawin

Add IProcessManager.getEditableParent, which a content process can call
to get the GeckoEditableParent instance that corresponds to a given
content process tab, from the main process.

Bug 1343075 - 7. Support GeckoEditableSupport in content processes; r=esawin

Support creating and running GeckoEditableSupport attached to a
PuppetWidget in content processes.

Because we don't know PuppetWidget's lifetime as well as nsWindow's,
when attached to PuppetWidget, we need to attach/detach our native
object on focus/blur, respectively.

Bug 1343075 - 8. Connect GeckoEditableSupport on PuppetWidget creation; r=esawin

Listen to the "tab-child-created" notification and attach our content
process GeckoEditableSupport to the new PuppetWidget.

Bug 1343075 - 9. Update auto-generated bindings; r=me
2017-03-07 22:34:39 -05:00
Matt Howell
ba8c46feca Bug 1342887 - Detect and log failures to dispatch SetupMacCommandLine to the main thread. r=rstrong
MozReview-Commit-ID: LMoxF5yfXq2

--HG--
extra : rebase_source : c206e32bf8abf1aa225901ff5cde390a8a2ecec7
2017-02-27 13:57:11 -08:00
David Parks
4d5f8afdc0 Bug 1328996 - Add tests that run the intercepted DLL methods, in order to test their harness. r=aklotz
Adding this has exposed harness failures in CreateFileA. Additionally, we haven't added a test for ImmSetCandidateWindow as it is not easily tested.

--HG--
extra : rebase_source : db84ecbc09a19e7644c551957ba7787e36358eb1
2017-02-16 23:50:47 -08:00
David Parks
10b12f1194 Bug 1328996 - Enable tiptsf.dll's ProcessCaretEvents DLL Interceptor test on 64-bit Windows. r=aklotz
--HG--
extra : rebase_source : 73ec0cc52ba524cb24a915923298472adddbecef
2017-02-03 12:00:56 -08:00
David Parks
26437f4ecd 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.

--HG--
extra : rebase_source : 4d5637bcdbeae605b0b99e9192598d48f371b698
2017-02-14 15:08:40 -08:00
David Parks
21bf9d1a88 Bug 1284897 - Add missing hooked methods to TestDllInterceptor. r=aklotz
Added ASSERTions to nsWindowsDllInterceptor in case of a failed detour hook, with an exception for the RET opcode that appears in ImmReleaseContext. Added documentation about TestDllInterceptor.

--HG--
extra : rebase_source : a3c6fe0949f5503979a062bdaa5f35526ddee73b
2017-02-07 12:00:45 -08:00
Sebastian Hengst
5400f1a2d3 Backed out changeset 4e81ec8850dc (bug 1284897) 2017-02-21 23:13:34 +01:00
Sebastian Hengst
68e7240c0c Backed out changeset 71b9ac06a60a (bug 1284897) 2017-02-21 23:13:29 +01:00
David Parks
82eb0f3fdd 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.

--HG--
extra : rebase_source : e34e8b50101cc40ded26e80791052123b24c8243
extra : histedit_source : 69c9b2dc91546adbfdad03b5d43842809191ffb9
2017-02-14 15:08:40 -08:00
David Parks
258144b97c Bug 1284897 - Add missing hooked methods to TestDllInterceptor. r=aklotz
Added ASSERTions to nsWindowsDllInterceptor in case of a failed detour hook, with an exception for the RET opcode that appears in ImmReleaseContext. Added documentation about TestDllInterceptor.

--HG--
extra : rebase_source : 48a38a09a1feb63600e12eba997a83f646cd1595
extra : histedit_source : 566cec5c47c400402e2e4dfa0cdc6d53d82b0815
2017-02-07 12:00:45 -08:00
Tom Tromey
d2667a2b27 Bug 1060419 - make AppendPrintf and nsPrintfCString use Printf.h, r=froydnj
MozReview-Commit-ID: 2E8FoiNxU8L

--HG--
extra : rebase_source : 810ac727bef0751f24edea18c52e0ec170bf367d
2016-12-14 09:32:21 -07:00