Commit Graph

694 Commits

Author SHA1 Message Date
Nicholas Nethercote
c0a8a6e993 Bug 1123151 (part 2) - Add PLDHashTable::IsInitialized(). r=froydnj.
This encapsulates most of the uses of PLDHashTable::ops.

--HG--
extra : rebase_source : 7760ce8e46a37e87dcfe590e809a21df01fe510f
2015-01-19 16:11:34 -08:00
Nicholas Nethercote
a5c8dbfaf4 Bug 1123151 (part 1) - Set PLDHashTable::ops consistently. r=froydnj.
Currently the setting of PLDHashTable::ops is very haphazard.

- PLDHashTable has no constructor, so it's not auto-nulled, so lots of places
  null it themselves.

- In the fallible PLDHashTable::Init() function, if the entry storage
  allocation fails we'll be left with a table that has |ops| set -- indicating
  it's been initialized -- but has null entry storage. I'm not certain this can
  cause problems but it feels unsafe, and some (but not all) callers of Init()
  null it on failure.

- PLDHashTable does not null |ops| in Finish(), so some (but not all) callers
  do this themselves.

This patch makes things simpler.

- It adds a constructor that zeroes |ops|.

- It modifies Init() so that it only sets |ops| once success is ensured.

- It zeroes |ops| in Finish().

- Finally, it removes all the now-unnecessary |ops| nulling done by the users
  of PLDHashTable.

--HG--
extra : rebase_source : bb34979c218d152562a2f9c7e5215256c111cc5b
2015-01-19 16:01:24 -08:00
Christoph Kerschbaumer
943d34a148 Bug 1119006 - Remove files where code is still calling removed NS_OpenURI API (r=mcmanus) 2015-01-14 11:52:57 -08:00
Nicholas Nethercote
5a62e7fcbf Bug 1121304 (part 2, attempt 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj.
--HG--
extra : rebase_source : bc119bd0d3b6944e8c5a000950e0c4052cb70aef
2015-01-14 14:35:56 -08:00
Phil Ringnalda
9a3738d626 Backed out 2 changesets (bug 1121304) for consistent b2g hangs in webgl-color-test.html?frame=1&__&preserve&premult&_____
Backed out changeset 20651ac19549 (bug 1121304)
Backed out changeset 758afec77c95 (bug 1121304)
2015-01-14 22:02:23 -08:00
Nicholas Nethercote
7e78186cb9 Bug 1121304 (part 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj. 2015-01-14 14:35:56 -08:00
Nicholas Nethercote
e7f3233097 Bug 1120476 (part 4) - Remove PLDHashTableOps::finalize. r=froydnj.
--HG--
extra : rebase_source : b14dda8cdd5cd896d1e32950e38b2a9f7da4d99e
2015-01-13 19:02:35 -08:00
Nicholas Nethercote
00b5865c2a Bug 1120476 (part 3) - Remove PLDHashTable::data. r=froydnj.
--HG--
extra : rebase_source : 24d10af3dbce3ada5252503bc80bb1a4e31bc1c9
2015-01-13 16:42:13 -08:00
Ehsan Akhgari
458ee49a87 Bug 1119254 - Mark virtual overridden functions as MOZ_OVERRIDE in xpcom; r=froydnj 2015-01-08 10:58:39 -05:00
Michael Pruett
9424a24884 Bug 1118024 - Add explicit PL_DHashTable{Add,Lookup,Remove} functions. r=nfroyd 2015-01-05 20:26:50 -06:00
Ehsan Akhgari
26a8215eb5 Bug 1114999 - Part 2: Apply MOZ_NO_ADDREF_RELEASE_ON_RETURN to all smart pointer arrow operators that can return refcounted objects; r=jrmuizel 2015-01-06 16:30:03 -05:00
Ehsan Akhgari
d64094e4cb Bug 1117211 - Move the XPCOM gtests temporarily placed in xpcom/glue/tests/gtest into xpcom/test/gtest now that it exists; r=froydnj 2015-01-05 11:30:36 -05:00
Ehsan Akhgari
4f80dee4e8 Bug 1117035 - Mark virtual overridden functions as MOZ_OVERRIDE in XPCOM; r=froydnj 2015-01-05 11:25:41 -05:00
Christoph Kerschbaumer
646df4c292 Bug 1093948: Make JS callers of ios.newChannel call ios.newChannel2 in xpcom/ (r=bsmedberg) 2014-12-29 12:37:15 -08:00
Chris Peterson
c582a636ed Bug 1110031 - Part 1: Mark more directories as FAIL_ON_WARNINGS. r=gps 2014-12-10 22:56:31 -08:00
Ehsan Akhgari
ccd9d981e3 Bug 1111224 - Move TestExpirationTracker.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestExpirationTracker.cpp => xpcom/glue/tests/gtest/TestExpirationTracker.cpp
extra : rebase_source : 3961e36029257b2e923fe6597aadf684f93fcc41
2014-12-15 15:43:22 -05:00
Wes Kocher
d9fbcee0e5 Backed out changeset c6287220baaf (bug 1111224) for Windows build bustage on a CLOSED TREE
--HG--
rename : xpcom/glue/tests/gtest/TestExpirationTracker.cpp => xpcom/tests/TestExpirationTracker.cpp
2014-12-15 14:55:09 -08:00
Ehsan Akhgari
4542874908 Bug 1111224 - Move TestExpirationTracker.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestExpirationTracker.cpp => xpcom/glue/tests/gtest/TestExpirationTracker.cpp
extra : rebase_source : 6c7ef5eccec61e97aef7e85195c01b11b8ff2f91
2014-12-15 15:43:22 -05:00
Ehsan Akhgari
e29bee2b42 Bug 1111152 - Move TestEncoding.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestEncoding.cpp => xpcom/glue/tests/gtest/TestEncoding.cpp
extra : rebase_source : 4beccae061390e7b4dd6ba45113daea43865c63d
2014-12-15 15:42:41 -05:00
Ehsan Akhgari
1cee07d9aa Bug 1111151 - Move TestCRT.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestCRT.cpp => xpcom/glue/tests/gtest/TestCRT.cpp
extra : rebase_source : 95297289071d49a160cfd79a609ba81d3aaf994c
2014-12-15 15:41:37 -05:00
Ehsan Akhgari
cc92b1597e Bug 1111149 - Move TestArray.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestArray.cpp => xpcom/glue/tests/gtest/TestArray.cpp
extra : rebase_source : 204c2aa966c3df9949efa182e865de404256f386
2014-12-15 15:39:28 -05:00
Ehsan Akhgari
cee30634bf Bug 1110956 - Port TestStrings.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestStrings.cpp => xpcom/glue/tests/gtest/TestStrings.cpp
extra : rebase_source : 07362a75215f15211a6ef9989a555dff5a7b5a23
2014-12-12 19:05:10 -05:00
Ehsan Akhgari
5b56680479 Bug 1101337 - Make the ReplaceSubstring() XPCOM string API linear; r=froydnj
ReplaceSubstring() is an O(n*m) algorithm (n being the length of the
string and m being the number of occurrences of aTarget) because we have
to move the remainder of the string, search it again and potentially
memmove most of it again as we find more matches.  This patch rewrites
that function to make it O(n+m).

Note that we currently don't build TestStrings.cpp, so the test case in
this patch is not run automatically, but the test case has been verified
to pass separately by moving the test function into Gecko and calling it
during startup and stepping through it in the debugger.

--HG--
extra : rebase_source : b020e17c1973330b0dbbd6bf956c073cfdcb775e
2014-12-12 18:57:09 -05:00
Wes Kocher
17cc280629 Backed out changeset 95377313608b (bug 1101337) for linux debug build bustage 2014-12-12 16:34:43 -08:00
Wes Kocher
0cbeb463a6 Backed out changeset d468b88bdb23 (bug 1110956)
--HG--
rename : xpcom/glue/tests/gtest/TestStrings.cpp => xpcom/tests/TestStrings.cpp
2014-12-12 16:34:21 -08:00
Ehsan Akhgari
eccbb08304 Bug 1110956 - Port TestStrings.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestStrings.cpp => xpcom/glue/tests/gtest/TestStrings.cpp
2014-12-12 19:05:10 -05:00
Ehsan Akhgari
0f549528e4 Bug 1101337 - Make the ReplaceSubstring() XPCOM string API linear; r=froydnj
ReplaceSubstring() is an O(n*m) algorithm (n being the length of the
string and m being the number of occurrences of aTarget) because we have
to move the remainder of the string, search it again and potentially
memmove most of it again as we find more matches.  This patch rewrites
that function to make it O(n+m).

Note that we currently don't build TestStrings.cpp, so the test case in
this patch is not run automatically, but the test case has been verified
to pass separately by moving the test function into Gecko and calling it
during startup and stepping through it in the debugger.
2014-12-12 18:57:09 -05:00
Ben Kelly
a9bbd8d8d8 Bug 1098004 Implement snappy compression framing protocol as nsI(Input|Output)Streams. r=froydnj 2014-12-12 14:12:27 -05:00
Ehsan Akhgari
d89f187f00 Backed out 2 changesets (bug 1101337) because of ASAN bustage landed on a CLOSED TREE
Backed out changeset ffef93ec94aa (bug 1101337)
Backed out changeset 2954a37bc2df (bug 1101337)
2014-12-12 13:04:44 -05:00
Ehsan Akhgari
7e86a8f068 Bug 1101337 - Make the ReplaceSubstring() XPCOM string API linear; r=froydnj
ReplaceSubstring() is an O(n*m) algorithm (n being the length of the
string and m being the number of occurrences of aTarget) because we have
to move the remainder of the string, search it again and potentially
memmove most of it again as we find more matches.  This patch rewrites
that function to make it O(n+m).

Note that we currently don't build TestStrings.cpp, so the test case in
this patch is not run automatically, but the test case has been verified
to pass separately by moving the test function into Gecko and calling it
during startup and stepping through it in the debugger.

--HG--
extra : rebase_source : 0330c130520802392b92bd094dde85f57cfe6420
2014-12-12 11:47:55 -05:00
Wes Kocher
c659ea6bce Backed out changeset bf25101e66cf (bug 1095098) for build bustage 2014-12-08 16:27:12 -08:00
Denis Volk
c3639f1324 Bug 1095098: move do_QueryObject templates into their own header r=froydnj 2014-11-20 12:20:10 +01:00
Gregory Szorc
1735134af8 Backout 69f755d4f257 (bug 1103825) for test failures
xpcom/tests/unit/test_nsIProcess.js and
xpcom/tests/unit/test_nsIProcess_stress.js were failing with this commit
applied. Backout out.

CLOSED TREE

--HG--
extra : amend_source : 79cda414c263d97e77309da6ec6d58718b91d199
2014-11-25 19:18:08 -08:00
Gregory Szorc
75e0d71f17 Bug 1103825 - Use misc tier in xpcom/tests; r=mshal
--HG--
extra : rebase_source : 248423ffcf75acd406510dd350ccf4653a3c34b4
extra : histedit_source : 416af91a62eff97ca53596423d4124bf013293b4
2014-11-23 16:36:58 -08:00
Mike Hommey
e6bc795b4f Bug 1097507 - Make libxul independent of libdmd when DMD is enabled. r=njn
This also effectively changes how DMD is enabled from requiring both
replace-malloc initialization and the DMD environment variable to
requiring only the former. The DMD environment variable can still be
used to specify options, but not to disable entirely.

This however doesn't touch all the parts that do enable DMD by setting
the DMD environment variable to 1, so the code to handle this value
is kept.
2014-11-18 19:21:06 +09:00
Aaron Klotz
c9e7901ae8 Bug 1090389: Ensure that IOInterposer normalizes to long file names on Windows; r=froydnj 2014-11-12 14:01:45 -07:00
Mike Hommey
d667f4bb59 Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Benjamin Bouvier
baee6805f1 Bug 997973: Call typed array and arraybuffer constructors with new in the tree; r=bz 2014-10-24 11:26:20 +02:00
Brian Marshall
22e9394cb8 Bug 1079311 - Unlock mutex before logging error in RegisterContractIDLocked. r=bsmedberg 2014-10-08 16:08:28 -07:00
Tom Schuster
0db58380c0 Bug 1069694 - Remove OldDebugAPI from the browser. r=shu 2014-10-12 19:37:41 +02:00
Stephen Pohl
6b7b767456 Bug 1077282: Cleanup uses of GreD vs GreBinD, introcuded by v2 signature changes on OSX. Based on initial patch by rstrong. r=bsmedberg 2014-10-10 15:06:57 -04:00
Andrew Halberstadt
2da4ee197d Bug 1066735 - Remove root b2g and android specific xpcshell manifests, r=chmanchester 2014-10-07 18:18:28 -04:00
Bill McCloskey
a02037e1b1 Bug 930243 - Disable process type tests on Android on A CLOSED TREE 2014-10-07 13:35:34 -07:00
Bill McCloskey
46c57009ef Bug 930243 - Add a processType flag to chrome manifest directives (r=froydnj) 2014-10-07 11:46:24 -07:00
Stephen Pohl
cf2ca1fd7c Mac v2 signing - Bug 1060562 - Update xpcshell-tests for the new v2 bundle structure on OSX. r=jmaher 2014-09-29 11:51:29 -07:00
Benjamin Smedberg
dcb398c24f Bug 1069518 - XPTCall should refuse to implement interfaces with [notxpcom] methods, r=froydnj/bholley 2014-09-22 15:10:31 -04:00
Christoph Kerschbaumer
08c7c1ab6a Bug 1038756: Callsites creating a channel in /xpcom/ (r=bsmedberg) 2014-09-21 09:43:58 -07:00
Kyle Huey
e25a4db36c Bug 982212: Part 2 - Implement r-value reference support for nsTArray::AppendElement. r=nfroyd
--HG--
extra : rebase_source : a9235411266a5dad466746d6344c3fd0e8fafca1
2014-03-15 18:56:00 +01:00
Kyle Huey
58e615583c Bug 982212: Part 1 - Implement r-value reference support for nsTArray constructors and operator=. r=nfroyd
--HG--
extra : rebase_source : 6119f0043a4af61beab08cdeb6ea072222cfac8b
2014-03-15 18:55:00 +01:00
Anuj Agarwal
73746d0f51 Bug 1034921 - Remove dangerous public destructor of nsFoo in TestThreadUtils.cpp. r=nfroyd 2014-09-04 07:07:00 +02:00