Commit Graph

511 Commits

Author SHA1 Message Date
Kershaw Chang
bd7389a309 Bug 1760580 - P2: Provide a reason when request is cancelled with NS_BINDING_ABORTED, r=necko-reviewers,media-playback-reviewers,valentin,chunmin
Differential Revision: https://phabricator.services.mozilla.com/D156071
2022-09-08 09:11:19 +00:00
Emilio Cobos Álvarez
09bcd7c8c5 Bug 1787127 - Use used color-scheme (not preferred) to determine canvas background adjustments. r=tnikkel
As per spec, see https://drafts.csswg.org/css-color-adjust/#color-scheme-effect:

> In order to preserve expected color contrasts, in the case of embedded
> documents typically rendered over a transparent canvas (such as
> provided via an HTML iframe element), if the used color scheme of the
> element and the used color scheme of the embedded document’s root
> element do not match, then the UA must use an opaque canvas of the
> Canvas color appropriate to the embedded document’s used color scheme
> instead of a transparent canvas.

After bug 1782596 we were using the preferred rather than used
color-scheme, which is the right thing to do for prefers-color-scheme,
but not for the canvas background.

Differential Revision: https://phabricator.services.mozilla.com/D155831
2022-09-04 23:16:32 +00:00
Emilio Cobos Álvarez
fc07a5d256 Bug 1782751 - Make desktop viewport mode a synced BrowsingContext field. r=twisniewski
So that it's preserved properly across replacements (bug 1781936).

Differential Revision: https://phabricator.services.mozilla.com/D155274
2022-08-22 22:12:07 +00:00
Emilio Cobos Álvarez
387a091981 Bug 1781936 - Propagate GeckoView settings on BrowsingContext replacement. r=nika
This should be a better fix. GeckoView assumes these don't change on .top
unless they are explicitly set.

I don't have an Android build environment handy, but I'll try to confirm.

Also, remove an unused flag while at it.

Differential Revision: https://phabricator.services.mozilla.com/D153107
2022-07-29 00:30:24 +00:00
Cathy Lu
92400f20da Bug 1734394 - Make Geckoview use the session store collector r=geckoview-reviewers,agi,farre,peterv
When the session storage prefs are enabled, GeckoSession updateSessionState will provide the bundle of information, including zoom, scroll, and form data, to the delegate. Currently works for Fission and on Fenix.

Differential Revision: https://phabricator.services.mozilla.com/D148215
2022-07-15 20:44:55 +00:00
criss
c58407b500 Backed out changeset 67fae8447273 (bug 1734394) for causing Assertion failures on StaticPrefList_browser.h. CLOSED TREE 2022-07-12 09:00:39 +03:00
Cathy Lu
1952841ba4 Bug 1734394 - Make Geckoview use the session store collector r=geckoview-reviewers,agi,farre,peterv
When the session storage prefs are enabled, GeckoSession updateSessionState will provide the bundle of information, including zoom, scroll, and form data, to the delegate. Currently works for Fission and on Fenix.

Differential Revision: https://phabricator.services.mozilla.com/D148215
2022-07-12 02:50:01 +00:00
Kagami Sascha Rosylight
db48a999b3 Bug 1769290 - Part 12: Apply mozilla-js-handle-rooted-typedef against docshell r=andi
Differential Revision: https://phabricator.services.mozilla.com/D150794
2022-07-04 20:57:18 +00:00
Andrew McCreight
c7320ddb6e Bug 1766305, part 2 - Return a wireframe with GetLayoutHistoryState. r=smaug,mconley
The main goal here is to get the wireframe test to work with
parent-controlled navigation.

This means we don't need to collect the wireframe any more in
PersistLayoutHistoryState, I think, because it is redundant.

I think we need to clear the wireframe in finish restore for
when we navigate back.

As a result of these changes, the two todo subtests in the
wireframe test now pass.

Differential Revision: https://phabricator.services.mozilla.com/D146252
2022-06-27 12:02:48 +00:00
Noemi Erli
4992494e23 Backed out changeset 56a33c1c3210 (bug 1734394) for causing build bustages in GeckoBundleUtils.cpp CLOSED TREE 2022-06-24 22:01:02 +03:00
Cathy Lu
cf874beceb Bug 1734394 - Make Geckoview use the session store collector r=geckoview-reviewers,agi,farre
When the session storage prefs are enabled, GeckoSession updateSessionState will provide the bundle of information, including zoom, scroll, and form data, to the delegate. Currently works for Fission and on Fenix.

Differential Revision: https://phabricator.services.mozilla.com/D148215
2022-06-24 18:34:28 +00:00
Marian-Vasile Laza
673860eaa1 Backed out changeset 39559c43173a (bug 1734394) for causing bustages on GeckoBundleUtils.cpp. CLOSED TREE 2022-06-23 20:05:54 +03:00
Cathy Lu
eb6e2ad0ed Bug 1734394 - Make Geckoview use the session store collector r=geckoview-reviewers,agi,farre
When the session storage prefs are enabled, GeckoSession updateSessionState will provide the bundle of information, including zoom, scroll, and form data, to the delegate. Currently works for Fission and on Fenix.

Differential Revision: https://phabricator.services.mozilla.com/D148215
2022-06-23 16:44:32 +00:00
Emilio Cobos Álvarez
87a0fd94ac Bug 1773811 - Fix APZ autoscroll coordinates. r=tnikkel
In bug 1773342, I made OS text zoom behave like layout full zoom on all
pages (including the main browser page).

This means that getting CSS pixels from the browser page and turning
them to LayoutDevice pixels by multiplying by GetDefaultScale() isn't
right.

However, the caller already has the right device pixel values, so just
use them.

Differential Revision: https://phabricator.services.mozilla.com/D149026
2022-06-13 00:54:33 +00:00
Peter Van der Beken
4e2427a37f Bug 1765951 - Stop storing BC pointer in nsSHistory. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D146205
2022-06-08 05:53:17 +00:00
Emilio Cobos Álvarez
2fe1cf801b Bug 1769775 - Add a MozPromise version of CanonicalBrowsingContext::Print. r=jwatt
And use it to implement the JS version of the method. This should avoid
the various complications that bug 1659819 hit.

Differential Revision: https://phabricator.services.mozilla.com/D146590
2022-05-17 16:02:35 +00:00
Jonathan Watt
b677f00ccc Bug 1769388 - Change nsIPrintSettingsService's 'newPrintSettings' attribute to a 'createNewPrintSettings' function. r=bobowen,webdriver-reviewers,whimboo
Having an attribute be a constructor is just...wrong.

Differential Revision: https://phabricator.services.mozilla.com/D146383
2022-05-16 11:50:34 +00:00
Jonathan Watt
e5a8eb1650 Bug 1432651 p1 - Pass RemotePrintJobChild through to the places where it's needed. r=emilio
Given how nsIPrintSettings is passed around, stored and copied all over the
place, it's very hard to reason about where and when a RemotePrintJobChild is
needed or valid. This patch avoids all that by explicitly passing a
RemotePrintJobChild when it's needed.

Another reason to make this change is because RemotePrintJobChild really does
not belong on nsIPrintSettings. That interface is supposed to represent a
collection of settings for laying out the document that is to be printed.

Differential Revision: https://phabricator.services.mozilla.com/D146380
2022-05-16 08:38:01 +00:00
criss
4081fba38e Merge autoland to mozilla-central. a=merge 2022-05-12 00:48:44 +03:00
Manuel Bucher
5110c10697 Bug 1753730 - Add EarlyHintPreloader to load 103 Early Hint responses into the cache r=necko-reviewers,ckerschb,dragana,kershaw
Currently only same origin requests are preloaded and preloads in the
secure context. This may change in the future to match W3C decisions and
Chromes behavior.

Also only images get preloaded. This will change in the future to cover
asset types.

Currently the anchor isn't parsed correctly yet[1], so this will be
fixed in a future patch.

On non-2xx responses of the main document all ongoing preloads get
canceled. Already completed preloads don't get affected and are in the
cache.

It is currently untested whether unused preloads don't have side effects.

Another future patch should cover adding the preload to the devtools.

[1]: https://datatracker.ietf.org/doc/html/rfc8288#section-3.2

Differential Revision: https://phabricator.services.mozilla.com/D137885
2022-05-11 15:41:39 +00:00
Iulian Moraru
3ca13ac9ae Backed out 3 changesets (bug 1753730) for causing bc failures on browser_103_preload.js.
Backed out changeset 8f27dc8dbbe0 (bug 1753730)
Backed out changeset 3c25877d2660 (bug 1753730)
Backed out changeset 47787105e3ad (bug 1753730)
2022-05-03 23:24:34 +03:00
Manuel Bucher
640b14d7a4 Bug 1753730 - Add EarlyHintPreloader to load 103 Early Hint responses into the cache r=necko-reviewers,ckerschb,dragana,kershaw
Currently only same origin requests are preloaded and preloads in the
secure context. This may change in the future to match W3C decisions and
Chromes behavior.

Also only images get preloaded. This will change in the future to cover
asset types.

Currently the anchor isn't parsed correctly yet[1], so this will be
fixed in a future patch.

On non-2xx responses of the main document all ongoing preloads get
canceled. Already completed preloads don't get affected and are in the
cache.

It is currently untested whether unused preloads don't have side effects.

Another future patch should cover adding the preload to the devtools.

[1]: https://datatracker.ietf.org/doc/html/rfc8288#section-3.2

Differential Revision: https://phabricator.services.mozilla.com/D137885
2022-05-03 19:24:42 +00:00
Peter Van der Beken
a7a91a7711 Bug 1766131 - Always synchronize layout history state on the previous page when restoring a page from BFCache. r=smaug
This fixes docshell/test/chrome/bug321671_window.xhtml running with SHIP.

Differential Revision: https://phabricator.services.mozilla.com/D144517
2022-04-28 09:54:36 +00:00
Seinlin
88e3c2cd37 Bug 1766718 - Add NS_PRINT to prevent build break. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D144888
2022-04-28 08:09:14 +00:00
Nika Layzell
8b041c71e1 Bug 1756980 - Part 3: Clarify "process switch" parameters in DocumentLoadListener, r=smaug
This clarifies some of the members and arguments which were used in
DocumentLoadListener to make them more clear, adding documentation.

In addition to the simplifications of logic and improved naming, this
patch also moves the responsibility of managing StreamFilterRequest out
of DisconnectListeners so that stream listeners behave more
consistently, as the existing flag doesn't map well to whether or not
they should be cleared.

This was kept seperate from part 1 as it is largely a clarity
improvement, and may make it harder to see the important changes in that
part.

Depends on D143676

Differential Revision: https://phabricator.services.mozilla.com/D144747
2022-04-27 15:22:01 +00:00
Nika Layzell
6ee69ff4d9 Bug 1756980 - Part 1: Redirect internally-handled attachment loads into new tabs, r=Gijs,smaug,necko-reviewers,dragana
This patch changes how we handle document loads which are being handled
internally but have Content-Disposition: attachment specified at the
DocumentLoadListener layer. This was done as process switching is
currently the only place during a load where we can change the target
BrowsingContext which the load will complete in.

The only situation where we should currently continue to deliver a
successful request to the default content-viewer despite
Content-Disposition: attachment being specified is when we choose to
handle a downloaded PDF internally, so this shouldn't impact other
cases.

The change is handled by forcing a process switch under the hood, and
opening a new browser window asynchronously to handle the process
switch, similar to how object and embed load upgrades are handled. This
is done using nsIBrowserDOMWindow to attempt to respect the user's
window opening preferences.

A small change to browser.js was also made to try to encourage the new
tab to be opened next to the previous tab, as well as to avoid starting
unnecessary new processes when creating the new browser window.

Differential Revision: https://phabricator.services.mozilla.com/D143675
2022-04-27 15:22:00 +00:00
Jonathan Watt
43b27078bc Bug 1763989. Remove the PPrinting and nsPrintingProxy code. r=bobowen
Bug 1757395 basically removed the reason for PPrinting to exist. What remained
essentially just added an unnecessary layer of complexity/indirection to the
creation of PRmotePrintJob actors.

Differential Revision: https://phabricator.services.mozilla.com/D143330
2022-04-26 14:30:29 +00:00
Andreas Farre
ea19a48880 Bug 1739450 - Part 1: Move ownership of session store scroll and form data to platform. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D130389
2022-04-19 15:19:22 +00:00
Mike Conley
3970205f09 Bug 1763672 - Introduce targetTopLevelLinkClicksToBlank on BrowsingContext. r=nika
This property defaults to false. When set to true, user-initiated link clicks in
the top-level BrowsingContext will default target to _blank. This is similar to what
we do for App Tabs, but is slightly more aggressive in that in will also occur for
same-origin navigations.

Differential Revision: https://phabricator.services.mozilla.com/D143374
2022-04-13 16:00:27 +00:00
criss
3901d02fd6 Backed out changeset 2e69a9d98234 (bug 1763672) for causing bustages on nsDocShell.cpp. CLOSED TREE 2022-04-13 18:03:11 +03:00
Mike Conley
73cb33e939 Bug 1763672 - Introduce targetTopLevelLinkClicksToBlank on BrowsingContext. r=nika
This property defaults to false. When set to true, user-initiated link clicks in
the top-level BrowsingContext will default target to _blank. This is similar to what
we do for App Tabs, but is slightly more aggressive in that in will also occur for
same-origin navigations.

Differential Revision: https://phabricator.services.mozilla.com/D143374
2022-04-13 13:16:38 +00:00
Jens Stutte
1338c9b0e8 Bug 1696771: Always null check the ContentProcessManager singleton before use. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D143180
2022-04-08 11:57:05 +00:00
Norisz Fay
80a86ada49 Backed out changeset 2531ddbeeffa (bug 1696771) for causing multiple failures CLOSED TREE 2022-04-08 10:44:55 +03:00
Jens Stutte
8507c7e54e Bug 1696771: Always null check the ContentProcessManager singleton before use. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D143180
2022-04-08 06:20:19 +00:00
Emilio Cobos Álvarez
cfc8a1c90e Bug 1762298 - Inherit used color-scheme from embedder <browser> elements. r=nika,dao,Gijs
This allows popups and sidebars to use the chrome preferred
color-scheme.

This moves the responsibility of setting the content-preferred color
scheme to the appropriate browsers to the front-end (via tabs.css).

We still return the PreferredColorSchemeForContent() when there's no
pres context (e.g., for display:none in-process iframes). We could
potentially move a bunch of the pres-context data to the document
instead, but that should be acceptable IMO as for general web content
there's no behavior change in any case.

Differential Revision: https://phabricator.services.mozilla.com/D142578
2022-04-04 18:22:04 +00:00
Butkovits Atila
520eb8752c Backed out 2 changesets (bug 1728331) for causing failures at RTCPeerConnection-videoDetectorTest.html. CLOSED TREE
Backed out changeset b6649f0253c5 (bug 1728331)
Backed out changeset e9242af1224d (bug 1728331)
2022-03-29 00:04:47 +03:00
Nika Layzell
169d7e48bb Bug 1728331 - Part 1: Avoid cycling between processes when navigating within a tab, r=smaug
This patch replaces the previous process selection infrastructure with a
new setup implemented entirely in C++, which should more accurately
track the set of processes in use, and should encourage re-use of the
existing content process when navigating by not counting the current
tab.

This approach intentionally allows for process switching to another
process during navigation if there is uneven load between processes to
encourage balanced process use.

I think this may also fix some of the session restore issues with many
tabs using the same process, rather than being spread over 4, as we now
track a tab earlier in its lifecycle before the BrowserParent instance
is created.

Differential Revision: https://phabricator.services.mozilla.com/D126405
2022-03-28 16:18:04 +00:00
Olli Pettay
d4a2bb0a3e Bug 1757458, replace loading session history entry only right before redirecting load to real channel r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D140559
2022-03-10 10:41:20 +00:00
Chris Peterson
35b24a43cd Bug 1598759 - Remove support for Large-Allocation HTTP header. r=nika,fluent-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D140459
2022-03-09 03:18:04 +00:00
Henri Sivonen
81ebfedbf3 Bug 1736570 - Avoid DocumentChannel for nsParser-created initial about:blank replacement. r=nika,smaug
Differential Revision: https://phabricator.services.mozilla.com/D135106
2022-02-17 13:27:15 +00:00
Nika Layzell
0ac9d7016c Bug 1744352 - Part 1: Ensure we set InitialSandboxFlags when opening or replacing toplevel BrowsingContexts, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D138209
2022-02-09 17:50:51 +00:00
Butkovits Atila
61617d602a Backed out 2 changesets (bug 1744352) for causing failures at test_javascript_sandboxed_popup.html. CLOSED TREE
Backed out changeset 1a7d29ce984c (bug 1744352)
Backed out changeset b3a8f99f0044 (bug 1744352)
2022-02-09 17:53:32 +02:00
Nika Layzell
1a923f1aee Bug 1744352 - Part 1: Ensure we set InitialSandboxFlags when opening or replacing toplevel BrowsingContexts, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D138209
2022-02-09 14:44:51 +00:00
Peter Van der Beken
67566d5060 Bug 1750174 - Auto-refreshing pages reposition themselves to the top upon refresh. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D137383
2022-02-02 13:22:30 +00:00
Cristian Tuns
95b0d57860 Backed out changeset 1e505766ba35 (bug 1750174) for causing mochitest failures on test_bug1742865.html CLOSED TREE 2022-02-02 03:44:16 -05:00
Peter Van der Beken
6f4c50ef05 Bug 1750174 - Auto-refreshing pages reposition themselves to the top upon refresh. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D137383
2022-02-02 07:58:58 +00:00
Peter Van der Beken
94a5f88063 Bug 1751919 - Crash in [@ mozilla::dom::SessionHistoryEntry::ReplaceWith]. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D137305
2022-01-28 18:52:21 +00:00
Olli Pettay
7a4d596e8c Bug 1747019 - set cache key on session history entry, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D136979
2022-01-28 17:00:08 +00:00
Mike Conley
0514cf28ed Bug 1749008 - Create a wireframe for history states during navigation / pushState. and hang them off of nsISHEntry. r=peterv,emilio
This is preffed off by default via browser.history.collectWireframes.

Differential Revision: https://phabricator.services.mozilla.com/D135341
2022-01-26 15:53:34 +00:00
Nika Layzell
70212ad785 Bug 1678965 - Part 1: Expose SetCrossGroupOpener to chrome JS, r=Gijs,farre
Differential Revision: https://phabricator.services.mozilla.com/D100152
2022-01-25 17:42:44 +00:00