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

Side by Side Diff: third_party/WebKit/Source/modules/indexeddb/IndexedDBClient.h

Issue 1865213006: Replace setIndexedDBClientCreateFunction madness with Supplements (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Simplify per review feedback Created 4 years, 8 months 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 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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698