OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "chrome/browser/sync/profile_sync_service.h" | 5 #include "chrome/browser/sync/profile_sync_service.h" |
6 | 6 |
7 #include <cstddef> | 7 #include <cstddef> |
8 #include <map> | 8 #include <map> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 1756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1767 void ProfileSyncService::UpdateSelectedTypesHistogram( | 1767 void ProfileSyncService::UpdateSelectedTypesHistogram( |
1768 bool sync_everything, const syncer::ModelTypeSet chosen_types) const { | 1768 bool sync_everything, const syncer::ModelTypeSet chosen_types) const { |
1769 if (!HasSyncSetupCompleted() || | 1769 if (!HasSyncSetupCompleted() || |
1770 sync_everything != sync_prefs_.HasKeepEverythingSynced()) { | 1770 sync_everything != sync_prefs_.HasKeepEverythingSynced()) { |
1771 UMA_HISTOGRAM_BOOLEAN("Sync.SyncEverything", sync_everything); | 1771 UMA_HISTOGRAM_BOOLEAN("Sync.SyncEverything", sync_everything); |
1772 } | 1772 } |
1773 | 1773 |
1774 // Only log the data types that are shown in the sync settings ui. | 1774 // Only log the data types that are shown in the sync settings ui. |
1775 // Note: the order of these types must match the ordering of | 1775 // Note: the order of these types must match the ordering of |
1776 // the respective types in ModelType | 1776 // the respective types in ModelType |
1777 const sync_driver::user_selectable_type::UserSelectableSyncType | 1777 const sync_driver::user_selectable_type::UserSelectableSyncType |
1778 user_selectable_types[] = { | 1778 user_selectable_types[] = { |
1779 sync_driver::user_selectable_type::BOOKMARKS, | 1779 sync_driver::user_selectable_type::BOOKMARKS, |
1780 sync_driver::user_selectable_type::PREFERENCES, | 1780 sync_driver::user_selectable_type::PREFERENCES, |
1781 sync_driver::user_selectable_type::PASSWORDS, | 1781 sync_driver::user_selectable_type::PASSWORDS, |
1782 sync_driver::user_selectable_type::AUTOFILL, | 1782 sync_driver::user_selectable_type::AUTOFILL, |
1783 sync_driver::user_selectable_type::THEMES, | 1783 sync_driver::user_selectable_type::THEMES, |
1784 sync_driver::user_selectable_type::TYPED_URLS, | 1784 sync_driver::user_selectable_type::TYPED_URLS, |
1785 sync_driver::user_selectable_type::EXTENSIONS, | 1785 sync_driver::user_selectable_type::EXTENSIONS, |
1786 sync_driver::user_selectable_type::APPS, | 1786 sync_driver::user_selectable_type::APPS, |
1787 sync_driver::user_selectable_type::PROXY_TABS | 1787 sync_driver::user_selectable_type::PROXY_TABS |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1879 const syncer::ModelTypeSet preferred_types = GetPreferredDataTypes(); | 1879 const syncer::ModelTypeSet preferred_types = GetPreferredDataTypes(); |
1880 const syncer::ModelTypeSet failed_types = | 1880 const syncer::ModelTypeSet failed_types = |
1881 failed_data_types_handler_.GetFailedTypes(); | 1881 failed_data_types_handler_.GetFailedTypes(); |
1882 return Difference(preferred_types, failed_types); | 1882 return Difference(preferred_types, failed_types); |
1883 } | 1883 } |
1884 | 1884 |
1885 syncer::ModelTypeSet ProfileSyncService::GetPreferredDataTypes() const { | 1885 syncer::ModelTypeSet ProfileSyncService::GetPreferredDataTypes() const { |
1886 const syncer::ModelTypeSet registered_types = GetRegisteredDataTypes(); | 1886 const syncer::ModelTypeSet registered_types = GetRegisteredDataTypes(); |
1887 const syncer::ModelTypeSet preferred_types = | 1887 const syncer::ModelTypeSet preferred_types = |
1888 sync_prefs_.GetPreferredDataTypes(registered_types); | 1888 sync_prefs_.GetPreferredDataTypes(registered_types); |
1889 return preferred_types; | 1889 const syncer::ModelTypeSet enforced_types = |
| 1890 Intersection(GetDataTypesFromPreferenceProviders(), registered_types); |
| 1891 return Union(preferred_types, enforced_types); |
1890 } | 1892 } |
1891 | 1893 |
1892 syncer::ModelTypeSet | 1894 syncer::ModelTypeSet |
1893 ProfileSyncService::GetPreferredDirectoryDataTypes() const { | 1895 ProfileSyncService::GetPreferredDirectoryDataTypes() const { |
1894 const syncer::ModelTypeSet registered_directory_types = | 1896 const syncer::ModelTypeSet registered_directory_types = |
1895 GetRegisteredDirectoryDataTypes(); | 1897 GetRegisteredDirectoryDataTypes(); |
1896 const syncer::ModelTypeSet preferred_types = | 1898 const syncer::ModelTypeSet preferred_types = |
1897 sync_prefs_.GetPreferredDataTypes(registered_directory_types); | 1899 sync_prefs_.GetPreferredDataTypes(registered_directory_types); |
1898 | 1900 const syncer::ModelTypeSet enforced_types = |
1899 return Union(preferred_types, GetDataTypesFromPreferenceProviders()); | 1901 Intersection(GetDataTypesFromPreferenceProviders(), |
| 1902 registered_directory_types); |
| 1903 return Union(preferred_types, enforced_types); |
1900 } | 1904 } |
1901 | 1905 |
1902 syncer::ModelTypeSet | 1906 syncer::ModelTypeSet |
1903 ProfileSyncService::GetPreferredNonBlockingDataTypes() const { | 1907 ProfileSyncService::GetPreferredNonBlockingDataTypes() const { |
1904 return sync_prefs_.GetPreferredDataTypes(GetRegisteredNonBlockingDataTypes()); | 1908 return sync_prefs_.GetPreferredDataTypes(GetRegisteredNonBlockingDataTypes()); |
1905 } | 1909 } |
1906 | 1910 |
| 1911 syncer::ModelTypeSet ProfileSyncService::GetForcedDataTypes() const { |
| 1912 // TODO(treib,zea): When SyncPrefs also implements SyncTypePreferenceProvider, |
| 1913 // we'll need another way to distinguish user-choosable types from |
| 1914 // programmatically-enabled types. |
| 1915 return GetDataTypesFromPreferenceProviders(); |
| 1916 } |
| 1917 |
1907 syncer::ModelTypeSet ProfileSyncService::GetRegisteredDataTypes() const { | 1918 syncer::ModelTypeSet ProfileSyncService::GetRegisteredDataTypes() const { |
1908 return Union(GetRegisteredDirectoryDataTypes(), | 1919 return Union(GetRegisteredDirectoryDataTypes(), |
1909 GetRegisteredNonBlockingDataTypes()); | 1920 GetRegisteredNonBlockingDataTypes()); |
1910 } | 1921 } |
1911 | 1922 |
1912 syncer::ModelTypeSet | 1923 syncer::ModelTypeSet |
1913 ProfileSyncService::GetRegisteredDirectoryDataTypes() const { | 1924 ProfileSyncService::GetRegisteredDirectoryDataTypes() const { |
1914 syncer::ModelTypeSet registered_types; | 1925 syncer::ModelTypeSet registered_types; |
1915 // The directory_data_type_controllers_ are determined by command-line flags; | 1926 // The directory_data_type_controllers_ are determined by command-line flags; |
1916 // that's effectively what controls the values returned here. | 1927 // that's effectively what controls the values returned here. |
(...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2772 true)); | 2783 true)); |
2773 } | 2784 } |
2774 | 2785 |
2775 bool ProfileSyncService::NeedBackup() const { | 2786 bool ProfileSyncService::NeedBackup() const { |
2776 return need_backup_; | 2787 return need_backup_; |
2777 } | 2788 } |
2778 | 2789 |
2779 base::Time ProfileSyncService::GetDeviceBackupTimeForTesting() const { | 2790 base::Time ProfileSyncService::GetDeviceBackupTimeForTesting() const { |
2780 return backend_->GetSyncedDeviceTracker()->GetLocalDeviceBackupTime(); | 2791 return backend_->GetSyncedDeviceTracker()->GetLocalDeviceBackupTime(); |
2781 } | 2792 } |
OLD | NEW |