0

blink: Remove all helper persistent usage record record code in wpt

Persistent usage record tests have been removed from wpt tests, now
remove all logic encrypted-media helper code.

Removed from spec: https://github.com/w3c/encrypted-media/issues/480

Bug: 349649084
Change-Id: Ie01f204929389d5da2c67df9dab9ef58bb11002c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6403517
Commit-Queue: Vikram Pasupathy <vpasupathy@chromium.org>
Reviewed-by: John Rummell <jrummell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439780}
This commit is contained in:
Vikram Pasupathy 2025-03-28 16:46:55 -07:00 committed by Chromium LUCI CQ
parent de778a2789
commit c7aefd3c08
5 changed files with 14 additions and 112 deletions
third_party/blink/web_tests

@ -298,11 +298,8 @@ external/wpt/encrypted-media/drm-mp4-onencrypted.https.html [ Skip ]
external/wpt/encrypted-media/drm-mp4-playback-destroy-persistent-license.https.html [ Skip ]
external/wpt/encrypted-media/drm-mp4-playback-persistent-license-events.https.html [ Skip ]
external/wpt/encrypted-media/drm-mp4-playback-persistent-license.https.html [ Skip ]
external/wpt/encrypted-media/drm-mp4-playback-persistent-usage-record-events.https.html [ Skip ]
external/wpt/encrypted-media/drm-mp4-playback-persistent-usage-record.https.html [ Skip ]
external/wpt/encrypted-media/drm-mp4-playback-retrieve-destroy-persistent-license.https.html [ Skip ]
external/wpt/encrypted-media/drm-mp4-playback-retrieve-persistent-license.https.html [ Skip ]
external/wpt/encrypted-media/drm-mp4-playback-retrieve-persistent-usage-record.https.html [ Skip ]
external/wpt/encrypted-media/drm-mp4-playback-temporary-clear-encrypted.https.html [ Skip ]
external/wpt/encrypted-media/drm-mp4-playback-temporary-encrypted-clear.https.html [ Skip ]
external/wpt/encrypted-media/drm-mp4-playback-temporary-encrypted-clear-sources.https.html [ Skip ]
@ -342,11 +339,8 @@ external/wpt/encrypted-media/drm-temporary-license-type.https.html [ Skip ]
external/wpt/encrypted-media/clearkey-mp4-playback-destroy-persistent-license.https.html [ Skip ]
external/wpt/encrypted-media/clearkey-mp4-playback-persistent-license-events.https.html [ Skip ]
external/wpt/encrypted-media/clearkey-mp4-playback-persistent-license.https.html [ Skip ]
external/wpt/encrypted-media/clearkey-mp4-playback-persistent-usage-record-events.https.html [ Skip ]
external/wpt/encrypted-media/clearkey-mp4-playback-persistent-usage-record.https.html [ Skip ]
external/wpt/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license.https.html [ Skip ]
external/wpt/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license.https.html [ Skip ]
external/wpt/encrypted-media/clearkey-mp4-playback-retrieve-persistent-usage-record.https.html [ Skip ]
# content_shell doesn't support MP4 files by default.
external/wpt/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-segmented.https.html [ Skip ]

@ -29,13 +29,8 @@
return this._mediaKeys.setServerCertificate( certificate );
};
MediaKeys.prototype.createSession = function createSession( sessionType ) {
if ( sessionType === 'persistent-usage-record' )
{
return cast.receiver.eme.KeySession.createSession( this._mediaKeys, 'persistent-release-message' );
}
MediaKeys.prototype.createSession = function createSession( sessionType )
{
return this._mediaKeys.createSession( sessionType );
};

@ -79,38 +79,16 @@
this._mediaKeys = mediaKeys;
this._sessions = [ ];
this._videoelement = undefined;
this._onTimeUpdateListener = MediaKeysProxy.prototype._onTimeUpdate.bind( this );
}
MediaKeysProxy.prototype._setVideoElement = function _setVideoElement( videoElement )
{
if ( videoElement !== this._videoelement )
{
if ( this._videoelement )
{
this._videoelement.removeEventListener( 'timeupdate', this._onTimeUpdateListener );
}
this._videoelement = videoElement;
if ( this._videoelement )
{
this._videoelement.addEventListener( 'timeupdate', this._onTimeUpdateListener );
}
}
};
MediaKeysProxy.prototype._onTimeUpdate = function( event )
{
this._sessions.forEach( function( session ) {
if ( session._sessionType === 'persistent-usage-record' )
{
session._onTimeUpdate( event );
}
} );
};
MediaKeysProxy.prototype._removeSession = function _removeSession( session )
{
@ -209,13 +187,6 @@
}
};
MediaKeySessionProxy.prototype._onTimeUpdate = function _onTimeUpdate( event )
{
if ( !this._firstTime ) this._firstTime = Date.now();
this._latestTime = Date.now();
this._store();
};
MediaKeySessionProxy.prototype._queueMessage = function _queueMessage( messageType, message )
{
setTimeout( function() {
@ -234,18 +205,7 @@
MediaKeySessionProxy.prototype._store = function _store()
{
var data;
if ( this._sessionType === 'persistent-usage-record' )
{
data = { kids: this._kids };
if ( this._firstTime ) data.firstTime = this._firstTime;
if ( this._latestTime ) data.latestTime = this._latestTime;
}
else
{
data = { keys: this._keys };
}
var data = { keys: this._keys };
window.localStorage.setItem( _storageKey( this._sessionId ), JSON.stringify( data ) );
};
@ -260,18 +220,8 @@
return false;
}
if ( data.kids )
{
this._sessionType = 'persistent-usage-record';
this._keys = data.kids.map( function( kid ) { return { kid: kid }; } );
if ( data.firstTime ) this._firstTime = data.firstTime;
if ( data.latestTime ) this._latestTime = data.latestTime;
}
else
{
this._sessionType = 'persistent-license';
this._keys = data.keys;
}
this._sessionType = 'persistent-license';
this._keys = data.keys;
return true;
};
@ -312,30 +262,16 @@
this._sessionId = sessionId;
if ( this._sessionType === 'persistent-usage-record' )
{
var msg = { kids: this._kids };
if ( this._firstTime ) msg.firstTime = this._firstTime;
if ( this._latestTime ) msg.latestTime = this._latestTime;
this._queueMessage( 'license-release', msg );
this._createSession();
this._state = 'removing';
this._state = 'loading';
this._loaded = resolve;
this._loadfailed = reject;
resolve( true );
}
else
{
this._createSession();
var initData = { kids: this._kids };
this._state = 'loading';
this._loaded = resolve;
this._loadfailed = reject;
var initData = { kids: this._kids };
this._session.generateRequest( 'keyids', toUtf8( initData ) );
}
this._session.generateRequest( 'keyids', toUtf8( initData ) );
}
catch( error )
{
@ -417,12 +353,6 @@
var msg = { kids: this._kids };
if ( this._sessionType === 'persistent-usage-record' )
{
if ( this._firstTime ) msg.firstTime = this._firstTime;
if ( this._latestTime ) msg.latestTime = this._latestTime;
}
this._queueMessage( 'license-release', msg );
}.bind( this ) )
@ -496,8 +426,7 @@
function is_persistent_configuration( configuration )
{
return configuration.sessionTypes &&
( configuration.sessionTypes.indexOf( 'persistent-usage-record' ) !== -1
|| configuration.sessionTypes.indexOf( 'persistent-license' ) !== -1 );
( configuration.sessionTypes.indexOf( 'persistent-license' ) !== -1 );
}
function copy_configuration( src )

@ -9,7 +9,6 @@ scripts = '''
<!-- Polyfill files (NOTE: These are added by auto-generation script) -->
<script src=/encrypted-media/polyfill/chrome-polyfill.js></script>
<script src=/encrypted-media/polyfill/firefox-polyfill.js></script>
<script src=/encrypted-media/polyfill/edge-persistent-usage-record.js></script>
<script src=/encrypted-media/polyfill/edge-keystatuses.js></script>
<script src=/encrypted-media/polyfill/clearkey-polyfill.js></script>'''

@ -18,21 +18,9 @@ drmconfig = {
"secret" : drmtodaysecret
} ],
"com.microsoft.playready": [ {
"serverURL": "http://playready-testserver.azurewebsites.net/rightsmanager.asmx",
"servertype": "microsoft",
"sessionTypes" : [ "persistent-usage-record" ],
"certificate" : "Q0hBSQAAAAEAAAUEAAAAAAAAAAJDRVJUAAAAAQAAAfQAAAFkAAEAAQAAAFjt9G6KdSncCkrjbTQPN+/2AAAAAAAAAAAAAAAJIPbrW9dj0qydQFIomYFHOwbhGZVGP2ZsPwcvjh+NFkP/////AAAAAAAAAAAAAAAAAAAAAAABAAoAAABYxw6TjIuUUmvdCcl00t4RBAAAADpodHRwOi8vcGxheXJlYWR5LmRpcmVjdHRhcHMubmV0L3ByL3N2Yy9yaWdodHNtYW5hZ2VyLmFzbXgAAAAAAQAFAAAADAAAAAAAAQAGAAAAXAAAAAEAAQIAAAAAADBRmRRpqV4cfRLcWz9WoXIGZ5qzD9xxJe0CSI2mXJQdPHEFZltrTkZtdmurwVaEI2etJY0OesCeOCzCqmEtTkcAAAABAAAAAgAAAAcAAAA8AAAAAAAAAAVEVEFQAAAAAAAAABVNZXRlcmluZyBDZXJ0aWZpY2F0ZQAAAAAAAAABAAAAAAABAAgAAACQAAEAQGHic/IPbmLCKXxc/MH20X/RtjhXH4jfowBWsQE1QWgUUBPFId7HH65YuQJ5fxbQJCT6Hw0iHqKzaTkefrhIpOoAAAIAW+uRUsdaChtq/AMUI4qPlK2Bi4bwOyjJcSQWz16LAFfwibn5yHVDEgNA4cQ9lt3kS4drx7pCC+FR/YLlHBAV7ENFUlQAAAABAAAC/AAAAmwAAQABAAAAWMk5Z0ovo2X0b2C9K5PbFX8AAAAAAAAAAAAAAARTYd1EkpFovPAZUjOj2doDLnHiRSfYc89Fs7gosBfar/////8AAAAAAAAAAAAAAAAAAAAAAAEABQAAAAwAAAAAAAEABgAAAGAAAAABAAECAAAAAABb65FSx1oKG2r8AxQjio+UrYGLhvA7KMlxJBbPXosAV/CJufnIdUMSA0DhxD2W3eRLh2vHukIL4VH9guUcEBXsAAAAAgAAAAEAAAAMAAAABwAAAZgAAAAAAAAAgE1pY3Jvc29mdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgFBsYXlSZWFkeSBTTDAgTWV0ZXJpbmcgUm9vdCBDQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgDEuMC4wLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEACAAAAJAAAQBArAKJsEIDWNG5ulOgLvSUb8I2zZ0c5lZGYvpIO56Z0UNk/uC4Mq3jwXQUUN6m/48V5J/vuLDhWu740aRQc1dDDAAAAgCGTWHP8iVuQixWizwoABz7PhUnZYWEugUht5sYKNk23h2Cao/D5uf6epDVyilG8fZKLvufXc/+fkNOtEKT+sWr"
},
{
"serverURL": "http://playready.directtaps.net/pr/svc/rightsmanager.asmx",
"servertype": "microsoft",
"sessionTypes" : [ "persistent-usage-record" ],
"certificate" : "Q0hBSQAAAAEAAAUEAAAAAAAAAAJDRVJUAAAAAQAAAfQAAAFkAAEAAQAAAFjt9G6KdSncCkrjbTQPN+/2AAAAAAAAAAAAAAAJIPbrW9dj0qydQFIomYFHOwbhGZVGP2ZsPwcvjh+NFkP/////AAAAAAAAAAAAAAAAAAAAAAABAAoAAABYxw6TjIuUUmvdCcl00t4RBAAAADpodHRwOi8vcGxheXJlYWR5LmRpcmVjdHRhcHMubmV0L3ByL3N2Yy9yaWdodHNtYW5hZ2VyLmFzbXgAAAAAAQAFAAAADAAAAAAAAQAGAAAAXAAAAAEAAQIAAAAAADBRmRRpqV4cfRLcWz9WoXIGZ5qzD9xxJe0CSI2mXJQdPHEFZltrTkZtdmurwVaEI2etJY0OesCeOCzCqmEtTkcAAAABAAAAAgAAAAcAAAA8AAAAAAAAAAVEVEFQAAAAAAAAABVNZXRlcmluZyBDZXJ0aWZpY2F0ZQAAAAAAAAABAAAAAAABAAgAAACQAAEAQGHic/IPbmLCKXxc/MH20X/RtjhXH4jfowBWsQE1QWgUUBPFId7HH65YuQJ5fxbQJCT6Hw0iHqKzaTkefrhIpOoAAAIAW+uRUsdaChtq/AMUI4qPlK2Bi4bwOyjJcSQWz16LAFfwibn5yHVDEgNA4cQ9lt3kS4drx7pCC+FR/YLlHBAV7ENFUlQAAAABAAAC/AAAAmwAAQABAAAAWMk5Z0ovo2X0b2C9K5PbFX8AAAAAAAAAAAAAAARTYd1EkpFovPAZUjOj2doDLnHiRSfYc89Fs7gosBfar/////8AAAAAAAAAAAAAAAAAAAAAAAEABQAAAAwAAAAAAAEABgAAAGAAAAABAAECAAAAAABb65FSx1oKG2r8AxQjio+UrYGLhvA7KMlxJBbPXosAV/CJufnIdUMSA0DhxD2W3eRLh2vHukIL4VH9guUcEBXsAAAAAgAAAAEAAAAMAAAABwAAAZgAAAAAAAAAgE1pY3Jvc29mdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgFBsYXlSZWFkeSBTTDAgTWV0ZXJpbmcgUm9vdCBDQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgDEuMC4wLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEACAAAAJAAAQBArAKJsEIDWNG5ulOgLvSUb8I2zZ0c5lZGYvpIO56Z0UNk/uC4Mq3jwXQUUN6m/48V5J/vuLDhWu740aRQc1dDDAAAAgCGTWHP8iVuQixWizwoABz7PhUnZYWEugUht5sYKNk23h2Cao/D5uf6epDVyilG8fZKLvufXc/+fkNOtEKT+sWr"
},
{
"serverURL": "https://lic.staging.drmtoday.com/license-proxy-headerauth/drmtoday/RightsManager.asmx",
"servertype" : "drmtoday",
"sessionTypes" : [ "temporary", "persistent-usage-record", "persistent-license" ],
"sessionTypes" : [ "temporary", "persistent-license" ],
"merchant" : "w3c-eme-test",
"secret" : drmtodaysecret
} ],
@ -148,12 +136,9 @@ const requestConstructors = {
var url = config.serverURL;
if (messageType === 'license-request') {
url += "?";
if (sessionType === 'temporary' || sessionType === 'persistent-usage-record') {
if (sessionType === 'temporary') {
url += "UseSimpleNonPersistentLicense=1&";
}
if (sessionType === 'persistent-usage-record') {
url += "SecureStop=1&";
}
url += "PlayEnablers=B621D91F-EDCC-4035-8D4B-DC71760D43E9&"; // disable output protection
url += "ContentKey=" + btoa(String.fromCharCode.apply(null, content.key));
}