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

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

Issue 2314933005: Align IndexedDB metadata rollback on transaction abort to spec. (Closed)
Patch Set: Add failing tests. Created 4 years, 3 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 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 State m_state = Active; 130 State m_state = Active;
131 bool m_hasPendingActivity = true; 131 bool m_hasPendingActivity = true;
132 bool m_contextStopped = false; 132 bool m_contextStopped = false;
133 Member<DOMException> m_error; 133 Member<DOMException> m_error;
134 134
135 HeapListHashSet<Member<IDBRequest>> m_requestList; 135 HeapListHashSet<Member<IDBRequest>> m_requestList;
136 136
137 typedef HeapHashMap<String, Member<IDBObjectStore>> IDBObjectStoreMap; 137 typedef HeapHashMap<String, Member<IDBObjectStore>> IDBObjectStoreMap;
138 IDBObjectStoreMap m_objectStoreMap; 138 IDBObjectStoreMap m_objectStoreMap;
139 139
140 // Used to mark stores created in an aborted upgrade transaction as 140 // Tracks the stores deleted in this transaction.
141 // deleted. 141 //
142 HeapHashSet<Member<IDBObjectStore>> m_createdObjectStores; 142 // All the other stores modified in this transaction must be in
143 143 // m_objectStoreMap.
144 // Used to notify object stores (which are no longer in m_objectStoreMap)
145 // when the transaction is finished.
146 HeapHashSet<Member<IDBObjectStore>> m_deletedObjectStores; 144 HeapHashSet<Member<IDBObjectStore>> m_deletedObjectStores;
147 145
148 // Holds stores created, deleted, or used during upgrade transactions to
149 // reset metadata in case of abort.
150 HeapHashMap<Member<IDBObjectStore>, IDBObjectStoreMetadata> m_objectStoreCle anupMap;
151 IDBDatabaseMetadata m_previousMetadata; 146 IDBDatabaseMetadata m_previousMetadata;
152 }; 147 };
153 148
154 } // namespace blink 149 } // namespace blink
155 150
156 #endif // IDBTransaction_h 151 #endif // IDBTransaction_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698