It's a combination of abstraction over base::FilePath (which can be used in platform/) and Mojo calls to FileUtilitiesHost (which can be made directly in Blink).
First part landed here: https://chromium.googlesource.com/chromium/src/+/3ec605eb150d9c691af0b0f139d7b62739e1fdd5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24 commit 8360f4d1a1bc3ab672cea9a25e7e0d6face89b24 Author: Jeremy Roman <jbroman@chromium.org> Date: Thu Apr 26 14:45:18 2018 Remove blink::WebFileUtilities, and connect to the FileUtilitiesHost directly. This requires moving the mojom definition into Blink, but removes the similar function from the C++ Blink API and dramatically shrinks the LOC here. Bug: 835337 Change-Id: I3d64c3a2f6439ec6c121417c28787c50af3838bb Reviewed-on: https://chromium-review.googlesource.com/1020378 Commit-Queue: Jeremy Roman <jbroman@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Cr-Commit-Position: refs/heads/master@{#554023} [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/content/browser/renderer_host/file_utilities_host_impl.cc [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/content/browser/renderer_host/file_utilities_host_impl.h [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/content/common/BUILD.gn [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/content/ppapi_plugin/ppapi_blink_platform_impl.cc [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/content/ppapi_plugin/ppapi_blink_platform_impl.h [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/content/public/app/mojo/content_browser_manifest.json [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/content/renderer/BUILD.gn [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/content/renderer/renderer_blink_platform_impl.h [delete] https://crrev.com/081e02da202cd7394d4fdc2b47f0a6b4fb1957b7/content/renderer/webfileutilities_impl.cc [delete] https://crrev.com/081e02da202cd7394d4fdc2b47f0a6b4fb1957b7/content/renderer/webfileutilities_impl.h [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/content/test/test_blink_web_unit_test_support.cc [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/content/test/test_blink_web_unit_test_support.h [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/third_party/blink/public/mojom/BUILD.gn [add] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/third_party/blink/public/mojom/file/OWNERS [rename] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/third_party/blink/public/mojom/file/file_utilities.mojom [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/third_party/blink/public/platform/platform.h [delete] https://crrev.com/081e02da202cd7394d4fdc2b47f0a6b4fb1957b7/third_party/blink/public/platform/web_file_utilities.h [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/third_party/blink/renderer/platform/file_metadata.cc [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/third_party/blink/renderer/platform/mojo/blink_typemaps.gni [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/third_party/blink/renderer/platform/testing/testing_platform_support.cc [modify] https://crrev.com/8360f4d1a1bc3ab672cea9a25e7e0d6face89b24/third_party/blink/renderer/platform/testing/testing_platform_support.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f4215859085f9e6bcb8de36b7fdae103ac9defd3 commit f4215859085f9e6bcb8de36b7fdae103ac9defd3 Author: Jeremy Roman <jbroman@chromium.org> Date: Thu Apr 26 15:18:20 2018 Revert "Remove blink::WebFileUtilities, and connect to the FileUtilitiesHost directly." This reverts commit 8360f4d1a1bc3ab672cea9a25e7e0d6face89b24. Reason for revert: broke compile by conflicting with WTF::Optional removal Original change's description: > Remove blink::WebFileUtilities, and connect to the FileUtilitiesHost directly. > > This requires moving the mojom definition into Blink, but removes the > similar function from the C++ Blink API and dramatically shrinks the > LOC here. > > Bug: 835337 > Change-Id: I3d64c3a2f6439ec6c121417c28787c50af3838bb > Reviewed-on: https://chromium-review.googlesource.com/1020378 > Commit-Queue: Jeremy Roman <jbroman@chromium.org> > Reviewed-by: Kentaro Hara <haraken@chromium.org> > Reviewed-by: Daniel Cheng <dcheng@chromium.org> > Reviewed-by: John Abd-El-Malek <jam@chromium.org> > Cr-Commit-Position: refs/heads/master@{#554023} TBR=dcheng@chromium.org,jam@chromium.org,jbroman@chromium.org,haraken@chromium.org Change-Id: I2ae12abc62fc675c109d1ad93bd4a3aa949a09f3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 835337 Reviewed-on: https://chromium-review.googlesource.com/1030573 Reviewed-by: Jeremy Roman <jbroman@chromium.org> Commit-Queue: Jeremy Roman <jbroman@chromium.org> Cr-Commit-Position: refs/heads/master@{#554034} [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/browser/renderer_host/file_utilities_host_impl.cc [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/browser/renderer_host/file_utilities_host_impl.h [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/common/BUILD.gn [rename] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/common/file_utilities.mojom [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/ppapi_plugin/ppapi_blink_platform_impl.cc [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/ppapi_plugin/ppapi_blink_platform_impl.h [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/public/app/mojo/content_browser_manifest.json [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/renderer/BUILD.gn [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/renderer/renderer_blink_platform_impl.h [add] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/renderer/webfileutilities_impl.cc [add] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/renderer/webfileutilities_impl.h [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/test/test_blink_web_unit_test_support.cc [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/content/test/test_blink_web_unit_test_support.h [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/third_party/blink/public/mojom/BUILD.gn [delete] https://crrev.com/4cf64e1869a6e4e64359e2fd9ae052241c6470d9/third_party/blink/public/mojom/file/OWNERS [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/third_party/blink/public/platform/platform.h [add] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/third_party/blink/public/platform/web_file_utilities.h [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/third_party/blink/renderer/platform/file_metadata.cc [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/third_party/blink/renderer/platform/mojo/blink_typemaps.gni [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/third_party/blink/renderer/platform/testing/testing_platform_support.cc [modify] https://crrev.com/f4215859085f9e6bcb8de36b7fdae103ac9defd3/third_party/blink/renderer/platform/testing/testing_platform_support.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/89a4d0deb13dede17281731cad1c1520e3b4597f commit 89a4d0deb13dede17281731cad1c1520e3b4597f Author: Jeremy Roman <jbroman@chromium.org> Date: Thu Apr 26 19:05:28 2018 Reland "Remove blink::WebFileUtilities, and connect to the FileUtilitiesHost directly." This is a reland of 8360f4d1a1bc3ab672cea9a25e7e0d6face89b24 Original change's description: > Remove blink::WebFileUtilities, and connect to the FileUtilitiesHost directly. > > This requires moving the mojom definition into Blink, but removes the > similar function from the C++ Blink API and dramatically shrinks the > LOC here. > > Bug: 835337 > Change-Id: I3d64c3a2f6439ec6c121417c28787c50af3838bb > Reviewed-on: https://chromium-review.googlesource.com/1020378 > Commit-Queue: Jeremy Roman <jbroman@chromium.org> > Reviewed-by: Kentaro Hara <haraken@chromium.org> > Reviewed-by: Daniel Cheng <dcheng@chromium.org> > Reviewed-by: John Abd-El-Malek <jam@chromium.org> > Cr-Commit-Position: refs/heads/master@{#554023} Bug: 835337 Tbr: haraken@chromium.org,jam@chromium.org,dcheng@chromium.org No-Presubmit: true Change-Id: I0db3c58ee9a4230003b9c609a5ed5f4331f1f012 Reviewed-on: https://chromium-review.googlesource.com/1030574 Commit-Queue: Jeremy Roman <jbroman@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Jeremy Roman <jbroman@chromium.org> Cr-Commit-Position: refs/heads/master@{#554108} [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/content/browser/renderer_host/file_utilities_host_impl.cc [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/content/browser/renderer_host/file_utilities_host_impl.h [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/content/common/BUILD.gn [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/content/ppapi_plugin/ppapi_blink_platform_impl.cc [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/content/ppapi_plugin/ppapi_blink_platform_impl.h [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/content/public/app/mojo/content_browser_manifest.json [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/content/renderer/BUILD.gn [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/content/renderer/renderer_blink_platform_impl.h [delete] https://crrev.com/4fecf9b4d42da42f8a80c0e9c8987e47dafcbda7/content/renderer/webfileutilities_impl.cc [delete] https://crrev.com/4fecf9b4d42da42f8a80c0e9c8987e47dafcbda7/content/renderer/webfileutilities_impl.h [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/content/test/test_blink_web_unit_test_support.cc [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/content/test/test_blink_web_unit_test_support.h [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/third_party/blink/public/mojom/BUILD.gn [add] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/third_party/blink/public/mojom/file/OWNERS [rename] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/third_party/blink/public/mojom/file/file_utilities.mojom [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/third_party/blink/public/platform/platform.h [delete] https://crrev.com/4fecf9b4d42da42f8a80c0e9c8987e47dafcbda7/third_party/blink/public/platform/web_file_utilities.h [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/third_party/blink/renderer/platform/file_metadata.cc [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/third_party/blink/renderer/platform/mojo/blink_typemaps.gni [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/third_party/blink/renderer/platform/testing/testing_platform_support.cc [modify] https://crrev.com/89a4d0deb13dede17281731cad1c1520e3b4597f/third_party/blink/renderer/platform/testing/testing_platform_support.h
Comment 1 by jbroman@chromium.org
, Apr 20 2018