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/browsing_data/cookies_tree_model.h" | 5 #include "chrome/browser/browsing_data/cookies_tree_model.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <functional> | 10 #include <functional> |
11 #include <map> | 11 #include <map> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/bind.h" | 14 #include "base/bind.h" |
15 #include "base/memory/ptr_util.h" | 15 #include "base/memory/ptr_util.h" |
16 #include "base/strings/string_util.h" | 16 #include "base/strings/string_util.h" |
17 #include "base/strings/utf_string_conversions.h" | 17 #include "base/strings/utf_string_conversions.h" |
18 #include "chrome/browser/browsing_data/browsing_data_channel_id_helper.h" | 18 #include "chrome/browser/browsing_data/browsing_data_channel_id_helper.h" |
19 #include "chrome/browser/browsing_data/browsing_data_cookie_helper.h" | 19 #include "chrome/browser/browsing_data/browsing_data_cookie_helper.h" |
20 #include "chrome/browser/browsing_data/browsing_data_flash_lso_helper.h" | 20 #include "chrome/browser/browsing_data/browsing_data_flash_lso_helper.h" |
21 #include "chrome/browser/content_settings/cookie_settings_factory.h" | 21 #include "chrome/browser/content_settings/cookie_settings_factory.h" |
22 #include "chrome/grit/generated_resources.h" | 22 #include "chrome/grit/generated_resources.h" |
23 #include "chrome/grit/theme_resources.h" | 23 #include "chrome/grit/theme_resources.h" |
24 #include "components/content_settings/core/browser/cookie_settings.h" | 24 #include "components/content_settings/core/browser/cookie_settings.h" |
25 #include "content/public/common/url_constants.h" | 25 #include "content/public/common/url_constants.h" |
| 26 #include "extensions/features/features.h" |
26 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 27 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
27 #include "net/cookies/canonical_cookie.h" | 28 #include "net/cookies/canonical_cookie.h" |
28 #include "net/url_request/url_request_context.h" | 29 #include "net/url_request/url_request_context.h" |
29 #include "ui/base/l10n/l10n_util.h" | 30 #include "ui/base/l10n/l10n_util.h" |
30 #include "ui/base/resource/resource_bundle.h" | 31 #include "ui/base/resource/resource_bundle.h" |
31 #include "ui/gfx/image/image_skia.h" | 32 #include "ui/gfx/image/image_skia.h" |
32 #include "ui/resources/grit/ui_resources.h" | 33 #include "ui/resources/grit/ui_resources.h" |
33 #include "url/gurl.h" | 34 #include "url/gurl.h" |
34 #include "url/origin.h" | 35 #include "url/origin.h" |
35 | 36 |
36 #if defined(ENABLE_EXTENSIONS) | 37 #if BUILDFLAG(ENABLE_EXTENSIONS) |
37 #include "chrome/browser/extensions/extension_special_storage_policy.h" | 38 #include "chrome/browser/extensions/extension_special_storage_policy.h" |
38 #include "extensions/common/extension_set.h" | 39 #include "extensions/common/extension_set.h" |
39 #endif | 40 #endif |
40 | 41 |
41 namespace { | 42 namespace { |
42 | 43 |
43 struct NodeTitleComparator { | 44 struct NodeTitleComparator { |
44 bool operator()(const std::unique_ptr<CookieTreeNode>& lhs, | 45 bool operator()(const std::unique_ptr<CookieTreeNode>& lhs, |
45 const std::unique_ptr<CookieTreeNode>& rhs) { | 46 const std::unique_ptr<CookieTreeNode>& rhs) { |
46 return lhs->GetTitle() < rhs->GetTitle(); | 47 return lhs->GetTitle() < rhs->GetTitle(); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 if (next_dot == std::string::npos) { | 122 if (next_dot == std::string::npos) { |
122 retval += host.substr(0, position); | 123 retval += host.substr(0, position); |
123 break; | 124 break; |
124 } | 125 } |
125 retval += host.substr(next_dot + 1, position - (next_dot + 1)); | 126 retval += host.substr(next_dot + 1, position - (next_dot + 1)); |
126 position = next_dot; | 127 position = next_dot; |
127 } | 128 } |
128 return retval; | 129 return retval; |
129 } | 130 } |
130 | 131 |
131 #if defined(ENABLE_EXTENSIONS) | 132 #if BUILDFLAG(ENABLE_EXTENSIONS) |
132 bool TypeIsProtected(CookieTreeNode::DetailedInfo::NodeType type) { | 133 bool TypeIsProtected(CookieTreeNode::DetailedInfo::NodeType type) { |
133 switch (type) { | 134 switch (type) { |
134 // Fall through each below cases to return true. | 135 // Fall through each below cases to return true. |
135 case CookieTreeNode::DetailedInfo::TYPE_DATABASE: | 136 case CookieTreeNode::DetailedInfo::TYPE_DATABASE: |
136 case CookieTreeNode::DetailedInfo::TYPE_LOCAL_STORAGE: | 137 case CookieTreeNode::DetailedInfo::TYPE_LOCAL_STORAGE: |
137 case CookieTreeNode::DetailedInfo::TYPE_SESSION_STORAGE: | 138 case CookieTreeNode::DetailedInfo::TYPE_SESSION_STORAGE: |
138 case CookieTreeNode::DetailedInfo::TYPE_APPCACHE: | 139 case CookieTreeNode::DetailedInfo::TYPE_APPCACHE: |
139 case CookieTreeNode::DetailedInfo::TYPE_INDEXED_DB: | 140 case CookieTreeNode::DetailedInfo::TYPE_INDEXED_DB: |
140 case CookieTreeNode::DetailedInfo::TYPE_FILE_SYSTEM: | 141 case CookieTreeNode::DetailedInfo::TYPE_FILE_SYSTEM: |
141 case CookieTreeNode::DetailedInfo::TYPE_SERVICE_WORKER: | 142 case CookieTreeNode::DetailedInfo::TYPE_SERVICE_WORKER: |
(...skipping 878 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1020 } | 1021 } |
1021 } | 1022 } |
1022 | 1023 |
1023 /////////////////////////////////////////////////////////////////////////////// | 1024 /////////////////////////////////////////////////////////////////////////////// |
1024 // CookiesTreeModel, public: | 1025 // CookiesTreeModel, public: |
1025 CookiesTreeModel::CookiesTreeModel( | 1026 CookiesTreeModel::CookiesTreeModel( |
1026 LocalDataContainer* data_container, | 1027 LocalDataContainer* data_container, |
1027 ExtensionSpecialStoragePolicy* special_storage_policy) | 1028 ExtensionSpecialStoragePolicy* special_storage_policy) |
1028 : ui::TreeNodeModel<CookieTreeNode>( | 1029 : ui::TreeNodeModel<CookieTreeNode>( |
1029 base::MakeUnique<CookieTreeRootNode>(this)), | 1030 base::MakeUnique<CookieTreeRootNode>(this)), |
1030 #if defined(ENABLE_EXTENSIONS) | 1031 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1031 special_storage_policy_(special_storage_policy), | 1032 special_storage_policy_(special_storage_policy), |
1032 #endif | 1033 #endif |
1033 data_container_(data_container) { | 1034 data_container_(data_container) { |
1034 data_container_->Init(this); | 1035 data_container_->Init(this); |
1035 } | 1036 } |
1036 | 1037 |
1037 CookiesTreeModel::~CookiesTreeModel() { | 1038 CookiesTreeModel::~CookiesTreeModel() { |
1038 } | 1039 } |
1039 | 1040 |
1040 // static | 1041 // static |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1129 PopulateSessionStorageInfoWithFilter(data_container(), ¬ifier, filter); | 1130 PopulateSessionStorageInfoWithFilter(data_container(), ¬ifier, filter); |
1130 PopulateAppCacheInfoWithFilter(data_container(), ¬ifier, filter); | 1131 PopulateAppCacheInfoWithFilter(data_container(), ¬ifier, filter); |
1131 PopulateIndexedDBInfoWithFilter(data_container(), ¬ifier, filter); | 1132 PopulateIndexedDBInfoWithFilter(data_container(), ¬ifier, filter); |
1132 PopulateFileSystemInfoWithFilter(data_container(), ¬ifier, filter); | 1133 PopulateFileSystemInfoWithFilter(data_container(), ¬ifier, filter); |
1133 PopulateQuotaInfoWithFilter(data_container(), ¬ifier, filter); | 1134 PopulateQuotaInfoWithFilter(data_container(), ¬ifier, filter); |
1134 PopulateChannelIDInfoWithFilter(data_container(), ¬ifier, filter); | 1135 PopulateChannelIDInfoWithFilter(data_container(), ¬ifier, filter); |
1135 PopulateServiceWorkerUsageInfoWithFilter(data_container(), ¬ifier, filter); | 1136 PopulateServiceWorkerUsageInfoWithFilter(data_container(), ¬ifier, filter); |
1136 PopulateCacheStorageUsageInfoWithFilter(data_container(), ¬ifier, filter); | 1137 PopulateCacheStorageUsageInfoWithFilter(data_container(), ¬ifier, filter); |
1137 } | 1138 } |
1138 | 1139 |
1139 #if defined(ENABLE_EXTENSIONS) | 1140 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1140 const extensions::ExtensionSet* CookiesTreeModel::ExtensionsProtectingNode( | 1141 const extensions::ExtensionSet* CookiesTreeModel::ExtensionsProtectingNode( |
1141 const CookieTreeNode& cookie_node) { | 1142 const CookieTreeNode& cookie_node) { |
1142 if (!special_storage_policy_.get()) | 1143 if (!special_storage_policy_.get()) |
1143 return nullptr; | 1144 return nullptr; |
1144 | 1145 |
1145 CookieTreeNode::DetailedInfo info = cookie_node.GetDetailedInfo(); | 1146 CookieTreeNode::DetailedInfo info = cookie_node.GetDetailedInfo(); |
1146 | 1147 |
1147 if (!TypeIsProtected(info.node_type)) | 1148 if (!TypeIsProtected(info.node_type)) |
1148 return nullptr; | 1149 return nullptr; |
1149 | 1150 |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1616 void CookiesTreeModel::MaybeNotifyBatchesEnded() { | 1617 void CookiesTreeModel::MaybeNotifyBatchesEnded() { |
1617 // Only notify the observers if this is the outermost call to EndBatch() if | 1618 // Only notify the observers if this is the outermost call to EndBatch() if |
1618 // called in a nested manner. | 1619 // called in a nested manner. |
1619 if (batches_ended_ == batches_started_ && | 1620 if (batches_ended_ == batches_started_ && |
1620 batches_seen_ == batches_expected_) { | 1621 batches_seen_ == batches_expected_) { |
1621 for (Observer& observer : cookies_observer_list_) | 1622 for (Observer& observer : cookies_observer_list_) |
1622 observer.TreeModelEndBatch(this); | 1623 observer.TreeModelEndBatch(this); |
1623 SetBatchExpectation(0, true); | 1624 SetBatchExpectation(0, true); |
1624 } | 1625 } |
1625 } | 1626 } |
OLD | NEW |