haikuwebkit/LayoutTests/css3/color-filters/color-filter-parsing.html

77 lines
4.5 KiB
HTML
Raw Permalink Normal View History

[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
<!DOCTYPE html><!-- webkit-test-runner [ ColorFilterEnabled=true ] -->
Rename color-filter to -apple-color-filter and do not expose it to Web content https://bugs.webkit.org/show_bug.cgi?id=186306 <rdar://problem/39874167> Reviewed by Simon Fraser. Source/WebCore: Rename the color-filter CSS property to -apple-color-filter. * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::checkForMatchingColorFilterFunctionLists): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSGradientValue.cpp: (WebCore::CSSGradientValue::image): (WebCore::CSSGradientValue::computeStops): (WebCore::CSSGradientValue::knownToBeOpaque const): * css/CSSProperties.json: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * page/animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc): (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): * page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::checkForMatchingColorFilterFunctionLists): * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::checkForMatchingColorFilterFunctionLists): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextForeground): (WebCore::InlineTextBox::paintMarkedTextDecoration): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): (WebCore::RenderStyle::visitedDependentColorWithColorFilter const): (WebCore::RenderStyle::colorByApplyingColorFilter const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableAppleColorFilter): (WebCore::RenderStyle::appleColorFilter const): (WebCore::RenderStyle::hasAppleColorFilter const): (WebCore::RenderStyle::setAppleColorFilter): (WebCore::RenderStyle::initialAppleColorFilter): (WebCore::RenderStyle::mutableColorFilter): Deleted. (WebCore::RenderStyle::colorFilter const): Deleted. (WebCore::RenderStyle::hasColorFilter const): Deleted. (WebCore::RenderStyle::setColorFilter): Deleted. (WebCore::RenderStyle::initialColorFilter): Deleted. * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Change the ColorFilter setting to no longer be exposed as an experimental feature and ensure it's turned off by default. To allow internal clients to use the -apple-color-filter property, we expose a new _colorFilterEnabled property as SPI to WKWebViewConfigurationPrivate. * Shared/WebPreferences.yaml: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetColorFilterEnabled): (WKPreferencesGetColorFilterEnabled): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _setAttachmentElementEnabled:]): (-[WKWebViewConfiguration _colorFilterEnabled]): (-[WKWebViewConfiguration _setColorFilterEnabled:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Tools: Adding an option to turn support for the -apple-color-filter property on via an HTML comment. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): LayoutTests: Update tests for color-filter to test -apple-color-filter and explicitly turn the feature on since it's disabled by default. We also update a test to not use the colorFilter accessor and setter on CSSStyleDeclaration because using an -apple- prefix will no longer expose such a getter or setter, using getPropertyValue() and setProperty() instead. * animations/resources/animation-test-helpers.js: (getPropertyValue): (comparePropertyValue): * css3/color-filters/color-filter-animation-expected.txt: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-backgrounds-borders-expected.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow-expected.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness-expected.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color-expected.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-expected.html: * css3/color-filters/color-filter-color-property-list-item-expected.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations-expected.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule-expected.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-contrast-expected.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color-expected.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list-expected.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients-expected.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale-expected.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate-expected.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-inherits-expected.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert-expected.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity-expected.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline-expected.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing-expected.txt: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate-expected.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia-expected.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow-expected.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis-expected.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow-expected.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke-expected.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg-expected.html: * css3/color-filters/svg/color-filter-inline-svg.html: Canonical link: https://commits.webkit.org/201735@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-06 22:27:20 +00:00
<html>
<head>
Add a new "color-filter" CSS property as an experimental feature https://bugs.webkit.org/show_bug.cgi?id=184940 Source/WebCore: rdar://problem/39664904 Reviewed by Jon Lee. Add a new CSS property called "color-filter" as an experimental feature (off by default). This property specifies a list of filter functions (as specified in https://drafts.fxtf.org/filter-effects/#supported-filter-functions) to CSS colors, allowing authors to modify the provided page colors, for example to improve accessibility. Filters that move pixels (i.e. blur() and drop-shadow()) are invalid in this property. Colors will be mapped through the filter functions just before paint time, and gradient stop colors will also be mapped. This patch adds support for parsing color-filter. Test: css3/color-filters/color-filter-parsing.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSProperties.json: * css/parser/CSSParser.cpp: (WebCore::CSSParserContext::CSSParserContext): (WebCore::operator==): * css/parser/CSSParserMode.h: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::isColorFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilter): * css/parser/CSSPropertyParserHelpers.h: * page/Settings.yaml: * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableColorFilter): (WebCore::RenderStyle::colorFilter const): (WebCore::RenderStyle::hasColorFilter const): (WebCore::RenderStyle::setColorFilter): (WebCore::RenderStyle::initialColorFilter): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Reviewed by Jon Lee. Add the color-filter property as an experimental feature. * Shared/WebPreferences.yaml: LayoutTests: Reviewed by Jon Lee. * css3/color-filters/color-filter-parsing-expected.txt: Added. * css3/color-filters/color-filter-parsing.html: Added. Canonical link: https://commits.webkit.org/200451@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-25 01:50:39 +00:00
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
Rename color-filter to -apple-color-filter and do not expose it to Web content https://bugs.webkit.org/show_bug.cgi?id=186306 <rdar://problem/39874167> Reviewed by Simon Fraser. Source/WebCore: Rename the color-filter CSS property to -apple-color-filter. * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::checkForMatchingColorFilterFunctionLists): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSGradientValue.cpp: (WebCore::CSSGradientValue::image): (WebCore::CSSGradientValue::computeStops): (WebCore::CSSGradientValue::knownToBeOpaque const): * css/CSSProperties.json: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * page/animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc): (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): * page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::checkForMatchingColorFilterFunctionLists): * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::checkForMatchingColorFilterFunctionLists): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextForeground): (WebCore::InlineTextBox::paintMarkedTextDecoration): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): (WebCore::RenderStyle::visitedDependentColorWithColorFilter const): (WebCore::RenderStyle::colorByApplyingColorFilter const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableAppleColorFilter): (WebCore::RenderStyle::appleColorFilter const): (WebCore::RenderStyle::hasAppleColorFilter const): (WebCore::RenderStyle::setAppleColorFilter): (WebCore::RenderStyle::initialAppleColorFilter): (WebCore::RenderStyle::mutableColorFilter): Deleted. (WebCore::RenderStyle::colorFilter const): Deleted. (WebCore::RenderStyle::hasColorFilter const): Deleted. (WebCore::RenderStyle::setColorFilter): Deleted. (WebCore::RenderStyle::initialColorFilter): Deleted. * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Change the ColorFilter setting to no longer be exposed as an experimental feature and ensure it's turned off by default. To allow internal clients to use the -apple-color-filter property, we expose a new _colorFilterEnabled property as SPI to WKWebViewConfigurationPrivate. * Shared/WebPreferences.yaml: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetColorFilterEnabled): (WKPreferencesGetColorFilterEnabled): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _setAttachmentElementEnabled:]): (-[WKWebViewConfiguration _colorFilterEnabled]): (-[WKWebViewConfiguration _setColorFilterEnabled:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Tools: Adding an option to turn support for the -apple-color-filter property on via an HTML comment. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): LayoutTests: Update tests for color-filter to test -apple-color-filter and explicitly turn the feature on since it's disabled by default. We also update a test to not use the colorFilter accessor and setter on CSSStyleDeclaration because using an -apple- prefix will no longer expose such a getter or setter, using getPropertyValue() and setProperty() instead. * animations/resources/animation-test-helpers.js: (getPropertyValue): (comparePropertyValue): * css3/color-filters/color-filter-animation-expected.txt: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-backgrounds-borders-expected.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow-expected.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness-expected.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color-expected.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-expected.html: * css3/color-filters/color-filter-color-property-list-item-expected.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations-expected.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule-expected.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-contrast-expected.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color-expected.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list-expected.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients-expected.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale-expected.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate-expected.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-inherits-expected.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert-expected.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity-expected.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline-expected.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing-expected.txt: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate-expected.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia-expected.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow-expected.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis-expected.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow-expected.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke-expected.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg-expected.html: * css3/color-filters/svg/color-filter-inline-svg.html: Canonical link: https://commits.webkit.org/201735@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-06 22:27:20 +00:00
</head>
<body>
Add a new "color-filter" CSS property as an experimental feature https://bugs.webkit.org/show_bug.cgi?id=184940 Source/WebCore: rdar://problem/39664904 Reviewed by Jon Lee. Add a new CSS property called "color-filter" as an experimental feature (off by default). This property specifies a list of filter functions (as specified in https://drafts.fxtf.org/filter-effects/#supported-filter-functions) to CSS colors, allowing authors to modify the provided page colors, for example to improve accessibility. Filters that move pixels (i.e. blur() and drop-shadow()) are invalid in this property. Colors will be mapped through the filter functions just before paint time, and gradient stop colors will also be mapped. This patch adds support for parsing color-filter. Test: css3/color-filters/color-filter-parsing.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSProperties.json: * css/parser/CSSParser.cpp: (WebCore::CSSParserContext::CSSParserContext): (WebCore::operator==): * css/parser/CSSParserMode.h: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::isColorFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilter): * css/parser/CSSPropertyParserHelpers.h: * page/Settings.yaml: * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableColorFilter): (WebCore::RenderStyle::colorFilter const): (WebCore::RenderStyle::hasColorFilter const): (WebCore::RenderStyle::setColorFilter): (WebCore::RenderStyle::initialColorFilter): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Reviewed by Jon Lee. Add the color-filter property as an experimental feature. * Shared/WebPreferences.yaml: LayoutTests: Reviewed by Jon Lee. * css3/color-filters/color-filter-parsing-expected.txt: Added. * css3/color-filters/color-filter-parsing.html: Added. Canonical link: https://commits.webkit.org/200451@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-25 01:50:39 +00:00
<div id="test"></div>
<script>
var testDiv = document.querySelector('#test');
function testColorFilterParsing(value, expected, name)
{
test(() => {
Rename color-filter to -apple-color-filter and do not expose it to Web content https://bugs.webkit.org/show_bug.cgi?id=186306 <rdar://problem/39874167> Reviewed by Simon Fraser. Source/WebCore: Rename the color-filter CSS property to -apple-color-filter. * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::checkForMatchingColorFilterFunctionLists): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSGradientValue.cpp: (WebCore::CSSGradientValue::image): (WebCore::CSSGradientValue::computeStops): (WebCore::CSSGradientValue::knownToBeOpaque const): * css/CSSProperties.json: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * page/animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc): (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): * page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::checkForMatchingColorFilterFunctionLists): * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::checkForMatchingColorFilterFunctionLists): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextForeground): (WebCore::InlineTextBox::paintMarkedTextDecoration): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): (WebCore::RenderStyle::visitedDependentColorWithColorFilter const): (WebCore::RenderStyle::colorByApplyingColorFilter const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableAppleColorFilter): (WebCore::RenderStyle::appleColorFilter const): (WebCore::RenderStyle::hasAppleColorFilter const): (WebCore::RenderStyle::setAppleColorFilter): (WebCore::RenderStyle::initialAppleColorFilter): (WebCore::RenderStyle::mutableColorFilter): Deleted. (WebCore::RenderStyle::colorFilter const): Deleted. (WebCore::RenderStyle::hasColorFilter const): Deleted. (WebCore::RenderStyle::setColorFilter): Deleted. (WebCore::RenderStyle::initialColorFilter): Deleted. * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Change the ColorFilter setting to no longer be exposed as an experimental feature and ensure it's turned off by default. To allow internal clients to use the -apple-color-filter property, we expose a new _colorFilterEnabled property as SPI to WKWebViewConfigurationPrivate. * Shared/WebPreferences.yaml: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetColorFilterEnabled): (WKPreferencesGetColorFilterEnabled): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _setAttachmentElementEnabled:]): (-[WKWebViewConfiguration _colorFilterEnabled]): (-[WKWebViewConfiguration _setColorFilterEnabled:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Tools: Adding an option to turn support for the -apple-color-filter property on via an HTML comment. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): LayoutTests: Update tests for color-filter to test -apple-color-filter and explicitly turn the feature on since it's disabled by default. We also update a test to not use the colorFilter accessor and setter on CSSStyleDeclaration because using an -apple- prefix will no longer expose such a getter or setter, using getPropertyValue() and setProperty() instead. * animations/resources/animation-test-helpers.js: (getPropertyValue): (comparePropertyValue): * css3/color-filters/color-filter-animation-expected.txt: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-backgrounds-borders-expected.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow-expected.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness-expected.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color-expected.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-expected.html: * css3/color-filters/color-filter-color-property-list-item-expected.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations-expected.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule-expected.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-contrast-expected.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color-expected.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list-expected.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients-expected.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale-expected.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate-expected.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-inherits-expected.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert-expected.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity-expected.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline-expected.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing-expected.txt: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate-expected.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia-expected.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow-expected.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis-expected.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow-expected.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke-expected.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg-expected.html: * css3/color-filters/svg/color-filter-inline-svg.html: Canonical link: https://commits.webkit.org/201735@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-06 22:27:20 +00:00
testDiv.style.setProperty("-apple-color-filter", "");
testDiv.style.setProperty("-apple-color-filter", value);
var computedStyle = getComputedStyle(testDiv).getPropertyValue("-apple-color-filter");
Add a new "color-filter" CSS property as an experimental feature https://bugs.webkit.org/show_bug.cgi?id=184940 Source/WebCore: rdar://problem/39664904 Reviewed by Jon Lee. Add a new CSS property called "color-filter" as an experimental feature (off by default). This property specifies a list of filter functions (as specified in https://drafts.fxtf.org/filter-effects/#supported-filter-functions) to CSS colors, allowing authors to modify the provided page colors, for example to improve accessibility. Filters that move pixels (i.e. blur() and drop-shadow()) are invalid in this property. Colors will be mapped through the filter functions just before paint time, and gradient stop colors will also be mapped. This patch adds support for parsing color-filter. Test: css3/color-filters/color-filter-parsing.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSProperties.json: * css/parser/CSSParser.cpp: (WebCore::CSSParserContext::CSSParserContext): (WebCore::operator==): * css/parser/CSSParserMode.h: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::isColorFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilter): * css/parser/CSSPropertyParserHelpers.h: * page/Settings.yaml: * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableColorFilter): (WebCore::RenderStyle::colorFilter const): (WebCore::RenderStyle::hasColorFilter const): (WebCore::RenderStyle::setColorFilter): (WebCore::RenderStyle::initialColorFilter): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Reviewed by Jon Lee. Add the color-filter property as an experimental feature. * Shared/WebPreferences.yaml: LayoutTests: Reviewed by Jon Lee. * css3/color-filters/color-filter-parsing-expected.txt: Added. * css3/color-filters/color-filter-parsing.html: Added. Canonical link: https://commits.webkit.org/200451@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-25 01:50:39 +00:00
assert_equals(computedStyle, expected);
}, name);
}
testColorFilterParsing("none", "none", "Parse none");
testColorFilterParsing("auto", "none", "Parse auto");
testColorFilterParsing("garbage", "none", "Parsing garbage value returns none");
testColorFilterParsing("garbage()", "none", "Parsing garbage function returns none");
// Argument-free funtions.
brightness() filter should default to 1, and not allow negative values https://bugs.webkit.org/show_bug.cgi?id=184937 Reviewed by Dean Jackson. Source/WebCore: Remove the special-casing for brightness() in consumeFilterFunction(), so it now follows the same logic as the other color-related filters in not allowing negative values. Removed the special-casing for brightness() in createFilterOperations() so its default value is now 1. Modified existing tests. * css/StyleResolver.cpp: (WebCore::StyleResolver::createFilterOperations): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::allowsValuesGreaterThanOne): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): LayoutTests: Added negative value tests to filter-property-parsing.html and backdropfilter-property-parsing.html, and made these tests more similar. Fixed expected computed value for brightness() to be brightness(1) in the tests. The effect-brightness* test results failed because elements with invalid brightness values now no longer create a RenderLayer. * css3/color-filters/color-filter-parsing-expected.txt: * css3/color-filters/color-filter-parsing.html: * css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt: * css3/filters/backdrop/backdropfilter-property-computed-style.html: * css3/filters/backdrop/backdropfilter-property-parsing-expected.txt: * css3/filters/backdrop/backdropfilter-property-parsing.html: * css3/filters/effect-brightness-expected.txt: * css3/filters/filter-property-computed-style-expected.txt: * css3/filters/filter-property-computed-style.html: * css3/filters/filter-property-parsing-expected.txt: * css3/filters/filter-property-parsing.html: * css3/filters/unprefixed-expected.txt: * css3/filters/unprefixed.html: * fast/filter-image/parse-filter-image-expected.txt: * fast/filter-image/parse-filter-image.html: * platform/mac/css3/filters/effect-brightness-clamping-expected.txt: Canonical link: https://commits.webkit.org/200502@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-25 23:24:47 +00:00
testColorFilterParsing("brightness()", "brightness(1)", "Parse brightness()");
Add a new "color-filter" CSS property as an experimental feature https://bugs.webkit.org/show_bug.cgi?id=184940 Source/WebCore: rdar://problem/39664904 Reviewed by Jon Lee. Add a new CSS property called "color-filter" as an experimental feature (off by default). This property specifies a list of filter functions (as specified in https://drafts.fxtf.org/filter-effects/#supported-filter-functions) to CSS colors, allowing authors to modify the provided page colors, for example to improve accessibility. Filters that move pixels (i.e. blur() and drop-shadow()) are invalid in this property. Colors will be mapped through the filter functions just before paint time, and gradient stop colors will also be mapped. This patch adds support for parsing color-filter. Test: css3/color-filters/color-filter-parsing.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSProperties.json: * css/parser/CSSParser.cpp: (WebCore::CSSParserContext::CSSParserContext): (WebCore::operator==): * css/parser/CSSParserMode.h: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::isColorFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilter): * css/parser/CSSPropertyParserHelpers.h: * page/Settings.yaml: * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableColorFilter): (WebCore::RenderStyle::colorFilter const): (WebCore::RenderStyle::hasColorFilter const): (WebCore::RenderStyle::setColorFilter): (WebCore::RenderStyle::initialColorFilter): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Reviewed by Jon Lee. Add the color-filter property as an experimental feature. * Shared/WebPreferences.yaml: LayoutTests: Reviewed by Jon Lee. * css3/color-filters/color-filter-parsing-expected.txt: Added. * css3/color-filters/color-filter-parsing.html: Added. Canonical link: https://commits.webkit.org/200451@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-25 01:50:39 +00:00
testColorFilterParsing("contrast()", "contrast(1)", "Parse contrast()");
testColorFilterParsing("grayscale()", "grayscale(1)", "Parse grayscale()");
testColorFilterParsing("hue-rotate()", "hue-rotate(0deg)", "Parse hue-rotate()");
testColorFilterParsing("invert()", "invert(1)", "Parse invert");
testColorFilterParsing("opacity()", "opacity(1)", "Parse opacity()");
testColorFilterParsing("saturate()", "saturate(1)", "Parse saturate()");
testColorFilterParsing("sepia()", "sepia(1)", "Parse sepia()");
// Functions not allowed.
Rename color-filter to -apple-color-filter and do not expose it to Web content https://bugs.webkit.org/show_bug.cgi?id=186306 <rdar://problem/39874167> Reviewed by Simon Fraser. Source/WebCore: Rename the color-filter CSS property to -apple-color-filter. * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::checkForMatchingColorFilterFunctionLists): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSGradientValue.cpp: (WebCore::CSSGradientValue::image): (WebCore::CSSGradientValue::computeStops): (WebCore::CSSGradientValue::knownToBeOpaque const): * css/CSSProperties.json: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * page/animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc): (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): * page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::checkForMatchingColorFilterFunctionLists): * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::checkForMatchingColorFilterFunctionLists): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextForeground): (WebCore::InlineTextBox::paintMarkedTextDecoration): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): (WebCore::RenderStyle::visitedDependentColorWithColorFilter const): (WebCore::RenderStyle::colorByApplyingColorFilter const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableAppleColorFilter): (WebCore::RenderStyle::appleColorFilter const): (WebCore::RenderStyle::hasAppleColorFilter const): (WebCore::RenderStyle::setAppleColorFilter): (WebCore::RenderStyle::initialAppleColorFilter): (WebCore::RenderStyle::mutableColorFilter): Deleted. (WebCore::RenderStyle::colorFilter const): Deleted. (WebCore::RenderStyle::hasColorFilter const): Deleted. (WebCore::RenderStyle::setColorFilter): Deleted. (WebCore::RenderStyle::initialColorFilter): Deleted. * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Change the ColorFilter setting to no longer be exposed as an experimental feature and ensure it's turned off by default. To allow internal clients to use the -apple-color-filter property, we expose a new _colorFilterEnabled property as SPI to WKWebViewConfigurationPrivate. * Shared/WebPreferences.yaml: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetColorFilterEnabled): (WKPreferencesGetColorFilterEnabled): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _setAttachmentElementEnabled:]): (-[WKWebViewConfiguration _colorFilterEnabled]): (-[WKWebViewConfiguration _setColorFilterEnabled:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Tools: Adding an option to turn support for the -apple-color-filter property on via an HTML comment. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): LayoutTests: Update tests for color-filter to test -apple-color-filter and explicitly turn the feature on since it's disabled by default. We also update a test to not use the colorFilter accessor and setter on CSSStyleDeclaration because using an -apple- prefix will no longer expose such a getter or setter, using getPropertyValue() and setProperty() instead. * animations/resources/animation-test-helpers.js: (getPropertyValue): (comparePropertyValue): * css3/color-filters/color-filter-animation-expected.txt: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-backgrounds-borders-expected.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow-expected.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness-expected.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color-expected.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-expected.html: * css3/color-filters/color-filter-color-property-list-item-expected.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations-expected.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule-expected.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-contrast-expected.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color-expected.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list-expected.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients-expected.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale-expected.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate-expected.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-inherits-expected.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert-expected.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity-expected.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline-expected.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing-expected.txt: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate-expected.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia-expected.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow-expected.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis-expected.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow-expected.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke-expected.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg-expected.html: * css3/color-filters/svg/color-filter-inline-svg.html: Canonical link: https://commits.webkit.org/201735@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-06 22:27:20 +00:00
testColorFilterParsing("drop-shadow(110px 110px 0 blue)", "none", "drop-shadow() is not allowed in -apple-color-filter");
testColorFilterParsing("blur(10px)", "none", "blur() is not allowed in -apple-color-filter");
Add a new "color-filter" CSS property as an experimental feature https://bugs.webkit.org/show_bug.cgi?id=184940 Source/WebCore: rdar://problem/39664904 Reviewed by Jon Lee. Add a new CSS property called "color-filter" as an experimental feature (off by default). This property specifies a list of filter functions (as specified in https://drafts.fxtf.org/filter-effects/#supported-filter-functions) to CSS colors, allowing authors to modify the provided page colors, for example to improve accessibility. Filters that move pixels (i.e. blur() and drop-shadow()) are invalid in this property. Colors will be mapped through the filter functions just before paint time, and gradient stop colors will also be mapped. This patch adds support for parsing color-filter. Test: css3/color-filters/color-filter-parsing.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSProperties.json: * css/parser/CSSParser.cpp: (WebCore::CSSParserContext::CSSParserContext): (WebCore::operator==): * css/parser/CSSParserMode.h: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::isColorFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilter): * css/parser/CSSPropertyParserHelpers.h: * page/Settings.yaml: * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableColorFilter): (WebCore::RenderStyle::colorFilter const): (WebCore::RenderStyle::hasColorFilter const): (WebCore::RenderStyle::setColorFilter): (WebCore::RenderStyle::initialColorFilter): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Reviewed by Jon Lee. Add the color-filter property as an experimental feature. * Shared/WebPreferences.yaml: LayoutTests: Reviewed by Jon Lee. * css3/color-filters/color-filter-parsing-expected.txt: Added. * css3/color-filters/color-filter-parsing.html: Added. Canonical link: https://commits.webkit.org/200451@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-25 01:50:39 +00:00
// Argument canonicalization.
testColorFilterParsing("grayscale(30%)", "grayscale(0.3)", "Canonicalize grayscale() argument");
testColorFilterParsing("hue-rotate(1.2rad)", "hue-rotate(68.75493541569878deg)", "Canonicalize hue-rotate() argument");
// Negative values.
brightness() filter should default to 1, and not allow negative values https://bugs.webkit.org/show_bug.cgi?id=184937 Reviewed by Dean Jackson. Source/WebCore: Remove the special-casing for brightness() in consumeFilterFunction(), so it now follows the same logic as the other color-related filters in not allowing negative values. Removed the special-casing for brightness() in createFilterOperations() so its default value is now 1. Modified existing tests. * css/StyleResolver.cpp: (WebCore::StyleResolver::createFilterOperations): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::allowsValuesGreaterThanOne): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): LayoutTests: Added negative value tests to filter-property-parsing.html and backdropfilter-property-parsing.html, and made these tests more similar. Fixed expected computed value for brightness() to be brightness(1) in the tests. The effect-brightness* test results failed because elements with invalid brightness values now no longer create a RenderLayer. * css3/color-filters/color-filter-parsing-expected.txt: * css3/color-filters/color-filter-parsing.html: * css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt: * css3/filters/backdrop/backdropfilter-property-computed-style.html: * css3/filters/backdrop/backdropfilter-property-parsing-expected.txt: * css3/filters/backdrop/backdropfilter-property-parsing.html: * css3/filters/effect-brightness-expected.txt: * css3/filters/filter-property-computed-style-expected.txt: * css3/filters/filter-property-computed-style.html: * css3/filters/filter-property-parsing-expected.txt: * css3/filters/filter-property-parsing.html: * css3/filters/unprefixed-expected.txt: * css3/filters/unprefixed.html: * fast/filter-image/parse-filter-image-expected.txt: * fast/filter-image/parse-filter-image.html: * platform/mac/css3/filters/effect-brightness-clamping-expected.txt: Canonical link: https://commits.webkit.org/200502@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-25 23:24:47 +00:00
testColorFilterParsing("brightness(-0.4)", "none", "Negative value for brightness() is invalid");
Add a new "color-filter" CSS property as an experimental feature https://bugs.webkit.org/show_bug.cgi?id=184940 Source/WebCore: rdar://problem/39664904 Reviewed by Jon Lee. Add a new CSS property called "color-filter" as an experimental feature (off by default). This property specifies a list of filter functions (as specified in https://drafts.fxtf.org/filter-effects/#supported-filter-functions) to CSS colors, allowing authors to modify the provided page colors, for example to improve accessibility. Filters that move pixels (i.e. blur() and drop-shadow()) are invalid in this property. Colors will be mapped through the filter functions just before paint time, and gradient stop colors will also be mapped. This patch adds support for parsing color-filter. Test: css3/color-filters/color-filter-parsing.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSProperties.json: * css/parser/CSSParser.cpp: (WebCore::CSSParserContext::CSSParserContext): (WebCore::operator==): * css/parser/CSSParserMode.h: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::isColorFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilter): * css/parser/CSSPropertyParserHelpers.h: * page/Settings.yaml: * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableColorFilter): (WebCore::RenderStyle::colorFilter const): (WebCore::RenderStyle::hasColorFilter const): (WebCore::RenderStyle::setColorFilter): (WebCore::RenderStyle::initialColorFilter): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Reviewed by Jon Lee. Add the color-filter property as an experimental feature. * Shared/WebPreferences.yaml: LayoutTests: Reviewed by Jon Lee. * css3/color-filters/color-filter-parsing-expected.txt: Added. * css3/color-filters/color-filter-parsing.html: Added. Canonical link: https://commits.webkit.org/200451@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-25 01:50:39 +00:00
testColorFilterParsing("contrast(-0.6)", "none", "Negative value for contrast() is invalid");
testColorFilterParsing("grayscale(-0.)", "none", "Negative value for grayscale() is invalid");
testColorFilterParsing("hue-rotate(-20deg)", "hue-rotate(-20deg)", "Negative value allowed for hue-rotate()");
testColorFilterParsing("invert(-0.6)", "none", "Negative value for invert() is invalid");
testColorFilterParsing("opacity(-0.5)", "none", "Negative value for opacity() is invalid");
testColorFilterParsing("saturate(-0.2)", "none", "Negative value for saturate() is invalid");
testColorFilterParsing("sepia(-0.5)", "none", "Negative value for sepia() is invalid");
// Values > 1 or 100%
testColorFilterParsing("brightness(2.4)", "brightness(2.4)", "brightness(): values of amount over 100% are allowed, providing brighter results");
testColorFilterParsing("contrast(3.6)", "contrast(3.6)", "contrast(): values of amount over 100% are allowed, providing results with more contrast");
testColorFilterParsing("grayscale(120%)", "grayscale(1)", "Values of amount over 100% are allowed but UAs must clamp the values to 1");
testColorFilterParsing("hue-rotate(740deg)", "hue-rotate(740deg)", "hue-rotate(): implementations must not normalize this value in order to allow animations beyond 360deg");
testColorFilterParsing("invert(2.3)", "invert(1)", "invert(): values of amount over 100% are allowed but UAs must clamp the values to 1");
testColorFilterParsing("opacity(12.5)", "opacity(1)", "opacity(): values of amount over 100% are allowed but UAs must clamp the values to 1");
testColorFilterParsing("saturate(200%)", "saturate(2)", "saturate(): values of amount over 100% are allowed, providing super-saturated results");
testColorFilterParsing("sepia(5.3)", "sepia(1)", "sepia(): values of amount over 100% are allowed but UAs must clamp the values to 1");
// Function lists.
testColorFilterParsing("grayscale(50%) hue-rotate(45deg) opacity(0.5)", "grayscale(0.5) hue-rotate(45deg) opacity(0.5)", "Parse filter list");
testColorFilterParsing("grayscale(50%) blur(10px) opacity(0.5)", "none", "Filter list with blur is invalid");
Add color filter for transforming colors in Dark Mode https://bugs.webkit.org/show_bug.cgi?id=187717 Source/WebCore: rdar://problem/41146650 Reviewed by Dean Jackson. Add a new filter function for use in -apple-color-filter for transforming colors when in Dark Mode. The filter is called apple-invert-lightness(), and takes no parameters. It's based on a lightness invert in HSL space, with some adjustments to improve the contrast of some colors on dark backgrounds, so does a much better job that using invert() with hue-rotate(). Test: css3/color-filters/color-filter-apple-invert-lightness.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForFilter): * css/CSSValueKeywords.in: * css/StyleResolver.cpp: (WebCore::filterOperationForType): (WebCore::StyleResolver::createFilterOperations): * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeFilterImage): (WebCore::CSSPropertyParserHelpers::isPixelFilterFunction): (WebCore::CSSPropertyParserHelpers::isColorFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilter): (WebCore::CSSPropertyParserHelpers::isValidPrimitiveFilterFunction): Deleted. * css/parser/CSSPropertyParserHelpers.h: * page/FrameView.cpp: (WebCore::FrameView::paintContents): * platform/graphics/Color.cpp: * platform/graphics/ColorUtilities.cpp: (WebCore::sRGBToLinearComponents): (WebCore::linearToSRGBComponents): (WebCore::sRGBToLinearColorComponentForLuminance): (WebCore::luminance): (WebCore::sRGBToHSL): (WebCore::calcHue): (WebCore::HSLToSRGB): (WebCore::ColorMatrix::ColorMatrix): * platform/graphics/ColorUtilities.h: * platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm: (PlatformCAFilters::filterValueForOperation): (PlatformCAFilters::colorMatrixValueForFilter): * platform/graphics/filters/FEColorMatrix.cpp: * platform/graphics/filters/FilterOperation.cpp: (WebCore::InvertLightnessFilterOperation::operator== const): (WebCore::InvertLightnessFilterOperation::blend): (WebCore::InvertLightnessFilterOperation::transformColor const): (WebCore::operator<<): * platform/graphics/filters/FilterOperation.h: * rendering/FilterEffectRenderer.cpp: (WebCore::FilterEffectRenderer::build): Source/WebKit: Reviewed by Dean Jackson. * Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<FilterOperation>::encode): (IPC::decodeFilterOperation): LayoutTests: rdar://problem/41146650 Reviewed by Dean Jackson. * css3/color-filters/color-filter-apple-invert-lightness-expected.html: Added. * css3/color-filters/color-filter-apple-invert-lightness.html: Added. * css3/color-filters/color-filter-parsing-expected.txt: * css3/color-filters/color-filter-parsing.html: Canonical link: https://commits.webkit.org/202924@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-07-17 02:03:33 +00:00
// apple-invert-lightness
testColorFilterParsing("apple-invert-lightness()", "apple-invert-lightness()", "Parse apple-invert-lightness()");
testColorFilterParsing("apple-invert-lightness(0.5)", "none", "apple-invert-lightness() takes no arguments");
Add a new "color-filter" CSS property as an experimental feature https://bugs.webkit.org/show_bug.cgi?id=184940 Source/WebCore: rdar://problem/39664904 Reviewed by Jon Lee. Add a new CSS property called "color-filter" as an experimental feature (off by default). This property specifies a list of filter functions (as specified in https://drafts.fxtf.org/filter-effects/#supported-filter-functions) to CSS colors, allowing authors to modify the provided page colors, for example to improve accessibility. Filters that move pixels (i.e. blur() and drop-shadow()) are invalid in this property. Colors will be mapped through the filter functions just before paint time, and gradient stop colors will also be mapped. This patch adds support for parsing color-filter. Test: css3/color-filters/color-filter-parsing.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSProperties.json: * css/parser/CSSParser.cpp: (WebCore::CSSParserContext::CSSParserContext): (WebCore::operator==): * css/parser/CSSParserMode.h: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::isColorFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilter): * css/parser/CSSPropertyParserHelpers.h: * page/Settings.yaml: * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableColorFilter): (WebCore::RenderStyle::colorFilter const): (WebCore::RenderStyle::hasColorFilter const): (WebCore::RenderStyle::setColorFilter): (WebCore::RenderStyle::initialColorFilter): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Reviewed by Jon Lee. Add the color-filter property as an experimental feature. * Shared/WebPreferences.yaml: LayoutTests: Reviewed by Jon Lee. * css3/color-filters/color-filter-parsing-expected.txt: Added. * css3/color-filters/color-filter-parsing.html: Added. Canonical link: https://commits.webkit.org/200451@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-25 01:50:39 +00:00
</script>
Rename color-filter to -apple-color-filter and do not expose it to Web content https://bugs.webkit.org/show_bug.cgi?id=186306 <rdar://problem/39874167> Reviewed by Simon Fraser. Source/WebCore: Rename the color-filter CSS property to -apple-color-filter. * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::checkForMatchingColorFilterFunctionLists): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSGradientValue.cpp: (WebCore::CSSGradientValue::image): (WebCore::CSSGradientValue::computeStops): (WebCore::CSSGradientValue::knownToBeOpaque const): * css/CSSProperties.json: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * page/animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc): (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): * page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::checkForMatchingColorFilterFunctionLists): * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::checkForMatchingColorFilterFunctionLists): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextForeground): (WebCore::InlineTextBox::paintMarkedTextDecoration): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): (WebCore::RenderStyle::visitedDependentColorWithColorFilter const): (WebCore::RenderStyle::colorByApplyingColorFilter const): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableAppleColorFilter): (WebCore::RenderStyle::appleColorFilter const): (WebCore::RenderStyle::hasAppleColorFilter const): (WebCore::RenderStyle::setAppleColorFilter): (WebCore::RenderStyle::initialAppleColorFilter): (WebCore::RenderStyle::mutableColorFilter): Deleted. (WebCore::RenderStyle::colorFilter const): Deleted. (WebCore::RenderStyle::hasColorFilter const): Deleted. (WebCore::RenderStyle::setColorFilter): Deleted. (WebCore::RenderStyle::initialColorFilter): Deleted. * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const): * rendering/style/StyleRareInheritedData.h: Source/WebKit: Change the ColorFilter setting to no longer be exposed as an experimental feature and ensure it's turned off by default. To allow internal clients to use the -apple-color-filter property, we expose a new _colorFilterEnabled property as SPI to WKWebViewConfigurationPrivate. * Shared/WebPreferences.yaml: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetColorFilterEnabled): (WKPreferencesGetColorFilterEnabled): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _setAttachmentElementEnabled:]): (-[WKWebViewConfiguration _colorFilterEnabled]): (-[WKWebViewConfiguration _setColorFilterEnabled:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Tools: Adding an option to turn support for the -apple-color-filter property on via an HTML comment. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): LayoutTests: Update tests for color-filter to test -apple-color-filter and explicitly turn the feature on since it's disabled by default. We also update a test to not use the colorFilter accessor and setter on CSSStyleDeclaration because using an -apple- prefix will no longer expose such a getter or setter, using getPropertyValue() and setProperty() instead. * animations/resources/animation-test-helpers.js: (getPropertyValue): (comparePropertyValue): * css3/color-filters/color-filter-animation-expected.txt: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-backgrounds-borders-expected.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow-expected.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness-expected.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color-expected.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-expected.html: * css3/color-filters/color-filter-color-property-list-item-expected.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations-expected.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule-expected.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-contrast-expected.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color-expected.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list-expected.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients-expected.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale-expected.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate-expected.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-inherits-expected.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert-expected.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity-expected.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline-expected.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing-expected.txt: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate-expected.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia-expected.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow-expected.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis-expected.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow-expected.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke-expected.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg-expected.html: * css3/color-filters/svg/color-filter-inline-svg.html: Canonical link: https://commits.webkit.org/201735@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-06 22:27:20 +00:00
</body>
Add color filter for transforming colors in Dark Mode https://bugs.webkit.org/show_bug.cgi?id=187717 Source/WebCore: rdar://problem/41146650 Reviewed by Dean Jackson. Add a new filter function for use in -apple-color-filter for transforming colors when in Dark Mode. The filter is called apple-invert-lightness(), and takes no parameters. It's based on a lightness invert in HSL space, with some adjustments to improve the contrast of some colors on dark backgrounds, so does a much better job that using invert() with hue-rotate(). Test: css3/color-filters/color-filter-apple-invert-lightness.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForFilter): * css/CSSValueKeywords.in: * css/StyleResolver.cpp: (WebCore::filterOperationForType): (WebCore::StyleResolver::createFilterOperations): * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeFilterImage): (WebCore::CSSPropertyParserHelpers::isPixelFilterFunction): (WebCore::CSSPropertyParserHelpers::isColorFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilterFunction): (WebCore::CSSPropertyParserHelpers::consumeFilter): (WebCore::CSSPropertyParserHelpers::isValidPrimitiveFilterFunction): Deleted. * css/parser/CSSPropertyParserHelpers.h: * page/FrameView.cpp: (WebCore::FrameView::paintContents): * platform/graphics/Color.cpp: * platform/graphics/ColorUtilities.cpp: (WebCore::sRGBToLinearComponents): (WebCore::linearToSRGBComponents): (WebCore::sRGBToLinearColorComponentForLuminance): (WebCore::luminance): (WebCore::sRGBToHSL): (WebCore::calcHue): (WebCore::HSLToSRGB): (WebCore::ColorMatrix::ColorMatrix): * platform/graphics/ColorUtilities.h: * platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm: (PlatformCAFilters::filterValueForOperation): (PlatformCAFilters::colorMatrixValueForFilter): * platform/graphics/filters/FEColorMatrix.cpp: * platform/graphics/filters/FilterOperation.cpp: (WebCore::InvertLightnessFilterOperation::operator== const): (WebCore::InvertLightnessFilterOperation::blend): (WebCore::InvertLightnessFilterOperation::transformColor const): (WebCore::operator<<): * platform/graphics/filters/FilterOperation.h: * rendering/FilterEffectRenderer.cpp: (WebCore::FilterEffectRenderer::build): Source/WebKit: Reviewed by Dean Jackson. * Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<FilterOperation>::encode): (IPC::decodeFilterOperation): LayoutTests: rdar://problem/41146650 Reviewed by Dean Jackson. * css3/color-filters/color-filter-apple-invert-lightness-expected.html: Added. * css3/color-filters/color-filter-apple-invert-lightness.html: Added. * css3/color-filters/color-filter-parsing-expected.txt: * css3/color-filters/color-filter-parsing.html: Canonical link: https://commits.webkit.org/202924@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-07-17 02:03:33 +00:00
</html>