A lot of time is spent during the final big XPT link determining what
the index is for each interface. Changing this to use a map
eliminates about 2/3 of the running time. This patch reduces the run
time to a little under a second on my local OSX machine.
MozReview-Commit-ID: CH4OYXtT19q
--HG--
extra : rebase_source : 6d6f755c57dcbf20112768583948f851b8bf34bf
Switch the order of the IPC FD argument and the crash FD argument in
e10s calls, because the IPC FD is the primary FD, and the crash FD
should be grouped with the crash annotation FD.
MozReview-Commit-ID: CAVyYAIIBPm
--HG--
extra : rebase_source : 596f590443f727d1a79582202eed122f79ae85cf
Set process count to 1 because we only support one child process right
now.
MozReview-Commit-ID: HJAWvN4aqSX
--HG--
extra : rebase_source : 53e997b69b4b11fc3673a546ba0ad276e772d570
Pass the extras bundle from the main process to the child process
through IChildProcess.start, instead of through the Intent, which is not
guaranteed to work because intent extras are not guaranteed to be passed
to Service.onBind.
MozReview-Commit-ID: I2EToBNE2Y6
--HG--
extra : rebase_source : 48df1d42d75db9cf5e562d7ee294c938ea765699
Use extras bundle (e.g. from an Intent) to initialize Gecko in GeckoApp
and GeckoService.
MozReview-Commit-ID: AmLZ8Uir8f4
--HG--
extra : rebase_source : 89b93e482eb4cd90760fd22f7702b6c1fa71ec10
Use extras bundle to initialize Gecko in GeckoSession and
GeckoViewActivity.
MozReview-Commit-ID: 7dtaziVBDcg
--HG--
extra : rebase_source : aff22f8bf60ffea43a615b9ea7f7ffa2b32291fb
Introduce an extras bundle in GeckoThread, which we use to store things
such as extra main process arguments and child process FDs. Also use the
extras bundle to store environment variables to be passed to
GeckoLoader.
MozReview-Commit-ID: tRlBaAXxVa
--HG--
extra : rebase_source : 95ed7b3a3f5ec046f157047f3c098e2aec2c249f
GeckoLoader.setLastIntent is not a very good API for setting environment
variables and is often forgotten. Replace it with an extras bundle that
is passed to setupGeckoEnvironment.
MozReview-Commit-ID: IFhHjLdwFC5
--HG--
extra : rebase_source : 89fbffe4e0c5022858c47cc013d7aee28feb8086
We would like to remove this functionality from WebRender, so convert
its use to clip scroll nodes. This change also removes the redundant
BlocBlockStackingContextType in favor of Option<StackingContextType>,
which is just as expressive. This simplifies the code a bit.
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 26d2e77410f8fbc308f63282f435fbc8788c9bcc
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 57683d5fd5d1ac4fc01a266fd1288f808e52a8a2
Web-visible WebIDL interfaces require DOM peer review with every change, which
is enforced by a commit hook. ChromeOnly interfaces are not exposed to the
web, and therefore don't require the same strictures.
The current commit hook enforces the review requirement for changes to any
(non-Servo) WebIDL file, and is not smart enough to determine if the change is
web-visible. In order to loosen that restriction, we need the build system to
enforce the requirement that only WebIDL files in certain locations may
contain web-visible interfaces, so that the commit hook can restrict itself to
checking only those directories.
This change restricts the location of web-visible WebIDL interfaces to the
dom/webidl/ and dom/bindings/ roots (along with the corresponding objdir root
for generated interfaces). A follow-up will change the commit hook to only
enforce review requirements on these directories.
MozReview-Commit-ID: CiDxXxN4oO4
--HG--
extra : source : 6cb20ada1a0aa1f6d621ba3c85ce9946a6f9841f
extra : histedit_source : 1f02888264a936db3e77134c0a7203e911707312%2C6ea38c077b8a7dfaf358bc819d150a20db9bd6b7
The patch also uses GetStringBuffer() in a couple of appropriate places.
MozReview-Commit-ID: JufCUgmO8JL
--HG--
extra : rebase_source : ecd3f17b5560b19622c86759d605fa122d70e48a
The refcount is only used for dynamic atoms.
On 64-bit, this reduces sizeof(nsStaticAtom) from 24 bytes to 16 bytes, and the
on-heap size from 32 bytes to 16 bytes. This saves 42 KiB per process.
On 32-bit, this reduces sizeof(nsStaticAtom) from 16 bytes to 12 bytes, but the
on-heap size stays at 16 bytes, so memory usage is unchanged.
MozReview-Commit-ID: 7d9H7MRHN9a
--HG--
extra : rebase_source : d3eafb3aaf44a592afd6c89cd0519d043056e65a
Web-visible WebIDL interfaces require DOM peer review with every change, which
is enforced by a commit hook. ChromeOnly interfaces are not exposed to the
web, and therefore don't require the same strictures.
The current commit hook enforces the review requirement for changes to any
(non-Servo) WebIDL file, and is not smart enough to determine if the change is
web-visible. In order to loosen that restriction, we need the build system to
enforce the requirement that only WebIDL files in certain locations may
contain web-visible interfaces, so that the commit hook can restrict itself to
checking only those directories.
This change restricts the location of web-visible WebIDL interfaces to the
dom/webidl/ and dom/bindings/ roots (along with the corresponding objdir root
for generated interfaces). A follow-up will change the commit hook to only
enforce review requirements on these directories.
MozReview-Commit-ID: CiDxXxN4oO4
--HG--
extra : rebase_source : f61b33ae4c973b1c9ec1423bb9baca59725e44b1
textContent is used to set the indicator label text here instead of the value attribute because the text set using the value attribute does not wrap when it exceeds the width of the panel, which in turn pushes the menulist and half of the indicator text out of view.
MozReview-Commit-ID: 1VBaQlbZwzQ
--HG--
extra : rebase_source : 9bda7f5d8ec59b61dbc0e93c9a715c971ab5dceb
Unfortunately this means that we need to export a couple more headers, but that
should be ok.
In particular, we have to export some headers that are #included by
nsCSSFrameConstructor.h, because nsCSSFrameConstructor.h itself will now be
included in more places outside of layout/, by .cpp files that don't necessarily
have the ability to indirectly #include its other headers, unless we export
them.
MozReview-Commit-ID: 2n9KHW6Yjrd
Most of them just want GetRootFrame(), and there's no need to explicitly go
through the frame manager for that, we have a handy alias in the shell.
MozReview-Commit-ID: GriEqkasidY