blob: 58da0c01bc1be07f909d6202e480caca2bda2f7e [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_TABS_TAB_PRIVATE_H_
#define IOS_CHROME_BROWSER_TABS_TAB_PRIVATE_H_
#include "ios/net/request_tracker.h"
#import "ios/web/public/web_state/ui/crw_web_delegate.h"
namespace web {
class NavigationItem;
class NavigationManagerImpl;
class WebStateImpl;
}
// Exposed private methods for testing purpose.
@interface Tab ()<CRWWebDelegate>
- (OpenInController*)openInController;
@end
@interface Tab (TestingSupport)
// Returns the Tab owning TabModel.
- (TabModel*)parentTabModel;
// Variant of -navigationManager that returns the NavigationManager as a
// NavigationManagerImpl. This should only be used by tests and will be
// removed when Tab can wrap TestWebState (see issue crbug.com/620465 for
// progress).
- (web::NavigationManagerImpl*)navigationManagerImpl;
// The CRWWebController from the Tab's WebState. This should only be used
// by tests and will be removed when Tab can wrap TestWebState (see issue
// crbug.com/620465 for progress).
@property(nonatomic, readonly) CRWWebController* webController;
@end
#endif // IOS_CHROME_BROWSER_TABS_TAB_PRIVATE_H_