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

7390 Коммитов

Автор SHA1 Сообщение Дата
Peter Van der Beken 30b0eb25b2 Bug 1659992 - Fix nsDocShell::LoadURI for session history loads to not rely on session history in the child. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87744
2020-08-23 17:41:13 +00:00
Peter Van der Beken 73b5ecf2d5 Bug 1659991 - Reuse an existing shared state in the parent process. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87743
2020-08-23 20:14:03 +00:00
Peter Van der Beken 6e49bf5815 Bug 1659991 - Generate an id if we create a new session history entry in the child process. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87742
2020-08-23 17:41:06 +00:00
Peter Van der Beken a4a8b3da89 Bug 1649131 - Implement history.pushState/.replaceState for session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87039
2020-08-23 17:41:03 +00:00
Peter Van der Beken e08ef28207 Bug 1649131 - Store some data in a pseudo shared state in the child process. r=smaug
The entries in the parent process stores some data in a shared state for some of
the entries that share a document. We also need to store some of this data in
the info objects in the child process, but it doesn't make sense to have it be
shared: the data shouldn't be mutated in the child process, and we probably only
have one of the info objects anyway. This adds a structure that holds the shared
data for an info object in the child process, but without actually sharing it.
As we use info objects in both parent and child, we hold a void pointer that's a
strong reference to a shared state in the parent process, and an owning pointer
to the pseudo-shared state in the child process.

Differential Revision: https://phabricator.services.mozilla.com/D87038
2020-08-23 17:36:10 +00:00
Peter Van der Beken 1caf077d0b Bug 1649131 - Stop checking for an nsISHEntry in nsDocShellLoadState as a sign of a load from history. r=smaug
Checking for an nsISHEntry doesn't work anymore with session history in the
parent. For that we can check that the loading session history info's
mIsLoadFromSessionHistory is true. If there is no loading session history info
we can fall back to the old way of checking for a non-null nsISHEntry (which
will only ever be true if session history in the parent is turned off).

Differential Revision: https://phabricator.services.mozilla.com/D87037
2020-08-23 20:20:55 +00:00
Peter Van der Beken 4a9e44592e Bug 1649131 - Stop marking SessionHistoryInfo as moveonly. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87036
2020-08-20 12:58:40 +00:00
Olli Pettay f908277430 Bug 1660526 - Tweak AddToRootSessionHistory and AddChildSHEntryHelper to make them easier to follow, r=annyG
CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D87895
2020-08-21 20:59:52 +00:00
Bogdan Tara 90b813cb8e Backed out changeset b8753e7cb414 (bug 1660526) for session related asan failures CLOSED TREE 2020-08-22 09:01:40 +03:00
Olli Pettay 13ebfdf441 Bug 1660526 - Tweak AddToRootSessionHistory and AddChildSHEntryHelper to make them easier to follow, r=annyG
Differential Revision: https://phabricator.services.mozilla.com/D87895
2020-08-21 20:59:52 +00:00
Olli Pettay 0bd5beeadf Bug 1658821 - Move Id from SessionHistoryInfo to LoadingSessionHistoryInfo, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86864
2020-08-20 16:55:21 +00:00
Butkovits Atila 5c5df0b663 Backed out changeset 24d6087acc64 (bug 1658821) for build bustage at SessionHistoryEntry.cpp. CLOSED TREE 2020-08-20 17:37:53 +03:00
Olli Pettay cd47973905 Bug 1658821 - Move Id from SessionHistoryInfo to LoadingSessionHistoryInfo, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86864
2020-08-20 12:02:17 +00:00
Emilio Cobos Álvarez f04cda9679 Bug 1602410 - Make window.print() work with tab-modal printing. r=nika,geckoview-reviewers,agi
Do this by spinning the event loop until we've done the clone for
preview as appropriate.

This should be much less risky than finishing the previous patches
which would still be nice, but realistically landing them for 81 is not
going to happen.

This just returns without doing nothing in a couple cases, like when
there's already another modal dialog or such. That seems acceptable to
me, it's not clear what better way to do would be.

Differential Revision: https://phabricator.services.mozilla.com/D87484
2020-08-19 09:27:18 +00:00
Andrew McCreight d914048012 Bug 1659825 - Null check gWindowContexts in WindowContext::Discard(). r=nika
If we're after shutdown, then this variable will have been cleared.
This is the remaining use that was failing to do a null check, and
it was manifesting as a very low-volume crash.

Differential Revision: https://phabricator.services.mozilla.com/D87503
2020-08-18 21:46:07 +00:00
Andreas Farre 6fdf0fb9db Bug 1647454 - Check popup permission on window context in DoURILoad. r=nika
Depends on D86808

Differential Revision: https://phabricator.services.mozilla.com/D86828
2020-08-18 16:16:32 +00:00
Olli Pettay 19cafeb0ec Bug 1656207 - Disable BFCache (for now) if session history in parent is enabled, r=peterv
https://searchfox.org/mozilla-central/rev/358cef5d1a87172f23b15e1a705d6f278db4cdad/docshell/base/nsDocShell.cpp#6579
is where the essential check is done

Differential Revision: https://phabricator.services.mozilla.com/D87095
2020-08-18 15:23:30 +00:00
Peter Van der Beken 4c8b6bf03f Bug 1659668 - Make sure the children array is big enough when adding a child using ReplaceElementAt in SessionHistoryEntry::AddChild. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87415
2020-08-18 15:12:51 +00:00
Kris Maglione 3af8c4138c Bug 1651519: Remove nsIDOMWindowUtils::currentInnerWindowID. r=nika,remote-protocol-reviewers,webcompat-reviewers,whimboo
It has some properties which make it footgunny, especially in the face of
Fission. Callers should use WindowGlobalChild.innerWindowId instead.

Differential Revision: https://phabricator.services.mozilla.com/D82801
2020-08-17 20:20:50 +00:00
Peter Van der Beken e5cbd042f8 Bug 1658902 - Fix some code for session history in parent to work without the session history implementation in the child. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D86946
2020-08-17 18:52:31 +00:00
Edgar Chen bf43923608 Bug 1648887 - Part 2: Enable test_navigate_after_pagehide.html; r=kmag
This is a another case that hit the same assertion, we could reenable it after
bug 1611961.

Depends on D85752

Differential Revision: https://phabricator.services.mozilla.com/D85753
2020-08-06 14:49:02 +00:00
Edgar Chen b2ef530476 Bug 1611961 - Move UserActivationState from BrowsingContext to WindowContext; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D83126
2020-08-17 11:02:34 +00:00
Edgar Chen 7cb48e9af8 Bug 1658650 - Remove hasValidTransientUserAction from DocumentChannelCreationArgs; r=mattwoodrow
There is the same information exposed in DocShellLoadStateInit.
And we don't really need to query user action from BrowsingContext, this
information would be carried in `nsDocShellLoadState`.

Depends on D86724

Differential Revision: https://phabricator.services.mozilla.com/D86773
2020-08-16 20:18:02 +00:00
Olli Pettay 9c7b1aa59d Bug 1658649 - Make session-history-in-parent nsISHEntry setters to rely on active entry, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86770
2020-08-13 22:51:47 +00:00
Olli Pettay 5192276b89 Bug 1658454 - nsISHEntry.cacheKey setter for session-history-in-parent, r=peterv
SessionHistoryEntry::MaybeSynchronizeSharedStateToInfo call is a tad controversial, but
something like that is needed for the cases when the actual value lives in the SHEntrySharedParentState.

Differential Revision: https://phabricator.services.mozilla.com/D86640
2020-08-13 22:51:17 +00:00
Olli Pettay b4c699ff11 Bug 1658280 - nsISHEntry.scrollRestorationIsManual setter for session-history-in-parent, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86547
2020-08-13 23:17:48 +00:00
Olli Pettay 33a7c472fa Bug 1657757 - nsISHEntry.title setter for session-history-in-parent, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86275
2020-08-13 23:38:36 +00:00
Kris Maglione 05de051e4a Bug 1650257: Also set NewWindowBCIsTop annotation in parent. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87111
2020-08-14 19:16:45 +00:00
Olli Pettay cadcd14bc8 Bug 1656996 - Ensure cross-process session history navigations update child process side index and length, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D85789
2020-08-14 13:05:25 +00:00
Noemi Erli 9858638fe8 Backed out 2 changesets (bug 1657757, bug 1658280) for causing build bustages in nsDocShell.cpp CLOSED TREE
Backed out changeset 0f03a74f24a5 (bug 1658280)
Backed out changeset 3aaeea6bd201 (bug 1657757)
2020-08-14 02:12:48 +03:00
Noemi Erli b7c6d9d228 Backed out changeset 404955e976d6 (bug 1658454) for causing build bustages in nsDocShell.cpp CLOSED TREE 2020-08-14 01:30:50 +03:00
Csoregi Natalia 36ac6c5cca Backed out 2 changesets (bug 1656997, bug 1656996) for fission failures on browser_preferences_usage.js. CLOSED TREE
Backed out changeset c3aaa4f191e6 (bug 1656997)
Backed out changeset e41977f9608f (bug 1656996)
2020-08-14 00:47:56 +03:00
Olli Pettay 510e721d9e Bug 1658454 - nsISHEntry.cacheKey setter for session-history-in-parent, r=peterv
SessionHistoryEntry::MaybeSynchronizeSharedStateToInfo call is a tad controversial, but
something like that is needed for the cases when the actual value lives in the SHEntrySharedParentState.

Differential Revision: https://phabricator.services.mozilla.com/D86640
2020-08-13 19:18:29 +00:00
Olli Pettay 9805690970 Bug 1658280 - nsISHEntry.scrollRestorationIsManual setter for session-history-in-parent, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86547
2020-08-13 19:18:06 +00:00
Olli Pettay 83814cae84 Bug 1657757 - nsISHEntry.title setter for session-history-in-parent, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86275
2020-08-13 19:17:38 +00:00
Olli Pettay 9b6fb243d1 Bug 1656996 - Ensure cross-process session history navigations update child process side index and length, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D85789
2020-08-13 19:17:08 +00:00
Olli Pettay 23d50bfbe9 Bug 1655752 - Move session history to the replacing CanonicalBrowsingContext, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D85189
2020-08-13 16:33:56 +00:00
Razvan Maries ca34860579 Backed out changeset 2eca7dff6597 (bug 1658902) for perma failures on test_history_length_during_pageload.html. CLOSED TREE 2020-08-13 19:00:00 +03:00
Peter Van der Beken 360f74796c Bug 1658902 - Fix some code for session history in parent to work without the session history implementation in the child. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D86946
2020-08-13 13:07:21 +00:00
Edgar Chen 747f9db6d7 Bug 1658572 - Do not propagate user activation state while loading loading-error-page (about:neterror); r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D86724
2020-08-13 09:47:08 +00:00
Peter Van der Beken 5e736113a2 Bug 1658341 - Implement SessionHistory::AddChild/RemoveChild/ReplaceChild. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D86574
2020-08-13 08:48:48 +00:00
Peter Van der Beken a35af34bfa Bug 1658341 - Copy nsSHentry::AddChild/RemoveChild/ReplaceChild to SessionHistoryEntry. r=smaug
This copies the code as is, so won't compile. The next patch changes the implementation so it compiles.

Differential Revision: https://phabricator.services.mozilla.com/D86573
2020-08-13 08:48:45 +00:00
Jean-Yves Avenard 358cef5d1a Bug 1646539 - Part 3. Fix compilation. r=farre
BrowserContext is only fast declared here.
To avoid having to include the full header, move it out of the header.

Differential Revision: https://phabricator.services.mozilla.com/D86904
2020-08-13 07:16:11 +00:00
Geoff Lankow 35d3be0fc3 Bug 1646539 follow-up - Add missing #include to un-break the Thunderbird build. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D86871
2020-08-12 23:47:09 +00:00
Dorel Luca dcd1938a78 Backed out changeset 178fa7e29bb6 (bug 1585070) for Browser-chrome failures in general/browser_windowactivation.js. CLOSED TREE 2020-08-12 20:10:46 +03:00
Andreas Farre 2f88f75c98 Bug 1646539 - Part 2: Add field on WindowContext tracking popup permission. r=nika
Popup permissions initialized with the result of checking if the
constructing WindowContext's principal is allowed to open a popup. The
field is updated for all WindowContexts sharing a principal whenever
the popup permission for that nsIPrincipal changes.

Differential Revision: https://phabricator.services.mozilla.com/D86378
2020-08-12 15:38:12 +00:00
Steven MacLeod 05066e9e52 Bug 1585070 - move nsPIDOMWindowOuter::mIsActive to BrowsingContext. r=farre
A new `BrowsingContext` field, `isActiveBrowserWindow`, has been added
to track the active browser window for the `:-moz-window-inactive`
pseudoclass. This field takes the place of
`nsPIDOMWindowOuter::mIsActive`.

With this change `:-moz-window-inactive` is now fission compatible.

Differential Revision: https://phabricator.services.mozilla.com/D86422
2020-08-11 12:53:57 +00:00
Emilio Cobos Álvarez 0c03ba166c Bug 1658471 - Remove dom.security.featurePolicy.enabled. r=baku
We've shipped it on by default since 74 (bug 1617219).

Differential Revision: https://phabricator.services.mozilla.com/D86665
2020-08-12 10:57:04 +00:00
Kashav Madan 255b3f3ecb Bug 1566422 - Avoid unnecessary coordinate conversions when showing tooltips, r=emilio
We currently start with screen-relative coordinates, translate them to
widget-relative coordinates, and then translate them back to screen-relative
coordinates when actually showing the tooltip in XULBrowserWindow.showTooltip().
There's no reason for the extra conversions, so we can just send screen-relative
coordinates directly.

Since the widget origin for out-of-process frames is the origin of the frame
itself (instead of the tab, which is the case for in-process frames), the
screen-to-widget conversion was incorrect, and was causing a bug in how the
tooltip was being positioned. Avoiding that conversion altogether also fixes
that bug.

Differential Revision: https://phabricator.services.mozilla.com/D86750
2020-08-11 22:01:40 +00:00
Peter Van der Beken 710fadd5c3 Bug 1658334 - Correctly pass null state data over IPC in SessionHistoryInfo. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D86565
2020-08-11 15:28:37 +00:00