| Differences between
and this patch
- a/Source/WebKit/efl/ChangeLog +18 lines
Lines 1-3 a/Source/WebKit/efl/ChangeLog_sec1
1
2012-04-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2
3
        [EFL] tabsToLinks ewk_view setting
4
        https://bugs.webkit.org/show_bug.cgi?id=84340
5
6
        Exporting new ewk_view setting: tabsToLinks - enbles/disables tab key focusing of page elements.
7
8
        Reviewed by NOBODY (OOPS!).
9
10
        * WebCoreSupport/ChromeClientEfl.cpp:
11
        (WebCore::ChromeClientEfl::keyboardUIMode):
12
        * ewk/ewk_view.cpp:
13
        (_Ewk_View_Private_Data):
14
        (_ewk_view_priv_new):
15
        (ewk_view_setting_include_links_in_focus_chain_get):
16
        (ewk_view_setting_include_links_in_focus_chain_set):
17
        * ewk/ewk_view.h:
18
1
2012-04-17  Christophe Dumez  <christophe.dumez@intel.com>
19
2012-04-17  Christophe Dumez  <christophe.dumez@intel.com>
2
20
3
        EFL's LayoutTestController does not implement callShouldCloseOnWebView
21
        EFL's LayoutTestController does not implement callShouldCloseOnWebView
- a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp -1 / +1 lines
Lines 306-312 bool ChromeClientEfl::shouldInterruptJavaScript() a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp_sec1
306
306
307
KeyboardUIMode ChromeClientEfl::keyboardUIMode()
307
KeyboardUIMode ChromeClientEfl::keyboardUIMode()
308
{
308
{
309
    return KeyboardAccessTabsToLinks;
309
    return ewk_view_setting_enable_tabs_to_links_get(m_view) ? KeyboardAccessTabsToLinks : KeyboardAccessDefault;
310
}
310
}
311
311
312
IntRect ChromeClientEfl::windowResizerRect() const
312
IntRect ChromeClientEfl::windowResizerRect() const
- a/Source/WebKit/efl/ewk/ewk_view.cpp +19 lines
Lines 219-224 struct _Ewk_View_Private_Data { a/Source/WebKit/efl/ewk/ewk_view.cpp_sec1
219
        bool offlineAppCache : 1;
219
        bool offlineAppCache : 1;
220
        bool pageCache : 1;
220
        bool pageCache : 1;
221
        bool enableXSSAuditor : 1;
221
        bool enableXSSAuditor : 1;
222
        bool tabsToLinks : 1;
222
        struct {
223
        struct {
223
            float minScale;
224
            float minScale;
224
            float maxScale;
225
            float maxScale;
Lines 725-730 static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* smartData) a/Source/WebKit/efl/ewk/ewk_view.cpp_sec2
725
    priv->settings.offlineAppCache = true; // XXX no function to read setting; this keeps the original setting
726
    priv->settings.offlineAppCache = true; // XXX no function to read setting; this keeps the original setting
726
    priv->settings.pageCache = priv->pageSettings->usesPageCache();
727
    priv->settings.pageCache = priv->pageSettings->usesPageCache();
727
    priv->settings.encodingDetector = priv->pageSettings->usesEncodingDetector();
728
    priv->settings.encodingDetector = priv->pageSettings->usesEncodingDetector();
729
    priv->settings.tabsToLinks = true;
728
730
729
    priv->settings.userAgent = ewk_settings_default_user_agent_get();
731
    priv->settings.userAgent = ewk_settings_default_user_agent_get();
730
732
Lines 2459-2464 double ewk_view_setting_minimum_timer_interval_get(const Evas_Object* ewkView) a/Source/WebKit/efl/ewk/ewk_view.cpp_sec3
2459
    return priv->settings.domTimerInterval;
2461
    return priv->settings.domTimerInterval;
2460
}
2462
}
2461
2463
2464
Eina_Bool ewk_view_setting_include_links_in_focus_chain_get(const Evas_Object* ewkView)
2465
{
2466
    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
2467
    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
2468
    return priv->settings.tabsToLinks;
2469
}
2470
2471
Eina_Bool ewk_view_setting_include_links_in_focus_chain_set(Evas_Object* ewkView, Eina_Bool enable)
2472
{
2473
    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
2474
    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
2475
    enable = !!enable;
2476
    priv->settings.tabsToLinks = enable;
2477
2478
    return true;
2479
}
2480
2462
Ewk_View_Smart_Data* ewk_view_smart_data_get(const Evas_Object* ewkView)
2481
Ewk_View_Smart_Data* ewk_view_smart_data_get(const Evas_Object* ewkView)
2463
{
2482
{
2464
    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
2483
    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- a/Source/WebKit/efl/ewk/ewk_view.h +27 lines
Lines 1987-1992 EAPI Eina_Bool ewk_view_setting_minimum_timer_interval_set(Evas_Object *o, do a/Source/WebKit/efl/ewk/ewk_view.h_sec1
1987
EAPI double       ewk_view_setting_minimum_timer_interval_get(const Evas_Object *o);
1987
EAPI double       ewk_view_setting_minimum_timer_interval_get(const Evas_Object *o);
1988
1988
1989
/**
1989
/**
1990
 * Queries if tab key focusing of page elements is enabled.
1991
 *
1992
 * When this setting is enabled, the elements in the page (links and form controls) will be cycled through by pressing the tab key.
1993
 * Tab key focusing of page elements is enabled by default.
1994
 *
1995
 * @param o view object to query if tab key focusing of page elements is enabled
1996
 *
1997
 * @return @c EINA_TRUE if tab key focusing of page elements is enabled, @c EINA_FALSE
1998
 *         otherwise
1999
 */
2000
EAPI Eina_Bool ewk_view_setting_include_links_in_focus_chain_get(const Evas_Object *o);
2001
2002
/**
2003
 * Enables/disables tab key focusing of page elements.
2004
 *
2005
 * When this setting is enabled, the elements in the page (links and form controls) will be cycled through by pressing the tab key.
2006
 * Tab key focusing of page elements is enabled by default.
2007
 *
2008
 * @param o view object to set tab key focusing of page elements
2009
 * @param enable @c EINA_TRUE to enable tab key focusing of page elements, @c EINA_FALSE to
2010
 *               disable
2011
 *
2012
 * @return @c EINA_TRUE on success or @EINA_FALSE on failure
2013
 */
2014
EAPI Eina_Bool ewk_view_setting_include_links_in_focus_chain_set(Evas_Object *o, Eina_Bool enable);
2015
2016
/**
1990
 * Gets the internal data of @a o.
2017
 * Gets the internal data of @a o.
1991
 *
2018
 *
1992
 * This is similar to evas_object_smart_data_get(), but additionally does type checking.
2019
 * This is similar to evas_object_smart_data_get(), but additionally does type checking.

Return to Bug 84340