OLD | NEW |
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 | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 11 matching lines...) Expand all Loading... |
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 */ | 27 */ |
28 #ifndef IndexedDBClient_h | 28 #ifndef IndexedDBClient_h |
29 #define IndexedDBClient_h | 29 #define IndexedDBClient_h |
30 | 30 |
31 #include "modules/ModulesExport.h" | 31 #include "modules/ModulesExport.h" |
| 32 #include "platform/Supplementable.h" |
32 #include "platform/heap/Handle.h" | 33 #include "platform/heap/Handle.h" |
33 #include "wtf/text/WTFString.h" | 34 #include "wtf/text/WTFString.h" |
34 | 35 |
35 namespace blink { | 36 namespace blink { |
36 | 37 |
37 class ExecutionContext; | 38 class ExecutionContext; |
| 39 class LocalFrame; |
| 40 class WorkerClients; |
38 | 41 |
39 class IndexedDBClient : public GarbageCollected<IndexedDBClient> { | 42 class MODULES_EXPORT IndexedDBClient : public Supplement<LocalFrame>, public Sup
plement<WorkerClients>, public GarbageCollectedFinalized<IndexedDBClient> { |
| 43 USING_GARBAGE_COLLECTED_MIXIN(IndexedDBClient); |
| 44 WTF_MAKE_NONCOPYABLE(IndexedDBClient); |
40 public: | 45 public: |
41 static IndexedDBClient* create(); | 46 IndexedDBClient(); |
| 47 virtual ~IndexedDBClient() {} |
| 48 |
42 DEFINE_INLINE_VIRTUAL_TRACE() { } | 49 DEFINE_INLINE_VIRTUAL_TRACE() { } |
43 | 50 |
44 virtual bool allowIndexedDB(ExecutionContext*, const String& name) = 0; | 51 virtual bool allowIndexedDB(ExecutionContext*, const String& name) = 0; |
| 52 |
| 53 static IndexedDBClient* from(ExecutionContext*); |
| 54 static const char* supplementName(); |
45 }; | 55 }; |
46 | 56 |
47 typedef IndexedDBClient* CreateIndexedDBClient(); | 57 MODULES_EXPORT void provideIndexedDBClientTo(LocalFrame&, IndexedDBClient*); |
48 | 58 |
49 MODULES_EXPORT void setIndexedDBClientCreateFunction(CreateIndexedDBClient); | 59 MODULES_EXPORT void provideIndexedDBClientToWorker(WorkerClients*, IndexedDBClie
nt*); |
50 | 60 |
51 } // namespace blink | 61 } // namespace blink |
52 | 62 |
53 #endif // IndexedDBClient_h | 63 #endif // IndexedDBClient_h |
OLD | NEW |