2011-02-04 Martin Robinson <mrobinson@igalia.com>
authormrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Feb 2011 01:41:05 +0000 (01:41 +0000)
committermrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Feb 2011 01:41:05 +0000 (01:41 +0000)
        Reviewed by Gustavo Noronha Silva.

        [GTK] fast/events/pagehide-timeout.html fails
        https://bugs.webkit.org/show_bug.cgi?id=53771

        * platform/gtk/Skipped: Unskip a test which is now passing.
2011-02-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] fast/events/pagehide-timeout.html fails
        https://bugs.webkit.org/show_bug.cgi?id=53771

        Add the document browser cache model. This model is optimized for viewing
        a series of local files, while the document viewer is optimized for only
        viewing one local file. Improve the documentation on the mapping of these
        enum values to actual cache settings.

        * webkit/webkitglobals.cpp:
        (webkit_set_cache_model): Add support for the document browser cache model and
        improve comments in this section better explaining where the magic numbers come from.
        * webkit/webkitglobals.h: Added an enum value for the document browser cache model.
2011-02-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] fast/events/pagehide-timeout.html fails
        https://bugs.webkit.org/show_bug.cgi?id=53771

        Add knowledge of the document browser cache model the DRT. When resetting
        WebKit settings to consistent values between tests, default to the document
        browser cache model.

        * DumpRenderTree/gtk/DumpRenderTree.cpp:
        (resetDefaultsToConsistentValues): Reset the cache model to the document browser
        cache model between tests.
        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
        (LayoutTestController::setCacheModel): An int value of 2 here corresponds to the
        document browser cache model.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77710 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/gtk/Skipped
Source/WebKit/gtk/ChangeLog
Source/WebKit/gtk/webkit/webkitglobals.cpp
Source/WebKit/gtk/webkit/webkitglobals.h
Tools/ChangeLog
Tools/DumpRenderTree/gtk/DumpRenderTree.cpp
Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp

index bcd2f20746ac66641a578728fa624dfcacab76b7..64511856a2b9517889ec53beaa465f0fe1036206 100644 (file)
@@ -1,3 +1,12 @@
+2011-02-04  Martin Robinson  <mrobinson@igalia.com>
+
+        Reviewed by Gustavo Noronha Silva.
+
+        [GTK] fast/events/pagehide-timeout.html fails
+        https://bugs.webkit.org/show_bug.cgi?id=53771
+
+        * platform/gtk/Skipped: Unskip a test which is now passing.
+
 2011-02-04  Adam Barth  <abarth@webkit.org>
 
         Reviewed by Eric Seidel.
index 824e6e6abe6d8bd19b77343671fe8a2a2c3ead09..05a3a1b7569dedbeaa00d999b87709441f216b21 100644 (file)
@@ -4719,7 +4719,3 @@ http/tests/websocket/tests/url-with-credential.html
 http/tests/websocket/tests/url-with-empty-query.html
 http/tests/websocket/tests/simple.html
 http/tests/websocket/tests/cross-origin.html
-
-# Probably caused by https://bugs.webkit.org/show_bug.cgi?id=53733
-# Test was added in http://trac.webkit.org/changeset/77559
-fast/events/pagehide-timeout.html
\ No newline at end of file
index a591be484250188a92ad6ced38573be673178dce..3f164a255ee0a506b4fd12bb3748321a8729ca17 100644 (file)
@@ -1,3 +1,20 @@
+2011-02-04  Martin Robinson  <mrobinson@igalia.com>
+
+        Reviewed by Gustavo Noronha Silva.
+
+        [GTK] fast/events/pagehide-timeout.html fails
+        https://bugs.webkit.org/show_bug.cgi?id=53771
+
+        Add the document browser cache model. This model is optimized for viewing
+        a series of local files, while the document viewer is optimized for only
+        viewing one local file. Improve the documentation on the mapping of these
+        enum values to actual cache settings.
+
+        * webkit/webkitglobals.cpp:
+        (webkit_set_cache_model): Add support for the document browser cache model and
+        improve comments in this section better explaining where the magic numbers come from.
+        * webkit/webkitglobals.h: Added an enum value for the document browser cache model.
+
 2011-02-03  Yury Semikhatsky  <yurys@chromium.org>
 
         Reviewed by Pavel Feldman.
index a97d53f6b6f4b79a51c201b2043e805009175a21..41d45e6144de431b0e0708d9a9211022f20bb910 100644 (file)
@@ -117,14 +117,24 @@ void webkit_set_cache_model(WebKitCacheModel model)
     gdouble deadDecodedDataDeletionInterval;
     guint pageCacheCapacity;
 
+    // FIXME: The Mac port calculates these values based on the amount of physical memory that's
+    // installed on the system. Currently these values match the Mac port for users with more than
+    // 512 MB and less than 1024 MB of physical memory.
     switch (model) {
     case WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER:
         pageCacheCapacity = 0;
-        cacheTotalCapacity = 0;
+        cacheTotalCapacity = 0; // FIXME: The Mac port actually sets this to larger than 0.
         cacheMinDeadCapacity = 0;
         cacheMaxDeadCapacity = 0;
         deadDecodedDataDeletionInterval = 0;
         break;
+    case WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER:
+        pageCacheCapacity = 2;
+        cacheTotalCapacity = 16 * 1024 * 1024;
+        cacheMinDeadCapacity = cacheTotalCapacity / 8;
+        cacheMaxDeadCapacity = cacheTotalCapacity / 4;
+        deadDecodedDataDeletionInterval = 0;
+        break;
     case WEBKIT_CACHE_MODEL_WEB_BROWSER:
         // Page cache capacity (in pages). Comment from Mac port:
         // (Research indicates that value / page drops substantially after 3 pages.)
index 6d144fc6e0b1a6dafdd51ebd8bfeb8377a7b2e0e..612c195df773dabb1a7a6640234fb9cebef6bebf 100644 (file)
@@ -35,16 +35,21 @@ G_BEGIN_DECLS
  *   WEBKIT_CACHE_MODEL_WEB_BROWSER.
  * @WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER: Disable the cache completely, which
  *   substantially reduces memory usage. Useful for applications that only
- *   access local files.
+ *   access a single local file, with no navigation to other pages. No remote
+ *   resources will be cached.
+ * @WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER: A cache model optimized for viewing
+ *   a series of local files -- for example, a documentation viewer or a website
+ *   designer. WebKit will cache a moderate number of resources.
  * @WEBKIT_CACHE_MODEL_WEB_BROWSER: Improve document load speed substantially
- *   by caching previously viewed content.
+ *   by caching a very large number of resources and previously viewed content.
  *
  * Enum values used for determining the webview cache model.
  */
 typedef enum {
     WEBKIT_CACHE_MODEL_DEFAULT,
     WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER,
-    WEBKIT_CACHE_MODEL_WEB_BROWSER
+    WEBKIT_CACHE_MODEL_WEB_BROWSER,
+    WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER,
 } WebKitCacheModel;
 
 WEBKIT_API SoupSession*
index 1342a9c0d0cfae982f4d3a0d025d7f1833ce69a1..3327a2a77da4409c8a96e4af107dbea008f06483 100644 (file)
@@ -1,3 +1,21 @@
+2011-02-04  Martin Robinson  <mrobinson@igalia.com>
+
+        Reviewed by Gustavo Noronha Silva.
+
+        [GTK] fast/events/pagehide-timeout.html fails
+        https://bugs.webkit.org/show_bug.cgi?id=53771
+
+        Add knowledge of the document browser cache model the DRT. When resetting
+        WebKit settings to consistent values between tests, default to the document
+        browser cache model.
+
+        * DumpRenderTree/gtk/DumpRenderTree.cpp:
+        (resetDefaultsToConsistentValues): Reset the cache model to the document browser
+        cache model between tests.
+        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+        (LayoutTestController::setCacheModel): An int value of 2 here corresponds to the
+        document browser cache model.
+
 2011-02-04  Adam Barth  <abarth@webkit.org>
 
         Reviewed by Eric Seidel.
index 7b77464c66f86b42cde3d62a3c80772cf54dd46c..33ba345bf23b2d2f23d2ff4fe6043238839a70d4 100644 (file)
@@ -419,6 +419,7 @@ static void resetDefaultsToConsistentValues()
                  "enable-fullscreen", TRUE,
                  NULL);
     webkit_web_view_set_settings(webView, settings);
+    webkit_set_cache_model(WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER);
 
     DumpRenderTreeSupportGtk::clearMainFrameName(mainFrame);
 
index b63c2689c32fe5075b5d68e64d30cea5de732c18..ffa3094cdb3b492bc549fff30272560d319b7051 100644 (file)
@@ -563,10 +563,20 @@ bool LayoutTestController::isCommandEnabled(JSStringRef name)
 
 void LayoutTestController::setCacheModel(int cacheModel)
 {
-    if (!cacheModel) // WebCacheModelDocumentViewer
-        webkit_set_cache_model(WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER); 
-    else 
-        webkit_set_cache_model(WEBKIT_CACHE_MODEL_WEB_BROWSER); 
+    // These constants are derived from the Mac cache model enum in Source/WebKit/mac/WebView/WebPreferences.h.
+    switch (cacheModel) {
+    case 0:
+        webkit_set_cache_model(WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER);
+        break;
+    case 1:
+        webkit_set_cache_model(WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER);
+        break;
+    case 3:
+        webkit_set_cache_model(WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER);
+        break;
+    default:
+        ASSERT_NOT_REACHED();
+    }
 }
 
 void LayoutTestController::setPersistentUserStyleSheetLocation(JSStringRef jsURL)