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
Перейти к файлу
James Teh aebc388fb6 Bug 1416986 part 2: Include interfaces the client is likely to request in the accessible handler payload. r=aklotz
Now that virtual buffers have to render across processes, we want to eliminate as many cross-process calls as possible.
This includes QueryInterface calls, since buffers query for several interfaces on every node they visit.
To avoid these cross-process QI calls, we include interfaces clients are likely to request in the handler payload.
This way, they get marshaled in the single call used to retrieve the object.

This patch does the following:

1. Passes the interceptor when building the payload.
We need this so we can get interceptors for other interfaces.

2. Splits the payload into two main parts: a static part and a dynamic part.
The (new) static part contains the interface pointers. The dynamic part contains the rest.
This is necessary because the refresh call cannot pass the interceptor, but the interceptor is needed to build the static part.
Also, re-building the static part is pointless when refreshing.

3. Includes the interface pointers in the payload (BuildStaticIA2Data).
The pointers also have to be cleaned up after marshaling.

4. Releases the interface pointers in the handler after the payload is received.
We do this because they're aggregated by the proxy manager as they're unmarshaled.

MozReview-Commit-ID: 6VRLMNScgwW

--HG--
extra : rebase_source : 249589643b7a69e870962ea55a44849bf03a2693
2017-11-15 12:18:18 +10:00
.cargo
.vscode
accessible Bug 1416986 part 2: Include interfaces the client is likely to request in the accessible handler payload. r=aklotz 2017-11-15 12:18:18 +10:00
browser Bug 1395453 - add tooltips to the sync engine names in about:preferences. r=eoger 2017-09-15 13:29:37 -07:00
build Bug 1389341 - add basic support for sphinx-js to mach doc r=gps 2017-09-14 13:17:09 -07:00
caps Bug 1414755 - Get rid of ContentPrincipalInfoOriginNoSuffix, r=bz, r=bkelly 2017-11-15 11:19:26 +01:00
chrome Bug 1367704 - Enable the semi ESLint rule across the tree. r=standard8 2017-05-28 19:57:46 +01:00
config Bug 1417958 - Normalize lib paths to appease VS2017's incremental linking. r=nalexander 2017-11-17 09:15:00 -05:00
db Bug 1411417 - Upgrade to SQLite 3.21.0. r=mak 2017-11-15 18:40:32 -05:00
devtools Bug 1408182 - Replace ImmutableJS by plain JS code; r=rickychien 2017-10-11 17:35:09 +02:00
docshell Bug 1418438 - Avoid null deref in nsIDocShell's forcedCharset. r=emk 2017-11-17 21:28:50 +01:00
dom Bug 1418879 - Refine dom/vr and gfx/vr to fit with static-analysis; r=kip 2017-11-20 12:00:31 +08:00
editor Bug 1417492 - HTMLEditRules::TryToJoinBlocks() should no do nothing when left list node and right list node are not descendant of each other r=m_kato 2017-11-18 16:12:44 +09:00
embedding
extensions Backed out changeset d91108089272 (bug 1407374) 2017-11-17 17:56:09 +02:00
gfx Bug 1418869 - Do not try to share the fallback images. r=aosmond 2017-11-20 10:36:14 +08:00
gradle/wrapper Bug 1366644 - Part 3a: Update Android build-tools (25.0.3), Gradle (3.4.1), Android-Gradle (2.3.3). r=maliu 2017-10-16 15:09:15 -07:00
hal Bug 1412048 - Replace NS_RUNTIMEABORT("...") with MOZ_CRASH("..."). r=froydnj 2017-10-24 23:30:31 -07:00
image Bug 1366097 - Part 8. Improve image memory reports to include SVG context information. r=tnikkel 2017-11-17 14:08:52 -05:00
intl Bug 1415896 - Update plural rule #3 (lv, ltg) for numbers ending in 0 r=Pike 2017-11-17 11:13:47 +05:30
ipc Bug 1416986 part 1: Allow an mscom Handler to signal that it knows an interface is definitely not available. r=aklotz 2017-11-15 09:59:44 +10:00
js Bug 1418398 - Always un-define _FORTIFY_SOURCE before defining it; r=glandium 2017-11-20 14:41:35 +01:00
layout Bug 1418905 - Move nsRuleNode::ComputeCoordPercentCalc() into nsStyleCoord. r=heycam 2017-11-20 14:05:19 +08:00
media Bug 1418871 - release RWLock before return if CreateCapabilityMap failed. r=jib 2017-11-20 15:04:42 +08:00
memory Bug 1419217 - Change comparison functions for red-black trees. r=njn 2017-11-21 09:11:54 +09:00
mfbt Bug 1417135 - Mark user-defined default constructor for ThreadLocalKeyStorage as constexpr. r=glandium 2017-11-15 01:33:00 -05:00
mobile Bug 1416310 - 5. Remove GeckoLayerClient.java and update generated bindings; r=jchen 2017-11-20 17:17:02 -05:00
modules Bug 1360278 - Add preference to trigger context menu on mouse up for GTK+ and macOS, r=mstange,smaug 2017-11-16 13:35:58 +01:00
mozglue Bug 1411712 - Move symbol version script flags for arm in mozglue to moz.build. r=mshal 2017-11-02 11:47:48 -07:00
netwerk Bug 1417448 - Better use of monitors in NS_ReadInputStreamToBuffer, r=smaug 2017-11-20 15:18:26 +01:00
nsprpub
other-licenses Bug 1413568 - Update installer icons. r=mconley 2017-11-02 08:34:22 -07:00
parser Bug 1416980 - Remove nsIExtendedExpatSink. r=erahm. 2017-11-14 17:22:49 +11:00
python Merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE 2017-11-21 00:24:13 +02:00
rdf Bug 1416164 - Replace NS_NOTYETIMPLEMENTED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2017-10-25 00:37:02 -07:00
security No bug, Automated HPKP preload list update from host bld-linux64-spot-034 - a=hpkp-update 2017-11-20 11:37:26 -08:00
services Bug 1416320 - Do a quick sync before going to sleep. r=markh 2017-11-10 14:09:44 -05:00
servo servo: Merge #19310 - Update clap to 2.27.1 (from servo:bumps); r=KiChjang 2017-11-20 22:04:35 -06:00
startupcache Bug 1408017 - Clear gStartupCacheWrapper in the dtor. r=froydnj 2017-10-26 16:47:27 -04:00
storage Bug 1413501 - Fix for SpinningSynchronousClose unregisterConnection edge-case. r=mak 2017-11-08 10:11:27 -08:00
taskcluster Bug 1419269 - Support installing mercurial on Debian versions != 9. r=gps 2017-11-21 14:11:14 +09:00
testing Merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE 2017-11-21 00:24:13 +02:00
third_party No bug - Revendor rust dependencies 2017-11-16 05:54:20 +00:00
toolkit Bug 1389341 - start generating jsdoc for AddonManager API r=kmag 2017-09-14 13:18:11 -07:00
tools Bug 1389341 - start generating jsdoc for AddonManager API r=kmag 2017-09-14 13:18:11 -07:00
uriloader Bug 1389836 - Don't recreate mHandlerInfo for every little change. r=bz 2017-11-14 15:37:47 -08:00
view Bug 1414666 part 1 - Add nsIFrame::PresShell() for convenient access to the shell. r=emilio 2017-11-09 03:00:48 +01:00
widget Bug 1416310 - 5. Remove GeckoLayerClient.java and update generated bindings; r=jchen 2017-11-20 17:17:02 -05:00
xpcom Merge inbound to mozilla-central r=merge a=merge 2017-11-18 00:01:46 +02:00
xpfe Bug 1414974 - Part 3: Move Get{Inner,Outer}WindowWithId onto the specific subclasses, r=smaug 2017-11-09 10:44:47 -05: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 Backed out changeset 31f259ee387b (bug 1411004) for failing flake8 at tools/mach_commands.py:307:14 | indentation is not a multiple of four. r=backout 2017-10-31 16:20:11 +01:00
.clang-tidy
.cron.yml No Bug - Move periodic file update start time earlier, to reflect when buildbot used to run. r=me 2017-10-20 11:17:50 -04:00
.eslintignore Bug 1417749 - Create a currency-amount Custom Element. r=marcosc 2017-11-16 21:58:29 -08:00
.eslintrc.js Bug 1371293 - Upgrade ESLint to version 4.8.0, configuration changes. r=mossop 2017-10-09 10:54:16 +01:00
.flake8
.gdbinit
.gdbinit_python
.gitignore Bug 1412930 - Package localized prerendered files. r=k88hudson 2017-10-30 13:13:35 -07:00
.hgignore Bug 1410341 - add toolchains.json to .hgignore;r=jmaher 2017-10-20 10:53:20 +02:00
.hgtags No bug - Tagging mozilla-central 1f91961bb79ad06fd4caef9e5dfd546afd5bf42c with FIREFOX_NIGHTLY_58_END. a=release DONTBUILD CLOSED TREE 2017-11-12 21:12:59 -05:00
.inferconfig
.lldbinit
.taskcluster.yml Bug 1409577 - Add static indexes to decision task r=dustin 2017-10-18 11:55:01 -04:00
.yamllint
.ycm_extra_conf.py
AUTHORS
CLOBBER Bug 1405993 - Part 7: Updating ICU requires a clobber. r=clobber 2017-11-14 03:11:25 -08:00
GNUmakefile
LEGAL
LICENSE
Makefile.in Bug 1412932 - Switch to PGO build in Makefile.in; r=ted 2017-11-07 16:38:39 -08:00
README.txt
aclocal.m4
build.gradle (bug 1411688) Make --with-gradle handle single-locale repack r=snorp a=reland 2017-11-06 15:23:47 +02:00
client.mk Bug 1417264 - Write .mozconfig.json from Python; r=nalexander 2017-11-13 17:45:03 -08:00
client.py
configure.in
configure.py Bug 1412460 - Don't write make variables in configure.d; r=mshal 2017-11-01 15:02:11 -07:00
gradle.properties Bug 1366644 - Pre: Bump Gradle JVM heap to allow in-process dex. r=maliu 2017-07-18 17:59:57 -07:00
gradlew
mach
moz.build Bug 1417309 - Add the necessary bits to support a --enable-project=memory option. r=nalexander 2017-11-16 08:37:36 +09:00
moz.configure Bug 1325632 - part 5 - ensure that we compile with -fno-sized-deallocation when possible; r=chmanchester 2017-11-15 14:53:16 -04:00
mozilla-config.h.in
npm-shrinkwrap.json Bug 1371293 - Upgrade ESLint to version 4.8.0, configuration changes. r=mossop 2017-10-09 10:54:16 +01:00
old-configure.in Bug 1418398 - Always un-define _FORTIFY_SOURCE before defining it; r=glandium 2017-11-20 14:41:35 +01:00
package.json Bug 1371293 - Upgrade ESLint to version 4.8.0, configuration changes. r=mossop 2017-10-09 10:54:16 +01:00
settings.gradle Bug 1360587 - Part 2. Remove bouncer apk build config; source; docs, r=nalexander 2017-10-25 22:51:44 +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://nightly.mozilla.org/