New issue
Advanced search Search tips

Issue 807435 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug

Blocking:
issue 800986



Sign in to add a comment

Revoking a blob URL from a different context than the context that created it should work.

Project Member Reported by mek@chromium.org, Jan 30 2018

Issue description

As long as both contexts are same origin it should be possible to revoke a blob URL from a different context than the context that created it.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 9 2018

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

commit 20c2e2937980e39373edc4446369c7410aa38585
Author: Marijn Kruisselbrink <mek@chromium.org>
Date: Fri Feb 09 22:07:57 2018

[Mojo Blob URLs] Refactor Blob URL loading for subresources.

This changes the XHR and fetch codepaths to resolve blob URLs earlier
(i.e when the request is created rather than when the fetch is made), in
order to fix bugs where the blob URL is revoked after creating a request
but before fetching.

This also addresses race conditions between revoking blob URLs and
fetching them by resolving a blob URL as soon as possible for subresource
requests.

Not addressed yet are navigation and download requests, that will be
done in follow ups.

Bug: 800901, 800898,  695031 , 807435
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: Ifd5eb11abaf04c091c51e607fdaeafa0c89bc1a9
Reviewed-on: https://chromium-review.googlesource.com/893606
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535845}
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/content/renderer/renderer_blink_platform_impl.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/content/renderer/service_worker/service_worker_fetch_context_impl.cc
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/content/renderer/service_worker/service_worker_fetch_context_impl.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/content/renderer/service_worker/worker_fetch_context_impl.cc
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/content/renderer/service_worker/worker_fetch_context_impl.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/LayoutTests/NeverFixTests
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/LayoutTests/virtual/mojo-blob-urls/external/wpt/FileAPI/url/README.txt
[add] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/LayoutTests/virtual/mojo-blob-urls/external/wpt/FileAPI/url/cross-global-revoke.sub-expected.txt
[add] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/LayoutTests/virtual/mojo-blob-urls/external/wpt/FileAPI/url/url-with-fetch.any-expected.txt
[add] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/LayoutTests/virtual/mojo-blob-urls/external/wpt/FileAPI/url/url-with-xhr.any-expected.txt
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/fetch/FetchManager.cpp
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/fetch/FetchRequestData.cpp
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/fetch/FetchRequestData.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/fetch/Request.cpp
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/fileapi/PublicURLManager.cpp
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/fileapi/PublicURLManager.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/loader/FrameFetchContext.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/loader/WorkerFetchContext.cpp
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/loader/WorkerFetchContext.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.cpp
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/platform/blob/BUILD.gn
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/platform/loader/BUILD.gn
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/platform/loader/fetch/FetchContext.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/platform/loader/fetch/ResourceLoaderOptions.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Source/platform/loader/testing/MockFetchContext.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/Tools/Scripts/audit-non-blink-usage.py
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/public/platform/Platform.h
[modify] https://crrev.com/20c2e2937980e39373edc4446369c7410aa38585/third_party/WebKit/public/platform/WebWorkerFetchContext.h

Components: Blink>Storage>FileAPI
Components: -Blink>FileAPI

Sign in to add a comment