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

Unified Diff: ios/web/public/web_state/web_state.h

Issue 1360993002: Moved NavigationManagerImpl serialization out of CRWSessionController. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: test fix Created 3 years, 11 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/public/web_state/web_state.h
diff --git a/ios/web/public/web_state/web_state.h b/ios/web/public/web_state/web_state.h
index cb31708c492e1c35c175c38871a1731f9e39ba58..87a4c7cbbfaddfa50192c7bd19e940e7940cfe96 100644
--- a/ios/web/public/web_state/web_state.h
+++ b/ios/web/public/web_state/web_state.h
@@ -11,6 +11,7 @@
#include <vector>
#include "base/callback_forward.h"
+#import "base/mac/scoped_nsobject.h"
#include "base/memory/weak_ptr.h"
#include "base/supports_user_data.h"
#include "ios/web/public/referrer.h"
@@ -24,6 +25,7 @@ class GURL;
class SkBitmap;
@class CRWJSInjectionReceiver;
+@class CRWNavigationManagerSerialization;
@protocol CRWScrollableContent;
@protocol CRWWebViewProxy;
typedef id<CRWWebViewProxy> CRWWebViewProxyType;
@@ -54,10 +56,15 @@ class WebState : public base::SupportsUserData {
public:
// Parameters for the Create() method.
struct CreateParams {
+ // Constructor used to create new WebStates.
explicit CreateParams(web::BrowserState* browser_state);
+ // Constructor used to create a WebState with restores session history.
+ explicit CreateParams(web::BrowserState* browser_state,
+ CRWNavigationManagerSerialization* serialization);
Eugene But (OOO till 7-30) 2017/01/25 16:03:38 Content does not have serialized state in CreatePa
kkhorimoto 2017/01/26 07:19:10 Done.
~CreateParams();
web::BrowserState* browser_state;
+ base::scoped_nsobject<CRWNavigationManagerSerialization> serialization;
};
// Parameters for the OpenURL() method.
@@ -135,6 +142,11 @@ class WebState : public base::SupportsUserData {
virtual const NavigationManager* GetNavigationManager() const = 0;
virtual NavigationManager* GetNavigationManager() = 0;
+ // Creates a serialized version of the NavigationManager. The returned value
+ // is autoreleased.
+ virtual CRWNavigationManagerSerialization*
+ BuildSerializedNavigationManager() = 0;
+
// Gets the CRWJSInjectionReceiver associated with this WebState.
virtual CRWJSInjectionReceiver* GetJSInjectionReceiver() const = 0;

Powered by Google App Engine
This is Rietveld 408576698