| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 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 are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 QuotaTracker& QuotaTracker::instance() | 40 QuotaTracker& QuotaTracker::instance() |
| 41 { | 41 { |
| 42 AtomicallyInitializedStatic(QuotaTracker&, tracker = *new QuotaTracker); | 42 AtomicallyInitializedStatic(QuotaTracker&, tracker = *new QuotaTracker); |
| 43 return tracker; | 43 return tracker; |
| 44 } | 44 } |
| 45 | 45 |
| 46 void QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin( | 46 void QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin( |
| 47 const String& originIdentifier, const String& databaseName, | 47 const String& originIdentifier, const String& databaseName, |
| 48 unsigned long long* databaseSize, unsigned long long* spaceAvailable) | 48 unsigned long long* databaseSize, unsigned long long* spaceAvailable) |
| 49 { | 49 { |
| 50 // Extra scope to unlock prior to potentially calling WebKit::Platform. | 50 // Extra scope to unlock prior to potentially calling blink::Platform. |
| 51 { | 51 { |
| 52 MutexLocker lockData(m_dataGuard); | 52 MutexLocker lockData(m_dataGuard); |
| 53 ASSERT(m_databaseSizes.contains(originIdentifier)); | 53 ASSERT(m_databaseSizes.contains(originIdentifier)); |
| 54 HashMap<String, SizeMap>::const_iterator it = m_databaseSizes.find(origi
nIdentifier); | 54 HashMap<String, SizeMap>::const_iterator it = m_databaseSizes.find(origi
nIdentifier); |
| 55 ASSERT(it->value.contains(databaseName)); | 55 ASSERT(it->value.contains(databaseName)); |
| 56 *databaseSize = it->value.get(databaseName); | 56 *databaseSize = it->value.get(databaseName); |
| 57 | 57 |
| 58 if (m_spaceAvailableToOrigins.contains(originIdentifier)) { | 58 if (m_spaceAvailableToOrigins.contains(originIdentifier)) { |
| 59 *spaceAvailable = m_spaceAvailableToOrigins.get(originIdentifier); | 59 *spaceAvailable = m_spaceAvailableToOrigins.get(originIdentifier); |
| 60 return; | 60 return; |
| 61 } | 61 } |
| 62 } | 62 } |
| 63 | 63 |
| 64 // The embedder hasn't pushed this value to us, so we pull it as needed. | 64 // The embedder hasn't pushed this value to us, so we pull it as needed. |
| 65 *spaceAvailable = WebKit::Platform::current()->databaseGetSpaceAvailableForO
rigin(originIdentifier); | 65 *spaceAvailable = blink::Platform::current()->databaseGetSpaceAvailableForOr
igin(originIdentifier); |
| 66 } | 66 } |
| 67 | 67 |
| 68 void QuotaTracker::updateDatabaseSize( | 68 void QuotaTracker::updateDatabaseSize( |
| 69 const String& originIdentifier, const String& databaseName, | 69 const String& originIdentifier, const String& databaseName, |
| 70 unsigned long long databaseSize) | 70 unsigned long long databaseSize) |
| 71 { | 71 { |
| 72 MutexLocker lockData(m_dataGuard); | 72 MutexLocker lockData(m_dataGuard); |
| 73 HashMap<String, SizeMap>::iterator it = m_databaseSizes.add(originIdentifier
, SizeMap()).iterator; | 73 HashMap<String, SizeMap>::iterator it = m_databaseSizes.add(originIdentifier
, SizeMap()).iterator; |
| 74 it->value.set(databaseName, databaseSize); | 74 it->value.set(databaseName, databaseSize); |
| 75 } | 75 } |
| 76 | 76 |
| 77 void QuotaTracker::updateSpaceAvailableToOrigin(const String& originIdentifier,
unsigned long long spaceAvailable) | 77 void QuotaTracker::updateSpaceAvailableToOrigin(const String& originIdentifier,
unsigned long long spaceAvailable) |
| 78 { | 78 { |
| 79 MutexLocker lockData(m_dataGuard); | 79 MutexLocker lockData(m_dataGuard); |
| 80 m_spaceAvailableToOrigins.set(originIdentifier, spaceAvailable); | 80 m_spaceAvailableToOrigins.set(originIdentifier, spaceAvailable); |
| 81 } | 81 } |
| 82 | 82 |
| 83 void QuotaTracker::resetSpaceAvailableToOrigin(const String& originIdentifier) | 83 void QuotaTracker::resetSpaceAvailableToOrigin(const String& originIdentifier) |
| 84 { | 84 { |
| 85 MutexLocker lockData(m_dataGuard); | 85 MutexLocker lockData(m_dataGuard); |
| 86 m_spaceAvailableToOrigins.remove(originIdentifier); | 86 m_spaceAvailableToOrigins.remove(originIdentifier); |
| 87 } | 87 } |
| 88 | 88 |
| 89 } // namespace WebCore | 89 } // namespace WebCore |
| OLD | NEW |