[webkit-changes] [247635] trunk/Source/WebKit

2019-07-18 Thread commit-queue
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

2019-07-18 Thread alancoon
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

2019-07-18 Thread alancoon
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

2019-07-18 Thread alancoon
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

2019-07-18 Thread alancoon
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

2019-07-18 Thread alancoon
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

2019-07-18 Thread commit-queue
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

2019-07-18 Thread pvollan
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

2019-07-18 Thread achristensen
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

2019-07-18 Thread ryanhaddad
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

2019-07-18 Thread alancoon
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

2019-07-18 Thread aakash_jain
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

2019-07-18 Thread graouts
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

2019-07-18 Thread pvollan
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread kocsen_chung
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

2019-07-18 Thread graouts
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

2019-07-18 Thread graouts
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

2019-07-18 Thread commit-queue
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

2019-07-18 Thread aakash_jain
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

2019-07-18 Thread graouts
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

2019-07-18 Thread achristensen
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

2019-07-18 Thread youenn
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

2019-07-18 Thread cdumez
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

2019-07-18 Thread tsavell
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

2019-07-18 Thread carlosgc
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

2019-07-18 Thread zalan
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

2019-07-18 Thread annulen
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

2019-07-18 Thread carlosgc
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