Index: ios/chrome/browser/web/auto_reload_controller.h |
diff --git a/ios/chrome/browser/web/auto_reload_controller.h b/ios/chrome/browser/web/auto_reload_controller.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..49d73cc52a6a50c8f8b644674abd936872c3ab5f |
--- /dev/null |
+++ b/ios/chrome/browser/web/auto_reload_controller.h |
@@ -0,0 +1,49 @@ |
+// Copyright 2014 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_WEB_AUTO_RELOAD_CONTROLLER_H_ |
+#define IOS_CHROME_BROWSER_WEB_AUTO_RELOAD_CONTROLLER_H_ |
+ |
+#include <Foundation/Foundation.h> |
+ |
+#include "url/gurl.h" |
+ |
+// AutoReloadDelegate is the interface by which AutoReloadController affects the |
+// outside world. Tests can use a mock object implementing this protocol; |
+// normally, this is provided by AutoReloadBridge. |
+@protocol AutoReloadDelegate |
+ |
+// When called, this method should reload the tab being tracked (see the class |
+// comment on AutoReloadController below). |
+- (void)reload; |
+ |
+@end |
+ |
+// AutoReloadController implements the auto-reload logic. An |
+// AutoReloadController instance receives state change notifications from an |
+// AutoReloadBridge and calls back to its AutoReloadDelegate (in practice the |
+// same object as the AutoReloadBridge) to issue reload requests. Conceptually, |
+// an AutoReloadController tracks the state of a single tab. |
+@interface AutoReloadController : NSObject |
+ |
+// Initialize this object with a supplied delegate and initial online status. |
+- (instancetype)initWithDelegate:(id<AutoReloadDelegate>)delegate |
+ onlineStatus:(BOOL)onlineStatus; |
+ |
+// This method notifies this object that a page load started for |url|. |
+- (void)loadStartedForURL:(const GURL&)url; |
+ |
+// This method notifies this object that a page load finished for |url|. |
+- (void)loadFinishedForURL:(const GURL&)url wasPost:(BOOL)wasPost; |
+ |
+// This method notifies this object that a page load failed for |url|. |
+- (void)loadFailedForURL:(const GURL&)url wasPost:(BOOL)wasPost; |
+ |
+// This method notifies this object that the device's network state changed to |
+// |online|. |
+- (void)networkStateChangedToOnline:(BOOL)online; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_BROWSER_WEB_AUTO_RELOAD_CONTROLLER_H_ |