[webkit-changes] [250643] trunk
Title: [250643] trunk Revision 250643 Author an...@apple.com Date 2019-10-02 22:22:03 -0700 (Wed, 02 Oct 2019) Log Message [CSS Shadow Parts] Support multiple arguments for ::part() https://bugs.webkit.org/show_bug.cgi?id=202482 Reviewed by Ryosuke Niwa. LayoutTests/imported/w3c: * web-platform-tests/css/css-shadow-parts/multiple-parts-expected.txt: Source/WebCore: Support ::part(foo bar). * css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText const): (WebCore::CSSSelector::setArgumentList): (WebCore::CSSSelector::setLangArgumentList): Deleted. Give this a more generic name and use it for ::part() too. * css/CSSSelector.h: (WebCore::CSSSelector::argumentList const): (WebCore::CSSSelector::langArgumentList const): Deleted. * css/SelectorChecker.cpp: (WebCore::SelectorChecker::checkOne const): Match only if all parts are found from the element 'part' attribute. * css/parser/CSSParserSelector.cpp: (WebCore::CSSParserSelector::setArgumentList): (WebCore::CSSParserSelector::setLangArgumentList): Deleted. * css/parser/CSSParserSelector.h: * css/parser/CSSSelectorParser.cpp: (WebCore::CSSSelectorParser::consumePseudo): Parse the list. * cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::addPseudoClassType): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/multiple-parts-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSSelector.cpp trunk/Source/WebCore/css/CSSSelector.h trunk/Source/WebCore/css/SelectorChecker.cpp trunk/Source/WebCore/css/parser/CSSParserSelector.cpp trunk/Source/WebCore/css/parser/CSSParserSelector.h trunk/Source/WebCore/css/parser/CSSSelectorParser.cpp trunk/Source/WebCore/cssjit/SelectorCompiler.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (250642 => 250643) --- trunk/LayoutTests/imported/w3c/ChangeLog 2019-10-03 04:53:53 UTC (rev 250642) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2019-10-03 05:22:03 UTC (rev 250643) @@ -1,5 +1,14 @@ 2019-10-02 Antti Koivisto +[CSS Shadow Parts] Support multiple arguments for ::part() +https://bugs.webkit.org/show_bug.cgi?id=202482 + +Reviewed by Ryosuke Niwa. + +* web-platform-tests/css/css-shadow-parts/multiple-parts-expected.txt: + +2019-10-02 Antti Koivisto + [CSS Shadow Parts] Basic ::part() pseudo element support https://bugs.webkit.org/show_bug.cgi?id=202456 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/multiple-parts-expected.txt (250642 => 250643) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/multiple-parts-expected.txt 2019-10-03 04:53:53 UTC (rev 250642) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/multiple-parts-expected.txt 2019-10-03 05:22:03 UTC (rev 250643) @@ -1,6 +1,6 @@ The following text should match its stated colour: -FAIL Double-part in selected host is styled assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)" +PASS Double-part in selected host is styled PASS Single-part-1 in selected host is not styled PASS Single-part-2 in selected host is not styled Modified: trunk/Source/WebCore/ChangeLog (250642 => 250643) --- trunk/Source/WebCore/ChangeLog 2019-10-03 04:53:53 UTC (rev 250642) +++ trunk/Source/WebCore/ChangeLog 2019-10-03 05:22:03 UTC (rev 250643) @@ -1,3 +1,39 @@ +2019-10-02 Antti Koivisto + +[CSS Shadow Parts] Support multiple arguments for ::part() +https://bugs.webkit.org/show_bug.cgi?id=202482 + +Reviewed by Ryosuke Niwa. + +Support ::part(foo bar). + +* css/CSSSelector.cpp: +(WebCore::CSSSelector::selectorText const): +(WebCore::CSSSelector::setArgumentList): +(WebCore::CSSSelector::setLangArgumentList): Deleted. + +Give this a more generic name and use it for ::part() too. + +* css/CSSSelector.h: +(WebCore::CSSSelector::argumentList const): +(WebCore::CSSSelector::langArgumentList const): Deleted. +* css/SelectorChecker.cpp: +(WebCore::SelectorChecker::checkOne const): + +Match only if all parts are found from the element 'part' attribute. + +* css/parser/CSSParserSelector.cpp: +(WebCore::CSSParserSelector::setArgumentList): +(WebCore::CSSParserSelector::setLangArgumentList): Deleted. +* css/parser/CSSParserSelector.h: +* css/parser/CSSSelectorParser.cpp: +(WebCore::CSSSelectorParser::consumePseudo): + +Parse the list. + +* cssjit/SelectorCompiler.cpp: +(WebCore::SelectorCompiler::addPseudoClassType): + 2019-10-02 Andy Estes [iOS] When hit testing for a context menu interaction, do not consider whether the element is contenteditable Modified: trunk/Source/WebCore/css/CSSSelector.cpp (250642 => 250643) --- trunk/Source/WebCore/css/CSSSelector.cpp 2019-10-03 04:53:53 UTC (rev
[webkit-changes] [250642] trunk/Source
Title: [250642] trunk/Source Revision 250642 Author aes...@apple.com Date 2019-10-02 21:53:53 -0700 (Wed, 02 Oct 2019) Log Message [iOS] When hit testing for a context menu interaction, do not consider whether the element is contenteditable https://bugs.webkit.org/show_bug.cgi?id=202498 Reviewed by Tim Horton. Source/WebCore: When the user selects a context menu action, WebKit performs a hit test in order to find the acted-on element on the page. This is separate from the hit test performed to generate the context menu's targeted preview. Since an arbitrary amount of time can elapse between preview generation and action selection, this second hit-tests might return a different element. One case where we know a different element can be returned is in apps that dynamically enable and disable editing. If editing is disabled when the first hit test occurs but is enabled when the second one occurs, different elements will be returned due to Frame::qualifyingNodeAtViewportLocation preferring to return the root editable element when the approximate node is contenteditable. While the appropriate long-term fix is to only hit-test once and use that element for both preview generation and action selection, this patch implements a short-term fix to address the specific problem in rdar://problem/54723131 by disabling the contenteditable behavior described above for context menu interaction hit testing. The long-term fix is tracked by . * page/Frame.h: * page/ios/FrameIOS.mm: (WebCore::Frame::qualifyingNodeAtViewportLocation): (WebCore::Frame::approximateNodeAtViewportLocationLegacy): (WebCore::ancestorRespondingToClickEventsNodeQualifier): (WebCore::Frame::nodeRespondingToClickEvents): (WebCore::Frame::nodeRespondingToDoubleClickEvent): (WebCore::Frame::nodeRespondingToInteraction): (WebCore::Frame::nodeRespondingToScrollWheelEvents): Source/WebKit: * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::startInteractionWithElementAtPosition): Changed to call WebCore::Frame::nodeRespondingToInteraction. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Frame.h trunk/Source/WebCore/page/ios/FrameIOS.mm trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm Diff Modified: trunk/Source/WebCore/ChangeLog (250641 => 250642) --- trunk/Source/WebCore/ChangeLog 2019-10-03 02:47:00 UTC (rev 250641) +++ trunk/Source/WebCore/ChangeLog 2019-10-03 04:53:53 UTC (rev 250642) @@ -1,3 +1,40 @@ +2019-10-02 Andy Estes + +[iOS] When hit testing for a context menu interaction, do not consider whether the element is contenteditable +https://bugs.webkit.org/show_bug.cgi?id=202498 + + +Reviewed by Tim Horton. + +When the user selects a context menu action, WebKit performs a hit test in order to find the +acted-on element on the page. This is separate from the hit test performed to generate the +context menu's targeted preview. Since an arbitrary amount of time can elapse between +preview generation and action selection, this second hit-tests might return a different +element. + +One case where we know a different element can be returned is in apps that dynamically +enable and disable editing. If editing is disabled when the first hit test occurs but is +enabled when the second one occurs, different elements will be returned due to +Frame::qualifyingNodeAtViewportLocation preferring to return the root editable element when +the approximate node is contenteditable. + +While the appropriate long-term fix is to only hit-test once and use that element for both +preview generation and action selection, this patch implements a short-term fix to address +the specific problem in rdar://problem/54723131 by disabling the contenteditable behavior +described above for context menu interaction hit testing. + +The long-term fix is tracked by . + +* page/Frame.h: +* page/ios/FrameIOS.mm: +(WebCore::Frame::qualifyingNodeAtViewportLocation): +(WebCore::Frame::approximateNodeAtViewportLocationLegacy): +(WebCore::ancestorRespondingToClickEventsNodeQualifier): +(WebCore::Frame::nodeRespondingToClickEvents): +(WebCore::Frame::nodeRespondingToDoubleClickEvent): +(WebCore::Frame::nodeRespondingToInteraction): +(WebCore::Frame::nodeRespondingToScrollWheelEvents): + 2019-10-02 Antti Koivisto [CSS Shadow Parts] Basic ::part() pseudo element support Modified: trunk/Source/WebCore/page/Frame.h (250641 => 250642) --- trunk/Source/WebCore/page/Frame.h 2019-10-03 02:47:00 UTC (rev 250641) +++ trunk/Source/WebCore/page/Frame.h 2019-10-03 04:53:53 UTC (rev 250642) @@ -221,6 +221,7 @@ WEBCORE_EXPORT Node* deepestNodeAtLocation(const FloatPoint& viewportLocation); WEBCORE_EXPORT Node* nodeRespondingToClickEvents(const FloatPoint&
[webkit-changes] [250641] releases/Apple/Safari Technology Preview
Title: [250641] releases/Apple/Safari Technology Preview Revision 250641 Author m...@apple.com Date 2019-10-02 19:47:00 -0700 (Wed, 02 Oct 2019) Log Message Added a tag for Safari Technology Preview release 93. Added Paths releases/Apple/Safari Technology Preview/Safari Technology Preview 93/ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/ANGLE/ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/_javascript_Core/ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/WTF/ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/WebCore/ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/WebInspectorUI/ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/WebKit/ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/WebKitLegacy/ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/bmalloc/ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/libwebrtc/ Diff Index: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/ANGLE === --- tags/Safari-609.1.5/Source/ThirdParty/ANGLE 2019-10-03 00:53:31 UTC (rev 250640) +++ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/ANGLE 2019-10-03 02:47:00 UTC (rev 250641) Property changes: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/ANGLE Added: allow-tabs +true \ No newline at end of property Added: svn:mergeinfo +/trunk/Source/ThirdParty/ANGLE:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/_javascript_Core === --- tags/Safari-609.1.5/Source/_javascript_Core 2019-10-03 00:53:31 UTC (rev 250640) +++ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/_javascript_Core 2019-10-03 02:47:00 UTC (rev 250641) Property changes: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/_javascript_Core Added: svn:mergeinfo +/trunk/Source/_javascript_Core:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/WTF === --- tags/Safari-609.1.5/Source/WTF 2019-10-03 00:53:31 UTC (rev 250640) +++ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/WTF 2019-10-03 02:47:00 UTC (rev 250641) Property changes: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/WTF Added: svn:mergeinfo +/trunk/Source/WTF:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/WebInspectorUI === --- tags/Safari-609.1.5/Source/WebInspectorUI 2019-10-03 00:53:31 UTC (rev 250640) +++ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/WebInspectorUI 2019-10-03 02:47:00 UTC (rev 250641) Property changes: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/WebInspectorUI Added: svn:mergeinfo +/trunk/Source/WebInspectorUI:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/bmalloc === --- tags/Safari-609.1.5/Source/bmalloc 2019-10-03 00:53:31 UTC (rev 250640) +++ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/bmalloc 2019-10-03 02:47:00 UTC (rev 250641) Property changes: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/bmalloc Added: svn:mergeinfo +/trunk/Source/bmalloc:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/libwebrtc === --- tags/Safari-609.1.5/Source/ThirdParty/libwebrtc 2019-10-03 00:53:31 UTC (rev 250640) +++ releases/Apple/Safari Technology Preview/Safari Technology Preview 93/libwebrtc 2019-10-03 02:47:00 UTC (rev 250641) Property changes: releases/Apple/Safari Technology Preview/Safari Technology Preview 93/libwebrtc Added: svn:mergeinfo +/trunk/Source/ThirdParty/libwebrtc:53455 \ No newline at end of property ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [250640] trunk
Title: [250640] trunk Revision 250640 Author mmaxfi...@apple.com Date 2019-10-02 17:53:31 -0700 (Wed, 02 Oct 2019) Log Message REGRESSION (r245672): dropdown with text-rendering: optimizeLegibility freezes Safari https://bugs.webkit.org/show_bug.cgi?id=202198 Reviewed by Tim Horton. Source/WebKit: NSFont has a bug where passing "auto" to kCTFontOpticalSizeAttribute causes an exception to be thrown. We don't catch the exception, so we pop up back to the runloop, which confuses the UI process. The solution is twofold: 1) Workaround the bug by passing the font size to kCTFontOpticalSizeAttribute instead, and 2) catch any exceptions that this part of the code might throw. * UIProcess/mac/WebPopupMenuProxyMac.mm: (WebKit::WebPopupMenuProxyMac::showPopupMenu): Source/WTF: * wtf/Platform.h: LayoutTests: * fast/forms/select-font-optical-size-expected.txt: Added. * fast/forms/select-font-optical-size.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Platform.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/mac/WebPopupMenuProxyMac.mm Added Paths trunk/LayoutTests/fast/forms/select-font-optical-size-expected.txt trunk/LayoutTests/fast/forms/select-font-optical-size.html Diff Modified: trunk/LayoutTests/ChangeLog (250639 => 250640) --- trunk/LayoutTests/ChangeLog 2019-10-03 00:19:10 UTC (rev 250639) +++ trunk/LayoutTests/ChangeLog 2019-10-03 00:53:31 UTC (rev 250640) @@ -1,3 +1,13 @@ +2019-10-02 Myles C. Maxfield + +REGRESSION (r245672): dropdown with text-rendering: optimizeLegibility freezes Safari +https://bugs.webkit.org/show_bug.cgi?id=202198 + +Reviewed by Tim Horton. + +* fast/forms/select-font-optical-size-expected.txt: Added. +* fast/forms/select-font-optical-size.html: Added. + 2019-10-02 Kate Cheney Updated resource load statistics are never merged into the SQLite Database backend (202372). Added: trunk/LayoutTests/fast/forms/select-font-optical-size-expected.txt (0 => 250640) --- trunk/LayoutTests/fast/forms/select-font-optical-size-expected.txt (rev 0) +++ trunk/LayoutTests/fast/forms/select-font-optical-size-expected.txt 2019-10-03 00:53:31 UTC (rev 250640) @@ -0,0 +1,9 @@ +This test makes sure that text-rendering: optimizeLegibility on a drop-down select element doesn't cause a hang. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/fast/forms/select-font-optical-size.html (0 => 250640) --- trunk/LayoutTests/fast/forms/select-font-optical-size.html (rev 0) +++ trunk/LayoutTests/fast/forms/select-font-optical-size.html 2019-10-03 00:53:31 UTC (rev 250640) @@ -0,0 +1,33 @@ + + + + +body { +text-rendering: optimizeLegibility; +} +select { +-webkit-appearance: none; +} + + + + +