[webkit-changes] [247635] trunk/Source/WebKit
Title: [247635] trunk/Source/WebKit Revision 247635 Author commit-qu...@webkit.org Date 2019-07-18 20:08:28 -0700 (Thu, 18 Jul 2019) Log Message Fix warning when importing WebKit in Swift https://bugs.webkit.org/show_bug.cgi?id=199914 Patch by Alex Christensen on 2019-07-18 Reviewed by Wenson Hsieh. * UIProcess/API/Cocoa/NSAttributedString.h: Declare NSAttributedString and update a swift name. This fix was proposed by Argyrios Kyrtzidis. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.h Diff Modified: trunk/Source/WebKit/ChangeLog (247634 => 247635) --- trunk/Source/WebKit/ChangeLog 2019-07-19 01:40:06 UTC (rev 247634) +++ trunk/Source/WebKit/ChangeLog 2019-07-19 03:08:28 UTC (rev 247635) @@ -1,5 +1,17 @@ 2019-07-18 Alex Christensen +Fix warning when importing WebKit in Swift +https://bugs.webkit.org/show_bug.cgi?id=199914 + + +Reviewed by Wenson Hsieh. + +* UIProcess/API/Cocoa/NSAttributedString.h: +Declare NSAttributedString and update a swift name. +This fix was proposed by Argyrios Kyrtzidis. + +2019-07-18 Alex Christensen + Add and test _WKWebsiteDataStoreConfiguration.deviceIdHashSaltsStorageDirectory SPI https://bugs.webkit.org/show_bug.cgi?id=199923 Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.h (247634 => 247635) --- trunk/Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.h 2019-07-19 01:40:06 UTC (rev 247634) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.h 2019-07-19 03:08:28 UTC (rev 247635) @@ -32,6 +32,8 @@ #import #endif +@class NSAttributedString; + NS_ASSUME_NONNULL_BEGIN /*! @@ -41,7 +43,7 @@ directory may be loaded by WebKit. */ WK_EXTERN NSAttributedStringDocumentReadingOptionKey const NSReadAccessURLDocumentOption -NS_SWIFT_NAME(NSAttributedStringDocumentReadingOptionKey.readAccessURL) WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); +NS_SWIFT_NAME(readAccessURL) WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); /*! @abstract Type definition for the completion handler block used to get asynchronous attributed strings. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247630] branches/safari-608-branch/Source/WebCore
Title: [247630] branches/safari-608-branch/Source/WebCore Revision 247630 Author alanc...@apple.com Date 2019-07-18 18:39:52 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247562. rdar://problem/53279086 [LFC][IFC] InlineFormattingContext::LineLayout::placeInlineItems is getting too complex. https://bugs.webkit.org/show_bug.cgi?id=199898 Reviewed by Antti Koivisto. It's time to restructure LineLayout::placeInlineItems to be able to expand it further. Introduce the LineLayout class. This class is responsible to place the inline items on the current line. (Rename InlineFormattingContext::lineLayout -> InlineFormattingContext::InlineLayout and use Line::InitialConstraints in LineInput) * layout/inlineformatting/InlineFormattingContext.cpp: (WebCore::Layout::InlineFormattingContext::layout const): (WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthConstraints const): * layout/inlineformatting/InlineFormattingContext.h: (WebCore::Layout::InlineFormattingContext::LineLayout::layoutState const): Deleted. * layout/inlineformatting/InlineFormattingContextLineLayout.cpp: (WebCore::Layout::inlineItemWidth): (WebCore::Layout::LineLayout::layoutState const): (WebCore::Layout::LineLayout::UncommittedContent::runs): (WebCore::Layout::LineLayout::UncommittedContent::isEmpty const): (WebCore::Layout::LineLayout::UncommittedContent::size const): (WebCore::Layout::LineLayout::UncommittedContent::width const): (WebCore::Layout::LineLayout::UncommittedContent::add): (WebCore::Layout::LineLayout::UncommittedContent::reset): (WebCore::Layout::LineLayout::LineLayout): (WebCore::Layout::LineLayout::commitPendingContent): (WebCore::Layout::LineLayout::close): (WebCore::Layout::LineLayout::layout): (WebCore::Layout::LineInput::LineInput): (WebCore::Layout::InlineFormattingContext::InlineLayout::InlineLayout): (WebCore::Layout::InlineFormattingContext::InlineLayout::layout const): (WebCore::Layout::InlineFormattingContext::InlineLayout::computedIntrinsicWidth const): (WebCore::Layout::InlineFormattingContext::InlineLayout::createDisplayRuns const): (WebCore::Layout::InlineFormattingContext::InlineLayout::alignRuns const): (WebCore::Layout::UncommittedContent::runs): Deleted. (WebCore::Layout::UncommittedContent::isEmpty const): Deleted. (WebCore::Layout::UncommittedContent::size const): Deleted. (WebCore::Layout::UncommittedContent::width const): Deleted. (WebCore::Layout::UncommittedContent::add): Deleted. (WebCore::Layout::UncommittedContent::reset): Deleted. (WebCore::Layout::LineInput::HorizontalConstraint::HorizontalConstraint): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::LineLayout): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::placeInlineItems const): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::layout const): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::computedIntrinsicWidth const): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::createDisplayRuns const): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::alignRuns const): Deleted. * layout/inlineformatting/InlineLine.cpp: (WebCore::Layout::Line::Line): * layout/inlineformatting/InlineLine.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247562 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp branches/safari-608-branch/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h branches/safari-608-branch/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp branches/safari-608-branch/Source/WebCore/layout/inlineformatting/InlineLine.cpp branches/safari-608-branch/Source/WebCore/layout/inlineformatting/InlineLine.h Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247629 => 247630) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-19 01:39:46 UTC (rev 247629) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-19 01:39:52 UTC (rev 247630) @@ -1,5 +1,118 @@ 2019-07-18 Alan Coon +Cherry-pick r247562. rdar://problem/53279086 + +[LFC][IFC] InlineFormattingContext::LineLayout::placeInlineItems is getting too complex. +https://bugs.webkit.org/show_bug.cgi?id=199898 + + +Reviewed by Antti Koivisto. + +It's time to restructure LineLayout::placeInlineItems to be able to expand it further. +Introduce the LineLayout class. This class is responsible to place the inline items on the current line. +(Rename InlineFormattingContext::lineLayout -> InlineFormattingContext::InlineLayout and +use Line::InitialConstraints in LineInput) + +*
[webkit-changes] [247633] branches/safari-608-branch/Source/WebCore
Title: [247633] branches/safari-608-branch/Source/WebCore Revision 247633 Author alanc...@apple.com Date 2019-07-18 18:40:03 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247568. rdar://problem/53279098 REGRESSION: Panning on an Amazon product image scrolls the page on iPadOS https://bugs.webkit.org/show_bug.cgi?id=199905 Reviewed by Dean Jackson. Amazon product pages include images that the user can touch and pan to show zoomed details in a side image. This currently works on iPadOS thanks to the dispatch of simulated "mousemove" events on the product image, but the site doesn't call preventDefault() when handling those events as it wasn't necessary for macOS. We add a new quirk that will indicate that a given element is such a product image. * page/Quirks.cpp: (WebCore::Quirks::isAmazon const): (WebCore::Quirks::shouldDispatchSimulatedMouseEvents const): (WebCore::Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented const): (WebCore::Quirks::simulatedMouseEventTypeForTarget const): * page/Quirks.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247568 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/page/Quirks.cpp branches/safari-608-branch/Source/WebCore/page/Quirks.h Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247632 => 247633) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-19 01:40:00 UTC (rev 247632) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-19 01:40:03 UTC (rev 247633) @@ -1,5 +1,51 @@ 2019-07-18 Alan Coon +Cherry-pick r247568. rdar://problem/53279098 + +REGRESSION: Panning on an Amazon product image scrolls the page on iPadOS +https://bugs.webkit.org/show_bug.cgi?id=199905 + + +Reviewed by Dean Jackson. + +Amazon product pages include images that the user can touch and pan to show zoomed details in a side image. This +currently works on iPadOS thanks to the dispatch of simulated "mousemove" events on the product image, but the site +doesn't call preventDefault() when handling those events as it wasn't necessary for macOS. + +We add a new quirk that will indicate that a given element is such a product image. + +* page/Quirks.cpp: +(WebCore::Quirks::isAmazon const): +(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const): +(WebCore::Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented const): +(WebCore::Quirks::simulatedMouseEventTypeForTarget const): +* page/Quirks.h: + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247568 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-18 Antoine Quint + +REGRESSION: Panning on an Amazon product image scrolls the page on iPadOS +https://bugs.webkit.org/show_bug.cgi?id=199905 + + +Reviewed by Dean Jackson. + +Amazon product pages include images that the user can touch and pan to show zoomed details in a side image. This +currently works on iPadOS thanks to the dispatch of simulated "mousemove" events on the product image, but the site +doesn't call preventDefault() when handling those events as it wasn't necessary for macOS. + +We add a new quirk that will indicate that a given element is such a product image. + +* page/Quirks.cpp: +(WebCore::Quirks::isAmazon const): +(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const): +(WebCore::Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented const): +(WebCore::Quirks::simulatedMouseEventTypeForTarget const): +* page/Quirks.h: + +2019-07-18 Alan Coon + Cherry-pick r247566. rdar://problem/53279081 Make sure to set kCTFontFallbackOptionAttribute to kCTFontFallbackOptionSystem for system fonts Modified: branches/safari-608-branch/Source/WebCore/page/Quirks.cpp (247632 => 247633) --- branches/safari-608-branch/Source/WebCore/page/Quirks.cpp 2019-07-19 01:40:00 UTC (rev 247632) +++ branches/safari-608-branch/Source/WebCore/page/Quirks.cpp 2019-07-19 01:40:03 UTC (rev 247633) @@ -227,6 +227,13 @@ } #if ENABLE(TOUCH_EVENTS) +bool Quirks::isAmazon() const +{ +auto& url = "" +auto host = url.host(); +return equalLettersIgnoringASCIICase(host, "amazon.com") || host.endsWithIgnoringASCIICase(".amazon.com"); +} + bool Quirks::shouldDispatchSimulatedMouseEvents() const { if (!needsQuirks()) @@ -236,11 +243,12 @@ if (!loader || loader->simulatedMouseEventsDispatchPolicy() != SimulatedMouseEventsDispatchPolicy::Allow) return false; +if (isAmazon()) +return true; + auto& url = "" auto host = url.host(); -if (equalLettersIgnoringASCIICase(host, "amazon.com") ||
[webkit-changes] [247631] branches/safari-608-branch/Source/WebKit
Title: [247631] branches/safari-608-branch/Source/WebKit Revision 247631 Author alanc...@apple.com Date 2019-07-18 18:39:54 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247565. rdar://problem/53279116 Regression(r247486) Multiple Layout Tests in http/tests/cache/* are crashing on iOS Debug WK2 https://bugs.webkit.org/show_bug.cgi?id=199892 Reviewed by Geoffrey Garen. The StorageManager was unregistering itself as a WorkQueueMessageReceiver on a given IPC connection too early. As a result, we would sometimes receive a 'StorageManager:DestroyStorageMap' IPC in NetworkConnectionToWebProcess::didReceiveMessage() with nobody to process it, which would trigger an assertion. To address the issue, we stop unregistering the StorageManager as a WorkQueueMessageReceiver inside removeAllowedSessionStorageNamespaceConnection(). Instead, we let the logic inside processDidCloseConnection() take care of it once the connection closes. * NetworkProcess/WebStorage/StorageManager.cpp: (WebKit::StorageManager::removeAllowedSessionStorageNamespaceConnection): (WebKit::StorageManager::processDidCloseConnection): * NetworkProcess/WebStorage/StorageManager.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247565 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp branches/safari-608-branch/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h Diff Modified: branches/safari-608-branch/Source/WebKit/ChangeLog (247630 => 247631) --- branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-19 01:39:52 UTC (rev 247630) +++ branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-19 01:39:54 UTC (rev 247631) @@ -1,5 +1,50 @@ 2019-07-18 Alan Coon +Cherry-pick r247565. rdar://problem/53279116 + +Regression(r247486) Multiple Layout Tests in http/tests/cache/* are crashing on iOS Debug WK2 +https://bugs.webkit.org/show_bug.cgi?id=199892 + + +Reviewed by Geoffrey Garen. + +The StorageManager was unregistering itself as a WorkQueueMessageReceiver on a given IPC +connection too early. As a result, we would sometimes receive a 'StorageManager:DestroyStorageMap' +IPC in NetworkConnectionToWebProcess::didReceiveMessage() with nobody to process it, which would +trigger an assertion. To address the issue, we stop unregistering the StorageManager as a +WorkQueueMessageReceiver inside removeAllowedSessionStorageNamespaceConnection(). Instead, we +let the logic inside processDidCloseConnection() take care of it once the connection closes. + +* NetworkProcess/WebStorage/StorageManager.cpp: +(WebKit::StorageManager::removeAllowedSessionStorageNamespaceConnection): +(WebKit::StorageManager::processDidCloseConnection): +* NetworkProcess/WebStorage/StorageManager.h: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247565 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-18 Chris Dumez + +Regression(r247486) Multiple Layout Tests in http/tests/cache/* are crashing on iOS Debug WK2 +https://bugs.webkit.org/show_bug.cgi?id=199892 + + +Reviewed by Geoffrey Garen. + +The StorageManager was unregistering itself as a WorkQueueMessageReceiver on a given IPC +connection too early. As a result, we would sometimes receive a 'StorageManager:DestroyStorageMap' +IPC in NetworkConnectionToWebProcess::didReceiveMessage() with nobody to process it, which would +trigger an assertion. To address the issue, we stop unregistering the StorageManager as a +WorkQueueMessageReceiver inside removeAllowedSessionStorageNamespaceConnection(). Instead, we +let the logic inside processDidCloseConnection() take care of it once the connection closes. + +* NetworkProcess/WebStorage/StorageManager.cpp: +(WebKit::StorageManager::removeAllowedSessionStorageNamespaceConnection): +(WebKit::StorageManager::processDidCloseConnection): +* NetworkProcess/WebStorage/StorageManager.h: + +2019-07-18 Alan Coon + Cherry-pick r247552. rdar://problem/53279120 Set WordIsNearTap flag, was not being set at all before Modified: branches/safari-608-branch/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp (247630 => 247631) --- branches/safari-608-branch/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp 2019-07-19 01:39:52 UTC (rev 247630) +++ branches/safari-608-branch/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp 2019-07-19 01:39:54 UTC (rev 247631) @@ -537,9 +537,6 @@ void StorageManager::removeAllowedSessionStorageNamespaceConnection(uint64_t storageNamespaceID, IPC::Connection& allowedConnection) { auto allowedConnectionID =
[webkit-changes] [247632] branches/safari-608-branch
Title: [247632] branches/safari-608-branch Revision 247632 Author alanc...@apple.com Date 2019-07-18 18:40:00 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247566. rdar://problem/53279081 Make sure to set kCTFontFallbackOptionAttribute to kCTFontFallbackOptionSystem for system fonts https://bugs.webkit.org/show_bug.cgi?id=199769 Reviewed by Myles C. Maxfield. Source/WebCore: When getting a system font, set the appropriate attribute so that it does not fallback to a user initiated font. Add an ASSERT that checks that the font in use is not a user font if policy is to not use user installed fonts. Tests: fast/text/user-installed-fonts/extended-character-with-user-font.html fast/text/user-installed-fonts/extended-character.html * platform/graphics/Font.h: * platform/graphics/FontCascadeFonts.cpp: (WebCore::FontCascadeFonts::glyphDataForSystemFallback): * platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::preparePlatformFont): (WebCore::FontDatabase::singletonAllowingUserInstalledFonts): (WebCore::FontDatabase::singletonDisallowingUserInstalledFonts): (WebCore::addAttributesForInstalledFonts): (WebCore::addAttributesForWebFonts): (WebCore::installedFontMandatoryAttributes): * platform/graphics/mac/SimpleFontDataCoreText.cpp: (WebCore::Font::isUserInstalledFont const): Source/WTF: * wtf/Platform.h: Tools: Add a font containing one extended character not found in system fonts. * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/fonts/FakeHelvetica-SingleExtendedCharacter.ttf: Added. LayoutTests: Tests require WTR and recent MacOS, hence why they are disabled elsewhere. * TestExpectations: * platform/mac-wk2/TestExpectations: * fast/text/user-installed-fonts/extended-character-expected.html: Added. * fast/text/user-installed-fonts/extended-character-with-user-font-expected-mismatch.html: Added. * fast/text/user-installed-fonts/extended-character-with-user-font.html: Added. * fast/text/user-installed-fonts/extended-character.html: Added. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247566 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/LayoutTests/ChangeLog branches/safari-608-branch/LayoutTests/TestExpectations branches/safari-608-branch/LayoutTests/platform/mac-wk2/TestExpectations branches/safari-608-branch/Source/WTF/ChangeLog branches/safari-608-branch/Source/WTF/wtf/Platform.h branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/platform/graphics/Font.h branches/safari-608-branch/Source/WebCore/platform/graphics/FontCascadeFonts.cpp branches/safari-608-branch/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp branches/safari-608-branch/Source/WebCore/platform/graphics/mac/SimpleFontDataCoreText.cpp branches/safari-608-branch/Tools/ChangeLog branches/safari-608-branch/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj Added Paths branches/safari-608-branch/LayoutTests/fast/text/user-installed-fonts/extended-character-expected.html branches/safari-608-branch/LayoutTests/fast/text/user-installed-fonts/extended-character-with-user-font-expected-mismatch.html branches/safari-608-branch/LayoutTests/fast/text/user-installed-fonts/extended-character-with-user-font.html branches/safari-608-branch/LayoutTests/fast/text/user-installed-fonts/extended-character.html branches/safari-608-branch/Tools/WebKitTestRunner/fonts/FakeHelvetica-SingleExtendedCharacter.ttf Diff Modified: branches/safari-608-branch/LayoutTests/ChangeLog (247631 => 247632) --- branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-19 01:39:54 UTC (rev 247631) +++ branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-19 01:40:00 UTC (rev 247632) @@ -1,3 +1,78 @@ +2019-07-18 Alan Coon + +Cherry-pick r247566. rdar://problem/53279081 + +Make sure to set kCTFontFallbackOptionAttribute to kCTFontFallbackOptionSystem for system fonts +https://bugs.webkit.org/show_bug.cgi?id=199769 + + +Reviewed by Myles C. Maxfield. + +Source/WebCore: + +When getting a system font, set the appropriate attribute so that it +does not fallback to a user initiated font. +Add an ASSERT that checks that the font in use is not a user font if +policy is to not use user installed fonts. + +Tests: fast/text/user-installed-fonts/extended-character-with-user-font.html + fast/text/user-installed-fonts/extended-character.html + +* platform/graphics/Font.h: +* platform/graphics/FontCascadeFonts.cpp: +(WebCore::FontCascadeFonts::glyphDataForSystemFallback): +* platform/graphics/cocoa/FontCacheCoreText.cpp: +(WebCore::preparePlatformFont): +(WebCore::FontDatabase::singletonAllowingUserInstalledFonts): +
[webkit-changes] [247629] branches/safari-608-branch/Source/WebKit
Title: [247629] branches/safari-608-branch/Source/WebKit Revision 247629 Author alanc...@apple.com Date 2019-07-18 18:39:46 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247552. rdar://problem/53279120 Set WordIsNearTap flag, was not being set at all before https://bugs.webkit.org/show_bug.cgi?id=199880 Reviewed by Wenson Hsieh. * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::selectWithGesture): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247552 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm Diff Modified: branches/safari-608-branch/Source/WebKit/ChangeLog (247628 => 247629) --- branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-19 01:34:38 UTC (rev 247628) +++ branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-19 01:39:46 UTC (rev 247629) @@ -1,3 +1,28 @@ +2019-07-18 Alan Coon + +Cherry-pick r247552. rdar://problem/53279120 + +Set WordIsNearTap flag, was not being set at all before +https://bugs.webkit.org/show_bug.cgi?id=199880 + +Reviewed by Wenson Hsieh. + +* WebProcess/WebPage/ios/WebPageIOS.mm: +(WebKit::WebPage::selectWithGesture): + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247552 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Megan Gardner + +Set WordIsNearTap flag, was not being set at all before +https://bugs.webkit.org/show_bug.cgi?id=199880 + +Reviewed by Wenson Hsieh. + +* WebProcess/WebPage/ios/WebPageIOS.mm: +(WebKit::WebPage::selectWithGesture): + 2019-07-18 Kocsen Chung Cherry-pick r247557. rdar://problem/53254407 Modified: branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (247628 => 247629) --- branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2019-07-19 01:34:38 UTC (rev 247628) +++ branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2019-07-19 01:39:46 UTC (rev 247629) @@ -1364,6 +1364,7 @@ if (distanceBetweenPositions(position, result) > 1) result = wordRange->endPosition(); } +flags = WordIsNearTap; } else if (atBoundaryOfGranularity(position, WordGranularity, DirectionBackward)) { // The position is at the end of a word. result = position; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247627] trunk/Source/WebCore
Title: [247627] trunk/Source/WebCore Revision 247627 Author commit-qu...@webkit.org Date 2019-07-18 17:23:31 -0700 (Thu, 18 Jul 2019) Log Message Enable simulated mouse events quirk for soundcloud.com https://bugs.webkit.org/show_bug.cgi?id=199908 Patch by Antoine Quint on 2019-07-18 Reviewed by Brent Fulgham. Scrubbing on soundcloud.com relies on mouse events alone when displaying on iPad with the desktop UA string. Opting into the simulated mouse events quirk makes scrubbing work and we also ensure that page scrolling is disabled as a result of scrubbing by returning true in shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented(). Also making a drive-by fix in shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented() to use a reference instead of a pointer when downcasting a null-checked pointer. * page/Quirks.cpp: (WebCore::Quirks::shouldDispatchSimulatedMouseEvents const): (WebCore::Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Quirks.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247626 => 247627) --- trunk/Source/WebCore/ChangeLog 2019-07-19 00:07:52 UTC (rev 247626) +++ trunk/Source/WebCore/ChangeLog 2019-07-19 00:23:31 UTC (rev 247627) @@ -1,3 +1,22 @@ +2019-07-18 Antoine Quint + +Enable simulated mouse events quirk for soundcloud.com +https://bugs.webkit.org/show_bug.cgi?id=199908 + + +Reviewed by Brent Fulgham. + +Scrubbing on soundcloud.com relies on mouse events alone when displaying on iPad with the desktop UA string. +Opting into the simulated mouse events quirk makes scrubbing work and we also ensure that page scrolling is +disabled as a result of scrubbing by returning true in shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented(). + +Also making a drive-by fix in shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented() to use a reference +instead of a pointer when downcasting a null-checked pointer. + +* page/Quirks.cpp: +(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const): +(WebCore::Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented const): + 2019-07-18 Per Arne Vollan Prewarm font cache with more fonts Modified: trunk/Source/WebCore/page/Quirks.cpp (247626 => 247627) --- trunk/Source/WebCore/page/Quirks.cpp 2019-07-19 00:07:52 UTC (rev 247626) +++ trunk/Source/WebCore/page/Quirks.cpp 2019-07-19 00:23:31 UTC (rev 247627) @@ -27,6 +27,7 @@ #include "Quirks.h" #include "CustomHeaderFields.h" +#include "DOMTokenList.h" #include "Document.h" #include "DocumentLoader.h" #include "HTMLMetaElement.h" @@ -275,6 +276,8 @@ return true; if (equalLettersIgnoringASCIICase(host, "trailers.apple.com")) return true; +if (equalLettersIgnoringASCIICase(host, "soundcloud.com")) +return true; if (equalLettersIgnoringASCIICase(host, "naver.com")) return true; // Disable the quirk for tv.naver.com subdomain to be able to simulate hover on videos. @@ -291,13 +294,16 @@ if (isAmazon() && is(target)) { // When panning on an Amazon product image, we're either touching on the #magnifierLens element // or its previous sibling. -auto* element = downcast(target); -if (element->getIdAttribute() == "magnifierLens") +auto& element = downcast(*target); +if (element.getIdAttribute() == "magnifierLens") return true; -if (auto* sibling = element->nextElementSibling()) +if (auto* sibling = element.nextElementSibling()) return sibling->getIdAttribute() == "magnifierLens"; } +if (equalLettersIgnoringASCIICase(m_document->topDocument().url().host(), "soundcloud.com") && is(target)) +return downcast(*target).classList().contains("sceneLayer"); + return false; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247626] trunk/Source/WebCore
Title: [247626] trunk/Source/WebCore Revision 247626 Author pvol...@apple.com Date 2019-07-18 17:07:52 -0700 (Thu, 18 Jul 2019) Log Message Prewarm font cache with more fonts https://bugs.webkit.org/show_bug.cgi?id=199283 Reviewed by Myles C. Maxfield. Initialize the list of families requiring system fallback in the prewarming information struct, since this was part of the original, approved patch, and is needed for the performance improvement. No new tests, covered by existing tests. * platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::fontFamiliesForPrewarming): (WebCore::FontCache::prewarmGlobally): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247625 => 247626) --- trunk/Source/WebCore/ChangeLog 2019-07-18 23:46:09 UTC (rev 247625) +++ trunk/Source/WebCore/ChangeLog 2019-07-19 00:07:52 UTC (rev 247626) @@ -1,3 +1,19 @@ +2019-07-18 Per Arne Vollan + +Prewarm font cache with more fonts +https://bugs.webkit.org/show_bug.cgi?id=199283 + +Reviewed by Myles C. Maxfield. + +Initialize the list of families requiring system fallback in the prewarming information struct, since +this was part of the original, approved patch, and is needed for the performance improvement. + +No new tests, covered by existing tests. + +* platform/graphics/cocoa/FontCacheCoreText.cpp: +(WebCore::fontFamiliesForPrewarming): +(WebCore::FontCache::prewarmGlobally): + 2019-07-18 Ryan Haddad Unreviewed, rolling out r247531. Modified: trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp (247625 => 247626) --- trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp 2019-07-18 23:46:09 UTC (rev 247625) +++ trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp 2019-07-19 00:07:52 UTC (rev 247626) @@ -1649,12 +1649,9 @@ }); } -void FontCache::prewarmGlobally() +static Vector& fontFamiliesForPrewarming() { -if (MemoryPressureHandler::singleton().isUnderMemoryPressure()) -return; - -Vector families = std::initializer_list { +static NeverDestroyed> families = std::initializer_list { "Arial"_s, "Helvetica"_s, "Helvetica Neue"_s, @@ -1662,9 +1659,17 @@ "Times"_s, "Times New Roman"_s, }; +return families; +} +void FontCache::prewarmGlobally() +{ +if (MemoryPressureHandler::singleton().isUnderMemoryPressure()) +return; + FontCache::PrewarmInformation prewarmInfo; -prewarmInfo.seenFamilies = WTFMove(families); +prewarmInfo.seenFamilies = fontFamiliesForPrewarming(); +prewarmInfo.fontNamesRequiringSystemFallback = fontFamiliesForPrewarming(); FontCache::singleton().prewarm(prewarmInfo); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247625] trunk
Title: [247625] trunk Revision 247625 Author achristen...@apple.com Date 2019-07-18 16:46:09 -0700 (Thu, 18 Jul 2019) Log Message Add and test _WKWebsiteDataStoreConfiguration.deviceIdHashSaltsStorageDirectory SPI https://bugs.webkit.org/show_bug.cgi?id=199923 Reviewed by Youenn Fablet. Source/WebKit: This is a step towards us getting rid of WebsiteDataStore::legacyDefaultDataStoreConfiguration * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore _initWithConfiguration:]): * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: (-[_WKWebsiteDataStoreConfiguration deviceIdHashSaltsStorageDirectory]): (-[_WKWebsiteDataStoreConfiguration setDeviceIdHashSaltsStorageDirectory:]): Tools: * TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm: (TestWebKitAPI::TEST): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm Diff Modified: trunk/Source/WebKit/ChangeLog (247624 => 247625) --- trunk/Source/WebKit/ChangeLog 2019-07-18 23:31:36 UTC (rev 247624) +++ trunk/Source/WebKit/ChangeLog 2019-07-18 23:46:09 UTC (rev 247625) @@ -1,5 +1,21 @@ 2019-07-18 Alex Christensen +Add and test _WKWebsiteDataStoreConfiguration.deviceIdHashSaltsStorageDirectory SPI +https://bugs.webkit.org/show_bug.cgi?id=199923 + +Reviewed by Youenn Fablet. + +This is a step towards us getting rid of WebsiteDataStore::legacyDefaultDataStoreConfiguration + +* UIProcess/API/Cocoa/WKWebsiteDataStore.mm: +(-[WKWebsiteDataStore _initWithConfiguration:]): +* UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: +* UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: +(-[_WKWebsiteDataStoreConfiguration deviceIdHashSaltsStorageDirectory]): +(-[_WKWebsiteDataStoreConfiguration setDeviceIdHashSaltsStorageDirectory:]): + +2019-07-18 Alex Christensen + Move NetworkCache ownership from NetworkProcess to NetworkSession https://bugs.webkit.org/show_bug.cgi?id=199817 Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm (247624 => 247625) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm 2019-07-18 23:31:36 UTC (rev 247624) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm 2019-07-18 23:46:09 UTC (rev 247625) @@ -250,6 +250,8 @@ config->setServiceWorkerRegistrationDirectory(configuration._serviceWorkerRegistrationDirectory.path); if (configuration.networkCacheDirectory) config->setNetworkCacheDirectory(configuration.networkCacheDirectory.path); +if (configuration.deviceIdHashSaltsStorageDirectory) +config->setDeviceIdHashSaltsStorageDirectory(configuration.deviceIdHashSaltsStorageDirectory.path); } else { RELEASE_ASSERT(!configuration._webStorageDirectory); RELEASE_ASSERT(!configuration._webSQLDatabaseDirectory); @@ -259,6 +261,7 @@ RELEASE_ASSERT(!configuration._cacheStorageDirectory); RELEASE_ASSERT(!configuration._serviceWorkerRegistrationDirectory); RELEASE_ASSERT(!configuration.networkCacheDirectory); +RELEASE_ASSERT(!configuration.deviceIdHashSaltsStorageDirectory); } if (configuration.sourceApplicationBundleIdentifier) Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h (247624 => 247625) --- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h 2019-07-18 23:31:36 UTC (rev 247624) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h 2019-07-18 23:46:09 UTC (rev 247625) @@ -54,6 +54,7 @@ @property (nonatomic, copy, setter=_setCacheStorageDirectory:) NSURL *_cacheStorageDirectory WK_API_AVAILABLE(macos(10.13.4), ios(11.3)); @property (nonatomic, copy, setter=_setServiceWorkerRegistrationDirectory:) NSURL *_serviceWorkerRegistrationDirectory WK_API_AVAILABLE(macos(10.13.4), ios(11.3)); @property (nonatomic, nullable, copy) NSURL *networkCacheDirectory WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); +@property (nonatomic, nullable, copy) NSURL *deviceIdHashSaltsStorageDirectory WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); // Testing only. @property (nonatomic) BOOL allLoadsBlockedByDeviceManagementRestrictionsForTesting WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm (247624 => 247625) --- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm 2019-07-18 23:31:36 UTC (rev 247624) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm 2019-07-18
[webkit-changes] [247624] trunk/Source/WebCore
Title: [247624] trunk/Source/WebCore Revision 247624 Author ryanhad...@apple.com Date 2019-07-18 16:31:36 -0700 (Thu, 18 Jul 2019) Log Message Unreviewed, rolling out r247531. Caused multiple IndexedDB layout test crashes. Reverted changeset: "IndexedDB: error in starting version change transaction may be neglected" https://bugs.webkit.org/show_bug.cgi?id=199818 https://trac.webkit.org/changeset/247531 Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h Diff Modified: trunk/Source/WebCore/ChangeLog (247623 => 247624) --- trunk/Source/WebCore/ChangeLog 2019-07-18 23:23:35 UTC (rev 247623) +++ trunk/Source/WebCore/ChangeLog 2019-07-18 23:31:36 UTC (rev 247624) @@ -1,3 +1,16 @@ +2019-07-18 Ryan Haddad + +Unreviewed, rolling out r247531. + +Caused multiple IndexedDB layout test crashes. + +Reverted changeset: + +"IndexedDB: error in starting version change transaction may +be neglected" +https://bugs.webkit.org/show_bug.cgi?id=199818 +https://trac.webkit.org/changeset/247531 + 2019-07-18 Antoine Quint Ensure Quirks::shouldDispatchSimulatedMouseEvents() works for all Google Maps and Amazon domains Modified: trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp (247623 => 247624) --- trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp 2019-07-18 23:23:35 UTC (rev 247623) +++ trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp 2019-07-18 23:31:36 UTC (rev 247624) @@ -628,46 +628,28 @@ ASSERT(m_currentOpenDBRequest->isOpenRequest()); ASSERT(m_versionChangeDatabaseConnection); -uint64_t requestedVersion = m_currentOpenDBRequest->requestData().requestedVersion(); +auto operation = WTFMove(m_currentOpenDBRequest); + +uint64_t requestedVersion = operation->requestData().requestedVersion(); if (!requestedVersion) requestedVersion = m_databaseInfo->version() ? m_databaseInfo->version() : 1; +addOpenDatabaseConnection(*m_versionChangeDatabaseConnection); + m_versionChangeTransaction = _versionChangeDatabaseConnection->createVersionChangeTransaction(requestedVersion); +m_databaseInfo->setVersion(requestedVersion); -postDatabaseTask(createCrossThreadTask(*this, ::performStartVersionChangeTransaction, m_versionChangeTransaction->info())); -} +m_inProgressTransactions.set(m_versionChangeTransaction->info().identifier(), m_versionChangeTransaction); +postDatabaseTask(createCrossThreadTask(*this, ::beginTransactionInBackingStore, m_versionChangeTransaction->info())); -void UniqueIDBDatabase::performStartVersionChangeTransaction(const IDBTransactionInfo& info) -{ -LOG(IndexedDB, "(db) UniqueIDBDatabase::performStartVersionChangeTransaction"); - -IDBError error = m_backingStore->beginTransaction(info); -postDatabaseTaskReply(createCrossThreadTask(*this, ::didPerformStartVersionChangeTransaction, error)); +auto result = IDBResultData::openDatabaseUpgradeNeeded(operation->requestData().requestIdentifier(), *m_versionChangeTransaction); +operation->connection().didOpenDatabase(result); } -void UniqueIDBDatabase::didPerformStartVersionChangeTransaction(const IDBError& error) +void UniqueIDBDatabase::beginTransactionInBackingStore(const IDBTransactionInfo& info) { -LOG(IndexedDB, "(main) UniqueIDBDatabase::didPerformStartVersionChangeTransaction"); - -if (m_hardClosedForUserDelete) -return; - -auto operation = WTFMove(m_currentOpenDBRequest); -IDBResultData result; -if (error.isNull()) { -addOpenDatabaseConnection(*m_versionChangeDatabaseConnection); -m_databaseInfo->setVersion(m_versionChangeTransaction->info().newVersion()); -m_inProgressTransactions.set(m_versionChangeTransaction->info().identifier(), m_versionChangeTransaction); -result = IDBResultData::openDatabaseUpgradeNeeded(operation->requestData().requestIdentifier(), *m_versionChangeTransaction); -operation->connection().didOpenDatabase(result); -} else { -m_versionChangeTransaction = nullptr; -m_versionChangeDatabaseConnection = nullptr; -result = IDBResultData::error(operation->requestData().requestIdentifier(), error); -operation->connection().didOpenDatabase(result); -} - -invokeOperationAndTransactionTimer(); +LOG(IndexedDB, "(db) UniqueIDBDatabase::beginTransactionInBackingStore"); +m_backingStore->beginTransaction(info); } void UniqueIDBDatabase::maybeNotifyConnectionsOfVersionChange() Modified: trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h (247623 => 247624) --- trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h 2019-07-18 23:23:35 UTC (rev 247623) +++ trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h 2019-07-18 23:31:36 UTC (rev
[webkit-changes] [247623] branches/safari-608-branch/Source/WebCore
Title: [247623] branches/safari-608-branch/Source/WebCore Revision 247623 Author alanc...@apple.com Date 2019-07-18 16:23:35 -0700 (Thu, 18 Jul 2019) Log Message Revert r247531. rdar://problem/53229712 Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247622 => 247623) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 22:35:48 UTC (rev 247622) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 23:23:35 UTC (rev 247623) @@ -1,3 +1,7 @@ +2019-07-18 Alan Coon + +Revert r247531. rdar://problem/53229712 + 2019-07-18 Kocsen Chung Cherry-pick r247555. rdar://problem/53254411 Modified: branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp (247622 => 247623) --- branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp 2019-07-18 22:35:48 UTC (rev 247622) +++ branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp 2019-07-18 23:23:35 UTC (rev 247623) @@ -628,46 +628,28 @@ ASSERT(m_currentOpenDBRequest->isOpenRequest()); ASSERT(m_versionChangeDatabaseConnection); -uint64_t requestedVersion = m_currentOpenDBRequest->requestData().requestedVersion(); +auto operation = WTFMove(m_currentOpenDBRequest); + +uint64_t requestedVersion = operation->requestData().requestedVersion(); if (!requestedVersion) requestedVersion = m_databaseInfo->version() ? m_databaseInfo->version() : 1; +addOpenDatabaseConnection(*m_versionChangeDatabaseConnection); + m_versionChangeTransaction = _versionChangeDatabaseConnection->createVersionChangeTransaction(requestedVersion); +m_databaseInfo->setVersion(requestedVersion); -postDatabaseTask(createCrossThreadTask(*this, ::performStartVersionChangeTransaction, m_versionChangeTransaction->info())); -} +m_inProgressTransactions.set(m_versionChangeTransaction->info().identifier(), m_versionChangeTransaction); +postDatabaseTask(createCrossThreadTask(*this, ::beginTransactionInBackingStore, m_versionChangeTransaction->info())); -void UniqueIDBDatabase::performStartVersionChangeTransaction(const IDBTransactionInfo& info) -{ -LOG(IndexedDB, "(db) UniqueIDBDatabase::performStartVersionChangeTransaction"); - -IDBError error = m_backingStore->beginTransaction(info); -postDatabaseTaskReply(createCrossThreadTask(*this, ::didPerformStartVersionChangeTransaction, error)); +auto result = IDBResultData::openDatabaseUpgradeNeeded(operation->requestData().requestIdentifier(), *m_versionChangeTransaction); +operation->connection().didOpenDatabase(result); } -void UniqueIDBDatabase::didPerformStartVersionChangeTransaction(const IDBError& error) +void UniqueIDBDatabase::beginTransactionInBackingStore(const IDBTransactionInfo& info) { -LOG(IndexedDB, "(main) UniqueIDBDatabase::didPerformStartVersionChangeTransaction"); - -if (m_hardClosedForUserDelete) -return; - -auto operation = WTFMove(m_currentOpenDBRequest); -IDBResultData result; -if (error.isNull()) { -addOpenDatabaseConnection(*m_versionChangeDatabaseConnection); -m_databaseInfo->setVersion(m_versionChangeTransaction->info().newVersion()); -m_inProgressTransactions.set(m_versionChangeTransaction->info().identifier(), m_versionChangeTransaction); -result = IDBResultData::openDatabaseUpgradeNeeded(operation->requestData().requestIdentifier(), *m_versionChangeTransaction); -operation->connection().didOpenDatabase(result); -} else { -m_versionChangeTransaction = nullptr; -m_versionChangeDatabaseConnection = nullptr; -result = IDBResultData::error(operation->requestData().requestIdentifier(), error); -operation->connection().didOpenDatabase(result); -} - -invokeOperationAndTransactionTimer(); +LOG(IndexedDB, "(db) UniqueIDBDatabase::beginTransactionInBackingStore"); +m_backingStore->beginTransaction(info); } void UniqueIDBDatabase::maybeNotifyConnectionsOfVersionChange() Modified: branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h (247622 => 247623) --- branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h 2019-07-18 22:35:48 UTC (rev 247622) +++ branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h 2019-07-18 23:23:35 UTC (rev 247623) @@ -191,7 +191,6 @@ void performIterateCursor(uint64_t callbackIdentifier, const IDBResourceIdentifier& transactionIdentifier, const IDBResourceIdentifier& cursorIdentifier, const IDBIterateCursorData&); void performPrefetchCursor(const IDBResourceIdentifier&
[webkit-changes] [247622] trunk/Tools
Title: [247622] trunk/Tools Revision 247622 Author aakash_j...@apple.com Date 2019-07-18 15:35:48 -0700 (Thu, 18 Jul 2019) Log Message [ews-build] Enable iOS WK2 tester queue on new EWS https://bugs.webkit.org/show_bug.cgi?id=199867 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/config.json: Enabled the triggers for ios-wk2 queue. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Enabled ios-sim (builder) and ios-wk2 (tester) bubbles. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: Removed ios-sim queue from bot-watcher's dashboard. * QueueStatusServer/config/queues.py: Removed ios-sim queue from old EWS. Modified Paths trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js trunk/Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py trunk/Tools/BuildSlaveSupport/ews-build/config.json trunk/Tools/ChangeLog trunk/Tools/QueueStatusServer/config/queues.py Diff Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js (247621 => 247622) --- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js 2019-07-18 21:56:36 UTC (rev 247621) +++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js 2019-07-18 22:35:48 UTC (rev 247622) @@ -28,7 +28,6 @@ const queueInfo = { "commit-queue": {platform: Dashboard.Platform.macOSHighSierra, shortName: "commit", title: "Commit Queue"}, "style-queue": {shortName: "style", title: "Style Checker Queue"}, -"ios-sim-ews": {platform: Dashboard.Platform.iOS12Simulator, shortName: "ios-sim", title: "WebKit2\xa0Release\xa0Tests\xa0EWS"}, "jsc-armv7-ews": {platform: Dashboard.Platform.LinuxJSCOnly, shortName: "jsc-armv7", title: "ARMv7\xa0Release\xa0Build\xa0EWS"}, "jsc-ews": {platform: Dashboard.Platform.macOSMojave, shortName: "jsc", title: "Release\xa0JSC\xa0Tests\xa0EWS"}, "jsc-mips-ews": {platform: Dashboard.Platform.LinuxJSCOnly, shortName: "jsc-mips-ews", title: "MIPS\xa0Release\xa0Build\xa0EWS"}, Modified: trunk/Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py (247621 => 247622) --- trunk/Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py 2019-07-18 21:56:36 UTC (rev 247621) +++ trunk/Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py 2019-07-18 22:35:48 UTC (rev 247622) @@ -39,9 +39,9 @@ class StatusBubble(View): # These queue names are from shortname in https://trac.webkit.org/browser/webkit/trunk/Tools/BuildSlaveSupport/ews-build/config.json # FIXME: Auto-generate this list https://bugs.webkit.org/show_bug.cgi?id=195640 -ALL_QUEUES = ['ios', 'gtk', 'wpe', 'wincairo', 'api-ios', 'api-mac', 'bindings', 'ios-sim', 'ios-wk2', 'jsc', 'mac', 'mac-32bit', 'mac-32bit-wk2', +ALL_QUEUES = ['ios', 'ios-sim', 'gtk', 'wpe', 'wincairo', 'ios-wk2', 'api-ios', 'api-mac', 'bindings', 'jsc', 'mac', 'mac-32bit', 'mac-32bit-wk2', 'mac-debug', 'mac-debug-wk1', 'mac-wk1', 'mac-wk2', 'style', 'webkitperl', 'webkitpy', 'win'] -ENABLED_QUEUES = ['ios', 'gtk', 'wpe', 'wincairo', 'api-ios', 'api-mac', 'bindings', 'webkitperl', 'webkitpy'] +ENABLED_QUEUES = ['ios', 'ios-sim', 'gtk', 'wpe', 'wincairo', 'ios-wk2', 'api-ios', 'api-mac', 'bindings', 'webkitperl', 'webkitpy'] # FIXME: Auto-generate the queue's trigger relationship QUEUE_TRIGGERS = { 'api-ios': 'ios-sim', Modified: trunk/Tools/BuildSlaveSupport/ews-build/config.json (247621 => 247622) --- trunk/Tools/BuildSlaveSupport/ews-build/config.json 2019-07-18 21:56:36 UTC (rev 247621) +++ trunk/Tools/BuildSlaveSupport/ews-build/config.json 2019-07-18 22:35:48 UTC (rev 247622) @@ -311,7 +311,7 @@ "platform": "ios-simulator-12", "configuration": "release", "architectures": ["x86_64"], - "triggers": ["api-tests-ios-sim-ews"], + "triggers": ["api-tests-ios-sim-ews", "ios-12-sim-wk2-tests-ews"], "workernames": ["ews152", "ews154", "ews156", "ews157"] }, { @@ -453,7 +453,7 @@ "type": "Try_Userpass", "name": "disabled", "port": 5556, - "builderNames": ["JSC-Tests-EWS", "iOS-12-Simulator-WK2-Tests-EWS", "macOS-High-Sierra-Release-WK2-Tests-EWS", + "builderNames": ["JSC-Tests-EWS", "macOS-High-Sierra-Release-WK2-Tests-EWS", "macOS-High-Sierra-Release-WK1-Tests-EWS", "macOS-High-Sierra-Debug-Build-EWS", "Style-EWS", "Windows-EWS"] }, { @@ -465,6 +465,13 @@ }, { "type": "Triggerable", + "name": "ios-12-sim-wk2-tests-ews", + "builderNames": [ +"iOS-12-Simulator-WK2-Tests-EWS" + ] +}, +{ + "type": "Triggerable", "name": "api-tests-ios-sim-ews", "builderNames": [ "API-Tests-iOS-Simulator-EWS" Modified: trunk/Tools/ChangeLog (247621 =>
[webkit-changes] [247621] trunk/Source/WebCore
Title: [247621] trunk/Source/WebCore Revision 247621 Author grao...@webkit.org Date 2019-07-18 14:56:36 -0700 (Thu, 18 Jul 2019) Log Message Ensure Quirks::shouldDispatchSimulatedMouseEvents() works for all Google Maps and Amazon domains https://bugs.webkit.org/show_bug.cgi?id=199904 Reviewed by Dean Jackson. Use topPrivatelyControlledDomain() to determine whether the URL is a Google or Amazon domain so as to apply Google Maps and Amazon quirks to all the various domain names used. * page/Quirks.cpp: (WebCore::Quirks::isAmazon const): (WebCore::Quirks::isGoogleMaps const): (WebCore::Quirks::shouldDispatchSimulatedMouseEvents const): (WebCore::Quirks::simulatedMouseEventTypeForTarget const): * page/Quirks.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Quirks.cpp trunk/Source/WebCore/page/Quirks.h Diff Modified: trunk/Source/WebCore/ChangeLog (247620 => 247621) --- trunk/Source/WebCore/ChangeLog 2019-07-18 21:42:13 UTC (rev 247620) +++ trunk/Source/WebCore/ChangeLog 2019-07-18 21:56:36 UTC (rev 247621) @@ -1,3 +1,21 @@ +2019-07-18 Antoine Quint + +Ensure Quirks::shouldDispatchSimulatedMouseEvents() works for all Google Maps and Amazon domains +https://bugs.webkit.org/show_bug.cgi?id=199904 + + +Reviewed by Dean Jackson. + +Use topPrivatelyControlledDomain() to determine whether the URL is a Google or Amazon domain so as to apply +Google Maps and Amazon quirks to all the various domain names used. + +* page/Quirks.cpp: +(WebCore::Quirks::isAmazon const): +(WebCore::Quirks::isGoogleMaps const): +(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const): +(WebCore::Quirks::simulatedMouseEventTypeForTarget const): +* page/Quirks.h: + 2019-07-18 Per Arne Vollan Crash under WebPage::boundaryEventOccurred Modified: trunk/Source/WebCore/page/Quirks.cpp (247620 => 247621) --- trunk/Source/WebCore/page/Quirks.cpp 2019-07-18 21:42:13 UTC (rev 247620) +++ trunk/Source/WebCore/page/Quirks.cpp 2019-07-18 21:56:36 UTC (rev 247621) @@ -230,9 +230,13 @@ #if ENABLE(TOUCH_EVENTS) bool Quirks::isAmazon() const { +return topPrivatelyControlledDomain(m_document->topDocument().url().host().toString()).startsWith("amazon."); +} + +bool Quirks::isGoogleMaps() const +{ auto& url = "" -auto host = url.host(); -return equalLettersIgnoringASCIICase(host, "amazon.com") || host.endsWithIgnoringASCIICase(".amazon.com"); +return topPrivatelyControlledDomain(url.host().toString()).startsWith("google.") && url.path().startsWithIgnoringASCIICase("/maps/"); } bool Quirks::shouldDispatchSimulatedMouseEvents() const @@ -249,6 +253,8 @@ if (isAmazon()) return true; +if (isGoogleMaps()) +return true; auto& url = "" auto host = url.host(); @@ -267,8 +273,6 @@ return true; if (equalLettersIgnoringASCIICase(host, "flipkart.com") || host.endsWithIgnoringASCIICase(".flipkart.com")) return true; -if (equalLettersIgnoringASCIICase(host, "www.google.com") && url.path().startsWithIgnoringASCIICase("/maps/")) -return true; if (equalLettersIgnoringASCIICase(host, "trailers.apple.com")) return true; if (equalLettersIgnoringASCIICase(host, "naver.com")) @@ -303,14 +307,13 @@ return { }; // On Google Maps, we want to limit simulated mouse events to dragging the little man that allows entering into Street View. -auto& url = "" -auto host = url.host(); -if (equalLettersIgnoringASCIICase(host, "www.google.com") && url.path().startsWithIgnoringASCIICase("/maps/")) { +if (isGoogleMaps()) { if (is(target) && downcast(target)->getAttribute("class") == "widget-expand-button-pegman-icon") return Event::IsCancelable::Yes; return { }; } +auto host = m_document->topDocument().url().host(); if (equalLettersIgnoringASCIICase(host, "desmos.com") || host.endsWithIgnoringASCIICase(".desmos.com")) return Event::IsCancelable::No; Modified: trunk/Source/WebCore/page/Quirks.h (247620 => 247621) --- trunk/Source/WebCore/page/Quirks.h 2019-07-18 21:42:13 UTC (rev 247620) +++ trunk/Source/WebCore/page/Quirks.h 2019-07-18 21:56:36 UTC (rev 247621) @@ -73,6 +73,7 @@ #if ENABLE(TOUCH_EVENTS) bool isAmazon() const; +bool isGoogleMaps() const; #endif WeakPtr m_document; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247620] trunk/Source/WebCore
Title: [247620] trunk/Source/WebCore Revision 247620 Author pvol...@apple.com Date 2019-07-18 14:42:13 -0700 (Thu, 18 Jul 2019) Log Message Crash under WebPage::boundaryEventOccurred https://bugs.webkit.org/show_bug.cgi?id=199907 Reviewed by Chris Fleizach. Add null pointer checks. No new tests, since I have not been able to reproduce this in a test. * Modules/speech/SpeechSynthesis.cpp: (WebCore::SpeechSynthesis::didStartSpeaking): (WebCore::SpeechSynthesis::didFinishSpeaking): (WebCore::SpeechSynthesis::didPauseSpeaking): (WebCore::SpeechSynthesis::didResumeSpeaking): (WebCore::SpeechSynthesis::speakingErrorOccurred): (WebCore::SpeechSynthesis::boundaryEventOccurred): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/speech/SpeechSynthesis.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247619 => 247620) --- trunk/Source/WebCore/ChangeLog 2019-07-18 21:15:15 UTC (rev 247619) +++ trunk/Source/WebCore/ChangeLog 2019-07-18 21:42:13 UTC (rev 247620) @@ -1,3 +1,22 @@ +2019-07-18 Per Arne Vollan + +Crash under WebPage::boundaryEventOccurred +https://bugs.webkit.org/show_bug.cgi?id=199907 + +Reviewed by Chris Fleizach. + +Add null pointer checks. + +No new tests, since I have not been able to reproduce this in a test. + +* Modules/speech/SpeechSynthesis.cpp: +(WebCore::SpeechSynthesis::didStartSpeaking): +(WebCore::SpeechSynthesis::didFinishSpeaking): +(WebCore::SpeechSynthesis::didPauseSpeaking): +(WebCore::SpeechSynthesis::didResumeSpeaking): +(WebCore::SpeechSynthesis::speakingErrorOccurred): +(WebCore::SpeechSynthesis::boundaryEventOccurred): + 2019-07-18 Antoine Quint [Pointer Events] The button and buttons properties are incorrect on iOS Modified: trunk/Source/WebCore/Modules/speech/SpeechSynthesis.cpp (247619 => 247620) --- trunk/Source/WebCore/Modules/speech/SpeechSynthesis.cpp 2019-07-18 21:15:15 UTC (rev 247619) +++ trunk/Source/WebCore/Modules/speech/SpeechSynthesis.cpp 2019-07-18 21:42:13 UTC (rev 247620) @@ -225,31 +225,43 @@ void SpeechSynthesis::didStartSpeaking() { +if (!m_currentSpeechUtterance) +return; didStartSpeaking(*m_currentSpeechUtterance->platformUtterance()); } void SpeechSynthesis::didFinishSpeaking() { +if (!m_currentSpeechUtterance) +return; didFinishSpeaking(*m_currentSpeechUtterance->platformUtterance()); } void SpeechSynthesis::didPauseSpeaking() { +if (!m_currentSpeechUtterance) +return; didPauseSpeaking(*m_currentSpeechUtterance->platformUtterance()); } void SpeechSynthesis::didResumeSpeaking() { +if (!m_currentSpeechUtterance) +return; didResumeSpeaking(*m_currentSpeechUtterance->platformUtterance()); } void SpeechSynthesis::speakingErrorOccurred() { +if (!m_currentSpeechUtterance) +return; speakingErrorOccurred(*m_currentSpeechUtterance->platformUtterance()); } void SpeechSynthesis::boundaryEventOccurred(bool wordBoundary, unsigned charIndex) { +if (!m_currentSpeechUtterance) +return; boundaryEventOccurred(*m_currentSpeechUtterance->platformUtterance(), wordBoundary ? SpeechBoundary::SpeechWordBoundary : SpeechBoundary::SpeechSentenceBoundary, charIndex); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247618] branches/safari-608-branch/Source/WebKit
Title: [247618] branches/safari-608-branch/Source/WebKit Revision 247618 Author kocsen_ch...@apple.com Date 2019-07-18 13:26:16 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247557. rdar://problem/53254407 [macCatalyst] Unable to interact with YouTube video while it's playing https://bugs.webkit.org/show_bug.cgi?id=199893 Reviewed by Simon Fraser. * Platform/spi/ios/UIKitSPI.h: * UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm: (-[WKRemoteView initWithFrame:contextID:]): (-[WKUIRemoteView initWithFrame:pid:contextID:]): Disable remote context hit-testing for WKUIRemoteView just like we already do for WKRemoteView. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247557 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/Platform/spi/ios/UIKitSPI.h branches/safari-608-branch/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm Diff Modified: branches/safari-608-branch/Source/WebKit/ChangeLog (247617 => 247618) --- branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:26:03 UTC (rev 247617) +++ branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:26:16 UTC (rev 247618) @@ -1,5 +1,40 @@ 2019-07-18 Kocsen Chung +Cherry-pick r247557. rdar://problem/53254407 + +[macCatalyst] Unable to interact with YouTube video while it's playing +https://bugs.webkit.org/show_bug.cgi?id=199893 + + +Reviewed by Simon Fraser. + +* Platform/spi/ios/UIKitSPI.h: +* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm: +(-[WKRemoteView initWithFrame:contextID:]): +(-[WKUIRemoteView initWithFrame:pid:contextID:]): +Disable remote context hit-testing for WKUIRemoteView just like we +already do for WKRemoteView. + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247557 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Tim Horton + +[macCatalyst] Unable to interact with YouTube video while it's playing +https://bugs.webkit.org/show_bug.cgi?id=199893 + + +Reviewed by Simon Fraser. + +* Platform/spi/ios/UIKitSPI.h: +* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm: +(-[WKRemoteView initWithFrame:contextID:]): +(-[WKUIRemoteView initWithFrame:pid:contextID:]): +Disable remote context hit-testing for WKUIRemoteView just like we +already do for WKRemoteView. + +2019-07-18 Kocsen Chung + Cherry-pick r247555. rdar://problem/53254411 Prewarm local storage in the NetworkProcess to reduce WebContent process hangs Modified: branches/safari-608-branch/Source/WebKit/Platform/spi/ios/UIKitSPI.h (247617 => 247618) --- branches/safari-608-branch/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2019-07-18 20:26:03 UTC (rev 247617) +++ branches/safari-608-branch/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2019-07-18 20:26:16 UTC (rev 247618) @@ -1133,8 +1133,11 @@ @property (nonatomic, readonly) UIKeyboardInputMode *currentInputModeInPreference; @end +@class CALayerHost; + @interface _UILayerHostView : UIView - (instancetype)initWithFrame:(CGRect)frame pid:(pid_t)pid contextID:(uint32_t)contextID; +@property (nonatomic, readonly, retain) CALayerHost *layerHost; @end @interface _UIRemoteView : _UILayerHostView Modified: branches/safari-608-branch/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm (247617 => 247618) --- branches/safari-608-branch/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm 2019-07-18 20:26:03 UTC (rev 247617) +++ branches/safari-608-branch/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm 2019-07-18 20:26:16 UTC (rev 247618) @@ -234,7 +234,7 @@ layer.allowsHitTesting = NO; #endif } - + return self; } @@ -248,6 +248,22 @@ #if USE(UIREMOTEVIEW_CONTEXT_HOSTING) @implementation WKUIRemoteView +- (instancetype)initWithFrame:(CGRect)frame pid:(pid_t)pid contextID:(uint32_t)contextID +{ +self = [super initWithFrame:frame pid:pid contextID:contextID]; +if (!self) +return nil; + +#if PLATFORM(MACCATALYST) +// When running iOS apps on macOS, kCAContextIgnoresHitTest isn't respected; instead, we avoid +// hit-testing to the remote context by disabling hit-testing on its host layer. See +// for more details. +self.layerHost.allowsHitTesting = NO; +#endif + +return self; +} + - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { return [self _web_findDescendantViewAtPoint:point withEvent:event]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247616] branches/safari-608-branch/Source/WebKit
Title: [247616] branches/safari-608-branch/Source/WebKit Revision 247616 Author kocsen_ch...@apple.com Date 2019-07-18 13:25:53 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247559. rdar://problem/53230035 Early Out of positionInfomation check if possible https://bugs.webkit.org/show_bug.cgi?id=199885 This is an early-out check that happens after most of the work is done. Move it to happen before we make all these calls, if in the end, we will not use the information. Reviewed by Tim Horton. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView textInteractionGesture:shouldBeginAtPoint:]): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247559 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: branches/safari-608-branch/Source/WebKit/ChangeLog (247615 => 247616) --- branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:25:51 UTC (rev 247615) +++ branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:25:53 UTC (rev 247616) @@ -1,5 +1,38 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247559. rdar://problem/53230035 + +Early Out of positionInfomation check if possible +https://bugs.webkit.org/show_bug.cgi?id=199885 + + +This is an early-out check that happens after most of the work is done. +Move it to happen before we make all these calls, if in the end, we will not use the information. + +Reviewed by Tim Horton. + +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]): + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247559 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Megan Gardner + +Early Out of positionInfomation check if possible +https://bugs.webkit.org/show_bug.cgi?id=199885 + + +This is an early-out check that happens after most of the work is done. +Move it to happen before we make all these calls, if in the end, we will not use the information. + +Reviewed by Tim Horton. + +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]): + +2019-07-17 Kocsen Chung + Cherry-pick r247547. rdar://problem/53230043 Provide a NSURL cateogry to tell AppSSO Kerberos URLs Modified: branches/safari-608-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (247615 => 247616) --- branches/safari-608-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2019-07-18 20:25:51 UTC (rev 247615) +++ branches/safari-608-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2019-07-18 20:25:53 UTC (rev 247616) @@ -2234,6 +2234,10 @@ if (_suppressSelectionAssistantReasons) return NO; + +// Don't allow double tap text gestures in noneditable content. +if (!self.isFocusingElement && gesture == UIWKGestureDoubleTap) +return NO; WebKit::InteractionInformationRequest request(WebCore::roundedIntPoint(point)); if (![self ensurePositionInformationIsUpToDate:request]) @@ -2254,10 +2258,6 @@ // If we're currently focusing an editable element, only allow the selection to move within that focused element. if (self.isFocusingElement) return _positionInformation.nodeAtPositionIsFocusedElement; - -// Don't allow double tap text gestures in noneditable content. -if (gesture == UIWKGestureDoubleTap) -return NO; // If we're selecting something, don't activate highlight. if (gesture == UIWKGestureLoupe && [self hasSelectablePositionAtPoint:point]) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247615] branches/safari-608-branch/JSTests
Title: [247615] branches/safari-608-branch/JSTests Revision 247615 Author kocsen_ch...@apple.com Date 2019-07-18 13:25:51 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247485. rdar://problem/53229615 Unreviewed, test262 gardening. * test262/expectations.yaml: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247485 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/JSTests/ChangeLog branches/safari-608-branch/JSTests/test262/expectations.yaml Diff Modified: branches/safari-608-branch/JSTests/ChangeLog (247614 => 247615) --- branches/safari-608-branch/JSTests/ChangeLog 2019-07-18 20:25:46 UTC (rev 247614) +++ branches/safari-608-branch/JSTests/ChangeLog 2019-07-18 20:25:51 UTC (rev 247615) @@ -1,5 +1,21 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247485. rdar://problem/53229615 + +Unreviewed, test262 gardening. + +* test262/expectations.yaml: + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247485 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-16 Keith Miller + +Unreviewed, test262 gardening. + +* test262/expectations.yaml: + +2019-07-17 Kocsen Chung + Cherry-pick r247469. rdar://problem/53229615 Update test262 Modified: branches/safari-608-branch/JSTests/test262/expectations.yaml (247614 => 247615) --- branches/safari-608-branch/JSTests/test262/expectations.yaml 2019-07-18 20:25:46 UTC (rev 247614) +++ branches/safari-608-branch/JSTests/test262/expectations.yaml 2019-07-18 20:25:51 UTC (rev 247615) @@ -1986,15 +1986,84 @@ test/built-ins/WeakMap/proto-from-ctor-realm.js: default: 'Test262Error: Expected SameValue(«[object WeakMap]», «[object WeakMap]») to be true' strict mode: 'Test262Error: Expected SameValue(«[object WeakMap]», «[object WeakMap]») to be true' +test/built-ins/WeakRef/constructor.js: + default: 'Test262Error: typeof WeakRef is function Expected SameValue(«undefined», «function») to be true' + strict mode: 'Test262Error: typeof WeakRef is function Expected SameValue(«undefined», «function») to be true' +test/built-ins/WeakRef/instance-extensible.js: + default: "ReferenceError: Can't find variable: WeakRef" + strict mode: "ReferenceError: Can't find variable: WeakRef" +test/built-ins/WeakRef/length.js: + default: "ReferenceError: Can't find variable: WeakRef" + strict mode: "ReferenceError: Can't find variable: WeakRef" +test/built-ins/WeakRef/name.js: + default: "ReferenceError: Can't find variable: WeakRef" + strict mode: "ReferenceError: Can't find variable: WeakRef" +test/built-ins/WeakRef/newtarget-prototype-is-not-object.js: + default: "ReferenceError: Can't find variable: WeakRef" + strict mode: "ReferenceError: Can't find variable: WeakRef" +test/built-ins/WeakRef/prop-desc.js: + default: 'Test262Error: obj should have an own property WeakRef' + strict mode: 'Test262Error: obj should have an own property WeakRef' test/built-ins/WeakRef/proto-from-ctor-realm.js: - default: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object WeakRef]», «[object WeakRef]») to be true' - strict mode: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object WeakRef]», «[object WeakRef]») to be true' + default: "ReferenceError: Can't find variable: WeakRef" + strict mode: "ReferenceError: Can't find variable: WeakRef" +test/built-ins/WeakRef/proto.js: + default: "ReferenceError: Can't find variable: WeakRef" + strict mode: "ReferenceError: Can't find variable: WeakRef" +test/built-ins/WeakRef/prototype-from-newtarget-abrupt.js: + default: 'Test262Error: Expected a Test262Error but got a ReferenceError' + strict mode: 'Test262Error: Expected a Test262Error but got a ReferenceError' +test/built-ins/WeakRef/prototype-from-newtarget-custom.js: + default: "ReferenceError: Can't find variable: WeakRef" + strict mode: "ReferenceError: Can't find variable: WeakRef" +test/built-ins/WeakRef/prototype-from-newtarget.js: + default: "ReferenceError: Can't find variable: WeakRef" + strict mode: "ReferenceError: Can't find variable: WeakRef" +test/built-ins/WeakRef/prototype/Symbol.toStringTag.js: + default: "ReferenceError: Can't find variable: WeakRef" + strict mode: "ReferenceError: Can't find variable: WeakRef" +test/built-ins/WeakRef/prototype/constructor.js: + default: "ReferenceError: Can't find variable: WeakRef" + strict mode: "ReferenceError: Can't find variable: WeakRef" +test/built-ins/WeakRef/prototype/deref/custom-this.js: + default: "ReferenceError: Can't find variable: WeakRef" + strict mode: "ReferenceError: Can't find variable: WeakRef" test/built-ins/WeakRef/prototype/deref/gc-cleanup-not-prevented-with-wr-deref.js: - default: "TypeError: $262.gc is not a function. (In '$262.gc()', '$262.gc' is undefined)" - strict mode: "TypeError: $262.gc is not a function. (In '$262.gc()', '$262.gc' is undefined)" + default:
[webkit-changes] [247611] branches/safari-608-branch/Source
Title: [247611] branches/safari-608-branch/Source Revision 247611 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:58 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247541. rdar://problem/53230029 Unable to tap buttons at top of Wells Fargo app’s Payees screen https://bugs.webkit.org/show_bug.cgi?id=199846 Reviewed by Simon Fraser. Source/WebCore: This patch restores the stop-before-reaching-the-body heuristics for the approximate node finding feature only. (WebFrame::approximateNodeAtViewportLocation mistakenly relied on this odd quirk of nodeRespondingToClickEvents.) * page/Frame.h: * page/ios/FrameIOS.mm: (WebCore::Frame::approximateNodeAtViewportLocationLegacy): Source/WebKitLegacy/mac: * WebView/WebFrame.mm: (-[WebFrame approximateNodeAtViewportLocation:]): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247541 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/page/Frame.h branches/safari-608-branch/Source/WebCore/page/ios/FrameIOS.mm branches/safari-608-branch/Source/WebKitLegacy/mac/ChangeLog branches/safari-608-branch/Source/WebKitLegacy/mac/WebView/WebFrame.mm Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247610 => 247611) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:54 UTC (rev 247610) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:58 UTC (rev 247611) @@ -1,5 +1,47 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247541. rdar://problem/53230029 + +Unable to tap buttons at top of Wells Fargo app’s Payees screen +https://bugs.webkit.org/show_bug.cgi?id=199846 + + +Reviewed by Simon Fraser. + +Source/WebCore: + +This patch restores the stop-before-reaching-the-body heuristics for the approximate node finding feature only. +(WebFrame::approximateNodeAtViewportLocation mistakenly relied on this odd quirk of nodeRespondingToClickEvents.) + +* page/Frame.h: +* page/ios/FrameIOS.mm: +(WebCore::Frame::approximateNodeAtViewportLocationLegacy): + +Source/WebKitLegacy/mac: + +* WebView/WebFrame.mm: +(-[WebFrame approximateNodeAtViewportLocation:]): + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247541 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Zalan Bujtas + +Unable to tap buttons at top of Wells Fargo app’s Payees screen +https://bugs.webkit.org/show_bug.cgi?id=199846 + + +Reviewed by Simon Fraser. + +This patch restores the stop-before-reaching-the-body heuristics for the approximate node finding feature only. +(WebFrame::approximateNodeAtViewportLocation mistakenly relied on this odd quirk of nodeRespondingToClickEvents.) + +* page/Frame.h: +* page/ios/FrameIOS.mm: +(WebCore::Frame::approximateNodeAtViewportLocationLegacy): + +2019-07-17 Kocsen Chung + Cherry-pick r247540. rdar://problem/53230036 [iOS WK2] Avoid lots of compositing backing store for offscreen position:fixed descendants Modified: branches/safari-608-branch/Source/WebCore/page/Frame.h (247610 => 247611) --- branches/safari-608-branch/Source/WebCore/page/Frame.h 2019-07-18 20:24:54 UTC (rev 247610) +++ branches/safari-608-branch/Source/WebCore/page/Frame.h 2019-07-18 20:24:58 UTC (rev 247611) @@ -222,6 +222,7 @@ WEBCORE_EXPORT Node* nodeRespondingToClickEvents(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation, SecurityOrigin* = nullptr); WEBCORE_EXPORT Node* nodeRespondingToDoubleClickEvent(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation); WEBCORE_EXPORT Node* nodeRespondingToScrollWheelEvents(const FloatPoint& viewportLocation); +WEBCORE_EXPORT Node* approximateNodeAtViewportLocationLegacy(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation); WEBCORE_EXPORT NSArray *wordsInCurrentParagraph() const; WEBCORE_EXPORT CGRect renderRectForPoint(CGPoint, bool* isReplaced, float* fontSize) const; Modified: branches/safari-608-branch/Source/WebCore/page/ios/FrameIOS.mm (247610 => 247611) --- branches/safari-608-branch/Source/WebCore/page/ios/FrameIOS.mm 2019-07-18 20:24:54 UTC (rev 247610) +++ branches/safari-608-branch/Source/WebCore/page/ios/FrameIOS.mm 2019-07-18 20:24:58 UTC (rev 247611) @@ -388,6 +388,69 @@ return hitTestResult.innerNode(); } +Node* Frame::approximateNodeAtViewportLocationLegacy(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation) +{ +// This function is only used for UIWebView. +auto&& ancestorRespondingToClickEvents = [](const HitTestResult& hitTestResult, Node* terminationNode, IntRect* nodeBounds) -> Node* { +bool bodyHasBeenReached = false; +bool
[webkit-changes] [247599] branches/safari-608-branch/Source
Title: [247599] branches/safari-608-branch/Source Revision 247599 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:15 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247502. rdar://problem/53229564 REGRESSION: fast/events/watchos/double-tap-to-zoom* tests crashing in com.apple.WebKit: -[WKContentView(WKInteraction) _singleTapDidReset:] https://bugs.webkit.org/show_bug.cgi?id=199840 Patch by Antoine Quint on 2019-07-16 Reviewed by Wenson Hsieh. Source/WebCore: Fix a build error that occured when building for the watchOS Simulator in the debug configuration. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateScrollingNodeForScrollingProxyRole): Source/WebKit: We need to ensure the NSNumber used for -[WKSyntheticTapGestureRecognizer lastActiveTouchIdentifier] is retained. This innocent change required the use of RetainPtr<>, which required the move to an Objective-C++ file, which lead to a change in the order files are unified, which lead to build errors, which leads to a much bigger patch than just the source change necessary to fix the crash. * SourcesCocoa.txt: * UIProcess/ios/WKSyntheticTapGestureRecognizer.mm: Renamed from Source/WebKit/UIProcess/ios/WKSyntheticTapGestureRecognizer.m. * UIProcess/ios/forms/WKFormPeripheralBase.h: * UIProcess/ios/forms/WKFormPeripheralBase.mm: * WebKit.xcodeproj/project.pbxproj: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247502 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/SourcesCocoa.txt branches/safari-608-branch/Source/WebKit/UIProcess/ios/forms/WKFormPeripheralBase.h branches/safari-608-branch/Source/WebKit/UIProcess/ios/forms/WKFormPeripheralBase.mm branches/safari-608-branch/Source/WebKit/WebKit.xcodeproj/project.pbxproj Added Paths branches/safari-608-branch/Source/WebKit/UIProcess/ios/WKSyntheticTapGestureRecognizer.mm Removed Paths branches/safari-608-branch/Source/WebKit/UIProcess/ios/WKSyntheticTapGestureRecognizer.m Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247598 => 247599) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:12 UTC (rev 247598) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:15 UTC (rev 247599) @@ -1,5 +1,50 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247502. rdar://problem/53229564 + +REGRESSION: fast/events/watchos/double-tap-to-zoom* tests crashing in com.apple.WebKit: -[WKContentView(WKInteraction) _singleTapDidReset:] +https://bugs.webkit.org/show_bug.cgi?id=199840 + + +Patch by Antoine Quint on 2019-07-16 +Reviewed by Wenson Hsieh. + +Source/WebCore: + +Fix a build error that occured when building for the watchOS Simulator in the debug configuration. + +* rendering/RenderLayerCompositor.cpp: +(WebCore::RenderLayerCompositor::updateScrollingNodeForScrollingProxyRole): + +Source/WebKit: + +We need to ensure the NSNumber used for -[WKSyntheticTapGestureRecognizer lastActiveTouchIdentifier] is retained. This innocent change required +the use of RetainPtr<>, which required the move to an Objective-C++ file, which lead to a change in the order files are unified, which lead to +build errors, which leads to a much bigger patch than just the source change necessary to fix the crash. + +* SourcesCocoa.txt: +* UIProcess/ios/WKSyntheticTapGestureRecognizer.mm: Renamed from Source/WebKit/UIProcess/ios/WKSyntheticTapGestureRecognizer.m. +* UIProcess/ios/forms/WKFormPeripheralBase.h: +* UIProcess/ios/forms/WKFormPeripheralBase.mm: +* WebKit.xcodeproj/project.pbxproj: + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247502 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-16 Antoine Quint + +REGRESSION: fast/events/watchos/double-tap-to-zoom* tests crashing in com.apple.WebKit: -[WKContentView(WKInteraction) _singleTapDidReset:] +https://bugs.webkit.org/show_bug.cgi?id=199840 + + +Reviewed by Wenson Hsieh. + +Fix a build error that occured when building for the watchOS Simulator in the debug configuration. + +* rendering/RenderLayerCompositor.cpp: +(WebCore::RenderLayerCompositor::updateScrollingNodeForScrollingProxyRole): + +2019-07-17 Kocsen Chung + Cherry-pick r247490. rdar://problem/53229559 NSTextFinder holes don't scroll with the page Modified: branches/safari-608-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp (247598 => 247599) --- branches/safari-608-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp 2019-07-18 20:24:12 UTC (rev
[webkit-changes] [247605] branches/safari-608-branch/Source/ThirdParty/libwebrtc
Title: [247605] branches/safari-608-branch/Source/ThirdParty/libwebrtc Revision 247605 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:34 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247526. rdar://problem/53229680 Use VCP SPI in case creation of a compression session with VTB for 'h264.rtvc' fails https://bugs.webkit.org/show_bug.cgi?id=199863 Reviewed by Darin Adler. Calling VTCompressionSessionCreate with kVTVideoEncoderList_EncoderID "com.apple.videotoolbox.videoencoder.h264.rtvc" fails on some platforms. In such a case, use VCP SPI if available as a fallback. Covered by exisiting webrtc tests on these specific platforms. * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm: (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247526 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/ThirdParty/libwebrtc/ChangeLog branches/safari-608-branch/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm Diff Modified: branches/safari-608-branch/Source/ThirdParty/libwebrtc/ChangeLog (247604 => 247605) --- branches/safari-608-branch/Source/ThirdParty/libwebrtc/ChangeLog 2019-07-18 20:24:32 UTC (rev 247604) +++ branches/safari-608-branch/Source/ThirdParty/libwebrtc/ChangeLog 2019-07-18 20:24:34 UTC (rev 247605) @@ -1,3 +1,38 @@ +2019-07-17 Kocsen Chung + +Cherry-pick r247526. rdar://problem/53229680 + +Use VCP SPI in case creation of a compression session with VTB for 'h264.rtvc' fails +https://bugs.webkit.org/show_bug.cgi?id=199863 + + +Reviewed by Darin Adler. + +Calling VTCompressionSessionCreate with kVTVideoEncoderList_EncoderID "com.apple.videotoolbox.videoencoder.h264.rtvc" +fails on some platforms. In such a case, use VCP SPI if available as a fallback. +Covered by exisiting webrtc tests on these specific platforms. + +* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm: +(-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]): + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247526 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Youenn Fablet + +Use VCP SPI in case creation of a compression session with VTB for 'h264.rtvc' fails +https://bugs.webkit.org/show_bug.cgi?id=199863 + + +Reviewed by Darin Adler. + +Calling VTCompressionSessionCreate with kVTVideoEncoderList_EncoderID "com.apple.videotoolbox.videoencoder.h264.rtvc" +fails on some platforms. In such a case, use VCP SPI if available as a fallback. +Covered by exisiting webrtc tests on these specific platforms. + +* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm: +(-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]): + 2019-06-28 Dean Jackson unable to build WebRTC for iOS Simulator Modified: branches/safari-608-branch/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm (247604 => 247605) --- branches/safari-608-branch/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm 2019-07-18 20:24:32 UTC (rev 247604) +++ branches/safari-608-branch/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm 2019-07-18 20:24:34 UTC (rev 247605) @@ -671,38 +671,36 @@ #if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) #if ENABLE_VCP_ENCODER - if (!_useVCP) { -CFBooleanRef hwaccl_enabled = nullptr; -if (status == noErr) { - status = VTSessionCopyProperty(_vtCompressionSession, - kVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder, - nullptr, - _enabled); -} -if (status == noErr && (CFBooleanGetValue(hwaccl_enabled))) { - RTC_LOG(LS_INFO) << "Compression session created with hw accl enabled"; -} else { - [self destroyCompressionSession]; + CFBooleanRef hwaccl_enabled = nullptr; + if (status == noErr) { +status = VTSessionCopyProperty(_vtCompressionSession, + kVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder, + nullptr, + _enabled); + } + if (status == noErr && (CFBooleanGetValue(hwaccl_enabled))) { +RTC_LOG(LS_INFO) << "Compression session created with hw accl enabled"; + } else { +[self destroyCompressionSession]; - // Use VCP instead. - int usageValue = 1; - auto usage = CFNumberCreate(nullptr, kCFNumberIntType, ); - CFDictionarySetValue(encoderSpecs, kVTCompressionPropertyKey_Usage, usage); - CFRelease(usage); +//
[webkit-changes] [247607] branches/safari-608-branch/Source/WebCore
Title: [247607] branches/safari-608-branch/Source/WebCore Revision 247607 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:44 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247531. rdar://problem/53229712 IndexedDB: error in starting version change transaction may be neglected https://bugs.webkit.org/show_bug.cgi?id=199818 Reviewed by Brady Eidson. For version change transaction, IDBServer didn't wait the result of beginTransaction on the background thread before giving the IDBClient the result of open request. In this case, beginTransaction may fail to update the DatabaseVersion in database file or set m_originalDatabaseInfoBeforeVersionChange, but the transaction was marked as started. When we later set m_databaseInfo with m_originalDatabaseInfoBeforeVersionChange, m_databaseInfo could become nullptr. To write a test for this, we will need to simulate an SQLite error. I manually tested this by crafting the SQLiteStatement in beginTransaction, making it an invalid statement, and verified that error event, instead of ungradeneeded event is dispatched to the IDBRequest. * Modules/indexeddb/server/UniqueIDBDatabase.cpp: (WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction): (WebCore::IDBServer::UniqueIDBDatabase::performStartVersionChangeTransaction): (WebCore::IDBServer::UniqueIDBDatabase::didPerformStartVersionChangeTransaction): (WebCore::IDBServer::UniqueIDBDatabase::beginTransactionInBackingStore): Deleted. * Modules/indexeddb/server/UniqueIDBDatabase.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247531 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247606 => 247607) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:40 UTC (rev 247606) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:44 UTC (rev 247607) @@ -1,5 +1,60 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247531. rdar://problem/53229712 + +IndexedDB: error in starting version change transaction may be neglected +https://bugs.webkit.org/show_bug.cgi?id=199818 + + +Reviewed by Brady Eidson. + +For version change transaction, IDBServer didn't wait the result of beginTransaction on the background thread +before giving the IDBClient the result of open request. In this case, beginTransaction may fail to update the +DatabaseVersion in database file or set m_originalDatabaseInfoBeforeVersionChange, but the transaction was +marked as started. When we later set m_databaseInfo with m_originalDatabaseInfoBeforeVersionChange, +m_databaseInfo could become nullptr. + +To write a test for this, we will need to simulate an SQLite error. I manually tested this by crafting the +SQLiteStatement in beginTransaction, making it an invalid statement, and verified that error event, instead of +ungradeneeded event is dispatched to the IDBRequest. + +* Modules/indexeddb/server/UniqueIDBDatabase.cpp: +(WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction): +(WebCore::IDBServer::UniqueIDBDatabase::performStartVersionChangeTransaction): +(WebCore::IDBServer::UniqueIDBDatabase::didPerformStartVersionChangeTransaction): +(WebCore::IDBServer::UniqueIDBDatabase::beginTransactionInBackingStore): Deleted. +* Modules/indexeddb/server/UniqueIDBDatabase.h: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247531 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Sihui Liu + +IndexedDB: error in starting version change transaction may be neglected +https://bugs.webkit.org/show_bug.cgi?id=199818 + + +Reviewed by Brady Eidson. + +For version change transaction, IDBServer didn't wait the result of beginTransaction on the background thread +before giving the IDBClient the result of open request. In this case, beginTransaction may fail to update the +DatabaseVersion in database file or set m_originalDatabaseInfoBeforeVersionChange, but the transaction was +marked as started. When we later set m_databaseInfo with m_originalDatabaseInfoBeforeVersionChange, +m_databaseInfo could become nullptr. + +To write a test for this, we will need to simulate an SQLite error. I manually tested this by crafting the +SQLiteStatement in beginTransaction, making it an invalid statement, and verified that error event, instead of +ungradeneeded event is dispatched to the IDBRequest. + +* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
[webkit-changes] [247609] branches/safari-608-branch/Tools
Title: [247609] branches/safari-608-branch/Tools Revision 247609 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:49 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247536. rdar://problem/53229635 Remove the file superfluously added in r247535. * TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h: Removed. * TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247536 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Tools/ChangeLog branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm Removed Paths branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h Diff Modified: branches/safari-608-branch/Tools/ChangeLog (247608 => 247609) --- branches/safari-608-branch/Tools/ChangeLog 2019-07-18 20:24:46 UTC (rev 247608) +++ branches/safari-608-branch/Tools/ChangeLog 2019-07-18 20:24:49 UTC (rev 247609) @@ -1,5 +1,24 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247536. rdar://problem/53229635 + +Remove the file superfluously added in r247535. + +* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h: Removed. +* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247536 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Ryosuke Niwa + +Remove the file superfluously added in r247535. + +* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h: Removed. +* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm: + +2019-07-17 Kocsen Chung + Cherry-pick r247524. rdar://problem/53229635 [iOS] Option + Up or Down Arrow key doesn’t move cursor past paragraph boundaries in WebKit2 Deleted: branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h (247608 => 247609) --- branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h 2019-07-18 20:24:46 UTC (rev 247608) +++ branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h 2019-07-18 20:24:49 UTC (rev 247609) @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2019 Apple Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - *notice, this list of conditions and the following disclaimer in the - *documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -#pragma once Modified: branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm (247608 => 247609) --- branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm 2019-07-18 20:24:46 UTC (rev 247608) +++ branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm 2019-07-18 20:24:49 UTC (rev 247609) @@ -24,7 +24,6 @@ */ #include "config.h" -#include "SelectionModifyByParagraphBoundary.h" #if PLATFORM(IOS_FAMILY) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247617] branches/safari-608-branch/Source
Title: [247617] branches/safari-608-branch/Source Revision 247617 Author kocsen_ch...@apple.com Date 2019-07-18 13:26:03 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247555. rdar://problem/53254411 Prewarm local storage in the NetworkProcess to reduce WebContent process hangs https://bugs.webkit.org/show_bug.cgi?id=199879 Reviewed by Ryosuke Niwa. Source/WebCore: When JS accesses window.localStorage for the first time, we end up doing a synchronous IPC to the network process to pull in all items in the local storage for the origin. If the network process does not have this data in memory, it has to read it from a database on disk, which may take a significant amount of time and hang the WebContent process during this time. To alleviate this problem, this patch introduces prewarming on the local storage in the network process when loading a given origin in the WebContent process. This way, in most cases, when the JS accesses window.localStorage for the first time, the synchronous IPC to the network process returns much faster (measured 50-100ms for a very large database, down from 250-300ms), as it only needs to IPC the data over, without the need to fetch it from disk. As a safety net to avoid excessive prewarming, we currently prewarm at most 5 security origins per page load. * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::commitData): * page/DOMWindow.cpp: (WebCore::DOMWindow::prewarmLocalStorageIfNecessary): * page/DOMWindow.h: * page/Frame.cpp: (WebCore::Frame::didPrewarmLocalStorage): (WebCore::Frame::mayPrewarmLocalStorage const): * page/Frame.h: * storage/Storage.cpp: (WebCore::Storage::prewarm): * storage/Storage.h: * storage/StorageArea.h: (WebCore::StorageArea::prewarm): Source/WebKit: * NetworkProcess/WebStorage/StorageManager.cpp: (WebKit::StorageManager::prewarm): (WebKit::StorageManager::getValues): * NetworkProcess/WebStorage/StorageManager.h: * NetworkProcess/WebStorage/StorageManager.messages.in: * WebProcess/WebStorage/StorageAreaImpl.cpp: (WebKit::StorageAreaImpl::prewarm): * WebProcess/WebStorage/StorageAreaImpl.h: * WebProcess/WebStorage/StorageAreaMap.cpp: (WebKit::StorageAreaMap::loadValuesIfNeeded): (WebKit::StorageAreaMap::prewarm): * WebProcess/WebStorage/StorageAreaMap.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247555 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/loader/DocumentLoader.cpp branches/safari-608-branch/Source/WebCore/page/DOMWindow.cpp branches/safari-608-branch/Source/WebCore/page/DOMWindow.h branches/safari-608-branch/Source/WebCore/page/Frame.cpp branches/safari-608-branch/Source/WebCore/page/Frame.h branches/safari-608-branch/Source/WebCore/storage/Storage.cpp branches/safari-608-branch/Source/WebCore/storage/Storage.h branches/safari-608-branch/Source/WebCore/storage/StorageArea.h branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp branches/safari-608-branch/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h branches/safari-608-branch/Source/WebKit/NetworkProcess/WebStorage/StorageManager.messages.in branches/safari-608-branch/Source/WebKit/WebProcess/WebStorage/StorageAreaImpl.cpp branches/safari-608-branch/Source/WebKit/WebProcess/WebStorage/StorageAreaImpl.h branches/safari-608-branch/Source/WebKit/WebProcess/WebStorage/StorageAreaMap.cpp branches/safari-608-branch/Source/WebKit/WebProcess/WebStorage/StorageAreaMap.h Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247616 => 247617) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:25:53 UTC (rev 247616) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:26:03 UTC (rev 247617) @@ -1,3 +1,103 @@ +2019-07-18 Kocsen Chung + +Cherry-pick r247555. rdar://problem/53254411 + +Prewarm local storage in the NetworkProcess to reduce WebContent process hangs +https://bugs.webkit.org/show_bug.cgi?id=199879 + + +Reviewed by Ryosuke Niwa. + +Source/WebCore: + +When JS accesses window.localStorage for the first time, we end up doing a +synchronous IPC to the network process to pull in all items in the local +storage for the origin. If the network process does not have this data in +memory, it has to read it from a database on disk, which may take a significant +amount of time and hang the WebContent process during this time. + +To alleviate this problem, this patch introduces prewarming on the local storage +in the network process when loading a given origin in the WebContent process. +This way, in most cases, when the JS accesses window.localStorage for the
[webkit-changes] [247604] branches/safari-608-branch/Source/WebCore
Title: [247604] branches/safari-608-branch/Source/WebCore Revision 247604 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:32 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247525. rdar://problem/53229719 Hop to the main thread when doing logging in RealtimeIncomingVideoSourceCocoa https://bugs.webkit.org/show_bug.cgi?id=199865 Reviewed by Darin Adler. LoggerHelper routines allow logging messages in system console and inspector console. These routines iterate through a Vector of log observers which is not thread safe. Document, the main log observer, also expects to be called on the main thread. Manually tested (writing a layout test for this would require more than 2 seconds). * platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm: (WebCore::RealtimeIncomingVideoSourceCocoa::OnFrame): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247525 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247603 => 247604) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:29 UTC (rev 247603) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:32 UTC (rev 247604) @@ -1,5 +1,40 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247525. rdar://problem/53229719 + +Hop to the main thread when doing logging in RealtimeIncomingVideoSourceCocoa +https://bugs.webkit.org/show_bug.cgi?id=199865 + +Reviewed by Darin Adler. + +LoggerHelper routines allow logging messages in system console and inspector console. +These routines iterate through a Vector of log observers which is not thread safe. +Document, the main log observer, also expects to be called on the main thread. +Manually tested (writing a layout test for this would require more than 2 seconds). + +* platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm: +(WebCore::RealtimeIncomingVideoSourceCocoa::OnFrame): + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247525 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Youenn Fablet + +Hop to the main thread when doing logging in RealtimeIncomingVideoSourceCocoa +https://bugs.webkit.org/show_bug.cgi?id=199865 + +Reviewed by Darin Adler. + +LoggerHelper routines allow logging messages in system console and inspector console. +These routines iterate through a Vector of log observers which is not thread safe. +Document, the main log observer, also expects to be called on the main thread. +Manually tested (writing a layout test for this would require more than 2 seconds). + +* platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm: +(WebCore::RealtimeIncomingVideoSourceCocoa::OnFrame): + +2019-07-17 Kocsen Chung + Cherry-pick r247521. rdar://problem/53229717 Make ANGLE work inside WebKit2's sandbox Modified: branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm (247603 => 247604) --- branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm 2019-07-18 20:24:29 UTC (rev 247603) +++ branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm 2019-07-18 20:24:32 UTC (rev 247604) @@ -158,13 +158,18 @@ return; #if !RELEASE_LOG_DISABLED -if (!(++m_numberOfFrames % 60)) -ALWAYS_LOG_IF(loggerPtr(), LOGIDENTIFIER, "frame ", m_numberOfFrames); +if (!(++m_numberOfFrames % 60)) { +callOnMainThread([this, protectedThis = makeRef(*this), numberOfFrames = m_numberOfFrames] { +ALWAYS_LOG_IF(loggerPtr(), LOGIDENTIFIER, "frame ", numberOfFrames); +}); +} #endif auto pixelBuffer = pixelBufferFromVideoFrame(frame); if (!pixelBuffer) { -ERROR_LOG_IF(loggerPtr(), LOGIDENTIFIER, "Failed to get a pixel buffer from a frame"); +callOnMainThread([this, protectedThis = makeRef(*this)] { +ERROR_LOG_IF(loggerPtr(), LOGIDENTIFIER, "Failed to get a pixel buffer from a frame"); +}); return; } @@ -178,7 +183,9 @@ CMVideoFormatDescriptionRef formatDescription; OSStatus ostatus = CMVideoFormatDescriptionCreateForImageBuffer(kCFAllocatorDefault, (CVImageBufferRef)pixelBuffer, ); if (ostatus != noErr) { -ERROR_LOG_IF(loggerPtr(), LOGIDENTIFIER, "Failed to initialize CMVideoFormatDescription with error ", static_cast(ostatus)); +callOnMainThread([this, protectedThis = makeRef(*this), ostatus] { +ERROR_LOG_IF(loggerPtr(), LOGIDENTIFIER, "Failed to initialize CMVideoFormatDescription with error ",
[webkit-changes] [247610] branches/safari-608-branch
Title: [247610] branches/safari-608-branch Revision 247610 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:54 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247540. rdar://problem/53230036 [iOS WK2] Avoid lots of compositing backing store for offscreen position:fixed descendants https://bugs.webkit.org/show_bug.cgi?id=199819 rdar://problem/51977416 Reviewed by Zalan Bujtas. Source/WebCore: There was code to ensure that position:fixed layers and their descendants don't have their backing store detached (thrown away to save memory when offscreen), since that can trigger flashing when async scrolling moves layers in and out of the visual viewport. However, some pages have many descendant layers of positon:fixed which entrain backing store, because, for example, they have a stack of translated-offscreen menu elements inside a fixed header, and those elements may composite because of overflow:scroll. To avoid using too much memory on such pages, allow backing store detachment for fixed layers that are outside the layout viewport. Add a flag to RenderLayer that's set for layers which are fixed, or descendants of fixed, and consult that flag in updateAllowsBackingStoreDetaching(). The logic there is similar to RenderLayerCompositor::requiresCompositingForPosition(). I considered allowing all position:fixed to composite (since this patch would keep most of the memory saving), but historically we've avoided compositing out-of-viewport position:fixed because it's quite common to have them with negative z-index, and compositing those has significant compositing knock-on effects. GraphicsLayer flushing no longer needs to track the viewport-constrained status of layers, so remove that code. This patch removes backing-store pinning for sticky layers. scrolling/ios/reconcile-layer-position-recursive.html then revealed a bug in ScrollingStateStickyNode::reconcileLayerPositionForViewportRect(), which was assuming that the sticky element was scrolled by the page, causing a bad layer position to get sync'd onto the layer. Fixed by copying code from ScrollingTreeStickyNode that is smarter about computing layer positions. This patch fixes jetsams on kmart.com.au in iOS 13 beta. Test: compositing/layer-creation/fixed-position-descendants-out-of-view.html * page/scrolling/ScrollingStateStickyNode.cpp: (WebCore::ScrollingStateStickyNode::computeLayerPosition const): (WebCore::ScrollingStateStickyNode::reconcileLayerPositionForViewportRect): * page/scrolling/ScrollingStateStickyNode.h: * platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::setAllowsBackingStoreDetaching): (WebCore::GraphicsLayer::allowsBackingStoreDetaching const): (WebCore::GraphicsLayer::setIsViewportConstrained): Deleted. (WebCore::GraphicsLayer::isViewportConstrained const): Deleted. (WebCore::GraphicsLayer::setCanDetachBackingStore): Deleted. (WebCore::GraphicsLayer::canDetachBackingStore const): Deleted. * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::GraphicsLayerCA): (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush const): (WebCore::GraphicsLayerCA::setVisibleAndCoverageRects): (WebCore::GraphicsLayerCA::recursiveCommitChanges): (WebCore::GraphicsLayerCA::updateCoverage): (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): * platform/graphics/ca/GraphicsLayerCA.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::updateLayerPositions): (WebCore::outputPaintOrderTreeLegend): (WebCore::outputPaintOrderTreeRecursive): * rendering/RenderLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateAllowsBackingStoreDetaching): (WebCore::RenderLayerBacking::updateOverflowControlsLayers): (WebCore::RenderLayerBacking::setIsScrollCoordinatedWithViewportConstrainedRole): Deleted. * rendering/RenderLayerBacking.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): (WebCore::RenderLayerCompositor::requiresCompositingForPosition const): (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): (WebCore::RenderLayerCompositor::updateScrollCoordinationForLayer): LayoutTests: * compositing/layer-creation/fixed-position-change-out-of-view-in-view.html: * compositing/layer-creation/fixed-position-descendants-out-of-view-expected.txt: Added. * compositing/layer-creation/fixed-position-descendants-out-of-view.html: Added. * compositing/layer-creation/fixed-position-out-of-view.html: * platform/ios-wk2/fast/scrolling/ios/reconcile-layer-position-recursive-expected.txt: Added. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[webkit-changes] [247601] branches/safari-608-branch/Source/WebCore
Title: [247601] branches/safari-608-branch/Source/WebCore Revision 247601 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:21 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247519. rdar://problem/53229612 Hang in WebCore::AccessibilityRenderObject::visiblePositionRangeForLine. https://bugs.webkit.org/show_bug.cgi?id=199845 Patch by Andres Gonzalez on 2019-07-17 Reviewed by Chris Fleizach. - Added check for upper bound NSNotFound for parameter to visiblePositionRangeForLine. - Fixed signed/unsigned issue for AXTextMarkerRangeForLine attribute. * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine const): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247519 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/accessibility/AccessibilityRenderObject.cpp branches/safari-608-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247600 => 247601) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:18 UTC (rev 247600) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:21 UTC (rev 247601) @@ -1,5 +1,42 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247519. rdar://problem/53229612 + +Hang in WebCore::AccessibilityRenderObject::visiblePositionRangeForLine. +https://bugs.webkit.org/show_bug.cgi?id=199845 + + +Patch by Andres Gonzalez on 2019-07-17 +Reviewed by Chris Fleizach. + +- Added check for upper bound NSNotFound for parameter to visiblePositionRangeForLine. +- Fixed signed/unsigned issue for AXTextMarkerRangeForLine attribute. + +* accessibility/AccessibilityRenderObject.cpp: +(WebCore::AccessibilityRenderObject::visiblePositionRangeForLine const): +* accessibility/mac/WebAccessibilityObjectWrapperMac.mm: +(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247519 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Andres Gonzalez + +Hang in WebCore::AccessibilityRenderObject::visiblePositionRangeForLine. +https://bugs.webkit.org/show_bug.cgi?id=199845 + + +Reviewed by Chris Fleizach. + +- Added check for upper bound NSNotFound for parameter to visiblePositionRangeForLine. +- Fixed signed/unsigned issue for AXTextMarkerRangeForLine attribute. + +* accessibility/AccessibilityRenderObject.cpp: +(WebCore::AccessibilityRenderObject::visiblePositionRangeForLine const): +* accessibility/mac/WebAccessibilityObjectWrapperMac.mm: +(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): + +2019-07-17 Kocsen Chung + Cherry-pick r247504. rdar://problem/53229614 Fix includes and make a constructor explicit to avoid unified-sources-triggered test failures Modified: branches/safari-608-branch/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (247600 => 247601) --- branches/safari-608-branch/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2019-07-18 20:24:18 UTC (rev 247600) +++ branches/safari-608-branch/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2019-07-18 20:24:21 UTC (rev 247601) @@ -1978,7 +1978,9 @@ while (--lineCount) { savedVisiblePos = visiblePos; visiblePos = nextLinePosition(visiblePos, 0); -if (visiblePos.isNull() || visiblePos == savedVisiblePos) +if (visiblePos.isNull() +|| visiblePos == savedVisiblePos +|| visiblePos.equals(savedVisiblePos)) return VisiblePositionRange(); } Modified: branches/safari-608-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (247600 => 247601) --- branches/safari-608-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm 2019-07-18 20:24:18 UTC (rev 247600) +++ branches/safari-608-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm 2019-07-18 20:24:21 UTC (rev 247601) @@ -4247,7 +4247,9 @@ } if ([attribute isEqualToString:@"AXTextMarkerRangeForLine"]) { -VisiblePositionRange vpRange = m_object->visiblePositionRangeForLine([number intValue]); +VisiblePositionRange vpRange; +if ([number unsignedIntegerValue] != NSNotFound) +vpRange = m_object->visiblePositionRangeForLine([number unsignedIntValue]); return [self textMarkerRangeFromVisiblePositions:vpRange.start endPosition:vpRange.end]; }
[webkit-changes] [247598] branches/safari-608-branch/Source/WebKit
Title: [247598] branches/safari-608-branch/Source/WebKit Revision 247598 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:12 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247494. rdar://problem/53229554 [macCatalyst] Do not include WebKitLegacy.h in WebKit.h https://bugs.webkit.org/show_bug.cgi?id=199833 Reviewed by Tim Horton. * Shared/API/Cocoa/WebKit.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247494 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/Shared/API/Cocoa/WebKit.h Diff Modified: branches/safari-608-branch/Source/WebKit/ChangeLog (247597 => 247598) --- branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:24:09 UTC (rev 247597) +++ branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:24:12 UTC (rev 247598) @@ -1,5 +1,30 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247494. rdar://problem/53229554 + +[macCatalyst] Do not include WebKitLegacy.h in WebKit.h +https://bugs.webkit.org/show_bug.cgi?id=199833 + + +Reviewed by Tim Horton. + +* Shared/API/Cocoa/WebKit.h: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247494 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-16 Andy Estes + +[macCatalyst] Do not include WebKitLegacy.h in WebKit.h +https://bugs.webkit.org/show_bug.cgi?id=199833 + + +Reviewed by Tim Horton. + +* Shared/API/Cocoa/WebKit.h: + +2019-07-17 Kocsen Chung + Cherry-pick r247490. rdar://problem/53229559 NSTextFinder holes don't scroll with the page Modified: branches/safari-608-branch/Source/WebKit/Shared/API/Cocoa/WebKit.h (247597 => 247598) --- branches/safari-608-branch/Source/WebKit/Shared/API/Cocoa/WebKit.h 2019-07-18 20:24:09 UTC (rev 247597) +++ branches/safari-608-branch/Source/WebKit/Shared/API/Cocoa/WebKit.h 2019-07-18 20:24:12 UTC (rev 247598) @@ -58,4 +58,7 @@ #import #import #import + +#if !defined(TARGET_OS_IOSMAC) || !TARGET_OS_IOSMAC #import +#endif ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247600] branches/safari-608-branch/Source/WebCore
Title: [247600] branches/safari-608-branch/Source/WebCore Revision 247600 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:18 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247504. rdar://problem/53229614 Fix includes and make a constructor explicit to avoid unified-sources-triggered test failures https://bugs.webkit.org/show_bug.cgi?id=199849 Reviewed by Wenson Hsieh. webkit.org/b/199587 triggered some unexpected test failures because of unified sources include order. The TextStream operator in ScrollingTreeOverflowScrollingNode::dumpProperties() was invoking the implicit constructor of TransformOperations. * page/scrolling/ScrollingTreeOverflowScrollingNode.cpp: Include TextStream.h * platform/graphics/transforms/TransformOperations.h: Make ctor explicit. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247504 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollingNode.cpp branches/safari-608-branch/Source/WebCore/platform/graphics/transforms/TransformOperations.h Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247599 => 247600) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:15 UTC (rev 247599) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:18 UTC (rev 247600) @@ -1,5 +1,38 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247504. rdar://problem/53229614 + +Fix includes and make a constructor explicit to avoid unified-sources-triggered test failures +https://bugs.webkit.org/show_bug.cgi?id=199849 + +Reviewed by Wenson Hsieh. + +webkit.org/b/199587 triggered some unexpected test failures because of unified sources include +order. The TextStream operator in ScrollingTreeOverflowScrollingNode::dumpProperties() was invoking +the implicit constructor of TransformOperations. + +* page/scrolling/ScrollingTreeOverflowScrollingNode.cpp: Include TextStream.h +* platform/graphics/transforms/TransformOperations.h: Make ctor explicit. + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247504 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-16 Simon Fraser + +Fix includes and make a constructor explicit to avoid unified-sources-triggered test failures +https://bugs.webkit.org/show_bug.cgi?id=199849 + +Reviewed by Wenson Hsieh. + +webkit.org/b/199587 triggered some unexpected test failures because of unified sources include +order. The TextStream operator in ScrollingTreeOverflowScrollingNode::dumpProperties() was invoking +the implicit constructor of TransformOperations. + +* page/scrolling/ScrollingTreeOverflowScrollingNode.cpp: Include TextStream.h +* platform/graphics/transforms/TransformOperations.h: Make ctor explicit. + +2019-07-17 Kocsen Chung + Cherry-pick r247502. rdar://problem/53229564 REGRESSION: fast/events/watchos/double-tap-to-zoom* tests crashing in com.apple.WebKit: -[WKContentView(WKInteraction) _singleTapDidReset:] Modified: branches/safari-608-branch/Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollingNode.cpp (247599 => 247600) --- branches/safari-608-branch/Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollingNode.cpp 2019-07-18 20:24:15 UTC (rev 247599) +++ branches/safari-608-branch/Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollingNode.cpp 2019-07-18 20:24:18 UTC (rev 247600) @@ -30,6 +30,7 @@ #include "ScrollingStateTree.h" #include "ScrollingTree.h" +#include namespace WebCore { Modified: branches/safari-608-branch/Source/WebCore/platform/graphics/transforms/TransformOperations.h (247599 => 247600) --- branches/safari-608-branch/Source/WebCore/platform/graphics/transforms/TransformOperations.h 2019-07-18 20:24:15 UTC (rev 247599) +++ branches/safari-608-branch/Source/WebCore/platform/graphics/transforms/TransformOperations.h 2019-07-18 20:24:18 UTC (rev 247600) @@ -34,7 +34,7 @@ class TransformOperations { WTF_MAKE_FAST_ALLOCATED; public: -TransformOperations(bool makeIdentity = false); +explicit TransformOperations(bool makeIdentity = false); bool operator==(const TransformOperations& o) const; bool operator!=(const TransformOperations& o) const ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247612] branches/safari-608-branch
Title: [247612] branches/safari-608-branch Revision 247612 Author kocsen_ch...@apple.com Date 2019-07-18 13:25:01 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247544. rdar://problem/53230040 Unable to bring up custom media controls on iOS for video.sina.cn https://bugs.webkit.org/show_bug.cgi?id=199889 Reviewed by Dean Jackson. Source/WebCore: Videos on video.sina.cn by default have the "controls" attribute and are set not to autoplay. This means that the original state of the media controls are set to show the built-in media controls and also show the prominent play button to begin playback. The display of the play button also requires a tap gesture recognizer, which calls preventDefault() when the "touchend" is received to prevent double-tap-to-zoom, but also has the side-effect of preventing a "click" event from being dispatched for a tap. The video.sina.cn code would eventually remove the "controls" attribute, which would make the built-in media controls not visible, but still participate in hit-testing because we keep the shadow DOM around in order to potentially show the Airplay or picture-in-picture placards. Additionally, we wouldn't disable the tap gesture recognizer when the "controls" attribute was removed. We now ensure that both gesture recognizers used by iOS inline media controls are only enabled when media controls are visible. Test: media/modern-media-controls/media-controller/ios/media-controller-allows-click-over-video-with-no-controls.html * Modules/modern-media-controls/controls/ios-inline-media-controls.js: (IOSInlineMediaControls.prototype.set showsStartButton): (IOSInlineMediaControls.prototype.get visible): (IOSInlineMediaControls.prototype.set visible): (IOSInlineMediaControls.prototype._updateGestureRecognizers): (IOSInlineMediaControls.prototype._tapGestureRecognizerStateDidChange): (IOSInlineMediaControls.prototype._pinchGestureRecognizerStateDidChange): LayoutTests: This test replicates the scenario found on video.sina.cn that caused the issue: a element originally has the "controls" attribute and is not set to autoplay. This means the tap gesture recognizer is created to track a tap for the video to play. Then the "controls" attribute is removed and we dispatch a tap on the video which would previously have *not* caused a "click" event to eventually be dispatched on the element since the tap gesture recognizer would call preventDefault(). With this patch applied, we get the "click" event because the tap gesture recognizer is disabled once the controls are no longer visible. * media/modern-media-controls/media-controller/ios/media-controller-allows-click-over-video-with-no-controls-expected.txt: Added. * media/modern-media-controls/media-controller/ios/media-controller-allows-click-over-video-with-no-controls.html: Added. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247544 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/LayoutTests/ChangeLog branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/Modules/modern-media-controls/controls/ios-inline-media-controls.js Added Paths branches/safari-608-branch/LayoutTests/media/modern-media-controls/media-controller/ios/media-controller-allows-click-over-video-with-no-controls-expected.txt branches/safari-608-branch/LayoutTests/media/modern-media-controls/media-controller/ios/media-controller-allows-click-over-video-with-no-controls.html Diff Modified: branches/safari-608-branch/LayoutTests/ChangeLog (247611 => 247612) --- branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-18 20:24:58 UTC (rev 247611) +++ branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-18 20:25:01 UTC (rev 247612) @@ -1,5 +1,68 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247544. rdar://problem/53230040 + +Unable to bring up custom media controls on iOS for video.sina.cn +https://bugs.webkit.org/show_bug.cgi?id=199889 + + +Reviewed by Dean Jackson. + +Source/WebCore: + +Videos on video.sina.cn by default have the "controls" attribute and are set not to autoplay. This means that the original state +of the media controls are set to show the built-in media controls and also show the prominent play button to begin playback. The +display of the play button also requires a tap gesture recognizer, which calls preventDefault() when the "touchend" is received +to prevent double-tap-to-zoom, but also has the side-effect of preventing a "click" event from being dispatched for a tap. + +The video.sina.cn code would eventually remove the "controls" attribute, which would make the built-in media controls not visible, +but still participate in hit-testing because we keep the shadow DOM around in order to potentially show the Airplay or picture-in-picture +
[webkit-changes] [247613] branches/safari-608-branch/Source/WebKit
Title: [247613] branches/safari-608-branch/Source/WebKit Revision 247613 Author kocsen_ch...@apple.com Date 2019-07-18 13:25:03 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247547. rdar://problem/53230043 Provide a NSURL cateogry to tell AppSSO Kerberos URLs https://bugs.webkit.org/show_bug.cgi?id=199887 Reviewed by Brent Fulgham. * UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.h: * UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.mm: (+[NSURL _web_willPerformSOKerberosAuthorizationWithURL:]): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247547 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.h branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.mm Diff Modified: branches/safari-608-branch/Source/WebKit/ChangeLog (247612 => 247613) --- branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:25:01 UTC (rev 247612) +++ branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:25:03 UTC (rev 247613) @@ -1,5 +1,34 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247547. rdar://problem/53230043 + +Provide a NSURL cateogry to tell AppSSO Kerberos URLs +https://bugs.webkit.org/show_bug.cgi?id=199887 + + +Reviewed by Brent Fulgham. + +* UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.h: +* UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.mm: +(+[NSURL _web_willPerformSOKerberosAuthorizationWithURL:]): + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247547 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Jiewen Tan + +Provide a NSURL cateogry to tell AppSSO Kerberos URLs +https://bugs.webkit.org/show_bug.cgi?id=199887 + + +Reviewed by Brent Fulgham. + +* UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.h: +* UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.mm: +(+[NSURL _web_willPerformSOKerberosAuthorizationWithURL:]): + +2019-07-17 Kocsen Chung + Cherry-pick r247530. rdar://problem/53229569 Typing into a cell in a Google Sheet lags behind by one character Modified: branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.h (247612 => 247613) --- branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.h 2019-07-18 20:25:01 UTC (rev 247612) +++ branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.h 2019-07-18 20:25:03 UTC (rev 247613) @@ -25,9 +25,12 @@ #pragma once -// FIXME rdar://problem/50028246 Remove the following once the radar is fixed. @interface NSURL (SOAuthorizationExtras) +// FIXME: Remove the following once the radar is fixed. + (BOOL)_web_canPerformAuthorizationWithURL:(NSURL *)url; +// FIXME: Remove the following once the radar is fixed. ++ (BOOL)_web_willPerformSOKerberosAuthorizationWithURL:(NSURL *)url; + @end Modified: branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.mm (247612 => 247613) --- branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.mm 2019-07-18 20:25:01 UTC (rev 247612) +++ branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationNSURLExtras.mm 2019-07-18 20:25:03 UTC (rev 247613) @@ -39,4 +39,13 @@ #endif } ++ (BOOL)_web_willPerformSOKerberosAuthorizationWithURL:(NSURL *)url +{ +#if HAVE(APP_SSO) +return [PAL::getSOAuthorizationClass() canPerformAuthorizationWithURL:url responseCode:401]; +#else +return false; +#endif +} + @end ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247596] branches/safari-608-branch/Source/WebCore
Title: [247596] branches/safari-608-branch/Source/WebCore Revision 247596 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:03 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247489. rdar://problem/53229754 [iOS] Make sure the first camera device in the list is the front camera https://bugs.webkit.org/show_bug.cgi?id=199811 Reviewed by Jer Noble. Some websites call getUserMedia with a deviceId constraint and theey pick the first deviceId in the list provided by enumerateDevices. On iOS, this is the back camera which is often not what is expected by WebRTC applications. Instead, make sure the first camera device is the front camera. Manually tested. * platform/mediastream/mac/AVCaptureDeviceManager.mm: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247489 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247595 => 247596) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:01 UTC (rev 247595) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:03 UTC (rev 247596) @@ -1,5 +1,44 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247489. rdar://problem/53229754 + +[iOS] Make sure the first camera device in the list is the front camera +https://bugs.webkit.org/show_bug.cgi?id=199811 + + +Reviewed by Jer Noble. + +Some websites call getUserMedia with a deviceId constraint and theey pick the +first deviceId in the list provided by enumerateDevices. +On iOS, this is the back camera which is often not what is expected by WebRTC applications. +Instead, make sure the first camera device is the front camera. + +Manually tested. + +* platform/mediastream/mac/AVCaptureDeviceManager.mm: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247489 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-16 Youenn Fablet + +[iOS] Make sure the first camera device in the list is the front camera +https://bugs.webkit.org/show_bug.cgi?id=199811 + + +Reviewed by Jer Noble. + +Some websites call getUserMedia with a deviceId constraint and theey pick the +first deviceId in the list provided by enumerateDevices. +On iOS, this is the back camera which is often not what is expected by WebRTC applications. +Instead, make sure the first camera device is the front camera. + +Manually tested. + +* platform/mediastream/mac/AVCaptureDeviceManager.mm: + +2019-07-17 Kocsen Chung + Cherry-pick r247487. rdar://problem/53229629 Remove "GraphicsContext 0x7ffd8765f6b0 stack changed by" logging Modified: branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm (247595 => 247596) --- branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm 2019-07-18 20:24:01 UTC (rev 247595) +++ branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm 2019-07-18 20:24:03 UTC (rev 247596) @@ -145,6 +145,11 @@ return devices[0].persistentId() == defaultDeviceID; } +static inline bool isVideoDevice(AVCaptureDevice *device) +{ +return [device hasMediaType:AVMediaTypeVideo] || [device hasMediaType:AVMediaTypeMuxed]; +} + void AVCaptureDeviceManager::refreshCaptureDevices() { if (!m_avCaptureDevices) { @@ -158,7 +163,21 @@ Vector deviceList; auto* defaultVideoDevice = [PAL::getAVCaptureDeviceClass() defaultDeviceWithMediaType: AVMediaTypeVideo]; +#if PLATFORM(IOS) +if ([defaultVideoDevice position] != AVCaptureDevicePositionFront) { +defaultVideoDevice = nullptr; +for (AVCaptureDevice *platformDevice in currentDevices) { +if (!isVideoDevice(platformDevice)) +continue; +if ([platformDevice position] == AVCaptureDevicePositionFront) { +defaultVideoDevice = platformDevice; +break; +} +} +} +#endif + bool deviceHasChanged = false; if (defaultVideoDevice) { deviceList.append(toCaptureDevice(defaultVideoDevice)); @@ -165,7 +184,7 @@ deviceHasChanged = !isDefaultVideoCaptureDeviceFirst(captureDevices(), defaultVideoDevice.uniqueID); } for (AVCaptureDevice *platformDevice in currentDevices) { -if (![platformDevice hasMediaType:AVMediaTypeVideo] && ![platformDevice hasMediaType:AVMediaTypeMuxed]) +if (!isVideoDevice(platformDevice)) continue; if (!deviceHasChanged && !isMatchingExistingCaptureDevice(platformDevice)) ___ webkit-changes mailing
[webkit-changes] [247594] branches/safari-608-branch/Source
Title: [247594] branches/safari-608-branch/Source Revision 247594 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:58 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247486. rdar://problem/53229738 Speed up StorageManager::getValues() https://bugs.webkit.org/show_bug.cgi?id=199812 Reviewed by Alex Christensen. Source/WebCore: * storage/StorageMap.cpp: (WebCore::StorageMap::importItems): * storage/StorageMap.h: Source/WebKit: Made the following performance improvements: - Made StorageManager a WorkQueueMessageReceiver again (like it was before it got moved from the UIProcess to the Network process). This avoids a lot of thread hopping (IPC thread -> Main thread -> StorageManagerThread -> Main Thread) and a lot of isolatedCopying of the strings. - Move values around when possible to avoid copying. - Add fast path to StorageMap::importItems() for when the StorageMap is empty when importing (15ms -> 2.5ms). * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::didReceiveMessage): (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage): * NetworkProcess/WebStorage/LocalStorageDatabase.cpp: (WebKit::LocalStorageDatabase::importItems): * NetworkProcess/WebStorage/StorageManager.cpp: (WebKit::StorageManager::addAllowedSessionStorageNamespaceConnection): (WebKit::StorageManager::removeAllowedSessionStorageNamespaceConnection): (WebKit::StorageManager::processDidCloseConnection): (WebKit::StorageManager::createLocalStorageMap): (WebKit::StorageManager::createTransientLocalStorageMap): (WebKit::StorageManager::createSessionStorageMap): (WebKit::StorageManager::destroyStorageMap): (WebKit::StorageManager::getValues): (WebKit::StorageManager::setItem): (WebKit::StorageManager::setItems): (WebKit::StorageManager::removeItem): (WebKit::StorageManager::clear): * NetworkProcess/WebStorage/StorageManager.h: * Platform/IPC/Connection.cpp: (IPC::Connection::addWorkQueueMessageReceiver): (IPC::Connection::removeWorkQueueMessageReceiver): (IPC::Connection::processIncomingMessage): (IPC::Connection::dispatchMessage): (IPC::Connection::dispatchMessageToWorkQueueReceiver): * Platform/IPC/Connection.h: * WebProcess/WebStorage/StorageAreaMap.cpp: (WebKit::StorageAreaMap::loadValuesIfNeeded): Messages to WorkQueueMessageReceivers are normally dispatched from the IPC WorkQueue. However, there is a race if a client (here StorageManager) adds itself as a WorkQueueMessageReceiver as a result of receiving an IPC message on the main thread (here NetworkConnectionToWebProcess::WebPageWasAdded). The message might have already been dispatched from the IPC WorkQueue to the main thread by the time the client registers itself as a WorkQueueMessageReceiver. To address this, we check again for messages receivers once the message arrives on the main thread. Source/WebKitLegacy: * Storage/StorageAreaImpl.cpp: (WebKit::StorageAreaImpl::importItems): * Storage/StorageAreaImpl.h: * Storage/StorageAreaSync.cpp: (WebKit::StorageAreaSync::performImport): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247486 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/storage/StorageMap.cpp branches/safari-608-branch/Source/WebCore/storage/StorageMap.h branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp branches/safari-608-branch/Source/WebKit/NetworkProcess/WebStorage/LocalStorageDatabase.cpp branches/safari-608-branch/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp branches/safari-608-branch/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h branches/safari-608-branch/Source/WebKit/Platform/IPC/Connection.cpp branches/safari-608-branch/Source/WebKit/Platform/IPC/Connection.h branches/safari-608-branch/Source/WebKit/WebProcess/WebStorage/StorageAreaMap.cpp branches/safari-608-branch/Source/WebKitLegacy/ChangeLog branches/safari-608-branch/Source/WebKitLegacy/Storage/StorageAreaImpl.cpp branches/safari-608-branch/Source/WebKitLegacy/Storage/StorageAreaImpl.h branches/safari-608-branch/Source/WebKitLegacy/Storage/StorageAreaSync.cpp Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247593 => 247594) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:53 UTC (rev 247593) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:58 UTC (rev 247594) @@ -1,5 +1,89 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247486. rdar://problem/53229738 + +Speed up StorageManager::getValues() +https://bugs.webkit.org/show_bug.cgi?id=199812 + +Reviewed by Alex Christensen. + +
[webkit-changes] [247606] branches/safari-608-branch
Title: [247606] branches/safari-608-branch Revision 247606 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:40 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247530. rdar://problem/53229569 Typing into a cell in a Google Sheet lags behind by one character https://bugs.webkit.org/show_bug.cgi?id=199587 Reviewed by Brent Fulgham. Source/WebCore: Add a Google Sheets quirk. Put all DOM timers scheduled from keydown and keypress event listeners into a holding tank. The timers continue to tick, but are barred from executing their action until the next text insertion or deletion or 32 ms (on device) have elapsed, whichever is sooner. We only allocate a holding tank once per document, only if the quirk is active, and this allocation is done when the document schedules a timer on keydown or keypress. The holding tank lives for the lifetime of the document. The story behind the quirk: On keypress Google Sheets schedules timers and expects that a DOM update will occur (i.e. text will be inserted or deleted) within the same event loop iteration as the dispatched keypress. The UI Events spec. [1] makes no such guarantee of when a DOM update must occur in relation to the keypress event. It could happen in the same event loop iteration as the key press (as Google expects), the next iteration, 500ms later, 2 minutes later, etc. What the spec does guarantee is that by the time a DOM input event is dispatched that the DOM will be updated. And this is the solution to the problem Google Sheets is trying to solve, but is doing so using pre-IE 9 technology (though similar functionality was available via onpropertychange in IE < 9). See also , which is tracking a spec. text update for this quirk. Test: fast/events/ios/dom-update-on-keydown-quirk.html [1] (Editor's Draft, 14 October 2018) * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: Add some files to the project. * dom/Document.cpp: (WebCore::Document::domTimerHoldingTank): Added. * dom/Document.h: (WebCore::Document::domTimerHoldingTankIfExists): Added. * page/DOMTimer.cpp: (WebCore::DOMTimer::install): Put the newly instantiated timer into the holding tank. (WebCore::DOMTimer::removeById): Remove the timer from the holding tank. (WebCore::DOMTimer::fired): Check if the timer is in the holding tank. If it is and it is a one- shot timer then schedule it for the next event loop iteration. If it's a repeating timer just let it continue ticking. Otherwise, do what we no now and execute the timer's action. The reason we do not suspend timers in the holding tank is because: 1. Far out timers (Google Sheets registers timers as far out as 5 minutes!) are not penalized. Though smart supension logic could avoid this. See (3). 2. Empirical observations indicate that the keyboard will perform the insertion or deletion reasonably quickly (not the same event loop iteration as the keydown, but within two iterations out). So, the timers in the holding tank are short-lived. 3. Simplifies the code. There is no need to keep additional bookkeeping to track multiple timer suspension reasons (timers currently can only have one suspension reason) or alternatively defer scheduling a timer until a later time and computing a new "fair" firing time when scheduled. * page/EventHandler.cpp: (WebCore::EventHandler::internalKeyEvent): Place a token on the stack to put all DOM timers scheduled on keydown and keypress into the holding tank if the quirk is enabled. * page/Quirks.cpp: (WebCore::Quirks::needsDeferKeyDownAndKeyPressTimersUntilNextEditingCommand const): Added. * page/Quirks.h: * page/Settings.yaml: Added setting so that this quirk can be enabled from a layout test. This setting also lets us enable the quirk for all sites or for certain third-party apps if desired. * page/ios/DOMTimerHoldingTank.cpp: Added. (WebCore::DOMTimerHoldingTank::DOMTimerHoldingTank): (WebCore::DOMTimerHoldingTank::add): (WebCore::DOMTimerHoldingTank::remove): (WebCore::DOMTimerHoldingTank::contains): (WebCore::DOMTimerHoldingTank::removeAll): (WebCore::DOMTimerHoldingTank::stopExceededMaximumHoldTimer): * page/ios/DOMTimerHoldingTank.h: Added. (WebCore::DeferDOMTimersForScope::DeferDOMTimersForScope): (WebCore::DeferDOMTimersForScope::~DeferDOMTimersForScope): (WebCore::DeferDOMTimersForScope::isDeferring): Source/WebKit: Remove all timers from the holding tank on text insertion or deletion (represented as an editing command). Timers that were in the holding tank never stopped ticking and will now be able to execute their action. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::executeEditingCommand): (WebKit::WebPage::insertTextAsync):
[webkit-changes] [247603] branches/safari-608-branch
Title: [247603] branches/safari-608-branch Revision 247603 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:29 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247524. rdar://problem/53229635 [iOS] Option + Up or Down Arrow key doesn’t move cursor past paragraph boundaries in WebKit2 https://bugs.webkit.org/show_bug.cgi?id=199851 Reviewed by Wenson Hsieh. Source/WebKit: The bug was caused by the difference in the way AppKit and UIKit responds to Option + Up / Down. On macOS, AppKit sends moveForward before sending moveToStartOfParagraph and moveBackward before sending moveToEndOfParagraph. As a result, when Option + Down is pressed when we are at the end of a line, we would first move to the beginning of the next line (i.e. after the line break) before moving or extending selection with the paragraph boundary granurality. On iOS, UIKit only calls _moveToStartOfParagraph without moving forward by a character. As a result, moving forward by the paragraph boundary granurality immediately stops when we're starting at the end of a line when Option + Down is pressed. Option + Up case is similar. Fix the bug on iOS by emulating what happens on macOS. Namely, move the selection forward or backward by the character granurality before moving by the paragraph boundary granurality. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _moveToStartOfParagraph:withHistory:]): (-[WKContentView _moveToEndOfParagraph:withHistory:]): Tools: Added a regression test for iOS. Unfortunately, event sender, etc... doesn't work because this code is getting directly triggered from UIKeyboard's code. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h: Added. * TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm: Added. * TestWebKitAPI/ios/UIKitSPI.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247524 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm branches/safari-608-branch/Tools/ChangeLog branches/safari-608-branch/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj branches/safari-608-branch/Tools/TestWebKitAPI/ios/UIKitSPI.h Added Paths branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h branches/safari-608-branch/Tools/TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm Diff Modified: branches/safari-608-branch/Source/WebKit/ChangeLog (247602 => 247603) --- branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:24:25 UTC (rev 247602) +++ branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:24:29 UTC (rev 247603) @@ -1,5 +1,72 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247524. rdar://problem/53229635 + +[iOS] Option + Up or Down Arrow key doesn’t move cursor past paragraph boundaries in WebKit2 +https://bugs.webkit.org/show_bug.cgi?id=199851 + +Reviewed by Wenson Hsieh. + +Source/WebKit: + +The bug was caused by the difference in the way AppKit and UIKit responds to Option + Up / Down. + +On macOS, AppKit sends moveForward before sending moveToStartOfParagraph and moveBackward +before sending moveToEndOfParagraph. As a result, when Option + Down is pressed when we are at +the end of a line, we would first move to the beginning of the next line (i.e. after the line break) +before moving or extending selection with the paragraph boundary granurality. + +On iOS, UIKit only calls _moveToStartOfParagraph without moving forward by a character. As a result, +moving forward by the paragraph boundary granurality immediately stops when we're starting at the +end of a line when Option + Down is pressed. Option + Up case is similar. + +Fix the bug on iOS by emulating what happens on macOS. Namely, move the selection forward or backward +by the character granurality before moving by the paragraph boundary granurality. + +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView _moveToStartOfParagraph:withHistory:]): +(-[WKContentView _moveToEndOfParagraph:withHistory:]): + +Tools: + +Added a regression test for iOS. Unfortunately, event sender, etc... doesn't work because +this code is getting directly triggered from UIKeyboard's code. + +* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: +* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h: Added. +* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm: Added. +* TestWebKitAPI/ios/UIKitSPI.h: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247524 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Ryosuke Niwa + +[iOS]
[webkit-changes] [247597] branches/safari-608-branch
Title: [247597] branches/safari-608-branch Revision 247597 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:09 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247490. rdar://problem/53229559 NSTextFinder holes don't scroll with the page https://bugs.webkit.org/show_bug.cgi?id=199815 Reviewed by Simon Fraser. Source/WebCore: * rendering/ScrollAlignment.h: Source/WebKit: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _usePlatformFindUI]): (-[WKWebView _setUsePlatformFindUI:]): (-[WKWebView _ensureTextFinderClient]): Add a bit so that clients can choose whether they want our find UI, which respects scrolling, or the system find UI, which works when doing multi-document searches. Right now you can't have both. (-[WKWebView scrollFindMatchToVisible:]): Implement and plumb scrollFindMatchToVisible. * UIProcess/API/Cocoa/WKWebViewPrivate.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::indicateFindMatch): * UIProcess/WebPageProxy.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::indicateFindMatch): * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: Plumb indicateFindMatch to FindController. * UIProcess/mac/WKTextFinderClient.h: * UIProcess/mac/WKTextFinderClient.mm: (-[WKTextFinderClient initWithPage:view:usePlatformFindUI:]): Store whether or not we are using the platform find UI. (-[WKTextFinderClient findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]): If using WebKit find UI, turn on our UI in the options passed to findString[Matches]. (-[WKTextFinderClient scrollFindMatchToVisible:]): If using WebKit find UI, when the platform tells us to reveal a find match, indicate it. (-[WKTextFinderClient didFindStringMatchesWithRects:didWrapAround:]): If using WebKit find UI, lie to the platform and return no rects so that it doesn't paint a yellow rectangle. (-[WKTextFinderClient getImageForMatchResult:completionHandler:]): If using WebKit find UI, lie to the platform and return no image so that it doesn't paint a yellow rectangle. (-[WKTextFinderClient initWithPage:view:]): Deleted. * WebProcess/WebPage/FindController.cpp: (WebKit::FindController::updateFindUIAfterPageScroll): Make it possible to use our find UI with 'findStringMatches'; since the platform find infrastrucutre depends on knowing about all matches up front, we need to use 'findStringMatches' instead of 'findString', but we had never combined that with our UI. Don't throw away the other matches when we indicate one, and don't send DidFindString in the case we are coming from 'findStringMatches'. This all needs a bit of cleanup in the future. (WebKit::FindController::findString): Tell updateFindUIAfterPageScroll that we are 'findString' so that it uses its normal behavior. (WebKit::FindController::findStringMatches): Tell updateFindUIAfterPageScroll that we are 'findStringMatches' so that it uses the adjusted behavior. (WebKit::FindController::indicateFindMatch): Add 'indicateFindMatch', which both selects the match and moves the indicator there. * WebProcess/WebPage/FindController.h: Tools: * MiniBrowser/mac/WK2BrowserWindowController.m: (-[MiniBrowserNSTextFinder performAction:]): (-[WK2BrowserWindowController awakeFromNib]): Adopt the WebKit UI in MiniBrowser. Also, override NSTextFinder's -performAction: so that we can intercept the close action and hide our own find UI, since there is no delegate for that action yet. * TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm: (TEST): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247490 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/PAL/pal/spi/mac/NSTextFinderSPI.h branches/safari-608-branch/Source/WebCore/rendering/ScrollAlignment.h branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm branches/safari-608-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h branches/safari-608-branch/Source/WebKit/UIProcess/WebPageProxy.cpp branches/safari-608-branch/Source/WebKit/UIProcess/WebPageProxy.h branches/safari-608-branch/Source/WebKit/UIProcess/mac/WKTextFinderClient.h branches/safari-608-branch/Source/WebKit/UIProcess/mac/WKTextFinderClient.mm branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/FindController.cpp branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/FindController.h branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/WebPage.cpp branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/WebPage.h branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/WebPage.messages.in branches/safari-608-branch/Tools/ChangeLog
[webkit-changes] [247593] branches/safari-608-branch
Title: [247593] branches/safari-608-branch Revision 247593 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:53 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247484. rdar://problem/53229757 [Text autosizing] [iPadOS] Paragraph text on the front page of LinkedIn.com is not boosted https://bugs.webkit.org/show_bug.cgi?id=199827 Reviewed by Zalan Bujtas. Source/WebCore: After r247467, we try to avoid boosting some text that might cause vertical overflow due to line height increasing inside a container that expects a fixed integer number of lines. However, in the case of linkedin.com, the line height specified is a fixed value of 26px, which greatly exceeds the specified font size of 14px. In this case, it's safe to boost font size, since doing so would not affect the line height at all. To handle this case, don't avoid text autosizing due to the "fixed number of lines" heuristic if the line height is fixed, and is much larger than the font size. Test: fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html * rendering/style/TextSizeAdjustment.cpp: (WebCore::AutosizeStatus::updateStatus): LayoutTests: Add a new test case, inspired by paragraph text in a post on linkedin.com. This text should get autosized. * fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates-expected.txt: * fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247484 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/LayoutTests/ChangeLog branches/safari-608-branch/LayoutTests/fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates-expected.txt branches/safari-608-branch/LayoutTests/fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/rendering/style/TextSizeAdjustment.cpp Diff Modified: branches/safari-608-branch/LayoutTests/ChangeLog (247592 => 247593) --- branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-18 20:23:50 UTC (rev 247592) +++ branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-18 20:23:53 UTC (rev 247593) @@ -1,5 +1,53 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247484. rdar://problem/53229757 + +[Text autosizing] [iPadOS] Paragraph text on the front page of LinkedIn.com is not boosted +https://bugs.webkit.org/show_bug.cgi?id=199827 + + +Reviewed by Zalan Bujtas. + +Source/WebCore: + +After r247467, we try to avoid boosting some text that might cause vertical overflow due to line height +increasing inside a container that expects a fixed integer number of lines. However, in the case of +linkedin.com, the line height specified is a fixed value of 26px, which greatly exceeds the specified font size +of 14px. In this case, it's safe to boost font size, since doing so would not affect the line height at all. + +To handle this case, don't avoid text autosizing due to the "fixed number of lines" heuristic if the line height +is fixed, and is much larger than the font size. + +Test: fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html + +* rendering/style/TextSizeAdjustment.cpp: +(WebCore::AutosizeStatus::updateStatus): + +LayoutTests: + +Add a new test case, inspired by paragraph text in a post on linkedin.com. This text should get autosized. + +* fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates-expected.txt: +* fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247484 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-16 Wenson Hsieh + +[Text autosizing] [iPadOS] Paragraph text on the front page of LinkedIn.com is not boosted +https://bugs.webkit.org/show_bug.cgi?id=199827 + + +Reviewed by Zalan Bujtas. + +Add a new test case, inspired by paragraph text in a post on linkedin.com. This text should get autosized. + +* fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates-expected.txt: +* fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html: + +2019-07-17 Kocsen Chung + Cherry-pick r247474. rdar://problem/53229615 JSGlobalObject type macros should support feature flags and WeakRef should have one Modified: branches/safari-608-branch/LayoutTests/fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates-expected.txt (247592 => 247593) --- branches/safari-608-branch/LayoutTests/fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates-expected.txt 2019-07-18 20:23:50 UTC (rev 247592)
[webkit-changes] [247608] branches/safari-608-branch
Title: [247608] branches/safari-608-branch Revision 247608 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:46 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247532. rdar://problem/53228435 ArgumentsEliminationPhase should insert KillStack nodes before PutStack nodes that it adds. https://bugs.webkit.org/show_bug.cgi?id=199821 Reviewed by Filip Pizlo. JSTests: * stress/arguments-elimination-should-insert-KillStacks-before-added-PutStacks.js: Added. Source/_javascript_Core: Excluding the ArgumentsEliminationPhase, PutStack nodes are converted from SetLocal nodes in the SSAConversionPhase. SetLocal nodes are always preceded by MovHint nodes, and the SSAConversionPhase always inserts a KillStack node before a MovHint node. Hence, a PutStack node is always preceded by a KillStack node. However, the ArgumentsEliminationPhase can convert LoadVarargs nodes into a series of one or more PutStacks nodes, and it prepends MovHint nodes before the PutStack nodes. However, it neglects to prepend KillStack nodes as well. Since the ArgumentsEliminationPhase runs after the SSAConversionPhase, the PutStack nodes added during ArgumentsElimination will not be preceded by KillStack nodes. This patch fixes this by inserting a KillStack in the ArgumentsEliminationPhase before it inserts a MovHint and a PutStack node. Consider this test case which can manifest the above issue as a crash: function inlinee(value) { ... let tmp = value + 1; } function reflect() { return inlinee.apply(undefined, arguments); } function test(arr) { let object = inlinee.apply(undefined, arr); // Uses a lot of SetArgumentMaybe nodes. reflect();// Calls with a LoadVararg, which gets converted into a PutStack of a constant. } In this test case, we have a scenario where a SetArgumentMaybe's stack slot is reused as the stack slot for a PutStack later. Here, the PutStack will put a constant undefined value. Coincidentally, the SetArgumentMaybe may also initialize that stack slot to a constant undefined value. Note that by the time the PutStack executes, the SetArgumentMaybe's stack slot is dead. The liveness of these 2 values are distinct. However, because we were missing a KillStack before the PutStack, OSR availability analysis gets misled into thinking that the PutStack constant value is still in the stack slot because the value left there by the SetArgumentMaybe hasn't been killed off yet. As a result, OSR exit code will attempt to recover the PutStack's undefined constant by loading from the stack slot instead of materializing it. Since SetArgumentMaybe may not actually initialize the stack slot, we get a crash in OSR exit when we try to recover the PutStack constant value from the stack slot, and end up using what ever junk value we read from there. Fixing the ArgumentsEliminationPhase to insert KillStack before the PutStack removes this conflation of the PutStack's constant value with the SetArgumentMaybe's constant value in the same stack slot. And, OSR availability analysis will no longer be misled to load the PutStack's constant value from the stack, but will materialize the constant instead. * dfg/DFGArgumentsEliminationPhase.cpp: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247532 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/JSTests/ChangeLog branches/safari-608-branch/Source/_javascript_Core/ChangeLog branches/safari-608-branch/Source/_javascript_Core/dfg/DFGArgumentsEliminationPhase.cpp Added Paths branches/safari-608-branch/JSTests/stress/arguments-elimination-should-insert-KillStacks-before-added-PutStacks.js Diff Modified: branches/safari-608-branch/JSTests/ChangeLog (247607 => 247608) --- branches/safari-608-branch/JSTests/ChangeLog 2019-07-18 20:24:44 UTC (rev 247607) +++ branches/safari-608-branch/JSTests/ChangeLog 2019-07-18 20:24:46 UTC (rev 247608) @@ -1,3 +1,87 @@ +2019-07-17 Kocsen Chung + +Cherry-pick r247532. rdar://problem/53228435 + +ArgumentsEliminationPhase should insert KillStack nodes before PutStack nodes that it adds. +https://bugs.webkit.org/show_bug.cgi?id=199821 + + +Reviewed by Filip Pizlo. + +JSTests: + +* stress/arguments-elimination-should-insert-KillStacks-before-added-PutStacks.js: Added. + +Source/_javascript_Core: + +Excluding the ArgumentsEliminationPhase, PutStack nodes are converted from SetLocal +nodes in the SSAConversionPhase. SetLocal nodes are always preceded by MovHint nodes, +and the SSAConversionPhase always inserts a KillStack node before a MovHint node. +Hence, a PutStack node is always preceded by a KillStack node. + +However, the
[webkit-changes] [247588] branches/safari-608-branch/Source
Title: [247588] branches/safari-608-branch/Source Revision 247588 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:36 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247470. rdar://problem/53229634 outlook.live.com has odd viewport with edge gap https://bugs.webkit.org/show_bug.cgi?id=199822 Reviewed by Wenson Hsieh. Source/WebCore: r244944 introduced a viewport width quirk because at certain screen size outlook.live.com's flex setup produced a slighly broken layout. We don't seem to need this quirk anymore (composed column's min-width is removed.) * page/Quirks.cpp: (WebCore::Quirks::shouldIgnoreShrinkToFitContent const): Deleted. (WebCore::Quirks::overriddenViewLayoutWidth const): Deleted. * page/Quirks.h: Source/WebKit: * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::setViewportConfigurationViewLayoutSize): (WebKit::WebPage::dynamicViewportSizeUpdate): (WebKit::WebPage::resetViewportDefaultConfiguration): (WebKit::WebPage::immediatelyShrinkToFitContent): (WebKit::WebPage::viewLayoutSizeAdjustedForQuirks): Deleted. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247470 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/page/Quirks.cpp branches/safari-608-branch/Source/WebCore/page/Quirks.h branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/WebPage.h branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247587 => 247588) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:33 UTC (rev 247587) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:36 UTC (rev 247588) @@ -1,5 +1,54 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247470. rdar://problem/53229634 + +outlook.live.com has odd viewport with edge gap +https://bugs.webkit.org/show_bug.cgi?id=199822 + + +Reviewed by Wenson Hsieh. + +Source/WebCore: + +r244944 introduced a viewport width quirk because at certain screen size outlook.live.com's flex setup produced a slighly broken layout. +We don't seem to need this quirk anymore (composed column's min-width is removed.) + +* page/Quirks.cpp: +(WebCore::Quirks::shouldIgnoreShrinkToFitContent const): Deleted. +(WebCore::Quirks::overriddenViewLayoutWidth const): Deleted. +* page/Quirks.h: + +Source/WebKit: + +* WebProcess/WebPage/WebPage.h: +* WebProcess/WebPage/ios/WebPageIOS.mm: +(WebKit::WebPage::setViewportConfigurationViewLayoutSize): +(WebKit::WebPage::dynamicViewportSizeUpdate): +(WebKit::WebPage::resetViewportDefaultConfiguration): +(WebKit::WebPage::immediatelyShrinkToFitContent): +(WebKit::WebPage::viewLayoutSizeAdjustedForQuirks): Deleted. + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247470 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-15 Zalan Bujtas + +outlook.live.com has odd viewport with edge gap +https://bugs.webkit.org/show_bug.cgi?id=199822 + + +Reviewed by Wenson Hsieh. + +r244944 introduced a viewport width quirk because at certain screen size outlook.live.com's flex setup produced a slighly broken layout. +We don't seem to need this quirk anymore (composed column's min-width is removed.) + +* page/Quirks.cpp: +(WebCore::Quirks::shouldIgnoreShrinkToFitContent const): Deleted. +(WebCore::Quirks::overriddenViewLayoutWidth const): Deleted. +* page/Quirks.h: + +2019-07-17 Kocsen Chung + Cherry-pick r247467. rdar://problem/53229768 [Text autosizing] [iPadOS] Product label text is clipped in portrait mode on the front page of sephora.com Modified: branches/safari-608-branch/Source/WebCore/page/Quirks.cpp (247587 => 247588) --- branches/safari-608-branch/Source/WebCore/page/Quirks.cpp 2019-07-18 20:23:33 UTC (rev 247587) +++ branches/safari-608-branch/Source/WebCore/page/Quirks.cpp 2019-07-18 20:23:36 UTC (rev 247588) @@ -57,37 +57,6 @@ return m_document && m_document->settings().needsSiteSpecificQuirks(); } -bool Quirks::shouldIgnoreShrinkToFitContent() const -{ -#if PLATFORM(IOS_FAMILY) -if (!needsQuirks()) -return false; - -auto host = m_document->topDocument().url().host(); -if (equalLettersIgnoringASCIICase(host, "outlook.live.com")) -return true; -#endif -return false; -} - -Optional Quirks::overriddenViewLayoutWidth(LayoutUnit currentViewLayoutWidth) const -{ -#if PLATFORM(IOS_FAMILY) -if (!needsQuirks()) -return { }; - -auto host = m_document->topDocument().url().host(); -if
[webkit-changes] [247592] branches/safari-608-branch/Source
Title: [247592] branches/safari-608-branch/Source Revision 247592 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:50 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247483. rdar://problem/53229618 [ContentChangeObserver] Cancel ongoing content observation when tap is failed/cancelled https://bugs.webkit.org/show_bug.cgi?id=199828 Reviewed by Wenson Hsieh. Source/WebCore: This patch ensures that we stop the content observation (initiated by touch start) when the tap is cancelled/failed. Not testable. * page/ios/ContentChangeObserver.cpp: (WebCore::ContentChangeObserver::didCancelPotentialTap): * page/ios/ContentChangeObserver.h: Source/WebKit: * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::commitPotentialTapFailed): (WebKit::WebPage::cancelPotentialTap): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247483 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/page/ios/ContentChangeObserver.cpp branches/safari-608-branch/Source/WebCore/page/ios/ContentChangeObserver.h branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247591 => 247592) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:47 UTC (rev 247591) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:50 UTC (rev 247592) @@ -1,5 +1,52 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247483. rdar://problem/53229618 + +[ContentChangeObserver] Cancel ongoing content observation when tap is failed/cancelled +https://bugs.webkit.org/show_bug.cgi?id=199828 + + +Reviewed by Wenson Hsieh. + +Source/WebCore: + +This patch ensures that we stop the content observation (initiated by touch start) when the tap +is cancelled/failed. + +Not testable. + +* page/ios/ContentChangeObserver.cpp: +(WebCore::ContentChangeObserver::didCancelPotentialTap): +* page/ios/ContentChangeObserver.h: + +Source/WebKit: + +* WebProcess/WebPage/ios/WebPageIOS.mm: +(WebKit::WebPage::commitPotentialTapFailed): +(WebKit::WebPage::cancelPotentialTap): + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247483 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-16 Zalan Bujtas + +[ContentChangeObserver] Cancel ongoing content observation when tap is failed/cancelled +https://bugs.webkit.org/show_bug.cgi?id=199828 + + +Reviewed by Wenson Hsieh. + +This patch ensures that we stop the content observation (initiated by touch start) when the tap +is cancelled/failed. + +Not testable. + +* page/ios/ContentChangeObserver.cpp: +(WebCore::ContentChangeObserver::didCancelPotentialTap): +* page/ios/ContentChangeObserver.h: + +2019-07-17 Kocsen Chung + Cherry-pick r247480. rdar://problem/53229746 Hop to main thread for release logging in RealtimeIncomingAudioSource Modified: branches/safari-608-branch/Source/WebCore/page/ios/ContentChangeObserver.cpp (247591 => 247592) --- branches/safari-608-branch/Source/WebCore/page/ios/ContentChangeObserver.cpp 2019-07-18 20:23:47 UTC (rev 247591) +++ branches/safari-608-branch/Source/WebCore/page/ios/ContentChangeObserver.cpp 2019-07-18 20:23:50 UTC (rev 247592) @@ -150,6 +150,12 @@ } } +void ContentChangeObserver::didCancelPotentialTap(Frame& mainFrame) +{ +LOG(ContentObservation, "didCancelPotentialTap: cancel ongoing content change observing."); +WebCore::willNotProceedWithClick(mainFrame); +} + void ContentChangeObserver::didRecognizeLongPress(Frame& mainFrame) { LOG(ContentObservation, "didRecognizeLongPress: cancel ongoing content change observing."); Modified: branches/safari-608-branch/Source/WebCore/page/ios/ContentChangeObserver.h (247591 => 247592) --- branches/safari-608-branch/Source/WebCore/page/ios/ContentChangeObserver.h 2019-07-18 20:23:47 UTC (rev 247591) +++ branches/safari-608-branch/Source/WebCore/page/ios/ContentChangeObserver.h 2019-07-18 20:23:50 UTC (rev 247592) @@ -59,14 +59,15 @@ void didFinishTransition(const Element&, CSSPropertyID); void didRemoveTransition(const Element&, CSSPropertyID); -WEBCORE_EXPORT void willNotProceedWithClick(); WEBCORE_EXPORT static void didRecognizeLongPress(Frame& mainFrame); WEBCORE_EXPORT static void didPreventDefaultForEvent(Frame& mainFrame); +WEBCORE_EXPORT static void didCancelPotentialTap(Frame& mainFrame); void didSuspendActiveDOMObjects(); void willDetachPage(); void willDestroyRenderer(const Element&); +void willNotProceedWithClick(); void
[webkit-changes] [247587] branches/safari-608-branch
Title: [247587] branches/safari-608-branch Revision 247587 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:33 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247467. rdar://problem/53229768 [Text autosizing] [iPadOS] Product label text is clipped in portrait mode on the front page of sephora.com https://bugs.webkit.org/show_bug.cgi?id=199806 Reviewed by Zalan Bujtas. Source/WebCore: On sephora.com, some product label text is currently boosted by idempotent text autosizing, which causes the labels be vertically clipped. This patch augments the idempotent text autosizing heuristic to avoid this case by checking if the element to be boosted has a fixed height or max height, whose value is very close to a small integer multiple of the line height. In this case, it's likely that the website expects the text to be no more than a few lines' worth of height, so boosting the text is likely to break the page. Test: fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::isIdempotentTextAutosizingCandidate const): * rendering/style/TextSizeAdjustment.cpp: (WebCore::AutosizeStatus::updateStatus): * rendering/style/TextSizeAdjustment.h: Rename Fields::DisplayNone to Fields::AvoidSubtree to avoid introducing another bit in RenderStyle's inherited flags. LayoutTests: Add a new test case to an existing layout test, which mimics the product label text on sephora.com's front page. * fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates-expected.txt: * fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247467 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/LayoutTests/ChangeLog branches/safari-608-branch/LayoutTests/fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates-expected.txt branches/safari-608-branch/LayoutTests/fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/rendering/style/RenderStyle.cpp branches/safari-608-branch/Source/WebCore/rendering/style/TextSizeAdjustment.cpp branches/safari-608-branch/Source/WebCore/rendering/style/TextSizeAdjustment.h Diff Modified: branches/safari-608-branch/LayoutTests/ChangeLog (247586 => 247587) --- branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-18 20:23:29 UTC (rev 247586) +++ branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-18 20:23:33 UTC (rev 247587) @@ -1,5 +1,57 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247467. rdar://problem/53229768 + +[Text autosizing] [iPadOS] Product label text is clipped in portrait mode on the front page of sephora.com +https://bugs.webkit.org/show_bug.cgi?id=199806 + + +Reviewed by Zalan Bujtas. + +Source/WebCore: + +On sephora.com, some product label text is currently boosted by idempotent text autosizing, which causes the +labels be vertically clipped. This patch augments the idempotent text autosizing heuristic to avoid this case by +checking if the element to be boosted has a fixed height or max height, whose value is very close to a small +integer multiple of the line height. In this case, it's likely that the website expects the text to be no more +than a few lines' worth of height, so boosting the text is likely to break the page. + +Test: fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html + +* rendering/style/RenderStyle.cpp: +(WebCore::RenderStyle::isIdempotentTextAutosizingCandidate const): +* rendering/style/TextSizeAdjustment.cpp: +(WebCore::AutosizeStatus::updateStatus): +* rendering/style/TextSizeAdjustment.h: + +Rename Fields::DisplayNone to Fields::AvoidSubtree to avoid introducing another bit in RenderStyle's inherited +flags. + +LayoutTests: + +Add a new test case to an existing layout test, which mimics the product label text on sephora.com's front page. + +* fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates-expected.txt: +* fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247467 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-15 Wenson Hsieh + +[Text autosizing] [iPadOS] Product label text is clipped in portrait mode on the front page of sephora.com +https://bugs.webkit.org/show_bug.cgi?id=199806 + + +Reviewed by Zalan Bujtas. + +Add a new test case to an existing layout test, which mimics the product label text on sephora.com's front page. + +*
[webkit-changes] [247585] branches/safari-608-branch/Source
Title: [247585] branches/safari-608-branch/Source Revision 247585 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:27 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247465. rdar://problem/53229731 New York font erroneously gets synthetic bold https://bugs.webkit.org/show_bug.cgi?id=199653 Unreviewed watchOS build fix. Source/WebCore: * page/ProcessWarming.cpp: (WebCore::ProcessWarming::prewarmGlobally): * page/cocoa/MemoryReleaseCocoa.mm: (WebCore::platformReleaseMemory): * platform/graphics/FontCascadeDescription.cpp: * platform/graphics/FontDescription.h: * platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::invalidateFontCache): (WebCore::lookupFallbackFont): * platform/graphics/cocoa/FontDescriptionCocoa.cpp: (WebCore::FontCascadeDescription::effectiveFamilyAt const): * platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp: (WebCore::FontFamilySpecificationCoreText::fontRanges const): * platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp: Source/WTF: * wtf/Platform.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247465 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WTF/ChangeLog branches/safari-608-branch/Source/WTF/wtf/Platform.h branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/page/ProcessWarming.cpp branches/safari-608-branch/Source/WebCore/page/cocoa/MemoryReleaseCocoa.mm branches/safari-608-branch/Source/WebCore/platform/graphics/FontCascadeDescription.cpp branches/safari-608-branch/Source/WebCore/platform/graphics/FontDescription.h branches/safari-608-branch/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp branches/safari-608-branch/Source/WebCore/platform/graphics/cocoa/FontDescriptionCocoa.cpp branches/safari-608-branch/Source/WebCore/platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp branches/safari-608-branch/Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp Diff Modified: branches/safari-608-branch/Source/WTF/ChangeLog (247584 => 247585) --- branches/safari-608-branch/Source/WTF/ChangeLog 2019-07-18 20:23:22 UTC (rev 247584) +++ branches/safari-608-branch/Source/WTF/ChangeLog 2019-07-18 20:23:27 UTC (rev 247585) @@ -1,5 +1,46 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247465. rdar://problem/53229731 + +New York font erroneously gets synthetic bold +https://bugs.webkit.org/show_bug.cgi?id=199653 + +Unreviewed watchOS build fix. + +Source/WebCore: + +* page/ProcessWarming.cpp: +(WebCore::ProcessWarming::prewarmGlobally): +* page/cocoa/MemoryReleaseCocoa.mm: +(WebCore::platformReleaseMemory): +* platform/graphics/FontCascadeDescription.cpp: +* platform/graphics/FontDescription.h: +* platform/graphics/cocoa/FontCacheCoreText.cpp: +(WebCore::invalidateFontCache): +(WebCore::lookupFallbackFont): +* platform/graphics/cocoa/FontDescriptionCocoa.cpp: +(WebCore::FontCascadeDescription::effectiveFamilyAt const): +* platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp: +(WebCore::FontFamilySpecificationCoreText::fontRanges const): +* platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp: + +Source/WTF: + +* wtf/Platform.h: + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247465 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-15 Myles C. Maxfield + +New York font erroneously gets synthetic bold +https://bugs.webkit.org/show_bug.cgi?id=199653 + +Unreviewed watchOS build fix. + +* wtf/Platform.h: + +2019-07-17 Kocsen Chung + Cherry-pick r247461. rdar://problem/53229637 Make WKURLSchemeTask thread safe. Modified: branches/safari-608-branch/Source/WTF/wtf/Platform.h (247584 => 247585) --- branches/safari-608-branch/Source/WTF/wtf/Platform.h 2019-07-18 20:23:22 UTC (rev 247584) +++ branches/safari-608-branch/Source/WTF/wtf/Platform.h 2019-07-18 20:23:27 UTC (rev 247585) @@ -1598,6 +1598,10 @@ #define HAVE_SUBVIEWS_IVAR_SPI 1 #endif +#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 11) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 4) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 11) +#define USE_PLATFORM_SYSTEM_FALLBACK_LIST 1 +#endif + #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 13) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 6) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 13) #define HAVE_DESIGN_SYSTEM_UI_FONTS 1 #endif Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247584 => 247585) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:22 UTC (rev 247584) +++
[webkit-changes] [247584] branches/safari-608-branch
Title: [247584] branches/safari-608-branch Revision 247584 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:22 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247461. rdar://problem/53229637 Make WKURLSchemeTask thread safe. and https://bugs.webkit.org/show_bug.cgi?id=199764 Reviewed by Alex Christensen. Source/WebKit: Punt most of the WKURLSchemeTask operations back to the main thread. Make accessing the NSURLRequest be thread safe with lock protection. * UIProcess/API/Cocoa/WKURLSchemeTask.mm: (getExceptionTypeFromMainRunLoop): (-[WKURLSchemeTaskImpl dealloc]): (-[WKURLSchemeTaskImpl request]): (-[WKURLSchemeTaskImpl _requestOnlyIfCached]): (-[WKURLSchemeTaskImpl didReceiveResponse:]): (-[WKURLSchemeTaskImpl didReceiveData:]): (-[WKURLSchemeTaskImpl didFinish]): (-[WKURLSchemeTaskImpl didFailWithError:]): (-[WKURLSchemeTaskImpl _didPerformRedirection:newRequest:]): * UIProcess/WebURLSchemeTask.cpp: (WebKit::WebURLSchemeTask::WebURLSchemeTask): (WebKit::WebURLSchemeTask::~WebURLSchemeTask): (WebKit::WebURLSchemeTask::didPerformRedirection): (WebKit::WebURLSchemeTask::didReceiveResponse): (WebKit::WebURLSchemeTask::didReceiveData): (WebKit::WebURLSchemeTask::didComplete): (WebKit::WebURLSchemeTask::pageDestroyed): (WebKit::WebURLSchemeTask::stop): (WebKit::WebURLSchemeTask::nsRequest const): * UIProcess/WebURLSchemeTask.h: (WebKit::WebURLSchemeTask::identifier const): (WebKit::WebURLSchemeTask::pageID const): (WebKit::WebURLSchemeTask::process): (WebKit::WebURLSchemeTask::process const): Deleted. (WebKit::WebURLSchemeTask::request const): Deleted. Source/WTF: * wtf/MainThread.cpp: (WTF::callOnMainAndWait): (WTF::callOnMainRunLoopAndWait): (WTF::callOnMainThreadAndWait): * wtf/MainThread.h: Tools: * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247461 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WTF/ChangeLog branches/safari-608-branch/Source/WTF/wtf/MainThread.cpp branches/safari-608-branch/Source/WTF/wtf/MainThread.h branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/UIProcess/API/Cocoa/WKURLSchemeTask.mm branches/safari-608-branch/Source/WebKit/UIProcess/WebURLSchemeTask.cpp branches/safari-608-branch/Source/WebKit/UIProcess/WebURLSchemeTask.h branches/safari-608-branch/Tools/ChangeLog branches/safari-608-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm Diff Modified: branches/safari-608-branch/Source/WTF/ChangeLog (247583 => 247584) --- branches/safari-608-branch/Source/WTF/ChangeLog 2019-07-18 20:23:18 UTC (rev 247583) +++ branches/safari-608-branch/Source/WTF/ChangeLog 2019-07-18 20:23:22 UTC (rev 247584) @@ -1,5 +1,76 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247461. rdar://problem/53229637 + +Make WKURLSchemeTask thread safe. + and https://bugs.webkit.org/show_bug.cgi?id=199764 + +Reviewed by Alex Christensen. + +Source/WebKit: + +Punt most of the WKURLSchemeTask operations back to the main thread. +Make accessing the NSURLRequest be thread safe with lock protection. + +* UIProcess/API/Cocoa/WKURLSchemeTask.mm: +(getExceptionTypeFromMainRunLoop): +(-[WKURLSchemeTaskImpl dealloc]): +(-[WKURLSchemeTaskImpl request]): +(-[WKURLSchemeTaskImpl _requestOnlyIfCached]): +(-[WKURLSchemeTaskImpl didReceiveResponse:]): +(-[WKURLSchemeTaskImpl didReceiveData:]): +(-[WKURLSchemeTaskImpl didFinish]): +(-[WKURLSchemeTaskImpl didFailWithError:]): +(-[WKURLSchemeTaskImpl _didPerformRedirection:newRequest:]): + +* UIProcess/WebURLSchemeTask.cpp: +(WebKit::WebURLSchemeTask::WebURLSchemeTask): +(WebKit::WebURLSchemeTask::~WebURLSchemeTask): +(WebKit::WebURLSchemeTask::didPerformRedirection): +(WebKit::WebURLSchemeTask::didReceiveResponse): +(WebKit::WebURLSchemeTask::didReceiveData): +(WebKit::WebURLSchemeTask::didComplete): +(WebKit::WebURLSchemeTask::pageDestroyed): +(WebKit::WebURLSchemeTask::stop): +(WebKit::WebURLSchemeTask::nsRequest const): + +* UIProcess/WebURLSchemeTask.h: +(WebKit::WebURLSchemeTask::identifier const): +(WebKit::WebURLSchemeTask::pageID const): +(WebKit::WebURLSchemeTask::process): +(WebKit::WebURLSchemeTask::process const): Deleted. +(WebKit::WebURLSchemeTask::request const): Deleted. + +Source/WTF: + +* wtf/MainThread.cpp: +(WTF::callOnMainAndWait): +(WTF::callOnMainRunLoopAndWait): +(WTF::callOnMainThreadAndWait): +* wtf/MainThread.h: + +Tools: + +* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247461
[webkit-changes] [247595] branches/safari-608-branch/Source/WebCore
Title: [247595] branches/safari-608-branch/Source/WebCore Revision 247595 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:01 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247487. rdar://problem/53229629 Remove "GraphicsContext 0x7ffd8765f6b0 stack changed by" logging https://bugs.webkit.org/show_bug.cgi?id=199834 Reviewed by Dean Jackson. I inadvertently left in a couple of GraphicsContextStateStackChecker (used to detect mismatched GraphicsContext save/restore) in r246725, so remove them. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayerContents): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintIntoLayer): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247487 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/rendering/RenderLayer.cpp branches/safari-608-branch/Source/WebCore/rendering/RenderLayerBacking.cpp Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247594 => 247595) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:58 UTC (rev 247594) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:24:01 UTC (rev 247595) @@ -1,14 +1,48 @@ 2019-07-17 Kocsen Chung -Cherry-pick r247486. rdar://problem/53229738 +Cherry-pick r247487. rdar://problem/53229629 -Speed up StorageManager::getValues() -https://bugs.webkit.org/show_bug.cgi?id=199812 +Remove "GraphicsContext 0x7ffd8765f6b0 stack changed by" logging +https://bugs.webkit.org/show_bug.cgi?id=199834 -Reviewed by Alex Christensen. +Reviewed by Dean Jackson. -Source/WebCore: +I inadvertently left in a couple of GraphicsContextStateStackChecker (used to detect mismatched +GraphicsContext save/restore) in r246725, so remove them. +* rendering/RenderLayer.cpp: +(WebCore::RenderLayer::paintLayerContents): +* rendering/RenderLayerBacking.cpp: +(WebCore::RenderLayerBacking::paintIntoLayer): + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247487 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-17 Kocsen Chung + +Cherry-pick r247486. rdar://problem/53229738 + +Speed up StorageManager::getValues() +https://bugs.webkit.org/show_bug.cgi?id=199812 + +Reviewed by Alex Christensen. + +Source/WebCore: + +2019-07-16 Simon Fraser + +Remove "GraphicsContext 0x7ffd8765f6b0 stack changed by" logging +https://bugs.webkit.org/show_bug.cgi?id=199834 + +Reviewed by Dean Jackson. + +I inadvertently left in a couple of GraphicsContextStateStackChecker (used to detect mismatched +GraphicsContext save/restore) in r246725, so remove them. + +* rendering/RenderLayer.cpp: +(WebCore::RenderLayer::paintLayerContents): +* rendering/RenderLayerBacking.cpp: +(WebCore::RenderLayerBacking::paintIntoLayer): + * storage/StorageMap.cpp: (WebCore::StorageMap::importItems): * storage/StorageMap.h: Modified: branches/safari-608-branch/Source/WebCore/rendering/RenderLayer.cpp (247594 => 247595) --- branches/safari-608-branch/Source/WebCore/rendering/RenderLayer.cpp 2019-07-18 20:23:58 UTC (rev 247594) +++ branches/safari-608-branch/Source/WebCore/rendering/RenderLayer.cpp 2019-07-18 20:24:01 UTC (rev 247595) @@ -4400,8 +4400,6 @@ if (localPaintFlags & PaintLayerPaintingRootBackgroundOnly && !renderer().isRenderView() && !renderer().isDocumentElementRenderer()) return; -GraphicsContextStateStackChecker checker(context); - updateLayerListsIfNeeded(); LayoutSize offsetFromRoot = offsetFromAncestor(paintingInfo.rootLayer); Modified: branches/safari-608-branch/Source/WebCore/rendering/RenderLayerBacking.cpp (247594 => 247595) --- branches/safari-608-branch/Source/WebCore/rendering/RenderLayerBacking.cpp 2019-07-18 20:23:58 UTC (rev 247594) +++ branches/safari-608-branch/Source/WebCore/rendering/RenderLayerBacking.cpp 2019-07-18 20:24:01 UTC (rev 247595) @@ -2737,8 +2737,6 @@ return; } -GraphicsContextStateStackChecker checker(context); - OptionSet paintFlags; if (paintingPhase.contains(GraphicsLayerPaintingPhase::Background)) paintFlags.add(RenderLayer::PaintLayerPaintingCompositingBackgroundPhase); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247590] branches/safari-608-branch/Source/WebCore
Title: [247590] branches/safari-608-branch/Source/WebCore Revision 247590 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:44 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247480. rdar://problem/53229746 Hop to main thread for release logging in RealtimeIncomingAudioSource https://bugs.webkit.org/show_bug.cgi?id=199813 Reviewed by Eric Carlson. LoggerHelper routines allow logging messages in system console and inspector console. These routines iterate through a Vector of log observers which is not thread safe. Document, the main log observer, also expects to be called on the main thread. Manually tested (writing a layout test for this would require more than 2 seconds). * platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp: (WebCore::RealtimeIncomingAudioSourceCocoa::OnData): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247480 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247589 => 247590) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:41 UTC (rev 247589) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:44 UTC (rev 247590) @@ -1,5 +1,40 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247480. rdar://problem/53229746 + +Hop to main thread for release logging in RealtimeIncomingAudioSource +https://bugs.webkit.org/show_bug.cgi?id=199813 + +Reviewed by Eric Carlson. + +LoggerHelper routines allow logging messages in system console and inspector console. +These routines iterate through a Vector of log observers which is not thread safe. +Document, the main log observer, also expects to be called on the main thread. +Manually tested (writing a layout test for this would require more than 2 seconds). + +* platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp: +(WebCore::RealtimeIncomingAudioSourceCocoa::OnData): + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247480 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-16 Youenn Fablet + +Hop to main thread for release logging in RealtimeIncomingAudioSource +https://bugs.webkit.org/show_bug.cgi?id=199813 + +Reviewed by Eric Carlson. + +LoggerHelper routines allow logging messages in system console and inspector console. +These routines iterate through a Vector of log observers which is not thread safe. +Document, the main log observer, also expects to be called on the main thread. +Manually tested (writing a layout test for this would require more than 2 seconds). + +* platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp: +(WebCore::RealtimeIncomingAudioSourceCocoa::OnData): + +2019-07-17 Kocsen Chung + Cherry-pick r247470. rdar://problem/53229634 outlook.live.com has odd viewport with edge gap Modified: branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp (247589 => 247590) --- branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp 2019-07-18 20:23:41 UTC (rev 247589) +++ branches/safari-608-branch/Source/WebCore/platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp 2019-07-18 20:23:44 UTC (rev 247590) @@ -87,8 +87,11 @@ memcpy(audioBufferList.buffer(0)->mData, audioData, audioBufferList.buffer(0)->mDataByteSize); #if !RELEASE_LOG_DISABLED -if (!(++m_chunksReceived % 200)) -ALWAYS_LOG_IF(loggerPtr(), LOGIDENTIFIER, "chunk ", m_chunksReceived); +if (!(++m_chunksReceived % 200)) { +callOnMainThread([this, protectedThis = makeRef(*this)] { +ALWAYS_LOG_IF(loggerPtr(), LOGIDENTIFIER, "chunk ", m_chunksReceived); +}); +} #endif audioSamplesAvailable(mediaTime, audioBufferList, CAAudioStreamDescription(newDescription), numberOfFrames); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247579] branches/safari-608-branch/Source/WebCore
Title: [247579] branches/safari-608-branch/Source/WebCore Revision 247579 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:08 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247450. rdar://problem/53229577 Add missing webgpu includes https://bugs.webkit.org/show_bug.cgi?id=199802 Reviewed by Myles C. Maxfield. WHLSLFunctionWriter.cpp fails to compile on tvOS and watchOS due to missing includes. This file likely compiles on other platforms due to the Unified Sources facility that clumps several implementation files together, exposing those implementation files to the others' includes. It fails on tvOS and watchOS due to the different ways these implementation files can get clumped together on different platforms. No new tests as there is no functional change. * Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247450 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247578 => 247579) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:05 UTC (rev 247578) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:08 UTC (rev 247579) @@ -1,5 +1,48 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247450. rdar://problem/53229577 + +Add missing webgpu includes +https://bugs.webkit.org/show_bug.cgi?id=199802 + + +Reviewed by Myles C. Maxfield. + +WHLSLFunctionWriter.cpp fails to compile on tvOS and watchOS due to +missing includes. This file likely compiles on other platforms due to +the Unified Sources facility that clumps several implementation files +together, exposing those implementation files to the others' includes. +It fails on tvOS and watchOS due to the different ways these +implementation files can get clumped together on different platforms. + +No new tests as there is no functional change. + +* Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247450 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-15 Keith Rollin + +Add missing webgpu includes +https://bugs.webkit.org/show_bug.cgi?id=199802 + + +Reviewed by Myles C. Maxfield. + +WHLSLFunctionWriter.cpp fails to compile on tvOS and watchOS due to +missing includes. This file likely compiles on other platforms due to +the Unified Sources facility that clumps several implementation files +together, exposing those implementation files to the others' includes. +It fails on tvOS and watchOS due to the different ways these +implementation files can get clumped together on different platforms. + +No new tests as there is no functional change. + +* Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp: + +2019-07-17 Kocsen Chung + Cherry-pick r247434. rdar://problem/53229565 window.openDatabase is not writable Modified: branches/safari-608-branch/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp (247578 => 247579) --- branches/safari-608-branch/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp 2019-07-18 20:23:05 UTC (rev 247578) +++ branches/safari-608-branch/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp 2019-07-18 20:23:08 UTC (rev 247579) @@ -30,6 +30,8 @@ #include "NotImplemented.h" #include "WHLSLAST.h" +#include "WHLSLEntryPointScaffolding.h" +#include "WHLSLInferTypes.h" #include "WHLSLNativeFunctionWriter.h" #include "WHLSLProgram.h" #include "WHLSLTypeNamer.h" ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247582] branches/safari-608-branch/Source/WebCore
Title: [247582] branches/safari-608-branch/Source/WebCore Revision 247582 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:15 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247459. rdar://problem/53229552 Crash under DisplayRefreshMonitorManager::displayWasUpdated() https://bugs.webkit.org/show_bug.cgi?id=199808 Reviewed by Geoffrey Garen. Copy m_monitors before iterating over it because the calling displayLinkFired() on the monitor may end up calling DisplayRefreshMonitorManager::displayDidRefresh() synchronously, which removes the monitor from m_monitors. * platform/graphics/DisplayRefreshMonitorManager.cpp: (WebCore::DisplayRefreshMonitorManager::displayWasUpdated): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247459 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/platform/graphics/DisplayRefreshMonitorManager.cpp Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247581 => 247582) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:12 UTC (rev 247581) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:23:15 UTC (rev 247582) @@ -1,5 +1,40 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247459. rdar://problem/53229552 + +Crash under DisplayRefreshMonitorManager::displayWasUpdated() +https://bugs.webkit.org/show_bug.cgi?id=199808 + + +Reviewed by Geoffrey Garen. + +Copy m_monitors before iterating over it because the calling displayLinkFired() on the +monitor may end up calling DisplayRefreshMonitorManager::displayDidRefresh() synchronously, +which removes the monitor from m_monitors. + +* platform/graphics/DisplayRefreshMonitorManager.cpp: +(WebCore::DisplayRefreshMonitorManager::displayWasUpdated): + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247459 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-15 Chris Dumez + +Crash under DisplayRefreshMonitorManager::displayWasUpdated() +https://bugs.webkit.org/show_bug.cgi?id=199808 + + +Reviewed by Geoffrey Garen. + +Copy m_monitors before iterating over it because the calling displayLinkFired() on the +monitor may end up calling DisplayRefreshMonitorManager::displayDidRefresh() synchronously, +which removes the monitor from m_monitors. + +* platform/graphics/DisplayRefreshMonitorManager.cpp: +(WebCore::DisplayRefreshMonitorManager::displayWasUpdated): + +2019-07-17 Kocsen Chung + Cherry-pick r247450. rdar://problem/53229577 Add missing webgpu includes Modified: branches/safari-608-branch/Source/WebCore/platform/graphics/DisplayRefreshMonitorManager.cpp (247581 => 247582) --- branches/safari-608-branch/Source/WebCore/platform/graphics/DisplayRefreshMonitorManager.cpp 2019-07-18 20:23:12 UTC (rev 247581) +++ branches/safari-608-branch/Source/WebCore/platform/graphics/DisplayRefreshMonitorManager.cpp 2019-07-18 20:23:15 UTC (rev 247582) @@ -128,8 +128,10 @@ void DisplayRefreshMonitorManager::displayWasUpdated(PlatformDisplayID displayID) { -for (const auto& monitorWrapper : m_monitors) { -auto& monitor = monitorWrapper.monitor; +Vector> monitors = WTF::map(m_monitors, [](auto& monitorWrapper) { +return monitorWrapper.monitor; +}); +for (auto& monitor : monitors) { if (displayID == monitor->displayID() && monitor->hasRequestedRefreshCallback()) monitor->displayLinkFired(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247577] branches/safari-608-branch
Title: [247577] branches/safari-608-branch Revision 247577 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:01 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247437. rdar://problem/53229545 [iOS] SOAuthorizationSession should tell AppSSO whether the UIClient is capable of showing the extension UI https://bugs.webkit.org/show_bug.cgi?id=199790 Reviewed by Brent Fulgham. Source/WebKit: On iOS, WebKit relies on a SPI -[WKUIDelegatePrivate _presentingViewControllerForWebView:] to present the extension UI. However, third party clients often don't implement this SPI. Therefore, WebKit will not be able to present the extension UI for them. To be able to show the extension UI for third party WebKit clients, WebKit should unset SOAuthorization.enableEmbeddedAuthorizationViewController whenever clients don't implement the above SPI such that AppSSO could show the UI in their UI process. * UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm: (WebKit::SOAuthorizationSession::start): Tools: Add tests to check SOAuthorization.enableEmbeddedAuthorizationViewController accordingly. * TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: (-[TestSOAuthorizationDelegate _presentingViewControllerForWebView:]): (configureSOAuthorizationWebView): (TestWebKitAPI::TEST): (-[TestSOAuthorizationNavigationDelegate init]): Deleted. (-[TestSOAuthorizationNavigationDelegate webView:didFinishNavigation:]): Deleted. (-[TestSOAuthorizationNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted. (-[TestSOAuthorizationNavigationDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]): Deleted. (-[TestSOAuthorizationNavigationDelegate _webView:decidePolicyForSOAuthorizationLoadWithCurrentPolicy:forExtension:completionHandler:]): Deleted. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247437 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm branches/safari-608-branch/Tools/ChangeLog branches/safari-608-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm Diff Modified: branches/safari-608-branch/Source/WebKit/ChangeLog (247576 => 247577) --- branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:22:58 UTC (rev 247576) +++ branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:23:01 UTC (rev 247577) @@ -1,5 +1,62 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247437. rdar://problem/53229545 + +[iOS] SOAuthorizationSession should tell AppSSO whether the UIClient is capable of showing the extension UI +https://bugs.webkit.org/show_bug.cgi?id=199790 + + +Reviewed by Brent Fulgham. + +Source/WebKit: + +On iOS, WebKit relies on a SPI -[WKUIDelegatePrivate _presentingViewControllerForWebView:] to present the +extension UI. However, third party clients often don't implement this SPI. Therefore, WebKit will not be +able to present the extension UI for them. + +To be able to show the extension UI for third party WebKit clients, WebKit should unset SOAuthorization.enableEmbeddedAuthorizationViewController +whenever clients don't implement the above SPI such that AppSSO could show the UI in their UI process. + +* UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm: +(WebKit::SOAuthorizationSession::start): + +Tools: + +Add tests to check SOAuthorization.enableEmbeddedAuthorizationViewController accordingly. + +* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: +(-[TestSOAuthorizationDelegate _presentingViewControllerForWebView:]): +(configureSOAuthorizationWebView): +(TestWebKitAPI::TEST): +(-[TestSOAuthorizationNavigationDelegate init]): Deleted. +(-[TestSOAuthorizationNavigationDelegate webView:didFinishNavigation:]): Deleted. +(-[TestSOAuthorizationNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted. +(-[TestSOAuthorizationNavigationDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]): Deleted. +(-[TestSOAuthorizationNavigationDelegate _webView:decidePolicyForSOAuthorizationLoadWithCurrentPolicy:forExtension:completionHandler:]): Deleted. + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247437 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-15 Jiewen Tan + +[iOS] SOAuthorizationSession should tell AppSSO whether the UIClient is capable of showing the extension UI +https://bugs.webkit.org/show_bug.cgi?id=199790 + + +Reviewed by Brent Fulgham. + +On iOS, WebKit relies on a SPI -[WKUIDelegatePrivate _presentingViewControllerForWebView:] to present the +
[webkit-changes] [247578] branches/safari-608-branch
Title: [247578] branches/safari-608-branch Revision 247578 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:05 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247439. rdar://problem/53229628 [macOS 10.15] Cannot unbold selected text when the system font is used https://bugs.webkit.org/show_bug.cgi?id=199788 Reviewed by Tim Horton. Source/WebKit: In macOS 10.15, +[NSFont fontWithName:size:] no longer recognizes system fonts (of name ".SFNS-*") and returns nil instead. However, our existing implementation of WebPageProxy::fontAtSelection works by grabbing the font name in the web process, and sending it over to the UI process, where it is mapped to an NSFont. As a result, this always results in a nil font in macOS 10.15, which causes us to never update NSFontManager's selected font. In turn, this means that once selected text is bolded, it can't be unbolded via NSFontManager, since NSFontManager thinks that the text is still not bold. To fix this, we simply encode and send a platform FontInfo instead of sending the font name. This allows the UI process to reconstruct NSFonts from font attribute dictionaries instead, and update the font manager. * UIProcess/Cocoa/WebViewImpl.mm: (WebKit::WebViewImpl::updateFontManagerIfNeeded): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::fontAtSelection): Refactor this to send a FontInfo (containing a font attribute dictionary) instead of a font name. (WebKit::WebPageProxy::fontAtSelectionCallback): Deleted. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: Change FontAtSelection to use sendWithAsyncReply instead of sending a callback ID. This also allows us to remove FontAtSelectionCallback. * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::fontAtSelection): Tools: Add a new API test to verify that bolding and unbolding updates the shared font manager's selected font. * TestWebKitAPI/Tests/mac/FontManagerTests.mm: (TestWebKitAPI::TEST): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247439 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm branches/safari-608-branch/Source/WebKit/UIProcess/WebPageProxy.h branches/safari-608-branch/Source/WebKit/UIProcess/WebPageProxy.messages.in branches/safari-608-branch/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/WebPage.h branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/WebPage.messages.in branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm branches/safari-608-branch/Tools/ChangeLog branches/safari-608-branch/Tools/TestWebKitAPI/Tests/mac/FontManagerTests.mm Diff Modified: branches/safari-608-branch/Source/WebKit/ChangeLog (247577 => 247578) --- branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:23:01 UTC (rev 247577) +++ branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:23:05 UTC (rev 247578) @@ -1,5 +1,100 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247439. rdar://problem/53229628 + +[macOS 10.15] Cannot unbold selected text when the system font is used +https://bugs.webkit.org/show_bug.cgi?id=199788 + + +Reviewed by Tim Horton. + +Source/WebKit: + +In macOS 10.15, +[NSFont fontWithName:size:] no longer recognizes system fonts (of name +".SFNS-*") and returns nil instead. However, our existing implementation of +WebPageProxy::fontAtSelection works by grabbing the font name in the web process, and +sending it over to the UI process, where it is mapped to an NSFont. As a result, this always +results in a nil font in macOS 10.15, which causes us to never update NSFontManager's +selected font. In turn, this means that once selected text is bolded, it can't be unbolded +via NSFontManager, since NSFontManager thinks that the text is still not bold. + +To fix this, we simply encode and send a platform FontInfo instead of sending the font name. +This allows the UI process to reconstruct NSFonts from font attribute dictionaries instead, +and update the font manager. + +* UIProcess/Cocoa/WebViewImpl.mm: +(WebKit::WebViewImpl::updateFontManagerIfNeeded): +* UIProcess/WebPageProxy.h: +* UIProcess/WebPageProxy.messages.in: +* UIProcess/mac/WebPageProxyMac.mm: +(WebKit::WebPageProxy::fontAtSelection): + +Refactor this to send a FontInfo (containing a font attribute dictionary) instead of a font +name. + +(WebKit::WebPageProxy::fontAtSelectionCallback): Deleted. +* WebProcess/WebPage/WebPage.h: +* WebProcess/WebPage/WebPage.messages.in: + +Change
[webkit-changes] [247602] branches/safari-608-branch/Source
Title: [247602] branches/safari-608-branch/Source Revision 247602 Author kocsen_ch...@apple.com Date 2019-07-18 13:24:25 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247521. rdar://problem/53229717 Make ANGLE work inside WebKit2's sandbox https://bugs.webkit.org/show_bug.cgi?id=199844 Patch by Kenneth Russell on 2019-07-17 Reviewed by Alex Christensen. Source/ThirdParty/ANGLE: Cherry-pick fix for crbug.com/angleproject/3383 to eliminate use of deprecated API in SystemInfo_mac.mm. * BUILD.gn: * src/gpu_info_util/SystemInfo.cpp: (angle::FindActiveGPU): (angle::PrintSystemInfo): (angle::FindPrimaryGPU): Deleted. * src/gpu_info_util/SystemInfo.h: * src/gpu_info_util/SystemInfo_internal.h: * src/gpu_info_util/SystemInfo_linux.cpp: (angle::GetSystemInfo): * src/gpu_info_util/SystemInfo_mac.mm: (angle::GetSystemInfo): * src/gpu_info_util/SystemInfo_win.cpp: (angle::GetSystemInfo): * src/tests/BUILD.gn: * src/tests/test_expectations/GPUTestConfig.cpp: * src/tests/test_utils/angle_test_instantiate.cpp: (angle::IsConfigWhitelisted): Source/WebCore: Fix missing #import introduced at the last minute while removing some debugging code in the last patch. Tested with San Angeles WebGL demo and some conformance tests. * platform/graphics/cocoa/WebGLLayer.mm: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247521 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/ThirdParty/ANGLE/BUILD.gn branches/safari-608-branch/Source/ThirdParty/ANGLE/ChangeLog branches/safari-608-branch/Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo.cpp branches/safari-608-branch/Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo.h branches/safari-608-branch/Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo_internal.h branches/safari-608-branch/Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo_linux.cpp branches/safari-608-branch/Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo_mac.mm branches/safari-608-branch/Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo_win.cpp branches/safari-608-branch/Source/ThirdParty/ANGLE/src/tests/BUILD.gn branches/safari-608-branch/Source/ThirdParty/ANGLE/src/tests/test_expectations/GPUTestConfig.cpp branches/safari-608-branch/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_instantiate.cpp branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/platform/graphics/cocoa/WebGLLayer.mm Diff Modified: branches/safari-608-branch/Source/ThirdParty/ANGLE/BUILD.gn (247601 => 247602) --- branches/safari-608-branch/Source/ThirdParty/ANGLE/BUILD.gn 2019-07-18 20:24:21 UTC (rev 247601) +++ branches/safari-608-branch/Source/ThirdParty/ANGLE/BUILD.gn 2019-07-18 20:24:25 UTC (rev 247602) @@ -289,7 +289,10 @@ } angle_static_library("angle_gpu_info_util") { - public_configs += [ ":angle_gpu_info_util_config" ] + public_configs += [ +":angle_gpu_info_util_config", +":angle_backend_config", + ] public_deps = [ ":angle_common", ] @@ -305,7 +308,7 @@ if (is_win) { sources += libangle_gpu_info_util_win_sources libs += [ "setupapi.lib" ] -defines += [ "GPU_INFO_USE_SETUPAPI" ] +libs += [ "dxgi.lib" ] } if (is_linux || is_fuchsia) { @@ -443,14 +446,11 @@ ] } -config("libANGLE_config") { - cflags = [] +config("angle_backend_config") { defines = [] - libs = [] - ldflags = [] + if (angle_enable_d3d9) { defines += [ "ANGLE_ENABLE_D3D9" ] -ldflags += [ "/DELAYLOAD:d3d9.dll" ] } if (angle_enable_d3d11) { defines += [ "ANGLE_ENABLE_D3D11" ] @@ -473,6 +473,16 @@ if (angle_enable_null) { defines += [ "ANGLE_ENABLE_NULL" ] } +} + +config("libANGLE_config") { + cflags = [] + defines = [] + libs = [] + ldflags = [] + if (angle_enable_d3d9) { +ldflags += [ "/DELAYLOAD:d3d9.dll" ] + } defines += [ "LIBANGLE_IMPLEMENTATION" ] if (is_win) { @@ -665,7 +675,10 @@ } configs += [ ":debug_annotations_config" ] - public_configs += [ ":libANGLE_config" ] + public_configs += [ +":libANGLE_config", +":angle_backend_config", + ] # Windows ARM64 is available since 10.0.16299 so no need to copy # d3dcompiler_47.dll because this file is available as inbox. Modified: branches/safari-608-branch/Source/ThirdParty/ANGLE/ChangeLog (247601 => 247602) --- branches/safari-608-branch/Source/ThirdParty/ANGLE/ChangeLog 2019-07-18 20:24:21 UTC (rev 247601) +++ branches/safari-608-branch/Source/ThirdParty/ANGLE/ChangeLog 2019-07-18 20:24:25 UTC (rev 247602) @@ -1,3 +1,75 @@ +2019-07-17 Kocsen Chung + +Cherry-pick r247521. rdar://problem/53229717 + +Make ANGLE work inside WebKit2's sandbox +https://bugs.webkit.org/show_bug.cgi?id=199844 + +Patch by Kenneth Russell on 2019-07-17 +Reviewed by Alex Christensen. + +Source/ThirdParty/ANGLE: +
[webkit-changes] [247591] branches/safari-608-branch/Source/WTF
Title: [247591] branches/safari-608-branch/Source/WTF Revision 247591 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:47 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247482. rdar://problem/53229731 New York font erroneously gets synthetic bold https://bugs.webkit.org/show_bug.cgi?id=199653 Unreviewed MacCatalyst build fix. * wtf/Platform.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247482 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WTF/ChangeLog branches/safari-608-branch/Source/WTF/wtf/Platform.h Diff Modified: branches/safari-608-branch/Source/WTF/ChangeLog (247590 => 247591) --- branches/safari-608-branch/Source/WTF/ChangeLog 2019-07-18 20:23:44 UTC (rev 247590) +++ branches/safari-608-branch/Source/WTF/ChangeLog 2019-07-18 20:23:47 UTC (rev 247591) @@ -1,5 +1,27 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247482. rdar://problem/53229731 + +New York font erroneously gets synthetic bold +https://bugs.webkit.org/show_bug.cgi?id=199653 + +Unreviewed MacCatalyst build fix. + +* wtf/Platform.h: + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247482 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-16 Myles C. Maxfield + +New York font erroneously gets synthetic bold +https://bugs.webkit.org/show_bug.cgi?id=199653 + +Unreviewed MacCatalyst build fix. + +* wtf/Platform.h: + +2019-07-17 Kocsen Chung + Cherry-pick r247465. rdar://problem/53229731 New York font erroneously gets synthetic bold Modified: branches/safari-608-branch/Source/WTF/wtf/Platform.h (247590 => 247591) --- branches/safari-608-branch/Source/WTF/wtf/Platform.h 2019-07-18 20:23:44 UTC (rev 247590) +++ branches/safari-608-branch/Source/WTF/wtf/Platform.h 2019-07-18 20:23:47 UTC (rev 247591) @@ -1598,7 +1598,7 @@ #define HAVE_SUBVIEWS_IVAR_SPI 1 #endif -#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 11) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 4) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 11) +#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 11) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 4) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 11) #define USE_PLATFORM_SYSTEM_FALLBACK_LIST 1 #endif ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247583] branches/safari-608-branch/Source/WebKit
Title: [247583] branches/safari-608-branch/Source/WebKit Revision 247583 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:18 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247460. rdar://problem/53229628 Followup to r247439 https://bugs.webkit.org/show_bug.cgi?id=199788 Reviewed by Tim Horton. As it turns out, sending modern async completion-handler based IPC messages while processing incoming sync messages results in a debug assertion. Instead of migrating FontAtSelection to the new async IPC mechanism, restore the older CallbackID-based async IPC. * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::fontAtSelection): (WebKit::WebPageProxy::fontAtSelectionCallback): * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::fontAtSelection): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247460 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebKit/ChangeLog branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm branches/safari-608-branch/Source/WebKit/UIProcess/WebPageProxy.h branches/safari-608-branch/Source/WebKit/UIProcess/WebPageProxy.messages.in branches/safari-608-branch/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/WebPage.h branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/WebPage.messages.in branches/safari-608-branch/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm Diff Modified: branches/safari-608-branch/Source/WebKit/ChangeLog (247582 => 247583) --- branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:23:15 UTC (rev 247582) +++ branches/safari-608-branch/Source/WebKit/ChangeLog 2019-07-18 20:23:18 UTC (rev 247583) @@ -1,5 +1,53 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247460. rdar://problem/53229628 + +Followup to r247439 +https://bugs.webkit.org/show_bug.cgi?id=199788 + + +Reviewed by Tim Horton. + +As it turns out, sending modern async completion-handler based IPC messages while processing incoming sync +messages results in a debug assertion. Instead of migrating FontAtSelection to the new async IPC mechanism, +restore the older CallbackID-based async IPC. + +* UIProcess/WebPageProxy.h: +* UIProcess/WebPageProxy.messages.in: +* UIProcess/mac/WebPageProxyMac.mm: +(WebKit::WebPageProxy::fontAtSelection): +(WebKit::WebPageProxy::fontAtSelectionCallback): +* WebProcess/WebPage/WebPage.h: +* WebProcess/WebPage/WebPage.messages.in: +* WebProcess/WebPage/mac/WebPageMac.mm: +(WebKit::WebPage::fontAtSelection): + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247460 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-15 Wenson Hsieh + +Followup to r247439 +https://bugs.webkit.org/show_bug.cgi?id=199788 + + +Reviewed by Tim Horton. + +As it turns out, sending modern async completion-handler based IPC messages while processing incoming sync +messages results in a debug assertion. Instead of migrating FontAtSelection to the new async IPC mechanism, +restore the older CallbackID-based async IPC. + +* UIProcess/WebPageProxy.h: +* UIProcess/WebPageProxy.messages.in: +* UIProcess/mac/WebPageProxyMac.mm: +(WebKit::WebPageProxy::fontAtSelection): +(WebKit::WebPageProxy::fontAtSelectionCallback): +* WebProcess/WebPage/WebPage.h: +* WebProcess/WebPage/WebPage.messages.in: +* WebProcess/WebPage/mac/WebPageMac.mm: +(WebKit::WebPage::fontAtSelection): + +2019-07-17 Kocsen Chung + Cherry-pick r247439. rdar://problem/53229628 [macOS 10.15] Cannot unbold selected text when the system font is used Modified: branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (247582 => 247583) --- branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm 2019-07-18 20:23:15 UTC (rev 247582) +++ branches/safari-608-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm 2019-07-18 20:23:18 UTC (rev 247583) @@ -2810,7 +2810,10 @@ if (!fontPanelIsVisible && !m_page->editorState().isContentRichlyEditable) return; -m_page->fontAtSelection([](const FontInfo& fontInfo, double fontSize, bool selectionHasMultipleFonts) { +m_page->fontAtSelection([](const FontInfo& fontInfo, double fontSize, bool selectionHasMultipleFonts, CallbackBase::Error error) { +if (error != CallbackBase::Error::None) +return; + NSDictionary *attributeDictionary = (__bridge NSDictionary *)fontInfo.fontAttributeDictionary.get(); if (!attributeDictionary)
[webkit-changes] [247576] branches/safari-608-branch
Title: [247576] branches/safari-608-branch Revision 247576 Author kocsen_ch...@apple.com Date 2019-07-18 13:22:58 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247434. rdar://problem/53229565 window.openDatabase is not writable https://bugs.webkit.org/show_bug.cgi?id=199737 Reviewed by Chris Dumez. Source/WebCore: In r246707 we made openDatabase an undetectable attribute of window, and it was set to be read-only. This broke some sites which replace window.openDatabase with their own implementation when window.openDatabase does not exists or WebSQL is not implemented. This patch removes the readonly property and adds a setter for openDatabase. * Modules/webdatabase/DOMWindowWebDatabase.idl: * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setOpenDatabase): Tools: * TestWebKitAPI/Tests/WebKitCocoa/WebSQLBasics.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/opendatabase-always-exists.html: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247434 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.idl branches/safari-608-branch/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp branches/safari-608-branch/Tools/ChangeLog branches/safari-608-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebSQLBasics.mm branches/safari-608-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/opendatabase-always-exists.html Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247575 => 247576) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:22:54 UTC (rev 247575) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:22:58 UTC (rev 247576) @@ -1,5 +1,54 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247434. rdar://problem/53229565 + +window.openDatabase is not writable +https://bugs.webkit.org/show_bug.cgi?id=199737 + + +Reviewed by Chris Dumez. + +Source/WebCore: + +In r246707 we made openDatabase an undetectable attribute of window, and it was set to be read-only. This broke +some sites which replace window.openDatabase with their own implementation when window.openDatabase does not +exists or WebSQL is not implemented. + +This patch removes the readonly property and adds a setter for openDatabase. + +* Modules/webdatabase/DOMWindowWebDatabase.idl: +* bindings/js/JSDOMWindowCustom.cpp: +(WebCore::JSDOMWindow::setOpenDatabase): + +Tools: + +* TestWebKitAPI/Tests/WebKitCocoa/WebSQLBasics.mm: +(TEST): +* TestWebKitAPI/Tests/WebKitCocoa/opendatabase-always-exists.html: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247434 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-15 Sihui Liu + +window.openDatabase is not writable +https://bugs.webkit.org/show_bug.cgi?id=199737 + + +Reviewed by Chris Dumez. + +In r246707 we made openDatabase an undetectable attribute of window, and it was set to be read-only. This broke +some sites which replace window.openDatabase with their own implementation when window.openDatabase does not +exists or WebSQL is not implemented. + +This patch removes the readonly property and adds a setter for openDatabase. + +* Modules/webdatabase/DOMWindowWebDatabase.idl: +* bindings/js/JSDOMWindowCustom.cpp: +(WebCore::JSDOMWindow::setOpenDatabase): + +2019-07-17 Kocsen Chung + Cherry-pick r247379. rdar://problem/53229731 Fix builds where HAVE_DESIGN_SYSTEM_UI_FONTS is not defined. Modified: branches/safari-608-branch/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.idl (247575 => 247576) --- branches/safari-608-branch/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.idl 2019-07-18 20:22:54 UTC (rev 247575) +++ branches/safari-608-branch/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.idl 2019-07-18 20:22:58 UTC (rev 247576) @@ -25,5 +25,5 @@ */ partial interface DOMWindow { -[CustomGetter, NotEnumerable] readonly attribute any openDatabase; +[Custom, NotEnumerable] attribute any openDatabase; }; Modified: branches/safari-608-branch/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp (247575 => 247576) --- branches/safari-608-branch/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp 2019-07-18 20:22:54 UTC (rev 247575) +++ branches/safari-608-branch/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp 2019-07-18 20:22:58 UTC (rev 247576) @@ -619,4 +619,12 @@ return JSFunction::createFunctionThatMasqueradesAsUndefined(vm, state.lexicalGlobalObject(), 4, name, jsDOMWindowInstanceFunctionOpenDatabase, NoIntrinsic); } +void JSDOMWindow::setOpenDatabase(JSC::ExecState& state, JSC::JSValue value) +{ +if
[webkit-changes] [247589] branches/safari-608-branch
Title: [247589] branches/safari-608-branch Revision 247589 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:41 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247474. rdar://problem/53229615 JSGlobalObject type macros should support feature flags and WeakRef should have one https://bugs.webkit.org/show_bug.cgi?id=199601 Reviewed by Mark Lam. Source/_javascript_Core: This patch refactors the various builtin type macros to have a parameter, which is the feature flag enabling it. Since most builtin types are enabled by default this patch adds a new global bool typeExposedByDefault for clarity. Note, because static hash tables have no concept of feature flags we can't use feature flags with lazy properties. This is probably not a big deal as features that are off by default won't be allocated anywhere we care about memory usage anyway. * runtime/CommonIdentifiers.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::stringObjectStructure const): (JSC::JSGlobalObject::bigIntObjectStructure const): Deleted. * runtime/Options.h: * wasm/js/JSWebAssembly.cpp: Tools: JSC options need to be set before the window is created for the test. * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): * DumpRenderTree/win/DumpRenderTree.cpp: (setJSCOptions): (resetWebViewToConsistentStateBeforeTesting): LayoutTests: Add JSC option requirements for WeakRef tests. * js/script-tests/weakref-async-is-collected.js: * js/script-tests/weakref-eventually-collects-values.js: * js/script-tests/weakref-microtasks-dont-collect.js: * js/script-tests/weakref-weakset-consistency.js: * js/weakref-async-is-collected.html: * js/weakref-eventually-collects-values.html: * js/weakref-microtasks-dont-collect.html: * js/weakref-weakset-consistency.html: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247474 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/LayoutTests/ChangeLog branches/safari-608-branch/LayoutTests/js/script-tests/weakref-async-is-collected.js branches/safari-608-branch/LayoutTests/js/script-tests/weakref-eventually-collects-values.js branches/safari-608-branch/LayoutTests/js/script-tests/weakref-microtasks-dont-collect.js branches/safari-608-branch/LayoutTests/js/script-tests/weakref-weakset-consistency.js branches/safari-608-branch/LayoutTests/js/weakref-async-is-collected.html branches/safari-608-branch/LayoutTests/js/weakref-eventually-collects-values.html branches/safari-608-branch/LayoutTests/js/weakref-microtasks-dont-collect.html branches/safari-608-branch/LayoutTests/js/weakref-weakset-consistency.html branches/safari-608-branch/Source/_javascript_Core/ChangeLog branches/safari-608-branch/Source/_javascript_Core/runtime/CommonIdentifiers.h branches/safari-608-branch/Source/_javascript_Core/runtime/JSGlobalObject.cpp branches/safari-608-branch/Source/_javascript_Core/runtime/JSGlobalObject.h branches/safari-608-branch/Source/_javascript_Core/runtime/Options.h branches/safari-608-branch/Source/_javascript_Core/wasm/js/JSWebAssembly.cpp branches/safari-608-branch/Tools/ChangeLog branches/safari-608-branch/Tools/DumpRenderTree/mac/DumpRenderTree.mm branches/safari-608-branch/Tools/DumpRenderTree/win/DumpRenderTree.cpp Diff Modified: branches/safari-608-branch/LayoutTests/ChangeLog (247588 => 247589) --- branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-18 20:23:36 UTC (rev 247588) +++ branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-18 20:23:41 UTC (rev 247589) @@ -1,5 +1,78 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247474. rdar://problem/53229615 + +JSGlobalObject type macros should support feature flags and WeakRef should have one +https://bugs.webkit.org/show_bug.cgi?id=199601 + +Reviewed by Mark Lam. + +Source/_javascript_Core: + +This patch refactors the various builtin type macros to have a +parameter, which is the feature flag enabling it. Since most +builtin types are enabled by default this patch adds a new global +bool typeExposedByDefault for clarity. Note, because static hash +tables have no concept of feature flags we can't use feature flags +with lazy properties. This is probably not a big deal as features +that are off by default won't be allocated anywhere we care about +memory usage anyway. + +* runtime/CommonIdentifiers.h: +* runtime/JSGlobalObject.cpp: +(JSC::JSGlobalObject::init): +(JSC::JSGlobalObject::visitChildren): +* runtime/JSGlobalObject.h: +(JSC::JSGlobalObject::stringObjectStructure const): +(JSC::JSGlobalObject::bigIntObjectStructure const): Deleted. +* runtime/Options.h: +* wasm/js/JSWebAssembly.cpp: + +Tools:
[webkit-changes] [247580] branches/safari-608-branch/Source/WTF
Title: [247580] branches/safari-608-branch/Source/WTF Revision 247580 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:10 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247454. rdar://problem/53229624 MacCatalyst asserts when command key is raised https://bugs.webkit.org/show_bug.cgi?id=199805 Reviewed by Tim Horton. Add USE_UIKIT_KEYBOARD_ADDITIONS for iOS 13+ and macCatalyst. * wtf/FeatureDefines.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247454 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WTF/ChangeLog branches/safari-608-branch/Source/WTF/wtf/FeatureDefines.h Diff Modified: branches/safari-608-branch/Source/WTF/ChangeLog (247579 => 247580) --- branches/safari-608-branch/Source/WTF/ChangeLog 2019-07-18 20:23:08 UTC (rev 247579) +++ branches/safari-608-branch/Source/WTF/ChangeLog 2019-07-18 20:23:10 UTC (rev 247580) @@ -1,5 +1,33 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247454. rdar://problem/53229624 + +MacCatalyst asserts when command key is raised +https://bugs.webkit.org/show_bug.cgi?id=199805 + + +Reviewed by Tim Horton. + +Add USE_UIKIT_KEYBOARD_ADDITIONS for iOS 13+ and macCatalyst. + +* wtf/FeatureDefines.h: + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247454 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-15 Dean Jackson + +MacCatalyst asserts when command key is raised +https://bugs.webkit.org/show_bug.cgi?id=199805 + + +Reviewed by Tim Horton. + +Add USE_UIKIT_KEYBOARD_ADDITIONS for iOS 13+ and macCatalyst. + +* wtf/FeatureDefines.h: + +2019-07-17 Kocsen Chung + Cherry-pick r247377. rdar://problem/53229731 New York font erroneously gets synthetic bold Modified: branches/safari-608-branch/Source/WTF/wtf/FeatureDefines.h (247579 => 247580) --- branches/safari-608-branch/Source/WTF/wtf/FeatureDefines.h 2019-07-18 20:23:08 UTC (rev 247579) +++ branches/safari-608-branch/Source/WTF/wtf/FeatureDefines.h 2019-07-18 20:23:10 UTC (rev 247580) @@ -179,6 +179,12 @@ #endif #endif +#if PLATFORM(MACCATALYST) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 13) +#if !defined(USE_UIKIT_KEYBOARD_ADDITIONS) +#define USE_UIKIT_KEYBOARD_ADDITIONS 1 +#endif +#endif + #if !defined(HAVE_VISIBILITY_PROPAGATION_VIEW) #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 13 #define HAVE_VISIBILITY_PROPAGATION_VIEW 1 ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247586] branches/safari-608-branch/Tools
Title: [247586] branches/safari-608-branch/Tools Revision 247586 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:29 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247466. rdar://problem/53228860 [ Mojave WK1 ] Some Image tests are flakey failures and are failing in tandem with zoomed in or blank image results https://bugs.webkit.org/show_bug.cgi?id=193108 Patch by Said Abou-Hallawa on 2019-07-15 Reviewed by Simon Fraser. Add a workaround for in createBitmapContextFromWebView(). Re-request the snapshot at kCGWindowImageNominalResolution if it was captured at the wrong scale. * DumpRenderTree/mac/PixelDumpSupportMac.mm: (takeWindowSnapshot): (createBitmapContextFromWebView): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247466 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Tools/ChangeLog branches/safari-608-branch/Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm Diff Modified: branches/safari-608-branch/Tools/ChangeLog (247585 => 247586) --- branches/safari-608-branch/Tools/ChangeLog 2019-07-18 20:23:27 UTC (rev 247585) +++ branches/safari-608-branch/Tools/ChangeLog 2019-07-18 20:23:29 UTC (rev 247586) @@ -1,5 +1,40 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247466. rdar://problem/53228860 + +[ Mojave WK1 ] Some Image tests are flakey failures and are failing in tandem with zoomed in or blank image results +https://bugs.webkit.org/show_bug.cgi?id=193108 + +Patch by Said Abou-Hallawa on 2019-07-15 +Reviewed by Simon Fraser. + +Add a workaround for in createBitmapContextFromWebView(). +Re-request the snapshot at kCGWindowImageNominalResolution if it was captured +at the wrong scale. + +* DumpRenderTree/mac/PixelDumpSupportMac.mm: +(takeWindowSnapshot): +(createBitmapContextFromWebView): + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247466 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-15 Said Abou-Hallawa + +[ Mojave WK1 ] Some Image tests are flakey failures and are failing in tandem with zoomed in or blank image results +https://bugs.webkit.org/show_bug.cgi?id=193108 + +Reviewed by Simon Fraser. + +Add a workaround for in createBitmapContextFromWebView(). +Re-request the snapshot at kCGWindowImageNominalResolution if it was captured +at the wrong scale. + +* DumpRenderTree/mac/PixelDumpSupportMac.mm: +(takeWindowSnapshot): +(createBitmapContextFromWebView): + +2019-07-17 Kocsen Chung + Cherry-pick r247461. rdar://problem/53229637 Make WKURLSchemeTask thread safe. Modified: branches/safari-608-branch/Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm (247585 => 247586) --- branches/safari-608-branch/Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm 2019-07-18 20:23:27 UTC (rev 247585) +++ branches/safari-608-branch/Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm 2019-07-18 20:23:29 UTC (rev 247586) @@ -36,6 +36,7 @@ #import "TestRunner.h" #import #import +#import #import #import @@ -82,6 +83,12 @@ CGContextRestoreGState(context); } +static CGImageRef takeWindowSnapshot(CGSWindowID windowID, CGWindowImageOption imageOptions) +{ +imageOptions |= kCGWindowImageBoundsIgnoreFraming | kCGWindowImageShouldBeOpaque; +return CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, windowID, imageOptions); +} + RefPtr createBitmapContextFromWebView(bool onscreen, bool incrementalRepaint, bool sweepHorizontally, bool drawSelectionRect) { WebView* view = [mainFrame webView]; @@ -128,7 +135,19 @@ // Ask the window server to provide us a composited version of the *real* window content including surfaces (i.e. OpenGL content) // Note that the returned image might differ very slightly from the window backing because of dithering artifacts in the window server compositor. -CGImageRef image = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, [[view window] windowNumber], kCGWindowImageBoundsIgnoreFraming | kCGWindowImageShouldBeOpaque); +NSWindow *window = [view window]; +CGImageRef image = takeWindowSnapshot([window windowNumber], kCGWindowImageDefault); + +if (image) { +// Work around ; re-request the snapshot at kCGWindowImageNominalResolution if it was captured at the wrong scale. +CGFloat desiredSnapshotWidth = window.frame.size.width * deviceScaleFactor; +if (CGImageGetWidth(image) != desiredSnapshotWidth) +image = takeWindowSnapshot([window windowNumber], kCGWindowImageNominalResolution); +} + +if (!image) +return nullptr; + CGContextDrawImage(context, CGRectMake(0, 0, CGImageGetWidth(image),
[webkit-changes] [247581] branches/safari-608-branch/Tools
Title: [247581] branches/safari-608-branch/Tools Revision 247581 Author kocsen_ch...@apple.com Date 2019-07-18 13:23:12 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247458. rdar://problem/53229545 Unreviewed, a build fix after r247437 * TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: Added platform guard towards -[WKUIDelegate _presentingViewControllerForWebView:]. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247458 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Tools/ChangeLog branches/safari-608-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm Diff Modified: branches/safari-608-branch/Tools/ChangeLog (247580 => 247581) --- branches/safari-608-branch/Tools/ChangeLog 2019-07-18 20:23:10 UTC (rev 247580) +++ branches/safari-608-branch/Tools/ChangeLog 2019-07-18 20:23:12 UTC (rev 247581) @@ -1,5 +1,23 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247458. rdar://problem/53229545 + +Unreviewed, a build fix after r247437 + +* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: +Added platform guard towards -[WKUIDelegate _presentingViewControllerForWebView:]. + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247458 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-15 Jiewen Tan + +Unreviewed, a build fix after r247437 + +* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: +Added platform guard towards -[WKUIDelegate _presentingViewControllerForWebView:]. + +2019-07-17 Kocsen Chung + Cherry-pick r247439. rdar://problem/53229628 [macOS 10.15] Cannot unbold selected text when the system font is used Modified: branches/safari-608-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm (247580 => 247581) --- branches/safari-608-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm 2019-07-18 20:23:10 UTC (rev 247580) +++ branches/safari-608-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm 2019-07-18 20:23:12 UTC (rev 247581) @@ -207,10 +207,12 @@ }); } +#if PLATFORM(IOS) - (UIViewController *)_presentingViewControllerForWebView:(WKWebView *)webView { return nil; } +#endif @end ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247575] branches/safari-608-branch/Source/WebCore
Title: [247575] branches/safari-608-branch/Source/WebCore Revision 247575 Author kocsen_ch...@apple.com Date 2019-07-18 13:22:54 -0700 (Thu, 18 Jul 2019) Log Message Cherry-pick r247379. rdar://problem/53229731 Fix builds where HAVE_DESIGN_SYSTEM_UI_FONTS is not defined. * platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::fontWithFamilySpecialCase): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247379 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608-branch/Source/WebCore/ChangeLog branches/safari-608-branch/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp Diff Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247574 => 247575) --- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:22:50 UTC (rev 247574) +++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-18 20:22:54 UTC (rev 247575) @@ -1,5 +1,23 @@ 2019-07-17 Kocsen Chung +Cherry-pick r247379. rdar://problem/53229731 + +Fix builds where HAVE_DESIGN_SYSTEM_UI_FONTS is not defined. + +* platform/graphics/cocoa/FontCacheCoreText.cpp: +(WebCore::fontWithFamilySpecialCase): + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247379 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-11 Simon Fraser + +Fix builds where HAVE_DESIGN_SYSTEM_UI_FONTS is not defined. + +* platform/graphics/cocoa/FontCacheCoreText.cpp: +(WebCore::fontWithFamilySpecialCase): + +2019-07-17 Kocsen Chung + Cherry-pick r247377. rdar://problem/53229731 New York font erroneously gets synthetic bold Modified: branches/safari-608-branch/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp (247574 => 247575) --- branches/safari-608-branch/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp 2019-07-18 20:22:50 UTC (rev 247574) +++ branches/safari-608-branch/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp 2019-07-18 20:22:54 UTC (rev 247575) @@ -1266,6 +1266,11 @@ if (!cascadeList.isEmpty()) return createFontForInstalledFonts(cascadeList[0].get(), size, allowUserInstalledFonts); } +#else +UNUSED_PARAM(family); +UNUSED_PARAM(fontDescription); +UNUSED_PARAM(size); +UNUSED_PARAM(allowUserInstalledFonts); #endif return nullptr; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247573] trunk
Title: [247573] trunk Revision 247573 Author grao...@webkit.org Date 2019-07-18 12:12:58 -0700 (Thu, 18 Jul 2019) Log Message [Pointer Events] The button and buttons properties are incorrect on iOS https://bugs.webkit.org/show_bug.cgi?id=199910 Reviewed by Dean Jackson. Source/WebCore: The button and buttons properties were always set to 0 on iOS. We now use the correct values such that button is always 0 except for "pointermove" where it's -1, and "buttons" is 1 as long as the pointer is in contact with the touch surface. Tests: pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel.html pointerevents/ios/pointer-event-button-and-buttons.html * dom/ios/PointerEventIOS.cpp: (WebCore::buttonForType): (WebCore::buttonsForType): (WebCore::PointerEvent::PointerEvent): LayoutTests: * pointerevents/ios/pointer-event-button-and-buttons-expected.txt: Added. * pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel-expected.txt: Added. * pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel.html: Added. * pointerevents/ios/pointer-event-button-and-buttons.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/ios/PointerEventIOS.cpp Added Paths trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-expected.txt trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel-expected.txt trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel.html trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons.html Diff Modified: trunk/LayoutTests/ChangeLog (247572 => 247573) --- trunk/LayoutTests/ChangeLog 2019-07-18 19:11:07 UTC (rev 247572) +++ trunk/LayoutTests/ChangeLog 2019-07-18 19:12:58 UTC (rev 247573) @@ -1,3 +1,16 @@ +2019-07-18 Antoine Quint + +[Pointer Events] The button and buttons properties are incorrect on iOS +https://bugs.webkit.org/show_bug.cgi?id=199910 + + +Reviewed by Dean Jackson. + +* pointerevents/ios/pointer-event-button-and-buttons-expected.txt: Added. +* pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel-expected.txt: Added. +* pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel.html: Added. +* pointerevents/ios/pointer-event-button-and-buttons.html: Added. + 2019-07-18 Alex Christensen Rebase fast/forms/ios/delete-in-input-in-iframe.html after r244141 Added: trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-expected.txt (0 => 247573) --- trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-expected.txt (rev 0) +++ trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-expected.txt 2019-07-18 19:12:58 UTC (rev 247573) @@ -0,0 +1,3 @@ + +PASS Testing the values of the button and buttons properties. + Added: trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel-expected.txt (0 => 247573) --- trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel-expected.txt (rev 0) +++ trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel-expected.txt 2019-07-18 19:12:58 UTC (rev 247573) @@ -0,0 +1,3 @@ + +PASS Testing the values of the button and buttons properties with cancelation. + Added: trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel.html (0 => 247573) --- trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel.html (rev 0) +++ trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons-pointer-cancel.html 2019-07-18 19:12:58 UTC (rev 247573) @@ -0,0 +1,38 @@ + + + + + + + + + +'use strict'; + +target_test({ width: "200px", height: "200px" }, (target, test) => { +const eventTracker = new EventTracker(target, ["pointerdown", "pointerenter", "pointerleave", "pointercancel", "pointerout", "pointerover", "pointerup"]); + +const _one_ = ui.finger(); +ui.sequence([ +one.begin({ x: 10, y: 10 }), +one.move({ x: 100, y: 100 }), +one.end() +]).then(() => { +eventTracker.assertMatchesEvents([ +{ type: "pointerover", button: 0, buttons: 1 }, +{ type: "pointerenter", button: 0, buttons: 1 }, +{ type: "pointerdown", button: 0, buttons: 1 }, +{ type: "pointercancel", button: 0, buttons: 0 }, +{ type: "pointerout", button: 0, buttons: 0 }, +{ type: "pointerleave", button: 0, buttons: 0 }, +]); +test.done(); +}); +}, `Testing the values of the button and buttons properties with cancelation.`); + + + + \ No newline at end of file Added: trunk/LayoutTests/pointerevents/ios/pointer-event-button-and-buttons.html (0 => 247573) ---
[webkit-changes] [247572] trunk/Source/WebCore
Title: [247572] trunk/Source/WebCore Revision 247572 Author grao...@webkit.org Date 2019-07-18 12:11:07 -0700 (Thu, 18 Jul 2019) Log Message REGRESSION: Unable to enable simulated mouse events using the runtime flag https://bugs.webkit.org/show_bug.cgi?id=199909 Reviewed by Dean Jackson. The fix for wkb.ug/199508 (r247152) broke the ability enable simulated mouse events using the runtime flag. We now add a check for the flag in Quirks::shouldDispatchSimulatedMouseEvents() so that the runtime flag overrides the content of that function. This is more practical and allows for a quick override using the flag. Additionally, we need only call shouldDispatchSimulatedMouseEvents() in simulatedMouseEventTypeForTarget() since that function already calls needsQuirks(). * dom/EventNames.h: (WebCore::EventNames::isTouchRelatedEventType const): * dom/Node.cpp: (WebCore::Node::moveNodeToNewDocument): * page/Quirks.cpp: (WebCore::Quirks::shouldDispatchSimulatedMouseEvents const): (WebCore::Quirks::simulatedMouseEventTypeForTarget const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/EventNames.h trunk/Source/WebCore/dom/Node.cpp trunk/Source/WebCore/page/Quirks.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247571 => 247572) --- trunk/Source/WebCore/ChangeLog 2019-07-18 19:06:35 UTC (rev 247571) +++ trunk/Source/WebCore/ChangeLog 2019-07-18 19:11:07 UTC (rev 247572) @@ -1,5 +1,28 @@ 2019-07-18 Antoine Quint +REGRESSION: Unable to enable simulated mouse events using the runtime flag +https://bugs.webkit.org/show_bug.cgi?id=199909 + + +Reviewed by Dean Jackson. + +The fix for wkb.ug/199508 (r247152) broke the ability enable simulated mouse events using the runtime flag. +We now add a check for the flag in Quirks::shouldDispatchSimulatedMouseEvents() so that the runtime flag +overrides the content of that function. This is more practical and allows for a quick override using the flag. + +Additionally, we need only call shouldDispatchSimulatedMouseEvents() in simulatedMouseEventTypeForTarget() since +that function already calls needsQuirks(). + +* dom/EventNames.h: +(WebCore::EventNames::isTouchRelatedEventType const): +* dom/Node.cpp: +(WebCore::Node::moveNodeToNewDocument): +* page/Quirks.cpp: +(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const): +(WebCore::Quirks::simulatedMouseEventTypeForTarget const): + +2019-07-18 Antoine Quint + REGRESSION: Panning on an Amazon product image scrolls the page on iPadOS https://bugs.webkit.org/show_bug.cgi?id=199905 Modified: trunk/Source/WebCore/dom/EventNames.h (247571 => 247572) --- trunk/Source/WebCore/dom/EventNames.h 2019-07-18 19:06:35 UTC (rev 247571) +++ trunk/Source/WebCore/dom/EventNames.h 2019-07-18 19:11:07 UTC (rev 247572) @@ -395,7 +395,7 @@ inline bool EventNames::isTouchRelatedEventType(const Document& document, const AtomString& eventType) const { #if ENABLE(TOUCH_EVENTS) -if (document.quirks().shouldDispatchSimulatedMouseEvents() || RuntimeEnabledFeatures::sharedFeatures().mouseEventsSimulationEnabled()) { +if (document.quirks().shouldDispatchSimulatedMouseEvents()) { if (eventType == mousedownEvent || eventType == mousemoveEvent || eventType == mouseupEvent) return true; } Modified: trunk/Source/WebCore/dom/Node.cpp (247571 => 247572) --- trunk/Source/WebCore/dom/Node.cpp 2019-07-18 19:06:35 UTC (rev 247571) +++ trunk/Source/WebCore/dom/Node.cpp 2019-07-18 19:11:07 UTC (rev 247572) @@ -2061,7 +2061,7 @@ unsigned numTouchEventListeners = 0; #if ENABLE(TOUCH_EVENTS) -if (newDocument.quirks().shouldDispatchSimulatedMouseEvents() || RuntimeEnabledFeatures::sharedFeatures().mouseEventsSimulationEnabled()) { +if (newDocument.quirks().shouldDispatchSimulatedMouseEvents()) { for (auto& name : eventNames().extendedTouchRelatedEventNames()) numTouchEventListeners += eventListeners(name).size(); } else { Modified: trunk/Source/WebCore/page/Quirks.cpp (247571 => 247572) --- trunk/Source/WebCore/page/Quirks.cpp 2019-07-18 19:06:35 UTC (rev 247571) +++ trunk/Source/WebCore/page/Quirks.cpp 2019-07-18 19:11:07 UTC (rev 247572) @@ -32,6 +32,7 @@ #include "HTMLMetaElement.h" #include "HTMLObjectElement.h" #include "LayoutUnit.h" +#include "RuntimeEnabledFeatures.h" #include "Settings.h" namespace WebCore { @@ -236,6 +237,9 @@ bool Quirks::shouldDispatchSimulatedMouseEvents() const { +if (RuntimeEnabledFeatures::sharedFeatures().mouseEventsSimulationEnabled()) +return true; + if (!needsQuirks()) return false; @@ -295,7 +299,7 @@ Optional Quirks::simulatedMouseEventTypeForTarget(EventTarget* target) const { -if (!needsQuirks() || !shouldDispatchSimulatedMouseEvents()) +if
[webkit-changes] [247571] trunk/LayoutTests
Title: [247571] trunk/LayoutTests Revision 247571 Author commit-qu...@webkit.org Date 2019-07-18 12:06:35 -0700 (Thu, 18 Jul 2019) Log Message Rebase fast/forms/ios/delete-in-input-in-iframe.html after r244141 https://bugs.webkit.org/show_bug.cgi?id=199875 Patch by Alex Christensen on 2019-07-18 Reviewed by Megan Gardner. In r202295, we added an ios-specific quirk to prevent scrolling on iOS because of UIKit/WebKit scrolling discrepancies. In r244141, we changed the scrolling behavior to be more like macOS, and the test was broken. Since this was an intentional change and the bugs reported in rdar://problem/26805722 (initially fixed by r202295) and rdar://problem/49225507 (fixed by r244141) are both behaving as desired, the intentional change in r244141 should be reflected by new test expectations. We do want typing in an input field in an iframe to scroll as we type. * fast/forms/ios/delete-in-input-in-iframe-expected.txt: * fast/forms/ios/delete-in-input-in-iframe.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/forms/ios/delete-in-input-in-iframe-expected.txt trunk/LayoutTests/fast/forms/ios/delete-in-input-in-iframe.html Diff Modified: trunk/LayoutTests/ChangeLog (247570 => 247571) --- trunk/LayoutTests/ChangeLog 2019-07-18 19:05:29 UTC (rev 247570) +++ trunk/LayoutTests/ChangeLog 2019-07-18 19:06:35 UTC (rev 247571) @@ -1,3 +1,20 @@ +2019-07-18 Alex Christensen + +Rebase fast/forms/ios/delete-in-input-in-iframe.html after r244141 +https://bugs.webkit.org/show_bug.cgi?id=199875 + + +Reviewed by Megan Gardner. + +In r202295, we added an ios-specific quirk to prevent scrolling on iOS because of UIKit/WebKit scrolling discrepancies. +In r244141, we changed the scrolling behavior to be more like macOS, and the test was broken. Since this was an intentional +change and the bugs reported in rdar://problem/26805722 (initially fixed by r202295) and rdar://problem/49225507 (fixed by r244141) +are both behaving as desired, the intentional change in r244141 should be reflected by new test expectations. +We do want typing in an input field in an iframe to scroll as we type. + +* fast/forms/ios/delete-in-input-in-iframe-expected.txt: +* fast/forms/ios/delete-in-input-in-iframe.html: + 2019-07-18 Youenn Fablet Make sure to set kCTFontFallbackOptionAttribute to kCTFontFallbackOptionSystem for system fonts Modified: trunk/LayoutTests/fast/forms/ios/delete-in-input-in-iframe-expected.txt (247570 => 247571) --- trunk/LayoutTests/fast/forms/ios/delete-in-input-in-iframe-expected.txt 2019-07-18 19:05:29 UTC (rev 247570) +++ trunk/LayoutTests/fast/forms/ios/delete-in-input-in-iframe-expected.txt 2019-07-18 19:06:35 UTC (rev 247571) @@ -1,5 +1,5 @@ Tests that typing into a text input in an iframe should not scroll. -PASS: page did not scroll. +PASS: page scrolled to 1143 Click to focus input Modified: trunk/LayoutTests/fast/forms/ios/delete-in-input-in-iframe.html (247570 => 247571) --- trunk/LayoutTests/fast/forms/ios/delete-in-input-in-iframe.html 2019-07-18 19:05:29 UTC (rev 247570) +++ trunk/LayoutTests/fast/forms/ios/delete-in-input-in-iframe.html 2019-07-18 19:06:35 UTC (rev 247571) @@ -39,7 +39,7 @@ function pageDidScroll() { -document.getElementById('result').textContent = 'FAIL: page scrolled to ' + document.scrollingElement.scrollTop; +document.getElementById('result').textContent = 'PASS: page scrolled to ' + document.scrollingElement.scrollTop; } function testTyping() @@ -76,7 +76,7 @@ Tests that typing into a text input in an iframe should not scroll. -PASS: page did not scroll. +FAIL: page did not scroll. Click to focus input ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247569] trunk/Tools
Title: [247569] trunk/Tools Revision 247569 Author aakash_j...@apple.com Date 2019-07-18 12:03:17 -0700 (Thu, 18 Jul 2019) Log Message [ews-build] Add build step to AnalyzeLayoutTestsResults https://bugs.webkit.org/show_bug.cgi?id=199877 Reviewed by Jonathan Bedard. Logic is ported from webkitpy/tool/bot/patchanalysistask.py::_retry_layout_tests() * BuildSlaveSupport/ews-build/steps.py: (RunWebKitTestsWithoutPatch.evaluateCommand): invoke AnalyzeLayoutTestsResults step. (AnalyzeLayoutTestsResults): Build step to analyze layout-test results. (AnalyzeLayoutTestsResults.report_failure): (AnalyzeLayoutTestsResults.report_pre_existing_failures): (AnalyzeLayoutTestsResults.retry_build): (AnalyzeLayoutTestsResults._results_failed_different_tests): (AnalyzeLayoutTestsResults._report_flaky_tests): (AnalyzeLayoutTestsResults.start): * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests. Modified Paths trunk/Tools/BuildSlaveSupport/ews-build/steps.py trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (247568 => 247569) --- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-07-18 18:57:35 UTC (rev 247568) +++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-07-18 19:03:17 UTC (rev 247569) @@ -991,7 +991,7 @@ def evaluateCommand(self, cmd): rc = shell.Test.evaluateCommand(self, cmd) -self.build.addStepsAfterCurrentStep([ArchiveTestResults(), UploadTestResults(identifier='clean-tree'), ExtractTestResults(identifier='clean-tree')]) +self.build.addStepsAfterCurrentStep([ArchiveTestResults(), UploadTestResults(identifier='clean-tree'), ExtractTestResults(identifier='clean-tree'), AnalyzeLayoutTestsResults()]) return rc def commandComplete(self, cmd): @@ -1007,6 +1007,107 @@ self._parseRunWebKitTestsOutput(logText) +class AnalyzeLayoutTestsResults(buildstep.BuildStep): +name = 'analyze-layout-tests-results' +description = ['analyze-layout-test-results'] +descriptionDone = ['analyze-layout-tests-results'] + +def report_failure(self, new_failures): +self.finished(FAILURE) +self.build.results = FAILURE +pluralSuffix = 's' if len(new_failures) > 1 else '' +new_failures_string = ', '.join([failure_name for failure_name in new_failures]) +message = 'Found {} new Test failure{}: {}'.format(len(new_failures), pluralSuffix, new_failures_string) +self.descriptionDone = message +self.build.buildFinished([message], FAILURE) +return defer.succeed(None) + +def report_pre_existing_failures(self, clean_tree_failures): +self.finished(SUCCESS) +self.build.results = SUCCESS +self.descriptionDone = 'Passed layout tests' +pluralSuffix = 's' if len(clean_tree_failures) > 1 else '' +message = 'Found {} pre-existing test failure{}'.format(len(clean_tree_failures), pluralSuffix) +self.build.buildFinished([message], SUCCESS) +return defer.succeed(None) + +def retry_build(self, message=''): +self.finished(RETRY) +message = 'Unable to confirm if test failures are introduced by patch, retrying build' +self.descriptionDone = message +self.build.buildFinished([message], RETRY) +return defer.succeed(None) + +def _results_failed_different_tests(self, first_results_failing_tests, second_results_failing_tests): +return first_results_failing_tests != second_results_failing_tests + +def _report_flaky_tests(self, flaky_tests): +#TODO: implement this +pass + +def start(self): +first_results_did_exceed_test_failure_limit = self.getProperty('first_results_exceed_failure_limit') +first_results_failing_tests = set(self.getProperty('first_run_failures', [])) +second_results_did_exceed_test_failure_limit = self.getProperty('second_results_exceed_failure_limit') +second_results_failing_tests = set(self.getProperty('second_run_failures', [])) +clean_tree_results_did_exceed_test_failure_limit = self.getProperty('clean_tree_results_exceed_failure_limit') +clean_tree_results_failing_tests = set(self.getProperty('clean_tree_run_failures', [])) + +if first_results_did_exceed_test_failure_limit and second_results_did_exceed_test_failure_limit: +if (len(first_results_failing_tests) - len(clean_tree_results_failing_tests)) <= 5: +# If we've made it here, then many tests are failing with the patch applied, but +# if the clean tree is also failing many tests, even if it's not quite as many, +# then we can't be certain that the discrepancy isn't due to flakiness, and hence we must defer judgement. +return self.retry_build() +return self.report_failure(first_results_failing_tests) + +if
[webkit-changes] [247568] trunk/Source/WebCore
Title: [247568] trunk/Source/WebCore Revision 247568 Author grao...@webkit.org Date 2019-07-18 11:57:35 -0700 (Thu, 18 Jul 2019) Log Message REGRESSION: Panning on an Amazon product image scrolls the page on iPadOS https://bugs.webkit.org/show_bug.cgi?id=199905 Reviewed by Dean Jackson. Amazon product pages include images that the user can touch and pan to show zoomed details in a side image. This currently works on iPadOS thanks to the dispatch of simulated "mousemove" events on the product image, but the site doesn't call preventDefault() when handling those events as it wasn't necessary for macOS. We add a new quirk that will indicate that a given element is such a product image. * page/Quirks.cpp: (WebCore::Quirks::isAmazon const): (WebCore::Quirks::shouldDispatchSimulatedMouseEvents const): (WebCore::Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented const): (WebCore::Quirks::simulatedMouseEventTypeForTarget const): * page/Quirks.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Quirks.cpp trunk/Source/WebCore/page/Quirks.h Diff Modified: trunk/Source/WebCore/ChangeLog (247567 => 247568) --- trunk/Source/WebCore/ChangeLog 2019-07-18 18:41:31 UTC (rev 247567) +++ trunk/Source/WebCore/ChangeLog 2019-07-18 18:57:35 UTC (rev 247568) @@ -1,3 +1,24 @@ +2019-07-18 Antoine Quint + +REGRESSION: Panning on an Amazon product image scrolls the page on iPadOS +https://bugs.webkit.org/show_bug.cgi?id=199905 + + +Reviewed by Dean Jackson. + +Amazon product pages include images that the user can touch and pan to show zoomed details in a side image. This +currently works on iPadOS thanks to the dispatch of simulated "mousemove" events on the product image, but the site +doesn't call preventDefault() when handling those events as it wasn't necessary for macOS. + +We add a new quirk that will indicate that a given element is such a product image. + +* page/Quirks.cpp: +(WebCore::Quirks::isAmazon const): +(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const): +(WebCore::Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented const): +(WebCore::Quirks::simulatedMouseEventTypeForTarget const): +* page/Quirks.h: + 2019-07-18 Youenn Fablet Make sure to set kCTFontFallbackOptionAttribute to kCTFontFallbackOptionSystem for system fonts Modified: trunk/Source/WebCore/page/Quirks.cpp (247567 => 247568) --- trunk/Source/WebCore/page/Quirks.cpp 2019-07-18 18:41:31 UTC (rev 247567) +++ trunk/Source/WebCore/page/Quirks.cpp 2019-07-18 18:57:35 UTC (rev 247568) @@ -227,6 +227,13 @@ } #if ENABLE(TOUCH_EVENTS) +bool Quirks::isAmazon() const +{ +auto& url = "" +auto host = url.host(); +return equalLettersIgnoringASCIICase(host, "amazon.com") || host.endsWithIgnoringASCIICase(".amazon.com"); +} + bool Quirks::shouldDispatchSimulatedMouseEvents() const { if (!needsQuirks()) @@ -236,11 +243,12 @@ if (!loader || loader->simulatedMouseEventsDispatchPolicy() != SimulatedMouseEventsDispatchPolicy::Allow) return false; +if (isAmazon()) +return true; + auto& url = "" auto host = url.host(); -if (equalLettersIgnoringASCIICase(host, "amazon.com") || host.endsWithIgnoringASCIICase(".amazon.com")) -return true; if (equalLettersIgnoringASCIICase(host, "wix.com") || host.endsWithIgnoringASCIICase(".wix.com")) return true; if ((equalLettersIgnoringASCIICase(host, "desmos.com") || host.endsWithIgnoringASCIICase(".desmos.com")) && url.path().startsWithIgnoringASCIICase("/calculator/")) @@ -267,6 +275,24 @@ return false; } +bool Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented(EventTarget* target) const +{ +if (!needsQuirks() || !shouldDispatchSimulatedMouseEvents()) +return false; + +if (isAmazon() && is(target)) { +// When panning on an Amazon product image, we're either touching on the #magnifierLens element +// or its previous sibling. +auto* element = downcast(target); +if (element->getIdAttribute() == "magnifierLens") +return true; +if (auto* sibling = element->nextElementSibling()) +return sibling->getIdAttribute() == "magnifierLens"; +} + +return false; +} + Optional Quirks::simulatedMouseEventTypeForTarget(EventTarget* target) const { if (!needsQuirks() || !shouldDispatchSimulatedMouseEvents()) @@ -285,7 +311,7 @@ return Event::IsCancelable::No; return Event::IsCancelable::Yes; -} +} #endif bool Quirks::shouldAvoidResizingWhenInputViewBoundsChange() const Modified: trunk/Source/WebCore/page/Quirks.h (247567 => 247568) --- trunk/Source/WebCore/page/Quirks.h 2019-07-18 18:41:31 UTC (rev 247567) +++ trunk/Source/WebCore/page/Quirks.h 2019-07-18 18:57:35 UTC (rev 247568) @@ -50,6 +50,7 @@ bool
[webkit-changes] [247567] trunk
Title: [247567] trunk Revision 247567 Author achristen...@apple.com Date 2019-07-18 11:41:31 -0700 (Thu, 18 Jul 2019) Log Message Move NetworkCache ownership from NetworkProcess to NetworkSession https://bugs.webkit.org/show_bug.cgi?id=199817 Reviewed by Geoff Garen. Source/WebKit: I also added SPI to set the path of the NetworkCache with an API test. If this new SPI is not used, it falls back to getting the cache location from the NetworkProcess to maintain compatibility. We still get options, cache size, and cache model from the NetworkProcess. Those should be migrated with new SPI later. Clearing the cache and other operations now iterate the NetworkSessions instead of assuming there is only one cache. * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::fetchWebsiteData): (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): (WebKit::NetworkProcess::deleteWebsiteDataForRegistrableDomains): (WebKit::NetworkProcess::registrableDomainsWithWebsiteData): (WebKit::NetworkProcess::setCacheModel): * NetworkProcess/NetworkProcess.h: (WebKit::NetworkProcess::diskCacheDirectory const): (WebKit::NetworkProcess::cacheOptions const): (WebKit::NetworkProcess::cache): Deleted. * NetworkProcess/NetworkResourceLoader.cpp: (WebKit::m_shouldCaptureExtraNetworkLoadMetrics): * NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::NetworkSession): * NetworkProcess/NetworkSession.h: (WebKit::NetworkSession::cache): * NetworkProcess/NetworkSessionCreationParameters.cpp: (WebKit::NetworkSessionCreationParameters::encode const): (WebKit::NetworkSessionCreationParameters::decode): * NetworkProcess/NetworkSessionCreationParameters.h: * NetworkProcess/cache/NetworkCache.cpp: (WebKit::NetworkCache::Cache::open): (WebKit::NetworkCache::Cache::Cache): * NetworkProcess/cache/NetworkCache.h: * NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): (WebKit::NetworkProcess::clearDiskCache): * NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): * NetworkProcess/curl/NetworkSessionCurl.cpp: (WebKit::NetworkSessionCurl::NetworkSessionCurl): * NetworkProcess/soup/NetworkSessionSoup.cpp: (WebKit::NetworkSessionSoup::NetworkSessionSoup): * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore _initWithConfiguration:]): * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: (-[_WKWebsiteDataStoreConfiguration networkCacheDirectory]): (-[_WKWebsiteDataStoreConfiguration setNetworkCacheDirectory:]): * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: (WebKit::WebsiteDataStore::parameters): * UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary): * UIProcess/WebsiteData/WebsiteDataStore.h: (WebKit::WebsiteDataStore::resolvedNetworkCacheDirectory const): Tools: * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[WKWebView synchronouslyLoadRequest:]): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp trunk/Source/WebKit/NetworkProcess/NetworkProcess.h trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp trunk/Source/WebKit/NetworkProcess/NetworkSession.h trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.cpp trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.h trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm trunk/Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp trunk/Source/WebKit/NetworkProcess/ios/NetworkProcessIOS.mm trunk/Source/WebKit/NetworkProcess/soup/NetworkProcessSoup.cpp trunk/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm trunk/Tools/TestWebKitAPI/cocoa/TestWKWebView.h trunk/Tools/TestWebKitAPI/cocoa/TestWKWebView.mm Diff Modified: trunk/Source/WebKit/ChangeLog (247566 => 247567) --- trunk/Source/WebKit/ChangeLog 2019-07-18 18:34:29 UTC (rev 247566) +++ trunk/Source/WebKit/ChangeLog 2019-07-18 18:41:31 UTC (rev 247567) @@ -1,3 +1,61 @@ +2019-07-18 Alex Christensen + +Move NetworkCache ownership from NetworkProcess to
[webkit-changes] [247566] trunk
Title: [247566] trunk Revision 247566 Author you...@apple.com Date 2019-07-18 11:34:29 -0700 (Thu, 18 Jul 2019) Log Message Make sure to set kCTFontFallbackOptionAttribute to kCTFontFallbackOptionSystem for system fonts https://bugs.webkit.org/show_bug.cgi?id=199769 Reviewed by Myles C. Maxfield. Source/WebCore: When getting a system font, set the appropriate attribute so that it does not fallback to a user initiated font. Add an ASSERT that checks that the font in use is not a user font if policy is to not use user installed fonts. Tests: fast/text/user-installed-fonts/extended-character-with-user-font.html fast/text/user-installed-fonts/extended-character.html * platform/graphics/Font.h: * platform/graphics/FontCascadeFonts.cpp: (WebCore::FontCascadeFonts::glyphDataForSystemFallback): * platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::preparePlatformFont): (WebCore::FontDatabase::singletonAllowingUserInstalledFonts): (WebCore::FontDatabase::singletonDisallowingUserInstalledFonts): (WebCore::addAttributesForInstalledFonts): (WebCore::addAttributesForWebFonts): (WebCore::installedFontMandatoryAttributes): * platform/graphics/mac/SimpleFontDataCoreText.cpp: (WebCore::Font::isUserInstalledFont const): Source/WTF: * wtf/Platform.h: Tools: Add a font containing one extended character not found in system fonts. * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/fonts/FakeHelvetica-SingleExtendedCharacter.ttf: Added. LayoutTests: Tests require WTR and recent MacOS, hence why they are disabled elsewhere. * TestExpectations: * platform/mac-wk2/TestExpectations: * fast/text/user-installed-fonts/extended-character-expected.html: Added. * fast/text/user-installed-fonts/extended-character-with-user-font-expected-mismatch.html: Added. * fast/text/user-installed-fonts/extended-character-with-user-font.html: Added. * fast/text/user-installed-fonts/extended-character.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/platform/mac-wk2/TestExpectations trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Platform.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/Font.h trunk/Source/WebCore/platform/graphics/FontCascadeFonts.cpp trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp trunk/Source/WebCore/platform/graphics/mac/SimpleFontDataCoreText.cpp trunk/Tools/ChangeLog trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj Added Paths trunk/LayoutTests/fast/text/user-installed-fonts/extended-character-expected.html trunk/LayoutTests/fast/text/user-installed-fonts/extended-character-with-user-font-expected-mismatch.html trunk/LayoutTests/fast/text/user-installed-fonts/extended-character-with-user-font.html trunk/LayoutTests/fast/text/user-installed-fonts/extended-character.html trunk/Tools/WebKitTestRunner/fonts/FakeHelvetica-SingleExtendedCharacter.ttf Diff Modified: trunk/LayoutTests/ChangeLog (247565 => 247566) --- trunk/LayoutTests/ChangeLog 2019-07-18 17:44:54 UTC (rev 247565) +++ trunk/LayoutTests/ChangeLog 2019-07-18 18:34:29 UTC (rev 247566) @@ -1,3 +1,20 @@ +2019-07-18 Youenn Fablet + +Make sure to set kCTFontFallbackOptionAttribute to kCTFontFallbackOptionSystem for system fonts +https://bugs.webkit.org/show_bug.cgi?id=199769 + + +Reviewed by Myles C. Maxfield. + +Tests require WTR and recent MacOS, hence why they are disabled elsewhere. + +* TestExpectations: +* platform/mac-wk2/TestExpectations: +* fast/text/user-installed-fonts/extended-character-expected.html: Added. +* fast/text/user-installed-fonts/extended-character-with-user-font-expected-mismatch.html: Added. +* fast/text/user-installed-fonts/extended-character-with-user-font.html: Added. +* fast/text/user-installed-fonts/extended-character.html: Added. + 2019-07-18 Truitt Savell Rebaseline imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html Modified: trunk/LayoutTests/TestExpectations (247565 => 247566) --- trunk/LayoutTests/TestExpectations 2019-07-18 17:44:54 UTC (rev 247565) +++ trunk/LayoutTests/TestExpectations 2019-07-18 18:34:29 UTC (rev 247566) @@ -1669,6 +1669,10 @@ webkit.org/b/190626 imported/w3c/web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions.html [ Failure ] webkit.org/b/190613 imported/blink/fast/forms/datalist/slider-appearance-with-ticks-crash.html [ Skip ] +# Tests require WTR and disabling of user installed fonts. Reenabling them in supported platforms +fast/text/user-installed-fonts/extended-character.html [ Skip ] +fast/text/user-installed-fonts/extended-character-with-user-font.html [ Skip ] + # Does timeout imported/w3c/web-platform-tests/webaudio/idlharness.https.html [ Skip ] # Do assert in OfflineAudioContext Added:
[webkit-changes] [247565] trunk/Source/WebKit
Title: [247565] trunk/Source/WebKit Revision 247565 Author cdu...@apple.com Date 2019-07-18 10:44:54 -0700 (Thu, 18 Jul 2019) Log Message Regression(r247486) Multiple Layout Tests in http/tests/cache/* are crashing on iOS Debug WK2 https://bugs.webkit.org/show_bug.cgi?id=199892 Reviewed by Geoffrey Garen. The StorageManager was unregistering itself as a WorkQueueMessageReceiver on a given IPC connection too early. As a result, we would sometimes receive a 'StorageManager:DestroyStorageMap' IPC in NetworkConnectionToWebProcess::didReceiveMessage() with nobody to process it, which would trigger an assertion. To address the issue, we stop unregistering the StorageManager as a WorkQueueMessageReceiver inside removeAllowedSessionStorageNamespaceConnection(). Instead, we let the logic inside processDidCloseConnection() take care of it once the connection closes. * NetworkProcess/WebStorage/StorageManager.cpp: (WebKit::StorageManager::removeAllowedSessionStorageNamespaceConnection): (WebKit::StorageManager::processDidCloseConnection): * NetworkProcess/WebStorage/StorageManager.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h Diff Modified: trunk/Source/WebKit/ChangeLog (247564 => 247565) --- trunk/Source/WebKit/ChangeLog 2019-07-18 17:34:28 UTC (rev 247564) +++ trunk/Source/WebKit/ChangeLog 2019-07-18 17:44:54 UTC (rev 247565) @@ -1,3 +1,23 @@ +2019-07-18 Chris Dumez + +Regression(r247486) Multiple Layout Tests in http/tests/cache/* are crashing on iOS Debug WK2 +https://bugs.webkit.org/show_bug.cgi?id=199892 + + +Reviewed by Geoffrey Garen. + +The StorageManager was unregistering itself as a WorkQueueMessageReceiver on a given IPC +connection too early. As a result, we would sometimes receive a 'StorageManager:DestroyStorageMap' +IPC in NetworkConnectionToWebProcess::didReceiveMessage() with nobody to process it, which would +trigger an assertion. To address the issue, we stop unregistering the StorageManager as a +WorkQueueMessageReceiver inside removeAllowedSessionStorageNamespaceConnection(). Instead, we +let the logic inside processDidCloseConnection() take care of it once the connection closes. + +* NetworkProcess/WebStorage/StorageManager.cpp: +(WebKit::StorageManager::removeAllowedSessionStorageNamespaceConnection): +(WebKit::StorageManager::processDidCloseConnection): +* NetworkProcess/WebStorage/StorageManager.h: + 2019-07-18 Carlos Garcia Campos [GTK] Crash in webkitWebViewBaseRenderHostFileDescriptor Modified: trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp (247564 => 247565) --- trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp 2019-07-18 17:34:28 UTC (rev 247564) +++ trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp 2019-07-18 17:44:54 UTC (rev 247565) @@ -537,9 +537,6 @@ void StorageManager::removeAllowedSessionStorageNamespaceConnection(uint64_t storageNamespaceID, IPC::Connection& allowedConnection) { auto allowedConnectionID = allowedConnection.uniqueID(); -if (m_connections.remove(allowedConnectionID)) -allowedConnection.removeWorkQueueMessageReceiver(Messages::StorageManager::messageReceiverName()); - m_queue->dispatch([this, protectedThis = makeRef(*this), allowedConnectionID, storageNamespaceID]() mutable { ASSERT(m_sessionStorageNamespaces.contains(storageNamespaceID)); if (auto* sessionStorageNamespace = m_sessionStorageNamespaces.get(storageNamespaceID)) @@ -574,7 +571,7 @@ void StorageManager::processDidCloseConnection(IPC::Connection& connection) { -if (m_connections.removeAll(connection.uniqueID())) +if (m_connections.remove(connection.uniqueID())) connection.removeWorkQueueMessageReceiver(Messages::StorageManager::messageReceiverName()); m_queue->dispatch([this, protectedThis = makeRef(*this), connectionID = connection.uniqueID()]() mutable { Modified: trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h (247564 => 247565) --- trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h 2019-07-18 17:34:28 UTC (rev 247564) +++ trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h 2019-07-18 17:44:54 UTC (rev 247565) @@ -31,7 +31,6 @@ #include #include #include -#include #include #include @@ -113,7 +112,7 @@ HashMap> m_sessionStorageNamespaces; HashMap, RefPtr> m_storageAreasByConnection; -HashCountedSet m_connections; +HashSet m_connections; enum class State { Running, ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247564] trunk/LayoutTests
Title: [247564] trunk/LayoutTests Revision 247564 Author tsav...@apple.com Date 2019-07-18 10:34:28 -0700 (Thu, 18 Jul 2019) Log Message Rebaseline imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html https://bugs.webkit.org/show_bug.cgi?id=199839 Unreviewed test gardening. * platform/ios/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (247563 => 247564) --- trunk/LayoutTests/ChangeLog 2019-07-18 14:42:48 UTC (rev 247563) +++ trunk/LayoutTests/ChangeLog 2019-07-18 17:34:28 UTC (rev 247564) @@ -1,3 +1,12 @@ +2019-07-18 Truitt Savell + +Rebaseline imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html +https://bugs.webkit.org/show_bug.cgi?id=199839 + +Unreviewed test gardening. + +* platform/ios/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt: + 2019-07-17 Fujii Hironori Unreviewed test gardening for WinCairo port Modified: trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt (247563 => 247564) --- trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt 2019-07-18 14:42:48 UTC (rev 247563) +++ trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt 2019-07-18 17:34:28 UTC (rev 247564) @@ -1,18 +1,3 @@ -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined) -CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In
[webkit-changes] [247563] trunk/Source/WebKit
Title: [247563] trunk/Source/WebKit Revision 247563 Author carlo...@webkit.org Date 2019-07-18 07:42:48 -0700 (Thu, 18 Jul 2019) Log Message [GTK] Crash in webkitWebViewBaseRenderHostFileDescriptor https://bugs.webkit.org/show_bug.cgi?id=199402 Reviewed by Michael Catanzaro. There are two problems here: - We need to ensure that the checks we do in HardwareAccelerationManager to disable AC mode are the same as the ones done in AcceleratedBackingStore create() methods. This is not the case for WPE renderer. - Some of the places where accelerateBackingStore is used, can be called even if AC mode is disabled, so we need to null-check there before using the backing store. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseDraw): Add an assert to ensure accelerateBackingStore is not nullptr here. (webkitWebViewBaseEnterAcceleratedCompositingMode): Ditto. (webkitWebViewBaseUpdateAcceleratedCompositingMode): Ditto. (webkitWebViewBaseExitAcceleratedCompositingMode): Ditto. (webkitWebViewBaseMakeGLContextCurrent): Ditto. (webkitWebViewBaseDidRelaunchWebProcess): Null-check accelerateBackingStore before using it. (webkitWebViewBasePageClosed): Ditto. (webkitWebViewBaseRenderHostFileDescriptor): Ditto. * UIProcess/gtk/AcceleratedBackingStore.cpp: (WebKit::AcceleratedBackingStore::checkRequirements): Call AcceleratedBackingStoreWayland::checkRequirements() or AcceleratedBackingStoreX11::checkRequirements() depending on the current display. (WebKit::AcceleratedBackingStore::create): Return early if AC mode is disabled in HardwareAccelerationManager. * UIProcess/gtk/AcceleratedBackingStore.h: * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp: (WebKit::AcceleratedBackingStoreWayland::checkRequirements): Check requirements for hardware acceleration in Wayland. (WebKit::AcceleratedBackingStoreWayland::create): Assert that requirements are present. * UIProcess/gtk/AcceleratedBackingStoreWayland.h: * UIProcess/gtk/AcceleratedBackingStoreX11.cpp: (WebKit::AcceleratedBackingStoreX11::checkRequirements): Check requirements for hardware acceleration in X11. (WebKit::AcceleratedBackingStoreX11::create): Assert that requirements are present. * UIProcess/gtk/AcceleratedBackingStoreX11.h: * UIProcess/gtk/HardwareAccelerationManager.cpp: (WebKit::HardwareAccelerationManager::HardwareAccelerationManager): Use AcceleratedBackingStore::checkRequirements() to decide whether to disable AC mode. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp trunk/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp trunk/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.h trunk/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp trunk/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.h trunk/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreX11.cpp trunk/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreX11.h trunk/Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (247562 => 247563) --- trunk/Source/WebKit/ChangeLog 2019-07-18 13:37:07 UTC (rev 247562) +++ trunk/Source/WebKit/ChangeLog 2019-07-18 14:42:48 UTC (rev 247563) @@ -1,3 +1,43 @@ +2019-07-18 Carlos Garcia Campos + +[GTK] Crash in webkitWebViewBaseRenderHostFileDescriptor +https://bugs.webkit.org/show_bug.cgi?id=199402 + +Reviewed by Michael Catanzaro. + +There are two problems here: + + - We need to ensure that the checks we do in HardwareAccelerationManager to disable AC mode are the same + as the ones done in AcceleratedBackingStore create() methods. This is not the case for WPE renderer. + - Some of the places where accelerateBackingStore is used, can be called even if AC mode is disabled, so we + need to null-check there before using the backing store. + +* UIProcess/API/gtk/WebKitWebViewBase.cpp: +(webkitWebViewBaseDraw): Add an assert to ensure accelerateBackingStore is not nullptr here. +(webkitWebViewBaseEnterAcceleratedCompositingMode): Ditto. +(webkitWebViewBaseUpdateAcceleratedCompositingMode): Ditto. +(webkitWebViewBaseExitAcceleratedCompositingMode): Ditto. +(webkitWebViewBaseMakeGLContextCurrent): Ditto. +(webkitWebViewBaseDidRelaunchWebProcess): Null-check accelerateBackingStore before using it. +(webkitWebViewBasePageClosed): Ditto. +(webkitWebViewBaseRenderHostFileDescriptor): Ditto. +* UIProcess/gtk/AcceleratedBackingStore.cpp: +(WebKit::AcceleratedBackingStore::checkRequirements): Call AcceleratedBackingStoreWayland::checkRequirements() +or AcceleratedBackingStoreX11::checkRequirements() depending on the current display. +(WebKit::AcceleratedBackingStore::create): Return early if AC mode is disabled in HardwareAccelerationManager. +* UIProcess/gtk/AcceleratedBackingStore.h: +*
[webkit-changes] [247562] trunk/Source/WebCore
Title: [247562] trunk/Source/WebCore Revision 247562 Author za...@apple.com Date 2019-07-18 06:37:07 -0700 (Thu, 18 Jul 2019) Log Message [LFC][IFC] InlineFormattingContext::LineLayout::placeInlineItems is getting too complex. https://bugs.webkit.org/show_bug.cgi?id=199898 Reviewed by Antti Koivisto. It's time to restructure LineLayout::placeInlineItems to be able to expand it further. Introduce the LineLayout class. This class is responsible to place the inline items on the current line. (Rename InlineFormattingContext::lineLayout -> InlineFormattingContext::InlineLayout and use Line::InitialConstraints in LineInput) * layout/inlineformatting/InlineFormattingContext.cpp: (WebCore::Layout::InlineFormattingContext::layout const): (WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthConstraints const): * layout/inlineformatting/InlineFormattingContext.h: (WebCore::Layout::InlineFormattingContext::LineLayout::layoutState const): Deleted. * layout/inlineformatting/InlineFormattingContextLineLayout.cpp: (WebCore::Layout::inlineItemWidth): (WebCore::Layout::LineLayout::layoutState const): (WebCore::Layout::LineLayout::UncommittedContent::runs): (WebCore::Layout::LineLayout::UncommittedContent::isEmpty const): (WebCore::Layout::LineLayout::UncommittedContent::size const): (WebCore::Layout::LineLayout::UncommittedContent::width const): (WebCore::Layout::LineLayout::UncommittedContent::add): (WebCore::Layout::LineLayout::UncommittedContent::reset): (WebCore::Layout::LineLayout::LineLayout): (WebCore::Layout::LineLayout::commitPendingContent): (WebCore::Layout::LineLayout::close): (WebCore::Layout::LineLayout::layout): (WebCore::Layout::LineInput::LineInput): (WebCore::Layout::InlineFormattingContext::InlineLayout::InlineLayout): (WebCore::Layout::InlineFormattingContext::InlineLayout::layout const): (WebCore::Layout::InlineFormattingContext::InlineLayout::computedIntrinsicWidth const): (WebCore::Layout::InlineFormattingContext::InlineLayout::createDisplayRuns const): (WebCore::Layout::InlineFormattingContext::InlineLayout::alignRuns const): (WebCore::Layout::UncommittedContent::runs): Deleted. (WebCore::Layout::UncommittedContent::isEmpty const): Deleted. (WebCore::Layout::UncommittedContent::size const): Deleted. (WebCore::Layout::UncommittedContent::width const): Deleted. (WebCore::Layout::UncommittedContent::add): Deleted. (WebCore::Layout::UncommittedContent::reset): Deleted. (WebCore::Layout::LineInput::HorizontalConstraint::HorizontalConstraint): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::LineLayout): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::placeInlineItems const): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::layout const): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::computedIntrinsicWidth const): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::createDisplayRuns const): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::alignRuns const): Deleted. * layout/inlineformatting/InlineLine.cpp: (WebCore::Layout::Line::Line): * layout/inlineformatting/InlineLine.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp trunk/Source/WebCore/layout/inlineformatting/InlineLine.cpp trunk/Source/WebCore/layout/inlineformatting/InlineLine.h Diff Modified: trunk/Source/WebCore/ChangeLog (247561 => 247562) --- trunk/Source/WebCore/ChangeLog 2019-07-18 09:34:48 UTC (rev 247561) +++ trunk/Source/WebCore/ChangeLog 2019-07-18 13:37:07 UTC (rev 247562) @@ -1,3 +1,57 @@ +2019-07-18 Zalan Bujtas + +[LFC][IFC] InlineFormattingContext::LineLayout::placeInlineItems is getting too complex. +https://bugs.webkit.org/show_bug.cgi?id=199898 + + +Reviewed by Antti Koivisto. + +It's time to restructure LineLayout::placeInlineItems to be able to expand it further. +Introduce the LineLayout class. This class is responsible to place the inline items on the current line. +(Rename InlineFormattingContext::lineLayout -> InlineFormattingContext::InlineLayout and +use Line::InitialConstraints in LineInput) + +* layout/inlineformatting/InlineFormattingContext.cpp: +(WebCore::Layout::InlineFormattingContext::layout const): +(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthConstraints const): +* layout/inlineformatting/InlineFormattingContext.h: +(WebCore::Layout::InlineFormattingContext::LineLayout::layoutState const): Deleted. +* layout/inlineformatting/InlineFormattingContextLineLayout.cpp: +(WebCore::Layout::inlineItemWidth): +(WebCore::Layout::LineLayout::layoutState const): +(WebCore::Layout::LineLayout::UncommittedContent::runs): +
[webkit-changes] [247561] trunk/Tools
Title: [247561] trunk/Tools Revision 247561 Author annu...@yandex.ru Date 2019-07-18 02:34:48 -0700 (Thu, 18 Jul 2019) Log Message Unreviewed, Add Olivier Blin as contributor * Scripts/webkitpy/common/config/contributors.json: Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/common/config/contributors.json Diff Modified: trunk/Tools/ChangeLog (247560 => 247561) --- trunk/Tools/ChangeLog 2019-07-18 08:28:07 UTC (rev 247560) +++ trunk/Tools/ChangeLog 2019-07-18 09:34:48 UTC (rev 247561) @@ -1,3 +1,9 @@ +2019-07-18 Konstantin Tokarev + +Unreviewed, Add Olivier Blin as contributor + +* Scripts/webkitpy/common/config/contributors.json: + 2019-07-17 Carlos Alberto Lopez Perez [GTK][WPE][webkitpy] Refactor drivers to use the base driver for setting up the environment and start the drivers. Modified: trunk/Tools/Scripts/webkitpy/common/config/contributors.json (247560 => 247561) --- trunk/Tools/Scripts/webkitpy/common/config/contributors.json 2019-07-18 08:28:07 UTC (rev 247560) +++ trunk/Tools/Scripts/webkitpy/common/config/contributors.json 2019-07-18 09:34:48 UTC (rev 247561) @@ -4251,6 +4251,14 @@ "olliej" ] }, + "Olivier Blin" : { + "emails" : [ + "olivier.b...@softathome.com" + ], + "nicks" : [ + "blino" + ] + }, "Oriol Brufau" : { "emails" : [ "obru...@igalia.com" ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247560] trunk
Title: [247560] trunk Revision 247560 Author carlo...@webkit.org Date 2019-07-18 01:28:07 -0700 (Thu, 18 Jul 2019) Log Message [GTK] MOUSE_CURSOR_SCALE is not implemented https://bugs.webkit.org/show_bug.cgi?id=109469 Reviewed by Darin Adler. .: Enable MOUSE_CURSOR_SCALE for the GTK port. * Source/cmake/OptionsGTK.cmake: Source/WebCore: Use gdk_cursor_new_from_surface() instead of gdk_cursor_new_from_pixbuf() to avoid the surface to pixbuf conversion. * platform/gtk/CursorGtk.cpp: (WebCore::createCustomCursor): Modified Paths trunk/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/gtk/CursorGtk.cpp trunk/Source/cmake/OptionsGTK.cmake Diff Modified: trunk/ChangeLog (247559 => 247560) --- trunk/ChangeLog 2019-07-18 05:16:20 UTC (rev 247559) +++ trunk/ChangeLog 2019-07-18 08:28:07 UTC (rev 247560) @@ -1,3 +1,14 @@ +2019-07-18 Carlos Garcia Campos + +[GTK] MOUSE_CURSOR_SCALE is not implemented +https://bugs.webkit.org/show_bug.cgi?id=109469 + +Reviewed by Darin Adler. + +Enable MOUSE_CURSOR_SCALE for the GTK port. + +* Source/cmake/OptionsGTK.cmake: + 2019-07-11 Pablo Saavedra [WPE][GTK] Build failure with ENABLE_ACCESSIBILITY=OFF Modified: trunk/Source/WebCore/ChangeLog (247559 => 247560) --- trunk/Source/WebCore/ChangeLog 2019-07-18 05:16:20 UTC (rev 247559) +++ trunk/Source/WebCore/ChangeLog 2019-07-18 08:28:07 UTC (rev 247560) @@ -1,3 +1,16 @@ +2019-07-18 Carlos Garcia Campos + +[GTK] MOUSE_CURSOR_SCALE is not implemented +https://bugs.webkit.org/show_bug.cgi?id=109469 + +Reviewed by Darin Adler. + +Use gdk_cursor_new_from_surface() instead of gdk_cursor_new_from_pixbuf() to avoid the surface to pixbuf +conversion. + +* platform/gtk/CursorGtk.cpp: +(WebCore::createCustomCursor): + 2019-07-17 Chris Dumez Prewarm local storage in the NetworkProcess to reduce WebContent process hangs Modified: trunk/Source/WebCore/platform/gtk/CursorGtk.cpp (247559 => 247560) --- trunk/Source/WebCore/platform/gtk/CursorGtk.cpp 2019-07-18 05:16:20 UTC (rev 247559) +++ trunk/Source/WebCore/platform/gtk/CursorGtk.cpp 2019-07-18 08:28:07 UTC (rev 247560) @@ -42,13 +42,12 @@ static GRefPtr createCustomCursor(Image* image, const IntPoint& hotSpot) { -GRefPtr pixbuf = adoptGRef(image->getGdkPixbuf()); +RefPtr surface = image->nativeImageForCurrentFrame(); +if (!surface) +return nullptr; -if (!image->nativeImageForCurrentFrame() || !pixbuf) -return 0; - IntPoint effectiveHotSpot = determineHotSpot(image, hotSpot); -return adoptGRef(gdk_cursor_new_from_pixbuf(gdk_display_get_default(), pixbuf.get(), effectiveHotSpot.x(), effectiveHotSpot.y())); +return adoptGRef(gdk_cursor_new_from_surface(gdk_display_get_default(), surface.get(), effectiveHotSpot.x(), effectiveHotSpot.y())); } void Cursor::ensurePlatformCursor() const Modified: trunk/Source/cmake/OptionsGTK.cmake (247559 => 247560) --- trunk/Source/cmake/OptionsGTK.cmake 2019-07-18 05:16:20 UTC (rev 247559) +++ trunk/Source/cmake/OptionsGTK.cmake 2019-07-18 08:28:07 UTC (rev 247560) @@ -156,6 +156,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MHTML PRIVATE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MOUSE_CURSOR_SCALE PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SERVICE_WORKER PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PUBLIC ON) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes