gecko-dev/dom/xbl
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
..
builtin
crashtests Bug 1341102 - Re-enable some crashtests. r=me 2017-07-24 18:35:19 -07:00
test Bug 1373513 - Part 2: Revert Bug 1364367. r=ckerschb 2017-07-12 11:00:27 +08:00
XBLChildrenElement.cpp Bug 1390660, part 1 - Clean up some uses of the table-to-map segue. r=peterv 2017-08-16 13:37:20 -07:00
XBLChildrenElement.h Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
moz.build Bug 1351783 part 6 - Create and send KeyboardMap to APZCTreeManager. r=kats 2017-06-05 18:35:32 -05:00
nsBindingManager.cpp Bug 1382078 Part 4 - Avoid unneeded restyle when XBL styleset is utilized by different PresContext. r=emilio 2017-09-04 17:57:00 +08:00
nsBindingManager.h Bug 1382078 Part 3 - Support media changes for XBL stylesheets. r=emilio 2017-09-02 15:25:45 +08:00
nsXBLBinding.cpp Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
nsXBLBinding.h Bug 1397983: Rename nsXBLBinding::{Install,Uninstall}AnonymousContent to {Bind,Unbind}AnonymousContent. r=smaug 2017-09-11 13:11:01 +02:00
nsXBLContentSink.cpp Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
nsXBLContentSink.h Bug 1363640 Part 3 - Strip whitespaces for files under dom/xbl. r=heycam 2017-05-09 20:45:11 -07:00
nsXBLDocumentInfo.cpp Bug 1389300 - Inherit style backend into NS_NewDOMDocument. r=smaug,r=heycam 2017-08-15 19:10:43 -07:00
nsXBLDocumentInfo.h Bug 1363640 Part 5 - Add a table in nsXULPrototypeCache to cache XBL documents with servo backend. r=bz,heycam 2017-05-19 15:18:00 -07:00
nsXBLEventHandler.cpp
nsXBLEventHandler.h Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
nsXBLMaybeCompiled.h
nsXBLProtoImpl.cpp Bug 1393790 part 1 - Remove JS_STUBGETTER and JS_STUBSETTER. r=jorendorff 2017-08-28 10:39:57 +02:00
nsXBLProtoImpl.h
nsXBLProtoImplField.cpp Bug 1394835 part 1 - Spit JS_DefineProperty* APIs in separate data/accessor overloads. r=evilpie,bz 2017-08-30 15:35:06 +02:00
nsXBLProtoImplField.h Bug 1153592 part 2 - Remove JSPROP_SHARED; ensure accessor props don't have slots. r=evilpie 2017-09-26 12:26:50 +02:00
nsXBLProtoImplMember.h
nsXBLProtoImplMethod.cpp Bug 1390106 - Stop using versioned scripts in dom. r=mrbkap 2017-08-14 20:42:55 +09:00
nsXBLProtoImplMethod.h
nsXBLProtoImplProperty.cpp Bug 1153592 part 2 - Remove JSPROP_SHARED; ensure accessor props don't have slots. r=evilpie 2017-09-26 12:26:50 +02:00
nsXBLProtoImplProperty.h Bug 1363640 Part 3 - Strip whitespaces for files under dom/xbl. r=heycam 2017-05-09 20:45:11 -07:00
nsXBLPrototypeBinding.cpp Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
nsXBLPrototypeBinding.h Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
nsXBLPrototypeHandler.cpp Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
nsXBLPrototypeHandler.h Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
nsXBLPrototypeResources.cpp Bug 1396700 - Add a method to ServoStyleSet for creating XBL style set. r=xidorn 2017-09-01 16:45:39 +08:00
nsXBLPrototypeResources.h Bug 1386865 part 1 - Have GetServoStyleSet return non-const ServoStyleSet. r=TYLin 2017-08-03 16:58:23 +10:00
nsXBLResourceLoader.cpp Bug 1247843 - Part 3: Set request context ID to the http channel created in imgLoader::LoadImage. r=baku 2017-09-20 20:09:00 -04:00
nsXBLResourceLoader.h Bug 1290276 Part 5 - Add XBL stylesheets to ServoStyleSet so that it can be used in servo cascading later. r=heycam 2017-06-05 13:06:52 +08:00
nsXBLSerialize.cpp
nsXBLSerialize.h Bug 1363640 Part 3 - Strip whitespaces for files under dom/xbl. r=heycam 2017-05-09 20:45:11 -07:00
nsXBLService.cpp Bug 1390428 (part 9) - Remove nsXPIDLCString. r=erahm. 2017-08-17 15:29:03 +10:00
nsXBLService.h Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj 2017-08-16 16:48:52 -07:00
nsXBLWindowKeyHandler.cpp Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
nsXBLWindowKeyHandler.h Bug 1351783 part 19 - Rename Keyboard.h to KeyboardMap.h. r=masayuki 2017-06-15 18:06:00 -04:00