without the network service, such a navigation will work if it results in a download, e.g., when you have a filesystem URL pointing to an .exe file, it'll be downloaded. With the network service, it fails the navigation.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b commit f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b Author: Jochen Eisinger <jochen@chromium.org> Date: Tue Jan 02 14:30:18 2018 Use navigation for <a download> We pass the suggested filename along with the request and use that as a signal that the navigation should result in a download. The next step will be to ignore this hint for cross origin downloads, so that only files with a content-disposition will end up being downloaded. Bug: 714373 , 797292 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo;master.tryserver.chromium.linux:linux_site_isolation Change-Id: I508d7abe1cba9b75d65132b0688984cdebfc6fd4 Reviewed-on: https://chromium-review.googlesource.com/758236 Commit-Queue: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Camille Lamy <clamy@chromium.org> Reviewed-by: Jialiu Lin <jialiul@chromium.org> Reviewed-by: Mike West <mkwst@chromium.org> Reviewed-by: Min Qin(OOO 12/7-1/10) <qinmin@chromium.org> Cr-Commit-Position: refs/heads/master@{#526475} [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/chrome/browser/apps/guest_view/web_view_browsertest.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/chrome/browser/download/download_browsertest.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/chrome/browser/extensions/api/web_navigation/web_navigation_apitest.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/chrome/browser/safe_browsing/safe_browsing_navigation_observer_browsertest.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/chrome/test/data/extensions/api_test/webnavigation/download/test_download.js [add] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/chrome/test/data/extensions/platform_apps/web_view/download/expect-allow.zip [add] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/chrome/test/data/extensions/platform_apps/web_view/download/expect-deny.zip [add] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/chrome/test/data/extensions/platform_apps/web_view/download/expect-ignore.zip [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/browser_side_navigation_browsertest.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/devtools/devtools_url_interceptor_request_job.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/download/download_browsertest.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/download/download_manager_impl.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/download/download_manager_impl.h [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/download/download_request_core.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/download/resource_downloader.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/download/resource_downloader.h [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/frame_host/navigation_request.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/loader/mime_sniffing_resource_handler.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/loader/navigation_url_loader_network_service.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/loader/navigation_url_loader_network_service.h [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/loader/navigation_url_loader_network_service_unittest.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/loader/navigation_url_loader_unittest.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/loader/resource_dispatcher_host_impl.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/loader/resource_dispatcher_host_unittest.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/loader/resource_request_info_impl.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/browser/loader/resource_request_info_impl.h [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/common/navigation_params.mojom [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/public/test/navigation_simulator.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/renderer/render_frame_impl.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/shell/test_runner/test_runner.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/shell/test_runner/web_frame_test_client.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/test/data/download/download-attribute-blob.html [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/content/test/test_render_frame_host.cc [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/editing/pasteboard/drag-files-to-editable-element-expected.txt [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/editing/pasteboard/drag-files-to-editable-element.html [add] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-area-element/area-download-click-expected.txt [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-area-element/area-download-click.html [add] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-area-element/resources/area-download-click.html [add] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/text-level-semantics/the-a-element/a-download-click-404-expected.txt [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/text-level-semantics/the-a-element/a-download-click-404.html [add] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/text-level-semantics/the-a-element/a-download-click-expected.txt [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/text-level-semantics/the-a-element/a-download-click.html [add] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/text-level-semantics/the-a-element/resources/a-download-click.html [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/fast/events/drag-file-crash.html [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/fast/events/resources/drag-file-crash-pass.html [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/LayoutTests/http/tests/security/upgrade-insecure-requests/https-header-top-level.html [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/Source/core/loader/FrameLoader.cpp [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/Source/platform/exported/WebURLRequest.cpp [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.cpp [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.h [modify] https://crrev.com/f2d2fe87028de36a489f7db3f5fb28da2e9d9b2b/third_party/WebKit/public/platform/WebURLRequest.h
Issue 817134 has been merged into this issue.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ef8a99cba301276aa64d628cd683be9c142e6335 commit ef8a99cba301276aa64d628cd683be9c142e6335 Author: Chris Mumford <cmumford@chromium.org> Date: Thu Mar 15 16:09:10 2018 FileSystem: Add move constructor/operator for FileSystemURL. This is not strictly required for issue 797292 (filesystem: support with network service), but it should make that implementation slightly more efficient and better to land in its own CL. Bug: 797292 Change-Id: Ia6a20ded0f0c414d632530805bc3ae3eb3053328 Reviewed-on: https://chromium-review.googlesource.com/960922 Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org> Commit-Queue: Chris Mumford <cmumford@chromium.org> Cr-Commit-Position: refs/heads/master@{#543380} [modify] https://crrev.com/ef8a99cba301276aa64d628cd683be9c142e6335/storage/browser/fileapi/file_system_url.cc [modify] https://crrev.com/ef8a99cba301276aa64d628cd683be9c142e6335/storage/browser/fileapi/file_system_url.h [modify] https://crrev.com/ef8a99cba301276aa64d628cd683be9c142e6335/storage/browser/fileapi/file_system_url_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0f7ed208c67aebb227a68f72cf0e7efabcfd3d56 commit 0f7ed208c67aebb227a68f72cf0e7efabcfd3d56 Author: Chris Mumford <cmumford@chromium.org> Date: Tue Apr 10 17:47:02 2018 FileSystemContext::AttemptAutoMountForURLRequest passing struct. Previously FileSystemContext::AttemptAutoMountForURLRequest passed a net::URLRequest pointer to the automount handlers. In order to support the network service this change switches to passing a FileSystemRequestInfo structure containing the original request (for legacy network operations), and a |content_id| for use by the network service. Bug: 797292 Change-Id: I6b09875e9f6ff46e7a10e575ffd0bf2c60f3880d Reviewed-on: https://chromium-review.googlesource.com/955663 Commit-Queue: Chris Mumford <cmumford@chromium.org> Reviewed-by: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#549581} [modify] https://crrev.com/0f7ed208c67aebb227a68f72cf0e7efabcfd3d56/chrome/browser/media_galleries/fileapi/media_file_system_backend.cc [modify] https://crrev.com/0f7ed208c67aebb227a68f72cf0e7efabcfd3d56/chrome/browser/media_galleries/fileapi/media_file_system_backend.h [modify] https://crrev.com/0f7ed208c67aebb227a68f72cf0e7efabcfd3d56/storage/browser/fileapi/file_system_context.cc [modify] https://crrev.com/0f7ed208c67aebb227a68f72cf0e7efabcfd3d56/storage/browser/fileapi/file_system_context.h [modify] https://crrev.com/0f7ed208c67aebb227a68f72cf0e7efabcfd3d56/storage/browser/fileapi/file_system_dir_url_request_job.cc [modify] https://crrev.com/0f7ed208c67aebb227a68f72cf0e7efabcfd3d56/storage/browser/fileapi/file_system_dir_url_request_job_unittest.cc [modify] https://crrev.com/0f7ed208c67aebb227a68f72cf0e7efabcfd3d56/storage/browser/fileapi/file_system_url_request_job.cc [modify] https://crrev.com/0f7ed208c67aebb227a68f72cf0e7efabcfd3d56/storage/browser/fileapi/file_system_url_request_job_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/942075ad5f7a44858f267523b134c3adc1c50af7 commit 942075ad5f7a44858f267523b134c3adc1c50af7 Author: Chris Mumford <cmumford@chromium.org> Date: Sat May 19 00:22:04 2018 Implemented filesystem:// with the network service. Bug: 797292 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo Change-Id: If5e18eb719ea282861ac82d89b0ec7e999dcfde8 Reviewed-on: https://chromium-review.googlesource.com/982752 Commit-Queue: Chris Mumford <cmumford@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: Chris Mumford <cmumford@chromium.org> Reviewed-by: Daniel Murphy <dmurph@chromium.org> Cr-Commit-Position: refs/heads/master@{#560115} [modify] https://crrev.com/942075ad5f7a44858f267523b134c3adc1c50af7/content/browser/BUILD.gn [add] https://crrev.com/942075ad5f7a44858f267523b134c3adc1c50af7/content/browser/fileapi/file_system_url_loader_factory.cc [add] https://crrev.com/942075ad5f7a44858f267523b134c3adc1c50af7/content/browser/fileapi/file_system_url_loader_factory.h [add] https://crrev.com/942075ad5f7a44858f267523b134c3adc1c50af7/content/browser/fileapi/file_system_url_loader_factory_browsertest.cc [modify] https://crrev.com/942075ad5f7a44858f267523b134c3adc1c50af7/content/browser/frame_host/render_frame_host_impl.cc [modify] https://crrev.com/942075ad5f7a44858f267523b134c3adc1c50af7/content/browser/loader/navigation_url_loader_impl.cc [modify] https://crrev.com/942075ad5f7a44858f267523b134c3adc1c50af7/content/browser/network_service_browsertest.cc [modify] https://crrev.com/942075ad5f7a44858f267523b134c3adc1c50af7/content/test/BUILD.gn [modify] https://crrev.com/942075ad5f7a44858f267523b134c3adc1c50af7/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter [modify] https://crrev.com/942075ad5f7a44858f267523b134c3adc1c50af7/testing/buildbot/filters/mojo.fyi.network_content_browsertests.filter [modify] https://crrev.com/942075ad5f7a44858f267523b134c3adc1c50af7/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4c999b6344a3a2d1bd8dbdd09f83d4499453d336 commit 4c999b6344a3a2d1bd8dbdd09f83d4499453d336 Author: John Abd-El-Malek <jam@chromium.org> Date: Fri Aug 10 20:58:37 2018 Enable some more passing browser tests with network service. Bug: 797292 , 859594 Cq-Include-Trybots: luci.chromium.try:linux_mojo Change-Id: Id4e90f0ebdf5ac172b12c92d80b54348125bc883 Reviewed-on: https://chromium-review.googlesource.com/1171556 Reviewed-by: Chris Mumford <cmumford@chromium.org> Commit-Queue: John Abd-El-Malek <jam@chromium.org> Cr-Commit-Position: refs/heads/master@{#582328} [modify] https://crrev.com/4c999b6344a3a2d1bd8dbdd09f83d4499453d336/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter
Comment 1 by bugdroid1@chromium.org
, Jan 2 2018