haikuwebkit/Source/WebCore/features.json

1571 lines
60 KiB
JSON
Raw Permalink Normal View History

{
"specification": [
{
"name": "Application Cache",
"status": {
"status": "Deprecated"
},
"url": "https://html.spec.whatwg.org/multipage/offline.html",
"webkit-url": "https://webkit.org/b/181764",
"keywords": ["appcache", "application cache"],
"category": "webapps",
"description": "Resources are saved for offline use using a manifest."
},
[Clipboard API] Introduce bindings for the async Clipboard API https://bugs.webkit.org/show_bug.cgi?id=202622 <rdar://problem/56038126> Reviewed by Ryosuke Niwa. Source/WebCore: Adds IDL for the async clipboard API (with the exception of delayed item generation interfaces, which I'll iterate on and introduce separately). See: https://w3c.github.io/clipboard-apis/#async-clipboard-api for more information. Tests: editing/async-clipboard/clipboard-interfaces.html editing/async-clipboard/clipboard-wrapper-stays-alive.html * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Modules/async-clipboard/Clipboard.cpp: (WebCore::Clipboard::create): (WebCore::Clipboard::Clipboard): (WebCore::Clipboard::navigator): (WebCore::Clipboard::eventTargetInterface const): (WebCore::Clipboard::scriptExecutionContext const): (WebCore::Clipboard::readText): (WebCore::Clipboard::writeText): (WebCore::Clipboard::read): (WebCore::Clipboard::write): Stub out these API calls for now by immediately rejecting the given promise. * Modules/async-clipboard/Clipboard.h: * Modules/async-clipboard/Clipboard.idl: * Modules/async-clipboard/ClipboardItem.cpp: (WebCore::ClipboardItem::ClipboardItem): (WebCore::ClipboardItem::create): (WebCore::ClipboardItem::types const): (WebCore::ClipboardItem::getType): Stub out these API calls for now by immediately rejecting the given promise. (WebCore::navigator): * Modules/async-clipboard/ClipboardItem.h: (WebCore::ClipboardItem::presentationStyle const): * Modules/async-clipboard/ClipboardItem.idl: * Modules/async-clipboard/NavigatorClipboard.cpp: (WebCore::NavigatorClipboard::NavigatorClipboard): (WebCore::NavigatorClipboard::clipboard): (WebCore::NavigatorClipboard::from): (WebCore::NavigatorClipboard::supplementName): * Modules/async-clipboard/NavigatorClipboard.h: * Modules/async-clipboard/NavigatorClipboard.idl: * Modules/mediastream/MediaStreamTrack.cpp: * Modules/mediastream/RTCDTMFSender.cpp: * Modules/mediastream/RTCRtpSender.cpp: * Modules/webgpu/WebGPUPipeline.h: More unified sources-related build fixes. * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/WebCoreBuiltinNames.h: * dom/DeviceOrientationOrMotionEvent.cpp: Unified sources-related build fix. * dom/EventTargetFactory.in: * features.json: Add Async Clipboard API as a feature in development on webkit.org. * page/Settings.yaml: Source/WebKit: Adds a new experimental feature flag. See WebCore ChangeLog for more details. * Shared/WebPreferences.yaml: LayoutTests: * editing/async-clipboard/clipboard-interfaces-expected.txt: Added. * editing/async-clipboard/clipboard-interfaces.html: Added. Add a new test to sanity check the new clipboard API interfaces and interface extensions. * editing/async-clipboard/clipboard-wrapper-stays-alive-expected.txt: Added. * editing/async-clipboard/clipboard-wrapper-stays-alive.html: Added. Add a new test to make sure that the clipboard wrapper stays alive between GC passes, even when the clipboard's navigator is kept alive, independently of its window object. * fast/dom/navigator-detached-no-crash-expected.txt: * platform/ios-wk1/TestExpectations: * platform/mac-highsierra/fast/dom/navigator-detached-no-crash-expected.txt: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt: * platform/mac/fast/dom/navigator-detached-no-crash-expected.txt: * platform/win/fast/dom/navigator-detached-no-crash-expected.txt: * platform/wincairo/fast/dom/navigator-detached-no-crash-expected.txt: Update an existing layout test to include "navigator.clipboard". Canonical link: https://commits.webkit.org/216145@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-08 14:50:27 +00:00
{
"name": "Async Clipboard API",
"status": {
"status": "Supported"
[Clipboard API] Introduce bindings for the async Clipboard API https://bugs.webkit.org/show_bug.cgi?id=202622 <rdar://problem/56038126> Reviewed by Ryosuke Niwa. Source/WebCore: Adds IDL for the async clipboard API (with the exception of delayed item generation interfaces, which I'll iterate on and introduce separately). See: https://w3c.github.io/clipboard-apis/#async-clipboard-api for more information. Tests: editing/async-clipboard/clipboard-interfaces.html editing/async-clipboard/clipboard-wrapper-stays-alive.html * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Modules/async-clipboard/Clipboard.cpp: (WebCore::Clipboard::create): (WebCore::Clipboard::Clipboard): (WebCore::Clipboard::navigator): (WebCore::Clipboard::eventTargetInterface const): (WebCore::Clipboard::scriptExecutionContext const): (WebCore::Clipboard::readText): (WebCore::Clipboard::writeText): (WebCore::Clipboard::read): (WebCore::Clipboard::write): Stub out these API calls for now by immediately rejecting the given promise. * Modules/async-clipboard/Clipboard.h: * Modules/async-clipboard/Clipboard.idl: * Modules/async-clipboard/ClipboardItem.cpp: (WebCore::ClipboardItem::ClipboardItem): (WebCore::ClipboardItem::create): (WebCore::ClipboardItem::types const): (WebCore::ClipboardItem::getType): Stub out these API calls for now by immediately rejecting the given promise. (WebCore::navigator): * Modules/async-clipboard/ClipboardItem.h: (WebCore::ClipboardItem::presentationStyle const): * Modules/async-clipboard/ClipboardItem.idl: * Modules/async-clipboard/NavigatorClipboard.cpp: (WebCore::NavigatorClipboard::NavigatorClipboard): (WebCore::NavigatorClipboard::clipboard): (WebCore::NavigatorClipboard::from): (WebCore::NavigatorClipboard::supplementName): * Modules/async-clipboard/NavigatorClipboard.h: * Modules/async-clipboard/NavigatorClipboard.idl: * Modules/mediastream/MediaStreamTrack.cpp: * Modules/mediastream/RTCDTMFSender.cpp: * Modules/mediastream/RTCRtpSender.cpp: * Modules/webgpu/WebGPUPipeline.h: More unified sources-related build fixes. * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/WebCoreBuiltinNames.h: * dom/DeviceOrientationOrMotionEvent.cpp: Unified sources-related build fix. * dom/EventTargetFactory.in: * features.json: Add Async Clipboard API as a feature in development on webkit.org. * page/Settings.yaml: Source/WebKit: Adds a new experimental feature flag. See WebCore ChangeLog for more details. * Shared/WebPreferences.yaml: LayoutTests: * editing/async-clipboard/clipboard-interfaces-expected.txt: Added. * editing/async-clipboard/clipboard-interfaces.html: Added. Add a new test to sanity check the new clipboard API interfaces and interface extensions. * editing/async-clipboard/clipboard-wrapper-stays-alive-expected.txt: Added. * editing/async-clipboard/clipboard-wrapper-stays-alive.html: Added. Add a new test to make sure that the clipboard wrapper stays alive between GC passes, even when the clipboard's navigator is kept alive, independently of its window object. * fast/dom/navigator-detached-no-crash-expected.txt: * platform/ios-wk1/TestExpectations: * platform/mac-highsierra/fast/dom/navigator-detached-no-crash-expected.txt: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt: * platform/mac/fast/dom/navigator-detached-no-crash-expected.txt: * platform/win/fast/dom/navigator-detached-no-crash-expected.txt: * platform/wincairo/fast/dom/navigator-detached-no-crash-expected.txt: Update an existing layout test to include "navigator.clipboard". Canonical link: https://commits.webkit.org/216145@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-08 14:50:27 +00:00
},
"url": "https://www.w3.org/TR/clipboard-apis/#async-clipboard-api",
"category": "webapps",
"description": "An API that allows reading from and writing to the system clipboard.",
"contact": {
"name": "Wenson Hsieh",
"email": "wenson_hsieh@apple.com",
"twitter": "@wensonhsieh"
}
},
{
"name": "Battery Status API",
"status": {
"status": "Not Considering"
},
"url": "https://w3c.github.io/battery/",
"webkit-url": "https://webkit.org/b/62698",
"keywords": ["battery", "privacy"],
"category": "webapps",
"description": "An API that provides information about the battery status of the hosting device."
},
{
"name": "Beacon API",
"status": {
"status": "Supported"
},
"url": "https://www.w3.org/TR/beacon/",
"webkit-url": "https://webkit.org/b/147885",
"keywords": ["beacon","analytics","diagnostics","request"],
"category": "webapps",
"description": "Schedules asynchronous and non-blocking data delivery while the current page is unloading to mitigate resource contention for other time-critical requests.",
"contact": {
"name": "Chris Dumez",
"email": "cdumez@apple.com",
"twitter": "@chris_dumez"
}
},
{
"name": "CSS Animation Worklet API",
"status": {
"status": "Under Consideration"
},
"url": "https://drafts.css-houdini.org/css-animationworklet/",
"keywords": ["css", "houdini", "animation", "worklet"],
"category": "css"
},
{
"name": "CSS Aspect ratio property",
"status": {
"status": "Supported"
},
"url": "https://drafts.csswg.org/css-sizing-4/#aspect-ratio",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=47738",
"keywords": ["css", "css-sizing", "aspect-ratio"],
"category": "css"
},
{
"name": "CSS Color Level 4",
"status": {
"status": "Supported"
},
"url": "https://drafts.csswg.org/css-color/",
"keywords": ["css color", "color"],
"category": "css",
"description": "Allows content to specify colors outside of the sRGB Color Space."
},
{
"name": "CSS Containment Level 1",
"status": {
"status": "In Development",
"enabled-by-default": false
},
"url": "https://www.w3.org/TR/css-contain-1/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=172026",
"keywords": ["css containment", "contain", "content", "layout", "size", "paint"],
"category": "css",
"description": "Allows content to specify that an elements subtree is independent of the rest of the page to allow for optimizations by the browser."
},
{
"name": "CSS Custom Highlight API Module Level 1",
"status": {
"status": "In Development",
"enabled-by-default": false
},
"url": "https://drafts.csswg.org/css-highlight-api-1/",
"keywords": ["css pseudo-element", "highlight"],
"category": "css",
"description": "A mechanism for styling arbitrary ranges of a document identified by script."
},
{
"name": "CSS Font Display",
"status": {
"status": "Supported",
"enabled-by-default": false
},
"url": "https://drafts.csswg.org/css-fonts-4/#font-display-desc",
"keywords": ["css font display", "font display", "font-display", "css font rendering controls", "font rendering controls"],
"category": "css",
"description": "Allows content to specify what is shown during font loading.",
"contact": {
"name": "Myles C. Maxfield",
"twitter": "@Litherum",
"email": "mmaxfield@apple.com"
}
},
{
"name": "CSS Fonts Level 4",
"status": {
"status": "Partially Supported"
},
"url": "https://drafts.csswg.org/css-fonts-4/",
"keywords": ["css fonts", "fonts"],
"category": "css",
"contact": {
"name": "Myles C. Maxfield",
"twitter": "@Litherum",
"email": "mmaxfield@apple.com"
}
},
{
"name": "CSS Grid Layout Level 1",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/css-grid/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=60731",
"keywords": ["css grid layout", "css grid", "grid"],
"category": "css",
"contact": {
"name": "Sergio Villar Senin",
"email": "svillar@igalia.com"
}
},
{
"name": "CSS Image Values and Replaced Content Module Level 4",
"url": "https://www.w3.org/TR/css4-images/",
"keywords": ["css image values","css","image values"],
"category": "css"
},
{
"name": "CSS Inline Layout Module Level 3",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/css-inline/",
"keywords": ["css inline layout", "css inline", "inline"],
"category": "css"
},
{
"name": "CSS Layout API Level 1",
"status": {
"status": "Under Consideration"
},
"url": "https://drafts.css-houdini.org/css-layout-api/",
"keywords": ["css", "houdini", "layout", "worklet"],
"category": "css"
},
{
"name": "CSS Logical Properties and Values Level 1",
"status": {
"status": "In Development"
},
"url": "https://drafts.csswg.org/css-logical/",
"keywords": ["css", "css-logical", "flow-relative", "logical"],
"category": "css",
"contact": {
"name": "Oriol Brufau",
"email": "obrufau@igalia.com"
}
},
{
"name": "CSS Masking Level 1",
"url": "https://drafts.fxtf.org/css-masking-1/",
"status": {
"status": "In Development"
},
"keywords": ["css masking", "clip-path", "clipping", "masking", "mask"],
"category": "css",
"contact": {
"name": "Dirk Schulze",
"twitter": "@dirkschulze",
"email": "dschulze@adobe.com"
}
},
{
"name": "CSS Media Queries Level 4",
"url": "http://dev.w3.org/csswg/mediaqueries-4/",
"keywords": ["css media queries", "media queries"],
"category": "css"
},
{
"name": "CSS Painting API Level 1",
"status": {
"status": "In Development"
},
Implement feature flag and bindings for CSS Painting API https://bugs.webkit.org/show_bug.cgi?id=190237 Patch by Justin Michaud <justin_michaud@apple.com> on 2018-10-16 Reviewed by Ryosuke Niwa. Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: Add feature flag and bindings for CSS Painting API. This adds a new property, CSS.paintWorkletGlobalScope, which will be a temporary way to access the paint worklet global scope untill CSS.paintWorklet is implemented. There are a few small changes, mostly adding headers and "using" declarations, that were required to get this to build. This is probably related to unified sources. Tests: fast/css-custom-paint/basic.html fast/css-custom-paint/registerPaintBindings.html * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSCSSPaintWorkletGlobalScopeCustom.cpp: Added. (WebCore::throwInvalidModificationError): (WebCore::JSCSSPaintWorkletGlobalScope::registerPaint): * bindings/js/JSEventListener.cpp: * bindings/js/JSRemoteDOMWindowCustom.cpp: * bindings/js/JSWebMetalRenderPassAttachmentDescriptorCustom.cpp: * bindings/js/WebCoreBuiltinNames.h: * css/CSSPaintCallback.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp. (WebCore::CSSPaintCallback::~CSSPaintCallback): * css/CSSPaintCallback.idl: Added. * css/CSSPaintWorkletGlobalScope.cpp: Copied from Source/WebCore/css/MediaQueryParserContext.cpp. (WebCore::CSSPaintWorkletGlobalScope::create): (WebCore::CSSPaintWorkletGlobalScope::CSSPaintWorkletGlobalScope): (WebCore::CSSPaintWorkletGlobalScope::devicePixelRatio): (WebCore::CSSPaintWorkletGlobalScope::addRegisteredPaint): * css/CSSPaintWorkletGlobalScope.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp. (WebCore::CSSPaintWorkletGlobalScope::paintDefinitionMap): * css/CSSPaintWorkletGlobalScope.idl: Added. * css/DOMCSSPaintWorklet.cpp: Copied from Source/WebCore/css/MediaQueryParserContext.cpp. (WebCore::DOMCSSPaintWorklet::ensurePaintWorkletGlobalScope): (WebCore::DOMCSSPaintWorklet::from): (WebCore::DOMCSSPaintWorklet::supplementName): * css/DOMCSSPaintWorklet.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp. * css/DOMCSSPaintWorklet.idl: Added. * css/MediaQueryParserContext.cpp: * css/StyleBuilder.h: * dom/Document.cpp: (WebCore::Document::ensureCSSPaintWorkletGlobalScope): * dom/Document.h: * features.json: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setCSSPaintingAPIEnabled): (WebCore::RuntimeEnabledFeatures::cssPaintingAPIEnabled const): Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferences.yaml: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Tools: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: LayoutTests: Add basic tests for the CSS Painting API registerPaint function, and test the custom bindings. * fast/css-custom-paint/basic-expected.txt: Added. * fast/css-custom-paint/basic.html: Added. * fast/css-custom-paint/registerPaintBindings-expected.txt: Added. * fast/css-custom-paint/registerPaintBindings.html: Added. * platform/ios-wk1/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/win/TestExpectations: Canonical link: https://commits.webkit.org/205564@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-16 18:04:43 +00:00
"url": "https://drafts.css-houdini.org/css-paint-api-1/",
"keywords": ["css", "houdini", "worklet"],
Implement feature flag and bindings for CSS Painting API https://bugs.webkit.org/show_bug.cgi?id=190237 Patch by Justin Michaud <justin_michaud@apple.com> on 2018-10-16 Reviewed by Ryosuke Niwa. Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: Add feature flag and bindings for CSS Painting API. This adds a new property, CSS.paintWorkletGlobalScope, which will be a temporary way to access the paint worklet global scope untill CSS.paintWorklet is implemented. There are a few small changes, mostly adding headers and "using" declarations, that were required to get this to build. This is probably related to unified sources. Tests: fast/css-custom-paint/basic.html fast/css-custom-paint/registerPaintBindings.html * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSCSSPaintWorkletGlobalScopeCustom.cpp: Added. (WebCore::throwInvalidModificationError): (WebCore::JSCSSPaintWorkletGlobalScope::registerPaint): * bindings/js/JSEventListener.cpp: * bindings/js/JSRemoteDOMWindowCustom.cpp: * bindings/js/JSWebMetalRenderPassAttachmentDescriptorCustom.cpp: * bindings/js/WebCoreBuiltinNames.h: * css/CSSPaintCallback.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp. (WebCore::CSSPaintCallback::~CSSPaintCallback): * css/CSSPaintCallback.idl: Added. * css/CSSPaintWorkletGlobalScope.cpp: Copied from Source/WebCore/css/MediaQueryParserContext.cpp. (WebCore::CSSPaintWorkletGlobalScope::create): (WebCore::CSSPaintWorkletGlobalScope::CSSPaintWorkletGlobalScope): (WebCore::CSSPaintWorkletGlobalScope::devicePixelRatio): (WebCore::CSSPaintWorkletGlobalScope::addRegisteredPaint): * css/CSSPaintWorkletGlobalScope.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp. (WebCore::CSSPaintWorkletGlobalScope::paintDefinitionMap): * css/CSSPaintWorkletGlobalScope.idl: Added. * css/DOMCSSPaintWorklet.cpp: Copied from Source/WebCore/css/MediaQueryParserContext.cpp. (WebCore::DOMCSSPaintWorklet::ensurePaintWorkletGlobalScope): (WebCore::DOMCSSPaintWorklet::from): (WebCore::DOMCSSPaintWorklet::supplementName): * css/DOMCSSPaintWorklet.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp. * css/DOMCSSPaintWorklet.idl: Added. * css/MediaQueryParserContext.cpp: * css/StyleBuilder.h: * dom/Document.cpp: (WebCore::Document::ensureCSSPaintWorkletGlobalScope): * dom/Document.h: * features.json: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setCSSPaintingAPIEnabled): (WebCore::RuntimeEnabledFeatures::cssPaintingAPIEnabled const): Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferences.yaml: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Tools: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: LayoutTests: Add basic tests for the CSS Painting API registerPaint function, and test the custom bindings. * fast/css-custom-paint/basic-expected.txt: Added. * fast/css-custom-paint/basic.html: Added. * fast/css-custom-paint/registerPaintBindings-expected.txt: Added. * fast/css-custom-paint/registerPaintBindings.html: Added. * platform/ios-wk1/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/win/TestExpectations: Canonical link: https://commits.webkit.org/205564@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-16 18:04:43 +00:00
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=190217",
"category": "css"
},
{
"name": "CSS Positioned Layout Module Level 3",
"url": "http://dev.w3.org/csswg/css-position/",
"keywords": ["css positioning"],
"category": "css"
},
{
"name": "CSS Properties and Values API Level 1",
"status": {
"status": "In Development"
},
"url": "https://drafts.css-houdini.org/css-properties-values-api/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=189692",
"keywords": ["css", "houdini", "custom properties"],
"description": "An API for registering new CSS properties. Properties registered using this API are provided with a parse syntax that defines a type, inheritance behaviour, and an initial value.",
"category": "css"
},
{
"name": "CSS Rhythmic Sizing",
"status": {
"status": "Under Consideration",
"enabled-by-default": false
},
"url": "https://drafts.csswg.org/css-rhythm/",
"keywords": ["css rhythmic sizing", "rhythmic sizing", "step sizing"],
"category": "css",
"description": "Allows block content to set a simple grid to which lines will adhere.",
"contact": {
"name": "Myles C. Maxfield",
"twitter": "@Litherum",
"email": "mmaxfield@apple.com"
}
},
{
"name": "CSS Scroll Snap Points Module Level 1",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/css-snappoints/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=134283",
"keywords": ["css scroll snap points", "scroll snap", "snap points"],
"category": "css",
"contact": {
"name": "Brent Fulgham",
"email": "bfulgham@apple.com"
}
},
{
"name": "CSS Selectors Level 4",
"url": "http://dev.w3.org/csswg/selectors-4/",
"keywords": ["css selectors", "selectors"],
"category": "css",
"contact": {
"name": "Benjamin Poulain",
"twitter": "@awfulben",
"email": "benjamin@webkit.org"
}
},
{
"name": "CSS Shadow Parts",
"status": {
"status": "Supported"
},
"url": "https://drafts.csswg.org/css-shadow-parts/",
"webkit-url": "https://webkit.org/b/149443",
"keywords": ["css selectors", "selectors", "shadow dom", "shadow parts"],
"category": "css",
"description": "Allows web components to define and expose stylable parts",
"contact": {
"name": "Ryosuke Niwa",
"twitter": "@rniwa_dev",
"email": "rniwa@webkit.org"
}
},
{
"name": "CSS Text Decoration Level 4",
"status": {
"status": "Supported"
},
"url": "https://drafts.csswg.org/css-text-decor-4/",
"keywords": ["css text decoration", "text decoration"],
"category": "css",
"description": "Allows content to specify properties of text decorations such as underlines.",
"contact": {
"name": "Myles C. Maxfield",
"twitter": "@Litherum",
"email": "mmaxfield@apple.com"
}
},
{
"name": "CSS Typed OM Level 1",
"status": {
Implement feature flag for CSS Typed OM https://bugs.webkit.org/show_bug.cgi?id=192610 Reviewed by Ryosuke Niwa. Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: * Configurations/FeatureDefines.xcconfig: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: * css/typedom/StylePropertyMapReadOnly.h: * css/typedom/StylePropertyMapReadOnly.idl: * css/typedom/TypedOMCSSImageValue.h: * css/typedom/TypedOMCSSImageValue.idl: * css/typedom/TypedOMCSSNumericValue.h: * css/typedom/TypedOMCSSNumericValue.idl: * css/typedom/TypedOMCSSStyleValue.h: * css/typedom/TypedOMCSSStyleValue.idl: * css/typedom/TypedOMCSSUnitValue.h: * css/typedom/TypedOMCSSUnitValue.idl: * css/typedom/TypedOMCSSUnparsedValue.h: * css/typedom/TypedOMCSSUnparsedValue.idl: * features.json: * html/ImageBitmap.cpp: * html/ImageBitmap.h: * html/canvas/CanvasDrawImage.idl: * html/canvas/CanvasFillStrokeStyles.idl: * html/canvas/CanvasRenderingContext2DBase.cpp: * html/canvas/CanvasRenderingContext2DBase.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::buildAction): * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setCSSTypedOMEnabled): (WebCore::RuntimeEnabledFeatures::cssTypedOMEnabled const): * page/WindowOrWorkerGlobalScope.idl: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferences.yaml: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Tools: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/207188@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-12-12 05:54:17 +00:00
"status": "Under Development"
},
"url": "https://drafts.css-houdini.org/css-typed-om/",
"keywords": ["css", "houdini"],
"category": "css",
"description": "Exposes CSS values as typed JavaScript objects to facilitate their performant manipulation."
},
{
"name": "CSS Variables",
"status": {
"status": "Supported"
},
"url": "https://www.w3.org/TR/css-variables/",
"keywords": ["css variable", "css custom property"],
"category": "css",
"description": "Allows developers to define reusable custom property values.",
"contact": {
"name": "Jon Davis",
"twitter": "@jonathandavis",
"email": "web-evangelist@apple.com"
}
},
{
"name": "CSS Will Change",
"status": {
"status": "Supported"
},
"url": "https://drafts.csswg.org/css-will-change/",
"keywords": ["css willchange", "css will-change"],
"category": "css",
"contact": {
"name": "Simon Fraser",
"twitter": "@smfr"
}
},
{
"name": "Client-Side Storage Partitioning",
"status": {
"status": "Supported"
},
"url": "https://github.com/privacycg/storage-partitioning",
"keywords": ["privacy"],
"category": "privacy",
"description": "Preserve privacy and security of users by keying user-agent state on more than a single origin.",
"contact": {
"name": "John Wilander",
"twitter": "@johnwilander"
}
},
{
"name": "Content Security Policy Level 2",
"status": {
"status": "Supported"
},
"url": "https://w3c.github.io/webappsec-csp/2/",
"keywords": ["csp", "cross-site scripting", "xss", "injection", "header", "security"],
"category": "webapps",
"description": "A mechanism that web applications can use to mitigate content injection vulnerabilities, such as cross-site scripting (XSS). Developers can declare a CSP policy to prohibit their web application from loading content or executing scripts that have not been allowed among other capabilities.",
"contact": {
"name": "Daniel Bates",
"email": "dbates@webkit.org"
}
},
{
"name": "Content Security Policy Level 3",
"status": {
"status": "Partially Supported"
},
"url": "https://w3c.github.io/webappsec-csp/",
"keywords": ["csp", "cross-site scripting", "xss", "injection", "header", "security"],
"category": "webapps",
"contact": {
"name": "Daniel Bates",
"email": "dbates@webkit.org"
}
},
{
"name": "DOM",
"url": "https://dom.spec.whatwg.org",
"keywords": ["dom", "dom4"],
"category": "html"
},
{
"name": "DeviceOrientation Events",
"status": {
"status": "Supported"
},
"description": "DOM events that provide information about the physical orientation and motion of a hosting device.",
"url": "https://w3c.github.io/deviceorientation/spec-source-orientation.html",
"keywords": ["device orientation", "devicemotion", "acceleration", "rotation"],
"comment": "compassHeading and compassAccuracy are only available on iOS devices"
},
{
Implement TextDecoder and TextEncoder https://bugs.webkit.org/show_bug.cgi?id=163771 Reviewed by Sam Weinig. LayoutTests/imported/w3c: * web-platform-tests/encoding/api-basics-expected.txt: * web-platform-tests/encoding/api-invalid-label-expected.txt: * web-platform-tests/encoding/api-replacement-encodings-expected.txt: * web-platform-tests/encoding/api-surrogates-utf8-expected.txt: * web-platform-tests/encoding/idlharness-expected.txt: * web-platform-tests/encoding/iso-2022-jp-decoder-expected.txt: * web-platform-tests/encoding/single-byte-decoder-expected.txt: * web-platform-tests/encoding/textdecoder-byte-order-marks-expected.txt: * web-platform-tests/encoding/textdecoder-fatal-expected.txt: * web-platform-tests/encoding/textdecoder-fatal-single-byte-expected.txt: * web-platform-tests/encoding/textdecoder-fatal-streaming-expected.txt: * web-platform-tests/encoding/textdecoder-ignorebom-expected.txt: * web-platform-tests/encoding/textdecoder-labels-expected.txt: * web-platform-tests/encoding/textdecoder-streaming-expected.txt: * web-platform-tests/encoding/textdecoder-utf16-surrogates-expected.txt: * web-platform-tests/encoding/textencoder-constructor-non-utf-expected.txt: * web-platform-tests/encoding/textencoder-utf16-surrogates-expected.txt: Source/WebCore: This API is already implemented by Chrome and Firefox as specified in https://encoding.spec.whatwg.org/ Covered by newly passing web platform tests. * features.json: * CMakeLists.txt: * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * dom/TextDecoder.cpp: Added. (WebCore::isEncodingWhitespace): (WebCore::TextDecoder::create): (WebCore::TextDecoder::TextDecoder): (WebCore::TextDecoder::ignoreBOMIfNecessary): (WebCore::TextDecoder::prependBOMIfNecessary): (WebCore::codeUnitByteSize): (WebCore::TextDecoder::decode): (WebCore::TextDecoder::encoding): * dom/TextDecoder.h: Added. (WebCore::TextDecoder::fatal): (WebCore::TextDecoder::ignoreBOM): * dom/TextDecoder.idl: Added. * dom/TextEncoder.cpp: Added. (WebCore::TextEncoder::TextEncoder): (WebCore::TextEncoder::encoding): (WebCore::TextEncoder::encode): * dom/TextEncoder.h: Added. (WebCore::TextEncoder::create): * dom/TextEncoder.idl: Added. LayoutTests: * fast/encoding/utf-8-non-ascii-expected.txt: Added. * fast/encoding/utf-8-non-ascii.html: Added. * js/dom/global-constructors-attributes-dedicated-worker-expected.txt: * platform/efl/js/dom/global-constructors-attributes-expected.txt: * platform/gtk/js/dom/global-constructors-attributes-expected.txt: * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt: * platform/mac/js/dom/global-constructors-attributes-expected.txt: * platform/win/js/dom/global-constructors-attributes-expected.txt: Canonical link: https://commits.webkit.org/182583@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-18 02:11:05 +00:00
"name": "Encoding",
"status": {
"status": "Supported"
Implement TextDecoder and TextEncoder https://bugs.webkit.org/show_bug.cgi?id=163771 Reviewed by Sam Weinig. LayoutTests/imported/w3c: * web-platform-tests/encoding/api-basics-expected.txt: * web-platform-tests/encoding/api-invalid-label-expected.txt: * web-platform-tests/encoding/api-replacement-encodings-expected.txt: * web-platform-tests/encoding/api-surrogates-utf8-expected.txt: * web-platform-tests/encoding/idlharness-expected.txt: * web-platform-tests/encoding/iso-2022-jp-decoder-expected.txt: * web-platform-tests/encoding/single-byte-decoder-expected.txt: * web-platform-tests/encoding/textdecoder-byte-order-marks-expected.txt: * web-platform-tests/encoding/textdecoder-fatal-expected.txt: * web-platform-tests/encoding/textdecoder-fatal-single-byte-expected.txt: * web-platform-tests/encoding/textdecoder-fatal-streaming-expected.txt: * web-platform-tests/encoding/textdecoder-ignorebom-expected.txt: * web-platform-tests/encoding/textdecoder-labels-expected.txt: * web-platform-tests/encoding/textdecoder-streaming-expected.txt: * web-platform-tests/encoding/textdecoder-utf16-surrogates-expected.txt: * web-platform-tests/encoding/textencoder-constructor-non-utf-expected.txt: * web-platform-tests/encoding/textencoder-utf16-surrogates-expected.txt: Source/WebCore: This API is already implemented by Chrome and Firefox as specified in https://encoding.spec.whatwg.org/ Covered by newly passing web platform tests. * features.json: * CMakeLists.txt: * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * dom/TextDecoder.cpp: Added. (WebCore::isEncodingWhitespace): (WebCore::TextDecoder::create): (WebCore::TextDecoder::TextDecoder): (WebCore::TextDecoder::ignoreBOMIfNecessary): (WebCore::TextDecoder::prependBOMIfNecessary): (WebCore::codeUnitByteSize): (WebCore::TextDecoder::decode): (WebCore::TextDecoder::encoding): * dom/TextDecoder.h: Added. (WebCore::TextDecoder::fatal): (WebCore::TextDecoder::ignoreBOM): * dom/TextDecoder.idl: Added. * dom/TextEncoder.cpp: Added. (WebCore::TextEncoder::TextEncoder): (WebCore::TextEncoder::encoding): (WebCore::TextEncoder::encode): * dom/TextEncoder.h: Added. (WebCore::TextEncoder::create): * dom/TextEncoder.idl: Added. LayoutTests: * fast/encoding/utf-8-non-ascii-expected.txt: Added. * fast/encoding/utf-8-non-ascii.html: Added. * js/dom/global-constructors-attributes-dedicated-worker-expected.txt: * platform/efl/js/dom/global-constructors-attributes-expected.txt: * platform/gtk/js/dom/global-constructors-attributes-expected.txt: * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt: * platform/mac/js/dom/global-constructors-attributes-expected.txt: * platform/win/js/dom/global-constructors-attributes-expected.txt: Canonical link: https://commits.webkit.org/182583@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-18 02:11:05 +00:00
},
"url": "https://encoding.spec.whatwg.org",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=163771",
"keywords": ["encoding", "TextEncoder", "TextDecoder", "request", "response", "header"],
"category": "webapps",
"description": "TextEncoder and TextDecoder APIs for converting text from different character sets.",
"contact": {
"name": "Alex Christensen",
"twitter": "@alexfchr",
"email": "achristensen@webkit.org"
}
}, {
"name": "Fetch",
"status": {
"status": "Supported"
},
"url": "https://fetch.spec.whatwg.org",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=151937",
"keywords": ["fetch", "http", "cors", "request", "response", "header"],
"category": "webapps",
"description": "An underlying unified architecture for making resource requests.",
"contact": {
"name": "Jon Davis",
"twitter": "@jonathandavis",
"email": "web-evangelist@apple.com"
}
},
{
"name": "Filter Effects Module Level 2",
"url": "http://dev.w3.org/fxtf/filters-2/",
"keywords": ["css filters", "filter effects", "filters"],
"category": "css"
},
{
"name": "Gamepad",
"status": {
"status": "Supported"
},
"url": "https://www.w3.org/TR/gamepad/",
"webkit-url": "https://webkit.org/b/134076",
"keywords": ["gamepad", "gaming", "games", "controller"],
"category": "webapps",
"description": "An interface for accessing and responding to game controller device state.",
"contact": {
"name": "Jonathan Davis",
"email": "web-evangelist@apple.com",
"twitter": "@jonathandavis"
}
},
{
"name": "Geolocation API",
"status": {
"status": "Supported"
},
"description": "An API that provides scripted access to geographical location information associated with the hosting device.",
"url": "https://www.w3.org/TR/geolocation-API/"
},
{
"name": "Geometry Interfaces",
"url": "https://drafts.fxtf.org/geometry/",
"keywords": ["geometry", "dompointreadonly", "dompoint", "domrectreadonly", "domrect", "domquad", "dommatrixreadonly", "dommatrix"],
"category": "html",
"status": {
"status": "In Development"
},
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=163505"
},
{
"name": "HTML5",
"url": "https://html.spec.whatwg.org",
"keywords": ["html", "html5", "html5.1"],
"category": "html"
},
{
"name": "Indexed Database",
"status": {
"status": "Supported"
},
"url": "http://www.w3.org/TR/IndexedDB/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=149117",
"keywords": ["indexeddb", "index db", "indexed db", "indexed database", "idb"],
"description": "A standard interface to a database of records for simple values and objects. WebKit supports the full W3C recommended standard.",
"contact": {
"name": "Brady Eidson",
"twitter": "@bradeeoh",
"email": "beidson@webkit.org"
}
},
{
"name": "Indexed Database 2.0",
"status": {
"status": "Supported"
},
"url": "http://w3c.github.io/IndexedDB/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=160306",
"keywords": ["indexeddb", "index db", "indexed db", "indexed database", "idb"],
"description": "Version 2.0 of the Indexed Database API. We are participating in development of the standard and are implementing new features as they stabilize.",
"contact": {
"name": "Brady Eidson",
"twitter": "@bradeeoh",
"email": "beidson@webkit.org"
}
},
{
"name": "Intersection Observer",
"status": {
"status": "Supported"
},
"url": "https://wicg.github.io/IntersectionObserver/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=159475",
"keywords": ["intersection", "intersection observer", "intersectionobserver"],
"description": "An API that can be used to understand the visibility and position of DOM elements relative to a containing element or to the top-level viewport."
},
{
"name": "Lazy image loading",
"status": {
"status": "In Development"
},
"url": "https://html.spec.whatwg.org/#attr-img-loading",
"keywords": ["lazy", "image", "loading"],
"category": "html",
"description": "Allows defering loading of images until they are visible in the viewport."
},
{
"name": "Media Capture and Streams",
"status": {
"status": "Supported"
},
"url": "https://w3c.github.io/mediacapture-main/",
"keywords": ["mediastream", "getusermedia"],
"description": "A set of JavaScript APIs that allow local media, including audio and video, to be requested."
},
{
"name": "Navigation Timing Level 1",
"status": {
"status": "Supported"
},
"url": "https://www.w3.org/TR/navigation-timing/",
"keywords": ["performance", "navigation timing"],
"description": "An API that exposes page load measurements to the page."
},
{
"name": "Navigation Timing Level 2",
"status": {
"status": "Supported"
},
"url": "https://w3c.github.io/navigation-timing/",
"keywords": ["performance", "navigation timing"],
"description": "An API that exposes page load measurements to the page and adds entries to the performance timeline.",
"contact": {
"name": "Alex Christensen",
"twitter": "@alexfchr",
"email": "achristensen@webkit.org"
}
},
{
"name": "Performance Observer",
"status": {
"status": "Supported"
},
"url": "https://w3c.github.io/performance-timeline/",
"keywords": ["performance", "performance observer", "performanceobserver", "performance timeline"],
"description": "An API to observe performance timeline entries at idle times.",
"contact": {
"name": "Joseph Pecoraro",
"email": "joepeck@webkit.org",
"twitter": "@JosephPecoraro"
}
},
{
"name": "Pointer Events Level 2",
"status": {
"status": "Supported"
},
"url": "https://www.w3.org/TR/pointerevents/",
"keywords": ["dom", "events", "touch", "mouse", "stylus"],
"category": "html",
"description": "Pointer Events describes events and related interfaces for handling hardware agnostic pointer input from devices including a mouse, pen, touchscreen, etc."
},
Add runtime flag to enable pointer lock. Enable pointer lock feature for mac. https://bugs.webkit.org/show_bug.cgi?id=163801 Patch by Jeremy Jones <jeremyj@apple.com> on 2016-11-18 Reviewed by Simon Fraser. Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: These tests now pass with DumpRenderTree. LayoutTests/pointer-lock/lock-already-locked.html LayoutTests/pointer-lock/lock-element-not-in-dom.html LayoutTests/pointer-lock/locked-element-iframe-removed-from-dom.html LayoutTests/pointer-lock/mouse-event-api.html PointerLockController::requestPointerLock now protects against synchronous callback to allowPointerLock(). Add pointerLockEnabled setting. * Configurations/FeatureDefines.xcconfig: * dom/Document.cpp: (WebCore::Document::exitPointerLock): Fix existing typo. (WebCore::Document::pointerLockElement): * features.json: * page/EventHandler.cpp: * page/PointerLockController.cpp: (WebCore::PointerLockController::requestPointerLock): (WebCore::PointerLockController::requestPointerUnlock): * page/Settings.in: Source/WebKit/mac: Plumb through PointerLockEnabled setting. * Configurations/FeatureDefines.xcconfig: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::requestPointerUnlock): * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (-[WebPreferences pointerLockEnabled]): (-[WebPreferences setPointerLockEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add SPI to notify client of pointer lock and for client to allow or deny. Unlock pointer when view is not longer active. * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferencesDefinitions.h: * UIProcess/API/APIUIClient.h: (API::UIClient::requestPointerLock): (API::UIClient::didLosePointerLock): * UIProcess/API/C/WKPage.cpp: (WKPageSetPageUIClient): (WKPageDidAllowPointerLock): (WKPageDidDenyPointerLock): * UIProcess/API/C/WKPagePrivate.h: * UIProcess/API/C/WKPageUIClient.h: * UIProcess/API/C/WKPreferences.cpp: * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: * UIProcess/Cocoa/UIDelegate.h: * UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): (WebKit::UIDelegate::UIClient::requestPointerLock): (WebKit::UIDelegate::UIClient::didLosePointerLock): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::dispatchActivityStateChange): (WebKit::WebPageProxy::resetStateAfterProcessExited): (WebKit::WebPageProxy::requestPointerLock): (WebKit::WebPageProxy::didAllowPointerLock): (WebKit::WebPageProxy::didDenyPointerLock): (WebKit::WebPageProxy::requestPointerUnlock): * UIProcess/WebPageProxy.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): Source/WTF: * wtf/FeatureDefines.h: ENABLE_POINTER_LOCK true for Mac. Canonical link: https://commits.webkit.org/182614@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-18 23:33:05 +00:00
{
"name": "Pointer Lock",
"status": {
"status": "Supported"
Add runtime flag to enable pointer lock. Enable pointer lock feature for mac. https://bugs.webkit.org/show_bug.cgi?id=163801 Patch by Jeremy Jones <jeremyj@apple.com> on 2016-11-18 Reviewed by Simon Fraser. Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: These tests now pass with DumpRenderTree. LayoutTests/pointer-lock/lock-already-locked.html LayoutTests/pointer-lock/lock-element-not-in-dom.html LayoutTests/pointer-lock/locked-element-iframe-removed-from-dom.html LayoutTests/pointer-lock/mouse-event-api.html PointerLockController::requestPointerLock now protects against synchronous callback to allowPointerLock(). Add pointerLockEnabled setting. * Configurations/FeatureDefines.xcconfig: * dom/Document.cpp: (WebCore::Document::exitPointerLock): Fix existing typo. (WebCore::Document::pointerLockElement): * features.json: * page/EventHandler.cpp: * page/PointerLockController.cpp: (WebCore::PointerLockController::requestPointerLock): (WebCore::PointerLockController::requestPointerUnlock): * page/Settings.in: Source/WebKit/mac: Plumb through PointerLockEnabled setting. * Configurations/FeatureDefines.xcconfig: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::requestPointerUnlock): * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (-[WebPreferences pointerLockEnabled]): (-[WebPreferences setPointerLockEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKit2: Add SPI to notify client of pointer lock and for client to allow or deny. Unlock pointer when view is not longer active. * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferencesDefinitions.h: * UIProcess/API/APIUIClient.h: (API::UIClient::requestPointerLock): (API::UIClient::didLosePointerLock): * UIProcess/API/C/WKPage.cpp: (WKPageSetPageUIClient): (WKPageDidAllowPointerLock): (WKPageDidDenyPointerLock): * UIProcess/API/C/WKPagePrivate.h: * UIProcess/API/C/WKPageUIClient.h: * UIProcess/API/C/WKPreferences.cpp: * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: * UIProcess/Cocoa/UIDelegate.h: * UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): (WebKit::UIDelegate::UIClient::requestPointerLock): (WebKit::UIDelegate::UIClient::didLosePointerLock): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::dispatchActivityStateChange): (WebKit::WebPageProxy::resetStateAfterProcessExited): (WebKit::WebPageProxy::requestPointerLock): (WebKit::WebPageProxy::didAllowPointerLock): (WebKit::WebPageProxy::didDenyPointerLock): (WebKit::WebPageProxy::requestPointerUnlock): * UIProcess/WebPageProxy.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): Source/WTF: * wtf/FeatureDefines.h: ENABLE_POINTER_LOCK true for Mac. Canonical link: https://commits.webkit.org/182614@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-18 23:33:05 +00:00
},
"url": "https://www.w3.org/TR/pointerlock/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=164652",
"keywords": ["pointer", "pointer lock"],
"description": "Provides scripted access to raw mouse movement data while locking the target of mouse events to a single element and removing the cursor from view."
},
{
"name": "Preload",
"status": {
"status": "Supported"
},
"url": "http://w3c.github.io/preload/",
"webkit-url": "https://webkit.org/b/158720",
"keywords": ["preload"],
"description": "Provides a declarative fetch primitive that initiates an early fetch and separates fetching from resource execution.",
"contact": {
"name": "Yoav Weiss",
"email": "yoav@yoav.ws",
"twitter": "@yoavweiss"
}
},
{
"name": "Resource Timing Level 2",
"status": {
"status": "Supported"
},
"url": "https://w3c.github.io/resource-timing/",
"webkit-url": "https://webkit.org/b/61138",
"keywords": ["performance", "resourcetiming", "resource timing", "rsrc"],
"description": "An API to that provides detailed timing information for resource loads.",
"contact": {
"name": "Joseph Pecoraro",
"email": "joepeck@webkit.org",
"twitter": "@JosephPecoraro"
}
},
{
"name": "SVG 2",
"url": "https://svgwg.org/svg2-draft/",
"status": {
"status": "In Development"
},
"keywords": ["svg"],
"category": "svg",
"contact": {
"name": "Dirk Schulze",
"twitter": "@dirkschulze",
"email": "dschulze@adobe.com"
}
},
{
"name": "SVG in OpenType Fonts",
"status": {
"status": "Supported"
},
"url": "https://www.microsoft.com/typography/otspec/svg.htm/",
"keywords": ["svg", "font", "opentype", "OT-SVG"],
"category": "rendering",
"description": "Allows Scalable Vector Graphics content within font files.",
"contact": {
"name": "Myles C. Maxfield",
"twitter": "@Litherum",
"email": "mmaxfield@apple.com"
}
},
{
"name": "Service Workers",
"status": {
"status": "Supported"
},
Add SW IDLs and stub out basic functionality. https://bugs.webkit.org/show_bug.cgi?id=175115 Reviewed by Chris Dumez. .: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: * runtime/CommonIdentifiers.h: Source/WebCore: No new tests (Currently no behavior change). Overall note: This feature is EnabledAtRuntime as opposed to EnabledBySetting because the Settings-based code generation is completely broken for non-Document contexts, whereas the RuntimeEnabledFeatures-based generation is not. * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/scripts/preprocess-idls.pl: Handle the new global scope c'tor file. * bindings/js/JSServiceWorkerContainerCustom.cpp: Added. (WebCore::JSServiceWorkerContainer::ready const): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJSWorkerGlobalScope): Refactor to handle both types of derived workers. (WebCore::toJSServiceWorkerGlobalScope): * bindings/js/JSWorkerGlobalScopeBase.h: * dom/EventNames.h: * dom/EventTargetFactory.in: * features.json: Change status of feature. * page/Navigator.idl: * page/NavigatorBase.cpp: (WebCore::NavigatorBase::serviceWorker): * page/NavigatorBase.h: * page/NavigatorServiceWorker.idl: Added. * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::serviceWorkerEnabled const): (WebCore::RuntimeEnabledFeatures::setServiceWorkerEnabled): * workers/ServiceWorker.cpp: Added. (WebCore::ServiceWorker::postMessage): (WebCore::ServiceWorker::~ServiceWorker): (WebCore::ServiceWorker::scriptURL const): (WebCore::ServiceWorker::state const): (WebCore::ServiceWorker::eventTargetInterface const): (WebCore::ServiceWorker::scriptExecutionContext const): * workers/ServiceWorker.h: Added. * workers/ServiceWorker.idl: Added. * workers/ServiceWorkerContainer.cpp: Added. (WebCore::ServiceWorkerContainer::~ServiceWorkerContainer): (WebCore::ServiceWorkerContainer::controller const): (WebCore::ServiceWorkerContainer::ready): (WebCore::ServiceWorkerContainer::addRegistration): (WebCore::ServiceWorkerContainer::getRegistration): (WebCore::ServiceWorkerContainer::getRegistrations): (WebCore::ServiceWorkerContainer::startMessages): (WebCore::ServiceWorkerContainer::eventTargetInterface const): (WebCore::ServiceWorkerContainer::scriptExecutionContext const): * workers/ServiceWorkerContainer.h: Added. * workers/ServiceWorkerContainer.idl: Added. * workers/ServiceWorkerGlobalScope.cpp: Added. (WebCore::ServiceWorkerGlobalScope::registration): (WebCore::ServiceWorkerGlobalScope::skipWaiting): * workers/ServiceWorkerGlobalScope.h: Added. * workers/ServiceWorkerGlobalScope.idl: Added. * workers/ServiceWorkerRegistration.cpp: Added. (WebCore::ServiceWorkerRegistration::~ServiceWorkerRegistration): (WebCore::ServiceWorkerRegistration::installing): (WebCore::ServiceWorkerRegistration::waiting): (WebCore::ServiceWorkerRegistration::active): (WebCore::ServiceWorkerRegistration::scope const): (WebCore::ServiceWorkerRegistration::update): (WebCore::ServiceWorkerRegistration::unregister): (WebCore::ServiceWorkerRegistration::eventTargetInterface const): (WebCore::ServiceWorkerRegistration::scriptExecutionContext const): * workers/ServiceWorkerRegistration.h: Added. * workers/ServiceWorkerRegistration.idl: Added. Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferencesDefinitions.h: * UIProcess/WebPreferences.cpp: (WebKit::WebPreferences::enableAllExperimentalFeatures): Explicitly skip SW for now. The ramifications to layouttests are complicated, and we'd like to follow up in a separate patch. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Source/WTF: * wtf/FeatureDefines.h: Tools: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: * Scripts/webkitpy/bindings/main.py: Canonical link: https://commits.webkit.org/191896@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-08-03 19:21:43 +00:00
"url": "https://w3c.github.io/ServiceWorker/",
"webkit-url": "https://webkit.org/b/174541",
"keywords": ["service workers"],
"category": "webapps",
"description": "A method for browsers to run JavaScript in the background to handle network requests and manage cached responses. Service Workers offers a replacement for Application Cache.",
"contact": {
Add SW IDLs and stub out basic functionality. https://bugs.webkit.org/show_bug.cgi?id=175115 Reviewed by Chris Dumez. .: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: * runtime/CommonIdentifiers.h: Source/WebCore: No new tests (Currently no behavior change). Overall note: This feature is EnabledAtRuntime as opposed to EnabledBySetting because the Settings-based code generation is completely broken for non-Document contexts, whereas the RuntimeEnabledFeatures-based generation is not. * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/scripts/preprocess-idls.pl: Handle the new global scope c'tor file. * bindings/js/JSServiceWorkerContainerCustom.cpp: Added. (WebCore::JSServiceWorkerContainer::ready const): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJSWorkerGlobalScope): Refactor to handle both types of derived workers. (WebCore::toJSServiceWorkerGlobalScope): * bindings/js/JSWorkerGlobalScopeBase.h: * dom/EventNames.h: * dom/EventTargetFactory.in: * features.json: Change status of feature. * page/Navigator.idl: * page/NavigatorBase.cpp: (WebCore::NavigatorBase::serviceWorker): * page/NavigatorBase.h: * page/NavigatorServiceWorker.idl: Added. * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::serviceWorkerEnabled const): (WebCore::RuntimeEnabledFeatures::setServiceWorkerEnabled): * workers/ServiceWorker.cpp: Added. (WebCore::ServiceWorker::postMessage): (WebCore::ServiceWorker::~ServiceWorker): (WebCore::ServiceWorker::scriptURL const): (WebCore::ServiceWorker::state const): (WebCore::ServiceWorker::eventTargetInterface const): (WebCore::ServiceWorker::scriptExecutionContext const): * workers/ServiceWorker.h: Added. * workers/ServiceWorker.idl: Added. * workers/ServiceWorkerContainer.cpp: Added. (WebCore::ServiceWorkerContainer::~ServiceWorkerContainer): (WebCore::ServiceWorkerContainer::controller const): (WebCore::ServiceWorkerContainer::ready): (WebCore::ServiceWorkerContainer::addRegistration): (WebCore::ServiceWorkerContainer::getRegistration): (WebCore::ServiceWorkerContainer::getRegistrations): (WebCore::ServiceWorkerContainer::startMessages): (WebCore::ServiceWorkerContainer::eventTargetInterface const): (WebCore::ServiceWorkerContainer::scriptExecutionContext const): * workers/ServiceWorkerContainer.h: Added. * workers/ServiceWorkerContainer.idl: Added. * workers/ServiceWorkerGlobalScope.cpp: Added. (WebCore::ServiceWorkerGlobalScope::registration): (WebCore::ServiceWorkerGlobalScope::skipWaiting): * workers/ServiceWorkerGlobalScope.h: Added. * workers/ServiceWorkerGlobalScope.idl: Added. * workers/ServiceWorkerRegistration.cpp: Added. (WebCore::ServiceWorkerRegistration::~ServiceWorkerRegistration): (WebCore::ServiceWorkerRegistration::installing): (WebCore::ServiceWorkerRegistration::waiting): (WebCore::ServiceWorkerRegistration::active): (WebCore::ServiceWorkerRegistration::scope const): (WebCore::ServiceWorkerRegistration::update): (WebCore::ServiceWorkerRegistration::unregister): (WebCore::ServiceWorkerRegistration::eventTargetInterface const): (WebCore::ServiceWorkerRegistration::scriptExecutionContext const): * workers/ServiceWorkerRegistration.h: Added. * workers/ServiceWorkerRegistration.idl: Added. Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferencesDefinitions.h: * UIProcess/WebPreferences.cpp: (WebKit::WebPreferences::enableAllExperimentalFeatures): Explicitly skip SW for now. The ramifications to layouttests are complicated, and we'd like to follow up in a separate patch. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Source/WTF: * wtf/FeatureDefines.h: Tools: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: * Scripts/webkitpy/bindings/main.py: Canonical link: https://commits.webkit.org/191896@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-08-03 19:21:43 +00:00
"name": "Brady Eidson",
"twitter": "@bradeeoh",
"email": "beidson@apple.com"
}
},
{
"name": "Streams",
"url": "https://streams.spec.whatwg.org",
"keywords": ["streams api"],
"category": "webapps"
},
{
"name": "User Timing Level 2",
"status": {
"status": "Supported"
},
"url": "https://w3c.github.io/user-timing/",
"keywords": ["performance", "usertiming", "user timing"],
"description": "Provides high precision timestamp marking APIs.",
"contact": {
"name": "Jonathan Davis",
"email": "web-evangelist@apple.com",
"twitter": "@jonathandavis"
}
},
{
"name": "WOFF File Format 2.0",
"status": {
"status": "Supported"
},
"url": "https://www.w3.org/TR/WOFF2/",
"keywords": ["woff"],
"category": "css",
"description": "Improves compression to reduce bandwidth with content-aware preprocessing.",
"contact": {
"name": "Jonathan Davis",
"email": "web-evangelist@apple.com",
"twitter": "@jonathandavis"
}
},
{
"name": "Web Animations",
"status": {
"status": "Supported"
},
"url": "https://www.w3.org/TR/web-animations-1/",
"keywords": ["web animations"],
"description": "An API to synchronize with the timing for presentation changes of a web page.",
"contact": {
"name": "Jonathan Davis",
"email": "web-evangelist@apple.com",
"twitter": "@jonathandavis"
}
},
{
"name": "Web App Manifest",
"status": {
"status": "Partially Supported",
"enabled-by-default": false
},
"url": "https://www.w3.org/TR/appmanifest/",
"webkit-url": "https://webkit.org/b/158205",
"keywords": ["web app","manifest", "webapp"],
"category": "webapps",
"description": "A JSON-format manifest file for developers to place metadata associated with a web application.",
"contact": {
"name": "Jonathan Davis",
"email": "web-evangelist@apple.com",
"twitter": "@jonathandavis"
}
},
{
"name": "Web Components",
"url": "http://www.w3.org/wiki/WebComponents/",
"keywords": ["web components", "shadow dom", "html imports", "custom elements", "template element"],
"category": "webapps",
"description": "A collection of technologies to improve modularization of DOM subtrees.",
"contact": {
"name": "Ryosuke Niwa",
"twitter": "@rniwa_dev",
"email": "rniwa@webkit.org"
}
},
{
"name": "Web Cryptography API",
"status": {
"status": "Supported"
},
"url": "http://www.w3.org/TR/WebCryptoAPI/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=160880",
"keywords": ["webcrypto", "web cryptography api", "crypto", "security"],
"category": "webapps",
"description": "A JavaScript API for web applications to perform cryptographic operations.",
"contact": {
"name": "Jiewen Tan",
"email": "jiewen_tan@apple.com",
"twitter": "@alanwaketan"
}
},
{
"name": "Web SQL Database",
"status": {
"status": "Removed"
},
"url": "https://dev.w3.org/html5/webdatabase/",
"keywords": ["websql", "web sql", "db", "storage", "database"],
"description": "An API for storing data in databases that can be queried using a variant of SQL.",
"contact": {
"name": "Jon Davis",
"twitter": "@jonathandavis",
"email": "web-evangelist@apple.com"
}
},
{
"name": "WebGL 1",
"status": {
"status": "Supported"
},
"url": "https://www.khronos.org/registry/webgl/specs/1.0/",
"keywords": ["webgl"],
"category": "html"
},
{
"name": "WebGL 2",
"status": {
"status": "Supported"
},
"url": "https://www.khronos.org/registry/webgl/specs/latest/2.0/",
"keywords": ["webgl"],
"category": "html"
},
{
"name": "WebRTC",
"status": {
"status": "Supported"
},
"url": "http://www.w3.org/TR/webrtc/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=124288",
"keywords": ["webrtc"],
"category": "webapps",
"description": "An API to facilitate real-time communication for browser-to-browser applications.",
"contact": {
"name": "Jon Davis",
"twitter": "@jonathandavis",
"email": "web-evangelist@apple.com"
}
[WebVR] Add IDLs and stubs https://bugs.webkit.org/show_bug.cgi?id=174202 Reviewed by Dean Jackson. Source/WebCore: Adding the complete set of IDLs for the WebVR 1.1 spec including the interface stubs which currently do nothing. Tests: webvr/webvr-disabled.html webvr/webvr-enabled.html * CMakeLists.txt: * DerivedSources.make: * Modules/webvr/DOMWindowWebVR.idl: Added. * Modules/webvr/GamepadWebVR.cpp: Added. (WebCore::GamepadWebVR::GamepadWebVR): (WebCore::GamepadWebVR::~GamepadWebVR): (WebCore::GamepadWebVR::displayId): * Modules/webvr/GamepadWebVR.h: Added. * Modules/webvr/GamepadWebVR.idl: Added. * Modules/webvr/NavigatorWebVR.cpp: Added. (WebCore::NavigatorWebVR::getVRDisplays): (WebCore::NavigatorWebVR::activeVRDisplays): (WebCore::NavigatorWebVR::vrEnabled): * Modules/webvr/NavigatorWebVR.h: Added. * Modules/webvr/NavigatorWebVR.idl: Added. * Modules/webvr/VRDisplay.cpp: Added. (WebCore::VRDisplay::create): (WebCore::VRDisplay::VRDisplay): (WebCore::VRDisplay::isConnected const): (WebCore::VRDisplay::isPresenting const): (WebCore::VRDisplay::capabilities const): (WebCore::VRDisplay::stageParameters const): (WebCore::VRDisplay::getEyeParameters const): (WebCore::VRDisplay::displayId const): (WebCore::VRDisplay::displayName const): (WebCore::VRDisplay::getFrameData const): (WebCore::VRDisplay::getPose const): (WebCore::VRDisplay::resetPose): (WebCore::VRDisplay::depthNear const): (WebCore::VRDisplay::setDepthNear): (WebCore::VRDisplay::depthFar const): (WebCore::VRDisplay::setDepthFar): (WebCore::VRDisplay::requestAnimationFrame): (WebCore::VRDisplay::cancelAnimationFrame): (WebCore::VRDisplay::requestPresent): (WebCore::VRDisplay::exitPresent): (WebCore::VRDisplay::getLayers const): (WebCore::VRDisplay::submitFrame): (WebCore::VRDisplay::hasPendingActivity const): (WebCore::VRDisplay::activeDOMObjectName const): (WebCore::VRDisplay::canSuspendForDocumentSuspension const): (WebCore::VRDisplay::stop): * Modules/webvr/VRDisplay.h: Added. * Modules/webvr/VRDisplay.idl: Added. * Modules/webvr/VRDisplayCapabilities.cpp: Added. (WebCore::VRDisplayCapabilities::hasPosition const): (WebCore::VRDisplayCapabilities::hasOrientation const): (WebCore::VRDisplayCapabilities::hasExternalDisplay const): (WebCore::VRDisplayCapabilities::canPresent const): (WebCore::VRDisplayCapabilities::maxLayer const): * Modules/webvr/VRDisplayCapabilities.h: Added. (WebCore::VRDisplayCapabilities::create): * Modules/webvr/VRDisplayCapabilities.idl: Added. * Modules/webvr/VRDisplayEvent.cpp: Added. (WebCore::VRDisplayEvent::VRDisplayEvent): (WebCore::VRDisplayEvent::display const): (WebCore::VRDisplayEvent::reason const): (WebCore::VRDisplayEvent::eventInterface const): * Modules/webvr/VRDisplayEvent.h: Added. * Modules/webvr/VRDisplayEvent.idl: Added. * Modules/webvr/VRDisplayEventReason.h: Added. * Modules/webvr/VRDisplayEventReason.idl: Added. * Modules/webvr/VREye.h: Added. * Modules/webvr/VREye.idl: Added. * Modules/webvr/VREyeParameters.cpp: Added. (WebCore::VREyeParameters::VREyeParameters): (WebCore::VREyeParameters::offset const): (WebCore::VREyeParameters::fieldOfView const): (WebCore::VREyeParameters::renderWidth const): (WebCore::VREyeParameters::renderHeight const): * Modules/webvr/VREyeParameters.h: Added. (WebCore::VREyeParameters::create): * Modules/webvr/VREyeParameters.idl: Added. * Modules/webvr/VRFieldOfView.cpp: Added. (WebCore::VRFieldOfView::upDegrees const): (WebCore::VRFieldOfView::rightDegrees const): (WebCore::VRFieldOfView::downDegrees const): (WebCore::VRFieldOfView::leftDegrees const): * Modules/webvr/VRFieldOfView.h: Added. (WebCore::VRFieldOfView::create): * Modules/webvr/VRFieldOfView.idl: Added. * Modules/webvr/VRFrameData.cpp: Added. (WebCore::VRFrameData::VRFrameData): (WebCore::VRFrameData::timestamp const): (WebCore::VRFrameData::leftProjectionMatrix const): (WebCore::VRFrameData::leftViewMatrix const): (WebCore::VRFrameData::rightProjectionMatrix const): (WebCore::VRFrameData::rightViewMatrix const): (WebCore::VRFrameData::pose const): * Modules/webvr/VRFrameData.h: Added. (WebCore::VRFrameData::create): * Modules/webvr/VRFrameData.idl: Added. * Modules/webvr/VRLayerInit.h: Added. * Modules/webvr/VRLayerInit.idl: Added. * Modules/webvr/VRPose.cpp: Added. (WebCore::VRPose::position const): (WebCore::VRPose::linearVelocity const): (WebCore::VRPose::linearAcceleration const): (WebCore::VRPose::orientation const): (WebCore::VRPose::angularVelocity const): (WebCore::VRPose::angularAcceleration const): * Modules/webvr/VRPose.h: Added. (WebCore::VRPose::create): * Modules/webvr/VRPose.idl: Added. * Modules/webvr/VRStageParameters.cpp: Added. (WebCore::VRStageParameters::sittingToStandingTransform const): (WebCore::VRStageParameters::sizeX const): (WebCore::VRStageParameters::sizeZ const): * Modules/webvr/VRStageParameters.h: Added. (WebCore::VRStageParameters::create): * Modules/webvr/VRStageParameters.idl: Added. * WebCore.xcodeproj/project.pbxproj: * bindings/js/WebCoreBuiltinNames.h: * dom/EventNames.h: * dom/EventNames.in: * dom/EventTargetFactory.in: * features.json: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setWebVREnabled): (WebCore::RuntimeEnabledFeatures::webVREnabled const): * testing/InternalSettings.cpp: (WebCore::InternalSettings::Backup::restoreTo): (WebCore::InternalSettings::setWebVREnabled): * testing/InternalSettings.h: * testing/InternalSettings.idl: Source/WebKit: * Shared/WebPreferencesDefinitions.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): LayoutTests: New tests to verify that WebVR is properly enabled/disabled at runtime. * webvr/webvr-disabled-expected.txt: Added. * webvr/webvr-disabled.html: Added. * webvr/webvr-enabled-expected.txt: Added. * webvr/webvr-enabled.html: Added. Canonical link: https://commits.webkit.org/193301@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-09-13 11:17:27 +00:00
},
{
"name": "WebXR",
"status": {
"status": "In Development"
},
"url": "https://immersive-web.github.io/webxr/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=208988",
"keywords": ["webxr", "webgl", "webgpu"],
"category": "html",
"description": "The WebXR device API is for accessing virtual reality (VR) and augmented reality (AR) devices, including sensors and head-mounted displays on the Web."
},
{
"name": "Worklets Level 1",
"status": {
"status": "Under Consideration"
},
"url": "https://drafts.css-houdini.org/worklets/",
"keywords": ["houdini", "worklet"],
"description": "An API for running scripts in stages of the rendering pipeline independent of the main javascript execution environment"
}
],
"features": [
{
"name": "CSS Selector :any-link",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/selectors-4/#the-any-link-pseudo",
"specification": "CSS Selectors Level 4",
"description": "The pseudo class :any-link matches any element that would match :link or :visisted.",
"comment": "A prefix version :-webkit-any-link has been available for a while but it was not 100% compliant to the specification.",
"contact": {
"name": "Benjamin Poulain",
"twitter": "@awfulben",
"email": "benjamin@webkit.org"
}
},
{
"name": "CSS Selector :focus-visible",
"status": {
"status": "In Development",
"enabled-by-default": false
},
"url": "https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo",
"specification": "CSS Selectors Level 4",
"keywords": ["focus visible", "focus-visible", ":focus-visible"],
"description": "The selector :focus-visible matches an element that has received focus and the user-agent has determined that the focus should be made visible on the element.",
"contact": {
"name": "Manuel Rego",
"twitter": "@regocas",
"email": "rego@igalia.com"
}
},
{
"name": "CSS Selector :focus-within",
"status": {
"status": "Supported"
},
"url": "https://drafts.csswg.org/selectors-4/#the-focus-within-pseudo",
"webkit-url": "https://trac.webkit.org/changeset/202358",
"specification": "CSS Selectors Level 4",
"description": "The selector :focus-within matches an element if the element or a descendant has the focus.",
"contact": {
"name": "Benjamin Poulain",
"twitter": "@awfulben",
"email": "benjamin@webkit.org"
}
},
[CSS Selectors 4] Add support for `:is()` with the same logic for the existing `:matches()` https://bugs.webkit.org/show_bug.cgi?id=209707 Reviewed by Antti Koivisto. LayoutTests/imported/w3c: * web-platform-tests/css/selectors/invalidation/is-expected.txt: Source/WebCore: Add `PseudoClassType::PseudoClassIs` and use it where `PseudoClassTyle::PseudoClassMatches` is already used now. Tests: fast/css/is-specificity-1.html fast/css/is-specificity-2.html fast/css/is-specificity-3.html fast/css/is-specificity-4.html fast/css/is-specificity-5.html fast/css/is-specificity-6.html fast/css/is-specificity-7.html fast/css/is-specificity-8.html fast/css/is-specificity-9.html fast/css/is-specificity-10.html fast/css/parsing-css-is-1.html fast/css/parsing-css-is-2.html fast/css/parsing-css-is-3.html fast/css/parsing-css-is-4.html fast/css/parsing-css-is-5.html fast/css/parsing-css-is-6.html fast/css/parsing-css-is-7.html fast/css/parsing-css-is-8.html fast/selectors/is-backtracking.html fast/selectors/is-complex.html fast/selectors/is-selector-list.html fast/selectors/is-selector-list-ending-with-never-matching-selectors.html fast/selectors/is-with-pseudo-element.html fast/selectors/pseudo-element-inside-is.html fast/selectors/querySelector-is.html imported/w3c/web-platform-tests/css/selectors/invalidation/is.html imported/w3c/web-platform-tests/css/selectors/is-nested.html imported/w3c/web-platform-tests/css/selectors/is-specificity.html * css/CSSSelector.h: * css/CSSSelector.cpp: (WebCore::simpleSelectorSpecificityInternal): (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity): (WebCore::CSSSelector::selectorText const): * css/SelectorChecker.cpp: (WebCore::SelectorChecker::matchRecursively const): * css/SelectorPseudoClassAndCompatibilityElementMap.in: * css/parser/CSSSelectorParser.cpp: (WebCore::isOnlyPseudoClassFunction): (WebCore::CSSSelectorParser::consumePseudo): * cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::addPseudoClassType): (WebCore::SelectorChecker::checkOne const): * inspector/InspectorStyleSheet.cpp: (WebCore::hasDynamicSpecificity): * features.json: LayoutTests: * fast/css/css-selector-text.html: * fast/css/css-selector-text-expected.txt: * fast/css/css-set-selector-text.html: * fast/css/css-set-selector-text-expected.txt: * fast/css/is-specificity-1.html: Copied from fast/css/matches-specificity-1.html. * fast/css/is-specificity-1-expected.html: Copied from fast/css/matches-specificity-1-expected.html. * fast/css/is-specificity-2.html: Copied from fast/css/matches-specificity-2.html. * fast/css/is-specificity-2-expected.html: Copied from fast/css/matches-specificity-2-expected.html. * fast/css/is-specificity-3.html: Copied from fast/css/matches-specificity-3.html. * fast/css/is-specificity-3-expected.html: Copied from fast/css/matches-specificity-3-expected.html. * fast/css/is-specificity-4.html: Copied from fast/css/matches-specificity-4.html. * fast/css/is-specificity-4-expected.html: Copied from fast/css/matches-specificity-4-expected.html. * fast/css/is-specificity-5.html: Copied from fast/css/matches-specificity-5.html. * fast/css/is-specificity-5-expected.html: Copied from fast/css/matches-specificity-5-expected.html. * fast/css/is-specificity-6.html: Copied from fast/css/matches-specificity-6.html. * fast/css/is-specificity-6-expected.html: Copied from fast/css/matches-specificity-6-expected.html. * fast/css/is-specificity-7.html: Copied from fast/css/matches-specificity-7.html. * fast/css/is-specificity-7-expected.html: Copied from fast/css/matches-specificity-7-expected.html. * fast/css/is-specificity-8.html: Copied from fast/css/matches-specificity-8.html. * fast/css/is-specificity-8-expected.html: Copied from fast/css/matches-specificity-8-expected.html. * fast/css/is-specificity-9.html: Copied from fast/css/matches-specificity-9.html. * fast/css/is-specificity-9-expected.html: Copied from fast/css/matches-specificity-9-expected.html. * fast/css/is-specificity-10.html: Copied from fast/css/matches-specificity-10.html. * fast/css/is-specificity-10-expected.html: Copied from fast/css/matches-specificity-10-expected.html. * fast/css/parsing-css-attribute-case-insensitive-value-1.html: * fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt: * fast/css/parsing-css-attribute-case-insensitive-value-4.html: * fast/css/parsing-css-attribute-case-insensitive-value-4-expected.txt: * fast/css/parsing-css-is-1.html: Coped from fast/css/parsing-css-matches-1.html. * fast/css/parsing-css-is-1-expected.txt: Coped from fast/css/parsing-css-matches-1-expected.txt. * fast/css/parsing-css-is-2.html: Coped from fast/css/parsing-css-matches-2.html. * fast/css/parsing-css-is-2-expected.txt: Coped from fast/css/parsing-css-matches-2-expected.txt. * fast/css/parsing-css-is-3.html: Coped from fast/css/parsing-css-matches-3.html. * fast/css/parsing-css-is-3-expected.txt: Coped from fast/css/parsing-css-matches-3-expected.txt. * fast/css/parsing-css-is-4.html: Coped from fast/css/parsing-css-matches-4.html. * fast/css/parsing-css-is-4-expected.txt: Coped from fast/css/parsing-css-matches-4-expected.txt. * fast/css/parsing-css-is-5.html: Coped from fast/css/parsing-css-matches-5.html. * fast/css/parsing-css-is-5-expected.txt: Coped from fast/css/parsing-css-matches-5-expected.txt. * fast/css/parsing-css-is-6.html: Coped from fast/css/parsing-css-matches-6.html. * fast/css/parsing-css-is-6-expected.txt: Coped from fast/css/parsing-css-matches-6-expected.txt. * fast/css/parsing-css-is-7.html: Coped from fast/css/parsing-css-matches-7.html. * fast/css/parsing-css-is-7-expected.txt: Coped from fast/css/parsing-css-matches-7-expected.txt. * fast/css/parsing-css-is-8.html: Coped from fast/css/parsing-css-matches-8.html. * fast/css/parsing-css-is-8-expected.txt: Coped from fast/css/parsing-css-matches-8-expected.txt. * fast/css/parsing-css-not-1.html: * fast/css/parsing-css-not-1-expected.txt: * fast/css/parsing-css-not-2.html: * fast/css/parsing-css-not-2-expected.txt: * fast/css/parsing-css-not-5.html: * fast/css/parsing-css-not-5-expected.txt: * fast/css/parsing-css-not-6.html: * fast/css/parsing-css-not-6-expected.txt: * fast/css/parsing-css-not-7.html: * fast/css/parsing-css-not-7-expected.txt: * fast/css/parsing-css-not-8.html: * fast/css/parsing-css-not-8-expected.txt: * fast/css/parsing-css-not-9.html: * fast/css/parsing-css-not-9-expected.txt: * fast/css/parsing-css-nth-child-of-4.html: * fast/css/parsing-css-nth-child-of-4-expected.txt: * fast/css/parsing-css-nth-last-child-of-4.html: * fast/css/parsing-css-nth-last-child-of-4-expected.txt: * fast/selectors/case-insensitive-attribute-register-requirement-1.html: * fast/selectors/case-insensitive-attribute-register-requirement-1-expected.txt: * fast/selectors/element-matches-attribute-ascii-case-insensitive-html-expected.txt: * fast/selectors/element-matches-attribute-ascii-case-insensitive-html.html: * fast/selectors/is-backtracking.html: Copied from fast/selectors/matches-backtracking.html. * fast/selectors/is-backtracking-expected.txt: Copied from fast/selectors/matches-backtracking-expected.txt. * fast/selectors/is-complex.html: Copied from fast/selectors/matches-complex.html. * fast/selectors/is-complex-expected.txt: Copied from fast/selectors/matches-complex-expected.txt. * fast/selectors/is-selector-list.html: Copied from fast/selectors/matches-selector-list.html. * fast/selectors/is-selector-list-expected.txt: Copied from fast/selectors/matches-selector-list-expected.txt. * fast/selectors/is-selector-list-ending-with-never-matching-selectors.html: Copied from fast/selectors/matches-selector-list-ending-with-never-matching-selectors.html. * fast/selectors/is-selector-list-ending-with-never-matching-selectors-expected.txt: Copied from fast/selectors/matches-selector-list-ending-with-never-matching-selectors-expected.txt. * fast/selectors/is-with-pseudo-element.html: Copied from fast/selectors/matches-with-pseudo-element.html. * fast/selectors/is-with-pseudo-element-expected.html: Copied from fast/selectors/matches-with-pseudo-element-expected.html. * fast/selectors/pseudo-element-inside-is.html: Copied from fast/selectors/pseudo-element-inside-matches.html. * fast/selectors/pseudo-element-inside-is-expected.html: Copied from fast/selectors/pseudo-element-inside-matches-expected.html. * fast/selectors/querySelector-attribute-ascii-case-insensitive-html.html: * fast/selectors/querySelector-attribute-ascii-case-insensitive-html-expected.txt: * fast/selectors/querySelector-is.html: Copied from fast/selectors/querySelector-matches.html. * fast/selectors/querySelector-is-expected.txt: Copied from fast/selectors/querySelector-matches-expected.txt. * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-html.html: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-html-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-xhtml.xhtml: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-xhtml-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-html.html: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-html-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-xhtml.xhtml: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-xhtml-expected.txt: * inspector/css/selector-dynamic-specificity.html: * inspector/css/selector-dynamic-specificity-expected.txt: * TestExpectations: * platform/wincairo/TestExpectations: * platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/222706@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259261 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-31 00:52:56 +00:00
{
"name": "CSS Selector :is()",
"status": {
"status": "Supported"
[CSS Selectors 4] Add support for `:is()` with the same logic for the existing `:matches()` https://bugs.webkit.org/show_bug.cgi?id=209707 Reviewed by Antti Koivisto. LayoutTests/imported/w3c: * web-platform-tests/css/selectors/invalidation/is-expected.txt: Source/WebCore: Add `PseudoClassType::PseudoClassIs` and use it where `PseudoClassTyle::PseudoClassMatches` is already used now. Tests: fast/css/is-specificity-1.html fast/css/is-specificity-2.html fast/css/is-specificity-3.html fast/css/is-specificity-4.html fast/css/is-specificity-5.html fast/css/is-specificity-6.html fast/css/is-specificity-7.html fast/css/is-specificity-8.html fast/css/is-specificity-9.html fast/css/is-specificity-10.html fast/css/parsing-css-is-1.html fast/css/parsing-css-is-2.html fast/css/parsing-css-is-3.html fast/css/parsing-css-is-4.html fast/css/parsing-css-is-5.html fast/css/parsing-css-is-6.html fast/css/parsing-css-is-7.html fast/css/parsing-css-is-8.html fast/selectors/is-backtracking.html fast/selectors/is-complex.html fast/selectors/is-selector-list.html fast/selectors/is-selector-list-ending-with-never-matching-selectors.html fast/selectors/is-with-pseudo-element.html fast/selectors/pseudo-element-inside-is.html fast/selectors/querySelector-is.html imported/w3c/web-platform-tests/css/selectors/invalidation/is.html imported/w3c/web-platform-tests/css/selectors/is-nested.html imported/w3c/web-platform-tests/css/selectors/is-specificity.html * css/CSSSelector.h: * css/CSSSelector.cpp: (WebCore::simpleSelectorSpecificityInternal): (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity): (WebCore::CSSSelector::selectorText const): * css/SelectorChecker.cpp: (WebCore::SelectorChecker::matchRecursively const): * css/SelectorPseudoClassAndCompatibilityElementMap.in: * css/parser/CSSSelectorParser.cpp: (WebCore::isOnlyPseudoClassFunction): (WebCore::CSSSelectorParser::consumePseudo): * cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::addPseudoClassType): (WebCore::SelectorChecker::checkOne const): * inspector/InspectorStyleSheet.cpp: (WebCore::hasDynamicSpecificity): * features.json: LayoutTests: * fast/css/css-selector-text.html: * fast/css/css-selector-text-expected.txt: * fast/css/css-set-selector-text.html: * fast/css/css-set-selector-text-expected.txt: * fast/css/is-specificity-1.html: Copied from fast/css/matches-specificity-1.html. * fast/css/is-specificity-1-expected.html: Copied from fast/css/matches-specificity-1-expected.html. * fast/css/is-specificity-2.html: Copied from fast/css/matches-specificity-2.html. * fast/css/is-specificity-2-expected.html: Copied from fast/css/matches-specificity-2-expected.html. * fast/css/is-specificity-3.html: Copied from fast/css/matches-specificity-3.html. * fast/css/is-specificity-3-expected.html: Copied from fast/css/matches-specificity-3-expected.html. * fast/css/is-specificity-4.html: Copied from fast/css/matches-specificity-4.html. * fast/css/is-specificity-4-expected.html: Copied from fast/css/matches-specificity-4-expected.html. * fast/css/is-specificity-5.html: Copied from fast/css/matches-specificity-5.html. * fast/css/is-specificity-5-expected.html: Copied from fast/css/matches-specificity-5-expected.html. * fast/css/is-specificity-6.html: Copied from fast/css/matches-specificity-6.html. * fast/css/is-specificity-6-expected.html: Copied from fast/css/matches-specificity-6-expected.html. * fast/css/is-specificity-7.html: Copied from fast/css/matches-specificity-7.html. * fast/css/is-specificity-7-expected.html: Copied from fast/css/matches-specificity-7-expected.html. * fast/css/is-specificity-8.html: Copied from fast/css/matches-specificity-8.html. * fast/css/is-specificity-8-expected.html: Copied from fast/css/matches-specificity-8-expected.html. * fast/css/is-specificity-9.html: Copied from fast/css/matches-specificity-9.html. * fast/css/is-specificity-9-expected.html: Copied from fast/css/matches-specificity-9-expected.html. * fast/css/is-specificity-10.html: Copied from fast/css/matches-specificity-10.html. * fast/css/is-specificity-10-expected.html: Copied from fast/css/matches-specificity-10-expected.html. * fast/css/parsing-css-attribute-case-insensitive-value-1.html: * fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt: * fast/css/parsing-css-attribute-case-insensitive-value-4.html: * fast/css/parsing-css-attribute-case-insensitive-value-4-expected.txt: * fast/css/parsing-css-is-1.html: Coped from fast/css/parsing-css-matches-1.html. * fast/css/parsing-css-is-1-expected.txt: Coped from fast/css/parsing-css-matches-1-expected.txt. * fast/css/parsing-css-is-2.html: Coped from fast/css/parsing-css-matches-2.html. * fast/css/parsing-css-is-2-expected.txt: Coped from fast/css/parsing-css-matches-2-expected.txt. * fast/css/parsing-css-is-3.html: Coped from fast/css/parsing-css-matches-3.html. * fast/css/parsing-css-is-3-expected.txt: Coped from fast/css/parsing-css-matches-3-expected.txt. * fast/css/parsing-css-is-4.html: Coped from fast/css/parsing-css-matches-4.html. * fast/css/parsing-css-is-4-expected.txt: Coped from fast/css/parsing-css-matches-4-expected.txt. * fast/css/parsing-css-is-5.html: Coped from fast/css/parsing-css-matches-5.html. * fast/css/parsing-css-is-5-expected.txt: Coped from fast/css/parsing-css-matches-5-expected.txt. * fast/css/parsing-css-is-6.html: Coped from fast/css/parsing-css-matches-6.html. * fast/css/parsing-css-is-6-expected.txt: Coped from fast/css/parsing-css-matches-6-expected.txt. * fast/css/parsing-css-is-7.html: Coped from fast/css/parsing-css-matches-7.html. * fast/css/parsing-css-is-7-expected.txt: Coped from fast/css/parsing-css-matches-7-expected.txt. * fast/css/parsing-css-is-8.html: Coped from fast/css/parsing-css-matches-8.html. * fast/css/parsing-css-is-8-expected.txt: Coped from fast/css/parsing-css-matches-8-expected.txt. * fast/css/parsing-css-not-1.html: * fast/css/parsing-css-not-1-expected.txt: * fast/css/parsing-css-not-2.html: * fast/css/parsing-css-not-2-expected.txt: * fast/css/parsing-css-not-5.html: * fast/css/parsing-css-not-5-expected.txt: * fast/css/parsing-css-not-6.html: * fast/css/parsing-css-not-6-expected.txt: * fast/css/parsing-css-not-7.html: * fast/css/parsing-css-not-7-expected.txt: * fast/css/parsing-css-not-8.html: * fast/css/parsing-css-not-8-expected.txt: * fast/css/parsing-css-not-9.html: * fast/css/parsing-css-not-9-expected.txt: * fast/css/parsing-css-nth-child-of-4.html: * fast/css/parsing-css-nth-child-of-4-expected.txt: * fast/css/parsing-css-nth-last-child-of-4.html: * fast/css/parsing-css-nth-last-child-of-4-expected.txt: * fast/selectors/case-insensitive-attribute-register-requirement-1.html: * fast/selectors/case-insensitive-attribute-register-requirement-1-expected.txt: * fast/selectors/element-matches-attribute-ascii-case-insensitive-html-expected.txt: * fast/selectors/element-matches-attribute-ascii-case-insensitive-html.html: * fast/selectors/is-backtracking.html: Copied from fast/selectors/matches-backtracking.html. * fast/selectors/is-backtracking-expected.txt: Copied from fast/selectors/matches-backtracking-expected.txt. * fast/selectors/is-complex.html: Copied from fast/selectors/matches-complex.html. * fast/selectors/is-complex-expected.txt: Copied from fast/selectors/matches-complex-expected.txt. * fast/selectors/is-selector-list.html: Copied from fast/selectors/matches-selector-list.html. * fast/selectors/is-selector-list-expected.txt: Copied from fast/selectors/matches-selector-list-expected.txt. * fast/selectors/is-selector-list-ending-with-never-matching-selectors.html: Copied from fast/selectors/matches-selector-list-ending-with-never-matching-selectors.html. * fast/selectors/is-selector-list-ending-with-never-matching-selectors-expected.txt: Copied from fast/selectors/matches-selector-list-ending-with-never-matching-selectors-expected.txt. * fast/selectors/is-with-pseudo-element.html: Copied from fast/selectors/matches-with-pseudo-element.html. * fast/selectors/is-with-pseudo-element-expected.html: Copied from fast/selectors/matches-with-pseudo-element-expected.html. * fast/selectors/pseudo-element-inside-is.html: Copied from fast/selectors/pseudo-element-inside-matches.html. * fast/selectors/pseudo-element-inside-is-expected.html: Copied from fast/selectors/pseudo-element-inside-matches-expected.html. * fast/selectors/querySelector-attribute-ascii-case-insensitive-html.html: * fast/selectors/querySelector-attribute-ascii-case-insensitive-html-expected.txt: * fast/selectors/querySelector-is.html: Copied from fast/selectors/querySelector-matches.html. * fast/selectors/querySelector-is-expected.txt: Copied from fast/selectors/querySelector-matches-expected.txt. * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-html.html: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-html-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-xhtml.xhtml: * fast/selectors/querySelector-tagname-case-sensitivity-svg-in-xhtml-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-html.html: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-html-expected.txt: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-xhtml.xhtml: * fast/selectors/querySelector-tagname-case-sensitivity-xml-in-xhtml-expected.txt: * inspector/css/selector-dynamic-specificity.html: * inspector/css/selector-dynamic-specificity-expected.txt: * TestExpectations: * platform/wincairo/TestExpectations: * platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/222706@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259261 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-31 00:52:56 +00:00
},
"url": "http://dev.w3.org/csswg/selectors-4/#matches",
"specification": "CSS Selectors Level 4",
"description": "The selector :is() takes a selector list as argument and is an element if any of them is (e.g. :is(article > section, #target)). When used for styling, the specificity of :is() is the higest specificity of all selectors in the selector list.",
"comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :is()."
},
{
"name": "CSS Selector :lang() level 4",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/selectors-4/#the-lang-pseudo",
"specification": "CSS Selectors Level 4",
"description": "The selector :lang() is extended in level 4 to support a list of language range, each range can contain a wildcard. For example: p:lang(\"*-be\", \"en\")."
},
{
"name": "CSS Selector :matches()",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/selectors-4/#matches",
"specification": "CSS Selectors Level 4",
"description": "The selector :matches() takes a selector list as argument and matches an element if any of them matches (e.g. :matches(article > section, #target)). When used for styling, the specificity of :matches() is the higest specificity of all selectors in the selector list.",
"comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :matches().",
"contact": {
"name": "Benjamin Poulain",
"twitter": "@awfulben",
"email": "benjamin@webkit.org"
}
},
{
"name": "CSS Selector :not() level 4",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/selectors-4/#negation",
"specification": "CSS Selectors Level 4",
"description": "The selector :not() in level 4 supports full selector lists as argument. For example: :not(:any-link >> img, :any-link >> picture).",
"comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :not().",
"contact": {
"name": "Benjamin Poulain",
"twitter": "@awfulben",
"email": "benjamin@webkit.org"
}
},
{
"name": "CSS Selector :nth-child(An+B of selector list) and :nth-last-child(An+B of selector list)",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/selectors-4/#the-nth-child-pseudo",
"specification": "CSS Selectors Level 4",
"description": "The pseudo classes :nth-child() and :nth-last-child() now supports a selector list that filters what to count. For example: \":nth-child(even of .visible)\".",
"comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :nth-child() and :nth-last-child().",
"contact": {
"name": "Benjamin Poulain",
"twitter": "@awfulben",
"email": "benjamin@webkit.org"
}
},
{
"name": "CSS Selector :placeholder-shown",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/selectors-4/#placeholder",
"specification": "CSS Selectors Level 4",
"description": "The selector :placeholder-shown matches any input element that has a visible placeholder.",
Add the unprefixed version of the pseudo element ::placeholder https://bugs.webkit.org/show_bug.cgi?id=158653 Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-06-14 Reviewed by Dean Jackson. Source/WebCore: Test: fast/forms/placeholder-pseudo-element-with-webkit-prefix.html The pseudo element ::-webkit-input-placeholder is stupidly popular which forces other engines to support this exact name. The pseudo-element spec provides a new standard name we can adopt to drop the prefix: https://drafts.csswg.org/css-pseudo-4/#placeholder-pseudo This patch does just that, make ::placeholder the standard name to select the placeholder element in the shadow dom of input elements. Unlike pseudo classes, we did not have any support for prefixes and aliasing. I want to keep the absurdly efficient matching we currently use for styling because style updates are more common than stylesheet updates. With that constraint in mind, the value of CSSSelector has to be the unprefixed version for both forms of input. This leaves us with the problem of displaying the CSSSelector for CSSOM. To differentiate the legacy form from the standard form, I added a new type of PseudoElement: PseudoElementWebKitCustomLegacyPrefixed. When parsing, PseudoElementWebKitCustomLegacyPrefixed let us replace the original value "-webkit-input-placeholder" by the standard value. When creating the selectorText for CSSOM, PseudoElementWebKitCustomLegacyPrefixed let us replace the standard for by the legacy form. * css/CSSParserValues.cpp: (WebCore::CSSParserSelector::parsePseudoElementSelector): * css/CSSSelector.cpp: (WebCore::CSSSelector::pseudoId): (WebCore::CSSSelector::selectorText): * css/CSSSelector.h: (WebCore::CSSSelector::isCustomPseudoElement): (WebCore::CSSSelector::isWebKitCustomPseudoElement): * css/SelectorChecker.cpp: (WebCore::SelectorChecker::matchRecursively): * css/SelectorPseudoElementTypeMap.in: * css/html.css: (::placeholder): (input::placeholder, isindex::placeholder): (textarea::placeholder): (::-webkit-input-placeholder): Deleted. (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder): Deleted. (textarea::-webkit-input-placeholder): Deleted. * features.json: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlPlaceholderElement::TextControlPlaceholderElement): Source/WebInspectorUI: * UserInterface/Views/FilterBar.css: (.filter-bar > input[type="search"]::placeholder): (.filter-bar > input[type="search"]::-webkit-input-placeholder): Deleted. * UserInterface/Views/FindBanner.css: (.find-banner.console-find-banner > input[type="search"]::placeholder): (.find-banner.console-find-banner > input[type="search"]::-webkit-input-placeholder): Deleted. * UserInterface/Views/GoToLineDialog.css: (.go-to-line-dialog > div > input::placeholder): (.go-to-line-dialog > div > input::-webkit-input-placeholder): Deleted. * UserInterface/Views/OpenResourceDialog.css: (.open-resource-dialog > .field > input::placeholder): (.open-resource-dialog > .field > input::-webkit-input-placeholder): Deleted. * UserInterface/Views/SearchBar.css: (.search-bar > input[type="search"]::placeholder): (.search-bar > input[type="search"]::-webkit-input-placeholder): Deleted. * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: LayoutTests: * fast/css/css-selector-text-expected.txt: * fast/css/css-selector-text.html: * fast/css/css-set-selector-text-expected.txt: * fast/css/css-set-selector-text.html: This covers CSSOM for the prefixed version. * fast/forms/placeholder-pseudo-element-with-webkit-prefix-expected.html: Added. * fast/forms/placeholder-pseudo-element-with-webkit-prefix.html: Added. This verifies both version of the pseudo elements are equivalent. * fast/css/pseudo-cache-stale-expected.html: * fast/css/pseudo-cache-stale.html: * fast/forms/input-placeholder-paint-order-2-expected.html: * fast/forms/input-placeholder-paint-order-2.html: * fast/forms/input-placeholder-paint-order.html: * fast/forms/input-placeholder-text-indent.html: * fast/forms/input-user-modify.html: * fast/forms/isindex-placeholder.html: * fast/forms/placeholder-position.html: * fast/forms/placeholder-pseudo-style.html: * fast/forms/textarea-placeholder-pseudo-style.html: * fast/forms/textarea/textarea-placeholder-paint-order-2-expected.html: * fast/forms/textarea/textarea-placeholder-paint-order-2.html: * fast/forms/textarea/textarea-placeholder-paint-order.html: Canonical link: https://commits.webkit.org/176845@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@202066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-06-14 22:09:33 +00:00
"comment": "Styling the placeholder can be done through the WebKit pseudo-element \"::placeholder\".",
"contact": {
"name": "Benjamin Poulain",
"twitter": "@awfulben",
"email": "benjamin@webkit.org"
}
},
{
"name": "CSS Shapes Level 1",
"status": {
"status": "Supported"
},
"url": "http://www.w3.org/TR/css-shapes-1/",
"description": "CSS Shapes describe geometric shapes for use in CSS. For Level 1, CSS Shapes can be applied to floats.",
"comment": "The implementation is feature complete and shipping, but is -webkit prefixed."
},
{
"name": "Case-insensitive attribute selectors",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/selectors-4/#attribute-case",
"specification": "CSS Selectors Level 4",
"description": "Any attribute selector that test a value can take a flag \"i\" to use case insensitive checks. For example: input[type=number i] test the value \"number\" case-insensitively.",
"contact": {
"name": "Benjamin Poulain",
"twitter": "@awfulben",
"email": "benjamin@webkit.org"
}
},
{
"name": "Conic Gradients",
"status": {
"status": "Supported"
},
"url": "https://www.w3.org/TR/css4-images/#conic-gradients",
"specification": "CSS Image Values and Replaced Content Module Level 4",
"description": "Defines gradients wrapped around a central point.",
"contact": {
"name": "Jonathan Davis",
"email": "web-evangelist@apple.com",
"twitter": "@jonathandavis"
}
},
{
"name": "Cross-Origin Resource Policy",
"status": {
"status": "Supported"
},
"url": "https://fetch.spec.whatwg.org/#cross-origin-resource-policy-header",
"specification": "Fetch",
"keywords": ["security"],
"description": "Allows websites to protect against certain requests from other origins.",
"contact": {
"name": "Jon Davis",
"twitter": "@jonathandavis",
"email": "web-evangelist@apple.com"
}
},
{
"name": "Custom Elements",
"status": {
"status": "Supported"
},
"url": "http://w3c.github.io/webcomponents/spec/custom/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=150225",
"specification": "Web Components",
"description": "Define a custom HTML tag and associate it with an ES6 class.",
"contact": {
"name": "Ryosuke Niwa",
"twitter": "@rniwa_dev",
"email": "rniwa@webkit.org"
}
},
{
"name": "Datalist Element",
"status": {
"status": "Supported"
},
"url": "https://html.spec.whatwg.org/multipage/form-elements.html#the-datalist-element",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=27247",
"specification": "HTML5",
"category": "html",
"description": "The datalist element represents a set of option elements that represent predefined options for other controls.",
"contact": {
"name": "Jon Davis",
"twitter": "@jonathandavis",
"email": "web-evangelist@apple.com"
}
},
{
"name": "Date and Time Input Types",
"status": {
"status": "Partially Supported"
},
"url": "https://html.spec.whatwg.org/multipage/input.html#date-state-(type=date)",
"specification": "HTML5",
"category": "html",
"description": "Form controls that allow users to enter a date, time or both. Refers to the following types of input elements: date, time, datetime-local, month, and week.",
"comment": "The month input type is unsupported on macOS. The week input type is unsupported on macOS and iOS.",
"contact": {
"name": "Aditya Keerthi",
"email": "akeerthi@apple.com"
}
},
{
"name": "Dialog Element",
"status": {
"status": "In Development"
},
"url": "https://html.spec.whatwg.org/multipage/interactive-elements.html#the-dialog-element",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=84635",
"specification": "HTML5",
"category": "html",
"description": "The dialog element represents a part of an application that a user interacts with to perform a task, for example a dialog box, inspector, or window.",
"contact": {
"name": "Jon Davis",
"twitter": "@jonathandavis",
"email": "web-evangelist@apple.com"
}
},
{
"name": "Download Attribute",
"status": {
"status": "Supported"
},
"url": "https://html.spec.whatwg.org/multipage/semantics.html#downloading-resources",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=156056",
"specification": "HTML5",
"category": "html",
"description": "An attribute to an anchor or area element to indicate that a resource is intended to be downloaded for use later rather than immediately.",
"contact": {
"name": "Brent Fulgham",
"email": "bfulgham@apple.com",
"twitter": "@bfulgham"
}
},
{
"name": "Element.closest()",
"status": {
"status": "Supported"
},
"url": "https://dom.spec.whatwg.org/#dom-element-closest",
"documentation-url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/closest",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=137418",
"specification": "DOM",
"description": "Find the closest ancestor matching the selector passed as argument. The element itself is returned if it matches the selector.",
"contact": {
"name": "Benjamin Poulain",
"twitter": "@awfulben",
"email": "benjamin@webkit.org"
}
},
{
"name": "File and Directory Entries API",
"status": {
"status": "Supported"
},
"url": "https://wicg.github.io/entries-api/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=175976",
"description": "An API to support file and directory upload by drag-and-drop operations.",
"contact": {
"name": "Chris Dumez",
"email": "cdumez@apple.com",
"twitter": "@chris_dumez"
}
},
{
"name": "Filter Effects backdrop-filter property",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/fxtf/filters-2/#propdef-backdrop-filter",
"specification": "Filter Effects Module Level 2",
"description": "This property specifies styling for filters applied to the backdrop of an element."
},
{
"name": "Font Palettes",
"status": {
"status": "In Development"
},
"url": "https://drafts.csswg.org/css-fonts-4/#propdef-font-palette",
"specification": "CSS Fonts Level 4",
"description": "Allows setting colors in color fonts from CSS"
},
{
"name": "Force Click Events",
"status": {
"status": "Supported"
},
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142836",
"description": "Provide the events necessary to handle force click events in the page, overriding the default behavior."
},
{
"name": "HTML Interactive Form Validation",
"status": {
"status": "Supported"
},
"url": "https://html.spec.whatwg.org/#constraint-validation",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=164382",
"keywords": ["form validation", "bubble"],
"specification": "HTML5",
"description": "Interactive validation of constraints on HTML forms by displaying bubbles with a validation message next to incomplete / invalid form controls.",
"contact": {
"name": "Chris Dumez",
"email": "cdumez@apple.com",
"twitter": "@chris_dumez"
}
},
{
"name": "HTML imports",
"status": {
"status": "Not Considering"
},
"url": "http://w3c.github.io/webcomponents/spec/imports/",
"specification": "Web Components",
"description": "Includes resusable HTML documents in other HTML documents.",
"comment": "Multiple browser vendors have raised concerns about how the HTML imports currently works. For example, its dependency model is not fully compatible with ES6 Modules. We are exploring other ways to package web components by integrating into ES6 Modules with other browser vendors.",
"contact": {
"name": "Ryosuke Niwa",
"twitter": "@rniwa_dev",
"email": "rniwa@webkit.org"
}
},
{
"name": "HTTP Cache Partitioning",
"status": {
"status": "Supported"
},
"keywords": ["privacy"],
"category": "privacy",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=110269",
"description": "Optionally partitions cache to prevent using cache for tracking."
},
{
"name": "ImageBitmap",
"status": {
"status": "In Development"
},
"url": "https://html.spec.whatwg.org/multipage/webappapis.html#imagebitmap",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=182424",
"specification": "HTML5",
"description": "An interface for drawing bitmap images to a &lt;canvas&gt; without undue latency.",
"contact": {
"name": "Jonathan Davis",
"email": "web-evangelist@apple.com",
"twitter": "@jonathandavis"
}
},
{
"name": "Initial Letter",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/css-inline/#propdef-initial-letter",
"specification": "CSS Inline Layout Module Level 3",
"description": "This property specifies styling for dropped, raised, and sunken initial letters."
},
{
"name": "Input Events",
"status": {
"status": "Supported",
"enabled-by-default": false
},
"url": "https://w3c.github.io/input-events",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=163112",
"documentation-url": "https://w3c.github.io/input-events",
"description": "Allows pages to override default editing behaviors and to monitor DOM changes due to user input."
},
{
"name": "Input modalities (inputmode attribute)",
"status": {
"status": "Supported",
"enabled-by-default": false
},
"url": "https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute",
"documentation-url": "https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode",
"description": "Allows pages to specify what kind of input mechanism would be most suitable to a given form control or a contenteditable element."
},
{
"name": "Interaction Media Features (pointer, hover, any-pointer, any-hover)",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/mediaqueries-4/#mf-interaction",
"specification": "CSS Media Queries Level 4",
"description": "The \"pointer\" media defines how percise the pointing device is. The \"hover\" media defines the ability of the poiting device to hover elements."
},
{
"name": "MediaStream Recording API",
"status": {
"status": "In Development"
},
"url": "https://w3c.github.io/mediacapture-record",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=85851",
"comment": "Allows recording of audio and/or video MediaStream."
},
{
"name": "MicroData",
"status": {
"status": "Removed"
},
"url": "https://html.spec.whatwg.org/multipage/microdata.html",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=119480",
"specification": "HTML5",
"comment": "WebKit used to support MicroData. The feature never gained any traction and was eventually removed to clean up the codebase."
},
{
"name": "Payment Request",
"status": {
"status": "Supported"
},
"url": "https://www.w3.org/TR/payment-request/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=174796",
"keywords": ["web payments", "payment request", "apple pay"],
"description": "An API for merchants to request payments from users."
},
{
"name": "Picture element",
"status": {
"status": "Supported",
"enabled-by-default": false
},
"url": "https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=116963",
"specification": "HTML5",
"category": "html",
"description": "Enable handling the art-direction responsive images use-case by defining multiple image sources in markup",
"contact": {
"name": "Yoav Weiss",
"twitter": "@yoavweiss",
"email": "yoav@yoav.ws"
}
},
{
"name": "Position: sticky",
"status": {
"status": "Supported"
},
"url": "http://dev.w3.org/csswg/css-position/#sticky-pos",
"specification": "CSS Positioned Layout Module Level 3",
"description": "Sticky positioning provides a way to position element out of the normal flow when scrolling. Unlike solutions based on JavaScript, the change of position is synchronized with scrolling.",
"comment": "The feature is prefixed with <em>-webkit-</em>. There are some remaining issues to resolve in the specification."
},
{
"name": "Readable Streams",
"status": {
"status": "Supported"
},
"url": "https://streams.spec.whatwg.org/#rs",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=138967",
"specification": "Streams",
[Streams API] Replace ReadableStreamReader by ReadableStreamDefaultReader https://bugs.webkit.org/show_bug.cgi?id=160194 Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2016-07-27 Reviewed by Youenn Fablet. Replaced ReadableStreamReader by ReadableStreamDefaultReader to align with updated Streams API specification. No change in functionality. Source/WebCore: * CMakeLists.txt: * DerivedSources.cpp: * DerivedSources.make: * Modules/fetch/FetchInternals.js: (consumeStream): * Modules/fetch/FetchResponse.js: (body): * Modules/streams/ReadableStream.js: (getReader): * Modules/streams/ReadableStreamDefaultReader.idl: Renamed from Source/WebCore/Modules/streams/ReadableStreamReader.idl. * Modules/streams/ReadableStreamDefaultReader.js: Renamed from Source/WebCore/Modules/streams/ReadableStreamReader.js. (cancel): (read): (releaseLock): (closed): * Modules/streams/ReadableStreamInternals.js: (privateInitializeReadableStreamDefaultReader): (teeReadableStream): (teeReadableStreamPullFunction): (isReadableStreamDefaultReader): (closeReadableStream): (readFromReadableStreamDefaultReader): * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::addBuiltinGlobals): (WebCore::JSDOMGlobalObject::finishCreation): * bindings/js/JSReadableStreamPrivateConstructors.cpp: (WebCore::constructJSReadableStreamDefaultReader): (WebCore::JSBuiltinReadableStreamDefaultReaderPrivateConstructor::initializeExecutable): (WebCore::createReadableStreamDefaultReaderPrivateConstructor): * bindings/js/JSReadableStreamPrivateConstructors.h: * bindings/js/WebCoreBuiltinNames.h: * features.json: LayoutTests: * streams/brand-checks.html: * streams/readable-stream-controller-error-expected.txt: * streams/readable-stream-controller-error.html: * streams/readable-stream-default-reader-read-expected.txt: Renamed from LayoutTests/streams/readable-stream-reader-read-expected.txt. * streams/readable-stream-default-reader-read.html: Renamed from LayoutTests/streams/readable-stream-reader-read.html. * streams/readable-stream-error-messages-expected.txt: * streams/readable-stream-error-messages.html: * streams/reference-implementation/readable-stream-reader-expected.txt: * streams/shadowing-Promise-expected.txt: * streams/shadowing-Promise.html: Canonical link: https://commits.webkit.org/178400@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@203772 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-07-27 10:40:17 +00:00
"comment": "The implementation does not support ReadableStreamBYOBReader."
},
{
"name": "Resize Observer",
"status": {
"status": "Supported"
},
"url": "https://drafts.csswg.org/resize-observer/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=157743",
"keywords": ["resize", "resize observer", "resizeobserver"],
"description": "An API for observing changes to Element's size.",
"contact": {
"name": "Cathie Chen",
"email": "cathiechen@igalia.com"
}
},
{
"name": "Scroll Anchoring",
"status": {
"status": "Under Consideration"
},
"url": "https://wicg.github.io/ScrollAnchoring/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=171099",
"description": "Maintains page scroll position when content is modified.",
"keywords": ["scroll", "anchor"],
"category": "html"
},
{
"name": "Shadow DOM",
"status": {
"status": "Supported"
},
"url": "http://w3c.github.io/webcomponents/spec/shadow/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=148695",
"specification": "Web Components",
"description": "Functional encapsulation of HTML and CSS for Web Components.",
"comment": "We are fixing the remainig bugs in our implementation.",
"contact": {
"name": "Ryosuke Niwa",
"twitter": "@rniwa_dev",
"email": "rniwa@webkit.org"
}
},
{
"name": "Shared Web Workers",
"status": {
"status": "Removed"
},
"url": "https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introduction",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=140344",
"specification": "HTML5",
"comment": "The implementation of Shared Web Workers was imposing undesirable constraints on the engine. The feature never gained any adoption and was eventually removed from the engine."
},
{
"name": "Srcset w descriptor and related sizes attribute",
"status": {
"status": "Supported"
},
"url": "https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=133620",
"specification": "HTML5",
"description": "Enable handling the variable width responsive images use-case by defining multiple image resources in markup",
"contact": {
"name": "Yoav Weiss",
"twitter": "@yoavweiss",
"email": "yoav@yoav.ws"
}
},
{
"name": "Srcset x descriptor",
"status": {
"status": "Supported"
},
"url": "https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=110252",
"specification": "HTML5",
"description": "Enable handling the fixed width responsive images use-case by defining multiple image resources in markup",
"contact": {
"name": "Yoav Weiss",
"twitter": "@yoavweiss",
"email": "yoav@yoav.ws"
}
},
{
"name": "Strict Mixed Content Checking",
"status": {
"status": "Supported"
},
"url": "https://w3c.github.io/webappsec-mixed-content/#strict-checking",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=165438",
"keywords": ["csp", "content security policy", "blockable", "optionally-blockable", "block-all-mixed-content", "HTTPS", "security"],
"category": "webapps",
"description": "Allows developers to opt into blocking display and running of all insecure content on an HTTPS page.",
"contact": {
"name": "Daniel Bates",
"email": "dbates@webkit.org"
}
},
{
"name": "Subresource Integrity",
"status": {
"status": "Supported"
},
"url": "https://w3c.github.io/webappsec-subresource-integrity/",
"keywords": ["security"],
"description": "Extends script and link elements with an integrity attribute that contains a cryptographic hash of the representation of the resource the author expects to load.",
"contact": {
"name": "Jonathan Davis",
"email": "web-evangelist@apple.com",
"twitter": "@jonathandavis"
}
},
{
"name": "Template Element",
"status": {
"status": "Supported"
},
"url": "http://www.w3.org/TR/html5/scripting-1.html#the-template-element",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=124637",
"documentation-url": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template",
"specification": "Web Components",
"description": "Declares HTML fragments that can be cloned and inserted into the document by a script."
},
{
"name": "Upgrade Insecure Requests",
"status": {
"status": "Supported"
},
"url": "https://w3c.github.io/webappsec-upgrade-insecure-requests/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=143653",
"keywords": ["csp", "content security policy", "upgrade-insecure-requests", "HTTPS"],
"category": "webapps",
"description": "Allows developers to opt into automatic upgrading of insecure requests to secure requests."
},
{
"name": "Variation Fonts",
"status": {
"status": "Supported",
"enabled-by-default": false
},
"url": "https://drafts.csswg.org/css-fonts-4/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=162815",
"documentation-url": "https://drafts.csswg.org/css-fonts-4/",
"specification": "CSS Fonts Level 4",
"description": "Allows selection of variation values along fonts' exposed axes."
},
Remove Vibration API https://bugs.webkit.org/show_bug.cgi?id=171766 Rubber-stamped by Alexey Proskuryakov. .: * Source/cmake/WebKitFeatures.cmake: Source/WebCore: * features.json: Mark the Vibration API as removed. * CMakeLists.txt: * DerivedSources.cpp: * Modules/vibration/NavigatorVibration.cpp: Removed. * Modules/vibration/NavigatorVibration.h: Removed. * Modules/vibration/NavigatorVibration.idl: Removed. * Modules/vibration/Vibration.cpp: Removed. * Modules/vibration/Vibration.h: Removed. * Modules/vibration/VibrationClient.h: Removed. * testing/Internals.cpp: (WebCore::Internals::isVibrating): Deleted. * testing/Internals.h: * testing/Internals.idl: Source/WebKit2: * CMakeLists.txt: * Shared/API/APIObject.h: * Shared/API/c/WKBase.h: * UIProcess/API/C/WKAPICast.h: * UIProcess/API/C/WKPage.cpp: (WKPageGetVibration): Deleted. * UIProcess/API/C/WKPage.h: * UIProcess/API/C/WKVibration.cpp: Removed. * UIProcess/API/C/WKVibration.h: Removed. * UIProcess/WebPageProxy.cpp: (WebKit::m_weakPtrFactory): (WebKit::WebPageProxy::resetState): * UIProcess/WebPageProxy.h: (WebKit::WebPageProxy::vibration): Deleted. * UIProcess/WebVibrationProvider.cpp: Removed. * UIProcess/WebVibrationProvider.h: Removed. * UIProcess/WebVibrationProxy.cpp: Removed. * UIProcess/WebVibrationProxy.h: Removed. * UIProcess/WebVibrationProxy.messages.in: Removed. * WebProcess/WebCoreSupport/WebVibrationClient.cpp: Removed. * WebProcess/WebCoreSupport/WebVibrationClient.h: Removed. * WebProcess/WebPage/WebPage.cpp: Source/WTF: * wtf/FeatureDefines.h: Tools: * Scripts/webkitperl/FeatureList.pm: LayoutTests: * platform/gtk/TestExpectations: * platform/ios/TestExpectations: * platform/mac/TestExpectations: * platform/win/TestExpectations: * platform/wpe/TestExpectations: * vibration/cancelVibration-after-pagevisibility-changed-to-hidden-expected.txt: Removed. * vibration/cancelVibration-after-pagevisibility-changed-to-hidden.html: Removed. * vibration/cancelVibration-during-pattern-vibrating-expected.txt: Removed. * vibration/cancelVibration-during-pattern-vibrating.html: Removed. * vibration/navigator-vibration-expected.txt: Removed. * vibration/navigator-vibration.html: Removed. Canonical link: https://commits.webkit.org/188916@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-11 21:45:55 +00:00
{
"name": "Vibration API",
"status": {
"status": "Removed"
},
"url": "https://w3c.github.io/vibration/",
"keywords": ["vibration"],
"category": "webapps",
"description": "An API that provides access to the vibration mechanism of the hosting device."
},
{
"name": "Visual Viewport API",
"status": {
"status": "Supported"
},
"url": "https://wicg.github.io/visual-viewport/",
"description": "A proposal to add explicit APIs to the Web for querying and setting the visual viewport.",
"keywords": ["visual viewport", "viewport", "viewportapi"]
},
{
"name": "Web Audio",
"status": {
"status": "Supported"
},
"url": "https://www.w3.org/TR/webaudio/",
"keywords": ["audio", "webaudio"],
"description": "A high-level JavaScript API for processing and synthesizing audio in web applications.",
"comment": "WebKit's implementation does not match the current specification."
},
{
"name": "Web Authentication",
"status": {
"status": "Supported"
},
"url": "https://w3c.github.io/webauthn/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=181943",
"keywords": ["authentication", "credentials", "webauthn", "security"],
"description": "An API enabling the creation and use of strong, attested, cryptographic scoped credentials by web applications, for the purpose of strongly authenticating users.",
"contact": {
"name": "Jiewen Tan",
"email": "jiewen_tan@apple.com",
"twitter": "@alanwaketan"
}
},
{
"name": "Web Bluetooth",
"status": {
"status": "Not Considering"
},
"url": "https://webbluetoothcg.github.io/web-bluetooth/",
"keywords": ["bluetooth", "security", "privacy"],
"description": "An API to discover and communicate with devices over the Bluetooth."
},
{
"name": "Web Bluetooth Scanning",
"status": {
"status": "Not Considering"
},
"url": "https://webbluetoothcg.github.io/web-bluetooth/",
"keywords": ["bluetooth", "privacy"],
"description": "An API to listen for Bluetooth Low Energy advertising packets."
},
{
"name": "Web MIDI",
"status": {
"status": "Not Considering"
},
"url": "https://www.w3.org/TR/webmidi/",
"keywords": ["MIDI", "music", "synthesizer", "keyboard", "security", "privacy"],
"description": "An API supporting the Musical Instrument Digital Interface (MIDI) protocol, enabling web applications to enumerate and select MIDI input and output devices on the client system and send and receive MIDI messages."
},
{
"name": "Web Share",
"status": {
"status": "Supported"
},
"url": "https://github.com/WICG/web-share/blob/master/docs/interface.md",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=171100",
"keywords": ["sharing"],
"description": "An API to allow content from the page to be exposed to platform sharing APIs."
},
{
"name": "WebUSB",
"status": {
"status": "Not Considering"
},
"url": "https://wicg.github.io/webusb/",
"keywords": ["USB", "security", "privacy"],
"description": "An an API for securely providing access to Universal Serial Bus devices from web pages."
},
{
"name": "inert attribute",
"status": {
"status": "In Development",
"enabled-by-default": false
},
"url": "https://whatpr.org/html/4288/interaction.html#the-inert-attribute",
"documentation-url": "https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=165279",
"specification": "DOM",
"description": "An attribute that flags a node as inert to tell the user-agent to ignore the node for targeting user interaction events such as selecting text in the node, or find-in-page text search.",
"contact": {
"name": "Jonathan Davis",
"twitter": "@jonathandavis",
"email": "web-evangelist@apple.com"
}
},
{
"name": "requestIdleCallback",
"status": {
"status": "Under Consideration"
},
"url": "https://w3c.github.io/requestidlecallback/",
"webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=164193",
"keywords": ["requestIdleCallback", "idle callback"],
"description": "An API that can be used to cooperatively schedule background tasks."
}
]
Add the unprefixed version of the pseudo element ::placeholder https://bugs.webkit.org/show_bug.cgi?id=158653 Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-06-14 Reviewed by Dean Jackson. Source/WebCore: Test: fast/forms/placeholder-pseudo-element-with-webkit-prefix.html The pseudo element ::-webkit-input-placeholder is stupidly popular which forces other engines to support this exact name. The pseudo-element spec provides a new standard name we can adopt to drop the prefix: https://drafts.csswg.org/css-pseudo-4/#placeholder-pseudo This patch does just that, make ::placeholder the standard name to select the placeholder element in the shadow dom of input elements. Unlike pseudo classes, we did not have any support for prefixes and aliasing. I want to keep the absurdly efficient matching we currently use for styling because style updates are more common than stylesheet updates. With that constraint in mind, the value of CSSSelector has to be the unprefixed version for both forms of input. This leaves us with the problem of displaying the CSSSelector for CSSOM. To differentiate the legacy form from the standard form, I added a new type of PseudoElement: PseudoElementWebKitCustomLegacyPrefixed. When parsing, PseudoElementWebKitCustomLegacyPrefixed let us replace the original value "-webkit-input-placeholder" by the standard value. When creating the selectorText for CSSOM, PseudoElementWebKitCustomLegacyPrefixed let us replace the standard for by the legacy form. * css/CSSParserValues.cpp: (WebCore::CSSParserSelector::parsePseudoElementSelector): * css/CSSSelector.cpp: (WebCore::CSSSelector::pseudoId): (WebCore::CSSSelector::selectorText): * css/CSSSelector.h: (WebCore::CSSSelector::isCustomPseudoElement): (WebCore::CSSSelector::isWebKitCustomPseudoElement): * css/SelectorChecker.cpp: (WebCore::SelectorChecker::matchRecursively): * css/SelectorPseudoElementTypeMap.in: * css/html.css: (::placeholder): (input::placeholder, isindex::placeholder): (textarea::placeholder): (::-webkit-input-placeholder): Deleted. (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder): Deleted. (textarea::-webkit-input-placeholder): Deleted. * features.json: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlPlaceholderElement::TextControlPlaceholderElement): Source/WebInspectorUI: * UserInterface/Views/FilterBar.css: (.filter-bar > input[type="search"]::placeholder): (.filter-bar > input[type="search"]::-webkit-input-placeholder): Deleted. * UserInterface/Views/FindBanner.css: (.find-banner.console-find-banner > input[type="search"]::placeholder): (.find-banner.console-find-banner > input[type="search"]::-webkit-input-placeholder): Deleted. * UserInterface/Views/GoToLineDialog.css: (.go-to-line-dialog > div > input::placeholder): (.go-to-line-dialog > div > input::-webkit-input-placeholder): Deleted. * UserInterface/Views/OpenResourceDialog.css: (.open-resource-dialog > .field > input::placeholder): (.open-resource-dialog > .field > input::-webkit-input-placeholder): Deleted. * UserInterface/Views/SearchBar.css: (.search-bar > input[type="search"]::placeholder): (.search-bar > input[type="search"]::-webkit-input-placeholder): Deleted. * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: LayoutTests: * fast/css/css-selector-text-expected.txt: * fast/css/css-selector-text.html: * fast/css/css-set-selector-text-expected.txt: * fast/css/css-set-selector-text.html: This covers CSSOM for the prefixed version. * fast/forms/placeholder-pseudo-element-with-webkit-prefix-expected.html: Added. * fast/forms/placeholder-pseudo-element-with-webkit-prefix.html: Added. This verifies both version of the pseudo elements are equivalent. * fast/css/pseudo-cache-stale-expected.html: * fast/css/pseudo-cache-stale.html: * fast/forms/input-placeholder-paint-order-2-expected.html: * fast/forms/input-placeholder-paint-order-2.html: * fast/forms/input-placeholder-paint-order.html: * fast/forms/input-placeholder-text-indent.html: * fast/forms/input-user-modify.html: * fast/forms/isindex-placeholder.html: * fast/forms/placeholder-position.html: * fast/forms/placeholder-pseudo-style.html: * fast/forms/textarea-placeholder-pseudo-style.html: * fast/forms/textarea/textarea-placeholder-paint-order-2-expected.html: * fast/forms/textarea/textarea-placeholder-paint-order-2.html: * fast/forms/textarea/textarea-placeholder-paint-order.html: Canonical link: https://commits.webkit.org/176845@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@202066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-06-14 22:09:33 +00:00
}