Title: [128173] trunk
Revision
128173
Author
[email protected]
Date
2012-09-11 05:32:24 -0700 (Tue, 11 Sep 2012)

Log Message

[WK2][WKTR] TestRunner needs to implement clearApplicationCacheForOrigin
https://bugs.webkit.org/show_bug.cgi?id=96372

Patch by Christophe Dumez <[email protected]> on 2012-09-11
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Add Bundle C API to clear the application cache for a
given origin. This is needed by WebKitTestRunner to
implement clearApplicationCacheForOrigin().

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleClearApplicationCacheForOrigin):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::clearApplicationCacheForOrigin):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):

Tools:

Implement clearApplicationCacheForOrigin() in WebKitTestRunner.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::clearApplicationCacheForOrigin):
(WTR):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):

LayoutTests:

Refresh Skipped list now that clearApplicationCacheForOrigin
is implemented in TestRunner. Some tests were also marked as
failing due to clearAllApplicationCaches() being missing
despite the fact that it is already implemented.

* platform/wk2/Skipped:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (128172 => 128173)


--- trunk/LayoutTests/ChangeLog	2012-09-11 11:59:54 UTC (rev 128172)
+++ trunk/LayoutTests/ChangeLog	2012-09-11 12:32:24 UTC (rev 128173)
@@ -1,3 +1,17 @@
+2012-09-11  Christophe Dumez  <[email protected]>
+
+        [WK2][WKTR] TestRunner needs to implement clearApplicationCacheForOrigin
+        https://bugs.webkit.org/show_bug.cgi?id=96372
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Refresh Skipped list now that clearApplicationCacheForOrigin
+        is implemented in TestRunner. Some tests were also marked as
+        failing due to clearAllApplicationCaches() being missing
+        despite the fact that it is already implemented.
+
+        * platform/wk2/Skipped:
+
 2012-09-11  Mikhail Pozdnyakov  <[email protected]>
 
         [WK2][WTR] WebKitTestRunner needs layoutTestController.setMinimumTimerInterval

Modified: trunk/LayoutTests/platform/wk2/Skipped (128172 => 128173)


--- trunk/LayoutTests/platform/wk2/Skipped	2012-09-11 11:59:54 UTC (rev 128172)
+++ trunk/LayoutTests/platform/wk2/Skipped	2012-09-11 12:32:24 UTC (rev 128173)
@@ -203,7 +203,12 @@
 fast/text/zero-font-size.html
 
 # WTR needs an implementation of dumpApplicationCacheDelegateCallbacks
+http/tests/appcache/origin-delete.html
+http/tests/appcache/origin-quota.html
+http/tests/appcache/origin-quota-continued-download.html
+http/tests/appcache/origin-quota-continued-download-multiple-manifests.html
 http/tests/appcache/origin-usage.html
+http/tests/appcache/origins-with-appcache.html
 
 # WebKitTestRunner needs to support layoutTestController.dumpDOMAsWebArchive
 # <https://bugs.webkit.org/show_bug.cgi?id=42324>
@@ -675,13 +680,6 @@
 fast/workers/worker-lifecycle.html
 fast/workers/worker-close-more.html
 
-# WebKitTestRunner needs layoutTestController.clearAllApplicationCaches
-http/tests/appcache/origin-delete.html
-http/tests/appcache/origin-quota.html
-http/tests/appcache/origin-quota-continued-download.html
-http/tests/appcache/origin-quota-continued-download-multiple-manifests.html
-http/tests/appcache/origins-with-appcache.html
-
 # WebKitTestRunner needs layoutTestController.callShouldCloseOnWebView
 fast/events/onbeforeunload-focused-iframe.html
 

Modified: trunk/Source/WebKit2/ChangeLog (128172 => 128173)


--- trunk/Source/WebKit2/ChangeLog	2012-09-11 11:59:54 UTC (rev 128172)
+++ trunk/Source/WebKit2/ChangeLog	2012-09-11 12:32:24 UTC (rev 128173)
@@ -1,3 +1,23 @@
+2012-09-11  Christophe Dumez  <[email protected]>
+
+        [WK2][WKTR] TestRunner needs to implement clearApplicationCacheForOrigin
+        https://bugs.webkit.org/show_bug.cgi?id=96372
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Add Bundle C API to clear the application cache for a
+        given origin. This is needed by WebKitTestRunner to
+        implement clearApplicationCacheForOrigin().
+
+        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+        (WKBundleClearApplicationCacheForOrigin):
+        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        (WebKit::InjectedBundle::clearApplicationCacheForOrigin):
+        (WebKit):
+        * WebProcess/InjectedBundle/InjectedBundle.h:
+        (InjectedBundle):
+
 2012-09-11  Mikhail Pozdnyakov  <[email protected]>
 
         [WK2][WTR] WebKitTestRunner needs layoutTestController.setMinimumTimerInterval

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp (128172 => 128173)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp	2012-09-11 11:59:54 UTC (rev 128172)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp	2012-09-11 12:32:24 UTC (rev 128173)
@@ -226,6 +226,11 @@
     toImpl(bundleRef)->clearApplicationCache();
 }
 
+void WKBundleClearApplicationCacheForOrigin(WKBundleRef bundleRef, WKStringRef origin)
+{
+    toImpl(bundleRef)->clearApplicationCacheForOrigin(toImpl(origin)->string());
+}
+
 void WKBundleSetAppCacheMaximumSize(WKBundleRef bundleRef, uint64_t size)
 {
     toImpl(bundleRef)->setAppCacheMaximumSize(size);

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h (128172 => 128173)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h	2012-09-11 11:59:54 UTC (rev 128172)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h	2012-09-11 12:32:24 UTC (rev 128173)
@@ -94,6 +94,7 @@
 
 // Application Cache API
 WK_EXPORT void WKBundleClearApplicationCache(WKBundleRef bundle);
+WK_EXPORT void WKBundleClearApplicationCacheForOrigin(WKBundleRef bundle, WKStringRef origin);
 WK_EXPORT void WKBundleSetAppCacheMaximumSize(WKBundleRef bundle, uint64_t size);
 WK_EXPORT uint64_t WKBundleGetAppCacheUsageForOrigin(WKBundleRef bundle, WKStringRef origin);
 

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp (128172 => 128173)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp	2012-09-11 11:59:54 UTC (rev 128172)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp	2012-09-11 12:32:24 UTC (rev 128173)
@@ -327,6 +327,12 @@
     WebApplicationCacheManager::shared().deleteAllEntries();
 }
 
+void InjectedBundle::clearApplicationCacheForOrigin(const String& originString)
+{
+    RefPtr<SecurityOrigin> origin = SecurityOrigin::createFromString(originString);
+    ApplicationCache::deleteCacheForOrigin(origin.get());
+}
+
 void InjectedBundle::setAppCacheMaximumSize(uint64_t size)
 {
     WebApplicationCacheManager::shared().setAppCacheMaximumSize(size);

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h (128172 => 128173)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h	2012-09-11 11:59:54 UTC (rev 128172)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h	2012-09-11 12:32:24 UTC (rev 128173)
@@ -145,6 +145,7 @@
 
     // Application Cache API
     void clearApplicationCache();
+    void clearApplicationCacheForOrigin(const String& origin);
     void setAppCacheMaximumSize(uint64_t);
     uint64_t appCacheUsageForOrigin(const String& origin);
 

Modified: trunk/Tools/ChangeLog (128172 => 128173)


--- trunk/Tools/ChangeLog	2012-09-11 11:59:54 UTC (rev 128172)
+++ trunk/Tools/ChangeLog	2012-09-11 12:32:24 UTC (rev 128173)
@@ -1,3 +1,19 @@
+2012-09-11  Christophe Dumez  <[email protected]>
+
+        [WK2][WKTR] TestRunner needs to implement clearApplicationCacheForOrigin
+        https://bugs.webkit.org/show_bug.cgi?id=96372
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Implement clearApplicationCacheForOrigin() in WebKitTestRunner.
+
+        * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
+        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
+        (WTR::TestRunner::clearApplicationCacheForOrigin):
+        (WTR):
+        * WebKitTestRunner/InjectedBundle/TestRunner.h:
+        (TestRunner):
+
 2012-09-11  Peter Beverloo  <[email protected]>
 
         Don't ignore .pak files when making an archive for Android

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl (128172 => 128173)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl	2012-09-11 11:59:54 UTC (rev 128172)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl	2012-09-11 12:32:24 UTC (rev 128173)
@@ -109,6 +109,7 @@
         void clearAllApplicationCaches();
         void setAppCacheMaximumSize(in unsigned long long size);
         long long applicationCacheDiskUsageForOrigin(in DOMString origin);
+        void clearApplicationCacheForOrigin(in DOMString name);
 
         // Compositing testing.
         DOMString layerTreeAsText();

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp (128172 => 128173)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp	2012-09-11 11:59:54 UTC (rev 128172)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp	2012-09-11 12:32:24 UTC (rev 128173)
@@ -302,6 +302,11 @@
     WKBundleClearApplicationCache(InjectedBundle::shared().bundle());
 }
 
+void TestRunner::clearApplicationCacheForOrigin(JSStringRef origin)
+{
+    WKBundleClearApplicationCacheForOrigin(InjectedBundle::shared().bundle(), toWK(origin).get());
+}
+
 void TestRunner::setAppCacheMaximumSize(uint64_t size)
 {
     WKBundleSetAppCacheMaximumSize(InjectedBundle::shared().bundle(), size);

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h (128172 => 128173)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h	2012-09-11 11:59:54 UTC (rev 128172)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h	2012-09-11 12:32:24 UTC (rev 128173)
@@ -144,6 +144,7 @@
 
     // Application Cache
     void clearAllApplicationCaches();
+    void clearApplicationCacheForOrigin(JSStringRef origin);
     void setAppCacheMaximumSize(uint64_t);
     long long applicationCacheDiskUsageForOrigin(JSStringRef origin);
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to