#include "third_party/blink/renderer/core/fileapi/file_reader.h"
#include "base/auto_reset.h"
#include "base/timer/elapsed_timer.h"
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_arraybuffer_string.h"
#include "third_party/blink/renderer/core/event_target_names.h"
#include "third_party/blink/renderer/core/events/progress_event.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/fileapi/file.h"
#include "third_party/blink/renderer/core/fileapi/file_error.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
#include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "third_party/blink/renderer/platform/supplementable.h"
#include "third_party/blink/renderer/platform/wtf/deque.h"
#include "third_party/blink/renderer/platform/wtf/hash_set.h"
namespace blink {
namespace {
const std::string Utf8BlobUUID(Blob* blob) { … }
const std::string Utf8FilePath(Blob* blob) { … }
}
static const size_t kMaxOutstandingRequestsPerThread = …;
static const base::TimeDelta kProgressNotificationInterval = …;
class FileReader::ThrottlingController final
: public GarbageCollected<FileReader::ThrottlingController>,
public Supplement<ExecutionContext> { … };
const char FileReader::ThrottlingController::kSupplementName[] = …;
FileReader* FileReader::Create(ExecutionContext* context) { … }
FileReader::FileReader(ExecutionContext* context)
: … { … }
FileReader::~FileReader() = default;
const AtomicString& FileReader::InterfaceName() const { … }
void FileReader::ContextDestroyed() { … }
bool FileReader::HasPendingActivity() const { … }
void FileReader::readAsArrayBuffer(Blob* blob,
ExceptionState& exception_state) { … }
void FileReader::readAsBinaryString(Blob* blob,
ExceptionState& exception_state) { … }
void FileReader::readAsText(Blob* blob,
const String& encoding,
ExceptionState& exception_state) { … }
void FileReader::readAsText(Blob* blob, ExceptionState& exception_state) { … }
void FileReader::readAsDataURL(Blob* blob, ExceptionState& exception_state) { … }
void FileReader::ReadInternal(Blob* blob,
FileReadType type,
ExceptionState& exception_state) { … }
void FileReader::ExecutePendingRead() { … }
void FileReader::abort() { … }
V8UnionArrayBufferOrString* FileReader::result() const { … }
void FileReader::Terminate() { … }
FileErrorCode FileReader::DidStartLoading() { … }
FileErrorCode FileReader::DidReceiveData() { … }
void FileReader::DidFinishLoading(FileReaderData contents) { … }
void FileReader::DidFail(FileErrorCode error_code) { … }
void FileReader::FireEvent(const AtomicString& type) { … }
void FileReader::Trace(Visitor* visitor) const { … }
}