This patch adds a isCaptivePortalTab field to the browsingContext.
We still keep setting the LOAD_FLAGS_DISABLE_TRR loadFlags,
though we could probably move that to BrowsingContext eventually.
nsHttpChannel now automatically allows captive portal browsing contexts
to do public -> private loads without prompting.
Differential Revision: https://phabricator.services.mozilla.com/D267943
Having this tracker as part of the navigation state led to
broken state when reentering a navigation by triggering
a new navigation from a `navigateerror` handler.
This patch removes the upcoming non-traverse API method tracker
from `Navigation` and passes it as argument, hereby following the spec.
Differential Revision: https://phabricator.services.mozilla.com/D269448
Make sure that navigations from Location and Window.open perform correct
conversion of history handling when passed "auto".
Differential Revision: https://phabricator.services.mozilla.com/D266519
Make sure that navigations from Location and Window.open perform correct
conversion of history handling when passed "auto".
Differential Revision: https://phabricator.services.mozilla.com/D266519
Make sure that navigations from Location and Window.open perform correct
conversion of history handling when passed "auto".
Differential Revision: https://phabricator.services.mozilla.com/D266519
Make sure that navigations from Location and Window.open perform correct
conversion of history handling when passed "auto".
Differential Revision: https://phabricator.services.mozilla.com/D266519
When handling subframe history we will change push loads to be replace
loads while executing an onload handler. This shouldn't happen for
navigation.navigate().
Differential Revision: https://phabricator.services.mozilla.com/D262892
When handling subframe history we will change push loads to be replace
loads while executing an onload handler. This shouldn't happen for
navigation.navigate().
Differential Revision: https://phabricator.services.mozilla.com/D262892
std::unique_ptr and UniquePtr have very similar interfaces, but the
latter is a standard container and it turns out it leads to slightly
denser code:
This saves around 50kB on a stripped libxul, with a very nice diff:
61 insertions(+), 318 deletions(-)
It currently uses a type alias to avoid major rewrite.
Changes implied by this move:
- some inner types use different naming convention
- some definition are no longer found through ADL (because we switch
from mozilla to std namespace)
- ContentParentKeepAliveDeleter no longer have a nasty implicit
dependency on UniquePtr setting the managed pointer to null before
being called.
- No type guide because we use a template alias
- extra wildcard added for unique_ptr subnamespace in layout/style/ServoBindings.toml
Differential Revision: https://phabricator.services.mozilla.com/D255423
std::unique_ptr and UniquePtr have very similar interfaces, but the
latter is a standard container and it turns out it leads to slightly
denser code:
This saves around 50kB on a stripped libxul, with a very nice diff:
61 insertions(+), 318 deletions(-)
It currently uses a type alias to avoid major rewrite.
Changes implied by this move:
- some inner types use different naming convention
- some definition are no longer found through ADL (because we switch
from mozilla to std namespace)
- ContentParentKeepAliveDeleter no longer have a nasty implicit
dependency on UniquePtr setting the managed pointer to null before
being called.
- No type guide because we use a template alias
- extra wildcard added for unique_ptr subnamespace in layout/style/ServoBindings.toml
Differential Revision: https://phabricator.services.mozilla.com/D255423
We are making changes to many files. Very huge chunk of the changes are just renaming CSP -> PolicyContainer. Part 1 and part 2 are solely separated as frontend and backend. The unfortunate thing is, I mistakenly placed IDL changes in part 1, and many of those IDL changes affect frontend code too. I'm sorry for this inconvinience and hard to review patch(es).
(FWIW before this rewrite we had another patch stack. It is 25 patches and I believe isn't as comprehensive as this one. It also didn't replace CSP's inheritance but was copied alongside with CSP, but we decided to change our method and make policy conttainer contain CSP and copy it around after some discussion and reviews)
Differential Revision: https://phabricator.services.mozilla.com/D249248
std::unique_ptr and UniquePtr have very similar interfaces, but the
latter is a standard container and it turns out it leads to slightly
denser code:
This saves around 50kB on a stripped libxul, with a very nice diff:
61 insertions(+), 318 deletions(-)
It currently uses a type alias to avoid major rewrite.
Changes implied by this move:
- some inner types use different naming convention
- some definition are no longer found through ADL (because we switch
from mozilla to std namespace)
- ContentParentKeepAliveDeleter no longer have a nasty implicit
dependency on UniquePtr setting the managed pointer to null before
being called.
- No type guide because we use a template alias
Differential Revision: https://phabricator.services.mozilla.com/D255423
This reverts commit efd9a5ba48.
Revert "Bug 1968644 - Part 9: Add more tests for loads triggered by tracking scripts. r=valentin,anti-tracking-reviewers,emz"
This reverts commit 7d5c3e1c1c.
Revert "Bug 1968644 - Part 8: Populate the triggeringFirstPartyClassificationFlags and triggeringThirdPartyClassificationFlags for WebSocket requests. r=valentin,necko-reviewers"
This reverts commit 53a783a51e.
Revert "Bug 1968644 - Part 7: Add tests. r=necko-reviewers,anti-tracking-reviewers,emz,valentin"
This reverts commit e52f034955.
Revert "Bug 1968644 - Part 6: Populate triggeringFirstPartyClassificationFlags and triggeringThirdPartyClassificationFlags during channel creation. r=necko-reviewers,kershaw"
This reverts commit f564c21b37.
Revert "Bug 1968644 - Part 5: Populate triggeringFirstPartyClassificationFlags and triggeringThirdPartyClassificationFlags for CSS loads. r=emilio"
This reverts commit 8a8fd7bacc.
Revert "Bug 1968644 - Part 4: Populate triggeringFirstPartyClassificationFlags and triggeringThirdPartyClassificationFlags for loads. r=smaug,necko-reviewers"
This reverts commit 7b3ba3b668.
Revert "Bug 1968644 - Part 3: Populate the triggeringFirstPartyClassificationFlags and triggeringThirdPartyClassificationFlags for fetch requests. r=valentin,smaug"
This reverts commit 08f090244f.
Revert "Bug 1968644 - Part 2: Intorduce the ClassificationFlags to nsIClassifiedChannel.idl. r=dimi,necko-reviewers,valentin"
This reverts commit b8c01cd77c.
Revert "Bug 1968644 - Part 1: Introduce triggeringFirstPartyClassificationFlags and triggeringThirdPartyClassificationFlags to LoadInfo. r=necko-reviewers,kershaw"
This reverts commit a7619a72b4.
This patch introduces `UserNavigationInvolvement`
as an IPDL type, and adds the user navigation
involvement flag to `nsDocShellLoadState` and
`nsILoadInfo`.
Differential Revision: https://phabricator.services.mozilla.com/D234851
Modify the frame recursion check to only happen when a load is triggered
from a src or data attribute (depending on if it's an iframe, embed or
an object element). This prevents recursion checks from blocking
ordinary navigations and navigations with a target.
Differential Revision: https://phabricator.services.mozilla.com/D229503
This commit is a prerequisite for part 5 of this patch set
and introduces the `text directive user activation` flag
as well as the necessary boilerplate to transport the value
through process boundaries in `nsDocShellLoadState` and `LoadInfo`.
There is no changed behavior in this commit.
Differential Revision: https://phabricator.services.mozilla.com/D212816