Timeline
Oct 3, 2020:
- 6:58 PM Changeset in webkit [267940] by
-
- 25 edits2 adds2 deletes in trunk
[css-lists] Implement list-style-type: <string>
https://bugs.webkit.org/show_bug.cgi?id=167729
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update test expectations, and await document.fonts.ready in a test with Ahem.
- web-platform-tests/css/css-lists/parsing/list-style-type-computed-expected.txt:
- web-platform-tests/css/css-lists/parsing/list-style-type-valid-expected.txt:
- web-platform-tests/css/css-pseudo/marker-hit-testing-expected.txt:
- web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt:
- web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001.html:
Source/WebCore:
This patch extends the syntax of the list-style-type property to accept
arbitrary string values in order to customize the marker contents.
When a string is specified for list-style-type, the patch sets it to a
special ListStyleType::String, and the string value is stored in an
extra field.
It's a reland of r252076, which got reverted because in some platform
the number of bitfields in GreaterThanOrSameSizeAsStyleRareInheritedData
was actually smaller than in StyleRareInheritedData, due to padding
differences. Hopefully this will no longer be an issue.
Tests: imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-001a.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-001b.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-002.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-003.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-007.html
imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-computed.html
imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-valid.html
imported/w3c/web-platform-tests/css/css-pseudo/marker-hit-testing.html
imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001.html
Some tests fail because mixed-bidi is not supported in markers
(https://bugs.webkit.org/show_bug.cgi?id=202849).
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- css/CSSProperties.json:
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isPartialKeywordPropertyID):
- css/parser/CSSParserFastPaths.h:
- css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue):
- rendering/RenderListMarker.cpp:
(WebCore::effectiveListMarkerType):
(WebCore::listMarkerSuffix):
(WebCore::listMarkerText):
(WebCore::RenderListMarker::styleDidChange):
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::updateContent):
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::updateMargins):
(WebCore::RenderListMarker::suffix const):
(WebCore::RenderListMarker::getRelativeMarkerRect):
- rendering/style/CounterContent.h:
(WebCore::CounterContent::CounterContent):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::listStyleStringValue const):
(WebCore::RenderStyle::setListStyleStringValue):
(WebCore::RenderStyle::initialListStyleStringValue):
- rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- rendering/style/RenderStyleConstants.h:
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
- rendering/style/StyleRareInheritedData.h:
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInheritListStyleType):
(WebCore::Style::BuilderCustom::applyInitialListStyleType):
(WebCore::Style::BuilderCustom::applyValueListStyleType):
LayoutTests:
Most tests for 'list-style-type: <string>' pass now, but some still fail
because mixed-bidi is not supported in markers
(https://bugs.webkit.org/show_bug.cgi?id=202849).
Various tests for the 'content' property in ::marker fail now. This is
expected because they were only passing by chance, since ::marker does
not support 'content' (https://bugs.webkit.org/show_bug.cgi?id=204163).
iOS and Mac have some extra failures due to subpixel differences for the
marker position.
- TestExpectations:
- platform/gtk/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt: Removed.
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- platform/mac/imported/w3c/web-platform-tests/css/css-pseudo/text-selection-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt: Removed.
- 5:34 PM Changeset in webkit [267939] by
-
- 21 edits in trunk
Add onslotchange on ShadowRoot and GlobalEventHandlers
https://bugs.webkit.org/show_bug.cgi?id=191310
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-10-03
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaselined tests to pass more test cases.
- web-platform-tests/dom/idlharness.window-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/event-handler-all-global-events-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-body-window-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt:
- web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
Source/WebCore:
onslotchangeattribute has been added toShadowRootand
GlobalEventHandlersby https://github.com/whatwg/html/issues/3487
This patch supports it.
Tests: imported/w3c/web-platform-tests/dom/idlharness.window.html:
imported/w3c/web-platform-tests/html/webappapis/scripting/events/event-handler-all-global-events.html
imported/w3c/web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-body-window.html
imported/w3c/web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-windowless-body.html
imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative.html
- dom/GlobalEventHandlers.idl:
- dom/ShadowRoot.idl:
- html/HTMLAttributeNames.in:
- html/HTMLElement.cpp:
(WebCore::HTMLElement::createEventHandlerNameMap):
LayoutTests:
Rebaselined tests to pass more test cases.
- platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- 4:51 PM Changeset in webkit [267938] by
-
- 60 edits4 copies2 adds in trunk/Source
[JSC] Introduce JITOperationList to validate JIT-caged pointers
https://bugs.webkit.org/show_bug.cgi?id=217261
Reviewed by Saam Barati.
Source/JavaScriptCore:
This patch adds JITOperationList, which manages all the host-function & jit-operation pointers.
And we can now query whether the given pointer is registered in this table.
Currently, as a test, we are verifying that host-function is registered in this table when creating NativeExecutable in debug build.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- assembler/JITOperationList.cpp: Added.
(JSC::JITOperationList::initialize):
(JSC::addPointers):
(JSC::JITOperationList::populatePointersInJavaScriptCore):
(JSC::JITOperationList::populatePointersInEmbedder):
- assembler/JITOperationList.h: Added.
(JSC::JITOperationList::contains const):
(JSC::JITOperationList::assertIsHostFunction):
(JSC::JITOperationList::assertIsJITOperation):
(JSC::JITOperationList::instance):
- assembler/MacroAssemblerARM64.cpp:
- assembler/MacroAssemblerARMv7.cpp:
- assembler/MacroAssemblerMIPS.cpp:
- assembler/MacroAssemblerX86Common.cpp:
- jsc.cpp:
(jscmain):
- runtime/InitializeThreading.cpp:
(JSC::initialize):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoGetterFuncBuffer):
(JSC::genericTypedArrayViewProtoGetterFuncLength):
(JSC::genericTypedArrayViewProtoGetterFuncByteLength):
(JSC::genericTypedArrayViewProtoGetterFuncByteOffset):
(JSC::genericTypedArrayViewProtoFuncReverse):
(JSC::genericTypedArrayViewPrivateFuncSort):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
(JSC::JSC_DEFINE_HOST_FUNCTION): Deleted.
- runtime/VM.cpp:
(JSC::VM::getHostFunction):
Source/WebCore:
We should have WebCore::initialize(). It is filed in https://bugs.webkit.org/show_bug.cgi?id=217270.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMBuiltinConstructor.h:
- bindings/js/JSDOMConstructor.h:
- bindings/js/JSDOMLegacyFactoryFunction.h:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::initializeMainThread):
- bindings/js/WebCoreJITOperations.cpp: Copied from Source/WebKit/Shared/WebKit2Initialize.cpp.
(WebCore::populateJITOperations):
- bindings/js/WebCoreJITOperations.h: Copied from Source/WebKit/Shared/WebKit2Initialize.cpp.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorDefinitions):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
- bridge/objc/WebScriptObject.mm:
(+[WebScriptObject initialize]):
- domjit/JSDocumentDOMJIT.cpp:
- platform/cocoa/SharedBufferCocoa.mm:
(+[WebCoreSharedBufferData initialize]):
- platform/ios/wak/WebCoreThread.mm:
(RunWebThread):
Source/WebKit:
- Shared/API/c/WKString.cpp:
(WKStringCopyJSString):
- Shared/Cocoa/WebKit2InitializeCocoa.mm:
(WebKit::runInitializationCode):
- Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2):
- Shared/WebKitJITOperations.cpp: Copied from Source/WebKit/Shared/WebKit2Initialize.cpp.
(WebKit::populateJITOperations):
- Shared/WebKitJITOperations.h: Copied from Source/WebKit/Shared/WebKit2Initialize.cpp.
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy/mac:
- History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
- History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]):
- Misc/WebCache.mm:
(+[WebCache initialize]):
- Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
- Misc/WebIconDatabase.mm:
- Misc/WebStringTruncator.mm:
(+[WebStringTruncator initialize]):
- Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
- Plugins/WebBaseNetscapePluginView.mm:
- Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage initialize]):
- Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]):
- WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]):
- WebCoreSupport/WebFrameLoaderClient.mm:
(+[WebFramePolicyListener initialize]):
- WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
- WebView/WebDataSource.mm:
(+[WebDataSource initialize]):
- WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
- WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
- WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]):
- WebView/WebView.mm:
(+[WebView initialize]):
- WebView/WebViewData.mm:
(+[WebViewPrivate initialize]):
Source/WebKitLegacy/win:
- WebKitClassFactory.cpp:
(WebKitClassFactory::WebKitClassFactory):
- WebView.cpp:
(WebView::WebView):
Source/WTF:
- wtf/PlatformCallingConventions.h:
- wtf/PlatformEnable.h:
- 3:07 PM Changeset in webkit [267937] by
-
- 28 edits10 adds in trunk
Add non-animated support for the CSS translate property
https://bugs.webkit.org/show_bug.cgi?id=216997
<rdar://problem/69597083>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
WPT progressions showing the correct parsing and computed style output of a non-animated "translate" property.
We are also adding some more tests to the invalid "translate" parsing to check that we bail once we get junk
for optional values after valid values.
- web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- web-platform-tests/css/css-transforms/animation/translate-composition-expected.txt:
- web-platform-tests/css/css-transforms/animation/translate-interpolation-expected.txt:
- web-platform-tests/css/css-transforms/parsing/translate-parsing-invalid-expected.txt:
- web-platform-tests/css/css-transforms/parsing/translate-parsing-invalid.html:
- web-platform-tests/css/css-transforms/parsing/translate-parsing-valid-expected.txt:
- web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
Source/WebCore:
We add non-animated support for the CSS "translate" property as specifed in by the CSS Transforms Level 2
specification (https://drafts.csswg.org/css-transforms-2/#propdef-translate).
Tests: transforms/2d/translate-and-transform-attribute-in-svg-expected.svg
transforms/2d/translate-and-transform-attribute-in-svg.svg
transforms/2d/translate-and-transform-css-property-in-svg-expected.svg
transforms/2d/translate-and-transform-css-property-in-svg.svg
transforms/2d/translate-in-svg-expected.svg
transforms/2d/translate-in-svg.svg
transforms/2d/translate-transform-order.html
transforms/2d/translate-transform-origin-order.html
- Headers.cmake:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::rendererCanBeTransformed):
(WebCore::computedTransform):
(WebCore::computedTranslate): Create a CSSValueList to print out the computed value for the "translate" property.
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSProperties.json: Define the "translate" property with the condition that the runtime setting for individual
CSS transform properties is set.
- css/TransformFunctions.cpp:
(WebCore::translateForValue): Convert a CSSValue to a TranslateTransformOperation when parsing a "translate" property value.
- css/TransformFunctions.h:
- css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::CSSParserContext): Add a new flag indicating whether the runtime setting for individual
CSS transform properties is set.
(WebCore::operator==):
- css/parser/CSSParserContext.h:
(WebCore::CSSParserContextHash::hash):
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeTranslate): Create a CSSValueList when parsing a "translate" property value.
(WebCore::CSSPropertyParser::parseSingleValue):
- platform/graphics/transforms/TranslateTransformOperation.h: Promote the apply() method to be public so that it can be called
from Style::ComputedStyleExtractor::valueForPropertyInStyle().
- rendering/RenderObject.h:
(WebCore::RenderObject::hasTransform const): Consider that having the "translate" property is akin to having a "transform" property
in the render tree.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setTranslate):
(WebCore::RenderStyle::applyTransform const): Account for the RenderStyle::translate() value in the right order, after applying the
transform origin, but before applying the main transform.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::translate const):
(WebCore::RenderStyle::hasTransformRelatedProperty const):
(WebCore::RenderStyle::initialTranslate):
- rendering/style/StyleRareNonInheritedData.h:
- rendering/style/WillChangeData.cpp:
(WebCore::WillChangeData::propertyCreatesStackingContext):
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertTranslate):
- svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::animatedLocalTransform const): Account for the RenderStyle::translate() value when rendering SVG, ensuring
that it is applied before the transform specified by either the "transform" CSS property or SVG attribute.
LayoutTests:
Add tests checking that the "translate" CSS property is applied in the correct order related to
"transform-origin" and "transform" and that it is applied in SVG as well.
- platform/ios-13/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- transforms/2d/translate-and-transform-attribute-in-svg-expected.svg: Added.
- transforms/2d/translate-and-transform-attribute-in-svg.svg: Added.
- transforms/2d/translate-and-transform-css-property-in-svg-expected.svg: Added.
- transforms/2d/translate-and-transform-css-property-in-svg.svg: Added.
- transforms/2d/translate-in-svg-expected.svg: Added.
- transforms/2d/translate-in-svg.svg: Added.
- transforms/2d/translate-transform-order-expected.html: Added.
- transforms/2d/translate-transform-order.html: Added.
- transforms/2d/translate-transform-origin-order-expected.html: Added.
- transforms/2d/translate-transform-origin-order.html: Added.
- 3:05 PM Changeset in webkit [267936] by
-
- 2 edits in trunk/Source/WebCore
[LFC] showLayoutTree should group line runs under individual lines
https://bugs.webkit.org/show_bug.cgi?id=217282
Reviewed by Simon Fraser.
Let's improve inline run output by grouping runs:
line at (0.00,0.00) size 0.00x18.00 baseline at (14.00)
text run at (0.00,0.00) size 15.10x18.00 run(0, 2)
text run at (15.10,0.00) size 0.00x18.00 run(0, 1)
line at (0.00,18.00) size 0.00x18.00 baseline at (14.00)
text run at (0.00,0.00) size 39.09x18.00 run(0, 5)
instead of:
line at (0.00,0.00) size 0.00x18.00 baseline at (14.00)
line at (0.00,18.00) size 0.00x18.00 baseline at (14.00)
text run at (0.00,0.00) size 15.10x18.00 run(0, 2)
text run at (15.10,0.00) size 0.00x18.00 run(0, 1)
text run at (0.00,0.00) size 39.09x18.00 run(0, 5)
So that we can tell which run belongs to which line.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::outputInlineRuns):
- 2:54 PM Changeset in webkit [267935] by
-
- 15 edits1 move20 adds2 deletes in trunk/Source/WebCore
[WebIDL] Split more IDL files by spec
https://bugs.webkit.org/show_bug.cgi?id=217279
Reviewed by Darin Adler.
- Splits out more partial and mixin interfaces from Element, Range, HTMLBodyElement, HTMLImageElement and DOMWindow.
- Renames HTMLMediaElementAudioOutput.idl to HTMLMediaElement+AudioOutput.idl for consistency with all other partial interfaces.
- Replace GlobalCrypto and GlobalPerformance with WindowOrWorkerGlobalScope partials as currently speced.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.idl:
- dom/Element+CSSOMView.idl: Added.
- dom/Element+Fullscreen.idl: Added.
- dom/Element+PointerEvents.idl: Added.
- dom/Element+PointerLock.idl: Added.
- dom/Element.idl:
- dom/Range+CSSOMView.idl: Added.
- dom/Range+DOMParsing.idl: Added.
- dom/Range.idl:
- html/HTMLBodyElement+Compat.idl: Added.
- html/HTMLBodyElement.idl:
- html/HTMLImageElement+CSSOMView.idl: Added.
- html/HTMLImageElement.idl:
- html/HTMLMediaElement+AudioOutput.idl: Added.
- html/HTMLMediaElementAudioOutput.idl: Removed.
- page/DOMWindow+CSSOM.idl: Added.
- page/DOMWindow+CSSOMView.idl: Added.
- page/DOMWindow+Compat.idl: Added.
- page/DOMWindow+DeviceMotion.idl: Added.
- page/DOMWindow+DeviceOrientation.idl: Added.
- page/DOMWindow+RequestIdleCallback.idl: Added.
- page/DOMWindow+Selection.idl: Added.
- page/DOMWindow+VisualViewport.idl: Added.
- page/DOMWindow.idl:
- page/GlobalCrypto.idl: Removed.
- page/GlobalPerformance.idl: Removed.
- page/WindowEventHandlers.idl:
- page/WindowLocalStorage.idl: Added.
- page/WindowOrWorkerGlobalScope+Crypto.idl: Added.
- page/WindowOrWorkerGlobalScope+Performance.idl: Added.
- page/WindowSessionStorage.idl: Added.
- workers/WorkerGlobalScope.idl:
- 2:32 PM Changeset in webkit [267934] by
-
- 19 edits in trunk/Source/WebCore
[GTK] Build broken with ENABLE_MEDIA_STREAM enabled and ENABLE_WEB_RTC_DISABLED
https://bugs.webkit.org/show_bug.cgi?id=217128
Remove USE(LIBWEBRTC) guards from media stream code, as it does not actually
depend on libwebrtc and can be built by itself. This allows using e.g. live
audio recording inputs with WebAudio.
Reviewed by Philippe Normand.
No new tests needed.
- platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:
- platform/mediastream/gstreamer/GStreamerAudioCaptureSource.h:
- platform/mediastream/gstreamer/GStreamerAudioCapturer.cpp:
(WebCore::GStreamerAudioCapturer::GStreamerAudioCapturer):
- platform/mediastream/gstreamer/GStreamerAudioCapturer.h:
- platform/mediastream/gstreamer/GStreamerAudioStreamDescription.h:
- platform/mediastream/gstreamer/GStreamerCapturer.cpp:
- platform/mediastream/gstreamer/GStreamerCapturer.h:
- platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:
- platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h:
- platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:
- platform/mediastream/gstreamer/GStreamerVideoCapturer.h:
- platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.cpp:
- platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.h:
- platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp:
- platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.h:
- platform/mediastream/gstreamer/RealtimeMediaSourceCenterLibWebRTC.cpp:
- platform/mock/MockRealtimeAudioSource.cpp:
- platform/mock/MockRealtimeVideoSource.cpp:
- 2:17 PM Changeset in webkit [267933] by
-
- 8 edits in trunk
Add extra slash after empty host copied from base URL if path is also empty
https://bugs.webkit.org/show_bug.cgi?id=217278
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WTF:
- wtf/URLParser.cpp:
(WTF::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
- 2:14 PM Changeset in webkit [267932] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC][Soft hyphen] Mark the last run on the line when hyphenation is required.
https://bugs.webkit.org/show_bug.cgi?id=217281
Reviewed by Antti Koivisto.
In this patch we turn the trailing soft hyphen into an "real" hyphen when the content requires it.
- layout/inlineformatting/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::processInlineContent):
- layout/inlineformatting/InlineContentBreaker.h:
- layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::addTrailingHyphen):
- layout/inlineformatting/InlineLine.h:
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
(WebCore::Layout::LineBuilder::rebuildLineForTrailingSoftHyphen):
- 11:39 AM Changeset in webkit [267931] by
-
- 12 edits1 delete in trunk
"http:" should not be a valid URL
https://bugs.webkit.org/show_bug.cgi?id=217250
Reviewed by Brady Eidson.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::topOriginURL):
Fix strange code written in r226257 that relied on the ability to assemble URLs starting with the protocol only.
Source/WTF:
Same with https, ws, wss, and for some reason ftp.
This matches the URL specification and Chrome and Firefox.
- wtf/URLParser.cpp:
(WTF::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
LayoutTests:
- platform/mac-wk1/imported/w3c/web-platform-tests/url/failure-expected.txt: Removed.
- 10:31 AM Changeset in webkit [267930] by
-
- 18 edits5 adds in trunk
[GPU Process] Support drawing text in 2D canvas with font features
https://bugs.webkit.org/show_bug.cgi?id=206118
Reviewed by Wenson Hsieh.
Source/WebCore:
This patch simply serializes all the non-derived data in Font and FontPlatformData.
Serializing a CTFont involves serializing its font descriptor's attributes. However,
there's an extra step for web fonts, since the font descriptor's attributes don't include
the raw bytes of the font file. This was previously being saved in Font, but this patch
moves that into FontPlatformData because of layering, and adds the SharedBuffer to the
serialization routine for web fonts.
Test: fast/canvas/fill-text-with-font-features.html
- WebCore.xcodeproj/project.pbxproj:
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::font): Fonts and FontPlatformDatas are supposed to be immutable, so
having a setter for the FontFaceData is incorrect. This object is moved into the constructor
instead.
- css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::font): Deleting dead code.
- platform/graphics/Font.cpp:
(WebCore::Font::setFontFaceData): Deleted.
- platform/graphics/Font.h:
(WebCore::Font::fontFaceData const): Deleted. Moved to FontPlatformData
- platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData):
- platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::creationData const): Moved from Font.
- platform/graphics/coretext/FontPlatformDataCoreText.cpp:
(WebCore::FontPlatformData::FontPlatformData):
- platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData): FontCustomPlatformData is a struct, so
there's no need for the m_ prefixes.
(WebCore::createFontCustomPlatformData):
- platform/graphics/mac/FontCustomPlatformData.h:
(WebCore::FontCustomPlatformData::FontCustomPlatformData): Ditto.
Source/WebKit:
Simply serialize and deserialize all the non-derived data in Font and PlatformFontData.
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<Ref<Font>>::encodePlatformData):
(IPC::ArgumentCoder<Ref<Font>>::decodePlatformData):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Ref<Font>>::encode):
(IPC::ArgumentCoder<Ref<Font>>::decode):
- Shared/WebCoreArgumentCoders.h:
LayoutTests:
- fast/canvas/fill-text-with-font-features-expected.html: Added.
- fast/canvas/fill-text-with-font-features.html: Added.
- fast/canvas/resources/FontWithFeatures.ttf: Added.
- 10:26 AM Changeset in webkit [267929] by
-
- 6 edits in trunk/Source/WebKit
[Media in GPU Process] Web process is not allowed to set the AudioSession category
https://bugs.webkit.org/show_bug.cgi?id=217236
Reviewed by Eric Carlson.
We disabled setting the audio session category in the Web process when media is playing
in the GPU Process (r257367). But since RemoteAudioSession and RemoteAudioSessionProxy
are working now in the Web process and GPU process, we need to allow setting the audio
session category in the Web process.
This patch also includes an optimization to reduce the IPC traffic of the audio session
category changes.
- GPUProcess/media/RemoteAudioSessionProxy.cpp:
(WebKit::RemoteAudioSessionProxy::setCategory):
- GPUProcess/media/RemoteAudioSessionProxyManager.cpp:
(WebKit::RemoteAudioSessionProxyManager::setCategoryForProcess):
We need to check the category and policy in RemoteAudioSessionProxy instead of
RemoteAudioSessionProxyManager. Otherwise, the change will be ignored.
- WebProcess/GPU/media/RemoteAudioSession.cpp:
(WebKit::RemoteAudioSession::setCategory):
Only send RemoteAudioSessionProxy::SetCategory message if the category or the policy
is changed.
- WebProcess/GPU/media/RemoteAudioSession.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_limitsNavigationsToAppBoundDomains):
Revert the change in r257367.
- 10:02 AM Changeset in webkit [267928] by
-
- 2 edits in trunk/Source/WebCore
Simplify and harden idl_files.tmp generation
https://bugs.webkit.org/show_bug.cgi?id=217247
Reviewed by Darin Adler.
We sometimes see idl_files.tmp not getting deleted and on the next
compile things failing. Instead of relying on the delete happening,
we now just completely regenerate the file, now renamed to
IDLFileNamesList.txt, each time in one shot.
- DerivedSources.make:
- 9:51 AM Changeset in webkit [267927] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Rename InlineContentBreaker::Result::Action::Push to Wrap
https://bugs.webkit.org/show_bug.cgi?id=217273
Reviewed by Antti Koivisto.
"Wrap" is a more suitable name in this context.
- layout/inlineformatting/InlineContentBreaker.cpp:
(WebCore::Layout::isWrappingAllowed):
(WebCore::Layout::InlineContentBreaker::processInlineContent):
(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):
- layout/inlineformatting/InlineContentBreaker.h:
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
- 9:21 AM Changeset in webkit [267926] by
-
- 4 edits in trunk
[macOS] Enable date, time, and datetime-local input types
https://bugs.webkit.org/show_bug.cgi?id=217229
<rdar://problem/69882757>
Reviewed by Sam Weinig.
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
Update test expectations now that these input types no longer fallback
to text fields. Also removed the test for input type=datetime, as it
has been removed from the spec.
- TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsTextField.mm:
(-[InjectedBundleNodeHandleIsTextField webProcessPlugIn:didCreateBrowserContextController:]):
- 9:12 AM Changeset in webkit [267925] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC][Soft hyphen] Rebuild the line when need to revert to a previous wrap opportunity due to soft hyphens
https://bugs.webkit.org/show_bug.cgi?id=217272
Reviewed by Antti Koivisto.
This patch reverts the line to a previous wrap opportunity where
- the trailing soft hyphen fits or
- no need for soft hyphen (we reverted back to a non-text inline content, where we don't need a hyphen) or
- reverted all the way back to the beginning of the line.
(We still don't paint hyphens at the soft hyphen locations.)
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
(WebCore::Layout::LineBuilder::rebuildLine):
(WebCore::Layout::LineBuilder::rebuildLineForTrailingSoftHyphen):
- layout/inlineformatting/InlineLineBuilder.h:
- 8:12 AM Changeset in webkit [267924] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC][Soft hyphen] InlineContentBreaker should return Action::Revert when the trailing soft hyphen does not fit
https://bugs.webkit.org/show_bug.cgi?id=217269
Reviewed by Antti Koivisto.
A trailing soft hyphen turns action "Push" to action "Revert" when the hyphen overflows.
e.g <div>1­2­3­4</div>
line has: 123­ and when '4' overflows InlineContentBreaker normally returns with Action::Push ('4' is pushed over to the next line).
However Action::Push turns the trailing soft hyphen into a visible hyphen and now we need to check if 'Push' is actually a 'Revert' instead.
- layout/inlineformatting/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::processInlineContent):
(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):
(WebCore::Layout::InlineContentBreaker::tryBreakingTextRun const):
- layout/inlineformatting/InlineContentBreaker.h:
- layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::initialize):
(WebCore::Layout::Line::appendWith):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::appendNonReplacedInlineBox):
(WebCore::Layout::Line::appendLineBreak):
- layout/inlineformatting/InlineLine.h:
(WebCore::Layout::Line::trailingSoftHyphenWidth const):
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
- 8:02 AM Changeset in webkit [267923] by
-
- 2 edits in trunk/Source/WebCore
Floating-point math causes shrink-wrapped content to line wrap sometimes
https://bugs.webkit.org/show_bug.cgi?id=217136
<rdar://problem/69801790>
Reviewed by Antti Koivisto.
Since the preferred width computation and the actual inline layout run though different codepaths,
they may compute slightly different content width due to the limited floating point precision.
Use WTF::areEssentiallyEqual when deciding if the content overflows the current line.
- rendering/line/LineWidth.cpp:
(WebCore::LineWidth::fitsOnLineIncludingExtraWidth const):
(WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace const):
(WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace const):
- 7:39 AM Changeset in webkit [267922] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC][Soft hyphen] Do not split InlineItems at soft hyphens when hyphenations is disabled
https://bugs.webkit.org/show_bug.cgi?id=217266
Reviewed by Antti Koivisto.
-webkit-hyphens: none; disables hyphenation. Soft hyphens are not wrap opportunities anymore.
<div>1­2­3­4</div> generates one InlineTextItem: [1­2­3­4].
- layout/inlineformatting/InlineTextItem.cpp:
(WebCore::Layout::InlineTextItem::createAndAppendTextItems):
- 7:01 AM Changeset in webkit [267921] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC][Soft hyphen] LineBuilder should hold on to all the wrap opportunities
https://bugs.webkit.org/show_bug.cgi?id=217265
Reviewed by Antti Koivisto.
This is in preparation for adding support for reverting content when the soft hyphen
overflows the line so as the last wrap opportunity InlineTextItem.
In such cases we need to go further back(front) on the line and revert even more content.
e.g <div>1­2­3­4</div>
Depending on the horizontal constraint the first line may be:
1-
12-
123-
1234
If character '4' overflows the line, we would go with '123-' by reverting to the last wrap opportunity.
However in case of a wide hyphen, '123-' may overflow the line as well and we have to revert
the content further back to e.g. '12-' or even '1-'.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
(WebCore::Layout::LineBuilder::rebuildLine):
- layout/inlineformatting/InlineLineBuilder.h:
- 6:22 AM Changeset in webkit [267920] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC][Soft hyphen] Soft hyphen is always the trailing character
https://bugs.webkit.org/show_bug.cgi?id=217264
Reviewed by Antti Koivisto.
Soft hyphen is a word wrap opportunity. An InlineTextItem can only have one trailing soft hyphen.
e.g <span>before­after</span> generates 2 separate InlineTextItems: [before-][after].
InlineTextItem should be able to tell if it ends with a soft hyphen.
- layout/inlineformatting/InlineItem.cpp:
- layout/inlineformatting/InlineItem.h:
- layout/inlineformatting/InlineTextItem.cpp:
(WebCore::Layout::InlineTextItem::createAndAppendTextItems):
- layout/inlineformatting/InlineTextItem.h:
(WebCore::Layout::InlineTextItem::hasTrailingSoftHyphen const):
(WebCore::Layout::InlineTextItem::createWhitespaceItem):
(WebCore::Layout::InlineTextItem::createNonWhitespaceItem):
(WebCore::Layout::InlineTextItem::InlineTextItem):
(WebCore::Layout::InlineTextItem::left const):
(WebCore::Layout::InlineTextItem::right const):
Oct 2, 2020:
- 11:28 PM Changeset in webkit [267919] by
-
- 7 edits in trunk/Source
WebDriver: add support for same site cookies
https://bugs.webkit.org/show_bug.cgi?id=217222
Reviewed by Brian Burg.
Source/WebDriver:
- Session.cpp:
(WebDriver::parseAutomationCookie): Parse sameSite.
(WebDriver::builtAutomationCookie): Add sameSite to cookie.
(WebDriver::serializeCookie): Serialize sameSite.
- Session.h:
- WebDriverService.cpp:
(WebDriver::deserializeCookie): Deserialize sameSite.
Source/WebKit:
- UIProcess/Automation/Automation.json: Add CookieSameSitePolicy enum and sameSite member to Cookie object.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::toProtocolSameSitePolicy): Convert WebCore same site policy to inspector protocol value.
(WebKit::toWebCoreSameSitePolicy): Convert inspector protocol same site policy to WebCore value.
(WebKit::buildObjectForCookie): Add sameSite.
(WebKit::WebAutomationSession::addSingleCookie): Set sameSite policy to cookie.
- 11:26 PM Changeset in webkit [267918] by
-
- 7 edits in trunk/Source
WebDriver: several issues when switching to new browser context
https://bugs.webkit.org/show_bug.cgi?id=217217
Reviewed by Brian Burg.
Source/WebDriver:
There are several issues to fix when switching to a browser context:
1- The spec has changed and now we should always keep the current parent browsing context.
2- The spec says we should focus the new frame after switching to a frame or parent frame, but we are just
resolving the frame and updating the handle internally.
3- We are keeping stale frame handles and ids in the automation session, they should be removed when frames
are destroyed.
4- We are clearing all frame references in the automation session when a navigation happens in any main
frame. We should only clear the frames of the page that completed the navigation.
All theses cases are covered by new tests added to imported/w3c/webdriver/tests/switch_to_parent_frame/
- Session.cpp:
(WebDriver::Session::close): Close the current parent browsing context too.
(WebDriver::Session::switchToTopLevelBrowsingContext): Initialize the current parent browsing context too.
(WebDriver::Session::switchToBrowsingContext): Resolve the parent frame handle and set the current parent browsing context.
(WebDriver::Session::go): Pass completion handler to switchToBrowsingContext().
(WebDriver::Session::back): Ditto.
(WebDriver::Session::forward): Ditto.
(WebDriver::Session::refresh): Ditto.
(WebDriver::Session::closeWindow): Close the current parent browsing context too.
(WebDriver::Session::switchToBrowsingContext): Send switchToBrowsingContext message to the browser.
(WebDriver::Session::switchToWindow): Use switchToBrowsingContext() to send the message to the browser.
(WebDriver::Session::switchToFrame): Call switchToBrowsingContext() after the child frame handle is resolved.
(WebDriver::Session::switchToParentFrame): Check current parent browsing context is still open and call
switchToBrowsingContext() to switch to the current parent browsing context.
(WebDriver::Session::waitForNavigationToComplete): Close the current parent browsing context too when the window
is closed due to the navigation.
- Session.h: Add m_currentParentBrowsingContext.
Source/WebKit:
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::didDestroyFrame): Remove the frame references from maps.
(WebKit::WebAutomationSession::navigationOccurredForFrame): Only clear the frame references from the maps for
the frames in the given frame's page.
- UIProcess/Automation/WebAutomationSession.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didDestroyFrame): Notify automation session about frame being destroyed.
- 11:00 PM Changeset in webkit [267917] by
-
- 5 edits in trunk
std::once_flag must be allocated in static storage
https://bugs.webkit.org/show_bug.cgi?id=217271
Reviewed by Mark Lam.
Source/WebCore:
If the std::once_flag is a non-static variable, it will not prevent us from calling it multiple times.
- platform/text/TextCodecSingleByte.cpp:
(WebCore::tableForEncoding):
Tools:
Added cpplint rule for non-static std::once_flag / dispatch_once_t.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_once_flag):
(check_style):
(CppChecker):
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_once_flag):
- 8:55 PM Changeset in webkit [267916] by
-
- 48 edits4 adds in trunk/Source/WebKit
Move WebEvent subclass declarations to their own files
https://bugs.webkit.org/show_bug.cgi?id=217259
Reviewed by Tim Horton.
Make new header files for WebMouseEvent, WebKeyboardEvent, WebWheelEvent, WebTouchEvent and
fix the fallout.
- Scripts/webkit/messages.py:
- Shared/API/c/WKSharedAPICast.h:
- Shared/NativeWebGestureEvent.h:
- Shared/NativeWebKeyboardEvent.h:
- Shared/NativeWebMouseEvent.h:
- Shared/NativeWebTouchEvent.h:
- Shared/NativeWebWheelEvent.h:
- Shared/NavigationActionData.h:
- Shared/WebEvent.cpp:
(WebKit::WebTouchEvent::allTouchPointsAreReleased const): Deleted.
- Shared/WebEvent.h:
(WebKit::WebMouseEvent::button const): Deleted.
(WebKit::WebMouseEvent::buttons const): Deleted.
(WebKit::WebMouseEvent::position const): Deleted.
(WebKit::WebMouseEvent::globalPosition const): Deleted.
(WebKit::WebMouseEvent::deltaX const): Deleted.
(WebKit::WebMouseEvent::deltaY const): Deleted.
(WebKit::WebMouseEvent::deltaZ const): Deleted.
(WebKit::WebMouseEvent::clickCount const): Deleted.
(WebKit::WebMouseEvent::eventNumber const): Deleted.
(WebKit::WebMouseEvent::menuTypeForEvent const): Deleted.
(WebKit::WebMouseEvent::force const): Deleted.
(WebKit::WebMouseEvent::syntheticClickType const): Deleted.
(WebKit::WebWheelEvent::position const): Deleted.
(WebKit::WebWheelEvent::globalPosition const): Deleted.
(WebKit::WebWheelEvent::delta const): Deleted.
(WebKit::WebWheelEvent::wheelTicks const): Deleted.
(WebKit::WebWheelEvent::granularity const): Deleted.
(WebKit::WebWheelEvent::directionInvertedFromDevice const): Deleted.
(WebKit::WebWheelEvent::phase const): Deleted.
(WebKit::WebWheelEvent::momentumPhase const): Deleted.
(WebKit::WebWheelEvent::hasPreciseScrollingDeltas const): Deleted.
(WebKit::WebWheelEvent::scrollCount const): Deleted.
(WebKit::WebWheelEvent::unacceleratedScrollingDelta const): Deleted.
(WebKit::WebKeyboardEvent::text const): Deleted.
(WebKit::WebKeyboardEvent::unmodifiedText const): Deleted.
(WebKit::WebKeyboardEvent::key const): Deleted.
(WebKit::WebKeyboardEvent::code const): Deleted.
(WebKit::WebKeyboardEvent::keyIdentifier const): Deleted.
(WebKit::WebKeyboardEvent::windowsVirtualKeyCode const): Deleted.
(WebKit::WebKeyboardEvent::nativeVirtualKeyCode const): Deleted.
(WebKit::WebKeyboardEvent::macCharCode const): Deleted.
(WebKit::WebKeyboardEvent::handledByInputMethod const): Deleted.
(WebKit::WebKeyboardEvent::preeditUnderlines const): Deleted.
(WebKit::WebKeyboardEvent::preeditSelectionRange const): Deleted.
(WebKit::WebKeyboardEvent::commands const): Deleted.
(WebKit::WebKeyboardEvent::isAutoRepeat const): Deleted.
(WebKit::WebKeyboardEvent::isKeypad const): Deleted.
(WebKit::WebKeyboardEvent::isSystemKey const): Deleted.
(WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint): Deleted.
(WebKit::WebPlatformTouchPoint::identifier const): Deleted.
(WebKit::WebPlatformTouchPoint::location const): Deleted.
(WebKit::WebPlatformTouchPoint::phase const): Deleted.
(WebKit::WebPlatformTouchPoint::state const): Deleted.
(WebKit::WebPlatformTouchPoint::setRadiusX): Deleted.
(WebKit::WebPlatformTouchPoint::radiusX const): Deleted.
(WebKit::WebPlatformTouchPoint::setRadiusY): Deleted.
(WebKit::WebPlatformTouchPoint::radiusY const): Deleted.
(WebKit::WebPlatformTouchPoint::setRotationAngle): Deleted.
(WebKit::WebPlatformTouchPoint::rotationAngle const): Deleted.
(WebKit::WebPlatformTouchPoint::setForce): Deleted.
(WebKit::WebPlatformTouchPoint::force const): Deleted.
(WebKit::WebPlatformTouchPoint::setAltitudeAngle): Deleted.
(WebKit::WebPlatformTouchPoint::altitudeAngle const): Deleted.
(WebKit::WebPlatformTouchPoint::setAzimuthAngle): Deleted.
(WebKit::WebPlatformTouchPoint::azimuthAngle const): Deleted.
(WebKit::WebPlatformTouchPoint::setTouchType): Deleted.
(WebKit::WebPlatformTouchPoint::touchType const): Deleted.
(WebKit::WebTouchEvent::WebTouchEvent): Deleted.
(WebKit::WebTouchEvent::touchPoints const): Deleted.
(WebKit::WebTouchEvent::position const): Deleted.
(WebKit::WebTouchEvent::isPotentialTap const): Deleted.
(WebKit::WebTouchEvent::isGesture const): Deleted.
(WebKit::WebTouchEvent::gestureScale const): Deleted.
(WebKit::WebTouchEvent::gestureRotation const): Deleted.
(WebKit::WebTouchEvent::canPreventNativeGestures const): Deleted.
(WebKit::WebTouchEvent::setCanPreventNativeGestures): Deleted.
(WebKit::WebPlatformTouchPoint::id const): Deleted.
(WebKit::WebPlatformTouchPoint::screenPosition const): Deleted.
(WebKit::WebPlatformTouchPoint::position const): Deleted.
(WebKit::WebPlatformTouchPoint::radius const): Deleted.
(WebKit::WebPlatformTouchPoint::setState): Deleted.
- Shared/WebEventConversion.cpp:
- Shared/WebKeyboardEvent.cpp:
- Shared/WebKeyboardEvent.h: Added.
(WebKit::WebKeyboardEvent::text const):
(WebKit::WebKeyboardEvent::unmodifiedText const):
(WebKit::WebKeyboardEvent::key const):
(WebKit::WebKeyboardEvent::code const):
(WebKit::WebKeyboardEvent::keyIdentifier const):
(WebKit::WebKeyboardEvent::windowsVirtualKeyCode const):
(WebKit::WebKeyboardEvent::nativeVirtualKeyCode const):
(WebKit::WebKeyboardEvent::macCharCode const):
(WebKit::WebKeyboardEvent::handledByInputMethod const):
(WebKit::WebKeyboardEvent::preeditUnderlines const):
(WebKit::WebKeyboardEvent::preeditSelectionRange const):
(WebKit::WebKeyboardEvent::commands const):
(WebKit::WebKeyboardEvent::isAutoRepeat const):
(WebKit::WebKeyboardEvent::isKeypad const):
(WebKit::WebKeyboardEvent::isSystemKey const):
- Shared/WebMouseEvent.cpp:
- Shared/WebMouseEvent.h: Added.
(WebKit::WebMouseEvent::button const):
(WebKit::WebMouseEvent::buttons const):
(WebKit::WebMouseEvent::position const):
(WebKit::WebMouseEvent::globalPosition const):
(WebKit::WebMouseEvent::deltaX const):
(WebKit::WebMouseEvent::deltaY const):
(WebKit::WebMouseEvent::deltaZ const):
(WebKit::WebMouseEvent::clickCount const):
(WebKit::WebMouseEvent::eventNumber const):
(WebKit::WebMouseEvent::menuTypeForEvent const):
(WebKit::WebMouseEvent::force const):
(WebKit::WebMouseEvent::syntheticClickType const):
- Shared/WebTouchEvent.cpp:
(WebKit::WebTouchEvent::allTouchPointsAreReleased const):
- Shared/WebTouchEvent.h: Added.
(WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
(WebKit::WebPlatformTouchPoint::identifier const):
(WebKit::WebPlatformTouchPoint::location const):
(WebKit::WebPlatformTouchPoint::phase const):
(WebKit::WebPlatformTouchPoint::state const):
(WebKit::WebPlatformTouchPoint::setRadiusX):
(WebKit::WebPlatformTouchPoint::radiusX const):
(WebKit::WebPlatformTouchPoint::setRadiusY):
(WebKit::WebPlatformTouchPoint::radiusY const):
(WebKit::WebPlatformTouchPoint::setRotationAngle):
(WebKit::WebPlatformTouchPoint::rotationAngle const):
(WebKit::WebPlatformTouchPoint::setForce):
(WebKit::WebPlatformTouchPoint::force const):
(WebKit::WebPlatformTouchPoint::setAltitudeAngle):
(WebKit::WebPlatformTouchPoint::altitudeAngle const):
(WebKit::WebPlatformTouchPoint::setAzimuthAngle):
(WebKit::WebPlatformTouchPoint::azimuthAngle const):
(WebKit::WebPlatformTouchPoint::setTouchType):
(WebKit::WebPlatformTouchPoint::touchType const):
(WebKit::WebTouchEvent::WebTouchEvent):
(WebKit::WebTouchEvent::touchPoints const):
(WebKit::WebTouchEvent::position const):
(WebKit::WebTouchEvent::isPotentialTap const):
(WebKit::WebTouchEvent::isGesture const):
(WebKit::WebTouchEvent::gestureScale const):
(WebKit::WebTouchEvent::gestureRotation const):
(WebKit::WebTouchEvent::canPreventNativeGestures const):
(WebKit::WebTouchEvent::setCanPreventNativeGestures):
(WebKit::WebPlatformTouchPoint::id const):
(WebKit::WebPlatformTouchPoint::screenPosition const):
(WebKit::WebPlatformTouchPoint::position const):
(WebKit::WebPlatformTouchPoint::radius const):
(WebKit::WebPlatformTouchPoint::setState):
- Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::WebWheelEvent):
- Shared/WebWheelEvent.h: Added.
(WebKit::WebWheelEvent::position const):
(WebKit::WebWheelEvent::globalPosition const):
(WebKit::WebWheelEvent::delta const):
(WebKit::WebWheelEvent::wheelTicks const):
(WebKit::WebWheelEvent::granularity const):
(WebKit::WebWheelEvent::directionInvertedFromDevice const):
(WebKit::WebWheelEvent::phase const):
(WebKit::WebWheelEvent::momentumPhase const):
(WebKit::WebWheelEvent::hasPreciseScrollingDeltas const):
(WebKit::WebWheelEvent::scrollCount const):
(WebKit::WebWheelEvent::unacceleratedScrollingDelta const):
- Shared/ios/WebIOSEventFactory.h:
- Shared/ios/WebPlatformTouchPointIOS.cpp:
- Shared/ios/WebTouchEventIOS.cpp:
- Shared/mac/NativeWebGestureEventMac.mm:
- Shared/mac/WebEventFactory.h:
- Shared/mac/WebGestureEvent.h:
- UIProcess/API/APINavigationClient.h:
- UIProcess/API/APIPolicyClient.h:
- UIProcess/Automation/SimulatedInputDispatcher.h:
- UIProcess/WebPageProxy.cpp:
- UIProcess/ios/WKMouseGestureRecognizer.mm:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
- WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
- WebProcess/Plugins/PluginProxy.cpp:
- WebProcess/Plugins/PluginView.cpp:
- WebProcess/WebPage/EventDispatcher.cpp:
- WebProcess/WebPage/EventDispatcher.h:
- WebProcess/WebPage/PageBanner.h:
- WebProcess/WebPage/WebPage.cpp:
- WebProcess/WebPage/ios/WebPageIOS.mm:
- WebProcess/WebPage/mac/WebPageMac.mm:
- 8:23 PM Changeset in webkit [267915] by
-
- 5 edits in trunk/Source
[ iOS ] ASSERTION FAILED: ScriptDisallowedScope::InMainThread::isEventDispatchAllowedInSubtree
https://bugs.webkit.org/show_bug.cgi?id=217203
<rdar://problem/69864747>
Reviewed by Tim Horton.
Source/WebCore:
- page/DragController.cpp:
(WebCore::DragController::finalizeDroppedImagePlaceholder):
Instead of immediately removing dropped image placeholder attributes, schedule an async task to remove the
placeholder and invoke the given completion handler. See WebKit/ChangeLog for more details.
- page/DragController.h:
Source/WebKit:
Refactor logic that removes drop placeholder attributes such that it runs as an asynchronously task rather than
underneath the scope ofdidFinishLoadingImageForElement. This is because the image load client call may occur
in the middle of a rendering update, during which it is not safe to change element attribute values, since that
may trigger script execution.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::didFinishLoadingImageForElement):
- 7:17 PM Changeset in webkit [267914] by
-
- 5 edits in trunk/LayoutTests
[GLIB] Gardening some failures and flakies
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/glib/fast/mediacapturefromelement/CanvasCaptureMediaStream-offscreencanvas-expected.txt: Rebaselined after r267825.
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 6:59 PM Changeset in webkit [267913] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(iOS 14): 2 imported/w3c/web-platform-tests/mathml/ tests are constant failures
https://bugs.webkit.org/show_bug.cgi?id=217268
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 6:46 PM Changeset in webkit [267912] by
-
- 7 edits in trunk
[JSC] Add Array#item to @@unscopables
https://bugs.webkit.org/show_bug.cgi?id=217243
Reviewed by Yusuke Suzuki.
JSTests:
- stress/unscopables.js:
Update test.
Source/JavaScriptCore:
ES2015+ Array methods must be listed in Array.prototype[@@unscopables] per the note here:
https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
The Array#item spec doesn't currently make this explicit, but I created an issue to ensure it isn't overlooked:
https://github.com/tc39/proposal-item-method/issues/30
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
LayoutTests:
- js/array-unscopables-properties-expected.txt:
- js/script-tests/array-unscopables-properties.js:
Update test.
- 6:26 PM Changeset in webkit [267911] by
-
- 5 edits2 adds in trunk
Calling suspend() on audio context with no node does not prevent auto transition to running when first node is created
https://bugs.webkit.org/show_bug.cgi?id=216972
<rdar://problem/69878834>
Reviewed by Darin Adler.
Source/WebCore:
Add support for the suspended by user flag in the WebAudio specification:
We set this flag when the script calls AudioContext.suspend():
We clear this flag when the script calls AudioContext.resume():
We then prevent automated transition of the AudioContext to "rendering" when this
flag is set:
- https://www.w3.org/TR/webaudio/#ref-for-dom-audiocontext-suspended-by-user-slot②
- https://www.w3.org/TR/webaudio/#ref-for-dom-audiocontext-suspended-by-user-slot③
Test: webaudio/suspend-context-before-first-node-creation.html
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::startRendering):
(WebCore::BaseAudioContext::suspendRendering):
(WebCore::BaseAudioContext::resumeRendering):
- Modules/webaudio/BaseAudioContext.h:
LayoutTests:
Add layout test coverage.
- webaudio/suspend-context-before-first-node-creation-expected.txt: Added.
- webaudio/suspend-context-before-first-node-creation.html: Added.
- 6:23 PM Changeset in webkit [267910] by
-
- 2 edits in branches/safari-610-branch/Source/WebKit
Cherry-pick r267792. rdar://problem/69904383
REGRESSION (r265009): Web Share API can no longer be invoked if a previous invocation was dismissed using the close button
https://bugs.webkit.org/show_bug.cgi?id=216913
<rdar://problem/69659878>
Reviewed by Darin Adler.
No new tests; not able to test without UI tests that actually use UIActivityViewController.
- UIProcess/Cocoa/WKShareSheet.mm: (-[WKShareSheet presentWithShareDataArray:inRect:]): -presentationControllerDidDismiss is not called if the UIActivityViewController is programmatically dismissed, so we need to revert to observing completion via UIActivityViewController's -completionWithItemsHandler.
In order to avoid regressing bug 214894 by doing so, we also need to
make sure that we're actually not presented anymore, as -completionWithItemsHandler
can be called multiple times before the share sheet is actually dismissed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267792 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:23 PM Changeset in webkit [267909] by
-
- 8 edits3 adds in branches/safari-610-branch
Cherry-pick r267753. rdar://problem/69904353
IndexedDB Index Corruption after upgrade from iOS 13 to iOS 14
https://bugs.webkit.org/show_bug.cgi?id=216962
<rdar://problem/69587004>
Reviewed by Brady Eidson.
Source/WebCore:
There is an implementation error in r255318, which updated index ID in database IndexInfo and IndexRecords
tables: it made changes to original table while iterating records of it. This means modified records can
be modified again, which leads to that two indices have the same index ID. As index ID is supposed to be unique,
some indices and index records cannot be populated and clients will find some indices are missing.
To fix this, we need to change the implementation of ID update and deal with already corrupted tables. For index
ID update, now we create a temporary table for storing the updated records, and replace the original table with
temporary table at the end of iteration. For the corruption issue, we check if IndexInfo table has duplicate
index IDs. If it has, we try recovering IndexInfo and IndexRecords table by removing records with duplicate
index IDs, assigning new IDs to duplicate indices, and adding records with updated index IDs.
API tests: IndexedDB.IndexUpgradeToV2WithMultipleIndices
IndexedDB.IndexUpgradeToV2WithMultipleIndicesHaveSameID
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp: (WebCore::IDBServer::indexInfoTableSchema): (WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo): (WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexInfoTableForIDUpdate): (WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexRecordsTableForIDUpdate): (WebCore::IDBServer::SQLiteIDBBackingStore::removeExistingIndex): (WebCore::IDBServer::SQLiteIDBBackingStore::addExistingIndex): (WebCore::IDBServer::SQLiteIDBBackingStore::handleDuplicateIndexIDs): (WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo): (WebCore::IDBServer::SQLiteIDBBackingStore::createIndex): (WebCore::IDBServer::SQLiteIDBBackingStore::updateOneIndexForAddRecord):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/shared/IDBIndexInfo.h: (WebCore::IDBIndexInfo::setIdentifier):
- Modules/indexeddb/shared/IDBObjectStoreInfo.cpp: (WebCore::IDBObjectStoreInfo::addExistingIndex):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm: (runMultipleIndicesTestWithDatabase): (TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2WithMultipleIndices.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/IndexUpgradeWithMultipleIndices.sqlite3: Added.
- TestWebKitAPI/Tests/WebKitCocoa/IndexUpgradeWithMultipleIndicesHaveSameID.sqlite3: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:23 PM Changeset in webkit [267908] by
-
- 5 edits in branches/safari-610-branch/Source
Cherry-pick r267612. rdar://problem/69904365
Crunchyroll playback controls do not work on iPad with trackpad
https://bugs.webkit.org/show_bug.cgi?id=217000
<rdar://problem/66362029>
Reviewed by Wenson Hsieh.
Source/WebCore:
- platform/RuntimeApplicationChecks.h:
- platform/cocoa/RuntimeApplicationChecksCocoa.mm: (WebCore::IOSApplication::isCrunchyroll):
Source/WebKit:
- UIProcess/ios/WKContentViewInteraction.mm: (applicationIsKnownToIgnoreMouseEvents): Add it to the list.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:23 PM Changeset in webkit [267907] by
-
- 24 edits in branches/safari-610-branch
Cherry-pick r266028. rdar://problem/69904377
Move node geometry functions from Range to RenderObject
https://bugs.webkit.org/show_bug.cgi?id=215677
Reviewed by Zalan Bujtas.
Source/WebCore:
Moved functions that return quads and rectangles out of Range into RenderObject.
We could find another home for them, but for now they make sense as static member
functions there since RenderObject has the non-static member functions that they
call on multiple nodes. Mostly did not change the design of these functions much,
and was careful not to change behavior at all. But did change a few things:
- Got rid of the functions that return a single unioned rectangle. Instead callers call unionRect at each call site.
- Changed the "use selection height" boolean to a BoundingRectBehavior flag.
- accessibility/AccessibilityRenderObject.cpp: (WebCore::boundsForRects): Call unionRect(RenderObject::absoluteTextRects) instead of Range::absoluteBoundingBox.
- dom/DocumentMarkerController.cpp: (WebCore::updateRenderedRectsForMarker): Instead of passing "true", pass "RenderObject::BoundingRectBehavior::UseSelectionHeight".
- dom/Range.cpp: (WebCore::Range::absoluteBoundingBox const): Deleted. (WebCore::Range::absoluteRectsForRangeInText const): Deleted. (WebCore::Range::absoluteTextRects const): Deleted. (WebCore::Range::getClientRects const): Call RenderObject::clientBorderAndTextRects. (WebCore::Range::getBoundingClientRect const): Call unionRect(RenderObject::clientBorderAndTextRects). (WebCore::Range::borderAndTextRects const): Deleted. (WebCore::Range::boundingRect const): Deleted. (WebCore::Range::absoluteBoundingRect const): Deleted.
- dom/Range.h: Updated for above.
- dom/SimpleRange.cpp: (WebCore::IntersectingNodeIterator::IntersectingNodeIterator): Fix bug affecting empty ranges by calling enforceEndInvariant. (WebCore::IntersectingNodeIterator::advance): Refactor to call enforceEndInvariant. (WebCore::IntersectingNodeIterator::advanceSkippingChildren): Ditto. (WebCore::IntersectingNodeIterator::enforceEndInvariant): Added.
- dom/SimpleRange.h: Added enforceEndInvariant.
- editing/FrameSelection.cpp: (WebCore::FrameSelection::getClippedVisibleTextRectangles const): Instead of passing a useSelectionHeight boolean, pass BoundingRectBehavior.
- page/TextIndicator.cpp: (WebCore::absoluteBoundingRectForRange): Call unionRectIgnoringZeroRects(RenderObject::absoluteBorderAndTextRects). (WebCore::initializeIndicator): Call RenderObject::absoluteTextRects.
- platform/graphics/GeometryUtilities.cpp: (WebCore::unionRectIgnoringZeroRects): Added.
- platform/graphics/GeometryUtilities.h: Updated for above.
- rendering/RenderLineBreak.h: Marked a lot of functions final. Added a default value for the absoluteQuads out argument.
- rendering/RenderObject.cpp: (WebCore::RenderObject::addPDFURLRect): Tweaked code style a bit. (WebCore::RenderObject::absoluteTextQuads): Replaced boolean useSelectionHeight argument with a BoundingRectBehavior argument. Also added a downcast so the call to RenderLineBreak::absoluteQuads is a non-virtual function call. (WebCore::absoluteRectsForRangeInText): Added. (WebCore::RenderObject::absoluteTextRects): Replaced boolean useSelectionHeight argument with a BoundingRectBehavior argument. (WebCore::nodeBefore): Added. (WebCore::borderAndTextRects): Added. (WebCore::RenderObject::absoluteBorderAndTextRects): Added. (WebCore::RenderObject::clientBorderAndTextRects): Added.
- rendering/RenderObject.h: Updated for above.
Source/WebKit:
- WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: (WebKit::InjectedBundleRangeHandle::boundingRectInWindowCoordinates const): Call unionRectIgnoringZeroRects(RenderObject::absoluteBorderAndTextRects). (WebKit::InjectedBundleRangeHandle::renderedImage): Call unionRectIgnoringZeroRects(RenderObject::absoluteBorderAndTextRects).
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::requestEvasionRectsAboveSelection): Call unionRect(RenderObject::absoluteTextRects). (WebKit::WebPage::requestDocumentEditingContext): Call unionRect(RenderObject::absoluteTextRects).
Source/WebKitLegacy/mac:
- DOM/DOM.mm: (-[DOMRange boundingBox]): Call unionRect(RenderObject::absoluteTextRects).
Source/WebKitLegacy/win:
- AccessibleTextImpl.cpp: (AccessibleText::scrollSubstringTo): Call unionRect(RenderObject::absoluteTextRects) instead of Range::absoluteBoundingBox.
LayoutTests:
- fast/dom/Range/scale-page-bounding-client-rect.html: Fix this test that accidentally depended on getting rects for an empty range (the contents of a div element with no text inside it) to instead get rects for a non-empty element (the div element, not just its contents). Test now works correctly, but results don't need to change.
- fast/dom/Range/scale-page-client-rects.html: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:19 PM Changeset in webkit [267906] by
-
- 8 edits in branches/safari-610-branch/Source
Versioning.
WebKit-7610.2.9
- 6:16 PM Changeset in webkit [267905] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] 2 mediacapture-record tests are a constant failure
https://bugs.webkit.org/show_bug.cgi?id=217263
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 6:02 PM Changeset in webkit [267904] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ Catalina wk2 ] imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217262
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 5:53 PM Changeset in webkit [267903] by
-
- 1 copy in tags/Safari-610.2.8
Tag Safari-610.2.8.
- 5:18 PM Changeset in webkit [267902] by
-
- 2 edits in trunk
Seeing "usage: basename string [suffix]" spam when using make to build
https://bugs.webkit.org/show_bug.cgi?id=217231
<rdar://problem/69889138>
Reviewed by Darin Adler.
The name of the project being built is no longer displayed when using
XCBuild. Therefore, https://bugs.webkit.org/show_bug.cgi?id=216865
taught the Makefile to perform this logging. The approach took
advantage of amakevariable (PATH_FROM_ROOT) that tracks the
relative path from the root of the build hierarchy to the current
project. However, that variable may not be initialized if the build is
not initiated from the root. Therefore, don't count on that variable,
and get the name of the current project by invokingpwd.
- Makefile.shared:
- 4:28 PM Changeset in webkit [267901] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(iOS 14): svg/W3C-I18N/tspan-direction-rtl.svg is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=217258
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:24 PM Changeset in webkit [267900] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(iOS 14): webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=217257
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:15 PM Changeset in webkit [267899] by
-
- 7 edits in trunk
Multiple calls to suspend media playback for the same page may result in resuming media playback too soon
https://bugs.webkit.org/show_bug.cgi?id=217228
rdar://problem/69709346
Reviewed by Eric Carlson.
Source/WebKit:
Calls to suspend/resume media playback should always be called in
pairs. The current implementation resumes media playback on the first
call to resumeAllMediaPlayback even if multiple calls to suspendAllMediaPlayback
have been made. This patch adds a counter to track how many calls to
suspendAllMediaPlayback have occurred, and only resumes once the
counter reaches 0.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _suspendMediaPlaybackCounter]):
SPI for test purposes.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::suspendAllMediaPlayback):
(WebKit::WebPageProxy::resumeAllMediaPlayback):
Never let the counter get below 0.
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::suspendMediaPlaybackCounter):
Tools:
Add API test coverage. Fix the existing SuspendResumeAllMediaPlayback
test which had a small JavaScript bug, and was missing a call to
TestWebKitAPI::Util::run(&didReject) which allowed the bug to go
unnoticed.
- TestWebKitAPI/Tests/WebKitCocoa/StopSuspendResumeAllMedia.mm:
(TestWebKitAPI::TEST):
- 3:25 PM Changeset in webkit [267898] by
-
- 28 edits10 deletes in trunk
Unreviewed, reverting r267887.
Broke two tests on iOS and Mac
Reverted changeset:
"Add non-animated support for the CSS translate property"
https://bugs.webkit.org/show_bug.cgi?id=216997
https://trac.webkit.org/changeset/267887
- 2:53 PM Changeset in webkit [267897] by
-
- 12 edits in trunk
Unreviewed, reverting r267817.
Broke two tests on Mac
Reverted changeset:
"Storage Access API: Enable per-page storage access scope and
align test cases"
https://bugs.webkit.org/show_bug.cgi?id=217077
https://trac.webkit.org/changeset/267817
- 2:26 PM WebKitGTK/2.30.x edited by
- (diff)
- 1:59 PM Changeset in webkit [267896] by
-
- 7 edits in trunk
Copy host from base file URL
https://bugs.webkit.org/show_bug.cgi?id=217170
Reviewed by Brady Eidson.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/resources/urltestdata.json:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WTF:
This matches Chrome and the URL specification.
Covered by newly passing web platform tests.
I also updated the web platform tests from https://github.com/web-platform-tests/wpt/pull/25716
which aligns with Safari in cases except copying of the host from base file URLs.
The implementation pushes copying from the base URL downstream in the parsing process to where it is in the URL specification
so that we can properly decide how much of the base URL to copy and so we can copy it into the right place in the result URL.
I also updated an assertion that makes sure that we re-use the input String if possible because there are cases where we copy
part of the parent URL, which is a "syntax violation" (meaning we copy the string parts and assemble a new one), then re-assemble
a new String that is equal to the input string. This is not a problem, it just needed to be reflected in the assertion.
- wtf/URLParser.cpp:
(WTF::URLParser::URLParser):
(WTF::URLParser::parse):
- 1:44 PM Changeset in webkit [267895] by
-
- 4 edits in trunk/Tools
[webkitscmpy] Remove "i" from canonical identifier
https://bugs.webkit.org/show_bug.cgi?id=217238
<rdar://problem/69888017>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit):
(Commit.pretty_print): Remove "i" from canonical identifier, add branch point.
(Commit.repr): Remove "i" from canonical identifier.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
(TestCommit.test_parse_revision):
(TestCommit.test_parse_identifier):
(TestCommit.test_parse):
(TestCommit.test_pretty_print):
- 1:35 PM Changeset in webkit [267894] by
-
- 2 edits in trunk/Source/WebKit
[Media in GPU Process] Remove requiresTextTrackRepresentation in RemoteMediaPlayerState
https://bugs.webkit.org/show_bug.cgi?id=217230
Reviewed by Jer Noble.
A Web process can figure out whether the fullscreen/picture-in-picture subtitle
layer (for text track representation) is required by itself, so it does not need
to get the information from the GPU process.
- WebProcess/GPU/media/RemoteMediaPlayerState.h:
(WebKit::RemoteMediaPlayerState::encode const):
(WebKit::RemoteMediaPlayerState::decode):
- 1:30 PM Changeset in webkit [267893] by
-
- 24 edits2 adds in trunk
Re-align HTMLElement with the HTML spec
https://bugs.webkit.org/show_bug.cgi?id=217202
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/html/dom/idlharness.https-expected.txt:
- web-platform-tests/svg/types/scripted/event-handler-all-document-element-events-expected.txt:
Update more now passing results.
Source/WebCore:
- Stops including DocumentAndElementEventHandlers in Element, and instead matches spec and other browsers by having HTMLElement, SVGElement and MathMLElement include it.
- Splits out ElementContentEditable from HTMLElement and has HTMLElement include it.
- Splits CSSOM View parts of HTMLElement out into HTMLElement+CSSOMView.idl
- Re-orders includes to more closely match spec'd order. Has no real effect but made me happy.
Updates results to existing tests that are now passing, all due to the change to
include DocumentAndElementEventHandlers in the Element subclasses, not Element itself.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- dom/Element.idl:
- dom/ElementContentEditable.idl: Added.
- html/HTMLBodyElement.idl:
- html/HTMLElement+CSSOMView.idl: Added.
- html/HTMLElement.idl:
- html/HTMLFrameSetElement.idl:
- html/HTMLMediaElement+AudioOutput.idl: Added.
- html/HTMLMediaElementAudioOutput.idl: Removed.
- mathml/MathMLElement.idl:
- svg/SVGElement.idl:
LayoutTests:
- fast/events/DocumentAndElementEventHandlers-expected.txt:
- fast/events/DocumentAndElementEventHandlers.html:
Update test to match spec by checking on the HTMLElement prototype, not the
Element prototype.
- fast/dom/event-handler-attributes-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
Update more now passing results.
- 12:23 PM Changeset in webkit [267892] by
-
- 3 edits in trunk/Tools
[CMake] unused variable warning spam in UIScriptController.h
https://bugs.webkit.org/show_bug.cgi?id=217176
Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-02
Reviewed by Adrian Perez de Castro.
- DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
(_generateImplementationFile): Generate macros for unused variables.
- TestRunnerShared/UIScriptContext/UIScriptController.h: Remove unused variable names declarations.
(WTR::UIScriptController::doAsyncTask):
(WTR::UIScriptController::ensurePositionInformationIsUpToDateAt):
(WTR::UIScriptController::overridePreference):
(WTR::UIScriptController::zoomToScale):
(WTR::UIScriptController::immediateZoomToScale):
(WTR::UIScriptController::setSafeAreaInsets):
(WTR::UIScriptController::propertiesOfLayerWithID const):
(WTR::UIScriptController::scrollToOffset):
(WTR::UIScriptController::immediateScrollToOffset):
(WTR::UIScriptController::immediateScrollElementAtContentPointToOffset):
(WTR::UIScriptController::touchDownAtPoint):
(WTR::UIScriptController::liftUpAtPoint):
(WTR::UIScriptController::singleTapAtPoint):
(WTR::UIScriptController::singleTapAtPointWithModifiers):
(WTR::UIScriptController::twoFingerSingleTapAtPoint):
(WTR::UIScriptController::doubleTapAtPoint):
(WTR::UIScriptController::dragFromPointToPoint):
(WTR::UIScriptController::longPressAtPoint):
(WTR::UIScriptController::activateAtPoint):
(WTR::UIScriptController::typeCharacterUsingHardwareKeyboard):
(WTR::UIScriptController::keyDown):
(WTR::UIScriptController::toggleCapsLock):
(WTR::UIScriptController::applyAutocorrection):
(WTR::UIScriptController::replaceTextAtRange):
(WTR::UIScriptController::stylusDownAtPoint):
(WTR::UIScriptController::stylusMoveToPoint):
(WTR::UIScriptController::stylusUpAtPoint):
(WTR::UIScriptController::stylusTapAtPoint):
(WTR::UIScriptController::stylusTapAtPointWithModifiers):
(WTR::UIScriptController::sendEventStream):
(WTR::UIScriptController::playBackEventStream):
(WTR::UIScriptController::dismissFilePicker):
(WTR::UIScriptController::setTimePickerValue):
(WTR::UIScriptController::setDefaultCalendarType):
(WTR::UIScriptController::findString):
(WTR::UIScriptController::simulateAccessibilitySettingsChangeNotification):
(WTR::UIScriptController::beginBackSwipe):
(WTR::UIScriptController::completeBackSwipe):
(WTR::UIScriptController::rectForMenuAction const):
(WTR::UIScriptController::attachmentInfo):
(WTR::UIScriptController::insertAttachmentForFilePath):
- 12:21 PM Changeset in webkit [267891] by
-
- 91 edits5 copies in trunk/Source/WebCore
Add stubs for AudioWorkletProcessor and AudioWorkletGlobalScope
https://bugs.webkit.org/show_bug.cgi?id=217194
Reviewed by Sam Weinig.
Add stubs for AudioWorkletProcessor and AudioWorkletGlobalScope:
- https://www.w3.org/TR/webaudio/#audioworkletprocessor
- https://www.w3.org/TR/webaudio/#audioworkletglobalscope
I had to make some changes to the generated bindings to avoid a naming conflict because there was already a class
named JSAudioWorkletProcessorConstructor (the DOM constructor for JSAudioWorkletProcessor) before I introduced
AudioWorkletProcessorConstructor.idl. We now use "DOMConstructor" suffix in the generated bindings instead of
"Constructor" to avoid the naming conflict.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/AudioWorkletGlobalScope.cpp:
(WebCore::AudioWorkletGlobalScope::registerProcessor):
- Modules/webaudio/AudioWorkletGlobalScope.h:
(WebCore::AudioWorkletGlobalScope::currentFrame):
(WebCore::AudioWorkletGlobalScope::currentTime const):
(WebCore::AudioWorkletGlobalScope::sampleRate const):
- Modules/webaudio/AudioWorkletGlobalScope.idl:
- Modules/webaudio/AudioWorkletProcessor.cpp: Copied from Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.idl.
(WebCore::AudioWorkletProcessor::AudioWorkletProcessor):
- Modules/webaudio/AudioWorkletProcessor.h: Copied from Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.idl.
(WebCore::AudioWorkletProcessor::create):
(WebCore::AudioWorkletProcessor::port):
- Modules/webaudio/AudioWorkletProcessor.idl: Copied from Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.idl.
- Modules/webaudio/AudioWorkletProcessorConstructor.h: Copied from Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp.
- Modules/webaudio/AudioWorkletProcessorConstructor.idl: Copied from Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.idl.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateRuntimeEnableConditionalStringForExposed):
(GenerateImplementation):
(GenerateCallbackImplementationContent):
(GenerateConstructorDeclaration):
(GenerateConstructorDefinitions):
(GenerateConstructorDefinition):
(GenerateConstructorHelperMethods):
- 12:12 PM Changeset in webkit [267890] by
-
- 12 edits1 delete in branches/safari-611.1.2-branch/Source
Revert r267539. rdar://problem/69891393
- 10:57 AM Changeset in webkit [267889] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] Web Inspector: add an ObjC protocol for extension support
https://bugs.webkit.org/show_bug.cgi?id=217191
<rdar://problem/69797960>
Reviewed by Timothy Hatcher.
- UIProcess/API/Cocoa/_WKInspector.h:
- 10:47 AM Changeset in webkit [267888] by
-
- 2 edits in trunk/Source/WebKit
[GPU Process] fast/canvas/canvas-createPattern-video-loading.html times out
https://bugs.webkit.org/show_bug.cgi?id=217227
Reviewed by Eric Carlson.
Even after supporting
createPatternwith video elements using the GPU process for both media and canvas
rendering, we still fail this test due to a security error that is thrown when consulting
CanvasRenderingContext::wouldTaintOrigin. This, in turn, is due to the fact that we never attempt to update
cachedwouldTaintDocumentSecurityOriginstate onMediaPlayerPrivateRemote, so it remainstrue.
This change will be covered by fast/canvas/canvas-createPattern-video-loading.html, which should now fail with a
text diff instead of timing out due to lack of support for creating aCanvasPatternout of a video element.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::updateCachedState):
- 10:26 AM Changeset in webkit [267887] by
-
- 28 edits10 adds in trunk
Add non-animated support for the CSS translate property
https://bugs.webkit.org/show_bug.cgi?id=216997
<rdar://problem/69597083>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
WPT progressions showing the correct parsing and computed style output of a non-animated "translate" property.
We are also adding some more tests to the invalid "translate" parsing to check that we bail once we get junk
for optional values after valid values.
- web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- web-platform-tests/css/css-transforms/animation/translate-composition-expected.txt:
- web-platform-tests/css/css-transforms/animation/translate-interpolation-expected.txt:
- web-platform-tests/css/css-transforms/parsing/translate-parsing-invalid-expected.txt:
- web-platform-tests/css/css-transforms/parsing/translate-parsing-invalid.html:
- web-platform-tests/css/css-transforms/parsing/translate-parsing-valid-expected.txt:
- web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
Source/WebCore:
We add non-animated support for the CSS "translate" property as specifed in by the CSS Transforms Level 2
specification (https://drafts.csswg.org/css-transforms-2/#propdef-translate).
Tests: transforms/2d/translate-and-transform-attribute-in-svg.svg
transforms/2d/translate-and-transform-css-property-in-svg.svg
transforms/2d/translate-in-svg.svg
transforms/2d/translate-transform-order.html
transforms/2d/translate-transform-origin-order.html
- Headers.cmake:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::computedTranslate): Create a CSSValueList to print out the computed value for the "translate" property.
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSProperties.json: Define the "translate" property with the condition that the runtime setting for individual
CSS transform properties is set.
- css/TransformFunctions.cpp:
(WebCore::translateForValue): Convert a CSSValue to a TranslateTransformOperation when parsing a "translate" property value.
- css/TransformFunctions.h:
- css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::CSSParserContext): Add a new flag indicating whether the runtime setting for individual
CSS transform properties is set.
(WebCore::operator==):
- css/parser/CSSParserContext.h:
(WebCore::CSSParserContextHash::hash):
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeTranslate): Create a CSSValueList when parsing a "translate" property value.
(WebCore::CSSPropertyParser::parseSingleValue):
- platform/graphics/transforms/TranslateTransformOperation.h: Promote the apply() method to be public so that it can be called
from Style::ComputedStyleExtractor::valueForPropertyInStyle().
- rendering/RenderObject.h:
(WebCore::RenderObject::hasTransform const): Consider that having the "translate" property is akin to having a "transform" property
in the render tree.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setTranslate):
(WebCore::RenderStyle::applyTransform const): Account for the RenderStyle::translate() value in the right order, after applying the
transform origin, but before applying the main transform.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::translate const):
(WebCore::RenderStyle::hasTransformRelatedProperty const):
(WebCore::RenderStyle::initialTranslate):
- rendering/style/StyleRareNonInheritedData.h:
- rendering/style/WillChangeData.cpp:
(WebCore::WillChangeData::propertyCreatesStackingContext):
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertTranslate):
- svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::animatedLocalTransform const): Account for the RenderStyle::translate() value when rendering SVG, ensuring
that it is applied before the transform specified by either the "transform" CSS property or SVG attribute.
LayoutTests:
Add tests checking that the "translate" CSS property is applied in the correct order related to
"transform-origin" and "transform" and that it is applied in SVG as well.
- imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- platform/ios-13/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- transforms/2d/translate-and-transform-attribute-in-svg-expected.svg: Added.
- transforms/2d/translate-and-transform-attribute-in-svg.svg: Added.
- transforms/2d/translate-and-transform-css-property-in-svg-expected.svg: Added.
- transforms/2d/translate-and-transform-css-property-in-svg.svg: Added.
- transforms/2d/translate-in-svg-expected.svg: Added.
- transforms/2d/translate-in-svg.svg: Added.
- transforms/2d/translate-transform-order-expected.html: Added.
- transforms/2d/translate-transform-order.html: Added.
- transforms/2d/translate-transform-origin-order-expected.html: Added.
- transforms/2d/translate-transform-origin-order.html: Added.
- 10:24 AM Changeset in webkit [267886] by
-
- 2 edits in trunk/Tools
Update my information in contributors.json
Unreviewed.
- Scripts/webkitpy/common/config/contributors.json:
- 9:39 AM Changeset in webkit [267885] by
-
- 57 edits4 copies13 deletes in trunk
Remove code behind ENABLE(MEDIA_SESSION), no ports enable it
https://bugs.webkit.org/show_bug.cgi?id=216831
Reviewed by Alex Christensen.
.:
- Source/cmake/OptionsFTW.cmake:
- Source/cmake/WebKitFeatures.cmake:
Remove option to build with MEDIA_SESSION, no one was doing it.
Source/WebCore:
- CMakeLists.txt:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Remove media session related files.
- Modules/airplay/PlaybackTargetClientContextIdentifier.h: Added.
- Modules/airplay/WebMediaSessionManager.cpp: Added.
- Modules/airplay/WebMediaSessionManager.h: Added.
- Modules/airplay/WebMediaSessionManagerClient.h: Added.
- Modules/mediasession: Removed.
- platform/mediasession: Removed.
Delete Modules/mediasession and platform/mediasession. Move files that
were actually used for the WIRELESS_PLAYBACK_TARGET feature to
Modules/airplay where other parts of that feature are implemented.
- dom/Document.cpp:
- dom/Document.h:
- dom/EventTargetFactory.in:
- html/HTMLMediaElement.cpp:
- html/HTMLMediaElement.h:
- page/ChromeClient.h:
- page/Page.cpp:
- page/Page.h:
- testing/Internals.cpp:
- testing/Internals.h:
- testing/Internals.idl:
Remove all code inside ENABLE(MEDIA_SESSION).
Source/WebKit:
Removes all code in ENABLE(MEDIA_SESSION) and all media session
related SPI. It was never enabled and nothing ever adopted it.
- Sources.txt:
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
Remove media session related files.
- Shared/API/APIObject.h:
- Shared/API/c/WKBase.h:
- Shared/WebCoreArgumentCoders.cpp:
- Shared/WebCoreArgumentCoders.h:
- Shared/WebMediaSessionMetadata.cpp: Removed.
- Shared/WebMediaSessionMetadata.h: Removed.
- UIProcess/API/APIUIClient.h:
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/WKContext.cpp:
- UIProcess/API/C/WKContext.h:
- UIProcess/API/C/WKMediaSessionFocusManager.cpp: Removed.
- UIProcess/API/C/WKMediaSessionFocusManager.h: Removed.
- UIProcess/API/C/WKMediaSessionMetadata.cpp: Removed.
- UIProcess/API/C/WKMediaSessionMetadata.h: Removed.
- UIProcess/API/C/WKPage.cpp:
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/C/WKPageUIClient.h:
- UIProcess/WebMediaSessionFocusManager.cpp: Removed.
- UIProcess/WebMediaSessionFocusManager.h: Removed.
- UIProcess/WebMediaSessionFocusManagerClient.cpp: Removed.
- UIProcess/WebMediaSessionFocusManagerClient.h: Removed.
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
- UIProcess/WebProcessPool.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Remove all code in ENABLE(MEDIA_SESSION).
Tools:
- Scripts/webkitperl/FeatureList.pm:
Remove support for building with MEDIA_SESSION enabled.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
Update names to new 'unused' naming.
LayoutTests:
Remove always skipped Media Session tests.
- TestExpectations:
- gpu-process/TestExpectations:
- media/session: Removed.
- 9:36 AM commit-identifiers edited by
- (diff)
- 9:31 AM commit-identifiers edited by
- (diff)
- 9:30 AM commit-identifiers edited by
- (diff)
- 9:01 AM Changeset in webkit [267884] by
-
- 5 edits7 deletes in trunk/LayoutTests
Remove unhelpful dom-static-property-for-in-iteration.html test
https://bugs.webkit.org/show_bug.cgi?id=217204
Reviewed by Chris Dumez.
Iteration order for builtin attributes, operations and constants of WebIDL
objects is not currently defined, so the test dom-static-property-for-in-iteration.html,
is just testing what we happen to currently do. This is largely unhelpful
and frustrating to maintain as different ports enabling/disabling features
means each port needed a seperate result, and any time something was added, removed
or moved, all the results need to be updated. There are plenty of other tests
that ensure we have these properties, so removing this is not a loss.
- js/dom/dom-static-property-for-in-iteration-expected.txt: Removed.
- js/dom/dom-static-property-for-in-iteration.html: Removed.
- platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt: Removed.
- platform/ios-wk2/TestExpectations:
- platform/ios-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt: Removed.
- platform/ios/TestExpectations:
- platform/mac-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt: Removed.
- platform/win/TestExpectations:
- platform/win/js/dom/dom-static-property-for-in-iteration-expected.txt: Removed.
- platform/wincairo/TestExpectations:
- platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt: Removed.
- 9:00 AM Changeset in webkit [267883] by
-
- 57 edits10 copies4 moves49 adds in trunk
Unreviewed, reverting r267796.
This change is breaking the build on AzulE debug bots.
Reverted changeset:
"Remove code behind ENABLE(MEDIA_SESSION), no ports enable it"
https://bugs.webkit.org/show_bug.cgi?id=216831
https://trac.webkit.org/changeset/267796
- 8:58 AM commit-identifiers created by
- 8:58 AM WikiStart edited by
- (diff)
- 8:57 AM WikiStart edited by
- Add link to Commit Identifiers (diff)
- 8:54 AM Changeset in webkit [267882] by
-
- 4 edits in trunk
[GTK] Build broken with ENABLE_MEDIA_STREAM enabled and ENABLE_WEB_RTC_DISABLED
https://bugs.webkit.org/show_bug.cgi?id=217128
Reviewed by Philippe Normand.
.:
- Source/cmake/GStreamerChecks.cmake: Only enable USE_LIBWEBRTC when both
ENABLE_MEDIA_STREAM and ENABLE_WEB_RTC is defined. This prevents trying to
build code that uses libwebrtc types when ENABLE_WEB_RTC is disabled but
ENABLE_MEDIA_STREAM is enabled.
Source/WebCore:
No new tests needed.
- platform/mediastream/gstreamer/GStreamerAudioData.h: Remove USE(LIBWEBRTC) guard, as
there is nothing specific to WebRTC in this file, and it is needed when building with
ENABLE_MEDIA_STREAM enabled.
- 8:48 AM Changeset in webkit [267881] by
-
- 4 edits in trunk/Source/WebCore
Rename repaint to repaintSelection in HighlightData for clarity
https://bugs.webkit.org/show_bug.cgi?id=217205
Reviewed by Tim Horton.
No behavior change, covered by existing tests.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::focusedOrActiveStateChanged):
- rendering/HighlightData.cpp:
(WebCore::HighlightData::repaintSelection const):
(WebCore::HighlightData::repaint const): Deleted.
- rendering/HighlightData.h:
- 8:45 AM Changeset in webkit [267880] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Do not use simplified text measuring when soft hyphen is present
https://bugs.webkit.org/show_bug.cgi?id=217224
Reviewed by Antti Koivisto.
Specifically the monospaced fast codepath computes incorrect widht value when soft hyphens are present.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::canUseSimplifiedTextMeasuring):
- rendering/RenderText.cpp:
(WebCore::RenderText::computeCanUseSimplifiedTextMeasuring const):
- 8:29 AM Changeset in webkit [267879] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed. [GTK] Add missing locale.h header needed for setlocale()
- jsc.cpp: Add missing locale.h header for the GTK port, which is needed to get the
definition for setlocale() in scope.
- 8:27 AM Changeset in webkit [267878] by
-
- 10 edits in trunk
Layout Test accessibility/mac/html5-input-number.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=180560
<rdar://problem/36029379>
Reviewed by Chris Fleizach.
Source/WebCore:
Fix for this test in both isolated tree mode on and off.
- accessibility/AccessibilitySpinButton.h:
AccessibilitySpinButtonPart::roleValue now returns SpinButtonPart role
as it should.
- accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::Accessibility::createPlatformRoleMap):
Appropriate platform role string for SpinButtonPart role.
Tools:
Dispatch the computation of the role and subrole to secondary AX thread in isolated tree mode = 2.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::subrole):
LayoutTests:
SpinButtonPart platform role string is "AXIncrementorArrow".
- accessibility/mac/html5-input-number-expected.txt:
- accessibility/mac/html5-input-number.html:
Eliminated flakiness by making test deterministic using Promises. Works
in both isolated tree mode on and off.
- accessibility/spinbutton-crash-expected.txt:
- platform/mac/TestExpectations: Test no longer flaky.
- 7:27 AM Changeset in webkit [267877] by
-
- 7 edits in trunk/Source/WebCore
[LFC][Integration] Convert rest of Position::inlineBoxAndOffset to use iterator
https://bugs.webkit.org/show_bug.cgi?id=217214
Reviewed by Zalan Bujtas.
Progress towards allowing Position construction in all cases without forcing legacy inline layout.
- dom/Position.cpp:
(WebCore::InlineBoxAndOffset::InlineBoxAndOffset):
(WebCore::Position::inlineBoxAndOffset const):
- dom/Position.h:
- layout/integration/LayoutIntegrationRunIterator.cpp:
(WebCore::LayoutIntegration::RunIterator::setAtEnd):
(WebCore::LayoutIntegration::RunIterator::previousOnLine const):
(WebCore::LayoutIntegration::RunIterator::nextOnLineIgnoringLineBreak const):
(WebCore::LayoutIntegration::RunIterator::previousOnLineIgnoringLineBreak const):
(WebCore::LayoutIntegration::LineRunIterator::traversePreviousOnLine):
(WebCore::LayoutIntegration::LineRunIterator::traverseNextOnLineIgnoringLineBreak):
(WebCore::LayoutIntegration::LineRunIterator::traversePreviousOnLineIgnoringLineBreak):
- layout/integration/LayoutIntegrationRunIterator.h:
(WebCore::LayoutIntegration::Run::leftmostCaretOffset const):
(WebCore::LayoutIntegration::Run::rightmostCaretOffset const):
(WebCore::LayoutIntegration::Run::direction const):
(WebCore::LayoutIntegration::Run::isLeftToRightDirection const):
(WebCore::LayoutIntegration::Run::bidiLevel const):
- layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:
(WebCore::LayoutIntegration::LegacyPath::bidiLevel const):
(WebCore::LayoutIntegration::LegacyPath::traversePreviousOnLine):
(WebCore::LayoutIntegration::LegacyPath::setAtEnd):
(WebCore::LayoutIntegration::LegacyPath::isLeftToRightDirection const): Deleted.
- layout/integration/LayoutIntegrationRunIteratorModernPath.h:
(WebCore::LayoutIntegration::ModernPath::bidiLevel const):
(WebCore::LayoutIntegration::ModernPath::traverseNextOnLine):
(WebCore::LayoutIntegration::ModernPath::traversePreviousOnLine):
(WebCore::LayoutIntegration::ModernPath::setAtEnd):
(WebCore::LayoutIntegration::ModernPath::line const):
(WebCore::LayoutIntegration::ModernPath::isLeftToRightDirection const): Deleted.
- 6:51 AM Changeset in webkit [267876] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed non-unified build fix.
No new tests needed.
- Modules/webaudio/AudioWorkletMessagingProxy.cpp: Add missing AudioWorkletGlobalScope.h header.
- worklets/WorkletPendingTasks.cpp: Add missing Worklet.h header.
- 6:35 AM Changeset in webkit [267875] by
-
- 2 edits in trunk/Source/WebKit
[GTK] WPE and backend versions are mixed up in webkit://gpu
https://bugs.webkit.org/show_bug.cgi?id=217210
Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-10-02
Reviewed by Adrian Perez de Castro.
- UIProcess/API/glib/WebKitProtocolHandler.cpp:
(WebKit::WebKitProtocolHandler::handleGPU):
- 6:08 AM WikiStart edited by
- Updated link to EWS (diff)
- 5:25 AM Changeset in webkit [267874] by
-
- 18 edits5 deletes in trunk
Unreviewed, reverting r267864.
https://bugs.webkit.org/show_bug.cgi?id=217220
Added broken tests
Reverted changeset:
"[GPU Process] Support drawing text in 2D canvas with font
features"
https://bugs.webkit.org/show_bug.cgi?id=206118
https://trac.webkit.org/changeset/267864
- 5:03 AM Changeset in webkit [267873] by
-
- 2 edits in trunk/WebDriverTests
Unreviewed Gardening. Remove expectations for tests fixed in r267872
- TestExpectations.json:
- 4:54 AM Changeset in webkit [267872] by
-
- 3 edits in trunk/Source/WebDriver
WebDriver: check the right browser context is open in all commands
https://bugs.webkit.org/show_bug.cgi?id=217177
Reviewed by Carlos Alberto Lopez Perez.
We currently check the top level browsing context for all commands, but the current browsing context should be
checked instead in some of them. New tests added to check this are now failing. This patch changes the way we
were handling the current browsing context, considering nullopt to be the main frame of the current top level
browsing context. Now the null string is used for that, matching what automation expects in the browser and
nullopt means the browser context is closed. That way we can check if the current browser context has been
closed.
- Session.cpp:
(WebDriver::Session::close): Also close the current browsing context.
(WebDriver::Session::switchToTopLevelBrowsingContext): Initialize the current browsing context to null string.
(WebDriver::Session::switchToBrowsingContext): Just set the given context now.
(WebDriver::Session::go): Pass null string to switchToBrowsingContext().
(WebDriver::Session::back): Ditto.
(WebDriver::Session::forward): Ditto.
(WebDriver::Session::refresh): Ditto.
(WebDriver::Session::closeWindow): Close the current browsing context too.
(WebDriver::Session::switchToFrame): If frame is null check top level browsing context is open, otherwise check
current browsing context.
(WebDriver::Session::findElements): Check current browsing context is open instead of toplevel one.
(WebDriver::Session::getActiveElement): Ditto.
(WebDriver::Session::isElementSelected): Ditto.
(WebDriver::Session::getElementText): Ditto.
(WebDriver::Session::getElementTagName): Ditto.
(WebDriver::Session::getElementRect): Ditto.
(WebDriver::Session::isElementEnabled): Ditto.
(WebDriver::Session::getElementAttribute): Ditto.
(WebDriver::Session::getElementProperty): Ditto.
(WebDriver::Session::getElementCSSValue): Ditto.
(WebDriver::Session::waitForNavigationToComplete): Ditto. Also close the current browsing context when the
window or the frame are closed to do the navigation.
(WebDriver::Session::elementClick): Check current browsing context is open instead of toplevel one.
(WebDriver::Session::elementClear): Ditto.
(WebDriver::Session::elementSendKeys): Ditto.
(WebDriver::Session::getPageSource): Ditto.
(WebDriver::Session::executeScript): Ditto.
(WebDriver::Session::getAllCookies): Ditto.
(WebDriver::Session::addCookie): Ditto.
(WebDriver::Session::deleteCookie): Ditto.
(WebDriver::Session::deleteAllCookies): Ditto.
(WebDriver::Session::performActions): Ditto.
(WebDriver::Session::takeScreenshot): Check current browsing context is open instead of toplevel one when an
element is given.
- Session.h:
- 4:44 AM Changeset in webkit [267871] by
-
- 3 edits in trunk/Tools
[GTK] Fix MiniBrowser compilation warnings
https://bugs.webkit.org/show_bug.cgi?id=217208
Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-02
Reviewed by Carlos Garcia Campos.
webkit_web_context_set_network_proxy_settings() is deprecated in favor of
webkit_website_data_manager_set_network_proxy_settings().
webkit_web_context_set_tls_errors_policy() is deprecated in favor of
webkit_website_data_manager_set_tls_errors_policy().
- MiniBrowser/gtk/main.c:
(activate):
- MiniBrowser/wpe/main.cpp:
(main):
- 2:38 AM Changeset in webkit [267870] by
-
- 11 edits1 add in trunk
Add AVAssetWriter SPI header
https://bugs.webkit.org/show_bug.cgi?id=217169
<rdar://problem/69793050>
Reviewed by Eric Carlson.
Source/WebCore:
No change of behavior, include SPI header instead of private SDK header.
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/spi/cocoa/AVAssetWriterSPI.h: Added.
Source/WTF:
- wtf/PlatformHave.h:
Remove dependency on AVAssetWriter_private.h.
Introduce HAVE_AVASSETWRITERDELEGATE_API for older OSes that only have delegate as SPI.
LayoutTests:
Enable tests by default on Catalina+, disable them on Mojave and WK1.
Disable tests for iOS13.
- TestExpectations:
- platform/ios-13/TestExpectations:
- platform/mac/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 12:05 AM Changeset in webkit [267869] by
-
- 23 edits3 adds in trunk
[iOS WK1] Crashes when using ANGLE WebGL from another thread
https://bugs.webkit.org/show_bug.cgi?id=216106
<rdar://problem/68602452>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-10-02
Reviewed by Kenneth Russell.
Source/ThirdParty/ANGLE:
Add two extensions for EAGL and CGL backends to declare the
underlying platform context being "volatile". It means that
the thread-global current context is being modified behind
ANGLE. If ANGLE context is marked volatile for a particular
API, it will sync the underlying context for every EGL
function that needs the context. Most intuitive use is
for the client to call eglMakeCurrent before calling any
gl function if the client knowns the platform state might
be dirty.
Implement eglReleaseThread for EAGL and CGL backends.
Releasing thread will unset the platform current context.
Fix a bug of omitting EGL_ANGLE_device_eagl from being
advertised.
- extensions/EGL_ANGLE_platform_angle_device_context_volatile_cgl.txt: Added.
- extensions/EGL_ANGLE_platform_angle_device_context_volatile_eagl.txt: Added.
- include/EGL/eglext_angle.h:
- src/libANGLE/Caps.cpp:
(egl::DeviceExtensions::getStrings const):
(egl::ClientExtensions::getStrings const):
- src/libANGLE/Caps.h:
- src/libANGLE/Display.cpp:
(egl::Display::prepareForCall):
(egl::Display::releaseThread):
(egl::GenerateClientExtensions):
- src/libANGLE/Display.h:
- src/libANGLE/renderer/DisplayImpl.cpp:
(rx::DisplayImpl::prepareForCall):
(rx::DisplayImpl::releaseThread):
- src/libANGLE/renderer/DisplayImpl.h:
- src/libANGLE/renderer/gl/cgl/DisplayCGL.h:
- src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
(rx::DisplayCGL::initialize):
(rx::DisplayCGL::terminate):
(rx::DisplayCGL::prepareForCall):
(rx::DisplayCGL::releaseThread):
(rx::DisplayCGL::makeCurrent):
- src/libANGLE/renderer/gl/eagl/DisplayEAGL.h:
- src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
(rx::DisplayEAGL::initialize):
(rx::DisplayEAGL::terminate):
(rx::DisplayEAGL::prepareForCall):
(rx::DisplayEAGL::releaseThread):
- src/libANGLE/validationEGL.cpp:
- src/libGLESv2/entry_points_egl.cpp:
- src/libGLESv2/entry_points_egl_ext.cpp:
Source/WebCore:
Source of the bug comes from following:
- WK1 might run WebKit code in client main thread.
- WK1 might run Webkit code in web thread.
- WebKit code might run WebGL payload, notably access GraphicsContextGL classes. Client is able to modify EAGL/CGL current context.
The change to ANGLE incurred two distinct behavior changes
compared to raw EAGL / CGL:
1) Before: context was set current before any GL call
After: context was set current only if EGL current context
had been changed. (Explicit code as well as ANGLE implementation
optimization.)
2) Before: context being used was able to be current in
multiple threads at the same time. (EAGL/CGL feature)
After: context cannot be current in multiple threads
at the same time. (EGL feature)
Change in behavior 1) caused ANGLE to sometimes use
the EAGL/CGL context of the client instead of
the real context that ANGLE created.
Fix this by introducing
EGL_ANGLE_platform_angle_device_context_volatile_eagl
and
EGL_ANGLE_platform_angle_device_context_volatile_cgl
which make ANGLE sync the context on each eglMakeCurrent
eglReleaseThread and eglTerminate.
Change in behavior 2) caused ANGLE to use uninitialized
context object from one thread, if the real context object
was current in another thread.
Fix this by considering "GraphicsContextGLOpenGL current context"
as part of "data that is owned by WebCoreThread lock".
The current context is set with lock held, implicitly.
The current context is released when lock is released.
When the lock is not held, GraphicsContextGLOpenGL current context
is nullptr.
Adds soft linking for EAGL for the purpose of testing this in
TestWebKitAPI. The case of Apple Silicon Mac may sometimes
use CGL and sometimes EAGL, and the test should test that
client overriding both contexts will not cause problems.
Fix ANGLE header include path:
- Do not include ANGLE in the path, as files are included with ANGLE/
- Add WK_ALTERNATE_FRAMEWORKS_DIR so that SDK_VARIANT=iosmac e.g. maccatalyst builds work
Previously the ANGLE was not included from ThirdParty/ANGLE, rather
"WebKit SDK".
- Configurations/WebCore.xcconfig:
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
(WebCore::GraphicsContextGLOpenGL::~GraphicsContextGLOpenGL):
(WebCore::GraphicsContextGLOpenGL::makeContextCurrent):
(WebCore::GraphicsContextGLOpenGL::releaseCurrentContext):
(WebCore::GraphicsContextGLOpenGL::checkGPUStatus):
(WebCore::GraphicsContextGLOpenGL::allowOfflineRenderers const):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/ios/wak/WebCoreThread.mm:
(WebThreadUnlockFromAnyThread):
(_WebThreadUnlock):
Tools:
Add a WK1 test which runs WebGL code both in
client main thread and in web thread.
This tests the case where ANGLE EGL context is
not being held current in one thread while the
other thread runs WebGL and thus ANGLE EGL code.
- TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitLegacy/ios/WebGLNoCrashOnOtherThreadAccess.mm: Added.
(-[WebGLNoCrashOnOtherThreadAccessWebViewDelegate webViewDidFinishLoad:]):
(-[WebGLNoCrashOnOtherThreadAccessWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
(TestWebKitAPI::TEST):