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

Side by Side Diff: Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp

Issue 78053006: [oilpan] Move IDBDatabase, IDBDatabaseCallbacks, IDBDatabaseBackendInterface and other related clas… (Closed) Base URL: svn://svn.chromium.org/blink/branches/oilpan
Patch Set: Created 7 years 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 using namespace WebCore; 44 using namespace WebCore;
45 using WebKit::IDBDatabaseCallbacksProxy; 45 using WebKit::IDBDatabaseCallbacksProxy;
46 using WebKit::WebIDBDatabase; 46 using WebKit::WebIDBDatabase;
47 using WebKit::WebIDBDatabaseImpl; 47 using WebKit::WebIDBDatabaseImpl;
48 using WebKit::WebIDBDatabaseCallbacksImpl; 48 using WebKit::WebIDBDatabaseCallbacksImpl;
49 49
50 namespace { 50 namespace {
51 51
52 TEST(IDBDatabaseBackendTest, BackingStoreRetention) 52 TEST(IDBDatabaseBackendTest, BackingStoreRetention)
53 { 53 {
54 RefPtr<IDBFakeBackingStore> backingStore = adoptRef(new IDBFakeBackingStore( )); 54 RefPtr<IDBFakeBackingStore> backingStore;
55 EXPECT_TRUE(backingStore->hasOneRef()); 55 {
56 backingStore = adoptRef(new IDBFakeBackingStore());
57 EXPECT_TRUE(backingStore->hasOneRef());
56 58
57 IDBFactoryBackendImpl* factory = 0; 59 IDBFactoryBackendImpl* factory = 0;
58 RefPtr<IDBDatabaseBackendImpl> db = IDBDatabaseBackendImpl::create("db", bac kingStore.get(), factory, "uniqueid"); 60 IDBDatabaseBackendImpl::create("db", backingStore.get(), factory, "uniqu eid");
59 EXPECT_GT(backingStore->refCount(), 1); 61 EXPECT_GT(backingStore->refCount(), 1);
60 62 }
61 db.clear(); 63 Heap::collectGarbage(ThreadState::NoHeapPointersOnStack);
62 EXPECT_TRUE(backingStore->hasOneRef()); 64 EXPECT_TRUE(backingStore->hasOneRef());
63 } 65 }
64 66
65 class MockIDBCallbacks : public IDBCallbacks { 67 class MockIDBCallbacks : public IDBCallbacks {
66 public: 68 public:
67 static PassRefPtr<MockIDBCallbacks> create() { return adoptRef(new MockIDBCa llbacks()); } 69 static MockIDBCallbacks* create() { return new MockIDBCallbacks(); }
68 virtual ~MockIDBCallbacks() 70 virtual ~MockIDBCallbacks()
69 { 71 {
70 EXPECT_TRUE(m_wasSuccessDBCalled); 72 EXPECT_TRUE(m_wasSuccessDBCalled);
71 } 73 }
72 virtual void onError(PassRefPtr<IDBDatabaseError>) OVERRIDE { } 74 virtual void onError(PassRefPtr<IDBDatabaseError>) OVERRIDE { }
73 virtual void onSuccess(const Vector<String>&) OVERRIDE { } 75 virtual void onSuccess(const Vector<String>&) OVERRIDE { }
74 virtual void onSuccess(PassRefPtr<IDBCursorBackendInterface>, PassRefPtr<IDB Key>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>) OVERRIDE { } 76 virtual void onSuccess(PassRefPtr<IDBCursorBackendInterface>, PassRefPtr<IDB Key>, PassRefPtr<IDBKey>, PassRefPtr<SharedBuffer>) OVERRIDE { }
75 virtual void onSuccess(PassRefPtr<IDBDatabaseBackendInterface>, const IDBDat abaseMetadata&) OVERRIDE 77 virtual void onSuccess(IDBDatabaseBackendInterface*, const IDBDatabaseMetada ta&) OVERRIDE
76 { 78 {
77 m_wasSuccessDBCalled = true; 79 m_wasSuccessDBCalled = true;
78 } 80 }
79 virtual void onSuccess(PassRefPtr<IDBKey>) OVERRIDE { } 81 virtual void onSuccess(PassRefPtr<IDBKey>) OVERRIDE { }
80 virtual void onSuccess(PassRefPtr<SharedBuffer>) OVERRIDE { } 82 virtual void onSuccess(PassRefPtr<SharedBuffer>) OVERRIDE { }
81 virtual void onSuccess(PassRefPtr<SharedBuffer>, PassRefPtr<IDBKey>, const I DBKeyPath&) OVERRIDE { }; 83 virtual void onSuccess(PassRefPtr<SharedBuffer>, PassRefPtr<IDBKey>, const I DBKeyPath&) OVERRIDE { };
82 virtual void onSuccess(int64_t) OVERRIDE { } 84 virtual void onSuccess(int64_t) OVERRIDE { }
83 virtual void onSuccess() OVERRIDE { } 85 virtual void onSuccess() OVERRIDE { }
84 virtual void onSuccess(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<Sh aredBuffer>) OVERRIDE { }; 86 virtual void onSuccess(PassRefPtr<IDBKey>, PassRefPtr<IDBKey>, PassRefPtr<Sh aredBuffer>) OVERRIDE { };
85 virtual void onSuccessWithPrefetch(const Vector<RefPtr<IDBKey> >&, const Vec tor<RefPtr<IDBKey> >&, const Vector<RefPtr<SharedBuffer> >&) OVERRIDE { } 87 virtual void onSuccessWithPrefetch(const Vector<RefPtr<IDBKey> >&, const Vec tor<RefPtr<IDBKey> >&, const Vector<RefPtr<SharedBuffer> >&) OVERRIDE { }
86 private: 88 private:
87 MockIDBCallbacks() 89 MockIDBCallbacks()
88 : m_wasSuccessDBCalled(false) { } 90 : m_wasSuccessDBCalled(false) { }
89 bool m_wasSuccessDBCalled; 91 bool m_wasSuccessDBCalled;
90 }; 92 };
91 93
92 class FakeIDBDatabaseCallbacks : public IDBDatabaseCallbacks { 94 class FakeIDBDatabaseCallbacks : public IDBDatabaseCallbacks {
93 public: 95 public:
94 static PassRefPtr<FakeIDBDatabaseCallbacks> create() { return adoptRef(new F akeIDBDatabaseCallbacks()); } 96 static FakeIDBDatabaseCallbacks* create() { return new FakeIDBDatabaseCallba cks(); }
95 virtual ~FakeIDBDatabaseCallbacks() { } 97 virtual ~FakeIDBDatabaseCallbacks() { }
96 virtual void onVersionChange(int64_t oldVersion, int64_t newVersion) OVERRID E { } 98 virtual void onVersionChange(int64_t oldVersion, int64_t newVersion) OVERRID E { }
97 virtual void onForcedClose() OVERRIDE { } 99 virtual void onForcedClose() OVERRIDE { }
98 virtual void onAbort(int64_t transactionId, PassRefPtr<IDBDatabaseError> err or) OVERRIDE { } 100 virtual void onAbort(int64_t transactionId, PassRefPtr<IDBDatabaseError> err or) OVERRIDE { }
99 virtual void onComplete(int64_t transactionId) OVERRIDE { } 101 virtual void onComplete(int64_t transactionId) OVERRIDE { }
102 virtual void trace(Visitor*) OVERRIDE { }
100 private: 103 private:
101 FakeIDBDatabaseCallbacks() { } 104 FakeIDBDatabaseCallbacks() { }
102 }; 105 };
103 106
104 TEST(IDBDatabaseBackendTest, ConnectionLifecycle) 107 TEST(IDBDatabaseBackendTest, ConnectionLifecycle)
105 { 108 {
106 RefPtr<IDBFakeBackingStore> backingStore = adoptRef(new IDBFakeBackingStore( )); 109 RefPtr<IDBFakeBackingStore> backingStore = adoptRef(new IDBFakeBackingStore( ));
107 EXPECT_TRUE(backingStore->hasOneRef()); 110 EXPECT_TRUE(backingStore->hasOneRef());
108 111
109 IDBFactoryBackendImpl* factory = 0; 112 IDBFactoryBackendImpl* factory = 0;
110 RefPtr<IDBDatabaseBackendImpl> db = IDBDatabaseBackendImpl::create("db", bac kingStore.get(), factory, "uniqueid"); 113 IDBDatabaseBackendImpl* db = IDBDatabaseBackendImpl::create("db", backingSto re.get(), factory, "uniqueid");
111 EXPECT_GT(backingStore->refCount(), 1); 114 EXPECT_GT(backingStore->refCount(), 1);
112 115
113 RefPtr<MockIDBCallbacks> request1 = MockIDBCallbacks::create(); 116 MockIDBCallbacks* request1 = MockIDBCallbacks::create();
114 RefPtr<FakeIDBDatabaseCallbacks> connection1 = FakeIDBDatabaseCallbacks::cre ate(); 117 FakeIDBDatabaseCallbacks* connection1 = FakeIDBDatabaseCallbacks::create();
115 db->openConnection(request1, connection1, 1, IDBDatabaseMetadata::DefaultInt Version); 118 db->openConnection(request1, connection1, 1, IDBDatabaseMetadata::DefaultInt Version);
116 119
117 RefPtr<MockIDBCallbacks> request2 = MockIDBCallbacks::create(); 120 MockIDBCallbacks* request2 = MockIDBCallbacks::create();
118 RefPtr<FakeIDBDatabaseCallbacks> connection2 = FakeIDBDatabaseCallbacks::cre ate(); 121 FakeIDBDatabaseCallbacks* connection2 = FakeIDBDatabaseCallbacks::create();
119 db->openConnection(request2, connection2, 2, IDBDatabaseMetadata::DefaultInt Version); 122 db->openConnection(request2, connection2, 2, IDBDatabaseMetadata::DefaultInt Version);
120 123
121 db->close(connection1); 124 db->close(connection1);
122 EXPECT_GT(backingStore->refCount(), 1); 125 EXPECT_GT(backingStore->refCount(), 1);
123 126
124 db->close(connection2); 127 db->close(connection2);
125 EXPECT_TRUE(backingStore->hasOneRef()); 128 EXPECT_TRUE(backingStore->hasOneRef());
126 } 129 }
127 130
128 class MockIDBDatabaseBackendProxy : public IDBDatabaseBackendInterface { 131 class MockIDBDatabaseBackendProxy : public IDBDatabaseBackendInterface {
129 public: 132 public:
130 static PassRefPtr<MockIDBDatabaseBackendProxy> create(WebIDBDatabaseImpl* da tabase) 133 static MockIDBDatabaseBackendProxy* create(WebIDBDatabaseImpl* database)
131 { 134 {
132 return adoptRef(new MockIDBDatabaseBackendProxy(database)); 135 return new MockIDBDatabaseBackendProxy(database);
133 } 136 }
134 137
135 ~MockIDBDatabaseBackendProxy() 138 ~MockIDBDatabaseBackendProxy()
136 { 139 {
137 EXPECT_TRUE(m_wasCloseCalled); 140 EXPECT_TRUE(m_wasCloseCalled);
138 delete m_webDatabase; 141 delete m_webDatabase;
139 } 142 }
140 143
141 virtual IDBDatabaseMetadata metadata() const { return IDBDatabaseMetadata(); } 144 virtual IDBDatabaseMetadata metadata() const { return IDBDatabaseMetadata(); }
142 virtual void createObjectStore(int64_t transactionId, int64_t objectStoreId, const String& name, const IDBKeyPath&, bool autoIncrement) OVERRIDE { }; 145 virtual void createObjectStore(int64_t transactionId, int64_t objectStoreId, const String& name, const IDBKeyPath&, bool autoIncrement) OVERRIDE { };
143 virtual void deleteObjectStore(int64_t transactionId, int64_t objectStoreId) OVERRIDE { } 146 virtual void deleteObjectStore(int64_t transactionId, int64_t objectStoreId) OVERRIDE { }
144 virtual void createTransaction(int64_t, PassRefPtr<IDBDatabaseCallbacks>, co nst Vector<int64_t>&, unsigned short mode) OVERRIDE { } 147 virtual void createTransaction(int64_t, IDBDatabaseCallbacks*, const Vector< int64_t>&, unsigned short mode) OVERRIDE { }
145 148
146 virtual void close(PassRefPtr<IDBDatabaseCallbacks>) OVERRIDE 149 virtual void close(IDBDatabaseCallbacks*) OVERRIDE
147 { 150 {
148 m_wasCloseCalled = true; 151 m_wasCloseCalled = true;
149 m_webDatabase->close(); 152 m_webDatabase->close();
150 } 153 }
151 154
152 virtual void abort(int64_t transactionId) OVERRIDE { } 155 virtual void abort(int64_t transactionId) OVERRIDE { }
153 virtual void abort(int64_t transactionId, PassRefPtr<IDBDatabaseError>) OVER RIDE { } 156 virtual void abort(int64_t transactionId, PassRefPtr<IDBDatabaseError>) OVER RIDE { }
154 virtual void commit(int64_t transactionId) OVERRIDE { } 157 virtual void commit(int64_t transactionId) OVERRIDE { }
155 158
156 virtual void openCursor(int64_t transactionId, int64_t objectStoreId, int64_ t indexId, PassRefPtr<IDBKeyRange>, IndexedDB::CursorDirection, bool keyOnly, Ta skType, PassRefPtr<IDBCallbacks>) OVERRIDE { } 159 virtual void openCursor(int64_t transactionId, int64_t objectStoreId, int64_ t indexId, PassRefPtr<IDBKeyRange>, IndexedDB::CursorDirection, bool keyOnly, Ta skType, IDBCallbacks*) OVERRIDE { }
157 virtual void count(int64_t objectStoreId, int64_t indexId, int64_t transacti onId, PassRefPtr<IDBKeyRange>, PassRefPtr<IDBCallbacks>) OVERRIDE { } 160 virtual void count(int64_t objectStoreId, int64_t indexId, int64_t transacti onId, PassRefPtr<IDBKeyRange>, IDBCallbacks*) OVERRIDE { }
158 virtual void get(int64_t objectStoreId, int64_t indexId, int64_t transaction Id, PassRefPtr<IDBKeyRange>, bool keyOnly, PassRefPtr<IDBCallbacks>) OVERRIDE { } 161 virtual void get(int64_t objectStoreId, int64_t indexId, int64_t transaction Id, PassRefPtr<IDBKeyRange>, bool keyOnly, IDBCallbacks*) OVERRIDE { }
159 virtual void put(int64_t transactionId, int64_t objectStoreId, PassRefPtr<Sh aredBuffer>, PassRefPtr<IDBKey>, PutMode, PassRefPtr<IDBCallbacks>, const Vector <int64_t>& indexIds, const Vector<IndexKeys>&) OVERRIDE { } 162 virtual void put(int64_t transactionId, int64_t objectStoreId, PassRefPtr<Sh aredBuffer>, PassRefPtr<IDBKey>, PutMode, IDBCallbacks*, const Vector<int64_t>& indexIds, const Vector<IndexKeys>&) OVERRIDE { }
160 virtual void setIndexKeys(int64_t transactionId, int64_t objectStoreId, Pass RefPtr<IDBKey> prpPrimaryKey, const Vector<int64_t>& indexIds, const Vector<Inde xKeys>&) OVERRIDE { } 163 virtual void setIndexKeys(int64_t transactionId, int64_t objectStoreId, Pass RefPtr<IDBKey> prpPrimaryKey, const Vector<int64_t>& indexIds, const Vector<Inde xKeys>&) OVERRIDE { }
161 virtual void setIndexesReady(int64_t transactionId, int64_t objectStoreId, c onst Vector<int64_t>& indexIds) OVERRIDE { } 164 virtual void setIndexesReady(int64_t transactionId, int64_t objectStoreId, c onst Vector<int64_t>& indexIds) OVERRIDE { }
162 virtual void deleteRange(int64_t transactionId, int64_t objectStoreId, PassR efPtr<IDBKeyRange>, PassRefPtr<IDBCallbacks>) OVERRIDE { } 165 virtual void deleteRange(int64_t transactionId, int64_t objectStoreId, PassR efPtr<IDBKeyRange>, IDBCallbacks*) OVERRIDE { }
163 virtual void clear(int64_t transactionId, int64_t objectStoreId, PassRefPtr< IDBCallbacks>) OVERRIDE { } 166 virtual void clear(int64_t transactionId, int64_t objectStoreId, IDBCallback s*) OVERRIDE { }
164 167
165 virtual void createIndex(int64_t transactionId, int64_t objectStoreId, int64 _t indexId, const String& name, const IDBKeyPath&, bool unique, bool multiEntry) OVERRIDE { ASSERT_NOT_REACHED(); } 168 virtual void createIndex(int64_t transactionId, int64_t objectStoreId, int64 _t indexId, const String& name, const IDBKeyPath&, bool unique, bool multiEntry) OVERRIDE { ASSERT_NOT_REACHED(); }
166 virtual void deleteIndex(int64_t transactionId, int64_t objectStoreId, int64 _t indexId) OVERRIDE { ASSERT_NOT_REACHED(); } 169 virtual void deleteIndex(int64_t transactionId, int64_t objectStoreId, int64 _t indexId) OVERRIDE { ASSERT_NOT_REACHED(); }
167 170
171 virtual void trace(Visitor*) { }
172
168 private: 173 private:
169 MockIDBDatabaseBackendProxy(WebIDBDatabaseImpl* webDatabase) 174 MockIDBDatabaseBackendProxy(WebIDBDatabaseImpl* webDatabase)
170 : m_wasCloseCalled(false) 175 : m_wasCloseCalled(false)
171 , m_webDatabase(webDatabase) { } 176 , m_webDatabase(webDatabase) { }
172 177
173 bool m_wasCloseCalled; 178 bool m_wasCloseCalled;
174 179
175 WebIDBDatabaseImpl* m_webDatabase; 180 WebIDBDatabaseImpl* m_webDatabase;
176 }; 181 };
177 182
178 class MockIDBDatabaseCallbacks : public IDBDatabaseCallbacks { 183 class MockIDBDatabaseCallbacks : public IDBDatabaseCallbacks {
179 public: 184 public:
180 static PassRefPtr<MockIDBDatabaseCallbacks> create() { return adoptRef(new M ockIDBDatabaseCallbacks()); } 185 static MockIDBDatabaseCallbacks* create() { return new MockIDBDatabaseCallba cks(); }
181 virtual ~MockIDBDatabaseCallbacks() 186 virtual ~MockIDBDatabaseCallbacks()
182 { 187 {
183 EXPECT_TRUE(m_wasAbortCalled); 188 EXPECT_TRUE(m_wasAbortCalled);
184 } 189 }
185 virtual void onVersionChange(int64_t oldVersion, int64_t newVersion) OVERRID E { } 190 virtual void onVersionChange(int64_t oldVersion, int64_t newVersion) OVERRID E { }
186 virtual void onForcedClose() OVERRIDE { } 191 virtual void onForcedClose() OVERRIDE { }
187 virtual void onAbort(int64_t transactionId, PassRefPtr<IDBDatabaseError> err or) OVERRIDE 192 virtual void onAbort(int64_t transactionId, PassRefPtr<IDBDatabaseError> err or) OVERRIDE
188 { 193 {
189 m_wasAbortCalled = true; 194 m_wasAbortCalled = true;
190 } 195 }
191 virtual void onComplete(int64_t transactionId) OVERRIDE { } 196 virtual void onComplete(int64_t transactionId) OVERRIDE { }
197 virtual void trace(Visitor*) OVERRIDE { }
192 private: 198 private:
193 MockIDBDatabaseCallbacks() 199 MockIDBDatabaseCallbacks()
194 : m_wasAbortCalled(false) { } 200 : m_wasAbortCalled(false) { }
195 bool m_wasAbortCalled; 201 bool m_wasAbortCalled;
196 }; 202 };
197 203
198 TEST(IDBDatabaseBackendTest, ForcedClose) 204 TEST(IDBDatabaseBackendTest, ForcedClose)
199 { 205 {
200 RefPtr<IDBFakeBackingStore> backingStore = adoptRef(new IDBFakeBackingStore( )); 206 RefPtr<IDBFakeBackingStore> backingStore = adoptRef(new IDBFakeBackingStore( ));
201 EXPECT_TRUE(backingStore->hasOneRef()); 207 EXPECT_TRUE(backingStore->hasOneRef());
202 208
203 IDBFactoryBackendImpl* factory = 0; 209 IDBFactoryBackendImpl* factory = 0;
204 RefPtr<IDBDatabaseBackendImpl> backend = IDBDatabaseBackendImpl::create("db" , backingStore.get(), factory, "uniqueid"); 210 IDBDatabaseBackendImpl* backend = IDBDatabaseBackendImpl::create("db", backi ngStore.get(), factory, "uniqueid");
205 EXPECT_GT(backingStore->refCount(), 1); 211 EXPECT_GT(backingStore->refCount(), 1);
206 212
207 RefPtr<MockIDBDatabaseCallbacks> connection = MockIDBDatabaseCallbacks::crea te(); 213 MockIDBDatabaseCallbacks* connection = MockIDBDatabaseCallbacks::create();
208 RefPtr<IDBDatabaseCallbacksProxy> connectionProxy = IDBDatabaseCallbacksProx y::create(adoptPtr(new WebIDBDatabaseCallbacksImpl(connection))); 214 IDBDatabaseCallbacksProxy* connectionProxy = IDBDatabaseCallbacksProxy::crea te(adoptPtr(new WebIDBDatabaseCallbacksImpl(connection)));
209 WebIDBDatabaseImpl* webDatabase = new WebIDBDatabaseImpl(backend, connection Proxy); 215 WebIDBDatabaseImpl* webDatabase = new WebIDBDatabaseImpl(backend, connection Proxy);
210 216
211 RefPtr<MockIDBDatabaseBackendProxy> proxy = MockIDBDatabaseBackendProxy::cre ate(webDatabase); 217 MockIDBDatabaseBackendProxy* proxy = MockIDBDatabaseBackendProxy::create(web Database);
212 RefPtr<MockIDBCallbacks> request = MockIDBCallbacks::create(); 218 MockIDBCallbacks* request = MockIDBCallbacks::create();
213 const int64_t upgradeTransactionId = 3; 219 const int64_t upgradeTransactionId = 3;
214 backend->openConnection(request, connectionProxy, upgradeTransactionId, IDBD atabaseMetadata::DefaultIntVersion); 220 backend->openConnection(request, connectionProxy, upgradeTransactionId, IDBD atabaseMetadata::DefaultIntVersion);
215 221
216 ScriptExecutionContext* context = nullptr; 222 ScriptExecutionContext* context = nullptr;
217 RefPtr<IDBDatabase> idbDatabase = IDBDatabase::create(context, proxy, connec tion); 223 RefPtr<IDBDatabase> idbDatabase = IDBDatabase::create(context, proxy, connec tion);
218 224
219 const int64_t transactionId = 123; 225 const int64_t transactionId = 123;
220 const Vector<int64_t> scope; 226 const Vector<int64_t> scope;
221 backend->createTransaction(transactionId, connectionProxy, scope, IndexedDB: :TransactionReadOnly); 227 backend->createTransaction(transactionId, connectionProxy, scope, IndexedDB: :TransactionReadOnly);
222 228
223 webDatabase->forceClose(); 229 webDatabase->forceClose();
224 230
225 EXPECT_TRUE(backingStore->hasOneRef()); 231 EXPECT_TRUE(backingStore->hasOneRef());
226 } 232 }
227 233
228 } // namespace 234 } // namespace
OLDNEW
« no previous file with comments | « Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp ('k') | Source/WebKit/chromium/tests/IDBRequestTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698