| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef IOS_CLEAN_CHROME_BROWSER_UI_TAB_COLLECTION_TAB_COLLECTION_MEDIATOR_H_ | 5 #ifndef IOS_CLEAN_CHROME_BROWSER_UI_TAB_COLLECTION_TAB_COLLECTION_MEDIATOR_H_ |
| 6 #define IOS_CLEAN_CHROME_BROWSER_UI_TAB_COLLECTION_TAB_COLLECTION_MEDIATOR_H_ | 6 #define IOS_CLEAN_CHROME_BROWSER_UI_TAB_COLLECTION_TAB_COLLECTION_MEDIATOR_H_ |
| 7 | 7 |
| 8 #import "ios/chrome/browser/web_state_list/web_state_list_observer_bridge.h" | 8 #import "ios/chrome/browser/web_state_list/web_state_list_observer_bridge.h" |
| 9 | 9 |
| 10 @class SnapshotCache; |
| 10 @protocol TabCollectionConsumer; | 11 @protocol TabCollectionConsumer; |
| 11 class WebStateList; | 12 class WebStateList; |
| 12 | 13 |
| 13 // Mediator listens for web state list changes, then updates the consumer. | 14 // Mediator listens for web state list changes, then updates the consumer. |
| 14 // This also serves as data source for a tab collection. | 15 // This also serves as data source for a tab collection. |
| 15 @interface TabCollectionMediator : NSObject<WebStateListObserving> | 16 @interface TabCollectionMediator : NSObject<WebStateListObserving> |
| 16 | 17 |
| 17 // The source of changes and backing of the data source. | 18 // The source of changes and backing of the data source. |
| 18 @property(nonatomic, assign) WebStateList* webStateList; | 19 @property(nonatomic, assign) WebStateList* webStateList; |
| 19 | 20 |
| 20 // This consumer is updated whenever there are relevant changes to the web state | 21 // This consumer is updated whenever there are relevant changes to the web state |
| 21 // list. | 22 // list. |
| 22 @property(nonatomic, weak) id<TabCollectionConsumer> consumer; | 23 @property(nonatomic, weak) id<TabCollectionConsumer> consumer; |
| 23 | 24 |
| 25 // Takes a snapshot of the active webState and updates the consumer. |
| 26 - (void)takeSnapshotWithCache:(SnapshotCache*)snapshotCache; |
| 27 |
| 24 // Stops observing all objects. | 28 // Stops observing all objects. |
| 25 - (void)disconnect; | 29 - (void)disconnect; |
| 26 | 30 |
| 27 @end | 31 @end |
| 28 | 32 |
| 29 #endif // IOS_CLEAN_CHROME_BROWSER_UI_TAB_COLLECTION_TAB_COLLECTION_MEDIATOR_H_ | 33 #endif // IOS_CLEAN_CHROME_BROWSER_UI_TAB_COLLECTION_TAB_COLLECTION_MEDIATOR_H_ |
| OLD | NEW |