gecko-dev/xpcom
Nicholas Nethercote dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
..
base Bug 870698 - Part 2: Replace Append("") with AppendLiteral(""). r=erahm 2017-09-03 22:14:11 -07:00
build Bug 870698 - Part 3: Replace Insert("") with InsertLiteral(""). r=erahm 2017-09-05 12:41:31 -07:00
components Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2017-09-21 16:42:31 +02:00
doc
ds Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
glue Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium 2017-09-11 11:33:26 -07:00
idl-parser Bug 338865 - Scriptable XPIDL iface inheriting from noscript iface should throw error. r=froydnj 2017-09-12 15:03:14 -07:00
io Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
libxpt/xptcall
reflect Backed out changeset 26805294a547 (bug 1389650) 2017-09-26 10:47:41 +02:00
rust Bug 1383411 - Introduce a distinction between nsCStr<'a> and nsCString, r=froydnj 2017-09-25 18:14:43 -04:00
string Bug 1402328 Use a Dummy template parameter to avoid fully specializing structs inside of template classes r=froydnj 2017-09-22 10:26:26 -05:00
system Bug 1385991 - Provide a chrome side notification informing the user about an incompatible version of JAWS screen reader. r=felipe 2017-09-08 16:05:06 -05:00
tests Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
threads Merge inbound to m-c a=merge 2017-09-26 15:54:51 -07:00
typelib Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
windbgdlg
xpidl Bug 1390916 - Always use --track instead of --no-remove for install manifests; r=gps 2017-08-08 17:07:07 -04:00
moz.build
xpcom-config.h.in
xpcom-private.h.in