Skip to content

Fix fetch test for same-origin referrer URL#1788

Merged
siku2 merged 1 commit intoyewstack:masterfrom
rhymu8354:pr-fix-fetch-service-same-origin-url-referrer-policy
Mar 13, 2021
Merged

Fix fetch test for same-origin referrer URL#1788
siku2 merged 1 commit intoyewstack:masterfrom
rhymu8354:pr-fix-fetch-service-same-origin-url-referrer-policy

Conversation

@rhymu8354
Copy link
Contributor

Description

The yew_services::fetch::tests::fetch_referrer_same_origin_url
test broke for Chrome after Chrome changed the default
Referrer-Policy from no-referrer-when-downgrade to
strict-origin-when-cross-origin
(See: https://developers.google.com/web/updates/2020/07/referrer-policy-new-chrome-default)

The test makes a cross-site fetch (from the headless test
origin to the httpbin server) and the new default policy
causes the path to be stripped from the Referer header,
whereas the old policy didn't.

Fix this problem by explicitly setting the referrer policy
to the previous default no-referrer-when-downgrade when
making the test fetch. This makes the test pass with Chrome
and should have no effect for other browsers which are
still using a default of no-referrer-when-downgrade
(i.e. Firefox).

Tested with both Chrome and Firefox:

  • wasm-pack test --chrome --headless -- --features "wasm_test httpbin_test"
  • wasm-pack test --firefox --headless -- --features "wasm_test httpbin_test"

Fixes #1787

Checklist

  • I have run cargo make pr-flow
  • I have reviewed my own code
  • I have added tests

The `yew_services::fetch::tests::fetch_referrer_same_origin_url`
test broke for Chrome after Chrome changed the default
`Referrer-Policy` from `no-referrer-when-downgrade` to
`strict-origin-when-cross-origin`
(See: https://developers.google.com/web/updates/2020/07/referrer-policy-new-chrome-default)

The test makes a cross-site fetch (from the headless test
origin to the httpbin server) and the new default policy
causes the path to be stripped from the `Referer` header,
whereas the old policy didn't.

Fix this problem by explicitly setting the referrer policy
to the previous default `no-referrer-when-downgrade` when
making the test fetch.  This makes the test pass with Chrome
and should have no effect for other browsers which are
still using a default of `no-referrer-when-downgrade`
(i.e. Firefox).

Tested with both Chrome and Firefox:

* wasm-pack test --chrome --headless -- --features "wasm_test httpbin_test"
* wasm-pack test --firefox --headless -- --features "wasm_test httpbin_test"
@siku2 siku2 merged commit 8309df3 into yewstack:master Mar 13, 2021
@siku2
Copy link
Member

siku2 commented Mar 13, 2021

Thanks so much for tracking this down ❤️

cecton pushed a commit to siku2/yew that referenced this pull request Mar 13, 2021
The `yew_services::fetch::tests::fetch_referrer_same_origin_url`
test broke for Chrome after Chrome changed the default
`Referrer-Policy` from `no-referrer-when-downgrade` to
`strict-origin-when-cross-origin`
(See: https://developers.google.com/web/updates/2020/07/referrer-policy-new-chrome-default)

The test makes a cross-site fetch (from the headless test
origin to the httpbin server) and the new default policy
causes the path to be stripped from the `Referer` header,
whereas the old policy didn't.

Fix this problem by explicitly setting the referrer policy
to the previous default `no-referrer-when-downgrade` when
making the test fetch.  This makes the test pass with Chrome
and should have no effect for other browsers which are
still using a default of `no-referrer-when-downgrade`
(i.e. Firefox).

Tested with both Chrome and Firefox:

* wasm-pack test --chrome --headless -- --features "wasm_test httpbin_test"
* wasm-pack test --firefox --headless -- --features "wasm_test httpbin_test"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Integration test failure when using Chrome

2 participants