-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bind CanvasFilters.filter to a string in CanvasRenderingContext2DBase::State #5528
Conversation
EWS run on previous version of this PR (hash eea3e97)
|
eea3e97
to
97348d4
Compare
EWS run on previous version of this PR (hash 97348d4) |
97348d4
to
8a3f177
Compare
EWS run on previous version of this PR (hash 8a3f177)
|
8a3f177
to
c95ebd9
Compare
EWS run on previous version of this PR (hash c95ebd9) |
c95ebd9
to
3f6e6d2
Compare
EWS run on previous version of this PR (hash 3f6e6d2)
|
3f6e6d2
to
d993d4e
Compare
EWS run on previous version of this PR (hash d993d4e)
|
d993d4e
to
6fb5a4e
Compare
c9a3242
to
85a27dc
Compare
EWS run on previous version of this PR (hash 85a27dc)
|
Yo |
85a27dc
to
06d2f6f
Compare
EWS run on previous version of this PR (hash 06d2f6f)
|
06d2f6f
to
9d10c05
Compare
EWS run on previous version of this PR (hash 9d10c05)
|
9d10c05
to
1c555d2
Compare
EWS run on previous version of this PR (hash 1c555d2)
|
1c555d2
to
49aeb3f
Compare
EWS run on previous version of this PR (hash 49aeb3f) |
…::State https://bugs.webkit.org/show_bug.cgi?id=246732 rdar://101323769 Reviewed by NOBODY (OOPS!). Bind the IDL string to a string in CanvasRenderingContext2DBase::State. The actual filter will be drawn to the canvas in a future patch. Parsing the filter string has to happen when the API is called because unparsed values should not change the property. createFilterOperations() will be used for parsing the CSS filter, the <canvas> filter and the OffscreenCanvas filter. Becasue OffscreenCanvas can render on a worker thread, Document can't be safely used while parsing its filter. FilterParserContext is passed to the createFilterOperations() to control resolving the URL of the referenced SVG filter and resolving the drop-shadow color. For CSS filter and <canvas> filter only, createFilterOperations() will use the Document and the RenderStyle through FilterParserContext. Specs link: https://html.spec.whatwg.org/multipage/canvas.html#canvasfilters * LayoutTests/fast/canvas/canvas-filter-basics-expected.txt: Added. * LayoutTests/fast/canvas/canvas-filter-basics.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.componentTransfer.discrete-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.componentTransfer.gamma-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.componentTransfer.identity-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.componentTransfer.linear-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.componentTransfer.table-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.tentative-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.value-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.tentative-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.tentative.worker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/filters/2d.filter.value-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/filters/2d.filter.value.worker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https_exclude=(Document_Window_HTML._)-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt: * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: * LayoutTests/platform/ipad/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: * LayoutTests/platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2-expected.txt: * LayoutTests/platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2.worker-expected.txt: * LayoutTests/platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/html/canvas/CanvasFilters.idl: * Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createFilterOperations const): * Source/WebCore/html/canvas/CanvasRenderingContext2D.h: * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::State::State): (WebCore::CanvasRenderingContext2DBase::setFilterString): (WebCore::CanvasRenderingContext2DBase::fillInternal): * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h: (WebCore::CanvasRenderingContext2DBase::filterString const): (WebCore::CanvasRenderingContext2DBase::createFilterOperations const): * Source/WebCore/html/canvas/OffscreenCanvasRenderingContext2D.cpp: (WebCore::OffscreenCanvasRenderingContext2D::createFilterOperations const): * Source/WebCore/html/canvas/OffscreenCanvasRenderingContext2D.h: * Source/WebCore/style/FilterOperationsBuilder.cpp: (WebCore::Style::defaultFilterParserContext): (WebCore::Style::documentFilterParserContext): (WebCore::Style::createFilterOperations): * Source/WebCore/style/FilterOperationsBuilder.h: * Source/WebCore/style/StyleBuilderState.cpp: (WebCore::Style::BuilderState::createFilterOperations):
49aeb3f
to
2159194
Compare
EWS run on current version of this PR (hash 2159194) |
This is done by #3793. |
2159194
2159194