[webkit-changes] [250643] trunk

2019-10-02 Thread antti
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

2019-10-02 Thread aestes
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

2019-10-02 Thread mitz
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

2019-10-02 Thread mmaxfield
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;
+}
+
+
+
+
+