OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/settings/clear_browsing_data_collection_view_cont
roller.h" | 5 #import "ios/chrome/browser/ui/settings/clear_browsing_data_collection_view_cont
roller.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/ios/ios_util.h" | 10 #include "base/ios/ios_util.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 #include "ios/chrome/browser/browsing_data/ios_chrome_browsing_data_remover.h" | 32 #include "ios/chrome/browser/browsing_data/ios_chrome_browsing_data_remover.h" |
33 #include "ios/chrome/browser/chrome_url_constants.h" | 33 #include "ios/chrome/browser/chrome_url_constants.h" |
34 #include "ios/chrome/browser/experimental_flags.h" | 34 #include "ios/chrome/browser/experimental_flags.h" |
35 #include "ios/chrome/browser/history/web_history_service_factory.h" | 35 #include "ios/chrome/browser/history/web_history_service_factory.h" |
36 #include "ios/chrome/browser/signin/signin_manager_factory.h" | 36 #include "ios/chrome/browser/signin/signin_manager_factory.h" |
37 #include "ios/chrome/browser/sync/ios_chrome_profile_sync_service_factory.h" | 37 #include "ios/chrome/browser/sync/ios_chrome_profile_sync_service_factory.h" |
38 #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrom
e.h" | 38 #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrom
e.h" |
39 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_detail_item
.h" | 39 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_detail_item
.h" |
40 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_footer_item
.h" | 40 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_footer_item
.h" |
41 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" | 41 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" |
| 42 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_text_cell.h
" |
42 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_text_item.h
" | 43 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_text_item.h
" |
43 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" | 44 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" |
44 #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" | 45 #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" |
45 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" | 46 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" |
46 #import "ios/chrome/browser/ui/commands/clear_browsing_data_command.h" | 47 #import "ios/chrome/browser/ui/commands/clear_browsing_data_command.h" |
47 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" | 48 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" |
48 #import "ios/chrome/browser/ui/commands/open_url_command.h" | 49 #import "ios/chrome/browser/ui/commands/open_url_command.h" |
49 #import "ios/chrome/browser/ui/icons/chrome_icon.h" | 50 #import "ios/chrome/browser/ui/icons/chrome_icon.h" |
50 #import "ios/chrome/browser/ui/settings/time_range_selector_collection_view_cont
roller.h" | 51 #import "ios/chrome/browser/ui/settings/time_range_selector_collection_view_cont
roller.h" |
51 #include "ios/chrome/browser/ui/ui_util.h" | 52 #include "ios/chrome/browser/ui/ui_util.h" |
52 #import "ios/chrome/browser/ui/uikit_ui_util.h" | 53 #import "ios/chrome/browser/ui/uikit_ui_util.h" |
53 #include "ios/chrome/common/channel_info.h" | 54 #include "ios/chrome/common/channel_info.h" |
54 #include "ios/chrome/grit/ios_chromium_strings.h" | 55 #include "ios/chrome/grit/ios_chromium_strings.h" |
55 #include "ios/chrome/grit/ios_strings.h" | 56 #include "ios/chrome/grit/ios_strings.h" |
56 #import "ios/public/provider/chrome/browser/chrome_browser_provider.h" | 57 #import "ios/public/provider/chrome/browser/chrome_browser_provider.h" |
57 #import "ios/public/provider/chrome/browser/images/branded_image_provider.h" | 58 #import "ios/public/provider/chrome/browser/images/branded_image_provider.h" |
58 #import "ios/third_party/material_components_ios/src/components/Palettes/src/Mat
erialPalettes.h" | 59 #import "ios/third_party/material_components_ios/src/components/Palettes/src/Mat
erialPalettes.h" |
| 60 #import "ios/third_party/material_components_ios/src/components/Typography/src/M
aterialTypography.h" |
59 #include "ui/base/l10n/l10n_util_mac.h" | 61 #include "ui/base/l10n/l10n_util_mac.h" |
60 #include "url/gurl.h" | 62 #include "url/gurl.h" |
61 | 63 |
62 #if !defined(__has_feature) || !__has_feature(objc_arc) | 64 #if !defined(__has_feature) || !__has_feature(objc_arc) |
63 #error "This file requires ARC support." | 65 #error "This file requires ARC support." |
64 #endif | 66 #endif |
65 | 67 |
66 NSString* const kClearBrowsingDataCollectionViewId = | 68 NSString* const kClearBrowsingDataCollectionViewId = |
67 @"kClearBrowsingDataCollectionViewId"; | 69 @"kClearBrowsingDataCollectionViewId"; |
68 NSString* const kClearBrowsingHistoryCellId = @"kClearBrowsingHistoryCellId"; | 70 NSString* const kClearBrowsingHistoryCellId = @"kClearBrowsingHistoryCellId"; |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 prefName:browsing_data::prefs::kDeleteFormData]; | 325 prefName:browsing_data::prefs::kDeleteFormData]; |
324 [model addItem:autofillItem | 326 [model addItem:autofillItem |
325 toSectionWithIdentifier:SectionIdentifierDataTypes]; | 327 toSectionWithIdentifier:SectionIdentifierDataTypes]; |
326 | 328 |
327 // Clear Browsing Data button. | 329 // Clear Browsing Data button. |
328 [model addSectionWithIdentifier:SectionIdentifierClearBrowsingDataButton]; | 330 [model addSectionWithIdentifier:SectionIdentifierClearBrowsingDataButton]; |
329 CollectionViewTextItem* clearButtonItem = [[CollectionViewTextItem alloc] | 331 CollectionViewTextItem* clearButtonItem = [[CollectionViewTextItem alloc] |
330 initWithType:ItemTypeClearBrowsingDataButton]; | 332 initWithType:ItemTypeClearBrowsingDataButton]; |
331 clearButtonItem.text = l10n_util::GetNSString(IDS_IOS_CLEAR_BUTTON); | 333 clearButtonItem.text = l10n_util::GetNSString(IDS_IOS_CLEAR_BUTTON); |
332 clearButtonItem.accessibilityTraits |= UIAccessibilityTraitButton; | 334 clearButtonItem.accessibilityTraits |= UIAccessibilityTraitButton; |
333 clearButtonItem.textColor = [[MDCPalette cr_redPalette] tint500]; | |
334 [model addItem:clearButtonItem | 335 [model addItem:clearButtonItem |
335 toSectionWithIdentifier:SectionIdentifierClearBrowsingDataButton]; | 336 toSectionWithIdentifier:SectionIdentifierClearBrowsingDataButton]; |
336 | 337 |
337 // Google Account footer. | 338 // Google Account footer. |
338 SigninManager* signinManager = | 339 SigninManager* signinManager = |
339 ios::SigninManagerFactory::GetForBrowserState(_browserState); | 340 ios::SigninManagerFactory::GetForBrowserState(_browserState); |
340 if (signinManager->IsAuthenticated()) { | 341 if (signinManager->IsAuthenticated()) { |
341 // TODO(crbug.com/650424): Footer items must currently go into a separate | 342 // TODO(crbug.com/650424): Footer items must currently go into a separate |
342 // section, to work around a drawing bug in MDC. | 343 // section, to work around a drawing bug in MDC. |
343 [model addSectionWithIdentifier:SectionIdentifierGoogleAccount]; | 344 [model addSectionWithIdentifier:SectionIdentifierGoogleAccount]; |
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
791 : l10n_util::GetNSStringF( | 792 : l10n_util::GetNSStringF( |
792 IDS_DEL_CACHE_COUNTER_UPPER_ESTIMATE, | 793 IDS_DEL_CACHE_COUNTER_UPPER_ESTIMATE, |
793 base::SysNSStringToUTF16(formattedSize)); | 794 base::SysNSStringToUTF16(formattedSize)); |
794 } | 795 } |
795 return l10n_util::GetNSString(IDS_DEL_CACHE_COUNTER_ALMOST_EMPTY); | 796 return l10n_util::GetNSString(IDS_DEL_CACHE_COUNTER_ALMOST_EMPTY); |
796 } | 797 } |
797 return base::SysUTF16ToNSString( | 798 return base::SysUTF16ToNSString( |
798 browsing_data::GetCounterTextFromResult(&result)); | 799 browsing_data::GetCounterTextFromResult(&result)); |
799 } | 800 } |
800 | 801 |
| 802 #pragma mark - UICollectionViewDataSource |
| 803 |
| 804 - (UICollectionViewCell*)collectionView:(UICollectionView*)collectionView |
| 805 cellForItemAtIndexPath:(NSIndexPath*)indexPath { |
| 806 UICollectionViewCell* cell = |
| 807 [super collectionView:collectionView cellForItemAtIndexPath:indexPath]; |
| 808 |
| 809 NSInteger itemType = |
| 810 [self.collectionViewModel itemTypeForIndexPath:indexPath]; |
| 811 switch (itemType) { |
| 812 case ItemTypeClearBrowsingDataButton: |
| 813 case ItemTypeDataTypeCookiesSiteData: |
| 814 case ItemTypeDataTypeCache: |
| 815 case ItemTypeDataTypeSavedPasswords: |
| 816 case ItemTypeDataTypeAutofill: { |
| 817 CollectionViewTextCell* textCell = |
| 818 base::mac::ObjCCastStrict<CollectionViewTextCell>(cell); |
| 819 textCell.textLabel.font = [MDCTypography body2Font]; |
| 820 if (itemType == ItemTypeClearBrowsingDataButton) |
| 821 textCell.textLabel.textColor = [[MDCPalette greyPalette] tint500]; |
| 822 else |
| 823 textCell.textLabel.textColor = [[MDCPalette greyPalette] tint900]; |
| 824 textCell.detailTextLabel.font = [MDCTypography body1Font]; |
| 825 textCell.detailTextLabel.textColor = [[MDCPalette greyPalette] tint500]; |
| 826 break; |
| 827 } |
| 828 default: |
| 829 break; |
| 830 } |
| 831 return cell; |
| 832 } |
| 833 |
801 #pragma mark MDCCollectionViewStylingDelegate | 834 #pragma mark MDCCollectionViewStylingDelegate |
802 | 835 |
803 - (BOOL)collectionView:(UICollectionView*)collectionView | 836 - (BOOL)collectionView:(UICollectionView*)collectionView |
804 hidesInkViewAtIndexPath:(NSIndexPath*)indexPath { | 837 hidesInkViewAtIndexPath:(NSIndexPath*)indexPath { |
805 NSInteger type = [self.collectionViewModel itemTypeForIndexPath:indexPath]; | 838 NSInteger type = [self.collectionViewModel itemTypeForIndexPath:indexPath]; |
806 switch (type) { | 839 switch (type) { |
807 case ItemTypeFooterSavedSiteData: | 840 case ItemTypeFooterSavedSiteData: |
808 case ItemTypeFooterGoogleAccount: | 841 case ItemTypeFooterGoogleAccount: |
809 case ItemTypeFooterGoogleAccountAndMyActivity: | 842 case ItemTypeFooterGoogleAccountAndMyActivity: |
810 case ItemTypeFooterClearSyncAndSavedSiteData: | 843 case ItemTypeFooterClearSyncAndSavedSiteData: |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
874 | 907 |
875 #pragma mark TimeRangeSelectorCollectionViewControllerDelegate | 908 #pragma mark TimeRangeSelectorCollectionViewControllerDelegate |
876 | 909 |
877 - (void)timeRangeSelectorViewController: | 910 - (void)timeRangeSelectorViewController: |
878 (TimeRangeSelectorCollectionViewController*)collectionViewController | 911 (TimeRangeSelectorCollectionViewController*)collectionViewController |
879 didSelectTimePeriod:(browsing_data::TimePeriod)timePeriod { | 912 didSelectTimePeriod:(browsing_data::TimePeriod)timePeriod { |
880 _timePeriod = timePeriod; | 913 _timePeriod = timePeriod; |
881 } | 914 } |
882 | 915 |
883 @end | 916 @end |
OLD | NEW |