Changeset 128231 in webkit


Ignore:
Timestamp:
Sep 11, 2012 3:32:24 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[Gtk] allow building with css-shaders
https://bugs.webkit.org/show_bug.cgi?id=95603

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-09-11
Reviewed by Martin Robinson.

.:

if unstable features and accelerated compositing are turned on, and
acceleration backend is opengl, then build CSS Shaders and CSS
Filters.

  • configure.ac:

Source/WebCore:

Add support for css filters and shaders in GNUmakefile.am and include
Texture.cpp, Texture.h, TilingData.cpp and TilingData.h in
webcore_sources

No functional change, so no new tests.

  • GNUmakefile.am:
  • GNUmakefile.list.am:

Source/WebKit/gtk:

Add enable-css-shaders property to WebKit WebSettings, and connects it
to WebCore settings setCSSCustomFilterEnabled.

  • 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):

Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r128210 r128231  
     12012-09-11  Arnaud Renevier  <a.renevier@sisa.samsung.com>
     2
     3        [Gtk] allow building with css-shaders
     4        https://bugs.webkit.org/show_bug.cgi?id=95603
     5
     6        Reviewed by Martin Robinson.
     7
     8        if unstable features and accelerated compositing are turned on, and
     9        acceleration backend is opengl, then build CSS Shaders and CSS
     10        Filters.
     11
     12        * configure.ac:
     13
    1142012-09-11  Marcelo Lira  <marcelo.lira@openbossa.org>
    215
  • trunk/Source/WebCore/ChangeLog

    r128228 r128231  
     12012-09-11  Arnaud Renevier  <a.renevier@sisa.samsung.com>
     2
     3        [Gtk] allow building with css-shaders
     4        https://bugs.webkit.org/show_bug.cgi?id=95603
     5
     6        Reviewed by Martin Robinson.
     7
     8        Add support for css filters and shaders in GNUmakefile.am and include
     9        Texture.cpp, Texture.h, TilingData.cpp and TilingData.h in
     10        webcore_sources
     11
     12        No functional change, so no new tests.
     13
     14        * GNUmakefile.am:
     15        * GNUmakefile.list.am:
     16
    1172012-09-11  Dimitri Glazkov  <dglazkov@chromium.org>
    218
  • trunk/Source/WebCore/GNUmakefile.am

    r127872 r128231  
    255255
    256256# ----
     257# Filters
     258# ----
     259if ENABLE_CSS_FILTERS
     260feature_defines_overrides += ENABLE_CSS_FILTERS=1
     261else
     262feature_defines_overrides += ENABLE_CSS_FILTERS=0
     263endif # END ENABLE_CSS_FILTERS
     264
     265# ----
    257266# Track Support
    258267# ----
     
    357366feature_defines_overrides += ENABLE_CSS_EXCLUSIONS=0
    358367endif # END ENABLE_CSS_EXCLUSIONS
     368
     369# Shaders
     370# ----
     371if ENABLE_CSS_SHADERS
     372feature_defines_overrides += ENABLE_CSS_SHADERS=1
     373else
     374feature_defines_overrides += ENABLE_CSS_SHADERS=0
     375endif # END ENABLE_CSS_SHADERS
    359376
    360377# ----
  • trunk/Source/WebCore/GNUmakefile.list.am

    r128153 r128231  
    43854385        Source/WebCore/platform/graphics/gpu/DrawingBuffer.cpp \
    43864386        Source/WebCore/platform/graphics/gpu/DrawingBuffer.h \
     4387        Source/WebCore/platform/graphics/gpu/Texture.cpp \
     4388        Source/WebCore/platform/graphics/gpu/Texture.h \
     4389        Source/WebCore/platform/graphics/gpu/TilingData.cpp \
     4390        Source/WebCore/platform/graphics/gpu/TilingData.h \
    43874391        Source/WebCore/platform/graphics/Gradient.cpp \
    43884392        Source/WebCore/platform/graphics/Gradient.h \
  • trunk/Source/WebKit/gtk/ChangeLog

    r128006 r128231  
     12012-09-11  Arnaud Renevier  <a.renevier@sisa.samsung.com>
     2
     3        [Gtk] allow building with css-shaders
     4        https://bugs.webkit.org/show_bug.cgi?id=95603
     5
     6        Reviewed by Martin Robinson.
     7
     8        Add enable-css-shaders property to WebKit WebSettings, and connects it
     9        to WebCore settings setCSSCustomFilterEnabled.
     10
     11        * webkit/webkitwebsettings.cpp:
     12        (webkit_web_settings_class_init):
     13        (webkit_web_settings_set_property):
     14        (webkit_web_settings_get_property):
     15        * webkit/webkitwebsettingsprivate.h:
     16        * webkit/webkitwebview.cpp:
     17        (webkit_web_view_update_settings):
     18        (webkit_web_view_settings_notify):
     19
    1202012-09-09  Emil A Eklund  <eae@chromium.org>
    221
  • trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp

    r127889 r128231  
    119119    PROP_ENABLE_SMOOTH_SCROLLING,
    120120    PROP_MEDIA_PLAYBACK_REQUIRES_USER_GESTURE,
    121     PROP_MEDIA_PLAYBACK_ALLOWS_INLINE
     121    PROP_MEDIA_PLAYBACK_ALLOWS_INLINE,
     122    PROP_ENABLE_CSS_SHADERS
    122123};
    123124
     
    942943                                                         flags));
    943944
     945    /**
     946    * WebKitWebSettings:enable-css-shaders
     947    *
     948    * Enable or disable support for css shaders (css custom filters).
     949    * Accelerated compositing needs to be enabled at compile time, but needs
     950    * not be enabled at runtime.
     951    *
     952    * See also https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html
     953    *
     954    * Since: 2.0
     955    */
     956    g_object_class_install_property(gobject_class,
     957                                    PROP_ENABLE_CSS_SHADERS,
     958                                    g_param_spec_boolean("enable-css-shaders",
     959                                                         _("Enable CSS shaders"),
     960                                                         _("Whether to enable css shaders"),
     961                                                         FALSE,
     962                                                         flags));
     963
    944964}
    945965
     
    11201140        priv->enableSmoothScrolling = g_value_get_boolean(value);
    11211141        break;
     1142    case PROP_ENABLE_CSS_SHADERS:
     1143        priv->enableCSSShaders = g_value_get_boolean(value);
     1144        break;
    11221145    case PROP_MEDIA_PLAYBACK_REQUIRES_USER_GESTURE:
    11231146        priv->mediaPlaybackRequiresUserGesture = g_value_get_boolean(value);
     
    12931316    case PROP_ENABLE_SMOOTH_SCROLLING:
    12941317        g_value_set_boolean(value, priv->enableSmoothScrolling);
     1318        break;
     1319    case PROP_ENABLE_CSS_SHADERS:
     1320        g_value_set_boolean(value, priv->enableCSSShaders);
    12951321        break;
    12961322    case PROP_MEDIA_PLAYBACK_REQUIRES_USER_GESTURE:
  • trunk/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h

    r116541 r128231  
    8282    gboolean enableAcceleratedCompositing;
    8383    gboolean enableSmoothScrolling;
     84    gboolean enableCSSShaders;
    8485    gboolean mediaPlaybackRequiresUserGesture;
    8586    gboolean mediaPlaybackAllowsInline;
  • trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp

    r128006 r128231  
    34433443#if ENABLE(SMOOTH_SCROLLING)
    34443444    coreSettings->setEnableScrollAnimator(settingsPrivate->enableSmoothScrolling);
     3445#endif
     3446
     3447#if ENABLE(CSS_SHADERS)
     3448    coreSettings->setCSSCustomFilterEnabled(settingsPrivate->enableCSSShaders);
    34453449#endif
    34463450
     
    35863590#endif
    35873591
     3592#if ENABLE(CSS_SHADERS)
     3593    else if (name == g_intern_string("enable-css-shaders"))
     3594        settings->setCSSCustomFilterEnabled(g_value_get_boolean(&value));
     3595#endif
     3596
    35883597    else if (!g_object_class_find_property(G_OBJECT_GET_CLASS(webSettings), name))
    35893598        g_warning("Unexpected setting '%s'", name);
  • trunk/configure.ac

    r127889 r128231  
    964964              [],[enable_css_regions="yes"])
    965965AC_MSG_RESULT([$enable_css_regions])
     966
     967# Enable css shaders if unstable_features, css_filters and
     968# accelerated_compositing are turned on.
     969AC_MSG_CHECKING([whether to enable CSS Shaders])
     970if test "$enable_unstable_features" = "yes" && test "$enable_accelerated_compositing" = "yes" && test "$with_acceleration_backend" = "opengl"; then
     971    enable_css_shaders=yes;
     972    enable_css_filters=yes;
     973fi
     974AC_MSG_RESULT([$enable_css_filters])
     975AC_MSG_RESULT([$enable_css_shaders])
    966976
    967977G_IR_SCANNER=
     
    12771287AM_CONDITIONAL([ENABLE_CSS_EXCLUSIONS],[test "$enable_css_exclusions" = "yes"])
    12781288AM_CONDITIONAL([ENABLE_CSS_REGIONS],[test "$enable_css_regions" = "yes"])
     1289AM_CONDITIONAL([ENABLE_CSS_FILTERS],[test "$enable_css_filters" = "yes"])
     1290AM_CONDITIONAL([ENABLE_CSS_SHADERS],[test "$enable_css_shaders" = "yes"])
    12791291
    12801292# Gtk conditionals
Note: See TracChangeset for help on using the changeset viewer.