| 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_CHROME_BROWSER_UI_NTP_GOOGLE_LANDING_DATA_SOURCE_H_ | 5 #ifndef IOS_CHROME_BROWSER_UI_NTP_GOOGLE_LANDING_DATA_SOURCE_H_ |
| 6 #define IOS_CHROME_BROWSER_UI_NTP_GOOGLE_LANDING_DATA_SOURCE_H_ | 6 #define IOS_CHROME_BROWSER_UI_NTP_GOOGLE_LANDING_DATA_SOURCE_H_ |
| 7 | 7 |
| 8 #import <Foundation/Foundation.h> | 8 #import <Foundation/Foundation.h> |
| 9 | 9 |
| 10 #include "components/ntp_tiles/ntp_tile.h" | 10 #include "components/ntp_tiles/ntp_tile.h" |
| 11 #include "components/ntp_tiles/tile_visual_type.h" | |
| 12 #import "ios/chrome/browser/ui/toolbar/web_toolbar_controller.h" | |
| 13 #import "ios/chrome/browser/ui/url_loader.h" | |
| 14 #include "url/gurl.h" | |
| 15 | 11 |
| 16 class ReadingListModel; | 12 class ReadingListModel; |
| 17 class LargeIconCache; | 13 class LargeIconCache; |
| 18 namespace favicon { | 14 namespace favicon { |
| 19 class LargeIconService; | 15 class LargeIconService; |
| 20 } | 16 } |
| 21 @class TabModel; | |
| 22 @protocol WebToolbarDelegate; | |
| 23 | 17 |
| 24 // DataSource for the google landing controller. | 18 // DataSource for the google landing controller. |
| 25 // TODO(crbug.com/694750): Most everything here can be moved to dispatcher. | 19 // TODO(crbug.com/694750): Most everything here can be moved to dispatcher. |
| 26 @protocol GoogleLandingDataSource<OmniboxFocuser, UrlLoader> | 20 @protocol GoogleLandingDataSource |
| 27 | |
| 28 // Removes a blacklisted URL in both |_mostVisitedData|. | |
| 29 - (void)removeBlacklistedURL:(const GURL&)url; | |
| 30 | |
| 31 // Adds URL to the blacklist in both |_mostVisitedData|. | |
| 32 - (void)addBlacklistedURL:(const GURL&)url; | |
| 33 | |
| 34 // Logs a histogram due to a Most Visited item being opened. | |
| 35 - (void)logMostVisitedClick:(const NSUInteger)visitedIndex | |
| 36 tileType:(ntp_tiles::TileVisualType)tileType; | |
| 37 | |
| 38 // Called when a what's new promo is viewed. | |
| 39 - (void)promoViewed; | |
| 40 | |
| 41 // Called when a what's new promo is tapped. | |
| 42 - (void)promoTapped; | |
| 43 | |
| 44 // |YES| if the google landing toolbar can show the forward arrow. | |
| 45 - (BOOL)canGoForward; | |
| 46 | |
| 47 // |YES| if the google landing toolbar can show the back arrow.// | |
| 48 - (BOOL)canGoBack; | |
| 49 | |
| 50 // Called before the fake tab switcher icon is tapped. | |
| 51 - (void)prepareToEnterTabSwitcher:(id)sender; | |
| 52 | 21 |
| 53 // TODO(crbug.com/694750): The following two methods should be moved to the | 22 // TODO(crbug.com/694750): The following two methods should be moved to the |
| 54 // consumer, and converted into types more suitable for a consumer. | 23 // consumer, and converted into types more suitable for a consumer. |
| 55 // Gets an a most visited NTP tile at |index|. | 24 // Gets an a most visited NTP tile at |index|. |
| 56 - (ntp_tiles::NTPTile)mostVisitedAtIndex:(NSUInteger)index; | 25 - (ntp_tiles::NTPTile)mostVisitedAtIndex:(NSUInteger)index; |
| 57 | 26 |
| 58 // Gets the number of most visited entries. | 27 // Gets the number of most visited entries. |
| 59 - (NSUInteger)mostVisitedSize; | 28 - (NSUInteger)mostVisitedSize; |
| 60 | 29 |
| 61 // TODO(crbug.com/694750): The following three properties will be removed in | 30 // TODO(crbug.com/694750): The following three properties will be removed in |
| 62 // subsequent CLs, with data provided via GoogleDataConsumer into types more | 31 // subsequent CLs, with data provided via GoogleDataConsumer into types more |
| 63 // suitable for a consumer. | 32 // suitable for a consumer. |
| 64 | 33 |
| 65 // Gets the reading list model. | 34 // Gets the reading list model. |
| 66 - (ReadingListModel*)readingListModel; | 35 - (ReadingListModel*)readingListModel; |
| 67 | 36 |
| 68 // Gets the large icon cache. | 37 // Gets the large icon cache. |
| 69 - (LargeIconCache*)largeIconCache; | 38 - (LargeIconCache*)largeIconCache; |
| 70 | 39 |
| 71 // Gets the large icon service. | 40 // Gets the large icon service. |
| 72 - (favicon::LargeIconService*)largeIconService; | 41 - (favicon::LargeIconService*)largeIconService; |
| 73 | 42 |
| 74 | |
| 75 | |
| 76 @end | 43 @end |
| 77 | 44 |
| 78 #endif // IOS_CHROME_BROWSER_UI_NTP_GOOGLE_LANDING_DATA_SOURCE_H_ | 45 #endif // IOS_CHROME_BROWSER_UI_NTP_GOOGLE_LANDING_DATA_SOURCE_H_ |
| OLD | NEW |