⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 130642 in webkit


Ignore:
Timestamp:
Oct 8, 2012, 8:05:53 AM (14 years ago)
Author:
Carlos Garcia Campos
Message:

[GTK] Add a setting to enable/disable smooth scrolling to WebKit2 GTK+ API
​https://bugs.webkit.org/show_bug.cgi?id=98646

Reviewed by Xan Lopez.

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webKitSettingsSetProperty): Implement setter for new property.
(webKitSettingsGetProperty): Implement getter for new property.
(webkit_settings_class_init): Add new property
enable-smooth-scrolling.
(webkit_settings_get_enable_smooth_scrolling):
(webkit_settings_set_enable_smooth_scrolling):

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  • UIProcess/API/gtk/tests/TestWebKitSettings.cpp:

(testWebKitSettings): Test smooth scrolling setting API.

Location:
trunk/Source/WebKit2
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r130637 r130642  
     12012-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK] Add a setting to enable/disable smooth scrolling to WebKit2 GTK+ API
     4        https://bugs.webkit.org/show_bug.cgi?id=98646
     5
     6        Reviewed by Xan Lopez.
     7
     8        * UIProcess/API/gtk/WebKitSettings.cpp:
     9        (webKitSettingsSetProperty): Implement setter for new property.
     10        (webKitSettingsGetProperty): Implement getter for new property.
     11        (webkit_settings_class_init): Add new property
     12        enable-smooth-scrolling.
     13        (webkit_settings_get_enable_smooth_scrolling):
     14        (webkit_settings_set_enable_smooth_scrolling):
     15        * UIProcess/API/gtk/WebKitSettings.h:
     16        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
     17        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
     18        (testWebKitSettings): Test smooth scrolling setting API.
     19
    1202012-10-08  Christophe Dumez  <christophe.dumez@intel.com>
    221
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp

    r128960 r130642  
    3535#include "WebKitSettingsPrivate.h"
    3636#include "WebPageProxy.h"
     37#include "WebPreferences.h"
    3738#include <WebCore/UserAgentGtk.h>
    3839#include <glib/gi18n-lib.h>
    … …  
    118119    PROP_ENABLE_SITE_SPECIFIC_QUIRKS,
    119120    PROP_ENABLE_PAGE_CACHE,
    120     PROP_USER_AGENT
     121    PROP_USER_AGENT,
     122    PROP_ENABLE_SMOOTH_SCROLLING
    121123};
    122124
    … …  
    252254        webkit_settings_set_user_agent(settings, g_value_get_string(value));
    253255        break;
     256    case PROP_ENABLE_SMOOTH_SCROLLING:
     257        webkit_settings_set_enable_smooth_scrolling(settings, g_value_get_boolean(value));
     258        break;
    254259    default:
    255260        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
    … …  
    388393    case PROP_USER_AGENT:
    389394        g_value_set_string(value, webkit_settings_get_user_agent(settings));
     395        break;
     396    case PROP_ENABLE_SMOOTH_SCROLLING:
     397        g_value_set_boolean(value, webkit_settings_get_enable_smooth_scrolling(settings));
    390398        break;
    391399    default:
    … …  
    10401048                                                        readWriteConstructParamFlags));
    10411049
     1050    /**
     1051     * WebKitSettings:enable-smooth-scrolling:
     1052     *
     1053     * Enable or disable smooth scrolling.
     1054     */
     1055    g_object_class_install_property(gObjectClass,
     1056                                    PROP_ENABLE_SMOOTH_SCROLLING,
     1057                                    g_param_spec_boolean("enable-smooth-scrolling",
     1058                                                         _("Enable smooth scrolling"),
     1059                                                         _("Whether to enable smooth scrolling"),
     1060                                                         FALSE,
     1061                                                         readWriteConstructParamFlags));
     1062
    10421063    g_type_class_add_private(klass, sizeof(WebKitSettingsPrivate));
    10431064}
    … …  
    26452666    webkit_settings_set_user_agent(settings, newUserAgent.data());
    26462667}
     2668
     2669/**
     2670 * webkit_settings_get_enable_smooth_scrolling:
     2671 * @settings: a #WebKitSettings
     2672 *
     2673 * Get the #WebKitSettings:enable-smooth-scrolling property.
     2674 *
     2675 * Returns: %TRUE if smooth scrolling is enabled or %FALSE otherwise.
     2676 */
     2677gboolean webkit_settings_get_enable_smooth_scrolling(WebKitSettings* settings)
     2678{
     2679    g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE);
     2680
     2681    return WebKit::toImpl(settings->priv->preferences.get())->scrollAnimatorEnabled();
     2682}
     2683
     2684/**
     2685 * webkit_settings_set_enable_smooth_scrolling:
     2686 * @settings: a #WebKitSettings
     2687 * @enabled: Value to be set
     2688 *
     2689 * Set the #WebKitSettings:enable-smooth-scrolling property.
     2690 */
     2691void webkit_settings_set_enable_smooth_scrolling(WebKitSettings* settings, gboolean enabled)
     2692{
     2693    g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
     2694
     2695    WebKitSettingsPrivate* priv = settings->priv;
     2696    bool currentValue = WebKit::toImpl(priv->preferences.get())->scrollAnimatorEnabled();
     2697    if (currentValue == enabled)
     2698        return;
     2699
     2700    WebKit::toImpl(priv->preferences.get())->setScrollAnimatorEnabled(enabled);
     2701    g_object_notify(G_OBJECT(settings), "enable-smooth-scrolling");
     2702}
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h

    r128960 r130642  
    374374                                                                const gchar    *application_version);
    375375
     376WEBKIT_API gboolean
     377webkit_settings_get_enable_smooth_scrolling                    (WebKitSettings *settings);
     378
     379WEBKIT_API void
     380webkit_settings_set_enable_smooth_scrolling                    (WebKitSettings *settings,
     381                                                                gboolean        enabled);
     382
    376383G_END_DECLS
    377384
  • trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt

    r130259 r130642  
    296296webkit_settings_set_user_agent
    297297webkit_settings_set_user_agent_with_application_details
     298webkit_settings_get_enable_smooth_scrolling
     299webkit_settings_set_enable_smooth_scrolling
    298300
    299301<SUBSECTION Standard>
  • trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp

    r130507 r130642  
    244244    g_assert(!webkit_settings_get_enable_page_cache(settings));
    245245
     246    // By default, smooth scrolling is disabled.
     247    g_assert(!webkit_settings_get_enable_smooth_scrolling(settings));
     248    webkit_settings_set_enable_smooth_scrolling(settings, TRUE);
     249    g_assert(webkit_settings_get_enable_smooth_scrolling(settings));
     250
    246251    g_object_unref(G_OBJECT(settings));
    247252}
Note: See TracChangeset for help on using the changeset viewer.