Title: [202368] trunk
Revision
202368
Author
[email protected]
Date
2016-06-22 23:33:07 -0700 (Wed, 22 Jun 2016)

Log Message

[Win] The test storage/indexeddb/modern/handle-user-delete.html is timing out.
https://bugs.webkit.org/show_bug.cgi?id=158934

Reviewed by Brent Fulgham.

Source/WebKit/win:

Add a method to delete all indexed databases.

* Interfaces/IWebDatabaseManager.idl:
* WebDatabaseManager.cpp:
(WebDatabaseManager::QueryInterface):
(WebDatabaseManager::deleteAllIndexedDatabases):
* WebDatabaseManager.h:

Tools:

DumpRenderTree should also delete indexed databases when clearAllDatabases() is called.

* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::clearAllDatabases):

Modified Paths

Diff

Modified: trunk/Source/WebKit/win/ChangeLog (202367 => 202368)


--- trunk/Source/WebKit/win/ChangeLog	2016-06-23 06:10:48 UTC (rev 202367)
+++ trunk/Source/WebKit/win/ChangeLog	2016-06-23 06:33:07 UTC (rev 202368)
@@ -1,3 +1,18 @@
+2016-06-22  Per Arne Vollan  <[email protected]>
+
+        [Win] The test storage/indexeddb/modern/handle-user-delete.html is timing out.
+        https://bugs.webkit.org/show_bug.cgi?id=158934
+
+        Reviewed by Brent Fulgham.
+
+        Add a method to delete all indexed databases.
+
+        * Interfaces/IWebDatabaseManager.idl:
+        * WebDatabaseManager.cpp:
+        (WebDatabaseManager::QueryInterface):
+        (WebDatabaseManager::deleteAllIndexedDatabases):
+        * WebDatabaseManager.h:
+
 2016-06-17  Per Arne Vollan  <[email protected]>
 
         [Win] Rendering is not scaled correctly if process is DPI aware.

Modified: trunk/Source/WebKit/win/Interfaces/IWebDatabaseManager.idl (202367 => 202368)


--- trunk/Source/WebKit/win/Interfaces/IWebDatabaseManager.idl	2016-06-23 06:10:48 UTC (rev 202367)
+++ trunk/Source/WebKit/win/Interfaces/IWebDatabaseManager.idl	2016-06-23 06:33:07 UTC (rev 202368)
@@ -62,3 +62,11 @@
 
     HRESULT setQuota([in] BSTR originName, [in] unsigned long long quota);
 }
+
+[
+    uuid(759C2356-181C-4CCF-9E11-6F6242FB8C78)
+]
+interface IWebDatabaseManager2 : IWebDatabaseManager
+{
+    HRESULT deleteAllIndexedDatabases();
+}

Modified: trunk/Source/WebKit/win/WebDatabaseManager.cpp (202367 => 202368)


--- trunk/Source/WebKit/win/WebDatabaseManager.cpp	2016-06-23 06:10:48 UTC (rev 202367)
+++ trunk/Source/WebKit/win/WebDatabaseManager.cpp	2016-06-23 06:33:07 UTC (rev 202368)
@@ -42,6 +42,10 @@
 #include <WebCore/SecurityOrigin.h>
 #include <wtf/MainThread.h>
 
+#if ENABLE(INDEXED_DATABASE)
+#include "WebDatabaseProvider.h"
+#endif
+
 using namespace WebCore;
 
 static CFStringRef WebDatabaseDirectoryDefaultsKey = CFSTR("WebDatabaseDirectory");
@@ -174,6 +178,8 @@
         *ppvObject = static_cast<WebDatabaseManager*>(this);
     else if (IsEqualGUID(riid, IID_IWebDatabaseManager))
         *ppvObject = static_cast<WebDatabaseManager*>(this);
+    else if (IsEqualGUID(riid, IID_IWebDatabaseManager2))
+        *ppvObject = static_cast<WebDatabaseManager*>(this);
     else
         return E_NOINTERFACE;
 
@@ -327,6 +333,14 @@
     return S_OK;
 }
 
+HRESULT WebDatabaseManager::deleteAllIndexedDatabases()
+{
+#if ENABLE(INDEXED_DATABASE)
+    WebDatabaseProvider::singleton().deleteAllDatabases();
+#endif
+    return S_OK;
+}
+
 class DidModifyOriginData {
     WTF_MAKE_NONCOPYABLE(DidModifyOriginData);
 public:

Modified: trunk/Source/WebKit/win/WebDatabaseManager.h (202367 => 202368)


--- trunk/Source/WebKit/win/WebDatabaseManager.h	2016-06-23 06:10:48 UTC (rev 202367)
+++ trunk/Source/WebKit/win/WebDatabaseManager.h	2016-06-23 06:33:07 UTC (rev 202368)
@@ -32,7 +32,7 @@
 #include "WebKit.h"
 #include <WebCore/DatabaseManagerClient.h>
 
-class WebDatabaseManager : public IWebDatabaseManager, private WebCore::DatabaseManagerClient {
+class WebDatabaseManager : public IWebDatabaseManager2, private WebCore::DatabaseManagerClient {
 public:
     static WebDatabaseManager* createInstance();
 
@@ -51,6 +51,9 @@
     virtual HRESULT STDMETHODCALLTYPE deleteDatabase(_In_ BSTR databaseName, _In_opt_ IWebSecurityOrigin*);
     virtual HRESULT STDMETHODCALLTYPE setQuota(_In_ BSTR origin, unsigned long long quota);
 
+    // IWebDatabaseManager2
+    virtual HRESULT STDMETHODCALLTYPE deleteAllIndexedDatabases();
+
     // DatabaseManagerClient
     virtual void dispatchDidModifyOrigin(WebCore::SecurityOrigin*);
     virtual void dispatchDidModifyDatabase(WebCore::SecurityOrigin*, const WTF::String& databaseName);

Modified: trunk/Tools/ChangeLog (202367 => 202368)


--- trunk/Tools/ChangeLog	2016-06-23 06:10:48 UTC (rev 202367)
+++ trunk/Tools/ChangeLog	2016-06-23 06:33:07 UTC (rev 202368)
@@ -1,3 +1,15 @@
+2016-06-22  Per Arne Vollan  <[email protected]>
+
+        [Win] The test storage/indexeddb/modern/handle-user-delete.html is timing out.
+        https://bugs.webkit.org/show_bug.cgi?id=158934
+
+        Reviewed by Brent Fulgham.
+
+        DumpRenderTree should also delete indexed databases when clearAllDatabases() is called.
+
+        * DumpRenderTree/win/TestRunnerWin.cpp:
+        (TestRunner::clearAllDatabases):
+
 2016-06-22  Saam Barati  <[email protected]>
 
         run-_javascript_core-tests should have some environment variables for commonly used settings

Modified: trunk/Tools/DumpRenderTree/win/TestRunnerWin.cpp (202367 => 202368)


--- trunk/Tools/DumpRenderTree/win/TestRunnerWin.cpp	2016-06-23 06:10:48 UTC (rev 202367)
+++ trunk/Tools/DumpRenderTree/win/TestRunnerWin.cpp	2016-06-23 06:33:07 UTC (rev 202368)
@@ -159,6 +159,12 @@
         return;
 
     databaseManager->deleteAllDatabases();
+
+    COMPtr<IWebDatabaseManager2> databaseManager2;
+    if (FAILED(databaseManager->QueryInterface(&databaseManager2)))
+        return;
+
+    databaseManager2->deleteAllIndexedDatabases();
 }
 
 void TestRunner::setStorageDatabaseIdleInterval(double)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to