зеркало из https://github.com/mozilla/gecko-dev.git
dfd3b7e7aa
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 |
||
---|---|---|
.. | ||
tests | ||
CNavDTD.cpp | ||
CNavDTD.h | ||
CParserContext.cpp | ||
CParserContext.h | ||
moz.build | ||
nsElementTable.cpp | ||
nsElementTable.h | ||
nsExpatDriver.cpp | ||
nsExpatDriver.h | ||
nsHTMLTagList.h | ||
nsHTMLTags.cpp | ||
nsHTMLTags.h | ||
nsHTMLTokenizer.cpp | ||
nsHTMLTokenizer.h | ||
nsIContentSink.h | ||
nsIDTD.h | ||
nsIExpatSink.idl | ||
nsIExtendedExpatSink.idl | ||
nsIFragmentContentSink.h | ||
nsIHTMLContentSink.h | ||
nsIParser.h | ||
nsITokenizer.h | ||
nsParser.cpp | ||
nsParser.h | ||
nsParserBase.h | ||
nsParserCIID.h | ||
nsParserConstants.h | ||
nsParserModule.cpp | ||
nsParserMsgUtils.cpp | ||
nsParserMsgUtils.h | ||
nsScanner.cpp | ||
nsScanner.h | ||
nsScannerString.cpp | ||
nsScannerString.h |