OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/indexed_db/indexed_db_database.h" | 5 #include "content/browser/indexed_db/indexed_db_database.h" |
6 | 6 |
7 #include <math.h> | 7 #include <math.h> |
8 | 8 |
9 #include <limits> | 9 #include <limits> |
10 #include <memory> | 10 #include <memory> |
(...skipping 1722 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1733 } | 1733 } |
1734 | 1734 |
1735 void IndexedDBDatabase::OpenConnection( | 1735 void IndexedDBDatabase::OpenConnection( |
1736 const IndexedDBPendingConnection& connection) { | 1736 const IndexedDBPendingConnection& connection) { |
1737 DCHECK(backing_store_.get()); | 1737 DCHECK(backing_store_.get()); |
1738 | 1738 |
1739 if (IsOpenConnectionBlocked()) { | 1739 if (IsOpenConnectionBlocked()) { |
1740 // The backing store only detects data loss when it is first opened. The | 1740 // The backing store only detects data loss when it is first opened. The |
1741 // presence of existing connections means we didn't even check for data loss | 1741 // presence of existing connections means we didn't even check for data loss |
1742 // so there'd better not be any. | 1742 // so there'd better not be any. |
1743 DCHECK_NE(blink::WebIDBDataLossTotal, connection.callbacks->data_loss()); | 1743 DCHECK_NE(blink::WebIDBDataLossTotal, |
| 1744 connection.callbacks->data_loss_info().status); |
1744 pending_open_calls_.push(connection); | 1745 pending_open_calls_.push(connection); |
1745 return; | 1746 return; |
1746 } | 1747 } |
1747 | 1748 |
1748 if (metadata_.id == kInvalidId) { | 1749 if (metadata_.id == kInvalidId) { |
1749 // The database was deleted then immediately re-opened; OpenInternal() | 1750 // The database was deleted then immediately re-opened; OpenInternal() |
1750 // recreates it in the backing store. | 1751 // recreates it in the backing store. |
1751 if (OpenInternal().ok()) { | 1752 if (OpenInternal().ok()) { |
1752 DCHECK_EQ(IndexedDBDatabaseMetadata::NO_VERSION, metadata_.version); | 1753 DCHECK_EQ(IndexedDBDatabaseMetadata::NO_VERSION, metadata_.version); |
1753 } else { | 1754 } else { |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1823 } | 1824 } |
1824 | 1825 |
1825 void IndexedDBDatabase::RunVersionChangeTransaction( | 1826 void IndexedDBDatabase::RunVersionChangeTransaction( |
1826 scoped_refptr<IndexedDBCallbacks> callbacks, | 1827 scoped_refptr<IndexedDBCallbacks> callbacks, |
1827 std::unique_ptr<IndexedDBConnection> connection, | 1828 std::unique_ptr<IndexedDBConnection> connection, |
1828 int64_t transaction_id, | 1829 int64_t transaction_id, |
1829 int64_t requested_version) { | 1830 int64_t requested_version) { |
1830 DCHECK(callbacks.get()); | 1831 DCHECK(callbacks.get()); |
1831 DCHECK(connections_.count(connection.get())); | 1832 DCHECK(connections_.count(connection.get())); |
1832 if (ConnectionCount() > 1) { | 1833 if (ConnectionCount() > 1) { |
1833 DCHECK_NE(blink::WebIDBDataLossTotal, callbacks->data_loss()); | 1834 DCHECK_NE(blink::WebIDBDataLossTotal, callbacks->data_loss_info().status); |
1834 // Front end ensures the event is not fired at connections that have | 1835 // Front end ensures the event is not fired at connections that have |
1835 // close_pending set. | 1836 // close_pending set. |
1836 for (const auto* iter : connections_) { | 1837 for (const auto* iter : connections_) { |
1837 if (iter != connection.get()) { | 1838 if (iter != connection.get()) { |
1838 iter->callbacks()->OnVersionChange(metadata_.version, | 1839 iter->callbacks()->OnVersionChange(metadata_.version, |
1839 requested_version); | 1840 requested_version); |
1840 } | 1841 } |
1841 } | 1842 } |
1842 // OnBlocked will be fired at the request when one of the other | 1843 // OnBlocked will be fired at the request when one of the other |
1843 // connections acks that the OnVersionChange was ignored. | 1844 // connections acks that the OnVersionChange was ignored. |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2009 | 2010 |
2010 void IndexedDBDatabase::VersionChangeAbortOperation( | 2011 void IndexedDBDatabase::VersionChangeAbortOperation( |
2011 int64_t previous_version, | 2012 int64_t previous_version, |
2012 IndexedDBTransaction* transaction) { | 2013 IndexedDBTransaction* transaction) { |
2013 DCHECK(!transaction); | 2014 DCHECK(!transaction); |
2014 IDB_TRACE("IndexedDBDatabase::VersionChangeAbortOperation"); | 2015 IDB_TRACE("IndexedDBDatabase::VersionChangeAbortOperation"); |
2015 metadata_.version = previous_version; | 2016 metadata_.version = previous_version; |
2016 } | 2017 } |
2017 | 2018 |
2018 } // namespace content | 2019 } // namespace content |
OLD | NEW |