| Index: ios/web/navigation/navigation_manager_impl.h
|
| diff --git a/ios/web/navigation/navigation_manager_impl.h b/ios/web/navigation/navigation_manager_impl.h
|
| index ef09e5205d991ceaf33001fdb9bf2da2b2eb4ee6..0df7fea8c59d7c3aae3e13695399d5712611607c 100644
|
| --- a/ios/web/navigation/navigation_manager_impl.h
|
| +++ b/ios/web/navigation/navigation_manager_impl.h
|
| @@ -23,15 +23,19 @@ class NavigationItem;
|
| struct Referrer;
|
| class NavigationManagerDelegate;
|
| class NavigationManagerFacadeDelegate;
|
| +class SerializedNavigationManagerBuilder;
|
|
|
| // Implementation of NavigationManager.
|
| // Generally mirrors upstream's NavigationController.
|
| class NavigationManagerImpl : public NavigationManager {
|
| public:
|
| - NavigationManagerImpl(NavigationManagerDelegate* delegate,
|
| - BrowserState* browser_state);
|
| + NavigationManagerImpl();
|
| ~NavigationManagerImpl() override;
|
|
|
| + // Setters for NavigationManagerDelegate and BrowserState.
|
| + void SetDelegate(NavigationManagerDelegate* delegate);
|
| + void SetBrowserState(BrowserState* browser_state);
|
| +
|
| // Sets the CRWSessionController that backs this object.
|
| // Keeps a strong reference to |session_controller|.
|
| // This method should only be called when deserializing |session_controller|
|
| @@ -58,6 +62,10 @@ class NavigationManagerImpl : public NavigationManager {
|
| void ReplaceSessionHistory(ScopedVector<NavigationItem> items,
|
| int current_index);
|
|
|
| + // Returns a deep copy of the NavigationManager for use in serialization.
|
| + // Does not copy |delegate_| or |facade_delegate_|.
|
| + scoped_ptr<NavigationManagerImpl> CopyForSerialization() const;
|
| +
|
| // Sets the delegate used to drive the navigation controller facade.
|
| void SetFacadeDelegate(NavigationManagerFacadeDelegate* facade_delegate);
|
| NavigationManagerFacadeDelegate* GetFacadeDelegate() const;
|
| @@ -130,6 +138,8 @@ class NavigationManagerImpl : public NavigationManager {
|
| // CRWSessionController.
|
| void CopyState(NavigationManagerImpl* navigation_manager);
|
| private:
|
| + friend SerializedNavigationManagerBuilder;
|
| +
|
| // The primary delegate for this manager.
|
| NavigationManagerDelegate* delegate_;
|
|
|
|
|