Now we have CdmStorage mojo interface and CdmStorageImpl. We need a cdm::FileIO implementation on the client (CDM) side to connect to CdmStorageImpl to complete the work.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac commit aa05b9c72d674f8cc248e3a2e22a7ec575b210ac Author: John Rummell <jrummell@chromium.org> Date: Mon Oct 30 08:41:29 2017 media: Add Mojo CDM File I/O implementation Adds a cdm::FileIO implementation that can be used by mojo CDMs to read and write files. Files are obtained from the mojo CdmStorage interface. BUG=479923, 776911 TEST=updated browser_test and new unit tests pass Change-Id: Ib150058407d6db1d0ba2cabf4d5eb3f4a051232c Reviewed-on: https://chromium-review.googlesource.com/706211 Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Bo <boliu@chromium.org> Reviewed-by: Xiaohan Wang <xhwang@chromium.org> Commit-Queue: John Rummell <jrummell@chromium.org> Cr-Commit-Position: refs/heads/master@{#512456} [modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/chrome/browser/media/encrypted_media_browsertest.cc [modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/BUILD.gn [add] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/media/cdm_file_impl.cc [add] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/media/cdm_file_impl.h [modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/media/cdm_storage_impl.cc [modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/media/cdm_storage_impl.h [modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/media/cdm_storage_impl_unittest.cc [modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/cdm/ppapi/cdm_file_io_test.cc [modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/BUILD.gn [modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/interfaces/cdm_storage.mojom [modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/BUILD.gn [add] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/mojo_cdm_file_io.cc [add] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/mojo_cdm_file_io.h [add] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/mojo_cdm_file_io_unittest.cc [modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/mojo_cdm_helper.cc [modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/mojo_cdm_helper.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9a6b25e1350a5b43267cf6349f531c4c600102c3 commit 9a6b25e1350a5b43267cf6349f531c4c600102c3 Author: Xiaohan Wang <xhwang@chromium.org> Date: Fri Nov 17 03:25:59 2017 media: Refactor MojoCdmFileIO lifetime management - Let MojoCdmHelper own outstanding MojoCdmFileIO objects, so that even if a CDM forgets to call Close(), the object will not be leaked. - Let CdmAuxiliaryHelper::CreateCdmFileIO() return cdm::FileIO*. - Remove CdmFileIO class which is not needed anymore. - Misc: Also move CdmAuxiliaryHelper::CreationCB into CdmAdapterFactory where it's actually used. BUG= 776911 TEST=Add a unittest where Close() is not called. Change-Id: Idbfcdb02ec7795b6fbd712bdcea2541e19b86e9b Reviewed-on: https://chromium-review.googlesource.com/770250 Reviewed-by: John Rummell <jrummell@chromium.org> Commit-Queue: Xiaohan Wang <xhwang@chromium.org> Cr-Commit-Position: refs/heads/master@{#517277} [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/BUILD.gn [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/aes_decryptor_unittest.cc [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_adapter.cc [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_adapter_factory.cc [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_adapter_factory.h [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_adapter_unittest.cc [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_auxiliary_helper.cc [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_auxiliary_helper.h [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_file_adapter.h [delete] https://crrev.com/bd0b779e15d7dc045e4d38f3a02a3445457aaafd/media/cdm/cdm_file_io.cc [delete] https://crrev.com/bd0b779e15d7dc045e4d38f3a02a3445457aaafd/media/cdm/cdm_file_io.h [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/mock_helpers.cc [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/mock_helpers.h [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/BUILD.gn [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_file_io.cc [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_file_io.h [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_file_io_unittest.cc [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_helper.cc [modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_helper.h [add] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_helper_unittest.cc
Comment 1 by xhw...@chromium.org
, Oct 20 2017