Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Перейти к файлу
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
.cargo
.vscode Bug 1377937 - Fix VSCode tasks on Windows (NPOTB, DONTBUILD). r=gps 2017-07-03 21:55:07 +03:00
accessible Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
browser Bug 1399536 - fix incorrect JS in test-onboarding-tour-type.js;r=Fischer 2017-09-26 16:03:21 +08:00
build Bug 1366564 - Validate Xcode installation state in configure; r=rillian 2017-09-26 19:56:38 +02:00
caps Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
chrome Bug 1402860 - Remove ENABLE_INTL_API conditional from nsChromeRegistry. r=smaug 2017-09-25 17:32:34 +01:00
config Backed out 4 changesets (bug 1348981) for addon related xpcshell failures a=backout 2017-09-22 15:27:49 -07:00
db Bug 1369361 - Backport SQLite fix removing rand_s() in an attempt to avoid Lenovo DLL crashes. r=mak 2017-09-12 12:58:59 -07:00
devtools Bug 1393453 - Moves Tooltips to ES6 classes retaining decorators r=zer0 2017-09-20 09:42:50 +05:30
docshell Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
dom Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
editor Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
embedding Bug 1356569 - Remove notifyObservers' last parameter when it is falsy, r=jaws. 2017-04-14 21:51:39 +02:00
extensions Bug 1286858 - Data storage and interface changes for SameSite cookies. r=valentin 2017-09-25 01:27:04 +08:00
gfx Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
gradle/wrapper
hal Bug 1389598 - Part 4: Remove remaining gonk refs. r=froydnj 2017-08-11 17:45:18 -07:00
image Merge autoland to central, a=merge 2017-09-26 17:11:14 -07:00
intl Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
ipc Bug 1398070 - Convert WillDestroyCurrentMessageLoop assertion to a safe no-op (r=dvander) 2017-09-25 15:45:24 -07:00
js Merge inbound to m-c a=merge 2017-09-26 15:54:51 -07:00
layout Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
media Bug 1389527 - add testcase for invalid sample table. r=kinetik 2017-09-25 11:16:29 +08:00
memory Bug 1402647 - Add a memalign implementation on platforms that don't have one. r=njn 2017-09-26 06:59:03 +09:00
mfbt Bug 1329019 - Allow specifying capacity to Vector::replaceRawBuffer (r=froydnj) 2017-09-22 10:34:24 -05:00
mobile Bug 1403022 - Abort session on BatchingUploader failures r=rnewman 2017-09-26 17:36:22 -04:00
modules Merge m-c to autoland, a=merge 2017-09-26 17:15:46 -07:00
mozglue Backed out changeset 4dab43248f15 (bug 1372823) for crashing GTest on Windows 10 x64 debug. r=backout 2017-09-21 17:27:32 +02:00
netwerk Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
nsprpub Bug 1393854, land NSPR_4_18_RTM, no code change, only version numbers, r=me 2017-09-19 18:43:02 +02:00
other-licenses Bug 1369255 - Part 1: Add a prompt in the stub installer for running profile cleanup. r=rstrong 2017-07-12 10:29:38 -07:00
parser Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
probes
python Bug 1392643 Turn on c++14 for MinGW globally r=bagder,froydnj 2017-09-22 12:26:42 -05:00
rdf Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
security Merge m-c to autoland, a=merge 2017-09-26 17:15:46 -07:00
services Bug 1401590 - Mock FxAccounts#newAccountState in push service tests. r=markh 2017-09-21 13:27:46 -04:00
servo servo: Merge #18649 - Devirtualize nsIAtom (from nnethercote:bug-1400459); r=froydnj 2017-09-27 00:52:31 -05:00
startupcache Bug 1386825 - Part 4: Remove remaining instances of MOZ_B2G. r=froydnj 2017-08-08 14:41:09 -07:00
storage Bug 958643, part 6 - Remove some unused forward decls. r=krizsa 2017-09-20 12:02:47 -07:00
taskcluster Merge m-c to autoland, a=merge 2017-09-26 17:15:46 -07:00
testing Merge m-c to autoland, a=merge 2017-09-26 17:15:46 -07:00
third_party No bug - Revendor rust dependencies 2017-09-27 00:32:01 +00:00
toolkit Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
tools Bug 1403143 - Remove useless 'using namespace mozilla::ipc' from CodeCoverageHandler. r=jmaher 2017-09-26 13:48:17 +02:00
uriloader Bug 1402687 - Remove unused variable following MOZ_B2G cleanup r=froydnj 2017-09-24 13:27:38 +02:00
view Bug 1398196, flush layout before hittesting when handling mousedown/up, r=ehsan 2017-09-14 23:26:24 +03:00
widget Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
xpcom Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam. 2017-09-26 08:33:21 +10:00
xpfe Bug 1402255 - Change nsIBaseWindow::title from wstring to AString. r=janv. 2017-09-25 13:10:51 +10:00
.clang-format Bug 1399359 - Enable clang-format option SplitEmptyFunction to have empty constructor correctly placed r=andi,jya 2017-09-13 08:39:43 +02:00
.clang-format-ignore No bug - Remove an non-breaking space r=me DONTBUILD 2017-09-01 11:41:39 +02:00
.clang-tidy
.cron.yml Bug 1402457 - Actually schedule periodic file updates. r=dustin 2017-09-25 14:14:59 -04:00
.eslintignore Bug 1399449 - Convert devtools/client/responsivedesign/responsivedesign.jsm to a commonjs module. r=jryans 2017-09-13 14:33:58 +02:00
.eslintrc.js Bug 1359011 - Make the mozilla/recommended eslint configuration the default for the whole tree. r=mossop 2017-04-25 20:12:21 +01:00
.flake8 Bug 1395126 - Support cascading configuration for flake8, r=bc 2017-08-29 17:32:31 -04:00
.gdbinit
.gdbinit_python Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
.gitignore Bug 1382304: hg/gitignore captures/ dir. r=nalexander 2017-07-19 11:08:06 -07:00
.hgignore Bug 1387265 - Expand talos tp6 to macosx; r=jmaher 2017-08-15 15:30:23 -04:00
.hgtags No bug - Tagging mozilla-central f7e9777221a34f9f23c2e4933307eb38b621b679 with with FIREFOX_NIGHTLY_57_END a=release DONTBUILD CLOSED TREE 2017-09-21 16:41:11 +02:00
.inferconfig Bug 1357629 - Add httpclientandroidlib to .inferconfig ignore list r=nalexander,njpark 2017-04-18 20:05:25 -07:00
.lldbinit Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
.taskcluster.yml Backed out 4 changesets (bug 1394883) for Windows signing chain-of-trust failures 2017-08-31 20:02:34 -07:00
.yamllint Bug 1392795 - [yamllint] Group paths to lint by their closest config and run each config group separately, r=dustin 2017-08-23 11:28:28 -04:00
.ycm_extra_conf.py
AUTHORS Bug 1111333 - Enable double-tap-drag to zoom. r=kats 2017-05-23 19:53:06 +02:00
CLOBBER Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2017-09-21 16:42:31 +02:00
GNUmakefile
LEGAL
LICENSE
Makefile.in Bug 1390916 - Remove references to dist/sdk install manifest; r=gps 2017-08-09 15:35:15 -04:00
README.txt
aclocal.m4 Bug 1363992 - Remove jemalloc 4. r=njn 2017-05-11 13:23:07 +09:00
build.gradle Bug 1255227 - Part 1: Stop using deprecated android-sdk-manager Gradle plugin. r=sebastian 2017-07-18 09:46:09 -07:00
client.mk Bug 1386739 - Only pass --output-sync=line to make in automation. r=gps 2017-08-15 12:30:28 -07:00
client.py Bug 1399100 - fix client.py follow-up, r=kaie 2017-09-20 09:13:14 +02:00
configure.in
configure.py
gradle.properties
gradlew
mach
moz.build Backed out 12 changesets (bug 1383880) for decision task bustage 2017-09-20 19:57:39 -07:00
moz.configure Backed out changeset d9bc6c96c492 (bug 1399877) for build bustage a=backout 2017-09-15 14:53:20 -07:00
mozilla-config.h.in Bug 1371266 - libpng should be built with -std=c89. r=glennrp 2017-06-08 06:29:03 -07:00
npm-shrinkwrap.json Bug 1395879 - Remove espree/escope etc from the direct dependencies of eslint-plugin-mozilla since they are really peerDependencies supplied by the existing eslint peer. r=mossop 2017-09-01 11:27:33 +01:00
old-configure.in Bug 1402404 - Remove HAVE_CPP_PARTIAL_SPECIALIZATION from non_global_defines; r=chmanchester 2017-09-22 13:46:12 -04:00
package.json Bug 1380956 - List only the directly required dependencies for ESLint in the top-level package.json. r=ahal 2017-07-14 12:21:54 +01:00
settings.gradle Backed out 2 changesets (bug 1355625) for causing bustage a=backout 2017-06-22 12:05:56 -07:00
test.mozbuild

README.txt

An explanation of the Mozilla Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure

For information on how to build Mozilla from the source code, see:

    https://developer.mozilla.org/en/docs/Build_Documentation

To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:

    https://developer.mozilla.org/en/docs/Creating_a_patch
    https://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree

If you have a question about developing Mozilla, and can't find the solution
on https://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]

You can download nightly development builds from the Mozilla FTP server.
Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy. Firefox nightlies, for example, can be found at:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://nightly.mozilla.org/