From 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 27 Jun 2017 06:07:23 +0000 Subject: webkitgtk-2.16.5 --- Source/WebCore/fileapi/FileReader.h | 82 +++++++++++++------------------------ 1 file changed, 28 insertions(+), 54 deletions(-) (limited to 'Source/WebCore/fileapi/FileReader.h') diff --git a/Source/WebCore/fileapi/FileReader.h b/Source/WebCore/fileapi/FileReader.h index 789701635..c13a5929b 100644 --- a/Source/WebCore/fileapi/FileReader.h +++ b/Source/WebCore/fileapi/FileReader.h @@ -28,20 +28,15 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef FileReader_h -#define FileReader_h - -#if ENABLE(BLOB) +#pragma once #include "ActiveDOMObject.h" #include "EventTarget.h" +#include "ExceptionOr.h" #include "FileError.h" #include "FileReaderLoader.h" #include "FileReaderLoaderClient.h" #include -#include -#include -#include namespace JSC { class ArrayBuffer; @@ -50,13 +45,10 @@ class ArrayBuffer; namespace WebCore { class Blob; -class ScriptExecutionContext; - -typedef int ExceptionCode; -class FileReader final : public RefCounted, public ActiveDOMObject, public EventTargetWithInlineData, public FileReaderLoaderClient { +class FileReader final : public RefCounted, public ActiveDOMObject, public EventTargetWithInlineData, private FileReaderLoaderClient { public: - static PassRefPtr create(ScriptExecutionContext&); + static Ref create(ScriptExecutionContext&); virtual ~FileReader(); @@ -66,61 +58,47 @@ public: DONE = 2 }; - void readAsArrayBuffer(Blob*, ExceptionCode&); - void readAsBinaryString(Blob*, ExceptionCode&); - void readAsText(Blob*, const String& encoding, ExceptionCode&); - void readAsText(Blob*, ExceptionCode&); - void readAsDataURL(Blob*, ExceptionCode&); + ExceptionOr readAsArrayBuffer(Blob*); + ExceptionOr readAsBinaryString(Blob*); + ExceptionOr readAsText(Blob*, const String& encoding); + ExceptionOr readAsDataURL(Blob*); void abort(); void doAbort(); ReadyState readyState() const { return m_state; } - PassRefPtr error() { return m_error; } + RefPtr error() { return m_error; } FileReaderLoader::ReadType readType() const { return m_readType; } - PassRefPtr arrayBufferResult() const; - String stringResult(); - - // EventTarget - virtual EventTargetInterface eventTargetInterface() const override { return FileReaderEventTargetInterfaceType; } - virtual ScriptExecutionContext* scriptExecutionContext() const override { return ActiveDOMObject::scriptExecutionContext(); } - - // FileReaderLoaderClient - virtual void didStartLoading() override; - virtual void didReceiveData() override; - virtual void didFinishLoading() override; - virtual void didFail(int errorCode) override; + std::optional>> result() const; - using RefCounted::ref; - using RefCounted::deref; - - DEFINE_ATTRIBUTE_EVENT_LISTENER(loadstart); - DEFINE_ATTRIBUTE_EVENT_LISTENER(progress); - DEFINE_ATTRIBUTE_EVENT_LISTENER(load); - DEFINE_ATTRIBUTE_EVENT_LISTENER(abort); - DEFINE_ATTRIBUTE_EVENT_LISTENER(error); - DEFINE_ATTRIBUTE_EVENT_LISTENER(loadend); + using RefCounted::ref; + using RefCounted::deref; private: explicit FileReader(ScriptExecutionContext&); - // ActiveDOMObject - virtual bool canSuspend() const override; - virtual void stop() override; + const char* activeDOMObjectName() const final; + bool canSuspendForDocumentSuspension() const final; + void stop() final; + + EventTargetInterface eventTargetInterface() const final { return FileReaderEventTargetInterfaceType; } + ScriptExecutionContext* scriptExecutionContext() const final { return ActiveDOMObject::scriptExecutionContext(); } + void refEventTarget() final { ref(); } + void derefEventTarget() final { deref(); } - // EventTarget - virtual void refEventTarget() override { ref(); } - virtual void derefEventTarget() override { deref(); } + void didStartLoading() final; + void didReceiveData() final; + void didFinishLoading() final; + void didFail(int errorCode) final; - void terminate(); - void readInternal(Blob*, FileReaderLoader::ReadType, ExceptionCode&); + ExceptionOr readInternal(Blob&, FileReaderLoader::ReadType); void fireErrorEvent(int httpStatusCode); void fireEvent(const AtomicString& type); - ReadyState m_state; - bool m_aborting; + ReadyState m_state { EMPTY }; + bool m_aborting { false }; RefPtr m_blob; - FileReaderLoader::ReadType m_readType; + FileReaderLoader::ReadType m_readType { FileReaderLoader::ReadAsBinaryString }; String m_encoding; std::unique_ptr m_loader; RefPtr m_error; @@ -128,7 +106,3 @@ private: }; } // namespace WebCore - -#endif // ENABLE(BLOB) - -#endif // FileReader_h -- cgit v1.2.1