Commit graph

61 commits

Author SHA1 Message Date
Masatoshi Kimura
8bac3aec08 Bug 1353936 - Implement PREF_RegisterPriorityCallback. r=froydnj
MozReview-Commit-ID: 1tdE6boBUVO

--HG--
extra : rebase_source : 904bc4b8700fa89bf3e3f638a8a5a09d0c6955ac
2017-04-12 21:10:57 +09:00
Manish Goregaokar
7bb5610731 Bug 1351200 - Part 1: stylo: Allow fetching prefs on servo traversal threads; r=froydnj
MozReview-Commit-ID: 7MMWyX1t5CR
2017-04-10 09:17:40 +08:00
Phil Ringnalda
98df36e955 Backed out 3 changesets (bug 1351200) for Windows and static-analysis build bustage
CLOSED TREE

Backed out changeset 1cce9249b4a2 (bug 1351200)
Backed out changeset 792fb55377f5 (bug 1351200)
Backed out changeset 767bee78574c (bug 1351200)
2017-04-09 08:24:54 -07:00
Manish Goregaokar
0f8d502c84 Bug 1351200 - Part 1: stylo: Allow fetching prefs on servo traversal threads; r=froydnj
MozReview-Commit-ID: 7MMWyX1t5CR

--HG--
extra : rebase_source : c773ed9157d65934345aa02adf2242055cb41e64
2017-04-04 11:11:27 -07:00
Eric Rahm
0b32fdd753 Bug 1351804 - Switch libpref over to ArenaAllocator. r=froydnj
MozReview-Commit-ID: 4GovbBFUBb9
2017-03-30 16:48:32 -07:00
Boris Zbarsky
7525ff0157 Bug 1343677 part 1. Add a way to get the current preferences init phase in debug builds. r=billm
MozReview-Commit-ID: JtHhLuFDu2d
2017-03-16 17:43:17 -04:00
Ehsan Akhgari
0b6c5bbb1d Bug 1342067 - Annotate the name of the preference accessed too early in the pre-END_INIT_PREFS phase preference access crash message; r=blassey 2017-02-23 13:24:47 -05:00
Brad Lassey
9e864be6a5 bug 1341414 - Functions like GetBoolVarCache shouldn't assert when used early in startup r=billm 2017-02-21 22:17:52 -05:00
Tom Tromey
f8ab4ddf02 Bug 1060419 - remove unneeded includes of prprf.h, r=froydnj
MozReview-Commit-ID: JifhpA3oOeH

--HG--
extra : rebase_source : 08460997dc3fd91f3065c718e17b41bb4acf8bae
2016-12-09 10:00:01 -10:00
Sylvestre Ledru
00f56d3f98 Bug 1338086 - Remove useless else blocks in order to reduce complexity in modules/libpref/ r=froydnj
MozReview-Commit-ID: EGiX5NWdj6r

--HG--
extra : rebase_source : 9513abb3c82d3e1e9fbcd40a8b2a321c0b23eaf1
2017-02-09 10:55:17 +01:00
Brad Lassey
a5e07b93bf bug 1303096 - Stop sending sync messages soon after content process start-up r=billm 2017-02-05 00:52:38 -05:00
Sebastian Hengst
122ebc553b Backed out changeset e9d8a75a0dcc (bug 1303096) for failing various tests on Android 4.3 debug (e.g. test_saveHeapSnapshot_e10s_01.html). r=backout 2017-02-05 10:26:28 +01:00
Brad Lassey
ecdf363246 bug 1303096 - Stop sending sync messages soon after content process start-up r=billm 2017-02-05 00:52:38 -05:00
Milan Sreckovic
f49db94bcc Bug 1287945: Return the number of modified/filled preferences and use it for subsequent operations. r=aklotz 2016-07-19 15:10:00 +02:00
Milan Sreckovic
8d2fafb036 Bug 1287215: Replace preferences gDirty global with a callback. r=aklotz,Gijs
MozReview-Commit-ID: 7m5d5ddMTva

--HG--
extra : rebase_source : 6561ded096d914ca6b87d8eeda785538bbc225ac
2016-07-21 15:46:15 -04:00
Kyle Huey
6baa905da7 Bug 1282527: Remove remaining PR_ASSERTs outside of NSPR/NSS. r=dbaron
--HG--
extra : rebase_source : a9dd69c772ef2641ee300d57d2a4d4c83003726c
2016-06-28 10:47:22 -07:00
Andrew McCreight
f9c73e6cf3 Bug 1272707, part 2 - Limit the size of preference values sent to child processes. r=bsmedberg
Don't send any preferences that have a string value that is longer
than MAX_ADVISABLE_PREF_LENGTH. This is intended to mitigate OOM
issues, as I've seen a parent process crash trying to create a 100mb
message to send to the child. Such users likely cannot use e10s at
all.

This has a test for all combinations of setting the default and user
values of a preference to large or small string values, or not setting
them at all.

I manually verified that filtering out preferences reduces the size of
the IPC::Message that is sent to the child by printing out the size of
the reply message in PContentParent::OnMessageReceived().
2016-05-17 07:55:49 -07:00
Nicholas Nethercote
a2f068b2ad Bug 1253085 - Remove the |PLDHashTable*| argument from PLDHash{HashKey,MatchEntry}. r=froydnj.
This is easy because it's never needed.

--HG--
extra : rebase_source : 78830dab41c40a1544fa55fc69ca9c1c6709d767
2016-03-16 15:33:44 +11:00
Milan Sreckovic
eefe011285 Bug 1249157 - prefapi enums into class enums, explicit conversion, cleanup. r=bsmedberg 2016-02-22 09:15:00 +01:00
Wes Kocher
952924118d Backed out changeset dd911452e3f7 (bug 1249157) for build bustage CLOSED TREE
--HG--
extra : commitid : 9S2zNfX2mUX
2016-02-22 09:05:21 -08:00
Milan Sreckovic
3336950f44 Bug 1249157: prefapi enums into class enums, explicit conversion, cleanup. r=bsmedberg
MozReview-Commit-ID: nvvOD8ajV4

--HG--
extra : rebase_source : cbdaea69100559893e8386c3618a5594ff38433d
2016-02-18 13:27:06 -05:00
Nathan Froyd
b88ea2e0d7 Bug 1233234 - part 2 - use UniquePtr<T[]> instead of nsAutoArrayPtr<T> in pref_savePrefs; r=njn
Returning outparams with UniquePtr is not convenient or idiomatic, so in
addition to removing nsAutoArrayPtr usage, let's return a UniquePtr from
the function directly.
2015-12-06 09:06:02 -05:00
Nicholas Nethercote
647b520991 Bug 1201135 - Rename pldhash.{h,cpp} to PLDHashTable.{h,cpp}. r=mccr8.
--HG--
rename : xpcom/glue/pldhash.cpp => xpcom/glue/PLDHashTable.cpp
rename : xpcom/glue/pldhash.h => xpcom/glue/PLDHashTable.h
extra : rebase_source : 06b9d30db96ed78500fd44d9c0b51609103508a3
2015-09-15 20:49:53 -07:00
Nicholas Nethercote
2ee4fd783b Bug 1121760 (part 6) - Move all remaining PL_DHash*() functions into PLDHashTable. r=poiru.
--HG--
extra : rebase_source : 3cdc975507170d783b02d70f7c7d95c6bf2e1bcd
2015-09-14 14:23:47 -07:00
Nicholas Nethercote
479244f7c9 Bug 1121760 (part 2) - Remove PL_DHashTableAdd(). r=poiru.
--HG--
extra : rebase_source : 41eb939bfb5c925cba58b1af57abce9a4e5fdb30
2015-09-14 14:23:12 -07:00
Nicholas Nethercote
fcfdd8f54b Bug 1121760 (part 1) - Remove PL_DHashTableSearch(). r=poiru.
--HG--
extra : rebase_source : 770e1f49a451ecbadd778e071b204611e27cf701
2015-05-21 00:34:25 -07:00
Nicholas Nethercote
957b39e8ff Bug 1202526 (part 7) - Use PLDHashTable::RemoveEntry() in prefs code. r=bz.
This avoids repeating the hash table search in order to remove the entry.
2015-09-07 19:21:03 -07:00
Jesse Ruderman
941160c5f6 Bug 1189587: Tighten signature of pref_HashTableLookup. r=njn 2015-07-31 13:06:12 -07:00
Nicholas Nethercote
f976bf5495 Bug 1179071 - Merge RemovingIterator into Iterator. r=froydnj.
The original motivation for the Iterator/RemovingIterator split was that
PLDHashTable Checker class would treat them differently. But that didn't end up
happening (see bug 1131308). So this patch merges them. This is a small code
size win now but it will become bigger when I add iterators to nsTHashTable and
nsBaseHashtable.

The only complication is that PLDHashTable::Iter() is now non-const, which is
a problem if you use it in a const method. So I added PLDHashTable::ConstIter()
which is used in just two places. It's a bit of a hack -- effectively a
const_cast -- but I don't think it's too bad.
2015-07-06 22:02:26 -07:00
Nicholas Nethercote
a38880a83a Bug 1176159 (part 2) - Remove uses of PL_DHashTableEnumerate() from libpref. r=bsmedberg.
--HG--
extra : rebase_source : 15488918c1d6b4f7cc994016485d0619061d51a9
2015-06-18 17:58:24 -07:00
Nicholas Nethercote
7320c1e183 Bug 1176159 (part 1) - Remove pref_SaveTypes. r=bsmedberg.
Because SAVE_ALL is the only value ever used.

--HG--
extra : rebase_source : fbbb49dc8cc5051913d62102581db86a1fa8db49
2015-06-18 16:44:35 -07:00
Nicholas Nethercote
638d83d097 Bug 1171309 - Remove PREF_Init()'s return value. r=bsmedberg.
This is now possible because PLDHashTable initialization is infallible.

--HG--
extra : rebase_source : 395605d27234d97f52125aa78b9446614649ffec
2015-06-04 16:14:48 -07:00
Nicholas Nethercote
e849e6588b Bug 1170416 (part 3) - Remove the PLDHashTable2 typedef. r=froydnj.
--HG--
extra : rebase_source : 9510ea47204fffa163cac43aeaaac6ae1ad80419
2015-05-19 16:46:17 -07:00
Eric Rahm
4879ae86f4 Bug 1165518 - Part 2: Replace prlog.h with Logging.h. rs=froydnj 2015-05-19 11:15:34 -07:00
Nicholas Nethercote
86da9069cd Bug 1165768 (part 7) - Convert |gHashTable| to |PLDHashTable2*|. r=froydnj.
--HG--
extra : rebase_source : 26bab7a5ffdc8759d3391288d80552e44ccd6138
2015-05-18 00:52:08 -07:00
Nicholas Nethercote
eab9ff6d25 Back out all four patches from bug 1161377. r=me.
Due to Android startup regressions (bug 1163066) and plugin crashes (bug
1165155).

--HG--
extra : rebase_source : 380f79e67dff4c4eaa2614f286a4d0669666b652
2015-05-14 21:48:43 -07:00
Nicholas Nethercote
9a60518e5b Bug 1161377 (part 2.5) - Move all static PLDHashTable instances onto the heap to avoid static constructors. r=froydnj.
--HG--
extra : rebase_source : 73029d4a1ed5a41263db882d66b1f380f5e7254b
2015-05-12 17:33:22 -07:00
Ryan VanderMeulen
9440cb5e32 Merge m-c to inbound. a=merge
CLOSED TREE

--HG--
extra : amend_source : f158ed522808c8be66f918e7cd2d674a93e9e8b8
2015-05-01 10:50:07 -04:00
Nicholas Nethercote
c8ff2d51c8 Bug 1159972 - Remove the fallible version of PL_DHashTableInit(). r=froydnj.
It's no longer needed now that entry storage isn't allocated there. (The other
possible causes of failures in that function are less interesting and simply
crashing is a reasonable thing to do for them.)

This also makes PL_DNewHashTable() infallible, so I removed some
now-unnecessary checks of its result.

--HG--
extra : rebase_source : 4c6ab0c449bc18e8bace8bf036b5bd78d3a2f1c4
2015-04-29 16:38:29 -07:00
Mark Hammond
bb1c4b905b Bug 1098343 (part 1) - support 'sticky' preferences, meaning a user value is retained even when it matches the default. r=bsmedberg 2015-04-30 17:13:40 +10:00
Matt Spraggs
0dd284d9a6 Bug 1036454 - Failing assertion when calling resetUserPrefs because of mutating hashtable, r=bsmedberg
--HG--
extra : rebase_source : 4452ce09ef4cdb3d4f4c31d3b97fe86574c6df56
2015-03-18 08:34:09 +00:00
Nicholas Nethercote
3a7b0a9f57 Bug 1131901 (part 1) - Make PL_DHashTableAdd() infallible by default, and add a fallible alternative. r=froydnj.
I kept all the existing PL_DHashTableAdd() calls fallible, in order to be
conservative, except for the ones in nsAtomTable.cpp which already were
followed immediately by an abort on failure.

--HG--
extra : rebase_source : 526d96ab65e4d7d71197b90d086d19fbdd79b7b5
2015-02-02 14:48:58 -08:00
Nicholas Nethercote
63e3218e4c Back out changesets 2fcef6b54be7, 2be07829fefc, 66dfe37b8532, df3fcd2be8fd, 0a436bce77a6 (bug 1050035) for causing intermittent crashes and assertion failures.
--HG--
extra : rebase_source : eb30be83c3143c6c203585a80a18f180025efaba
2015-02-10 14:39:49 -08:00
Nicholas Nethercote
b5913e0b3d Bug 1050035 (part 4) - Make PL_DHashTableAdd() infallible by default, and add a fallible alternative. r=froydnj.
I kept all the existing PL_DHashTableAdd() calls fallible, in order to be
conservative, except for the ones in nsAtomTable.cpp which already were
followed immediately by an abort on failure.

--HG--
extra : rebase_source : eeba14d732077ef2e412f4caca852de6b6b85f55
2015-02-02 14:48:58 -08:00
Nicholas Nethercote
9a36fdbde4 Bug 1050035 (part 2) - Remove the fallible version of PL_DHashTableInit(). r=froydnj,mrbkap.
Because it's no longer needed now that entry storage isn't allocated there.
(The other possible causes of failures are much less interesting and simply
crashing is a reasonable thing to do for them.)

This also makes PL_DNewHashTable() infallible.

--HG--
extra : rebase_source : 848cc9bbdfe434525857183b8370d309f3acbf49
2015-02-01 20:19:08 -08:00
Mike Hommey
a35dbaeebf Bug 1126593 - Add a global fallible instance, so that using fallible works directly, everywhere. r=njn
--HG--
rename : memory/mozalloc/fallible.h => memory/fallible/fallible.h
2015-02-02 09:56:13 +09:00
Nicholas Nethercote
3163cfc2c1 Bug 1124973 (part 2) - Introduce PL_DHashTableSearch(), and replace most PL_DHashTableLookup() calls with it. r=froydnj.
It feels safer to use a function with a new name, rather than just changing the
behaviour of the existing function.

For most of these cases the PL_DHashTableLookup() result was checked with
PL_DHASH_ENTRY_IS_{FREE,BUSY} so the conversion was easy. A few of them
preceded that check with a useless null check, but the intent of these was
still easy to determine.

I'll do the trickier ones in subsequent patches.

--HG--
extra : rebase_source : ab37a7a30be563861ded8631771181aacf054fd4
2015-01-22 21:06:55 -08:00
Nicholas Nethercote
8bd1f6f072 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
bd573c9b9c 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
Nicholas Nethercote
69fe655b04 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