summaryrefslogtreecommitdiff
path: root/chromium/content/browser/appcache/appcache_response.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-05-09 14:22:11 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-05-09 15:11:45 +0000
commit2ddb2d3e14eef3de7dbd0cef553d669b9ac2361c (patch)
treee75f511546c5fd1a173e87c1f9fb11d7ac8d1af3 /chromium/content/browser/appcache/appcache_response.cc
parenta4f3d46271c57e8155ba912df46a05559d14726e (diff)
downloadqtwebengine-chromium-2ddb2d3e14eef3de7dbd0cef553d669b9ac2361c.tar.gz
BASELINE: Update Chromium to 51.0.2704.41
Also adds in all smaller components by reversing logic for exclusion. Change-Id: Ibf90b506e7da088ea2f65dcf23f2b0992c504422 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'chromium/content/browser/appcache/appcache_response.cc')
-rw-r--r--chromium/content/browser/appcache/appcache_response.cc30
1 files changed, 23 insertions, 7 deletions
diff --git a/chromium/content/browser/appcache/appcache_response.cc b/chromium/content/browser/appcache/appcache_response.cc
index 20a8b8a36d0..b5df22dea85 100644
--- a/chromium/content/browser/appcache/appcache_response.cc
+++ b/chromium/content/browser/appcache/appcache_response.cc
@@ -78,11 +78,24 @@ HttpResponseInfoIOBuffer::HttpResponseInfoIOBuffer(net::HttpResponseInfo* info)
HttpResponseInfoIOBuffer::~HttpResponseInfoIOBuffer() {}
+// AppCacheDiskCacheInterface ----------------------------------------
+
+AppCacheDiskCacheInterface::AppCacheDiskCacheInterface()
+ : weak_factory_(this) {}
+
+base::WeakPtr<AppCacheDiskCacheInterface>
+AppCacheDiskCacheInterface::GetWeakPtr() {
+ return weak_factory_.GetWeakPtr();
+}
+
+AppCacheDiskCacheInterface::~AppCacheDiskCacheInterface() {}
+
// AppCacheResponseIO ----------------------------------------------
-AppCacheResponseIO::AppCacheResponseIO(int64_t response_id,
- int64_t group_id,
- AppCacheDiskCacheInterface* disk_cache)
+AppCacheResponseIO::AppCacheResponseIO(
+ int64_t response_id,
+ int64_t group_id,
+ const base::WeakPtr<AppCacheDiskCacheInterface>& disk_cache)
: response_id_(response_id),
group_id_(group_id),
disk_cache_(disk_cache),
@@ -177,7 +190,7 @@ void AppCacheResponseIO::OpenEntryCallback(
AppCacheResponseReader::AppCacheResponseReader(
int64_t response_id,
int64_t group_id,
- AppCacheDiskCacheInterface* disk_cache)
+ const base::WeakPtr<AppCacheDiskCacheInterface>& disk_cache)
: AppCacheResponseIO(response_id, group_id, disk_cache),
range_offset_(0),
range_length_(std::numeric_limits<int32_t>::max()),
@@ -302,7 +315,7 @@ void AppCacheResponseReader::OnOpenEntryComplete() {
AppCacheResponseWriter::AppCacheResponseWriter(
int64_t response_id,
int64_t group_id,
- AppCacheDiskCacheInterface* disk_cache)
+ const base::WeakPtr<AppCacheDiskCacheInterface>& disk_cache)
: AppCacheResponseIO(response_id, group_id, disk_cache),
info_size_(0),
write_position_(0),
@@ -404,7 +417,10 @@ void AppCacheResponseWriter::OnCreateEntryComplete(
AppCacheDiskCacheInterface::Entry** entry, int rv) {
DCHECK(info_buffer_.get() || buffer_.get());
- if (creation_phase_ == INITIAL_ATTEMPT) {
+ if (!disk_cache_) {
+ ScheduleIOCompletionCallback(net::ERR_FAILED);
+ return;
+ } else if (creation_phase_ == INITIAL_ATTEMPT) {
if (rv != net::OK) {
// We may try to overwrite existing entries.
creation_phase_ = DOOM_EXISTING;
@@ -444,7 +460,7 @@ void AppCacheResponseWriter::OnCreateEntryComplete(
AppCacheResponseMetadataWriter::AppCacheResponseMetadataWriter(
int64_t response_id,
int64_t group_id,
- AppCacheDiskCacheInterface* disk_cache)
+ const base::WeakPtr<AppCacheDiskCacheInterface>& disk_cache)
: AppCacheResponseIO(response_id, group_id, disk_cache),
write_amount_(0),
weak_factory_(this) {}