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

Side by Side Diff: webkit/appcache/appcache_response.h

Issue 8399019: base::Bind usage (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | webkit/appcache/appcache_response.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef WEBKIT_APPCACHE_APPCACHE_RESPONSE_H_ 5 #ifndef WEBKIT_APPCACHE_APPCACHE_RESPONSE_H_
6 #define WEBKIT_APPCACHE_APPCACHE_RESPONSE_H_ 6 #define WEBKIT_APPCACHE_APPCACHE_RESPONSE_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/task.h" 11 #include "base/memory/weak_ptr.h"
12 #include "googleurl/src/gurl.h" 12 #include "googleurl/src/gurl.h"
13 #include "net/base/completion_callback.h" 13 #include "net/base/completion_callback.h"
14 #include "net/http/http_response_info.h" 14 #include "net/http/http_response_info.h"
15 #include "webkit/appcache/appcache_interfaces.h" 15 #include "webkit/appcache/appcache_interfaces.h"
16 16
17 namespace net { 17 namespace net {
18 class IOBuffer; 18 class IOBuffer;
19 } 19 }
20 20
21 namespace appcache { 21 namespace appcache {
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 virtual ~AppCacheDiskCacheInterface() {} 93 virtual ~AppCacheDiskCacheInterface() {}
94 }; 94 };
95 95
96 // Common base class for response reader and writer. 96 // Common base class for response reader and writer.
97 class APPCACHE_EXPORT AppCacheResponseIO { 97 class APPCACHE_EXPORT AppCacheResponseIO {
98 public: 98 public:
99 virtual ~AppCacheResponseIO(); 99 virtual ~AppCacheResponseIO();
100 int64 response_id() const { return response_id_; } 100 int64 response_id() const { return response_id_; }
101 101
102 protected: 102 protected:
103 friend class ScopedRunnableMethodFactory<AppCacheResponseIO>;
104
105 template <class T> 103 template <class T>
106 class EntryCallback : public net::CancelableOldCompletionCallback<T> { 104 class EntryCallback : public net::CancelableOldCompletionCallback<T> {
107 public: 105 public:
108 typedef net::CancelableOldCompletionCallback<T> BaseClass; 106 typedef net::CancelableOldCompletionCallback<T> BaseClass;
109 EntryCallback(T* object, void (T::* method)(int)) 107 EntryCallback(T* object, void (T::* method)(int))
110 : BaseClass(object, method), entry_ptr_(NULL) {} 108 : BaseClass(object, method), entry_ptr_(NULL) {}
111 109
112 AppCacheDiskCacheInterface::Entry* entry_ptr_; // Accessed directly. 110 AppCacheDiskCacheInterface::Entry* entry_ptr_; // Accessed directly.
113 private: 111 private:
114 ~EntryCallback() { 112 ~EntryCallback() {
(...skipping 15 matching lines...) Expand all
130 void WriteRaw(int index, int offset, net::IOBuffer* buf, int buf_len); 128 void WriteRaw(int index, int offset, net::IOBuffer* buf, int buf_len);
131 129
132 const int64 response_id_; 130 const int64 response_id_;
133 const int64 group_id_; 131 const int64 group_id_;
134 AppCacheDiskCacheInterface* disk_cache_; 132 AppCacheDiskCacheInterface* disk_cache_;
135 AppCacheDiskCacheInterface::Entry* entry_; 133 AppCacheDiskCacheInterface::Entry* entry_;
136 scoped_refptr<HttpResponseInfoIOBuffer> info_buffer_; 134 scoped_refptr<HttpResponseInfoIOBuffer> info_buffer_;
137 scoped_refptr<net::IOBuffer> buffer_; 135 scoped_refptr<net::IOBuffer> buffer_;
138 int buffer_len_; 136 int buffer_len_;
139 net::OldCompletionCallback* user_callback_; 137 net::OldCompletionCallback* user_callback_;
140 ScopedRunnableMethodFactory<AppCacheResponseIO> method_factory_; 138 base::WeakPtrFactory<AppCacheResponseIO> weak_factory_;
141 139
142 private: 140 private:
143 void OnRawIOComplete(int result); 141 void OnRawIOComplete(int result);
144 142
145 scoped_refptr<net::CancelableOldCompletionCallback<AppCacheResponseIO> > 143 scoped_refptr<net::CancelableOldCompletionCallback<AppCacheResponseIO> >
146 raw_callback_; 144 raw_callback_;
147 }; 145 };
148 146
149 // Reads existing response data from storage. If the object is deleted 147 // Reads existing response data from storage. If the object is deleted
150 // and there is a read in progress, the implementation will return 148 // and there is a read in progress, the implementation will return
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 int write_position_; 266 int write_position_;
269 int write_amount_; 267 int write_amount_;
270 CreationPhase creation_phase_; 268 CreationPhase creation_phase_;
271 scoped_refptr<EntryCallback<AppCacheResponseWriter> > create_callback_; 269 scoped_refptr<EntryCallback<AppCacheResponseWriter> > create_callback_;
272 }; 270 };
273 271
274 } // namespace appcache 272 } // namespace appcache
275 273
276 #endif // WEBKIT_APPCACHE_APPCACHE_RESPONSE_H_ 274 #endif // WEBKIT_APPCACHE_APPCACHE_RESPONSE_H_
277 275
OLDNEW
« no previous file with comments | « no previous file | webkit/appcache/appcache_response.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698