<!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  &lt;achristensen@webkit.org&gt;
+
+        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  &lt;zalan@apple.com&gt;
</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 &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;FileSystem.h&quot;
</span><ins>+#include &quot;SecurityOriginData.h&quot;
</ins><span class="cx"> #include &quot;Settings.h&quot;
</span><span class="cx"> #include &quot;WebKitMediaKeyError.h&quot;
</span><span class="cx"> #include &quot;WebKitMediaKeyMessageEvent.h&quot;
</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-&gt;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&amp; topLevelOrigin, const SecurityOriginData&amp; openingOrigin, const String&amp; rootDirectory)
</span><span class="cx"> {
</span><del>-    String mainFrameDirectory = pathByAppendingComponent(rootDirectory, topLevelOrigin.securityOrigin()-&gt;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()-&gt;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&amp; origin : origins) {
</span><del>-            String originPath = pathByAppendingComponent(m_databaseDirectoryPath, origin.securityOrigin()-&gt;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 &quot;OriginLock.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><ins>+#include &quot;SecurityOriginData.h&quot;
</ins><span class="cx"> #include &quot;SecurityOriginHash.h&quot;
</span><span class="cx"> #include &quot;SQLiteFileSystem.h&quot;
</span><span class="cx"> #include &quot;SQLiteStatement.h&quot;
</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-&gt;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-&gt;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-&gt;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-&gt;databaseIdentifier();
</del><ins>+    String originIdentifier = SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier();
</ins><span class="cx">     String originPath = this-&gt;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-&gt;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(&quot;Failed to retrieve all database names for origin %s&quot;, origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+        LOG_ERROR(&quot;Failed to retrieve all database names for origin %s&quot;, 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&amp; name, SecurityOrigin* origin)
</span><span class="cx"> {
</span><del>-    String originIdentifier = origin-&gt;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&amp; name, const String&amp; displayName, unsigned long estimatedSize)
</span><span class="cx"> {
</span><del>-    String originIdentifier = origin-&gt;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&lt;OriginLock&gt; DatabaseTracker::originLockFor(SecurityOrigin* origin)
</span><span class="cx"> {
</span><span class="cx">     LockHolder lockDatabase(m_databaseGuard);
</span><del>-    String databaseIdentifier = origin-&gt;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-&gt;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(&quot;Failed to prepare statement.&quot;);
</span><span class="cx">         return quota;
</span><span class="cx">     }
</span><del>-    statement.bindText(1, origin-&gt;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, &quot;INSERT INTO Origins VALUES (?, ?)&quot;);
</span><span class="cx">         if (statement.prepare() != SQLITE_OK) {
</span><del>-            LOG_ERROR(&quot;Unable to establish origin %s in the tracker&quot;, origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+            LOG_ERROR(&quot;Unable to establish origin %s in the tracker&quot;, SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier().ascii().data());
</ins><span class="cx">         } else {
</span><del>-            statement.bindText(1, origin-&gt;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(&quot;Unable to establish origin %s in the tracker&quot;, origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+                LOG_ERROR(&quot;Unable to establish origin %s in the tracker&quot;, 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-&gt;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(&quot;Failed to set quota %llu in tracker database for origin %s&quot;, quota, origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+            LOG_ERROR(&quot;Failed to set quota %llu in tracker database for origin %s&quot;, 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-&gt;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(&quot;Failed to add database %s to origin %s: %s\n&quot;, name.ascii().data(), origin-&gt;databaseIdentifier().ascii().data(), m_database.lastErrorMsg());
</del><ins>+        LOG_ERROR(&quot;Failed to add database %s to origin %s: %s\n&quot;, 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(&quot;Unable to retrieve list of database names for origin %s&quot;, origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+            LOG_ERROR(&quot;Unable to retrieve list of database names for origin %s&quot;, 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(&quot;Tried to delete an origin (%s) while either creating database in it or already deleting it&quot;, origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+            LOG_ERROR(&quot;Tried to delete an origin (%s) while either creating database in it or already deleting it&quot;, 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&amp; 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(&quot;Unable to delete file for database %s in origin %s&quot;, name.ascii().data(), origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+            LOG_ERROR(&quot;Unable to delete file for database %s in origin %s&quot;, 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, &quot;DELETE FROM Databases WHERE origin=?&quot;);
</span><span class="cx">         if (statement.prepare() != SQLITE_OK) {
</span><del>-            LOG_ERROR(&quot;Unable to prepare deletion of databases from origin %s from tracker&quot;, origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+            LOG_ERROR(&quot;Unable to prepare deletion of databases from origin %s from tracker&quot;, 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-&gt;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(&quot;Unable to execute deletion of databases from origin %s from tracker&quot;, origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+            LOG_ERROR(&quot;Unable to execute deletion of databases from origin %s from tracker&quot;, 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, &quot;DELETE FROM Origins WHERE origin=?&quot;);
</span><span class="cx">         if (originStatement.prepare() != SQLITE_OK) {
</span><del>-            LOG_ERROR(&quot;Unable to prepare deletion of origin %s from tracker&quot;, origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+            LOG_ERROR(&quot;Unable to prepare deletion of origin %s from tracker&quot;, 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-&gt;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(&quot;Unable to execute deletion of databases from origin %s from tracker&quot;, origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+            LOG_ERROR(&quot;Unable to execute deletion of databases from origin %s from tracker&quot;, 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(&quot;Unable to delete file for database %s in origin %s&quot;, name.ascii().data(), origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+        LOG_ERROR(&quot;Unable to delete file for database %s in origin %s&quot;, 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, &quot;DELETE FROM Databases WHERE origin=? AND name=?&quot;);
</span><span class="cx">     if (statement.prepare() != SQLITE_OK) {
</span><del>-        LOG_ERROR(&quot;Unable to prepare deletion of database %s from origin %s from tracker&quot;, name.ascii().data(), origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+        LOG_ERROR(&quot;Unable to prepare deletion of database %s from origin %s from tracker&quot;, 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-&gt;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(&quot;Unable to execute deletion of database %s from origin %s from tracker&quot;, name.ascii().data(), origin-&gt;databaseIdentifier().ascii().data());
</del><ins>+        LOG_ERROR(&quot;Unable to execute deletion of database %s from origin %s from tracker&quot;, 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, &quot;SELECT path FROM Databases WHERE origin=? AND name=?;&quot;);
</span><span class="cx">                     if (statement.prepare() == SQLITE_OK) {
</span><del>-                        statement.bindText(1, origin-&gt;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 &quot;Database.h&quot;
</span><span class="cx"> #include &quot;SQLTransaction.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><ins>+#include &quot;SecurityOriginData.h&quot;
</ins><span class="cx"> #include &lt;wtf/Deque.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -42,7 +43,7 @@
</span><span class="cx"> 
</span><span class="cx"> static String getDatabaseIdentifier(SQLTransaction&amp; transaction)
</span><span class="cx"> {
</span><del>-    return transaction.database().securityOrigin()-&gt;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()-&gt;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 &quot;ResourceLoadInfo.h&quot;
</span><span class="cx"> #include &quot;ScriptController.h&quot;
</span><span class="cx"> #include &quot;ScriptSourceCode.h&quot;
</span><ins>+#include &quot;SecurityOriginData.h&quot;
</ins><span class="cx"> #include &quot;SecurityPolicy.h&quot;
</span><span class="cx"> #include &quot;SessionID.h&quot;
</span><span class="cx"> #include &quot;Settings.h&quot;
</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-&gt;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 &quot;SQLiteStatement.h&quot;
</span><span class="cx"> #include &quot;SQLiteTransaction.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><ins>+#include &quot;SecurityOriginData.h&quot;
</ins><span class="cx"> #include &quot;URL.h&quot;
</span><span class="cx"> #include &quot;UUID.h&quot;
</span><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;manifestURL()));
</span><span class="cx">     statement.bindText(2, group-&gt;manifestURL());
</span><del>-    statement.bindText(3, group-&gt;origin()-&gt;databaseIdentifier());
</del><ins>+    statement.bindText(3, SecurityOriginData::fromSecurityOrigin(*group-&gt;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-&gt;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, &quot;file&quot;))
-        return ASCIILiteral(&quot;file__0&quot;);
-
-    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 &quot;null&quot;.
</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 &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><ins>+#include &lt;wtf/text/StringBuilder.h&gt;
</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, &quot;file&quot;))
+        return ASCIILiteral(&quot;file__0&quot;);
+    
+    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&lt;class Encoder&gt; void encode(Encoder&amp;) const;
</span><span class="cx">     template&lt;class Decoder&gt; static bool decode(Decoder&amp;, SecurityOriginData&amp;);
</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  &lt;achristensen@webkit.org&gt;
+
+        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  &lt;achristensen@webkit.org&gt;
</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 &quot;StorageTracker.h&quot;
</span><span class="cx"> #include &lt;WebCore/Frame.h&gt;
</span><span class="cx"> #include &lt;WebCore/SecurityOrigin.h&gt;
</span><ins>+#include &lt;WebCore/SecurityOriginData.h&gt;
</ins><span class="cx"> #include &lt;WebCore/StorageEventDispatcher.h&gt;
</span><span class="cx"> #include &lt;WebCore/StorageMap.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</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-&gt;m_storageSyncManager) {
</span><del>-        area-&gt;m_storageAreaSync = StorageAreaSync::create(area-&gt;m_storageSyncManager.get(), area.copyRef(), area-&gt;m_securityOrigin-&gt;databaseIdentifier());
</del><ins>+        area-&gt;m_storageAreaSync = StorageAreaSync::create(area-&gt;m_storageSyncManager.get(), area.copyRef(), SecurityOriginData::fromSecurityOrigin(*area-&gt;m_securityOrigin).databaseIdentifier());
</ins><span class="cx">         ASSERT(area-&gt;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 &lt;WebCore/SQLiteDatabaseTracker.h&gt;
</span><span class="cx"> #include &lt;WebCore/SQLiteStatement.h&gt;
</span><span class="cx"> #include &lt;WebCore/SecurityOrigin.h&gt;
</span><ins>+#include &lt;WebCore/SecurityOriginData.h&gt;
</ins><span class="cx"> #include &lt;WebCore/TextEncoding.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</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-&gt;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-&gt;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  &lt;achristensen@webkit.org&gt;
+
+        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  &lt;cgarcia@igalia.com&gt;
</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 &lt;WebCore/URL.h&gt;
</span><span class="cx"> #import &lt;WebCore/DatabaseManager.h&gt;
</span><span class="cx"> #import &lt;WebCore/SecurityOrigin.h&gt;
</span><ins>+#import &lt;WebCore/SecurityOriginData.h&gt;
</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&lt;SecurityOrigin*&gt;(_private)-&gt;databaseIdentifier();
</del><ins>+    return SecurityOriginData::fromSecurityOrigin(*reinterpret_cast&lt;SecurityOrigin*&gt;(_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  &lt;achristensen@webkit.org&gt;
</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  &lt;achristensen@webkit.org&gt;
+
</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 &quot;APISecurityOrigin.h&quot;
</span><span class="cx"> #include &quot;WKAPICast.h&quot;
</span><ins>+#include &lt;WebCore/SecurityOriginData.h&gt;
</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)-&gt;securityOrigin().databaseIdentifier());
</del><ins>+    return toCopiedAPI(WebCore::SecurityOriginData::fromSecurityOrigin(toImpl(securityOrigin)-&gt;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 &lt;WebCore/SQLiteFileSystem.h&gt;
</span><span class="cx"> #include &lt;WebCore/SQLiteStatement.h&gt;
</span><span class="cx"> #include &lt;WebCore/SecurityOrigin.h&gt;
</span><ins>+#include &lt;WebCore/SecurityOriginData.h&gt;
</ins><span class="cx"> #include &lt;WebCore/TextEncoding.h&gt;
</span><span class="cx"> #include &lt;wtf/WorkQueue.h&gt;
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</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-&gt;databaseIdentifier() + &quot;.localstorage&quot;);
</del><ins>+    return databasePath(SecurityOriginData::fromSecurityOrigin(*securityOrigin).databaseIdentifier() + &quot;.localstorage&quot;);
</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-&gt;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-&gt;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 &lt;WebCore/HTMLMediaElement.h&gt;
</span><span class="cx"> #include &lt;WebCore/OriginLock.h&gt;
</span><span class="cx"> #include &lt;WebCore/SecurityOrigin.h&gt;
</span><ins>+#include &lt;WebCore/SecurityOriginData.h&gt;
</ins><span class="cx"> #include &lt;wtf/RunLoop.h&gt;
</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&amp; origin : origins) {
</span><del>-        auto mediaKeyDirectory = WebCore::pathByAppendingComponent(mediaKeysStorageDirectory, origin-&gt;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 &lt;WebCore/FrameLoader.h&gt;
</span><span class="cx"> #include &lt;WebCore/Geolocation.h&gt;
</span><span class="cx"> #include &lt;WebCore/SecurityOrigin.h&gt;
</span><ins>+#include &lt;WebCore/SecurityOriginData.h&gt;
</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-&gt;document()-&gt;securityOrigin();
</span><span class="cx"> 
</span><del>-    m_page-&gt;send(Messages::WebPageProxy::RequestGeolocationPermissionForFrame(geolocationID, webFrame-&gt;frameID(), origin-&gt;databaseIdentifier()));
</del><ins>+    m_page-&gt;send(Messages::WebPageProxy::RequestGeolocationPermissionForFrame(geolocationID, webFrame-&gt;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 &lt;WebCore/Page.h&gt;
</span><span class="cx"> #include &lt;WebCore/PageOverlay.h&gt;
</span><span class="cx"> #include &lt;WebCore/PageOverlayController.h&gt;
</span><ins>+#include &lt;WebCore/SecurityOriginData.h&gt;
</ins><span class="cx"> #include &lt;WebCore/URL.h&gt;
</span><span class="cx"> #include &lt;WebCore/WheelEventTestTrigger.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</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&amp; origin : origins)
</span><del>-        originIdentifiers.uncheckedAppend(API::String::create(origin-&gt;databaseIdentifier()));
</del><ins>+        originIdentifiers.uncheckedAppend(API::String::create(WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier()));
</ins><span class="cx"> 
</span><span class="cx">     return toAPI(&amp;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()-&gt;databaseIdentifier());
</del><ins>+    return pathByAppendingComponent(m_mediaKeyStorageDirectory, originData.databaseIdentifier());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Vector&lt;SecurityOriginData&gt; 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 &lt;WebCore/Frame.h&gt;
</span><span class="cx"> #include &lt;WebCore/FrameLoader.h&gt;
</span><span class="cx"> #include &lt;WebCore/SecurityOrigin.h&gt;
</span><ins>+#include &lt;WebCore/SecurityOriginData.h&gt;
</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-&gt;databaseIdentifier() : emptyString();
-    m_page.send(Messages::WebPageProxy::RequestUserMediaPermissionForFrame(requestID, webFrame-&gt;frameID(), request.userMediaDocumentOrigin()-&gt;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-&gt;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&amp; 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-&gt;databaseIdentifier() : emptyString();
-    m_page.send(Messages::WebPageProxy::EnumerateMediaDevicesForFrame(requestID, webFrame-&gt;frameID(), request.userMediaDocumentOrigin()-&gt;databaseIdentifier(), topLevelDocumentOriginString));
</del><ins>+    String topLevelDocumentOriginString = topLevelDocumentOrigin ? SecurityOriginData::fromSecurityOrigin(*topLevelDocumentOrigin).databaseIdentifier() : emptyString();
+    m_page.send(Messages::WebPageProxy::EnumerateMediaDevicesForFrame(requestID, webFrame-&gt;frameID(), SecurityOriginData::fromSecurityOrigin(*request.userMediaDocumentOrigin()).databaseIdentifier(), topLevelDocumentOriginString));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void UserMediaPermissionRequestManager::cancelMediaDevicesEnumeration(WebCore::MediaDevicesEnumerationRequest&amp; 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&lt;API::SecurityOrigin&gt; securityOrigin = API::SecurityOrigin::create(WebCore::SecurityOrigin::createFromDatabaseIdentifier(origin-&gt;databaseIdentifier()));
</del><ins>+    RefPtr&lt;API::SecurityOrigin&gt; securityOrigin = API::SecurityOrigin::create(WebCore::SecurityOrigin::createFromDatabaseIdentifier(WebCore::SecurityOriginData::fromSecurityOrigin(*origin).databaseIdentifier()));
</ins><span class="cx">     newQuota = m_page-&gt;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()-&gt;sendSync(
</span><del>-            Messages::WebPageProxy::ExceededDatabaseQuota(webFrame-&gt;frameID(), origin-&gt;databaseIdentifier(), databaseName, details.displayName(), currentQuota, currentOriginUsage, details.currentUsage(), details.expectedUsage()),
</del><ins>+            Messages::WebPageProxy::ExceededDatabaseQuota(webFrame-&gt;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-&gt;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()-&gt;sendSync(
</span><del>-        Messages::WebPageProxy::ReachedApplicationCacheOriginQuota(origin-&gt;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-&gt;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>