summaryrefslogtreecommitdiffstats
path: root/components/sessions
diff options
context:
space:
mode:
authorrohitrao <rohitrao@chromium.org>2014-10-20 14:52:00 -0700
committerCommit bot <commit-bot@chromium.org>2014-10-20 21:52:14 +0000
commitc6d8e740dc97f57293ed336a278ff1934bb361ab (patch)
tree87d825ed12b631b9b0f60b7aca31fb2ce20eb5c3 /components/sessions
parentf55539c55ab085f862b32ad26df420b0b0c1d7a4 (diff)
downloadchromium_src-c6d8e740dc97f57293ed336a278ff1934bb361ab.zip
chromium_src-c6d8e740dc97f57293ed336a278ff1934bb361ab.tar.gz
chromium_src-c6d8e740dc97f57293ed336a278ff1934bb361ab.tar.bz2
Rewrites SerializedNavigationEntry to not have any //content member variables.
This will pave the way for a future CL that completely removes all //content dependencies from the class. TBR=ben@google.com BUG=371476 TEST=No visible impact. Review URL: https://codereview.chromium.org/658073004 Cr-Commit-Position: refs/heads/master@{#300344}
Diffstat (limited to 'components/sessions')
-rw-r--r--components/sessions/serialized_navigation_entry.cc97
-rw-r--r--components/sessions/serialized_navigation_entry.h19
-rw-r--r--components/sessions/serialized_navigation_entry_test_helper.cc17
-rw-r--r--components/sessions/serialized_navigation_entry_unittest.cc59
4 files changed, 113 insertions, 79 deletions
diff --git a/components/sessions/serialized_navigation_entry.cc b/components/sessions/serialized_navigation_entry.cc
index b45ffd7..facd7e4 100644
--- a/components/sessions/serialized_navigation_entry.cc
+++ b/components/sessions/serialized_navigation_entry.cc
@@ -9,6 +9,8 @@
#include "content/public/browser/favicon_status.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/navigation_entry.h"
+#include "content/public/common/page_state.h"
+#include "content/public/common/referrer.h"
#include "sync/protocol/session_specifics.pb.h"
#include "sync/util/time.h"
#include "third_party/WebKit/public/platform/WebReferrerPolicy.h"
@@ -28,7 +30,9 @@ SerializedNavigationEntry::SerializedNavigationEntry()
is_overriding_user_agent_(false),
http_status_code_(0),
is_restored_(false),
- blocked_state_(STATE_INVALID) {}
+ blocked_state_(STATE_INVALID) {
+ referrer_policy_ = GetDefaultReferrerPolicy();
+}
SerializedNavigationEntry::~SerializedNavigationEntry() {}
@@ -39,10 +43,11 @@ SerializedNavigationEntry SerializedNavigationEntry::FromNavigationEntry(
SerializedNavigationEntry navigation;
navigation.index_ = index;
navigation.unique_id_ = entry.GetUniqueID();
- navigation.referrer_ = entry.GetReferrer();
+ navigation.referrer_url_ = entry.GetReferrer().url;
+ navigation.referrer_policy_ = entry.GetReferrer().policy;
navigation.virtual_url_ = entry.GetVirtualURL();
navigation.title_ = entry.GetTitle();
- navigation.page_state_ = entry.GetPageState();
+ navigation.encoded_page_state_ = entry.GetPageState().ToEncodedData();
navigation.transition_type_ = entry.GetTransitionType();
navigation.has_post_data_ = entry.GetHasPostData();
navigation.post_id_ = entry.GetPostID();
@@ -68,13 +73,11 @@ SerializedNavigationEntry SerializedNavigationEntry::FromSyncData(
SerializedNavigationEntry navigation;
navigation.index_ = index;
navigation.unique_id_ = sync_data.unique_id();
- navigation.referrer_ = content::Referrer(
- GURL(sync_data.referrer()),
- static_cast<blink::WebReferrerPolicy>(sync_data.referrer_policy()));
+ navigation.referrer_url_ = GURL(sync_data.referrer());
+ navigation.referrer_policy_ = sync_data.referrer_policy();
navigation.virtual_url_ = GURL(sync_data.virtual_url());
navigation.title_ = base::UTF8ToUTF16(sync_data.title());
- navigation.page_state_ =
- content::PageState::CreateFromEncodedData(sync_data.state());
+ navigation.encoded_page_state_ = sync_data.state();
uint32 transition = 0;
if (sync_data.has_page_transition()) {
@@ -210,13 +213,14 @@ enum TypeMask {
// index_
// virtual_url_
// title_
-// page_state_
+// encoded_page_state_
// transition_type_
//
// Added on later:
//
// type_mask (has_post_data_)
-// referrer_
+// referrer_url_
+// referrer_policy_
// original_request_url_
// is_overriding_user_agent_
// timestamp_
@@ -234,12 +238,8 @@ void SerializedNavigationEntry::WriteToPickle(int max_size,
WriteString16ToPickle(pickle, &bytes_written, max_size, title_);
- content::PageState page_state = page_state_;
- if (has_post_data_)
- page_state = page_state.RemovePasswordData();
-
- WriteStringToPickle(pickle, &bytes_written, max_size,
- page_state.ToEncodedData());
+ const std::string encoded_page_state = GetSanitizedPageStateForPickle();
+ WriteStringToPickle(pickle, &bytes_written, max_size, encoded_page_state);
pickle->WriteInt(transition_type_);
@@ -248,9 +248,9 @@ void SerializedNavigationEntry::WriteToPickle(int max_size,
WriteStringToPickle(
pickle, &bytes_written, max_size,
- referrer_.url.is_valid() ? referrer_.url.spec() : std::string());
+ referrer_url_.is_valid() ? referrer_url_.spec() : std::string());
- pickle->WriteInt(referrer_.policy);
+ pickle->WriteInt(referrer_policy_);
// Save info required to override the user agent.
WriteStringToPickle(
@@ -267,16 +267,15 @@ void SerializedNavigationEntry::WriteToPickle(int max_size,
bool SerializedNavigationEntry::ReadFromPickle(PickleIterator* iterator) {
*this = SerializedNavigationEntry();
- std::string virtual_url_spec, page_state_data;
+ std::string virtual_url_spec;
int transition_type_int = 0;
if (!iterator->ReadInt(&index_) ||
!iterator->ReadString(&virtual_url_spec) ||
!iterator->ReadString16(&title_) ||
- !iterator->ReadString(&page_state_data) ||
+ !iterator->ReadString(&encoded_page_state_) ||
!iterator->ReadInt(&transition_type_int))
return false;
virtual_url_ = GURL(virtual_url_spec);
- page_state_ = content::PageState::CreateFromEncodedData(page_state_data);
transition_type_ = ui::PageTransitionFromInt(transition_type_int);
// type_mask did not always exist in the written stream. As such, we
@@ -291,15 +290,12 @@ bool SerializedNavigationEntry::ReadFromPickle(PickleIterator* iterator) {
std::string referrer_spec;
if (!iterator->ReadString(&referrer_spec))
referrer_spec = std::string();
+ referrer_url_ = GURL(referrer_spec);
+
// The "referrer policy" property was added even later, so we fall back to
// the default policy if the property is not present.
- int policy_int;
- blink::WebReferrerPolicy policy;
- if (iterator->ReadInt(&policy_int))
- policy = static_cast<blink::WebReferrerPolicy>(policy_int);
- else
- policy = blink::WebReferrerPolicyDefault;
- referrer_ = content::Referrer(GURL(referrer_spec), policy);
+ if (!iterator->ReadInt(&referrer_policy_))
+ referrer_policy_ = GetDefaultReferrerPolicy();
// If the original URL can't be found, leave it empty.
std::string original_request_url_spec;
@@ -339,7 +335,9 @@ scoped_ptr<NavigationEntry> SerializedNavigationEntry::ToNavigationEntry(
scoped_ptr<NavigationEntry> entry(
content::NavigationController::CreateNavigationEntry(
virtual_url_,
- referrer_,
+ content::Referrer(
+ referrer_url_,
+ static_cast<blink::WebReferrerPolicy>(referrer_policy_)),
// Use a transition type of reload so that we don't incorrectly
// increase the typed count.
ui::PAGE_TRANSITION_RELOAD,
@@ -349,7 +347,8 @@ scoped_ptr<NavigationEntry> SerializedNavigationEntry::ToNavigationEntry(
browser_context));
entry->SetTitle(title_);
- entry->SetPageState(page_state_);
+ entry->SetPageState(
+ content::PageState::CreateFromEncodedData(encoded_page_state_));
entry->SetPageID(page_id);
entry->SetHasPostData(has_post_data_);
entry->SetPostID(post_id_);
@@ -372,8 +371,8 @@ scoped_ptr<NavigationEntry> SerializedNavigationEntry::ToNavigationEntry(
sync_pb::TabNavigation SerializedNavigationEntry::ToSyncData() const {
sync_pb::TabNavigation sync_data;
sync_data.set_virtual_url(virtual_url_.spec());
- sync_data.set_referrer(referrer_.url.spec());
- sync_data.set_referrer_policy(referrer_.policy);
+ sync_data.set_referrer(referrer_url_.spec());
+ sync_data.set_referrer_policy(referrer_policy_);
sync_data.set_title(base::UTF16ToUTF8(title_));
// Page transition core.
@@ -509,16 +508,42 @@ std::vector<NavigationEntry*> SerializedNavigationEntry::ToNavigationEntries(
return entries;
}
+// TODO(rohitrao): Move this content-specific code into a
+// SerializedNavigationEntryHelper class.
+int SerializedNavigationEntry::GetDefaultReferrerPolicy() const {
+ return blink::WebReferrerPolicyDefault;
+}
+
+// TODO(rohitrao): Move this content-specific code into a
+// SerializedNavigationEntryHelper class.
+std::string SerializedNavigationEntry::GetSanitizedPageStateForPickle() const {
+ content::PageState page_state =
+ content::PageState::CreateFromEncodedData(encoded_page_state_);
+ if (has_post_data_)
+ page_state = page_state.RemovePasswordData();
+
+ return page_state.ToEncodedData();
+}
+
+// TODO(rohitrao): Move this content-specific code into a
+// SerializedNavigationEntryHelper class.
void SerializedNavigationEntry::Sanitize() {
+ content::Referrer old_referrer(
+ referrer_url_,
+ static_cast<blink::WebReferrerPolicy>(referrer_policy_));
content::Referrer new_referrer =
- content::Referrer::SanitizeForRequest(virtual_url_, referrer_);
+ content::Referrer::SanitizeForRequest(virtual_url_, old_referrer);
// No need to compare the policy, as it doesn't change during
// sanitization. If there has been a change, the referrer needs to be
// stripped from the page state as well.
- if (referrer_.url != new_referrer.url) {
- referrer_ = content::Referrer();
- page_state_ = page_state_.RemoveReferrer();
+ if (referrer_url_ != new_referrer.url) {
+ referrer_url_ = GURL();
+ referrer_policy_ = GetDefaultReferrerPolicy();
+ encoded_page_state_ =
+ content::PageState::CreateFromEncodedData(encoded_page_state_)
+ .RemoveReferrer()
+ .ToEncodedData();
}
}
diff --git a/components/sessions/serialized_navigation_entry.h b/components/sessions/serialized_navigation_entry.h
index 6caee55..bbc3d7a 100644
--- a/components/sessions/serialized_navigation_entry.h
+++ b/components/sessions/serialized_navigation_entry.h
@@ -14,8 +14,6 @@
#include "base/strings/string16.h"
#include "base/time/time.h"
#include "components/sessions/sessions_export.h"
-#include "content/public/common/page_state.h"
-#include "content/public/common/referrer.h"
#include "ui/base/page_transition_types.h"
#include "url/gurl.h"
@@ -97,11 +95,12 @@ class SESSIONS_EXPORT SerializedNavigationEntry {
int unique_id() const { return unique_id_; }
const GURL& virtual_url() const { return virtual_url_; }
const base::string16& title() const { return title_; }
- const content::PageState& page_state() const { return page_state_; }
+ const std::string& encoded_page_state() const { return encoded_page_state_; }
const base::string16& search_terms() const { return search_terms_; }
const GURL& favicon_url() const { return favicon_url_; }
int http_status_code() const { return http_status_code_; }
- const content::Referrer& referrer() const { return referrer_; }
+ const GURL& referrer_url() const { return referrer_url_; }
+ int referrer_policy() const { return referrer_policy_; }
ui::PageTransition transition_type() const {
return transition_type_;
}
@@ -134,6 +133,13 @@ class SESSIONS_EXPORT SerializedNavigationEntry {
private:
friend class SerializedNavigationEntryTestHelper;
+ // Returns the default referrer policy.
+ int GetDefaultReferrerPolicy() const;
+
+ // Returns a sanitized version of |encoded_page_state_| suitable for writing
+ // to disk.
+ std::string GetSanitizedPageStateForPickle() const;
+
// Sanitizes the data in this class to be more robust against faulty data
// written by older versions.
void Sanitize();
@@ -143,10 +149,11 @@ class SESSIONS_EXPORT SerializedNavigationEntry {
// Member variables corresponding to NavigationEntry fields.
int unique_id_;
- content::Referrer referrer_;
+ GURL referrer_url_;
+ int referrer_policy_;
GURL virtual_url_;
base::string16 title_;
- content::PageState page_state_;
+ std::string encoded_page_state_;
ui::PageTransition transition_type_;
bool has_post_data_;
int64 post_id_;
diff --git a/components/sessions/serialized_navigation_entry_test_helper.cc b/components/sessions/serialized_navigation_entry_test_helper.cc
index 313fb77..030db0b 100644
--- a/components/sessions/serialized_navigation_entry_test_helper.cc
+++ b/components/sessions/serialized_navigation_entry_test_helper.cc
@@ -7,6 +7,7 @@
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
#include "components/sessions/serialized_navigation_entry.h"
+#include "content/public/common/page_state.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/WebKit/public/platform/WebReferrerPolicy.h"
#include "url/gurl.h"
@@ -17,11 +18,11 @@ namespace sessions {
void SerializedNavigationEntryTestHelper::ExpectNavigationEquals(
const SerializedNavigationEntry& expected,
const SerializedNavigationEntry& actual) {
- EXPECT_EQ(expected.referrer_.url, actual.referrer_.url);
- EXPECT_EQ(expected.referrer_.policy, actual.referrer_.policy);
+ EXPECT_EQ(expected.referrer_url_, actual.referrer_url_);
+ EXPECT_EQ(expected.referrer_policy_, actual.referrer_policy_);
EXPECT_EQ(expected.virtual_url_, actual.virtual_url_);
EXPECT_EQ(expected.title_, actual.title_);
- EXPECT_EQ(expected.page_state_, actual.page_state_);
+ EXPECT_EQ(expected.encoded_page_state_, actual.encoded_page_state_);
EXPECT_EQ(expected.transition_type_, actual.transition_type_);
EXPECT_EQ(expected.has_post_data_, actual.has_post_data_);
EXPECT_EQ(expected.original_request_url_, actual.original_request_url_);
@@ -35,13 +36,11 @@ SerializedNavigationEntry SerializedNavigationEntryTestHelper::CreateNavigation(
const std::string& title) {
SerializedNavigationEntry navigation;
navigation.index_ = 0;
- navigation.referrer_ =
- content::Referrer(GURL("http://www.referrer.com"),
- blink::WebReferrerPolicyDefault);
+ navigation.referrer_url_ = GURL("http://www.referrer.com");
+ navigation.referrer_policy_ = blink::WebReferrerPolicyDefault;
navigation.virtual_url_ = GURL(virtual_url);
navigation.title_ = base::UTF8ToUTF16(title);
- navigation.page_state_ =
- content::PageState::CreateFromEncodedData("fake_state");
+ navigation.encoded_page_state_ = "fake state";
navigation.timestamp_ = base::Time::Now();
navigation.http_status_code_ = 200;
return navigation;
@@ -51,7 +50,7 @@ SerializedNavigationEntry SerializedNavigationEntryTestHelper::CreateNavigation(
void SerializedNavigationEntryTestHelper::SetPageState(
const content::PageState& page_state,
SerializedNavigationEntry* navigation) {
- navigation->page_state_ = page_state;
+ navigation->encoded_page_state_ = page_state.ToEncodedData();
}
// static
diff --git a/components/sessions/serialized_navigation_entry_unittest.cc b/components/sessions/serialized_navigation_entry_unittest.cc
index 25c4a26..f14321a 100644
--- a/components/sessions/serialized_navigation_entry_unittest.cc
+++ b/components/sessions/serialized_navigation_entry_unittest.cc
@@ -16,6 +16,7 @@
#include "base/time/time.h"
#include "content/public/browser/favicon_status.h"
#include "content/public/browser/navigation_entry.h"
+#include "content/public/common/page_state.h"
#include "content/public/common/referrer.h"
#include "sync/protocol/session_specifics.pb.h"
#include "sync/util/time.h"
@@ -29,13 +30,11 @@ namespace {
const int kIndex = 3;
const int kUniqueID = 50;
-const content::Referrer kReferrer =
- content::Referrer(GURL("http://www.referrer.com"),
- blink::WebReferrerPolicyAlways);
+const GURL kReferrerURL = GURL("http://www.referrer.com");
+const int kReferrerPolicy = blink::WebReferrerPolicyAlways;
const GURL kVirtualURL("http://www.virtual-url.com");
const base::string16 kTitle = base::ASCIIToUTF16("title");
-const content::PageState kPageState =
- content::PageState::CreateFromEncodedData("page state");
+const std::string kEncodedPageState = "page state";
const ui::PageTransition kTransitionType =
ui::PageTransitionFromInt(
ui::PAGE_TRANSITION_AUTO_SUBFRAME |
@@ -59,10 +58,13 @@ const int kPageID = 10;
scoped_ptr<content::NavigationEntry> MakeNavigationEntryForTest() {
scoped_ptr<content::NavigationEntry> navigation_entry(
content::NavigationEntry::Create());
- navigation_entry->SetReferrer(kReferrer);
+ navigation_entry->SetReferrer(content::Referrer(
+ kReferrerURL,
+ static_cast<blink::WebReferrerPolicy>(kReferrerPolicy)));
navigation_entry->SetVirtualURL(kVirtualURL);
navigation_entry->SetTitle(kTitle);
- navigation_entry->SetPageState(kPageState);
+ navigation_entry->SetPageState(
+ content::PageState::CreateFromEncodedData(kEncodedPageState));
navigation_entry->SetTransitionType(kTransitionType);
navigation_entry->SetHasPostData(kHasPostData);
navigation_entry->SetPostID(kPostID);
@@ -85,10 +87,10 @@ scoped_ptr<content::NavigationEntry> MakeNavigationEntryForTest() {
sync_pb::TabNavigation MakeSyncDataForTest() {
sync_pb::TabNavigation sync_data;
sync_data.set_virtual_url(kVirtualURL.spec());
- sync_data.set_referrer(kReferrer.url.spec());
+ sync_data.set_referrer(kReferrerURL.spec());
sync_data.set_referrer_policy(blink::WebReferrerPolicyOrigin);
sync_data.set_title(base::UTF16ToUTF8(kTitle));
- sync_data.set_state(kPageState.ToEncodedData());
+ sync_data.set_state(kEncodedPageState);
sync_data.set_page_transition(
sync_pb::SyncEnums_PageTransition_AUTO_SUBFRAME);
sync_data.set_unique_id(kUniqueID);
@@ -108,11 +110,11 @@ TEST(SerializedNavigationEntryTest, DefaultInitializer) {
const SerializedNavigationEntry navigation;
EXPECT_EQ(-1, navigation.index());
EXPECT_EQ(0, navigation.unique_id());
- EXPECT_EQ(GURL(), navigation.referrer().url);
- EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer().policy);
+ EXPECT_EQ(GURL(), navigation.referrer_url());
+ EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer_policy());
EXPECT_EQ(GURL(), navigation.virtual_url());
EXPECT_TRUE(navigation.title().empty());
- EXPECT_FALSE(navigation.page_state().IsValid());
+ EXPECT_EQ(std::string(), navigation.encoded_page_state());
EXPECT_EQ(ui::PAGE_TRANSITION_TYPED, navigation.transition_type());
EXPECT_FALSE(navigation.has_post_data());
EXPECT_EQ(-1, navigation.post_id());
@@ -137,11 +139,11 @@ TEST(SerializedNavigationEntryTest, FromNavigationEntry) {
EXPECT_EQ(kIndex, navigation.index());
EXPECT_EQ(navigation_entry->GetUniqueID(), navigation.unique_id());
- EXPECT_EQ(kReferrer.url, navigation.referrer().url);
- EXPECT_EQ(kReferrer.policy, navigation.referrer().policy);
+ EXPECT_EQ(kReferrerURL, navigation.referrer_url());
+ EXPECT_EQ(kReferrerPolicy, navigation.referrer_policy());
EXPECT_EQ(kVirtualURL, navigation.virtual_url());
EXPECT_EQ(kTitle, navigation.title());
- EXPECT_EQ(kPageState, navigation.page_state());
+ EXPECT_EQ(kEncodedPageState, navigation.encoded_page_state());
EXPECT_EQ(kTransitionType, navigation.transition_type());
EXPECT_EQ(kHasPostData, navigation.has_post_data());
EXPECT_EQ(kPostID, navigation.post_id());
@@ -167,11 +169,11 @@ TEST(SerializedNavigationEntryTest, FromSyncData) {
EXPECT_EQ(kIndex, navigation.index());
EXPECT_EQ(kUniqueID, navigation.unique_id());
- EXPECT_EQ(kReferrer.url, navigation.referrer().url);
- EXPECT_EQ(blink::WebReferrerPolicyOrigin, navigation.referrer().policy);
+ EXPECT_EQ(kReferrerURL, navigation.referrer_url());
+ EXPECT_EQ(blink::WebReferrerPolicyOrigin, navigation.referrer_policy());
EXPECT_EQ(kVirtualURL, navigation.virtual_url());
EXPECT_EQ(kTitle, navigation.title());
- EXPECT_EQ(kPageState, navigation.page_state());
+ EXPECT_EQ(kEncodedPageState, navigation.encoded_page_state());
EXPECT_EQ(kTransitionType, navigation.transition_type());
EXPECT_FALSE(navigation.has_post_data());
EXPECT_EQ(-1, navigation.post_id());
@@ -202,11 +204,11 @@ TEST(SerializedNavigationEntryTest, Pickle) {
EXPECT_EQ(kIndex, new_navigation.index());
EXPECT_EQ(0, new_navigation.unique_id());
- EXPECT_EQ(kReferrer.url, new_navigation.referrer().url);
- EXPECT_EQ(kReferrer.policy, new_navigation.referrer().policy);
+ EXPECT_EQ(kReferrerURL, new_navigation.referrer_url());
+ EXPECT_EQ(kReferrerPolicy, new_navigation.referrer_policy());
EXPECT_EQ(kVirtualURL, new_navigation.virtual_url());
EXPECT_EQ(kTitle, new_navigation.title());
- EXPECT_FALSE(new_navigation.page_state().IsValid());
+ EXPECT_EQ(std::string(), new_navigation.encoded_page_state());
EXPECT_EQ(kTransitionType, new_navigation.transition_type());
EXPECT_EQ(kHasPostData, new_navigation.has_post_data());
EXPECT_EQ(-1, new_navigation.post_id());
@@ -233,11 +235,12 @@ TEST(SerializedNavigationEntryTest, ToNavigationEntry) {
const scoped_ptr<content::NavigationEntry> new_navigation_entry(
navigation.ToNavigationEntry(kPageID, NULL));
- EXPECT_EQ(kReferrer.url, new_navigation_entry->GetReferrer().url);
- EXPECT_EQ(kReferrer.policy, new_navigation_entry->GetReferrer().policy);
+ EXPECT_EQ(kReferrerURL, new_navigation_entry->GetReferrer().url);
+ EXPECT_EQ(kReferrerPolicy, new_navigation_entry->GetReferrer().policy);
EXPECT_EQ(kVirtualURL, new_navigation_entry->GetVirtualURL());
EXPECT_EQ(kTitle, new_navigation_entry->GetTitle());
- EXPECT_EQ(kPageState, new_navigation_entry->GetPageState());
+ EXPECT_EQ(kEncodedPageState,
+ new_navigation_entry->GetPageState().ToEncodedData());
EXPECT_EQ(kPageID, new_navigation_entry->GetPageID());
EXPECT_EQ(ui::PAGE_TRANSITION_RELOAD,
new_navigation_entry->GetTransitionType());
@@ -270,7 +273,7 @@ TEST(SerializedNavigationEntryTest, ToSyncData) {
const sync_pb::TabNavigation sync_data = navigation.ToSyncData();
EXPECT_EQ(kVirtualURL.spec(), sync_data.virtual_url());
- EXPECT_EQ(kReferrer.url.spec(), sync_data.referrer());
+ EXPECT_EQ(kReferrerURL.spec(), sync_data.referrer());
EXPECT_EQ(kTitle, base::ASCIIToUTF16(sync_data.title()));
EXPECT_TRUE(sync_data.state().empty());
EXPECT_EQ(sync_pb::SyncEnums_PageTransition_AUTO_SUBFRAME,
@@ -366,11 +369,11 @@ TEST(SerializedNavigationEntryTest, Sanitize) {
EXPECT_EQ(kIndex, navigation.index());
EXPECT_EQ(kUniqueID, navigation.unique_id());
- EXPECT_EQ(GURL(), navigation.referrer().url);
- EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer().policy);
+ EXPECT_EQ(GURL(), navigation.referrer_url());
+ EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer_policy());
EXPECT_EQ(kVirtualURL, navigation.virtual_url());
EXPECT_EQ(kTitle, navigation.title());
- EXPECT_EQ(page_state, navigation.page_state());
+ EXPECT_EQ(page_state.ToEncodedData(), navigation.encoded_page_state());
EXPECT_EQ(kTransitionType, navigation.transition_type());
EXPECT_FALSE(navigation.has_post_data());
EXPECT_EQ(-1, navigation.post_id());