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

Unified Diff: components/sessions/core/serialized_navigation_entry.h

Issue 2310363002: Persist offline page info in a navigation entry if needed (Closed)
Patch Set: Update Created 4 years, 3 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: components/sessions/core/serialized_navigation_entry.h
diff --git a/components/sessions/core/serialized_navigation_entry.h b/components/sessions/core/serialized_navigation_entry.h
index cc3b53d0f29df4d1cca140c959c8aa9b0c3f112e..fab2ddc2cfe90b5d002a563a350b707a34fe3c9d 100644
--- a/components/sessions/core/serialized_navigation_entry.h
+++ b/components/sessions/core/serialized_navigation_entry.h
@@ -7,6 +7,7 @@
#include <stdint.h>
+#include <map>
#include <memory>
#include <set>
#include <string>
@@ -123,6 +124,12 @@ class SESSIONS_EXPORT SerializedNavigationEntry {
}
const std::vector<GURL>& redirect_chain() const { return redirect_chain_; }
+#if !defined(OS_IOS)
sky 2016/09/29 03:08:20 I'm nervous about making this non-ios specific. Se
jianli 2016/09/29 22:02:29 Yes. Removed #if.
+ const std::map<std::string, std::string>& extended_info_map() const {
+ return extended_info_map_;
+ }
+#endif // !defined(OS_IOS)
+
private:
friend class ContentSerializedNavigationBuilder;
friend class ContentSerializedNavigationDriver;
@@ -156,6 +163,16 @@ class SESSIONS_EXPORT SerializedNavigationEntry {
BlockedState blocked_state_;
PasswordState password_state_;
std::set<std::string> content_pack_categories_;
+
+#if !defined(OS_IOS)
+ // The map that tracks all the extended info that need to be persisted, but
sky 2016/09/29 03:08:19 How about: provides storage for arbitrary key/valu
+ // would want to avoid the core session restore to know about the details.
+ // The consumer should implement the ExtendedInfoHandler interface and calls
+ // SerializedNavigationDriver::RegisterExtendedInfoHandler to register it.
+ // Note that all the map data are not synced since the only one added now does
+ // not need it.
+ std::map<std::string, std::string> extended_info_map_;
+#endif // !defined(OS_IOS)
};
} // namespace sessions

Powered by Google App Engine
This is Rietveld 408576698