- From: Dirk Schulze via GitHub <sysbot+gh@w3.org>
- Date: Tue, 22 May 2018 13:02:46 +0000
- To: public-fxtf-archive@w3.org
## Error handling on filter Test case for filter: https://codepen.io/krit/pen/pVYabE?editors=1000 In order of the test case: | Behavior of `<filter>` on element | Edge | Gecko | Blink | WebKit | | ----------------------------------------- |:-------------------:|:-------------------:|:-------------------:|:-------------------:| | no content | disappears | disappears | disappears | disappears | | grouped content followed by valid content | applies<sub>1</sub> | applies<sub>1</sub> | applies<sub>1</sub> | applies<sub>1</sub> | | invalid, followed by valid content | applies<sub>2</sub> | applies<sub>2</sub> | applies<sub>2</sub> | applies<sub>2</sub> | | missing reference | disappears | disappears | disappears | disappears | 1) Grouped content gets ignored, valid content applies. 2) Invalid content gets ignored, valid content applies. ## Error handling on clipping Test case for clipping: https://codepen.io/krit/pen/NMJyXr?editors=1000 In order of the test case: | Behavior of `<clipPath>` on element | Edge | Gecko | Blink | WebKit | | ------------------------------------ |:-------------------:|:-------------------:|:-------------------:|:-------------------:| | no content | disappears | disappears | disappears | disappears | | grouped content | disappears | disappears | disappears | disappears | | invalid, followed by valid content | clipped<sub>1</sub> | disappears | clipped<sub>1</sub> | clipped<sub>1</sub> | | missing reference | no clipping | no clipping | no clipping | no clipping | | circular dependency | clipped<sub>2</sub> | disappears | clipped<sub>2</sub> | clipped<sub>2</sub> | | `<use>` referencing `<g>` w/ content | clipped<sub>3</sub> | disappears | clipped<sub>1</sub> | clipped<sub>1</sub> | 1) Clipped by valid (by spec) content. 2) Clipped by content, circular dependencies get removed. 3) Clipped by combination of use and valid content. ## Error handling on masking Test case for masking: https://codepen.io/krit/pen/derdaE?editors=1000 In order of the test case: | Behavior of `<mask>` on element | Edge | Gecko | Blink | WebKit | | ----------------------------------------- |:-------------------:|:-------------------:|:-------------------:|:-------------------:| | no content | disappears | disappears | disappears | disappears | | grouped content followed by valid content | applies<sub>1</sub> | applies<sub>1</sub> | applies<sub>1</sub> | applies<sub>1</sub> | | invalid, followed by valid content | applies<sub>2</sub> | applies<sub>2</sub> | applies<sub>2</sub> | applies<sub>2</sub> | | missing reference | no masking | no masking | no masking | no masking | | circular dependency | applies<sub>3</sub> | disappears | applies<sub>3</sub> | applies<sub>3</sub> | 1) Grouped content gets ignored, valid content applies. 2) Invalid content gets ignored, valid content applies. 3) Masking applies, circular dependencies get removed. ## Summary 1. As described: missing filter reference makes the element disappear on all browsers. Missing mask and clipping references get ignored. * There is a special case for masks applied on HTML elements where the content disappears in Firefox as well. See https://github.com/w3c/fxtf-drafts/issues/245#issuecomment-390863839 2. For all browsers but Firefox: Elements that do not match the content model get ignored, the resource still applies. 3. For all browsers but Firefox: Circular dependencies get broken up and the resource still applies. (Filter primitives need more testing) Interesting for #17: Blink and WebKit do not take `<use>` referenced elements for clipping into account that do not match the `<clipPath>` content model. Edge does, which means an inconsistency in its own model. Gecko ignores the entire clipping resource. -- GitHub Notification of comment by dirkschulze Please view or discuss this issue at https://github.com/w3c/fxtf-drafts/issues/130#issuecomment-390981529 using your GitHub account
Received on Tuesday, 22 May 2018 13:02:54 UTC