WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-16123-20120221103131.patch (text/plain), 7.40 KB, created by
Zan Dobersek
on 2012-02-21 01:31:33 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Zan Dobersek
Created:
2012-02-21 01:31:33 PST
Size:
7.40 KB
patch
obsolete
>Subversion Revision: 108322 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 083d0ef28082d728e48ee0cec2a8cef9d780495f..6be81774aa81affed9293c27eb71735ba6895b61 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,18 @@ >+2012-02-21 Zan Dobersek <zandobersek@gmail.com> >+ >+ [GTK] Smooth scrolling support >+ https://bugs.webkit.org/show_bug.cgi?id=16123 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ No new tests - no new functionality. >+ >+ Add the ScrollAnimatorNone class to compilation and enable >+ the smooth scrolling feature by default at compilation time. >+ >+ * GNUmakefile.am: >+ * GNUmakefile.list.am: >+ > 2012-02-21 Kentaro Hara <haraken@chromium.org> > > Enable the IDL attribute checker in Chromium >diff --git a/Source/WebKit/gtk/ChangeLog b/Source/WebKit/gtk/ChangeLog >index 62a872e056d01a62f039c4a457b02c0932bee311..8b548726168c5919dd13b14a80ec1517b940a2cb 100644 >--- a/Source/WebKit/gtk/ChangeLog >+++ b/Source/WebKit/gtk/ChangeLog >@@ -1,3 +1,21 @@ >+2012-02-21 Zan Dobersek <zandobersek@gmail.com> >+ >+ [GTK] Smooth scrolling support >+ https://bugs.webkit.org/show_bug.cgi?id=16123 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add a new settings option to enable smooth scrolling. >+ >+ * webkit/webkitwebsettings.cpp: >+ (webkit_web_settings_class_init): >+ (webkit_web_settings_set_property): >+ (webkit_web_settings_get_property): >+ * webkit/webkitwebsettingsprivate.h: >+ * webkit/webkitwebview.cpp: >+ (webkit_web_view_update_settings): >+ (webkit_web_view_settings_notify): >+ > 2012-02-20 Martin Robinson <mrobinson@igalia.com> > > Fix GTK+ unit tests after r108281. >diff --git a/Source/WebCore/GNUmakefile.am b/Source/WebCore/GNUmakefile.am >index b11a4872622edf25ba3ea07ca28f44978646f0b3..96f1866554ccb9a10b58372f0f667f5030e93490 100644 >--- a/Source/WebCore/GNUmakefile.am >+++ b/Source/WebCore/GNUmakefile.am >@@ -109,6 +109,12 @@ webcoregtk_cppflags += \ > -I$(srcdir)/Source/WebCore/platform/network/soup > > # --- >+# Features enabled by default at compilation time >+# --- >+FEATURE_DEFINES += ENABLE_SMOOTH_SCROLLING=1 >+webcore_cppflags += -DENABLE_SMOOTH_SCROLLING=1 >+ >+# --- > # Channel mesaging support > # --- > if ENABLE_CHANNEL_MESSAGING >diff --git a/Source/WebCore/GNUmakefile.list.am b/Source/WebCore/GNUmakefile.list.am >index 42fb9fc1efbceed1ec0a042025dbc618d4602f28..27f1df4b498c32e8415059cade70bab1cab95515 100644 >--- a/Source/WebCore/GNUmakefile.list.am >+++ b/Source/WebCore/GNUmakefile.list.am >@@ -3273,6 +3273,8 @@ webcore_sources += \ > Source/WebCore/platform/SchemeRegistry.h \ > Source/WebCore/platform/ScrollAnimator.cpp \ > Source/WebCore/platform/ScrollAnimator.h \ >+ Source/WebCore/platform/ScrollAnimatorNone.cpp \ >+ Source/WebCore/platform/ScrollAnimatorNone.h \ > Source/WebCore/platform/ScrollableArea.cpp \ > Source/WebCore/platform/ScrollableArea.h \ > Source/WebCore/platform/Scrollbar.cpp \ >diff --git a/Source/WebKit/gtk/webkit/webkitwebsettings.cpp b/Source/WebKit/gtk/webkit/webkitwebsettings.cpp >index bf6ff600d54a6b71d74725f21ff57b9457495683..d5a7530c6cc59382bfd7e4e50b9e0e07ac1ef23e 100644 >--- a/Source/WebKit/gtk/webkit/webkitwebsettings.cpp >+++ b/Source/WebKit/gtk/webkit/webkitwebsettings.cpp >@@ -120,7 +120,8 @@ enum { > PROP_ENABLE_DNS_PREFETCHING, > PROP_ENABLE_WEBGL, > PROP_ENABLE_WEB_AUDIO, >- PROP_ENABLE_ACCELERATED_COMPOSITING >+ PROP_ENABLE_ACCELERATED_COMPOSITING, >+ PROP_ENABLE_SMOOTH_SCROLLING > }; > > // Create a default user agent string >@@ -953,6 +954,22 @@ static void webkit_web_settings_class_init(WebKitWebSettingsClass* klass) > _("Whether WebKit prefetches domain names"), > TRUE, > flags)); >+ >+ /** >+ * WebKitWebSettings:enable-smooth-scrolling >+ * >+ * Enable or disable support for smooth scrolling. The current implementation relies upon >+ * CPU work to produce a smooth scrolling experience. >+ * >+ * Since: 1.7.6 >+ */ >+ g_object_class_install_property(gobject_class, >+ PROP_ENABLE_SMOOTH_SCROLLING, >+ g_param_spec_boolean("enable-smooth-scrolling", >+ _("Enable smooth scrolling"), >+ _("Whether to enable smooth scrolling"), >+ FALSE, >+ flags)); > } > > static void webkit_web_settings_init(WebKitWebSettings* web_settings) >@@ -1128,6 +1145,9 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con > case PROP_ENABLE_ACCELERATED_COMPOSITING: > priv->enableAcceleratedCompositing = g_value_get_boolean(value); > break; >+ case PROP_ENABLE_SMOOTH_SCROLLING: >+ priv->enableSmoothScrolling = g_value_get_boolean(value); >+ break; > default: > G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); > break; >@@ -1293,6 +1313,9 @@ static void webkit_web_settings_get_property(GObject* object, guint prop_id, GVa > case PROP_ENABLE_ACCELERATED_COMPOSITING: > g_value_set_boolean(value, priv->enableAcceleratedCompositing); > break; >+ case PROP_ENABLE_SMOOTH_SCROLLING: >+ g_value_set_boolean(value, priv->enableSmoothScrolling); >+ break; > default: > G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); > break; >diff --git a/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h b/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h >index d7d082e5bb3ffabbef4debc6a8e125afc7c72631..240d79fad75a027aaa5dff6b5df9c9730cc58e70 100644 >--- a/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h >+++ b/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h >@@ -80,6 +80,7 @@ struct _WebKitWebSettingsPrivate { > gboolean enableWebgl; > gboolean enableWebAudio; > gboolean enableAcceleratedCompositing; >+ gboolean enableSmoothScrolling; > }; > > WEBKIT_API void webkit_web_settings_add_extra_plugin_directory(WebKitWebView*, const gchar* directory); >diff --git a/Source/WebKit/gtk/webkit/webkitwebview.cpp b/Source/WebKit/gtk/webkit/webkitwebview.cpp >index 88cf6dfa428a8342a44ac754f7f84c1ce76a5e8d..894234e3e3e7690538f8d57653bec70a11383b41 100644 >--- a/Source/WebKit/gtk/webkit/webkitwebview.cpp >+++ b/Source/WebKit/gtk/webkit/webkitwebview.cpp >@@ -3285,6 +3285,10 @@ static void webkit_web_view_update_settings(WebKitWebView* webView) > coreSettings->setUseHixie76WebSocketProtocol(false); > #endif > >+#if ENABLE(SMOOTH_SCROLLING) >+ coreSettings->setEnableScrollAnimator(settingsPrivate->enableSmoothScrolling); >+#endif >+ > if (Page* page = core(webView)) > page->setTabKeyCyclesThroughElements(settingsPrivate->tabKeyCyclesThroughElements); > >@@ -3419,6 +3423,11 @@ static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GPar > settings->setWebAudioEnabled(g_value_get_boolean(&value)); > #endif > >+#if ENABLE(SMOOTH_SCROLLING) >+ else if (name == g_intern_string("enable-smooth-scrolling")) >+ settings->setEnableScrollAnimator(g_value_get_boolean(&value)); >+#endif >+ > else if (!g_object_class_find_property(G_OBJECT_GET_CLASS(webSettings), name)) > g_warning("Unexpected setting '%s'", name); > g_value_unset(&value);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 16123
:
95622
|
102527
|
127560
|
127700
|
127937
|
128212
|
129852