Commit Graph

1048 Commits

Author SHA1 Message Date
Olli Pettay
c2ebbf5f1c Bug 1563587, Make history.back/forward/go asynchronous, r=farre
The main part of the change is the change to ChildSHistory - make it possible to have Go() to be called asynchronously
and also let one to cancel pending history navigations. History object (window.history) can then use either the sync or
async Go(), depending on the dom.window.history.async pref.

LoadDelegate, which is used by GeckoView, needs special handling, since
it spins event loop nestedly. With session history loads and same-document loads we can just
bypass it.
To deal with same-document case, MaybeHandleSameDocumentNavigation is split to IsSameDocumentNavigation,
which collects relevant information about the request and returns true if same-document navigation should happen,
and then later HandleSameDocumentNavigation uses that information to trigger the navigation.
SameDocumentNavigationState is used to pass the information around.

referrer-policy-test-case.sub.js is buggy causing tests to pass only on Firefox with sync history API.

nested-context-navigations-iframe.html.ini is added because of https://bugzilla.mozilla.org/show_bug.cgi?id=1572932

Differential Revision: https://phabricator.services.mozilla.com/D41199
2019-08-13 17:11:35 +00:00
Nika Layzell
8f12a56d0d Bug 1523638 - Part 9: Use provided 'WindowGlobalChild' actors to create the initial about:blank document, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37656
2019-08-08 16:07:12 +00:00
Nika Layzell
3d14470ce0 Bug 1523638 - Part 8: Remove unused arguments from nsDocShell::Embed(), r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D37655
2019-08-08 16:07:10 +00:00
Kris Maglione
6c6f6fb7d9 Bug 1570773: Move browsingContext getter to nsIDocShellTreeItem and add notxpcom variant. r=nika
This also renames the existing infallible nsDocShell:GetBrowsingContext()
getter to BrowsingContextRef(), and changes the return type, since several
callers rely on it returning a raw pointer rather than an already_AddRefed.

Differential Revision: https://phabricator.services.mozilla.com/D40312
2019-08-07 16:59:30 +00:00
Kannan Vijayan
c690c1925f Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D39378
2019-07-26 16:48:31 +00:00
Nicholas Nethercote
c4aacd8403 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138
2019-07-26 01:10:23 +00:00
Ciure Andrei
555c0eb5a5 Backed out 10 changesets (bug 1523638) for causing high frequency Android 7.0 mochitests failures CLOSED TREE
Backed out changeset 644ceb2fe568 (bug 1523638)
Backed out changeset 27647ee7a927 (bug 1523638)
Backed out changeset 96f1ccb95570 (bug 1523638)
Backed out changeset b60a17ea716a (bug 1523638)
Backed out changeset 507e63186c5f (bug 1523638)
Backed out changeset 33255408ca61 (bug 1523638)
Backed out changeset d97b2d223616 (bug 1523638)
Backed out changeset eba2a0514cde (bug 1523638)
Backed out changeset d7065174c5c4 (bug 1523638)
Backed out changeset c21b361e175d (bug 1523638)
2019-07-23 05:13:32 +03:00
Nika Layzell
5c29b58c34 Bug 1523638 - Part 9: Use provided 'WindowGlobalChild' actors to create the initial about:blank document, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37656
2019-07-18 19:38:22 +00:00
Nika Layzell
79c8ef3bf4 Bug 1523638 - Part 8: Remove unused arguments from nsDocShell::Embed(), r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D37655
2019-07-18 19:38:20 +00:00
Bogdan Tara
8aef5e7fca Backed out 9 changesets (bug 1523638) for browser_contextmenu.js failures CLOSED TREE
Backed out changeset 0a584a07b696 (bug 1523638)
Backed out changeset 8c5af2289900 (bug 1523638)
Backed out changeset 40ed1bd64b09 (bug 1523638)
Backed out changeset 9a99a0391979 (bug 1523638)
Backed out changeset 07fb4748b91a (bug 1523638)
Backed out changeset 49047c3ebae9 (bug 1523638)
Backed out changeset d606d072126c (bug 1523638)
Backed out changeset 76dc1937fc77 (bug 1523638)
Backed out changeset c784c14b5d5d (bug 1523638)
2019-07-16 23:40:47 +03:00
Nika Layzell
5cc63b3949 Bug 1523638 - Part 9: Use provided 'WindowGlobalChild' actors to create the initial about:blank document, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37656
2019-07-16 18:47:56 +00:00
Nika Layzell
02d7cb9efb Bug 1523638 - Part 8: Remove unused arguments from nsDocShell::Embed(), r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D37655
2019-07-16 18:47:54 +00:00
Emilio Cobos Álvarez
9b6e807979 Bug 1218456 - Remove nsILinkHandler. r=smaug
Interfaces with just one implementation don't seem very useful.

Differential Revision: https://phabricator.services.mozilla.com/D37406
2019-07-09 23:08:05 +02:00
Dorel Luca
7a5944a08d Backed out 5 changesets (bug 1218456) for Crashtest failures on dom/l10n/tests/mochitest/dom_localization/test_overlay.html. CLOSED TREE
Backed out changeset 31afe89c2d42 (bug 1218456)
Backed out changeset 8bd57ebc4528 (bug 1218456)
Backed out changeset e5d37afff36a (bug 1218456)
Backed out changeset e3da86278ecf (bug 1218456)
Backed out changeset 343046089f8e (bug 1218456)
2019-07-09 22:04:13 +03:00
Emilio Cobos Álvarez
19f9994690 Bug 1218456 - Remove nsILinkHandler. r=smaug
Interfaces with just one implementation don't seem very useful.

Differential Revision: https://phabricator.services.mozilla.com/D37406
2019-07-09 16:17:47 +00:00
Nicholas Nethercote
03e42804b0 Bug 1563996 - Make browser.xul.error_pages.enabled a static pref. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D37201
2019-07-09 07:59:03 +00:00
Sylvestre Ledru
90f14f282a Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35622
2019-07-06 08:18:28 +00:00
Ehsan Akhgari
3054fa72d0 Bug 1557887 - Part 3: Extend nsIDocShell.createAboutBlankContentViewer() to accept a storage principal argument; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D34457
2019-06-12 09:04:24 +00:00
Ehsan Akhgari
114bc6a4ec Bug 1557887 - Part 2: Add the nsISHEntry.storagePrincipalToInherit attribute; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D34456
2019-06-12 23:01:56 +00:00
Sean Feng
60f4bc3ba6 Bug 1512388 - Add loading cross domain iframes in background r=smaug
This patch adds the ability to load cross domain iframes in the
background to make the top level documents finish earlier.

This is an experiment feature that we'll keep it disabled by default.

Differential Revision: https://phabricator.services.mozilla.com/D24938
2019-06-11 20:43:40 +00:00
Sylvestre Ledru
69746836db Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D30883
2019-05-25 17:46:15 +00:00
Barret Rennie
77bcd2e1ea Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-23 18:48:48 +00:00
arthur.iakab
699b884244 Backed out changeset a296439a25ff (bug 1519636) for frequent Windows cppunit failures CLOSED TREE 2019-05-24 14:26:01 +03:00
Sylvestre Ledru
10a773a4ca Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D30883
2019-05-24 09:59:17 +00:00
Bogdan Tara
27d82ae613 Backed out 4 changesets (bug 1510569) for 1419902.html failures CLOSED TREE
Backed out changeset 756519a7cf79 (bug 1510569)
Backed out changeset 39c6818fdb12 (bug 1510569)
Backed out changeset 3d9715a5ecd4 (bug 1510569)
Backed out changeset 418a61f5f87b (bug 1510569)
2019-05-23 01:58:51 +03:00
Barret Rennie
832d529074 Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-21 21:34:54 +00:00
Christoph Kerschbaumer
29451e9f5e Bug 965637: Move CSP from Principal into Client, part 1: backend changes. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D27654
2019-05-21 23:14:27 +00:00
Noemi Erli
42dc28e8b4 Backed out 4 changesets (bug 1510569) for mass test failures CLOSED TREE
Backed out changeset c5488e2770a6 (bug 1510569)
Backed out changeset df98eef1f640 (bug 1510569)
Backed out changeset db6da7f94a92 (bug 1510569)
Backed out changeset fb696b92c13d (bug 1510569)
2019-05-21 23:41:41 +03:00
Barret Rennie
6b0346b742 Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-21 19:28:39 +00:00
Cosmin Sabou
9135cb4406 Backed out 4 changesets (bug 1510569) for causing build bustages on nsIDocShell.idl CLOSED TREE
Backed out changeset 57f49df057be (bug 1510569)
Backed out changeset de97a258fcfd (bug 1510569)
Backed out changeset 4b0ed20ab3bc (bug 1510569)
Backed out changeset 1d8ab383d3e9 (bug 1510569)
2019-05-21 20:30:01 +03:00
Barret Rennie
6ccbfbf238 Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-21 17:08:57 +00:00
Brian Hackett
8e943c4609 Bug 1546736 Part 1 - Keep track of whether docshells and workers are being watched by the devtools, r=bzbarsky. 2019-05-08 09:27:32 -10:00
Brindusan Cristian
84e2dc890c Merge inbound to mozilla-central. a=merge 2019-05-15 00:41:32 +03:00
Kyle Machulis
d29c67c357 Bug 1540839 - Add ability to preserve browsing contexts between FrameLoaders; r=nika
When changing processes and therefore destroying/rebuilding
frameloaders, add ability to keep the browsing context around and add
it to the new frameloader.

Differential Revision: https://phabricator.services.mozilla.com/D26267
2019-05-14 10:51:04 -07:00
Sean Feng
4168529924 Bug 1531917 - Add Telemetry for how pages use bfcache r=jesup,bdekoz,smaug
Differential Revision: https://phabricator.services.mozilla.com/D30211
2019-05-14 16:21:09 +00:00
Razvan Maries
e5b095be37 Backed out 8 changesets (bug 1540839) for build bustages. CLOSED TREE
Backed out changeset f7e477858ab7 (bug 1540839)
Backed out changeset 55e841a0f005 (bug 1540839)
Backed out changeset b71b58e40426 (bug 1540839)
Backed out changeset 484a54613358 (bug 1540839)
Backed out changeset b34c4d71f202 (bug 1540839)
Backed out changeset 8ff2ff524489 (bug 1540839)
Backed out changeset 27492a30286c (bug 1540839)
Backed out changeset f1c35e8e84f6 (bug 1540839)
2019-05-14 04:23:27 +03:00
Kyle Machulis
563569ce58 Bug 1540839 - Add ability to preserve browsing contexts between FrameLoaders; r=nika
When changing processes and therefore destroying/rebuilding
frameloaders, add ability to keep the browsing context around and add
it to the new frameloader.

Differential Revision: https://phabricator.services.mozilla.com/D26267
2019-05-13 17:58:44 -07:00
Andrea Marchesini
f40d2b344b Bug 1320404 - Remove appId from origin attributes - part 1 - OriginAttributes and nsIPrincipal, r=Ehsan,flod
Differential Revision: https://phabricator.services.mozilla.com/D29353
2019-05-03 17:13:17 +00:00
Bogdan Tara
3fc33e1227 Backed out 4 changesets (bug 1320404) for test_permmanager_load_invalid_entries.js failures
Backed out changeset 7c2f4e64d38e (bug 1320404)
Backed out changeset a7e7c0251179 (bug 1320404)
Backed out changeset dd741b25a244 (bug 1320404)
Backed out changeset de9073c57d20 (bug 1320404)
2019-05-03 06:12:25 +03:00
Andrea Marchesini
8f5e7dccdc Bug 1320404 - Remove appId from origin attributes - part 1 - OriginAttributes and nsIPrincipal, r=Ehsan,flod
Differential Revision: https://phabricator.services.mozilla.com/D29353
2019-05-02 17:24:51 +00:00
Bogdan Tara
2c040ca027 Backed out 2 changesets (bug 1510569) for crashtests/1419902.html crashes CLOSED TREE
Backed out changeset fc0ae629221a (bug 1510569)
Backed out changeset 97f6ac273b5d (bug 1510569)
2019-05-03 03:48:15 +03:00
Barret Rennie
48a2bc08bb Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-02 23:35:02 +00:00
Bogdan Tara
c203974769 Backed out 2 changesets (bug 1510569) for crashtests/1419902.html failures CLOSED TREE
Backed out changeset 13c5249d66a7 (bug 1510569)
Backed out changeset a6ad4039d785 (bug 1510569)
2019-05-02 21:30:20 +03:00
Barret Rennie
2e21ffaa02 Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-02 17:00:51 +00:00
Cosmin Sabou
57e65f8648 Backed out 4 changesets (bug 1320404) for xperf failures on permissions.sqlite-journal.
Backed out changeset fbacf18b6532 (bug 1320404)
Backed out changeset fed7c475d75c (bug 1320404)
Backed out changeset 557b586f774a (bug 1320404)
Backed out changeset 5a20b5f43280 (bug 1320404)
2019-05-02 04:51:18 +03:00
Andrea Marchesini
483e24a1ff Bug 1320404 - Remove appId from origin attributes - part 1 - OriginAttributes and nsIPrincipal, r=Ehsan,flod
Differential Revision: https://phabricator.services.mozilla.com/D29353
2019-05-01 23:21:45 +00:00
Ryan Hunt
7144ca54c8 Bug 1534395 - Rename TabChild to BrowserChild. r=nika
This commit renames TabChild to BrowserChild.

Differential Revision: https://phabricator.services.mozilla.com/D28135
2019-04-09 17:39:01 -05:00
Ryan Hunt
c6e302039f Bug 1534395 - Rename nsITabParent to nsIRemoteTab. r=nika,mconley
nsITabParent is exposed to frontend code and is generally used as a representation of a remote tab. We could just rename the interface to nsIBrowserParent and worry about it later, but I think it's better to rename the interface to nsIRemoteTab so that we can later work on splitting the interface away from the PBrowser protocol.

Note: Some frontend code refers to a TabParentId. This commit renames this to RemoteTabId. We need to figure out the purpose of TabId with fission.

Differential Revision: https://phabricator.services.mozilla.com/D28132
2019-04-09 15:59:37 -05:00
Masayuki Nakano
ca114d2ee2 Bug 1543315 - part 10: Mark nsIPresShell::GoToAnchor() and nsIPresShell::ScrollToAnchor() as MOZ_CAN_RUN_SCRIPT r=smaug
Next, we should mark `PresShell::ScrollContentIntoView()` as
`MOZ_CAN_RUN_SCRIPT` because it's used widely.

This patch marks its `PresShell` users, `GoToAnchor()` and `ScrollToAnchor()`,
as `MOZ_CAN_RUN_SCRIPT`.  Additionally, this patch moves them from
`nsIPresShell` to `PresShell` because all callers refers `PresShell` directly.

Differential Revision: https://phabricator.services.mozilla.com/D28319
2019-04-23 01:27:47 +00:00
Ehsan Akhgari
504ae4e4ea Bug 1543786 - Ensure that we revoke a top frame's storage access when it is navigated away; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D27155
2019-04-17 15:01:53 +00:00