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: third_party/WebKit/Source/modules/fetch/FetchDataLoader.cpp

Issue 2007983006: Rename OwnPtr::clear() to reset() in modules/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #include "modules/fetch/FetchDataLoader.h" 5 #include "modules/fetch/FetchDataLoader.h"
6 6
7 #include "core/html/parser/TextResourceDecoder.h" 7 #include "core/html/parser/TextResourceDecoder.h"
8 #include "wtf/text/StringBuilder.h" 8 #include "wtf/text/StringBuilder.h"
9 #include "wtf/text/WTFString.h" 9 #include "wtf/text/WTFString.h"
10 #include "wtf/typed_arrays/ArrayBufferBuilder.h" 10 #include "wtf/typed_arrays/ArrayBufferBuilder.h"
(...skipping 21 matching lines...) Expand all
32 { 32 {
33 ASSERT(!m_client); 33 ASSERT(!m_client);
34 ASSERT(!m_reader); 34 ASSERT(!m_reader);
35 35
36 m_client = client; 36 m_client = client;
37 // Passing |this| here is safe because |this| owns |m_reader|. 37 // Passing |this| here is safe because |this| owns |m_reader|.
38 m_reader = handle->obtainReader(this); 38 m_reader = handle->obtainReader(this);
39 RefPtr<BlobDataHandle> blobHandle = m_reader->drainAsBlobDataHandle(); 39 RefPtr<BlobDataHandle> blobHandle = m_reader->drainAsBlobDataHandle();
40 if (blobHandle) { 40 if (blobHandle) {
41 ASSERT(blobHandle->size() != UINT64_MAX); 41 ASSERT(blobHandle->size() != UINT64_MAX);
42 m_reader.clear(); 42 m_reader.reset();
43 if (blobHandle->type() != m_mimeType) { 43 if (blobHandle->type() != m_mimeType) {
44 // A new BlobDataHandle is created to override the Blob's type. 44 // A new BlobDataHandle is created to override the Blob's type.
45 m_client->didFetchDataLoadedBlobHandle(BlobDataHandle::create(bl obHandle->uuid(), m_mimeType, blobHandle->size())); 45 m_client->didFetchDataLoadedBlobHandle(BlobDataHandle::create(bl obHandle->uuid(), m_mimeType, blobHandle->size()));
46 } else { 46 } else {
47 m_client->didFetchDataLoadedBlobHandle(blobHandle); 47 m_client->didFetchDataLoadedBlobHandle(blobHandle);
48 } 48 }
49 m_client.clear(); 49 m_client.clear();
50 return; 50 return;
51 } 51 }
52 52
(...skipping 12 matching lines...) Expand all
65 size_t available; 65 size_t available;
66 WebDataConsumerHandle::Result result = m_reader->beginRead(&buffer, WebDataConsumerHandle::FlagNone, &available); 66 WebDataConsumerHandle::Result result = m_reader->beginRead(&buffer, WebDataConsumerHandle::FlagNone, &available);
67 67
68 switch (result) { 68 switch (result) {
69 case WebDataConsumerHandle::Ok: 69 case WebDataConsumerHandle::Ok:
70 m_blobData->appendBytes(buffer, available); 70 m_blobData->appendBytes(buffer, available);
71 m_reader->endRead(available); 71 m_reader->endRead(available);
72 break; 72 break;
73 73
74 case WebDataConsumerHandle::Done: { 74 case WebDataConsumerHandle::Done: {
75 m_reader.clear(); 75 m_reader.reset();
76 long long size = m_blobData->length(); 76 long long size = m_blobData->length();
77 m_client->didFetchDataLoadedBlobHandle(BlobDataHandle::create(st d::move(m_blobData), size)); 77 m_client->didFetchDataLoadedBlobHandle(BlobDataHandle::create(st d::move(m_blobData), size));
78 m_client.clear(); 78 m_client.clear();
79 return; 79 return;
80 } 80 }
81 81
82 case WebDataConsumerHandle::ShouldWait: 82 case WebDataConsumerHandle::ShouldWait:
83 return; 83 return;
84 84
85 case WebDataConsumerHandle::Busy: 85 case WebDataConsumerHandle::Busy:
86 case WebDataConsumerHandle::ResourceExhausted: 86 case WebDataConsumerHandle::ResourceExhausted:
87 case WebDataConsumerHandle::UnexpectedError: 87 case WebDataConsumerHandle::UnexpectedError:
88 m_reader.clear(); 88 m_reader.reset();
89 m_blobData.clear(); 89 m_blobData.reset();
90 m_client->didFetchDataLoadFailed(); 90 m_client->didFetchDataLoadFailed();
91 m_client.clear(); 91 m_client.clear();
92 return; 92 return;
93 } 93 }
94 } 94 }
95 } 95 }
96 96
97 void cancel() override 97 void cancel() override
98 { 98 {
99 m_reader.clear(); 99 m_reader.reset();
100 m_blobData.clear(); 100 m_blobData.reset();
101 m_client.clear(); 101 m_client.clear();
102 } 102 }
103 103
104 OwnPtr<FetchDataConsumerHandle::Reader> m_reader; 104 OwnPtr<FetchDataConsumerHandle::Reader> m_reader;
105 Member<FetchDataLoader::Client> m_client; 105 Member<FetchDataLoader::Client> m_client;
106 106
107 String m_mimeType; 107 String m_mimeType;
108 OwnPtr<BlobData> m_blobData; 108 OwnPtr<BlobData> m_blobData;
109 }; 109 };
110 110
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 m_reader->endRead(0); 151 m_reader->endRead(0);
152 error(); 152 error();
153 return; 153 return;
154 } 154 }
155 ASSERT(bytesAppended == available); 155 ASSERT(bytesAppended == available);
156 } 156 }
157 m_reader->endRead(available); 157 m_reader->endRead(available);
158 break; 158 break;
159 159
160 case WebDataConsumerHandle::Done: 160 case WebDataConsumerHandle::Done:
161 m_reader.clear(); 161 m_reader.reset();
162 m_client->didFetchDataLoadedArrayBuffer(DOMArrayBuffer::create(m _rawData->toArrayBuffer())); 162 m_client->didFetchDataLoadedArrayBuffer(DOMArrayBuffer::create(m _rawData->toArrayBuffer()));
163 m_rawData.clear(); 163 m_rawData.reset();
164 m_client.clear(); 164 m_client.clear();
165 return; 165 return;
166 166
167 case WebDataConsumerHandle::ShouldWait: 167 case WebDataConsumerHandle::ShouldWait:
168 return; 168 return;
169 169
170 case WebDataConsumerHandle::Busy: 170 case WebDataConsumerHandle::Busy:
171 case WebDataConsumerHandle::ResourceExhausted: 171 case WebDataConsumerHandle::ResourceExhausted:
172 case WebDataConsumerHandle::UnexpectedError: 172 case WebDataConsumerHandle::UnexpectedError:
173 error(); 173 error();
174 return; 174 return;
175 } 175 }
176 } 176 }
177 } 177 }
178 178
179 void error() 179 void error()
180 { 180 {
181 m_reader.clear(); 181 m_reader.reset();
182 m_rawData.clear(); 182 m_rawData.reset();
183 m_client->didFetchDataLoadFailed(); 183 m_client->didFetchDataLoadFailed();
184 m_client.clear(); 184 m_client.clear();
185 } 185 }
186 186
187 void cancel() override 187 void cancel() override
188 { 188 {
189 m_reader.clear(); 189 m_reader.reset();
190 m_rawData.clear(); 190 m_rawData.reset();
191 m_client.clear(); 191 m_client.clear();
192 } 192 }
193 193
194 OwnPtr<FetchDataConsumerHandle::Reader> m_reader; 194 OwnPtr<FetchDataConsumerHandle::Reader> m_reader;
195 Member<FetchDataLoader::Client> m_client; 195 Member<FetchDataLoader::Client> m_client;
196 196
197 OwnPtr<ArrayBufferBuilder> m_rawData; 197 OwnPtr<ArrayBufferBuilder> m_rawData;
198 }; 198 };
199 199
200 class FetchDataLoaderAsString 200 class FetchDataLoaderAsString
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 WebDataConsumerHandle::Result result = m_reader->beginRead(&buffer, WebDataConsumerHandle::FlagNone, &available); 233 WebDataConsumerHandle::Result result = m_reader->beginRead(&buffer, WebDataConsumerHandle::FlagNone, &available);
234 234
235 switch (result) { 235 switch (result) {
236 case WebDataConsumerHandle::Ok: 236 case WebDataConsumerHandle::Ok:
237 if (available > 0) 237 if (available > 0)
238 m_builder.append(m_decoder->decode(static_cast<const char*>( buffer), available)); 238 m_builder.append(m_decoder->decode(static_cast<const char*>( buffer), available));
239 m_reader->endRead(available); 239 m_reader->endRead(available);
240 break; 240 break;
241 241
242 case WebDataConsumerHandle::Done: 242 case WebDataConsumerHandle::Done:
243 m_reader.clear(); 243 m_reader.reset();
244 m_builder.append(m_decoder->flush()); 244 m_builder.append(m_decoder->flush());
245 m_client->didFetchDataLoadedString(m_builder.toString()); 245 m_client->didFetchDataLoadedString(m_builder.toString());
246 m_builder.clear(); 246 m_builder.clear();
247 m_decoder.clear(); 247 m_decoder.reset();
248 m_client.clear(); 248 m_client.clear();
249 return; 249 return;
250 250
251 case WebDataConsumerHandle::ShouldWait: 251 case WebDataConsumerHandle::ShouldWait:
252 return; 252 return;
253 253
254 case WebDataConsumerHandle::Busy: 254 case WebDataConsumerHandle::Busy:
255 case WebDataConsumerHandle::ResourceExhausted: 255 case WebDataConsumerHandle::ResourceExhausted:
256 case WebDataConsumerHandle::UnexpectedError: 256 case WebDataConsumerHandle::UnexpectedError:
257 error(); 257 error();
258 return; 258 return;
259 } 259 }
260 } 260 }
261 } 261 }
262 262
263 void error() 263 void error()
264 { 264 {
265 m_reader.clear(); 265 m_reader.reset();
266 m_builder.clear(); 266 m_builder.clear();
267 m_decoder.clear(); 267 m_decoder.reset();
268 m_client->didFetchDataLoadFailed(); 268 m_client->didFetchDataLoadFailed();
269 m_client.clear(); 269 m_client.clear();
270 } 270 }
271 271
272 void cancel() override 272 void cancel() override
273 { 273 {
274 m_reader.clear(); 274 m_reader.reset();
275 m_builder.clear(); 275 m_builder.clear();
276 m_decoder.clear(); 276 m_decoder.reset();
277 m_client.clear(); 277 m_client.clear();
278 } 278 }
279 279
280 OwnPtr<FetchDataConsumerHandle::Reader> m_reader; 280 OwnPtr<FetchDataConsumerHandle::Reader> m_reader;
281 Member<FetchDataLoader::Client> m_client; 281 Member<FetchDataLoader::Client> m_client;
282 282
283 OwnPtr<TextResourceDecoder> m_decoder; 283 OwnPtr<TextResourceDecoder> m_decoder;
284 StringBuilder m_builder; 284 StringBuilder m_builder;
285 }; 285 };
286 286
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 WebDataConsumerHandle::Result result = m_reader->beginRead(&buffer, WebDataConsumerHandle::FlagNone, &available); 320 WebDataConsumerHandle::Result result = m_reader->beginRead(&buffer, WebDataConsumerHandle::FlagNone, &available);
321 321
322 switch (result) { 322 switch (result) {
323 case WebDataConsumerHandle::Ok: 323 case WebDataConsumerHandle::Ok:
324 m_outStream->addData(static_cast<const char*>(buffer), available ); 324 m_outStream->addData(static_cast<const char*>(buffer), available );
325 m_reader->endRead(available); 325 m_reader->endRead(available);
326 needToFlush = true; 326 needToFlush = true;
327 break; 327 break;
328 328
329 case WebDataConsumerHandle::Done: 329 case WebDataConsumerHandle::Done:
330 m_reader.clear(); 330 m_reader.reset();
331 if (needToFlush) 331 if (needToFlush)
332 m_outStream->flush(); 332 m_outStream->flush();
333 m_outStream->finalize(); 333 m_outStream->finalize();
334 m_client->didFetchDataLoadedStream(); 334 m_client->didFetchDataLoadedStream();
335 cleanup(); 335 cleanup();
336 return; 336 return;
337 337
338 case WebDataConsumerHandle::ShouldWait: 338 case WebDataConsumerHandle::ShouldWait:
339 if (needToFlush) 339 if (needToFlush)
340 m_outStream->flush(); 340 m_outStream->flush();
341 return; 341 return;
342 342
343 case WebDataConsumerHandle::Busy: 343 case WebDataConsumerHandle::Busy:
344 case WebDataConsumerHandle::ResourceExhausted: 344 case WebDataConsumerHandle::ResourceExhausted:
345 case WebDataConsumerHandle::UnexpectedError: 345 case WebDataConsumerHandle::UnexpectedError:
346 // If the stream is aborted soon after the stream is registered 346 // If the stream is aborted soon after the stream is registered
347 // to the StreamRegistry, ServiceWorkerURLRequestJob may not 347 // to the StreamRegistry, ServiceWorkerURLRequestJob may not
348 // notice the error and continue waiting forever. 348 // notice the error and continue waiting forever.
349 // FIXME: Add new message to report the error to the browser 349 // FIXME: Add new message to report the error to the browser
350 // process. 350 // process.
351 m_reader.clear(); 351 m_reader.reset();
352 m_outStream->abort(); 352 m_outStream->abort();
353 m_client->didFetchDataLoadFailed(); 353 m_client->didFetchDataLoadFailed();
354 cleanup(); 354 cleanup();
355 return; 355 return;
356 } 356 }
357 } 357 }
358 } 358 }
359 359
360 void cancel() override 360 void cancel() override
361 { 361 {
362 cleanup(); 362 cleanup();
363 } 363 }
364 364
365 void cleanup() 365 void cleanup()
366 { 366 {
367 m_reader.clear(); 367 m_reader.reset();
368 m_client.clear(); 368 m_client.clear();
369 m_outStream.clear(); 369 m_outStream.clear();
370 } 370 }
371 371
372 OwnPtr<FetchDataConsumerHandle::Reader> m_reader; 372 OwnPtr<FetchDataConsumerHandle::Reader> m_reader;
373 Member<FetchDataLoader::Client> m_client; 373 Member<FetchDataLoader::Client> m_client;
374 374
375 Member<Stream> m_outStream; 375 Member<Stream> m_outStream;
376 }; 376 };
377 377
(...skipping 14 matching lines...) Expand all
392 { 392 {
393 return new FetchDataLoaderAsString(); 393 return new FetchDataLoaderAsString();
394 } 394 }
395 395
396 FetchDataLoader* FetchDataLoader::createLoaderAsStream(Stream* outStream) 396 FetchDataLoader* FetchDataLoader::createLoaderAsStream(Stream* outStream)
397 { 397 {
398 return new FetchDataLoaderAsStream(outStream); 398 return new FetchDataLoaderAsStream(outStream);
399 } 399 }
400 400
401 } // namespace blink 401 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698