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
Go to file
Boris Zbarsky 7e5a37a024 Bug 1521907 part 3. Start using CheckedUnwrapStatic/Dynamic in bindings. r=peterv
The basic idea for the changes around UnwrapObjectInternal and its callers
(UnwrapObject, UNWRAP_OBJECT, etc) is to add a parameter to the guts of the
object-unwrapping code in bindings which can be either a JSContext* or nullptr
(statically typed).  Then we test which type it is and do either a
CheckedUnwrapDynamic or CheckedUnwrapStatic.  Since the type is known at
compile time, there is no actual runtime check; the compiler just emits a call
to the right thing directly (verified by examining the assembly output on
Linux).

The rest of the changes are mostly propagating through that template parameter,
adding static asserts to make sure people don't accidentally pass nullptr while
trying to unwrap to a type that might be a WindowProxy or Location, etc.

There are also some changes to places that were calling CheckedUnwrap directly
to use either the static or dynamic version, as needed.

Differential Revision: https://phabricator.services.mozilla.com/D17883

--HG--
extra : moz-landing-system : lando
2019-02-02 03:23:49 +00:00
.cargo Bug 1504507 - Update serde branch for changes in WR PR #3264. r=kats 2018-11-05 13:14:07 +00:00
.vscode Bug 1514820 - Recommend a VSCode extension for IDL language highlighting r=jya 2018-12-18 19:43:33 +00:00
accessible Bug 1523931 - Always create accessibles for div elements if they contain a br element, r=Jamie 2019-01-31 06:58:49 +00:00
browser Backed out changeset b7597732606e (bug 1501623)for failing at browser_autocomplete_edit_completed.js on a CLOSED TREE. 2019-02-02 02:43:33 +02:00
build Bug 1515004 - Move --with-android-sdk to moz.configure. r=nalexander 2019-02-01 21:12:51 +00:00
caps Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8 2019-01-30 17:26:25 +00:00
chrome Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8 2019-01-30 17:26:25 +00:00
config bug 1506848 - switch Windows debug flags from -Zi to -Z7. r=nalexander 2019-02-01 11:12:06 +00:00
db Bug 1523851 - Remove system sqlite compile option tests. r=mak 2019-01-31 09:58:29 +00:00
devtools Bug 1521440: Add a test for hostType into browser_toolbox_target. r=ochameau 2019-02-01 09:31:50 +00:00
docshell Bug 1524188 - Avoid array mutation when cleaning browsing contexts. r=nika 2019-02-01 08:33:26 +00:00
dom Bug 1521907 part 3. Start using CheckedUnwrapStatic/Dynamic in bindings. r=peterv 2019-02-02 03:23:49 +00:00
editor Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8 2019-01-30 17:26:25 +00:00
embedding Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-01-24 08:11:00 +00:00
extensions Bug 1523618 - add words to en-US dictionary. r=ehsan 2019-01-30 12:34:44 +07:00
gfx Bug 1523882 - Rework snapping logic in clip mask generate to fix uneven box shadows. r=kvark,nical 2019-02-01 23:24:53 +00:00
gradle/wrapper Bug 1509572 - Part 1: Bump Gradle wrapper to 4.10.2; decouple script from Gradle version. r=snorp 2018-11-26 21:42:27 +00:00
hal Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl 2019-01-21 18:18:16 +01:00
image Bug 1524313 - ImageCacheKey should use the right method to check if a window is 3rd party, r=Ehsan 2019-01-31 17:51:58 +00:00
intl Bug 1522066 - Disable unused ICU code during build. r=froydnj,m_kato 2019-01-31 12:22:10 +00:00
ipc Bug 1524129 - don't allow accidentally passing actors via the wrong managing actor in IPDL messages; r=nika 2019-02-01 22:06:59 +00:00
js Bug 1521907 part 3. Start using CheckedUnwrapStatic/Dynamic in bindings. r=peterv 2019-02-02 03:23:49 +00:00
layout Bug 1524214 - Grab caching capturing content with local variable r=smaug 2019-02-01 20:44:28 +00:00
media Backed out 2 changesets (bug 1515641) for Linux static-analysis bustage on a CLOSED TREE. 2019-02-02 00:55:11 +02:00
memory Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8 2019-01-30 17:26:25 +00:00
mfbt Bug 1523949 - part 1 - make MOZ_THREAD_LOCAL name lookups work anywhere; r=erahm 2019-01-30 17:26:27 -05:00
mobile Bug 1515004 - Move --with-android-sdk to moz.configure. r=nalexander 2019-02-01 21:12:51 +00:00
modules Bug 1524282 - Disable fingerprinting/cryptomining blocking on Nightly while the UI bits aren't ready yet; r=baku 2019-01-31 21:42:19 +00:00
mozglue Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
netwerk No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings tld-suffixes - a=repo-update r=RyanVM 2019-01-31 13:34:21 +00:00
nsprpub Bug 1477680, NSPR 4.20 RTM, no code change, only version number, r=me 2018-08-28 16:21:01 +02:00
other-licenses Bug 1523118 atk: Implement scrollsubstringto ATK API. r=surkov 2019-01-26 20:38:53 +01:00
parser Merge mozilla-inbound to mozilla-central. a=merge 2019-01-30 23:54:54 +02:00
python Bug 1523341 - Allow to only pass the CPU to --target and get the right thing for Fennec builds. r=nalexander 2019-01-31 18:08:44 +00:00
security bug 1514118 - have CertVerifier use any third-party roots rather than going through NSS r=jcj 2019-02-01 22:01:00 +00:00
services No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings tld-suffixes - a=repo-update r=RyanVM 2019-01-31 13:34:21 +00:00
servo Bug 1523712 - Make -moz-binding chrome / UA only. r=boris 2019-01-30 20:55:54 +00:00
startupcache Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
storage Bug 1523851 - Remove system sqlite compile option tests. r=mak 2019-01-31 09:58:29 +00:00
taskcluster Bug 1524580 - Turn on the remaining WPT jobs on windows-qr. r=jmaher 2019-02-01 18:05:34 +00:00
testing Bug 1523285 - Don't clip outlines of a button input and such. r=bzbarsky 2019-02-01 22:15:34 +00:00
third_party Backed out 4 changesets (bug 1508381) for multiple Windows build bustages CLOSED TREE 2019-01-31 23:14:11 +02:00
toolkit Backed out 7 changesets (bug 1521907) for failing at unit/test_bug1151385.js on a CLOSED TREE. 2019-02-02 00:58:16 +02:00
tools Bug 1519353 - Import minidump_stackwalk changes from https://hg.mozilla.org/users/tmielczarek_mozilla.com/stackwalk-http. r=ted 2019-02-01 22:03:55 +00:00
uriloader Bug 1522210 - Fingerprinting and cryptomining classifiers must have separate nsIWebProgressListener blocking state codes - part 7 - cryptomining, r=ehsan,johannh 2019-01-30 14:01:51 +01:00
view Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug 2019-01-03 17:48:33 +01:00
widget Bug 1523692 - Set the prefers-reduce-motion value for test to the instance of nsLookAndFeel in child processes. r=snorp 2019-02-01 22:07:26 +00:00
xpcom Bug 1521907 part 3. Start using CheckedUnwrapStatic/Dynamic in bindings. r=peterv 2019-02-02 03:23:49 +00:00
xpfe/appshell Backed out 16 changesets (bug 1478124) for failing android geckoview-junit CLOSED TREE 2019-01-29 10:03:06 +02:00
.arcconfig
.clang-format Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
.clang-format-ignore Bug 1508115 - Web Authentication - Support Windows Hello r=keeler,jcj,baku 2019-01-21 01:10:44 +00:00
.cron.yml Bug 1514087: [taskgraph] Add an option to not optimize target tasks in cron graphs; r=dustin 2018-12-26 14:43:34 +00:00
.eslintignore Bug 1508985 - Enable ESLint for dom/tests/browser (manual changes) r=Standard8,qdot 2019-01-22 21:26:02 +00:00
.eslintrc.js Bug 1515942 - Enable ESLint for gfx/ (manual fixes). r=kats 2018-12-27 09:45:01 +00:00
.flake8 Bug 1519307 - Add a new project to build useful parts of breakpad independently. r=froydnj 2019-01-11 16:01:15 +00:00
.gdbinit Bug 1486903 - Add "ftl" command to dump frame subtree to .gdbinit. r=Ehsan 2018-08-28 20:20:21 +00:00
.gdbinit_python
.git-blame-ignore-revs Merge mozilla-inbound to mozilla-central. a=merge 2019-01-22 05:56:10 +02:00
.gitignore Bug 1513450 - Do not ignore .rej/.orig files. r=firefox-build-system-reviewers,nalexander 2018-12-17 21:41:01 +00:00
.hg-annotate-ignore-revs Bug 1508324 - Generate list of past changesets to be skipped for blame. r=me NPOTB DONTBUILD 2018-12-27 18:08:25 -02:00
.hg-format-source Bug 1511181 - Quick fix for .hg-format-source that has an empty line. r=ehsan, a=aryx 2018-11-30 13:25:44 +02:00
.hgignore Bug 1513450 - Do not ignore .rej/.orig files. r=firefox-build-system-reviewers,nalexander 2018-12-17 21:41:01 +00:00
.hgtags No bug - Tagging mozilla-central 5d9c5aa981a5b824e6132c923c2f201b3fa49397 with FIREFOX_NIGHTLY_66_END a=release DONTBUILD CLOSED TREE 2019-01-28 04:56:31 -08:00
.lldbinit
.mailmap
.taskcluster.yml Bug 1521264 - add clientId to action context + description. r=dustin 2019-01-29 20:46:13 +00:00
.trackerignore Bug 1486468 - Add .trackerignore file to avoid GNOME Tracker indexing mozilla-central files. r=ahal 2018-08-27 16:45:03 +02:00
.yamllint
.ycm_extra_conf.py Bug 1522135 - Make .ycm_extra_conf.py work with python3. r=jgraham 2019-01-24 13:51:28 +01:00
aclocal.m4 Bug 1519603 - Manually inline AC_OUTPUT_SUBDIRS and MOZ_RUN_ALL_SUBCONFIGURES. r=nalexander 2019-01-14 18:37:06 +00:00
AUTHORS Bug 1481409 - Use HTTPS protocol for Mozilla's Credits link in AUTHORS file r=mossop 2018-08-13 16:39:30 +00:00
build.gradle Bug 1503455 - Part 4: Compile with SDK28. r=nalexander,snorp 2019-01-28 18:32:11 +00:00
Cargo.lock Bug 1495062 - [geckodriver] Release 0.24.0. r=ato 2019-01-28 15:20:03 +00:00
Cargo.toml Bug 1507524 - Move webrender to gfx/wr. r=jrmuizel 2018-11-22 21:47:48 +00:00
client.mk Bug 1498031 - Merge code paths for running configure between Tup and Make based backends. r=firefox-build-system-reviewers,mshal 2018-10-16 22:21:36 +00:00
client.py
CLOBBER Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-12-10 07:58:12 -08:00
configure.in
configure.py Bug 1520394 - Don't invoke js subconfigure as a separate process. r=nalexander 2019-01-16 23:42:12 +00:00
GNUmakefile
gradle.properties
gradlew
LEGAL
LICENSE
mach
Makefile.in Bug 1507334 - Remove '10' argument to profileserver.py; r=firefox-build-system-reviewers,chmanchester#firefox-build-system-reviewers 2019-01-10 01:34:39 +00:00
moz.build Bug 1507334 - Add mozconfigs for 3-stage PGO; r=firefox-build-system-reviewers,chmanchester#firefox-build-system-reviewers 2019-01-10 01:34:49 +00:00
moz.configure Backed out 6 changesets (bug 1516228) for causing bug 1523056. a=backout 2019-01-26 21:12:33 +02:00
mozilla-config.h.in Bug 1504022 - Map GetExceptionCode to a nop to avoid an error r=bobowen 2018-11-02 13:28:01 -05:00
old-configure.in Bug 1515004 - Move --with-android-sdk to moz.configure. r=nalexander 2019-02-01 21:12:51 +00:00
package-lock.json Bug 1517707. Update ESLint related modules to latest versions. r=mossop 2019-01-04 16:44:49 +00:00
package.json Bug 1517707. Update ESLint related modules to latest versions. r=mossop 2019-01-04 16:44:49 +00:00
README.txt Bug 1480997 - Remove "Mozilla FTP server" link in README.txt r=mossop 2018-10-23 10:06:29 +00:00
settings.gradle
test.mozbuild

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.]

Nightly development builds can be downloaded from:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://www.mozilla.org/firefox/channel/desktop/#nightly

Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy.