1 // Copyright 2015 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_NAVIGATION_MANAGER_DELEGATE_H_
6 #define IOS_WEB_NAVIGATION_NAVIGATION_MANAGER_DELEGATE_H_
10 struct LoadCommittedDetails
;
13 // Delegate for NavigationManager to hand off parts of the navigation flow.
14 // TODO(stuartmorgan): See if this can be eliminated by moving more
15 class NavigationManagerDelegate
{
17 virtual ~NavigationManagerDelegate() {}
19 // Instructs the delegate to begin navigating to the pending entry.
20 // TODO(stuartmorgan): Remove this once more navigation logic moves to
21 // NavigationManagerImpl.
22 virtual void NavigateToPendingEntry() = 0;
24 // Informs the delegate that a navigation item has been commited.
25 virtual void OnNavigationItemCommitted(
26 const LoadCommittedDetails
& load_details
) = 0;
28 // Returns the WebState associated with this delegate.
29 virtual WebState
* GetWebState() = 0;
34 #endif // IOS_WEB_NAVIGATION_NAVIGATION_MANAGER_DELEGATE_H_