Changeset 166159 in webkit


Ignore:
Timestamp:
Mar 24, 2014 3:09:04 AM (10 years ago)
Author:
jinwoo7.song@samsung.com
Message:

[EFL][WK2] Use C API inside ewk_settings
https://bugs.webkit.org/show_bug.cgi?id=107820

Reviewed by Gyuyoung Kim.

Use C API inside ewk_settings instead of accessing directly
internal C++ classes, to avoid violating API layering.

Original-author: Christophe Dumez <Christophe Dumez>

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):

  • UIProcess/API/efl/ewk_settings.cpp:

(ewk_settings_fullscreen_enabled_set):
(ewk_settings_fullscreen_enabled_get):
(ewk_settings_javascript_enabled_set):
(ewk_settings_javascript_enabled_get):
(ewk_settings_loads_images_automatically_set):
(ewk_settings_loads_images_automatically_get):
(ewk_settings_developer_extras_enabled_set):
(ewk_settings_developer_extras_enabled_get):
(ewk_settings_file_access_from_file_urls_allowed_set):
(ewk_settings_file_access_from_file_urls_allowed_get):
(ewk_settings_frame_flattening_enabled_set):
(ewk_settings_frame_flattening_enabled_get):
(ewk_settings_dns_prefetching_enabled_set):
(ewk_settings_dns_prefetching_enabled_get):
(ewk_settings_encoding_detector_enabled_set):
(ewk_settings_encoding_detector_enabled_get):
(ewk_settings_preferred_minimum_contents_width_set):
(ewk_settings_preferred_minimum_contents_width_get):
(ewk_settings_offline_web_application_cache_enabled_set):
(ewk_settings_offline_web_application_cache_enabled_get):
(ewk_settings_scripts_can_open_windows_set):
(ewk_settings_scripts_can_open_windows_get):
(ewk_settings_local_storage_enabled_set):
(ewk_settings_local_storage_enabled_get):
(ewk_settings_plugins_enabled_set):
(ewk_settings_plugins_enabled_get):
(ewk_settings_default_font_size_set):
(ewk_settings_default_font_size_get):
(ewk_settings_private_browsing_enabled_set):
(ewk_settings_private_browsing_enabled_get):
(ewk_settings_text_autosizing_enabled_set):
(ewk_settings_text_autosizing_enabled_get):
(ewk_settings_spatial_navigation_enabled_set):
(ewk_settings_spatial_navigation_enabled_get):
(EwkSettings::setDefaultTextEncodingName):

  • UIProcess/API/efl/ewk_settings_private.h:

(EwkSettings::EwkSettings):
(EwkSettings::preferences):

Location:
trunk/Source/WebKit2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r166158 r166159  
     12014-03-24  Jinwoo Song  <jinwoo7.song@samsung.com>
     2
     3        [EFL][WK2] Use C API inside ewk_settings
     4        https://bugs.webkit.org/show_bug.cgi?id=107820
     5
     6        Reviewed by Gyuyoung Kim.
     7
     8        Use C API inside ewk_settings instead of accessing directly
     9        internal C++ classes, to avoid violating API layering.
     10
     11        Original-author: Christophe Dumez <ch.dumez@sisa.samsung.com>
     12
     13        * UIProcess/API/efl/EwkView.cpp:
     14        (EwkView::EwkView):
     15        * UIProcess/API/efl/ewk_settings.cpp:
     16        (ewk_settings_fullscreen_enabled_set):
     17        (ewk_settings_fullscreen_enabled_get):
     18        (ewk_settings_javascript_enabled_set):
     19        (ewk_settings_javascript_enabled_get):
     20        (ewk_settings_loads_images_automatically_set):
     21        (ewk_settings_loads_images_automatically_get):
     22        (ewk_settings_developer_extras_enabled_set):
     23        (ewk_settings_developer_extras_enabled_get):
     24        (ewk_settings_file_access_from_file_urls_allowed_set):
     25        (ewk_settings_file_access_from_file_urls_allowed_get):
     26        (ewk_settings_frame_flattening_enabled_set):
     27        (ewk_settings_frame_flattening_enabled_get):
     28        (ewk_settings_dns_prefetching_enabled_set):
     29        (ewk_settings_dns_prefetching_enabled_get):
     30        (ewk_settings_encoding_detector_enabled_set):
     31        (ewk_settings_encoding_detector_enabled_get):
     32        (ewk_settings_preferred_minimum_contents_width_set):
     33        (ewk_settings_preferred_minimum_contents_width_get):
     34        (ewk_settings_offline_web_application_cache_enabled_set):
     35        (ewk_settings_offline_web_application_cache_enabled_get):
     36        (ewk_settings_scripts_can_open_windows_set):
     37        (ewk_settings_scripts_can_open_windows_get):
     38        (ewk_settings_local_storage_enabled_set):
     39        (ewk_settings_local_storage_enabled_get):
     40        (ewk_settings_plugins_enabled_set):
     41        (ewk_settings_plugins_enabled_get):
     42        (ewk_settings_default_font_size_set):
     43        (ewk_settings_default_font_size_get):
     44        (ewk_settings_private_browsing_enabled_set):
     45        (ewk_settings_private_browsing_enabled_get):
     46        (ewk_settings_text_autosizing_enabled_set):
     47        (ewk_settings_text_autosizing_enabled_get):
     48        (ewk_settings_spatial_navigation_enabled_set):
     49        (ewk_settings_spatial_navigation_enabled_get):
     50        (EwkSettings::setDefaultTextEncodingName):
     51        * UIProcess/API/efl/ewk_settings_private.h:
     52        (EwkSettings::EwkSettings):
     53        (EwkSettings::preferences):
     54
    1552014-03-24  Zan Dobersek  <zdobersek@igalia.com>
    256
  • trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp

    r166039 r166159  
    283283#endif
    284284    , m_backForwardList(std::make_unique<EwkBackForwardList>(WKPageGetBackForwardList(wkPage())))
    285     , m_settings(std::make_unique<EwkSettings>(this))
     285    , m_settings(std::make_unique<EwkSettings>(WKPageGroupGetPreferences(WKPageGetPageGroup(wkPage()))))
    286286    , m_useCustomCursor(false)
    287287    , m_userAgent(WKEinaSharedString(AdoptWK, WKPageCopyUserAgent(wkPage())))
  • trunk/Source/WebKit2/UIProcess/API/efl/ewk_settings.cpp

    r163609 r166159  
    2929
    3030#include "EwkView.h"
     31#include "WKAPICast.h"
     32#include "WKPreferencesRef.h"
     33#include "WKString.h"
     34#include "WebPreferences.h"
    3135#include "ewk_settings_private.h"
    32 #include <WebKit2/WebPageGroup.h>
    33 #include <WebKit2/WebPageProxy.h>
    3436
    3537using namespace WebKit;
    3638
    37 const WebKit::WebPreferences& EwkSettings::preferences() const
    38 {
    39     return m_view->page()->pageGroup().preferences();
    40 }
    41 
    42 WebKit::WebPreferences& EwkSettings::preferences()
    43 {
    44     return m_view->page()->pageGroup().preferences();
    45 }
    46 
    4739Eina_Bool ewk_settings_fullscreen_enabled_set(Ewk_Settings* settings, Eina_Bool enable)
    4840{
    4941#if ENABLE(FULLSCREEN_API)
    5042    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    51     settings->preferences().setFullScreenEnabled(enable);
     43    WKPreferencesSetFullScreenEnabled(settings->preferences(), enable);
    5244    return true;
    5345#else
     
    6254#if ENABLE(FULLSCREEN_API)
    6355    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    64     return settings->preferences().fullScreenEnabled();
     56    return WKPreferencesGetFullScreenEnabled(settings->preferences());
    6557#else
    6658    UNUSED_PARAM(settings);
     
    7365    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    7466
    75     settings->preferences().setJavaScriptEnabled(enable);
     67    WKPreferencesSetJavaScriptEnabled(settings->preferences(), enable);
    7668
    7769    return true;
     
    8274    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    8375
    84     return settings->preferences().javaScriptEnabled();
     76    return WKPreferencesGetJavaScriptEnabled(settings->preferences());
    8577}
    8678
     
    8981    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    9082
    91     settings->preferences().setLoadsImagesAutomatically(automatic);
     83    WKPreferencesSetLoadsImagesAutomatically(settings->preferences(), automatic);
    9284
    9385    return true;
     
    9890    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    9991
    100     return settings->preferences().loadsImagesAutomatically();
     92    return WKPreferencesGetLoadsImagesAutomatically(settings->preferences());
    10193}
    10294
     
    10597    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    10698
    107     settings->preferences().setDeveloperExtrasEnabled(enable);
     99    WKPreferencesSetDeveloperExtrasEnabled(settings->preferences(), enable);
    108100
    109101    return true;
     
    114106    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    115107
    116     return settings->preferences().developerExtrasEnabled();
     108    return WKPreferencesGetDeveloperExtrasEnabled(settings->preferences());
    117109}
    118110
     
    121113    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    122114
    123     settings->preferences().setAllowFileAccessFromFileURLs(enable);
     115    WKPreferencesSetFileAccessFromFileURLsAllowed(settings->preference(), enable);
    124116
    125117    return true;
     
    130122    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    131123
    132     return settings->preferences().allowFileAccessFromFileURLs();
     124    return WKPreferencesGetFileAccessFromFileURLsAllowed(settings->preference());
    133125}
    134126
     
    137129    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    138130
    139     settings->preferences().setFrameFlatteningEnabled(enable);
     131    WKPreferencesSetFrameFlatteningEnabled(settings->preferences(), enable);
    140132
    141133    return true;
     
    146138    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    147139
    148     return settings->preferences().frameFlatteningEnabled();
     140    return WKPreferencesGetFrameFlatteningEnabled(settings->preferences());
    149141}
    150142
     
    153145    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    154146
    155     settings->preferences().setDNSPrefetchingEnabled(enable);
     147    WKPreferencesSetDNSPrefetchingEnabled(settings->preferences(), enable);
    156148
    157149    return true;
     
    162154    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    163155
    164     return settings->preferences().dnsPrefetchingEnabled();
     156    return WKPreferencesGetDNSPrefetchingEnabled(settings->preferences());
    165157}
    166158
     
    169161    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    170162
    171     settings->preferences().setUsesEncodingDetector(enable);
     163    WKPreferencesSetEncodingDetectorEnabled(settings->preferences(), enable);
    172164
    173165    return true;
     
    178170    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    179171
    180     return settings->preferences().usesEncodingDetector();
     172    return WKPreferencesGetEncodingDetectorEnabled(settings->preferences());
    181173}
    182174
     
    201193    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    202194
    203     settings->preferences().setLayoutFallbackWidth(width);
     195    toImpl(settings->preferences())->setLayoutFallbackWidth(width);
    204196
    205197    return true;
     
    210202    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    211203
    212     return settings->preferences().layoutFallbackWidth();
     204    return toImpl(settings->preferences())->layoutFallbackWidth();
    213205}
    214206
     
    216208{
    217209    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    218     settings->preferences().setOfflineWebApplicationCacheEnabled(enable);
     210
     211    WKPreferencesSetOfflineWebApplicationCacheEnabled(settings->preferences(), enable);
    219212
    220213    return true;
     
    225218    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    226219
    227     return settings->preferences().offlineWebApplicationCacheEnabled();
     220    return WKPreferencesGetOfflineWebApplicationCacheEnabled(settings->preferences());
    228221}
    229222
     
    231224{
    232225    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    233     settings->preferences().setJavaScriptCanOpenWindowsAutomatically(enable);
     226
     227    WKPreferencesSetJavaScriptCanOpenWindowsAutomatically(settings->preferences(), enable);
    234228
    235229    return true;
     
    240234    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    241235
    242     return settings->preferences().javaScriptCanOpenWindowsAutomatically();
     236    return WKPreferencesGetJavaScriptCanOpenWindowsAutomatically(settings->preferences());
    243237}
    244238
     
    247241    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    248242
    249     settings->preferences().setLocalStorageEnabled(enable);
     243    WKPreferencesSetLocalStorageEnabled(settings->preferences(), enable);
    250244
    251245    return true;
     
    256250    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    257251
    258     return settings->preferences().localStorageEnabled();
     252    return WKPreferencesGetLocalStorageEnabled(settings->preferences());
    259253}
    260254
     
    263257    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    264258
    265     settings->preferences().setPluginsEnabled(enable);
     259    WKPreferencesSetPluginsEnabled(settings->preferences(), enable);
    266260
    267261    return true;
     
    272266    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    273267
    274     return settings->preferences().pluginsEnabled();
     268    return WKPreferencesGetPluginsEnabled(settings->preferences());
    275269}
    276270
     
    279273    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    280274
    281     settings->preferences().setDefaultFontSize(size);
     275    WKPreferencesSetDefaultFontSize(settings->preferences(), size);
    282276
    283277    return true;
     
    288282    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, 0);
    289283
    290     return settings->preferences().defaultFontSize();
     284    return WKPreferencesGetDefaultFontSize(settings->preferences());
    291285}
    292286
     
    295289    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    296290
    297     settings->preferences().setPrivateBrowsingEnabled(enable);
     291    WKPreferencesSetPrivateBrowsingEnabled(settings->preferences(), enable);
    298292
    299293    return true;
     
    304298    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    305299
    306     return settings->preferences().privateBrowsingEnabled();
     300    return WKPreferencesGetPrivateBrowsingEnabled(settings->preferences());
    307301}
    308302
     
    312306    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    313307
    314     settings->preferences().setTextAutosizingEnabled(enable);
     308    WKPreferencesSetTextAutosizingEnabled(settings->preferences(), enable);
    315309
    316310    return true;
     
    327321    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    328322
    329     return settings->preferences().textAutosizingEnabled();
     323    return WKPreferencesGetTextAutosizingEnabled(settings->preferences());
    330324#else
    331325    UNUSED_PARAM(settings);
     
    338332    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    339333
    340     settings->preferences().setSpatialNavigationEnabled(enable);
     334    WKPreferencesSetSpatialNavigationEnabled(settings->preferences(), enable);
    341335
    342336    return true;
     
    347341    EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
    348342
    349     return settings->preferences().spatialNavigationEnabled();
     343    return WKPreferencesGetSpatialNavigationEnabled(settings->preferences());
    350344}
    351345
     
    355349        return;
    356350
    357     preferences().setDefaultTextEncodingName(String::fromUTF8(name));
     351    WKPreferencesSetDefaultTextEncodingName(preferences(), WKStringCreateWithUTF8CString(name));
    358352    m_defaultTextEncodingName = name;
    359353}
  • trunk/Source/WebKit2/UIProcess/API/efl/ewk_settings_private.h

    r163609 r166159  
    2828#define ewk_settings_private_h
    2929
    30 #include <WebKit2/WebPreferences.h>
     30#include "WKEinaSharedString.h"
     31#include "WKRetainPtr.h"
     32#include <WebKit2/WKBase.h>
    3133
    3234class EwkView;
     
    3739class EwkSettings {
    3840public:
    39     explicit EwkSettings(EwkView* viewImpl)
    40         : m_view(viewImpl)
     41    explicit EwkSettings(WKPreferencesRef preferences)
     42        : m_preferences(preferences)
    4143    {
    42         ASSERT(m_view);
    43         m_defaultTextEncodingName = preferences().defaultTextEncodingName().utf8().data();
     44        ASSERT(preferences);
     45        m_defaultTextEncodingName = WKPreferencesCopyDefaultTextEncodingName(preferences);
    4446    }
    4547
    46     const WebKit::WebPreferences& preferences() const;
    47     WebKit::WebPreferences& preferences();
     48    WKPreferencesRef preferences() const { return m_preferences.get(); }
    4849
    4950    const char* defaultTextEncodingName() const;
     
    5152
    5253private:
    53     EwkView* m_view;
     54    WKRetainPtr<WKPreferencesRef> m_preferences;
    5455    WKEinaSharedString m_defaultTextEncodingName;
    5556};
Note: See TracChangeset for help on using the changeset viewer.