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

Side by Side Diff: third_party/WebKit/Source/modules/fetch/FetchDataLoader.cpp

Issue 2177243002: Use per-frame TaskRunner instead of thread's default in DataConsumerHandle (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@data_consumer_handle_unique_ptr
Patch Set: test fix Created 4 years, 4 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/PtrUtil.h" 8 #include "wtf/PtrUtil.h"
9 #include "wtf/text/StringBuilder.h" 9 #include "wtf/text/StringBuilder.h"
10 #include "wtf/text/WTFString.h" 10 #include "wtf/text/WTFString.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 case WebDataConsumerHandle::UnexpectedError: 89 case WebDataConsumerHandle::UnexpectedError:
90 m_reader.reset(); 90 m_reader.reset();
91 m_blobData.reset(); 91 m_blobData.reset();
92 m_client->didFetchDataLoadFailed(); 92 m_client->didFetchDataLoadFailed();
93 m_client.clear(); 93 m_client.clear();
94 return; 94 return;
95 } 95 }
96 } 96 }
97 } 97 }
98 98
99 WebTaskRunner* getTaskRunner() override
100 {
101 return m_client->getTaskRunner();
102 }
103
99 void cancel() override 104 void cancel() override
100 { 105 {
101 m_reader.reset(); 106 m_reader.reset();
102 m_blobData.reset(); 107 m_blobData.reset();
103 m_client.clear(); 108 m_client.clear();
104 } 109 }
105 110
106 std::unique_ptr<FetchDataConsumerHandle::Reader> m_reader; 111 std::unique_ptr<FetchDataConsumerHandle::Reader> m_reader;
107 Member<FetchDataLoader::Client> m_client; 112 Member<FetchDataLoader::Client> m_client;
108 113
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 176
172 case WebDataConsumerHandle::Busy: 177 case WebDataConsumerHandle::Busy:
173 case WebDataConsumerHandle::ResourceExhausted: 178 case WebDataConsumerHandle::ResourceExhausted:
174 case WebDataConsumerHandle::UnexpectedError: 179 case WebDataConsumerHandle::UnexpectedError:
175 error(); 180 error();
176 return; 181 return;
177 } 182 }
178 } 183 }
179 } 184 }
180 185
186 WebTaskRunner* getTaskRunner() override
187 {
188 return m_client->getTaskRunner();
189 }
190
181 void error() 191 void error()
182 { 192 {
183 m_reader.reset(); 193 m_reader.reset();
184 m_rawData.reset(); 194 m_rawData.reset();
185 m_client->didFetchDataLoadFailed(); 195 m_client->didFetchDataLoadFailed();
186 m_client.clear(); 196 m_client.clear();
187 } 197 }
188 198
189 void cancel() override 199 void cancel() override
190 { 200 {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 265
256 case WebDataConsumerHandle::Busy: 266 case WebDataConsumerHandle::Busy:
257 case WebDataConsumerHandle::ResourceExhausted: 267 case WebDataConsumerHandle::ResourceExhausted:
258 case WebDataConsumerHandle::UnexpectedError: 268 case WebDataConsumerHandle::UnexpectedError:
259 error(); 269 error();
260 return; 270 return;
261 } 271 }
262 } 272 }
263 } 273 }
264 274
275 WebTaskRunner* getTaskRunner() override
276 {
277 return m_client->getTaskRunner();
278 }
279
265 void error() 280 void error()
266 { 281 {
267 m_reader.reset(); 282 m_reader.reset();
268 m_builder.clear(); 283 m_builder.clear();
269 m_decoder.reset(); 284 m_decoder.reset();
270 m_client->didFetchDataLoadFailed(); 285 m_client->didFetchDataLoadFailed();
271 m_client.clear(); 286 m_client.clear();
272 } 287 }
273 288
274 void cancel() override 289 void cancel() override
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 // process. 367 // process.
353 m_reader.reset(); 368 m_reader.reset();
354 m_outStream->abort(); 369 m_outStream->abort();
355 m_client->didFetchDataLoadFailed(); 370 m_client->didFetchDataLoadFailed();
356 cleanup(); 371 cleanup();
357 return; 372 return;
358 } 373 }
359 } 374 }
360 } 375 }
361 376
377 WebTaskRunner* getTaskRunner() override
378 {
379 return m_client->getTaskRunner();
380 }
381
362 void cancel() override 382 void cancel() override
363 { 383 {
364 cleanup(); 384 cleanup();
365 } 385 }
366 386
367 void cleanup() 387 void cleanup()
368 { 388 {
369 m_reader.reset(); 389 m_reader.reset();
370 m_client.clear(); 390 m_client.clear();
371 m_outStream.clear(); 391 m_outStream.clear();
(...skipping 22 matching lines...) Expand all
394 { 414 {
395 return new FetchDataLoaderAsString(); 415 return new FetchDataLoaderAsString();
396 } 416 }
397 417
398 FetchDataLoader* FetchDataLoader::createLoaderAsStream(Stream* outStream) 418 FetchDataLoader* FetchDataLoader::createLoaderAsStream(Stream* outStream)
399 { 419 {
400 return new FetchDataLoaderAsStream(outStream); 420 return new FetchDataLoaderAsStream(outStream);
401 } 421 }
402 422
403 } // namespace blink 423 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698