Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ios / web / navigation / crw_session_controller+private_constructors.h
blobdd7a119fdbf323b69bdfdff487e9a77042d1a92f
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"
12 namespace web {
13 class BrowserState;
14 class NavigationItem;
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;
35 @end
37 #endif // IOS_WEB_NAVIGATION_CRW_SESSION_CONTROLLER_PRIVATE_CONSTRUCTORS_H_