Title: [131401] trunk/Source/WebKit2
Revision
131401
Author
commit-qu...@webkit.org
Date
2012-10-15 20:25:08 -0700 (Mon, 15 Oct 2012)

Log Message

[EFL][WK2] Add APIs for cache model
https://bugs.webkit.org/show_bug.cgi?id=98889

Patch by Jongseok Yang <js45.y...@samsung.com> on 2012-10-15
Reviewed by Gyuyoung Kim.

Add ewk_context_cache_model_set(), ewk_context_cache_model_get().

The cache model means the level for the cache capacity.
If EWK_CACHE_MODEL_DOCUMENT_BROWSER, the biggest cache capacity will be set.

* UIProcess/API/efl/ewk_context.cpp:
(ewk_context_cache_model_set):
(ewk_context_cache_model_get):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (131400 => 131401)


--- trunk/Source/WebKit2/ChangeLog	2012-10-16 03:20:18 UTC (rev 131400)
+++ trunk/Source/WebKit2/ChangeLog	2012-10-16 03:25:08 UTC (rev 131401)
@@ -1,3 +1,22 @@
+2012-10-15  Jongseok Yang  <js45.y...@samsung.com>
+
+        [EFL][WK2] Add APIs for cache model
+        https://bugs.webkit.org/show_bug.cgi?id=98889
+
+        Reviewed by Gyuyoung Kim.
+
+        Add ewk_context_cache_model_set(), ewk_context_cache_model_get().
+
+        The cache model means the level for the cache capacity.
+        If EWK_CACHE_MODEL_DOCUMENT_BROWSER, the biggest cache capacity will be set.
+
+        * UIProcess/API/efl/ewk_context.cpp:
+        (ewk_context_cache_model_set):
+        (ewk_context_cache_model_get):
+        * UIProcess/API/efl/ewk_context.h:
+        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
+        (TEST_F):
+
 2012-10-15  Byungwoo Lee  <bw80....@samsung.com>
 
         Fix unused parameter build warning.

Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp (131400 => 131401)


--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp	2012-10-16 03:20:18 UTC (rev 131400)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp	2012-10-16 03:25:08 UTC (rev 131401)
@@ -38,6 +38,7 @@
 #include "ewk_download_job.h"
 #include "ewk_download_job_private.h"
 #include "ewk_favicon_database_private.h"
+#include "ewk_private.h"
 #include <WebCore/FileSystem.h>
 #include <WebCore/IconDatabase.h>
 #include <wtf/HashMap.h>
@@ -338,3 +339,23 @@
     WKRetainPtr<WKStringRef> wkVisitedURL(AdoptWK, WKStringCreateWithUTF8CString(visitedURL));
     WKContextAddVisitedLink(ewkContext->context.get(), wkVisitedURL.get());
 }
+
+// Ewk_Cache_Model enum validation
+COMPILE_ASSERT_MATCHING_ENUM(EWK_CACHE_MODEL_DOCUMENT_VIEWER, kWKCacheModelDocumentViewer);
+COMPILE_ASSERT_MATCHING_ENUM(EWK_CACHE_MODEL_DOCUMENT_BROWSER, kWKCacheModelDocumentBrowser);
+COMPILE_ASSERT_MATCHING_ENUM(EWK_CACHE_MODEL_PRIMARY_WEBBROWSER, kWKCacheModelPrimaryWebBrowser);
+
+Eina_Bool ewk_context_cache_model_set(Ewk_Context* ewkContext, Ewk_Cache_Model cacheModel)
+{
+    EINA_SAFETY_ON_NULL_RETURN_VAL(ewkContext, false);
+    WKContextSetCacheModel(ewk_context_WKContext_get(ewkContext), static_cast<Ewk_Cache_Model>(cacheModel));
+    return true;
+}
+
+Ewk_Cache_Model ewk_context_cache_model_get(const Ewk_Context* ewkContext)
+{
+    EINA_SAFETY_ON_NULL_RETURN_VAL(ewkContext, EWK_CACHE_MODEL_DOCUMENT_VIEWER);
+    WKCacheModel cacheModel = WKContextGetCacheModel(ewk_context_WKContext_get(ewkContext));
+    return static_cast<Ewk_Cache_Model>(cacheModel);
+}
+

Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.h (131400 => 131401)


--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.h	2012-10-16 03:20:18 UTC (rev 131400)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.h	2012-10-16 03:25:08 UTC (rev 131401)
@@ -51,6 +51,23 @@
 typedef struct _Ewk_Context Ewk_Context;
 
 /**
+ * \enum    _Ewk_Cache_Model
+ *
+ * @brief   Contains option for cache model
+ */
+enum _Ewk_Cache_Model {
+    /// Use the smallest cache capacity.
+    EWK_CACHE_MODEL_DOCUMENT_VIEWER,
+    /// Use bigger cache capacity than EWK_CACHE_MODEL_DOCUMENT_VIEWER.
+    EWK_CACHE_MODEL_DOCUMENT_BROWSER,
+    /// Use the biggest cache capacity.
+    EWK_CACHE_MODEL_PRIMARY_WEBBROWSER
+};
+
+/// Creates a type name for the _Ewk_Cache_Model.
+typedef enum _Ewk_Cache_Model Ewk_Cache_Model;
+
+/**
  * @typedef Ewk_Url_Scheme_Request_Cb Ewk_Url_Scheme_Request_Cb
  * @brief Callback type for use with ewk_context_url_scheme_register().
  */
@@ -268,6 +285,27 @@
  */
 EAPI void ewk_context_visited_link_add(Ewk_Context *context, const char *visited_url);
 
+/**
+ * Set @a cache_model as the cache model for @a context.
+ *
+ * By default, it is EWK_CACHE_MODEL_DOCUMENT_BROWSER.
+ *
+ * @param context context object to update.
+ * @param cache_model a #Ewk_Cache_Model.
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EAPI Eina_Bool ewk_context_cache_model_set(Ewk_Context *context, Ewk_Cache_Model cache_model);
+
+/**
+ * Gets the cache model for @a context.
+ *
+ * @param context context object to query.
+ *
+ * @return the cache model for the @a context.
+ */
+EAPI Ewk_Cache_Model ewk_context_cache_model_get(const Ewk_Context *context);
+
 #ifdef __cplusplus
 }
 #endif

Modified: trunk/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp (131400 => 131401)


--- trunk/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp	2012-10-16 03:20:18 UTC (rev 131400)
+++ trunk/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp	2012-10-16 03:25:08 UTC (rev 131401)
@@ -180,3 +180,19 @@
     ewk_context_unref(context);
     ewk_context_unref(context);
 }
+
+TEST_F(EWK2UnitTestBase, ewk_context_cache_model)
+{
+    Ewk_Context* context = ewk_view_context_get(webView());
+
+    ASSERT_EQ(EWK_CACHE_MODEL_DOCUMENT_BROWSER, ewk_context_cache_model_get(context));
+
+    ASSERT_TRUE(ewk_context_cache_model_set(context, EWK_CACHE_MODEL_DOCUMENT_VIEWER));
+    ASSERT_EQ(EWK_CACHE_MODEL_DOCUMENT_VIEWER, ewk_context_cache_model_get(context));
+
+    ASSERT_TRUE(ewk_context_cache_model_set(context, EWK_CACHE_MODEL_DOCUMENT_BROWSER));
+    ASSERT_EQ(EWK_CACHE_MODEL_DOCUMENT_BROWSER, ewk_context_cache_model_get(context));
+
+    ASSERT_TRUE(ewk_context_cache_model_set(context, EWK_CACHE_MODEL_PRIMARY_WEBBROWSER));
+    ASSERT_EQ(EWK_CACHE_MODEL_PRIMARY_WEBBROWSER, ewk_context_cache_model_get(context));
+}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to