Index: ios/chrome/browser/reading_list/reading_list_web_state_observer.h |
diff --git a/ios/chrome/browser/reading_list/reading_list_web_state_observer.h b/ios/chrome/browser/reading_list/reading_list_web_state_observer.h |
index 47fcfb6f9aa4c0075e442c5ac0b852bb6dfc376f..d527bd4d360c7a51082aba3db77200ea61bc33ae 100644 |
--- a/ios/chrome/browser/reading_list/reading_list_web_state_observer.h |
+++ b/ios/chrome/browser/reading_list/reading_list_web_state_observer.h |
@@ -12,6 +12,17 @@ |
class ReadingListModel; |
+@protocol ReadingListWebStateObserverDelegate |
+ |
+// Tells the delegate the the loading of the online version failed and the |
+// offline version must be displayed. |
+- (void)displayOfflineVersionForURL:(const GURL&)URL; |
+ |
+@end |
+ |
+typedef id<ReadingListWebStateObserverDelegate> |
+ ReadingListWebStateObserverDelegateType; |
+ |
// Observes the loading of pages coming from the reading list, determines |
// whether loading an offline version of the page is needed, and actually |
// trigger the loading of the offline page (if possible). |
@@ -19,7 +30,8 @@ class ReadingListWebStateObserver : public web::WebStateObserver { |
public: |
static ReadingListWebStateObserver* FromWebState( |
web::WebState* web_state, |
- ReadingListModel* reading_list_model); |
+ ReadingListModel* reading_list_model, |
+ ReadingListWebStateObserverDelegateType delegate); |
~ReadingListWebStateObserver() override; |
@@ -33,7 +45,8 @@ class ReadingListWebStateObserver : public web::WebStateObserver { |
private: |
ReadingListWebStateObserver(web::WebState* web_state, |
- ReadingListModel* reading_list_model); |
+ ReadingListModel* reading_list_model, |
+ ReadingListWebStateObserverDelegateType delegate); |
// Looks at the loading percentage. If less than 15%, attemps to load the |
// offline version of that page. |
@@ -46,15 +59,18 @@ class ReadingListWebStateObserver : public web::WebStateObserver { |
void StopCheckingProgress(); |
// WebContentsObserver implementation. |
- void DidStopLoading() override; |
+ void DidStartLoading() override; |
void PageLoaded( |
web::PageLoadCompletionStatus load_completion_status) override; |
void WebStateDestroyed() override; |
+ void LoadReadingListDistilled(); |
+ |
ReadingListModel* reading_list_model_; |
std::unique_ptr<base::Timer> timer_; |
GURL pending_url_; |
int try_number_; |
+ ReadingListWebStateObserverDelegateType delegate_; |
DISALLOW_COPY_AND_ASSIGN(ReadingListWebStateObserver); |
}; |