<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[208558] trunk/Source</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/208558">208558</a></dd>
<dt>Author</dt> <dd>achristensen@apple.com</dd>
<dt>Date</dt> <dd>2016-11-10 12:52:17 -0800 (Thu, 10 Nov 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Move SecurityOrigin::databaseIdentifier() to SecurityOriginData
https://bugs.webkit.org/show_bug.cgi?id=164573
Reviewed by Brady Eidson.
Source/WebCore:
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:
Source/WebKit:
* Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::create):
* Storage/StorageTracker.cpp:
(WebKit::StorageTracker::deleteOrigin):
(WebKit::StorageTracker::diskUsageForOrigin):
Source/WebKit/mac:
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin databaseIdentifier]):
Source/WebKit2:
* 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):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmedialegacyWebKitMediaKeySessioncpp">trunk/Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifiercpp">trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverIDBServercpp">trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseTrackercpp">trunk/Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseSQLTransactionCoordinatorcpp">trunk/Source/WebCore/Modules/webdatabase/SQLTransactionCoordinator.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheStoragecpp">trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp</a></li>
<li><a href="#trunkSourceWebCorepageSecurityOrigincpp">trunk/Source/WebCore/page/SecurityOrigin.cpp</a></li>
<li><a href="#trunkSourceWebCorepageSecurityOriginh">trunk/Source/WebCore/page/SecurityOrigin.h</a></li>
<li><a href="#trunkSourceWebCorepageSecurityOriginDatacpp">trunk/Source/WebCore/page/SecurityOriginData.cpp</a></li>
<li><a href="#trunkSourceWebCorepageSecurityOriginDatah">trunk/Source/WebCore/page/SecurityOriginData.h</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitStorageStorageAreaImplcpp">trunk/Source/WebKit/Storage/StorageAreaImpl.cpp</a></li>
<li><a href="#trunkSourceWebKitStorageStorageTrackercpp">trunk/Source/WebKit/Storage/StorageTracker.cpp</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebSecurityOriginmm">trunk/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedAPIcWKSecurityOriginRefcpp">trunk/Source/WebKit2/Shared/API/c/WKSecurityOriginRef.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessStorageLocalStorageDatabaseTrackercpp">trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebsiteDataWebsiteDataStorecpp">trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessGeolocationGeolocationPermissionRequestManagercpp">trunk/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePagecpp">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessMediaCacheWebMediaKeyStorageManagercpp">trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaKeyStorageManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessMediaStreamUserMediaPermissionRequestManagercpp">trunk/Source/WebKit2/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,3 +1,54 @@
</span><ins>+2016-11-10 Alex Christensen <achristensen@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:
+
</ins><span class="cx"> 2016-11-10 Zalan Bujtas <zalan@apple.com>
</span><span class="cx">
</span><span class="cx"> RenderElement::invalidateFlowThreadContainingBlockIncludingDescendants should be on RenderBlock.
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmedialegacyWebKitMediaKeySessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> #include "EventNames.h"
</span><span class="cx"> #include "ExceptionCode.h"
</span><span class="cx"> #include "FileSystem.h"
</span><ins>+#include "SecurityOriginData.h"
</ins><span class="cx"> #include "Settings.h"
</span><span class="cx"> #include "WebKitMediaKeyError.h"
</span><span class="cx"> #include "WebKitMediaKeyMessageEvent.h"
</span><span class="lines">@@ -234,7 +235,7 @@
</span><span class="cx"> if (!origin)
</span><span class="cx"> return emptyString();
</span><span class="cx">
</span><del>- return pathByAppendingComponent(storageDirectory, origin->databaseIdentifier());
</del><ins>+ return pathByAppendingComponent(storageDirectory, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool WebKitMediaKeySession::hasPendingActivity() const
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBDatabaseIdentifiercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -63,13 +63,13 @@
</span><span class="cx">
</span><span class="cx"> String IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot(const SecurityOriginData& topLevelOrigin, const SecurityOriginData& openingOrigin, const String& rootDirectory)
</span><span class="cx"> {
</span><del>- String mainFrameDirectory = pathByAppendingComponent(rootDirectory, topLevelOrigin.securityOrigin()->databaseIdentifier());
</del><ins>+ String mainFrameDirectory = pathByAppendingComponent(rootDirectory, topLevelOrigin.databaseIdentifier());
</ins><span class="cx">
</span><span class="cx"> // If the opening origin and main frame origins are the same, there is no partitioning.
</span><span class="cx"> if (openingOrigin == topLevelOrigin)
</span><span class="cx"> return mainFrameDirectory;
</span><span class="cx">
</span><del>- return pathByAppendingComponent(mainFrameDirectory, openingOrigin.securityOrigin()->databaseIdentifier());
</del><ins>+ return pathByAppendingComponent(mainFrameDirectory, openingOrigin.databaseIdentifier());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if !LOG_DISABLED
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverIDBServercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -651,7 +651,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (!m_databaseDirectoryPath.isEmpty()) {
</span><span class="cx"> for (const auto& origin : origins) {
</span><del>- String originPath = pathByAppendingComponent(m_databaseDirectoryPath, origin.securityOrigin()->databaseIdentifier());
</del><ins>+ String originPath = pathByAppendingComponent(m_databaseDirectoryPath, origin.databaseIdentifier());
</ins><span class="cx"> removeAllDatabasesForOriginPath(originPath, std::chrono::system_clock::time_point::min());
</span><span class="cx"> }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseTrackercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -41,6 +41,7 @@
</span><span class="cx"> #include "OriginLock.h"
</span><span class="cx"> #include "Page.h"
</span><span class="cx"> #include "SecurityOrigin.h"
</span><ins>+#include "SecurityOriginData.h"
</ins><span class="cx"> #include "SecurityOriginHash.h"
</span><span class="cx"> #include "SQLiteFileSystem.h"
</span><span class="cx"> #include "SQLiteStatement.h"
</span><span class="lines">@@ -250,7 +251,7 @@
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx">
</span><span class="cx"> return statement.step() == SQLITE_ROW;
</span><span class="cx"> }
</span><span class="lines">@@ -276,7 +277,7 @@
</span><span class="cx"> if (statement.prepare() != SQLITE_OK)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> statement.bindText(2, databaseIdentifier);
</span><span class="cx">
</span><span class="cx"> return statement.step() == SQLITE_ROW;
</span><span class="lines">@@ -330,7 +331,7 @@
</span><span class="cx">
</span><span class="cx"> String DatabaseTracker::originPath(SecurityOrigin* origin) const
</span><span class="cx"> {
</span><del>- return SQLiteFileSystem::appendDatabaseFileNameToPath(m_databaseDirectoryPath.isolatedCopy(), origin->databaseIdentifier());
</del><ins>+ return SQLiteFileSystem::appendDatabaseFileNameToPath(m_databaseDirectoryPath.isolatedCopy(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static String generateDatabaseFileName()
</span><span class="lines">@@ -347,7 +348,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(!m_databaseGuard.tryLock());
</span><span class="cx">
</span><del>- String originIdentifier = origin->databaseIdentifier();
</del><ins>+ String originIdentifier = SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier();
</ins><span class="cx"> String originPath = this->originPath(origin);
</span><span class="cx">
</span><span class="cx"> // Make sure the path for this SecurityOrigin exists
</span><span class="lines">@@ -433,7 +434,7 @@
</span><span class="cx"> if (statement.prepare() != SQLITE_OK)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx">
</span><span class="cx"> int result;
</span><span class="cx"> while ((result = statement.step()) == SQLITE_ROW)
</span><span class="lines">@@ -440,7 +441,7 @@
</span><span class="cx"> resultVector.append(statement.getColumnText(0));
</span><span class="cx">
</span><span class="cx"> if (result != SQLITE_DONE) {
</span><del>- LOG_ERROR("Failed to retrieve all database names for origin %s", origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Failed to retrieve all database names for origin %s", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -463,7 +464,7 @@
</span><span class="cx">
</span><span class="cx"> DatabaseDetails DatabaseTracker::detailsForNameAndOrigin(const String& name, SecurityOrigin* origin)
</span><span class="cx"> {
</span><del>- String originIdentifier = origin->databaseIdentifier();
</del><ins>+ String originIdentifier = SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier();
</ins><span class="cx"> String displayName;
</span><span class="cx"> int64_t expectedUsage;
</span><span class="cx">
</span><span class="lines">@@ -500,7 +501,7 @@
</span><span class="cx">
</span><span class="cx"> void DatabaseTracker::setDatabaseDetails(SecurityOrigin* origin, const String& name, const String& displayName, unsigned long estimatedSize)
</span><span class="cx"> {
</span><del>- String originIdentifier = origin->databaseIdentifier();
</del><ins>+ String originIdentifier = SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier();
</ins><span class="cx"> int64_t guid = 0;
</span><span class="cx">
</span><span class="cx"> LockHolder lockDatabase(m_databaseGuard);
</span><span class="lines">@@ -651,7 +652,7 @@
</span><span class="cx"> RefPtr<OriginLock> DatabaseTracker::originLockFor(SecurityOrigin* origin)
</span><span class="cx"> {
</span><span class="cx"> LockHolder lockDatabase(m_databaseGuard);
</span><del>- String databaseIdentifier = origin->databaseIdentifier();
</del><ins>+ String databaseIdentifier = SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier();
</ins><span class="cx">
</span><span class="cx"> // The originLockMap is accessed from multiple DatabaseThreads since
</span><span class="cx"> // different script contexts can be writing to different databases from
</span><span class="lines">@@ -690,7 +691,7 @@
</span><span class="cx"> // This may or may not be possible depending on whether other threads are
</span><span class="cx"> // also using the OriginLock at the same time. After that, we will delete the lock file.
</span><span class="cx">
</span><del>- m_originLockMap.remove(origin->databaseIdentifier());
</del><ins>+ m_originLockMap.remove(SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> OriginLock::deleteLockFile(originPath(origin));
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -720,7 +721,7 @@
</span><span class="cx"> LOG_ERROR("Failed to prepare statement.");
</span><span class="cx"> return quota;
</span><span class="cx"> }
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx">
</span><span class="cx"> if (statement.step() == SQLITE_ROW)
</span><span class="cx"> quota = statement.getColumnInt64(0);
</span><span class="lines">@@ -753,13 +754,13 @@
</span><span class="cx"> if (!originEntryExists) {
</span><span class="cx"> SQLiteStatement statement(m_database, "INSERT INTO Origins VALUES (?, ?)");
</span><span class="cx"> if (statement.prepare() != SQLITE_OK) {
</span><del>- LOG_ERROR("Unable to establish origin %s in the tracker", origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Unable to establish origin %s in the tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> } else {
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> statement.bindInt64(2, quota);
</span><span class="cx">
</span><span class="cx"> if (statement.step() != SQLITE_DONE)
</span><del>- LOG_ERROR("Unable to establish origin %s in the tracker", origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Unable to establish origin %s in the tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> else
</span><span class="cx"> insertedNewOrigin = true;
</span><span class="lines">@@ -770,13 +771,13 @@
</span><span class="cx"> bool error = statement.prepare() != SQLITE_OK;
</span><span class="cx"> if (!error) {
</span><span class="cx"> statement.bindInt64(1, quota);
</span><del>- statement.bindText(2, origin->databaseIdentifier());
</del><ins>+ statement.bindText(2, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx">
</span><span class="cx"> error = !statement.executeCommand();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (error)
</span><del>- LOG_ERROR("Failed to set quota %llu in tracker database for origin %s", quota, origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Failed to set quota %llu in tracker database for origin %s", quota, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (m_client) {
</span><span class="lines">@@ -803,12 +804,12 @@
</span><span class="cx"> if (statement.prepare() != SQLITE_OK)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> statement.bindText(2, name);
</span><span class="cx"> statement.bindText(3, path);
</span><span class="cx">
</span><span class="cx"> if (!statement.executeCommand()) {
</span><del>- LOG_ERROR("Failed to add database %s to origin %s: %s\n", name.ascii().data(), origin->databaseIdentifier().ascii().data(), m_database.lastErrorMsg());
</del><ins>+ LOG_ERROR("Failed to add database %s to origin %s: %s\n", name.ascii().data(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data(), m_database.lastErrorMsg());
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -879,11 +880,11 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> if (!databaseNamesForOriginNoLock(origin, databaseNames)) {
</span><del>- LOG_ERROR("Unable to retrieve list of database names for origin %s", origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Unable to retrieve list of database names for origin %s", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> if (!canDeleteOrigin(origin)) {
</span><del>- LOG_ERROR("Tried to delete an origin (%s) while either creating database in it or already deleting it", origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Tried to delete an origin (%s) while either creating database in it or already deleting it", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="lines">@@ -894,7 +895,7 @@
</span><span class="cx"> for (auto& name : databaseNames) {
</span><span class="cx"> if (!deleteDatabaseFile(origin, name, deletionMode)) {
</span><span class="cx"> // Even if the file can't be deleted, we want to try and delete the rest, don't return early here.
</span><del>- LOG_ERROR("Unable to delete file for database %s in origin %s", name.ascii().data(), origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Unable to delete file for database %s in origin %s", name.ascii().data(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -905,27 +906,27 @@
</span><span class="cx">
</span><span class="cx"> SQLiteStatement statement(m_database, "DELETE FROM Databases WHERE origin=?");
</span><span class="cx"> if (statement.prepare() != SQLITE_OK) {
</span><del>- LOG_ERROR("Unable to prepare deletion of databases from origin %s from tracker", origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Unable to prepare deletion of databases from origin %s from tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx">
</span><span class="cx"> if (!statement.executeCommand()) {
</span><del>- LOG_ERROR("Unable to execute deletion of databases from origin %s from tracker", origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Unable to execute deletion of databases from origin %s from tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> SQLiteStatement originStatement(m_database, "DELETE FROM Origins WHERE origin=?");
</span><span class="cx"> if (originStatement.prepare() != SQLITE_OK) {
</span><del>- LOG_ERROR("Unable to prepare deletion of origin %s from tracker", origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Unable to prepare deletion of origin %s from tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- originStatement.bindText(1, origin->databaseIdentifier());
</del><ins>+ originStatement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx">
</span><span class="cx"> if (!originStatement.executeCommand()) {
</span><del>- LOG_ERROR("Unable to execute deletion of databases from origin %s from tracker", origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Unable to execute deletion of databases from origin %s from tracker", SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1094,7 +1095,7 @@
</span><span class="cx">
</span><span class="cx"> // We drop the lock here because holding locks during a call to deleteDatabaseFile will deadlock.
</span><span class="cx"> if (!deleteDatabaseFile(origin, name, DeletionMode::Default)) {
</span><del>- LOG_ERROR("Unable to delete file for database %s in origin %s", name.ascii().data(), origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Unable to delete file for database %s in origin %s", name.ascii().data(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> LockHolder lockDatabase(m_databaseGuard);
</span><span class="cx"> doneDeletingDatabase(origin, name);
</span><span class="cx"> return false;
</span><span class="lines">@@ -1104,16 +1105,16 @@
</span><span class="cx">
</span><span class="cx"> SQLiteStatement statement(m_database, "DELETE FROM Databases WHERE origin=? AND name=?");
</span><span class="cx"> if (statement.prepare() != SQLITE_OK) {
</span><del>- LOG_ERROR("Unable to prepare deletion of database %s from origin %s from tracker", name.ascii().data(), origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Unable to prepare deletion of database %s from origin %s from tracker", name.ascii().data(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> doneDeletingDatabase(origin, name);
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> statement.bindText(2, name);
</span><span class="cx">
</span><span class="cx"> if (!statement.executeCommand()) {
</span><del>- LOG_ERROR("Unable to execute deletion of database %s from origin %s from tracker", name.ascii().data(), origin->databaseIdentifier().ascii().data());
</del><ins>+ LOG_ERROR("Unable to execute deletion of database %s from origin %s from tracker", name.ascii().data(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx"> doneDeletingDatabase(origin, name);
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="lines">@@ -1228,7 +1229,7 @@
</span><span class="cx"> String databaseFileName;
</span><span class="cx"> SQLiteStatement statement(m_database, "SELECT path FROM Databases WHERE origin=? AND name=?;");
</span><span class="cx"> if (statement.prepare() == SQLITE_OK) {
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> statement.bindText(2, databaseName);
</span><span class="cx"> if (statement.step() == SQLITE_ROW)
</span><span class="cx"> databaseFileName = statement.getColumnText(0);
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseSQLTransactionCoordinatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/SQLTransactionCoordinator.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include "Database.h"
</span><span class="cx"> #include "SQLTransaction.h"
</span><span class="cx"> #include "SecurityOrigin.h"
</span><ins>+#include "SecurityOriginData.h"
</ins><span class="cx"> #include <wtf/Deque.h>
</span><span class="cx"> #include <wtf/RefPtr.h>
</span><span class="cx">
</span><span class="lines">@@ -42,7 +43,7 @@
</span><span class="cx">
</span><span class="cx"> static String getDatabaseIdentifier(SQLTransaction& transaction)
</span><span class="cx"> {
</span><del>- return transaction.database().securityOrigin()->databaseIdentifier();
</del><ins>+ return SecurityOriginData::fromSecurityOrigin(*transaction.database().securityOrigin()).databaseIdentifier();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> SQLTransactionCoordinator::SQLTransactionCoordinator()
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -4282,7 +4282,7 @@
</span><span class="cx">
</span><span class="cx"> String Document::origin() const
</span><span class="cx"> {
</span><del>- return securityOrigin()->databaseIdentifier();
</del><ins>+ return SecurityOriginData::fromSecurityOrigin(*securityOrigin()).databaseIdentifier();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String Document::domain() const
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -82,6 +82,7 @@
</span><span class="cx"> #include "ResourceLoadInfo.h"
</span><span class="cx"> #include "ScriptController.h"
</span><span class="cx"> #include "ScriptSourceCode.h"
</span><ins>+#include "SecurityOriginData.h"
</ins><span class="cx"> #include "SecurityPolicy.h"
</span><span class="cx"> #include "SessionID.h"
</span><span class="cx"> #include "Settings.h"
</span><span class="lines">@@ -2414,7 +2415,7 @@
</span><span class="cx"> if (!origin)
</span><span class="cx"> return emptyString();
</span><span class="cx">
</span><del>- return pathByAppendingComponent(storageDirectory, origin->databaseIdentifier());
</del><ins>+ return pathByAppendingComponent(storageDirectory, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLMediaElement::webkitSetMediaKeys(WebKitMediaKeys* mediaKeys)
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheStoragecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include "SQLiteStatement.h"
</span><span class="cx"> #include "SQLiteTransaction.h"
</span><span class="cx"> #include "SecurityOrigin.h"
</span><ins>+#include "SecurityOriginData.h"
</ins><span class="cx"> #include "URL.h"
</span><span class="cx"> #include "UUID.h"
</span><span class="cx"> #include <wtf/NeverDestroyed.h>
</span><span class="lines">@@ -438,7 +439,7 @@
</span><span class="cx"> if (statement.prepare() != SQLITE_OK)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> int result = statement.step();
</span><span class="cx">
</span><span class="cx"> // Return the quota, or if it was null the default.
</span><span class="lines">@@ -466,7 +467,7 @@
</span><span class="cx"> if (statement.prepare() != SQLITE_OK)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> int result = statement.step();
</span><span class="cx">
</span><span class="cx"> if (result == SQLITE_ROW) {
</span><span class="lines">@@ -509,7 +510,7 @@
</span><span class="cx"> if (statement.prepare() != SQLITE_OK)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- statement.bindText(1, origin->databaseIdentifier());
</del><ins>+ statement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> if (excludingCacheIdentifier != 0)
</span><span class="cx"> statement.bindInt64(2, excludingCacheIdentifier);
</span><span class="cx"> int result = statement.step();
</span><span class="lines">@@ -545,7 +546,7 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> updateStatement.bindInt64(1, quota);
</span><del>- updateStatement.bindText(2, origin->databaseIdentifier());
</del><ins>+ updateStatement.bindText(2, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx">
</span><span class="cx"> return executeStatement(updateStatement);
</span><span class="cx"> }
</span><span class="lines">@@ -694,7 +695,7 @@
</span><span class="cx">
</span><span class="cx"> statement.bindInt64(1, urlHostHash(group->manifestURL()));
</span><span class="cx"> statement.bindText(2, group->manifestURL());
</span><del>- statement.bindText(3, group->origin()->databaseIdentifier());
</del><ins>+ statement.bindText(3, SecurityOriginData::fromSecurityOrigin(*group->origin()).databaseIdentifier());
</ins><span class="cx">
</span><span class="cx"> if (!executeStatement(statement))
</span><span class="cx"> return false;
</span><span class="lines">@@ -965,7 +966,7 @@
</span><span class="cx"> if (insertOriginStatement.prepare() != SQLITE_OK)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- insertOriginStatement.bindText(1, origin->databaseIdentifier());
</del><ins>+ insertOriginStatement.bindText(1, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> insertOriginStatement.bindInt64(2, m_defaultOriginQuota);
</span><span class="cx"> if (!executeStatement(insertOriginStatement))
</span><span class="cx"> return false;
</span></span></pre></div>
<a id="trunkSourceWebCorepageSecurityOrigincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/SecurityOrigin.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -542,26 +542,6 @@
</span><span class="cx"> return origin;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-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();
-}
-
</del><span class="cx"> bool SecurityOrigin::equal(const SecurityOrigin* other) const
</span><span class="cx"> {
</span><span class="cx"> if (other == this)
</span></span></pre></div>
<a id="trunkSourceWebCorepageSecurityOriginh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/SecurityOrigin.h (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -191,10 +191,6 @@
</span><span class="cx"> // could make the string return "null".
</span><span class="cx"> WEBCORE_EXPORT String toRawString() const;
</span><span class="cx">
</span><del>- // 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;
-
</del><span class="cx"> // This method checks for equality between SecurityOrigins, not whether
</span><span class="cx"> // one origin can access another. It is used for hash table keys.
</span><span class="cx"> // For access checks, use canAccess().
</span></span></pre></div>
<a id="trunkSourceWebCorepageSecurityOriginDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/SecurityOriginData.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include "Frame.h"
</span><span class="cx"> #include "SecurityOrigin.h"
</span><span class="cx"> #include <wtf/text/CString.h>
</span><ins>+#include <wtf/text/StringBuilder.h>
</ins><span class="cx">
</span><span class="cx"> using namespace WebCore;
</span><span class="cx">
</span><span class="lines">@@ -74,6 +75,28 @@
</span><span class="cx"> return SecurityOrigin::create(protocol.isolatedCopy(), host.isolatedCopy(), port);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+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();
+}
+
</ins><span class="cx"> SecurityOriginData SecurityOriginData::isolatedCopy() const
</span><span class="cx"> {
</span><span class="cx"> SecurityOriginData result;
</span></span></pre></div>
<a id="trunkSourceWebCorepageSecurityOriginDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/SecurityOriginData.h (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -47,6 +47,10 @@
</span><span class="cx">
</span><span class="cx"> WEBCORE_EXPORT SecurityOriginData isolatedCopy() const;
</span><span class="cx">
</span><ins>+ // 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;
+
</ins><span class="cx"> template<class Encoder> void encode(Encoder&) const;
</span><span class="cx"> template<class Decoder> static bool decode(Decoder&, SecurityOriginData&);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2016-11-10 Alex Christensen <achristensen@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):
+
</ins><span class="cx"> 2016-11-09 Alex Christensen <achristensen@webkit.org>
</span><span class="cx">
</span><span class="cx"> Clean up Storage code
</span></span></pre></div>
<a id="trunkSourceWebKitStorageStorageAreaImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/StorageAreaImpl.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include "StorageTracker.h"
</span><span class="cx"> #include <WebCore/Frame.h>
</span><span class="cx"> #include <WebCore/SecurityOrigin.h>
</span><ins>+#include <WebCore/SecurityOriginData.h>
</ins><span class="cx"> #include <WebCore/StorageEventDispatcher.h>
</span><span class="cx"> #include <WebCore/StorageMap.h>
</span><span class="cx"> #include <wtf/MainThread.h>
</span><span class="lines">@@ -69,7 +70,7 @@
</span><span class="cx"> // FIXME: If there's no backing storage for LocalStorage, the default WebKit behavior should be that of private browsing,
</span><span class="cx"> // not silently ignoring it. https://bugs.webkit.org/show_bug.cgi?id=25894
</span><span class="cx"> if (area->m_storageSyncManager) {
</span><del>- area->m_storageAreaSync = StorageAreaSync::create(area->m_storageSyncManager.get(), area.copyRef(), area->m_securityOrigin->databaseIdentifier());
</del><ins>+ area->m_storageAreaSync = StorageAreaSync::create(area->m_storageSyncManager.get(), area.copyRef(), SecurityOriginData::fromSecurityOrigin(*area->m_securityOrigin).databaseIdentifier());
</ins><span class="cx"> ASSERT(area->m_storageAreaSync);
</span><span class="cx"> }
</span><span class="cx"> return area;
</span></span></pre></div>
<a id="trunkSourceWebKitStorageStorageTrackercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/StorageTracker.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include <WebCore/SQLiteDatabaseTracker.h>
</span><span class="cx"> #include <WebCore/SQLiteStatement.h>
</span><span class="cx"> #include <WebCore/SecurityOrigin.h>
</span><ins>+#include <WebCore/SecurityOriginData.h>
</ins><span class="cx"> #include <WebCore/TextEncoding.h>
</span><span class="cx"> #include <wtf/MainThread.h>
</span><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="lines">@@ -495,7 +496,7 @@
</span><span class="cx"> // StorageTracker db deletion.
</span><span class="cx"> WebStorageNamespaceProvider::clearLocalStorageForOrigin(origin);
</span><span class="cx">
</span><del>- String originId = origin->databaseIdentifier();
</del><ins>+ String originId = SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier();
</ins><span class="cx">
</span><span class="cx"> {
</span><span class="cx"> LockHolder locker(m_originSetMutex);
</span><span class="lines">@@ -647,7 +648,7 @@
</span><span class="cx">
</span><span class="cx"> LockHolder locker(m_databaseMutex);
</span><span class="cx">
</span><del>- String path = databasePathForOrigin(origin->databaseIdentifier());
</del><ins>+ String path = databasePathForOrigin(SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> if (path.isEmpty())
</span><span class="cx"> return 0;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2016-11-10 Alex Christensen <achristensen@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]):
+
</ins><span class="cx"> 2016-10-14 Carlos Garcia Campos <cgarcia@igalia.com>
</span><span class="cx">
</span><span class="cx"> MemoryPressureHandler shouldn't know how to release WebCore memory
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebSecurityOriginmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #import <WebCore/URL.h>
</span><span class="cx"> #import <WebCore/DatabaseManager.h>
</span><span class="cx"> #import <WebCore/SecurityOrigin.h>
</span><ins>+#import <WebCore/SecurityOriginData.h>
</ins><span class="cx">
</span><span class="cx"> using namespace WebCore;
</span><span class="cx">
</span><span class="lines">@@ -73,7 +74,7 @@
</span><span class="cx">
</span><span class="cx"> - (NSString *)databaseIdentifier
</span><span class="cx"> {
</span><del>- return reinterpret_cast<SecurityOrigin*>(_private)->databaseIdentifier();
</del><ins>+ return SecurityOriginData::fromSecurityOrigin(*reinterpret_cast<SecurityOrigin*>(_private)).databaseIdentifier();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,5 +1,33 @@
</span><span class="cx"> 2016-11-10 Alex Christensen <achristensen@webkit.org>
</span><span class="cx">
</span><ins>+ 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 <achristensen@webkit.org>
+
</ins><span class="cx"> Remove unused CFURLCACHE code
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=164551
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPIcWKSecurityOriginRefcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/API/c/WKSecurityOriginRef.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx">
</span><span class="cx"> #include "APISecurityOrigin.h"
</span><span class="cx"> #include "WKAPICast.h"
</span><ins>+#include <WebCore/SecurityOriginData.h>
</ins><span class="cx">
</span><span class="cx"> using namespace WebKit;
</span><span class="cx">
</span><span class="lines">@@ -54,7 +55,7 @@
</span><span class="cx">
</span><span class="cx"> WKStringRef WKSecurityOriginCopyDatabaseIdentifier(WKSecurityOriginRef securityOrigin)
</span><span class="cx"> {
</span><del>- return toCopiedAPI(toImpl(securityOrigin)->securityOrigin().databaseIdentifier());
</del><ins>+ return toCopiedAPI(WebCore::SecurityOriginData::fromSecurityOrigin(toImpl(securityOrigin)->securityOrigin()).databaseIdentifier());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> WKStringRef WKSecurityOriginCopyToString(WKSecurityOriginRef securityOrigin)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessStorageLocalStorageDatabaseTrackercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include <WebCore/SQLiteFileSystem.h>
</span><span class="cx"> #include <WebCore/SQLiteStatement.h>
</span><span class="cx"> #include <WebCore/SecurityOrigin.h>
</span><ins>+#include <WebCore/SecurityOriginData.h>
</ins><span class="cx"> #include <WebCore/TextEncoding.h>
</span><span class="cx"> #include <wtf/WorkQueue.h>
</span><span class="cx"> #include <wtf/text/CString.h>
</span><span class="lines">@@ -63,17 +64,17 @@
</span><span class="cx">
</span><span class="cx"> String LocalStorageDatabaseTracker::databasePath(SecurityOrigin* securityOrigin) const
</span><span class="cx"> {
</span><del>- return databasePath(securityOrigin->databaseIdentifier() + ".localstorage");
</del><ins>+ return databasePath(SecurityOriginData::fromSecurityOrigin(*securityOrigin).databaseIdentifier() + ".localstorage");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin(SecurityOrigin* securityOrigin)
</span><span class="cx"> {
</span><del>- addDatabaseWithOriginIdentifier(securityOrigin->databaseIdentifier(), databasePath(securityOrigin));
</del><ins>+ addDatabaseWithOriginIdentifier(SecurityOriginData::fromSecurityOrigin(*securityOrigin).databaseIdentifier(), databasePath(securityOrigin));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void LocalStorageDatabaseTracker::deleteDatabaseWithOrigin(SecurityOrigin* securityOrigin)
</span><span class="cx"> {
</span><del>- removeDatabaseWithOriginIdentifier(securityOrigin->databaseIdentifier());
</del><ins>+ removeDatabaseWithOriginIdentifier(SecurityOriginData::fromSecurityOrigin(*securityOrigin).databaseIdentifier());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void LocalStorageDatabaseTracker::deleteAllDatabases()
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebsiteDataWebsiteDataStorecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx"> #include <WebCore/HTMLMediaElement.h>
</span><span class="cx"> #include <WebCore/OriginLock.h>
</span><span class="cx"> #include <WebCore/SecurityOrigin.h>
</span><ins>+#include <WebCore/SecurityOriginData.h>
</ins><span class="cx"> #include <wtf/RunLoop.h>
</span><span class="cx">
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><span class="lines">@@ -1125,7 +1126,7 @@
</span><span class="cx"> ASSERT(!mediaKeysStorageDirectory.isEmpty());
</span><span class="cx">
</span><span class="cx"> for (const auto& origin : origins) {
</span><del>- auto mediaKeyDirectory = WebCore::pathByAppendingComponent(mediaKeysStorageDirectory, origin->databaseIdentifier());
</del><ins>+ auto mediaKeyDirectory = WebCore::pathByAppendingComponent(mediaKeysStorageDirectory, WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier());
</ins><span class="cx"> auto mediaKeyFile = computeMediaKeyFile(mediaKeyDirectory);
</span><span class="cx">
</span><span class="cx"> WebCore::deleteFile(mediaKeyFile);
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessGeolocationGeolocationPermissionRequestManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx"> #include <WebCore/FrameLoader.h>
</span><span class="cx"> #include <WebCore/Geolocation.h>
</span><span class="cx"> #include <WebCore/SecurityOrigin.h>
</span><ins>+#include <WebCore/SecurityOriginData.h>
</ins><span class="cx">
</span><span class="cx"> using namespace WebCore;
</span><span class="cx">
</span><span class="lines">@@ -73,7 +74,7 @@
</span><span class="cx">
</span><span class="cx"> SecurityOrigin* origin = frame->document()->securityOrigin();
</span><span class="cx">
</span><del>- m_page->send(Messages::WebPageProxy::RequestGeolocationPermissionForFrame(geolocationID, webFrame->frameID(), origin->databaseIdentifier()));
</del><ins>+ m_page->send(Messages::WebPageProxy::RequestGeolocationPermissionForFrame(geolocationID, webFrame->frameID(), SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier()));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void GeolocationPermissionRequestManager::cancelRequestForGeolocation(Geolocation* geolocation)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -59,6 +59,7 @@
</span><span class="cx"> #include <WebCore/Page.h>
</span><span class="cx"> #include <WebCore/PageOverlay.h>
</span><span class="cx"> #include <WebCore/PageOverlayController.h>
</span><ins>+#include <WebCore/SecurityOriginData.h>
</ins><span class="cx"> #include <WebCore/URL.h>
</span><span class="cx"> #include <WebCore/WheelEventTestTrigger.h>
</span><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="lines">@@ -686,7 +687,7 @@
</span><span class="cx"> originIdentifiers.reserveInitialCapacity(origins.size());
</span><span class="cx">
</span><span class="cx"> for (const auto& origin : origins)
</span><del>- originIdentifiers.uncheckedAppend(API::String::create(origin->databaseIdentifier()));
</del><ins>+ originIdentifiers.uncheckedAppend(API::String::create(WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier()));
</ins><span class="cx">
</span><span class="cx"> return toAPI(&API::Array::create(WTFMove(originIdentifiers)).leakRef());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessMediaCacheWebMediaKeyStorageManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/MediaCache/WebMediaKeyStorageManager.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> if (!m_mediaKeyStorageDirectory)
</span><span class="cx"> return emptyString();
</span><span class="cx">
</span><del>- return pathByAppendingComponent(m_mediaKeyStorageDirectory, originData.securityOrigin()->databaseIdentifier());
</del><ins>+ return pathByAppendingComponent(m_mediaKeyStorageDirectory, originData.databaseIdentifier());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Vector<SecurityOriginData> WebMediaKeyStorageManager::getMediaKeyOrigins()
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessMediaStreamUserMediaPermissionRequestManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include <WebCore/Frame.h>
</span><span class="cx"> #include <WebCore/FrameLoader.h>
</span><span class="cx"> #include <WebCore/SecurityOrigin.h>
</span><ins>+#include <WebCore/SecurityOriginData.h>
</ins><span class="cx">
</span><span class="cx"> using namespace WebCore;
</span><span class="cx">
</span><span class="lines">@@ -72,8 +73,8 @@
</span><span class="cx"> ASSERT(webFrame);
</span><span class="cx">
</span><span class="cx"> SecurityOrigin* topLevelDocumentOrigin = request.topLevelDocumentOrigin();
</span><del>- 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()));
</del><ins>+ 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()));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void UserMediaPermissionRequestManager::cancelUserMediaRequest(UserMediaRequest& request)
</span><span class="lines">@@ -122,8 +123,8 @@
</span><span class="cx"> ASSERT(webFrame);
</span><span class="cx">
</span><span class="cx"> SecurityOrigin* topLevelDocumentOrigin = request.topLevelDocumentOrigin();
</span><del>- String topLevelDocumentOriginString = topLevelDocumentOrigin ? topLevelDocumentOrigin->databaseIdentifier() : emptyString();
- m_page.send(Messages::WebPageProxy::EnumerateMediaDevicesForFrame(requestID, webFrame->frameID(), request.userMediaDocumentOrigin()->databaseIdentifier(), topLevelDocumentOriginString));
</del><ins>+ String topLevelDocumentOriginString = topLevelDocumentOrigin ? SecurityOriginData::fromSecurityOrigin(*topLevelDocumentOrigin).databaseIdentifier() : emptyString();
+ m_page.send(Messages::WebPageProxy::EnumerateMediaDevicesForFrame(requestID, webFrame->frameID(), SecurityOriginData::fromSecurityOrigin(*request.userMediaDocumentOrigin()).databaseIdentifier(), topLevelDocumentOriginString));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void UserMediaPermissionRequestManager::cancelMediaDevicesEnumeration(WebCore::MediaDevicesEnumerationRequest& request)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (208557 => 208558)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -682,12 +682,12 @@
</span><span class="cx"> uint64_t currentQuota = dbManager.quotaForOrigin(origin);
</span><span class="cx"> uint64_t currentOriginUsage = dbManager.usageForOrigin(origin);
</span><span class="cx"> uint64_t newQuota = 0;
</span><del>- RefPtr<API::SecurityOrigin> securityOrigin = API::SecurityOrigin::create(WebCore::SecurityOrigin::createFromDatabaseIdentifier(origin->databaseIdentifier()));
</del><ins>+ RefPtr<API::SecurityOrigin> securityOrigin = API::SecurityOrigin::create(WebCore::SecurityOrigin::createFromDatabaseIdentifier(WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier()));
</ins><span class="cx"> newQuota = m_page->injectedBundleUIClient().didExceedDatabaseQuota(m_page, securityOrigin.get(), databaseName, details.displayName(), currentQuota, currentOriginUsage, details.currentUsage(), details.expectedUsage());
</span><span class="cx">
</span><span class="cx"> if (!newQuota) {
</span><span class="cx"> WebProcess::singleton().parentProcessConnection()->sendSync(
</span><del>- Messages::WebPageProxy::ExceededDatabaseQuota(webFrame->frameID(), origin->databaseIdentifier(), databaseName, details.displayName(), currentQuota, currentOriginUsage, details.currentUsage(), details.expectedUsage()),
</del><ins>+ Messages::WebPageProxy::ExceededDatabaseQuota(webFrame->frameID(), WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier(), databaseName, details.displayName(), currentQuota, currentOriginUsage, details.currentUsage(), details.expectedUsage()),
</ins><span class="cx"> Messages::WebPageProxy::ExceededDatabaseQuota::Reply(newQuota), m_page->pageID(), Seconds::infinity(), IPC::SendSyncOption::InformPlatformProcessWillSuspend);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -712,7 +712,7 @@
</span><span class="cx">
</span><span class="cx"> uint64_t newQuota = 0;
</span><span class="cx"> WebProcess::singleton().parentProcessConnection()->sendSync(
</span><del>- Messages::WebPageProxy::ReachedApplicationCacheOriginQuota(origin->databaseIdentifier(), currentQuota, totalBytesNeeded),
</del><ins>+ Messages::WebPageProxy::ReachedApplicationCacheOriginQuota(WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier(), currentQuota, totalBytesNeeded),
</ins><span class="cx"> Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::Reply(newQuota), m_page->pageID(), Seconds::infinity(), IPC::SendSyncOption::InformPlatformProcessWillSuspend);
</span><span class="cx">
</span><span class="cx"> cacheStorage.storeUpdatedQuotaForOrigin(origin, newQuota);
</span></span></pre>
</div>
</div>
</body>
</html>