Commit c8fe553b authored by Fredrik Söderquist's avatar Fredrik Söderquist Committed by Commit Bot

Expose all constants on SVGFEBlendElement

Per:

  https://drafts.fxtf.org/filter-effects/#InterfaceSVGFEBlendElement

All other browsers expose these already.

Bug: 906612
Change-Id: I4be6185d4832d980a5d7c6518dcb0b2ccca2ce82
Reviewed-on: https://chromium-review.googlesource.com/c/1341846Reviewed-by: default avatarPhilip Jägenstedt <foolip@chromium.org>
Commit-Queue: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610379}
parent 409dab09
This is a testharness.js-based test.
Found 458 tests; 426 PASS, 32 FAIL, 0 TIMEOUT, 0 NOTRUN.
Found 458 tests; 448 PASS, 10 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS idl_test setup
PASS SVGFilterElement interface: existence and properties of interface object
PASS SVGFilterElement interface object length
......@@ -31,28 +31,28 @@ PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_DARKEN on interface
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_DARKEN on interface prototype object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_LIGHTEN on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_LIGHTEN on interface prototype object
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_OVERLAY on interface object assert_own_property: expected property "SVG_FEBLEND_MODE_OVERLAY" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_OVERLAY on interface prototype object assert_own_property: expected property "SVG_FEBLEND_MODE_OVERLAY" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_DODGE on interface object assert_own_property: expected property "SVG_FEBLEND_MODE_COLOR_DODGE" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_DODGE on interface prototype object assert_own_property: expected property "SVG_FEBLEND_MODE_COLOR_DODGE" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_BURN on interface object assert_own_property: expected property "SVG_FEBLEND_MODE_COLOR_BURN" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_BURN on interface prototype object assert_own_property: expected property "SVG_FEBLEND_MODE_COLOR_BURN" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HARD_LIGHT on interface object assert_own_property: expected property "SVG_FEBLEND_MODE_HARD_LIGHT" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HARD_LIGHT on interface prototype object assert_own_property: expected property "SVG_FEBLEND_MODE_HARD_LIGHT" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SOFT_LIGHT on interface object assert_own_property: expected property "SVG_FEBLEND_MODE_SOFT_LIGHT" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SOFT_LIGHT on interface prototype object assert_own_property: expected property "SVG_FEBLEND_MODE_SOFT_LIGHT" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_DIFFERENCE on interface object assert_own_property: expected property "SVG_FEBLEND_MODE_DIFFERENCE" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_DIFFERENCE on interface prototype object assert_own_property: expected property "SVG_FEBLEND_MODE_DIFFERENCE" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_EXCLUSION on interface object assert_own_property: expected property "SVG_FEBLEND_MODE_EXCLUSION" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_EXCLUSION on interface prototype object assert_own_property: expected property "SVG_FEBLEND_MODE_EXCLUSION" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HUE on interface object assert_own_property: expected property "SVG_FEBLEND_MODE_HUE" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HUE on interface prototype object assert_own_property: expected property "SVG_FEBLEND_MODE_HUE" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SATURATION on interface object assert_own_property: expected property "SVG_FEBLEND_MODE_SATURATION" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SATURATION on interface prototype object assert_own_property: expected property "SVG_FEBLEND_MODE_SATURATION" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR on interface object assert_own_property: expected property "SVG_FEBLEND_MODE_COLOR" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR on interface prototype object assert_own_property: expected property "SVG_FEBLEND_MODE_COLOR" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_LUMINOSITY on interface object assert_own_property: expected property "SVG_FEBLEND_MODE_LUMINOSITY" missing
FAIL SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_LUMINOSITY on interface prototype object assert_own_property: expected property "SVG_FEBLEND_MODE_LUMINOSITY" missing
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_OVERLAY on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_OVERLAY on interface prototype object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_DODGE on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_DODGE on interface prototype object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_BURN on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR_BURN on interface prototype object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HARD_LIGHT on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HARD_LIGHT on interface prototype object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SOFT_LIGHT on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SOFT_LIGHT on interface prototype object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_DIFFERENCE on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_DIFFERENCE on interface prototype object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_EXCLUSION on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_EXCLUSION on interface prototype object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HUE on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_HUE on interface prototype object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SATURATION on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_SATURATION on interface prototype object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_COLOR on interface prototype object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_LUMINOSITY on interface object
PASS SVGFEBlendElement interface: constant SVG_FEBLEND_MODE_LUMINOSITY on interface prototype object
PASS SVGFEBlendElement interface: attribute in1
PASS SVGFEBlendElement interface: attribute in2
PASS SVGFEBlendElement interface: attribute mode
......
<!DOCTYPE HTML>
<title>SVGFEBlendElement.prototype.mode</title>
<link rel="help" href="https://drafts.fxtf.org/filter-effects/#InterfaceSVGFEBlendElement">
<link rel="help" href="https://svgwg.org/svg2-draft/types.html#InterfaceSVGAnimatedEnumeration">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
// This test checks the use of SVGAnimatedEnumeration for 'mode' on SVGFEBlendElement.
const svgNs = "http://www.w3.org/2000/svg";
test(function() {
var element = document.createElementNS(svgNs, "feBlend");
assert_equals(element.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL);
assert_false(element.hasAttribute("mode"));
}, document.title + ", getter, initial value");
test(function() {
var element = document.createElementNS(svgNs, "feBlend");
element.setAttribute("mode", "not-a-valid-value");
assert_equals(element.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL);
assert_true(element.hasAttribute("mode"));
assert_equals(element.getAttribute("mode"), "not-a-valid-value");
}, document.title + ", getter, invalid value");
const enumerationMap = [
[ "normal", "NORMAL" ],
[ "multiply", "MULTIPLY" ],
[ "screen", "SCREEN" ],
[ "darken", "DARKEN" ],
[ "lighten", "LIGHTEN" ],
[ "overlay", "OVERLAY" ],
[ "color-dodge", "COLOR_DODGE" ],
[ "color-burn", "COLOR_BURN" ],
[ "hard-light", "HARD_LIGHT" ],
[ "soft-light", "SOFT_LIGHT" ],
[ "difference", "DIFFERENCE" ],
[ "exclusion", "EXCLUSION" ],
[ "hue", "HUE" ],
[ "saturation", "SATURATION" ],
[ "color", "COLOR" ],
[ "luminosity", "LUMINOSITY" ],
];
for (let [enumeration, value_suffix] of enumerationMap) {
test(function() {
let value = SVGFEBlendElement["SVG_FEBLEND_MODE_" + value_suffix];
var element = document.createElementNS(svgNs, "feBlend");
element.setAttribute("mode", enumeration);
assert_equals(element.mode.baseVal, value);
}, document.title + ", getter, numeric value for \"" + enumeration + "\"");
}
test(function() {
var element = document.createElementNS(svgNs, "feBlend");
element.setAttribute("mode", "lighten");
assert_equals(element.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(element.getAttribute('mode'), "lighten");
assert_throws(new TypeError(), function() { element.mode.baseVal = 17; });
assert_equals(element.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(element.getAttribute('mode'), "lighten");
assert_throws(new TypeError(), function() { element.mode.baseVal = -1; });
assert_equals(element.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(element.getAttribute('mode'), "lighten");
assert_throws(new TypeError(), function() { element.mode.baseVal = 0; });
assert_equals(element.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(element.getAttribute('mode'), "lighten");
}, document.title + ", setter, invalid value");
for (let [enumeration, value_suffix] of enumerationMap) {
test(function() {
let value = SVGFEBlendElement["SVG_FEBLEND_MODE_" + value_suffix];
var element = document.createElementNS(svgNs, "feBlend");
element.mode.baseVal = value;
assert_equals(element.mode.baseVal, value);
assert_equals(element.getAttribute('mode'), enumeration);
}, document.title + ", setter, numeric value for \"" + enumeration + "\"");
}
</script>
<!DOCTYPE HTML>
<title>Use of SVGAnimatedEnumeration within SVGFEBlendElement</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(function() {
// This test checks the use of SVGAnimatedEnumeration within SVGFEBlendElement.
var feBlendElement = document.createElementNS("http://www.w3.org/2000/svg", "feBlend");
feBlendElement.setAttribute("mode", "normal");
// Check initial 'mode' value.
assert_true(feBlendElement.mode instanceof SVGAnimatedEnumeration);
assert_equals(typeof(feBlendElement.mode.baseVal), "number");
assert_equals(feBlendElement.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL);
// Switch to 'multiply'.
feBlendElement.mode.baseVal = SVGFEBlendElement.SVG_FEBLEND_MODE_MULTIPLY;
assert_equals(feBlendElement.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_MULTIPLY);
assert_equals(feBlendElement.getAttribute('mode'), "multiply");
// Switch to 'screen'.
feBlendElement.mode.baseVal = SVGFEBlendElement.SVG_FEBLEND_MODE_SCREEN;
assert_equals(feBlendElement.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_SCREEN);
assert_equals(feBlendElement.getAttribute('mode'), "screen");
// Switch to 'darken';
feBlendElement.mode.baseVal = SVGFEBlendElement.SVG_FEBLEND_MODE_DARKEN;
assert_equals(feBlendElement.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_DARKEN);
assert_equals(feBlendElement.getAttribute('mode'), "darken");
// Switch to 'lighten'
feBlendElement.mode.baseVal = SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN;
assert_equals(feBlendElement.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(feBlendElement.getAttribute('mode'), "lighten");
// Try setting invalid values.
assert_throws(new TypeError(), function() { feBlendElement.mode.baseVal = 6; });
assert_equals(feBlendElement.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(feBlendElement.getAttribute('mode'), "lighten");
assert_throws(new TypeError(), function() { feBlendElement.mode.baseVal = -1; });
assert_equals(feBlendElement.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(feBlendElement.getAttribute('mode'), "lighten");
assert_throws(new TypeError(), function() { feBlendElement.mode.baseVal = 0; });
assert_equals(feBlendElement.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(feBlendElement.getAttribute('mode'), "lighten");
// Switch to 'normal'.
feBlendElement.mode.baseVal = SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL;
assert_equals(feBlendElement.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL);
assert_equals(feBlendElement.getAttribute('mode'), "normal");
// baseVal access when mode is set to a value not in SVGFEBlendElement.SVG_FEBLEND_MODE_*. .
feBlendElement.setAttribute("mode", "color-dodge");
assert_equals(feBlendElement.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_UNKNOWN);
assert_throws(new TypeError(), function() { feBlendElement.mode.baseVal = 13; });
assert_equals(feBlendElement.getAttribute('mode'), "color-dodge");
});
</script>
\ No newline at end of file
CONSOLE ERROR: line 14: Uncaught TypeError: Failed to set the 'baseVal' property on 'SVGAnimatedEnumeration': The enumeration value provided (65535) is larger than the largest allowed value (5).
CONSOLE ERROR: line 14: Uncaught TypeError: Failed to set the 'baseVal' property on 'SVGAnimatedEnumeration': The enumeration value provided (65535) is larger than the largest allowed value (16).
PASS: Invalid blend modes do not trigger a crash.
......@@ -1445,11 +1445,22 @@ svg element ellipse
property systemLanguage
property transform
svg element feBlend
property SVG_FEBLEND_MODE_COLOR
property SVG_FEBLEND_MODE_COLOR_BURN
property SVG_FEBLEND_MODE_COLOR_DODGE
property SVG_FEBLEND_MODE_DARKEN
property SVG_FEBLEND_MODE_DIFFERENCE
property SVG_FEBLEND_MODE_EXCLUSION
property SVG_FEBLEND_MODE_HARD_LIGHT
property SVG_FEBLEND_MODE_HUE
property SVG_FEBLEND_MODE_LIGHTEN
property SVG_FEBLEND_MODE_LUMINOSITY
property SVG_FEBLEND_MODE_MULTIPLY
property SVG_FEBLEND_MODE_NORMAL
property SVG_FEBLEND_MODE_OVERLAY
property SVG_FEBLEND_MODE_SATURATION
property SVG_FEBLEND_MODE_SCREEN
property SVG_FEBLEND_MODE_SOFT_LIGHT
property SVG_FEBLEND_MODE_UNKNOWN
property height
property in1
......
......@@ -5403,11 +5403,22 @@ interface SVGEllipseElement : SVGGeometryElement
method constructor
interface SVGFEBlendElement : SVGElement
attribute @@toStringTag
attribute SVG_FEBLEND_MODE_COLOR
attribute SVG_FEBLEND_MODE_COLOR_BURN
attribute SVG_FEBLEND_MODE_COLOR_DODGE
attribute SVG_FEBLEND_MODE_DARKEN
attribute SVG_FEBLEND_MODE_DIFFERENCE
attribute SVG_FEBLEND_MODE_EXCLUSION
attribute SVG_FEBLEND_MODE_HARD_LIGHT
attribute SVG_FEBLEND_MODE_HUE
attribute SVG_FEBLEND_MODE_LIGHTEN
attribute SVG_FEBLEND_MODE_LUMINOSITY
attribute SVG_FEBLEND_MODE_MULTIPLY
attribute SVG_FEBLEND_MODE_NORMAL
attribute SVG_FEBLEND_MODE_OVERLAY
attribute SVG_FEBLEND_MODE_SATURATION
attribute SVG_FEBLEND_MODE_SCREEN
attribute SVG_FEBLEND_MODE_SOFT_LIGHT
attribute SVG_FEBLEND_MODE_UNKNOWN
getter height
getter in1
......
......@@ -1565,11 +1565,22 @@ svg element ellipse
property systemLanguage
property transform
svg element feBlend
property SVG_FEBLEND_MODE_COLOR
property SVG_FEBLEND_MODE_COLOR_BURN
property SVG_FEBLEND_MODE_COLOR_DODGE
property SVG_FEBLEND_MODE_DARKEN
property SVG_FEBLEND_MODE_DIFFERENCE
property SVG_FEBLEND_MODE_EXCLUSION
property SVG_FEBLEND_MODE_HARD_LIGHT
property SVG_FEBLEND_MODE_HUE
property SVG_FEBLEND_MODE_LIGHTEN
property SVG_FEBLEND_MODE_LUMINOSITY
property SVG_FEBLEND_MODE_MULTIPLY
property SVG_FEBLEND_MODE_NORMAL
property SVG_FEBLEND_MODE_OVERLAY
property SVG_FEBLEND_MODE_SATURATION
property SVG_FEBLEND_MODE_SCREEN
property SVG_FEBLEND_MODE_SOFT_LIGHT
property SVG_FEBLEND_MODE_UNKNOWN
property height
property in1
......
......@@ -6168,11 +6168,22 @@ interface SVGEllipseElement : SVGGeometryElement
method constructor
interface SVGFEBlendElement : SVGElement
attribute @@toStringTag
attribute SVG_FEBLEND_MODE_COLOR
attribute SVG_FEBLEND_MODE_COLOR_BURN
attribute SVG_FEBLEND_MODE_COLOR_DODGE
attribute SVG_FEBLEND_MODE_DARKEN
attribute SVG_FEBLEND_MODE_DIFFERENCE
attribute SVG_FEBLEND_MODE_EXCLUSION
attribute SVG_FEBLEND_MODE_HARD_LIGHT
attribute SVG_FEBLEND_MODE_HUE
attribute SVG_FEBLEND_MODE_LIGHTEN
attribute SVG_FEBLEND_MODE_LUMINOSITY
attribute SVG_FEBLEND_MODE_MULTIPLY
attribute SVG_FEBLEND_MODE_NORMAL
attribute SVG_FEBLEND_MODE_OVERLAY
attribute SVG_FEBLEND_MODE_SATURATION
attribute SVG_FEBLEND_MODE_SCREEN
attribute SVG_FEBLEND_MODE_SOFT_LIGHT
attribute SVG_FEBLEND_MODE_UNKNOWN
getter height
getter in1
......
......@@ -76,8 +76,7 @@ const SVGEnumerationMap& GetEnumerationMap<SVGFEBlendElement::Mode>() {
{SVGFEBlendElement::kModeColor, "color"},
{SVGFEBlendElement::kModeLuminosity, "luminosity"},
};
static const SVGEnumerationMap entries(enum_items,
SVGFEBlendElement::kModeLighten);
static const SVGEnumerationMap entries(enum_items);
return entries;
}
......
......@@ -38,20 +38,17 @@ class SVGFEBlendElement final : public SVGFilterPrimitiveStandardAttributes {
kModeScreen = 3,
kModeDarken = 4,
kModeLighten = 5,
// The following modes do not map to IDL constants on
// SVGFEBlendElement.
kModeOverlay,
kModeColorDodge,
kModeColorBurn,
kModeHardLight,
kModeSoftLight,
kModeDifference,
kModeExclusion,
kModeHue,
kModeSaturation,
kModeColor,
kModeLuminosity,
kModeOverlay = 6,
kModeColorDodge = 7,
kModeColorBurn = 8,
kModeHardLight = 9,
kModeSoftLight = 10,
kModeDifference = 11,
kModeExclusion = 12,
kModeHue = 13,
kModeSaturation = 14,
kModeColor = 15,
kModeLuminosity = 16,
};
DECLARE_NODE_FACTORY(SVGFEBlendElement);
......
......@@ -36,6 +36,17 @@
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_SCREEN = 3;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_DARKEN = 4;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_LIGHTEN = 5;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_OVERLAY = 6;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_COLOR_DODGE = 7;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_COLOR_BURN = 8;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_HARD_LIGHT = 9;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_SOFT_LIGHT = 10;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_DIFFERENCE = 11;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_EXCLUSION = 12;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_HUE = 13;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_SATURATION = 14;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_COLOR = 15;
[MeasureAs=SVG1DOMFilter] const unsigned short SVG_FEBLEND_MODE_LUMINOSITY = 16;
[MeasureAs=SVG1DOMFilter] readonly attribute SVGAnimatedString in1;
[MeasureAs=SVG1DOMFilter] readonly attribute SVGAnimatedString in2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment