Send spoids in provisioning requests

[ Merge of http://go/wvgerrit/87283 ]

SPOIDs (Stable Per-Origin IDentifiers) were not correctly being
set during CdmEngine construction. This resulted in SPOID values not
being sent in provisioning requests. This caused the serial number in
the drm certificate to not be stable after a reprovision.
This behaviour appears to be true going back to O.

CdmEngine no longer takes a SPOID in the constructor since not all
callers use SPOIDs. A setter has been added in its place. Previously
spoid had a default argument to the constructor.

Bug: 142368328
Test: android unit/integration tests
Change-Id: I711346df609636ecf1475dc37873454a7ef000c0
This commit is contained in:
Rahul Frias
2019-10-16 16:53:11 -07:00
parent 2e22e2321e
commit af15f8c83d
6 changed files with 113 additions and 19 deletions

View File

@@ -52,9 +52,8 @@ class MockWvCdmEventListener : public WvCdmEventListener {
class MockCdmEngineImpl : public CdmEngine {
public:
MockCdmEngineImpl(FileSystem* file_system,
std::shared_ptr<EngineMetrics> metrics,
const std::string& spoid)
: CdmEngine(file_system, metrics, spoid) {}
std::shared_ptr<EngineMetrics> metrics)
: CdmEngine(file_system, metrics) {}
MOCK_METHOD4(OpenSession,
CdmResponseType(const CdmKeySystem&, CdmClientPropertySet*,
const CdmSessionId&, WvCdmEventListener*));