New issue
Advanced search Search tips

Issue 715677 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Proj-Servicification

Blocking:
issue 598073
issue 611935
issue 754100



Sign in to add a comment

Change how blob URLs are served to avoid dependency on net/

Project Member Reported by jam@chromium.org, Apr 26 2017

Issue description

Currently blobs use a net protocol handler. We're trying to move away from that API as part of the network service effort, since networking would run in a separate process.

Ideally blobs code implements a URLLoaderFactory, and either the renderer talks to it directly or blob system registers its scheme with network service which redirects blob:// requests to it.

More background:
https://docs.google.com/a/chromium.org/document/d/1_ROmusFvd8ATwIZa29-P6Ls5yyLjfld0KvKchVfA84Y/edit?disco=AAAABKKsfaI&usp=comment_email_document

https://docs.google.com/a/chromium.org/document/d/18MPrKYDuRCov_NPRj_KAXaSu4rBwY3r6YqyVAroEwkg/edit?disco=AAAABJnGR5s&usp=comment_email_document
 

Comment 1 by dmu...@chromium.org, Apr 27 2017

Cc: dmu...@chromium.org

Comment 2 by jam@chromium.org, May 23 2017

Cc: mek@chromium.org
Owner: jam@chromium.org
Status: Started (was: Assigned)

Comment 3 by yzshen@chromium.org, May 24 2017

Components: Internals>Network>Service
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 3 2017

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

commit 9354af8d90801db9a5fa621f969dcbf3b185e979
Author: jam <jam@chromium.org>
Date: Sat Jun 03 21:59:41 2017

Add support for reading blobs when using the network service.

For now this only handles frame requests. A future change will add support

BUG= 715677 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2906543002
Cr-Commit-Position: refs/heads/master@{#476903}

[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/BUILD.gn
[add] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/blob_storage/blob_url_loader_factory.cc
[add] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/blob_storage/blob_url_loader_factory.h
[rename] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/blob_storage/blob_url_unittest.cc
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/loader/navigation_url_loader_network_service.cc
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/loader/test_url_loader_client.h
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/storage_partition_impl.h
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/url_loader_factory_getter.cc
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/url_loader_factory_getter.h
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/webui/web_ui_url_loader_factory.cc
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/browser/webui/web_ui_url_loader_factory.h
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/common/BUILD.gn
[rename] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/common/net_adapters.cc
[rename] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/common/net_adapters.h
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/network/BUILD.gn
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/network/DEPS
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/network/url_loader_impl.cc
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/content/test/BUILD.gn
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/storage/browser/BUILD.gn
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/storage/browser/blob/blob_url_request_job.cc
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/storage/browser/blob/blob_url_request_job.h
[modify] https://crrev.com/9354af8d90801db9a5fa621f969dcbf3b185e979/testing/buildbot/filters/mojo.fyi.network_content_browsertests.filter

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 7 2017

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

commit 188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91
Author: jam <jam@chromium.org>
Date: Wed Jun 07 03:56:24 2017

Add support for blob urls for subresources.

BUG= 715677 

Review-Url: https://codereview.chromium.org/2925903004
Cr-Commit-Position: refs/heads/master@{#477539}

[modify] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/content/browser/blob_storage/blob_url_loader_factory.cc
[modify] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/content/browser/blob_storage/blob_url_loader_factory.h
[modify] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/content/browser/url_loader_factory_getter.cc
[modify] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/content/common/BUILD.gn
[add] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/content/common/renderer_host.mojom
[modify] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/content/renderer/render_thread_impl.h
[modify] https://crrev.com/188f19f9e26e879ac7aab7ac4bc54ba8cc57eb91/testing/buildbot/filters/mojo.fyi.network_content_browsertests.filter

Comment 6 by jam@chromium.org, Jun 7 2017

Status: Fixed (was: Started)
Project Member

Comment 7 by bugdroid1@chromium.org, Jun 13 2017

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

commit fdf52023f531d3bb73459e021a243d5aae076de7
Author: jam <jam@chromium.org>
Date: Tue Jun 13 23:56:36 2017

Run BlobURLRequestJobTest tests with BlobURLRequestJob and BlobURLLoader.

BUG= 715677 

Review-Url: https://codereview.chromium.org/2940603003
Cr-Commit-Position: refs/heads/master@{#479212}

[modify] https://crrev.com/fdf52023f531d3bb73459e021a243d5aae076de7/content/browser/blob_storage/blob_url_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 1 2017

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

commit 0a93a93d8be209f9f6143be2644f42dec4b2357a
Author: John Abd-El-Malek <jam@chromium.org>
Date: Tue Aug 01 01:36:21 2017

Enable blob layout tests with network service.

BUG= 715677 
TBR=mek@chromium.org

Change-Id: Iae3a3d1eaaaf3b24c3d1e828c38cd06137dca991
Reviewed-on: https://chromium-review.googlesource.com/595190
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490832}
[modify] https://crrev.com/0a93a93d8be209f9f6143be2644f42dec4b2357a/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 1 2017

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

commit 478a931a8ef1833bf23100fab0a3035f1f317d9d
Author: Matt Menke <mmenke@chromium.org>
Date: Tue Aug 01 17:17:50 2017

Disable http/tests/fetch/serviceworker/thorough/scheme-blob-base-https-other-https.html

This was enabled in https://chromium-review.googlesource.com/c/595190,
but it's failing on the bots.

TBR=jam@chromium.org
NOTRY=true

Bug:  715677 
Change-Id: I5afaf63f79c7dba3ad5716655fb18bc09655d60d
Reviewed-on: https://chromium-review.googlesource.com/596189
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491032}
[modify] https://crrev.com/478a931a8ef1833bf23100fab0a3035f1f317d9d/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService

Comment 10 by jam@chromium.org, Aug 10 2017

Blocking: 754100
Components: -Internals>Network>Service Internals>Services>Network
Apologies, applied the wrong component in bulk.
Components: Internals>Services>Storage
Setting Internals>Services>Storage to all children of issue 611935

Sign in to add a comment