Diff
Modified: trunk/Source/WebCore/ChangeLog (208557 => 208558)
--- trunk/Source/WebCore/ChangeLog 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/ChangeLog 2016-11-10 20:52:17 UTC (rev 208558)
@@ -1,3 +1,54 @@
+2016-11-10 Alex Christensen <achristen...@webkit.org>
+
+ Move SecurityOrigin::databaseIdentifier() to SecurityOriginData
+ https://bugs.webkit.org/show_bug.cgi?id=164573
+
+ Reviewed by Brady Eidson.
+
+ No change in behavior.
+
+ * Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
+ (WebCore::WebKitMediaKeySession::mediaKeysStorageDirectory):
+ * Modules/indexeddb/IDBDatabaseIdentifier.cpp:
+ (WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot):
+ * Modules/indexeddb/server/IDBServer.cpp:
+ (WebCore::IDBServer::IDBServer::performCloseAndDeleteDatabasesForOrigins):
+ * Modules/webdatabase/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::hasEntryForOriginNoLock):
+ (WebCore::DatabaseTracker::hasEntryForDatabase):
+ (WebCore::DatabaseTracker::originPath):
+ (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
+ (WebCore::DatabaseTracker::databaseNamesForOriginNoLock):
+ (WebCore::DatabaseTracker::detailsForNameAndOrigin):
+ (WebCore::DatabaseTracker::setDatabaseDetails):
+ (WebCore::DatabaseTracker::originLockFor):
+ (WebCore::DatabaseTracker::deleteOriginLockFor):
+ (WebCore::DatabaseTracker::quotaForOriginNoLock):
+ (WebCore::DatabaseTracker::setQuota):
+ (WebCore::DatabaseTracker::addDatabase):
+ (WebCore::DatabaseTracker::deleteOrigin):
+ (WebCore::DatabaseTracker::deleteDatabase):
+ (WebCore::DatabaseTracker::removeDeletedOpenedDatabases):
+ * Modules/webdatabase/SQLTransactionCoordinator.cpp:
+ (WebCore::getDatabaseIdentifier):
+ * dom/Document.cpp:
+ (WebCore::Document::origin):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::mediaPlayerMediaKeysStorageDirectory):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::calculateQuotaForOrigin):
+ (WebCore::ApplicationCacheStorage::calculateUsageForOrigin):
+ (WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache):
+ (WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin):
+ (WebCore::ApplicationCacheStorage::store):
+ (WebCore::ApplicationCacheStorage::ensureOriginRecord):
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::databaseIdentifier): Deleted.
+ * page/SecurityOrigin.h:
+ * page/SecurityOriginData.cpp:
+ (WebCore::SecurityOriginData::databaseIdentifier):
+ * page/SecurityOriginData.h:
+
2016-11-10 Zalan Bujtas <za...@apple.com>
RenderElement::invalidateFlowThreadContainingBlockIncludingDescendants should be on RenderBlock.
Modified: trunk/Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp (208557 => 208558)
--- trunk/Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -32,6 +32,7 @@
#include "EventNames.h"
#include "ExceptionCode.h"
#include "FileSystem.h"
+#include "SecurityOriginData.h"
#include "Settings.h"
#include "WebKitMediaKeyError.h"
#include "WebKitMediaKeyMessageEvent.h"
@@ -234,7 +235,7 @@
if (!origin)
return emptyString();
- return pathByAppendingComponent(storageDirectory, origin->databaseIdentifier());
+ return pathByAppendingComponent(storageDirectory, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
}
bool WebKitMediaKeySession::hasPendingActivity() const
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp (208557 => 208558)
--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -63,13 +63,13 @@
String IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot(const SecurityOriginData& topLevelOrigin, const SecurityOriginData& openingOrigin, const String& rootDirectory)
{
- String mainFrameDirectory = pathByAppendingComponent(rootDirectory, topLevelOrigin.securityOrigin()->databaseIdentifier());
+ String mainFrameDirectory = pathByAppendingComponent(rootDirectory, topLevelOrigin.databaseIdentifier());
// If the opening origin and main frame origins are the same, there is no partitioning.
if (openingOrigin == topLevelOrigin)
return mainFrameDirectory;
- return pathByAppendingComponent(mainFrameDirectory, openingOrigin.securityOrigin()->databaseIdentifier());
+ return pathByAppendingComponent(mainFrameDirectory, openingOrigin.databaseIdentifier());
}
#if !LOG_DISABLED
Modified: trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp (208557 => 208558)
--- trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -651,7 +651,7 @@
{
if (!m_databaseDirectoryPath.isEmpty()) {
for (const auto& origin : origins) {
- String originPath = pathByAppendingComponent(m_databaseDirectoryPath, origin.securityOrigin()->databaseIdentifier());
+ String originPath = pathByAppendingComponent(m_databaseDirectoryPath, origin.databaseIdentifier());
removeAllDatabasesForOriginPath(originPath, std::chrono::system_clock::time_point::min());
}
}
Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp (208557 => 208558)
--- trunk/Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -41,6 +41,7 @@
#include "OriginLock.h"
#include "Page.h"
#include "SecurityOrigin.h"
+#include "SecurityOriginData.h"
#include "SecurityOriginHash.h"
#include "SQLiteFileSystem.h"
#include "SQLiteStatement.h"
@@ -250,7 +251,7 @@
return false;
}
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
return statement.step() == SQLITE_ROW;
}
@@ -276,7 +277,7 @@
if (statement.prepare() != SQLITE_OK)
return false;
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
statement.bindText(2, databaseIdentifier);
return statement.step() == SQLITE_ROW;
@@ -330,7 +331,7 @@
String DatabaseTracker::originPath(SecurityOrigin* origin) const
{
- return SQLiteFileSystem::appendDatabaseFileNameToPath(m_databaseDirectoryPath.isolatedCopy(), origin->databaseIdentifier());
+ return SQLiteFileSystem::appendDatabaseFileNameToPath(m_databaseDirectoryPath.isolatedCopy(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
}
static String generateDatabaseFileName()
@@ -347,7 +348,7 @@
{
ASSERT(!m_databaseGuard.tryLock());
- String originIdentifier = origin->databaseIdentifier();
+ String originIdentifier = SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier();
String originPath = this->originPath(origin);
// Make sure the path for this SecurityOrigin exists
@@ -433,7 +434,7 @@
if (statement.prepare() != SQLITE_OK)
return false;
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
int result;
while ((result = statement.step()) == SQLITE_ROW)
@@ -440,7 +441,7 @@
resultVector.append(statement.getColumnText(0));
if (result != SQLITE_DONE) {
- LOG_ERROR("Failed to retrieve all database names for origin %s", origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Failed to retrieve all database names for origin %s", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
return false;
}
@@ -463,7 +464,7 @@
DatabaseDetails DatabaseTracker::detailsForNameAndOrigin(const String& name, SecurityOrigin* origin)
{
- String originIdentifier = origin->databaseIdentifier();
+ String originIdentifier = SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier();
String displayName;
int64_t expectedUsage;
@@ -500,7 +501,7 @@
void DatabaseTracker::setDatabaseDetails(SecurityOrigin* origin, const String& name, const String& displayName, unsigned long estimatedSize)
{
- String originIdentifier = origin->databaseIdentifier();
+ String originIdentifier = SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier();
int64_t guid = 0;
LockHolder lockDatabase(m_databaseGuard);
@@ -651,7 +652,7 @@
RefPtr<OriginLock> DatabaseTracker::originLockFor(SecurityOrigin* origin)
{
LockHolder lockDatabase(m_databaseGuard);
- String databaseIdentifier = origin->databaseIdentifier();
+ String databaseIdentifier = SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier();
// The originLockMap is accessed from multiple DatabaseThreads since
// different script contexts can be writing to different databases from
@@ -690,7 +691,7 @@
// This may or may not be possible depending on whether other threads are
// also using the OriginLock at the same time. After that, we will delete the lock file.
- m_originLockMap.remove(origin->databaseIdentifier());
+ m_originLockMap.remove(SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
OriginLock::deleteLockFile(originPath(origin));
}
@@ -720,7 +721,7 @@
LOG_ERROR("Failed to prepare statement.");
return quota;
}
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
if (statement.step() == SQLITE_ROW)
quota = statement.getColumnInt64(0);
@@ -753,13 +754,13 @@
if (!originEntryExists) {
SQLiteStatement statement(m_database, "INSERT INTO Origins VALUES (?, ?)");
if (statement.prepare() != SQLITE_OK) {
- LOG_ERROR("Unable to establish origin %s in the tracker", origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Unable to establish origin %s in the tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
} else {
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
statement.bindInt64(2, quota);
if (statement.step() != SQLITE_DONE)
- LOG_ERROR("Unable to establish origin %s in the tracker", origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Unable to establish origin %s in the tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
#if PLATFORM(IOS)
else
insertedNewOrigin = true;
@@ -770,13 +771,13 @@
bool error = statement.prepare() != SQLITE_OK;
if (!error) {
statement.bindInt64(1, quota);
- statement.bindText(2, origin->databaseIdentifier());
+ statement.bindText(2, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
error = !statement.executeCommand();
}
if (error)
- LOG_ERROR("Failed to set quota %llu in tracker database for origin %s", quota, origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Failed to set quota %llu in tracker database for origin %s", quota, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
}
if (m_client) {
@@ -803,12 +804,12 @@
if (statement.prepare() != SQLITE_OK)
return false;
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
statement.bindText(2, name);
statement.bindText(3, path);
if (!statement.executeCommand()) {
- LOG_ERROR("Failed to add database %s to origin %s: %s\n", name.ascii().data(), origin->databaseIdentifier().ascii().data(), m_database.lastErrorMsg());
+ LOG_ERROR("Failed to add database %s to origin %s: %s\n", name.ascii().data(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data(), m_database.lastErrorMsg());
return false;
}
@@ -879,11 +880,11 @@
return false;
if (!databaseNamesForOriginNoLock(origin, databaseNames)) {
- LOG_ERROR("Unable to retrieve list of database names for origin %s", origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Unable to retrieve list of database names for origin %s", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
return false;
}
if (!canDeleteOrigin(origin)) {
- LOG_ERROR("Tried to delete an origin (%s) while either creating database in it or already deleting it", origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Tried to delete an origin (%s) while either creating database in it or already deleting it", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
ASSERT_NOT_REACHED();
return false;
}
@@ -894,7 +895,7 @@
for (auto& name : databaseNames) {
if (!deleteDatabaseFile(origin, name, deletionMode)) {
// Even if the file can't be deleted, we want to try and delete the rest, don't return early here.
- LOG_ERROR("Unable to delete file for database %s in origin %s", name.ascii().data(), origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Unable to delete file for database %s in origin %s", name.ascii().data(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
}
}
@@ -905,27 +906,27 @@
SQLiteStatement statement(m_database, "DELETE FROM Databases WHERE origin=?");
if (statement.prepare() != SQLITE_OK) {
- LOG_ERROR("Unable to prepare deletion of databases from origin %s from tracker", origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Unable to prepare deletion of databases from origin %s from tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
return false;
}
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
if (!statement.executeCommand()) {
- LOG_ERROR("Unable to execute deletion of databases from origin %s from tracker", origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Unable to execute deletion of databases from origin %s from tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
return false;
}
SQLiteStatement originStatement(m_database, "DELETE FROM Origins WHERE origin=?");
if (originStatement.prepare() != SQLITE_OK) {
- LOG_ERROR("Unable to prepare deletion of origin %s from tracker", origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Unable to prepare deletion of origin %s from tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
return false;
}
- originStatement.bindText(1, origin->databaseIdentifier());
+ originStatement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
if (!originStatement.executeCommand()) {
- LOG_ERROR("Unable to execute deletion of databases from origin %s from tracker", origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Unable to execute deletion of databases from origin %s from tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
return false;
}
@@ -1094,7 +1095,7 @@
// We drop the lock here because holding locks during a call to deleteDatabaseFile will deadlock.
if (!deleteDatabaseFile(origin, name, DeletionMode::Default)) {
- LOG_ERROR("Unable to delete file for database %s in origin %s", name.ascii().data(), origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Unable to delete file for database %s in origin %s", name.ascii().data(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
LockHolder lockDatabase(m_databaseGuard);
doneDeletingDatabase(origin, name);
return false;
@@ -1104,16 +1105,16 @@
SQLiteStatement statement(m_database, "DELETE FROM Databases WHERE origin=? AND name=?");
if (statement.prepare() != SQLITE_OK) {
- LOG_ERROR("Unable to prepare deletion of database %s from origin %s from tracker", name.ascii().data(), origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Unable to prepare deletion of database %s from origin %s from tracker", name.ascii().data(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
doneDeletingDatabase(origin, name);
return false;
}
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
statement.bindText(2, name);
if (!statement.executeCommand()) {
- LOG_ERROR("Unable to execute deletion of database %s from origin %s from tracker", name.ascii().data(), origin->databaseIdentifier().ascii().data());
+ LOG_ERROR("Unable to execute deletion of database %s from origin %s from tracker", name.ascii().data(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
doneDeletingDatabase(origin, name);
return false;
}
@@ -1228,7 +1229,7 @@
String databaseFileName;
SQLiteStatement statement(m_database, "SELECT path FROM Databases WHERE origin=? AND name=?;");
if (statement.prepare() == SQLITE_OK) {
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
statement.bindText(2, databaseName);
if (statement.step() == SQLITE_ROW)
databaseFileName = statement.getColumnText(0);
Modified: trunk/Source/WebCore/Modules/webdatabase/SQLTransactionCoordinator.cpp (208557 => 208558)
--- trunk/Source/WebCore/Modules/webdatabase/SQLTransactionCoordinator.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLTransactionCoordinator.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -35,6 +35,7 @@
#include "Database.h"
#include "SQLTransaction.h"
#include "SecurityOrigin.h"
+#include "SecurityOriginData.h"
#include <wtf/Deque.h>
#include <wtf/RefPtr.h>
@@ -42,7 +43,7 @@
static String getDatabaseIdentifier(SQLTransaction& transaction)
{
- return transaction.database().securityOrigin()->databaseIdentifier();
+ return SecurityOriginData::fromSecurityOrigin(*transaction.database().securityOrigin()).databaseIdentifier();
}
SQLTransactionCoordinator::SQLTransactionCoordinator()
Modified: trunk/Source/WebCore/dom/Document.cpp (208557 => 208558)
--- trunk/Source/WebCore/dom/Document.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/dom/Document.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -4282,7 +4282,7 @@
String Document::origin() const
{
- return securityOrigin()->databaseIdentifier();
+ return SecurityOriginData::fromSecurityOrigin(*securityOrigin()).databaseIdentifier();
}
String Document::domain() const
Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (208557 => 208558)
--- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -82,6 +82,7 @@
#include "ResourceLoadInfo.h"
#include "ScriptController.h"
#include "ScriptSourceCode.h"
+#include "SecurityOriginData.h"
#include "SecurityPolicy.h"
#include "SessionID.h"
#include "Settings.h"
@@ -2414,7 +2415,7 @@
if (!origin)
return emptyString();
- return pathByAppendingComponent(storageDirectory, origin->databaseIdentifier());
+ return pathByAppendingComponent(storageDirectory, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
}
void HTMLMediaElement::webkitSetMediaKeys(WebKitMediaKeys* mediaKeys)
Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp (208557 => 208558)
--- trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -35,6 +35,7 @@
#include "SQLiteStatement.h"
#include "SQLiteTransaction.h"
#include "SecurityOrigin.h"
+#include "SecurityOriginData.h"
#include "URL.h"
#include "UUID.h"
#include <wtf/NeverDestroyed.h>
@@ -438,7 +439,7 @@
if (statement.prepare() != SQLITE_OK)
return false;
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
int result = statement.step();
// Return the quota, or if it was null the default.
@@ -466,7 +467,7 @@
if (statement.prepare() != SQLITE_OK)
return false;
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
int result = statement.step();
if (result == SQLITE_ROW) {
@@ -509,7 +510,7 @@
if (statement.prepare() != SQLITE_OK)
return false;
- statement.bindText(1, origin->databaseIdentifier());
+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
if (excludingCacheIdentifier != 0)
statement.bindInt64(2, excludingCacheIdentifier);
int result = statement.step();
@@ -545,7 +546,7 @@
return false;
updateStatement.bindInt64(1, quota);
- updateStatement.bindText(2, origin->databaseIdentifier());
+ updateStatement.bindText(2, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
return executeStatement(updateStatement);
}
@@ -694,7 +695,7 @@
statement.bindInt64(1, urlHostHash(group->manifestURL()));
statement.bindText(2, group->manifestURL());
- statement.bindText(3, group->origin()->databaseIdentifier());
+ statement.bindText(3, SecurityOriginData::fromSecurityOrigin(*group->origin()).databaseIdentifier());
if (!executeStatement(statement))
return false;
@@ -965,7 +966,7 @@
if (insertOriginStatement.prepare() != SQLITE_OK)
return false;
- insertOriginStatement.bindText(1, origin->databaseIdentifier());
+ insertOriginStatement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
insertOriginStatement.bindInt64(2, m_defaultOriginQuota);
if (!executeStatement(insertOriginStatement))
return false;
Modified: trunk/Source/WebCore/page/SecurityOrigin.cpp (208557 => 208558)
--- trunk/Source/WebCore/page/SecurityOrigin.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/page/SecurityOrigin.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -542,26 +542,6 @@
return origin;
}
-String SecurityOrigin::databaseIdentifier() const
-{
- // Historically, we've used the following (somewhat non-sensical) string
- // for the databaseIdentifier of local files. We used to compute this
- // string because of a bug in how we handled the scheme for file URLs.
- // Now that we've fixed that bug, we still need to produce this string
- // to avoid breaking existing persistent state.
- if (equalIgnoringASCIICase(m_protocol, "file"))
- return ASCIILiteral("file__0");
-
- StringBuilder stringBuilder;
- stringBuilder.append(m_protocol);
- stringBuilder.append(separatorCharacter);
- stringBuilder.append(encodeForFileName(m_host));
- stringBuilder.append(separatorCharacter);
- stringBuilder.appendNumber(m_port.valueOr(0));
-
- return stringBuilder.toString();
-}
-
bool SecurityOrigin::equal(const SecurityOrigin* other) const
{
if (other == this)
Modified: trunk/Source/WebCore/page/SecurityOrigin.h (208557 => 208558)
--- trunk/Source/WebCore/page/SecurityOrigin.h 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/page/SecurityOrigin.h 2016-11-10 20:52:17 UTC (rev 208558)
@@ -191,10 +191,6 @@
// could make the string return "null".
WEBCORE_EXPORT String toRawString() const;
- // Serialize the security origin to a string that could be used as part of
- // file names. This format should be used in storage APIs only.
- WEBCORE_EXPORT String databaseIdentifier() const;
-
// This method checks for equality between SecurityOrigins, not whether
// one origin can access another. It is used for hash table keys.
// For access checks, use canAccess().
Modified: trunk/Source/WebCore/page/SecurityOriginData.cpp (208557 => 208558)
--- trunk/Source/WebCore/page/SecurityOriginData.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/page/SecurityOriginData.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -30,6 +30,7 @@
#include "Frame.h"
#include "SecurityOrigin.h"
#include <wtf/text/CString.h>
+#include <wtf/text/StringBuilder.h>
using namespace WebCore;
@@ -74,6 +75,28 @@
return SecurityOrigin::create(protocol.isolatedCopy(), host.isolatedCopy(), port);
}
+static const char separatorCharacter = '_';
+
+String SecurityOriginData::databaseIdentifier() const
+{
+ // Historically, we've used the following (somewhat non-sensical) string
+ // for the databaseIdentifier of local files. We used to compute this
+ // string because of a bug in how we handled the scheme for file URLs.
+ // Now that we've fixed that bug, we still need to produce this string
+ // to avoid breaking existing persistent state.
+ if (equalIgnoringASCIICase(protocol, "file"))
+ return ASCIILiteral("file__0");
+
+ StringBuilder stringBuilder;
+ stringBuilder.append(protocol);
+ stringBuilder.append(separatorCharacter);
+ stringBuilder.append(encodeForFileName(host));
+ stringBuilder.append(separatorCharacter);
+ stringBuilder.appendNumber(port.valueOr(0));
+
+ return stringBuilder.toString();
+}
+
SecurityOriginData SecurityOriginData::isolatedCopy() const
{
SecurityOriginData result;
Modified: trunk/Source/WebCore/page/SecurityOriginData.h (208557 => 208558)
--- trunk/Source/WebCore/page/SecurityOriginData.h 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebCore/page/SecurityOriginData.h 2016-11-10 20:52:17 UTC (rev 208558)
@@ -47,6 +47,10 @@
WEBCORE_EXPORT SecurityOriginData isolatedCopy() const;
+ // Serialize the security origin to a string that could be used as part of
+ // file names. This format should be used in storage APIs only.
+ WEBCORE_EXPORT String databaseIdentifier() const;
+
template<class Encoder> void encode(Encoder&) const;
template<class Decoder> static bool decode(Decoder&, SecurityOriginData&);
Modified: trunk/Source/WebKit/ChangeLog (208557 => 208558)
--- trunk/Source/WebKit/ChangeLog 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit/ChangeLog 2016-11-10 20:52:17 UTC (rev 208558)
@@ -1,3 +1,16 @@
+2016-11-10 Alex Christensen <achristen...@webkit.org>
+
+ Move SecurityOrigin::databaseIdentifier() to SecurityOriginData
+ https://bugs.webkit.org/show_bug.cgi?id=164573
+
+ Reviewed by Brady Eidson.
+
+ * Storage/StorageAreaImpl.cpp:
+ (WebKit::StorageAreaImpl::create):
+ * Storage/StorageTracker.cpp:
+ (WebKit::StorageTracker::deleteOrigin):
+ (WebKit::StorageTracker::diskUsageForOrigin):
+
2016-11-09 Alex Christensen <achristen...@webkit.org>
Clean up Storage code
Modified: trunk/Source/WebKit/Storage/StorageAreaImpl.cpp (208557 => 208558)
--- trunk/Source/WebKit/Storage/StorageAreaImpl.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit/Storage/StorageAreaImpl.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -30,6 +30,7 @@
#include "StorageTracker.h"
#include <WebCore/Frame.h>
#include <WebCore/SecurityOrigin.h>
+#include <WebCore/SecurityOriginData.h>
#include <WebCore/StorageEventDispatcher.h>
#include <WebCore/StorageMap.h>
#include <wtf/MainThread.h>
@@ -69,7 +70,7 @@
// FIXME: If there's no backing storage for LocalStorage, the default WebKit behavior should be that of private browsing,
// not silently ignoring it. https://bugs.webkit.org/show_bug.cgi?id=25894
if (area->m_storageSyncManager) {
- area->m_storageAreaSync = StorageAreaSync::create(area->m_storageSyncManager.get(), area.copyRef(), area->m_securityOrigin->databaseIdentifier());
+ area->m_storageAreaSync = StorageAreaSync::create(area->m_storageSyncManager.get(), area.copyRef(), SecurityOriginData::fromSecurityOrigin(*area->m_securityOrigin).databaseIdentifier());
ASSERT(area->m_storageAreaSync);
}
return area;
Modified: trunk/Source/WebKit/Storage/StorageTracker.cpp (208557 => 208558)
--- trunk/Source/WebKit/Storage/StorageTracker.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit/Storage/StorageTracker.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -33,6 +33,7 @@
#include <WebCore/SQLiteDatabaseTracker.h>
#include <WebCore/SQLiteStatement.h>
#include <WebCore/SecurityOrigin.h>
+#include <WebCore/SecurityOriginData.h>
#include <WebCore/TextEncoding.h>
#include <wtf/MainThread.h>
#include <wtf/StdLibExtras.h>
@@ -495,7 +496,7 @@
// StorageTracker db deletion.
WebStorageNamespaceProvider::clearLocalStorageForOrigin(origin);
- String originId = origin->databaseIdentifier();
+ String originId = SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier();
{
LockHolder locker(m_originSetMutex);
@@ -647,7 +648,7 @@
LockHolder locker(m_databaseMutex);
- String path = databasePathForOrigin(origin->databaseIdentifier());
+ String path = databasePathForOrigin(SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
if (path.isEmpty())
return 0;
Modified: trunk/Source/WebKit/mac/ChangeLog (208557 => 208558)
--- trunk/Source/WebKit/mac/ChangeLog 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit/mac/ChangeLog 2016-11-10 20:52:17 UTC (rev 208558)
@@ -1,3 +1,13 @@
+2016-11-10 Alex Christensen <achristen...@webkit.org>
+
+ Move SecurityOrigin::databaseIdentifier() to SecurityOriginData
+ https://bugs.webkit.org/show_bug.cgi?id=164573
+
+ Reviewed by Brady Eidson.
+
+ * WebCoreSupport/WebSecurityOrigin.mm:
+ (-[WebSecurityOrigin databaseIdentifier]):
+
2016-10-14 Carlos Garcia Campos <cgar...@igalia.com>
MemoryPressureHandler shouldn't know how to release WebCore memory
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm (208557 => 208558)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm 2016-11-10 20:52:17 UTC (rev 208558)
@@ -34,6 +34,7 @@
#import <WebCore/URL.h>
#import <WebCore/DatabaseManager.h>
#import <WebCore/SecurityOrigin.h>
+#import <WebCore/SecurityOriginData.h>
using namespace WebCore;
@@ -73,7 +74,7 @@
- (NSString *)databaseIdentifier
{
- return reinterpret_cast<SecurityOrigin*>(_private)->databaseIdentifier();
+ return SecurityOriginData::fromSecurityOrigin(*reinterpret_cast<SecurityOrigin*>(_private)).databaseIdentifier();
}
#if PLATFORM(IOS)
Modified: trunk/Source/WebKit2/ChangeLog (208557 => 208558)
--- trunk/Source/WebKit2/ChangeLog 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit2/ChangeLog 2016-11-10 20:52:17 UTC (rev 208558)
@@ -1,5 +1,33 @@
2016-11-10 Alex Christensen <achristen...@webkit.org>
+ Move SecurityOrigin::databaseIdentifier() to SecurityOriginData
+ https://bugs.webkit.org/show_bug.cgi?id=164573
+
+ Reviewed by Brady Eidson.
+
+ * Shared/API/c/WKSecurityOriginRef.cpp:
+ (WKSecurityOriginCopyDatabaseIdentifier):
+ * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
+ (WebKit::LocalStorageDatabaseTracker::databasePath):
+ (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
+ (WebKit::LocalStorageDatabaseTracker::deleteDatabaseWithOrigin):
+ * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+ (WebKit::WebsiteDataStore::removeMediaKeys):
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
+ (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageCopyOriginsWithApplicationCache):
+ * WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
+ (WebKit::WebMediaKeyStorageManager::mediaKeyStorageDirectoryForOrigin):
+ * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
+ (WebKit::UserMediaPermissionRequestManager::startUserMediaRequest):
+ (WebKit::UserMediaPermissionRequestManager::enumerateMediaDevices):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::exceededDatabaseQuota):
+ (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
+
+2016-11-10 Alex Christensen <achristen...@webkit.org>
+
Remove unused CFURLCACHE code
https://bugs.webkit.org/show_bug.cgi?id=164551
Modified: trunk/Source/WebKit2/Shared/API/c/WKSecurityOriginRef.cpp (208557 => 208558)
--- trunk/Source/WebKit2/Shared/API/c/WKSecurityOriginRef.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit2/Shared/API/c/WKSecurityOriginRef.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -28,6 +28,7 @@
#include "APISecurityOrigin.h"
#include "WKAPICast.h"
+#include <WebCore/SecurityOriginData.h>
using namespace WebKit;
@@ -54,7 +55,7 @@
WKStringRef WKSecurityOriginCopyDatabaseIdentifier(WKSecurityOriginRef securityOrigin)
{
- return toCopiedAPI(toImpl(securityOrigin)->securityOrigin().databaseIdentifier());
+ return toCopiedAPI(WebCore::SecurityOriginData::fromSecurityOrigin(toImpl(securityOrigin)->securityOrigin()).databaseIdentifier());
}
WKStringRef WKSecurityOriginCopyToString(WKSecurityOriginRef securityOrigin)
Modified: trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp (208557 => 208558)
--- trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -30,6 +30,7 @@
#include <WebCore/SQLiteFileSystem.h>
#include <WebCore/SQLiteStatement.h>
#include <WebCore/SecurityOrigin.h>
+#include <WebCore/SecurityOriginData.h>
#include <WebCore/TextEncoding.h>
#include <wtf/WorkQueue.h>
#include <wtf/text/CString.h>
@@ -63,17 +64,17 @@
String LocalStorageDatabaseTracker::databasePath(SecurityOrigin* securityOrigin) const
{
- return databasePath(securityOrigin->databaseIdentifier() + ".localstorage");
+ return databasePath(SecurityOriginData::fromSecurityOrigin(*securityOrigin).databaseIdentifier() + ".localstorage");
}
void LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin(SecurityOrigin* securityOrigin)
{
- addDatabaseWithOriginIdentifier(securityOrigin->databaseIdentifier(), databasePath(securityOrigin));
+ addDatabaseWithOriginIdentifier(SecurityOriginData::fromSecurityOrigin(*securityOrigin).databaseIdentifier(), databasePath(securityOrigin));
}
void LocalStorageDatabaseTracker::deleteDatabaseWithOrigin(SecurityOrigin* securityOrigin)
{
- removeDatabaseWithOriginIdentifier(securityOrigin->databaseIdentifier());
+ removeDatabaseWithOriginIdentifier(SecurityOriginData::fromSecurityOrigin(*securityOrigin).databaseIdentifier());
}
void LocalStorageDatabaseTracker::deleteAllDatabases()
Modified: trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp (208557 => 208558)
--- trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -40,6 +40,7 @@
#include <WebCore/HTMLMediaElement.h>
#include <WebCore/OriginLock.h>
#include <WebCore/SecurityOrigin.h>
+#include <WebCore/SecurityOriginData.h>
#include <wtf/RunLoop.h>
#if ENABLE(NETSCAPE_PLUGIN_API)
@@ -1125,7 +1126,7 @@
ASSERT(!mediaKeysStorageDirectory.isEmpty());
for (const auto& origin : origins) {
- auto mediaKeyDirectory = WebCore::pathByAppendingComponent(mediaKeysStorageDirectory, origin->databaseIdentifier());
+ auto mediaKeyDirectory = WebCore::pathByAppendingComponent(mediaKeysStorageDirectory, WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
auto mediaKeyFile = computeMediaKeyFile(mediaKeyDirectory);
WebCore::deleteFile(mediaKeyFile);
Modified: trunk/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp (208557 => 208558)
--- trunk/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -37,6 +37,7 @@
#include <WebCore/FrameLoader.h>
#include <WebCore/Geolocation.h>
#include <WebCore/SecurityOrigin.h>
+#include <WebCore/SecurityOriginData.h>
using namespace WebCore;
@@ -73,7 +74,7 @@
SecurityOrigin* origin = frame->document()->securityOrigin();
- m_page->send(Messages::WebPageProxy::RequestGeolocationPermissionForFrame(geolocationID, webFrame->frameID(), origin->databaseIdentifier()));
+ m_page->send(Messages::WebPageProxy::RequestGeolocationPermissionForFrame(geolocationID, webFrame->frameID(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier()));
}
void GeolocationPermissionRequestManager::cancelRequestForGeolocation(Geolocation* geolocation)
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp (208557 => 208558)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -59,6 +59,7 @@
#include <WebCore/Page.h>
#include <WebCore/PageOverlay.h>
#include <WebCore/PageOverlayController.h>
+#include <WebCore/SecurityOriginData.h>
#include <WebCore/URL.h>
#include <WebCore/WheelEventTestTrigger.h>
#include <wtf/StdLibExtras.h>
@@ -686,7 +687,7 @@
originIdentifiers.reserveInitialCapacity(origins.size());
for (const auto& origin : origins)
- originIdentifiers.uncheckedAppend(API::String::create(origin->databaseIdentifier()));
+ originIdentifiers.uncheckedAppend(API::String::create(WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier()));
return toAPI(&API::Array::create(WTFMove(originIdentifiers)).leakRef());
}
Modified: trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaKeyStorageManager.cpp (208557 => 208558)
--- trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaKeyStorageManager.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaKeyStorageManager.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -52,7 +52,7 @@
if (!m_mediaKeyStorageDirectory)
return emptyString();
- return pathByAppendingComponent(m_mediaKeyStorageDirectory, originData.securityOrigin()->databaseIdentifier());
+ return pathByAppendingComponent(m_mediaKeyStorageDirectory, originData.databaseIdentifier());
}
Vector<SecurityOriginData> WebMediaKeyStorageManager::getMediaKeyOrigins()
Modified: trunk/Source/WebKit2/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp (208557 => 208558)
--- trunk/Source/WebKit2/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit2/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -30,6 +30,7 @@
#include <WebCore/Frame.h>
#include <WebCore/FrameLoader.h>
#include <WebCore/SecurityOrigin.h>
+#include <WebCore/SecurityOriginData.h>
using namespace WebCore;
@@ -72,8 +73,8 @@
ASSERT(webFrame);
SecurityOrigin* topLevelDocumentOrigin = request.topLevelDocumentOrigin();
- String topLevelDocumentOriginString = topLevelDocumentOrigin ? topLevelDocumentOrigin->databaseIdentifier() : emptyString();
- m_page.send(Messages::WebPageProxy::RequestUserMediaPermissionForFrame(requestID, webFrame->frameID(), request.userMediaDocumentOrigin()->databaseIdentifier(), topLevelDocumentOriginString, request.audioConstraints().data(), request.videoConstraints().data()));
+ String topLevelDocumentOriginString = topLevelDocumentOrigin ? SecurityOriginData::fromSecurityOrigin(*topLevelDocumentOrigin).databaseIdentifier() : emptyString();
+ m_page.send(Messages::WebPageProxy::RequestUserMediaPermissionForFrame(requestID, webFrame->frameID(), SecurityOriginData::fromSecurityOrigin(*request.userMediaDocumentOrigin()).databaseIdentifier(), topLevelDocumentOriginString, request.audioConstraints().data(), request.videoConstraints().data()));
}
void UserMediaPermissionRequestManager::cancelUserMediaRequest(UserMediaRequest& request)
@@ -122,8 +123,8 @@
ASSERT(webFrame);
SecurityOrigin* topLevelDocumentOrigin = request.topLevelDocumentOrigin();
- String topLevelDocumentOriginString = topLevelDocumentOrigin ? topLevelDocumentOrigin->databaseIdentifier() : emptyString();
- m_page.send(Messages::WebPageProxy::EnumerateMediaDevicesForFrame(requestID, webFrame->frameID(), request.userMediaDocumentOrigin()->databaseIdentifier(), topLevelDocumentOriginString));
+ String topLevelDocumentOriginString = topLevelDocumentOrigin ? SecurityOriginData::fromSecurityOrigin(*topLevelDocumentOrigin).databaseIdentifier() : emptyString();
+ m_page.send(Messages::WebPageProxy::EnumerateMediaDevicesForFrame(requestID, webFrame->frameID(), SecurityOriginData::fromSecurityOrigin(*request.userMediaDocumentOrigin()).databaseIdentifier(), topLevelDocumentOriginString));
}
void UserMediaPermissionRequestManager::cancelMediaDevicesEnumeration(WebCore::MediaDevicesEnumerationRequest& request)
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (208557 => 208558)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp 2016-11-10 20:07:06 UTC (rev 208557)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp 2016-11-10 20:52:17 UTC (rev 208558)
@@ -682,12 +682,12 @@
uint64_t currentQuota = dbManager.quotaForOrigin(origin);
uint64_t currentOriginUsage = dbManager.usageForOrigin(origin);
uint64_t newQuota = 0;
- RefPtr<API::SecurityOrigin> securityOrigin = API::SecurityOrigin::create(WebCore::SecurityOrigin::createFromDatabaseIdentifier(origin->databaseIdentifier()));
+ RefPtr<API::SecurityOrigin> securityOrigin = API::SecurityOrigin::create(WebCore::SecurityOrigin::createFromDatabaseIdentifier(WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier()));
newQuota = m_page->injectedBundleUIClient().didExceedDatabaseQuota(m_page, securityOrigin.get(), databaseName, details.displayName(), currentQuota, currentOriginUsage, details.currentUsage(), details.expectedUsage());
if (!newQuota) {
WebProcess::singleton().parentProcessConnection()->sendSync(
- Messages::WebPageProxy::ExceededDatabaseQuota(webFrame->frameID(), origin->databaseIdentifier(), databaseName, details.displayName(), currentQuota, currentOriginUsage, details.currentUsage(), details.expectedUsage()),
+ Messages::WebPageProxy::ExceededDatabaseQuota(webFrame->frameID(), WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier(), databaseName, details.displayName(), currentQuota, currentOriginUsage, details.currentUsage(), details.expectedUsage()),
Messages::WebPageProxy::ExceededDatabaseQuota::Reply(newQuota), m_page->pageID(), Seconds::infinity(), IPC::SendSyncOption::InformPlatformProcessWillSuspend);
}
@@ -712,7 +712,7 @@
uint64_t newQuota = 0;
WebProcess::singleton().parentProcessConnection()->sendSync(
- Messages::WebPageProxy::ReachedApplicationCacheOriginQuota(origin->databaseIdentifier(), currentQuota, totalBytesNeeded),
+ Messages::WebPageProxy::ReachedApplicationCacheOriginQuota(WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier(), currentQuota, totalBytesNeeded),
Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::Reply(newQuota), m_page->pageID(), Seconds::infinity(), IPC::SendSyncOption::InformPlatformProcessWillSuspend);
cacheStorage.storeUpdatedQuotaForOrigin(origin, newQuota);