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

Side by Side Diff: Source/modules/indexeddb/IDBTransaction.cpp

Issue 325683002: [IndexedDB] Use consistent enums on both sides of IPC. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Incorporated review comments as build bot was failing with previous patch. Created 6 years, 6 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 25 matching lines...) Expand all
36 #include "modules/indexeddb/IDBIndex.h" 36 #include "modules/indexeddb/IDBIndex.h"
37 #include "modules/indexeddb/IDBObjectStore.h" 37 #include "modules/indexeddb/IDBObjectStore.h"
38 #include "modules/indexeddb/IDBOpenDBRequest.h" 38 #include "modules/indexeddb/IDBOpenDBRequest.h"
39 #include "modules/indexeddb/IDBPendingTransactionMonitor.h" 39 #include "modules/indexeddb/IDBPendingTransactionMonitor.h"
40 #include "modules/indexeddb/IDBTracing.h" 40 #include "modules/indexeddb/IDBTracing.h"
41 41
42 using blink::WebIDBDatabase; 42 using blink::WebIDBDatabase;
43 43
44 namespace WebCore { 44 namespace WebCore {
45 45
46 IDBTransaction* IDBTransaction::create(ExecutionContext* context, int64_t id, co nst Vector<String>& objectStoreNames, WebIDBDatabase::TransactionMode mode, IDBD atabase* db) 46 IDBTransaction* IDBTransaction::create(ExecutionContext* context, int64_t id, co nst Vector<String>& objectStoreNames, blink::WebIDBTransactionMode mode, IDBData base* db)
47 { 47 {
48 IDBOpenDBRequest* openDBRequest = 0; 48 IDBOpenDBRequest* openDBRequest = 0;
49 IDBTransaction* transaction = adoptRefCountedGarbageCollectedWillBeNoop(new IDBTransaction(context, id, objectStoreNames, mode, db, openDBRequest, IDBDataba seMetadata())); 49 IDBTransaction* transaction = adoptRefCountedGarbageCollectedWillBeNoop(new IDBTransaction(context, id, objectStoreNames, mode, db, openDBRequest, IDBDataba seMetadata()));
50 transaction->suspendIfNeeded(); 50 transaction->suspendIfNeeded();
51 return transaction; 51 return transaction;
52 } 52 }
53 53
54 IDBTransaction* IDBTransaction::create(ExecutionContext* context, int64_t id, ID BDatabase* db, IDBOpenDBRequest* openDBRequest, const IDBDatabaseMetadata& previ ousMetadata) 54 IDBTransaction* IDBTransaction::create(ExecutionContext* context, int64_t id, ID BDatabase* db, IDBOpenDBRequest* openDBRequest, const IDBDatabaseMetadata& previ ousMetadata)
55 { 55 {
56 IDBTransaction* transaction = adoptRefCountedGarbageCollectedWillBeNoop(new IDBTransaction(context, id, Vector<String>(), WebIDBDatabase::TransactionVersion Change, db, openDBRequest, previousMetadata)); 56 IDBTransaction* transaction = adoptRefCountedGarbageCollectedWillBeNoop(new IDBTransaction(context, id, Vector<String>(), blink::WebIDBTransactionModeVersio nChange, db, openDBRequest, previousMetadata));
57 transaction->suspendIfNeeded(); 57 transaction->suspendIfNeeded();
58 return transaction; 58 return transaction;
59 } 59 }
60 60
61 const AtomicString& IDBTransaction::modeReadOnly() 61 const AtomicString& IDBTransaction::modeReadOnly()
62 { 62 {
63 DEFINE_STATIC_LOCAL(AtomicString, readonly, ("readonly", AtomicString::Const ructFromLiteral)); 63 DEFINE_STATIC_LOCAL(AtomicString, readonly, ("readonly", AtomicString::Const ructFromLiteral));
64 return readonly; 64 return readonly;
65 } 65 }
66 66
67 const AtomicString& IDBTransaction::modeReadWrite() 67 const AtomicString& IDBTransaction::modeReadWrite()
68 { 68 {
69 DEFINE_STATIC_LOCAL(AtomicString, readwrite, ("readwrite", AtomicString::Con structFromLiteral)); 69 DEFINE_STATIC_LOCAL(AtomicString, readwrite, ("readwrite", AtomicString::Con structFromLiteral));
70 return readwrite; 70 return readwrite;
71 } 71 }
72 72
73 const AtomicString& IDBTransaction::modeVersionChange() 73 const AtomicString& IDBTransaction::modeVersionChange()
74 { 74 {
75 DEFINE_STATIC_LOCAL(AtomicString, versionchange, ("versionchange", AtomicStr ing::ConstructFromLiteral)); 75 DEFINE_STATIC_LOCAL(AtomicString, versionchange, ("versionchange", AtomicStr ing::ConstructFromLiteral));
76 return versionchange; 76 return versionchange;
77 } 77 }
78 78
79 IDBTransaction::IDBTransaction(ExecutionContext* context, int64_t id, const Vect or<String>& objectStoreNames, WebIDBDatabase::TransactionMode mode, IDBDatabase* db, IDBOpenDBRequest* openDBRequest, const IDBDatabaseMetadata& previousMetadat a) 79 IDBTransaction::IDBTransaction(ExecutionContext* context, int64_t id, const Vect or<String>& objectStoreNames, blink::WebIDBTransactionMode mode, IDBDatabase* db , IDBOpenDBRequest* openDBRequest, const IDBDatabaseMetadata& previousMetadata)
80 : ActiveDOMObject(context) 80 : ActiveDOMObject(context)
81 , m_id(id) 81 , m_id(id)
82 , m_database(db) 82 , m_database(db)
83 , m_objectStoreNames(objectStoreNames) 83 , m_objectStoreNames(objectStoreNames)
84 , m_openDBRequest(openDBRequest) 84 , m_openDBRequest(openDBRequest)
85 , m_mode(mode) 85 , m_mode(mode)
86 , m_state(Active) 86 , m_state(Active)
87 , m_hasPendingActivity(true) 87 , m_hasPendingActivity(true)
88 , m_contextStopped(false) 88 , m_contextStopped(false)
89 , m_previousMetadata(previousMetadata) 89 , m_previousMetadata(previousMetadata)
90 { 90 {
91 ScriptWrappable::init(this); 91 ScriptWrappable::init(this);
92 if (mode == WebIDBDatabase::TransactionVersionChange) { 92 if (mode == blink::WebIDBTransactionModeVersionChange) {
93 // Not active until the callback. 93 // Not active until the callback.
94 m_state = Inactive; 94 m_state = Inactive;
95 } 95 }
96 96
97 if (m_state == Active) 97 if (m_state == Active)
98 IDBPendingTransactionMonitor::from(*context).addNewTransaction(*this); 98 IDBPendingTransactionMonitor::from(*context).addNewTransaction(*this);
99 m_database->transactionCreated(this); 99 m_database->transactionCreated(this);
100 } 100 }
101 101
102 IDBTransaction::~IDBTransaction() 102 IDBTransaction::~IDBTransaction()
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 } 292 }
293 293
294 bool IDBTransaction::hasPendingActivity() const 294 bool IDBTransaction::hasPendingActivity() const
295 { 295 {
296 // FIXME: In an ideal world, we should return true as long as anyone has a o r can 296 // FIXME: In an ideal world, we should return true as long as anyone has a o r can
297 // get a handle to us or any child request object and any of those ha ve 297 // get a handle to us or any child request object and any of those ha ve
298 // event listeners. This is in order to handle user generated events properly. 298 // event listeners. This is in order to handle user generated events properly.
299 return m_hasPendingActivity && !m_contextStopped; 299 return m_hasPendingActivity && !m_contextStopped;
300 } 300 }
301 301
302 WebIDBDatabase::TransactionMode IDBTransaction::stringToMode(const String& modeS tring, ExceptionState& exceptionState) 302 blink::WebIDBTransactionMode IDBTransaction::stringToMode(const String& modeStri ng, ExceptionState& exceptionState)
303 { 303 {
304 if (modeString.isNull() 304 if (modeString.isNull()
305 || modeString == IDBTransaction::modeReadOnly()) 305 || modeString == IDBTransaction::modeReadOnly())
306 return WebIDBDatabase::TransactionReadOnly; 306 return blink::WebIDBTransactionModeReadOnly;
307 if (modeString == IDBTransaction::modeReadWrite()) 307 if (modeString == IDBTransaction::modeReadWrite())
308 return WebIDBDatabase::TransactionReadWrite; 308 return blink::WebIDBTransactionModeReadWrite;
309 309
310 exceptionState.throwTypeError("The mode provided ('" + modeString + "') is n ot one of 'readonly' or 'readwrite'."); 310 exceptionState.throwTypeError("The mode provided ('" + modeString + "') is n ot one of 'readonly' or 'readwrite'.");
311 return WebIDBDatabase::TransactionReadOnly; 311 return blink::WebIDBTransactionModeReadOnly;
312 } 312 }
313 313
314 const AtomicString& IDBTransaction::modeToString(WebIDBDatabase::TransactionMode mode) 314 const AtomicString& IDBTransaction::modeToString(blink::WebIDBTransactionMode mo de)
315 { 315 {
316 switch (mode) { 316 switch (mode) {
317 case WebIDBDatabase::TransactionReadOnly: 317 case blink::WebIDBTransactionModeReadOnly:
318 return IDBTransaction::modeReadOnly(); 318 return IDBTransaction::modeReadOnly();
319 break; 319 break;
320 320
321 case WebIDBDatabase::TransactionReadWrite: 321 case blink::WebIDBTransactionModeReadWrite:
322 return IDBTransaction::modeReadWrite(); 322 return IDBTransaction::modeReadWrite();
323 break; 323 break;
324 324
325 case WebIDBDatabase::TransactionVersionChange: 325 case blink::WebIDBTransactionModeVersionChange:
326 return IDBTransaction::modeVersionChange(); 326 return IDBTransaction::modeVersionChange();
327 break; 327 break;
328 } 328 }
329 329
330 ASSERT_NOT_REACHED(); 330 ASSERT_NOT_REACHED();
331 return IDBTransaction::modeReadOnly(); 331 return IDBTransaction::modeReadOnly();
332 } 332 }
333 333
334 const AtomicString& IDBTransaction::interfaceName() const 334 const AtomicString& IDBTransaction::interfaceName() const
335 { 335 {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 event->setTarget(this); 399 event->setTarget(this);
400 eventQueue->enqueueEvent(event); 400 eventQueue->enqueueEvent(event);
401 } 401 }
402 402
403 blink::WebIDBDatabase* IDBTransaction::backendDB() const 403 blink::WebIDBDatabase* IDBTransaction::backendDB() const
404 { 404 {
405 return m_database->backend(); 405 return m_database->backend();
406 } 406 }
407 407
408 } // namespace WebCore 408 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/modules/indexeddb/IDBTransaction.h ('k') | Source/modules/indexeddb/IDBTransactionTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698