New issue
Advanced search Search tips

Issue 704032 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Make Data URL processing consistent

Project Member Reported by hirosh...@chromium.org, Mar 22 2017

Issue description

Fetching data: URLs is handled in at least three different code paths:
- Synchronous path via ResourceFetcher::resourceForStaticData()
- Asynchronous path inside the renderer process via WebURLLoaderImpl
- Asynchronous path via the browser process via WebURLLoaderImpl and URLRequestDataJob
And there are inconsistencies between them.

Investidation doc I made before:
https://docs.google.com/drawings/d/1AYFtepdOQpsQ3L7M_-Aqy4s7Z3dVx7xaJ_GXOStSgTE/edit

 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 23 2017

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

commit 5b0d721fcc5ac7f22db722c7514a52acf8b661ea
Author: hiroshige <hiroshige@chromium.org>
Date: Thu Mar 23 08:33:02 2017

Set the same headers for data URLs in WebURLLoaderImpl and ResourceFetcher

Response headers are appended by net::URLRequestDataJob::BuildResponse()
when WebURLLoaderImpl returns data URL response in a renderer process,
but not when ResourceFetcher returns data URL response synchronously by
ResourceFetcher::resourceForStaticData().

This CL makes the response headers to be added in both cases, by making
NetworkUtils::parseDataURL() (that is used from resourceForStaticData())
to call net::URLRequestDataJob::BuildResponse() and set response headers.

BUG=704032

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

[modify] https://crrev.com/5b0d721fcc5ac7f22db722c7514a52acf8b661ea/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
[modify] https://crrev.com/5b0d721fcc5ac7f22db722c7514a52acf8b661ea/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcherTest.cpp
[modify] https://crrev.com/5b0d721fcc5ac7f22db722c7514a52acf8b661ea/third_party/WebKit/Source/platform/network/DEPS
[modify] https://crrev.com/5b0d721fcc5ac7f22db722c7514a52acf8b661ea/third_party/WebKit/Source/platform/network/NetworkUtils.cpp
[modify] https://crrev.com/5b0d721fcc5ac7f22db722c7514a52acf8b661ea/third_party/WebKit/Source/platform/network/NetworkUtils.h

Project Member

Comment 2 by sheriffbot@chromium.org, Mar 28 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 3 by kouhei@chromium.org, Apr 13 2018

Status: Available (was: Untriaged)

Sign in to add a comment