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-20120222163333.patch (text/plain), 7.46 KB, created by
Zan Dobersek
on 2012-02-22 07:33:34 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Zan Dobersek
Created:
2012-02-22 07:33:34 PST
Size:
7.46 KB
patch
obsolete
>Subversion Revision: 108502 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 1904ffa9fe8a24fcf84862bcbfcbf4a005ab8159..bb4a0e696a63c23bb8ae170a1dc549161550d5d8 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,18 @@ >+2012-02-22 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-22 Andrey Kosyakov <caseq@chromium.org> > > Web Inspector: [experimental] add a mode to display timeline events aligned by the start time >diff --git a/Source/WebKit/gtk/ChangeLog b/Source/WebKit/gtk/ChangeLog >index 6ae98e62f2b02de3497105a04af00d97d82006b6..e6e781b43a460a3d04ff5dfaf8a5e52b883550fa 100644 >--- a/Source/WebKit/gtk/ChangeLog >+++ b/Source/WebKit/gtk/ChangeLog >@@ -1,3 +1,21 @@ >+2012-02-22 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-22 Ryosuke Niwa <rniwa@webkit.org> > > Remove the remaining uses of CSSStyleDeclaration in Editor >diff --git a/Source/WebCore/GNUmakefile.am b/Source/WebCore/GNUmakefile.am >index ce9a5fa0350c09a75d33ecaae9cf4288b6cfca7a..07379ae0d20dade124aa02f47830d8ae863c2ef2 100644 >--- a/Source/WebCore/GNUmakefile.am >+++ b/Source/WebCore/GNUmakefile.am >@@ -110,6 +110,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 639f1b4b281e117eded48959e0f145d73c381230..9bea336f4c2850beb6f1f247da7613b580f9e39d 100644 >--- a/Source/WebCore/GNUmakefile.list.am >+++ b/Source/WebCore/GNUmakefile.list.am >@@ -3282,6 +3282,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..938b47f5aa7028f4b33dbe55a36ffa1d701ee4d4 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.90 >+ */ >+ 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 3cd3abff31a65b47a794bb3bd717cd14c21c7863..0dadb256a3ff1b6cab3005d4ce3c1c07c00984c1 100644 >--- a/Source/WebKit/gtk/webkit/webkitwebview.cpp >+++ b/Source/WebKit/gtk/webkit/webkitwebview.cpp >@@ -3263,6 +3263,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); > >@@ -3397,6 +3401,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