Commit Graph

1189 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
f17f9753e7 Bug 1717983 - Don't consider a browser active if the tab is inactive but we're preserving layers. r=nika
GeckoView always calls preserveLayers(true) on all <browser> elements,
which causes the puppet widget to always be considered visible.

Given how the code worked before, aBrowsingContext.isActive = false
after that call would deactivate the pres shell, but after my patch it
stops doing so.

We don't really want to un-throttle the refresh driver etc just because
we're preserving layers, so propagate the state to the child process and
account for that in the logic to determine PresShell activeness.

Depends on D118703

Differential Revision: https://phabricator.services.mozilla.com/D118884
2021-07-05 17:31:49 +00:00
Emilio Cobos Álvarez
1af5e8922e Bug 1717983 - Improve PresShell active flag handling. r=nika
This moves the logic of whether a pres shell should be active to a
single place to make it sane to reason about, and fixes the
subdocument propagation when a BrowserChild becomes visible.

Differential Revision: https://phabricator.services.mozilla.com/D118703
2021-07-05 17:31:48 +00:00
Florian Quèze
bad6178c51 Bug 1717991 - Remove ifdefs around code that adds profiler markers with custom marker schemas, r=gerald.
Differential Revision: https://phabricator.services.mozilla.com/D118680
2021-06-25 13:28:01 +00:00
Sandor Molnar
a7f0c731ec Backed out changeset b46a490223a1 (bug 1717983) for causing android failures. CLOSED TREE 2021-06-25 03:29:08 +03:00
Emilio Cobos Álvarez
889fc1efd2 Bug 1717983 - Improve PresShell active flag handling. r=nika
This moves the logic of whether a pres shell should be active to a
single place to make it sane to reason about, and fixes the
subdocument propagation when a BrowserChild becomes visible.

Differential Revision: https://phabricator.services.mozilla.com/D118703
2021-06-24 20:50:10 +00:00
Botond Ballo
c778e3dbbb Bug 1698693 - Convert audited calls to GetCrossDocParentFrame() to GetCrossDocParentFrameInProcess(). r=tnikkel
See bug 1698693 comment 6 and subsequent comments for the audit.

Depends on D117388

Differential Revision: https://phabricator.services.mozilla.com/D117389
2021-06-23 22:05:31 +00:00
Botond Ballo
48d964a989 Bug 1698693 - Make the GetNearestScrollableFrame() call in GetCurrentItemAndPositionForElement() stop at the root scroll frame. r=tnikkel
See rationale in bug 1698693 comment 9.

The added flags ensure we stop at the RSF even if it's overflow:hidden,
or if the starting frame is in fixed content.

Depends on D117387

Differential Revision: https://phabricator.services.mozilla.com/D117388
2021-06-23 22:05:31 +00:00
Florian Quèze
76d92a054e Bug 1715257 - Remove Task Tracer code from the profiler, r=gerald,necko-reviewers.
Differential Revision: https://phabricator.services.mozilla.com/D117996
2021-06-17 09:33:00 +00:00
Iulian Moraru
4b5e996bef Backed out changeset 617a466d0cce (bug 1715257) for causing build bustages. CLOSED TREE 2021-06-17 10:58:16 +03:00
Florian Quèze
2b195470a1 Bug 1715257 - Remove Task Tracer code from the profiler, r=gerald,necko-reviewers.
Differential Revision: https://phabricator.services.mozilla.com/D117996
2021-06-17 06:12:10 +00:00
Emilio Cobos Álvarez
af2c2bcb4a Bug 1649367 - Fix some usage of IsRootContentDocument in PresShell. r=tnikkel
This doesn't change behavior, and is consistent with the changes made in
bug 1554832 to this code.

Differential Revision: https://phabricator.services.mozilla.com/D98473
2021-06-13 09:31:17 +00:00
Kagami Sascha Rosylight
cc180203f9 Bug 1713491 - Return std::pair from nsIFrame::GetOffsets r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D117520
2021-06-11 23:54:06 +00:00
Butkovits Atila
645878eef7 Backed out changeset aa6c7477c4d2 (bug 1713491) for causing build bustages on nsIFrame.cpp. CLOSED TREE 2021-06-12 00:12:06 +03:00
Kagami Sascha Rosylight
c15b9875ad Bug 1713491 - Return std::pair from nsIFrame::GetOffsets r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D117520
2021-06-11 18:53:28 +00:00
Dorel Luca
1406700f5f Backed out changeset 17e7b969b830 (bug 1713491) for Linux build bustage in gecko/dom/events/ContentEventHandler.cpp. CLOSED TREE 2021-06-11 17:52:10 +03:00
Kagami Sascha Rosylight
9b322e9f67 Bug 1713491 - Return std::pair from nsIFrame::GetOffsets r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D117520
2021-06-11 11:37:11 +00:00
Kartikaya Gupta
7c375a1189 Bug 1694847 - Remove the expired SCROLL_INPUT_METHODS telemetry probe. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D116320
2021-05-31 21:36:35 +00:00
Timothy Nikkel
11d35970ed Bug 1710052. Allow repaint requests to update the resolution if the last resolution change origin was apz in addition to when the old resolution matches. r=botond
During double tap animations we can be in a situation where we get two repaint requests from every layers update. The first one comes from NotifyLayersUpdated and scroll offset update type is eNone, the second from the zoom animation ticking has scroll offset update type eUserAction and there was a layout scroll position update. Both can have some amount of aync zoom (not necessarily equal), and have the same content pres shell resolution.

We handle the eNone one first, and update the content pres shell resolution. Then for the eUserAction we check the content presshell resolution and it no longer matches, so we drop the request entirely thinking its out of date (including the scroll position update). It's not out of date of course, content hasn't done any updates, so apz has the latest info (even if it might not have a fully up to date value of the content pres shell resolution, it's value of zoom is the most up to date of anywhere).

Differential Revision: https://phabricator.services.mozilla.com/D114587
2021-05-19 02:50:52 +00:00
Emilio Cobos Álvarez
e2535fd8fb Bug 1710643 - Fix encoding of the theme change kind so it doesn't crash when getting converted to JS if non-zero.
MANUAL PUSH: Fixes orange in some tests that do restricted theme
changes CLOSED TREE.
2021-05-13 01:53:38 +02:00
Emilio Cobos Álvarez
79b783704d Bug 1708303 - Fix scroll-margin implementation. r=hiro
So that margin is not included in the rect for visibility calculations,
and padding and margin are accounted properly on them.

Differential Revision: https://phabricator.services.mozilla.com/D113853
2021-05-06 00:54:14 +00:00
Edgar Chen
1bb16b15ba Bug 1709200 - Rename nsContentUtils::GetRootDocument to GetInProcessSubtreeRootDocument; r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D114177
2021-05-05 09:42:20 +00:00
Timothy Nikkel
4baa3c5c62 Bug 1708083. Schedule a paint when the presshell resolution changes. r=mattwoodrow
Surprisingly nothing actually schedules a paint when the resolution changes.

This probably wasn't a problem because when the resolution changes almost certainly something else is changing that causes a paint too (scroll position, display port, etc).

We hit this in the test I wrote for bug 1706868. We double tap zoom in. In the last RequestContentRepaint from apz to content the only thing that changes is the resolution by a small amount. If he scroll offset or display port margins changed we'd ask for a paint, but evidently they do not. Content updates it's resolution, but since it does not generate a paint apz never gets notified about this, so it thinks content has a slightly different resolution.

Then the test starts a double tap zoom out. When it notifies content of the new resolutions APZCCallbackHelper does nothing because of this line

https://searchfox.org/mozilla-central/rev/4648b6ee31c2519b1753023e4f4853b14fdd16e5/gfx/layers/apz/util/APZCCallbackHelper.cpp#335

where it detects that the content resolution and what apz thinks is the content resolution differ by too much, so it thinks the request from apz is out of date and ignores it.

Differential Revision: https://phabricator.services.mozilla.com/D113614
2021-04-28 04:32:13 +00:00
Emilio Cobos Álvarez
c018e1fc50 Bug 1699844 - Make promiseDocumentFlushed handle presshell destruction correctly. r=smaug,botond
By resolving the relevant promises, instead of crashing (and if we
didn't crash we'd leave the window registered as a refresh driver
observer, which would be bad).

I wanted to reject them, since that's what we do when the page has no
pres shell, but that'd make this test fail:

   https://searchfox.org/mozilla-central/rev/d8194cbbeaec11962ed67f83aea9984bf38f7c63/dom/base/test/browser_promiseDocumentFlushed.js#165-186

For this, we modify the OneShotPostRefreshObserver API to be more
generic (and rename it OneShotManagedRefreshObserver).

We fix APZ's usage of this API, which was doing something extremely
weird (returning a refcounted object in a UniquePtr). This seems like an
artifact from recent OneShotPostRefreshObserver cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D111851
2021-04-14 19:34:23 +00:00
sotaro
27cfdcbcbe Bug 1701567 - Schedule paint when PresShell becomes active r=mstange
PresShell::SetIsActive(/* aIsActive */ true) does not directly trigger rendering. On Android, there is a case that rendering of about:support is not updated when PresShell::SetIsActive(true) call is slow during Tab switch.

Differential Revision: https://phabricator.services.mozilla.com/D110682
2021-04-07 03:14:08 +00:00
Emilio Cobos Álvarez
79cfc09871 Bug 1701928 - Selection scrolling should not ignore scroll-{margin,padding}. r=hiro,masayuki
Differential Revision: https://phabricator.services.mozilla.com/D110440
2021-04-02 12:14:19 +00:00
Emilio Cobos Álvarez
38d9e03fb7 Bug 1701807 - Partially revert the regressing bug for now, gotta find something smarter to do.
Differential Revision: https://phabricator.services.mozilla.com/D110180
2021-03-30 00:05:14 +00:00
Mark Striemer
bca6e66b9e Bug 1699250 - Use proton dark theme in-content r=jaws
This also fixes up various about pages.

Differential Revision: https://phabricator.services.mozilla.com/D108800
2021-03-28 18:33:05 +00:00
Butkovits Atila
918c913984 Backed out 2 changesets (bug 1690333, bug 1699250) for causing failures on test_bug509732.xhtml. CLOSED TREE
Backed out changeset dcba2814dbc4 (bug 1690333)
Backed out changeset ae3a0e6dde00 (bug 1699250)
2021-03-28 21:16:58 +03:00
Mark Striemer
0be518e1ec Bug 1699250 - Use proton dark theme in-content r=jaws
This also fixes up various about pages.

Differential Revision: https://phabricator.services.mozilla.com/D108800
2021-03-28 17:02:20 +00:00
Bogdan Tara
89d61ad529 Backed out changeset 421e6e333309 (bug 1699250) for browser_html_discover_view_clientid.js mochitest failures
DONTBUILD
2021-03-28 02:37:33 +02:00
Mark Striemer
66aaad350d Bug 1699250 - Use proton dark theme in-content r=jaws
This also fixes up various about pages.

Differential Revision: https://phabricator.services.mozilla.com/D108800
2021-03-27 23:31:07 +00:00
Cosmin Sabou
2027d03134 Backed out 2 changesets (bug 1690333, bug 1699250) for mochitest failures on test_notificationbox.xhtml.
Backed out changeset d6780d34ca05 (bug 1690333)
Backed out changeset 50cc5db86f1e (bug 1699250)
2021-03-27 23:58:04 +02:00
Mark Striemer
d7f402a21b Bug 1699250 - Use proton dark theme in-content r=jaws
This also fixes up various about pages.

Differential Revision: https://phabricator.services.mozilla.com/D108800
2021-03-27 21:02:50 +00:00
Miko Mynttinen
616140074c Bug 1700642 - Part 1: Track per frame paint phase durations r=nical
Differential Revision: https://phabricator.services.mozilla.com/D109613
2021-03-26 17:37:21 +00:00
Butkovits Atila
2cf3fa3168 Backed out 2 changesets (bug 1700642) for causing wrench failures. CLOSED TREE
Backed out changeset 3fcce1634f4b (bug 1700642)
Backed out changeset a916b72ece1d (bug 1700642)
2021-03-26 18:45:47 +02:00
Miko Mynttinen
0642b5afd6 Bug 1700642 - Part 1: Track per frame paint phase durations r=nical
Differential Revision: https://phabricator.services.mozilla.com/D109613
2021-03-26 14:24:39 +00:00
Emilio Cobos Álvarez
95af70e510 Bug 1699768 - Don't unsuppress painting until we've known the website background, to prevent flashing. r=smaug
Actually the page in this case starts getting styled _after_ the load
event, sometimes, but when that happens that also causes a white flash
in other browsers.

Differential Revision: https://phabricator.services.mozilla.com/D109392
2021-03-26 01:10:53 +00:00
Simon Giesecke
9e995a79e8 Bug 1184468 - Use nsBaseHashtable::Values. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D108587
2021-03-24 17:56:49 +00:00
Simon Giesecke
32d04cdc11 Bug 708901 - Migrate to nsTHashSet in layout. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D108597
2021-03-24 17:56:46 +00:00
Csoregi Natalia
37fe7677dd Backed out 13 changesets (bug 708901, bug 1184468) for causing build bustage on GeckoViewHistory.cpp. CLOSED TREE
Backed out changeset b1e4c01e63b8 (bug 708901)
Backed out changeset 37b52cce83c0 (bug 708901)
Backed out changeset eee75f33f060 (bug 708901)
Backed out changeset 479bf64c7986 (bug 708901)
Backed out changeset 15a8fb94d15d (bug 708901)
Backed out changeset be31ccd9a61d (bug 708901)
Backed out changeset fc54f4eaedd5 (bug 708901)
Backed out changeset 03c3a56c3d13 (bug 708901)
Backed out changeset 73f11d3c1298 (bug 708901)
Backed out changeset aed22fd80893 (bug 708901)
Backed out changeset 74d8249fbe7e (bug 708901)
Backed out changeset acb725eb3c1d (bug 1184468)
Backed out changeset 70f3ea6efec4 (bug 1184468)
2021-03-24 19:26:20 +02:00
Simon Giesecke
cbe4b9ff3a Bug 708901 - Migrate to nsTHashSet in layout. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D108597
2021-03-24 16:58:58 +00:00
Noemi Erli
2b862d9727 Backed out changeset 1d4a266e0e49 (bug 1699768) for causing multiple failures CLOSED TREE 2021-03-23 13:44:39 +02:00
Emilio Cobos Álvarez
e7f5dfaf2a Bug 1699768 - Don't unsuppress painting until we've known the website background, to prevent flashing. r=smaug
Actually the page in this case starts getting styled _after_ the load
event, sometimes, but when that happens that also causes a white flash
in other browsers.

Differential Revision: https://phabricator.services.mozilla.com/D109392
2021-03-23 10:16:52 +00:00
Florian Quèze
7ca337c131 Bug 1699742 - Remove MOZ_GECKO_PROFILER ifdefs that are no longer needed, r=gerald.
Differential Revision: https://phabricator.services.mozilla.com/D109078
2021-03-22 16:29:52 +00:00
Simon Giesecke
86e29e162f Bug 1695162 - Use range-based for instead of custom hashtable iterators. r=xpcom-reviewers,kmag
Differential Revision: https://phabricator.services.mozilla.com/D108585
2021-03-17 15:49:46 +00:00
Olli Pettay
a224dbd5c3 Bug 1698044 - add a pref to set paint suppression for oopif r=jesup
Differential Revision: https://phabricator.services.mozilla.com/D108179
2021-03-16 15:52:32 +00:00
Steven MacLeod
a6edfe2fd1 Bug 1646561 - Stop using DocShell::GetVisibility in PresShell. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D108238
2021-03-15 03:24:55 +00:00
Daniel Holbert
01b1668502 Bug 1662838 part 2: Remove nsIContentViewer's unused pausePainting() and resumePainting() APIs. r=tnikkel
These APIs are entirely unused (aside from one usage in a test, which part 1 in
this patch series removed), so this patch shouldn't impact behavior at all.

Historical note: we briefly removed these APIs once before, in this commit:
https://hg.mozilla.org/mozilla-central/rev/c216ff19d690
...but we brought them back because we had a motivating use case at the time.
We don't have any such motivating use cases any more, though.  So, this patch
here is essentially a modernized version of that older commit.

Differential Revision: https://phabricator.services.mozilla.com/D108148
2021-03-13 06:11:34 +00:00
Emilio Cobos Álvarez
009438e7e0 Bug 1697963 - Sync decode for print preview. r=aosmond
Even with the above fixes, this is not enough to fix all the
invalidation issues, because frame update notifications arrive for the
proxies of the inner image, not for the frozen image.

The simpler thing to do here is sync-decoding for print preview like we
do for print documents.

I think imgRequestProxyStatic is the only thing that can suffer from
these issues (because other ImageOps users like image-orientation don't
create a fake proxy).

Depends on D108198

Differential Revision: https://phabricator.services.mozilla.com/D108199
2021-03-12 18:39:06 +00:00
Emilio Cobos Álvarez
1312466379 Bug 1697886 - PresShell::GetPrimaryContentDocument shouldn't trigger about:blank creation. r=smaug
It's called during painting, so that'd be bad. This trivially happens
with e10s disabled.

Differential Revision: https://phabricator.services.mozilla.com/D108077
2021-03-11 20:56:41 +00:00