gecko-dev/toolkit
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
..
components Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
content Backed out changeset 41da9c5daa90 (bug 1402279) 2017-09-26 18:17:51 +02:00
crashreporter Bug 870698 - Part 2: Replace Append("") with AppendLiteral(""). r=erahm 2017-09-03 22:14:11 -07:00
forgetaboutsite Bug 1392119 - Enable the ESLint no-caller rule across mozilla-central r=standard8 2017-08-23 13:38:24 +01:00
library Bug 1403048 - Update Rust deps for audioipc. r=kamidphish,rillian 2017-09-26 15:51:30 +13:00
locales bug 1402401, don't break builds on broken locales, r=stas 2017-09-24 14:09:08 +02:00
modules Merge m-c to autoland, a=merge 2017-09-26 17:15:46 -07:00
mozapps Backed out changeset d5bc3152714e (bug 1402279) for failing devtools' devtools/client/jsonview/test/browser_jsonview_save_json.js. r=backout 2017-09-26 18:18:32 +02:00
pluginproblem
profile Bug 1387800 - Remove [deprecated] nsIFilePicker.show(). r=qdot 2017-08-06 13:15:31 +09:00
system Bug 870698 - Part 2: Replace Append("") with AppendLiteral(""). r=erahm 2017-09-03 22:14:11 -07:00
themes Bug 1399642 - Use photon search icon in awesomebar. r=dao 2017-09-26 11:13:56 +01:00
xre Bug 1402255 - Change nsIBaseWindow::title from wstring to AString. r=janv. 2017-09-25 13:10:51 +10:00
.eslintrc.js
moz.build Bug 1328351 - annotate rest of testing and toolkit. r=gps 2017-09-13 05:19:00 -04:00
moz.configure Bug 1401654 - Move MOZ_WEBRTC and some related defines to moz.configure. r=mshal 2017-09-20 16:29:39 -07:00
nss.configure
toolkit.mozbuild Bug 1371065: Part 1 - Remove external references to the add-on SDK. r=Mossop,glandium 2017-09-12 11:54:47 -07:00