Title: [105485] trunk
Revision
105485
Author
[email protected]
Date
2012-01-19 23:45:46 -0800 (Thu, 19 Jan 2012)

Log Message

Source/WebCore: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Added setCSSCustomFilterEnabled/isCSSCustomFilterEnabled that is false by default.
I've enabled it by default on Apple Mac, to make sure there's no behavior change. Anyway, CSS shaders need
WebGL enabled, so it ends up being disabled by default.

Reviewed by Nikolas Zimmermann.

Test: css3/filters/effect-custom-disabled.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFilter):
    Do not parse the custom() function when shaders are disabled.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
    Do not overwrite the old style->filter() if parsing fails.

(WebCore::CSSStyleSelector::createFilterOperations):
    Do not continue if one custom() filter fails to parse.

* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setCSSCustomFilterEnabled):
(WebCore::Settings::isCSSCustomFilterEnabled):
* rendering/FilterEffectRenderer.cpp:
(WebCore::isCSSCustomFilterEnabled):
(WebCore::FilterEffectRenderer::build):
    Avoid creating the filter when shaders are disabled. It may happen to get here if shaders were disabled between parsing and rendering.

Source/WebKit/mac: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Added private WebPreference property called "WebKitCSSCustomFilterEnabled".

Reviewed by Nikolas Zimmermann.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences cssCustomFilterEnabled]):
(-[WebPreferences setCSSCustomFilterEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Reviewed by Nikolas Zimmermann.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetCSSCustomFilterEnabled):
(WKPreferencesGetCSSCustomFilterEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests: CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
https://bugs.webkit.org/show_bug.cgi?id=76444

Reviewed by Nikolas Zimmermann.

* css3/filters/effect-custom-disabled-expected.txt: Added.
* css3/filters/effect-custom-disabled.html: Added.
* css3/filters/script-tests/effect-custom-disabled.js: Added.
(testInvalidFilterRule):
* platform/wk2/Skipped:
    Skipped a couple of tests that call overridePreference.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (105484 => 105485)


--- trunk/LayoutTests/ChangeLog	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/LayoutTests/ChangeLog	2012-01-20 07:45:46 UTC (rev 105485)
@@ -1,3 +1,17 @@
+2012-01-20  Alexandru Chiculita  <[email protected]>
+
+        CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
+        https://bugs.webkit.org/show_bug.cgi?id=76444
+
+        Reviewed by Nikolas Zimmermann.
+
+        * css3/filters/effect-custom-disabled-expected.txt: Added.
+        * css3/filters/effect-custom-disabled.html: Added.
+        * css3/filters/script-tests/effect-custom-disabled.js: Added.
+        (testInvalidFilterRule):
+        * platform/wk2/Skipped:
+            Skipped a couple of tests that call overridePreference.
+
 2012-01-19  Roland Steiner  <[email protected]>
 
         Unreviewed: add layout test to Chromium test_expectations.txt file after changes to Mac underline drawing.

Added: trunk/LayoutTests/css3/filters/effect-custom-disabled-expected.txt (0 => 105485)


--- trunk/LayoutTests/css3/filters/effect-custom-disabled-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/css3/filters/effect-custom-disabled-expected.txt	2012-01-20 07:45:46 UTC (rev 105485)
@@ -0,0 +1,17 @@
+Test that the custom() function of the -webkit-filter property is not parsed when CSS Custom Filter is disabled.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Custom with vertex shader : custom(url(vertex.shader))
+PASS cssRule.type is 1
+PASS declaration.length is 0
+PASS declaration.getPropertyValue('-webkit-filter') is null
+Multiple with fragment shader : grayscale() custom(none url(fragment.shader)) sepia()
+PASS cssRule.type is 1
+PASS declaration.length is 0
+PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/css3/filters/effect-custom-disabled.html (0 => 105485)


--- trunk/LayoutTests/css3/filters/effect-custom-disabled.html	                        (rev 0)
+++ trunk/LayoutTests/css3/filters/effect-custom-disabled.html	2012-01-20 07:45:46 UTC (rev 105485)
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href=""
+<script src=""
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src=""
+<script src=""
+</body>
+</html>
\ No newline at end of file

Added: trunk/LayoutTests/css3/filters/script-tests/effect-custom-disabled.js (0 => 105485)


--- trunk/LayoutTests/css3/filters/script-tests/effect-custom-disabled.js	                        (rev 0)
+++ trunk/LayoutTests/css3/filters/script-tests/effect-custom-disabled.js	2012-01-20 07:45:46 UTC (rev 105485)
@@ -0,0 +1,25 @@
+description("Test that the custom() function of the -webkit-filter property is not parsed when CSS Custom Filter is disabled.");
+
+if (window.layoutTestController)
+    window.layoutTestController.overridePreference("WebKitCSSCustomFilterEnabled", false);
+
+// These have to be global for the test helpers to see them.
+var stylesheet, cssRule, declaration;
+
+function testInvalidFilterRule(description, rule)
+{
+    debug(description + " : " + rule);
+
+    stylesheet = document.styleSheets.item(0);
+    stylesheet.insertRule("body { -webkit-filter: " + rule + "; }", 0);
+    cssRule = stylesheet.cssRules.item(0);
+  
+    shouldBe("cssRule.type", "1");
+
+    declaration = cssRule.style;
+    shouldBe("declaration.length", "0");
+    shouldBe("declaration.getPropertyValue('-webkit-filter')", "null");
+}
+
+testInvalidFilterRule("Custom with vertex shader", "custom(url(vertex.shader))");
+testInvalidFilterRule("Multiple with fragment shader", "grayscale() custom(none url(fragment.shader)) sepia()", "grayscale() custom(none url(fragment.shader)) sepia()");
\ No newline at end of file

Modified: trunk/LayoutTests/platform/wk2/Skipped (105484 => 105485)


--- trunk/LayoutTests/platform/wk2/Skipped	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/LayoutTests/platform/wk2/Skipped	2012-01-20 07:45:46 UTC (rev 105485)
@@ -325,6 +325,10 @@
 css3/filters/effect-saturate.html
 css3/filters/effect-sepia.html
 css3/filters/missing-custom-filter-shader.html
+css3/filters/effect-custom.html
+css3/filters/effect-custom-disabled.html
+css3/filters/effect-combined.html
+css3/filters/filter-repaint.html
 
 # LayoutTestController::applicationCacheDiskUsageForOrigin isn't implemented - https://bugs.webkit.org/show_bug.cgi?id=57127
 http/tests/appcache/origin-usage.html

Modified: trunk/Source/WebCore/ChangeLog (105484 => 105485)


--- trunk/Source/WebCore/ChangeLog	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebCore/ChangeLog	2012-01-20 07:45:46 UTC (rev 105485)
@@ -1,3 +1,37 @@
+2012-01-20  Alexandru Chiculita  <[email protected]>
+
+        CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
+        https://bugs.webkit.org/show_bug.cgi?id=76444
+        
+        Added setCSSCustomFilterEnabled/isCSSCustomFilterEnabled that is false by default.
+        I've enabled it by default on Apple Mac, to make sure there's no behavior change. Anyway, CSS shaders need
+        WebGL enabled, so it ends up being disabled by default.
+
+        Reviewed by Nikolas Zimmermann.
+
+        Test: css3/filters/effect-custom-disabled.html
+
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::parseFilter):
+            Do not parse the custom() function when shaders are disabled.
+            
+        * css/CSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::applyProperty):
+            Do not overwrite the old style->filter() if parsing fails.
+            
+        (WebCore::CSSStyleSelector::createFilterOperations):
+            Do not continue if one custom() filter fails to parse.
+            
+        * page/Settings.cpp:
+        (WebCore::Settings::Settings):
+        * page/Settings.h:
+        (WebCore::Settings::setCSSCustomFilterEnabled):
+        (WebCore::Settings::isCSSCustomFilterEnabled):
+        * rendering/FilterEffectRenderer.cpp:
+        (WebCore::isCSSCustomFilterEnabled):
+        (WebCore::FilterEffectRenderer::build):
+            Avoid creating the filter when shaders are disabled. It may happen to get here if shaders were disabled between parsing and rendering.
+        
 2012-01-19  Shinya Kawanaka  <[email protected]>
 
         Node::canHaveLightChildRendererWithShadow is not used anywhere.

Modified: trunk/Source/WebCore/css/CSSParser.cpp (105484 => 105485)


--- trunk/Source/WebCore/css/CSSParser.cpp	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebCore/css/CSSParser.cpp	2012-01-20 07:45:46 UTC (rev 105485)
@@ -73,6 +73,7 @@
 #include "Pair.h"
 #include "Rect.h"
 #include "RenderTheme.h"
+#include "Settings.h"
 #include "ShadowValue.h"
 #if ENABLE(CSS_FILTERS)
 #include "WebKitCSSFilterValue.h"
@@ -6909,6 +6910,13 @@
 
 #if ENABLE(CSS_SHADERS)
             if (filterType == WebKitCSSFilterValue::CustomFilterOperation) {
+                // Make sure parsing fails if custom filters are disabled.
+                if (Document* document = findDocument()) {
+                    Settings* settings = document->settings();
+                    if (!settings || !settings->isCSSCustomFilterEnabled())
+                        return 0;
+                }
+                
                 RefPtr<WebKitCSSFilterValue> filterValue = parseCustomFilter(value);
                 if (!filterValue)
                     return 0;

Modified: trunk/Source/WebCore/css/CSSStyleSelector.cpp (105484 => 105485)


--- trunk/Source/WebCore/css/CSSStyleSelector.cpp	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebCore/css/CSSStyleSelector.cpp	2012-01-20 07:45:46 UTC (rev 105485)
@@ -3682,8 +3682,8 @@
     case CSSPropertyWebkitFilter: {
         HANDLE_INHERIT_AND_INITIAL(filter, Filter);
         FilterOperations operations;
-        createFilterOperations(value, style(), m_rootElementStyle, operations);
-        m_style->setFilter(operations);
+        if (createFilterOperations(value, style(), m_rootElementStyle, operations))
+            m_style->setFilter(operations);
         return;
     }
 #endif
@@ -5324,8 +5324,10 @@
 #if ENABLE(CSS_SHADERS)
         if (operationType == FilterOperation::CUSTOM) {
             RefPtr<CustomFilterOperation> operation = createCustomFilterOperation(filterValue);
-            if (operation)
-                operations.operations().append(operation);
+            if (!operation)
+                return false;
+            
+            operations.operations().append(operation);
             continue;
         }
 #endif

Modified: trunk/Source/WebCore/page/Settings.cpp (105484 => 105485)


--- trunk/Source/WebCore/page/Settings.cpp	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebCore/page/Settings.cpp	2012-01-20 07:45:46 UTC (rev 105485)
@@ -172,6 +172,7 @@
     , m_canvasUsesAcceleratedDrawing(false)
     , m_acceleratedDrawingEnabled(false)
     , m_acceleratedFiltersEnabled(false)
+    , m_isCSSCustomFilterEnabled(false)
     // FIXME: This should really be disabled by default as it makes platforms that don't support the feature download files
     // they can't use by. Leaving enabled for now to not change existing behavior.
     , m_downloadableBinaryFontsEnabled(true)

Modified: trunk/Source/WebCore/page/Settings.h (105484 => 105485)


--- trunk/Source/WebCore/page/Settings.h	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebCore/page/Settings.h	2012-01-20 07:45:46 UTC (rev 105485)
@@ -307,6 +307,9 @@
         void setAcceleratedFiltersEnabled(bool enabled) { m_acceleratedFiltersEnabled = enabled; }
         bool acceleratedFiltersEnabled() const { return m_acceleratedFiltersEnabled; }
 
+        void setCSSCustomFilterEnabled(bool enabled) { m_isCSSCustomFilterEnabled = enabled; }
+        bool isCSSCustomFilterEnabled() const { return m_isCSSCustomFilterEnabled; }
+
         void setAcceleratedCompositingEnabled(bool);
         bool acceleratedCompositingEnabled() const { return m_acceleratedCompositingEnabled; }
 
@@ -594,6 +597,7 @@
         bool m_canvasUsesAcceleratedDrawing : 1;
         bool m_acceleratedDrawingEnabled : 1;
         bool m_acceleratedFiltersEnabled : 1;
+        bool m_isCSSCustomFilterEnabled : 1;
         bool m_downloadableBinaryFontsEnabled : 1;
         bool m_xssAuditorEnabled : 1;
         bool m_acceleratedCompositingEnabled : 1;

Modified: trunk/Source/WebCore/rendering/FilterEffectRenderer.cpp (105484 => 105485)


--- trunk/Source/WebCore/rendering/FilterEffectRenderer.cpp	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebCore/rendering/FilterEffectRenderer.cpp	2012-01-20 07:45:46 UTC (rev 105485)
@@ -68,11 +68,11 @@
     
     
 #if ENABLE(CSS_SHADERS) && ENABLE(WEBGL)
-static bool isWebGLEnabled(Document* document)
+static bool isCSSCustomFilterEnabled(Document* document)
 {
     // We only want to enable shaders if WebGL is also enabled on this platform.
     Settings* settings = document->settings();
-    return settings && settings->webGLEnabled();
+    return settings && settings->isCSSCustomFilterEnabled() && settings->webGLEnabled();
 }
 #endif
 
@@ -249,7 +249,7 @@
 #if ENABLE(CSS_SHADERS)
         case FilterOperation::CUSTOM: {
 #if ENABLE(WEBGL)
-            if (!isWebGLEnabled(document))
+            if (!isCSSCustomFilterEnabled(document))
                 continue;
             
             CustomFilterOperation* customFilterOperation = static_cast<CustomFilterOperation*>(filterOperation);

Modified: trunk/Source/WebKit/mac/ChangeLog (105484 => 105485)


--- trunk/Source/WebKit/mac/ChangeLog	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebKit/mac/ChangeLog	2012-01-20 07:45:46 UTC (rev 105485)
@@ -1,3 +1,21 @@
+2012-01-20  Alexandru Chiculita  <[email protected]>
+
+        CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
+        https://bugs.webkit.org/show_bug.cgi?id=76444
+
+        Added private WebPreference property called "WebKitCSSCustomFilterEnabled".
+        
+        Reviewed by Nikolas Zimmermann.
+
+        * WebView/WebPreferenceKeysPrivate.h:
+        * WebView/WebPreferences.mm:
+        (+[WebPreferences initialize]):
+        (-[WebPreferences cssCustomFilterEnabled]):
+        (-[WebPreferences setCSSCustomFilterEnabled:]):
+        * WebView/WebPreferencesPrivate.h:
+        * WebView/WebView.mm:
+        (-[WebView _preferencesChanged:]):
+
 2012-01-17  Enrica Casucci  <[email protected]>
 
         Missing NSForegroundColorAttributeName should be treated as black instead of transparent.

Modified: trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (105484 => 105485)


--- trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h	2012-01-20 07:45:46 UTC (rev 105485)
@@ -94,6 +94,7 @@
 #define WebKitAcceleratedDrawingEnabledPreferenceKey @"WebKitAcceleratedDrawingEnabled"
 #define WebKitCanvasUsesAcceleratedDrawingPreferenceKey @"WebKitCanvasUsesAcceleratedDrawing"
 #define WebKitAcceleratedCompositingEnabledPreferenceKey @"WebKitAcceleratedCompositingEnabled"
+#define WebKitCSSCustomFilterEnabledPreferenceKey @"WebKitCSSCustomFilterEnabled"
 #define WebKitShowDebugBordersPreferenceKey @"WebKitShowDebugBorders"
 #define WebKitShowRepaintCounterPreferenceKey @"WebKitShowRepaintCounter"
 #define WebKitWebAudioEnabledPreferenceKey @"WebKitWebAudioEnabled"

Modified: trunk/Source/WebKit/mac/WebView/WebPreferences.mm (105484 => 105485)


--- trunk/Source/WebKit/mac/WebView/WebPreferences.mm	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebKit/mac/WebView/WebPreferences.mm	2012-01-20 07:45:46 UTC (rev 105485)
@@ -366,6 +366,8 @@
         [NSNumber numberWithBool:NO],   WebKitJavaScriptCanAccessClipboardPreferenceKey,
         [NSNumber numberWithBool:YES],  WebKitXSSAuditorEnabledPreferenceKey,
         [NSNumber numberWithBool:YES],  WebKitAcceleratedCompositingEnabledPreferenceKey,
+        // CSS Shaders also need WebGL enabled (which is disabled by default), so we can keep it enabled for now.
+        [NSNumber numberWithBool:YES], WebKitCSSCustomFilterEnabledPreferenceKey,
         [NSNumber numberWithBool:NO],  WebKitAcceleratedDrawingEnabledPreferenceKey,
         [NSNumber numberWithBool:NO],  WebKitCanvasUsesAcceleratedDrawingPreferenceKey,
         [NSNumber numberWithBool:NO],   WebKitShowDebugBordersPreferenceKey,
@@ -1322,6 +1324,15 @@
     [self _setBoolValue:enabled forKey:WebKitAcceleratedCompositingEnabledPreferenceKey];
 }
 
+- (BOOL)cssCustomFilterEnabled
+{
+    return [self _boolValueForKey:WebKitCSSCustomFilterEnabledPreferenceKey];
+}
+- (void)setCSSCustomFilterEnabled:(BOOL)enabled
+{
+    [self _setBoolValue:enabled forKey:WebKitCSSCustomFilterEnabledPreferenceKey];
+}
+
 - (BOOL)showDebugBorders
 {
     return [self _boolValueForKey:WebKitShowDebugBordersPreferenceKey];

Modified: trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h (105484 => 105485)


--- trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h	2012-01-20 07:45:46 UTC (rev 105485)
@@ -186,6 +186,11 @@
 - (BOOL)acceleratedCompositingEnabled;
 - (void)setAcceleratedCompositingEnabled:(BOOL)enabled;
 
+#if ENABLE(CSS_SHADERS)
+- (BOOL)cssCustomFilterEnabled;
+- (void)setCSSCustomFilterEnabled:(BOOL)enabled;
+#endif
+
 - (BOOL)showDebugBorders;
 - (void)setShowDebugBorders:(BOOL)show;
 

Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (105484 => 105485)


--- trunk/Source/WebKit/mac/WebView/WebView.mm	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm	2012-01-20 07:45:46 UTC (rev 105485)
@@ -1470,6 +1470,9 @@
     settings->setFrameFlatteningEnabled([preferences isFrameFlatteningEnabled]);
     settings->setSpatialNavigationEnabled([preferences isSpatialNavigationEnabled]);
     settings->setPaginateDuringLayoutEnabled([preferences paginateDuringLayoutEnabled]);
+#if ENABLE(CSS_SHADERS)
+    settings->setCSSCustomFilterEnabled([preferences cssCustomFilterEnabled]);
+#endif
 #if ENABLE(FULLSCREEN_API)
     settings->setFullScreenEnabled([preferences fullScreenEnabled]);
 #endif

Modified: trunk/Source/WebKit2/ChangeLog (105484 => 105485)


--- trunk/Source/WebKit2/ChangeLog	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebKit2/ChangeLog	2012-01-20 07:45:46 UTC (rev 105485)
@@ -1,3 +1,18 @@
+2012-01-20  Alexandru Chiculita  <[email protected]>
+
+        CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
+        https://bugs.webkit.org/show_bug.cgi?id=76444
+
+        Reviewed by Nikolas Zimmermann.
+
+        * Shared/WebPreferencesStore.h:
+        * UIProcess/API/C/WKPreferences.cpp:
+        (WKPreferencesSetCSSCustomFilterEnabled):
+        (WKPreferencesGetCSSCustomFilterEnabled):
+        * UIProcess/API/C/WKPreferencesPrivate.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+
 2012-01-19  Sam Weinig  <[email protected]>
 
         Replace improper #import with an #include.

Modified: trunk/Source/WebKit2/Shared/WebPreferencesStore.h (105484 => 105485)


--- trunk/Source/WebKit2/Shared/WebPreferencesStore.h	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebKit2/Shared/WebPreferencesStore.h	2012-01-20 07:45:46 UTC (rev 105485)
@@ -70,6 +70,7 @@
     macro(CanvasUsesAcceleratedDrawing, canvasUsesAcceleratedDrawing, Bool, bool, true) \
     macro(CompositingBordersVisible, compositingBordersVisible, Bool, bool, false) \
     macro(CompositingRepaintCountersVisible, compositingRepaintCountersVisible, Bool, bool, false) \
+    macro(CSSCustomFilterEnabled, cssCustomFilterEnabled, Bool, bool, true) \
     macro(WebGLEnabled, webGLEnabled, Bool, bool, false) \
     macro(ForceFTPDirectoryListings, forceFTPDirectoryListings, Bool, bool, false) \
     macro(TabsToLinks, tabsToLinks, Bool, bool, DEFAULT_WEBKIT_TABSTOLINKS_ENABLED) \

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (105484 => 105485)


--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp	2012-01-20 07:45:46 UTC (rev 105485)
@@ -382,6 +382,16 @@
     return toImpl(preferencesRef)->compositingRepaintCountersVisible();
 }
 
+void WKPreferencesSetCSSCustomFilterEnabled(WKPreferencesRef preferencesRef, bool flag)
+{
+    toImpl(preferencesRef)->setCSSCustomFilterEnabled(flag);
+}
+
+bool WKPreferencesGetCSSCustomFilterEnabled(WKPreferencesRef preferencesRef)
+{
+    return toImpl(preferencesRef)->cssCustomFilterEnabled();
+}
+
 void WKPreferencesSetWebGLEnabled(WKPreferencesRef preferencesRef, bool flag)
 {
     toImpl(preferencesRef)->setWebGLEnabled(flag);

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h (105484 => 105485)


--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h	2012-01-20 07:45:46 UTC (rev 105485)
@@ -80,6 +80,10 @@
 WK_EXPORT void WKPreferencesSetCompositingRepaintCountersVisible(WKPreferencesRef, bool);
 WK_EXPORT bool WKPreferencesGetCompositingRepaintCountersVisible(WKPreferencesRef);
 
+// Defaults to true.
+WK_EXPORT void WKPreferencesSetCSSCustomFilterEnabled(WKPreferencesRef, bool flag);
+WK_EXPORT bool WKPreferencesGetCSSCustomFilterEnabled(WKPreferencesRef);
+
 // Defaults to false.
 WK_EXPORT void WKPreferencesSetWebGLEnabled(WKPreferencesRef, bool);
 WK_EXPORT bool WKPreferencesGetWebGLEnabled(WKPreferencesRef);

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (105484 => 105485)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2012-01-20 07:18:58 UTC (rev 105484)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2012-01-20 07:45:46 UTC (rev 105485)
@@ -1842,6 +1842,7 @@
     settings->setCanvasUsesAcceleratedDrawing(store.getBoolValueForKey(WebPreferencesKey::canvasUsesAcceleratedDrawingKey()) && LayerTreeHost::supportsAcceleratedCompositing());
     settings->setShowDebugBorders(store.getBoolValueForKey(WebPreferencesKey::compositingBordersVisibleKey()));
     settings->setShowRepaintCounter(store.getBoolValueForKey(WebPreferencesKey::compositingRepaintCountersVisibleKey()));
+    settings->setCSSCustomFilterEnabled(store.getBoolValueForKey(WebPreferencesKey::cssCustomFilterEnabledKey()));
     settings->setWebGLEnabled(store.getBoolValueForKey(WebPreferencesKey::webGLEnabledKey()));
     settings->setMediaPlaybackRequiresUserGesture(store.getBoolValueForKey(WebPreferencesKey::mediaPlaybackRequiresUserGestureKey()));
     settings->setMediaPlaybackAllowsInline(store.getBoolValueForKey(WebPreferencesKey::mediaPlaybackAllowsInlineKey()));
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to