WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
113542
Resources are never revalidated/reloaded if a cached response exists on disk.
https://bugs.webkit.org/show_bug.cgi?id=113542
Summary
Resources are never revalidated/reloaded if a cached response exists on disk.
Brady Eidson
Reported
2013-03-28 15:50:04 PDT
Resources are never revalidated if a cached response exists on disk. The "try to get an mmap handle to a cached response on disk" code happened in didReceiveResponse which short circuited any chance of a new load actually happening. That's crazy. It should happen in didReceiveData once the new load starts filtering in. That is the point where we can say for sure whether we're seeing cached data or receiving new data. In radar as <
rdar://problem/13479890
>
Attachments
Patch v1
(9.44 KB, patch)
2013-03-28 15:59 PDT
,
Brady Eidson
ap
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Brady Eidson
Comment 1
2013-03-28 15:59:06 PDT
Created
attachment 195665
[details]
Patch v1
Brady Eidson
Comment 2
2013-03-28 16:07:42 PDT
http://trac.webkit.org/changeset/147179
Andy Estes
Comment 3
2013-03-28 16:08:37 PDT
Comment on
attachment 195665
[details]
Patch v1 View in context:
https://bugs.webkit.org/attachment.cgi?id=195665&action=review
> Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:227 > + // Since we're delivering this resource by ourselves all at once, we'll abort the resource handle since we don't need anymore callbacks from ResourceHandle.
any more, not anymore
> Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm:47 > + typedef CFDataRef (*functionType)(CFCachedURLResponseRef); > + static functionType softGetMemMappedData = (functionType) dlsym(CFNetworkLibrary(), "_CFCachedURLResponseGetMemMappedData");
Can't you use SOFT_LINK_OPTIONAL()?
> Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm:57 > + typedef CFBooleanRef (*functionType)(CFURLCacheRef cache, CFDataRef data); > + static functionType softLinkIsCacheMMAPedData = (functionType) dlsym(CFNetworkLibrary(), "_CFURLCacheIsResponseDataMemMapped");
Ditto.
Tim Horton
Comment 4
2013-03-28 16:09:15 PDT
Comment on
attachment 195665
[details]
Patch v1 View in context:
https://bugs.webkit.org/attachment.cgi?id=195665&action=review
>> Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm:57 >> +static bool CFURLCacheIsMemMappedData(CFURLCacheRef cache, CFDataRef data) >> +{ >> + typedef CFBooleanRef (*functionType)(CFURLCacheRef cache, CFDataRef data); >> + static functionType softLinkIsCacheMMAPedData = (functionType) dlsym(CFNetworkLibrary(), "_CFURLCacheIsResponseDataMemMapped"); > > Ditto.
It's weird to me that we're wrapping this function and stealing their prefix but not using the same exact name.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug