<!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>[180704] 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/180704">180704</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2015-02-26 15:22:17 -0800 (Thu, 26 Feb 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rename DatabaseManager::manager() to DatabaseManager::singleton()
https://bugs.webkit.org/show_bug.cgi?id=142054

Reviewed by Ryosuke Niwa.

Rename DatabaseManager::manager() to DatabaseManager::singleton() as
per coding style and use WTF::NeverDestroyed.

Source/WebCore:

* Modules/webdatabase/DOMWindowWebDatabase.cpp:
(WebCore::DOMWindowWebDatabase::openDatabase):
* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::DatabaseBackendBase::DatabaseBackendBase):
* Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::DatabaseContext):
(WebCore::DatabaseContext::~DatabaseContext):
(WebCore::DatabaseContext::stopDatabases):
(WebCore::DatabaseContext::databaseExceededQuota):
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::singleton):
(WebCore::DatabaseManager::manager): Deleted.
* Modules/webdatabase/DatabaseManager.h:
(WebCore::DatabaseManager::~DatabaseManager): Deleted.
* Modules/webdatabase/SQLTransactionClient.cpp:
(WebCore::SQLTransactionClient::didExceedQuota):
* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):

Source/WebKit/mac:

* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager init]):
(-[WebDatabaseManager origins]):
(-[WebDatabaseManager databasesWithOrigin:]):
(-[WebDatabaseManager detailsForDatabase:withOrigin:]):
(-[WebDatabaseManager deleteAllDatabases]):
(-[WebDatabaseManager deleteOrigin:]):
(-[WebDatabaseManager deleteDatabase:withOrigin:]):
* Storage/WebDatabaseQuotaManager.mm:
(-[WebDatabaseQuotaManager usage]):
(-[WebDatabaseQuotaManager quota]):
(-[WebDatabaseQuotaManager setQuota:]):
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]):
* WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/win:

* WebDatabaseManager.cpp:
(WebDatabaseManager::sharedWebDatabaseManager):
(WebDatabaseManager::origins):
(WebDatabaseManager::databasesWithOrigin):
(WebDatabaseManager::detailsForDatabase):
(WebDatabaseManager::deleteAllDatabases):
(WebDatabaseManager::deleteOrigin):
(WebDatabaseManager::deleteDatabase):
(WebDatabaseManager::setQuota):
(WebKitInitializeWebDatabasesIfNecessary):
* WebSecurityOrigin.cpp:
(WebSecurityOrigin::usage):
(WebSecurityOrigin::quota):
(WebSecurityOrigin::setQuota):
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::exceededDatabaseQuota):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::initialize):
(WebKit::WebDatabaseManager::getDatabasesByOrigin):
(WebKit::WebDatabaseManager::getDatabaseOrigins):
(WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManager::deleteAllDatabases):
(WebKit::WebDatabaseManager::setQuotaForOrigin):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDOMWindowWebDatabasecpp">trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseBackendBasecpp">trunk/Source/WebCore/Modules/webdatabase/DatabaseBackendBase.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseContextcpp">trunk/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseManagercpp">trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseManagerh">trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseSQLTransactionClientcpp">trunk/Source/WebCore/Modules/webdatabase/SQLTransactionClient.cpp</a></li>
<li><a href="#trunkSourceWebCorehistoryPageCachecpp">trunk/Source/WebCore/history/PageCache.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadercpp">trunk/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacStorageWebDatabaseManagermm">trunk/Source/WebKit/mac/Storage/WebDatabaseManager.mm</a></li>
<li><a href="#trunkSourceWebKitmacStorageWebDatabaseQuotaManagermm">trunk/Source/WebKit/mac/Storage/WebDatabaseQuotaManager.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebSecurityOriginmm">trunk/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebFramemm">trunk/Source/WebKit/mac/WebView/WebFrame.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebViewmm">trunk/Source/WebKit/mac/WebView/WebView.mm</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinWebDatabaseManagercpp">trunk/Source/WebKit/win/WebDatabaseManager.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebSecurityOrigincpp">trunk/Source/WebKit/win/WebSecurityOrigin.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebViewcpp">trunk/Source/WebKit/win/WebView.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebDatabaseManagercpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebCore/ChangeLog        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -1,3 +1,35 @@
</span><ins>+2015-02-26  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Rename DatabaseManager::manager() to DatabaseManager::singleton()
+        https://bugs.webkit.org/show_bug.cgi?id=142054
+
+        Reviewed by Ryosuke Niwa.
+
+        Rename DatabaseManager::manager() to DatabaseManager::singleton() as
+        per coding style and use WTF::NeverDestroyed.
+
+        * Modules/webdatabase/DOMWindowWebDatabase.cpp:
+        (WebCore::DOMWindowWebDatabase::openDatabase):
+        * Modules/webdatabase/DatabaseBackendBase.cpp:
+        (WebCore::DatabaseBackendBase::DatabaseBackendBase):
+        * Modules/webdatabase/DatabaseContext.cpp:
+        (WebCore::DatabaseContext::DatabaseContext):
+        (WebCore::DatabaseContext::~DatabaseContext):
+        (WebCore::DatabaseContext::stopDatabases):
+        (WebCore::DatabaseContext::databaseExceededQuota):
+        * Modules/webdatabase/DatabaseManager.cpp:
+        (WebCore::DatabaseManager::singleton):
+        (WebCore::DatabaseManager::manager): Deleted.
+        * Modules/webdatabase/DatabaseManager.h:
+        (WebCore::DatabaseManager::~DatabaseManager): Deleted.
+        * Modules/webdatabase/SQLTransactionClient.cpp:
+        (WebCore::SQLTransactionClient::didExceedQuota):
+        * history/PageCache.cpp:
+        (WebCore::logCanCacheFrameDecision):
+        (WebCore::PageCache::canCachePageContainingThisFrame):
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::stopLoading):
+
</ins><span class="cx"> 2015-02-26  Csaba Osztrogonác  &lt;ossy@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Fix the !ENABLE(GEOLOCATION) build after r180533
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDOMWindowWebDatabasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Database&gt; database = 0;
</span><del>-    DatabaseManager&amp; dbManager = DatabaseManager::manager();
</del><ins>+    DatabaseManager&amp; dbManager = DatabaseManager::singleton();
</ins><span class="cx">     DatabaseError error = DatabaseError::None;
</span><span class="cx">     if (dbManager.isAvailable() &amp;&amp; window-&gt;document()-&gt;securityOrigin()-&gt;canAccessDatabase(window-&gt;document()-&gt;topOrigin())) {
</span><span class="cx">         database = dbManager.openDatabase(window-&gt;document(), name, version, displayName, estimatedSize, creationCallback, error);
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseBackendBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseBackendBase.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseBackendBase.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseBackendBase.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -229,7 +229,7 @@
</span><span class="cx">         hashSet-&gt;add(this);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    m_filename = DatabaseManager::manager().fullPathForDatabase(securityOrigin(), m_name);
</del><ins>+    m_filename = DatabaseManager::singleton().fullPathForDatabase(securityOrigin(), m_name);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> DatabaseBackendBase::~DatabaseBackendBase()
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -110,9 +110,10 @@
</span><span class="cx"> 
</span><span class="cx">     // For debug accounting only. We must do this before we register the
</span><span class="cx">     // instance. The assertions assume this.
</span><del>-    DatabaseManager::manager().didConstructDatabaseContext();
</del><ins>+    auto&amp; databaseManager = DatabaseManager::singleton();
+    databaseManager.didConstructDatabaseContext();
</ins><span class="cx"> 
</span><del>-    DatabaseManager::manager().registerDatabaseContext(this);
</del><ins>+    databaseManager.registerDatabaseContext(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> DatabaseContext::~DatabaseContext()
</span><span class="lines">@@ -122,7 +123,7 @@
</span><span class="cx"> 
</span><span class="cx">     // For debug accounting only. We must call this last. The assertions assume
</span><span class="cx">     // this.
</span><del>-    DatabaseManager::manager().didDestructDatabaseContext();
</del><ins>+    DatabaseManager::singleton().didDestructDatabaseContext();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // This is called if the associated ScriptExecutionContext is destroyed while
</span><span class="lines">@@ -185,7 +186,7 @@
</span><span class="cx"> bool DatabaseContext::stopDatabases(DatabaseTaskSynchronizer* synchronizer)
</span><span class="cx"> {
</span><span class="cx">     if (m_isRegistered) {
</span><del>-        DatabaseManager::manager().unregisterDatabaseContext(this);
</del><ins>+        DatabaseManager::singleton().unregisterDatabaseContext(this);
</ins><span class="cx">         m_isRegistered = false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -231,7 +232,7 @@
</span><span class="cx">     ASSERT(m_scriptExecutionContext-&gt;isWorkerGlobalScope());
</span><span class="cx">     // FIXME: This needs a real implementation; this is a temporary solution for testing.
</span><span class="cx">     const unsigned long long defaultQuota = 5 * 1024 * 1024;
</span><del>-    DatabaseManager::manager().setQuota(m_scriptExecutionContext-&gt;securityOrigin(), defaultQuota);
</del><ins>+    DatabaseManager::singleton().setQuota(m_scriptExecutionContext-&gt;securityOrigin(), defaultQuota);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> SecurityOrigin* DatabaseContext::securityOrigin() const
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -41,6 +41,7 @@
</span><span class="cx"> #include &quot;ScriptController.h&quot;
</span><span class="cx"> #include &quot;ScriptExecutionContext.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -57,15 +58,10 @@
</span><span class="cx">     m_manager.removeProposedDatabase(this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-DatabaseManager&amp; DatabaseManager::manager()
</del><ins>+DatabaseManager&amp; DatabaseManager::singleton()
</ins><span class="cx"> {
</span><del>-    static DatabaseManager* dbManager = 0;
-    // FIXME: The following is vulnerable to a race between threads. Need to
-    // implement a thread safe on-first-use static initializer.
-    if (!dbManager)
-        dbManager = new DatabaseManager();
-
-    return *dbManager;
</del><ins>+    static NeverDestroyed&lt;DatabaseManager&gt; instance;
+    return instance;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> DatabaseManager::DatabaseManager()
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -51,8 +51,9 @@
</span><span class="cx"> 
</span><span class="cx"> class DatabaseManager {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(DatabaseManager); WTF_MAKE_FAST_ALLOCATED;
</span><ins>+    friend class WTF::NeverDestroyed&lt;DatabaseManager&gt;;
</ins><span class="cx"> public:
</span><del>-    WEBCORE_EXPORT static DatabaseManager&amp; manager();
</del><ins>+    WEBCORE_EXPORT static DatabaseManager&amp; singleton();
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void initialize(const String&amp; databasePath);
</span><span class="cx">     WEBCORE_EXPORT void setClient(DatabaseManagerClient*);
</span><span class="lines">@@ -121,7 +122,7 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     DatabaseManager();
</span><del>-    ~DatabaseManager() { }
</del><ins>+    ~DatabaseManager() = delete;
</ins><span class="cx"> 
</span><span class="cx">     // This gets a DatabaseContext for the specified ScriptExecutionContext if
</span><span class="cx">     // it already exist previously. Otherwise, it returns 0.
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseSQLTransactionClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/SQLTransactionClient.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/SQLTransactionClient.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLTransactionClient.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -49,9 +49,10 @@
</span><span class="cx"> bool SQLTransactionClient::didExceedQuota(DatabaseBackendBase* database)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(database-&gt;databaseContext()-&gt;scriptExecutionContext()-&gt;isContextThread());
</span><del>-    unsigned long long currentQuota = DatabaseManager::manager().quotaForOrigin(database-&gt;securityOrigin());
</del><ins>+    auto&amp; databaseManager = DatabaseManager::singleton();
+    unsigned long long currentQuota = databaseManager.quotaForOrigin(database-&gt;securityOrigin());
</ins><span class="cx">     database-&gt;databaseContext()-&gt;databaseExceededQuota(database-&gt;stringIdentifier(), database-&gt;details());
</span><del>-    unsigned long long newQuota = DatabaseManager::manager().quotaForOrigin(database-&gt;securityOrigin());
</del><ins>+    unsigned long long newQuota = databaseManager.quotaForOrigin(database-&gt;securityOrigin());
</ins><span class="cx">     return (newQuota &gt; currentQuota);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehistoryPageCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/history/PageCache.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/history/PageCache.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebCore/history/PageCache.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -153,7 +153,7 @@
</span><span class="cx">         logPageCacheFailureDiagnosticMessage(diagnosticLoggingClient, DiagnosticLoggingKeys::httpsNoStoreKey());
</span><span class="cx">         rejectReasons |= 1 &lt;&lt; IsHttpsAndCacheControlled;
</span><span class="cx">     }
</span><del>-    if (DatabaseManager::manager().hasOpenDatabases(frame.document())) {
</del><ins>+    if (DatabaseManager::singleton().hasOpenDatabases(frame.document())) {
</ins><span class="cx">         PCLOG(&quot;   -Frame has open database handles&quot;);
</span><span class="cx">         logPageCacheFailureDiagnosticMessage(diagnosticLoggingClient, DiagnosticLoggingKeys::hasOpenDatabasesKey());
</span><span class="cx">         rejectReasons |= 1 &lt;&lt; HasDatabaseHandles;
</span><span class="lines">@@ -319,7 +319,7 @@
</span><span class="cx">         &amp;&amp; !(documentLoader-&gt;substituteData().isValid() &amp;&amp; !documentLoader-&gt;substituteData().failingURL().isEmpty())
</span><span class="cx">         &amp;&amp; (!frameLoader.subframeLoader().containsPlugins() || frame.page()-&gt;settings().pageCacheSupportsPlugins())
</span><span class="cx">         &amp;&amp; !(frame.isMainFrame() &amp;&amp; document-&gt;url().protocolIs(&quot;https&quot;) &amp;&amp; documentLoader-&gt;response().cacheControlContainsNoStore())
</span><del>-        &amp;&amp; !DatabaseManager::manager().hasOpenDatabases(document)
</del><ins>+        &amp;&amp; !DatabaseManager::singleton().hasOpenDatabases(document)
</ins><span class="cx">         &amp;&amp; frameLoader.history().currentItem()
</span><span class="cx">         &amp;&amp; !frameLoader.quickRedirectComing()
</span><span class="cx">         &amp;&amp; !documentLoader-&gt;isLoadingInAPISense()
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -488,7 +488,7 @@
</span><span class="cx">         doc-&gt;setReadyState(Document::Complete);
</span><span class="cx"> 
</span><span class="cx">         // FIXME: Should the DatabaseManager watch for something like ActiveDOMObject::stop() rather than being special-cased here?
</span><del>-        DatabaseManager::manager().stopDatabases(doc, 0);
</del><ins>+        DatabaseManager::singleton().stopDatabases(doc, 0);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // FIXME: This will cancel redirection timer, which really needs to be restarted when restoring the frame from b/f cache.
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit/mac/ChangeLog        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -1,3 +1,34 @@
</span><ins>+2015-02-26  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Rename DatabaseManager::manager() to DatabaseManager::singleton()
+        https://bugs.webkit.org/show_bug.cgi?id=142054
+
+        Reviewed by Ryosuke Niwa.
+
+        Rename DatabaseManager::manager() to DatabaseManager::singleton() as
+        per coding style and use WTF::NeverDestroyed.
+
+        * Storage/WebDatabaseManager.mm:
+        (-[WebDatabaseManager init]):
+        (-[WebDatabaseManager origins]):
+        (-[WebDatabaseManager databasesWithOrigin:]):
+        (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
+        (-[WebDatabaseManager deleteAllDatabases]):
+        (-[WebDatabaseManager deleteOrigin:]):
+        (-[WebDatabaseManager deleteDatabase:withOrigin:]):
+        * Storage/WebDatabaseQuotaManager.mm:
+        (-[WebDatabaseQuotaManager usage]):
+        (-[WebDatabaseQuotaManager quota]):
+        (-[WebDatabaseQuotaManager setQuota:]):
+        * WebCoreSupport/WebSecurityOrigin.mm:
+        (-[WebSecurityOrigin usage]):
+        (-[WebSecurityOrigin quota]):
+        (-[WebSecurityOrigin setQuota:]):
+        * WebView/WebFrame.mm:
+        (-[WebFrame _cacheabilityDictionary]):
+        * WebView/WebView.mm:
+        (-[WebView _preferencesChanged:]):
+
</ins><span class="cx"> 2015-02-26  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Mac] [iOS] Parsing support for -apple-trailing-word
</span></span></pre></div>
<a id="trunkSourceWebKitmacStorageWebDatabaseManagermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/Storage/WebDatabaseManager.mm (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/Storage/WebDatabaseManager.mm        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit/mac/Storage/WebDatabaseManager.mm        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx"> 
</span><span class="cx">     WebPlatformStrategies::initializeIfNecessary();
</span><span class="cx"> 
</span><del>-    DatabaseManager&amp; dbManager = DatabaseManager::manager();
</del><ins>+    DatabaseManager&amp; dbManager = DatabaseManager::singleton();
</ins><span class="cx"> 
</span><span class="cx">     // Set the database root path in WebCore
</span><span class="cx">     dbManager.initialize(databasesDirectoryPath());
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx"> - (NSArray *)origins
</span><span class="cx"> {
</span><span class="cx">     Vector&lt;RefPtr&lt;SecurityOrigin&gt;&gt; coreOrigins;
</span><del>-    DatabaseManager::manager().origins(coreOrigins);
</del><ins>+    DatabaseManager::singleton().origins(coreOrigins);
</ins><span class="cx">     NSMutableArray *webOrigins = [[NSMutableArray alloc] initWithCapacity:coreOrigins.size()];
</span><span class="cx"> 
</span><span class="cx">     for (unsigned i = 0; i &lt; coreOrigins.size(); ++i) {
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> - (NSArray *)databasesWithOrigin:(WebSecurityOrigin *)origin
</span><span class="cx"> {
</span><span class="cx">     Vector&lt;String&gt; nameVector;
</span><del>-    if (!DatabaseManager::manager().databaseNamesForOrigin([origin _core], nameVector))
</del><ins>+    if (!DatabaseManager::singleton().databaseNamesForOrigin([origin _core], nameVector))
</ins><span class="cx">         return nil;
</span><span class="cx">     
</span><span class="cx">     NSMutableArray *names = [[NSMutableArray alloc] initWithCapacity:nameVector.size()];
</span><span class="lines">@@ -118,7 +118,7 @@
</span><span class="cx"> {
</span><span class="cx">     static id keys[3] = {WebDatabaseDisplayNameKey, WebDatabaseExpectedSizeKey, WebDatabaseUsageKey};
</span><span class="cx">     
</span><del>-    DatabaseDetails details = DatabaseManager::manager().detailsForNameAndOrigin(databaseIdentifier, [origin _core]);
</del><ins>+    DatabaseDetails details = DatabaseManager::singleton().detailsForNameAndOrigin(databaseIdentifier, [origin _core]);
</ins><span class="cx">     if (details.name().isNull())
</span><span class="cx">         return nil;
</span><span class="cx">         
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)deleteAllDatabases
</span><span class="cx"> {
</span><del>-    DatabaseManager::manager().deleteAllDatabases();
</del><ins>+    DatabaseManager::singleton().deleteAllDatabases();
</ins><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     // FIXME: This needs to be removed once DatabaseTrackers in multiple processes
</span><span class="cx">     // are in sync: &lt;rdar://problem/9567500&gt; Remove Website Data pane is not kept in sync with Safari
</span><span class="lines">@@ -142,12 +142,12 @@
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)deleteOrigin:(WebSecurityOrigin *)origin
</span><span class="cx"> {
</span><del>-    return DatabaseManager::manager().deleteOrigin([origin _core]);
</del><ins>+    return DatabaseManager::singleton().deleteOrigin([origin _core]);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)deleteDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin
</span><span class="cx"> {
</span><del>-    return DatabaseManager::manager().deleteDatabase([origin _core], databaseIdentifier);
</del><ins>+    return DatabaseManager::singleton().deleteDatabase([origin _core], databaseIdentifier);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre></div>
<a id="trunkSourceWebKitmacStorageWebDatabaseQuotaManagermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/Storage/WebDatabaseQuotaManager.mm (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/Storage/WebDatabaseQuotaManager.mm        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit/mac/Storage/WebDatabaseQuotaManager.mm        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -49,12 +49,12 @@
</span><span class="cx"> 
</span><span class="cx"> - (unsigned long long)usage
</span><span class="cx"> {
</span><del>-    return DatabaseManager::manager().usageForOrigin([_origin _core]);
</del><ins>+    return DatabaseManager::singleton().usageForOrigin([_origin _core]);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (unsigned long long)quota
</span><span class="cx"> {
</span><del>-    return DatabaseManager::manager().quotaForOrigin([_origin _core]);
</del><ins>+    return DatabaseManager::singleton().quotaForOrigin([_origin _core]);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // If the quota is set to a value lower than the current usage, that quota will
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx"> // prevent new data from being added to databases in that origin.
</span><span class="cx"> - (void)setQuota:(unsigned long long)quota
</span><span class="cx"> {
</span><del>-    DatabaseManager::manager().setQuota([_origin _core], quota);
</del><ins>+    DatabaseManager::singleton().setQuota([_origin _core], quota);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebSecurityOriginmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -179,17 +179,17 @@
</span><span class="cx"> 
</span><span class="cx"> - (unsigned long long)usage
</span><span class="cx"> {
</span><del>-    return DatabaseManager::manager().usageForOrigin(reinterpret_cast&lt;SecurityOrigin*&gt;(_private));
</del><ins>+    return DatabaseManager::singleton().usageForOrigin(reinterpret_cast&lt;SecurityOrigin*&gt;(_private));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (unsigned long long)quota
</span><span class="cx"> {
</span><del>-    return DatabaseManager::manager().quotaForOrigin(reinterpret_cast&lt;SecurityOrigin*&gt;(_private));
</del><ins>+    return DatabaseManager::singleton().quotaForOrigin(reinterpret_cast&lt;SecurityOrigin*&gt;(_private));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)setQuota:(unsigned long long)quota
</span><span class="cx"> {
</span><del>-    DatabaseManager::manager().setQuota(reinterpret_cast&lt;SecurityOrigin*&gt;(_private), quota);
</del><ins>+    DatabaseManager::singleton().setQuota(reinterpret_cast&lt;SecurityOrigin*&gt;(_private), quota);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebFramemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebFrame.mm (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebFrame.mm        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit/mac/WebView/WebFrame.mm        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -2093,7 +2093,7 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (Document* document = _private-&gt;coreFrame-&gt;document()) {
</span><del>-        if (DatabaseManager::manager().hasOpenDatabases(document))
</del><ins>+        if (DatabaseManager::singleton().hasOpenDatabases(document))
</ins><span class="cx">             [result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameUsesDatabases];
</span><span class="cx">         if (!document-&gt;canSuspendActiveDOMObjects())
</span><span class="cx">             [result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameCanSuspendActiveDOMObjects];
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebView.mm        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -2363,7 +2363,7 @@
</span><span class="cx">     settings.setQTKitEnabled([preferences isQTKitEnabled]);
</span><span class="cx"> #endif // PLATFORM(MAC)
</span><span class="cx"> 
</span><del>-    DatabaseManager::manager().setIsAvailable([preferences databasesEnabled]);
</del><ins>+    DatabaseManager::singleton().setIsAvailable([preferences databasesEnabled]);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><span class="cx">     settings.setMediaSourceEnabled([preferences mediaSourceEnabled]);
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit/win/ChangeLog        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -1,3 +1,30 @@
</span><ins>+2015-02-26  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Rename DatabaseManager::manager() to DatabaseManager::singleton()
+        https://bugs.webkit.org/show_bug.cgi?id=142054
+
+        Reviewed by Ryosuke Niwa.
+
+        Rename DatabaseManager::manager() to DatabaseManager::singleton() as
+        per coding style and use WTF::NeverDestroyed.
+
+        * WebDatabaseManager.cpp:
+        (WebDatabaseManager::sharedWebDatabaseManager):
+        (WebDatabaseManager::origins):
+        (WebDatabaseManager::databasesWithOrigin):
+        (WebDatabaseManager::detailsForDatabase):
+        (WebDatabaseManager::deleteAllDatabases):
+        (WebDatabaseManager::deleteOrigin):
+        (WebDatabaseManager::deleteDatabase):
+        (WebDatabaseManager::setQuota):
+        (WebKitInitializeWebDatabasesIfNecessary):
+        * WebSecurityOrigin.cpp:
+        (WebSecurityOrigin::usage):
+        (WebSecurityOrigin::quota):
+        (WebSecurityOrigin::setQuota):
+        * WebView.cpp:
+        (WebView::notifyPreferencesChanged):
+
</ins><span class="cx"> 2015-02-25  Brent Fulgham  &lt;bfulgham@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Win] Use WEBCORE_EXPORT instead of Definition file
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebDatabaseManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebDatabaseManager.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebDatabaseManager.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit/win/WebDatabaseManager.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -201,7 +201,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!s_sharedWebDatabaseManager) {
</span><span class="cx">         s_sharedWebDatabaseManager.adoptRef(WebDatabaseManager::createInstance());
</span><del>-        DatabaseManager::manager().setClient(s_sharedWebDatabaseManager.get());
</del><ins>+        DatabaseManager::singleton().setClient(s_sharedWebDatabaseManager.get());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return s_sharedWebDatabaseManager.copyRefTo(result);
</span><span class="lines">@@ -219,7 +219,7 @@
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;RefPtr&lt;SecurityOrigin&gt; &gt; origins;
</span><del>-    DatabaseManager::manager().origins(origins);
</del><ins>+    DatabaseManager::singleton().origins(origins);
</ins><span class="cx">         COMPtr&lt;COMEnumVariant&lt;Vector&lt;RefPtr&lt;SecurityOrigin&gt; &gt; &gt; &gt; enumVariant(AdoptCOM, COMEnumVariant&lt;Vector&lt;RefPtr&lt;SecurityOrigin&gt; &gt; &gt;::adopt(origins));
</span><span class="cx"> 
</span><span class="cx">     *result = enumVariant.leakRef();
</span><span class="lines">@@ -243,7 +243,7 @@
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;String&gt; databaseNames;
</span><del>-    DatabaseManager::manager().databaseNamesForOrigin(webSecurityOrigin-&gt;securityOrigin(), databaseNames);
</del><ins>+    DatabaseManager::singleton().databaseNamesForOrigin(webSecurityOrigin-&gt;securityOrigin(), databaseNames);
</ins><span class="cx"> 
</span><span class="cx">     COMPtr&lt;COMEnumVariant&lt;Vector&lt;String&gt; &gt; &gt; enumVariant(AdoptCOM, COMEnumVariant&lt;Vector&lt;String&gt; &gt;::adopt(databaseNames));
</span><span class="cx"> 
</span><span class="lines">@@ -268,7 +268,7 @@
</span><span class="cx">     if (!webSecurityOrigin)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    DatabaseDetails details = DatabaseManager::manager().detailsForNameAndOrigin(String(databaseName, SysStringLen(databaseName)),
</del><ins>+    DatabaseDetails details = DatabaseManager::singleton().detailsForNameAndOrigin(String(databaseName, SysStringLen(databaseName)),
</ins><span class="cx">         webSecurityOrigin-&gt;securityOrigin());
</span><span class="cx"> 
</span><span class="cx">     if (details.name().isNull())
</span><span class="lines">@@ -283,7 +283,7 @@
</span><span class="cx">     if (this != s_sharedWebDatabaseManager)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    DatabaseManager::manager().deleteAllDatabases();
</del><ins>+    DatabaseManager::singleton().deleteAllDatabases();
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -301,7 +301,7 @@
</span><span class="cx">     if (!webSecurityOrigin)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    DatabaseManager::manager().deleteOrigin(webSecurityOrigin-&gt;securityOrigin());
</del><ins>+    DatabaseManager::singleton().deleteOrigin(webSecurityOrigin-&gt;securityOrigin());
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -323,7 +323,7 @@
</span><span class="cx">     if (!webSecurityOrigin)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    DatabaseManager::manager().deleteDatabase(webSecurityOrigin-&gt;securityOrigin(), String(databaseName, SysStringLen(databaseName)));
</del><ins>+    DatabaseManager::singleton().deleteDatabase(webSecurityOrigin-&gt;securityOrigin(), String(databaseName, SysStringLen(databaseName)));
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -380,7 +380,7 @@
</span><span class="cx">     if (this != s_sharedWebDatabaseManager)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    DatabaseManager::manager().setQuota(SecurityOrigin::createFromString(origin).ptr(), quota);
</del><ins>+    DatabaseManager::singleton().setQuota(SecurityOrigin::createFromString(origin).ptr(), quota);
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -421,7 +421,7 @@
</span><span class="cx">     if (initialized)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    WebCore::DatabaseManager::manager().initialize(databasesDirectory());
</del><ins>+    WebCore::DatabaseManager::singleton().initialize(databasesDirectory());
</ins><span class="cx"> 
</span><span class="cx">     initialized = true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebSecurityOrigincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebSecurityOrigin.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebSecurityOrigin.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit/win/WebSecurityOrigin.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *result = DatabaseManager::manager().usageForOrigin(m_securityOrigin.get());
</del><ins>+    *result = DatabaseManager::singleton().usageForOrigin(m_securityOrigin.get());
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -136,13 +136,13 @@
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *result = DatabaseManager::manager().quotaForOrigin(m_securityOrigin.get());
</del><ins>+    *result = DatabaseManager::singleton().quotaForOrigin(m_securityOrigin.get());
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">         
</span><span class="cx"> HRESULT WebSecurityOrigin::setQuota(/* [in] */ unsigned long long quota) 
</span><span class="cx"> {
</span><del>-    DatabaseManager::manager().setQuota(m_securityOrigin.get(), quota);
</del><ins>+    DatabaseManager::singleton().setQuota(m_securityOrigin.get(), quota);
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebView.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebView.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit/win/WebView.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -4996,7 +4996,7 @@
</span><span class="cx">     hr = prefsPrivate-&gt;databasesEnabled(&amp;enabled);
</span><span class="cx">     if (FAILED(hr))
</span><span class="cx">         return hr;
</span><del>-    DatabaseManager::manager().setIsAvailable(enabled);
</del><ins>+    DatabaseManager::singleton().setIsAvailable(enabled);
</ins><span class="cx"> 
</span><span class="cx">     hr = prefsPrivate-&gt;localStorageEnabled(&amp;enabled);
</span><span class="cx">     if (FAILED(hr))
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit2/ChangeLog        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -1,3 +1,26 @@
</span><ins>+2015-02-26  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Rename DatabaseManager::manager() to DatabaseManager::singleton()
+        https://bugs.webkit.org/show_bug.cgi?id=142054
+
+        Reviewed by Ryosuke Niwa.
+
+        Rename DatabaseManager::manager() to DatabaseManager::singleton() as
+        per coding style and use WTF::NeverDestroyed.
+
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::exceededDatabaseQuota):
+        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+        (WebKit::WebDatabaseManager::initialize):
+        (WebKit::WebDatabaseManager::getDatabasesByOrigin):
+        (WebKit::WebDatabaseManager::getDatabaseOrigins):
+        (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
+        (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
+        (WebKit::WebDatabaseManager::deleteAllDatabases):
+        (WebKit::WebDatabaseManager::setQuotaForOrigin):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+
</ins><span class="cx"> 2015-02-26  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Mac] [iOS] Parsing support for -apple-trailing-word
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -689,7 +689,7 @@
</span><span class="cx">     
</span><span class="cx">     SecurityOrigin* origin = frame-&gt;document()-&gt;securityOrigin();
</span><span class="cx"> 
</span><del>-    DatabaseManager&amp; dbManager = DatabaseManager::manager();
</del><ins>+    DatabaseManager&amp; dbManager = DatabaseManager::singleton();
</ins><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></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebDatabaseManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -53,8 +53,9 @@
</span><span class="cx"> 
</span><span class="cx"> void WebDatabaseManager::initialize(const WebProcessCreationParameters&amp; parameters)
</span><span class="cx"> {
</span><del>-    DatabaseManager::manager().initialize(parameters.webSQLDatabaseDirectory);
-    DatabaseManager::manager().setClient(this);
</del><ins>+    auto&amp; databaseManager = DatabaseManager::singleton();
+    databaseManager.initialize(parameters.webSQLDatabaseDirectory);
+    databaseManager.setClient(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebDatabaseManager::getDatabasesByOrigin(uint64_t callbackID) const
</span><span class="lines">@@ -63,8 +64,9 @@
</span><span class="cx">     // to get both the origins and the Vector of DatabaseDetails for each origin in one
</span><span class="cx">     // shot.  That would avoid taking the numerous locks this requires.
</span><span class="cx"> 
</span><ins>+    auto&amp; databaseManager = DatabaseManager::singleton();
</ins><span class="cx">     Vector&lt;RefPtr&lt;SecurityOrigin&gt;&gt; origins;
</span><del>-    DatabaseManager::manager().origins(origins);
</del><ins>+    databaseManager.origins(origins);
</ins><span class="cx"> 
</span><span class="cx">     Vector&lt;OriginAndDatabases&gt; originAndDatabasesVector;
</span><span class="cx">     originAndDatabasesVector.reserveInitialCapacity(origins.size());
</span><span class="lines">@@ -73,13 +75,13 @@
</span><span class="cx">         OriginAndDatabases originAndDatabases;
</span><span class="cx"> 
</span><span class="cx">         Vector&lt;String&gt; nameVector;
</span><del>-        if (!DatabaseManager::manager().databaseNamesForOrigin(origins[i].get(), nameVector))
</del><ins>+        if (!databaseManager.databaseNamesForOrigin(origins[i].get(), nameVector))
</ins><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         Vector&lt;DatabaseDetails&gt; detailsVector;
</span><span class="cx">         detailsVector.reserveInitialCapacity(nameVector.size());
</span><span class="cx">         for (size_t j = 0; j &lt; nameVector.size(); j++) {
</span><del>-            DatabaseDetails details = DatabaseManager::manager().detailsForNameAndOrigin(nameVector[j], origins[i].get());
</del><ins>+            DatabaseDetails details = databaseManager.detailsForNameAndOrigin(nameVector[j], origins[i].get());
</ins><span class="cx">             if (details.name().isNull())
</span><span class="cx">                 continue;
</span><span class="cx"> 
</span><span class="lines">@@ -90,8 +92,8 @@
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         originAndDatabases.originIdentifier = origins[i]-&gt;databaseIdentifier();
</span><del>-        originAndDatabases.originQuota = DatabaseManager::manager().quotaForOrigin(origins[i].get());
-        originAndDatabases.originUsage = DatabaseManager::manager().usageForOrigin(origins[i].get());
</del><ins>+        originAndDatabases.originQuota = databaseManager.quotaForOrigin(origins[i].get());
+        originAndDatabases.originUsage = databaseManager.usageForOrigin(origins[i].get());
</ins><span class="cx">         originAndDatabases.databases.swap(detailsVector); 
</span><span class="cx">         originAndDatabasesVector.append(originAndDatabases);
</span><span class="cx">     }
</span><span class="lines">@@ -102,7 +104,7 @@
</span><span class="cx"> void WebDatabaseManager::getDatabaseOrigins(uint64_t callbackID) const
</span><span class="cx"> {
</span><span class="cx">     Vector&lt;RefPtr&lt;SecurityOrigin&gt;&gt; origins;
</span><del>-    DatabaseManager::manager().origins(origins);
</del><ins>+    DatabaseManager::singleton().origins(origins);
</ins><span class="cx"> 
</span><span class="cx">     size_t numOrigins = origins.size();
</span><span class="cx"> 
</span><span class="lines">@@ -118,7 +120,7 @@
</span><span class="cx">     if (!origin)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    DatabaseManager::manager().deleteDatabase(origin.get(), databaseIdentifier);
</del><ins>+    DatabaseManager::singleton().deleteDatabase(origin.get(), databaseIdentifier);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebDatabaseManager::deleteDatabasesForOrigin(const String&amp; originIdentifier) const
</span><span class="lines">@@ -127,12 +129,12 @@
</span><span class="cx">     if (!origin)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    DatabaseManager::manager().deleteOrigin(origin.get());
</del><ins>+    DatabaseManager::singleton().deleteOrigin(origin.get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebDatabaseManager::deleteAllDatabases() const
</span><span class="cx"> {
</span><del>-    DatabaseManager::manager().deleteAllDatabases();
</del><ins>+    DatabaseManager::singleton().deleteAllDatabases();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebDatabaseManager::setQuotaForOrigin(const String&amp; originIdentifier, unsigned long long quota) const
</span><span class="lines">@@ -145,7 +147,7 @@
</span><span class="cx">     if (!origin)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    DatabaseManager::manager().setQuota(origin.get(), quota);
</del><ins>+    DatabaseManager::singleton().setQuota(origin.get(), quota);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebDatabaseManager::dispatchDidModifyOrigin(SecurityOrigin* origin)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (180703 => 180704)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-02-26 22:44:45 UTC (rev 180703)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-02-26 23:22:17 UTC (rev 180704)
</span><span class="lines">@@ -2714,7 +2714,7 @@
</span><span class="cx">     settings.setInteractiveFormValidationEnabled(store.getBoolValueForKey(WebPreferencesKey::interactiveFormValidationEnabledKey()));
</span><span class="cx">     settings.setSpatialNavigationEnabled(store.getBoolValueForKey(WebPreferencesKey::spatialNavigationEnabledKey()));
</span><span class="cx"> 
</span><del>-    DatabaseManager::manager().setIsAvailable(store.getBoolValueForKey(WebPreferencesKey::databasesEnabledKey()));
</del><ins>+    DatabaseManager::singleton().setIsAvailable(store.getBoolValueForKey(WebPreferencesKey::databasesEnabledKey()));
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(FULLSCREEN_API)
</span><span class="cx">     settings.setFullScreenEnabled(store.getBoolValueForKey(WebPreferencesKey::fullScreenEnabledKey()));
</span></span></pre>
</div>
</div>

</body>
</html>