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

Unified Diff: content/browser/media/cdm/browser_cdm_manager.cc

Issue 571483002: Refactor content client to include a single Request/CancelPermission method. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@geoloc_permission
Patch Set: Created 6 years, 3 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
« no previous file with comments | « content/browser/media/cdm/browser_cdm_manager.h ('k') | content/browser/media/midi_dispatcher_host.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/media/cdm/browser_cdm_manager.cc
diff --git a/content/browser/media/cdm/browser_cdm_manager.cc b/content/browser/media/cdm/browser_cdm_manager.cc
index a71bfafbd5f64f6a3726f9a81e08fed301183ae7..31993b6a36331ee9f6b4fc37107a947f2641fadb 100644
--- a/content/browser/media/cdm/browser_cdm_manager.cc
+++ b/content/browser/media/cdm/browser_cdm_manager.cc
@@ -155,19 +155,18 @@ void BrowserCdmManager::OnCreateSession(
return;
}
- base::Closure cancel_callback;
- GetContentClient()->browser()->RequestProtectedMediaIdentifierPermission(
+ GetContentClient()->browser()->RequestPermission(
+ content::PERMISSION_PROTECTED_MEDIA,
web_contents_,
+ -1,
iter->second,
+ true,
base::Bind(&BrowserCdmManager::CreateSessionIfPermitted,
weak_ptr_factory_.GetWeakPtr(),
cdm_id,
session_id,
mime_type,
- init_data),
- &cancel_callback);
- if (!cancel_callback.is_null())
- cdm_cancel_permision_map_[cdm_id] = cancel_callback;
+ init_data));
}
void BrowserCdmManager::OnUpdateSession(
@@ -212,9 +211,18 @@ void BrowserCdmManager::OnDestroyCdm(int cdm_id) {
}
void BrowserCdmManager::CancelAllPendingSessionCreations(int cdm_id) {
- if (cdm_cancel_permision_map_.count(cdm_id)) {
- cdm_cancel_permision_map_[cdm_id].Run();
- cdm_cancel_permision_map_.erase(cdm_id);
+ if (cdm_cancel_permision_set_.find(cdm_id)
+ != cdm_cancel_permision_set_.end()) {
+ std::map<int, GURL>::const_iterator iter =
+ cdm_security_origin_map_.find(cdm_id);
+ if (iter == cdm_security_origin_map_.end()) {
+ NOTREACHED();
+ return;
+ }
+ GetContentClient()->browser()->CancelPermissionRequest(
+ content::PERMISSION_PROTECTED_MEDIA,
+ web_contents_, -1, iter->second);
+ cdm_cancel_permision_set_.erase(cdm_id);
}
}
@@ -249,7 +257,7 @@ void BrowserCdmManager::RemoveCdm(int cdm_id) {
// in unprefixed EME implementation.
cdm_map_.erase(cdm_id);
cdm_security_origin_map_.erase(cdm_id);
- cdm_cancel_permision_map_.erase(cdm_id);
+ cdm_cancel_permision_set_.erase(cdm_id);
}
int BrowserCdmManager::RoutingID() {
@@ -266,7 +274,7 @@ void BrowserCdmManager::CreateSessionIfPermitted(
const std::string& content_type,
const std::vector<uint8>& init_data,
bool permitted) {
- cdm_cancel_permision_map_.erase(cdm_id);
+ cdm_cancel_permision_set_.erase(cdm_id);
if (!permitted) {
OnSessionError(cdm_id, session_id, MediaKeys::kUnknownError, 0);
return;
« no previous file with comments | « content/browser/media/cdm/browser_cdm_manager.h ('k') | content/browser/media/midi_dispatcher_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698