New issue
Advanced search Search tips

Issue 826975 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Decouple media_gallery API from extension

Project Member Reported by xingliu@chromium.org, Mar 29 2018

Issue description

Currently Chrome download is trying to reuse media_gallery API on Android, however this API is built with extension.

We need to somehow decouple the extension dependency first and make it available for Android platform.
 
This includes:

1. Not using extension's blob reader, copy it to media gallery.

2. Extension's media gallery generated structs, for now copy it to media gallery.

3. Make extension code convert the media gallery metadata to its own idl generated structs.

4. Build media gallery service on Android.
For extension idl generated structs, they can be moved to mojom idl for media gallery, if that's possible.
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b7a13e3e6e7e53f3ed67276818e99c22412feddf

commit b7a13e3e6e7e53f3ed67276818e99c22412feddf
Author: Xing Liu <xingliu@chromium.org>
Date: Fri Apr 13 16:56:03 2018

Media gallery: Decouple media gallery from extension blob reader.

Currently media gallery api reads media data from a blob in browser
process with extension's blob reader.

This CL abstracts a factory class to create MediaDataSource, so that
Android can implement a different source that read data from local file.

Eventually, media gallery api will not depend on extension, which is
not supported on Android, and can have different data source.

Bug: 826021, 826975 
Change-Id: I6d9d6c0ffc8cbae42cd036af34fb4944cf25e685
Reviewed-on: https://chromium-review.googlesource.com/997012
Commit-Queue: Xing Liu <xingliu@chromium.org>
Reviewed-by: Tommy Li <tommycli@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550653}
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/browser/extensions/BUILD.gn
[add] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/browser/extensions/api/media_galleries/blob_data_source_factory.cc
[add] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/browser/extensions/api/media_galleries/blob_data_source_factory.h
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/services/media_gallery_util/ipc_data_source.cc
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/services/media_gallery_util/ipc_data_source.h
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/services/media_gallery_util/public/cpp/safe_media_metadata_parser.cc
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/services/media_gallery_util/public/cpp/safe_media_metadata_parser.h
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/services/media_gallery_util/public/mojom/media_parser.mojom

Project Member

Comment 4 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b7a13e3e6e7e53f3ed67276818e99c22412feddf

commit b7a13e3e6e7e53f3ed67276818e99c22412feddf
Author: Xing Liu <xingliu@chromium.org>
Date: Fri Apr 13 16:56:03 2018

Media gallery: Decouple media gallery from extension blob reader.

Currently media gallery api reads media data from a blob in browser
process with extension's blob reader.

This CL abstracts a factory class to create MediaDataSource, so that
Android can implement a different source that read data from local file.

Eventually, media gallery api will not depend on extension, which is
not supported on Android, and can have different data source.

Bug: 826021, 826975 
Change-Id: I6d9d6c0ffc8cbae42cd036af34fb4944cf25e685
Reviewed-on: https://chromium-review.googlesource.com/997012
Commit-Queue: Xing Liu <xingliu@chromium.org>
Reviewed-by: Tommy Li <tommycli@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550653}
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/browser/extensions/BUILD.gn
[add] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/browser/extensions/api/media_galleries/blob_data_source_factory.cc
[add] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/browser/extensions/api/media_galleries/blob_data_source_factory.h
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/services/media_gallery_util/ipc_data_source.cc
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/services/media_gallery_util/ipc_data_source.h
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/services/media_gallery_util/public/cpp/safe_media_metadata_parser.cc
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/services/media_gallery_util/public/cpp/safe_media_metadata_parser.h
[modify] https://crrev.com/b7a13e3e6e7e53f3ed67276818e99c22412feddf/chrome/services/media_gallery_util/public/mojom/media_parser.mojom

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/353ce8eafb9ad2daa4472ade16dc7a61840d4289

commit 353ce8eafb9ad2daa4472ade16dc7a61840d4289
Author: Xing Liu <xingliu@chromium.org>
Date: Fri Apr 20 20:31:13 2018

Media gallery service: Decouple from extension serialization.

Currently media gallery API serializes the metadata inside media gallery
util service with Chrome extension's idl generated dictionary
serializer.

Since download will use the service on Android, it can't depend on
extension. This CL introduces mojo metadata struct for media gallery
util service and does the serialization in chrome extension code outside
media gallery util service.


Bug: 826021, 826975 
Change-Id: Iae14d2c443824c826b27a96c2a9aad6de018cb59
Reviewed-on: https://chromium-review.googlesource.com/1002533
Commit-Queue: Xing Liu <xingliu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Tommy Li <tommycli@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552453}
[modify] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/browser/extensions/BUILD.gn
[modify] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
[modify] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/browser/extensions/api/media_galleries/media_galleries_api.h
[add] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/browser/extensions/api/media_galleries/media_galleries_api_util.cc
[add] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/browser/extensions/api/media_galleries/media_galleries_api_util.h
[modify] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/services/media_gallery_util/media_metadata_parser.cc
[modify] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/services/media_gallery_util/media_metadata_parser.h
[modify] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/services/media_gallery_util/media_parser.cc
[modify] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/services/media_gallery_util/public/cpp/DEPS
[modify] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/services/media_gallery_util/public/cpp/safe_media_metadata_parser.cc
[modify] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/services/media_gallery_util/public/cpp/safe_media_metadata_parser.h
[modify] https://crrev.com/353ce8eafb9ad2daa4472ade16dc7a61840d4289/chrome/services/media_gallery_util/public/mojom/media_parser.mojom

Status: Fixed (was: Assigned)
Blocking: -826021

Sign in to add a comment