Commit Graph

2958 Commits

Author SHA1 Message Date
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
Kris Maglione
1754243c71 Bug 1563409: Inherit RemoteSubframes and RemoteTabs flags from parent docshells. r=nika
This also adds an extra assertion against browsing context mismatches that
happen when we don't get this right.

Differential Revision: https://phabricator.services.mozilla.com/D36852
2019-07-03 16:09:20 -07: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
Boris Zbarsky
3ee3a0b8d9 Bug 1566543. Stop using [array] for get/setColorMatrix. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D38222
2019-07-16 18:30:10 +00: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
Nika Layzell
7f4c71a43d Bug 1523638 - Part 4: Move NextWindowId logic into nsContentUtils, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37651
2019-07-16 18:47:41 +00:00
Cameron McCormack
e58fc7bfbe Bug 1565965 - Allow unsafe loads in the Layout Debugger. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D38037
2019-07-16 03:47:56 +00:00
Boris Zbarsky
011222050d Bug 1565767 part 4. Remove some unnecesary refcounting at Document::GetBaseURI callsites. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D37972
2019-07-15 18:28:43 +00:00
Gijs Kruitbosch
0dabfb20b0 Bug 1560178 - disallow unsafe loads in the parent, r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D36312
2019-07-12 16:29:01 +00:00
Dorel Luca
a2abe7cb8f Backed out 5 changesets (bug 1560178) for Browser-chrome failures in builds/worker/workspace/build/src/dom/base/Document.cpp. CLOSED TREE
Backed out changeset 1ff8a41dd3c1 (bug 1560178)
Backed out changeset 4aaeda889656 (bug 1560178)
Backed out changeset b1dfc0b5a14c (bug 1560178)
Backed out changeset 45fca0f1b675 (bug 1560178)
Backed out changeset fc2be64e4ece (bug 1560178)
2019-07-12 18:38:34 +03:00
Gijs Kruitbosch
1fd1667364 Bug 1560178 - disallow unsafe loads in the parent, r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D36312
2019-07-12 12:36:33 +00:00
Ehsan Akhgari
297dbc461e Bug 1565373 - Use the intrinsic storage principal when inheriting directly; r=baku
We shouldn't perform an anti-tracking check here, since that may result
in us picking the node principal unintentionally.

Differential Revision: https://phabricator.services.mozilla.com/D37811
2019-07-12 09:08:38 +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