Title: [118366] trunk
Revision
118366
Author
[email protected]
Date
2012-05-24 07:21:07 -0700 (Thu, 24 May 2012)

Log Message

[EFL][DRT] LayoutTestController's setCacheModel() implementation
https://bugs.webkit.org/show_bug.cgi?id=86840

Patch by Mikhail Pozdnyakov <[email protected]> on 2012-05-24
Reviewed by Csaba Osztrogonác.

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::setDeadDecodedDataDeletionInterval): Aux wrapper function for DRT.
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::resetDefaultsToConsistentValues): Reset dead decoded data deletion interval.
* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::setCacheModel): Implementation added.

LayoutTests:

* platform/efl/Skipped: Unskipped fast/dom/HTMLScriptElement/nested-execution.html.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (118365 => 118366)


--- trunk/LayoutTests/ChangeLog	2012-05-24 14:20:05 UTC (rev 118365)
+++ trunk/LayoutTests/ChangeLog	2012-05-24 14:21:07 UTC (rev 118366)
@@ -1,3 +1,12 @@
+2012-05-24  Mikhail Pozdnyakov  <[email protected]>
+
+        [EFL][DRT] LayoutTestController's setCacheModel() implementation
+        https://bugs.webkit.org/show_bug.cgi?id=86840
+
+        Reviewed by Csaba Osztrogonác.
+
+        * platform/efl/Skipped: Unskipped fast/dom/HTMLScriptElement/nested-execution.html.
+
 2012-05-24  Kristóf Kosztyó  <[email protected]>
 
         [Qt] Unreviewed. Update platform specific expectation after r118353

Modified: trunk/LayoutTests/platform/efl/Skipped (118365 => 118366)


--- trunk/LayoutTests/platform/efl/Skipped	2012-05-24 14:20:05 UTC (rev 118365)
+++ trunk/LayoutTests/platform/efl/Skipped	2012-05-24 14:21:07 UTC (rev 118366)
@@ -200,9 +200,6 @@
 editing/style
 editing/undo
 
-# EFL's LayoutTestController does not implement setCacheModel
-fast/dom/HTMLScriptElement/nested-execution.html
-
 # EFL's LayoutTestController does not implement setDomainRelaxationForbiddenForURLScheme
 http/tests/security/setDomainRelaxationForbiddenForURLScheme.html
 

Modified: trunk/Source/WebKit/efl/ChangeLog (118365 => 118366)


--- trunk/Source/WebKit/efl/ChangeLog	2012-05-24 14:20:05 UTC (rev 118365)
+++ trunk/Source/WebKit/efl/ChangeLog	2012-05-24 14:21:07 UTC (rev 118366)
@@ -1,3 +1,14 @@
+2012-05-24  Mikhail Pozdnyakov  <[email protected]>
+
+        [EFL][DRT] LayoutTestController's setCacheModel() implementation
+        https://bugs.webkit.org/show_bug.cgi?id=86840
+
+        Reviewed by Csaba Osztrogonác.
+
+        * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+        (DumpRenderTreeSupportEfl::setDeadDecodedDataDeletionInterval): Aux wrapper function for DRT.
+        * WebCoreSupport/DumpRenderTreeSupportEfl.h:
+
 2012-05-24  Christophe Dumez  <[email protected]>
 
         [EFL] EFL's LayoutTestController needs to implement sendWebIntentResponse

Modified: trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp (118365 => 118366)


--- trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp	2012-05-24 14:20:05 UTC (rev 118365)
+++ trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp	2012-05-24 14:21:07 UTC (rev 118366)
@@ -43,6 +43,7 @@
 #include <IntRect.h>
 #include <JSCSSStyleDeclaration.h>
 #include <JSElement.h>
+#include <MemoryCache.h>
 #include <PageGroup.h>
 #include <PrintContext.h>
 #include <RenderTreeAsText.h>
@@ -504,6 +505,11 @@
 #endif
 }
 
+void DumpRenderTreeSupportEfl::setDeadDecodedDataDeletionInterval(double interval)
+{
+    WebCore::memoryCache()->setDeadDecodedDataDeletionInterval(interval);
+}
+
 HistoryItemChildrenVector DumpRenderTreeSupportEfl::childHistoryItems(const Ewk_History_Item* ewkHistoryItem)
 {
     WebCore::HistoryItem* historyItem = EWKPrivate::coreHistoryItem(ewkHistoryItem);

Modified: trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h (118365 => 118366)


--- trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h	2012-05-24 14:20:05 UTC (rev 118365)
+++ trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h	2012-05-24 14:21:07 UTC (rev 118366)
@@ -86,6 +86,8 @@
     static size_t _javascript_ObjectsCount();
     static unsigned workerThreadCount();
 
+    static void setDeadDecodedDataDeletionInterval(double);
+
     static HistoryItemChildrenVector childHistoryItems(const Ewk_History_Item*);
     static String historyItemTarget(const Ewk_History_Item*);
     static bool isTargetItem(const Ewk_History_Item*);

Modified: trunk/Tools/ChangeLog (118365 => 118366)


--- trunk/Tools/ChangeLog	2012-05-24 14:20:05 UTC (rev 118365)
+++ trunk/Tools/ChangeLog	2012-05-24 14:21:07 UTC (rev 118366)
@@ -1,3 +1,15 @@
+2012-05-24  Mikhail Pozdnyakov  <[email protected]>
+
+        [EFL][DRT] LayoutTestController's setCacheModel() implementation
+        https://bugs.webkit.org/show_bug.cgi?id=86840
+
+        Reviewed by Csaba Osztrogonác.
+
+        * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
+        (DumpRenderTreeChrome::resetDefaultsToConsistentValues): Reset dead decoded data deletion interval.
+        * DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
+        (LayoutTestController::setCacheModel): Implementation added.
+
 2012-05-24  Hironori Bono  <[email protected]>
 
         Enable grammar checking on Chromium when we paste text.

Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp (118365 => 118366)


--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp	2012-05-24 14:20:05 UTC (rev 118365)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp	2012-05-24 14:21:07 UTC (rev 118366)
@@ -269,6 +269,7 @@
     DumpRenderTreeSupportEfl::setJavaScriptProfilingEnabled(mainView(), false);
     DumpRenderTreeSupportEfl::setLoadsSiteIconsIgnoringImageLoadingSetting(mainView(), false);
     DumpRenderTreeSupportEfl::setSerializeHTTPLoads(false);
+    DumpRenderTreeSupportEfl::setDeadDecodedDataDeletionInterval(0);
 
     if (m_currentIntentRequest) {
         ewk_intent_request_unref(m_currentIntentRequest);

Modified: trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp (118365 => 118366)


--- trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp	2012-05-24 14:20:05 UTC (rev 118365)
+++ trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp	2012-05-24 14:21:07 UTC (rev 118366)
@@ -523,9 +523,45 @@
     return DumpRenderTreeSupportEfl::isCommandEnabled(browser->mainView(), name->ustring().utf8().data());
 }
 
-void LayoutTestController::setCacheModel(int)
+void LayoutTestController::setCacheModel(int cacheModel)
 {
-    notImplemented();
+    unsigned int cacheTotalCapacity;
+    unsigned int cacheMinDeadCapacity;
+    unsigned int cacheMaxDeadCapacity;
+    double deadDecodedDataDeletionInterval;
+    unsigned int pageCacheCapacity;
+
+    // These constants are derived from the Mac cache model enum in Source/WebKit/mac/WebView/WebPreferences.h.
+    switch (cacheModel) {
+    case 0: // WebCacheModelDocumentViewer
+        pageCacheCapacity = 0;
+        cacheTotalCapacity = 0;
+        cacheMinDeadCapacity = 0;
+        cacheMaxDeadCapacity = 0;
+        deadDecodedDataDeletionInterval = 0;
+        break;
+    case 1: // WebCacheModelDocumentBrowser
+        pageCacheCapacity = 2;
+        cacheTotalCapacity = 16 * 1024 * 1024;
+        cacheMinDeadCapacity = cacheTotalCapacity / 8;
+        cacheMaxDeadCapacity = cacheTotalCapacity / 4;
+        deadDecodedDataDeletionInterval = 0;
+        break;
+    case 3: // WebCacheModelPrimaryWebBrowser
+        pageCacheCapacity = 3;
+        cacheTotalCapacity = 32 * 1024 * 1024;
+        cacheMinDeadCapacity = cacheTotalCapacity / 4;
+        cacheMaxDeadCapacity = cacheTotalCapacity / 2;
+        deadDecodedDataDeletionInterval = 60;
+        break;
+    default:
+        fprintf(stderr, "trying to set an invalid value %d for the Cache model.", cacheModel);
+        return;
+    }
+
+    ewk_settings_object_cache_capacity_set(cacheMinDeadCapacity, cacheMaxDeadCapacity, cacheTotalCapacity);
+    DumpRenderTreeSupportEfl::setDeadDecodedDataDeletionInterval(deadDecodedDataDeletionInterval);
+    ewk_settings_page_cache_capacity_set(pageCacheCapacity);
 }
 
 void LayoutTestController::setPersistentUserStyleSheetLocation(JSStringRef)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to