1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_PRIVATE_CONSTRUCTORS_H_
6 #define IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_PRIVATE_CONSTRUCTORS_H_
8 #import "ios/web/navigation/crw_session_controller.h"
10 #include "base/memory/scoped_vector.h"
17 // Temporary interface for NavigationManager and tests to create
18 // CRWSessionControllers. Once CRWSessionController has no users outside of
19 // web/, these methods can go back into session_controller.h. crbug.com/318974
20 @interface
CRWSessionController (PrivateConstructors
)
21 // Initializes a session controller, supplying a unique textual identifier for
22 // the window, or nil. |opener| is the tab id of the parent tab. It may be
23 // nil or empty if there is no parent.
24 - (id
)initWithWindowName
:(NSString
*)windowName
25 openerId
:(NSString
*)opener
26 openedByDOM
:(BOOL
)openedByDOM
27 openerNavigationIndex
:(NSInteger
)openerIndex
28 browserState
:(web::BrowserState
*)browserState
;
30 // Initializes a session controller, supplying a list of NavigationItem objects
31 // and the current index in the navigation history.
32 - (id
)initWithNavigationItems
:(ScopedVector
<web::NavigationItem
>)scoped_items
33 currentIndex
:(NSUInteger
)currentIndex
34 browserState
:(web::BrowserState
*)browserState
;
37 #endif // IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_PRIVATE_CONSTRUCTORS_H_