Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Issue 1398523004: Revalidate using the same Resource, attempt #3 (Closed)

Created:
5 years, 2 months ago by Nate Chapin
Modified:
5 years, 2 months ago
Reviewers:
Mike West
CC:
blink-reviews, blink-reviews-bindings_chromium.org, chromium-reviews, krit, f(malita), fs, gavinp+loader_chromium.org, gyuyoung2, kinuko+watch, kouhei+svg_chromium.org, pdr+svgwatchlist_chromium.org, rwlbuis, Stephen Chennney, tyoshino+watch_chromium.org, Yoav Weiss
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Revalidate using the same Resource, attempt #3 Currently, when we perform a revalidation, we create a new resource and put it in the MemoryCache in place of the resource being revalidated. If the revalidation results in a 304, we silently swap all of the clients of the revalidation to the now-revalidated resource and swap which Resource is in the MemoryCache. This changes the behavior to use the existing resource to revalidate itself, which simplifies the logic quite a bit. It also gives us the option of removing ResourcePtr (which is used to implement the silent client swap in the 304 case) and make Resources simply RefCounted in a future change. BUG= Committed: https://crrev.com/71adea27213b2268bda765abccd5a3bf9517b860 Cr-Commit-Position: refs/heads/master@{#354615}

Patch Set 1 #

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+146 lines, -206 lines) Patch
M third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/ScriptStreamerTest.cpp View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/fetch/FontResource.cpp View 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/fetch/ImageResource.cpp View 1 4 chunks +18 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/fetch/RawResource.cpp View 1 2 chunks +11 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/fetch/RawResourceTest.cpp View 1 chunk +17 lines, -19 lines 0 comments Download
M third_party/WebKit/Source/core/fetch/Resource.h View 1 9 chunks +11 lines, -21 lines 0 comments Download
M third_party/WebKit/Source/core/fetch/Resource.cpp View 1 20 chunks +65 lines, -146 lines 0 comments Download
M third_party/WebKit/Source/core/fetch/ResourceFetcher.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp View 1 4 chunks +5 lines, -13 lines 0 comments Download
M third_party/WebKit/Source/core/fetch/ResourceLoader.cpp View 1 chunk +1 line, -3 lines 0 comments Download
M third_party/WebKit/Source/core/fetch/ScriptResource.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/fetch/ScriptResource.cpp View 1 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp View 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 12 (2 generated)
Nate Chapin
Since we have several weeks before the next branch point, it's time to try this ...
5 years, 2 months ago (2015-10-15 17:32:34 UTC) #2
Mike West
Sure, why not? :) LGTM.
5 years, 2 months ago (2015-10-16 20:45:06 UTC) #3
Nate Chapin
On 2015/10/16 20:45:06, Mike West (slow) wrote: > Sure, why not? :) LGTM. That's a ...
5 years, 2 months ago (2015-10-16 20:54:45 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1398523004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1398523004/20001
5 years, 2 months ago (2015-10-16 20:56:24 UTC) #6
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 2 months ago (2015-10-16 22:06:29 UTC) #7
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/71adea27213b2268bda765abccd5a3bf9517b860 Cr-Commit-Position: refs/heads/master@{#354615}
5 years, 2 months ago (2015-10-16 22:07:09 UTC) #8
Ken Russell (switch to Gerrit)
On 2015/10/16 22:07:09, commit-bot: I haz the power wrote: > Patchset 2 (id:??) landed as ...
5 years, 2 months ago (2015-10-18 23:23:17 UTC) #9
Ken Russell (switch to Gerrit)
A revert of this CL (patchset #2 id:20001) has been created in https://codereview.chromium.org/1410313002/ by kbr@chromium.org. ...
5 years, 2 months ago (2015-10-18 23:24:50 UTC) #10
Ken Russell (switch to Gerrit)
On 2015/10/18 23:24:50, Ken Russell wrote: > A revert of this CL (patchset #2 id:20001) ...
5 years, 2 months ago (2015-10-19 05:53:12 UTC) #11
Ken Russell (switch to Gerrit)
5 years, 2 months ago (2015-10-19 06:16:11 UTC) #12
Message was sent while issue was closed.
On 2015/10/19 05:53:12, Ken Russell wrote:
> On 2015/10/18 23:24:50, Ken Russell wrote:
> > A revert of this CL (patchset #2 id:20001) has been created in
> > https://codereview.chromium.org/1410313002/ by mailto:kbr@chromium.org.
> > 
> > The reason for reverting is: Seems to have caused assertion failures on
> >
>
http://build.chromium.org/p/chromium.gpu/builders/Android%20Debug%20%28Nexus%...
> > as described on the original CL..
> 
> The first build containing this revert -
>
http://build.chromium.org/p/chromium.gpu/builders/Android%20Debug%20%28Nexus%...
> - was green, so it's clear this was the cause. Please ask me, zmo or bajones
if
> you need any help reproducing this problem. It should be straightforward to
> reproduce using the command line from a failing build like
>
http://build.chromium.org/p/chromium.gpu/builders/Android%20Debug%20%28Nexus%...
> and the command line argument --story-filter=[failing test name] ; in this
case,
> WebglConformance.conformance_more_functions_texSubImage2DHTML .

Note: this also caused SecurityStateModelTest.MixedContentWithBrokenSHA1 to fail
in this try job:
http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...

so it may have introduced random flakiness on a bunch of bots.

Brief excerpt (corrupted due to multithreaded test execution):

[ RUN      ] SecurityStateModelTest.MixedContentWithBrokenSHA1
HTTP server started on http://127.0.0.1:58295...
sending server_data: {"host": "127.0.0.1", "port": 58295} (36 bytes)
HTTPS server started on https://127.0.0.1:58297...
sending server_data: {"host": "127.0.0.1", "port": 58297} (36 bytes)
[2272:2420:1018/175510:INFO:CONSOLE(12)] "Mixed Content: The page at
'https://127.0.0.1:58297/files/ssl/page_displays_insecure_content.html?replace_text=UkVQTEFDRV9XSVRIX0hPU1RfQU5EX1BPUlQ=:MTI3LjAuMC4xOjU4Mjk1'
was loaded over HTTPS, but requested an insecure image
'http://127.0.0.1:58295/files/ssl/google_files/logo.gif'. This content should
also be served over HTTPS.", source:
https://127.0.0.1:58297/files/ssl/page_displays_insecure_content.html?replace...
(12)
[2272:2420:1018/175510:INFO:CONSOLE(0)] "Mixed Content: The page at
'https://127.0.0.1:58297/files/ssl/page_with_dynamic_insecure_content.html?replace_text=UkVQTEFDRV9XSVRIX0hPU1RfQU5EX1BPUlQ=:MTI3LjAuMC4xOjU4Mjk1'
was loaded over HTTPS, but requested an insecure image
'http://127.0.0.1:58295/files/ssl/google_files/logo.gif'. This content should
also be served over HTTPS.", source:
https://127.0.0.1:58297/files/ssl/page_with_dynamic_insecure_content.html?rep...
(0)
ASSERTION FAILED: buffer->size() >= m_readPosition
e:uild\slave\winuild\src	hird_party\webkit\source\platform\graphics	hreadsafedatatransport.cpp(47)
: void __thiscall blink::ThreadSafeDataTransport::setData(class
blink::SharedBuffer *,bool)
Backtrace:
	blink::ThreadSafeDataTransport::setData [0x02FB3714+52]
	blink::ImageFrameGenerator::setData [0x02F92662+18]
	blink::DeferredImageDecoder::setData [0x02F6EA1A+170]
	blink::ImageSource::setData [0x02F82600+144]
	blink::BitmapImage::dataChanged [0x02F660E7+535]
	blink::Image::setData [0x02F41653+83]
	blink::ImageResource::updateImage [0x0388C813+195]

Again, I strongly suggest filing a bug and referencing it from the CL for any
change as major as this. This conversation should be permanently archived on a
bug, not an individual CL.

Powered by Google App Engine
This is Rietveld 408576698