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
Alexis Beingessner 8289701d8c Bug 1536121 - rearchitect the webrender display-list. r=gw
disclaimer: this isn't an *amazing* cleanup, but more of a major step that
unlocks the ability to do more minor cleanups and refinements. There's some
messy things and inconsistencies here and there, but we can hopefully iron
them out over time.

1. The primary change here is to move from
    struct { common_fields, enum(specific_fields) }
to
    enum (maybe_common_fields, specific_fields)

most notably this drops the common fields from a ton of things
that don't need them PopXXX, SetXXX, ClipChain, etc.

2. Additionally some types have had some redundant states shaved off,
for instance, rect no longer has *both* bounds and a clip_rect, as
the intersection of the two can be used. This was done a bit conservatively
as some adjustments will need to be done to the backend to fully eliminate
some states, and this can be done more incrementally.

2.5. As a minor side-effect of 2, we now early-reject some primitives whose
bounds and clip_rect are disjoint.

3. A HitTest display item has been added, which is just a Rect without
color. In addition to the minor space wins from this, this makes it much
easier to debug display lists

4. Adds a bunch of comments to the display list, making it easier to understand
things.

The end result of all these changes is a significantly smaller and easier to
understand display list. Especially on pages like gmail which have so many
clip chains. However this ultimately just makes text an even greater percentage
of pages (often 70-80%).

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

--HG--
extra : moz-landing-system : lando
2019-04-23 17:29:58 +00:00
.cargo Bug 1539406: Bump Cranelift to revision 542d799dd7a3b2cc; r=lth 2019-04-15 10:39:28 +00:00
.vscode Bug 1543529 - Stop recommending VSCode plugin "Babel ES6/ES7" r=jya 2019-04-11 03:31:54 +00:00
accessible Bug 1543315 - part 11: Mark nsIPresShell::ScrollContentIntoView() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-23 01:34:24 +00:00
browser Bug 1544863: Explicitly pass csp to createContentWindow(). r=Gijs,baku 2019-04-23 14:37:40 +00:00
build Bug 1542958 - fix code section adjustments in elfhack; r=glandium 2019-04-22 23:44:28 +00:00
caps Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-04-22 16:35:03 +00:00
chrome Bug 1442778 - Add "chromeContext" parameter to console API and console service messages. r=smaug 2019-04-01 22:42:34 +00:00
config Bug 1541068 - add Rust compilation directories to GARBAGE_DIRS; r=nalexander 2019-04-09 18:59:19 +00:00
db
devtools Bug 1538054 - Toggle off 'Pause on Exception' immediately. r=loganfsmyth 2019-04-23 16:30:03 +00:00
docshell Bug 1543315 - part 10: Mark nsIPresShell::GoToAnchor() and nsIPresShell::ScrollToAnchor() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-23 01:27:47 +00:00
dom Bug 1545416 - Make the remote decoder shutdown async. r=mjf 2019-04-23 17:23:33 +00:00
editor Bug 1535792 - disabled test_richtext2.html on linux32 debug r=jmaher 2019-04-21 13:03:24 +00:00
extensions Bug 1545822 - Clean up some whitespace in XPIDL files. r=froydnj 2019-04-21 01:47:00 +00:00
gfx Bug 1536121 - rearchitect the webrender display-list. r=gw 2019-04-23 17:29:58 +00:00
gradle/wrapper
hal
image Bug 1544961 - comment on gtests that are disabled, disable ThreadUtils.IdleRunnableMethod and Timers.FindExpirationTime for windows10-aarch64 r=jmaher,gbrown,dmajor 2019-04-23 00:21:37 +00:00
intl Bug 1544961 - comment on gtests that are disabled, disable ThreadUtils.IdleRunnableMethod and Timers.FindExpirationTime for windows10-aarch64 r=jmaher,gbrown,dmajor 2019-04-23 00:21:37 +00:00
ipc Bug 1544825 - Use IPDL type names instead of truncated C++ names in deserialization error messages. r=nika 2019-04-23 14:40:48 +00:00
js Bug 1541357 - Change the argument order of table.grow to be spec-compliant. r=lth 2019-04-22 08:51:04 +00:00
layout Bug 1536121 - rearchitect the webrender display-list. r=gw 2019-04-23 17:29:58 +00:00
media Bug 1544799 - Make PSocketProcess manage PWebrtcProxyChannel r=dragana 2019-04-23 13:10:56 +00:00
memory Bug 1052579 - Add ability to query ArenaID to mozjemalloc_ptr_info r=glandium 2019-04-23 12:39:58 +00:00
mfbt Bug 1546012 - Avoid slow sleeps on Android in TestSPSCQueue; r=padenot 2019-04-23 13:39:36 +00:00
mobile Bug 1544863: Explicitly pass csp to createContentWindow(). r=Gijs,baku 2019-04-23 14:37:40 +00:00
modules Bug 1546415 - Disable target=_blank on a/area elements imply rel=noopener for 67, r=neha 2019-04-23 16:05:37 +00:00
mozglue Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-04-22 16:35:03 +00:00
netwerk Bug 1545843 - Mark some HTTP XPIDL classes as builtinclass. r=mayhemer 2019-04-23 16:05:29 +00:00
nsprpub
other-licenses Backed out 4 changesets (bug 1458385) for nightly updates fail. a=backout 2019-04-10 21:09:46 +03:00
parser Bug 1544322 - Part 2.1 - Remove the [type] attribute for one-liner <script> tags loading files in /tests/SimpleTest/ in everything except for dom/ r=bzbarsky 2019-04-16 03:50:44 +00:00
python Bug 1544208 - inform the user who tries to use mach static-analysis check ... of when there are no files eligible for analysis. r=bastien 2019-04-23 10:01:12 +00:00
remote Backed out 4 changesets (bug 1533831) for failing at /browser/browser_target.js on a CLOSED TREE. 2019-04-18 05:35:54 +03:00
security Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-04-22 16:35:03 +00:00
services Bug 1483077 - Replaced reference to getBrowser with gBrowser r=robwu,dao 2019-04-17 00:04:54 +00:00
servo Bug 1544886 - Allow CSS wide-keywords in custom property fallback. r=SimonSapin 2019-04-23 13:13:11 +00:00
startupcache Bug 1543970 - give up removing the startup cache file from the previous profile location after 6 years, r=froydnj 2019-04-12 14:07:40 +00:00
storage Bug 1545200 - Squelch spurious synchronous operation warnings in Connection::operationSupported. r=mak 2019-04-17 19:10:28 +00:00
taskcluster Bug 1531876. Only run talos-perf-reftest-singletons via try, on windows10-aarch64. r=jmaher 2019-04-23 15:47:28 +00:00
testing bug 1546303: webdriver: add WPT tests for properties in evaluated scripts; r=whimboo 2019-04-23 14:09:43 +00:00
third_party Bug 1546070 - Update dav1d from upstream to f8cac8c. r=TD-Linux 2019-04-22 19:48:05 +00:00
toolkit Bug 1546326: Correctly detect missing directories on Windows. r=Gijs 2019-04-23 17:23:35 +00:00
tools Bug 1523303 - Align mozharness suite names with the ones in 'moztest.resolve', r=gbrown 2019-04-22 22:32:34 +00:00
uriloader Bug 1544051 - Part 3 - Scripted change to remove references to AddTask.js r=ahal 2019-04-18 16:51:01 +00:00
view Bug 1543315 - part 4: Mark ResizeReflow() as MOZ_CAN_RUN_SCRIPT r=smaug 2019-04-13 12:39:47 +00:00
widget Backed out 9 changesets (bug 1542454, bug 1533562) for failing at /browser/browser_ext_webNavigation_onCreatedNavigationTarget_contextmenu.js on a CLOSED TREE. 2019-04-23 01:09:12 +03:00
xpcom Bug 1544961 - comment on gtests that are disabled, disable ThreadUtils.IdleRunnableMethod and Timers.FindExpirationTime for windows10-aarch64 r=jmaher,gbrown,dmajor 2019-04-23 00:21:37 +00:00
xpfe/appshell Bug 1544863: Explicitly pass csp to createContentWindow(). r=Gijs,baku 2019-04-23 14:37:40 +00:00
.arcconfig
.clang-format Bug 1542146 - Use the new option StatementMacros from clang-format-8 r=andi 2019-04-05 21:41:57 +00:00
.clang-format-ignore Bug 1533481 - Part 9: Update Gecko to Unicode 12. r=jfkthame! 2019-04-04 12:46:18 +03:00
.cron.yml Bug 1352113: Re-use builds from push graph in nightly graphs; r=Callek 2019-03-27 19:42:46 +00:00
.eslintignore Bug 1527075 - stop linting intl/l10n/ in m-c given it's linted in github r=Gijs,jaws 2019-04-15 16:43:02 +00:00
.eslintrc.js Bug 1541025 - testing/ manual ESLint no-throw-literal fixes. r=jmaher 2019-04-02 13:42:22 +00:00
.flake8 Bug 1541086: Remove the embedding code and update the bug components for widget::headless. r=myk r=bdahl 2019-04-02 09:07:54 -07:00
.gdbinit
.gdbinit_python
.git-blame-ignore-revs
.gitignore Bug 1516337 - Part 1: Dedupe sha2 and related dependencies r=froydnj 2019-04-08 23:17:50 +03:00
.hg-annotate-ignore-revs
.hg-format-source
.hgignore Bug 1516337 - Part 1: Dedupe sha2 and related dependencies r=froydnj 2019-04-08 23:17:50 +03:00
.hgtags
.lldbinit
.mailmap
.taskcluster.yml Bug 1488313: [taskgraph] Don't notify sherrifs on cron decision task failures on try; r=dustin 2019-03-27 19:38:05 +00:00
.trackerignore
.yamllint
.ycm_extra_conf.py
aclocal.m4
AUTHORS
build.gradle Bug 1541609 - [geckoview] Enforce packages in API. r=snorp,esawin 2019-04-10 01:50:58 +00:00
Cargo.lock Bug 1546048 - Use std::ffi::CStr and the cstr crate instead of custom stuff in xpcom. r=lina 2019-04-22 05:09:23 +00:00
Cargo.toml Bug 1539406: Bump Cranelift to revision 542d799dd7a3b2cc; r=lth 2019-04-15 10:39:28 +00:00
client.mk
client.py
CLOBBER Bug 1533481 - Part 10: Updating ICU requires a clobber. r=jwalden! 2019-04-04 12:46:32 +03:00
configure.in
configure.py
GNUmakefile
gradle.properties
gradlew
gradlew.bat
LEGAL
LICENSE
mach
Makefile.in Bug 1537574 - Use mozbuild's backend-out-of-date logic for RecursiveMake; r=firefox-build-system-reviewers,chmanchester 2019-04-10 22:14:27 +00:00
moz.build
moz.configure Bug 1543323 - On Android, only build gtest tests archive on x86_64 builds; r=glandium 2019-04-12 00:17:45 +00:00
mozilla-config.h.in
old-configure.in Bug 1433685 - Remove nsGConfService, r=glandium 2019-04-10 10:18:14 +00:00
package-lock.json Bug 1536589 - Update ESLint and associated modules. r=mossop 2019-04-08 20:06:38 +00:00
package.json Bug 1536589 - Update ESLint and associated modules. r=mossop 2019-04-08 20:06:38 +00:00
README.txt
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.