Commit Graph

2325 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
667c1a9396 Bug 1920357 - Ignore viewport meta tag when we're in RDM and we also force desktop viewport. r=devtools-reviewers,jdescottes
Currently DevTools doesn't do it, but it feels like the right API and is
already there. This allows fixing this on the devtools side however you
want :)

Differential Revision: https://phabricator.services.mozilla.com/D223627
2024-10-09 22:34:40 +00:00
Tamas Szentpeteri
8285dfaab8 Backed out changeset 4b1409597101 (bug 1920718) for causing bp bustages on rapl.cpp. 2024-10-08 23:27:18 +03:00
serge-sans-paille
1966f9a43c Bug 1920718 - Annotate all global variable with runtime initialization as MOZ_RUNINIT r=application-update-reviewers,media-playback-reviewers,anti-tracking-reviewers,places-reviewers,profiler-reviewers,gfx-reviewers,aosmond,lina,nalexander,aabh
This annotation is only understood by our clang-tidy plugin. It has no
effect on regular compilation.

Differential Revision: https://phabricator.services.mozilla.com/D223341
2024-10-08 16:49:51 +00:00
Olli Pettay
2628a1819d Bug 1918288, let same origin js sandboxes use document.open, r=dom-core,farre
Differential Revision: https://phabricator.services.mozilla.com/D222634
2024-10-01 12:33:38 +00:00
Andrew Creskey
c8c72cd3c7 Bug 1920155 - Add feature usage bitfield to the PageloadEvent, start with fetchPriority r=denispal,emilio
Extend the pageload event to store features used on the root document for better signal-to-noise detection in performance experiments.
This patch uses a bit to record documents in which fetchpriority is used on images.

Data-classification-low: Category 1 “Technical data”

Differential Revision: https://phabricator.services.mozilla.com/D222991
2024-10-01 10:10:13 +00:00
keithamus
a155da2430 Bug 1888728 - Use CloseWatcher machinery for Dialogs & Popovers r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D206170
2024-09-24 16:48:09 +00:00
Emilio Cobos Álvarez
b7eaa517a7 Bug 1917356 - Fix paged mode check.
MANUAL PUSH: Trivial fix + comment CLOSED TREE
2024-09-18 22:13:42 +02:00
Emilio Cobos Álvarez
b38e13f7b4 Bug 1917356 - Update remote frame sizes for printing reliably. r=mstange
Printing has a weird code-path which doesn't use the refresh driver.
Update frame sizes explicitly, and remove the hack in
nsDisplayRemote::Paint (which is what probably papered over this).

Differential Revision: https://phabricator.services.mozilla.com/D222372
2024-09-17 16:03:30 +00:00
Emilio Cobos Álvarez
ec951a5abb Bug 1917458 - Fix puppeteer/remote tests after D221995. r=webdriver-reviewers,webidl,smaug,jdescottes
Calling setViewport on a background tab would wait forever without this
tweak after D221995, because we won't resize it until it becomes active.

Some tests like the ones mentioned in comment 12 call newPage() multiple
times at once, and newPage() calls setViewport() if there is a default
viewport set, which triggered this bug.

Make this work by reusing the AppWindow logic for sizing popup windows,
with a tweak so that we also resize background tabs.

Differential Revision: https://phabricator.services.mozilla.com/D222227
2024-09-16 13:21:51 +00:00
Emilio Cobos Álvarez
5b85f354b2 Bug 1917458 - Don't send resizes to inactive toplevels. r=mstange
This makes resizing the browser generally faster by not resizing
all background tabs at the same time.

This allows to remove special code in the browser to try to avoid
it, too.

Differential Revision: https://phabricator.services.mozilla.com/D221995
2024-09-16 13:21:51 +00:00
Emilio Cobos Álvarez
b13159498a Bug 1917458 - Only send resizes for remote browsers once per frame. r=mstange,extension-reviewers,tabbrowser-reviewers,dao,robwu
Do it at the same time as UpdateRemoteFrameEffects() (so, intersection
observer timing). Otherwise we can see flickering sometimes from the
resize with the previous patch (and this should be less work, when we
resize).

Non-remote frames need to synchronously communicate their resizes
(because JS could access the frame), but that's not an issue for
remote frames.

This should also more reliably prevent issues like bug 1910887 or like
bug 1764655, and paves the way for fixing bug 1750189 (which stalled) in
a similar fashion.

I tested this in a build with a couple hundred tabs open and it doesn't
measurably show up. I think we should consider not communicating resizes
to background tabs / hidden remote iframes, at least for top levels.

Differential Revision: https://phabricator.services.mozilla.com/D221405
2024-09-15 21:57:40 +00:00
Emilio Cobos Álvarez
4f2bb6daa0 Bug 1917458 - Update remote effects on top descendants. r=mstange
This is currently not an issue because for top levels we don't look at
the effects info. But:

 * It is useful, because it might allow to remove some special-cases
   around here[1].

 * For the next patch I want to also communicate resizes, where we'll
   need to handle them.

[1]: https://searchfox.org/mozilla-central/rev/181e5bb2645236a617d42e3740420098097f7a0f/dom/ipc/BrowserChild.cpp#3030

Differential Revision: https://phabricator.services.mozilla.com/D222096
2024-09-15 21:57:40 +00:00
Emilio Cobos Álvarez
1c4eb92d25 Bug 1917458 - Factor out remote effects update. r=mstange
No behavior change, just moving code around for the following patches.

Differential Revision: https://phabricator.services.mozilla.com/D222095
2024-09-15 21:50:00 +00:00
Cristian Tuns
482d5b9f87 Backed out 5 changesets (bug 1917458) for causing wpt failures in no_window_open_when_term_nesting_level_nonzero.window.html CLOSED TREE
Backed out changeset 157eb2ada2ca (bug 1917458)
Backed out changeset 3f6d758ac9c6 (bug 1917458)
Backed out changeset 65384dcd3d9a (bug 1917458)
Backed out changeset e4cca274eb5a (bug 1917458)
Backed out changeset 2b1c3c2aef15 (bug 1917458)
2024-09-14 21:04:04 -04:00
Emilio Cobos Álvarez
fcfa62c2d0 Bug 1917458 - Don't send resizes to inactive toplevels. r=mstange
This makes resizing the browser generally faster by not resizing
all background tabs at the same time.

This allows to remove special code in the browser to try to avoid
it, too.

Differential Revision: https://phabricator.services.mozilla.com/D221995
2024-09-14 23:15:52 +00:00
Emilio Cobos Álvarez
c35fde2a5b Bug 1917458 - Only send resizes for remote browsers once per frame. r=mstange,extension-reviewers,tabbrowser-reviewers,dao,robwu
Do it at the same time as UpdateRemoteFrameEffects() (so, intersection
observer timing). Otherwise we can see flickering sometimes from the
resize with the previous patch (and this should be less work, when we
resize).

Non-remote frames need to synchronously communicate their resizes
(because JS could access the frame), but that's not an issue for
remote frames.

This should also more reliably prevent issues like bug 1910887 or like
bug 1764655, and paves the way for fixing bug 1750189 (which stalled) in
a similar fashion.

I tested this in a build with a couple hundred tabs open and it doesn't
measurably show up. I think we should consider not communicating resizes
to background tabs / hidden remote iframes, at least for top levels.

Differential Revision: https://phabricator.services.mozilla.com/D221405
2024-09-14 23:05:27 +00:00
Emilio Cobos Álvarez
7080837d9c Bug 1917458 - Update remote effects on top descendants. r=mstange
This is currently not an issue because for top levels we don't look at
the effects info. But:

 * It is useful, because it might allow to remove some special-cases
   around here[1].

 * For the next patch I want to also communicate resizes, where we'll
   need to handle them.

[1]: https://searchfox.org/mozilla-central/rev/181e5bb2645236a617d42e3740420098097f7a0f/dom/ipc/BrowserChild.cpp#3030

Differential Revision: https://phabricator.services.mozilla.com/D222096
2024-09-14 23:03:17 +00:00
Emilio Cobos Álvarez
6ac6f3f5f0 Bug 1917458 - Factor out remote effects update. r=mstange
No behavior change, just moving code around for the following patches.

Differential Revision: https://phabricator.services.mozilla.com/D222095
2024-09-14 22:56:47 +00:00
Andrea Marchesini
1249438a9a Bug 1475599 - part 10 - CookieStore API - CHIP implementation shared between Document and CookieStore, r=cookie-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D220288
2024-09-12 16:48:23 +00:00
Andrea Marchesini
776b28b9d2 Bug 1475599 - part 2 - CookieStore API - IPDL, r=edgul,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D215145
2024-09-12 16:48:19 +00:00
Emilio Cobos Álvarez
c53e62dada Bug 1917361 - Deal with <frame> edge case in the code from bug 1891335. r=smaug
Apparently we might not create a subdoc frame for <frame> unless it's
inside <frameset>.

Let's treat it as fully hidden.

Differential Revision: https://phabricator.services.mozilla.com/D221943
2024-09-12 15:00:57 +00:00
Iulian Moraru
ccb003999e Backed out 11 changesets (bug 1475599) for causing wpt failures on change_eventhandler_in_bfcache.https.window.html. CLOSED TREE
Backed out changeset 74d0efb3b0d1 (bug 1475599)
Backed out changeset 7e736b5732c1 (bug 1475599)
Backed out changeset 8620daea37ad (bug 1475599)
Backed out changeset 0d57b435d872 (bug 1475599)
Backed out changeset a63a5bcb0524 (bug 1475599)
Backed out changeset cd8cc80dc7e9 (bug 1475599)
Backed out changeset ef2cdfb059af (bug 1475599)
Backed out changeset d3c7729a1972 (bug 1475599)
Backed out changeset 7eccbaa8e62e (bug 1475599)
Backed out changeset cc3c39aa8fb8 (bug 1475599)
Backed out changeset 2fc9a3d0ad8b (bug 1475599)
2024-09-12 00:03:14 +03:00
Andrea Marchesini
e57805b43a Bug 1475599 - part 10 - CookieStore API - CHIP implementation shared between Document and CookieStore, r=cookie-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D220288
2024-09-11 16:26:58 +00:00
Andrea Marchesini
97580f39c2 Bug 1475599 - part 2 - CookieStore API - IPDL, r=edgul,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D215145
2024-09-11 16:26:55 +00:00
Tamas Szentpeteri
9b65ed1b2d Backed out 11 changesets (bug 1475599) for causing mochitest failures on browser_script_command_execute_basic.js. CLOSED TREE
Backed out changeset 51aa424e5ec9 (bug 1475599)
Backed out changeset 01c2bc6d727a (bug 1475599)
Backed out changeset 2d925ea3da19 (bug 1475599)
Backed out changeset 30d5dfedf252 (bug 1475599)
Backed out changeset fc3b4c5ee4b2 (bug 1475599)
Backed out changeset 0cfe4b34b57a (bug 1475599)
Backed out changeset fc19677480ad (bug 1475599)
Backed out changeset f279f023c340 (bug 1475599)
Backed out changeset 4063d0c74231 (bug 1475599)
Backed out changeset 0868fb4018a7 (bug 1475599)
Backed out changeset 9c8b6e35bf3f (bug 1475599)
2024-09-11 00:31:53 +03:00
Andrea Marchesini
157a1548cf Bug 1475599 - part 10 - CookieStore API - CHIP implementation shared between Document and CookieStore, r=cookie-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D220288
2024-09-10 16:31:41 +00:00
Andrea Marchesini
4c2e8563cb Bug 1475599 - part 2 - CookieStore API - IPDL, r=edgul,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D215145
2024-09-10 16:31:38 +00:00
Tom Schuster
87e0cb2fb6 Bug 1773976 - Add a new nsContentPolicyType TYPE_INTERNAL_EXTERNAL_RESOURCE. r=emilio
This is maybe not the best name, but at least it is not a lie.

Differential Revision: https://phabricator.services.mozilla.com/D216789
2024-09-09 12:16:12 +00:00
Emilio Cobos Álvarez
0b3521ccca Bug 1891335 - Compute EffectInfo updates at IntersectionObserver time. r=smaug,hiro
What goes on here is that there's a couple of unfortunate style change
sequences which end up making us not do the EffectsInfo dance correctly.

Twitter uses (maybe didn't use to, which would explain the regression) a
visibility: hidden, out-of-flow iframe for a bit (which we correctly
throttle). But then they switch to an in-flow, visible, zero-height
iframe. That we should _not_ throttle. However, we end up not getting to
the display list code at all, because nsBlockFrame decides that we don't
need to descend into an empty line[1].

It seems less error prone to re-use the IntersectionObserver timing and
computation to determine whether the iframe is visible. That completely
matches in-process iframes, too.

Removing the empty frame border and putting them on an empty line in
dom/base/test/test_bug1639328.html is enough to reproduce the issue
without this patch.

[1]: https://searchfox.org/mozilla-central/rev/fe2743c6c5c708061c7f6504b26958fcc815bb4a/layout/generic/nsBlockFrame.cpp#7569-7579

Differential Revision: https://phabricator.services.mozilla.com/D207479
2024-09-06 16:04:57 +00:00
Stanca Serban
d05e0c1dd0 Backed out changeset 80db8b7ff2af (bug 1891335) for causing mochitests failures in test_bug1639328.html. 2024-09-06 00:22:51 +03:00
Emilio Cobos Álvarez
f20aebf2fc Bug 1891335 - Compute EffectInfo updates at IntersectionObserver time. r=smaug,hiro
What goes on here is that there's a couple of unfortunate style change
sequences which end up making us not do the EffectsInfo dance correctly.

Twitter uses (maybe didn't use to, which would explain the regression) a
visibility: hidden, out-of-flow iframe for a bit (which we correctly
throttle). But then they switch to an in-flow, visible, zero-height
iframe. That we should _not_ throttle. However, we end up not getting to
the display list code at all, because nsBlockFrame decides that we don't
need to descend into an empty line[1].

It seems less error prone to re-use the IntersectionObserver timing and
computation to determine whether the iframe is visible. That completely
matches in-process iframes, too.

Removing the empty frame border and putting them on an empty line in
dom/base/test/test_bug1639328.html is enough to reproduce the issue
without this patch.

[1]: https://searchfox.org/mozilla-central/rev/fe2743c6c5c708061c7f6504b26958fcc815bb4a/layout/generic/nsBlockFrame.cpp#7569-7579

Differential Revision: https://phabricator.services.mozilla.com/D207479
2024-09-05 17:16:12 +00:00
Emilio Cobos Álvarez
83a5b7cb8d Bug 1916311 - [css-view-transitions] Initial pass at DOM API internals. r=boris,webidl,smaug
This is still fairly incomplete (i.e. no capturing, etc), but it allows
a transition to "start", and then finish (on the next frame always, for
now) or timeout, appropriately.

I think it's in a reviewable shape, given that. There's one known
divergence from the spec, which is described in
https://github.com/w3c/csswg-drafts/issues/10822

Differential Revision: https://phabricator.services.mozilla.com/D220843
2024-09-04 20:24:55 +00:00
Butkovits Atila
1e65bfe9d0 Backed out 4 changesets (bug 1916311) for causing wpt failures at no-crash-set-exception.html. CLOSED TREE
Backed out changeset 7a2f34195c02 (bug 1916311)
Backed out changeset 09b974edc310 (bug 1916311)
Backed out changeset 91431bf2cb69 (bug 1916311)
Backed out changeset cadf4f0266df (bug 1916311)
2024-09-04 20:58:46 +03:00
Emilio Cobos Álvarez
4886de829b Bug 1916311 - [css-view-transitions] Initial pass at DOM API internals. r=boris,webidl,smaug
This is still fairly incomplete (i.e. no capturing, etc), but it allows
a transition to "start", and then finish (on the next frame always, for
now) or timeout, appropriately.

I think it's in a reviewable shape, given that. There's one known
divergence from the spec, which is described in
https://github.com/w3c/csswg-drafts/issues/10822

Differential Revision: https://phabricator.services.mozilla.com/D220843
2024-09-04 11:12:47 +00:00
Olli Pettay
25c3ef03e5 Bug 1914513 - Add a pref to disable mutation events, r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D219934
2024-09-02 13:29:57 +00:00
Hiroyuki Ikezoe
432ee0f8e5 Bug 1884807 - Change the default interactive-widget value to resizes-visual behind a pref. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D220500
2024-08-29 04:50:44 +00:00
Sean
34bf5da7b5 Bug 1914964 - Remove unused or high volume Early Hints probes r=acreskey
Differential Revision: https://phabricator.services.mozilla.com/D220157
2024-08-28 19:43:52 +00:00
Adam Vandolder
ec5d5d6baf Bug 1734181 - Part 2: User activations should set hasUserInteraction on current session history entry. r=jjaschke,peterv,dom-core
Differential Revision: https://phabricator.services.mozilla.com/D216826
2024-08-24 19:43:31 +00:00
Emilio Cobos Álvarez
0b30c30f13 Bug 1914319 - View Transition API stubs. r=boris,webidl,saschanaz
Differential Revision: https://phabricator.services.mozilla.com/D219848
2024-08-22 17:48:16 +00:00
Emilio Cobos Álvarez
f13512e295 Bug 1914106 - Deal with insertRule edge-case. r=jwatt
When there's trailing garbage after an @import rule we throw, but we
still trigger the load (that's not great but not trivial to change).

Deal with that case before calling ImportRuleLoaded().

Differential Revision: https://phabricator.services.mozilla.com/D219783
2024-08-22 05:39:07 +00:00
Butkovits Atila
6d3e02fa30 Backed out 5 changesets (bug 1734181) for causing failures at test_ext_tabs_goBack_goForward.html. CLOSED TREE
Backed out changeset eb37aa9ac513 (bug 1734181)
Backed out changeset a94eb78e58c2 (bug 1734181)
Backed out changeset aa72b0e38e8b (bug 1734181)
Backed out changeset f4b8c6babb7e (bug 1734181)
Backed out changeset 8ec6704b8022 (bug 1734181)
2024-08-21 05:58:08 +03:00
Adam Vandolder
2af4205f1f Bug 1734181 - Part 2: User activations should set hasUserInteraction on current session history entry. r=jjaschke,peterv,dom-core
Differential Revision: https://phabricator.services.mozilla.com/D216826
2024-08-20 14:21:29 +00:00
Florian Quèze
4d0592dfe3 Bug 1913624 - Remove expired telemetry histogram QUIRKS_MODE, r=chutten.
Depends on D219401

Differential Revision: https://phabricator.services.mozilla.com/D219436
2024-08-20 10:26:49 +00:00
Peter Van der Beken
210c536413 Bug 1912083 - Switch url argument to UTF8 string. r=jjaschke
Differential Revision: https://phabricator.services.mozilla.com/D218947
2024-08-20 07:56:25 +00:00
Andrea Marchesini
85dc5732ee Bug 1910886 - Reduce duplicated code between CookieService and CookieServiceChild - part 3 - Fix gtests, r=edgul
Differential Revision: https://phabricator.services.mozilla.com/D218314
2024-08-15 21:35:42 +00:00
Andrea Marchesini
6fcf3470f4 Bug 1910886 - Reduce duplicated code between CookieService and CookieServiceChild - part 2 - Unify nsICookieService.setCookieStringFromDocument implementations, r=edgul,cookie-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D218313
2024-08-15 21:35:42 +00:00
Andrea Marchesini
fe08dedf63 Bug 1910886 - Reduce duplicated code between CookieService and CookieServiceChild - part 1 - Unify nsICookieService.getCookieStringFromDocument implementations, r=edgul,cookie-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D218312
2024-08-15 21:35:41 +00:00
Andrea Marchesini
8a3b196da6 Bug 1912598 - Check the child process existence in Document::RequestStorageAccess even when e10s is off, r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D219011
2024-08-14 08:37:55 +00:00
Narcis Beleuzu
5e01f070d7 Backed out 3 changesets (bug 1910886) for causing mochitest failures on browser_storageAccessPrivilegeAPI.js . CLOSED TREE
Backed out changeset 8fe13ea22554 (bug 1910886)
Backed out changeset a851b9fcca9c (bug 1910886)
Backed out changeset e5791012019f (bug 1910886)
2024-08-09 14:50:41 +03:00
Andrea Marchesini
d32be3189f Bug 1910886 - Reduce duplicated code between CookieService and CookieServiceChild - part 3 - Fix gtests, r=edgul
Differential Revision: https://phabricator.services.mozilla.com/D218314
2024-08-09 08:37:14 +00:00