gecko-dev/editor
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
..
composer Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
libeditor Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
reftests Backed out 3 changesets (bug 1394603) for reftest syntax error 2017-09-06 22:48:55 -07:00
txmgr Bug 1398999 - nsDequeFunctor::operator() doesn't need to return anything - r=froydnj 2017-02-09 14:06:36 +11:00
txtsvc Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
AsyncSpellCheckTestHelper.jsm Backed out changeset 322fde2d53bf (bug 1356569) so bug 1355161 can be backed out. r=backout 2017-04-14 23:39:22 +02:00
moz.build Bug 1325281 Get rid of nsIEditorIMESupport r=m_kato 2017-05-09 15:21:22 +09:00
nsEditorCID.h
nsIContentFilter.idl
nsIDocumentStateListener.idl
nsIEditActionListener.idl
nsIEditor.idl Bug 1393642 - Remove nsIAtom/nsIAtomService usage from script in editor/. r=masayuki. 2017-08-25 15:40:45 +10:00
nsIEditorMailSupport.idl Bug 1060051 - Make editor related interfaces builtin classes if it's possible r=Ehsan,smaug 2017-08-04 13:57:56 +09:00
nsIEditorObserver.idl
nsIEditorSpellCheck.idl
nsIEditorStyleSheets.idl Bug 1060051 - Make editor related interfaces builtin classes if it's possible r=Ehsan,smaug 2017-08-04 13:57:56 +09:00
nsIEditorUtils.idl Bug 1060051 - Make editor related interfaces builtin classes if it's possible r=Ehsan,smaug 2017-08-04 13:57:56 +09:00
nsIHTMLAbsPosEditor.idl Bug 1060051 - Make editor related interfaces builtin classes if it's possible r=Ehsan,smaug 2017-08-04 13:57:56 +09:00
nsIHTMLEditor.idl Bug 1394583 - Remove default properties from nsIHTMLEditor. r=masayuki. 2017-08-25 16:59:17 +10:00
nsIHTMLInlineTableEditor.idl Bug 1060051 - Make editor related interfaces builtin classes if it's possible r=Ehsan,smaug 2017-08-04 13:57:56 +09:00
nsIHTMLObjectResizer.idl Bug 1060051 - Make editor related interfaces builtin classes if it's possible r=Ehsan,smaug 2017-08-04 13:57:56 +09:00
nsIPlaintextEditor.idl Bug 1060051 - Make editor related interfaces builtin classes if it's possible r=Ehsan,smaug 2017-08-04 13:57:56 +09:00
nsITableEditor.idl Bug 1387317 - part1: Make AutoSelectionSetterAfterTableEdit use HTMLEditor instead of nsITableEditor r=m_kato 2017-08-08 10:57:19 +09:00
nsIURIRefObject.idl
nsPIEditorTransaction.idl