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
Перейти к файлу
Jason Orendorff adc7298478 Bug 1445854 - Part 1: Make GenericCreatePrototype use protoClass_. r=jwalden
Originally, long ago, the builtin prototype object of a class was always an
actual instance of that class. For many of the oldest classes, this is still
true. Array.isArray(Array.prototype) is true; Function.prototype is callable;
and so on.

As it turns out, this is a bad idea. Prototypes are a lot like uninitialized
objects; thus it was a common bug to have code like

    if (!obj->is<WidgetObject>()) {  // safety check
        return ThrowTypeError(cx, ...);
    }
    obj->as<WidgetObject>().getWidgetPrivateData()->doThings();  // BUG

This would crash when obj happened to be Widget.prototype, because that would
sneak past the safety check, and then `getWidgetPrivateData()` would typically
return null. Extra checks everywhere. The solution is for each builtin class to
have a class_ (for instances) and a protoClass_ (for the prototype object) that
share a single ClassSpec (for the benefit of the X-ray wrapper machinery).

(This problem was a pain for the spec, too. The standard committee has stopped
making prototype objects special in this way. The newer ones are just plain
objects with no internal slots, and where possible, old stuff like
Date.prototype was retroactively changed.)

GenericCreatePrototype never got the memo. This patch fixes it.

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

--HG--
extra : moz-landing-system : lando
2018-10-06 12:22:35 +00:00
.cargo Bug 1468950 - Update serde_derive patch for changes in WR PR 2819. r=Gankro 2018-06-21 08:15:40 -04:00
.vscode Bug 1493017 - Tweak vscode tasks.json problemMatcher regexes to handle clang/Windows output - r=jya 2018-09-21 10:00:59 +00:00
accessible Merge inbound to mozilla-central. a=merge 2018-10-04 18:48:04 +03:00
browser Bug 1476220 - Show a "site information" header in the identity popup. r=paolo 2018-10-09 13:47:13 +00:00
build Bug 1496903 - Fix the typos found by codespell 1.14 r=ahal 2018-10-09 14:31:39 +00:00
caps Bug 1491728 - Fix ContentPrincipal::GetSiteOrigin to handle IPv6 addresses correctly. r=bzbarsky 2018-10-01 12:16:39 +00:00
chrome Bug 1491394 - Update callsites to use new mozILocaleService API. r=jfkthame 2018-09-21 15:30:37 +00:00
config Backed out 3 changesets (bug 1414287) for causing bug 1497029 a=backout 2018-10-09 05:07:54 +03:00
db Bug 1491671 - Upgrade to SQLite 3.25.1. r=mak 2018-09-19 13:28:02 +00:00
devtools Bug 1496741 - Cleanup adb-addon.js module;r=ladybenko 2018-10-09 07:07:56 +00:00
docshell Bug 1290420 Part 4: Make the PresShell create a MobileViewportManager on demand. r=botond,smaug 2018-10-04 03:28:40 +00:00
dom Bug 1493779 - Gracefuly handle OOM when setting a buffer on ConvolverNode. r=karlt 2018-10-09 13:19:20 +00:00
editor Backed out changeset 82b600b76a38 (bug 1473927)for marionette failures on test_element_state_chrome.py CLOSED TREE 2018-10-08 23:34:50 +03:00
embedding Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian 2018-01-29 15:20:18 -08:00
extensions Bug 1494127 - Fix trivial calls to do_QueryInterface that return an nsresult r=smaug 2018-10-01 21:38:43 +00:00
gfx Backed out 5 changesets (bug 1496486) for build bustages on gfxUserFontSet.h. CLOSED TREE 2018-10-09 16:58:38 +03:00
gradle/wrapper Bug 1476165 - Part 2: Update Android Gradle plugin to version 3.1.0. r=nalexander,snorp 2018-07-17 13:20:19 +01:00
hal Bug 1488401 - Remove the remnants of the DiskSpaceWatcher r=asuth,janv,smaug 2018-09-13 06:40:51 +00:00
image Bug 1495851. Comment why StopObserving is called in SVGRenderingObserver base class dtors. r=longsonr 2018-09-25 10:40:12 +01:00
intl Bug 1484644 Whitelist title and tooltiptext for XUL r=zbraniecki 2018-10-03 17:47:45 +00:00
ipc Bug 1496003 - Add sync ipc WebRenderBridgeChild::SendEnsureConnected() r=mattwoodrow,froydnj 2018-10-05 16:35:29 +09:00
js Bug 1445854 - Part 1: Make GenericCreatePrototype use protoClass_. r=jwalden 2018-10-06 12:22:35 +00:00
layout Bug 1490789 - Apply shift when calculating old area of invalidated frame r=miko 2018-10-09 12:47:45 +00:00
media Bug 1493689 - Defer close of old stream after ICE restart. r=mjf 2018-10-04 21:30:22 -04:00
memory Bug 1409739 - Part 1: Accept SmokeDMD when filtering test DMD stacks. r=njn 2018-10-01 16:38:17 -07:00
mfbt Bug 1494207 - Add MOZ_CRASH_WRITE_ADDR to avoid ILL with UBSan. r=nfroyd 2018-10-04 14:52:16 -07:00
mobile Bug 1421174 - Remove old AddToHomeScreenPromotion; r=jchen 2018-10-08 05:42:14 +00:00
modules Bug 1496671 - Final pref changes for Content Blocking in Firefox 63. r=Gijs,baku 2018-10-09 13:26:24 +00:00
mozglue Bug 1496173 - More aarch64 interceptor fixups. r=mhowell 2018-10-03 17:01:05 -04:00
netwerk Bug 1494133 - know how many localhosts suspended by e10s back pressure r=valentin 2018-10-05 21:40:23 +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 1465212 - Fix command line parameter checking in ExecInExplorer plugin. r=agashlin 2018-10-02 09:23:29 -07:00
parser Bug 1415980 - make hash keys movable and not copyable; r=erahm 2018-09-20 11:20:36 -04:00
python Merge inbound to mozilla-central. a=merge 2018-10-09 07:03:30 +03:00
security Merge inbound to mozilla-central. a=merge 2018-10-09 07:03:30 +03:00
services Bug 1497159 - Use Megaphone payload for cache busting r=glasserc 2018-10-09 14:05:01 +00:00
servo Backed out 5 changesets (bug 1496486) for build bustages on gfxUserFontSet.h. CLOSED TREE 2018-10-09 16:58:38 +03:00
startupcache Bug 1493737 - Fix many trivial calls to do_QueryInterface r=smaug 2018-10-01 21:38:01 +00:00
storage Bug 1496588: Avoid a UB in mozStorageService.cpp. r=froydnj 2018-10-05 16:23:40 -04:00
taskcluster Backed out 5 changesets (bug 1496486) for build bustages on gfxUserFontSet.h. CLOSED TREE 2018-10-09 16:58:38 +03:00
testing Bug 1476220 - Show a "site information" header in the identity popup. r=paolo 2018-10-09 13:47:13 +00:00
third_party Bug 1490253 - Vendor pip-tools 3.0.0 and dependencies; r=ahal 2018-10-05 18:46:07 +00:00
toolkit Bug 1496903 - Fix the typos found by codespell 1.14 r=ahal 2018-10-09 14:31:39 +00:00
tools Bug 1496903 - Update codespell to 1.14 r=ahal 2018-10-09 14:31:05 +00:00
uriloader Bug 1495912- Remove more trivial calls to do_QueryInterface r=smaug 2018-10-03 19:52:01 +00:00
view Backed out changeset 3bc82182725e (bug 1493081) for android bustages. CLOSED TREE 2018-10-09 15:18:51 +03:00
widget Backed out changeset 3bc82182725e (bug 1493081) for android bustages. CLOSED TREE 2018-10-09 15:18:51 +03:00
xpcom Bug 1497408 - Make NS_MACPREFERENCESREADER_CID unique r=spohl 2018-10-09 05:47:40 +00:00
xpfe/appshell Bug 1493737 - Fix many trivial calls to do_QueryInterface r=smaug 2018-10-01 21:38:01 +00:00
.arcconfig Bug 1460463 - Update .arcconfig to make history mutable; r=gps 2018-05-09 23:49:52 +00:00
.clang-format Bug 1414764 - Remove Mozilla specific options to avoid build warnings with gcc and -Wcomment enabled. r=sylvestre 2017-11-06 11:47:40 +02:00
.clang-format-ignore Bug 1489449 - Add prio and other thirdparty libs to the list of thirdparty code r=janx 2018-09-07 12:08:25 +00:00
.cron.yml Bug 1493071 Rename bouncer_check cron task r=mtabara 2018-09-24 16:01:45 +00:00
.eslintignore Bug 1493967 - Add devtools webconsole's automatically generated stub files to the ESLint ignore list. r=nchevobbe 2018-09-25 14:16:52 +00:00
.eslintrc.js Bug 1486739 - Enable ESLint rule comma-dangle for browser/, services/, taskcluster/ and toolkit/ directories. r=mossop 2018-08-31 06:06:08 +00:00
.flake8 Backed out changeset aae4f349fa58 (bug 1479503) per developer's request on IRC a=backout 2018-09-14 16:35:23 +03: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 Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
.gitignore Bug 1484708 - Update .gitignore rules and add js/src/obj-*. r=ted.mielczarek 2018-08-20 09:03:00 +03:00
.hgignore Backed out changeset aae4f349fa58 (bug 1479503) per developer's request on IRC a=backout 2018-09-14 16:35:23 +03:00
.hgtags No bug - Tagging mozilla-central 034c5ef24e98b0ce85fa849face079f568eb397c with FIREFOX_NIGHTLY_63_END a=release DONTBUILD CLOSED TREE 2018-09-04 11:10:28 -07:00
.lldbinit Bug 1481555: Use lldb's python API to summarise nsAtoms. r=froydnj 2018-08-08 15:11:22 +00:00
.mailmap NO BUG - Use ato's new address. r=me 2018-02-26 15:59:29 +00:00
.taskcluster.yml Bug 1490515: add "on-completed" notify route to try push decision tasks r=tomprince 2018-09-24 13:46:55 +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 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 1481409 - Use HTTPS protocol for Mozilla's Credits link in AUTHORS file r=mossop 2018-08-13 16:39:30 +00:00
CLOBBER Bug 1397263 - touch CLOBBER as suggested by mshal; r=me a=CLOBBER 2018-10-04 10:24:37 -04:00
Cargo.lock Bug 1494386 - Uplift u2f-hid-rs 0.2.2, Windows aarch64 fix r=keeler 2018-10-05 00:05:04 +00:00
Cargo.toml Bug 1490948: Add build system support for a Rust library in Spidermonkey; r=chmanchester 2018-09-25 15:56:56 +02:00
GNUmakefile
LEGAL
LICENSE
Makefile.in bug 1490325 - write sccache log directly to artifact directory, make logs slightly more verbose. r=mshal 2018-09-18 20:02:17 +00:00
Pipfile Bug 1490253 - Vendor pip-tools 3.0.0 and dependencies; r=ahal 2018-10-05 18:46:07 +00:00
Pipfile.lock Bug 1490253 - Vendor pip-tools 3.0.0 and dependencies; r=ahal 2018-10-05 18:46:07 +00:00
README.txt Bug 1460030 - Update the nightly URL in the README.txt file r=kohei 2018-05-08 21:22:10 +02:00
aclocal.m4
build.gradle Bug 1485439 - Upgrade to Java 8. r=nalexander,jchen 2018-08-22 21:15:42 +02:00
client.mk Bug 1496136 - Recommend mach instead of client.mk; r=firefox-build-system-reviewers,nalexander 2018-10-03 17:07:09 +00:00
client.py Bug 1399100 - fix client.py follow-up, r=kaie 2017-09-20 09:13:14 +02:00
configure.in
configure.py Bug 1461836 - Write out complete configure dependencies from configure for consumption by make and non-make backends. r=mshal 2018-05-21 14:01:50 -07:00
gradle.properties Bug 1453413 - Use aapt2 to build Firefox for Android. r=mcomella 2018-04-11 09:59:22 -07:00
gradlew
mach
moz.build Bug 1346026 - Vendor pipenv 2018.5.18 and transient dependencies; r=ahal 2018-05-17 19:06:20 +01:00
moz.configure Bug 1496198 - Simplify --enable-rust-debug handling r=froydnj 2018-10-04 13:39:24 +00:00
mozilla-config.h.in Bug 1463637: Remove mozilla-config.h hacks for Hunspell extra includes. r=ted 2018-05-22 20:36:39 -07:00
old-configure.in Bug 1397263 - move --enable-accessibility to moz.configure; r=mshal 2018-10-03 20:29:29 -04:00
package-lock.json Bug 1495397 - Update mozilla-central's package.json for being more generic, and move existing ESLint modules to dev dependencies. r=firefox-build-system-reviewers,nalexander 2018-10-01 17:28:45 +00:00
package.json Bug 1495397 - Update mozilla-central's package.json for being more generic, and move existing ESLint modules to dev dependencies. r=firefox-build-system-reviewers,nalexander 2018-10-01 17:28:45 +00:00
settings.gradle Bug 1444546 - Part 2: Build annotationProcessors with Gradle. r=jchen 2018-02-22 16:11:14 -08: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://www.mozilla.org/firefox/channel/desktop/#nightly