Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(353)

Unified Diff: ios/web/navigation/crw_session_entry.mm

Issue 1132563002: CRWSessionEntry: Replaced hardcoded strings with constants. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/web/navigation/crw_session_entry.mm
diff --git a/ios/web/navigation/crw_session_entry.mm b/ios/web/navigation/crw_session_entry.mm
index 5fd5d4ad738355dadb3130fd55fe5043f3da3ae3..e17eb60f8c3f7d2d545fafb5bc0946fc3f2a0dc2 100644
--- a/ios/web/navigation/crw_session_entry.mm
+++ b/ios/web/navigation/crw_session_entry.mm
@@ -14,13 +14,27 @@
#include "ios/web/public/web_state/page_scroll_state.h"
#import "net/base/mac/url_conversions.h"
-namespace {
+namespace web {
// Keys used to serialize web::PageScrollState properties.
+NSString* const kPageScrollStateKey = @"state";
NSString* const kScrollOffsetXKey = @"scrollX";
NSString* const kScrollOffsetYKey = @"scrollY";
NSString* const kMinimumZoomScaleKey = @"minZoom";
NSString* const kMaximumZoomScaleKey = @"maxZoom";
NSString* const kZoomScaleKey = @"zoom";
+
+// Keys used to serialize navigation properties.
+NSString* const kURLKey = @"virtualUrlString";
+NSString* const kURLDeperecatedKey = @"virtualUrl";
+NSString* const kReferrerURLKey = @"referrerUrlString";
+NSString* const kReferrerURLDeprecatedKey = @"referrer";
+NSString* const kReferrerPolicyKey = @"referrerPolicy";
+NSString* const kTimestampKey = @"timestamp";
+NSString* const kTitleKey = @"title";
+NSString* const kPOSTDataKey = @"POSTData";
+NSString* const kHTTPRequestHeadersKey = @"httpHeaders";
+NSString* const kSkipResubmitConfirmationKey = @"skipResubmitDataConfirmation";
+NSString* const kUseDesktopUserAgentKey = @"useDesktopUserAgent";
}
@interface CRWSessionEntry () {
@@ -71,51 +85,53 @@ NSString* const kZoomScaleKey = @"zoom";
// Desktop chrome only persists virtualUrl_ and uses it to feed the url
// when creating a NavigationEntry.
GURL url;
- if ([aDecoder containsValueForKey:@"virtualUrlString"]) {
- url = GURL(
- web::nscoder_util::DecodeString(aDecoder, @"virtualUrlString"));
+ if ([aDecoder containsValueForKey:web::kURLKey]) {
+ url = GURL(web::nscoder_util::DecodeString(aDecoder, web::kURLKey));
} else {
// Backward compatibility.
- url = net::GURLWithNSURL([aDecoder decodeObjectForKey:@"virtualUrl"]);
+ url = net::GURLWithNSURL(
+ [aDecoder decodeObjectForKey:web::kURLDeperecatedKey]);
}
_navigationItem->SetURL(url);
self.originalUrl = url;
- if ([aDecoder containsValueForKey:@"referrerUrlString"]) {
- const std::string referrerString(web::nscoder_util::DecodeString(
- aDecoder, @"referrerUrlString"));
- web::ReferrerPolicy referrerPolicy =
- static_cast<web::ReferrerPolicy>(
- [aDecoder decodeIntForKey:@"referrerPolicy"]);
+ if ([aDecoder containsValueForKey:web::kReferrerURLKey]) {
+ const std::string referrerString(
+ web::nscoder_util::DecodeString(aDecoder, web::kReferrerURLKey));
+ web::ReferrerPolicy referrerPolicy = static_cast<web::ReferrerPolicy>(
+ [aDecoder decodeIntForKey:web::kReferrerPolicyKey]);
_navigationItem->SetReferrer(
web::Referrer(GURL(referrerString), referrerPolicy));
} else {
// Backward compatibility.
- NSURL* referrer = [aDecoder decodeObjectForKey:@"referrer"];
+ NSURL* referrer =
+ [aDecoder decodeObjectForKey:web::kReferrerURLDeprecatedKey];
_navigationItem->SetReferrer(web::Referrer(
net::GURLWithNSURL(referrer), web::ReferrerPolicyDefault));
}
- if ([aDecoder containsValueForKey:@"timestamp"]) {
- int64 us = [aDecoder decodeInt64ForKey:@"timestamp"];
+ if ([aDecoder containsValueForKey:web::kTimestampKey]) {
+ int64 us = [aDecoder decodeInt64ForKey:web::kTimestampKey];
_navigationItem->SetTimestamp(base::Time::FromInternalValue(us));
}
- NSString* title = [aDecoder decodeObjectForKey:@"title"];
+ NSString* title = [aDecoder decodeObjectForKey:web::kTitleKey];
// Use a transition type of reload so that we don't incorrectly increase
// the typed count. This is what desktop chrome does.
_navigationItem->SetPageID(-1);
_navigationItem->SetTitle(base::SysNSStringToUTF16(title));
_navigationItem->SetTransitionType(ui::PAGE_TRANSITION_RELOAD);
_navigationItem->SetPageScrollState([[self class]
- scrollStateFromDictionary:[aDecoder decodeObjectForKey:@"state"]]);
+ scrollStateFromDictionary:
+ [aDecoder decodeObjectForKey:web::kPageScrollStateKey]]);
_navigationItem->SetShouldSkipResubmitDataConfirmation(
- [aDecoder decodeBoolForKey:@"skipResubmitDataConfirmation"]);
+ [aDecoder decodeBoolForKey:web::kSkipResubmitConfirmationKey]);
_navigationItem->SetIsOverridingUserAgent(
- [aDecoder decodeBoolForKey:@"useDesktopUserAgent"]);
- _navigationItem->SetPostData([aDecoder decodeObjectForKey:@"POSTData"]);
+ [aDecoder decodeBoolForKey:web::kUseDesktopUserAgentKey]);
+ _navigationItem->SetPostData(
+ [aDecoder decodeObjectForKey:web::kPOSTDataKey]);
_navigationItem->AddHttpRequestHeaders(
- [aDecoder decodeObjectForKey:@"httpHeaders"]);
+ [aDecoder decodeObjectForKey:web::kHTTPRequestHeadersKey]);
}
return self;
}
@@ -123,27 +139,27 @@ NSString* const kZoomScaleKey = @"zoom";
- (void)encodeWithCoder:(NSCoder*)aCoder {
// Desktop Chrome doesn't persist |url_| or |originalUrl_|, only
// |virtualUrl_|.
- web::nscoder_util::EncodeString(aCoder, @"virtualUrlString",
+ web::nscoder_util::EncodeString(aCoder, web::kURLKey,
_navigationItem->GetVirtualURL().spec());
- web::nscoder_util::EncodeString(aCoder, @"referrerUrlString",
+ web::nscoder_util::EncodeString(aCoder, web::kReferrerURLKey,
_navigationItem->GetReferrer().url.spec());
[aCoder encodeInt:_navigationItem->GetReferrer().policy
- forKey:@"referrerPolicy"];
+ forKey:web::kReferrerPolicyKey];
[aCoder encodeInt64:_navigationItem->GetTimestamp().ToInternalValue()
- forKey:@"timestamp"];
+ forKey:web::kTimestampKey];
[aCoder encodeObject:base::SysUTF16ToNSString(_navigationItem->GetTitle())
- forKey:@"title"];
+ forKey:web::kTitleKey];
[aCoder encodeObject:[[self class] dictionaryFromScrollState:
_navigationItem->GetPageScrollState()]
- forKey:@"state"];
+ forKey:web::kPageScrollStateKey];
[aCoder encodeBool:_navigationItem->ShouldSkipResubmitDataConfirmation()
- forKey:@"skipResubmitDataConfirmation"];
+ forKey:web::kSkipResubmitConfirmationKey];
[aCoder encodeBool:_navigationItem->IsOverridingUserAgent()
- forKey:@"useDesktopUserAgent"];
- [aCoder encodeObject:_navigationItem->GetPostData() forKey:@"POSTData"];
+ forKey:web::kUseDesktopUserAgentKey];
+ [aCoder encodeObject:_navigationItem->GetPostData() forKey:web::kPOSTDataKey];
[aCoder encodeObject:_navigationItem->GetHttpRequestHeaders()
- forKey:@"httpHeaders"];
+ forKey:web::kHTTPRequestHeadersKey];
}
// TODO(ios): Shall we overwrite EqualTo:?
@@ -184,15 +200,15 @@ NSString* const kZoomScaleKey = @"zoom";
+ (web::PageScrollState)scrollStateFromDictionary:(NSDictionary*)dictionary {
web::PageScrollState scrollState;
NSNumber* serializedValue = nil;
- if ((serializedValue = dictionary[kScrollOffsetXKey]))
+ if ((serializedValue = dictionary[web::kScrollOffsetXKey]))
scrollState.set_scroll_offset_x([serializedValue doubleValue]);
- if ((serializedValue = dictionary[kScrollOffsetYKey]))
+ if ((serializedValue = dictionary[web::kScrollOffsetYKey]))
scrollState.set_scroll_offset_y([serializedValue doubleValue]);
- if ((serializedValue = dictionary[kMinimumZoomScaleKey]))
+ if ((serializedValue = dictionary[web::kMinimumZoomScaleKey]))
scrollState.set_minimum_zoom_scale([serializedValue doubleValue]);
- if ((serializedValue = dictionary[kMaximumZoomScaleKey]))
+ if ((serializedValue = dictionary[web::kMaximumZoomScaleKey]))
scrollState.set_maximum_zoom_scale([serializedValue doubleValue]);
- if ((serializedValue = dictionary[kZoomScaleKey]))
+ if ((serializedValue = dictionary[web::kZoomScaleKey]))
scrollState.set_zoom_scale([serializedValue doubleValue]);
return scrollState;
}
@@ -200,11 +216,11 @@ NSString* const kZoomScaleKey = @"zoom";
+ (NSDictionary*)dictionaryFromScrollState:
(const web::PageScrollState&)scrollState {
return @{
- kScrollOffsetXKey : @(scrollState.scroll_offset_x()),
- kScrollOffsetYKey : @(scrollState.scroll_offset_y()),
- kMinimumZoomScaleKey : @(scrollState.minimum_zoom_scale()),
- kMaximumZoomScaleKey : @(scrollState.maximum_zoom_scale()),
- kZoomScaleKey : @(scrollState.zoom_scale())
+ web::kScrollOffsetXKey : @(scrollState.scroll_offset_x()),
+ web::kScrollOffsetYKey : @(scrollState.scroll_offset_y()),
+ web::kMinimumZoomScaleKey : @(scrollState.minimum_zoom_scale()),
+ web::kMaximumZoomScaleKey : @(scrollState.maximum_zoom_scale()),
+ web::kZoomScaleKey : @(scrollState.zoom_scale()),
};
}

Powered by Google App Engine
This is Rietveld 408576698