Граф коммитов

2234 Коммитов

Автор SHA1 Сообщение Дата
Bill McCloskey a2c6c7d4bf Bug 1143006 - Show warning for http-on-* in child process (r=mrbkap) 2015-06-19 17:35:06 -07:00
Benoit Girard 2c6df6a9a9 Bug 858927 - Move the mozilla::TimeStamp into mozglue. r=glandium
--HG--
rename : xpcom/ds/TimeStamp.cpp => mozglue/misc/TimeStamp.cpp
rename : xpcom/ds/TimeStamp.h => mozglue/misc/TimeStamp.h
rename : xpcom/ds/TimeStamp_darwin.cpp => mozglue/misc/TimeStamp_darwin.cpp
rename : xpcom/ds/TimeStamp_posix.cpp => mozglue/misc/TimeStamp_posix.cpp
rename : xpcom/ds/TimeStamp_windows.cpp => mozglue/misc/TimeStamp_windows.cpp
rename : xpcom/ds/TimeStamp_windows.h => mozglue/misc/TimeStamp_windows.h
extra : commitid : 2MSXRaRzXEd
extra : rebase_source : 45ded19677e8557deb3b9203777656f5a13f6c04
2015-06-05 16:03:11 -04:00
Nicholas Nethercote a1b715b5df Bug 1174625 - Overhaul PLDHashTable's iterator. r=froydnj.
This change splits PLDHashTable::Iterator::NextEntry() into two separate
functions, which allow you to get the current element and advance the iterator
separately, which means you can use a for-loop to iterate instead of a
while-loop.

As part of this change, the internals of PLDHashTable::Iterator were
significantly changed and simplified (and modelled after js::HashTable's
equivalent code). It's no longer duplicating code from PL_DHashTableEnumerator.
The chaos mode code was a casualty of this, but given how unreliable that code
has proven to be (see bug 1173212, bug 1174046) this is for the best. (We can
reimplement chaos mode once PLDHashTable::Iterator is back on more solid
footing again, if we think it's important.)

All these changes will make it much easier to add an alternative Iterator that
removes elements, which was turning out to be difficult with the prior code.

In order to make the for-loop header usually fit on a single line, I
deliberately renamed a bunch of things to have shorter names.

In summary, you used to write this:

  PLDHashTable::Iterator iter(&table);
  while (iter.HasMoreEntries()) {
    auto entry = static_cast<FooEntry*>(iter.NextEntry());
    // ... do stuff with |entry| ...
  }
  // iter's scope extends beyond here

and now you write this:

  for (auto iter = table.Iter(); !iter.Done(); iter.Next()) {
    auto entry = static_cast<FooEntry*>(iter.Get());
    // ... do stuff with |entry| ...
  }
  // iter's scope doesn't reach here

--HG--
extra : rebase_source : fa5cac2fc50b1ab7624030bced4763131280f4d8
2015-06-11 21:19:53 -07:00
Ted Mielczarek 572d721921 bug 1170586 - Make TimeStamp::FromSystemTime available on iOS. r=froydnj
--HG--
extra : commitid : 6y2iIFXPKyP
extra : rebase_source : 7c8e19589f5c005ff3c4c2f4158f1ac04394c269
2015-01-30 15:32:48 -05:00
Nicholas Nethercote 977758d61c Bug 1172761 (part 2) - Remove PL_DHashTableEnumerator use from nsPersistentProperties. r=froydnj.
The old code attempted to deal with any OOMs during this enumeration --
OOMs are possible because it's growing an nsCOMArray -- but failed to do so
correctly.

- It didn't check the return value of AppendObject().

- It did check that EntryCount() matched the return value of
  PL_DHashTableEnumerate(), but that's always (and vacuously) true.

The new code just returns NS_ERROR_OUT_OF_MEMORY if AppendObject() fails; this
is trivial now that it uses an iterator and doesn't have to call out to another
function.
2015-06-10 13:07:40 -07:00
Nicholas Nethercote 97aa68b77f Bug 1172761 (part 1) - Remove PL_DHashTableEnumerator use from nsAtomTable. r=froydnj.
--HG--
extra : rebase_source : 54fc0b6e09fe55a879212e666a682eaf76ab4f7b
2015-06-10 13:07:40 -07:00
Eric Rahm 75c4bebb79 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-03 15:25:57 -07:00
Nicholas Nethercote 383a496bf6 Bug 1170416 (part 5) - Remove PLDHashTable::IsInitialized(). r=froydnj.
|mOps| is always non-null now, and there's no longer any distinction between
and uninitialized and initialized table. Yay.

--HG--
extra : rebase_source : 3d1fb72aee4dd21ff20db0ff3166d4e932ade897
2015-05-20 21:23:55 -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
Carsten "Tomcat" Book 5471309381 Backed out 14 changesets (bug 1165515) for linux x64 e10s m2 test failures
Backed out changeset d68dcf2ef372 (bug 1165515)
Backed out changeset 7c3b45a47811 (bug 1165515)
Backed out changeset b668b617bef2 (bug 1165515)
Backed out changeset d0916e1283a2 (bug 1165515)
Backed out changeset ac4dc7489942 (bug 1165515)
Backed out changeset e9632ce8bc65 (bug 1165515)
Backed out changeset c16d215cc7e4 (bug 1165515)
Backed out changeset e4d474f3c51a (bug 1165515)
Backed out changeset d87680bf9f7c (bug 1165515)
Backed out changeset b3c0a45ba99e (bug 1165515)
Backed out changeset 9370fa197674 (bug 1165515)
Backed out changeset 50970d668ca1 (bug 1165515)
Backed out changeset ffa4eb6d24b9 (bug 1165515)
Backed out changeset 5fcf1203cc1d (bug 1165515)

--HG--
extra : rebase_source : 6fb850d063cbabe738f97f0380302153e3eae97a
2015-06-02 13:05:56 +02:00
Eric Rahm a9afd68cef Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 22:17:33 -07:00
Wes Kocher 4e9f80ed2e Backed out 14 changesets (bug 1165515) for b2g mochitest-6 permafail CLOSED TREE
Backed out changeset 9b97e2aa2ed9 (bug 1165515)
Backed out changeset 150606c022a2 (bug 1165515)
Backed out changeset 4e875a488349 (bug 1165515)
Backed out changeset 467e7feeb546 (bug 1165515)
Backed out changeset d6b6cc373197 (bug 1165515)
Backed out changeset 0615265b593c (bug 1165515)
Backed out changeset fafd1dce9f08 (bug 1165515)
Backed out changeset d1df869245f9 (bug 1165515)
Backed out changeset 6876a7c63611 (bug 1165515)
Backed out changeset b7841c94a9a3 (bug 1165515)
Backed out changeset e5e3617f7c73 (bug 1165515)
Backed out changeset 39be3db95978 (bug 1165515)
Backed out changeset 0ec74176f8de (bug 1165515)
Backed out changeset 5b928dd10d71 (bug 1165515)
2015-06-01 17:57:58 -07:00
Eric Rahm f82c0e7caf Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 14:31:01 -07:00
Botond Ballo 2e2a504271 Bug 1119980 - Use 'snprintf' instead of 'sprintf' to avoid a warning on Lollipop-based builds. r=froydnj
--HG--
extra : source : 7468f9a3aa03520a29e138d4df431f0b5d90967c
2015-05-26 14:33:55 -04:00
Phil Ringnalda 49dd872168 Back out 3 changesets (bug 1119980) for emulator-l bustage
CLOSED TREE

Backed out changeset 12ce98475c6e (bug 1119980)
Backed out changeset bdb8d05f8870 (bug 1119980)
Backed out changeset a68a18840492 (bug 1119980)
2015-05-25 18:48:51 -07:00
Botond Ballo 9934d127c1 Bug 1119980 - Use 'snprintf' instead of 'sprintf' to avoid a warning on Lollipop-based builds. r=froydnj
--HG--
extra : rebase_source : 4e915a12ba662ed45788238a5f0a45533888bd92
2015-05-25 20:45:17 -04:00
Nicholas Nethercote 01e0dbf44b Bug 1166598 (part 6) - Clean up nsStaticCaseInsensitiveNameTable. r=froydnj.
This patch simplifies nsStaticCaseInsensitiveNameTable greatly by taking
advantage of the following observations.

- |new| is infallible, so |new nsStaticCaseInsensitiveNameTable()| calls don't
  need their return value checked.

- nsStaticCaseInsensitiveNameTable::Init() checks if any of the added entries
  differ only in case, so the callers of that function don't need to do the
  same check.

- nsStaticCaseInsensitiveNameTable::Init() never returns false because
  moz_xmalloc() is infallible. (Its callers never check the return value
  anyway.) So it can be merged into the constructor. And
  ~nsStaticCaseInsensitiveNameTable() need not null-check |mNameArray|.

- PLDHashTable now has an initializing constructor and destructor, so these can
  be used in nsStaticCaseInsensitiveNameTable, thus avoiding manual
  PLD_HashTable{Init,Finish}() calls.
2015-05-05 21:13:53 -07:00
Eric Rahm 3925a960aa Bug 1165515 - Part 1: Convert PR_LOG to MOZ_LOG. r=froydnj 2015-05-21 13:22:04 -07:00
Nicholas Nethercote e90de3e5e0 Bug 1166586 (part 2) - Convert some easy PL_DHashTable{Init,Finish} cases. r=froydnj.
This patch converts easy cases, i.e. where the PL_DHashTableInit() call occurs
in a constructor and the PL_DHashTableFinish() call occurs in a destructor.

--HG--
extra : rebase_source : d8dc450f80ac23b8455141b471cc9ae823e1e384
2015-05-04 22:59:24 -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 399179a183 Bug 1165768 (part 6) - Convert |gAtomTable| to |PLDHashTable2*|. r=froydnj.
--HG--
extra : rebase_source : 77fc4a57aa1e426089b857d88f32c378127f9429
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 ba79e01ad2 Bug 1161377 (part 3, attempt 2) - Convert some easy PL_DHashTable{Init,Finish} cases. r=froydnj.
--HG--
extra : rebase_source : 990907701818b7da2b4e8955c419bb61130e266f
2015-05-12 17:33:26 -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
Nicholas Nethercote 0323a0a1b5 Backout c375efe78e07 (bug 1161377 part 3) for (probably) increasing the static constructor count and regressing Fennec start-up time. r=me. 2015-05-10 22:16:18 -07:00
Nicholas Nethercote 17348fdef0 Bug 1161377 (part 3) - Convert some easy PL_DHashTable{Init,Finish} cases. r=froydnj.
This patch converts easy cases, i.e. where the PL_DHashTableInit() call occurs
in a constructor and the PL_DHashTableFinish() call occurs in a destructor.
2015-05-04 22:59:24 -07:00
Eric Rahm 645b42df1f Bug 1162242 - Part 1: Remove instances of #ifdef PR_LOGGING. r=froydnj
PR_LOGGING is now always defined, we can remove #ifdefs checking for it.
2015-05-07 09:43:35 -07:00
Mike Hommey 924c9eb636 Bug 1134923 - Remove NS_Alloc/NS_Realloc/NS_Free. r=nfroyd
They are kept around for the sake of the standalone glue, which is used
for e.g. webapprt, which doesn't have direct access to jemalloc, and thus
still needs a wrapper to go through the xpcom function list and get to
jemalloc from there.
2015-05-01 09:40:30 +09: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
David Major ebde6b9f4f Bug 1157835: Remove the MSVC_ENABLE_PGO flag from the build system. r=glandium
--HG--
extra : rebase_source : 0c47c99bb8b92f8361a51fd81b20a2cc8647a986
2015-04-27 19:59:27 -04:00
Andrea Marchesini ade2831035 Bug 1156632 - Remove unused forward class declarations - patch 6 - the rest of the tree, r=ehsan 2015-04-22 08:29:24 +02:00
Chris Peterson 46e1fddec4 Bug 1153373 - Move AppendStrongObservers() function definition behind #ifndef MOZILLA_XPCOMRT_API. r=froydnj 2015-04-10 11:54:40 -07:00
Ryan VanderMeulen ddba70e696 Bug 1150916 - Non-unified bustage follow-up fix. 2015-04-10 21:25:58 -04:00
Andrew McCreight 1e0f87e27d Bug 1151541, part 2 - Fix mode lines in xpcom/. r=froydnj 2015-04-09 10:25:05 -07:00
Andrew McCreight e3b6a8b033 Bug 1150916 - Be sure we aren't iterating over a hashtable while it is modified in nsObserverService::UnmarkGrayStrongObservers(). r=froydnj
The QI in xpc_TryUnmarkWrappedGrayObject() might somehow trigger a GC,
which in turn could destroy an observer, that would in turn call
RemoveObserver() which mutates the hash table that we're enumerating.
2015-04-08 17:16:30 -07:00
Randall Barker c236b48231 Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC. r=nfroyd
--HG--
extra : rebase_source : 93f11457b16b344e148a6fcb924b286ef8a48051
2015-04-03 15:52:00 +02:00
Jonathan Watt ffd584f511 Bug 1147491, part 2 - Disable use of BaseTimeDuration::operator/ with floating point values. r=ehsan 2015-04-02 14:03:40 +01:00
Jonathan Watt 8b3df5e0bc Bug 1147491 - Partially backout part 2 while figuring out B2G orange. r=orange CLOSED TREE 2015-04-01 12:05:02 +01:00
Jonathan Watt bd172b945d Bug 1147491, part 2 - Disable use of BaseTimeDuration::operator/ with floating point values. r=ehsan 2015-03-30 16:27:13 +01:00
Mike Hommey b077d9624d Bug 1134920 - Use moz_xmalloc/moz_xrealloc/free instead of nsMemory::Alloc/Realloc/Free. r=nfroyd 2015-04-01 13:51:45 +09:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Mason Chang e6f06e5cfc Bug 1127151. Part 4: Update TimeStamp::FromSystemTime with windows testing. r=kats 2015-02-13 17:17:28 +08: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
Andrew McCreight 31ba9aaed9 Bug 1131199, part 2 - Make PLDHashtInitEntry infallible. r=froydnj
Also, drop the unused table argument.
2015-02-11 09:46:40 -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 242708cf72 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 488e401ff87e31a2074c4108c4df0572d9536667
2015-02-09 14:34:50 -08:00
Andrew McCreight d3826daa16 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote d34f0301b8 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 99182e70335d2b5ff95f8c528ae992d37294be3a
2015-02-04 20:05:36 -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
Trevor Saunders 6c486b0407 bug 1122100 - more MOZ_OVERRIDE in xpcomish stuff r=froydnj 2015-01-19 17:41:12 -05:00
Ehsan Akhgari fa5c39586f Bug 1123121 - Mark all nsCOMPtr_helper classes as stack class; r=froydnj 2015-01-19 12:39:36 -05:00
Ehsan Akhgari 0c1e071a73 Bug 1123000 - Mark nsDiscriminatedUnion::mInterfaceValue as owning; r=froydnj 2015-01-19 10:00:33 -05:00
Ehsan Akhgari f555db9bc7 Bug 1122991 - Mark findIndexOfClosure as stack class, and make its targetElement member a void*; r=froydnj 2015-01-19 10:00:32 -05:00
Ehsan Akhgari f1d08feef9 Bug 1122990 - Mark nsPropertiesParser as stack class, and make its mProps member a strong ref; r=froydnj 2015-01-19 10:00:31 -05:00
Ehsan Akhgari cfc3bde8b2 Bug 1123109 - Mark nsStaticAtom::mStringBuffer as non-owning; r=froydnj 2015-01-19 09:05:44 -05:00
Ehsan Akhgari 614625066f Bug 1122996 - Convert nsSupportsArrayEnumerator::mArray into an nsCOMPtr; r=froydnj 2015-01-19 09:03:56 -05:00
Ehsan Akhgari 0cc0ba6ab4 Bug 1122995 - Clarify the lifetime rules applying to the permanent and non-permanent nsIATOM* members in nsAtomTable.cpp; r=froydnj 2015-01-19 09:03:10 -05:00
Ehsan Akhgari 4302209514 Bug 1122986 - Mark nsQueryElementAt::mCollection as non-owning; r=froydnj 2015-01-19 09:00:25 -05:00
Ehsan Akhgari 3bf8f8296a Bug 1122989 - Remove nsIPersistentProperties::Subclass(); r=froydnj
This method is unused, and more importantly it causes us to store an
unsafe reference in nsPersistentProperties.  It's best to remove it.
2015-01-19 08:59:01 -05: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
Nicholas Nethercote 27ab169068 Bug 1121304 (part 1, attempt 2) - Minor type clean-ups for PLDHashTable. r=froydnj.
--HG--
extra : rebase_source : cccc747bf900804a566853d8eb7f16cf82a26978
2015-01-14 14:35:45 -08:00
Phil Ringnalda e39f0adeca 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 e9735966fa Bug 1121304 (part 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj. 2015-01-14 14:35:56 -08:00
Nicholas Nethercote 41dc319a7c Bug 1121304 (part 1) - Minor type clean-ups for PLDHashTable. r=froydnj. 2015-01-14 14:35:45 -08:00
Nicholas Nethercote 47221bc7f9 Bug 1120476 (part 4) - Remove PLDHashTableOps::finalize. r=froydnj.
--HG--
extra : rebase_source : b14dda8cdd5cd896d1e32950e38b2a9f7da4d99e
2015-01-13 19:02:35 -08:00
Nicholas Nethercote c7538c9776 Bug 1120476 (part 3) - Remove PLDHashTable::data. r=froydnj.
--HG--
extra : rebase_source : 24d10af3dbce3ada5252503bc80bb1a4e31bc1c9
2015-01-13 16:42:13 -08:00
Ehsan Akhgari 4354953b4f Bug 1118486 - Part 1: Use `= delete` instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Michael Pruett 62960a5119 Bug 1118024 - Add explicit PL_DHashTable{Add,Lookup,Remove} functions. r=nfroyd 2015-01-05 20:26:50 -06:00
Nathan Froyd 772bdaecb8 Bug 1117853 - remove duplicate mozilla/Attributes.h #include; r=bsmedberg 2014-01-22 18:37:02 -05:00
Ehsan Akhgari f32bb086bc Bug 1117035 - Mark virtual overridden functions as MOZ_OVERRIDE in XPCOM; r=froydnj 2015-01-05 11:25:41 -05:00
Mason Chang de0e409177 bug 552020 Part 3: Enable Creation of mozilla::TimeStamp from system timestamps. r=roc 2014-11-18 13:28:42 -08:00
Brian Birtles 862f1e6d3b Bug 1073336 part 3a - Allow TimeStamp == and != operators to work with null timestamps; r=froydnj 2014-11-17 13:45:56 +09:00
Ryan VanderMeulen 87e1d173f4 Backed out changesets a99bd0b3b075, a7fb851f823a, and 9fc2d99376cd (bug 552020) for non-unified bustage and OSX 10.6 tsvgr crashes.
CLOSED TREE
2014-11-14 15:57:35 -05:00
Mason Chang 89dd1bd2d2 Bug 552020. Part 3: Enable creation of mozilla::TimeStamp from system Timestamps. r=roc 2014-11-14 08:31:04 -08:00
Jacek Caban 1fb284960f Bug 1092130 - Fixed build errors found by mingw after bug 1076698 landed (-Werror=missing-braces errors). r=cpearce 2014-11-03 10:28:52 +01:00
Mason Chang 97ebd4c29a Bug 1083530. Part 1 Create mozilla::TimeStamp constructor with system time param. r=roc 2014-10-29 13:36:51 -07:00
Brian Birtles cf167e36af Bug 1074651 - Detect integer overflow in BaseTimeDuration::TicksFromMilliseconds; r=bz 2014-10-02 15:14:12 +09:00
Brian Birtles e152025300 Bug 1039924 part 8 - Include FloatingPoint.h in StickyTimeDuration.h; r=froydnj
Overlooked review feedback from comment:

  https://bugzilla.mozilla.org/show_bug.cgi?id=1039924#c43
2014-09-25 14:35:51 +09:00
Brian Birtles 2268355a2b Bug 1039924 part 7 - Add unary minus operator to BaseTimeDuration; r=froydnj
This patch adds the unary minus operator so, for example, we can write:

  TimeDuration sinceBeforeYourSunBurnedHot = -TimeDuration::Forever();
2014-09-25 14:25:50 +09:00
Brian Birtles 06971eef4d Bug 1039924 part 5 - Add StickyTimeDuration; r=froydnj
This patch adds another implementation of BaseTimeDuration's ValueCalculator
template parameter that is careful to preserve Forever/-Forever values when
performing arithmetic.

It also defines a typedef for a specialization of BaseTimeDuration that uses
this new ValueCalculator definition.
2014-09-25 14:25:50 +09:00
Brian Birtles 7d6c8bae55 Bug 1039924 part 4 - Fill out TimeDurationValueCalculator and use it; r=froydnj
This patch builds on the templatization from the previous patch to move
arithmetic on the mValue member of BaseTimeDuration to the ValueCalculator
template parameter.
2014-09-25 14:25:49 +09:00
Brian Birtles 9d4bf99681 Bug 1039924 part 3 - Templatize TimeDuration so it can support different behaviors with regards to tick count arithmetic; r=froydnj
This patch prepares the way for having a separate StickyTimeDuration class
by factoring TimeDuration into a templated base class: BaseTimeDuration.
BaseTimeDuration takes a templated parameter, ValueCalculator, which is a helper
object that defines how various arithmetic operations are performed on its
mValue member (an int64_t count of ticks).

This patch does not actually define or use the ValueCalculator parameter yet but
simply performs the renaming and templatization.

With regards to the templatization, arithmetic operators are defined to take
objects with the same ValueCalculator template parameter (so that we don't, for
example, apply non-safe arithmetic to a StickyTimeDuration).
However, comparison operators are defined to also operate on objects with
a different ValueCalculator template parameter since comparison should be
independent of the type of arithmetic used.

Likewise, the constructor and assignment operator are defined to operate on
objects with a different ValueCalculator template parameter so that objects can
be converted from TimeDuration to StickyTimeDuration and vice-versa.
The constructor is marked as explicit, however, so that we don't silently
convert a StickyTimeDuration to a TimeDuration and unwittingly apply
non-safe arithmetic to a StickyTimeDuration.

TimeDuration is defined as a specialization of BaseTimeDuration that uses
TimeDurationValueCalculator as its ValueCalculator type.
TimeDurationValueCalculator is filled-in in a subsequent patch.
2014-09-25 14:25:49 +09:00
Brian Birtles 924730126a Bug 1039924 part 2 - Convert between Forever and Infinity when converting TimeDurations; r=froydnj
Now that the implementation of a number of TimeDuration methods have been
delegated to a separate TimeDurationPlatformUtils class, it is easier to add
consistent handling to the parameters passed to and from those methods.

This patch adds checks when converting between TimeDurations and doubles so that
Forever (represented by a tick count of INT64_MAX) is paired with
PositiveInfinity, and INT64_MIN is paired with NegativeInfinity.
2014-09-25 14:25:49 +09:00
Brian Birtles c333e39282 Bug 1039924 part 1 - Separate platform-dependent parts of TimeDuration into TimeDurationPlatformUtils; r=froydnj
In order to have different templated versions of TimeDuration we first split out
the platform-specific code so that this code doesn't need to concern itself with
templates (and because putting template code in .cpp files is messy).
2014-09-25 14:25:48 +09:00
Honza Bambas ac3405ae34 Bug 1034638 - Don't make QPC to GTC fallback in TimeStamp_windows let change differences of previously taken timestamps, r=robarnold 2014-09-16 15:51:51 +02:00
Andrew McCreight 06744b6f48 Bug 931285, part 2 - Implement a cycle collected version of nsHashPropertyBag and use it from JS. r=froydnj 2014-09-08 09:41:32 -07:00
Andrew McCreight 1c9fdc95c0 Bug 931285, part 1 - Factor out a base class for nsHashPropertyBag that does not implement refcounting. r=froydnj
Also remove the unused NS_NewHashPropertyBag.
2014-09-08 09:41:22 -07:00
Nicholas Nethercote df1c26a45e Bug 1057912 - Privatize most of PLDHashTable's fields. r=roc.
--HG--
extra : rebase_source : 0f55e70b63d9c191fbd9418cb1177ff534deeed9
2014-08-25 16:56:33 -07:00
Birunthan Mohanathas e3a6a8dc06 Bug 1046841 - Convert remaining files in xpcom/{ds,glue,sample}/ to Gecko style. r=froydnj 2014-08-25 12:17:28 -07:00
Birunthan Mohanathas 16471161bb Bug 1046841 - Fix more style violations in previously touched .h files in xpcom/. r=froydnj 2014-08-25 12:17:24 -07:00
Kyle Huey a874f0a039 Bug 1049694: Remove unused mozilla::CharTokenizer. r=froydnj 2014-08-08 11:11:33 -07:00
Nicholas Nethercote a7cf4142b4 Bug 1050009 - Initialize pldhash tables with a length, not a capacity. r=roc.
* * *
imported patch rm-dummy-params

--HG--
extra : rebase_source : c25987eb11bae197218d5fc53b77def19afa36ac
2014-08-06 06:31:21 -07:00
Nicholas Nethercote ac2d623ffd No bug. Remove two "njn: ..." comments I accidentally left in. r=me.
DONTBUILD because the patches contains only trivial comment changes.

--HG--
extra : rebase_source : ecc0bd10c43c6d4223f5301ff11cbd2a56c9912b
2014-08-06 16:19:55 -07:00
Ehsan Akhgari 4af9c14370 Bug 1048239 - Fix more bad implicit constructors in XPCOM; r=froydnj 2014-08-05 09:36:32 -04:00
Nicholas Nethercote 48406d15bd Bug 1047220 - Shrink the static atoms table. r=bz.
--HG--
extra : rebase_source : a7f8d54cce7f20d784371348f0d0cabdacf43c0a
2014-07-31 22:57:13 -07:00
Nicholas Nethercote d6833db2a9 Bug 1046529 (part 2) - Ensure static atoms always end up in gStaticAtomTable. r=bz,hsivonen. 2014-07-30 23:22:42 -07:00
Nicholas Nethercote 3a306a87c3 Bug 1046529 (part 1) - Split and simplify AtomTableKey's constructors. r=bz. 2014-07-30 23:22:40 -07:00
Nicholas Nethercote bfc1f78542 Bug 1046477 (part 2) - Don't measure the heap size of static atoms. r=froydnj.
--HG--
extra : rebase_source : c96563845a8a67ee815ba0b84108321cadfa62dd
2014-07-30 23:19:23 -07:00
Nicholas Nethercote f907318caa Bug 1046477 (part 1) - Separate the reporting of the main and static atoms tables. r=froydnj.
--HG--
extra : rebase_source : c60db11fc39d180e43f22e7f395eea24cd358aa3
2014-07-30 23:06:57 -07:00
Ehsan Akhgari 520fd897ed Bug 1045065 - Fix some bad implicit constructors in xpcom; r=froydnj 2014-07-28 13:19:06 -04:00
Birunthan Mohanathas c95547c7c8 Bug 1035884 - Follow-up: Use typedef for ns(C){CharSeparated,Whitespace}Tokenizer. r=froydnj 2014-07-27 08:52:52 -07:00
Birunthan Mohanathas 77bec57910 Bug 1035884 - Follow-up: Remove SubstringType template argument for ns{CharSeparated,Whitespace}Tokenizer. r=froydnj 2014-07-27 08:52:52 -07:00
Mike Hommey bc5d6801bb Bug 1041860 - Avoid setting FINAL_LIBRARY to libraries that further use a FINAL_LIBRARY. r=mshal 2014-07-23 08:37:51 +09:00
Birunthan Mohanathas 0c6b4675d1 Bug 1035884 - Template-ify nsWhitespaceTokenizer to remove duplicate code. r=froydnj 2014-07-18 14:52:29 -07:00
Birunthan Mohanathas f8536cf3a0 Bug 1035884 - Template-ify nsCharSeparatedTokenizer to remove duplicate code. r=froydnj 2014-07-18 14:52:29 -07:00
Jan de Mooij cda5c814db Bug 1034627 part 6 - Fix XPCVariant to work with Latin1 strings and nursery strings. r=bholley
--HG--
extra : rebase_source : be029c174195192570da688250583157825e9e06
2014-07-11 09:38:55 +02:00
Carsten "Tomcat" Book eb71d8cf86 Backed out changeset 110e44b996f8 (bug 1034627) for Valgrind Testfailures on a CLOSED TREE 2014-07-11 11:00:21 +02:00
Jan de Mooij 8ff8c31410 Bug 1034627 part 6 - Fix XPCVariant to work with Latin1 strings and nursery strings. r=bholley 2014-07-11 09:38:55 +02:00
Birunthan Mohanathas 68ba4f3767 Bug 1022456 - Convert xpcom/ds/ to Gecko style. r=froydnj 2014-07-09 08:15:21 -07:00
Birunthan Mohanathas ae61ac3295 Bug 1035509 - Remove unused xpcom/ds/nsManifestLineReader.h. r=froydnj 2014-07-09 08:15:20 -07:00
Birunthan Mohanathas b69dfc0d9a Bug 1035509 - Remove unused xpcom/ds/StringBuilder.h. r=froydnj 2014-07-09 08:14:43 -07:00
Benoit Jacob 81effa4bca Bug 1028588 - Fix dangerous public destructors in xpcom/ - r=bsmedberg,khuey,nfroyd 2014-06-30 18:11:53 -04:00
Wes Kocher 03da42e8b1 Backed out 4 changesets (bug 1028588) for build bustage
Backed out changeset 13a8bae671ca (bug 1028588)
Backed out changeset 19a19833f1d6 (bug 1028588)
Backed out changeset d5fae80054de (bug 1028588)
Backed out changeset 5942ad3859b8 (bug 1028588)
2014-06-30 15:50:19 -07:00
Benoit Jacob 522e4724cc Bug 1028588 - Fix dangerous public destructors in xpcom/ - r=bsmedberg,khuey,nfroyd 2014-06-30 18:11:53 -04:00
Brian Birtles 51cf0526d8 Bug 1028514 - Check for integer overflow when converting from floating-point number milliseconds; r=froydnj
In TimeStamp_windows.cpp and TimeStamp_darwin.cpp, in
TimeStamp::FromMilliseconds we cast the floating-point number of ticks to
a 64-bit integer before passing to TimeStamp::FromTicks(int64_t).
This means that we skip the check for integer overflow performed by
TimeStamp::FromTicks(double).

This patch simply removes that cast so that we perform overflow checking.

It also adds an assertion to ElementAnimation since this is one place where
the lack of overflow checking was producing a negative value where it should
not.
2014-06-25 09:42:18 +09:00
Nicholas Nethercote aaf6fb2124 Bug 1010064 - Allow memory reports to be anonymized. r=bsmedberg.
--HG--
extra : rebase_source : 5eb756b17a97e751deb0f47e909fdb35533cb23b
2014-05-20 23:06:54 -07:00
Brian Birtles d3ea6b392e Bug 1004365 part 3b.1 - Add % operator to TimeDuration; r=froydnj 2014-06-11 14:19:08 +09:00
Brian Birtles 80c0d7b5c4 Bug 1004365 part 2 - Add TimeDuration != operator; r=froydnj 2014-06-11 14:19:07 +09:00
Ehsan Akhgari 0d4e61e13c Bug 1022033 - Disable NS_lroundup30 on clang-cl; r=jrmuizel
This function contains inline assembly which clang-cl can't compile yet.
2014-06-06 20:13:48 -04:00
Robert O'Callahan 9875463556 Bug 1015664. Part 3: Remove NS_HIDDEN_VISIBILITY from NS_IMETHOD_VISIBILITY. r=bsmedberg 2014-06-03 00:08:27 +12:00
Robert O'Callahan cbb8fdebfc Bug 1015664. Part 1: Remove NS_HIDDEN_() usage. r=bsmedberg 2014-06-03 00:08:21 +12:00
Brian Birtles 9b56ae1a90 Bug 1016757 - Add TimeDuration::operator* (const uint64_t) const, i.e. accept an unsigned 64-bit integer as a multiplier; r=froydnj 2014-05-30 09:45:39 +09:00
Ehsan Akhgari 6011b07362 Bug 1015430 - Fix more XPCOM constructors to clarify whether they should be explicit; r=froydnj 2014-05-25 21:16:01 -04:00
Mats Palmgren 257e69aae5 Bug 1009263 - Add nsCheapSets::Clear() method that removes all entries and return it to minimal size in terms of memory use. r=bsmedberg 2014-05-17 23:10:53 +00:00
Andrew McCreight a95191e7f0 Bug 1008420, part 2 - Split out a refcountless nsArray base class. r=bsmedberg 2014-05-15 09:52:58 -07:00
Andrew McCreight 57f3f97385 Bug 1008420, part 1 - Delete trailing whitespace from nsArray. r=bsmedberg 2014-05-15 09:52:58 -07:00
Andrew McCreight 6b94f1bb01 Bug 971264 - Remove nsHashtable. r=bsmedberg 2014-05-15 09:52:57 -07:00
Benoit Jacob 60d536773a Bug 1004098 - Make nsTArray use size_t in its interface (32bitness is fine as an internal detail) - r=froydnj, sr=bsmedberg 2014-05-08 21:03:35 -04:00
Birunthan Mohanathas 5f1fde8824 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
James Kitchener f90cfba93e Bug 1000030 - Don't let Windows overwrite length 0 strings. r=dmajor 2014-04-26 04:03:00 -04:00
Kyle Huey d001ae7759 Bug 994971: Don't export nsObserverService.h. r=bsmedberg
--HG--
extra : rebase_source : cd5aa136075086a10cfa03d937743d8a5471fd6c
2014-04-14 12:04:27 -07:00
Kyle Huey 01c6429e95 Bug 993734: Stop pretending that the observer service is threadsafe. r=bsmedberg
--HG--
extra : rebase_source : 233d626d1127cc9c82adb6d486b1ad599bb060ce
2014-04-14 12:04:26 -07:00
Ryan VanderMeulen 40b49517d3 Backed out changeset e2d5b2be4142 (bug 994971) for non-unified bustage.
CLOSED TREE
2014-04-14 18:27:52 -04:00
Ryan VanderMeulen 60427a8b97 Backed out 2 changesets (bug 993734, bug 995405) for Windows bustage on a CLOSED TREE.
Backed out changeset 3797f7c91ed2 (bug 993734)
Backed out changeset 9d4032c2f237 (bug 995405)
2014-04-14 15:39:28 -04:00
Kyle Huey 46e8243a6d Bug 994971: Don't export nsObserverService.h. r=bsmedberg 2014-04-14 12:04:27 -07:00
Kyle Huey 1af98f208a Bug 993734: Stop pretending that the observer service is threadsafe. r=bsmedberg 2014-04-14 12:04:26 -07:00
Shu-yu Guo 82fe2098a8 Bug 989509 - Part 2: dom/, netwerk/, startupcache/, and xpcom/ (r=aklotz,bent,gvselto,mayhemer,Mossop) 2014-04-03 19:29:40 -07:00
Ehsan Akhgari 186680d83a Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
Anuj Agarwal 0caa3d5aa0 Bug 975745 - Remove nsStringKey. r=froydnj 2014-03-18 14:25:40 -07:00
Neil Rashbrook 604d9a5302 Bug 514280 Stop using nsCOMPtr for concrete types r=bsmedberg
--HG--
extra : rebase_source : f8fb50de9292320eb7589dd28dc566d0f5044da6
2014-03-18 00:23:03 +00:00
Wes Kocher c879b47079 Backed out 2 changesets (bug 514280) for OSX build bustage on a CLOSED TREE
Backed out changeset 2a015b45d808 (bug 514280)
Backed out changeset a01f97c1ed02 (bug 514280)
2014-03-17 15:19:53 -07:00
Neil Rashbrook 3e8915c4b8 Bug 514280 Stop using nsCOMPtr for concrete types r=bsmedberg
--HG--
extra : rebase_source : eaca8b2925eaffb49e29a617cd72c0d6686e6d9e
2014-03-17 19:07:09 +00:00
Andrew McCreight 7f15356b79 Bug 984008, part 4 - Remove nsISupportsKey. r=froydnj 2014-03-17 10:21:26 -07:00
Kyle Huey d7764d686d Bug 981150: Use nsTArrayForwardDeclare.h more. r=ehsan 2014-03-15 12:00:17 -07:00
Kyle Huey 1f3d658bb3 Bug 967364: Use every already_AddRefed. r=bsmedberg 2014-03-15 12:00:16 -07:00