2011-03-14 Ryuan Choi <ryuan.choi@samsung.com>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Move cache_directory api
        https://bugs.webkit.org/show_bug.cgi?id=52139

        Move cache directory related apis from ewk_view to ewk_settings because
        those are not related to ewk_view.

        * ewk/ewk_main.cpp:
        (_ewk_init_body):
        * ewk/ewk_settings.cpp:
        (ewk_settings_cache_directory_path_set):
        (ewk_settings_cache_directory_path_get):
        * ewk/ewk_settings.h:
        * ewk/ewk_view.cpp:
        (_ewk_view_priv_new):
        (_ewk_view_priv_del):
        * ewk/ewk_view.h:

git-svn-id: svn://svn.chromium.org/blink/trunk@81004 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 97a1b2ad
2011-03-14 Ryuan Choi <ryuan.choi@samsung.com>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Move cache_directory api
https://bugs.webkit.org/show_bug.cgi?id=52139
Move cache directory related apis from ewk_view to ewk_settings because
those are not related to ewk_view.
* ewk/ewk_main.cpp:
(_ewk_init_body):
* ewk/ewk_settings.cpp:
(ewk_settings_cache_directory_path_set):
(ewk_settings_cache_directory_path_get):
* ewk/ewk_settings.h:
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):
(_ewk_view_priv_del):
* ewk/ewk_view.h:
2011-03-12 Ryuan Choi <ryuan.choi@samsung.com> 2011-03-12 Ryuan Choi <ryuan.choi@samsung.com>
Unreviewed build fix. Unreviewed build fix.
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
#include "Logging.h" #include "Logging.h"
#include "PageCache.h" #include "PageCache.h"
#include "PageGroup.h" #include "PageGroup.h"
#include "appcache/ApplicationCacheStorage.h"
#include "ewk_private.h" #include "ewk_private.h"
#include "ewk_settings.h" #include "ewk_settings.h"
#include "runtime/InitializeThreading.h" #include "runtime/InitializeThreading.h"
...@@ -175,7 +174,9 @@ Eina_Bool _ewk_init_body(void) ...@@ -175,7 +174,9 @@ Eina_Bool _ewk_init_body(void)
ewk_settings_web_database_path_set(wkdir.utf8().data()); ewk_settings_web_database_path_set(wkdir.utf8().data());
ewk_settings_icon_database_path_set(wkdir.utf8().data()); ewk_settings_icon_database_path_set(wkdir.utf8().data());
WebCore::cacheStorage().setCacheDirectory(wkdir); #if ENABLE(OFFLINE_WEB_APPLICATIONS)
ewk_settings_cache_directory_path_set(wkdir.utf8().data());
#endif
} }
// TODO: this should move to WebCore, already reported to webkit-gtk folks: // TODO: this should move to WebCore, already reported to webkit-gtk folks:
......
...@@ -47,6 +47,12 @@ ...@@ -47,6 +47,12 @@
#include <libsoup/soup.h> #include <libsoup/soup.h>
#endif #endif
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
#include "appcache/ApplicationCacheStorage.h"
static const char* _ewk_cache_directory_path = 0;
#endif
static const char* _ewk_default_web_database_path = 0; static const char* _ewk_default_web_database_path = 0;
static const char* _ewk_icon_database_path = 0; static const char* _ewk_icon_database_path = 0;
static uint64_t _ewk_default_web_database_quota = 1 * 1024 * 1024; static uint64_t _ewk_default_web_database_quota = 1 * 1024 * 1024;
...@@ -333,3 +339,46 @@ const char* ewk_settings_default_user_agent_get() ...@@ -333,3 +339,46 @@ const char* ewk_settings_default_user_agent_get()
return eina_stringshare_add(static_ua.utf8().data()); return eina_stringshare_add(static_ua.utf8().data());
} }
/**
* Sets cache directory.
*
* @param path where to store cache, must be write-able.
*
* @return @c EINA_TRUE on success, @c EINA_FALSE if path is NULL or offline
* web application is not supported.
*/
Eina_Bool ewk_settings_cache_directory_path_set(const char *path)
{
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
if (!path)
return EINA_FALSE;
WebCore::cacheStorage().setCacheDirectory(WTF::String::fromUTF8(path));
if (!_ewk_cache_directory_path)
_ewk_cache_directory_path = eina_stringshare_add(path);
else
eina_stringshare_replace(&_ewk_cache_directory_path, path);
return EINA_TRUE;
#else
return EINA_FALSE;
#endif
}
/**
* Return cache directory path.
*
* This is guaranteed to be eina_stringshare, so whenever possible
* save yourself some cpu cycles and use eina_stringshare_ref()
* instead of eina_stringshare_add() or strdup().
*
* @return cache directory path.
*/
const char *ewk_settings_cache_directory_path_get()
{
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
return _ewk_cache_directory_path;
#else
return 0;
#endif
}
...@@ -48,8 +48,11 @@ EAPI Eina_Bool ewk_settings_icon_database_clear(void); ...@@ -48,8 +48,11 @@ EAPI Eina_Bool ewk_settings_icon_database_clear(void);
EAPI cairo_surface_t *ewk_settings_icon_database_icon_surface_get(const char *url); EAPI cairo_surface_t *ewk_settings_icon_database_icon_surface_get(const char *url);
EAPI Evas_Object *ewk_settings_icon_database_icon_object_add(const char *url, Evas *canvas); EAPI Evas_Object *ewk_settings_icon_database_icon_object_add(const char *url, Evas *canvas);
EAPI void ewk_settings_proxy_uri_set(const char* proxy); EAPI Eina_Bool ewk_settings_cache_directory_path_set(const char *path);
EAPI const char* ewk_settings_proxy_uri_get(); EAPI const char *ewk_settings_cache_directory_path_get(void);
EAPI void ewk_settings_proxy_uri_set(const char* proxy);
EAPI const char* ewk_settings_proxy_uri_get();
#ifdef __cplusplus #ifdef __cplusplus
} }
......
...@@ -43,7 +43,6 @@ ...@@ -43,7 +43,6 @@
#include "PlatformMouseEvent.h" #include "PlatformMouseEvent.h"
#include "PopupMenuClient.h" #include "PopupMenuClient.h"
#include "ProgressTracker.h" #include "ProgressTracker.h"
#include "appcache/ApplicationCacheStorage.h"
#include "ewk_private.h" #include "ewk_private.h"
#include <Ecore.h> #include <Ecore.h>
...@@ -102,7 +101,6 @@ struct _Ewk_View_Private_Data { ...@@ -102,7 +101,6 @@ struct _Ewk_View_Private_Data {
const char* user_stylesheet; const char* user_stylesheet;
const char* encoding_default; const char* encoding_default;
const char* encoding_custom; const char* encoding_custom;
const char* cache_directory;
const char* theme; const char* theme;
const char* local_storage_database_path; const char* local_storage_database_path;
int font_minimum_size; int font_minimum_size;
...@@ -585,9 +583,6 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* sd) ...@@ -585,9 +583,6 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* sd)
(priv->page_settings->defaultTextEncodingName().utf8().data()); (priv->page_settings->defaultTextEncodingName().utf8().data());
priv->settings.encoding_custom = 0; priv->settings.encoding_custom = 0;
priv->settings.cache_directory = eina_stringshare_add
(WebCore::cacheStorage().cacheDirectory().utf8().data());
s = priv->page_settings->localStorageDatabasePath(); s = priv->page_settings->localStorageDatabasePath();
priv->settings.local_storage_database_path = eina_stringshare_add(s.string().utf8().data()); priv->settings.local_storage_database_path = eina_stringshare_add(s.string().utf8().data());
...@@ -673,7 +668,6 @@ static void _ewk_view_priv_del(Ewk_View_Private_Data* priv) ...@@ -673,7 +668,6 @@ static void _ewk_view_priv_del(Ewk_View_Private_Data* priv)
eina_stringshare_del(priv->settings.user_stylesheet); eina_stringshare_del(priv->settings.user_stylesheet);
eina_stringshare_del(priv->settings.encoding_default); eina_stringshare_del(priv->settings.encoding_default);
eina_stringshare_del(priv->settings.encoding_custom); eina_stringshare_del(priv->settings.encoding_custom);
eina_stringshare_del(priv->settings.cache_directory);
eina_stringshare_del(priv->settings.font_standard); eina_stringshare_del(priv->settings.font_standard);
eina_stringshare_del(priv->settings.font_cursive); eina_stringshare_del(priv->settings.font_cursive);
eina_stringshare_del(priv->settings.font_monospace); eina_stringshare_del(priv->settings.font_monospace);
...@@ -2724,22 +2718,6 @@ Eina_Bool ewk_view_setting_encoding_detector_get(Evas_Object* o) ...@@ -2724,22 +2718,6 @@ Eina_Bool ewk_view_setting_encoding_detector_get(Evas_Object* o)
return priv->settings.encoding_detector; return priv->settings.encoding_detector;
} }
const char* ewk_view_setting_cache_directory_get(const Evas_Object* o)
{
EWK_VIEW_SD_GET_OR_RETURN(o, sd, 0);
EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv, 0);
return priv->settings.cache_directory;
}
Eina_Bool ewk_view_setting_cache_directory_set(Evas_Object* o, const char* path)
{
EWK_VIEW_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv, EINA_FALSE);
if (eina_stringshare_replace(&priv->settings.cache_directory, path))
WebCore::cacheStorage().setCacheDirectory(String::fromUTF8(path));
return EINA_TRUE;
}
int ewk_view_setting_font_minimum_size_get(const Evas_Object* o) int ewk_view_setting_font_minimum_size_get(const Evas_Object* o)
{ {
EWK_VIEW_SD_GET_OR_RETURN(o, sd, 0); EWK_VIEW_SD_GET_OR_RETURN(o, sd, 0);
......
...@@ -450,8 +450,6 @@ EAPI const char *ewk_view_setting_encoding_custom_get(const Evas_Object *o); ...@@ -450,8 +450,6 @@ EAPI const char *ewk_view_setting_encoding_custom_get(const Evas_Object *o);
EAPI Eina_Bool ewk_view_setting_encoding_custom_set(Evas_Object *o, const char *encoding); EAPI Eina_Bool ewk_view_setting_encoding_custom_set(Evas_Object *o, const char *encoding);
EAPI const char *ewk_view_setting_encoding_default_get(const Evas_Object *o); EAPI const char *ewk_view_setting_encoding_default_get(const Evas_Object *o);
EAPI Eina_Bool ewk_view_setting_encoding_default_set(Evas_Object *o, const char *encoding); EAPI Eina_Bool ewk_view_setting_encoding_default_set(Evas_Object *o, const char *encoding);
EAPI const char *ewk_view_setting_cache_directory_get(const Evas_Object *o);
EAPI Eina_Bool ewk_view_setting_cache_directory_set(Evas_Object *o, const char *path);
EAPI int ewk_view_setting_font_minimum_size_get(const Evas_Object *o); EAPI int ewk_view_setting_font_minimum_size_get(const Evas_Object *o);
EAPI Eina_Bool ewk_view_setting_font_minimum_size_set(Evas_Object *o, int size); EAPI Eina_Bool ewk_view_setting_font_minimum_size_set(Evas_Object *o, int size);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment