[webkit-changes] [240139] trunk
Title: [240139] trunk Revision 240139 Author wenson_hs...@apple.com Date 2019-01-17 20:15:24 -0800 (Thu, 17 Jan 2019) Log Message [iOS] Content offset jumps erratically when autoscrolling near scroll view content inset areas https://bugs.webkit.org/show_bug.cgi?id=193494 Reviewed by Simon Fraser and Tim Horton. Source/WebCore: When computing the content offset to scroll to when revealing a given rect in content coordinates, we currently just use the unobscured content rect. As a result, when scrolling to reveal a rect, we'll clamp the final scroll position such that only content is visible. For example, when asked to reveal the rect `(0, 0, 1, 1)`, we adjust the scroll position to be the origin. However, consider the case where a client (e.g. Mail on iOS) has added a content inset to the web view's scroll view. If we're asked to reveal a rect that is outside the content area but within a content inset, we will still end up clamping the scroll position to the unobscured rect. This manifests in a bug where selecting text and autoscrolling in iOS Mail compose while the scroll view is scrolled all the way to the top to reveal the To/Cc/ Subject fields causes the content offset to jump to the origin, rather than staying at (0, -topContentInset). To fix this, we teach `RenderLayer::scrollRectToVisible` about content insets that are visible. Rather than use the content rects as-is, expand to encompass visible content insets as well. This ensures that revealing a position which is already visible won't cause us to scroll away the content inset area and only show the unobscured rect. Tests: editing/selection/ios/autoscroll-with-top-content-inset.html fast/scrolling/ios/scroll-into-view-with-top-content-inset.html * page/FrameView.cpp: (WebCore::FrameView::unobscuredContentRectExpandedByContentInsets const): Introduce a helper method that expands the unobscured content rect to include surrounding content insets. * page/FrameView.h: * page/Page.h: (WebCore::Page::contentInsets const): (WebCore::Page::setContentInsets): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): (WebCore::RenderLayer::getRectToExpose const): Source/WebKit: Adds `contentInsets` to `VisibleContentRectUpdateInfo`. This keeps track of the visible content insets surrounding the unobscured content rect. See WebCore ChangeLog for more details. * Shared/VisibleContentRectUpdateInfo.cpp: (WebKit::VisibleContentRectUpdateInfo::encode const): (WebKit::VisibleContentRectUpdateInfo::decode): (WebKit::operator<<): * Shared/VisibleContentRectUpdateInfo.h: (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo): (WebKit::VisibleContentRectUpdateInfo::contentInsets const): (WebKit::operator==): * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _computedObscuredInset]): (-[WKWebView _computedContentInset]): (-[WKWebView _computedUnobscuredSafeAreaInset]): We don't care about source compatibility with iOS 10 and below anymore, so we should change these >= iOS 11 target checks to simply `PLATFORM(IOS)`. (-[WKWebView _updateVisibleContentRects]): Compute the visible content insets on all sides of the unobscured content rect. These insets are scaled to content coordinates. * UIProcess/ios/WKContentView.h: * UIProcess/ios/WKContentView.mm: (floatBoxExtent): Add a helper to convert `UIEdgeInsets` to `WebCore::FloatBoxExtent`, and use it in a few places below. (-[WKContentView didUpdateVisibleRect:unobscuredRect:contentInsets:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]): (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]): Deleted. * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::updateVisibleContentRects): Update the Page's content insets. Tools: Add a new test option to add a top content inset to the test runner's WKWebView's scroll view, and automatically scroll to reveal this top content inset area when beginning the test (i.e., scroll to (0, -topContentInset)). * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::contentOffsetX const): (WTR::UIScriptController::contentOffsetY const): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::contentOffsetX const): (WTR::UIScriptController::contentOffsetY const): * TestRunnerShared/UIScriptContext/UIScriptController.h: Also add new UIScriptController methods to ask for the content offset of the platform scroll view. * WebKitTestRunner/TestController.cpp: (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h:
[webkit-changes] [240137] branches/safari-607-branch/Source
Title: [240137] branches/safari-607-branch/Source Revision 240137 Author kocsen_ch...@apple.com Date 2019-01-17 16:53:27 -0800 (Thu, 17 Jan 2019) Log Message Versioning. Modified Paths branches/safari-607-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-607-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig branches/safari-607-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-607-branch/Source/WebCore/PAL/Configurations/Version.xcconfig branches/safari-607-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-607-branch/Source/WebKit/Configurations/Version.xcconfig branches/safari-607-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: branches/safari-607-branch/Source/_javascript_Core/Configurations/Version.xcconfig (240136 => 240137) --- branches/safari-607-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2019-01-18 00:43:25 UTC (rev 240136) +++ branches/safari-607-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2019-01-18 00:53:27 UTC (rev 240137) @@ -23,7 +23,7 @@ MAJOR_VERSION = 607; MINOR_VERSION = 1; -TINY_VERSION = 24; +TINY_VERSION = 25; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-607-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (240136 => 240137) --- branches/safari-607-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-01-18 00:43:25 UTC (rev 240136) +++ branches/safari-607-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-01-18 00:53:27 UTC (rev 240137) @@ -23,7 +23,7 @@ MAJOR_VERSION = 607; MINOR_VERSION = 1; -TINY_VERSION = 24; +TINY_VERSION = 25; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-607-branch/Source/WebCore/Configurations/Version.xcconfig (240136 => 240137) --- branches/safari-607-branch/Source/WebCore/Configurations/Version.xcconfig 2019-01-18 00:43:25 UTC (rev 240136) +++ branches/safari-607-branch/Source/WebCore/Configurations/Version.xcconfig 2019-01-18 00:53:27 UTC (rev 240137) @@ -23,7 +23,7 @@ MAJOR_VERSION = 607; MINOR_VERSION = 1; -TINY_VERSION = 24; +TINY_VERSION = 25; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-607-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (240136 => 240137) --- branches/safari-607-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-01-18 00:43:25 UTC (rev 240136) +++ branches/safari-607-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-01-18 00:53:27 UTC (rev 240137) @@ -23,7 +23,7 @@ MAJOR_VERSION = 607; MINOR_VERSION = 1; -TINY_VERSION = 24; +TINY_VERSION = 25; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-607-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (240136 => 240137) --- branches/safari-607-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-01-18 00:43:25 UTC (rev 240136) +++ branches/safari-607-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-01-18 00:53:27 UTC (rev 240137) @@ -1,6 +1,6 @@ MAJOR_VERSION = 607; MINOR_VERSION = 1; -TINY_VERSION = 24; +TINY_VERSION = 25; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-607-branch/Source/WebKit/Configurations/Version.xcconfig (240136 => 240137) --- branches/safari-607-branch/Source/WebKit/Configurations/Version.xcconfig 2019-01-18 00:43:25 UTC (rev 240136) +++ branches/safari-607-branch/Source/WebKit/Configurations/Version.xcconfig 2019-01-18 00:53:27 UTC (rev 240137) @@ -23,7 +23,7 @@ MAJOR_VERSION = 607; MINOR_VERSION = 1; -TINY_VERSION = 24; +TINY_VERSION = 25; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-607-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (240136 => 240137) --- branches/safari-607-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2019-01-18 00:43:25 UTC (rev 240136) +++ branches/safari-607-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2019-01-18 00:53:27 UTC (rev 240137) @@ -23,7 +23,7 @@ MAJOR_VERSION = 607; MINOR_VERSION = 1; -TINY_VERSION = 24; +TINY_VERSION = 25; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240136] trunk
Title: [240136] trunk Revision 240136 Author tsav...@apple.com Date 2019-01-17 16:43:25 -0800 (Thu, 17 Jan 2019) Log Message Unreviewed, rolling out r240124. This commit broke an internal build. Reverted changeset: "SDK_VARIANT build destinations should be separate from non- SDK_VARIANT builds" https://bugs.webkit.org/show_bug.cgi?id=189553 https://trac.webkit.org/changeset/240124 Modified Paths trunk/ChangeLog trunk/Makefile.shared trunk/PerformanceTests/ChangeLog trunk/PerformanceTests/MediaTime/Configurations/Base.xcconfig trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Configurations/Base.xcconfig trunk/Source/ThirdParty/ANGLE/ChangeLog trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig trunk/Source/ThirdParty/libwebrtc/ChangeLog trunk/Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig trunk/Source/WTF/ChangeLog trunk/Source/WTF/Configurations/Base.xcconfig trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Configurations/Base.xcconfig trunk/Source/WebCore/Configurations/WebCore.xcconfig trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/Configurations/Base.xcconfig trunk/Source/WebCore/PAL/Configurations/PAL.xcconfig trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/Configurations/Base.xcconfig trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/Base.xcconfig trunk/Source/WebKit/Configurations/BaseTarget.xcconfig trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/Configurations/Base.xcconfig trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig trunk/Source/bmalloc/ChangeLog trunk/Source/bmalloc/Configurations/Base.xcconfig trunk/Tools/ChangeLog trunk/Tools/ContentExtensionTester/Configurations/Base.xcconfig trunk/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig trunk/Tools/ImageDiff/cg/Configurations/Base.xcconfig trunk/Tools/MiniBrowser/Configurations/Base.xcconfig trunk/Tools/MobileMiniBrowser/Configurations/Base.xcconfig trunk/Tools/Scripts/webkitpy/style/checker.py trunk/Tools/TestWebKitAPI/Configurations/Base.xcconfig trunk/Tools/WebEditingTester/Configurations/Base.xcconfig trunk/Tools/WebKitTestRunner/Configurations/Base.xcconfig trunk/Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig Removed Paths trunk/PerformanceTests/MediaTime/Configurations/SDKVariant.xcconfig trunk/Source/_javascript_Core/Configurations/SDKVariant.xcconfig trunk/Source/ThirdParty/ANGLE/Configurations/SDKVariant.xcconfig trunk/Source/ThirdParty/libwebrtc/Configurations/SDKVariant.xcconfig trunk/Source/WTF/Configurations/SDKVariant.xcconfig trunk/Source/WebCore/Configurations/SDKVariant.xcconfig trunk/Source/WebCore/PAL/Configurations/SDKVariant.xcconfig trunk/Source/WebInspectorUI/Configurations/SDKVariant.xcconfig trunk/Source/WebKit/Configurations/SDKVariant.xcconfig trunk/Source/WebKitLegacy/mac/Configurations/SDKVariant.xcconfig trunk/Source/bmalloc/Configurations/SDKVariant.xcconfig trunk/Tools/ContentExtensionTester/Configurations/SDKVariant.xcconfig trunk/Tools/DumpRenderTree/mac/Configurations/SDKVariant.xcconfig trunk/Tools/ImageDiff/cg/Configurations/SDKVariant.xcconfig trunk/Tools/MiniBrowser/Configurations/SDKVariant.xcconfig trunk/Tools/MobileMiniBrowser/Configurations/SDKVariant.xcconfig trunk/Tools/Scripts/webkitpy/style/checkers/sdkvariant.py trunk/Tools/TestWebKitAPI/Configurations/SDKVariant.xcconfig trunk/Tools/WebEditingTester/Configurations/SDKVariant.xcconfig trunk/Tools/WebKitLauncher/Configurations/SDKVariant.xcconfig trunk/Tools/WebKitTestRunner/Configurations/SDKVariant.xcconfig trunk/Tools/lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig Diff Modified: trunk/ChangeLog (240135 => 240136) --- trunk/ChangeLog 2019-01-18 00:19:07 UTC (rev 240135) +++ trunk/ChangeLog 2019-01-18 00:43:25 UTC (rev 240136) @@ -1,3 +1,16 @@ +2019-01-17 Truitt Savell + +Unreviewed, rolling out r240124. + +This commit broke an internal build. + +Reverted changeset: + +"SDK_VARIANT build destinations should be separate from non- +SDK_VARIANT builds" +https://bugs.webkit.org/show_bug.cgi?id=189553 +https://trac.webkit.org/changeset/240124 + 2019-01-17 Jer Noble SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds Modified: trunk/Makefile.shared (240135 => 240136) --- trunk/Makefile.shared 2019-01-18 00:19:07 UTC (rev 240135) +++ trunk/Makefile.shared 2019-01-18 00:43:25 UTC (rev 240136) @@ -34,8 +34,9 @@ endif endif -ifneq (,$(SDK_VARIANT)) - XCODE_OPTIONS += SDK_VARIANT="$(SDK_VARIANT)" +ifeq (iosmac,$(SDK_VARIANT)) + XCODE_OPTIONS += SDK_VARIANT=iosmac + XCODE_OPTIONS += WK_ALTERNATE_FRAMEWORKS_DIR=/System/iOSSupport endif DEFAULT_VERBOSITY := $(shell defaults read org.webkit.BuildConfiguration BuildTranscriptVerbosity 2>/dev/null || echo "default") Modified: trunk/PerformanceTests/ChangeLog (240135 => 240136) --- trunk/PerformanceTests/ChangeLog 2019-01-18
[webkit-changes] [240135] trunk/Source/WebCore
Title: [240135] trunk/Source/WebCore Revision 240135 Author drou...@apple.com Date 2019-01-17 16:19:07 -0800 (Thu, 17 Jan 2019) Log Message Web Inspector: fix Xcode project file list after r239976 https://bugs.webkit.org/show_bug.cgi?id=193474 Reviewed by Timothy Hatcher. * WebCore.xcodeproj/project.pbxproj: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj Diff Modified: trunk/Source/WebCore/ChangeLog (240134 => 240135) --- trunk/Source/WebCore/ChangeLog 2019-01-18 00:17:46 UTC (rev 240134) +++ trunk/Source/WebCore/ChangeLog 2019-01-18 00:19:07 UTC (rev 240135) @@ -1,3 +1,12 @@ +2019-01-17 Devin Rousso + +Web Inspector: fix Xcode project file list after r239976 +https://bugs.webkit.org/show_bug.cgi?id=193474 + +Reviewed by Timothy Hatcher. + +* WebCore.xcodeproj/project.pbxproj: + 2019-01-17 Ross Kirsling Unreviewed WinCairo fix -- hundreds of tests crash after r240031. Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (240134 => 240135) --- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2019-01-18 00:17:46 UTC (rev 240134) +++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2019-01-18 00:19:07 UTC (rev 240135) @@ -2586,9 +2586,9 @@ 91278D5E21DEDAD600B57184 /* PageAuditAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 91278D5C21DEDAD500B57184 /* PageAuditAgent.h */; }; 91278D6221DEDAF000B57184 /* WorkerAuditAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 91278D6021DEDAF000B57184 /* WorkerAuditAgent.h */; }; 9175CE5C21E281ED00DF2C27 /* InspectorAuditDOMObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 9175CE5821E281EC00DF2C27 /* InspectorAuditDOMObject.h */; }; - 9175CE5C21E281ED00DF2C28 /* InspectorAuditDOMObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 9175CE5821E281EC00DF2C28 /* InspectorAuditDOMObject.h */; }; + 9175CE5C21E281ED00DF2C28 /* JSInspectorAuditDOMObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 9175CE5821E281EC00DF2C28 /* JSInspectorAuditDOMObject.h */; }; 9175CE5E21E281ED00DF2C27 /* InspectorAuditAccessibilityObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 9175CE5A21E281ED00DF2C27 /* InspectorAuditAccessibilityObject.h */; }; - 9175CE5E21E281ED00DF2C28 /* InspectorAuditAccessibilityObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 9175CE5A21E281ED00DF2C28 /* InspectorAuditAccessibilityObject.h */; }; + 9175CE5E21E281ED00DF2C28 /* JSInspectorAuditAccessibilityObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 9175CE5A21E281ED00DF2C28 /* JSInspectorAuditAccessibilityObject.h */; }; 91B8F0B521953D65000C2B00 /* CertificateInfoBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 91B8F0B321953D65000C2B00 /* CertificateInfoBase.h */; settings = {ATTRIBUTES = (Private, ); }; }; 91B952241F58A58F00931DC2 /* RecordingSwizzleTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 91B952221F58A58000931DC2 /* RecordingSwizzleTypes.h */; }; 91C9F2F91AE3BEB00095B61C /* AXTextStateChangeIntent.h in Headers */ = {isa = PBXBuildFile; fileRef = 91C9F2F81AE3BE240095B61C /* AXTextStateChangeIntent.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -10407,13 +10407,13 @@ 91278D5F21DEDAEF00B57184 /* WorkerAuditAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkerAuditAgent.cpp; sourceTree = ""; }; 91278D6021DEDAF000B57184 /* WorkerAuditAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkerAuditAgent.h; sourceTree = ""; }; 9175CE5721E281EB00DF2C27 /* InspectorAuditDOMObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorAuditDOMObject.cpp; sourceTree = ""; }; - 9175CE5721E281EB00DF2C28 /* InspectorAuditDOMObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorAuditDOMObject.cpp; sourceTree = ""; }; + 9175CE5721E281EB00DF2C28 /* JSInspectorAuditDOMObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSInspectorAuditDOMObject.cpp; sourceTree = ""; }; 9175CE5821E281EC00DF2C27 /* InspectorAuditDOMObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorAuditDOMObject.h; sourceTree = ""; }; - 9175CE5821E281EC00DF2C28 /* InspectorAuditDOMObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorAuditDOMObject.h; sourceTree = ""; }; + 9175CE5821E281EC00DF2C28 /* JSInspectorAuditDOMObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSInspectorAuditDOMObject.h; sourceTree = ""; }; 9175CE5921E281EC00DF2C27 /* InspectorAuditAccessibilityObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path =
[webkit-changes] [240134] trunk/Source
Title: [240134] trunk/Source Revision 240134 Author kocsen_ch...@apple.com Date 2019-01-17 16:17:46 -0800 (Thu, 17 Jan 2019) Log Message Versioning. Modified Paths trunk/Source/_javascript_Core/Configurations/Version.xcconfig trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig trunk/Source/WebCore/Configurations/Version.xcconfig trunk/Source/WebCore/PAL/Configurations/Version.xcconfig trunk/Source/WebInspectorUI/Configurations/Version.xcconfig trunk/Source/WebKit/Configurations/Version.xcconfig trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: trunk/Source/_javascript_Core/Configurations/Version.xcconfig (240133 => 240134) --- trunk/Source/_javascript_Core/Configurations/Version.xcconfig 2019-01-18 00:09:49 UTC (rev 240133) +++ trunk/Source/_javascript_Core/Configurations/Version.xcconfig 2019-01-18 00:17:46 UTC (rev 240134) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 1; +TINY_VERSION = 2; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (240133 => 240134) --- trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-01-18 00:09:49 UTC (rev 240133) +++ trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-01-18 00:17:46 UTC (rev 240134) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 1; +TINY_VERSION = 2; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/WebCore/Configurations/Version.xcconfig (240133 => 240134) --- trunk/Source/WebCore/Configurations/Version.xcconfig 2019-01-18 00:09:49 UTC (rev 240133) +++ trunk/Source/WebCore/Configurations/Version.xcconfig 2019-01-18 00:17:46 UTC (rev 240134) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 1; +TINY_VERSION = 2; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/WebCore/PAL/Configurations/Version.xcconfig (240133 => 240134) --- trunk/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-01-18 00:09:49 UTC (rev 240133) +++ trunk/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-01-18 00:17:46 UTC (rev 240134) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 1; +TINY_VERSION = 2; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/WebInspectorUI/Configurations/Version.xcconfig (240133 => 240134) --- trunk/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-01-18 00:09:49 UTC (rev 240133) +++ trunk/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-01-18 00:17:46 UTC (rev 240134) @@ -1,6 +1,6 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 1; +TINY_VERSION = 2; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/WebKit/Configurations/Version.xcconfig (240133 => 240134) --- trunk/Source/WebKit/Configurations/Version.xcconfig 2019-01-18 00:09:49 UTC (rev 240133) +++ trunk/Source/WebKit/Configurations/Version.xcconfig 2019-01-18 00:17:46 UTC (rev 240134) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 1; +TINY_VERSION = 2; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (240133 => 240134) --- trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2019-01-18 00:09:49 UTC (rev 240133) +++ trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2019-01-18 00:17:46 UTC (rev 240134) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 1; +TINY_VERSION = 2; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240133] tags/Safari-607.1.24/
Title: [240133] tags/Safari-607.1.24/ Revision 240133 Author kocsen_ch...@apple.com Date 2019-01-17 16:09:49 -0800 (Thu, 17 Jan 2019) Log Message Tag Safari-607.1.24. Added Paths tags/Safari-607.1.24/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240132] trunk/Source/WebCore
Title: [240132] trunk/Source/WebCore Revision 240132 Author ross.kirsl...@sony.com Date 2019-01-17 14:54:23 -0800 (Thu, 17 Jan 2019) Log Message Unreviewed WinCairo fix -- hundreds of tests crash after r240031. * platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandle::createCurlRequest): (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::getCredential): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (240131 => 240132) --- trunk/Source/WebCore/ChangeLog 2019-01-17 21:45:07 UTC (rev 240131) +++ trunk/Source/WebCore/ChangeLog 2019-01-17 22:54:23 UTC (rev 240132) @@ -1,3 +1,13 @@ +2019-01-17 Ross Kirsling + +Unreviewed WinCairo fix -- hundreds of tests crash after r240031. + +* platform/network/curl/ResourceHandleCurl.cpp: +(WebCore::ResourceHandle::createCurlRequest): +(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): +(WebCore::ResourceHandle::receivedCredential): +(WebCore::ResourceHandle::getCredential): + 2019-01-17 John Wilander Add infrastructure to enable/disable ITP Debug Mode through Preferences Modified: trunk/Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp (240131 => 240132) --- trunk/Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp 2019-01-17 21:45:07 UTC (rev 240131) +++ trunk/Source/WebCore/platform/network/curl/ResourceHandleCurl.cpp 2019-01-17 22:54:23 UTC (rev 240132) @@ -145,7 +145,7 @@ if (status == RequestStatus::NewRequest) { addCacheValidationHeaders(request); -auto& storageSession = *context()->storageSession(); +auto& storageSession = NetworkStorageSession::defaultStorageSession(); auto& cookieJar = storageSession.cookieStorage(); auto includeSecureCookies = request.url().protocolIs("https") ? IncludeSecureCookies::Yes : IncludeSecureCookies::No; String cookieHeaderField = cookieJar.cookieRequestHeaderFieldValue(storageSession, request.firstPartyForCookies(), SameSiteInfo::create(request), request.url(), WTF::nullopt, WTF::nullopt, includeSecureCookies).first; @@ -231,7 +231,7 @@ URL urlToStore; if (challenge.failureResponse().httpStatusCode() == 401) urlToStore = challenge.failureResponse().url(); -context()->storageSession()->credentialStorage().set(partition, credential, challenge.protectionSpace(), urlToStore); +NetworkStorageSession::defaultStorageSession().credentialStorage().set(partition, credential, challenge.protectionSpace(), urlToStore); restartRequestWithCredential(challenge.protectionSpace(), credential); @@ -246,16 +246,16 @@ // The stored credential wasn't accepted, stop using it. // There is a race condition here, since a different credential might have already been stored by another ResourceHandle, // but the observable effect should be very minor, if any. -context()->storageSession()->credentialStorage().remove(partition, challenge.protectionSpace()); +NetworkStorageSession::defaultStorageSession().credentialStorage().remove(partition, challenge.protectionSpace()); } if (!challenge.previousFailureCount()) { -Credential credential = context()->storageSession()->credentialStorage().get(partition, challenge.protectionSpace()); +Credential credential = NetworkStorageSession::defaultStorageSession().credentialStorage().get(partition, challenge.protectionSpace()); if (!credential.isEmpty() && credential != d->m_initialCredential) { ASSERT(credential.persistence() == CredentialPersistenceNone); if (challenge.failureResponse().httpStatusCode() == 401) { // Store the credential back, possibly adding it as a default for this directory. -context()->storageSession()->credentialStorage().set(partition, credential, challenge.protectionSpace(), challenge.failureResponse().url()); +NetworkStorageSession::defaultStorageSession().credentialStorage().set(partition, credential, challenge.protectionSpace(), challenge.failureResponse().url()); } restartRequestWithCredential(challenge.protectionSpace(), credential); @@ -289,7 +289,7 @@ if (shouldUseCredentialStorage()) { if (challenge.failureResponse().httpStatusCode() == 401) { URL urlToStore = challenge.failureResponse().url(); -context()->storageSession()->credentialStorage().set(partition, credential, challenge.protectionSpace(), urlToStore); +NetworkStorageSession::defaultStorageSession().credentialStorage().set(partition, credential, challenge.protectionSpace(), urlToStore); } }
[webkit-changes] [240131] trunk/Source/WebKitLegacy/win
Title: [240131] trunk/Source/WebKitLegacy/win Revision 240131 Author pvol...@apple.com Date 2019-01-17 13:45:07 -0800 (Thu, 17 Jan 2019) Log Message [Win][HighDPI] Repaint glitches when scrolling. https://bugs.webkit.org/show_bug.cgi?id=173152 Reviewed by Brent Fulgham. Non-integral device scale factors are causing repaint glitches, because the computation of the scroll delta in pixel coordinates from the scroll delta in logical coordinates will not always be correct. Instead of blitting the scroll rectangle, repaint the entire region affected by scrolling. * WebView.cpp: (WebView::scrollBackingStore): Modified Paths trunk/Source/WebKitLegacy/win/ChangeLog trunk/Source/WebKitLegacy/win/WebView.cpp Diff Modified: trunk/Source/WebKitLegacy/win/ChangeLog (240130 => 240131) --- trunk/Source/WebKitLegacy/win/ChangeLog 2019-01-17 21:38:34 UTC (rev 240130) +++ trunk/Source/WebKitLegacy/win/ChangeLog 2019-01-17 21:45:07 UTC (rev 240131) @@ -1,3 +1,18 @@ +2019-01-17 Per Arne Vollan + +[Win][HighDPI] Repaint glitches when scrolling. +https://bugs.webkit.org/show_bug.cgi?id=173152 + + +Reviewed by Brent Fulgham. + +Non-integral device scale factors are causing repaint glitches, because the computation of the scroll +delta in pixel coordinates from the scroll delta in logical coordinates will not always be correct. +Instead of blitting the scroll rectangle, repaint the entire region affected by scrolling. + +* WebView.cpp: +(WebView::scrollBackingStore): + 2019-01-17 Alex Christensen Stop using NetworkStorageSession::storageSession in WebCore Modified: trunk/Source/WebKitLegacy/win/WebView.cpp (240130 => 240131) --- trunk/Source/WebKitLegacy/win/WebView.cpp 2019-01-17 21:38:34 UTC (rev 240130) +++ trunk/Source/WebKitLegacy/win/WebView.cpp 2019-01-17 21:45:07 UTC (rev 240131) @@ -953,6 +953,19 @@ void WebView::scrollBackingStore(FrameView* frameView, int logicalDx, int logicalDy, const IntRect& logicalScrollViewRect, const IntRect& logicalClipRect) { +if (deviceScaleFactor() != static_cast(deviceScaleFactor())) { +// Non-integral device scale factors are causing repaint glitches, because the computation of the scroll +// delta in pixel coordinates from the scroll delta in logical coordinates will not always be correct. +// Instead of blitting the scroll rectangle, repaint the entire region affected by scrolling. +// FIXME: This is inefficient, we should be able to blit the scroll rectangle in this case as well, +// see https://bugs.webkit.org/show_bug.cgi?id=193542. +IntRect repaintRect = logicalScrollViewRect; +repaintRect.move(logicalDx, logicalDy); +repaintRect.unite(logicalScrollViewRect); +repaint(repaintRect, true); +return; +} + m_needsDisplay = true; // Dimensions passed to us from WebCore are in logical units. We must convert to pixels: ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240130] trunk/Tools
Title: [240130] trunk/Tools Revision 240130 Author achristen...@apple.com Date 2019-01-17 13:38:34 -0800 (Thu, 17 Jan 2019) Log Message Fix string concatenation API test after r239920 https://bugs.webkit.org/show_bug.cgi?id=193551 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp: (TestWebKitAPI::TEST): Cocoa platforms' interpretation of UChar/unsigned short equality is not affected by ICU's recent change of UChar's type in WebKit's build configuration like it apparently is on Linux. Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WTF/StringConcatenate.cpp Diff Modified: trunk/Tools/ChangeLog (240129 => 240130) --- trunk/Tools/ChangeLog 2019-01-17 21:36:48 UTC (rev 240129) +++ trunk/Tools/ChangeLog 2019-01-17 21:38:34 UTC (rev 240130) @@ -1,3 +1,16 @@ +2019-01-17 Alex Christensen + +Fix string concatenation API test after r239920 +https://bugs.webkit.org/show_bug.cgi?id=193551 + + +Reviewed by Youenn Fablet. + +* TestWebKitAPI/Tests/WTF/StringConcatenate.cpp: +(TestWebKitAPI::TEST): +Cocoa platforms' interpretation of UChar/unsigned short equality is not affected by ICU's recent change of UChar's type +in WebKit's build configuration like it apparently is on Linux. + 2019-01-17 Aakash Jain [ews-build] validate-patch should handle the case when bug_id is None Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/StringConcatenate.cpp (240129 => 240130) --- trunk/Tools/TestWebKitAPI/Tests/WTF/StringConcatenate.cpp 2019-01-17 21:36:48 UTC (rev 240129) +++ trunk/Tools/TestWebKitAPI/Tests/WTF/StringConcatenate.cpp 2019-01-17 21:38:34 UTC (rev 240130) @@ -82,7 +82,7 @@ EXPECT_EQ("hello 0 world", makeString("hello ", 0u , " world")); EXPECT_EQ("hello 42 world", makeString("hello ", static_cast(42) , " world")); -#if PLATFORM(WIN) || U_ICU_VERSION_MAJOR_NUM >= 59 +#if PLATFORM(WIN) || (U_ICU_VERSION_MAJOR_NUM >= 59 && !PLATFORM(COCOA)) EXPECT_EQ("hello 42 world", makeString("hello ", static_cast(42) , " world")); #else EXPECT_EQ("hello * world", makeString("hello ", static_cast(42) , " world")); // Treated as a character. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240129] trunk
Title: [240129] trunk Revision 240129 Author wilan...@apple.com Date 2019-01-17 13:36:48 -0800 (Thu, 17 Jan 2019) Log Message Add infrastructure to enable/disable ITP Debug Mode through Preferences https://bugs.webkit.org/show_bug.cgi?id=193510 Reviewed by Dean Jackson. Source/WebCore: No new tests. These changes are purely for settings/preferences. * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setItpDebugModeEnabled): (WebCore::RuntimeEnabledFeatures::itpDebugModeEnabled const): (WebCore::RuntimeEnabledFeatures::setResourceLoadStatisticsDebugMode): Deleted. (WebCore::RuntimeEnabledFeatures::resourceLoadStatisticsDebugMode const): Deleted. Renamed. * page/Settings.yaml: Removed since this particular setting should not be persisted for privacy reasons. Source/WebKit: * NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp: (WebKit::ResourceLoadStatisticsMemoryStore::ensurePrevalentResourcesForDebugMode): (WebKit::ResourceLoadStatisticsMemoryStore::setResourceLoadStatisticsDebugMode): (WebKit::ResourceLoadStatisticsMemoryStore::setPrevalentResourceForDebugMode): These functions are now suited for runtime switching of ITP Debug Mode. * Shared/WebPreferences.yaml: Changed name from ResourceLoadStatisticsDebugMode to ItpDebugModeEnabled. * UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences _setItpDebugModeEnabled:]): (-[WKPreferences _itpDebugModeEnabled]): New private preferences functions. * UIProcess/API/Cocoa/WKPreferencesPrivate.h: * UIProcess/Cocoa/ResourceLoadStatisticsMemoryStoreCocoa.mm: (WebKit::ResourceLoadStatisticsMemoryStore::registerUserDefaultsIfNeeded): Removed support for old experimental user default. Added a new one that's not connected to any UI, i.e. merely for command line debugging where ITP Debug Mode needs to be on all the time. LayoutTests: * http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode.html: Changed the order of function calls since testRunner.setStatisticsPrevalentResourceForDebugMode() now has to be called before testRunner.setStatisticsDebugMode(). Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/RuntimeEnabledFeatures.h trunk/Source/WebCore/page/Settings.yaml trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp trunk/Source/WebKit/Shared/WebPreferences.yaml trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h trunk/Source/WebKit/UIProcess/Cocoa/ResourceLoadStatisticsMemoryStoreCocoa.mm Diff Modified: trunk/LayoutTests/ChangeLog (240128 => 240129) --- trunk/LayoutTests/ChangeLog 2019-01-17 21:28:19 UTC (rev 240128) +++ trunk/LayoutTests/ChangeLog 2019-01-17 21:36:48 UTC (rev 240129) @@ -1,3 +1,15 @@ +2019-01-17 John Wilander + +Add infrastructure to enable/disable ITP Debug Mode through Preferences +https://bugs.webkit.org/show_bug.cgi?id=193510 + + +Reviewed by Dean Jackson. + +* http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode.html: +Changed the order of function calls since testRunner.setStatisticsPrevalentResourceForDebugMode() +now has to be called before testRunner.setStatisticsDebugMode(). + 2019-01-16 Dean Jackson (iPad) Link tapping is sluggish on many sites Modified: trunk/LayoutTests/http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode.html (240128 => 240129) --- trunk/LayoutTests/http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode.html 2019-01-17 21:28:19 UTC (rev 240128) +++ trunk/LayoutTests/http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode.html 2019-01-17 21:36:48 UTC (rev 240129) @@ -17,8 +17,8 @@ if (testRunner.isStatisticsPrevalentResource(thirdPartyOrigin)) testFailed(thirdPartyOrigin + " already set as prevalent resource."); -testRunner.setStatisticsDebugMode(true, function() { -testRunner.setStatisticsPrevalentResourceForDebugMode(thirdPartyOrigin, function() { +testRunner.setStatisticsPrevalentResourceForDebugMode(thirdPartyOrigin, function() { +testRunner.setStatisticsDebugMode(true, function() { if (!testRunner.isStatisticsPrevalentResource(thirdPartyOrigin)) testFailed(thirdPartyOrigin + " didn't get set as prevalent resource."); else Modified: trunk/Source/WebCore/ChangeLog (240128 => 240129) --- trunk/Source/WebCore/ChangeLog 2019-01-17 21:28:19 UTC (rev 240128) +++ trunk/Source/WebCore/ChangeLog 2019-01-17 21:36:48 UTC (rev 240129) @@ -1,3 +1,23 @@ +2019-01-17 John Wilander + +Add
[webkit-changes] [240128] trunk/Tools
Title: [240128] trunk/Tools Revision 240128 Author aakash_j...@apple.com Date 2019-01-17 13:28:19 -0800 (Thu, 17 Jan 2019) Log Message [ews-build] validate-patch should handle the case when bug_id is None https://bugs.webkit.org/show_bug.cgi?id=193547 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (ValidatePatch._is_bug_closed): Gracefully handle the case when bug_id is None. (ValidatePatch.start): If bug_id is set as None in build properties, fetch it from the patch. Modified Paths trunk/Tools/BuildSlaveSupport/ews-build/steps.py trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (240127 => 240128) --- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-01-17 21:24:44 UTC (rev 240127) +++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-01-17 21:28:19 UTC (rev 240128) @@ -305,6 +305,10 @@ return 0 def _is_bug_closed(self, bug_id): +if not bug_id: +self._addToLog('stdio', 'Skipping bug status validation since bug id is None.\n') +return -1 + bug_json = self.get_bug_json(bug_id) if not bug_json or not bug_json.get('status'): self._addToLog('stdio', 'Unable to fetch bug {}.\n'.format(bug_id)) @@ -329,7 +333,7 @@ self.finished(FAILURE) return None -bug_id = self.getProperty('bug_id', self.get_bug_id_from_patch(patch_id)) +bug_id = self.getProperty('bug_id', '') or self.get_bug_id_from_patch(patch_id) bug_closed = self._is_bug_closed(bug_id) if bug_closed == 1: Modified: trunk/Tools/ChangeLog (240127 => 240128) --- trunk/Tools/ChangeLog 2019-01-17 21:24:44 UTC (rev 240127) +++ trunk/Tools/ChangeLog 2019-01-17 21:28:19 UTC (rev 240128) @@ -1,5 +1,16 @@ 2019-01-17 Aakash Jain +[ews-build] validate-patch should handle the case when bug_id is None +https://bugs.webkit.org/show_bug.cgi?id=193547 + +Reviewed by Lucas Forschler. + +* BuildSlaveSupport/ews-build/steps.py: +(ValidatePatch._is_bug_closed): Gracefully handle the case when bug_id is None. +(ValidatePatch.start): If bug_id is set as None in build properties, fetch it from the patch. + +2019-01-17 Aakash Jain + [ews-build] Add patch author information in build https://bugs.webkit.org/show_bug.cgi?id=193465 ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240127] trunk/Tools
Title: [240127] trunk/Tools Revision 240127 Author aakash_j...@apple.com Date 2019-01-17 13:24:44 -0800 (Thu, 17 Jan 2019) Log Message [ews-build] Add patch author information in build https://bugs.webkit.org/show_bug.cgi?id=193465 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (ValidatePatch._is_patch_obsolete): Modified Paths trunk/Tools/BuildSlaveSupport/ews-build/steps.py trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (240126 => 240127) --- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-01-17 21:14:57 UTC (rev 240126) +++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-01-17 21:24:44 UTC (rev 240127) @@ -289,6 +289,8 @@ self._addToLog('stdio', 'Fetched patch id {} does not match with requested patch id {}. Unable to validate.\n'.format(patch_json.get('id'), self.getProperty('patch_id', ''))) return -1 +patch_author = patch_json.get('creator') +self.addURL('Patch by: {}'.format(patch_author), 'mailto:{}'.format(patch_author)) return patch_json.get('is_obsolete') def _is_patch_review_denied(self, patch_id): Modified: trunk/Tools/ChangeLog (240126 => 240127) --- trunk/Tools/ChangeLog 2019-01-17 21:14:57 UTC (rev 240126) +++ trunk/Tools/ChangeLog 2019-01-17 21:24:44 UTC (rev 240127) @@ -1,5 +1,15 @@ 2019-01-17 Aakash Jain +[ews-build] Add patch author information in build +https://bugs.webkit.org/show_bug.cgi?id=193465 + +Reviewed by Lucas Forschler. + +* BuildSlaveSupport/ews-build/steps.py: +(ValidatePatch._is_patch_obsolete): + +2019-01-17 Aakash Jain + [ews-build] Pass bug_id to the triggered builds https://bugs.webkit.org/show_bug.cgi?id=193548 ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240126] trunk/Tools
Title: [240126] trunk/Tools Revision 240126 Author aakash_j...@apple.com Date 2019-01-17 13:14:57 -0800 (Thu, 17 Jan 2019) Log Message [ews-build] Pass bug_id to the triggered builds https://bugs.webkit.org/show_bug.cgi?id=193548 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/factories.py: (BuildFactory.propertiesToPassToTriggers): Modified Paths trunk/Tools/BuildSlaveSupport/ews-build/factories.py trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/ews-build/factories.py (240125 => 240126) --- trunk/Tools/BuildSlaveSupport/ews-build/factories.py 2019-01-17 21:12:12 UTC (rev 240125) +++ trunk/Tools/BuildSlaveSupport/ews-build/factories.py 2019-01-17 21:14:57 UTC (rev 240126) @@ -80,6 +80,7 @@ def propertiesToPassToTriggers(self): return { "patch_id": Property("patch_id"), +"bug_id": Property("bug_id"), "configuration": Property("configuration"), "platform": Property("platform"), "fullPlatform": Property("fullPlatform"), Modified: trunk/Tools/ChangeLog (240125 => 240126) --- trunk/Tools/ChangeLog 2019-01-17 21:12:12 UTC (rev 240125) +++ trunk/Tools/ChangeLog 2019-01-17 21:14:57 UTC (rev 240126) @@ -1,3 +1,13 @@ +2019-01-17 Aakash Jain + +[ews-build] Pass bug_id to the triggered builds +https://bugs.webkit.org/show_bug.cgi?id=193548 + +Reviewed by Lucas Forschler. + +* BuildSlaveSupport/ews-build/factories.py: +(BuildFactory.propertiesToPassToTriggers): + 2019-01-17 Jer Noble SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240125] trunk/Source
Title: [240125] trunk/Source Revision 240125 Author timothy_hor...@apple.com Date 2019-01-17 13:12:12 -0800 (Thu, 17 Jan 2019) Log Message Adopt NSTextCheckingSuppressInitialCapitalizationKey https://bugs.webkit.org/show_bug.cgi?id=193545 Reviewed by Dean Jackson. Source/WebCore/PAL: * pal/spi/mac/NSSpellCheckerSPI.h: Source/WebKit: * UIProcess/mac/TextCheckerMac.mm: (WebKit::TextChecker::checkTextOfParagraph): (WebKit::TextChecker::getGuessesForWord): Modified Paths trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/spi/mac/NSSpellCheckerSPI.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/mac/TextCheckerMac.mm Diff Modified: trunk/Source/WebCore/PAL/ChangeLog (240124 => 240125) --- trunk/Source/WebCore/PAL/ChangeLog 2019-01-17 20:46:05 UTC (rev 240124) +++ trunk/Source/WebCore/PAL/ChangeLog 2019-01-17 21:12:12 UTC (rev 240125) @@ -1,3 +1,12 @@ +2019-01-17 Tim Horton + +Adopt NSTextCheckingSuppressInitialCapitalizationKey +https://bugs.webkit.org/show_bug.cgi?id=193545 + +Reviewed by Dean Jackson. + +* pal/spi/mac/NSSpellCheckerSPI.h: + 2019-01-17 Jer Noble SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds Modified: trunk/Source/WebCore/PAL/pal/spi/mac/NSSpellCheckerSPI.h (240124 => 240125) --- trunk/Source/WebCore/PAL/pal/spi/mac/NSSpellCheckerSPI.h 2019-01-17 20:46:05 UTC (rev 240124) +++ trunk/Source/WebCore/PAL/pal/spi/mac/NSSpellCheckerSPI.h 2019-01-17 21:12:12 UTC (rev 240125) @@ -35,6 +35,8 @@ extern NSString *NSTextCheckingInsertionPointKey; #endif +extern NSString *NSTextCheckingSuppressInitialCapitalizationKey; + @interface NSSpellChecker () #if HAVE(ADVANCED_SPELL_CHECKING) Modified: trunk/Source/WebKit/ChangeLog (240124 => 240125) --- trunk/Source/WebKit/ChangeLog 2019-01-17 20:46:05 UTC (rev 240124) +++ trunk/Source/WebKit/ChangeLog 2019-01-17 21:12:12 UTC (rev 240125) @@ -1,3 +1,14 @@ +2019-01-17 Tim Horton + +Adopt NSTextCheckingSuppressInitialCapitalizationKey +https://bugs.webkit.org/show_bug.cgi?id=193545 + +Reviewed by Dean Jackson. + +* UIProcess/mac/TextCheckerMac.mm: +(WebKit::TextChecker::checkTextOfParagraph): +(WebKit::TextChecker::getGuessesForWord): + 2019-01-17 Jer Noble SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds Modified: trunk/Source/WebKit/UIProcess/mac/TextCheckerMac.mm (240124 => 240125) --- trunk/Source/WebKit/UIProcess/mac/TextCheckerMac.mm 2019-01-17 20:46:05 UTC (rev 240124) +++ trunk/Source/WebKit/UIProcess/mac/TextCheckerMac.mm 2019-01-17 21:12:12 UTC (rev 240125) @@ -48,11 +48,6 @@ static NSString* const WebAutomaticLinkDetectionEnabled = @"WebAutomaticLinkDetectionEnabled"; static NSString* const WebAutomaticTextReplacementEnabled = @"WebAutomaticTextReplacementEnabled"; -// FIXME: this needs to be removed and replaced with NSTextCheckingSuppressInitialCapitalizationKey as soon as -// rdar://problem/26800924 is fixed. - -static NSString* const WebTextCheckingSuppressInitialCapitalizationKey = @"SuppressInitialCapitalization"; - namespace WebKit { using namespace WebCore; @@ -328,10 +323,12 @@ RetainPtr textString = text.createNSStringWithoutCopying(); NSDictionary *options = nil; #if HAVE(ADVANCED_SPELL_CHECKING) -options = @{ NSTextCheckingInsertionPointKey : @(insertionPoint), - WebTextCheckingSuppressInitialCapitalizationKey : @(!initialCapitalizationEnabled) }; +options = @{ +NSTextCheckingInsertionPointKey : @(insertionPoint), +NSTextCheckingSuppressInitialCapitalizationKey : @(!initialCapitalizationEnabled) +}; #else -options = @{ WebTextCheckingSuppressInitialCapitalizationKey : @(!initialCapitalizationEnabled) }; +options = @{ NSTextCheckingSuppressInitialCapitalizationKey : @(!initialCapitalizationEnabled) }; #endif NSArray *incomingResults = [[NSSpellChecker sharedSpellChecker] checkString:textString.get() range:NSMakeRange(0, text.length()) @@ -470,10 +467,12 @@ NSSpellChecker *checker = [NSSpellChecker sharedSpellChecker]; NSDictionary *options = nil; #if HAVE(ADVANCED_SPELL_CHECKING) -options = @{ NSTextCheckingInsertionPointKey : @(insertionPoint), - WebTextCheckingSuppressInitialCapitalizationKey : @(!initialCapitalizationEnabled) }; +options = @{ +NSTextCheckingInsertionPointKey : @(insertionPoint), +NSTextCheckingSuppressInitialCapitalizationKey : @(!initialCapitalizationEnabled) +}; #else -options = @{ WebTextCheckingSuppressInitialCapitalizationKey : @(!initialCapitalizationEnabled) }; +options = @{ NSTextCheckingSuppressInitialCapitalizationKey : @(!initialCapitalizationEnabled) }; #endif if (context.length()) { [checker checkString:context range:NSMakeRange(0,
[webkit-changes] [240124] trunk
Title: [240124] trunk Revision 240124 Author jer.no...@apple.com Date 2019-01-17 12:46:05 -0800 (Thu, 17 Jan 2019) Log Message SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds https://bugs.webkit.org/show_bug.cgi?id=189553 Reviewed by Tim Horton. .: * Makefile.shared: PerformanceTests: * MediaTime/Configurations/Base.xcconfig: * MediaTime/Configurations/SDKVariant.xcconfig: Added. Source/bmalloc: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/_javascript_Core: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/ThirdParty/ANGLE: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/ThirdParty/libwebrtc: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebCore: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. * Configurations/WebCore.xcconfig: Source/WebCore/PAL: * Configurations/Base.xcconfig: * Configurations/PAL.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebInspectorUI: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebKit: * Configurations/Base.xcconfig: * Configurations/BaseTarget.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebKitLegacy/mac: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. * Configurations/WebKitLegacy.xcconfig: Source/WTF: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Tools: Add a check-webkit-style check that ensures all SDKVariant.xcconfig files match. * ContentExtensionTester/Configurations/Base.xcconfig: * ContentExtensionTester/Configurations/SDKVariant.xcconfig: Added. * DumpRenderTree/mac/Configurations/Base.xcconfig: * DumpRenderTree/mac/Configurations/SDKVariant.xcconfig: Added. * ImageDiff/cg/Configurations/Base.xcconfig: * ImageDiff/cg/Configurations/SDKVariant.xcconfig: Added. * MiniBrowser/Configurations/Base.xcconfig: * MiniBrowser/Configurations/SDKVariant.xcconfig: Added. * MobileMiniBrowser/Configurations/Base.xcconfig: * MobileMiniBrowser/Configurations/SDKVariant.xcconfig: Added. * Scripts/webkitpy/style/checker.py: (_all_categories): (FileType): (CheckerDispatcher._file_type): (CheckerDispatcher._create_checker): * Scripts/webkitpy/style/checkers/sdkvariant.py: Added. (SDKVariantChecker): (SDKVariantChecker.__init__): (SDKVariantChecker.check): * TestWebKitAPI/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/SDKVariant.xcconfig: Added. * WebEditingTester/Configurations/Base.xcconfig: * WebEditingTester/Configurations/SDKVariant.xcconfig: Added. * WebKitLauncher/Configurations/SDKVariant.xcconfig: Added. * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/SDKVariant.xcconfig: Added. * lldb/lldbWebKitTester/Configurations/Base.xcconfig: * lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig: Added. Modified Paths trunk/ChangeLog trunk/Makefile.shared trunk/PerformanceTests/ChangeLog trunk/PerformanceTests/MediaTime/Configurations/Base.xcconfig trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Configurations/Base.xcconfig trunk/Source/ThirdParty/ANGLE/ChangeLog trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig trunk/Source/ThirdParty/libwebrtc/ChangeLog trunk/Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig trunk/Source/WTF/ChangeLog trunk/Source/WTF/Configurations/Base.xcconfig trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Configurations/Base.xcconfig trunk/Source/WebCore/Configurations/WebCore.xcconfig trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/Configurations/Base.xcconfig trunk/Source/WebCore/PAL/Configurations/PAL.xcconfig trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/Configurations/Base.xcconfig trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/Base.xcconfig trunk/Source/WebKit/Configurations/BaseTarget.xcconfig trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/Configurations/Base.xcconfig trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig trunk/Source/bmalloc/ChangeLog trunk/Source/bmalloc/Configurations/Base.xcconfig trunk/Tools/ChangeLog trunk/Tools/ContentExtensionTester/Configurations/Base.xcconfig trunk/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig trunk/Tools/ImageDiff/cg/Configurations/Base.xcconfig trunk/Tools/MiniBrowser/Configurations/Base.xcconfig trunk/Tools/MobileMiniBrowser/Configurations/Base.xcconfig trunk/Tools/Scripts/webkitpy/style/checker.py trunk/Tools/TestWebKitAPI/Configurations/Base.xcconfig trunk/Tools/WebEditingTester/Configurations/Base.xcconfig trunk/Tools/WebKitTestRunner/Configurations/Base.xcconfig trunk/Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig Added Paths trunk/PerformanceTests/MediaTime/Configurations/SDKVariant.xcconfig
[webkit-changes] [240123] trunk/Source/WebCore
Title: [240123] trunk/Source/WebCore Revision 240123 Author jer.no...@apple.com Date 2019-01-17 12:24:09 -0800 (Thu, 17 Jan 2019) Log Message MediaPlayerPrivateAVFoundationObjC can return incorrect paused information https://bugs.webkit.org/show_bug.cgi?id=193499 Reviewed by Eric Carlson. MediaPlayerPrivateAVFoundation uses rate() as an indicator of whether the player is paused or not. This is incorrect when playback is stalled waiting for more data. For MPPAVFObjC, use the timeControlStatus as a more accurate indicator of whether the player is playing. Now that we have correct play state information, we can remove the handlePlaybackCommand() path when playing remotely for a more direct approach of notifying the HTMLMediaElement that the play state has changed. Drive-by fix: Before throwing away the AVPlayer, clear its output context. This keeps remote devices from keeping the AVPlayer alive. Drive-by fix #2: The NullMediaPlayer should always return "true" for paused(), not "false", since it can't possibly play anything. * platform/graphics/MediaPlayer.cpp: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::paused const): * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: (WebCore::MediaPlayerPrivateAVFoundation::platformPaused const): * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPaused const): (WebCore::MediaPlayerPrivateAVFoundationObjC::timeControlStatusDidChange): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm Diff Modified: trunk/Source/WebCore/ChangeLog (240122 => 240123) --- trunk/Source/WebCore/ChangeLog 2019-01-17 19:34:29 UTC (rev 240122) +++ trunk/Source/WebCore/ChangeLog 2019-01-17 20:24:09 UTC (rev 240123) @@ -1,3 +1,36 @@ +2019-01-17 Jer Noble + +MediaPlayerPrivateAVFoundationObjC can return incorrect paused information +https://bugs.webkit.org/show_bug.cgi?id=193499 + +Reviewed by Eric Carlson. + +MediaPlayerPrivateAVFoundation uses rate() as an indicator of whether the player +is paused or not. This is incorrect when playback is stalled waiting for more data. +For MPPAVFObjC, use the timeControlStatus as a more accurate indicator of whether +the player is playing. + +Now that we have correct play state information, we can remove the handlePlaybackCommand() +path when playing remotely for a more direct approach of notifying the HTMLMediaElement +that the play state has changed. + +Drive-by fix: Before throwing away the AVPlayer, clear its output context. This keeps +remote devices from keeping the AVPlayer alive. + +Drive-by fix #2: The NullMediaPlayer should always return "true" for paused(), not "false", +since it can't possibly play anything. + +* platform/graphics/MediaPlayer.cpp: +* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: +(WebCore::MediaPlayerPrivateAVFoundation::paused const): +* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: +(WebCore::MediaPlayerPrivateAVFoundation::platformPaused const): +* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: +* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: +(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): +(WebCore::MediaPlayerPrivateAVFoundationObjC::platformPaused const): +(WebCore::MediaPlayerPrivateAVFoundationObjC::timeControlStatusDidChange): + 2019-01-17 Jiewen Tan [Mac] Add a new quirk to HTMLFormControlElement::isMouseFocusable Modified: trunk/Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h (240122 => 240123) --- trunk/Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h 2019-01-17 19:34:29 UTC (rev 240122) +++ trunk/Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h 2019-01-17 20:24:09 UTC (rev 240123) @@ -79,7 +79,7 @@ #if !PLATFORM(IOS_FAMILY) @interface AVPlayer (AVPlayerExternalPlaybackSupportPrivate) -@property (nonatomic, retain) AVOutputContext *outputContext; +@property (nonatomic, retain, nullable) AVOutputContext *outputContext; @end #else typedef NS_ENUM(NSInteger, AVPlayerExternalPlaybackType) { Modified:
[webkit-changes] [240122] trunk/Source/WebCore
Title: [240122] trunk/Source/WebCore Revision 240122 Author jiewen_...@apple.com Date 2019-01-17 11:34:29 -0800 (Thu, 17 Jan 2019) Log Message [Mac] Add a new quirk to HTMLFormControlElement::isMouseFocusable https://bugs.webkit.org/show_bug.cgi?id=193478 Reviewed by Brent Fulgham. By default in macOS, submit buttons (controls) are not focusable. WebKit follows this system convention as suggested by the spec: https://html.spec.whatwg.org/multipage/interaction.html#focusable-area. This is also the convention Firefox respects. However, Chrome doesn't. ceac.state.gov is by far the only website that assumes submit buttons are focusable, and will prohibit users from completing immigration forms, such as DS160 if buttons are not. To help immigrations, we decide to add a new quirk to HTMLFormControlElement::isMouseFocusable such that submit buttons are mouse focusable. This quirk is for ceac.state.gov specifically, and therefore no tests. * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::isMouseFocusable const): (WebCore::HTMLFormControlElement::needsSiteSpecificQuirks const): * html/HTMLFormControlElement.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLFormControlElement.cpp trunk/Source/WebCore/html/HTMLFormControlElement.h Diff Modified: trunk/Source/WebCore/ChangeLog (240121 => 240122) --- trunk/Source/WebCore/ChangeLog 2019-01-17 19:32:56 UTC (rev 240121) +++ trunk/Source/WebCore/ChangeLog 2019-01-17 19:34:29 UTC (rev 240122) @@ -1,3 +1,25 @@ +2019-01-17 Jiewen Tan + +[Mac] Add a new quirk to HTMLFormControlElement::isMouseFocusable +https://bugs.webkit.org/show_bug.cgi?id=193478 + + +Reviewed by Brent Fulgham. + +By default in macOS, submit buttons (controls) are not focusable. WebKit follows this system convention +as suggested by the spec: https://html.spec.whatwg.org/multipage/interaction.html#focusable-area. This +is also the convention Firefox respects. However, Chrome doesn't. ceac.state.gov is by far the only +website that assumes submit buttons are focusable, and will prohibit users from completing immigration +forms, such as DS160 if buttons are not. To help immigrations, we decide to add a new quirk to +HTMLFormControlElement::isMouseFocusable such that submit buttons are mouse focusable. + +This quirk is for ceac.state.gov specifically, and therefore no tests. + +* html/HTMLFormControlElement.cpp: +(WebCore::HTMLFormControlElement::isMouseFocusable const): +(WebCore::HTMLFormControlElement::needsSiteSpecificQuirks const): +* html/HTMLFormControlElement.h: + 2019-01-17 Alex Christensen Fix WinCairo build after r240117 Modified: trunk/Source/WebCore/html/HTMLFormControlElement.cpp (240121 => 240122) --- trunk/Source/WebCore/html/HTMLFormControlElement.cpp 2019-01-17 19:32:56 UTC (rev 240121) +++ trunk/Source/WebCore/html/HTMLFormControlElement.cpp 2019-01-17 19:34:29 UTC (rev 240122) @@ -40,6 +40,7 @@ #include "HTMLTextAreaElement.h" #include "RenderBox.h" #include "RenderTheme.h" +#include "Settings.h" #include "StyleTreeResolver.h" #include "ValidationMessage.h" #include @@ -372,6 +373,8 @@ #if PLATFORM(GTK) return HTMLElement::isMouseFocusable(); #else +if (needsMouseFocusableQuirk()) +return HTMLElement::isMouseFocusable(); return false; #endif } @@ -655,4 +658,18 @@ return AutofillData::createFromHTMLFormControlElement(*this); } +// FIXME: We should remove the quirk once is fixed. +bool HTMLFormControlElement::needsMouseFocusableQuirk() const +{ +#if PLATFORM(MAC) +if (!document().settings().needsSiteSpecificQuirks()) +return false; + +auto host = document().url().host(); +return equalLettersIgnoringASCIICase(host, "ceac.state.gov") || host.endsWithIgnoringASCIICase(".ceac.state.gov"); +#else +return false; +#endif +} + } // namespace Webcore Modified: trunk/Source/WebCore/html/HTMLFormControlElement.h (240121 => 240122) --- trunk/Source/WebCore/html/HTMLFormControlElement.h 2019-01-17 19:32:56 UTC (rev 240121) +++ trunk/Source/WebCore/html/HTMLFormControlElement.h 2019-01-17 19:34:29 UTC (rev 240122) @@ -177,6 +177,8 @@ const HTMLFormControlElement& asHTMLElement() const final { return *this; } HTMLFormControlElement* asFormNamedItem() final { return this; } +bool needsMouseFocusableQuirk() const; + std::unique_ptr m_validationMessage; unsigned m_disabled : 1; unsigned m_isReadOnly : 1; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240121] trunk/Source/WebCore
Title: [240121] trunk/Source/WebCore Revision 240121 Author achristen...@apple.com Date 2019-01-17 11:32:56 -0800 (Thu, 17 Jan 2019) Log Message Fix WinCairo build after r240117 https://bugs.webkit.org/show_bug.cgi?id=193529 * PlatformWin.cmake: * platform/network/curl/SocketStreamHandleImplCurl.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PlatformWin.cmake trunk/Source/WebCore/platform/network/curl/SocketStreamHandleImplCurl.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (240120 => 240121) --- trunk/Source/WebCore/ChangeLog 2019-01-17 19:23:45 UTC (rev 240120) +++ trunk/Source/WebCore/ChangeLog 2019-01-17 19:32:56 UTC (rev 240121) @@ -1,3 +1,11 @@ +2019-01-17 Alex Christensen + +Fix WinCairo build after r240117 +https://bugs.webkit.org/show_bug.cgi?id=193529 + +* PlatformWin.cmake: +* platform/network/curl/SocketStreamHandleImplCurl.cpp: + 2019-01-17 Youenn Fablet Add release logging for incoming and outgoing webrtc audio tracks Modified: trunk/Source/WebCore/PlatformWin.cmake (240120 => 240121) --- trunk/Source/WebCore/PlatformWin.cmake 2019-01-17 19:23:45 UTC (rev 240120) +++ trunk/Source/WebCore/PlatformWin.cmake 2019-01-17 19:32:56 UTC (rev 240121) @@ -183,7 +183,6 @@ loader/cache loader/icon - page/animation page/csp page/scrolling Modified: trunk/Source/WebCore/platform/network/curl/SocketStreamHandleImplCurl.cpp (240120 => 240121) --- trunk/Source/WebCore/platform/network/curl/SocketStreamHandleImplCurl.cpp 2019-01-17 19:23:45 UTC (rev 240120) +++ trunk/Source/WebCore/platform/network/curl/SocketStreamHandleImplCurl.cpp 2019-01-17 19:32:56 UTC (rev 240121) @@ -39,6 +39,7 @@ #include "Logging.h" #include "SocketStreamError.h" #include "SocketStreamHandleClient.h" +#include "StorageSessionProvider.h" #include #include #include ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240120] trunk/Source/WebCore
Title: [240120] trunk/Source/WebCore Revision 240120 Author you...@apple.com Date 2019-01-17 11:23:45 -0800 (Thu, 17 Jan 2019) Log Message Add release logging for incoming and outgoing webrtc audio tracks https://bugs.webkit.org/show_bug.cgi?id=185545 Reviewed by Eric Carlson. Add logging of audio tracks. When doing a WebRTC call, one log line is added each second for each audio track. Validated that logging is done through manual testing. Refactored code to use LogHelper and apply it to video sources as well. * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: (WebCore::LibWebRTCMediaEndpoint::addTrack): (WebCore::LibWebRTCMediaEndpoint::sourceFromNewReceiver): (WebCore::sourceFromNewReceiver): Deleted. * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h: * platform/mediastream/RealtimeIncomingAudioSource.cpp: (WebCore::RealtimeIncomingAudioSource::RealtimeIncomingAudioSource): (WebCore::RealtimeIncomingAudioSource::logChannel const): (WebCore::RealtimeIncomingAudioSource::logger const): * platform/mediastream/RealtimeIncomingAudioSource.h: (WebCore::RealtimeIncomingAudioSource::setLogger): * platform/mediastream/RealtimeIncomingVideoSource.cpp: (WebCore::RealtimeIncomingVideoSource::RealtimeIncomingVideoSource): (WebCore::RealtimeIncomingVideoSource::logChannel const): (WebCore::RealtimeIncomingVideoSource::logger const): * platform/mediastream/RealtimeIncomingVideoSource.h: (WebCore::RealtimeIncomingVideoSource::setLogger): * platform/mediastream/RealtimeOutgoingAudioSource.cpp: (WebCore::RealtimeOutgoingAudioSource::RealtimeOutgoingAudioSource): (WebCore::RealtimeOutgoingAudioSource::sendAudioFrames): (WebCore::RealtimeOutgoingAudioSource::logChannel const): (WebCore::RealtimeOutgoingAudioSource::logger const): * platform/mediastream/RealtimeOutgoingAudioSource.h: (WebCore::RealtimeOutgoingAudioSource::setLogger): * platform/mediastream/RealtimeOutgoingVideoSource.cpp: (WebCore::RealtimeOutgoingVideoSource::RealtimeOutgoingVideoSource): (WebCore::RealtimeOutgoingVideoSource::sendBlackFramesIfNeeded): (WebCore::RealtimeOutgoingVideoSource::sendOneBlackFrame): (WebCore::RealtimeOutgoingVideoSource::logChannel const): (WebCore::RealtimeOutgoingVideoSource::logger const): * platform/mediastream/RealtimeOutgoingVideoSource.h: (WebCore::RealtimeOutgoingVideoSource::setLogger): * platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp: (WebCore::RealtimeIncomingAudioSourceCocoa::OnData): * platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.h: * platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm: (WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferPool): (WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferFromVideoFrame): (WebCore::RealtimeIncomingVideoSourceCocoa::OnFrame): * platform/mediastream/mac/RealtimeOutgoingAudioSourceCocoa.cpp: * platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp: (WebCore::RealtimeOutgoingVideoSourceCocoa::sampleBufferUpdated): * platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm: (WebCore::RealtimeOutgoingVideoSourceCocoa::rotatePixelBuffer): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h trunk/Source/WebCore/platform/mediastream/RealtimeIncomingAudioSource.cpp trunk/Source/WebCore/platform/mediastream/RealtimeIncomingAudioSource.h trunk/Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.cpp trunk/Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.h trunk/Source/WebCore/platform/mediastream/RealtimeOutgoingAudioSource.cpp trunk/Source/WebCore/platform/mediastream/RealtimeOutgoingAudioSource.h trunk/Source/WebCore/platform/mediastream/RealtimeOutgoingVideoSource.cpp trunk/Source/WebCore/platform/mediastream/RealtimeOutgoingVideoSource.h trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.h trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm trunk/Source/WebCore/platform/mediastream/mac/RealtimeOutgoingAudioSourceCocoa.cpp trunk/Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp trunk/Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm Diff Modified: trunk/Source/WebCore/ChangeLog (240119 => 240120) --- trunk/Source/WebCore/ChangeLog 2019-01-17 19:15:57 UTC (rev 240119) +++ trunk/Source/WebCore/ChangeLog 2019-01-17 19:23:45 UTC (rev 240120) @@ -1,3 +1,61 @@ +2019-01-17 Youenn Fablet + +Add release logging for incoming and outgoing webrtc audio tracks +https://bugs.webkit.org/show_bug.cgi?id=185545 + +Reviewed by Eric Carlson. + +Add logging of audio tracks. When doing a WebRTC call, +one log line is added each second for each audio track. +Validated that logging is done through manual
[webkit-changes] [240119] trunk
Title: [240119] trunk Revision 240119 Author d...@apple.com Date 2019-01-17 11:15:57 -0800 (Thu, 17 Jan 2019) Log Message (iPad) Link tapping is sluggish on many sites https://bugs.webkit.org/show_bug.cgi?id=193522 Reviewed by Wenson Hsieh. Source/WebKit: Some WKWebView clients might set the initial zoom scale of the page to something other than 1, which disables the "fast tap" behaviour. The fix is very simple -- just check against the initial scale rather than 1. The most likely regression from this would be pages designed for desktop, but provide a viewport tag saying width=device-width and initial-scale. They might stop allowing double-tap-to-zoom. * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _allowsDoubleTapGestures]): Check against initial page scale. LayoutTests: Add a test that checks a double tap will trigger a click event on a page that is at initial scale. Extra bonus: for some reason adding this test, or making this code change, uncovered a couple of bugs in existing tests. The viewport-zooms-from-element-to-initial-scale test was completely wrong because it was expecting the incorrect result, which was triggered by the zoom callback firing early at a forced scale value. The viewport-no-width-value-allows-double-tap test was triggering a JS error in its UI script. I modernised both of these to use UIHelper instead. * fast/events/ios/fast-click-double-tap-sends-click-when-initial-scale-expected.txt: Added. * fast/events/ios/fast-click-double-tap-sends-click-when-initial-scale.html: Added. * fast/events/ios/viewport-no-width-value-allows-double-tap.html: * fast/events/ios/viewport-zooms-from-element-to-initial-scale-expected.txt: * fast/events/ios/viewport-zooms-from-element-to-initial-scale.html: * resources/ui-helper.js: Add doubleTapAt and zoomByDoubleTapAt helpers. Remove the unnecessary "Done" return value from many of the callbacks. Give zoomToScale a return value. (window.UIHelper.tapAt.return.new.Promise): (window.UIHelper.tapAt): (window.UIHelper.doubleTapAt.return.new.Promise): (window.UIHelper.doubleTapAt): (window.UIHelper.zoomByDoubleTappingAt): (window.UIHelper.activateAt.return.new.Promise): (window.UIHelper.activateAt): (window.UIHelper.toggleCapsLock): (window.UIHelper.ensurePresentationUpdate.return.new.Promise): (window.UIHelper.ensurePresentationUpdate): (window.UIHelper.activateAndWaitForInputSessionAt.return.new.Promise.): (window.UIHelper.activateFormControl.return.new.Promise.): (window.UIHelper.replaceTextAtRange): (window.UIHelper.zoomToScale): (window.UIHelper.stylusTapAt.return.new.Promise): (window.UIHelper.stylusTapAt): Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/events/ios/viewport-no-width-value-allows-double-tap.html trunk/LayoutTests/fast/events/ios/viewport-zooms-from-element-to-initial-scale-expected.txt trunk/LayoutTests/fast/events/ios/viewport-zooms-from-element-to-initial-scale.html trunk/LayoutTests/resources/ui-helper.js trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm Added Paths trunk/LayoutTests/fast/events/ios/fast-click-double-tap-sends-click-when-initial-scale-expected.txt trunk/LayoutTests/fast/events/ios/fast-click-double-tap-sends-click-when-initial-scale.html Diff Modified: trunk/LayoutTests/ChangeLog (240118 => 240119) --- trunk/LayoutTests/ChangeLog 2019-01-17 19:13:50 UTC (rev 240118) +++ trunk/LayoutTests/ChangeLog 2019-01-17 19:15:57 UTC (rev 240119) @@ -1,3 +1,47 @@ +2019-01-16 Dean Jackson + +(iPad) Link tapping is sluggish on many sites +https://bugs.webkit.org/show_bug.cgi?id=193522 + + +Reviewed by Wenson Hsieh. + +Add a test that checks a double tap will trigger a click +event on a page that is at initial scale. + +Extra bonus: for some reason adding this test, or making this code +change, uncovered a couple of bugs in existing tests. The +viewport-zooms-from-element-to-initial-scale test was completely wrong +because it was expecting the incorrect result, which was triggered by +the zoom callback firing early at a forced scale value. The +viewport-no-width-value-allows-double-tap test was triggering a JS +error in its UI script. I modernised both of these to use UIHelper instead. + +* fast/events/ios/fast-click-double-tap-sends-click-when-initial-scale-expected.txt: Added. +* fast/events/ios/fast-click-double-tap-sends-click-when-initial-scale.html: Added. +* fast/events/ios/viewport-no-width-value-allows-double-tap.html: +* fast/events/ios/viewport-zooms-from-element-to-initial-scale-expected.txt: +* fast/events/ios/viewport-zooms-from-element-to-initial-scale.html: +* resources/ui-helper.js: Add doubleTapAt and zoomByDoubleTapAt helpers. Remove the +unnecessary "Done" return value from many of the callbacks. Give zoomToScale a return +value. +
[webkit-changes] [240118] trunk
Title: [240118] trunk Revision 240118 Author pvol...@apple.com Date 2019-01-17 11:13:50 -0800 (Thu, 17 Jan 2019) Log Message [Win] gperf command not found https://bugs.webkit.org/show_bug.cgi?id=193538 Reviewed by Brent Fulgham. CMake only searches for gperf if ENABLE_WEBCORE is on. ENABLE_WEBCORE needs to be set to ON. * Source/cmake/OptionsAppleWin.cmake: Modified Paths trunk/ChangeLog trunk/Source/cmake/OptionsAppleWin.cmake Diff Modified: trunk/ChangeLog (240117 => 240118) --- trunk/ChangeLog 2019-01-17 19:10:53 UTC (rev 240117) +++ trunk/ChangeLog 2019-01-17 19:13:50 UTC (rev 240118) @@ -1,3 +1,15 @@ +2019-01-17 Per Arne Vollan + +[Win] gperf command not found +https://bugs.webkit.org/show_bug.cgi?id=193538 + + +Reviewed by Brent Fulgham. + +CMake only searches for gperf if ENABLE_WEBCORE is on. ENABLE_WEBCORE needs to be set to ON. + +* Source/cmake/OptionsAppleWin.cmake: + 2019-01-14 Carlos Garcia Campos Unreviewed. Update OptionsGTK.cmake and NEWS for 2.23.3 release Modified: trunk/Source/cmake/OptionsAppleWin.cmake (240117 => 240118) --- trunk/Source/cmake/OptionsAppleWin.cmake 2019-01-17 19:10:53 UTC (rev 240117) +++ trunk/Source/cmake/OptionsAppleWin.cmake 2019-01-17 19:13:50 UTC (rev 240118) @@ -4,6 +4,8 @@ include(OptionsWin) +set(ENABLE_WEBCORE ON) + SET_AND_EXPOSE_TO_BUILD(USE_CF ON) SET_AND_EXPOSE_TO_BUILD(USE_CFURLCONNECTION ON) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240117] trunk/Source
Title: [240117] trunk/Source Revision 240117 Author achristen...@apple.com Date 2019-01-17 11:10:53 -0800 (Thu, 17 Jan 2019) Log Message Stop using NetworkStorageSession::storageSession in WebCore https://bugs.webkit.org/show_bug.cgi?id=193529 Reviewed by Tim Horton. Source/WebCore: Ownership of the map that NetworkStorageSession::storageSession searches needs to move to the WebKit/WebKitLegacy layer, so when WebCore used to look in this map it needs to call a client function to ask the layer above it for the storage object. I've called this client StorageSessionProvider::storageSession. Right now it just looks in NetworkStorageSession::storageSession, but this added abstraction makes it possible to move the currently process-global map to be a member of the NetworkProcess object. * Modules/websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::connect): * WebCore.xcodeproj/project.pbxproj: * loader/CookieJar.cpp: (WebCore::CookieJar::create): (WebCore::CookieJar::CookieJar): (WebCore::CookieJar::cookies const): (WebCore::CookieJar::setCookies): (WebCore::CookieJar::cookiesEnabled const): (WebCore::CookieJar::cookieRequestHeaderFieldValue const): (WebCore::CookieJar::getRawCookies const): (WebCore::CookieJar::deleteCookie): * loader/CookieJar.h: * loader/EmptyClients.cpp: (WebCore::pageConfigurationWithEmptyClients): * page/Page.h: * page/SocketProvider.cpp: (WebCore::SocketProvider::createSocketStreamHandle): * page/SocketProvider.h: * platform/network/NetworkingContext.h: * platform/network/SocketStreamHandleImpl.cpp: (WebCore::cookieDataForHandshake): (WebCore::SocketStreamHandleImpl::platformSendHandshake): * platform/network/StorageSessionProvider.h: Added. (WebCore::StorageSessionProvider::~StorageSessionProvider): * platform/network/cf/SocketStreamHandleImpl.h: (WebCore::SocketStreamHandleImpl::create): * platform/network/cf/SocketStreamHandleImplCFNet.cpp: (WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl): (WebCore::SocketStreamHandleImpl::getStoredCONNECTProxyCredentials): * platform/network/curl/SocketStreamHandleImpl.h: (WebCore::SocketStreamHandleImpl::create): * platform/network/soup/SocketStreamHandleImpl.h: * platform/network/soup/SocketStreamHandleImplSoup.cpp: (WebCore::SocketStreamHandleImpl::create): Source/WebKit: * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::createSocketStream): * NetworkProcess/NetworkProcess.h: * NetworkProcess/NetworkSocketStream.cpp: (WebKit::NetworkSocketStream::create): (WebKit::NetworkSocketStream::NetworkSocketStream): * NetworkProcess/NetworkSocketStream.h: * NetworkProcess/NetworkStorageSessionProvider.h: Added. * WebKit.xcodeproj/project.pbxproj: * WebProcess/Network/WebSocketProvider.cpp: (WebKit::WebSocketProvider::createSocketStreamHandle): * WebProcess/Network/WebSocketProvider.h: * WebProcess/WebPage/WebCookieJar.cpp: (WebKit::WebCookieJar::WebCookieJar): * WebProcess/WebPage/WebCookieJar.h: Source/WebKitLegacy: * WebCoreSupport/PageStorageSessionProvider.h: Added. * WebKitLegacy.xcodeproj/project.pbxproj: Source/WebKitLegacy/mac: * Misc/WebCache.mm: (+[WebCache addImageToCache:forURL:forFrame:]): * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]): Source/WebKitLegacy/win: * WebView.cpp: (WebView::initWithFrame): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/loader/CookieJar.cpp trunk/Source/WebCore/loader/CookieJar.h trunk/Source/WebCore/loader/EmptyClients.cpp trunk/Source/WebCore/page/Page.h trunk/Source/WebCore/page/SocketProvider.cpp trunk/Source/WebCore/page/SocketProvider.h trunk/Source/WebCore/platform/network/NetworkingContext.h trunk/Source/WebCore/platform/network/SocketStreamHandleImpl.cpp trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImpl.h trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp trunk/Source/WebCore/platform/network/curl/SocketStreamHandleImpl.h trunk/Source/WebCore/platform/network/curl/SocketStreamHandleImplCurl.cpp trunk/Source/WebCore/platform/network/soup/SocketStreamHandleImpl.h trunk/Source/WebCore/platform/network/soup/SocketStreamHandleImplSoup.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp trunk/Source/WebKit/NetworkProcess/NetworkSocketStream.cpp trunk/Source/WebKit/NetworkProcess/NetworkSocketStream.h trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKit/WebProcess/Network/WebSocketProvider.cpp trunk/Source/WebKit/WebProcess/Network/WebSocketProvider.h trunk/Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp trunk/Source/WebKit/WebProcess/WebPage/WebCookieJar.h trunk/Source/WebKitLegacy/ChangeLog trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
[webkit-changes] [240116] trunk/LayoutTests
Title: [240116] trunk/LayoutTests Revision 240116 Author pvol...@apple.com Date 2019-01-17 11:03:08 -0800 (Thu, 17 Jan 2019) Log Message Layout Test js/dfg-int-overflow-in-loop.html is failing https://bugs.webkit.org/show_bug.cgi?id=193540 Unreviewed test gardening. * platform/win/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/win/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (240115 => 240116) --- trunk/LayoutTests/ChangeLog 2019-01-17 18:34:40 UTC (rev 240115) +++ trunk/LayoutTests/ChangeLog 2019-01-17 19:03:08 UTC (rev 240116) @@ -1,3 +1,12 @@ +2019-01-17 Per Arne Vollan + +Layout Test js/dfg-int-overflow-in-loop.html is failing +https://bugs.webkit.org/show_bug.cgi?id=193540 + +Unreviewed test gardening. + +* platform/win/TestExpectations: + 2019-01-17 Ross Kirsling Get rid of Sputnik tests. Modified: trunk/LayoutTests/platform/win/TestExpectations (240115 => 240116) --- trunk/LayoutTests/platform/win/TestExpectations 2019-01-17 18:34:40 UTC (rev 240115) +++ trunk/LayoutTests/platform/win/TestExpectations 2019-01-17 19:03:08 UTC (rev 240116) @@ -3910,7 +3910,7 @@ webkit.org/b/181869 svg/filters/fePointLight-color.svg [ ImageOnlyFailure ] webkit.org/b/181869 svg/filters/feSpotLight-color.svg [ ImageOnlyFailure ] -webkit.org/b/182119 js/dom/random-array-gc-stress.html [ Failure ] +webkit.org/b/182119 js/dom/random-array-gc-stress.html [ Skip ] webkit.org/b/182120 http/tests/images/image-supports-video.html [ Failure ] @@ -4246,3 +4246,22 @@ js/dom/modules/import-mjs-module.html [ Skip ] webkit.org/b/181957 http/tests/misc/resource-timing-resolution.html [ Pass Failure ] + +webkit.org/b/193540 editing/style/apply-style-iframe-crash.html [ Failure ] +webkit.org/b/193540 editing/style/iframe-onload-crash-mac.html [ Failure ] +webkit.org/b/193540 fast/dom/reference-cycle-leaks.html [ Failure ] +webkit.org/b/193540 js/dom/stack-trace.html [ Failure ] +webkit.org/b/193540 svg/animations/smil-leak-dynamically-added-element-instances.svg [ Failure ] +webkit.org/b/193540 svg/animations/smil-leak-element-instances-noBaseValRef.svg [ Failure ] +webkit.org/b/193540 svg/animations/smil-leak-element-instances.svg [ Failure ] +webkit.org/b/193540 svg/animations/smil-leak-elements.svg [ Failure ] +webkit.org/b/193540 svg/animations/smil-leak-list-property-instances.svg [ Failure ] +webkit.org/b/193540 webanimations/leak-document-with-web-animation.html [ Failure ] + +webkit.org/b/193540 fast/shadow-dom/shadowroot-stylesheets-wrapper-gc.html [ Crash ] + +webkit.org/b/193540 fast/dom/Document/document-write-recursion.html [ Skip ] +webkit.org/b/193540 js/dfg-int-overflow-in-loop.html [ Skip ] +webkit.org/b/193540 js/slow-stress/marsaglia.html [ Skip ] +webkit.org/b/193540 js/slow-stress/simple-custom-getter.html [ Skip ] +webkit.org/b/193540 performance-api/performance-observer-no-document-leak.html [ Skip ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240115] trunk/LayoutTests
Title: [240115] trunk/LayoutTests Revision 240115 Author ross.kirsl...@sony.com Date 2019-01-17 10:34:40 -0800 (Thu, 17 Jan 2019) Log Message Get rid of Sputnik tests. https://bugs.webkit.org/show_bug.cgi?id=193464 Rubber stamped by Saam Barati. * sputnik/: Removed. * platform/gtk/sputnik/: Removed. * platform/ios/sputnik/: Removed. * platform/mac/sputnik/: Removed. * platform/wpe/sputnik/: Removed. * TestExpectations: * platform/gtk/TestExpectations: * platform/ios-wk2/TestExpectations: * platform/ios/TestExpectations: * platform/mac/TestExpectations: * platform/win/TestExpectations: * platform/wincairo/TestExpectations: * platform/wpe/TestExpectations: Remove all sputnik/ lines. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/platform/gtk/TestExpectations trunk/LayoutTests/platform/ios/TestExpectations trunk/LayoutTests/platform/ios-wk2/TestExpectations trunk/LayoutTests/platform/mac/TestExpectations trunk/LayoutTests/platform/win/TestExpectations trunk/LayoutTests/platform/wincairo/TestExpectations trunk/LayoutTests/platform/wpe/TestExpectations Removed Paths trunk/LayoutTests/platform/gtk/sputnik/ trunk/LayoutTests/platform/ios/sputnik/ trunk/LayoutTests/platform/mac/sputnik/ trunk/LayoutTests/platform/wpe/sputnik/ trunk/LayoutTests/sputnik/ Diff Modified: trunk/LayoutTests/ChangeLog (240114 => 240115) --- trunk/LayoutTests/ChangeLog 2019-01-17 17:50:27 UTC (rev 240114) +++ trunk/LayoutTests/ChangeLog 2019-01-17 18:34:40 UTC (rev 240115) @@ -1,3 +1,26 @@ +2019-01-17 Ross Kirsling + +Get rid of Sputnik tests. +https://bugs.webkit.org/show_bug.cgi?id=193464 + +Rubber stamped by Saam Barati. + +* sputnik/: Removed. +* platform/gtk/sputnik/: Removed. +* platform/ios/sputnik/: Removed. +* platform/mac/sputnik/: Removed. +* platform/wpe/sputnik/: Removed. + +* TestExpectations: +* platform/gtk/TestExpectations: +* platform/ios-wk2/TestExpectations: +* platform/ios/TestExpectations: +* platform/mac/TestExpectations: +* platform/win/TestExpectations: +* platform/wincairo/TestExpectations: +* platform/wpe/TestExpectations: +Remove all sputnik/ lines. + 2019-01-16 Alicia Boya GarcĂa Unreviewed GTK and WPE test gardening. Modified: trunk/LayoutTests/TestExpectations (240114 => 240115) --- trunk/LayoutTests/TestExpectations 2019-01-17 17:50:27 UTC (rev 240114) +++ trunk/LayoutTests/TestExpectations 2019-01-17 18:34:40 UTC (rev 240115) @@ -1223,20 +1223,9 @@ webkit.org/b/173506 ietestcenter/_javascript_/15.4.4.15-3-12.html [ Failure ] webkit.org/b/173506 ietestcenter/_javascript_/15.4.4.15-3-25.html [ Failure ] webkit.org/b/173506 ietestcenter/_javascript_/15.4.4.15-3-7.html [ Failure ] -webkit.org/b/173506 sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.10_Array_prototype_slice/S15.4.4.10_A3_T3.html [ Failure ] -webkit.org/b/173506 sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.12_Array_prototype_splice/S15.4.4.12_A3_T3.html [ Failure ] -webkit.org/b/173506 sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A2_T2.html [ Failure ] -webkit.org/b/173506 sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A3_T2.html [ Failure ] -webkit.org/b/173506 sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.6_Array_prototype_pop/S15.4.4.6_A2_T2.html [ Failure ] -webkit.org/b/173506 sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.6_Array_prototype_pop/S15.4.4.6_A3_T3.html [ Failure ] -webkit.org/b/173506 sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.7_Array_prototype_push/S15.4.4.7_A2_T2.html [ Failure ] -webkit.org/b/173506 sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.7_Array_prototype_push/S15.4.4.7_A4_T3.html [ Failure ] -webkit.org/b/173506 sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A3_T3.html [ Failure ] -webkit.org/b/173506 sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.9_Array_prototype_shift/S15.4.4.9_A3_T3.html [ Failure ] webkit.org/b/173506 ietestcenter/_javascript_/15.4.4.15-3-14.html [ Skip ] webkit.org/b/173506 ietestcenter/_javascript_/15.4.4.15-3-8.html [ Skip ] -webkit.org/b/173506 sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.9_Array_prototype_shift/S15.4.4.9_A2_T2.html [ Skip ] # IDBVersionChangeEvent tests need to be rewritten to use event constructors instead of createEvent, # after we implement the IDBVersionChangeEvent constructor. @@ -1872,12 +1861,6 @@ webkit.org/b/6547 js/kde/Date.html [ Skip ] webkit.org/b/15046 js/string-concatenate-outofmemory.html [ Skip ] webkit.org/b/24690 platform/mac/plugins/pluginDocumentView-deallocated-dataSource.html [ Skip ]
[webkit-changes] [240114] trunk
Title: [240114] trunk Revision 240114 Author sbar...@apple.com Date 2019-01-17 09:50:27 -0800 (Thu, 17 Jan 2019) Log Message StringObjectUse should not be a structure check for the original string object structure https://bugs.webkit.org/show_bug.cgi?id=193483 Reviewed by Yusuke Suzuki. JSTests: * stress/cant-eliminate-string-object-structure-check-when-string-object-is-proven.js: Added. (foo): (a.valueOf.0): Source/_javascript_Core: Prior to this patch, the use kind for StringObjectUse implied that we do a StructureCheck on the input operand for the *original* StringObject structure. This is generally not how we use UseKinds, so it's no surprise that this is buggy. A UseKind should map to a set of SpeculatedTypes, not an actual set of structures. This patch changes the meaning of StringObjectUse to mean an object where jsDynamicCast would succeed. This patch also fixes a bug that was caused by the old and weird usage of the UseKind to mean StructureCheck. Consider a program like this: ``` S1 = Original StringObject structure S2 = Original StringObject structure with the field "f" added a: GetLocal() b: CheckStructure(@a, {S2}) c: ToString(StringObject:@a) ``` According to AI, in the above program, we would exit at @c, since StringObject:@a implies a structure check of {S1}, and the intersection of {S1} and {S2} is {}. So, we'd convert the program to be: ``` a: GetLocal() b: CheckStructure(@a, {S2}) c: Check(StringObject:@a) d: Unreachable ``` However, AI would set the proof status of the StringObject:@a edge to be proven, since the SpeculatedType for @a is SpecStringObject. This was incorrect of AI to do because the SpeculatedType itself didn't capture the full power of StringObjectUse. However, having a UseKind mean CheckStructure is weird precisely because what AI was doing is a natural fit to how we typically we think about UseKinds. So the above program would then incorrectly be converted to this, and we'd crash when reaching the Unreachable node: ``` a: GetLocal() b: CheckStructure(@a, {S2}) d: Unreachable ``` This patch makes it so that StringObjectUse just means that the object that filters through a StringObjectUse check must !!jsDynamicCast. This is now in line with all other UseKinds. It also lets us simplify a bunch of other code that had weird checks for the StringObjectUse UseKind. This patch also makes it so that anywhere where we used to rely on StringObjectUse implying a structure check we actually emit an explicit CheckStructure node. * _javascript_Core.xcodeproj/project.pbxproj: * bytecode/ExitKind.cpp: (JSC::exitKindToString): * bytecode/ExitKind.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter::executeEffects): * dfg/DFGCSEPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGEdgeUsesStructure.h: Removed. * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion): (JSC::DFG::FixupPhase::addCheckStructureForOriginalStringObjectUse): (JSC::DFG::FixupPhase::fixupToPrimitive): (JSC::DFG::FixupPhase::fixupToStringOrCallStringConstructor): (JSC::DFG::FixupPhase::attemptToMakeFastStringAdd): (JSC::DFG::FixupPhase::isStringObjectUse): Deleted. * dfg/DFGGraph.cpp: (JSC::DFG::Graph::canOptimizeStringObjectAccess): * dfg/DFGMayExit.cpp: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::speculateStringObject): (JSC::DFG::SpeculativeJIT::speculateStringOrStringObject): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::speculateStringObjectForStructure): Deleted. * dfg/DFGUseKind.h: (JSC::DFG::alreadyChecked): (JSC::DFG::usesStructure): Deleted. * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::speculateStringObject): (JSC::FTL::DFG::LowerDFGToB3::speculateStringOrStringObject): (JSC::FTL::DFG::LowerDFGToB3::speculateStringObjectForCell): (JSC::FTL::DFG::LowerDFGToB3::speculateStringObjectForStructureID): Deleted. * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/StringObject.h: (JSC::StringObject::createStructure): * runtime/StringPrototype.h: Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj trunk/Source/_javascript_Core/bytecode/ExitKind.cpp trunk/Source/_javascript_Core/bytecode/ExitKind.h trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h trunk/Source/_javascript_Core/dfg/DFGCSEPhase.cpp trunk/Source/_javascript_Core/dfg/DFGClobberize.h trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp trunk/Source/_javascript_Core/dfg/DFGGraph.cpp trunk/Source/_javascript_Core/dfg/DFGMayExit.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h trunk/Source/_javascript_Core/dfg/DFGUseKind.h
[webkit-changes] [240113] trunk/Source/JavaScriptCore
Title: [240113] trunk/Source/_javascript_Core Revision 240113 Author yusukesuz...@slowstart.org Date 2019-01-17 09:32:38 -0800 (Thu, 17 Jan 2019) Log Message [JSC] Add generateHeapSnapshotForGCDebugging function to dump GCDebugging data https://bugs.webkit.org/show_bug.cgi?id=193526 Reviewed by Michael Saboff. This patch adds generateHeapSnapshotForGCDebugging to JSC shell to dump heap snapshot JSON string with GCDebugging option. GCDebuggingSnapshot mode is slightly different from InspectorSnapshot in terms of both the output data and the behavior. It always takes full snapshot, and it reports internal data too. This is useful to view the live heap objects after running the code. Also, generateHeapSnapshotForGCDebugging returns String instead of parsing it to JSObject internally by calling JSON.parse. If we convert the String to bunch of objects by using JSON.parse, it is difficult to call generateHeapSnapshotForGCDebugging multiple times for debugging. Currently, it only generates a large string, which is easily distinguishable in the heap inspector tool. * jsc.cpp: (GlobalObject::finishCreation): (functionGenerateHeapSnapshotForGCDebugging): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/jsc.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (240112 => 240113) --- trunk/Source/_javascript_Core/ChangeLog 2019-01-17 16:36:31 UTC (rev 240112) +++ trunk/Source/_javascript_Core/ChangeLog 2019-01-17 17:32:38 UTC (rev 240113) @@ -1,5 +1,23 @@ 2019-01-17 Yusuke Suzuki +[JSC] Add generateHeapSnapshotForGCDebugging function to dump GCDebugging data +https://bugs.webkit.org/show_bug.cgi?id=193526 + +Reviewed by Michael Saboff. + +This patch adds generateHeapSnapshotForGCDebugging to JSC shell to dump heap snapshot JSON string with GCDebugging option. +GCDebuggingSnapshot mode is slightly different from InspectorSnapshot in terms of both the output data and the behavior. +It always takes full snapshot, and it reports internal data too. This is useful to view the live heap objects after running +the code. Also, generateHeapSnapshotForGCDebugging returns String instead of parsing it to JSObject internally by calling +JSON.parse. If we convert the String to bunch of objects by using JSON.parse, it is difficult to call generateHeapSnapshotForGCDebugging +multiple times for debugging. Currently, it only generates a large string, which is easily distinguishable in the heap inspector tool. + +* jsc.cpp: +(GlobalObject::finishCreation): +(functionGenerateHeapSnapshotForGCDebugging): + +2019-01-17 Yusuke Suzuki + [JSC] ToThis omission in DFGByteCodeParser is wrong https://bugs.webkit.org/show_bug.cgi?id=193513 Modified: trunk/Source/_javascript_Core/jsc.cpp (240112 => 240113) --- trunk/Source/_javascript_Core/jsc.cpp 2019-01-17 16:36:31 UTC (rev 240112) +++ trunk/Source/_javascript_Core/jsc.cpp 2019-01-17 17:32:38 UTC (rev 240113) @@ -328,6 +328,7 @@ static EncodedJSValue JSC_HOST_CALL functionCheckModuleSyntax(ExecState*); static EncodedJSValue JSC_HOST_CALL functionPlatformSupportsSamplingProfiler(ExecState*); static EncodedJSValue JSC_HOST_CALL functionGenerateHeapSnapshot(ExecState*); +static EncodedJSValue JSC_HOST_CALL functionGenerateHeapSnapshotForGCDebugging(ExecState*); static EncodedJSValue JSC_HOST_CALL functionResetSuperSamplerState(ExecState*); static EncodedJSValue JSC_HOST_CALL functionEnsureArrayStorage(ExecState*); #if ENABLE(SAMPLING_PROFILER) @@ -562,6 +563,7 @@ addFunction(vm, "platformSupportsSamplingProfiler", functionPlatformSupportsSamplingProfiler, 0); addFunction(vm, "generateHeapSnapshot", functionGenerateHeapSnapshot, 0); +addFunction(vm, "generateHeapSnapshotForGCDebugging", functionGenerateHeapSnapshotForGCDebugging, 0); addFunction(vm, "resetSuperSamplerState", functionResetSuperSamplerState, 0); addFunction(vm, "ensureArrayStorage", functionEnsureArrayStorage, 0); #if ENABLE(SAMPLING_PROFILER) @@ -2119,6 +2121,24 @@ return result; } +EncodedJSValue JSC_HOST_CALL functionGenerateHeapSnapshotForGCDebugging(ExecState* exec) +{ +VM& vm = exec->vm(); +JSLockHolder lock(vm); +auto scope = DECLARE_THROW_SCOPE(vm); +String jsonString; +{ +DeferGCForAWhile deferGC(vm.heap); // Prevent concurrent GC from interfering with the full GC that the snapshot does. + +HeapSnapshotBuilder snapshotBuilder(vm.ensureHeapProfiler(), HeapSnapshotBuilder::SnapshotType::GCDebuggingSnapshot); +snapshotBuilder.buildSnapshot(); + +jsonString = snapshotBuilder.json(); +} +scope.releaseAssertNoException(); +return JSValue::encode(jsString(, jsonString)); +} + EncodedJSValue JSC_HOST_CALL functionResetSuperSamplerState(ExecState*) { resetSuperSamplerState();
[webkit-changes] [240112] trunk/Source/WebCore
Title: [240112] trunk/Source/WebCore Revision 240112 Author jon...@apple.com Date 2019-01-17 08:36:31 -0800 (Thu, 17 Jan 2019) Log Message [EME] Remove Amazon Prime Video from quirks list https://bugs.webkit.org/show_bug.cgi?id=193514 rdar://problem/47295330 Reviewed by Jer Noble. * page/Quirks.cpp: (WebCore::Quirks::hasBrokenEncryptedMediaAPISupportQuirk const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Quirks.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (240111 => 240112) --- trunk/Source/WebCore/ChangeLog 2019-01-17 16:24:14 UTC (rev 240111) +++ trunk/Source/WebCore/ChangeLog 2019-01-17 16:36:31 UTC (rev 240112) @@ -1,3 +1,14 @@ +2019-01-17 Jon Lee + +[EME] Remove Amazon Prime Video from quirks list +https://bugs.webkit.org/show_bug.cgi?id=193514 +rdar://problem/47295330 + +Reviewed by Jer Noble. + +* page/Quirks.cpp: +(WebCore::Quirks::hasBrokenEncryptedMediaAPISupportQuirk const): + 2019-01-17 Zalan Bujtas [LFC][BFC] An element with transform is a containing block for positioned descendants. Modified: trunk/Source/WebCore/page/Quirks.cpp (240111 => 240112) --- trunk/Source/WebCore/page/Quirks.cpp 2019-01-17 16:24:14 UTC (rev 240111) +++ trunk/Source/WebCore/page/Quirks.cpp 2019-01-17 16:36:31 UTC (rev 240112) @@ -48,11 +48,7 @@ auto domain = m_document->securityOrigin().domain().convertToASCIILowercase(); -m_hasBrokenEncryptedMediaAPISupportQuirk = domain == "amazon.com" -|| domain.endsWith(".amazon.com") -|| domain == "primevideo.com" -|| domain.endsWith(".primevideo.com") -|| domain == "starz.com" +m_hasBrokenEncryptedMediaAPISupportQuirk = domain == "starz.com" || domain.endsWith(".starz.com") || domain == "hulu.com" || domain.endsWith("hulu.com"); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240111] trunk
Title: [240111] trunk Revision 240111 Author za...@apple.com Date 2019-01-17 08:24:14 -0800 (Thu, 17 Jan 2019) Log Message [LFC][BFC] An element with transform is a containing block for positioned descendants. https://bugs.webkit.org/show_bug.cgi?id=193534 Reviewed by Antti Koivisto. Source/WebCore: "For elements whose layout is governed by the CSS box model, any value other than none for the transform property also causes the element to establish a containing block for all descendants." https://www.w3.org/TR/css-transforms-1/ * layout/layouttree/LayoutBox.cpp: (WebCore::Layout::Box::containingBlock const): Tools: * LayoutReloaded/misc/LFC-passing-tests.txt: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/layouttree/LayoutBox.cpp trunk/Tools/ChangeLog trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt Diff Modified: trunk/Source/WebCore/ChangeLog (240110 => 240111) --- trunk/Source/WebCore/ChangeLog 2019-01-17 16:07:24 UTC (rev 240110) +++ trunk/Source/WebCore/ChangeLog 2019-01-17 16:24:14 UTC (rev 240111) @@ -1,3 +1,17 @@ +2019-01-17 Zalan Bujtas + +[LFC][BFC] An element with transform is a containing block for positioned descendants. +https://bugs.webkit.org/show_bug.cgi?id=193534 + +Reviewed by Antti Koivisto. + +"For elements whose layout is governed by the CSS box model, any value other than none for the transform +property also causes the element to establish a containing block for all descendants." +https://www.w3.org/TR/css-transforms-1/ + +* layout/layouttree/LayoutBox.cpp: +(WebCore::Layout::Box::containingBlock const): + 2019-01-17 Simon Fraser ScrollingCoordinator: separate updating node geometry from node layers Modified: trunk/Source/WebCore/layout/layouttree/LayoutBox.cpp (240110 => 240111) --- trunk/Source/WebCore/layout/layouttree/LayoutBox.cpp 2019-01-17 16:07:24 UTC (rev 240110) +++ trunk/Source/WebCore/layout/layouttree/LayoutBox.cpp 2019-01-17 16:24:14 UTC (rev 240111) @@ -140,15 +140,15 @@ } if (isFixedPositioned()) { -auto* initialContainingBlock = parent(); -for (; initialContainingBlock->parent(); initialContainingBlock = initialContainingBlock->parent()) { } -return initialContainingBlock; +auto* ancestor = parent(); +for (; ancestor->parent() && !ancestor->style().hasTransform(); ancestor = ancestor->parent()) { } +return ancestor; } if (isOutOfFlowPositioned()) { -auto* positionedAncestor = parent(); -for (; positionedAncestor->parent() && !positionedAncestor->isPositioned(); positionedAncestor = positionedAncestor->parent()) { } -return positionedAncestor; +auto* ancestor = parent(); +for (; ancestor->parent() && !ancestor->isPositioned() && !ancestor->style().hasTransform(); ancestor = ancestor->parent()) { } +return ancestor; } ASSERT_NOT_REACHED(); Modified: trunk/Tools/ChangeLog (240110 => 240111) --- trunk/Tools/ChangeLog 2019-01-17 16:07:24 UTC (rev 240110) +++ trunk/Tools/ChangeLog 2019-01-17 16:24:14 UTC (rev 240111) @@ -1,5 +1,14 @@ 2019-01-17 Zalan Bujtas +[LFC][BFC] An element with transform is a containing block for positioned descendants. +https://bugs.webkit.org/show_bug.cgi?id=193534 + +Reviewed by Antti Koivisto. + +* LayoutReloaded/misc/LFC-passing-tests.txt: + +2019-01-17 Zalan Bujtas + [LFC][BFC][Quirk] Take body padding and border into account when stretching height. https://bugs.webkit.org/show_bug.cgi?id=193528 Modified: trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt (240110 => 240111) --- trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt 2019-01-17 16:07:24 UTC (rev 240110) +++ trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt 2019-01-17 16:24:14 UTC (rev 240111) @@ -191,6 +191,7 @@ fast/block/crash-when-anonymous-blocks-are-merged-with-simple-line-layout.html fast/block/crash-when-subtree-is-still-attached.html fast/block/geometry-map-assertion-with-tall-content.html +fast/block/containing-block-changes.html fast/borders/0px-borders-no-line-height.html fast/borders/0px-borders.html fast/borders/block-mask-overlay-image-outset.html ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240110] trunk/Source/WebCore
Title: [240110] trunk/Source/WebCore Revision 240110 Author simon.fra...@apple.com Date 2019-01-17 08:07:24 -0800 (Thu, 17 Jan 2019) Log Message ScrollingCoordinator: separate updating node geometry from node layers https://bugs.webkit.org/show_bug.cgi?id=193527 Reviewed by Antti Koivisto. Updating scrolling tree node layers happens in a different code path from updating geometry; the former has to be post-flush, when GraphicsLayer has made tiled or structural layers. Geometry only needs to be updated after layout, and soon we'll do this via compositing updates. We can also clean up the ScrollingCoordinator API and have a single function that updates node layers (handling different node types), and separate functions for pushing viewport-constrained and scrolling node geometry. No observable behavior change. * page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::setNodeLayers): (WebCore::AsyncScrollingCoordinator::setScrollingNodeGeometry): (WebCore::AsyncScrollingCoordinator::setViewportConstraintedNodeGeometry): (WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode): Deleted. (WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode): Deleted. (WebCore::AsyncScrollingCoordinator::updateNodeLayer): Deleted. (WebCore::AsyncScrollingCoordinator::updateNodeViewportConstraints): Deleted. * page/scrolling/AsyncScrollingCoordinator.h: * page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::setNodeLayers): (WebCore::ScrollingCoordinator::setScrollingNodeGeometry): (WebCore::ScrollingCoordinator::setViewportConstraintedNodeGeometry): (WebCore::ScrollingCoordinator::updateNodeLayer): Deleted. (WebCore::ScrollingCoordinator::updateNodeViewportConstraints): Deleted. (WebCore::ScrollingCoordinator::updateFrameScrollingNode): Deleted. (WebCore::ScrollingCoordinator::updateOverflowScrollingNode): Deleted. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateScrollCoordinationForThisFrame): (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): * rendering/RenderLayerCompositor.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp trunk/Source/WebCore/rendering/RenderLayerCompositor.h Diff Modified: trunk/Source/WebCore/ChangeLog (240109 => 240110) --- trunk/Source/WebCore/ChangeLog 2019-01-17 16:06:22 UTC (rev 240109) +++ trunk/Source/WebCore/ChangeLog 2019-01-17 16:07:24 UTC (rev 240110) @@ -1,3 +1,42 @@ +2019-01-17 Simon Fraser + +ScrollingCoordinator: separate updating node geometry from node layers +https://bugs.webkit.org/show_bug.cgi?id=193527 + +Reviewed by Antti Koivisto. + +Updating scrolling tree node layers happens in a different code path from updating geometry; +the former has to be post-flush, when GraphicsLayer has made tiled or structural layers. +Geometry only needs to be updated after layout, and soon we'll do this via compositing updates. + +We can also clean up the ScrollingCoordinator API and have a single function that updates +node layers (handling different node types), and separate functions for pushing viewport-constrained +and scrolling node geometry. + +No observable behavior change. + +* page/scrolling/AsyncScrollingCoordinator.cpp: +(WebCore::AsyncScrollingCoordinator::setNodeLayers): +(WebCore::AsyncScrollingCoordinator::setScrollingNodeGeometry): +(WebCore::AsyncScrollingCoordinator::setViewportConstraintedNodeGeometry): +(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode): Deleted. +(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode): Deleted. +(WebCore::AsyncScrollingCoordinator::updateNodeLayer): Deleted. +(WebCore::AsyncScrollingCoordinator::updateNodeViewportConstraints): Deleted. +* page/scrolling/AsyncScrollingCoordinator.h: +* page/scrolling/ScrollingCoordinator.h: +(WebCore::ScrollingCoordinator::setNodeLayers): +(WebCore::ScrollingCoordinator::setScrollingNodeGeometry): +(WebCore::ScrollingCoordinator::setViewportConstraintedNodeGeometry): +(WebCore::ScrollingCoordinator::updateNodeLayer): Deleted. +(WebCore::ScrollingCoordinator::updateNodeViewportConstraints): Deleted. +(WebCore::ScrollingCoordinator::updateFrameScrollingNode): Deleted. +(WebCore::ScrollingCoordinator::updateOverflowScrollingNode): Deleted. +* rendering/RenderLayerCompositor.cpp: +(WebCore::RenderLayerCompositor::updateScrollCoordinationForThisFrame): +(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): +* rendering/RenderLayerCompositor.h: + 2019-01-17 Zalan
[webkit-changes] [240109] trunk
Title: [240109] trunk Revision 240109 Author za...@apple.com Date 2019-01-17 08:06:22 -0800 (Thu, 17 Jan 2019) Log Message [LFC][BFC][Quirk] Take body padding and border into account when stretching height. https://bugs.webkit.org/show_bug.cgi?id=193528 Reviewed by Antti Koivisto. Source/WebCore: * layout/blockformatting/BlockFormattingContextQuirks.cpp: (WebCore::Layout::BlockFormattingContext::Quirks::stretchedInFlowHeight): * layout/displaytree/DisplayBox.h: (WebCore::Display::Box::verticalBorder const): (WebCore::Display::Box::horizontalBorder const): (WebCore::Display::Box::verticalPadding const): (WebCore::Display::Box::horizontalPadding const): * page/FrameViewLayoutContext.cpp: (WebCore::layoutUsingFormattingContext): Tools: * LayoutReloaded/misc/LFC-passing-tests.txt: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/blockformatting/BlockFormattingContextQuirks.cpp trunk/Source/WebCore/layout/displaytree/DisplayBox.h trunk/Tools/ChangeLog trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt Diff Modified: trunk/Source/WebCore/ChangeLog (240108 => 240109) --- trunk/Source/WebCore/ChangeLog 2019-01-17 16:00:14 UTC (rev 240108) +++ trunk/Source/WebCore/ChangeLog 2019-01-17 16:06:22 UTC (rev 240109) @@ -1,5 +1,22 @@ 2019-01-17 Zalan Bujtas +[LFC][BFC][Quirk] Take body padding and border into account when stretching height. +https://bugs.webkit.org/show_bug.cgi?id=193528 + +Reviewed by Antti Koivisto. + +* layout/blockformatting/BlockFormattingContextQuirks.cpp: +(WebCore::Layout::BlockFormattingContext::Quirks::stretchedInFlowHeight): +* layout/displaytree/DisplayBox.h: +(WebCore::Display::Box::verticalBorder const): +(WebCore::Display::Box::horizontalBorder const): +(WebCore::Display::Box::verticalPadding const): +(WebCore::Display::Box::horizontalPadding const): +* page/FrameViewLayoutContext.cpp: +(WebCore::layoutUsingFormattingContext): + +2019-01-17 Zalan Bujtas + [LFC][BFC] For height computation, the bottom edge of the last line box value should not include top border/padding https://bugs.webkit.org/show_bug.cgi?id=193520 Modified: trunk/Source/WebCore/layout/blockformatting/BlockFormattingContextQuirks.cpp (240108 => 240109) --- trunk/Source/WebCore/layout/blockformatting/BlockFormattingContextQuirks.cpp 2019-01-17 16:00:14 UTC (rev 240108) +++ trunk/Source/WebCore/layout/blockformatting/BlockFormattingContextQuirks.cpp 2019-01-17 16:06:22 UTC (rev 240109) @@ -72,11 +72,9 @@ auto& documentBox = layoutBox.isDocumentBox() ? layoutBox : *layoutBox.parent(); auto& documentBoxDisplayBox = layoutState.displayBoxForLayoutBox(documentBox); -auto documentBoxVerticalBorders = documentBoxDisplayBox.borderTop() + documentBoxDisplayBox.borderBottom(); -auto documentBoxVerticalPaddings = documentBoxDisplayBox.paddingTop().valueOr(0) + documentBoxDisplayBox.paddingBottom().valueOr(0); auto strechedHeight = layoutState.displayBoxForLayoutBox(initialContainingBlock(layoutBox)).contentBoxHeight(); -strechedHeight -= documentBoxVerticalBorders + documentBoxVerticalPaddings; +strechedHeight -= documentBoxDisplayBox.verticalBorder() + documentBoxDisplayBox.verticalPadding().valueOr(0); LayoutUnit totalVerticalMargin; if (layoutBox.isDocumentBox()) { @@ -90,6 +88,9 @@ auto documentBoxVerticalMargin = Geometry::computedVerticalMargin(layoutState, documentBox); strechedHeight -= (documentBoxVerticalMargin.before.valueOr(0) + documentBoxVerticalMargin.after.valueOr(0)); +auto& bodyBoxDisplayBox = layoutState.displayBoxForLayoutBox(layoutBox); +strechedHeight -= bodyBoxDisplayBox.verticalBorder() + bodyBoxDisplayBox.verticalPadding().valueOr(0); + auto nonCollapsedMargin = heightAndMargin.nonCollapsedMargin; auto collapsedMargin = MarginCollapse::collapsedVerticalValues(layoutState, layoutBox, nonCollapsedMargin); totalVerticalMargin = collapsedMargin.before.valueOr(nonCollapsedMargin.before) + collapsedMargin.after.valueOr(nonCollapsedMargin.after); Modified: trunk/Source/WebCore/layout/displaytree/DisplayBox.h (240108 => 240109) --- trunk/Source/WebCore/layout/displaytree/DisplayBox.h 2019-01-17 16:00:14 UTC (rev 240108) +++ trunk/Source/WebCore/layout/displaytree/DisplayBox.h 2019-01-17 16:06:22 UTC (rev 240109) @@ -154,11 +154,15 @@ LayoutUnit borderLeft() const; LayoutUnit borderBottom() const; LayoutUnit borderRight() const; +LayoutUnit verticalBorder() const { return borderTop() + borderBottom(); } +LayoutUnit horizontalBorder() const { return borderLeft() + borderRight(); } Optional paddingTop() const; Optional paddingLeft() const; Optional paddingBottom() const; Optional paddingRight() const; +Optional verticalPadding() const; +Optional horizontalPadding() const;
[webkit-changes] [240108] trunk
Title: [240108] trunk Revision 240108 Author za...@apple.com Date 2019-01-17 08:00:14 -0800 (Thu, 17 Jan 2019) Log Message Source/WebCore: [LFC][BFC] For height computation, the bottom edge of the last line box value should not include top border/padding https://bugs.webkit.org/show_bug.cgi?id=193520 Reviewed by Antti Koivisto. This is similar to the other "10.6.3" cases. The bottom edge of the last inline box is in the coordinate systyem of the containing block's border box (and for content height computation it needs to be mapped to the containing block's content box instead). * layout/blockformatting/BlockFormattingContextGeometry.cpp: (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin): Tools: [LFC][BFC] For height computation, the bottom edge of the last line box value should include top border/padding https://bugs.webkit.org/show_bug.cgi?id=193520 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/blockformatting/BlockFormattingContextGeometry.cpp trunk/Tools/ChangeLog trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt Diff Modified: trunk/Source/WebCore/ChangeLog (240107 => 240108) --- trunk/Source/WebCore/ChangeLog 2019-01-17 13:52:45 UTC (rev 240107) +++ trunk/Source/WebCore/ChangeLog 2019-01-17 16:00:14 UTC (rev 240108) @@ -1,3 +1,16 @@ +2019-01-17 Zalan Bujtas + +[LFC][BFC] For height computation, the bottom edge of the last line box value should not include top border/padding +https://bugs.webkit.org/show_bug.cgi?id=193520 + +Reviewed by Antti Koivisto. + +This is similar to the other "10.6.3" cases. The bottom edge of the last inline box is in the coordinate systyem +of the containing block's border box (and for content height computation it needs to be mapped to the containing block's content box instead). + +* layout/blockformatting/BlockFormattingContextGeometry.cpp: +(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin): + 2019-01-16 Simon Fraser Stub out scrolling tree classes for overflow scrolling nodes on macOS Modified: trunk/Source/WebCore/layout/blockformatting/BlockFormattingContextGeometry.cpp (240107 => 240108) --- trunk/Source/WebCore/layout/blockformatting/BlockFormattingContextGeometry.cpp 2019-01-17 13:52:45 UTC (rev 240107) +++ trunk/Source/WebCore/layout/blockformatting/BlockFormattingContextGeometry.cpp 2019-01-17 16:00:14 UTC (rev 240108) @@ -77,7 +77,7 @@ // This is temp and will be replaced by the correct display box once inline runs move over to the display tree. auto& inlineRuns = downcast(layoutState.establishedFormattingState(layoutBox)).inlineRuns(); auto bottomEdge = inlineRuns.isEmpty() ? LayoutUnit() : inlineRuns.last().logicalBottom(); -return { bottomEdge, nonCollapsedMargin }; +return { bottomEdge - borderAndPaddingTop, nonCollapsedMargin }; } // 2. the bottom edge of the bottom (possibly collapsed) margin of its last in-flow child, if the child's bottom margin... Modified: trunk/Tools/ChangeLog (240107 => 240108) --- trunk/Tools/ChangeLog 2019-01-17 13:52:45 UTC (rev 240107) +++ trunk/Tools/ChangeLog 2019-01-17 16:00:14 UTC (rev 240108) @@ -1,3 +1,12 @@ +2019-01-17 Zalan Bujtas + +[LFC][BFC] For height computation, the bottom edge of the last line box value should include top border/padding +https://bugs.webkit.org/show_bug.cgi?id=193520 + +Reviewed by Antti Koivisto. + +* LayoutReloaded/misc/LFC-passing-tests.txt: + 2019-01-17 Aakash Jain [ews-build] unapply-patch step should not update source Modified: trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt (240107 => 240108) --- trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt 2019-01-17 13:52:45 UTC (rev 240107) +++ trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt 2019-01-17 16:00:14 UTC (rev 240108) @@ -90,6 +90,7 @@ fast/block/basic/008.html fast/block/basic/009.html fast/block/basic/012.html +fast/block/basic/021.html fast/block/basic/child-block-level-box-with-height-percent.html fast/block/basic/height-percentage-simple.html fast/block/basic/inline-content-with-floating-image.html ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240107] trunk/Tools
Title: [240107] trunk/Tools Revision 240107 Author aakash_j...@apple.com Date 2019-01-17 05:52:45 -0800 (Thu, 17 Jan 2019) Log Message [ews-build] unapply-patch step should not update source https://bugs.webkit.org/show_bug.cgi?id=193234 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (CleanWorkingDirectory): Use clean-webkit script to clean the working directory. (UnApplyPatchIfRequired): Use CleanWorkingDirectory as base class. Modified Paths trunk/Tools/BuildSlaveSupport/ews-build/steps.py trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (240106 => 240107) --- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-01-17 08:10:53 UTC (rev 240106) +++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-01-17 13:52:45 UTC (rev 240107) @@ -95,6 +95,15 @@ **kwargs) +class CleanWorkingDirectory(shell.ShellCommand): +name = 'clean-working-directory' +description = ['clean-working-directory running'] +descriptionDone = ['clean-working-directory'] +flunkOnFailure = True +haltOnFailure = True +command = ['Tools/Scripts/clean-webkit'] + + class ApplyPatch(shell.ShellCommand, CompositeStepMixin): name = 'apply-patch' description = ['applying-patch'] @@ -344,7 +353,7 @@ return None -class UnApplyPatchIfRequired(CheckOutSource): +class UnApplyPatchIfRequired(CleanWorkingDirectory): name = 'unapply-patch' def doStepIf(self, step): Modified: trunk/Tools/ChangeLog (240106 => 240107) --- trunk/Tools/ChangeLog 2019-01-17 08:10:53 UTC (rev 240106) +++ trunk/Tools/ChangeLog 2019-01-17 13:52:45 UTC (rev 240107) @@ -1,3 +1,14 @@ +2019-01-17 Aakash Jain + +[ews-build] unapply-patch step should not update source +https://bugs.webkit.org/show_bug.cgi?id=193234 + +Reviewed by Lucas Forschler. + +* BuildSlaveSupport/ews-build/steps.py: +(CleanWorkingDirectory): Use clean-webkit script to clean the working directory. +(UnApplyPatchIfRequired): Use CleanWorkingDirectory as base class. + 2019-01-16 Youenn Fablet Add a new SPI for controlling getUserMedia ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [240106] trunk
Title: [240106] trunk Revision 240106 Author yusukesuz...@slowstart.org Date 2019-01-17 00:10:53 -0800 (Thu, 17 Jan 2019) Log Message [JSC] ToThis omission in DFGByteCodeParser is wrong https://bugs.webkit.org/show_bug.cgi?id=193513 Reviewed by Saam Barati. JSTests: * stress/to-this-omission-with-different-strict-modes.js: Added. (thisA): (thisAStrictWrapper): Source/_javascript_Core: DFGByteCodeParser omitted ToThis node when we have `ToThis(ToThis(value))`. This semantics is wrong if ToThis has different semantics in the sloppy mode and the strict mode. If we convert `ToThisInSloppyMode(ToThisInStrictMode(boolean))` to `ToThisInStrictMode(boolean)`, we get boolean instead of BooleanObject. This optimization is introduced more than 7 years ago, and from that, we have several optimizations that can remove such ToThis nodes in BytecodeParser, AI, and Fixup. Furthermore, this optimization is simply wrong since `toThis()` function of JSCell can be defined as they want. Before ensuring all the toThis function is safe, we should not fold `ToThis(ToThis(value))` => `ToThis(value)`. This patch just removes the problematic optimization. The performance numbers look neutral. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp Added Paths trunk/JSTests/stress/to-this-omission-with-different-strict-modes.js Diff Modified: trunk/JSTests/ChangeLog (240105 => 240106) --- trunk/JSTests/ChangeLog 2019-01-17 07:46:10 UTC (rev 240105) +++ trunk/JSTests/ChangeLog 2019-01-17 08:10:53 UTC (rev 240106) @@ -1,3 +1,15 @@ +2019-01-17 Yusuke Suzuki + +[JSC] ToThis omission in DFGByteCodeParser is wrong +https://bugs.webkit.org/show_bug.cgi?id=193513 + + +Reviewed by Saam Barati. + +* stress/to-this-omission-with-different-strict-modes.js: Added. +(thisA): +(thisAStrictWrapper): + 2019-01-15 Mark Lam JSFunction::canUseAllocationProfile() should account for builtin functions with no own prototypes. Added: trunk/JSTests/stress/to-this-omission-with-different-strict-modes.js (0 => 240106) --- trunk/JSTests/stress/to-this-omission-with-different-strict-modes.js (rev 0) +++ trunk/JSTests/stress/to-this-omission-with-different-strict-modes.js 2019-01-17 08:10:53 UTC (rev 240106) @@ -0,0 +1,10 @@ +function thisA() { +return this.a +} +function thisAStrictWrapper() { +'use strict'; +thisA.apply(this); +} +let x = false; +for (let j=0; j<1e4; j++) +thisAStrictWrapper.call(x); Modified: trunk/Source/_javascript_Core/ChangeLog (240105 => 240106) --- trunk/Source/_javascript_Core/ChangeLog 2019-01-17 07:46:10 UTC (rev 240105) +++ trunk/Source/_javascript_Core/ChangeLog 2019-01-17 08:10:53 UTC (rev 240106) @@ -1,3 +1,25 @@ +2019-01-17 Yusuke Suzuki + +[JSC] ToThis omission in DFGByteCodeParser is wrong +https://bugs.webkit.org/show_bug.cgi?id=193513 + + +Reviewed by Saam Barati. + +DFGByteCodeParser omitted ToThis node when we have `ToThis(ToThis(value))`. This semantics is wrong if ToThis has different semantics +in the sloppy mode and the strict mode. If we convert `ToThisInSloppyMode(ToThisInStrictMode(boolean))` to `ToThisInStrictMode(boolean)`, +we get boolean instead of BooleanObject. + +This optimization is introduced more than 7 years ago, and from that, we have several optimizations that can remove such ToThis nodes +in BytecodeParser, AI, and Fixup. Furthermore, this optimization is simply wrong since `toThis()` function of JSCell can be defined +as they want. Before ensuring all the toThis function is safe, we should not fold `ToThis(ToThis(value))` => `ToThis(value)`. +This patch just removes the problematic optimization. The performance numbers look neutral. + +* dfg/DFGAbstractInterpreterInlines.h: +(JSC::DFG::AbstractInterpreter::executeEffects): +* dfg/DFGByteCodeParser.cpp: +(JSC::DFG::ByteCodeParser::parseBlock): + 2019-01-16 Mark Lam Refactor new bytecode structs so that the fields are prefixed with "m_". Modified: trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h (240105 => 240106) --- trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h 2019-01-17 07:46:10 UTC (rev 240105) +++ trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h 2019-01-17 08:10:53 UTC (rev 240106) @@ -2549,31 +2549,27 @@ bool strictMode = m_graph.executableFor(node->origin.semantic)->isStrictMode(); ToThisResult result = isToThisAnIdentity(m_vm, strictMode, source); -if (result != ToThisResult::Dynamic)