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