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

Side by Side Diff: third_party/WebKit/Source/core/fileapi/FileReader.cpp

Issue 2583093002: Reduce SuspendableObjects (Closed)
Patch Set: Created 4 years 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 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 const size_t m_maxRunningReaders; 180 const size_t m_maxRunningReaders;
181 181
182 using FileReaderDeque = HeapDeque<Member<FileReader>>; 182 using FileReaderDeque = HeapDeque<Member<FileReader>>;
183 using FileReaderHashSet = HeapHashSet<Member<FileReader>>; 183 using FileReaderHashSet = HeapHashSet<Member<FileReader>>;
184 184
185 FileReaderDeque m_pendingReaders; 185 FileReaderDeque m_pendingReaders;
186 FileReaderHashSet m_runningReaders; 186 FileReaderHashSet m_runningReaders;
187 }; 187 };
188 188
189 FileReader* FileReader::create(ExecutionContext* context) { 189 FileReader* FileReader::create(ExecutionContext* context) {
190 FileReader* fileReader = new FileReader(context); 190 return new FileReader(context);
191 fileReader->suspendIfNeeded();
192 return fileReader;
193 } 191 }
194 192
195 FileReader::FileReader(ExecutionContext* context) 193 FileReader::FileReader(ExecutionContext* context)
196 : SuspendableObject(context), 194 : ContextLifecycleObserver(context),
197 m_state(kEmpty), 195 m_state(kEmpty),
198 m_loadingState(LoadingStateNone), 196 m_loadingState(LoadingStateNone),
199 m_stillFiringEvents(false), 197 m_stillFiringEvents(false),
200 m_readType(FileReaderLoader::ReadAsBinaryString), 198 m_readType(FileReaderLoader::ReadAsBinaryString),
201 m_lastProgressNotificationTimeMS(0) {} 199 m_lastProgressNotificationTimeMS(0) {}
202 200
203 FileReader::~FileReader() { 201 FileReader::~FileReader() {
204 terminate(); 202 terminate();
205 } 203 }
206 204
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 dispatchEvent(ProgressEvent::create(type, true, m_loader->bytesLoaded(), 463 dispatchEvent(ProgressEvent::create(type, true, m_loader->bytesLoaded(),
466 m_loader->totalBytes())); 464 m_loader->totalBytes()));
467 else 465 else
468 dispatchEvent( 466 dispatchEvent(
469 ProgressEvent::create(type, false, m_loader->bytesLoaded(), 0)); 467 ProgressEvent::create(type, false, m_loader->bytesLoaded(), 0));
470 } 468 }
471 469
472 DEFINE_TRACE(FileReader) { 470 DEFINE_TRACE(FileReader) {
473 visitor->trace(m_error); 471 visitor->trace(m_error);
474 EventTargetWithInlineData::trace(visitor); 472 EventTargetWithInlineData::trace(visitor);
475 SuspendableObject::trace(visitor); 473 ContextLifecycleObserver::trace(visitor);
476 } 474 }
477 475
478 } // namespace blink 476 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/fileapi/FileReader.h ('k') | third_party/WebKit/Source/core/html/PublicURLManager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698