Commit Graph
8 Commits
Author SHA1 Message Date
Mike Hommey a949664523 Bug 1841178 - Remove xpcom-config.h. r=xpcom-reviewers,mccr8
The only thing left it in is TARGET_XPCOM_ABI, which is defined in
mozilla-config.h anyways.

Differential Revision: https://phabricator.services.mozilla.com/D182520
2023-06-29 23:02:15 +00:00
Simon Giesecke bcc10facd3 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/commandhandler. r=smaug
Depends on D62571

Differential Revision: https://phabricator.services.mozilla.com/D62572
2020-02-12 13:25:57 +00:00
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Nathan Froyd cf31a7c12c Bug 1415980 - make hash keys movable and not copyable; r=erahm
Everything that goes in a PLDHashtable (and its derivatives, like
nsTHashtable) needs to inherit from PLDHashEntryHdr. But through a lack
of enforcement, copy constructors for these derived classes didn't
explicitly invoke the copy constructor for PLDHashEntryHdr (and the
compiler didn't invoke the copy constructor for us). Instead,
PLDHashTable explicitly copied around the bits that the copy constructor
would have.

The current setup has two problems:

1) Derived classes should be using move construction, not copy
   construction, since anything that's shuffling hash table keys/entries
   around will be using move construction.

2) Derived classes should take responsibility for transferring bits of
   superclass state around, and not rely on something else to handle that.

The second point is not a huge problem for PLDHashTable (PLDHashTable
only has to copy PLDHashEntryHdr's bits in a single place), but future
hash table implementations that might move entries around more
aggressively would have to insert compensation code all over the
place. Additionally, if moving entries is implemented via memcpy (which
is quite common), PLDHashTable copying around bits *again* is
inefficient.

Let's fix all these problems in one go, by:

1) Explicitly declaring the set of constructors that PLDHashEntryHdr
   implements (and does not implement). In particular, the copy
   constructor is deleted, so any derived classes that attempt to make
   themselves copyable will be detected at compile time: the compiler
   will complain that the superclass type is not copyable.

This change on its own will result in many compiler errors, so...

2) Change any derived classes to implement move constructors instead of
   copy constructors. Note that some of these move constructors are,
   strictly speaking, unnecessary, since the relevant classes are moved
   via memcpy in nsTHashtable and its derivatives.
2018-09-20 11:20:36 -04:00
Masayuki Nakano 3f0e457959 Bug 1475461 - part 2: Make callers of PLDHashTable::Search() const methods if possible r=Ehsan
Some callers of PLDHashTable::Search() use const_cast, some others are not
const methods due to non-const PLDHashTable::Search().

This patch removes const_cast from the former and mark some methods of the
latter const.

MozReview-Commit-ID: C8ayoi7mXc1
2018-07-13 19:01:53 +09:00
Masayuki Nakano 0dd1da3e64 Bug 1450882 - part 3: Create non-virtual methods to nsCommandParams and expose its header r=Ehsan
nsCommandParams is used internally but accessed via nsICommandParams.  For
such internal users, nsCommandParams should have non-virtual methods to
get/set values.

The new method names are similar to Preferences API for consistency with it.

MozReview-Commit-ID: FJwWMFzV9w
2018-07-10 18:48:43 +09:00
Masayuki Nakano aee3418352 Bug 1450882 - part 2: Make nsICommandParams::GetCStringValue() and nsICommandParams::SetCStringValue() treat nsACString instead of char r=Ehsan
nsICommandParams::GetCStringValue() and nsICommandParams::SetCStringValue()
treat char.  However, this makes their callers complicated.  So, they should
be rewritten as treating nsACString.

MozReview-Commit-ID: DWO9veSyzyG
2018-07-10 18:04:46 +09:00
Myk Melez c3a3384c53 Bug 1309049 - move embedding/ files out of that directory, r=jst,mossop 2017-01-12 13:47:27 -08:00