Chromium Code Reviews| Index: components/sessions/content/content_serialized_navigation_driver.cc |
| diff --git a/components/sessions/content/content_serialized_navigation_driver.cc b/components/sessions/content/content_serialized_navigation_driver.cc |
| index 4dd6bd0d5a97162fdca18567b1b3dcc3a52a0b6e..951ec051cef545c93da4685f8b9c906aff4e9ff3 100644 |
| --- a/components/sessions/content/content_serialized_navigation_driver.cc |
| +++ b/components/sessions/content/content_serialized_navigation_driver.cc |
| @@ -33,6 +33,41 @@ int ContentSerializedNavigationDriver::GetDefaultReferrerPolicy() const { |
| return blink::WebReferrerPolicyDefault; |
| } |
| +bool ContentSerializedNavigationDriver::MapReferrerPolicyToOldValues( |
| + int referrer_policy, |
| + int* mapped_referrer_policy) const { |
| + // "always" and "default" are the same value in all versions. |
| + if (referrer_policy == blink::WebReferrerPolicyAlways || |
| + referrer_policy == blink::WebReferrerPolicyDefault) { |
| + *mapped_referrer_policy = referrer_policy; |
| + return true; |
| + } |
| + |
| + // "origin" exists in the old encoding. |
| + if (referrer_policy == blink::WebReferrerPolicyOrigin) { |
| + *mapped_referrer_policy = 3; |
|
Mike West
2015/01/29 11:53:31
Nit: Magic numbers => :(
|
| + return true; |
| + } |
| + |
| + // Everything else is mapped to never. |
| + *mapped_referrer_policy = 2; |
| + return false; |
| +} |
| + |
| +bool ContentSerializedNavigationDriver::MapReferrerPolicyToNewValues( |
| + int referrer_policy, |
| + int* mapped_referrer_policy) const { |
| + // "always" and "default" are the same value in all versions. |
| + if (referrer_policy == 0 || referrer_policy == 1) { |
| + *mapped_referrer_policy = referrer_policy; |
| + return true; |
| + } |
| + |
| + // Since we don't know what encoding was used, we map the rest to "never". |
| + *mapped_referrer_policy = blink::WebReferrerPolicyNever; |
| + return false; |
| +} |
| + |
| std::string |
| ContentSerializedNavigationDriver::GetSanitizedPageStateForPickle( |
| const SerializedNavigationEntry* navigation) const { |