dom/workers/FileReaderSync.h

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:b80dfa8045a3
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7 #ifndef mozilla_dom_workers_filereadersync_h__
8 #define mozilla_dom_workers_filereadersync_h__
9
10 #include "Workers.h"
11
12 class nsIInputStream;
13 class nsIDOMBlob;
14
15 namespace mozilla {
16 class ErrorResult;
17
18 namespace dom {
19 class GlobalObject;
20 template<typename> class Optional;
21 }
22 }
23
24 BEGIN_WORKERS_NAMESPACE
25
26 class FileReaderSync MOZ_FINAL
27 {
28 NS_INLINE_DECL_REFCOUNTING(FileReaderSync)
29
30 private:
31 // Private destructor, to discourage deletion outside of Release():
32 ~FileReaderSync()
33 {
34 }
35
36 nsresult ConvertStream(nsIInputStream *aStream, const char *aCharset,
37 nsAString &aResult);
38
39 public:
40 static already_AddRefed<FileReaderSync>
41 Constructor(const GlobalObject& aGlobal, ErrorResult& aRv);
42
43 JSObject* WrapObject(JSContext* aCx);
44
45 void ReadAsArrayBuffer(JSContext* aCx, JS::Handle<JSObject*> aScopeObj,
46 JS::Handle<JSObject*> aBlob,
47 JS::MutableHandle<JSObject*> aRetval,
48 ErrorResult& aRv);
49 void ReadAsBinaryString(JS::Handle<JSObject*> aBlob, nsAString& aResult,
50 ErrorResult& aRv);
51 void ReadAsText(JS::Handle<JSObject*> aBlob,
52 const Optional<nsAString>& aEncoding,
53 nsAString& aResult, ErrorResult& aRv);
54 void ReadAsDataURL(JS::Handle<JSObject*> aBlob, nsAString& aResult,
55 ErrorResult& aRv);
56 };
57
58 END_WORKERS_NAMESPACE
59
60 #endif // mozilla_dom_workers_filereadersync_h__

mercurial