Граф коммитов

2446 Коммитов

Автор SHA1 Сообщение Дата
Jonathan Kew dc4da51aee Bug 1677551 - For large font sizes, let nsDisplayText::CreateWebRenderCommands punt to a blob image instead. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D98016
2020-11-26 23:35:50 +00:00
Jim Blandy 625017f3cd Bug 1678108: Invalidate DisplayItemCache entries when nsDisplayItem::RestoreState makes a change. r=miko
Partial fix.

If nsDisplayItem::RestoreState changes the state of an nsDisplayItem, that
invalidates any prior RetainedItems items sent to WebRender for it, and its
DisplayItemCache entry is invalid. Clear the cache index in the
nsDisplayItem.

RetainedDisplayListBuilder::PreProcessDisplayList doesn't have convenient access
to the DisplayItemCache, so don't clear the cache entry in the DisplayItemCache.
The cache itself will eventually realize the entry is unused and clear it.

Differential Revision: https://phabricator.services.mozilla.com/D97538
2020-11-21 22:56:42 +00:00
Simon Giesecke 73d4d57082 Bug 1676357 - Avoid including Layers.h in header files. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D96538

Depends on D96537
2020-11-23 16:09:05 +00:00
Simon Giesecke 071c7c035f Bug 1676356 - Avoid including PresShell.h from header files. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D96534

Depends on D95184
2020-11-23 16:08:23 +00:00
Simon Giesecke 971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Kartikaya Gupta b63d0829ea Bug 1678334 - Improve const-correctness in FindBackground methods. r=mats
There's a couple of uses of const_cast here, but I think they are
reasonable. Conceptually the input parameter is a const (in that it
is not modified) but the output shouldn't be const (because the
caller is free to modify it if it wants to). If we're returning the
input as output then we should strip the const attribute, hence
the const_cast.

Depends on D97621

Differential Revision: https://phabricator.services.mozilla.com/D97622
2020-11-19 23:46:06 +00:00
coderboncuk c8b12f5aa2 Bug 1676299 - Removed the xMajor parameter from BaseMatrix::ScaleFactors() r=botond
Differential Revision: https://phabricator.services.mozilla.com/D97449
2020-11-18 18:53:01 +00:00
Timothy Nikkel 961a63950a Bug 1675709. Make sure to only call NotifyApzTransaction on scroll frames after the paint transaction is complete in the webrender case. r=mattwoodrow
In bug 1674935 we encountered a situation where NotifyApzTransaction was called more than once on a scroll frame in one paint transaction, clearing the scroll updates before they should have been. In that bug I moved the NotifyApzTransaction calls to happen at the end of one transaction for the non-wr code path., but I left the wr code path alone to reduce risk becase we didn't have proof the same could happen with wr. In this bug I will change how the wr code path works to ensure that this problem cannot happen.

Differential Revision: https://phabricator.services.mozilla.com/D96165
2020-11-15 02:20:04 +00:00
Ting-Yu Lin bccb437849 Bug 1676585 Part 2 - Use LogicalRect to compute joining boxes' border area. r=mats
The original code doesn't work for "writing-mode:vertical-rl" because
its block flow direction is the opposite of "writing-mode:vertical-lr."

Differential Revision: https://phabricator.services.mozilla.com/D96786
2020-11-17 05:36:42 +00:00
Timothy Nikkel 7e80528f10 Bug 1674935. Collect and notify scroll frame in nsDisplayListBuilder not in ContainerState. r=mattwoodrow
Scroll frames can appear in multiple containers.

Notifying the scroll frame causes it to clear it list of scroll updates. So we lose the scroll updates prematurely.

Previously https://phabricator.services.mozilla.com/D88650 moved the notify from happening the first time the scroll frame was encountered in a container to when the container is finished.

This patch moves this handling out of the container state and into nsDisplayListBuilder.

The bug could still happen for webrender. I'll fix that in another bug to reduce scope and risk.

Differential Revision: https://phabricator.services.mozilla.com/D95926
2020-11-06 05:46:24 +00:00
Miko Mynttinen e312ab88d1 Bug 1674766 - Remove DisplayListChecker r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D95531
2020-11-02 20:04:37 +00:00
Miko Mynttinen 8f780ba14a Bug 1640197 - Part 3: Include overflowing content from the previous pages in nsPageFrame display list r=dholbert,mats
Depends on D90424

Differential Revision: https://phabricator.services.mozilla.com/D90425
2020-10-28 18:32:06 +00:00
Miko Mynttinen db736e8e19 Bug 1640197 - Part 2: Add an additional offset to reference frame r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D88639
2020-10-28 18:27:57 +00:00
Sean Feng b43b973aec Bug 1518999 - Update ContentfulPaint algorithm to follow the spec r=emilio
This patch includes a couple of changes.
1) Notify contentful paint only during refresh driver ticks.
2) Not only the root document, sub document should also have their own
   contentful paint entry.
3) Consider invisible text as contentful as well.

Differential Revision: https://phabricator.services.mozilla.com/D89498
2020-10-27 16:13:23 +00:00
Sean Feng 2ce0e3da25 Bug 1518999 - Implement PerformancePaintTiming for FirstContentfulPaint r=smaug,mstange
Spec: https://w3c.github.io/paint-timing/#sec-PerformancePaintTiming
We only support FirstContentfulPaint at the moment.

Differential Revision: https://phabricator.services.mozilla.com/D66463
2020-10-27 16:25:50 +00:00
Ricky Stewart 02a7b4ebdf Bug 1654103: Standardize on Black for Python code in `mozilla-central`.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Bogdan Tara da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart c0cea3b0fa Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Sean Feng fbba8a64e1 Bug 1518999 - Update ContentfulPaint algorithm to follow the spec r=emilio
This patch includes a couple of changes.
1) Notify contentful paint only during refresh driver ticks.
2) Not only the root document, sub document should also have their own
   contentful paint entry.
3) Consider invisible text as contentful as well.

Differential Revision: https://phabricator.services.mozilla.com/D89498
2020-10-23 19:43:31 +00:00
Sean Feng 981acf390f Bug 1518999 - Implement PerformancePaintTiming for FirstContentfulPaint r=smaug,mstange
Spec: https://w3c.github.io/paint-timing/#sec-PerformancePaintTiming
We only support FirstContentfulPaint at the moment.

Differential Revision: https://phabricator.services.mozilla.com/D66463
2020-10-23 19:25:36 +00:00
Dorel Luca 1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Ricky Stewart 50762dacab Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Emilio Cobos Álvarez b1d7714d85 Bug 1665476 - Handle XUL root frame backgrounds explicitly in AppendBackgroundItemsToTop. r=mats
My previous patch somehow causes WR to crash and fall back to d2d on Windows,
see bug 1671591.

While I figure that out let's fix TB by restoring the previous behavior
for XUL.

Rename the Root frame type because it's super-confusing that IsRootFrame
is not equivalent to !GetParent().

Differential Revision: https://phabricator.services.mozilla.com/D94105
2020-10-20 16:42:53 +00:00
Miko Mynttinen e90d727ee7 Bug 1648282 - Create active layers for container items that have child items with different ASRs, similar to AGRs r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D92907
2020-10-12 10:40:30 +00:00
Kartikaya Gupta 6d47eac4ee Bug 1666802 - Remove LayersLogging.*. r=mattwoodrow
The remaining functions are moved to be with their brethren in xpcom.

Differential Revision: https://phabricator.services.mozilla.com/D93146
2020-10-11 21:20:46 +00:00
longsonr 936918cf44 Bug 1670454 - Use GetImageDecodeFlags more r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D93159
2020-10-11 09:05:20 +00:00
Razvan Maries 2709f23aee Backed out changeset 65a85eec3a56 (bug 1648282) for perma failures on 1648282-1a.html. CLOSED TREE 2020-10-09 20:47:54 +03:00
Miko Mynttinen 7c33519b6c Bug 1648282 - Create active layers for container items that have child items with different ASRs, similar to AGRs r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D92907
2020-10-09 12:47:08 +00:00
Matt Woodrow 62e32b6bd7 Bug 1662859 - Use the full height (including the rounded areas) when invalidating Y-axis changes to a rounded rectangle. r=dthayer
Differential Revision: https://phabricator.services.mozilla.com/D92359
2020-10-08 22:32:48 +00:00
Bogdan Tara fb7e5d1499 Backed out changeset 7de711320e1e (bug 1648282) for reftests/bugs/1648282-1 failures CLOSED TREE 2020-10-09 06:45:19 +03:00
Miko Mynttinen 895372d464 Bug 1648282 - Create active layers for container items that have child items with different ASRs, similar to AGRs r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D92907
2020-10-08 16:23:18 +00:00
Botond Ballo 3e82ab456a Bug 1664101 - When querying the displayport for the purpose of applying it to fixed content, apply an async scroll adjustment suitable for fixed content. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D92508
2020-10-07 22:36:57 +00:00
Botond Ballo c4fb54eee1 Bug 1664101 - Fix an incorrect usage of the visual viewport offset in ComputeVisibleRectForFrame(). r=kats
It's used as the offset of the visible rect, which is intended to be
relative to the layout viewport.

This is mostly hidden by the fact that we almost always
overwrite this value with the displayport rect offset.

Differential Revision: https://phabricator.services.mozilla.com/D90784
2020-10-07 22:34:47 +00:00
Narcis Beleuzu db9dfe3249 Backed out changeset 5dd5f0d3a09b (bug 1663475) for mochitest failure on test_reftests_with_caret.html CLOSED TREE 2020-10-06 06:22:01 +03:00
Emilio Cobos Álvarez 9d6f081a11 Bug 1663475 - Paint caret geometry from the containing block. r=mats
This matches other browsers and shouldn't be too terrible, though I'm
not quite a fan of it.

Differential Revision: https://phabricator.services.mozilla.com/D89483
2020-10-06 00:06:30 +00:00
Botond Ballo d3e8e5c933 Bug 1667475 - Consolidate displayport-related flags into a DisplayPortOptions struct. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D92015
2020-10-03 21:08:12 +00:00
Botond Ballo 5d6a075ae9 Bug 1667475 - Moved displayport-related functions from nsLayoutUtils to a new DisplayPortUtils class. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D92006
2020-10-03 21:07:34 +00:00
Ting-Yu Lin 2eeff177cf Bug 1668411 - Change IS_TRUE_OVERFLOW_CONTAINER macro into a nsIFrame's inline method. r=emilio
`IS_TRUE_OVERFLOW_CONTAINER` is defined in nsContainerFrame.h, but is
already used in several places in nsIFrame. It really should be an
nsIFrame's method.

Differential Revision: https://phabricator.services.mozilla.com/D92007
2020-10-01 02:39:40 +00:00
Botond Ballo 01b3c7969d Bug 1667594 - Move nsLayoutUtils::RectCallback to namespace scope. r=emilio,jgilbert
This allows it to be forward-declared (while a nested class cannot be),
such that headers files that use RectCallback by pointer or reference
do not need to include nsLayoutUtils.h.

This avoids including nsLayoutUtils.h in nsRange.h.

Differential Revision: https://phabricator.services.mozilla.com/D91685
2020-09-30 21:06:47 +00:00
Botond Ballo e6c29de3e7 Bug 1667594 - Move nsLayoutUtils::SurfaceFromElementResult to its own file. r=emilio
Along with a dependent struct DirectDrawInfo.

This allows nsImageRenderer.h and CanvasRenderingContext2D.h to
avoid including nsLayoutUtils.h.

For nsImageRenderer.h in particular, a forward declaration is
not sufficient as nsImageRenderer stores SurfaceFromElementResult
by value.

A couple of method definitions elsewhere are moved out of line
to keep things compiling without including nsLayoutUtils.h in
additional headers.

Differential Revision: https://phabricator.services.mozilla.com/D91684
2020-09-30 21:05:34 +00:00
Emilio Cobos Álvarez cf07cf6df6 Bug 1621274 - Skip some table layout assertions when xul is involved. r=dholbert
Realistically we're not going to bother investigating these, I suspect,
and Thunderbird seems to hit these too often in their tests.

Differential Revision: https://phabricator.services.mozilla.com/D75683
2020-09-30 12:25:37 +00:00
Kartikaya Gupta 810c1b9f3d Bug 1667863 - Replace AppendToString of Matrix4x4 with ostream usage. r=mattwoodrow
Depends on D91658

Differential Revision: https://phabricator.services.mozilla.com/D91659
2020-09-29 03:01:45 +00:00
Botond Ballo 1976364433 Bug 1667594 - Avoid including nsLayoutUtils.h from various headers. r=kats
This patch covers thw low-hanging fruit: headers that either don't use
nsLayoutUtils.h at all, or where only method implementations that can
easily be moved to the .cpp file use it.

Differential Revision: https://phabricator.services.mozilla.com/D91504
2020-09-26 17:55:00 +00:00
Kartikaya Gupta f38b3ecb1b Bug 1665955 - Stop including nsIScrollableFrame.h from Element.h. r=emilio
Changes to nsIScrollableFrame.h cause the world to rebuild which I find annoying.
This removes the inclusion into Element.h which is responsible for the
world-rebuilding and is relatively easy to eliminate. A bunch of usages of
nsIScrollableFrame get moved from .h files into .cpp files and I include the
header into .cpp files as needed.

Differential Revision: https://phabricator.services.mozilla.com/D90735
2020-09-18 18:32:13 +00:00
Dorel Luca 72ef712fd0 Backed out 10 changesets (bug 1518999) for GeckoView failures in PanZoomControllerTest.scroll. CLOSED TREE
Backed out changeset 7b5bdd071d05 (bug 1518999)
Backed out changeset 401e488734dd (bug 1518999)
Backed out changeset c13e51e17329 (bug 1518999)
Backed out changeset 2a2d67ba15b8 (bug 1518999)
Backed out changeset 3d4d84003227 (bug 1518999)
Backed out changeset 972731762965 (bug 1518999)
Backed out changeset f21b13582dad (bug 1518999)
Backed out changeset 13a4c749a802 (bug 1518999)
Backed out changeset 5a6cea5fd344 (bug 1518999)
Backed out changeset c3bb552e76a3 (bug 1518999)
2020-09-17 02:58:34 +03:00
Sean Feng 3aaaa826c0 Bug 1518999 - Update ContentfulPaint algorithm to follow the spec r=emilio
This patch includes a couple of changes.
1) Notify contentful paint only during refresh driver ticks.
2) Not only the root document, sub document should also have their own
   contentful paint entry.
3) Consider invisible text as contentful as well.

Differential Revision: https://phabricator.services.mozilla.com/D89498
2020-09-14 18:47:34 +00:00
Sean Feng 11a2849f32 Bug 1518999 - Implement PerformancePaintTiming for FirstContentfulPaint r=smaug,mstange
Spec: https://w3c.github.io/paint-timing/#sec-PerformancePaintTiming
We only support FirstContentfulPaint at the moment.

Differential Revision: https://phabricator.services.mozilla.com/D66463
2020-09-14 15:13:18 +00:00
Emilio Cobos Álvarez ba7373413f Bug 1665064 - Honor print background image settings on WebRender too. r=kats,jwatt CLOSED TREE
We usually suppress background images in
nsCSSRendering::PaintStyleImageLayerWithSC, but that codepath isn't hit
by WebRender, so instead do it during display list building, the same
way we suppress background colors.

Differential Revision: https://phabricator.services.mozilla.com/D90278
2020-09-15 16:26:05 +00:00
Narcis Beleuzu 746b4430d0 Backed out changeset a572a639204f (bug 1665064) for reftest failures. CLOSED TREE 2020-09-15 21:33:06 +03:00
Emilio Cobos Álvarez f8330284c5 Bug 1665064 - Honor print background image settings on WebRender too. r=kats,jwatt
We usually suppress background images in
nsCSSRendering::PaintStyleImageLayerWithSC, but that codepath isn't hit
by WebRender, so instead do it during display list building, the same
way we suppress background colors.

Differential Revision: https://phabricator.services.mozilla.com/D90278
2020-09-15 16:26:05 +00:00