Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1376)

Unified Diff: chrome/browser/browsing_data/cookies_tree_model.cc

Issue 2359393002: Adds media license nodes to cookie tree model and cookies view. (Closed)
Patch Set: rebase Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 2d713e285209e28ebb0d1eb13376598d6754a151..bfcf2fb8134b18786bd93347f6bb85882bcc2093 100644
--- a/chrome/browser/browsing_data/cookies_tree_model.cc
+++ b/chrome/browser/browsing_data/cookies_tree_model.cc
@@ -144,6 +144,7 @@ bool TypeIsProtected(CookieTreeNode::DetailedInfo::NodeType type) {
case CookieTreeNode::DetailedInfo::TYPE_QUOTA:
case CookieTreeNode::DetailedInfo::TYPE_CHANNEL_ID:
case CookieTreeNode::DetailedInfo::TYPE_FLASH_LSO:
+ case CookieTreeNode::DetailedInfo::TYPE_MEDIA_LICENSE:
return false;
default:
break;
@@ -279,6 +280,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:
@@ -583,6 +593,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)
@@ -749,6 +785,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(base::WrapUnique(media_licenses_child_));
+ return media_licenses_child_;
+}
+
void CookieTreeHostNode::CreateContentException(
content_settings::CookieSettings* cookie_settings,
ContentSetting setting) const {
@@ -935,6 +980,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,
@@ -1028,6 +1085,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;
@@ -1171,6 +1229,11 @@ void CookiesTreeModel::PopulateFlashLSOInfo(
PopulateFlashLSOInfoWithFilter(container, &notifier, base::string16());
}
+void CookiesTreeModel::PopulateMediaLicenseInfo(LocalDataContainer* container) {
+ ScopedBatchUpdateNotifier notifier(this, GetRoot());
+ PopulateMediaLicenseInfoWithFilter(container, &notifier, base::string16());
+}
+
void CookiesTreeModel::PopulateAppCacheInfoWithFilter(
LocalDataContainer* container,
ScopedBatchUpdateNotifier* notifier,
@@ -1493,6 +1556,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_licenses_node =
+ host_node->GetOrCreateMediaLicensesNode();
+ media_licenses_node->AddMediaLicenseNode(
+ base::MakeUnique<CookieTreeMediaLicenseNode>(media_license_info));
+ }
+ }
+}
+
void CookiesTreeModel::SetBatchExpectation(int batches_expected, bool reset) {
batches_expected_ = batches_expected;
if (reset) {
« no previous file with comments | « chrome/browser/browsing_data/cookies_tree_model.h ('k') | chrome/browser/browsing_data/cookies_tree_model_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698