Chromium Code Reviews| Index: chrome/browser/browsing_data/cookies_tree_model.cc |
| diff --git a/chrome/browser/browsing_data/cookies_tree_model.cc b/chrome/browser/browsing_data/cookies_tree_model.cc |
| index ad13ac3f22229eb315e09afc6c44515196ed6d8b..b05aa8dceafef6c2fe218de5a93304f5978dc9ae 100644 |
| --- a/chrome/browser/browsing_data/cookies_tree_model.cc |
| +++ b/chrome/browser/browsing_data/cookies_tree_model.cc |
| @@ -129,6 +129,7 @@ bool TypeIsProtected(CookieTreeNode::DetailedInfo::NodeType type) { |
| case CookieTreeNode::DetailedInfo::TYPE_FILE_SYSTEM: |
| case CookieTreeNode::DetailedInfo::TYPE_SERVICE_WORKER: |
| case CookieTreeNode::DetailedInfo::TYPE_CACHE_STORAGE: |
| + case CookieTreeNode::DetailedInfo::TYPE_MEDIA_LICENSE: |
|
msramek
2016/09/26 18:28:06
Hmm... it seems that media licenses are not protec
jrummell
2016/09/27 18:21:15
Done 1. Will follow up off-line about 2.
msramek
2016/09/28 12:28:59
Acknowledged, discussed this off-line.
|
| return true; |
| // Fall through each below cases to return false. |
| @@ -271,6 +272,15 @@ CookieTreeNode::DetailedInfo& CookieTreeNode::DetailedInfo::InitFlashLSO( |
| return *this; |
| } |
| +CookieTreeNode::DetailedInfo& CookieTreeNode::DetailedInfo::InitMediaLicense( |
| + const BrowsingDataMediaLicenseHelper::MediaLicenseInfo* |
| + media_license_info) { |
| + Init(TYPE_MEDIA_LICENSE); |
| + this->media_license_info = media_license_info; |
| + this->origin = media_license_info->origin; |
| + return *this; |
| +} |
| + |
| /////////////////////////////////////////////////////////////////////////////// |
| // CookieTreeNode, public: |
| @@ -575,6 +585,32 @@ CookieTreeNode::DetailedInfo CookieTreeCacheStorageNode::GetDetailedInfo() |
| } |
| /////////////////////////////////////////////////////////////////////////////// |
| +// CookieTreeMediaLicenseNode, public: |
| + |
| +CookieTreeMediaLicenseNode::CookieTreeMediaLicenseNode( |
| + const std::list<BrowsingDataMediaLicenseHelper::MediaLicenseInfo>::iterator |
| + media_license_info) |
| + : CookieTreeNode(base::UTF8ToUTF16(media_license_info->origin.spec())), |
| + media_license_info_(media_license_info) {} |
| + |
| +CookieTreeMediaLicenseNode::~CookieTreeMediaLicenseNode() {} |
| + |
| +void CookieTreeMediaLicenseNode::DeleteStoredObjects() { |
| + LocalDataContainer* container = GetLocalDataContainerForNode(this); |
| + |
| + if (container) { |
| + container->media_license_helper_->DeleteMediaLicenseOrigin( |
| + media_license_info_->origin); |
| + container->media_license_info_list_.erase(media_license_info_); |
| + } |
| +} |
| + |
| +CookieTreeNode::DetailedInfo CookieTreeMediaLicenseNode::GetDetailedInfo() |
| + const { |
| + return DetailedInfo().InitMediaLicense(&*media_license_info_); |
| +} |
| + |
| +/////////////////////////////////////////////////////////////////////////////// |
| // CookieTreeRootNode, public: |
| CookieTreeRootNode::CookieTreeRootNode(CookiesTreeModel* model) |
| @@ -741,6 +777,15 @@ CookieTreeFlashLSONode* CookieTreeHostNode::GetOrCreateFlashLSONode( |
| return flash_lso_child_; |
| } |
| +CookieTreeMediaLicensesNode* |
| +CookieTreeHostNode::GetOrCreateMediaLicensesNode() { |
| + if (media_licenses_child_) |
| + return media_licenses_child_; |
| + media_licenses_child_ = new CookieTreeMediaLicensesNode(); |
| + AddChildSortedByTitle(media_licenses_child_); |
| + return media_licenses_child_; |
| +} |
| + |
| void CookieTreeHostNode::CreateContentException( |
| content_settings::CookieSettings* cookie_settings, |
| ContentSetting setting) const { |
| @@ -927,6 +972,18 @@ CookieTreeNode::DetailedInfo CookieTreeFlashLSONode::GetDetailedInfo() const { |
| } |
| /////////////////////////////////////////////////////////////////////////////// |
| +// CookieTreeMediaLicensesNode |
| +CookieTreeMediaLicensesNode::CookieTreeMediaLicensesNode() |
| + : CookieTreeNode(l10n_util::GetStringUTF16(IDS_COOKIES_MEDIA_LICENSES)) {} |
| + |
| +CookieTreeMediaLicensesNode::~CookieTreeMediaLicensesNode() {} |
| + |
| +CookieTreeNode::DetailedInfo CookieTreeMediaLicensesNode::GetDetailedInfo() |
| + const { |
| + return DetailedInfo().Init(DetailedInfo::TYPE_MEDIA_LICENSES); |
| +} |
| + |
| +/////////////////////////////////////////////////////////////////////////////// |
| // ScopedBatchUpdateNotifier |
| CookiesTreeModel::ScopedBatchUpdateNotifier::ScopedBatchUpdateNotifier( |
| CookiesTreeModel* model, |
| @@ -1019,6 +1076,7 @@ int CookiesTreeModel::GetIconIndex(ui::TreeModelNode* node) { |
| case CookieTreeNode::DetailedInfo::TYPE_FILE_SYSTEM: |
| case CookieTreeNode::DetailedInfo::TYPE_SERVICE_WORKER: |
| case CookieTreeNode::DetailedInfo::TYPE_CACHE_STORAGE: |
| + case CookieTreeNode::DetailedInfo::TYPE_MEDIA_LICENSE: |
| return DATABASE; |
| case CookieTreeNode::DetailedInfo::TYPE_QUOTA: |
| return -1; |
| @@ -1166,6 +1224,11 @@ void CookiesTreeModel::PopulateFlashLSOInfo( |
| PopulateFlashLSOInfoWithFilter(container, ¬ifier, base::string16()); |
| } |
| +void CookiesTreeModel::PopulateMediaLicenseInfo(LocalDataContainer* container) { |
| + ScopedBatchUpdateNotifier notifier(this, GetRoot()); |
| + PopulateMediaLicenseInfoWithFilter(container, ¬ifier, base::string16()); |
| +} |
| + |
| void CookiesTreeModel::PopulateAppCacheInfoWithFilter( |
| LocalDataContainer* container, |
| ScopedBatchUpdateNotifier* notifier, |
| @@ -1489,6 +1552,33 @@ void CookiesTreeModel::PopulateFlashLSOInfoWithFilter( |
| } |
| } |
| +void CookiesTreeModel::PopulateMediaLicenseInfoWithFilter( |
| + LocalDataContainer* container, |
| + ScopedBatchUpdateNotifier* notifier, |
| + const base::string16& filter) { |
| + CookieTreeRootNode* root = static_cast<CookieTreeRootNode*>(GetRoot()); |
| + |
| + if (container->media_license_info_list_.empty()) |
| + return; |
| + |
| + notifier->StartBatchUpdate(); |
| + for (MediaLicenseInfoList::iterator media_license_info = |
| + container->media_license_info_list_.begin(); |
| + media_license_info != container->media_license_info_list_.end(); |
| + ++media_license_info) { |
| + GURL origin(media_license_info->origin); |
| + |
| + if (filter.empty() || (CookieTreeHostNode::TitleForUrl(origin).find( |
| + filter) != base::string16::npos)) { |
| + CookieTreeHostNode* host_node = root->GetOrCreateHostNode(origin); |
| + CookieTreeMediaLicensesNode* media_license_node = |
|
msramek
2016/09/26 18:28:06
nit: license*s*
(this file is full of singular vs
jrummell
2016/09/27 18:21:15
Done.
|
| + host_node->GetOrCreateMediaLicensesNode(); |
| + media_license_node->AddMediaLicenseNode( |
| + new CookieTreeMediaLicenseNode(media_license_info)); |
| + } |
| + } |
| +} |
| + |
| void CookiesTreeModel::SetBatchExpectation(int batches_expected, bool reset) { |
| batches_expected_ = batches_expected; |
| if (reset) { |