|
|
Created:
6 years, 7 months ago by tyoshino (SeeGerritForStatus) Modified:
6 years, 3 months ago CC:
chromium-reviews, darin-cc_chromium.org, jam, eseidel, sof, abarth-chromium, willchan no longer on Chromium, eroman Base URL:
svn://svn.chromium.org/chrome/trunk/src Visibility:
Public. |
DescriptionSet response headers for data URL.
Resources represented by a data URL will stay being considered to be
unique origin resource but are changed to allow cross origin access by
the Access-Control-Allow-Origin header.
We take this approach mainly because we want scripts in an iframe with
a data URL specified to its src attribute to be executed as a script on
a unique origin resource, not on the parent frame.
We can choose to treat "loading" of data URL specially as same origin
while execution as different origin. But such an approach complicates
security policy checking algorithm.
Grammar checking code is added to ensure we emit a valid content-type.
Blink side CL https://codereview.chromium.org/54173002/ will be landed
first to temporarily disable layout tests that will break, and then
this CL will be landed.
BUG=308768
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=291007
Committed: https://crrev.com/05a2bf0bb57be3e4a180d5709703eef4b121ff3f
Cr-Commit-Position: refs/heads/master@{#294107}
Patch Set 1 #
Total comments: 12
Patch Set 2 : Addressed #7 #Patch Set 3 : #Patch Set 4 : #Patch Set 5 : #
Total comments: 4
Patch Set 6 : Addressed #10 #
Total comments: 1
Patch Set 7 : Rebase #Patch Set 8 : Addressing #13 #Patch Set 9 : #Patch Set 10 : #Patch Set 11 : #Patch Set 12 : #
Total comments: 4
Patch Set 13 : Addressed #19 #
Total comments: 4
Patch Set 14 : Addressed #21 #Patch Set 15 : Remove GURL decl #Patch Set 16 : Rebase #Patch Set 17 : Add LICENSE boilerplate #Patch Set 18 : Remove time.h #Patch Set 19 : Remove GURL forward declaration #Patch Set 20 : Add NET_EXPORT #Patch Set 21 : Rebased for reland #Patch Set 22 : Rebased on https://codereview.chromium.org/480413007/ #Patch Set 23 : #Patch Set 24 : Rebase #Patch Set 25 : #
Messages
Total messages: 60 (1 generated)
This change was originally reviewed at https://codereview.chromium.org/54233002/ Since the change in net/ is useful regardless of this change, I've submitted it and moved content/ changes here.
None of the listed reviewers are content/ owners: https://chromium.googlesource.com/chromium/src/+/master/content/OWNERS
On 2014/05/22 17:35:41, eseidel wrote: > None of the listed reviewers are content/ owners: > https://chromium.googlesource.com/chromium/src/+/master/content/OWNERS I added you as this change originated from Blink side change and you were discussing this with abarth@ to figure out this solution (right?). Yes, added jam@.
Darin would be a better reviewer to know about side-effects of this change.
There are quite a few net owners. Maybe willchan has more cycles than darin? https://code.google.com/p/chromium/codesearch#chromium/src/net/OWNERS&q=net/O...
Hmm, willchan is traveling. Maybe eroman is available for consult? I get the impression we're mostly looking for a net-consult and then any content/OWNER can approve change?
lgtm https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... File content/child/web_url_loader_impl.cc (right): https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl.cc:88: // quoted-string since it's an attibute value of media type. But charset in attitbute --> attribute https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl.cc:96: *error_code = net::OK; [optional] Seems like GetInfoFromDataURL() could be returning an into instead of a bool, since this is always set https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... File content/child/web_url_loader_impl_unittest.cc (right): https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl_unittest.cc:18: GetInfoFromDataURL(GURL("data:,Hello"), &info, &data, &error_code); Verify that this returned true. https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl_unittest.cc:53: GetInfoFromDataURL(GURL("bogus"), &info, &data, &error_code); Verify that this returned false. https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl_unittest.cc:62: GetInfoFromDataURL(GURL("data:f(o/b)r,test"), &info, &data, &error_code); Verify that this returned false https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl_unittest.cc:71: GetInfoFromDataURL( Verify that returned false
Thanks https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... File content/child/web_url_loader_impl.cc (right): https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl.cc:88: // quoted-string since it's an attibute value of media type. But charset in On 2014/05/29 01:23:26, eroman wrote: > attitbute --> attribute Done. https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl.cc:96: *error_code = net::OK; On 2014/05/29 01:23:26, eroman wrote: > [optional] Seems like GetInfoFromDataURL() could be returning an into instead of > a bool, since this is always set Done. https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... File content/child/web_url_loader_impl_unittest.cc (right): https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl_unittest.cc:18: GetInfoFromDataURL(GURL("data:,Hello"), &info, &data, &error_code); On 2014/05/29 01:23:26, eroman wrote: > Verify that this returned true. Done. https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl_unittest.cc:53: GetInfoFromDataURL(GURL("bogus"), &info, &data, &error_code); On 2014/05/29 01:23:26, eroman wrote: > Verify that this returned false. Done. https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl_unittest.cc:62: GetInfoFromDataURL(GURL("data:f(o/b)r,test"), &info, &data, &error_code); On 2014/05/29 01:23:26, eroman wrote: > Verify that this returned false Done. https://codereview.chromium.org/294193002/diff/1/content/child/web_url_loader... content/child/web_url_loader_impl_unittest.cc:71: GetInfoFromDataURL( On 2014/05/29 01:23:26, eroman wrote: > Verify that returned false Done.
jam@, review by eroman@ from net should be enough. Could you please take a look again?
https://codereview.chromium.org/294193002/diff/80001/content/child/web_url_lo... File content/child/web_url_loader_impl.cc (right): https://codereview.chromium.org/294193002/diff/80001/content/child/web_url_lo... content/child/web_url_loader_impl.cc:74: if (!net::DataURL::Parse(url, &mime_type, &charset, data)) Keep in mind that for navigations to data: URL, we actually skip this code. Instead, we use this code: https://code.google.com/p/chromium/codesearch#chromium/src/net/url_request/ur... I don't know if that matters. Maybe you want to do the same change there as well just for future proof'ness? https://codereview.chromium.org/294193002/diff/80001/content/child/web_url_lo... content/child/web_url_loader_impl.cc:87: if (!net::HttpUtil::IsToken(charset)) perhaps this check should be performed by net::DataURL::Parse? there are other callers of net::DataURL::Parse, and shouldn't they have the similar IsToken check?
https://codereview.chromium.org/294193002/diff/80001/content/child/web_url_lo... File content/child/web_url_loader_impl.cc (right): https://codereview.chromium.org/294193002/diff/80001/content/child/web_url_lo... content/child/web_url_loader_impl.cc:74: if (!net::DataURL::Parse(url, &mime_type, &charset, data)) On 2014/06/02 16:49:25, darin wrote: > Keep in mind that for navigations to data: URL, we actually skip this code. > Instead, we use this code: > https://code.google.com/p/chromium/codesearch#chromium/src/net/url_request/ur... > > I don't know if that matters. Maybe you want to do the same change there as well > just for future proof'ness? Thanks for the pointer, Darin. Once IsToken check below is moved to DataURL::Parse, we have nothing to do on URLRequestDataJob, I guess. It seems the access control headers are not needed for the other use cases. Updating URLRequestDataJob and URLRequestSimpleJob requires some more work. We could do it in the future if needed. https://codereview.chromium.org/294193002/diff/80001/content/child/web_url_lo... content/child/web_url_loader_impl.cc:87: if (!net::HttpUtil::IsToken(charset)) On 2014/06/02 16:49:25, darin wrote: > perhaps this check should be performed by net::DataURL::Parse? there are other > callers of net::DataURL::Parse, and shouldn't they have the similar IsToken > check? It's worth doing for spec compliance. However, it widens impact of this change (lots of DataURL::Parse users).
ping, darin. Thanks
On 2014/06/16 09:33:26, tyoshino wrote: > ping, darin. Thanks It feels risky to make the two data: URL paths different. The code in WebURLLoaderImpl is just an optimization. You should be able to remove it without changing behavior. It seems like there could be code in net/ that takes a data: URL and returns a synthetic HTTP response: mime-type, charset, response headers and payload. DataURL::Parse() is the current workhorse, but it doesn't return a HttpResponseHeaders object. It would probably not make sense for DataURL::Parse() to return response headers since that isn't exactly the result of parsing. There should probably be some other utility function. One idea would be to put a static method on URLRequestDataJob for this purpose.
https://codereview.chromium.org/294193002/diff/100001/content/child/web_url_l... File content/child/web_url_loader_impl.cc (right): https://codereview.chromium.org/294193002/diff/100001/content/child/web_url_l... content/child/web_url_loader_impl.cc:98: headers->AddHeader("Access-Control-Allow-Origin: *"); Could you also add the following line: headers->AddHeader("Access-Control-Allow-Credentials: true"); The spec'd restriction that Credentials: true cannot be used with a wildcard origin has been lifted for non-http(s) URLs with r169391. This allows (web/extension) developers to use data-URIs without worrying whether the use-credentials flag is set for a request. Without this additional header, data-URI requests could be blocked, e.g. in the following example: var x = new XMLHttpRequest(); x.open('GET', 'data:text/plain,xx'); x.withCredentials = true; x.send();
On 2014/07/29 10:44:44, robwu wrote: > https://codereview.chromium.org/294193002/diff/100001/content/child/web_url_l... > File content/child/web_url_loader_impl.cc (right): > > https://codereview.chromium.org/294193002/diff/100001/content/child/web_url_l... > content/child/web_url_loader_impl.cc:98: > headers->AddHeader("Access-Control-Allow-Origin: *"); > Could you also add the following line: > > headers->AddHeader("Access-Control-Allow-Credentials: true"); > > The spec'd restriction that Credentials: true cannot be used with a wildcard > origin has been lifted for non-http(s) URLs with r169391. This allows > (web/extension) developers to use data-URIs without worrying whether the > use-credentials flag is set for a request. Without this additional header, > data-URI requests could be blocked, e.g. in the following example: > > var x = new XMLHttpRequest(); > x.open('GET', 'data:text/plain,xx'); > x.withCredentials = true; > x.send(); Please see - https://codereview.chromium.org/54233002/#msg24 - https://codereview.chromium.org/54233002/#msg25 - https://codereview.chromium.org/54233002/#msg38 after msg38 the CL description was saying that we don't add "Access-Control-Allow-Credentials: true" and the reason. Sorry but it's lost and I don't remember it. Thanks for r169391 but current decision is not to use that. Let's address that later.
On 2014/06/16 18:20:47, darin wrote: > On 2014/06/16 09:33:26, tyoshino wrote: > > ping, darin. Thanks > > It feels risky to make the two data: URL paths different. The code in > WebURLLoaderImpl is just an optimization. You should be able to remove it > without changing behavior. > > It seems like there could be code in net/ that takes a data: URL and returns a > synthetic HTTP response: mime-type, charset, response headers and payload. > DataURL::Parse() is the current workhorse, but it doesn't return a > HttpResponseHeaders object. It would probably not make sense for > DataURL::Parse() to return response headers since that isn't exactly the result > of parsing. There should probably be some other utility function. One idea would > be to put a static method on URLRequestDataJob for this purpose. Moved header creation code to url_request_data_job. We can do refactoring on URLRequestSimpleJob and its subclasses to make URLRequestDataJob export the headers via GetResponseInfo. I left it as TODO as it inflates the size of the CL. Creation of ResourceResponseInfo is still done inside web_url_loader_impl as it's content/ stuff. It's kinda reduced version of PopulateResourceResponse() in resource_loader.cc. Please take a look again, darin@.
On 2014/08/05 08:33:12, tyoshino wrote: > Please take a look again, darin@. ping
https://codereview.chromium.org/294193002/diff/220001/content/child/web_url_l... File content/child/web_url_loader_impl_unittest.cc (right): https://codereview.chromium.org/294193002/diff/220001/content/child/web_url_l... content/child/web_url_loader_impl_unittest.cc:57: TEST(GetInfoFromDataURLTest, Simple) { I think the unit testing in src/net/ is sufficient. this test doesn't add much value and is largely just testing the wrapper function. maybe you should just leave this out? then you wouldn't need to export this "wrapper function", GetInfoFromDataURL, from web_url_loader_impl.{h,cc}. https://codereview.chromium.org/294193002/diff/220001/net/url_request/url_req... File net/url_request/url_request_data_job.h (right): https://codereview.chromium.org/294193002/diff/220001/net/url_request/url_req... net/url_request/url_request_data_job.h:22: int BuildResponseForDataURL(const GURL& url, This should probably be a static method on URLRequestDataJob, especially since this function is defined in this header file. URLRequestDataJob::BuildResponse(...), perhaps?
Thanks https://codereview.chromium.org/294193002/diff/220001/content/child/web_url_l... File content/child/web_url_loader_impl_unittest.cc (right): https://codereview.chromium.org/294193002/diff/220001/content/child/web_url_l... content/child/web_url_loader_impl_unittest.cc:57: TEST(GetInfoFromDataURLTest, Simple) { On 2014/08/18 20:23:58, darin wrote: > I think the unit testing in src/net/ is sufficient. this test doesn't add much > value and is largely just testing the wrapper function. maybe you should just > leave this out? then you wouldn't need to export this "wrapper function", > GetInfoFromDataURL, from web_url_loader_impl.{h,cc}. OK. Removed. https://codereview.chromium.org/294193002/diff/220001/net/url_request/url_req... File net/url_request/url_request_data_job.h (right): https://codereview.chromium.org/294193002/diff/220001/net/url_request/url_req... net/url_request/url_request_data_job.h:22: int BuildResponseForDataURL(const GURL& url, On 2014/08/18 20:23:58, darin wrote: > This should probably be a static method on URLRequestDataJob, especially since > this function is defined in this header file. > URLRequestDataJob::BuildResponse(...), perhaps? Done.
LGTM https://codereview.chromium.org/294193002/diff/240001/content/child/web_url_l... File content/child/web_url_loader_impl.h (right): https://codereview.chromium.org/294193002/diff/240001/content/child/web_url_l... content/child/web_url_loader_impl.h:8: #include <string> nit: this include and perhaps the forward declaration of GURL are no longer needed? actually, the forward declaration of GURL is probably a good idea instead of expecting it to come in through one of the other header files. https://codereview.chromium.org/294193002/diff/240001/content/child/web_url_l... File content/child/web_url_loader_impl_unittest.cc (right): https://codereview.chromium.org/294193002/diff/240001/content/child/web_url_l... content/child/web_url_loader_impl_unittest.cc:10: #include "base/memory/ref_counted.h" nit: these includes are no longer needed, right?
https://codereview.chromium.org/294193002/diff/240001/content/child/web_url_l... File content/child/web_url_loader_impl.h (right): https://codereview.chromium.org/294193002/diff/240001/content/child/web_url_l... content/child/web_url_loader_impl.h:8: #include <string> On 2014/08/19 20:50:08, darin wrote: > nit: this include and perhaps the forward declaration of GURL are no longer > needed? actually, the forward declaration of GURL is probably a good idea > instead of expecting it to come in through one of the other header files. Removed both. I'll add the GURL declaration in another CL. https://codereview.chromium.org/294193002/diff/240001/content/child/web_url_l... File content/child/web_url_loader_impl_unittest.cc (right): https://codereview.chromium.org/294193002/diff/240001/content/child/web_url_l... content/child/web_url_loader_impl_unittest.cc:10: #include "base/memory/ref_counted.h" On 2014/08/19 20:50:08, darin wrote: > nit: these includes are no longer needed, right? Oh sorry, right. TimeTick is used so time.h should be included but not related to this CL. Removed.
The CQ bit was checked by tyoshino@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tyoshino@chromium.org/294193002/280001
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/linux_gpu/builds/...) mac_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/mac_gpu/builds/44026) win_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu/builds/49194) android_aosp on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_aosp/bu...) android_chromium_gn_compile_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromiu...) android_clang_dbg on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_clang_d...) android_dbg_tests_recipe on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_dbg_tes...) chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...) linux_chromium_chromeos_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_gn_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) ios_dbg_simulator on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator...) ios_rel_device on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_rel_device/bu...) ios_rel_device_ninja on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_rel_device_ni...) mac_chromium_compile_dbg on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_rel_swarming on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...) win8_chromium_rel on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_rel...) win_chromium_compile_dbg on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_comp...) win_chromium_rel_swarming on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...) win_chromium_x64_rel_swarming on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: mac_chromium_compile_dbg on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_rel_swarming on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by tyoshino@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tyoshino@chromium.org/294193002/300001
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_gpu_triggered_tests on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/linux_gpu_trigger...) android_clang_dbg on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_clang_d...) chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...) linux_chromium_chromeos_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) mac_chromium_compile_dbg on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) win_chromium_compile_dbg on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_comp...)
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
The CQ bit was checked by tyoshino@chromium.org
The CQ bit was unchecked by tyoshino@chromium.org
The CQ bit was checked by tyoshino@chromium.org
The CQ bit was unchecked by tyoshino@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tyoshino@chromium.org/294193002/340001
The CQ bit was checked by tyoshino@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tyoshino@chromium.org/294193002/360001
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_chromium_gn_compile_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromiu...) android_clang_dbg on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_clang_d...) mac_chromium_compile_dbg on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) win_chromium_compile_dbg on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_comp...)
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: mac_chromium_compile_dbg on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...)
Added NET_EXPORT to URLRequestDataJob
The CQ bit was checked by tyoshino@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tyoshino@chromium.org/294193002/380001
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_dbg_tests_recipe on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_dbg_tes...) win_chromium_compile_dbg on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_comp...) win_chromium_rel_swarming on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...) win_chromium_x64_rel_swarming on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: android_dbg_tests_recipe on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_dbg_tes...)
The CQ bit was checked by tyoshino@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tyoshino@chromium.org/294193002/380001
Message was sent while issue was closed.
Committed patchset #20 (380001) as 291007
Message was sent while issue was closed.
Reverted. See crbug.com/405841 for the reason.
Message was sent while issue was closed.
Now depends on https://codereview.chromium.org/480413007/
Message was sent while issue was closed.
Rebased on https://codereview.chromium.org/480413007/
Message was sent while issue was closed.
Checked that this works with https://codereview.chromium.org/492183002/ (reenabling data URL layout tests). Relanding.
Message was sent while issue was closed.
Rebased to ToT.
The CQ bit was checked by tyoshino@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tyoshino@chromium.org/294193002/480001
Message was sent while issue was closed.
Committed patchset #25 (id:480001) as 717523d865cf857077c929a0ccae4b6ee91f2c91
Message was sent while issue was closed.
Patchset 25 (id:??) landed as https://crrev.com/05a2bf0bb57be3e4a180d5709703eef4b121ff3f Cr-Commit-Position: refs/heads/master@{#294107} |