New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 787281 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocked on:
issue 883578

Blocking:
issue 598069



Sign in to add a comment

Mojofy and onion soup content/common/fileapi/file_system_messages.h

Project Member Reported by slangley@chromium.org, Nov 21 2017

Issue description

- Convert all IPCs to use Mojo.
- Move the resulting code from content/renderer/* to blink
- Remove and now redundant abstractions in public/web etc.
 
Owner: cmumford@chromium.org
Status: Assigned (was: Available)
Assigning to cmumford@ based on comments in tracking spreadsheet.
Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 27 2017

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

commit 8d71ca83bd7d6e377d06e0b13db6521faff8313d
Author: Chris Mumford <cmumford@chromium.org>
Date: Mon Nov 27 21:16:43 2017

Added a Mojo equivalent to base::File::Error.

mojo.common.mojom.FileError is the Mojo version of the base::File::Error
enumeration.

Added enum traits for base::File::Error ↔ mojo::common::mojom::FileError.

Bug: 787281
Change-Id: I12075ed19fd412d0f92b0eccef66ba3832261d8b
Reviewed-on: https://chromium-review.googlesource.com/786266
Commit-Queue: Chris Mumford <cmumford@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Oliver Chang <ochang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519407}
[modify] https://crrev.com/8d71ca83bd7d6e377d06e0b13db6521faff8313d/mojo/common/common_custom_types_struct_traits.cc
[modify] https://crrev.com/8d71ca83bd7d6e377d06e0b13db6521faff8313d/mojo/common/common_custom_types_struct_traits.h
[modify] https://crrev.com/8d71ca83bd7d6e377d06e0b13db6521faff8313d/mojo/common/common_custom_types_unittest.cc
[modify] https://crrev.com/8d71ca83bd7d6e377d06e0b13db6521faff8313d/mojo/common/file.mojom
[modify] https://crrev.com/8d71ca83bd7d6e377d06e0b13db6521faff8313d/mojo/common/file.typemap

Project Member

Comment 4 by bugdroid1@chromium.org, Nov 28 2017

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

commit 94ff93b6a704a6182a9c3c5cdf7aa5b312fa0fa7
Author: Chris Mumford <cmumford@chromium.org>
Date: Tue Nov 28 17:23:55 2017

Revert "Added a Mojo equivalent to base::File::Error."

This reverts commit 8d71ca83bd7d6e377d06e0b13db6521faff8313d.

Reason for revert: Missed existence of filesystem.mojom.FileError

Original change's description:
> Added a Mojo equivalent to base::File::Error.
> 
> mojo.common.mojom.FileError is the Mojo version of the base::File::Error
> enumeration.
> 
> Added enum traits for base::File::Error ↔ mojo::common::mojom::FileError.
> 
> Bug: 787281
> Change-Id: I12075ed19fd412d0f92b0eccef66ba3832261d8b
> Reviewed-on: https://chromium-review.googlesource.com/786266
> Commit-Queue: Chris Mumford <cmumford@chromium.org>
> Reviewed-by: John Abd-El-Malek <jam@chromium.org>
> Reviewed-by: Oliver Chang <ochang@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#519407}

TBR=jam@chromium.org,cmumford@chromium.org,ochang@chromium.org

Change-Id: I10ec724c00a3022ef177f4ded3268f0e892c1a69
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 787281
Reviewed-on: https://chromium-review.googlesource.com/794153
Reviewed-by: Chris Mumford <cmumford@chromium.org>
Commit-Queue: Chris Mumford <cmumford@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519721}
[modify] https://crrev.com/94ff93b6a704a6182a9c3c5cdf7aa5b312fa0fa7/mojo/common/common_custom_types_struct_traits.cc
[modify] https://crrev.com/94ff93b6a704a6182a9c3c5cdf7aa5b312fa0fa7/mojo/common/common_custom_types_struct_traits.h
[modify] https://crrev.com/94ff93b6a704a6182a9c3c5cdf7aa5b312fa0fa7/mojo/common/common_custom_types_unittest.cc
[modify] https://crrev.com/94ff93b6a704a6182a9c3c5cdf7aa5b312fa0fa7/mojo/common/file.mojom
[modify] https://crrev.com/94ff93b6a704a6182a9c3c5cdf7aa5b312fa0fa7/mojo/common/file.typemap

Status: Assigned (was: Started)
Owner: lucmult@chromium.org
Assigning to lucmult@ - he can look at this in Q1/Q1 2018.
Awesome, thanks for being signed up lucmult!


Blocking: 598069
Hi all,

I haven't really started on this bug yet. I'm currently focused on Cache Storage  crbug.com/612287 .

I expect to start on this bug in a week or so and work on those 2 in parallel (Cache Storage and Files API).

Stay tuned.
Touching base here.

I haven't had enough progress on Cache Storage API, so I haven't worked on File API.

I did an quick assessment of File API and it follow a similar structure to Cache Storage, so I expect to make faster progress on File API based on my experience on Cache Storage.

Comment 11 by mek@chromium.org, Jan 24 2018

(nit: this is about the filesystem API, not "File API" (even though the messages file might be in content/common/fileapi). File API is a specific w3c standard that doesn't have much to do with the filesystem API, so to avoid confusion it might be best to not use File API to refer to any of this).

Comment 12 by lucmult@google.com, Jan 24 2018

Ha, thanks for rectifying, this little details make a difference for newcomers like me! :-)
Status: Started (was: Assigned)
Hi all,

I have written a design doc detailing the steps to migrate File System IPC messages to mojo and finally onion soup it.

jsbell@ and pwnall@ can you review the design doc?
https://docs.google.com/document/d/16e7PbljOpkn9riFPsIyONVfiAyNUPztfBHBfov5W6v4/edit#heading=h.816sz62r6umz

I intend to start working on the first mojo structs/enums asap.

Cheers.
Project Member

Comment 14 by bugdroid1@chromium.org, Mar 7 2018

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

commit eaeb87345a2ef493166668464353410b64d5ed23
Author: Luciano Pacheco <lucmult@chromium.org>
Date: Wed Mar 07 05:35:59 2018

Add typemap for mojom::FileError

As part of File System API mojofication, converting the types used for
communicating between renderer and browser processes.
https://docs.google.com/document/d/16e7PbljOpkn9riFPsIyONVfiAyNUPztfBHBfov5W6v4

File::Error is returned from different layers for FS API, within
//storage/ and //base/, thus having this typemap makes more convenient
to send errors from any of these layers. Additionally it unifies all
File::Error instance on base::File::Error, removing mojo version.

Since //base/ can't depend on //components/ where mojom::FileError is
defined, thus we couldn't unify all uses on mojo enum instead.

Move mojom::FileError to //mojo/public/cpp/base/ since it's now a
typemap for an enum in //base.

This CL also fixes lint related to includes, now these 23 files don't
have any lint errors.

Bug: 787281
Change-Id: I891e57651dd35bb7a0d1edea03c06fe63c2e082a
Reviewed-on: https://chromium-review.googlesource.com/912910
Commit-Queue: Luciano Pacheco (SYD) <lucmult@chromium.org>
Reviewed-by: Sam McNally <sammc@chromium.org>
Reviewed-by: Elliot Glaysher <erg@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Sasha Morrissey <sashab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541360}
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/chrome/services/file_util/zip_file_creator.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/directory_impl.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/directory_impl_unittest.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/file_impl.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/file_impl_unittest.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/file_system_impl.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/files_test_base.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/public/interfaces/BUILD.gn
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/public/interfaces/directory.mojom
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/public/interfaces/file.mojom
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/public/interfaces/file_system.mojom
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/public/interfaces/types.mojom
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/util.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/filesystem/util.h
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/leveldb/env_mojo.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/leveldb/env_mojo.h
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/leveldb/leveldb_mojo_proxy.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/leveldb/leveldb_mojo_proxy.h
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/leveldb/leveldb_service_unittest.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/components/unzip_service/unzipper_impl.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/content/browser/dom_storage/local_storage_context_mojo.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/content/browser/dom_storage/local_storage_context_mojo.h
[add] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/mojo/public/cpp/base/file_error.typemap
[add] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/mojo/public/cpp/base/file_error_mojom_traits.h
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/mojo/public/cpp/base/typemaps.gni
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/mojo/public/mojom/base/BUILD.gn
[add] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/mojo/public/mojom/base/file_error.mojom
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/services/file/file_system.cc
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/services/file/public/mojom/BUILD.gn
[modify] https://crrev.com/eaeb87345a2ef493166668464353410b64d5ed23/services/file/public/mojom/file_system.mojom

Project Member

Comment 15 by bugdroid1@chromium.org, Mar 28 2018

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

commit 99533e87a4d2c96cff9e074b25f18b79fe537206
Author: Luciano Pacheco <lucmult@chromium.org>
Date: Wed Mar 28 07:49:07 2018

Convert DirectoryEntry to mojom

Convert uses of storage::DirectoryEntry to filesystem::mojom::DirectoryEntry.

Convert previous use of mojo struct to new field types as described below.

This struct has two fields that were actually slightly changed:

- |name| was StringType, which is platform dependent wstring on
Windows and string on others, changed to FilePath which is a
NativeStruct in mojo and takes care of the platform specific.
- |is_directory| converted to an mojo enum |type| thus usage changed to
compare |type| with enum values.

To comply with presubmit allowed //components/filesystem as DEPS for
//content and //storage.

This is part of File System API mojofication as per the following Design
Doc:
https://docs.google.com/document/d/16e7PbljOpkn9riFPsIyONVfiAyNUPztfBHBfov5W6v4

Bug: 787281
Change-Id: I254e3266a93a03074dd94ccd018e5ac5c95e7021
Reviewed-on: https://chromium-review.googlesource.com/936963
Commit-Queue: Luciano Pacheco (SYD) <lucmult@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Tatsuhisa Yamaguchi <yamaguchi@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Sam McNally <sammc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546433}
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_async_file_util.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_root_unittest.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/chromeos/drive/fileapi/fileapi_worker.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/chromeos/drive/fileapi/fileapi_worker.h
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/chromeos/file_system_provider/fake_provided_file_system.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/chromeos/file_system_provider/operations/read_directory.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/chromeos/file_system_provider/operations/read_directory_unittest.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/chromeos/fileapi/recent_download_source.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/chromeos/smb_client/smb_file_system.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/extensions/api/developer_private/developer_private_api.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/media_galleries/chromeos/mtp_device_delegate_impl_chromeos.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/media_galleries/fileapi/native_media_file_util.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/media_galleries/fileapi/native_media_file_util_unittest.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/media_galleries/mac/mtp_device_delegate_impl_mac.mm
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/media_galleries/mac/mtp_device_delegate_impl_mac_unittest.mm
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/media_galleries/win/mtp_device_delegate_impl_win.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/chrome/browser/sync_file_system/drive_backend/drive_backend_sync_unittest.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/components/services/filesystem/directory_impl.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/components/services/filesystem/directory_impl_unittest.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/components/services/filesystem/public/interfaces/types.mojom
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/components/services/leveldb/leveldb_mojo_proxy.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/content/DEPS
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/content/browser/fileapi/fileapi_message_filter.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/content/browser/fileapi/fileapi_message_filter.h
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/content/browser/plugin_private_storage_helper.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/content/browser/renderer_host/pepper/pepper_internal_file_ref_backend.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/content/common/BUILD.gn
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/content/common/fileapi/file_system_messages.h
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/content/renderer/fileapi/file_system_dispatcher.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/content/renderer/fileapi/file_system_dispatcher.h
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/content/renderer/fileapi/webfilesystem_impl.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/DEPS
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/BUILD.gn
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/async_file_util.h
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/async_file_util_adapter.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/copy_or_move_operation_delegate_unittest.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/dragged_file_util_unittest.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/file_system_dir_url_request_job.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/file_system_dir_url_request_job.h
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/file_system_operation.h
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/file_system_operation_impl_unittest.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/file_system_operation_runner.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/file_system_operation_runner.h
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/obfuscated_file_util_unittest.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/browser/fileapi/recursive_operation_delegate.cc
[modify] https://crrev.com/99533e87a4d2c96cff9e074b25f18b79fe537206/storage/common/BUILD.gn
[delete] https://crrev.com/7379d186db927f13e8c11991fe1eed9e52179149/storage/common/fileapi/directory_entry.cc
[delete] https://crrev.com/7379d186db927f13e8c11991fe1eed9e52179149/storage/common/fileapi/directory_entry.h

Owner: ----
Status: Available (was: Started)
Making this bug available, because Stuart, my manager, changed my focus to chromeOS Files app and I'm reaching the end of my rotation at the end of April.

Current status:

Required types have been converted to Mojo types (CLs linked above). However the conversion from IPC to Mojo hasn't been started.

Design Doc for this work is here:
https://docs.google.com/document/d/16e7PbljOpkn9riFPsIyONVfiAyNUPztfBHBfov5W6v4



Owner: adithyas@chromium.org
Status: Assigned (was: Available)
adithyas@ has started in https://chromium-review.googlesource.com/c/chromium/src/+/1125316 - \o/
Status: Started (was: Assigned)
Project Member

Comment 19 by bugdroid1@chromium.org, Aug 2

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

commit 104d9bf8175d3ec3feb862cee68808c57ce575af
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Thu Aug 02 22:16:29 2018

Mojofy FileSystem

- Mojofies and removes all messages in file_system_messages.h.
- Replaces FileAPIMessageFilter with FileSystemDispatcherHost.
- Adds mojom types for FileSystemInfo and FileSystemType and adds
  type converters to convert these types to storage::FileSystemInfo
  and storage FileSystemInfo respectively. The storage types will be
  replaced with the mojom types in follow up CLs.

Change-Id: I82aaf9dcb04149880e68238540766f21771d2b21
Bug: 787281
Reviewed-on: https://chromium-review.googlesource.com/1125316
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580346}
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/chrome/browser/chrome_security_exploit_browsertest.cc
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/browser/BUILD.gn
[add] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/browser/fileapi/file_system_manager_impl.cc
[add] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/browser/fileapi/file_system_manager_impl.h
[delete] https://crrev.com/7d5f0ee834dc7404788b4f521515738f9de482b6/content/browser/fileapi/fileapi_message_filter.cc
[delete] https://crrev.com/7d5f0ee834dc7404788b4f521515738f9de482b6/content/browser/fileapi/fileapi_message_filter.h
[delete] https://crrev.com/7d5f0ee834dc7404788b4f521515738f9de482b6/content/browser/fileapi/fileapi_message_filter_unittest.cc
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/browser/indexed_db/indexed_db_callbacks.cc
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/browser/renderer_host/pepper/pepper_file_io_host.cc
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/common/BUILD.gn
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/common/content_message_generator.h
[delete] https://crrev.com/7d5f0ee834dc7404788b4f521515738f9de482b6/content/common/fileapi/file_system_messages.h
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/public/test/test_fileapi_operation_waiter.cc
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/public/test/test_fileapi_operation_waiter.h
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/renderer/fileapi/file_system_dispatcher.cc
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/renderer/fileapi/file_system_dispatcher.h
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/renderer/fileapi/webfilesystem_impl.cc
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/renderer/pepper/url_request_info_util.cc
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/renderer/render_thread_impl.h
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/content/test/BUILD.gn
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/storage/common/BUILD.gn
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/storage/common/fileapi/OWNERS
[add] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/storage/common/fileapi/file_system_type_converters.h
[modify] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/third_party/blink/public/mojom/BUILD.gn
[add] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/third_party/blink/public/mojom/filesystem/OWNERS
[add] https://crrev.com/104d9bf8175d3ec3feb862cee68808c57ce575af/third_party/blink/public/mojom/filesystem/file_system.mojom

Project Member

Comment 20 by bugdroid1@chromium.org, Aug 3

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

commit dbea7821a0de9de4d435084552b00d3e96f76d04
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Fri Aug 03 13:57:22 2018

Revert "Mojofy FileSystem"

This reverts commit 104d9bf8175d3ec3feb862cee68808c57ce575af.

Reason for revert: Causes crashes, see  https://crbug.com/870567 ,
https://crbug.com/870629,  https://crbug.com/870643 ,  https://crbug.com/870682 . Based on the stack traces, they're all the same kind of crash, but reverting just to be safe.

Original change's description:
> Mojofy FileSystem
> 
> - Mojofies and removes all messages in file_system_messages.h.
> - Replaces FileAPIMessageFilter with FileSystemDispatcherHost.
> - Adds mojom types for FileSystemInfo and FileSystemType and adds
>   type converters to convert these types to storage::FileSystemInfo
>   and storage FileSystemInfo respectively. The storage types will be
>   replaced with the mojom types in follow up CLs.
> 
> Change-Id: I82aaf9dcb04149880e68238540766f21771d2b21
> Bug: 787281
> Reviewed-on: https://chromium-review.googlesource.com/1125316
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Victor Costan <pwnall@chromium.org>
> Reviewed-by: Joshua Bell <jsbell@chromium.org>
> Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#580346}

TBR=jsbell@chromium.org,kinuko@chromium.org,pwnall@chromium.org,adithyas@chromium.org

Change-Id: Id955ec9f01f6201e4de92fbdfb400f3f00109496
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 787281
Reviewed-on: https://chromium-review.googlesource.com/1162201
Reviewed-by: Adithya Srinivasan <adithyas@chromium.org>
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580529}
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/chrome/browser/chrome_security_exploit_browsertest.cc
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/browser/BUILD.gn
[delete] https://crrev.com/2185701b235ad5086c8bf452113f023ba917a495/content/browser/fileapi/file_system_manager_impl.cc
[delete] https://crrev.com/2185701b235ad5086c8bf452113f023ba917a495/content/browser/fileapi/file_system_manager_impl.h
[add] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/browser/fileapi/fileapi_message_filter.cc
[add] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/browser/fileapi/fileapi_message_filter.h
[add] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/browser/fileapi/fileapi_message_filter_unittest.cc
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/browser/indexed_db/indexed_db_callbacks.cc
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/browser/renderer_host/pepper/pepper_file_io_host.cc
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/common/BUILD.gn
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/common/content_message_generator.h
[add] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/common/fileapi/file_system_messages.h
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/public/test/test_fileapi_operation_waiter.cc
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/public/test/test_fileapi_operation_waiter.h
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/renderer/fileapi/file_system_dispatcher.cc
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/renderer/fileapi/file_system_dispatcher.h
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/renderer/fileapi/webfilesystem_impl.cc
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/renderer/pepper/url_request_info_util.cc
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/renderer/render_thread_impl.h
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/content/test/BUILD.gn
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/storage/common/BUILD.gn
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/storage/common/fileapi/OWNERS
[delete] https://crrev.com/2185701b235ad5086c8bf452113f023ba917a495/storage/common/fileapi/file_system_type_converters.h
[modify] https://crrev.com/dbea7821a0de9de4d435084552b00d3e96f76d04/third_party/blink/public/mojom/BUILD.gn
[delete] https://crrev.com/2185701b235ad5086c8bf452113f023ba917a495/third_party/blink/public/mojom/filesystem/OWNERS
[delete] https://crrev.com/2185701b235ad5086c8bf452113f023ba917a495/third_party/blink/public/mojom/filesystem/file_system.mojom

Project Member

Comment 21 by bugdroid1@chromium.org, Aug 13

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

commit 0c72ff003a231be632a8b4f6aa916961e3eaf544
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Mon Aug 13 19:47:29 2018

Reland "Mojofy FileSystem"

This is a reland of 104d9bf8175d3ec3feb862cee68808c57ce575af

Original change's description:
> Mojofy FileSystem
> 
> - Mojofies and removes all messages in file_system_messages.h.
> - Replaces FileAPIMessageFilter with FileSystemDispatcherHost.
> - Adds mojom types for FileSystemInfo and FileSystemType and adds
>   type converters to convert these types to storage::FileSystemInfo
>   and storage FileSystemInfo respectively. The storage types will be
>   replaced with the mojom types in follow up CLs.
> 
> Change-Id: I82aaf9dcb04149880e68238540766f21771d2b21
> Bug: 787281
> Reviewed-on: https://chromium-review.googlesource.com/1125316
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Victor Costan <pwnall@chromium.org>
> Reviewed-by: Joshua Bell <jsbell@chromium.org>
> Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#580346}

Bug: 787281
Change-Id: I59369069558b57f4cf5001d072bb8a631e5e9d9a
Reviewed-on: https://chromium-review.googlesource.com/1162204
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582673}
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/chrome/browser/chrome_security_exploit_browsertest.cc
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/browser/BUILD.gn
[add] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/browser/fileapi/file_system_manager_impl.cc
[add] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/browser/fileapi/file_system_manager_impl.h
[delete] https://crrev.com/2065933074946af2fc79f2e1f9cfe14ab1c91fc1/content/browser/fileapi/fileapi_message_filter.cc
[delete] https://crrev.com/2065933074946af2fc79f2e1f9cfe14ab1c91fc1/content/browser/fileapi/fileapi_message_filter.h
[delete] https://crrev.com/2065933074946af2fc79f2e1f9cfe14ab1c91fc1/content/browser/fileapi/fileapi_message_filter_unittest.cc
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/browser/indexed_db/indexed_db_callbacks.cc
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/browser/renderer_host/pepper/pepper_file_io_host.cc
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/common/BUILD.gn
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/common/content_message_generator.h
[delete] https://crrev.com/2065933074946af2fc79f2e1f9cfe14ab1c91fc1/content/common/fileapi/file_system_messages.h
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/public/test/test_fileapi_operation_waiter.cc
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/public/test/test_fileapi_operation_waiter.h
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/renderer/fileapi/file_system_dispatcher.cc
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/renderer/fileapi/file_system_dispatcher.h
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/renderer/fileapi/webfilesystem_impl.cc
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/renderer/pepper/url_request_info_util.cc
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/renderer/render_thread_impl.h
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/content/test/BUILD.gn
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/storage/common/BUILD.gn
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/storage/common/fileapi/OWNERS
[add] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/storage/common/fileapi/file_system_type_converters.h
[modify] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/third_party/blink/public/mojom/BUILD.gn
[add] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/third_party/blink/public/mojom/filesystem/OWNERS
[add] https://crrev.com/0c72ff003a231be632a8b4f6aa916961e3eaf544/third_party/blink/public/mojom/filesystem/file_system.mojom

Project Member

Comment 22 by bugdroid1@chromium.org, Aug 16

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

commit 765b13f1d0af90bbb170df92b986c96bb602c059
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Thu Aug 16 14:27:18 2018

Remove blink::FileSystemType

Makes callsites use mojom::blink::FileSystemType instead.

Bug: 787281
Change-Id: If0a3a687fa99b77b3a05ec8c4790f1ee0cbe6dd5
Reviewed-on: https://chromium-review.googlesource.com/1155157
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583643}
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/bindings/modules/v8/serialization/v8_script_value_deserializer_for_modules.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/bindings/modules/v8/serialization/v8_script_value_serializer_for_modules.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/bindings/modules/v8/serialization/v8_script_value_serializer_for_modules_test.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/exported/web_dom_file_system.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/dev_tools_host_file_system.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/dom_file_system.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/dom_file_system.h
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/dom_file_system_base.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/dom_file_system_base.h
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/dom_file_system_base_test.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/dom_file_system_sync.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/dom_file_system_sync.h
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/dom_window_file_system.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/entry.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/file_system_callbacks.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/file_system_callbacks.h
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/file_system_client.h
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/local_file_system.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/local_file_system.h
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/modules/filesystem/worker_global_scope_file_system.cc
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/platform/BUILD.gn
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/platform/async_file_system_callbacks.h
[modify] https://crrev.com/765b13f1d0af90bbb170df92b986c96bb602c059/third_party/blink/renderer/platform/exported/web_file_system_callbacks.cc
[delete] https://crrev.com/8ed96718905cc0fb1bc4ef87ed51d8168db4bab2/third_party/blink/renderer/platform/file_system_type.h

Project Member

Comment 23 by bugdroid1@chromium.org, Aug 23

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

commit efface138ceef999ffe0f82b1ac54281808c154f
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Thu Aug 23 18:47:13 2018

[FileSystem] Use mojo sync calls to block worker threads

This CL has a few changes that should simplify onion souping
webfilesystem_impl and webfilewriter_impl:

- Adds sync versions of Write, Truncate and ReadDirectory in the
  FileSystemManager interface and makes all the other methods sync
- Makes each WebFileSystemImpl and WebFileWriterImpl own a unique
  dispatcher object (allowing it to call dispatcher methods on worker
  threads without worrying about thread safety). They directly call the
  sync methods of the mojo service in order to block the worker
  thread (instead of using WaitableEvent and posting tasks on the main
  thread).
- PepperFileSystemHost now directly connects to the FileSystemManager
  service instead of using FileSystemDispatcher.

Bug: 787281
Change-Id: Ib497c0a6700c52a7abf4661f2f6a959c11b63519
Reviewed-on: https://chromium-review.googlesource.com/1175149
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585562}
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/browser/fileapi/file_system_manager_impl.cc
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/browser/fileapi/file_system_manager_impl.h
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/renderer/fileapi/file_system_dispatcher.cc
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/renderer/fileapi/file_system_dispatcher.h
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/renderer/fileapi/webfilesystem_impl.cc
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/renderer/fileapi/webfilesystem_impl.h
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/renderer/fileapi/webfilewriter_impl.cc
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/renderer/fileapi/webfilewriter_impl.h
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/renderer/pepper/pepper_file_system_host.cc
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/renderer/pepper/pepper_file_system_host.h
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/renderer/render_thread_impl.h
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/storage/common/fileapi/file_system_type_converters.h
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/third_party/blink/public/mojom/filesystem/file_system.mojom
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/third_party/blink/public/platform/web_file_system.h
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/third_party/blink/renderer/modules/filesystem/directory_reader_sync.cc
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/third_party/blink/renderer/modules/filesystem/dom_file_system_base.cc
[modify] https://crrev.com/efface138ceef999ffe0f82b1ac54281808c154f/third_party/blink/renderer/modules/filesystem/dom_file_system_base.h

Cc: kinuko@chromium.org mek@chromium.org
I wrote a short design doc describing how I plan on onion souping FileSystem, feel free to add any comments: https://docs.google.com/document/d/1o8mifA07VoAySo9hPmgbTyrSY8uiDFsQsnUHkoflWKY/edit?usp=sharing
Blockedon: 883578
Project Member

Comment 26 by bugdroid1@chromium.org, Sep 20

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

commit 7d88a0cd061e4c7caaeae696ee87df3be2cece60
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Thu Sep 20 15:43:01 2018

[FileSystem] FileSystem Onion Soup

Moves functionality from content/renderer/fileapi to
blink/renderer/modules/filesystem:

- Moves most functionality in content::FileSystemDispatcher and
  content::WebFileSystemImpl into blink::FileSystemDispatcher
- Moves all functionality in content::WebFileWriterBase to
  blink::FileWriterBase
- Moves all functionality in content::WebFileWriterImpl to
  blink::FileWriter and blink::FileWriterSync
- Move web_file_writer_base_test.cc to blink
- Removes WebFileWriter, WebFileWriterClient, WebFileSystemCallbacks,
  WebFileError, WebFileInfo, WebFileSystemEntry
- Makes AsyncFileSystemCallbacks and FileSystemCallbacks use
  base::File::Error directly instead of using blink::FileError.

Bug: 787281
Change-Id: Iff0ca3e9fe20d0586709c5efbce4cd1cc79c1419
Reviewed-on: https://chromium-review.googlesource.com/1195098
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592811}
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/content/browser/fileapi/file_system_manager_impl.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/content/renderer/BUILD.gn
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/content/renderer/file_info_util.cc
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/content/renderer/file_info_util.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/content/renderer/fileapi/file_system_dispatcher.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/content/renderer/fileapi/file_system_dispatcher.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/content/renderer/fileapi/webfilesystem_impl.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/content/renderer/fileapi/webfilesystem_impl.h
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/content/renderer/fileapi/webfilewriter_base.cc
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/content/renderer/fileapi/webfilewriter_base.h
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/content/renderer/fileapi/webfilewriter_base_unittest.cc
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/content/renderer/fileapi/webfilewriter_impl.cc
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/content/renderer/fileapi/webfilewriter_impl.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/content/renderer/pepper/resource_converter.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/content/test/BUILD.gn
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/storage/common/fileapi/file_system_util.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/storage/common/fileapi/file_system_util.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/public/BUILD.gn
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/third_party/blink/public/platform/web_file_error.h
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/third_party/blink/public/platform/web_file_info.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/public/platform/web_file_system.h
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/third_party/blink/public/platform/web_file_system_callbacks.h
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/third_party/blink/public/platform/web_file_system_entry.h
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/third_party/blink/public/platform/web_file_writer.h
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/third_party/blink/public/platform/web_file_writer_client.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/public/web/web_dom_file_system.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/core/fileapi/file_error.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/core/fileapi/file_error.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/BUILD.gn
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/exported/web_dom_file_system.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/BUILD.gn
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/DEPS
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/directory_reader.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/directory_reader.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/directory_reader_sync.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/directory_reader_sync.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/dom_file_system.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/dom_file_system.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/dom_file_system_base.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/dom_file_system_base.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/dom_file_system_sync.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/dom_file_system_sync.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/dom_window_file_system.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_system_callbacks.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_system_callbacks.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_system_directory_handle.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_system_directory_iterator.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_system_directory_iterator.h
[add] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.cc
[add] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_system_file_handle.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_writer.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_writer.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_writer_base.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_writer_base.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_writer_sync.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_writer_sync.h
[add] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/file_writer_test.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/local_file_system.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/local_file_system.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/sync_callback_helper.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/modules/filesystem/worker_global_scope_file_system.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/platform/BUILD.gn
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/platform/async_file_system_callbacks.h
[delete] https://crrev.com/4e332cde84925440f8aab36a3b05c7ce1bea305b/third_party/blink/renderer/platform/exported/web_file_system_callbacks.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/platform/file_metadata.cc
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/platform/file_metadata.h
[modify] https://crrev.com/7d88a0cd061e4c7caaeae696ee87df3be2cece60/third_party/blink/renderer/platform/mojo/blink_typemaps.gni

Project Member

Comment 27 by bugdroid1@chromium.org, Sep 25

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

commit 2eeb21dd6bd45b9bb46039b00b8b7629a013698e
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Tue Sep 25 17:25:27 2018

[FileSystem] Remove WebFileSystem

- Adds blink.mojom.FileSystemManager to the frame and worker
  registries, allowing it to be accessed directly from
  ExecutionContext::GetInterfaceProvider()->GetInterface()
- Changes ownership of blink::FileSystemDispatcher: now owned by
  ExecutionContext
- Omits render_frame_id_ from ChooseEntry
- Removes WebFileSystem and content::FileSystemDispatcher

Bug: 787281, 873661
Change-Id: Ie41d48c5a206b5d1f387fcee3bd47bc30a708f0f
Reviewed-on: https://chromium-review.googlesource.com/1217506
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593983}
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/browser/fileapi/file_system_manager_impl.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/browser/fileapi/file_system_manager_impl.h
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/browser/renderer_interface_binders.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/renderer/BUILD.gn
[delete] https://crrev.com/634d90a80671ad81200e7a3b973da2565b291c1f/content/renderer/fileapi/OWNERS
[delete] https://crrev.com/634d90a80671ad81200e7a3b973da2565b291c1f/content/renderer/fileapi/file_system_dispatcher.cc
[delete] https://crrev.com/634d90a80671ad81200e7a3b973da2565b291c1f/content/renderer/fileapi/file_system_dispatcher.h
[delete] https://crrev.com/634d90a80671ad81200e7a3b973da2565b291c1f/content/renderer/fileapi/webfilesystem_impl.cc
[delete] https://crrev.com/634d90a80671ad81200e7a3b973da2565b291c1f/content/renderer/fileapi/webfilesystem_impl.h
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/renderer/pepper/pepper_file_system_host.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/content/renderer/renderer_blink_platform_impl.h
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/public/BUILD.gn
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/public/mojom/filesystem/file_system.mojom
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/public/platform/platform.h
[delete] https://crrev.com/634d90a80671ad81200e7a3b973da2565b291c1f/third_party/blink/public/platform/web_file_system.h
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/public/web/web_dom_file_system.h
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/dom_file_system.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/dom_file_system_base.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/dom_file_system_base.h
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/dom_file_system_sync.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.h
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/file_system_file_handle.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/file_writer.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/file_writer_sync.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/file_writer_sync.h
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/local_file_system.cc
[modify] https://crrev.com/2eeb21dd6bd45b9bb46039b00b8b7629a013698e/third_party/blink/renderer/modules/filesystem/local_file_system.h

Project Member

Comment 28 by bugdroid1@chromium.org, Sep 26

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

commit e7d1e30c1691f05a625c2f218579b350a3442381
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Wed Sep 26 22:34:06 2018

Revert "[FileSystem] Remove WebFileSystem"

This reverts commit 2eeb21dd6bd45b9bb46039b00b8b7629a013698e.

Reason for revert: This CL is causing crashes in canary (https://crbug.com/889422)

Original change's description:
> [FileSystem] Remove WebFileSystem
>
> - Adds blink.mojom.FileSystemManager to the frame and worker
>   registries, allowing it to be accessed directly from
>   ExecutionContext::GetInterfaceProvider()->GetInterface()
> - Changes ownership of blink::FileSystemDispatcher: now owned by
>   ExecutionContext
> - Omits render_frame_id_ from ChooseEntry
> - Removes WebFileSystem and content::FileSystemDispatcher
>
> Bug: 787281, 873661
> Change-Id: Ie41d48c5a206b5d1f387fcee3bd47bc30a708f0f
> Reviewed-on: https://chromium-review.googlesource.com/1217506
> Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#593983}

TBR=kinuko@chromium.org,mek@chromium.org,pwnall@chromium.org,adithyas@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 787281, 873661
Change-Id: Iacfc3c08d838f2258fd35603270d41beab086623
No-Presubmit: true
Reviewed-on: https://chromium-review.googlesource.com/1246863
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Reviewed-by: Adithya Srinivasan <adithyas@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594503}
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/browser/fileapi/file_system_manager_impl.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/browser/fileapi/file_system_manager_impl.h
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/browser/renderer_interface_binders.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/renderer/BUILD.gn
[add] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/renderer/fileapi/OWNERS
[add] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/renderer/fileapi/file_system_dispatcher.cc
[add] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/renderer/fileapi/file_system_dispatcher.h
[add] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/renderer/fileapi/webfilesystem_impl.cc
[add] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/renderer/fileapi/webfilesystem_impl.h
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/renderer/pepper/pepper_file_system_host.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/content/renderer/renderer_blink_platform_impl.h
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/public/BUILD.gn
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/public/mojom/filesystem/file_system.mojom
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/public/platform/platform.h
[add] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/public/platform/web_file_system.h
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/public/web/web_dom_file_system.h
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/dom_file_system.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/dom_file_system_base.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/dom_file_system_base.h
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/dom_file_system_sync.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.h
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/file_system_file_handle.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/file_writer.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/file_writer_sync.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/file_writer_sync.h
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/local_file_system.cc
[modify] https://crrev.com/e7d1e30c1691f05a625c2f218579b350a3442381/third_party/blink/renderer/modules/filesystem/local_file_system.h

Project Member

Comment 29 by bugdroid1@chromium.org, Oct 5

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

commit 87907405436d5de2ac42ce47b5f63f7dc1c69ec5
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Fri Oct 05 15:12:39 2018

Reland "[FileSystem] Remove WebFileSystem"

This is a reland of 2eeb21dd6bd45b9bb46039b00b8b7629a013698e

Original change's description:
> [FileSystem] Remove WebFileSystem
>
> - Adds blink.mojom.FileSystemManager to the frame and worker
>   registries, allowing it to be accessed directly from
>   ExecutionContext::GetInterfaceProvider()->GetInterface()
> - Changes ownership of blink::FileSystemDispatcher: now owned by
>   ExecutionContext
> - Omits render_frame_id_ from ChooseEntry
> - Removes WebFileSystem and content::FileSystemDispatcher
>
> Bug: 787281, 873661
> Change-Id: Ie41d48c5a206b5d1f387fcee3bd47bc30a708f0f
> Reviewed-on: https://chromium-review.googlesource.com/1217506
> Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#593983}

Bug: 787281, 873661
Change-Id: Ic5d211e2102ebcfef12b51ad59c7eefc6373f5a6
Reviewed-on: https://chromium-review.googlesource.com/c/1258202
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597127}
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/browser/fileapi/file_system_manager_impl.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/browser/fileapi/file_system_manager_impl.h
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/browser/renderer_interface_binders.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/renderer/BUILD.gn
[delete] https://crrev.com/5e7ff6c303b15be77d2f3e0a062ef9c8f8cd4450/content/renderer/fileapi/OWNERS
[delete] https://crrev.com/5e7ff6c303b15be77d2f3e0a062ef9c8f8cd4450/content/renderer/fileapi/file_system_dispatcher.cc
[delete] https://crrev.com/5e7ff6c303b15be77d2f3e0a062ef9c8f8cd4450/content/renderer/fileapi/file_system_dispatcher.h
[delete] https://crrev.com/5e7ff6c303b15be77d2f3e0a062ef9c8f8cd4450/content/renderer/fileapi/webfilesystem_impl.cc
[delete] https://crrev.com/5e7ff6c303b15be77d2f3e0a062ef9c8f8cd4450/content/renderer/fileapi/webfilesystem_impl.h
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/renderer/pepper/pepper_file_system_host.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/content/renderer/renderer_blink_platform_impl.h
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/public/BUILD.gn
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/public/mojom/filesystem/file_system.mojom
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/public/platform/platform.h
[delete] https://crrev.com/5e7ff6c303b15be77d2f3e0a062ef9c8f8cd4450/third_party/blink/public/platform/web_file_system.h
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/public/web/web_dom_file_system.h
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/dom_file_system.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/dom_file_system_base.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/dom_file_system_base.h
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/dom_file_system_sync.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.h
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/file_system_file_handle.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/file_writer.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/file_writer_sync.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/file_writer_sync.h
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/local_file_system.cc
[modify] https://crrev.com/87907405436d5de2ac42ce47b5f63f7dc1c69ec5/third_party/blink/renderer/modules/filesystem/local_file_system.h

Project Member

Comment 30 by bugdroid1@chromium.org, Oct 9

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

commit 6e332ced400a15ca9247c97ba36f801aed25909b
Author: Marijn Kruisselbrink <mek@chromium.org>
Date: Tue Oct 09 22:58:36 2018

[FileSystem] Get rid of some abstraction layers for recently added methods.

Now that FileSystem is onion souped it is easier to just call the mojom
methods directly instead of going through several layers of indirection.

Bug: 787281
Change-Id: Ia92ff56c2de354dcce918537d901a9b8dcef4218
Reviewed-on: https://chromium-review.googlesource.com/c/1244824
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598117}
[modify] https://crrev.com/6e332ced400a15ca9247c97ba36f801aed25909b/third_party/blink/renderer/modules/filesystem/dom_window_file_system.cc
[modify] https://crrev.com/6e332ced400a15ca9247c97ba36f801aed25909b/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.cc
[modify] https://crrev.com/6e332ced400a15ca9247c97ba36f801aed25909b/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.h
[modify] https://crrev.com/6e332ced400a15ca9247c97ba36f801aed25909b/third_party/blink/renderer/modules/filesystem/file_system_file_handle.cc
[modify] https://crrev.com/6e332ced400a15ca9247c97ba36f801aed25909b/third_party/blink/renderer/modules/filesystem/local_file_system.cc
[modify] https://crrev.com/6e332ced400a15ca9247c97ba36f801aed25909b/third_party/blink/renderer/modules/filesystem/local_file_system.h

Project Member

Comment 31 by bugdroid1@chromium.org, Oct 17

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

commit f59319ec24cd5040e017540148387e4258f75545
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Wed Oct 17 13:55:34 2018

[FileSystem] Remove operation ptr after write is complete

This behavior was accidentally lost when onion souping and caused a
memory leak.

Bug: 891018, 787281
Change-Id: Ib41155660b72548582f809e75c7ca3c596234b65
Reviewed-on: https://chromium-review.googlesource.com/c/1284391
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600377}
[modify] https://crrev.com/f59319ec24cd5040e017540148387e4258f75545/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.cc
[modify] https://crrev.com/f59319ec24cd5040e017540148387e4258f75545/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.h

Project Member

Comment 32 by bugdroid1@chromium.org, Oct 19

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

commit 8b3c7dc3b7f02409e9ff675c3b2b81916a2a5ebe
Author: Marijn Kruisselbrink <mek@chromium.org>
Date: Fri Oct 19 07:11:57 2018

[FileSystem] Remove operation ptr after write is complete

This behavior was accidentally lost when onion souping and caused a
memory leak.

TBR=adithyas@chromium.org

(cherry picked from commit f59319ec24cd5040e017540148387e4258f75545)

Bug: 891018, 787281
Change-Id: Ib41155660b72548582f809e75c7ca3c596234b65
Reviewed-on: https://chromium-review.googlesource.com/c/1284391
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#600377}
Reviewed-on: https://chromium-review.googlesource.com/c/1290770
Cr-Commit-Position: refs/branch-heads/3578@{#151}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
[modify] https://crrev.com/8b3c7dc3b7f02409e9ff675c3b2b81916a2a5ebe/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.cc
[modify] https://crrev.com/8b3c7dc3b7f02409e9ff675c3b2b81916a2a5ebe/third_party/blink/renderer/modules/filesystem/file_system_dispatcher.h

Labels: Merge-Merged-71-3578
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/8b3c7dc3b7f02409e9ff675c3b2b81916a2a5ebe

Commit: 8b3c7dc3b7f02409e9ff675c3b2b81916a2a5ebe
Author: mek@chromium.org
Commiter: mek@chromium.org
Date: 2018-10-19 07:11:57 +0000 UTC

[FileSystem] Remove operation ptr after write is complete

This behavior was accidentally lost when onion souping and caused a
memory leak.

TBR=adithyas@chromium.org

(cherry picked from commit f59319ec24cd5040e017540148387e4258f75545)

Bug: 891018, 787281
Change-Id: Ib41155660b72548582f809e75c7ca3c596234b65
Reviewed-on: https://chromium-review.googlesource.com/c/1284391
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#600377}
Reviewed-on: https://chromium-review.googlesource.com/c/1290770
Cr-Commit-Position: refs/branch-heads/3578@{#151}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}

Sign in to add a comment