| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #import "ios/chrome/browser/ui/ntp/google_landing_controller.h" | 5 #import "ios/chrome/browser/ui/ntp/google_landing_controller.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/i18n/case_conversion.h" | 9 #include "base/i18n/case_conversion.h" |
| 10 #import "base/ios/weak_nsobject.h" | 10 #import "base/ios/weak_nsobject.h" |
| (...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 307 - (void)showMostVisitedUndoForURL:(NSURL*)url; | 307 - (void)showMostVisitedUndoForURL:(NSURL*)url; |
| 308 // If Google is not the default search engine, hide the logo, doodle and | 308 // If Google is not the default search engine, hide the logo, doodle and |
| 309 // fakebox. | 309 // fakebox. |
| 310 - (void)updateLogoAndFakeboxDisplay; | 310 - (void)updateLogoAndFakeboxDisplay; |
| 311 // Helper method to set UICollectionViewFlowLayout insets for most visited. | 311 // Helper method to set UICollectionViewFlowLayout insets for most visited. |
| 312 - (void)setFlowLayoutInset:(UICollectionViewFlowLayout*)layout; | 312 - (void)setFlowLayoutInset:(UICollectionViewFlowLayout*)layout; |
| 313 // Instructs the UICollectionView and UIView to reload it's data and layout. | 313 // Instructs the UICollectionView and UIView to reload it's data and layout. |
| 314 - (void)reloadData; | 314 - (void)reloadData; |
| 315 // Logs a histogram due to a Most Visited item being opened. | 315 // Logs a histogram due to a Most Visited item being opened. |
| 316 - (void)logMostVisitedClick:(const NSUInteger)visitedIndex | 316 - (void)logMostVisitedClick:(const NSUInteger)visitedIndex |
| 317 tileType:(ntp_tiles::metrics::MostVisitedTileType)tileType; | 317 tileType:(ntp_tiles::TileVisualType)tileType; |
| 318 // Returns the size of |_mostVisitedData|. | 318 // Returns the size of |_mostVisitedData|. |
| 319 - (NSUInteger)numberOfItems; | 319 - (NSUInteger)numberOfItems; |
| 320 // Returns the number of non empty tiles (as opposed to the placeholder tiles). | 320 // Returns the number of non empty tiles (as opposed to the placeholder tiles). |
| 321 - (NSInteger)numberOfNonEmptyTilesShown; | 321 - (NSInteger)numberOfNonEmptyTilesShown; |
| 322 // Returns the URL for the mosted visited item in |_mostVisitedData|. | 322 // Returns the URL for the mosted visited item in |_mostVisitedData|. |
| 323 - (GURL)urlForIndex:(NSUInteger)index; | 323 - (GURL)urlForIndex:(NSUInteger)index; |
| 324 // Removes a blacklisted URL in both |_mostVisitedData|. | 324 // Removes a blacklisted URL in both |_mostVisitedData|. |
| 325 - (void)removeBlacklistedURL:(const GURL&)url; | 325 - (void)removeBlacklistedURL:(const GURL&)url; |
| 326 // Adds URL to the blacklist in both |_mostVisitedData|. | 326 // Adds URL to the blacklist in both |_mostVisitedData|. |
| 327 - (void)addBlacklistedURL:(const GURL&)url; | 327 - (void)addBlacklistedURL:(const GURL&)url; |
| (...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1046 | 1046 |
| 1047 if (percentComplete == 1.0) { | 1047 if (percentComplete == 1.0) { |
| 1048 [link invalidate]; | 1048 [link invalidate]; |
| 1049 // Reset |shiftTilesDownStartTime to its sentinal value. | 1049 // Reset |shiftTilesDownStartTime to its sentinal value. |
| 1050 _shiftTilesDownStartTime = -1; | 1050 _shiftTilesDownStartTime = -1; |
| 1051 [[_mostVisitedView collectionViewLayout] invalidateLayout]; | 1051 [[_mostVisitedView collectionViewLayout] invalidateLayout]; |
| 1052 } | 1052 } |
| 1053 } | 1053 } |
| 1054 | 1054 |
| 1055 - (void)logMostVisitedClick:(const NSUInteger)visitedIndex | 1055 - (void)logMostVisitedClick:(const NSUInteger)visitedIndex |
| 1056 tileType:(ntp_tiles::metrics::MostVisitedTileType)tileType { | 1056 tileType:(ntp_tiles::TileVisualType)tileType { |
| 1057 new_tab_page_uma::RecordAction( | 1057 new_tab_page_uma::RecordAction( |
| 1058 _browserState, new_tab_page_uma::ACTION_OPENED_MOST_VISITED_ENTRY); | 1058 _browserState, new_tab_page_uma::ACTION_OPENED_MOST_VISITED_ENTRY); |
| 1059 base::RecordAction(UserMetricsAction("MobileNTPMostVisited")); | 1059 base::RecordAction(UserMetricsAction("MobileNTPMostVisited")); |
| 1060 const ntp_tiles::NTPTile& tile = _mostVisitedData[visitedIndex]; | 1060 const ntp_tiles::NTPTile& tile = _mostVisitedData[visitedIndex]; |
| 1061 ntp_tiles::metrics::RecordTileClick(visitedIndex, tile.source, tileType); | 1061 ntp_tiles::metrics::RecordTileClick(visitedIndex, tile.source, tileType); |
| 1062 } | 1062 } |
| 1063 | 1063 |
| 1064 - (void)reloadData { | 1064 - (void)reloadData { |
| 1065 // -reloadData updates from |_mostVisitedData|. | 1065 // -reloadData updates from |_mostVisitedData|. |
| 1066 // -invalidateLayout is necessary because sometimes the flowLayout has the | 1066 // -invalidateLayout is necessary because sometimes the flowLayout has the |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1101 #pragma mark - MostVisitedSitesObserving | 1101 #pragma mark - MostVisitedSitesObserving |
| 1102 | 1102 |
| 1103 - (void)onMostVisitedURLsAvailable:(const ntp_tiles::NTPTilesVector&)data { | 1103 - (void)onMostVisitedURLsAvailable:(const ntp_tiles::NTPTilesVector&)data { |
| 1104 _mostVisitedData = data; | 1104 _mostVisitedData = data; |
| 1105 [self reloadData]; | 1105 [self reloadData]; |
| 1106 | 1106 |
| 1107 if (data.size() && !_recordedPageImpression) { | 1107 if (data.size() && !_recordedPageImpression) { |
| 1108 _recordedPageImpression = YES; | 1108 _recordedPageImpression = YES; |
| 1109 std::vector<ntp_tiles::metrics::TileImpression> tiles; | 1109 std::vector<ntp_tiles::metrics::TileImpression> tiles; |
| 1110 for (const ntp_tiles::NTPTile& ntpTile : data) { | 1110 for (const ntp_tiles::NTPTile& ntpTile : data) { |
| 1111 tiles.emplace_back(ntpTile.source, ntp_tiles::metrics::UNKNOWN_TILE_TYPE, | 1111 tiles.emplace_back(ntpTile.source, ntp_tiles::UNKNOWN_TILE_TYPE, |
| 1112 ntpTile.url); | 1112 ntpTile.url); |
| 1113 } | 1113 } |
| 1114 ntp_tiles::metrics::RecordPageImpression( | 1114 ntp_tiles::metrics::RecordPageImpression( |
| 1115 tiles, GetApplicationContext()->GetRapporServiceImpl()); | 1115 tiles, GetApplicationContext()->GetRapporServiceImpl()); |
| 1116 } | 1116 } |
| 1117 } | 1117 } |
| 1118 | 1118 |
| 1119 - (void)onIconMadeAvailable:(const GURL&)siteUrl { | 1119 - (void)onIconMadeAvailable:(const GURL&)siteUrl { |
| 1120 for (size_t i = 0; i < [self numberOfItems]; ++i) { | 1120 for (size_t i = 0; i < [self numberOfItems]; ++i) { |
| 1121 const ntp_tiles::NTPTile& ntpTile = _mostVisitedData[i]; | 1121 const ntp_tiles::NTPTile& ntpTile = _mostVisitedData[i]; |
| (...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1705 if (!view) { | 1705 if (!view) { |
| 1706 return nil; | 1706 return nil; |
| 1707 } | 1707 } |
| 1708 if ([view isKindOfClass:aClass]) { | 1708 if ([view isKindOfClass:aClass]) { |
| 1709 return view; | 1709 return view; |
| 1710 } | 1710 } |
| 1711 return [self nearestAncestorOfView:[view superview] withClass:aClass]; | 1711 return [self nearestAncestorOfView:[view superview] withClass:aClass]; |
| 1712 } | 1712 } |
| 1713 | 1713 |
| 1714 @end | 1714 @end |
| OLD | NEW |