Commit Graph

2972 Commits

Author SHA1 Message Date
Edgar Chen
91a465e33d Bug 1578355 - Part 1: Move user-activation code from EventStateManager to UserActivation; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45168
2019-09-20 10:31:55 +00:00
Kris Maglione
5c9235777f Bug 1580355: Run findWithName checks in the correct process and update to expect access checks. r=farre
BrowsingContext.findWithName is required to do access checks based on the
requestor, which can only be done in the process which owns it. This change
also alters the behavior of the existing CanAccess origin checks, which
typically treat any item as same-origin, but only when the docshells are
actually same process.

Removing the exemption fixes the behavior discrepancy between Fission and
non-Fission runs, but also requires that the test be updated to expect proper
access checks. Which is the situation we really want to test, anyway.

Differential Revision: https://phabricator.services.mozilla.com/D45837
2019-09-19 11:33:53 +00:00
Jonathan Watt
c25ce80903 Bug 1559841. Make the 'load' event wait for OOP-iframes to load. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D41953
2019-09-19 00:00:44 +00:00
Jean-Yves Avenard
a6337010e5 Bug 1581470 - Check for CSP navigate-to during ConfigureChannel so that it runs in the parent process. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D45985
2019-09-18 04:36:51 +00:00
Ehsan Akhgari
2363fb83fc Bug 1580617 - Make nsDocShell::GetContentBlockingLog() reject its returned promise when there's no content viewer; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D45587
2019-09-15 13:06:28 +00:00
Benjamin
c5beb1096e Bug 1529068 - Implementation of the navigate-to CSP directive as defined in CSP Level 3. r=ckerschb,mccr8
https://www.w3.org/TR/CSP3/#directive-navigate-to

Differential Revision: https://phabricator.services.mozilla.com/D37139
2019-09-10 22:33:51 +00:00
Dorel Luca
1a9552b2ad Backed out changeset 890bcaee9b7d (bug 1529068) for causing massive tier2 failures on central in dom/security/test/csp/test_navigate_to.html. CLOSED TREE 2019-09-05 09:47:35 +03:00
Benjamin
ba0cb3fafb Bug 1529068 - Implementation of the navigate-to CSP directive as defined in CSP Level 3. r=ckerschb,mccr8
https://www.w3.org/TR/CSP3/#directive-navigate-to

Differential Revision: https://phabricator.services.mozilla.com/D37139
2019-09-04 20:29:37 +00:00
Csoregi Natalia
3f8382e243 Backed out changeset 99b313550fb8 (bug 1529068) for eslint failure on test_navigate_to.html. CLOSED TREE 2019-09-04 21:15:18 +03:00
Benjamin
bdc89781de Bug 1529068 - Implementation of the navigate-to CSP directive as defined in CSP Level 3. r=ckerschb,mccr8
https://www.w3.org/TR/CSP3/#directive-navigate-to

Differential Revision: https://phabricator.services.mozilla.com/D37139
2019-09-04 17:44:14 +00:00
Jean-Yves Avenard
7e84791f59 Bug 1556489 - P23 - Only create new ClientSource objects in the content, but use the recreated info from redirects in the parent. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D42260
2019-09-03 10:19:53 +10:00
Jean-Yves Avenard
778122dda8 Bug 1556489 - P22 - Manually add history entries for all DocumentChannel redirects, since these aren't exposed to the content process as channel redirects. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D42259
2019-09-03 10:19:53 +10:00
Matt Woodrow
f5f911a2ba Bug 1556489 - P18. Add DocumentChannel and hook it up. r=nika,mayhemer
DocumentChannel acts as a replacement for HttpChannel where redirects are now entirely handled in the DocumentChannelParent. The ContentChild will receive the final nsIChannel once all redirects have been handled.

Differential Revision: https://phabricator.services.mozilla.com/D37490
2019-09-03 10:19:38 +10:00
Matt Woodrow
825de1942c Bug 1556489 - P13. Use LoadInfo redirect chain to determine when a channel has redirected and we should skip uri fixup. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D40970
2019-09-03 10:19:36 +10:00
Matt Woodrow
e64da8e83a Bug 1556489 - P12. Move code into static utility method. r=nika
We will need access to this method in a following change.

Differential Revision: https://phabricator.services.mozilla.com/D40969
2019-09-03 10:19:35 +10:00
Matt Woodrow
85b239c131 Bug 1556489 - P9. Make method static. r=nika,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D40966
2019-09-03 10:19:20 +10:00
Thomas Nguyen
a688b675a4 Bug 1528697 - Expose ReferrerPolicy.webidl and use referrerpolicy enum r=smaug
ReferrerPolicy gets tossed back and forth as a uint32_t and
ReferrerPolicy enum in header file. Expose ReferrerPolicyValues from
webidl file and use consistently in native code.

Differential Revision: https://phabricator.services.mozilla.com/D41954
2019-08-21 13:24:45 +00:00
Kershaw Chang
5cd32511f1 Bug 1553267 - Cancel the redirect load if docshell is being destroyed r=mayhemer
When the docshell is being destroyed, HttpChannelChild::CompleteRedirectSetup is not called and HttpChannelChild::mListener is not also assigned. In this case, I think we should cancel the channel and propagate the error to the http channel parent.

Differential Revision: https://phabricator.services.mozilla.com/D41515
2019-08-16 11:41:04 +00:00
Brindusan Cristian
1ee0dd23fd Merge inbound to mozilla-central. a=merge 2019-08-15 12:45:55 +03:00
Boris Zbarsky
c93f8a53d4 Bug 1422334. replaceState should update all the URI state for the entry being replaced. r=smaug
If we don't update the resultPrincipalURI, then things that examine it
(e.g. Location APIs and the URL bar) will show the wrong (pre-replaceState) URL.
I believe there is no effective difference between setting the result principal
URI to null and setting it to aNewURI here: the ultimate consumer of it is
NS_GetFinalChannelURI, which will fall back to the originalURI if it's null, and
in this case the originalURI is aNewURI.

Differential Revision: https://phabricator.services.mozilla.com/D41788
2019-08-14 19:29:49 +00:00
Olli Pettay
cc4f459e90 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-14 06:38:47 +00:00
Coroiu Cristina
58b0b4e8ce Backed out 2 changesets (bug 1563587) for junit failures on a CLOSED TREE
Backed out changeset d07f2e7d6f5e (bug 1563587)
Backed out changeset a365d3c43261 (bug 1563587)
2019-08-13 22:33:52 +03:00
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
Nika Layzell
1e7685d089 Bug 1523638 - Part 4: Move NextWindowId logic into nsContentUtils, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37651
2019-08-08 16:07:03 +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
c110dbe443 Bug 1569262 - Rename nsIDocShellTreeItem::GetRootTreeItem to GetInProcessRootTreeItem for Fission marking. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D41064
2019-08-07 19:24:00 +00:00
Andreea Pavel
2bcc109ae1 Backed out changeset d0aae34d9b95 (bug 1529068) for failing form-redirected-blocked.sub.html on a CLOSED TREE 2019-08-07 01:39:29 +03:00
Benjamin
0a71f21f72 Bug 1529068 - navigate-to r=ckerschb,mccr8
Implementation of the navigate-to CSP directive as defined in CSP Level 3, https://www.w3.org/TR/CSP3/#directive-navigate-to

Differential Revision: https://phabricator.services.mozilla.com/D37139
2019-08-06 18:27:45 +00:00
Kris Maglione
1bb60064a6 Bug 1561015: Part 1 - Use BrowsingContext in window provider APIs. r=bzbarsky,mossop
This is the first step in making it possible to return remote WindowProxy
objects from window.open() and related APIs.

This patch also incidentally fixes a bug where getContentWindowOrOpenURI
returned the top-level browser window rather than the new content window when
passed OPEN_NEWWINDOW for the `aWhere` parameter. This was not the expected
behavior, and was a potentially major footgun for any new users who expected
to always get the content window for the URL they were loading, rather than
sometimes getting a chrome browser window instead.

For now, that case just returns null, which is only a minor footgun, rather
than the major one we had before.

Differential Revision: https://phabricator.services.mozilla.com/D35688
2019-08-02 20:48:33 +00:00
Kris Maglione
c59c54711f Bug 1570207: Part 1 - Move CanAccess logic from DocShell to BrowsingContext. r=nika
This change is necessary in order to support named targeting of remote
BrowsingContexts, since the current arrangement only supports in-process
contexts. It also considerably simplifies the logic, since named targetting is
now restricted to the same TabGroup/BrowsingContextGroup, which in and of
itself guarantees that origin attributes will always match in the cases that
we care about.

Differential Revision: https://phabricator.services.mozilla.com/D39991
2019-07-31 11:40:39 -07:00
Kris Maglione
92565fdb4d Bug 1566186: Part 1 - Remove DocShell support for isolated mozbrowsers. r=nika
This functionality is currently unused, and blocks work needed to support
Fission.

Differential Revision: https://phabricator.services.mozilla.com/D39542
2019-07-16 16:40:19 -07:00
Will Hawkins
483a3b307e Bug 1459711: Ensure that navigation.performance.type is 2 when restoring a document from the session history. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D39551
2019-07-29 20:28:38 +00:00
James Willcox
88dce8a9ba Bug 1561079 - Run nsILoadURIDelegate::handleLoadError() even if we wouldn't show an error page r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D36785
2019-07-29 15:34:32 +00:00
Thomas Nguyen
746a37ab9e Bug 1566833 - Update to use ReferrerInfo in nsIWebBrowserChrome3 r=Gijs,snorp
Differential Revision: https://phabricator.services.mozilla.com/D38381
2019-07-29 10:13:45 +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
Coroiu Cristina
cc8bb20ccb Backed out 4 changesets (bug 1561079, bug 1561913) for mochitest failures at dom/base/test/test_bug375314.html on a CLOSED TREE
Backed out changeset 0d1eaf86253f (bug 1561913)
Backed out changeset 1d1be67a5950 (bug 1561079)
Backed out changeset 528a46ffe2af (bug 1561079)
Backed out changeset f562e67e38cf (bug 1561079)
2019-07-24 20:56:30 +03:00
James Willcox
65b22b261e Bug 1561079 - Run nsILoadURIDelegate::handleLoadError() even if we wouldn't show an error page r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D36785
2019-07-24 16:33:50 +00:00
Bogdan Tara
42d3ac1b1d Backed out 4 changesets (bug 1561079, bug 1561913) for apilint and checkstyle failures CLOSED TREE
Backed out changeset 50244d8132f9 (bug 1561913)
Backed out changeset 9abb44cca93b (bug 1561079)
Backed out changeset e6e23c902808 (bug 1561079)
Backed out changeset e48cf42b707f (bug 1561079)
2019-07-24 19:23:44 +03:00
James Willcox
4ff1b5e1ae Bug 1561079 - Run nsILoadURIDelegate::handleLoadError() even if we wouldn't show an error page r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D36785
2019-07-24 15:47:58 +00:00
Bogdan Tara
14f1ca4dcc Backed out 2 changesets (bug 1561079) foe ES lint failure on browser-custom-element.js CLOSED TREE
Backed out changeset 74cd5c0338ee (bug 1561079)
Backed out changeset adbc4ea67da9 (bug 1561079)
2019-07-24 18:31:15 +03:00
James Willcox
6a2924d9a3 Bug 1561079 - Run nsILoadURIDelegate::handleLoadError() even if we wouldn't show an error page r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D36785
2019-07-24 14:52:39 +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
Nika Layzell
b389df592e Bug 1523638 - Part 4: Move NextWindowId logic into nsContentUtils, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37651
2019-07-18 19:38:12 +00:00
Benjamin
d4d9c94534 Bug 1566453: Added flag to detect if a load was initiated by a form submission r=ckerschb
The flag in loadinfo can be used to detect if a load was initiated by a form submission. This is crucial for implmenting the CSP directive navigate-to. https://www.w3.org/TR/CSP3/#navigate-to-pre-navigate

Differential Revision: https://phabricator.services.mozilla.com/D38403
2019-07-22 13:41:47 +00:00
Cameron McCormack
ef94bb8cdd Bug 1566215 - Part 6: Undo the insecure URI loading exception for the Layout Debugger. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D38416
2019-07-22 04:48:46 +00:00