Index: content/browser/media/url_provision_fetcher.cc |
diff --git a/content/browser/media/url_provision_fetcher.cc b/content/browser/media/url_provision_fetcher.cc |
index 2892152f2e81dff7960aa7aa42a76e44d3fff6fb..6a0c89644e7a07a511a3c6b79ddf87f436160702 100644 |
--- a/content/browser/media/url_provision_fetcher.cc |
+++ b/content/browser/media/url_provision_fetcher.cc |
@@ -8,6 +8,7 @@ |
#include "content/public/browser/provision_fetcher_factory.h" |
#include "media/base/bind_to_current_loop.h" |
#include "net/base/load_flags.h" |
+#include "net/traffic_annotation/network_traffic_annotation.h" |
#include "net/url_request/url_fetcher.h" |
using net::URLFetcher; |
@@ -33,7 +34,37 @@ void URLProvisionFetcher::Retrieve( |
DVLOG(1) << __func__ << ": request:" << request_string; |
DCHECK(!request_); |
- request_ = URLFetcher::Create(GURL(request_string), URLFetcher::POST, this); |
+ net::NetworkTrafficAnnotationTag traffic_annotation = |
+ net::DefineNetworkTrafficAnnotation("url_prevision_fetcher", R"( |
+ semantics { |
+ sender: "Content Decryption Module" |
+ description: |
+ "For a Content Decryption Module (CDM) to obtain origin-specific " |
+ "identifiers from an individualization or provisioning server. See " |
+ "https://w3c.github.io/encrypted-media/#direct-individualization." |
+ trigger: |
+ "During protected content playback, if the CDM hasn’t been " |
+ "provisioned yet, it may trigger a provision request which will be " |
+ "sent to a provisioning server." |
+ data: |
+ "Opaque provision request generated by the CDM. It may contain " |
+ "distinctive identifiers (see " |
+ "https://w3c.github.io/encrypted-media/#distinctive-identifier) " |
+ "and/or distinctive permanent identifiers (see " |
+ "https://w3c.github.io/encrypted-media/#distinctive-permanent-" |
+ "identifier), which must be encrypted. It does NOT contain origin " |
+ "information, even in encrypted form." |
+ destination: OTHER |
+ } |
+ policy { |
+ cookies_allowed: false |
+ setting: |
+ "On Android, users can disable this feature by disabling Protected " |
+ "Media Identifier permissions." |
+ policy_exception_justification: "Not implemented." |
+ })"); |
+ request_ = URLFetcher::Create(GURL(request_string), URLFetcher::POST, this, |
+ traffic_annotation); |
// SetUploadData is mandatory even if we are not uploading anything. |
request_->SetUploadData("", ""); |