Index: ios/chrome/browser/tabs/tab_loading_delegate.h |
diff --git a/ios/chrome/browser/tabs/tab_loading_delegate.h b/ios/chrome/browser/tabs/tab_loading_delegate.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..16671d8986ff241b2e61c1feef67ab5ddb0c5a0e |
--- /dev/null |
+++ b/ios/chrome/browser/tabs/tab_loading_delegate.h |
@@ -0,0 +1,30 @@ |
+// Copyright 2013 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_LOADING_DELEGATE_H_ |
+#define IOS_CHROME_BROWSER_TABS_TAB_LOADING_DELEGATE_H_ |
+ |
+#import <UIKit/UIKit.h> |
+ |
+// A protocol implemented by a delegate managing Tab loading. This protocol |
+// is used by a Tab that's being preloaded before being displayed to inform the |
+// entity that's preloading it that it should take some action. In the |
+// QuickBack system, for example, a QuickBackLoadController will start loading |
+// a Tab for a search link, and hold it in this loading state until it's |
+// ready to display. The QuickBackLoadController is then set as this Tab's |
+// TabLoadingDelegate, which allows the Tab to let its owning controller know |
+// if it needs to be cancelled or displayed. |
+@protocol TabLoadingDelegate |
+// Display the preloading tab immediately. |
+- (void)displayPreloadingLinkImmediately; |
+// Cancel preloading tab. |
+- (void)cancelPreloadingTab; |
+// Informs the delegate that the tab aborted load internally (e.g., due to |
+// launching an external URL), so the preloading should be abandoned and the |
+// source tab restored to its pre-load-attempt state. |
+- (void)preloadingTabAborted; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_BROWSER_TABS_TAB_LOADING_DELEGATE_H_ |