| Index: components/sessions/ios/ios_serialized_navigation_driver.cc
|
| diff --git a/components/sessions/ios/ios_serialized_navigation_driver.cc b/components/sessions/ios/ios_serialized_navigation_driver.cc
|
| index ba195b52d1556ff67007f1a22ef44459e7bb9d40..54349e00a73bb3341fac3c6c8df029897f7f7db4 100644
|
| --- a/components/sessions/ios/ios_serialized_navigation_driver.cc
|
| +++ b/components/sessions/ios/ios_serialized_navigation_driver.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/memory/singleton.h"
|
| #include "components/sessions/core/serialized_navigation_entry.h"
|
| #include "ios/web/public/referrer.h"
|
| +#include "ios/web/public/referrer_util.h"
|
|
|
| namespace sessions {
|
|
|
| @@ -99,29 +100,8 @@ void IOSSerializedNavigationDriver::Sanitize(
|
| NOTREACHED();
|
| referrer.policy = web::ReferrerPolicyNever;
|
| }
|
| - bool is_downgrade = referrer.url.SchemeIsCryptographic() &&
|
| - !navigation->virtual_url_.SchemeIsCryptographic();
|
| - switch (referrer.policy) {
|
| - case web::ReferrerPolicyDefault:
|
| - if (is_downgrade)
|
| - referrer.url = GURL();
|
| - break;
|
| - case web::ReferrerPolicyNoReferrerWhenDowngrade:
|
| - if (is_downgrade)
|
| - referrer.url = GURL();
|
| - case web::ReferrerPolicyAlways:
|
| - break;
|
| - case web::ReferrerPolicyNever:
|
| - referrer.url = GURL();
|
| - break;
|
| - case web::ReferrerPolicyOrigin:
|
| - referrer.url = referrer.url.GetOrigin();
|
| - break;
|
| - case web::ReferrerPolicyOriginWhenCrossOrigin:
|
| - if (navigation->virtual_url_.GetOrigin() != referrer.url.GetOrigin())
|
| - referrer.url = referrer.url.GetOrigin();
|
| - break;
|
| - }
|
| + referrer.url = GURL(
|
| + ReferrerHeaderValueForNavigation(navigation->virtual_url_, referrer));
|
| }
|
|
|
| // Reset the referrer if it has changed.
|
|
|