[webkit-changes] [280017] trunk

2021-07-16 Thread simon . fraser
Title: [280017] trunk








Revision 280017
Author simon.fra...@apple.com
Date 2021-07-16 22:42:32 -0700 (Fri, 16 Jul 2021)


Log Message
getBoundingClientRect() returns the incorrect rectangle on elements whose parent element is set -webkit-column-count
https://bugs.webkit.org/show_bug.cgi?id=99959
rdar://80106111

Reviewed by Alan Bujtas.
Source/WebCore:

getBoundingClientRect() and getClientRects() for elements inside multicol had a quick
and dirty implementation that just mapped the element center point into a column. This
resulted in odd, negative top/left in some cases.

Fix by correctly generating multiple rects for elements that span columns, following
the repaint code path that already knew how to do this correctly.

The entry point is RenderFragmentContainer::absoluteQuadsForBox() which now has a
real implementation. For each fragment that the box covers, it calls fragmentRectsForFlowContentRect()
which generates one or more rects; RenderMultiColumnSet overrides this to
compute rects for multicol.

We have to take care not to eliminate empty rects, since the API does return these.

Tested by existing tests.

* dom/Element.cpp:
(WebCore::Element::absoluteEventBounds):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::absoluteQuadsIgnoringContinuation const):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteQuads const):
* rendering/RenderFragmentContainer.cpp:
(WebCore::RenderFragmentContainer::fragmentedFlowContentRectangle):
(WebCore::RenderFragmentContainer::fragmentRectsForFlowContentRect):
* rendering/RenderFragmentContainer.h:
(WebCore::RenderFragmentContainer::absoluteQuadsForBoxInFragment): Deleted.
* rendering/RenderFragmentedFlow.cpp:
(WebCore::RenderFragmentedFlow::absoluteQuadsForBox const):
* rendering/RenderFragmentedFlow.h:
* rendering/RenderMultiColumnFlow.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::firstAndLastColumnsFromOffsets const):
(WebCore::RenderMultiColumnSet::repaintFragmentedFlowContent):
(WebCore::RenderMultiColumnSet::fragmentRectsForFlowContentRect):
(WebCore::RenderMultiColumnSet::collectLayerFragments):
* rendering/RenderMultiColumnSet.h:

LayoutTests:

These tests have all progressed.

* fast/multicol/client-rects-spanners-complex.html:
* fast/multicol/client-rects-spanners.html:
* fast/multicol/client-rects.html:
* fast/multicol/newmulticol/client-rects.html:
* imported/blink/fast/multicol/client-rects-rtl-expected.html:
* imported/blink/fast/multicol/client-rects-rtl.html: This test appeared to be hand-coded to the incorrect old behavior.
* platform/ios/fast/multicol/client-rects-expected.txt:
* platform/ios/fast/multicol/client-rects-spanners-complex-expected.txt:
* platform/ios/fast/multicol/client-rects-spanners-expected.txt:
* platform/ios/fast/multicol/newmulticol/client-rects-expected.txt:
* platform/mac/fast/multicol/client-rects-expected.txt:
* platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
* platform/mac/fast/multicol/client-rects-spanners-expected.txt:
* platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/multicol/client-rects-spanners-complex.html
trunk/LayoutTests/fast/multicol/client-rects-spanners.html
trunk/LayoutTests/fast/multicol/client-rects.html
trunk/LayoutTests/fast/multicol/newmulticol/client-rects.html
trunk/LayoutTests/imported/blink/fast/multicol/client-rects-rtl-expected.html
trunk/LayoutTests/imported/blink/fast/multicol/client-rects-rtl.html
trunk/LayoutTests/platform/ios/fast/multicol/client-rects-expected.txt
trunk/LayoutTests/platform/ios/fast/multicol/client-rects-spanners-complex-expected.txt
trunk/LayoutTests/platform/ios/fast/multicol/client-rects-spanners-expected.txt
trunk/LayoutTests/platform/ios/fast/multicol/newmulticol/client-rects-expected.txt
trunk/LayoutTests/platform/mac/fast/multicol/client-rects-expected.txt
trunk/LayoutTests/platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt
trunk/LayoutTests/platform/mac/fast/multicol/client-rects-spanners-expected.txt
trunk/LayoutTests/platform/mac/fast/multicol/newmulticol/client-rects-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/rendering/RenderBlock.cpp
trunk/Source/WebCore/rendering/RenderBox.cpp
trunk/Source/WebCore/rendering/RenderFragmentContainer.cpp
trunk/Source/WebCore/rendering/RenderFragmentContainer.h
trunk/Source/WebCore/rendering/RenderFragmentedFlow.cpp
trunk/Source/WebCore/rendering/RenderFragmentedFlow.h
trunk/Source/WebCore/rendering/RenderMultiColumnFlow.h
trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp
trunk/Source/WebCore/rendering/RenderMultiColumnSet.h




Diff

Modified: trunk/LayoutTests/ChangeLog (280016 => 280017)

--- trunk/LayoutTests/ChangeLog	2021-07-17 03:24:25 UTC (rev 280016)
+++ trunk/LayoutTests/ChangeLog	2021-07-17 05:42:32 UTC (rev 280017)
@@ -1,3 +1,28 @@
+2021-07-16  Simon Fraser  
+
+

[webkit-changes] [280016] trunk

2021-07-16 Thread katherine_cheney
Title: [280016] trunk








Revision 280016
Author katherine_che...@apple.com
Date 2021-07-16 20:24:25 -0700 (Fri, 16 Jul 2021)


Log Message
WKWebView _javascript_ injection doesn't work if app includes WKAppBoundDomains
https://bugs.webkit.org/show_bug.cgi?id=227589


Reviewed by Brent Fulgham.

Source/WebCore:

Update service worker code to always allow workers on localhost to be
registered. Also add logic so localhost registrations aren't added
to the total count of 3 registrations.

* workers/service/server/SWServer.cpp:
(WebCore::SWServer::addRegistration):
We only want to increment the count if this registration is not
already in the mapping, otherwise it gets double counted.

(WebCore::SWServer::removeRegistration):
Ditto for removing a registration, we should only decrement the count
if we find a matching key.

(WebCore::SWServer::validateRegistrationDomain):
(WebCore::SWServer::removeFromScopeToRegistrationMap):
Ditto.

* workers/service/server/SWServer.h:

Source/WebKit:

Apps should not have to specify localhost in their Info.plist in order
to load local content in app-bound mode. This patch adds a check for
localhost or a loopback IP address and forces an app into app-bound
mode in this case.

Since all layout tests use localhost and 127.0.0.1 as test domains,
this patch also adds a check for enableInAppBrowserPrivacyForTesting()
which determines if we are running layout tests and does not trigger
this check in that case so we can test other behavior.

* UIProcess/WebPageProxy.cpp:
(WebKit::shouldTreatURLProtocolAsAppBound):
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomainAndCheckIfPermitted):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):

Tools:

Added new tests. Removed localhost and 127.0.0.1 from the Info.plist
to avoid false positive tests. Replace them with other domains so we
still test the max count.

* TestWebKitAPI/Info.plist:
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/workers/service/server/SWServer.cpp
trunk/Source/WebCore/workers/service/server/SWServer.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Info.plist
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (280015 => 280016)

--- trunk/Source/WebCore/ChangeLog	2021-07-17 01:02:06 UTC (rev 280015)
+++ trunk/Source/WebCore/ChangeLog	2021-07-17 03:24:25 UTC (rev 280016)
@@ -1,3 +1,30 @@
+2021-07-16  Kate Cheney  
+
+WKWebView _javascript_ injection doesn't work if app includes WKAppBoundDomains
+https://bugs.webkit.org/show_bug.cgi?id=227589
+
+
+Reviewed by Brent Fulgham.
+
+Update service worker code to always allow workers on localhost to be
+registered. Also add logic so localhost registrations aren't added
+to the total count of 3 registrations.
+
+* workers/service/server/SWServer.cpp:
+(WebCore::SWServer::addRegistration):
+We only want to increment the count if this registration is not
+already in the mapping, otherwise it gets double counted.
+
+(WebCore::SWServer::removeRegistration):
+Ditto for removing a registration, we should only decrement the count
+if we find a matching key.
+
+(WebCore::SWServer::validateRegistrationDomain):
+(WebCore::SWServer::removeFromScopeToRegistrationMap):
+Ditto.
+
+* workers/service/server/SWServer.h:
+
 2021-07-16  Alex Christensen  
 
 Network access prevention SPI should prevent preconnecting, and it should first allow injected bundle to change request


Modified: trunk/Source/WebCore/workers/service/server/SWServer.cpp (280015 => 280016)

--- trunk/Source/WebCore/workers/service/server/SWServer.cpp	2021-07-17 01:02:06 UTC (rev 280015)
+++ trunk/Source/WebCore/workers/service/server/SWServer.cpp	2021-07-17 03:24:25 UTC (rev 280016)
@@ -184,6 +184,9 @@
 
 void SWServer::addRegistration(std::unique_ptr&& registration)
 {
+if (!m_scopeToRegistrationMap.contains(registration->key()) && !SecurityOrigin::isLocalHostOrLoopbackIPAddress(registration->key().topOrigin().host))
+m_uniqueRegistrationCount++;
+
 m_originStore->add(registration->key().topOrigin());
 auto registrationID = registration->identifier();
 ASSERT(!m_scopeToRegistrationMap.contains(registration->key()));
@@ -198,8 +201,11 @@
 ASSERT(registration);
 
 auto it = m_scopeToRegistrationMap.find(registration->key());
-if (it != m_scopeToRegistrationMap.end() && it->value == registration.get())
+if (it != m_scopeToRegistrationMap.end() && it->value == registration.get()) {
 m_scopeToRegistrationMap.remove(it);
+if (!SecurityOrigin::isLocalHostOrLoopbackIPAddress(registration->key().topOrigin().host))
+m_uniqueRegistrationCount--;
+}
 
 

[webkit-changes] [280015] trunk

2021-07-16 Thread achristensen
Title: [280015] trunk








Revision 280015
Author achristen...@apple.com
Date 2021-07-16 18:02:06 -0700 (Fri, 16 Jul 2021)


Log Message
Prevent HSTS tracking mitigation for top level navigation requests
https://bugs.webkit.org/show_bug.cgi?id=227936

Reviewed by Brady Eidson.

Source/WebCore/PAL:

* pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

Use NSURLRequest.URL as the first party for cookies for HSTS purposes during redirects instead of NSURLRequest.mainDocumentURL,
which hasn't been updated because CFNetwork doesn't know that this is the main document request and when redirected, the main document URL also changes.

Covered by API tests, which will start covering this case once rdar://80550123 is integrated.

* NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
* NetworkProcess/NetworkSessionCreationParameters.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
* UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
* UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
(-[_WKWebsiteDataStoreConfiguration allowsHSTSWithUntrustedRootCertificate]):
(-[_WKWebsiteDataStoreConfiguration setAllowsHSTSWithUntrustedRootCertificate:]):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::parameters):
* UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::copy const):
* UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
(WebKit::WebsiteDataStoreConfiguration::allowsHSTSWithUntrustedRootCertificate const):
(WebKit::WebsiteDataStoreConfiguration::setAllowsHSTSWithUntrustedRootCertificate):

Tools:

* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm: Added.
(TestWebKitAPI::hasRadar80550123):
(TestWebKitAPI::hstsWebViewAndDelegate):
(TestWebKitAPI::hstsServer):
(TestWebKitAPI::TEST):

Modified Paths

trunk/Source/WebCore/PAL/ChangeLog
trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp
trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h
trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/SourcesCocoa.txt
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj


Added Paths

trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm




Diff

Modified: trunk/Source/WebCore/PAL/ChangeLog (280014 => 280015)

--- trunk/Source/WebCore/PAL/ChangeLog	2021-07-17 01:00:19 UTC (rev 280014)
+++ trunk/Source/WebCore/PAL/ChangeLog	2021-07-17 01:02:06 UTC (rev 280015)
@@ -1,3 +1,12 @@
+2021-07-16  Alex Christensen  
+
+Prevent HSTS tracking mitigation for top level navigation requests
+https://bugs.webkit.org/show_bug.cgi?id=227936
+
+Reviewed by Brady Eidson.
+
+* pal/spi/cf/CFNetworkSPI.h:
+
 2021-07-14  Jer Noble  
 
 Unreviewed build fix after r279912 (239661@main); Adopt HAVE(SYSTEM_STATUS) macro.


Modified: trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h (280014 => 280015)

--- trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h	2021-07-17 01:00:19 UTC (rev 280014)
+++ trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h	2021-07-17 01:02:06 UTC (rev 280015)
@@ -491,6 +491,8 @@
 @interface NSURLSessionConfiguration ()
 // FIXME: Remove this once rdar://problem/40650244 is in a build.
 @property (copy) NSDictionary *_socketStreamProperties;
+// FIXME: Remove this once rdar://80550123 is in a build.
+@property (nonatomic) BOOL _allowsHSTSWithUntrustedRootCertificate;
 @end
 
 @interface NSURLSessionTask ()


Modified: trunk/Source/WebKit/ChangeLog (280014 => 280015)

--- trunk/Source/WebKit/ChangeLog	2021-07-17 01:00:19 UTC (rev 280014)
+++ trunk/Source/WebKit/ChangeLog	2021-07-17 01:02:06 UTC (rev 280015)
@@ -1,5 +1,37 @@
 2021-07-16  Alex Christensen  
 
+Prevent HSTS tracking mitigation for top level navigation requests
+https://bugs.webkit.org/show_bug.cgi?id=227936
+
+Reviewed by Brady Eidson.
+
+Use NSURLRequest.URL as the first party for cookies for HSTS purposes during redirects instead of NSURLRequest.mainDocumentURL,
+which hasn't been updated because CFNetwork doesn't know that this is the main document 

[webkit-changes] [280014] trunk

2021-07-16 Thread achristensen
Title: [280014] trunk








Revision 280014
Author achristen...@apple.com
Date 2021-07-16 18:00:19 -0700 (Fri, 16 Jul 2021)


Log Message
Network access prevention SPI should prevent preconnecting, and it should first allow injected bundle to change request
https://bugs.webkit.org/show_bug.cgi?id=228044


Reviewed by Tim Horton.

Source/WebCore:

WKWebViewConfiguration._loadsFromNetwork and its successor _allowedNetworkHosts have two issues:
1. They allow link rel=preconnect to still preconnect to a host.  While this doesn't reveal much information, it does reveal some.
2. It blocks loads before giving the injected bundle a chance to change the scheme of the request.  This SPI is relatively new and
   intended to replace the injected bundle, but the user from this radar needs to have an injected bundle make changes first.

Both problems are fixed and covered by API tests.

* loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
* page/Page.h:

Source/WebKit:

* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::preconnectTo):

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/SchemeChangingPlugIn.mm: Added.
(-[SchemeChangingPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[SchemeChangingPlugIn webProcessPlugInBrowserContextController:frame:willSendRequest:redirectResponse:]):
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp
trunk/Source/WebCore/page/Page.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm


Added Paths

trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/SchemeChangingPlugIn.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (280013 => 280014)

--- trunk/Source/WebCore/ChangeLog	2021-07-17 00:53:05 UTC (rev 280013)
+++ trunk/Source/WebCore/ChangeLog	2021-07-17 01:00:19 UTC (rev 280014)
@@ -1,3 +1,22 @@
+2021-07-16  Alex Christensen  
+
+Network access prevention SPI should prevent preconnecting, and it should first allow injected bundle to change request
+https://bugs.webkit.org/show_bug.cgi?id=228044
+
+
+Reviewed by Tim Horton.
+
+WKWebViewConfiguration._loadsFromNetwork and its successor _allowedNetworkHosts have two issues:
+1. They allow link rel=preconnect to still preconnect to a host.  While this doesn't reveal much information, it does reveal some.
+2. It blocks loads before giving the injected bundle a chance to change the scheme of the request.  This SPI is relatively new and
+   intended to replace the injected bundle, but the user from this radar needs to have an injected bundle make changes first.
+
+Both problems are fixed and covered by API tests.
+
+* loader/ResourceLoadNotifier.cpp:
+(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
+* page/Page.h:
+
 2021-07-16  Myles C. Maxfield  
 
 Fix Apple internal build


Modified: trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp (280013 => 280014)

--- trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp	2021-07-17 00:53:05 UTC (rev 280013)
+++ trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp	2021-07-17 01:00:19 UTC (rev 280014)
@@ -133,6 +133,10 @@
 if (m_frame.loader().documentLoader())
 m_frame.loader().documentLoader()->didTellClientAboutLoad(request.url().string());
 
+// Notifying the FrameLoaderClient may cause the frame to be destroyed.
+Ref protectedFrame(m_frame);
+m_frame.loader().client().dispatchWillSendRequest(loader, identifier, request, redirectResponse);
+
 if (auto* page = m_frame.page()) {
 if (!page->loadsSubresources()) {
 if (!m_frame.isMainFrame() || (m_initialRequestIdentifier && *m_initialRequestIdentifier != identifier))
@@ -140,10 +144,6 @@
 } else if (!page->allowsLoadFromURL(request.url()))
 request = { };
 }
-
-// Notifying the FrameLoaderClient may cause the frame to be destroyed.
-Ref protect(m_frame);
-m_frame.loader().client().dispatchWillSendRequest(loader, identifier, request, redirectResponse);
 
 // If the URL changed, then we want to put that new URL in the "did tell client" set too.
 if (!request.isNull() && oldRequestURL != request.url().string() && m_frame.loader().documentLoader())


Modified: trunk/Source/WebCore/page/Page.h (280013 => 280014)

--- trunk/Source/WebCore/page/Page.h	2021-07-17 00:53:05 UTC (rev 280013)
+++ trunk/Source/WebCore/page/Page.h	2021-07-17 01:00:19 UTC (rev 280014)
@@ -814,7 +814,7 @@
 bool 

[webkit-changes] [280013] trunk/Source/JavaScriptCore

2021-07-16 Thread yijia_huang
Title: [280013] trunk/Source/_javascript_Core








Revision 280013
Author yijia_hu...@apple.com
Date 2021-07-16 17:53:05 -0700 (Fri, 16 Jul 2021)


Log Message
Add ExtendType to Air::Arg Index to fully utilize address computation in memory instruction for ARM64
https://bugs.webkit.org/show_bug.cgi?id=227970

Reviewed by Saam Barati.

The pattern recognition of address computation in the instructions, e.g., Load
Resistor (LDR), Store Register (STR), etc., can benefit the instruction selector.
Then, the Air operand BaseIndex containing base, index, and scale is introduced
to Air opcode. However, the  option of index address is not fully leveraged
in the previous implementation.

To fill that gap, this patch adds a new member, MacroAssembler::Extend, to the current
design of BaseIndex to trigger zero/sign extension on the Index address. And this is
enabled for Store/Load with valid index address and shift amount.

Maybe, the ideal approach is to introduce a decorator (Index@EXT) to the Air operand
to provide an extension opportunity for the specific form of the Air opcode.

Load Register (LDR) calculates an address from a base register value and an
offset register value, loads a word from memory, and writes it to a register.
The offset register value can optionally be shifted and extended.

Given B3 IR:
Int @0 = ArgumentReg(%x0)
Int @1 = Z/SExt32(Trunc(ArgumentReg(%x1)))
Int @2 = scale
Int @3 = Shl(@1, @2)
Int @4 = Add(@0, @3)
Int @5 = Load(@4, ControlDependent|Reads:Top)
Void@6 = Return(@5, Terminal)

// Old optimized AIR
Move   %x1, %x1, @1
Move (%x0,%x1,2^scale), %x0, @5
Ret%x0,  @6

// New optimized AIR
Move (%x0,%x1,2^scale), %x0, @5
Ret%x0,  @6

Store Register (STR) calculates an address from a base register value and an
offset register value, and stores a 32-bit word or a 64-bit doubleword to the
calculated address, from a register.

Given B3 IR:
Int @0 = value
Int @1 = ArgumentReg(%x0)
Int @2 = Z/SExt32(Trunc(ArgumentReg(%x1))
Int @3 = scale
Int @4 = Shl(@2, @3)
Int @5 = Add(@1, @4)
Void@6 = Store(@0, @5, ControlDependent|Writes:Top)
Void@7 = Return(@0, Terminal)

// Old optimized AIR
Move32%x1,   %x1, @2
Store32  %xzr, (%x0,%x1,2^scale), @6
Move   $0,   %x0, @7
Ret32 %x0,@7

// New optimized AIR
Store32  %xzr, (%x0,%x1,2^scale), @6
Move   $0,   %x0, @7
Ret32 %x0,@7

* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::BaseIndex::BaseIndex):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::indexExtendType):
(JSC::MacroAssemblerARM64::load64):
(JSC::MacroAssemblerARM64::load32):
(JSC::MacroAssemblerARM64::load16):
(JSC::MacroAssemblerARM64::load16SignedExtendTo32):
(JSC::MacroAssemblerARM64::load8):
(JSC::MacroAssemblerARM64::load8SignedExtendTo32):
(JSC::MacroAssemblerARM64::store64):
(JSC::MacroAssemblerARM64::store32):
(JSC::MacroAssemblerARM64::store16):
(JSC::MacroAssemblerARM64::store8):
(JSC::MacroAssemblerARM64::loadDouble):
(JSC::MacroAssemblerARM64::loadFloat):
(JSC::MacroAssemblerARM64::storeDouble):
(JSC::MacroAssemblerARM64::storeFloat):
* b3/B3LowerToAir.cpp:
* b3/air/AirArg.h:
(JSC::B3::Air::Arg::index):
(JSC::B3::Air::Arg::asBaseIndex const):
* b3/testb3.h:
* b3/testb3_2.cpp:
(testLoadZeroExtendIndexAddress):
(testLoadSignExtendIndexAddress):
(testStoreZeroExtendIndexAddress):
(testStoreSignExtendIndexAddress):
(addBitTests):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/assembler/AbstractMacroAssembler.h
trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h
trunk/Source/_javascript_Core/b3/B3LowerToAir.cpp
trunk/Source/_javascript_Core/b3/air/AirArg.h
trunk/Source/_javascript_Core/b3/testb3.h
trunk/Source/_javascript_Core/b3/testb3_2.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (280012 => 280013)

--- trunk/Source/_javascript_Core/ChangeLog	2021-07-17 00:47:54 UTC (rev 280012)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-07-17 00:53:05 UTC (rev 280013)
@@ -1,3 +1,100 @@
+2021-07-16  Yijia Huang  
+
+Add ExtendType to Air::Arg Index to fully utilize address computation in memory instruction for ARM64
+https://bugs.webkit.org/show_bug.cgi?id=227970
+
+Reviewed by Saam Barati.
+
+The pattern recognition of address computation in the instructions, e.g., Load 
+Resistor (LDR), Store Register (STR), etc., can benefit the instruction selector.
+Then, the Air operand BaseIndex containing base, index, and scale is introduced 
+to Air opcode. However, the  option of index address is not fully leveraged 
+in the previous implementation. 
+
+To fill that gap, this patch adds a new member, MacroAssembler::Extend, to the current 
+design of BaseIndex to trigger zero/sign extension on the Index address. And this is 
+enabled for Store/Load with valid index address 

[webkit-changes] [280012] trunk/LayoutTests

2021-07-16 Thread jenner
Title: [280012] trunk/LayoutTests








Revision 280012
Author jen...@apple.com
Date 2021-07-16 17:47:54 -0700 (Fri, 16 Jul 2021)


Log Message
[MacOS Release wk1] media/modern-media-controls/volume-support/volume-support-drag-to-mute.html is a flaky fail and timeout.
https://bugs.webkit.org/show_bug.cgi?id=228042.

Unreviewed test gardening.

Patch by Eric Hutchison  on 2021-07-16

* platform/mac-wk1/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac-wk1/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (280011 => 280012)

--- trunk/LayoutTests/ChangeLog	2021-07-17 00:15:32 UTC (rev 280011)
+++ trunk/LayoutTests/ChangeLog	2021-07-17 00:47:54 UTC (rev 280012)
@@ -1,3 +1,12 @@
+2021-07-16  Eric Hutchison  
+
+[MacOS Release wk1] media/modern-media-controls/volume-support/volume-support-drag-to-mute.html is a flaky fail and timeout.
+https://bugs.webkit.org/show_bug.cgi?id=228042.
+
+Unreviewed test gardening.
+
+* platform/mac-wk1/TestExpectations:
+
 2021-07-16  Truitt Savell  
 
 accessibility/loading-iframe-sends-notification.html is a flaky timeout


Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (280011 => 280012)

--- trunk/LayoutTests/platform/mac-wk1/TestExpectations	2021-07-17 00:15:32 UTC (rev 280011)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations	2021-07-17 00:47:54 UTC (rev 280012)
@@ -1328,4 +1328,6 @@
 webkit.org/b/227973 [ BigSur Debug arm64 ] http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html [ Pass Timeout ]
 webkit.org/b/227973 [ BigSur Release arm64 ] http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html [ Timeout ]
 
+webkit.org/b/228042 [ Release ] media/modern-media-controls/volume-support/volume-support-drag-to-mute.html [ Pass Timeout Failure ]
+
 webkit.org/b/227973 [ BigSur Debug ] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-duration-loop.html [ Pass Failure ]
\ No newline at end of file






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [280011] trunk/JSTests

2021-07-16 Thread ysuzuki
Title: [280011] trunk/JSTests








Revision 280011
Author ysuz...@apple.com
Date 2021-07-16 17:15:32 -0700 (Fri, 16 Jul 2021)


Log Message
[JSC] Simplify sampling-profiler-regexp.js test
https://bugs.webkit.org/show_bug.cgi?id=228040

Reviewed by Saam Barati.

In this new test case, only thing we care is regexp appears on sampling-profiler regardless of whether the other functions are inlined / tail-called or not.
We change the sampling-profiler/samplingProfiler.js runTest to add a mode which searches specific signature in the call tree.

* stress/sampling-profiler-regexp.js:
(platformSupportsSamplingProfiler):
* stress/sampling-profiler/samplingProfiler.js:
(doesTreeHaveStackTrace):
(runTest):

Modified Paths

trunk/JSTests/ChangeLog
trunk/JSTests/stress/sampling-profiler/samplingProfiler.js
trunk/JSTests/stress/sampling-profiler-regexp.js




Diff

Modified: trunk/JSTests/ChangeLog (280010 => 280011)

--- trunk/JSTests/ChangeLog	2021-07-16 23:59:37 UTC (rev 280010)
+++ trunk/JSTests/ChangeLog	2021-07-17 00:15:32 UTC (rev 280011)
@@ -1,3 +1,19 @@
+2021-07-16  Yusuke Suzuki  
+
+[JSC] Simplify sampling-profiler-regexp.js test
+https://bugs.webkit.org/show_bug.cgi?id=228040
+
+Reviewed by Saam Barati.
+
+In this new test case, only thing we care is regexp appears on sampling-profiler regardless of whether the other functions are inlined / tail-called or not.
+We change the sampling-profiler/samplingProfiler.js runTest to add a mode which searches specific signature in the call tree.
+
+* stress/sampling-profiler-regexp.js:
+(platformSupportsSamplingProfiler):
+* stress/sampling-profiler/samplingProfiler.js:
+(doesTreeHaveStackTrace):
+(runTest):
+
 2021-07-16  Saam Barati  
 
 Grab the lock in FTL::Thunks::keyForSlowPathCallThunk


Modified: trunk/JSTests/stress/sampling-profiler/samplingProfiler.js (280010 => 280011)

--- trunk/JSTests/stress/sampling-profiler/samplingProfiler.js	2021-07-16 23:59:37 UTC (rev 280010)
+++ trunk/JSTests/stress/sampling-profiler/samplingProfiler.js	2021-07-17 00:15:32 UTC (rev 280011)
@@ -36,13 +36,37 @@
 
 const VERBOSE = false;
 
-function doesTreeHaveStackTrace(tree, stackTrace, isRunFromRunTest = true) {
+function doesTreeHaveStackTrace(tree, stackTraceOrString, isRunFromRunTest = true) {
+if (typeof stackTraceOrString === 'string') {
+// Let's ensure that this signature exists in the stack trace.
+function check(node) {
+for (let name of Object.keys(node.children)) {
+if (name === stackTraceOrString)
+return true;
+else {
+if (check(node.children[name]))
+return true;
+}
+}
+return false;
+}
+if (!check(tree)) {
+if (VERBOSE) {
+print("failing");
+print(JSON.stringify(tree));
+}
+return false;
+}
+return true;
+}
+
 // stack trace should be top-down array with the deepest
 // call frame at index 0.
+let stackTrace = null;
 if (isRunFromRunTest)
-stackTrace = [...stackTrace, "runTest", "(program)"];
+stackTrace = [...stackTraceOrString, "runTest", "(program)"];
 else
-stackTrace = [...stackTrace];
+stackTrace = [...stackTraceOrString];
 
 let node = tree;
 for (let i = stackTrace.length; i--; ) {
@@ -66,7 +90,7 @@
 
 // This test suite assumes that "runTest" is being called
 // from the global scope.
-function runTest(func, stackTrace) {
+function runTest(func, stackTraceOrString) {
 const timeToFail = 5;
 let startTime = Date.now();
 let root = makeNode("");
@@ -76,7 +100,7 @@
 func();
 }
 updateCallingContextTree(root);
-if (doesTreeHaveStackTrace(root, stackTrace)) {
+if (doesTreeHaveStackTrace(root, stackTraceOrString)) {
 if (VERBOSE)
 print(`Time to finish: ${Date.now() - startTime}`);
 return;


Modified: trunk/JSTests/stress/sampling-profiler-regexp.js (280010 => 280011)

--- trunk/JSTests/stress/sampling-profiler-regexp.js	2021-07-16 23:59:37 UTC (rev 280010)
+++ trunk/JSTests/stress/sampling-profiler-regexp.js	2021-07-17 00:15:32 UTC (rev 280011)
@@ -20,5 +20,5 @@
 test(regexp);
 }
 
-runTest(baz, ["/(.+)/gi", "", "test", "baz"]);
+runTest(baz, "/(.+)/gi");
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [280010] trunk/Source/ThirdParty/ANGLE

2021-07-16 Thread kpiddington
Title: [280010] trunk/Source/ThirdParty/ANGLE








Revision 280010
Author kpidding...@apple.com
Date 2021-07-16 16:59:37 -0700 (Fri, 16 Jul 2021)


Log Message
Build Default Metal library offline
https://bugs.webkit.org/show_bug.cgi?id=227333



This patch compiles and creates a Metal library at build time, storing
the library as a compiled binary file. This library is baked into the dylib,
and is loaded at context creation time.

Unlike the previous version of this patch, this patch does not save or store the .metallib on disk, but rather
bakes it into a binary.

Fixed internal build breaks by skipping Metallib bake script.

Reviewed by Kenneth Russell.

* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE-dynamic.xcconfig:
* src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::initializeShaderLibrary):
* src/libANGLE/renderer/metal/mtl_utils.h:

Modified Paths

trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj
trunk/Source/ThirdParty/ANGLE/ChangeLog
trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_utils.h


Added Paths

trunk/Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py




Diff

Modified: trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj (280009 => 280010)

--- trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj	2021-07-16 23:53:23 UTC (rev 280009)
+++ trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj	2021-07-16 23:59:37 UTC (rev 280010)
@@ -838,6 +838,13 @@
 		FF2D2F5525C8B14A002FB699 /* FixTypeConstructors.h in Headers */ = {isa = PBXBuildFile; fileRef = FF2D2F5225C8B14A002FB699 /* FixTypeConstructors.h */; };
 		FF582E1626544FC4006DA5B8 /* ProvokingVertexHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = FF582E1426544FC4006DA5B8 /* ProvokingVertexHelper.mm */; };
 		FF582E1726544FC4006DA5B8 /* ProvokingVertexHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = FF582E1526544FC4006DA5B8 /* ProvokingVertexHelper.h */; };
+		FFDA50CC269F848200AE11E2 /* blit.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEAA25818D6800894E24 /* blit.metal */; };
+		FFDA50CD269F848200AE11E2 /* clear.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEB125818D6800894E24 /* clear.metal */; };
+		FFDA50CE269F848200AE11E2 /* copy_buffer.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEAF25818D6800894E24 /* copy_buffer.metal */; };
+		FFDA50CF269F848200AE11E2 /* gen_indices.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEB325818D6800894E24 /* gen_indices.metal */; };
+		FFDA50D0269F848200AE11E2 /* gen_mipmap.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEB225818D6800894E24 /* gen_mipmap.metal */; };
+		FFDA50D1269F848200AE11E2 /* rewrite_indices.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF582E1826544FE5006DA5B8 /* rewrite_indices.metal */; };
+		FFDA50D2269F848200AE11E2 /* visibility.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEAB25818D6800894E24 /* visibility.metal */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXBuildRule section */
@@ -864,6 +871,13 @@
 			remoteGlobalIDString = 31CDFDF32491819E00486F27;
 			remoteInfo = "ANGLE (dynamic)";
 		};
+		FFDA50D3269F84A000AE11E2 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = FB39D0701200ED9200088E69 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = FFDA50C4269F845100AE11E2;
+			remoteInfo = ANGLEMetalLib;
+		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXCopyFilesBuildPhase section */
@@ -1813,6 +1827,8 @@
 		FF81FF9A2581A3C200894E24 /* IntermRebuild.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IntermRebuild.h; sourceTree = ""; };
 		FFA0C2C525CB6A7600105306 /* NameEmbeddedUniformStructsMetal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NameEmbeddedUniformStructsMetal.cpp; sourceTree = ""; };
 		FFA0C2C625CB6A7700105306 /* NameEmbeddedUniformStructsMetal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NameEmbeddedUniformStructsMetal.h; sourceTree = ""; };
+		FFDA50D6269F9E5800AE11E2 /* create_mtl_internal_shaders.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = create_mtl_internal_shaders.py; sourceTree = ""; };
+		FFE0D91526A0B4E80071ADAE /* AngleMetalLib.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AngleMetalLib.xcconfig; sourceTree = ""; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -2769,6 +2785,7 @@
 			children = (
 31CDFDEE24917F8900486F27 /* ANGLE-dynamic.xcconfig */,
 31CDFDEF24917F8900486F27 /* 

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

2021-07-16 Thread wilander
Title: [280009] trunk/Source/WebKit








Revision 280009
Author wilan...@apple.com
Date 2021-07-16 16:53:23 -0700 (Fri, 16 Jul 2021)


Log Message
PCM: Add early return when unlinkable token is used and add more happy path Web Inspector logging
https://bugs.webkit.org/show_bug.cgi?id=228039


Reviewed by Kate Cheney.

There's a missing return after an accepted unlinkable token transaction. The
attribution object is therefore moved and stored twice.

This patch also adds more Web Inspector logging to the happy path for better
developer feedback.

No new tests.

* NetworkProcess/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::storeUnattributed):
Add the missing return.
(WebKit::PrivateClickMeasurementManager::getTokenPublicKey):
Add Web Inspector logging.
(WebKit::PrivateClickMeasurementManager::getSignedUnlinkableToken):
Add Web Inspector logging.
(WebKit::PrivateClickMeasurementManager::handleAttribution):
Add Web Inspector logging.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (280008 => 280009)

--- trunk/Source/WebKit/ChangeLog	2021-07-16 23:40:00 UTC (rev 280008)
+++ trunk/Source/WebKit/ChangeLog	2021-07-16 23:53:23 UTC (rev 280009)
@@ -1,3 +1,29 @@
+2021-07-16  John Wilander  
+
+PCM: Add early return when unlinkable token is used and add more happy path Web Inspector logging
+https://bugs.webkit.org/show_bug.cgi?id=228039
+
+
+Reviewed by Kate Cheney.
+
+There's a missing return after an accepted unlinkable token transaction. The
+attribution object is therefore moved and stored twice.
+
+This patch also adds more Web Inspector logging to the happy path for better
+developer feedback.
+
+No new tests.
+
+* NetworkProcess/PrivateClickMeasurementManager.cpp:
+(WebKit::PrivateClickMeasurementManager::storeUnattributed):
+Add the missing return.
+(WebKit::PrivateClickMeasurementManager::getTokenPublicKey):
+Add Web Inspector logging.
+(WebKit::PrivateClickMeasurementManager::getSignedUnlinkableToken):
+Add Web Inspector logging.
+(WebKit::PrivateClickMeasurementManager::handleAttribution):
+Add Web Inspector logging.
+
 2021-07-16  Wenson Hsieh  
 
 REGRESSION (r277820): Can't scroll up and down using trackpad in Mail message viewer when in Slide Over


Modified: trunk/Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp (280008 => 280009)

--- trunk/Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp	2021-07-16 23:40:00 UTC (rev 280008)
+++ trunk/Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp	2021-07-16 23:53:23 UTC (rev 280009)
@@ -97,6 +97,7 @@
 #endif
 
 getSignedUnlinkableToken(WTFMove(attribution));
+return;
 });
 }
 
@@ -174,6 +175,8 @@
 return;
 }
 
+m_networkProcess->broadcastConsoleMessage(m_sessionID, MessageSource::PrivateClickMeasurement, MessageLevel::Log, makeString("[Private Click Measurement] Got JSON response for token public key request."_s));
+
 callback(WTFMove(attribution), jsonObject->getString("token_public_key"_s));
 });
 
@@ -216,9 +219,10 @@
 }
 
 auto signatureBase64URL = jsonObject->getString("unlinkable_token"_s);
-if (signatureBase64URL.isEmpty())
+if (signatureBase64URL.isEmpty()) {
+m_networkProcess->broadcastConsoleMessage(m_sessionID, MessageSource::PrivateClickMeasurement, MessageLevel::Error, makeString("[Private Click Measurement] JSON response doesn't have the key 'unlinkable_token' for token signing request."_s));
 return;
-
+}
 // FIX NOW!
 if (m_fraudPreventionValuesForTesting)
 attribution.setSourceSecretToken({ m_fraudPreventionValuesForTesting->secretToken, m_fraudPreventionValuesForTesting->signature, m_fraudPreventionValuesForTesting->keyID });
@@ -251,15 +255,17 @@
 auto& firstPartyURL = redirectRequest.firstPartyForCookies();
 
 if (!redirectDomain.matches(requestURL)) {
-m_networkProcess->broadcastConsoleMessage(m_sessionID, MessageSource::PrivateClickMeasurement, MessageLevel::Warning, "[Private Click Measurement] Attribution was not accepted because the HTTP redirect was not same-site."_s);
+m_networkProcess->broadcastConsoleMessage(m_sessionID, MessageSource::PrivateClickMeasurement, MessageLevel::Warning, "[Private Click Measurement] Triggering event was not accepted because the HTTP redirect was not same-site."_s);
 return;
 }
 
 if (redirectDomain.matches(firstPartyURL)) {
-m_networkProcess->broadcastConsoleMessage(m_sessionID, MessageSource::PrivateClickMeasurement, MessageLevel::Warning, "[Private Click Measurement] Attribution was not accepted because it was 

[webkit-changes] [280008] trunk

2021-07-16 Thread sbarati
Title: [280008] trunk








Revision 280008
Author sbar...@apple.com
Date 2021-07-16 16:40:00 -0700 (Fri, 16 Jul 2021)


Log Message
Grab the lock in FTL::Thunks::keyForSlowPathCallThunk
https://bugs.webkit.org/show_bug.cgi?id=227988


Reviewed by Mark Lam.

JSTests:

* stress/thunks-hash-map-should-grab-lock.js: Added.

Source/_javascript_Core:

Both FTL::Thunks::keyForSlowPathCallThunk and FTL::Thunks::getSlowPathCallThunk
both touch the thunks hash map. In r278030, when I added the lock, I grabbed it
in getSlowPathCallThunk, but forgot to also grab it in keyForSlowPathCallThunk.

* ftl/FTLThunks.h:
(JSC::FTL::Thunks::keyForSlowPathCallThunk):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/ftl/FTLThunks.h


Added Paths

trunk/JSTests/stress/thunks-hash-map-should-grab-lock.js




Diff

Modified: trunk/JSTests/ChangeLog (280007 => 280008)

--- trunk/JSTests/ChangeLog	2021-07-16 23:23:44 UTC (rev 280007)
+++ trunk/JSTests/ChangeLog	2021-07-16 23:40:00 UTC (rev 280008)
@@ -1,3 +1,13 @@
+2021-07-16  Saam Barati  
+
+Grab the lock in FTL::Thunks::keyForSlowPathCallThunk
+https://bugs.webkit.org/show_bug.cgi?id=227988
+
+
+Reviewed by Mark Lam.
+
+* stress/thunks-hash-map-should-grab-lock.js: Added.
+
 2021-07-16  Yusuke Suzuki  
 
 [JSC] RegExp::dumpToStream must not ref Strings since it is called concurrently


Added: trunk/JSTests/stress/thunks-hash-map-should-grab-lock.js (0 => 280008)

--- trunk/JSTests/stress/thunks-hash-map-should-grab-lock.js	(rev 0)
+++ trunk/JSTests/stress/thunks-hash-map-should-grab-lock.js	2021-07-16 23:40:00 UTC (rev 280008)
@@ -0,0 +1,481 @@
+function main() {
+const v4 = [5330.006088804686];
+const v5 = [-1809859085,-1809859085,-1809859085];
+const v6 = [noInline,5330.006088804686,-1809859085,noInline,noInline,noInline,v4];
+const v7 = {};
+const v8 = v7.__proto__;
+function v9(v10,v11,v12) {
+const v13 = 1;
+}
+function v14(v15,v16,v17,v18) {
+function v19(v20,v21,v22) {
+const v23 = isConcatSpreadable;
+}
+const v24 = v9 | v16;
+switch (v18) {
+default:
+const v25 = 0;
+const v26 = 2;
+const v27 = 1;
+const v30 = {constructor:5330.006088804686,e:Int16Array,length:-1000.0};
+const v36 = [64562.579056559596,64562.579056559596,64562.579056559596];
+const v38 = [1.0,1.0];
+const v39 = [1.7976931348623157e+308,1.7976931348623157e+308,1.7976931348623157e+308];
+const v40 = [-2147483649,-2147483649,-2147483649];
+const v41 = [Symbol,"symbol",-2147483649,v39];
+function v42(v43,v44) {
+function v45(v46,v47) {
+}
+const v48 = 0;
+let v49 = -449638095;
+const v56 = [1098305835,1098305835,1098305835];
+const v57 = [3.0,v56,Uint8Array,100,v36,3.0,v40,1098305835,"f8bvzbzCeL"];
+for (let v60 = 0; v60 < 7; v60++) {
+v49 *= "symbol";
+}
+const v61 = 65537;
+const v62 = 100;
+}
+const v67 = [-100.0,-100.0];
+const v68 = [3];
+const v69 = [placeholder,"EPSILON",3,3,3,"EPSILON",v68,-100.0,-100.0,v67];
+const v70 = {a:-100.0,c:v67,constructor:3,length:3,toString:placeholder};
+const v71 = {b:"EPSILON",constructor:v70,toString:placeholder,valueOf:v70};
+function v72(v73,v74,v75) {
+return v74;
+return "EPSILON";
+}
+function v77(v78,...v79) {
+"9007199254740991".toString = v78;
+}
+function v80(v81,v82,v83) {
+const v85 = Object();
+const v86 = Object;
+}
+function v87(v88,v89) {
+const v92 = [-9007199254740993,-9007199254740993,-9007199254740993,Reflect];
+}
+function v93(v94,v95,v96,v97) {
+v95 *= -100.0;
+const v99 = Math.sinh(v87);
+const v100 = v96[-9007199254740993];
+const v101 = v99 in v69;
+const v104 = [2147483648,2147483648];
+let v107 = Array(1);
+const v113 = ["symbol"];
+const v114 = [Proxy,v113,Uint16Array,3905494558,v113,"65536",v107,3,v113,v104];
+"9007199254740991".c = Proxy;
+const v118 = [328474.42085578316];
+const v119 = 

[webkit-changes] [280007] trunk/Source/WebCore

2021-07-16 Thread mmaxfield
Title: [280007] trunk/Source/WebCore








Revision 280007
Author mmaxfi...@apple.com
Date 2021-07-16 16:23:44 -0700 (Fri, 16 Jul 2021)


Log Message
Fix Apple internal build

Unreviewed.

No new tests because there is no behavior change.

* platform/mac/PlatformSpeechSynthesizerMac.mm:
(WebCore::speechSynthesisGetDefaultVoiceIdentifierForLocale):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (280006 => 280007)

--- trunk/Source/WebCore/ChangeLog	2021-07-16 23:22:27 UTC (rev 280006)
+++ trunk/Source/WebCore/ChangeLog	2021-07-16 23:23:44 UTC (rev 280007)
@@ -1,3 +1,14 @@
+2021-07-16  Myles C. Maxfield  
+
+Fix Apple internal build
+
+Unreviewed.
+
+No new tests because there is no behavior change.
+
+* platform/mac/PlatformSpeechSynthesizerMac.mm:
+(WebCore::speechSynthesisGetDefaultVoiceIdentifierForLocale):
+
 2021-07-16  Brady Eidson  
 
 FetchBodySource/FetchBodyOwner cleanup


Modified: trunk/Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm (280006 => 280007)

--- trunk/Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm	2021-07-16 23:22:27 UTC (rev 280006)
+++ trunk/Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm	2021-07-16 23:23:44 UTC (rev 280007)
@@ -227,7 +227,10 @@
 if (!userLocale)
 return nil;
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 return (__bridge NSString *)GetIdentifierStringForPreferredVoiceInListWithLocale(speechSynthesisGetVoiceIdentifiers().get(), (__bridge CFLocaleRef)userLocale);
+#pragma clang diagnostic pop
 }
 
 void PlatformSpeechSynthesizer::initializeVoiceList()






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


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

2021-07-16 Thread wenson_hsieh
Title: [280006] trunk/Source/WebKit








Revision 280006
Author wenson_hs...@apple.com
Date 2021-07-16 16:22:27 -0700 (Fri, 16 Jul 2021)


Log Message
REGRESSION (r277820): Can't scroll up and down using trackpad in Mail message viewer when in Slide Over
https://bugs.webkit.org/show_bug.cgi?id=228033
rdar://80663917

Reviewed by Tim Horton.

This started happening after the changes in r277820, since UIHoverGestureRecognizer contained several internal
facilities in UIKit for avoiding failure dependencies to other (non-hover) gestures. After removing the
subclass, various UIKit gestures now attempt to add failure requirements to WKMouseGestureRecognizer, thereby
linking WKMouseGestureRecognizer to other gestures in the gesture dependency graph.

This means that all gestures connected to the same subgraph as WKMouseGestureRecognizer are unable to be reset
until WKMouseGestureRecognizer transitions to either Ended or Failed state; however, since this only happens
once the trackpad goes into idle state, these subgraph-connected gestures can effectively only recognize once
per trackpad interaction (resetting only after the trackpad goes idle). Since scroll view pan gesture
recognizers are indirectly connected to WKMouseGestureRecognizer in Slide Over mode, this manifests in scrolling
being unresponsive after an initial scroll gesture has ended.

To address this, we subclass UIHoverGestureRecognizer once again, and (unfortunately) also restore the IPI
override for `-_shouldReceiveTouch:forEvent:recognizerView:`, to ensure that we're still able to detect and
dispatch `mousedown` and `mousemove` events.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
(-[WKContentView gestureRecognizer:shouldReceivePress:]):

Remove a couple of delegate overridees here, which are now unnecessary since WKMouseGestureRecognizer is a
UIHoverGestureRecognizer once again.

* UIProcess/ios/WKMouseGestureRecognizer.h:
* UIProcess/ios/WKMouseGestureRecognizer.mm:
(-[WKMouseGestureRecognizer _shouldReceiveTouch:forEvent:recognizerView:]):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
trunk/Source/WebKit/UIProcess/ios/WKMouseGestureRecognizer.h
trunk/Source/WebKit/UIProcess/ios/WKMouseGestureRecognizer.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (280005 => 280006)

--- trunk/Source/WebKit/ChangeLog	2021-07-16 22:59:36 UTC (rev 280005)
+++ trunk/Source/WebKit/ChangeLog	2021-07-16 23:22:27 UTC (rev 280006)
@@ -1,3 +1,38 @@
+2021-07-16  Wenson Hsieh  
+
+REGRESSION (r277820): Can't scroll up and down using trackpad in Mail message viewer when in Slide Over
+https://bugs.webkit.org/show_bug.cgi?id=228033
+rdar://80663917
+
+Reviewed by Tim Horton.
+
+This started happening after the changes in r277820, since UIHoverGestureRecognizer contained several internal
+facilities in UIKit for avoiding failure dependencies to other (non-hover) gestures. After removing the
+subclass, various UIKit gestures now attempt to add failure requirements to WKMouseGestureRecognizer, thereby
+linking WKMouseGestureRecognizer to other gestures in the gesture dependency graph.
+
+This means that all gestures connected to the same subgraph as WKMouseGestureRecognizer are unable to be reset
+until WKMouseGestureRecognizer transitions to either Ended or Failed state; however, since this only happens
+once the trackpad goes into idle state, these subgraph-connected gestures can effectively only recognize once
+per trackpad interaction (resetting only after the trackpad goes idle). Since scroll view pan gesture
+recognizers are indirectly connected to WKMouseGestureRecognizer in Slide Over mode, this manifests in scrolling
+being unresponsive after an initial scroll gesture has ended.
+
+To address this, we subclass UIHoverGestureRecognizer once again, and (unfortunately) also restore the IPI
+override for `-_shouldReceiveTouch:forEvent:recognizerView:`, to ensure that we're still able to detect and
+dispatch `mousedown` and `mousemove` events.
+
+* UIProcess/ios/WKContentViewInteraction.mm:
+(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
+(-[WKContentView gestureRecognizer:shouldReceivePress:]):
+
+Remove a couple of delegate overridees here, which are now unnecessary since WKMouseGestureRecognizer is a
+UIHoverGestureRecognizer once again.
+
+* UIProcess/ios/WKMouseGestureRecognizer.h:
+* UIProcess/ios/WKMouseGestureRecognizer.mm:
+(-[WKMouseGestureRecognizer _shouldReceiveTouch:forEvent:recognizerView:]):
+
 2021-07-16  Kate Cheney  
 
 macOS Safari network sessions not being marked as being from a browser


Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (280005 => 280006)

--- 

[webkit-changes] [280005] trunk/Source/WebCore

2021-07-16 Thread beidson
Title: [280005] trunk/Source/WebCore








Revision 280005
Author beid...@apple.com
Date 2021-07-16 15:59:36 -0700 (Fri, 16 Jul 2021)


Log Message
FetchBodySource/FetchBodyOwner cleanup
 and https://bugs.webkit.org/show_bug.cgi?id=228035

Reviewed by Geoffrey Garen.

FetchBodyOwner should have a WeakPtr factory, and FetchBodySource should use it.

* Modules/fetch/FetchBodyOwner.h:
* Modules/fetch/FetchBodySource.cpp:
(WebCore::FetchBodySource::FetchBodySource):
(WebCore::FetchBodySource::doCancel):
(WebCore::FetchBodySource::close):
* Modules/fetch/FetchBodySource.h:
* Modules/fetch/FetchResponse.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/fetch/FetchBodyOwner.h
trunk/Source/WebCore/Modules/fetch/FetchBodySource.cpp
trunk/Source/WebCore/Modules/fetch/FetchBodySource.h
trunk/Source/WebCore/Modules/fetch/FetchResponse.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (280004 => 280005)

--- trunk/Source/WebCore/ChangeLog	2021-07-16 22:18:46 UTC (rev 280004)
+++ trunk/Source/WebCore/ChangeLog	2021-07-16 22:59:36 UTC (rev 280005)
@@ -1,3 +1,20 @@
+2021-07-16  Brady Eidson  
+
+FetchBodySource/FetchBodyOwner cleanup
+ and https://bugs.webkit.org/show_bug.cgi?id=228035
+
+Reviewed by Geoffrey Garen.
+
+FetchBodyOwner should have a WeakPtr factory, and FetchBodySource should use it.
+
+* Modules/fetch/FetchBodyOwner.h:
+* Modules/fetch/FetchBodySource.cpp:
+(WebCore::FetchBodySource::FetchBodySource):
+(WebCore::FetchBodySource::doCancel):
+(WebCore::FetchBodySource::close):
+* Modules/fetch/FetchBodySource.h:
+* Modules/fetch/FetchResponse.h:
+
 2021-07-16  Alan Bujtas  
 
 [RenderTreeBuilder] Update the fragmented status of the renderer when it becomes in-flow


Modified: trunk/Source/WebCore/Modules/fetch/FetchBodyOwner.h (280004 => 280005)

--- trunk/Source/WebCore/Modules/fetch/FetchBodyOwner.h	2021-07-16 22:18:46 UTC (rev 280004)
+++ trunk/Source/WebCore/Modules/fetch/FetchBodyOwner.h	2021-07-16 22:59:36 UTC (rev 280005)
@@ -40,7 +40,7 @@
 
 namespace WebCore {
 
-class FetchBodyOwner : public RefCounted, public ActiveDOMObject {
+class FetchBodyOwner : public RefCounted, public ActiveDOMObject, public CanMakeWeakPtr {
 public:
 FetchBodyOwner(ScriptExecutionContext&, std::optional&&, Ref&&);
 ~FetchBodyOwner();


Modified: trunk/Source/WebCore/Modules/fetch/FetchBodySource.cpp (280004 => 280005)

--- trunk/Source/WebCore/Modules/fetch/FetchBodySource.cpp	2021-07-16 22:18:46 UTC (rev 280004)
+++ trunk/Source/WebCore/Modules/fetch/FetchBodySource.cpp	2021-07-16 22:59:36 UTC (rev 280005)
@@ -32,7 +32,7 @@
 namespace WebCore {
 
 FetchBodySource::FetchBodySource(FetchBodyOwner& bodyOwner)
-: m_bodyOwner()
+: m_bodyOwner(makeWeakPtr(bodyOwner))
 {
 }
 
@@ -68,7 +68,6 @@
 void FetchBodySource::doCancel()
 {
 m_isCancelling = true;
-ASSERT(m_bodyOwner || m_isClosed);
 if (!m_bodyOwner)
 return;
 
@@ -79,6 +78,7 @@
 void FetchBodySource::close()
 {
 #if ASSERT_ENABLED
+ASSERT(!m_isClosed);
 m_isClosed = true;
 #endif
 


Modified: trunk/Source/WebCore/Modules/fetch/FetchBodySource.h (280004 => 280005)

--- trunk/Source/WebCore/Modules/fetch/FetchBodySource.h	2021-07-16 22:18:46 UTC (rev 280004)
+++ trunk/Source/WebCore/Modules/fetch/FetchBodySource.h	2021-07-16 22:59:36 UTC (rev 280005)
@@ -57,7 +57,8 @@
 void setActive() final;
 void setInactive() final;
 
-FetchBodyOwner* m_bodyOwner;
+WeakPtr m_bodyOwner;
+
 bool m_isCancelling { false };
 #if ASSERT_ENABLED
 bool m_isClosed { false };


Modified: trunk/Source/WebCore/Modules/fetch/FetchResponse.h (280004 => 280005)

--- trunk/Source/WebCore/Modules/fetch/FetchResponse.h	2021-07-16 22:18:46 UTC (rev 280004)
+++ trunk/Source/WebCore/Modules/fetch/FetchResponse.h	2021-07-16 22:59:36 UTC (rev 280005)
@@ -47,7 +47,7 @@
 class FetchRequest;
 class ReadableStreamSource;
 
-class FetchResponse final : public FetchBodyOwner, public CanMakeWeakPtr {
+class FetchResponse final : public FetchBodyOwner {
 public:
 using Type = ResourceResponse::Type;
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [280004] trunk

2021-07-16 Thread commit-queue
Title: [280004] trunk








Revision 280004
Author commit-qu...@webkit.org
Date 2021-07-16 15:18:46 -0700 (Fri, 16 Jul 2021)


Log Message
Unreviewed, reverting r279916.
https://bugs.webkit.org/show_bug.cgi?id=228037

some of tests are timing out

Reverted changeset:

"Convert small JIT pool tests into executable fuzzing"
https://bugs.webkit.org/show_bug.cgi?id=226279
https://commits.webkit.org/r279916

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp
trunk/Source/_javascript_Core/jit/ExecutableAllocationFuzz.cpp
trunk/Tools/ChangeLog
trunk/Tools/Scripts/jsc-stress-test-helpers/js-executable-allocation-fuzz
trunk/Tools/Scripts/run-jsc-stress-tests




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (280003 => 280004)

--- trunk/Source/_javascript_Core/ChangeLog	2021-07-16 22:07:20 UTC (rev 280003)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-07-16 22:18:46 UTC (rev 280004)
@@ -1,3 +1,16 @@
+2021-07-16  Commit Queue  
+
+Unreviewed, reverting r279916.
+https://bugs.webkit.org/show_bug.cgi?id=228037
+
+some of tests are timing out
+
+Reverted changeset:
+
+"Convert small JIT pool tests into executable fuzzing"
+https://bugs.webkit.org/show_bug.cgi?id=226279
+https://commits.webkit.org/r279916
+
 2021-07-16  Yusuke Suzuki  
 
 [JSC] RegExp::dumpToStream must not ref Strings since it is called concurrently


Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (280003 => 280004)

--- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp	2021-07-16 22:07:20 UTC (rev 280003)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp	2021-07-16 22:18:46 UTC (rev 280004)
@@ -2481,10 +2481,6 @@
 unsigned CodeBlock::numberOfDFGCompiles()
 {
 ASSERT(JITCode::isBaselineCode(jitType()));
-
-// FIXME: We don't really do a good job tracking when a compilation failed because of executable allocation fuzzing. https://bugs.webkit.org/show_bug.cgi?id=226276
-if (Options::useExecutableAllocationFuzz())
-return 100;
 if (Options::testTheFTL()) {
 if (m_didFailFTLCompilation)
 return 100;


Modified: trunk/Source/_javascript_Core/jit/ExecutableAllocationFuzz.cpp (280003 => 280004)

--- trunk/Source/_javascript_Core/jit/ExecutableAllocationFuzz.cpp	2021-07-16 22:07:20 UTC (rev 280003)
+++ trunk/Source/_javascript_Core/jit/ExecutableAllocationFuzz.cpp	2021-07-16 22:18:46 UTC (rev 280004)
@@ -41,8 +41,6 @@
 
 ExecutableAllocationFuzzResult doExecutableAllocationFuzzing()
 {
-static WeakRandom random(Options::seedOfVMRandomForFuzzer() ? Options::seedOfVMRandomForFuzzer() : cryptographicallyRandomNumber());
-
 ASSERT(Options::useExecutableAllocationFuzz());
 
 if (Options::fireExecutableAllocationFuzzRandomly()) {
@@ -61,9 +59,14 @@
 return AllowNormalExecutableAllocation;
 }
 
-unsigned numChecks = s_numberOfExecutableAllocationFuzzChecks.value++;
-
-if (numChecks == Options::fireExecutableAllocationFuzzAt()) {
+unsigned oldValue;
+unsigned newValue;
+do {
+oldValue = s_numberOfExecutableAllocationFuzzChecks.load();
+newValue = oldValue + 1;
+} while (!s_numberOfExecutableAllocationFuzzChecks.compareExchangeWeak(oldValue, newValue));
+
+if (newValue == Options::fireExecutableAllocationFuzzAt()) {
 if (Options::verboseExecutableAllocationFuzz()) {
 dataLog("Will pretend to fail executable allocation.\n");
 WTFReportBacktrace();
@@ -70,16 +73,15 @@
 }
 return PretendToFailExecutableAllocation;
 }
-
+
 if (Options::fireExecutableAllocationFuzzAtOrAfter()
-&& numChecks >= Options::fireExecutableAllocationFuzzAtOrAfter()) {
+&& newValue >= Options::fireExecutableAllocationFuzzAtOrAfter()) {
 if (Options::verboseExecutableAllocationFuzz()) {
 dataLog("Will pretend to fail executable allocation.\n");
 WTFReportBacktrace();
 }
 return PretendToFailExecutableAllocation;
-} else if (!Options::fireExecutableAllocationFuzzAt() && random.getUint32() < UINT_MAX * Options::randomIntegrityAuditRate())
-return PretendToFailExecutableAllocation;
+}
 
 return AllowNormalExecutableAllocation;
 }


Modified: trunk/Tools/ChangeLog (280003 => 280004)

--- trunk/Tools/ChangeLog	2021-07-16 22:07:20 UTC (rev 280003)
+++ trunk/Tools/ChangeLog	2021-07-16 22:18:46 UTC (rev 280004)
@@ -1,3 +1,16 @@
+2021-07-16  Commit Queue  
+
+Unreviewed, reverting r279916.
+https://bugs.webkit.org/show_bug.cgi?id=228037
+
+some of tests are timing out
+
+Reverted changeset:
+
+"Convert small JIT pool tests into executable fuzzing"
+https://bugs.webkit.org/show_bug.cgi?id=226279
+https://commits.webkit.org/r279916
+
 2021-07-16  Jonathan Bedard  
 
 [webkitscmpy] Provide API to access SVN cache



[webkit-changes] [280003] trunk/LayoutTests

2021-07-16 Thread tsavell
Title: [280003] trunk/LayoutTests








Revision 280003
Author tsav...@apple.com
Date 2021-07-16 15:07:20 -0700 (Fri, 16 Jul 2021)


Log Message
accessibility/loading-iframe-sends-notification.html is a flaky timeout
rdar://80331434

Unreviewed test gardening.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac-wk1/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (280002 => 280003)

--- trunk/LayoutTests/ChangeLog	2021-07-16 21:42:51 UTC (rev 280002)
+++ trunk/LayoutTests/ChangeLog	2021-07-16 22:07:20 UTC (rev 280003)
@@ -1,3 +1,12 @@
+2021-07-16  Truitt Savell  
+
+accessibility/loading-iframe-sends-notification.html is a flaky timeout
+rdar://80331434
+
+Unreviewed test gardening.
+
+* platform/mac-wk1/TestExpectations:
+
 2021-07-16  Eric Hutchison  
 
 Multiple Canvas tests flaky crash, flaky fail.


Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (280002 => 280003)

--- trunk/LayoutTests/platform/mac-wk1/TestExpectations	2021-07-16 21:42:51 UTC (rev 280002)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations	2021-07-16 22:07:20 UTC (rev 280003)
@@ -1320,6 +1320,9 @@
 
 webkit.org/b/227366 [ BigSur ] http/tests/preload/onload_event.html [ Pass Timeout ]
 
+# rdar://80331434 ([ Mac WK1 Release ] accessibility/loading-iframe-sends-notification.html is a flaky timeout)
+[ Release ] accessibility/loading-iframe-sends-notification.html [ Pass Timeout ]
+
 webkit.org/b/227516 fast/shadow-dom/style-resolver-sharing.html [ Pass Failure ]
 
 webkit.org/b/227973 [ BigSur Debug arm64 ] http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html [ Pass Timeout ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [280002] trunk/LayoutTests

2021-07-16 Thread jenner
Title: [280002] trunk/LayoutTests








Revision 280002
Author jen...@apple.com
Date 2021-07-16 14:42:51 -0700 (Fri, 16 Jul 2021)


Log Message
Multiple Canvas tests flaky crash, flaky fail.
https://bugs.webkit.org/show_bug.cgi?id=227881.

Unreviewed test gardening.

Patch by Eric Hutchison  on 2021-07-16

* platform/mac-wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac-wk2/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (280001 => 280002)

--- trunk/LayoutTests/ChangeLog	2021-07-16 21:26:15 UTC (rev 280001)
+++ trunk/LayoutTests/ChangeLog	2021-07-16 21:42:51 UTC (rev 280002)
@@ -1,3 +1,12 @@
+2021-07-16  Eric Hutchison  
+
+Multiple Canvas tests flaky crash, flaky fail.
+https://bugs.webkit.org/show_bug.cgi?id=227881.
+
+Unreviewed test gardening.
+
+* platform/mac-wk2/TestExpectations:
+
 2021-07-16  Ayumi Kojima  
 
 [MacOS wk2] inspector/canvas/recording-bitmaprenderer-frameCount.html is flaky failing and timing out.


Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (280001 => 280002)

--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-07-16 21:26:15 UTC (rev 280001)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-07-16 21:42:51 UTC (rev 280002)
@@ -1399,6 +1399,8 @@
 
 webkit.org/b/227881 fast/canvas/canvas-overloads-strokeText.html [ Pass Crash ]
 
+webkit.org/b/227881 inspector/canvas/requestClientNodes-css.html [ Pass Timeout ]
+
 webkit.org/b/228030 inspector/canvas/setShaderProgramHighlighted.html [ Pass Failure Timeout ]
 
 webkit.org/b/228034 inspector/canvas/recording-bitmaprenderer-frameCount.html [ Pass Failure Timeout ]
\ No newline at end of file






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


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

2021-07-16 Thread katherine_cheney
Title: [280001] trunk/Source/WebKit








Revision 280001
Author katherine_che...@apple.com
Date 2021-07-16 14:26:15 -0700 (Fri, 16 Jul 2021)


Log Message
macOS Safari network sessions not being marked as being from a browser
https://bugs.webkit.org/show_bug.cgi?id=228028


Reviewed by Brent Fulgham.

Move WebKitAdditions to open source to communicate full web browser
status to the networking stack. In the macOS case, we don't have
a full browser entitlement, so we should check for Safari.

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::SessionWrapper::initialize):
The name com.apple.WebKit.InAppBrowser is not the most accurate name,
but changing it would require syncing with other parts of the network
stack. We should do this in a separate bug.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (28 => 280001)

--- trunk/Source/WebKit/ChangeLog	2021-07-16 21:22:48 UTC (rev 28)
+++ trunk/Source/WebKit/ChangeLog	2021-07-16 21:26:15 UTC (rev 280001)
@@ -1,3 +1,21 @@
+2021-07-16  Kate Cheney  
+
+macOS Safari network sessions not being marked as being from a browser
+https://bugs.webkit.org/show_bug.cgi?id=228028
+
+
+Reviewed by Brent Fulgham.
+
+Move WebKitAdditions to open source to communicate full web browser
+status to the networking stack. In the macOS case, we don't have
+a full browser entitlement, so we should check for Safari.
+
+* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+(WebKit::SessionWrapper::initialize):
+The name com.apple.WebKit.InAppBrowser is not the most accurate name,
+but changing it would require syncing with other parts of the network
+stack. We should do this in a separate bug.
+
 2021-07-16  Tim Horton  
 
 Adopt BifurcatedGraphicsContext for backing store + display list RemoteLayerBackingStore


Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (28 => 280001)

--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2021-07-16 21:22:48 UTC (rev 28)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2021-07-16 21:26:15 UTC (rev 280001)
@@ -64,7 +64,6 @@
 #import 
 
 #if USE(APPLE_INTERNAL_SDK)
-#import 
 
 #if ENABLE(APP_PRIVACY_REPORT) && HAVE(SYMPTOMS_FRAMEWORK)
 #import 
@@ -83,7 +82,6 @@
 #endif
 
 #else
-#define NETWORK_SESSION_COCOA_ADDITIONS_1
 void WebKit::NetworkSessionCocoa::removeNetworkWebsiteData(std::optional, std::optional>&&, CompletionHandler&& completionHandler) { completionHandler(); }
 #endif
 
@@ -1185,9 +1183,14 @@
 void SessionWrapper::initialize(NSURLSessionConfiguration *configuration, NetworkSessionCocoa& networkSession, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
 {
 UNUSED_PARAM(isNavigatingToAppBoundDomain);
-#if PLATFORM(IOS_FAMILY)
-NETWORK_SESSION_COCOA_ADDITIONS_1
+
+auto isFullBrowser = isParentProcessAFullWebBrowser(networkSession.networkProcess());
+#if PLATFORM(MAC)
+isFullBrowser = WebCore::MacApplication::isSafari();
 #endif
+if (!configuration._sourceApplicationSecondaryIdentifier && isFullBrowser)
+configuration._sourceApplicationSecondaryIdentifier = @"com.apple.WebKit.InAppBrowser";
+
 delegate = adoptNS([[WKNetworkSessionDelegate alloc] initWithNetworkSession:networkSession wrapper:*this withCredentials:storedCredentialsPolicy == WebCore::StoredCredentialsPolicy::Use]);
 session = [NSURLSession sessionWithConfiguration:configuration delegate:delegate.get() delegateQueue:[NSOperationQueue mainQueue]];
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [280000] tags/Safari-612.1.24/

2021-07-16 Thread rubent_22
Title: [28] tags/Safari-612.1.24/








Revision 28
Author rubent...@apple.com
Date 2021-07-16 14:22:48 -0700 (Fri, 16 Jul 2021)


Log Message
Tag Safari-612.1.24.

Added Paths

tags/Safari-612.1.24/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [279999] trunk/LayoutTests

2021-07-16 Thread ryanhaddad
Title: [27] trunk/LayoutTests








Revision 27
Author ryanhad...@apple.com
Date 2021-07-16 14:11:57 -0700 (Fri, 16 Jul 2021)


Log Message
[MacOS wk2] inspector/canvas/recording-bitmaprenderer-frameCount.html is flaky failing and timing out.
https://bugs.webkit.org/show_bug.cgi?id=228034

Unreviewed test gardeing.

Patch by Ayumi Kojima  on 2021-07-16

* platform/mac-wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac-wk2/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (279998 => 27)

--- trunk/LayoutTests/ChangeLog	2021-07-16 21:01:54 UTC (rev 279998)
+++ trunk/LayoutTests/ChangeLog	2021-07-16 21:11:57 UTC (rev 27)
@@ -1,5 +1,14 @@
 2021-07-16  Ayumi Kojima  
 
+[MacOS wk2] inspector/canvas/recording-bitmaprenderer-frameCount.html is flaky failing and timing out.
+https://bugs.webkit.org/show_bug.cgi?id=228034
+
+Unreviewed test gardeing.
+
+* platform/mac-wk2/TestExpectations:
+
+2021-07-16  Ayumi Kojima  
+
 [MacOS wk2] inspector/canvas/setShaderProgramHighlighted.html is flaky failing and timing out.
 https://bugs.webkit.org/show_bug.cgi?id=228030
 


Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (279998 => 27)

--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-07-16 21:01:54 UTC (rev 279998)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-07-16 21:11:57 UTC (rev 27)
@@ -1399,4 +1399,6 @@
 
 webkit.org/b/227881 fast/canvas/canvas-overloads-strokeText.html [ Pass Crash ]
 
-webkit.org/b/228030 inspector/canvas/setShaderProgramHighlighted.html [ Pass Failure Timeout ]
\ No newline at end of file
+webkit.org/b/228030 inspector/canvas/setShaderProgramHighlighted.html [ Pass Failure Timeout ]
+
+webkit.org/b/228034 inspector/canvas/recording-bitmaprenderer-frameCount.html [ Pass Failure Timeout ]
\ No newline at end of file






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [279998] trunk/LayoutTests

2021-07-16 Thread jenner
Title: [279998] trunk/LayoutTests








Revision 279998
Author jen...@apple.com
Date 2021-07-16 14:01:54 -0700 (Fri, 16 Jul 2021)


Log Message
[MacOS wk2] inspector/canvas/setShaderProgramHighlighted.html is flaky failing and timing out.
https://bugs.webkit.org/show_bug.cgi?id=228030

Unreviewed test gardeing.

Patch by Ayumi Kojima  on 2021-07-16

* platform/mac-wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac-wk2/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (279997 => 279998)

--- trunk/LayoutTests/ChangeLog	2021-07-16 21:01:16 UTC (rev 279997)
+++ trunk/LayoutTests/ChangeLog	2021-07-16 21:01:54 UTC (rev 279998)
@@ -1,3 +1,12 @@
+2021-07-16  Ayumi Kojima  
+
+[MacOS wk2] inspector/canvas/setShaderProgramHighlighted.html is flaky failing and timing out.
+https://bugs.webkit.org/show_bug.cgi?id=228030
+
+Unreviewed test gardeing.
+
+* platform/mac-wk2/TestExpectations:
+
 2021-07-16  Truitt Savell  
 
 Modify expectations for media/modern-media-controls/overflow-support/chapters.html


Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (279997 => 279998)

--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-07-16 21:01:16 UTC (rev 279997)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-07-16 21:01:54 UTC (rev 279998)
@@ -1397,4 +1397,6 @@
 
 webkit.org/b/227890 fast/canvas/canvas-path-addPath.html [ Pass Timeout ]
 
-webkit.org/b/227881 fast/canvas/canvas-overloads-strokeText.html [ Pass Crash ]
\ No newline at end of file
+webkit.org/b/227881 fast/canvas/canvas-overloads-strokeText.html [ Pass Crash ]
+
+webkit.org/b/228030 inspector/canvas/setShaderProgramHighlighted.html [ Pass Failure Timeout ]
\ No newline at end of file






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [279997] trunk

2021-07-16 Thread ysuzuki
Title: [279997] trunk








Revision 279997
Author ysuz...@apple.com
Date 2021-07-16 14:01:16 -0700 (Fri, 16 Jul 2021)


Log Message
[JSC] RegExp::dumpToStream must not ref Strings since it is called concurrently
https://bugs.webkit.org/show_bug.cgi?id=228031
rdar://80686425

Reviewed by Mark Lam.

JSTests:

* stress/regexp-dump-concurrently.js: Added.
(let.code):

Source/_javascript_Core:

RegExp::dumpToStream's escapedPattern can return m_pattern. In that case, it is refed in the concurrent thread.
This is wrong since StringImpl must not be ref-ed concurrently. This patch just revert this function to the old behavior.

* runtime/RegExp.cpp:
(JSC::RegExp::dumpToStream):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/RegExp.cpp


Added Paths

trunk/JSTests/stress/regexp-dump-concurrently.js




Diff

Modified: trunk/JSTests/ChangeLog (279996 => 279997)

--- trunk/JSTests/ChangeLog	2021-07-16 20:34:06 UTC (rev 279996)
+++ trunk/JSTests/ChangeLog	2021-07-16 21:01:16 UTC (rev 279997)
@@ -1,3 +1,14 @@
+2021-07-16  Yusuke Suzuki  
+
+[JSC] RegExp::dumpToStream must not ref Strings since it is called concurrently
+https://bugs.webkit.org/show_bug.cgi?id=228031
+rdar://80686425
+
+Reviewed by Mark Lam.
+
+* stress/regexp-dump-concurrently.js: Added.
+(let.code):
+
 2021-07-15  Yusuke Suzuki  
 
 [JSC] SamplingProfiler should recognize RegExp execution


Added: trunk/JSTests/stress/regexp-dump-concurrently.js (0 => 279997)

--- trunk/JSTests/stress/regexp-dump-concurrently.js	(rev 0)
+++ trunk/JSTests/stress/regexp-dump-concurrently.js	2021-07-16 21:01:16 UTC (rev 279997)
@@ -0,0 +1,14 @@
+//@ runDefault("--jitPolicyScale=0", "--validateAbstractInterpreterState=1")
+let code = `
+function foo() {
+  let o = /a/;
+  o.lastIndex = undefined;
+  o.toString();
+}
+for (let i = 0; i < 400; ++i) {
+  foo();
+}
+`
+for (let i=0; i<100; i++) {
+  runString(code);
+}


Modified: trunk/Source/_javascript_Core/ChangeLog (279996 => 279997)

--- trunk/Source/_javascript_Core/ChangeLog	2021-07-16 20:34:06 UTC (rev 279996)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-07-16 21:01:16 UTC (rev 279997)
@@ -1,3 +1,17 @@
+2021-07-16  Yusuke Suzuki  
+
+[JSC] RegExp::dumpToStream must not ref Strings since it is called concurrently
+https://bugs.webkit.org/show_bug.cgi?id=228031
+rdar://80686425
+
+Reviewed by Mark Lam.
+
+RegExp::dumpToStream's escapedPattern can return m_pattern. In that case, it is refed in the concurrent thread.
+This is wrong since StringImpl must not be ref-ed concurrently. This patch just revert this function to the old behavior.
+
+* runtime/RegExp.cpp:
+(JSC::RegExp::dumpToStream):
+
 2021-07-15  Keith Miller  
 
 Alias JSC graph dumping options


Modified: trunk/Source/_javascript_Core/runtime/RegExp.cpp (279996 => 279997)

--- trunk/Source/_javascript_Core/runtime/RegExp.cpp	2021-07-16 20:34:06 UTC (rev 279996)
+++ trunk/Source/_javascript_Core/runtime/RegExp.cpp	2021-07-16 21:01:16 UTC (rev 279997)
@@ -471,7 +471,9 @@
 
 void RegExp::dumpToStream(const JSCell* cell, PrintStream& out)
 {
-out.print(jsCast(cell)->toSourceString());
+// This function can be called concurrently. So we must not ref m_pattern.
+auto* regExp = jsCast(cell);
+out.print(toCString("/", regExp->pattern().impl(), "/", Yarr::flagsString(regExp->flags()).data()));
 }
 
 template 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [279996] trunk/Source/WebCore

2021-07-16 Thread zalan
Title: [279996] trunk/Source/WebCore








Revision 279996
Author za...@apple.com
Date 2021-07-16 13:34:06 -0700 (Fri, 16 Jul 2021)


Log Message
[RenderTreeBuilder] Update the fragmented status of the renderer when it becomes in-flow
https://bugs.webkit.org/show_bug.cgi?id=228025


Reviewed by Antti Koivisto.

This patch ensures that we update fragmented status of the renderer when it becomes in-flow and not just when the containing block's childrenInline status needs updating.
(e.g. the block renderer goes from out-of-flow to in-flow, and the containing block already has block level children, we don't call childFlowStateChangesAndAffectsParentBlock)

* rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange): Move the update logic out from childFlowStateChangesAndAffectsParentBlock to here and run it unconditionally.
(WebCore::RenderTreeBuilder::childFlowStateChangesAndAffectsParentBlock):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (279995 => 279996)

--- trunk/Source/WebCore/ChangeLog	2021-07-16 20:25:58 UTC (rev 279995)
+++ trunk/Source/WebCore/ChangeLog	2021-07-16 20:34:06 UTC (rev 279996)
@@ -1,3 +1,18 @@
+2021-07-16  Alan Bujtas  
+
+[RenderTreeBuilder] Update the fragmented status of the renderer when it becomes in-flow
+https://bugs.webkit.org/show_bug.cgi?id=228025
+
+
+Reviewed by Antti Koivisto.
+
+This patch ensures that we update fragmented status of the renderer when it becomes in-flow and not just when the containing block's childrenInline status needs updating.
+(e.g. the block renderer goes from out-of-flow to in-flow, and the containing block already has block level children, we don't call childFlowStateChangesAndAffectsParentBlock)
+
+* rendering/updating/RenderTreeBuilder.cpp:
+(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange): Move the update logic out from childFlowStateChangesAndAffectsParentBlock to here and run it unconditionally.
+(WebCore::RenderTreeBuilder::childFlowStateChangesAndAffectsParentBlock):
+
 2021-07-16  Fujii Hironori  
 
 [curl] Use curl_multi_poll and curl_multi_wakeup instead of select


Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (279995 => 279996)

--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2021-07-16 20:25:58 UTC (rev 279995)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2021-07-16 20:34:06 UTC (rev 279996)
@@ -583,8 +583,29 @@
 // We have gone from not affecting the inline status of the parent flow to suddenly
 // having an impact. See if there is a mismatch between the parent flow's
 // childrenInline() state and our state.
+auto* currentEnclosingFragment = renderer.enclosingFragmentedFlow();
 if (renderer.isInline() != renderer.parent()->childrenInline())
 childFlowStateChangesAndAffectsParentBlock(renderer);
+// WARNING: original parent might be deleted at this point.
+if (auto* newParent = renderer.parent()) {
+// FIXME: Merge this with the multicolumn code below webkit.org/b/228024
+auto newMultiColumnForRenderer = [&]() -> RenderMultiColumnFlow* {
+// Update the state when the renderer has moved from one multi-column flow to another.
+auto* newEnclosingFragmentedFlow = newParent->enclosingFragmentedFlow();
+if (newParent->isMultiColumnBlockFlow()) {
+// This renderer is a spanner so it is not in the subtree of the multicolumn renderer. It is parented directly under the block flow so
+// enclosingFragmentedFlow() returns the parent enclosing flow.
+ASSERT(is(renderer) && downcast(*newParent).multiColumnFlow()->spannerMap().contains((renderer)));
+newEnclosingFragmentedFlow = downcast(*newParent).multiColumnFlow();
+}
+return newEnclosingFragmentedFlow != currentEnclosingFragment && is(newEnclosingFragmentedFlow) ? downcast(newEnclosingFragmentedFlow) : nullptr;
+};
+if (auto* newEnclosingMultiColumn = newMultiColumnForRenderer()) {
+// Let the fragmented flow know that it has a new in-flow descendant.
+renderer.initializeFragmentedFlowStateOnInsertion();
+multiColumnBuilder().multiColumnDescendantInserted(*newEnclosingMultiColumn, renderer);
+}
+}
 return;
 }
 
@@ -710,7 +731,6 @@
 void RenderTreeBuilder::childFlowStateChangesAndAffectsParentBlock(RenderElement& child)
 {
 if (!child.isInline()) {
-auto* currentEnclosingFragment = child.enclosingFragmentedFlow();
 auto parent = makeWeakPtr(child.parent());
 if (is(*parent))
 

[webkit-changes] [279995] trunk/LayoutTests

2021-07-16 Thread tsavell
Title: [279995] trunk/LayoutTests








Revision 279995
Author tsav...@apple.com
Date 2021-07-16 13:25:58 -0700 (Fri, 16 Jul 2021)


Log Message
Modify expectations for media/modern-media-controls/overflow-support/chapters.html
https://bugs.webkit.org/show_bug.cgi?id=227055

Unreviewed test gardening.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac/TestExpectations
trunk/LayoutTests/platform/mac-wk2/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (279994 => 279995)

--- trunk/LayoutTests/ChangeLog	2021-07-16 20:22:16 UTC (rev 279994)
+++ trunk/LayoutTests/ChangeLog	2021-07-16 20:25:58 UTC (rev 279995)
@@ -5,8 +5,18 @@
 
 Unreviewed test gardening.
 
+* platform/mac-wk2/TestExpectations:
 * platform/mac/TestExpectations:
 
+2021-07-16  Truitt Savell  
+
+Modify expectations for media/modern-media-controls/overflow-support/chapters.html
+https://bugs.webkit.org/show_bug.cgi?id=227055
+
+Unreviewed test gardening.
+
+* platform/mac/TestExpectations:
+
 2021-07-16  Eric Hutchison  
 
 Updated test expectations for inspector/canvas/css-canvas-clients.html is a flaky timeout.


Modified: trunk/LayoutTests/platform/mac/TestExpectations (279994 => 279995)

--- trunk/LayoutTests/platform/mac/TestExpectations	2021-07-16 20:22:16 UTC (rev 279994)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2021-07-16 20:25:58 UTC (rev 279995)
@@ -2287,8 +2287,6 @@
 
 webkit.org/b/223645 [ BigSur+ ] media/video-played-ranges-1.html [ Pass Failure ]
 
-webkit.org/b/226828 [ BigSur+ ] media/modern-media-controls/overflow-support/chapters.html [ Pass Failure Timeout ]
-
 # rdar://80345970 ([ Mac ] imported/w3c/web-platform-tests/workers/Worker-terminate-forever-during-evaluation.html is a flaky failure)
 imported/w3c/web-platform-tests/workers/Worker-terminate-forever-during-evaluation.html [ Pass Failure Crash ]
 


Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (279994 => 279995)

--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-07-16 20:22:16 UTC (rev 279994)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-07-16 20:25:58 UTC (rev 279995)
@@ -1389,6 +1389,8 @@
 
 webkit.org/b/227805 [ Debug ] fast/canvas/canvas-composite-image.html [ Pass Crash ]
 
+webkit.org/b/226828 [ BigSur+ ] media/modern-media-controls/overflow-support/chapters.html [ Pass Failure Timeout ]
+
 webkit.org/b/227922 inspector/canvas/setShaderProgramDisabled.html [ Pass Failure Timeout ]
 
 webkit.org/b/227874 [ BigSur Release ] fullscreen/full-screen-remove-children.html [ Pass Crash ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [279994] trunk/LayoutTests

2021-07-16 Thread tsavell
Title: [279994] trunk/LayoutTests








Revision 279994
Author tsav...@apple.com
Date 2021-07-16 13:22:16 -0700 (Fri, 16 Jul 2021)


Log Message
Modify expectations for media/modern-media-controls/overflow-support/chapters.html
https://bugs.webkit.org/show_bug.cgi?id=227055

Unreviewed test gardening.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (279993 => 279994)

--- trunk/LayoutTests/ChangeLog	2021-07-16 20:19:40 UTC (rev 279993)
+++ trunk/LayoutTests/ChangeLog	2021-07-16 20:22:16 UTC (rev 279994)
@@ -1,3 +1,12 @@
+2021-07-16  Truitt Savell  
+
+Modify expectations for media/modern-media-controls/overflow-support/chapters.html
+https://bugs.webkit.org/show_bug.cgi?id=227055
+
+Unreviewed test gardening.
+
+* platform/mac/TestExpectations:
+
 2021-07-16  Eric Hutchison  
 
 Updated test expectations for inspector/canvas/css-canvas-clients.html is a flaky timeout.


Modified: trunk/LayoutTests/platform/mac/TestExpectations (279993 => 279994)

--- trunk/LayoutTests/platform/mac/TestExpectations	2021-07-16 20:19:40 UTC (rev 279993)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2021-07-16 20:22:16 UTC (rev 279994)
@@ -2287,7 +2287,7 @@
 
 webkit.org/b/223645 [ BigSur+ ] media/video-played-ranges-1.html [ Pass Failure ]
 
-webkit.org/b/226828 media/modern-media-controls/overflow-support/chapters.html [ Pass Failure Timeout ]
+webkit.org/b/226828 [ BigSur+ ] media/modern-media-controls/overflow-support/chapters.html [ Pass Failure Timeout ]
 
 # rdar://80345970 ([ Mac ] imported/w3c/web-platform-tests/workers/Worker-terminate-forever-during-evaluation.html is a flaky failure)
 imported/w3c/web-platform-tests/workers/Worker-terminate-forever-during-evaluation.html [ Pass Failure Crash ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [279993] trunk/Source/WebCore

2021-07-16 Thread Hironori . Fujii
Title: [279993] trunk/Source/WebCore








Revision 279993
Author hironori.fu...@sony.com
Date 2021-07-16 13:19:40 -0700 (Fri, 16 Jul 2021)


Log Message
[curl] Use curl_multi_poll and curl_multi_wakeup instead of select
https://bugs.webkit.org/show_bug.cgi?id=227966

Reviewed by Don Olmstead.

libcurl 7.68.0 added curl_multi_poll and curl_multi_wakeup.

* platform/network/curl/CurlContext.cpp:
(WebCore::CurlMultiHandle::poll): Added.
(WebCore::CurlMultiHandle::wakeUp): Added.
* platform/network/curl/CurlContext.h:
* platform/network/curl/CurlRequestScheduler.cpp:
(WebCore::CurlRequestScheduler::add):
(WebCore::CurlRequestScheduler::callOnWorkerThread):
(WebCore::CurlRequestScheduler::startOrWakeUpThread):
(WebCore::CurlRequestScheduler::wakeUpThreadIfPossible): Added.
(WebCore::CurlRequestScheduler::stopThread):
(WebCore::CurlRequestScheduler::workerThread):
(WebCore::CurlRequestScheduler::startThreadIfNeeded): Deleted.
* platform/network/curl/CurlRequestScheduler.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/network/curl/CurlContext.cpp
trunk/Source/WebCore/platform/network/curl/CurlContext.h
trunk/Source/WebCore/platform/network/curl/CurlRequestScheduler.cpp
trunk/Source/WebCore/platform/network/curl/CurlRequestScheduler.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (279992 => 279993)

--- trunk/Source/WebCore/ChangeLog	2021-07-16 18:24:35 UTC (rev 279992)
+++ trunk/Source/WebCore/ChangeLog	2021-07-16 20:19:40 UTC (rev 279993)
@@ -1,3 +1,26 @@
+2021-07-16  Fujii Hironori  
+
+[curl] Use curl_multi_poll and curl_multi_wakeup instead of select
+https://bugs.webkit.org/show_bug.cgi?id=227966
+
+Reviewed by Don Olmstead.
+
+libcurl 7.68.0 added curl_multi_poll and curl_multi_wakeup.
+
+* platform/network/curl/CurlContext.cpp:
+(WebCore::CurlMultiHandle::poll): Added.
+(WebCore::CurlMultiHandle::wakeUp): Added.
+* platform/network/curl/CurlContext.h:
+* platform/network/curl/CurlRequestScheduler.cpp:
+(WebCore::CurlRequestScheduler::add):
+(WebCore::CurlRequestScheduler::callOnWorkerThread):
+(WebCore::CurlRequestScheduler::startOrWakeUpThread):
+(WebCore::CurlRequestScheduler::wakeUpThreadIfPossible): Added.
+(WebCore::CurlRequestScheduler::stopThread):
+(WebCore::CurlRequestScheduler::workerThread):
+(WebCore::CurlRequestScheduler::startThreadIfNeeded): Deleted.
+* platform/network/curl/CurlRequestScheduler.h:
+
 2021-07-16  Myles C. Maxfield  
 
 Make the lack of an ANGLE dylib unconditionally log


Modified: trunk/Source/WebCore/platform/network/curl/CurlContext.cpp (279992 => 279993)

--- trunk/Source/WebCore/platform/network/curl/CurlContext.cpp	2021-07-16 18:24:35 UTC (rev 279992)
+++ trunk/Source/WebCore/platform/network/curl/CurlContext.cpp	2021-07-16 20:19:40 UTC (rev 279993)
@@ -266,6 +266,17 @@
 return curl_multi_fdset(m_multiHandle, , , , );
 }
 
+CURLMcode CurlMultiHandle::poll(const Vector& extraFds, int timeoutMS)
+{
+int numFds = 0;
+return curl_multi_poll(m_multiHandle, const_cast(extraFds.data()), extraFds.size(), timeoutMS, );
+}
+
+CURLMcode CurlMultiHandle::wakeUp()
+{
+return curl_multi_wakeup(m_multiHandle);
+}
+
 CURLMcode CurlMultiHandle::perform(int& runningHandles)
 {
 return curl_multi_perform(m_multiHandle, );


Modified: trunk/Source/WebCore/platform/network/curl/CurlContext.h (279992 => 279993)

--- trunk/Source/WebCore/platform/network/curl/CurlContext.h	2021-07-16 18:24:35 UTC (rev 279992)
+++ trunk/Source/WebCore/platform/network/curl/CurlContext.h	2021-07-16 20:19:40 UTC (rev 279993)
@@ -174,6 +174,8 @@
 CURLMcode removeHandle(CURL*);
 
 CURLMcode getFdSet(fd_set&, fd_set&, fd_set&, int&);
+CURLMcode poll(const Vector&, int);
+CURLMcode wakeUp();
 CURLMcode perform(int&);
 CURLMsg* readInfo(int&);
 


Modified: trunk/Source/WebCore/platform/network/curl/CurlRequestScheduler.cpp (279992 => 279993)

--- trunk/Source/WebCore/platform/network/curl/CurlRequestScheduler.cpp	2021-07-16 18:24:35 UTC (rev 279992)
+++ trunk/Source/WebCore/platform/network/curl/CurlRequestScheduler.cpp	2021-07-16 20:19:40 UTC (rev 279993)
@@ -49,7 +49,7 @@
 return false;
 
 startTransfer(client);
-startThreadIfNeeded();
+startOrWakeUpThread();
 
 return true;
 }
@@ -71,17 +71,19 @@
 m_taskQueue.append(WTFMove(task));
 }
 
-startThreadIfNeeded();
+startOrWakeUpThread();
 }
 
-void CurlRequestScheduler::startThreadIfNeeded()
+void CurlRequestScheduler::startOrWakeUpThread()
 {
 ASSERT(isMainThread());
 
 {
 Locker locker { m_mutex };
-if (m_runThread)
+if (m_runThread) {
+wakeUpThreadIfPossible();
 return;
+}
 }
 
 if (m_thread)
@@ -94,12 +96,18 @@
 
 m_thread = Thread::create("curlThread", [this] {
 workerThread();
-
-Locker locker { 

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

2021-07-16 Thread timothy_horton
Title: [279992] trunk/Source/WebKit








Revision 279992
Author timothy_hor...@apple.com
Date 2021-07-16 11:24:35 -0700 (Fri, 16 Jul 2021)


Log Message
Adopt BifurcatedGraphicsContext for backing store + display list RemoteLayerBackingStore
https://bugs.webkit.org/show_bug.cgi?id=226425


Reviewed by Sam Weinig.

Instead of "display list backed RemoteLayerBackingStore" being its own
backing store type, we make "includes a display list" a separate bit.
This way, we can paint both a bitmap (IOSurface or CG bitmap, all
exactly as it normally is), and also carry a sidecar display list.

* Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
* Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::ensureBackingStore):
(WebKit::RemoteLayerBackingStore::encode const):
(WebKit::RemoteLayerBackingStore::decode):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::supportsPartialRepaint):
We can't partially repaint the display list, and require its rendering
to match the painted backing store, so disable partial repaint entirely
if display lists are being used.

(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):
Adopt BifurcatedGraphicsContext in order to paint into the aforementioned
bitmap and display list simultaneously.
A future patch may abstract this into a new ImageBuffer type
instead of polluting RemoteLayerBackingStore with it.

Leave a temporary workaround for a CoreAnimation bug, which can be
disabled via `defaults write`, but is enabled by default.

(WebKit::layerContentsForBufferHandle):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
(WebKit::RemoteLayerBackingStore::Buffer::discard):
* UIProcess/RemoteLayerTree/cocoa/RemoteLayerTreeLayers.h:
* UIProcess/RemoteLayerTree/cocoa/RemoteLayerTreeLayers.mm:
(-[WKCompositingLayer _setWKContents:withDisplayList:]):
(-[WKCompositingLayer _setWKContentsDisplayList:]): Deleted.
(-[WKCompositingLayer _wkContentsDisplayList]): Deleted.
Pass the display list data to CoreAnimation alongside the bitmap.

* WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::updateBackingStore):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h
trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
trunk/Source/WebKit/UIProcess/RemoteLayerTree/cocoa/RemoteLayerTreeLayers.h
trunk/Source/WebKit/UIProcess/RemoteLayerTree/cocoa/RemoteLayerTreeLayers.mm
trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp
trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (279991 => 279992)

--- trunk/Source/WebKit/ChangeLog	2021-07-16 18:18:05 UTC (rev 279991)
+++ trunk/Source/WebKit/ChangeLog	2021-07-16 18:24:35 UTC (rev 279992)
@@ -1,3 +1,50 @@
+2021-07-16  Tim Horton  
+
+Adopt BifurcatedGraphicsContext for backing store + display list RemoteLayerBackingStore
+https://bugs.webkit.org/show_bug.cgi?id=226425
+
+
+Reviewed by Sam Weinig.
+
+Instead of "display list backed RemoteLayerBackingStore" being its own
+backing store type, we make "includes a display list" a separate bit.
+This way, we can paint both a bitmap (IOSurface or CG bitmap, all
+exactly as it normally is), and also carry a sidecar display list.
+
+* Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
+* Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
+(WebKit::RemoteLayerBackingStore::ensureBackingStore):
+(WebKit::RemoteLayerBackingStore::encode const):
+(WebKit::RemoteLayerBackingStore::decode):
+(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
+(WebKit::RemoteLayerBackingStore::supportsPartialRepaint):
+We can't partially repaint the display list, and require its rendering
+to match the painted backing store, so disable partial repaint entirely
+if display lists are being used.
+
+(WebKit::RemoteLayerBackingStore::display):
+(WebKit::RemoteLayerBackingStore::drawInContext):
+Adopt BifurcatedGraphicsContext in order to paint into the aforementioned
+bitmap and display list simultaneously.
+A future patch may abstract this into a new ImageBuffer type
+instead of polluting RemoteLayerBackingStore with it.
+
+Leave a temporary workaround for a CoreAnimation bug, which can be
+disabled via `defaults write`, but is enabled by default.
+
+(WebKit::layerContentsForBufferHandle):
+(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
+(WebKit::RemoteLayerBackingStore::Buffer::discard):
+* UIProcess/RemoteLayerTree/cocoa/RemoteLayerTreeLayers.h:
+* UIProcess/RemoteLayerTree/cocoa/RemoteLayerTreeLayers.mm:
+

[webkit-changes] [279991] trunk/Tools

2021-07-16 Thread jbedard
Title: [279991] trunk/Tools








Revision 279991
Author jbed...@apple.com
Date 2021-07-16 11:18:05 -0700 (Fri, 16 Jul 2021)


Log Message
[webkitscmpy] Provide API to access SVN cache
https://bugs.webkit.org/show_bug.cgi?id=228000


Reviewed by Dewei Zhu.

Create a Svn cache with the same API as the Git cache. This allows
git and svn to share logic when inserting identifiers in `log` and `blame`.

* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.Cache.path): Path to cahce file.
(Svn.Cache.populate): Fill cache from `svn log` operation.
(Svn.Cache.to_hash): Svn is unaware of hashes, and can never map them.
(Svn.Cache.to_revision): Map identifiers to revisions.
(Svn.Cache.to_identifier): Map revisions to identifiers.
(Svn.__init__): Use cache object instead of _metadata_cache.
(Svn._commit_count): Access cache object.
(Svn._branch_for): Ditto.
(Svn.commit): Ditto.
(Svn._cache_path): Deleted.
(Svn._cache_revisions): Deleted.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_revision_cache):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/libraries/webkitscmpy/setup.py
trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py
trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py
trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py




Diff

Modified: trunk/Tools/ChangeLog (279990 => 279991)

--- trunk/Tools/ChangeLog	2021-07-16 18:02:46 UTC (rev 279990)
+++ trunk/Tools/ChangeLog	2021-07-16 18:18:05 UTC (rev 279991)
@@ -1,3 +1,31 @@
+2021-07-16  Jonathan Bedard  
+
+[webkitscmpy] Provide API to access SVN cache
+https://bugs.webkit.org/show_bug.cgi?id=228000
+
+
+Reviewed by Dewei Zhu.
+
+Create a Svn cache with the same API as the Git cache. This allows
+git and svn to share logic when inserting identifiers in `log` and `blame`.
+
+* Scripts/libraries/webkitscmpy/setup.py: Bump version.
+* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
+* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
+(Svn.Cache.path): Path to cahce file.
+(Svn.Cache.populate): Fill cache from `svn log` operation.
+(Svn.Cache.to_hash): Svn is unaware of hashes, and can never map them.
+(Svn.Cache.to_revision): Map identifiers to revisions.
+(Svn.Cache.to_identifier): Map revisions to identifiers.
+(Svn.__init__): Use cache object instead of _metadata_cache.
+(Svn._commit_count): Access cache object.
+(Svn._branch_for): Ditto.
+(Svn.commit): Ditto.
+(Svn._cache_path): Deleted.
+(Svn._cache_revisions): Deleted.
+* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
+(TestLocalSvn.test_revision_cache):
+
 2021-07-16  Philippe Normand  
 
 [GStreamer] RealtimeMediaSourceCenter and VideoEncoder are not libwebrtc-specific


Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (279990 => 279991)

--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py	2021-07-16 18:02:46 UTC (rev 279990)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py	2021-07-16 18:18:05 UTC (rev 279991)
@@ -29,7 +29,7 @@
 
 setup(
 name='webkitscmpy',
-version='0.14.7',
+version='0.15.0',
 description='Library designed to interact with git and svn repositories.',
 long_description=readme(),
 classifiers=[


Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (279990 => 279991)

--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2021-07-16 18:02:46 UTC (rev 279990)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2021-07-16 18:18:05 UTC (rev 279991)
@@ -46,7 +46,7 @@
 "Please install webkitcorepy with `pip install webkitcorepy --extra-index-url `"
 )
 
-version = Version(0, 14, 7)
+version = Version(0, 15, 0)
 
 AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
 AutoInstall.register(Package('monotonic', Version(1, 5)))


Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py (279990 => 279991)

--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py	2021-07-16 18:02:46 UTC (rev 279990)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py	2021-07-16 18:18:05 UTC (rev 279991)
@@ -29,6 +29,7 @@
 import shutil
 import subprocess
 import sys
+import time
 
 from datetime import datetime, timedelta
 
@@ -38,9 +39,172 @@
 
 
 class Svn(Scm):
-LOG_RE = re.compile(r'r(?P\d+) \| (?P.*) \| (?P.*)')
-CACHE_VERSION = Version(1)
+class Cache(object):
+LOG_RE = re.compile(r'r(?P\d+) \| (?P.*) \| (?P.*)')
+VERSION = Version(1)
 
+def __init__(self, repo, guranteed_for=10):
+self.repo = repo
+self._last_populated = {}
+  

[webkit-changes] [279990] trunk/Source/WebCore

2021-07-16 Thread mmaxfield
Title: [279990] trunk/Source/WebCore








Revision 279990
Author mmaxfi...@apple.com
Date 2021-07-16 11:02:46 -0700 (Fri, 16 Jul 2021)


Log Message
Make the lack of an ANGLE dylib unconditionally log
https://bugs.webkit.org/show_bug.cgi?id=228010

Reviewed by Dean Jackson.

WebCore should complain louder when all of WebGL is disabled because of a packaging misconfiguration.

No new tests because there is no behavior change.

* platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::create):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (279989 => 279990)

--- trunk/Source/WebCore/ChangeLog	2021-07-16 17:59:12 UTC (rev 279989)
+++ trunk/Source/WebCore/ChangeLog	2021-07-16 18:02:46 UTC (rev 279990)
@@ -1,3 +1,17 @@
+2021-07-16  Myles C. Maxfield  
+
+Make the lack of an ANGLE dylib unconditionally log
+https://bugs.webkit.org/show_bug.cgi?id=228010
+
+Reviewed by Dean Jackson.
+
+WebCore should complain louder when all of WebGL is disabled because of a packaging misconfiguration.
+
+No new tests because there is no behavior change.
+
+* platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
+(WebCore::GraphicsContextGLOpenGL::create):
+
 2021-07-16  Megan Gardner  
 
 Pipe App Highlight scrolling through UI Process in preparation for Note Overlay avoidance.


Modified: trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm (279989 => 279990)

--- trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm	2021-07-16 17:59:12 UTC (rev 279989)
+++ trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm	2021-07-16 18:02:46 UTC (rev 279990)
@@ -169,7 +169,7 @@
 {
 // If ANGLE is not loaded, we can fail immediately.
 if (!isANGLEAvailable()) {
-LOG(WebGL, "ANGLE shared library was not loaded. Can't make GraphicsContextGL.");
+WTFLogAlways("ANGLE shared library was not loaded. Can't make GraphicsContextGL.");
 return nullptr;
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [279989] trunk/LayoutTests

2021-07-16 Thread jenner
Title: [279989] trunk/LayoutTests








Revision 279989
Author jen...@apple.com
Date 2021-07-16 10:59:12 -0700 (Fri, 16 Jul 2021)


Log Message
Updated test expectations for inspector/canvas/css-canvas-clients.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=174272.

Unreviewed test gardeing.

Patch by Eric Hutchison  on 2021-07-16

* platform/mac/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (279988 => 279989)

--- trunk/LayoutTests/ChangeLog	2021-07-16 17:17:17 UTC (rev 279988)
+++ trunk/LayoutTests/ChangeLog	2021-07-16 17:59:12 UTC (rev 279989)
@@ -1,3 +1,12 @@
+2021-07-16  Eric Hutchison  
+
+Updated test expectations for inspector/canvas/css-canvas-clients.html is a flaky timeout.
+https://bugs.webkit.org/show_bug.cgi?id=174272.
+
+Unreviewed test gardeing.
+
+* platform/mac/TestExpectations:
+
 2021-07-16  Alexander Mikhaylenko  
 
 [GTK][WPE] Support color-schemes CSS property


Modified: trunk/LayoutTests/platform/mac/TestExpectations (279988 => 279989)

--- trunk/LayoutTests/platform/mac/TestExpectations	2021-07-16 17:17:17 UTC (rev 279988)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2021-07-16 17:59:12 UTC (rev 279989)
@@ -928,7 +928,7 @@
 webkit.org/b/174066 inspector/canvas/recording-webgl2-full.html [ Pass Failure Timeout ]
 webkit.org/b/174066 inspector/canvas/recording-webgl2-memoryLimit.html [ Pass Failure Timeout ]
 webkit.org/b/174066 inspector/canvas/recording-webgl2-snapshots.html [ Pass Failure Timeout ]
-webkit.org/b/174272 inspector/canvas/requestClientNodes-css.html [ Pass Failure ]
+webkit.org/b/174272 inspector/canvas/requestClientNodes-css.html [ Pass Failure Timeout ]
 webkit.org/b/174066 inspector/canvas/shaderProgram-add-remove-webgl2.html [ Pass Failure Timeout ]
 webkit.org/b/152025 [ Debug ] inspector/console/messagesCleared.html [ Pass Timeout ]
 webkit.org/b/152452 [ Debug ] inspector/console/messageRepeatCountUpdated.html [ Pass Timeout ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [279988] trunk/Source

2021-07-16 Thread megan_gardner
Title: [279988] trunk/Source








Revision 279988
Author megan_gard...@apple.com
Date 2021-07-16 10:17:17 -0700 (Fri, 16 Jul 2021)


Log Message
Pipe App Highlight scrolling through UI Process in preparation for Note Overlay avoidance.
https://bugs.webkit.org/show_bug.cgi?id=227914

Reviewed by Tim Horton.

Source/WebCore:

In order to correctly avoid the note overlay that can potentially obscure the web view,
we need to pipe the scrolling through the UI process. This patch does that work
and will be followed up shortly by one that does the actual work of overlay avoidance.
For iOS, this just uses the main frame UI Scrolling that we already use, but for
mac, we need to do the last scroll in the web process after adjusting it with the overlay
information.

* Modules/highlight/AppHighlightStorage.cpp:
(WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll):
* dom/Element.cpp:
(WebCore::Element::scrollIntoView):
* editing/Editor.cpp:
(WebCore::TemporarySelectionChange::setSelection):
* editing/Editor.h:
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveWithoutValidationTo):
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateAndRevealSelection):
(WebCore::FrameSelection::revealSelection):
* editing/FrameSelection.h:
* loader/EmptyClients.h:
* page/Chrome.cpp:
(WebCore::Chrome::scrollMainFrameToRevealRect const):
(WebCore::Chrome::scrollRectIntoView const): Deleted.
* page/Chrome.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::scrollMainFrameToRevealRect const):
(WebCore::ChromeClient::scrollRectIntoView const): Deleted.
* page/ScrollBehavior.cpp:
(WebCore::useSmoothScrolling):
* page/ScrollBehavior.h:
* platform/ScrollTypes.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
* rendering/RenderLayer.h:

Source/WebKit:

In order to correctly avoid the note overlay that can potentially obscure the web view,
we need to pipe the scrolling through the UI process. This patch does that work
and will be followed up shortly by one that does the actual work of overlay avoidance.
For iOS, this just uses the main frame UI Scrolling that we already use, but for
mac, we need to do the last scroll in the web process after adjusting it with the overlay
information.

* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::requestScrollToRect):
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::requestScrollToRect):
(WebKit::WebPageProxy::scrollToRect):
* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::scrollToRect):
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::requestScrollToRect):
* UIProcess/mac/PageClientImplMac.h:
* UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::requestScrollToRect):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::scrollMainFrameToRevealRect const):
(WebKit::WebChromeClient::scrollRectIntoView const): Deleted.
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::scrollToRect):

Source/WebKitLegacy/mac:

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::scrollMainFrameToRevealRect const):

Source/WebKitLegacy/win:

* WebCoreSupport/WebChromeClient.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/highlight/AppHighlightStorage.cpp
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/editing/Editor.cpp
trunk/Source/WebCore/editing/Editor.h
trunk/Source/WebCore/editing/FrameSelection.cpp
trunk/Source/WebCore/editing/FrameSelection.h
trunk/Source/WebCore/loader/EmptyClients.h
trunk/Source/WebCore/page/Chrome.cpp
trunk/Source/WebCore/page/Chrome.h
trunk/Source/WebCore/page/ChromeClient.h
trunk/Source/WebCore/page/ScrollBehavior.cpp
trunk/Source/WebCore/page/ScrollBehavior.h
trunk/Source/WebCore/platform/ScrollTypes.h
trunk/Source/WebCore/rendering/RenderLayer.cpp
trunk/Source/WebCore/rendering/RenderLayer.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp
trunk/Source/WebKit/UIProcess/API/gtk/PageClientImpl.h
trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h
trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm
trunk/Source/WebKit/UIProcess/PageClient.h
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/UIProcess/WebPageProxy.h
trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in
trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h
trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h
trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp

[webkit-changes] [279987] trunk

2021-07-16 Thread commit-queue
Title: [279987] trunk








Revision 279987
Author commit-qu...@webkit.org
Date 2021-07-16 09:39:15 -0700 (Fri, 16 Jul 2021)


Log Message
[GTK][WPE] Support color-schemes CSS property
https://bugs.webkit.org/show_bug.cgi?id=208204

Patch by Alexander Mikhaylenko  on 2021-07-16
Reviewed by Adrian Perez de Castro.

.:

* Source/cmake/OptionsGTK.cmake:
Enable HAVE_OS_DARK_MODE_SUPPORT.
* Source/cmake/OptionsWPE.cmake:
Enable ENABLE_DARK_MODE_CSS and HAVE_OS_DARK_MODE_SUPPORT.

Source/WebCore:

Last time we tried enabling dark mode, we broke many webpages since we couldn't have diferent
controls, and more importantly, different system colors and defaults for pages that do and
don't support dark mode.

Now that we don't use GTK for this, we can try again. This time, use hardcoded system colors
and return different colors depending on StyleColor::Options::UseDarkAppearance.

To avoid dark-on-dark text on entries, we also need to enable HAVE_OS_DARK_MODE_SUPPORT for GTK
and make sure it's passed to use agent CSS. And since Adwaita controls are also used in WPE, we
need to enable it for WPE as well, and since WPE didn't have ENABLE_DARK_MODE_CSS, flip  that as
well, all in lockstep.

No new tests, reenabled the existing css-dark-mode tests.

* PlatformGTK.cmake:
* PlatformWPE.cmake:
Pass HAVE_OS_DARK_MODE_SUPPORT to user agent CSS.
* css/CSSValueKeywords.in:
Expose -webkit-control-background for anything with HAVE_OS_DARK_MODE_SUPPORT.
* css/themeAdwaita.css:
(input[type="search"]::-webkit-search-results-button,):
(input[type="search"]::-webkit-search-cancel-button):
(body[dir="rtl"] input[type="search"]::-webkit-search-cancel-button):
(input[type="search"]::-webkit-search-results-button:hover,):
(input[type="search"]::-webkit-search-cancel-button:hover): Deleted.
Use mask images instead of content so we can recolor them. Change
color on hover as opacity and inherit entry's color otherwise to
make sure it's legible with dark appearance.
* page/FrameView.cpp:
(WebCore::FrameView::updateBackgroundRecursively):
Use CSSValueWindow for background instead of CSSValueAppleSystemControlBackground
when the latter is not available.
* platform/adwaita/ThemeAdwaita.cpp:
(WebCore::ThemeAdwaita::focusColor):
(WebCore::ThemeAdwaita::paintFocus):
(WebCore::ThemeAdwaita::paintArrow):
(WebCore::ThemeAdwaita::paint):
(WebCore::ThemeAdwaita::paintCheckbox):
(WebCore::ThemeAdwaita::paintRadio):
(WebCore::ThemeAdwaita::paintButton):
(WebCore::ThemeAdwaita::paintSpinButton):
* platform/adwaita/ThemeAdwaita.h:
* rendering/RenderThemeAdwaita.cpp:
(WebCore::RenderThemeAdwaita::platformFocusRingColor const):
(WebCore::RenderThemeAdwaita::systemColor const):
(WebCore::RenderThemeAdwaita::paintTextField):
(WebCore::RenderThemeAdwaita::adjustTextFieldStyle const):
(WebCore::RenderThemeAdwaita::adjustTextAreaStyle const):
(WebCore::RenderThemeAdwaita::adjustSearchFieldStyle const):
Add a border radius to the default style, so the background doesn't bleed through
the corners.
(WebCore::RenderThemeAdwaita::paintMenuList):
(WebCore::RenderThemeAdwaita::paintProgressBar):
(WebCore::RenderThemeAdwaita::paintSliderTrack):
(WebCore::RenderThemeAdwaita::paintSliderThumb):
* rendering/RenderThemeAdwaita.h:

Source/WTF:

* wtf/PlatformHave.h:
Enable HAVE_OS_DARK_MODE_SUPPORT for GTK and WPE.

LayoutTests:

Reenable css-dark-mode tests for GTK as they pass now. Enable the same tests in WPE.
Keep css-dark-mode/older-syntax/supported-color-schemes-css.html as [ Pass Crash ] for now,
according to https://bugs.webkit.org/show_bug.cgi?id=202229#c2

* platform/gtk/TestExpectations:
* platform/gtk/css-dark-mode/color-scheme-css-expected.txt: Removed.
* platform/gtk/css-dark-mode/color-scheme-meta-expected.txt: Removed.
* platform/gtk/css-dark-mode/color-scheme-priority-expected.txt: Removed.
* platform/gtk/css-dark-mode/default-colors-expected.txt: Removed.
* platform/gtk/css-dark-mode/older-syntax/supported-color-schemes-css-expected.txt: Removed.
* platform/gtk/css-dark-mode/older-syntax/supported-color-schemes-meta-expected.txt: Removed.
* platform/wpe/TestExpectations:

Modified Paths

trunk/ChangeLog
trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/gtk/TestExpectations
trunk/LayoutTests/platform/wpe/TestExpectations
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformHave.h
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/PlatformGTK.cmake
trunk/Source/WebCore/PlatformWPE.cmake
trunk/Source/WebCore/css/CSSValueKeywords.in
trunk/Source/WebCore/css/themeAdwaita.css
trunk/Source/WebCore/page/FrameView.cpp
trunk/Source/WebCore/platform/adwaita/ThemeAdwaita.cpp
trunk/Source/WebCore/platform/adwaita/ThemeAdwaita.h
trunk/Source/WebCore/rendering/RenderThemeAdwaita.cpp
trunk/Source/WebCore/rendering/RenderThemeAdwaita.h
trunk/Source/cmake/OptionsGTK.cmake
trunk/Source/cmake/OptionsWPE.cmake


Removed Paths

trunk/LayoutTests/platform/gtk/css-dark-mode/




Diff

Modified: trunk/ChangeLog (279986 => 279987)

--- trunk/ChangeLog	2021-07-16 16:13:49 

[webkit-changes] [279986] trunk/Source/ThirdParty/ANGLE

2021-07-16 Thread tsavell
Title: [279986] trunk/Source/ThirdParty/ANGLE








Revision 279986
Author tsav...@apple.com
Date 2021-07-16 09:13:49 -0700 (Fri, 16 Jul 2021)


Log Message
Unreviewed, reverting r279980.

Broke Internal Builds

Reverted changeset:

"Build Default Metal library offline"
https://bugs.webkit.org/show_bug.cgi?id=227333
https://commits.webkit.org/r279980

Modified Paths

trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj
trunk/Source/ThirdParty/ANGLE/ChangeLog
trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_utils.h


Removed Paths

trunk/Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py




Diff

Modified: trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj (279985 => 279986)

--- trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj	2021-07-16 15:32:31 UTC (rev 279985)
+++ trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj	2021-07-16 16:13:49 UTC (rev 279986)
@@ -838,13 +838,6 @@
 		FF2D2F5525C8B14A002FB699 /* FixTypeConstructors.h in Headers */ = {isa = PBXBuildFile; fileRef = FF2D2F5225C8B14A002FB699 /* FixTypeConstructors.h */; };
 		FF582E1626544FC4006DA5B8 /* ProvokingVertexHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = FF582E1426544FC4006DA5B8 /* ProvokingVertexHelper.mm */; };
 		FF582E1726544FC4006DA5B8 /* ProvokingVertexHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = FF582E1526544FC4006DA5B8 /* ProvokingVertexHelper.h */; };
-		FFDA50CC269F848200AE11E2 /* blit.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEAA25818D6800894E24 /* blit.metal */; };
-		FFDA50CD269F848200AE11E2 /* clear.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEB125818D6800894E24 /* clear.metal */; };
-		FFDA50CE269F848200AE11E2 /* copy_buffer.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEAF25818D6800894E24 /* copy_buffer.metal */; };
-		FFDA50CF269F848200AE11E2 /* gen_indices.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEB325818D6800894E24 /* gen_indices.metal */; };
-		FFDA50D0269F848200AE11E2 /* gen_mipmap.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEB225818D6800894E24 /* gen_mipmap.metal */; };
-		FFDA50D1269F848200AE11E2 /* rewrite_indices.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF582E1826544FE5006DA5B8 /* rewrite_indices.metal */; };
-		FFDA50D2269F848200AE11E2 /* visibility.metal in Sources */ = {isa = PBXBuildFile; fileRef = FF81FEAB25818D6800894E24 /* visibility.metal */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXBuildRule section */
@@ -871,13 +864,6 @@
 			remoteGlobalIDString = 31CDFDF32491819E00486F27;
 			remoteInfo = "ANGLE (dynamic)";
 		};
-		FFDA50D3269F84A000AE11E2 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = FB39D0701200ED9200088E69 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = FFDA50C4269F845100AE11E2;
-			remoteInfo = ANGLEMetalLib;
-		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXCopyFilesBuildPhase section */
@@ -1827,8 +1813,6 @@
 		FF81FF9A2581A3C200894E24 /* IntermRebuild.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IntermRebuild.h; sourceTree = ""; };
 		FFA0C2C525CB6A7600105306 /* NameEmbeddedUniformStructsMetal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NameEmbeddedUniformStructsMetal.cpp; sourceTree = ""; };
 		FFA0C2C625CB6A7700105306 /* NameEmbeddedUniformStructsMetal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NameEmbeddedUniformStructsMetal.h; sourceTree = ""; };
-		FFDA50D6269F9E5800AE11E2 /* create_mtl_internal_shaders.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = create_mtl_internal_shaders.py; sourceTree = ""; };
-		FFE0D91526A0B4E80071ADAE /* AngleMetalLib.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AngleMetalLib.xcconfig; sourceTree = ""; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -2785,7 +2769,6 @@
 			children = (
 31CDFDEE24917F8900486F27 /* ANGLE-dynamic.xcconfig */,
 31CDFDEF24917F8900486F27 /* ANGLE-static.xcconfig */,
-FFE0D91526A0B4E80071ADAE /* AngleMetalLib.xcconfig */,
 5D7C59C61208C68B001C873E /* Base.xcconfig */,
 5D7C59C71208C68B001C873E /* DebugRelease.xcconfig */,
 A1B89B89221E003A00EB4CEA /* SDKVariant.xcconfig */,
@@ -3073,7 +3056,6 @@
 FF81FEAD25818D6800894E24 /* common.h */,
 FF81FEAC25818D6800894E24 /* constants.h */,
 FF81FEAF25818D6800894E24 /* copy_buffer.metal */,
-FFDA50D6269F9E5800AE11E2 /* create_mtl_internal_shaders.py */,
 FF81FEB025818D6800894E24 /* 

[webkit-changes] [279985] trunk

2021-07-16 Thread commit-queue
Title: [279985] trunk








Revision 279985
Author commit-qu...@webkit.org
Date 2021-07-16 08:32:31 -0700 (Fri, 16 Jul 2021)


Log Message
[GStreamer] RealtimeMediaSourceCenter and VideoEncoder are not libwebrtc-specific
https://bugs.webkit.org/show_bug.cgi?id=228020

Patch by Philippe Normand  on 2021-07-16
Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Those two are actually not using libwebrtc-related code, so a better place for them is
platform/mediastream/gstreamer.

* platform/GStreamer.cmake:
* platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp: Renamed from Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoder.cpp.
(Encoders::singleton):
(Encoders::registerEncoder):
(Encoders::definition):
(webrtcVideoEncoderGetProperty):
(webrtcVideoEncoderSetBitrate):
(webrtcVideoEncoderSetEncoder):
(webrtcVideoEncoderSetFormat):
(webrtcVideoEncoderSetProperty):
(setBitrateKbitPerSec):
(setBitrateBitPerSec):
(webrtcVideoEncoderConstructed):
(webkit_webrtc_video_encoder_class_init):
* platform/mediastream/gstreamer/GStreamerVideoEncoder.h: Renamed from Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoder.h.
* platform/mediastream/gstreamer/RealtimeMediaSourceCenterGStreamer.cpp: Renamed from Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeMediaSourceCenterLibWebRTC.cpp.
(WebCore::RealtimeMediaSourceCenter::defaultAudioCaptureFactory):
(WebCore::RealtimeMediaSourceCenter::defaultVideoCaptureFactory):
(WebCore::RealtimeMediaSourceCenter::defaultDisplayCaptureFactory):

Tools:

* Scripts/webkitpy/style/checker.py:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/GStreamer.cmake
trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/style/checker.py


Added Paths

trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp
trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoEncoder.h
trunk/Source/WebCore/platform/mediastream/gstreamer/RealtimeMediaSourceCenterGStreamer.cpp


Removed Paths

trunk/Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoder.cpp
trunk/Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoder.h
trunk/Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeMediaSourceCenterLibWebRTC.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (279984 => 279985)

--- trunk/Source/WebCore/ChangeLog	2021-07-16 14:25:26 UTC (rev 279984)
+++ trunk/Source/WebCore/ChangeLog	2021-07-16 15:32:31 UTC (rev 279985)
@@ -1,5 +1,35 @@
 2021-07-16  Philippe Normand  
 
+[GStreamer] RealtimeMediaSourceCenter and VideoEncoder are not libwebrtc-specific
+https://bugs.webkit.org/show_bug.cgi?id=228020
+
+Reviewed by Xabier Rodriguez-Calvar.
+
+Those two are actually not using libwebrtc-related code, so a better place for them is
+platform/mediastream/gstreamer.
+
+* platform/GStreamer.cmake:
+* platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp: Renamed from Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoder.cpp.
+(Encoders::singleton):
+(Encoders::registerEncoder):
+(Encoders::definition):
+(webrtcVideoEncoderGetProperty):
+(webrtcVideoEncoderSetBitrate):
+(webrtcVideoEncoderSetEncoder):
+(webrtcVideoEncoderSetFormat):
+(webrtcVideoEncoderSetProperty):
+(setBitrateKbitPerSec):
+(setBitrateBitPerSec):
+(webrtcVideoEncoderConstructed):
+(webkit_webrtc_video_encoder_class_init):
+* platform/mediastream/gstreamer/GStreamerVideoEncoder.h: Renamed from Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoder.h.
+* platform/mediastream/gstreamer/RealtimeMediaSourceCenterGStreamer.cpp: Renamed from Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeMediaSourceCenterLibWebRTC.cpp.
+(WebCore::RealtimeMediaSourceCenter::defaultAudioCaptureFactory):
+(WebCore::RealtimeMediaSourceCenter::defaultVideoCaptureFactory):
+(WebCore::RealtimeMediaSourceCenter::defaultDisplayCaptureFactory):
+
+2021-07-16  Philippe Normand  
+
 [GStreamer] LibWebRTC files should be in libwebrtc/gstreamer
 https://bugs.webkit.org/show_bug.cgi?id=227991
 


Modified: trunk/Source/WebCore/platform/GStreamer.cmake (279984 => 279985)

--- trunk/Source/WebCore/platform/GStreamer.cmake	2021-07-16 14:25:26 UTC (rev 279984)
+++ trunk/Source/WebCore/platform/GStreamer.cmake	2021-07-16 15:32:31 UTC (rev 279985)
@@ -46,13 +46,11 @@
 
 platform/mediastream/libwebrtc/gstreamer/GStreamerVideoCommon.cpp
 platform/mediastream/libwebrtc/gstreamer/GStreamerVideoDecoderFactory.cpp
-platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoder.cpp
 platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoderFactory.cpp
 

[webkit-changes] [279984] trunk/Tools

2021-07-16 Thread angelos
Title: [279984] trunk/Tools








Revision 279984
Author ange...@igalia.com
Date 2021-07-16 07:25:26 -0700 (Fri, 16 Jul 2021)


Log Message
Bundle libraries for remote execution in run-jsc-benchmarks
https://bugs.webkit.org/show_bug.cgi?id=227579

Reviewed by Carlos Alberto Lopez Perez.

Similarly to run-jsc-stress-tests, introduce a bundling step that
ships all library dependencies to the remote system when using
run-jsc-benchmarks --remote.

This patch factors out the code to
- lookup the ELF interpreter/libraries and to
- strip the rpath and create a wrapper script
from generate-bundle and places it webkitpy/binary_bundling.

It also introduces a simpler script that only bundles a single
binary (bundle-binary) and switches run-jsc-benchmarks and
run-jsc-stress-tests to use it.

It also updates run-jsc-benchmark to propagate any environment
variables intended for consumption by the JSC binary.

* Scripts/generate-bundle: Factor out reusable bundling code.
* Scripts/run-jsc-benchmarks: Do bundling and variable propagation.
* Scripts/run-jsc-stress-tests: Switch to bundle-binary.
* Scripts/webkitpy/binary_bundling/__init__.py: Added.
* Scripts/webkitpy/binary_bundling/bundle.py: Added.
(BinaryBundler):
(BinaryBundler.__init__):
(BinaryBundler.destination_dir):
(BinaryBundler.copy_and_remove_rpath):
(BinaryBundler.generate_wrapper_script):
* Scripts/webkitpy/binary_bundling/ldd.py: Added.
(SharedObjectResolver):
(SharedObjectResolver.__init__):
(SharedObjectResolver._run_cmd_and_get_output):
(SharedObjectResolver._get_interpreter_objname):
(SharedObjectResolver._get_libs_and_interpreter):
(SharedObjectResolver._ldd_recursive_get_libs_and_interpreter):
(SharedObjectResolver.get_libs_and_interpreter):

* Scripts/bundle-binary: Added.
* Scripts/generate-bundle:
* Scripts/run-jsc-benchmarks:
* Scripts/run-jsc-stress-tests:
* Scripts/webkitpy/binary_bundling/__init__.py: Added.
* Scripts/webkitpy/binary_bundling/bundle.py: Added.
(BinaryBundler):
(BinaryBundler.__init__):
(BinaryBundler.destination_dir):
(BinaryBundler.copy_and_remove_rpath):
(BinaryBundler.generate_wrapper_script):
* Scripts/webkitpy/binary_bundling/ldd.py: Added.
(SharedObjectResolver):
(SharedObjectResolver.__init__):
(SharedObjectResolver._run_cmd_and_get_output):
(SharedObjectResolver._get_interpreter_objname):
(SharedObjectResolver._get_libs_and_interpreter):
(SharedObjectResolver._ldd_recursive_get_libs_and_interpreter):
(SharedObjectResolver.get_libs_and_interpreter):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/generate-bundle
trunk/Tools/Scripts/run-jsc-benchmarks
trunk/Tools/Scripts/run-jsc-stress-tests


Added Paths

trunk/Tools/Scripts/bundle-binary
trunk/Tools/Scripts/webkitpy/binary_bundling/
trunk/Tools/Scripts/webkitpy/binary_bundling/__init__.py
trunk/Tools/Scripts/webkitpy/binary_bundling/bundle.py
trunk/Tools/Scripts/webkitpy/binary_bundling/ldd.py




Diff

Modified: trunk/Tools/ChangeLog (279983 => 279984)

--- trunk/Tools/ChangeLog	2021-07-16 11:16:13 UTC (rev 279983)
+++ trunk/Tools/ChangeLog	2021-07-16 14:25:26 UTC (rev 279984)
@@ -1,3 +1,65 @@
+2021-07-16  Angelos Oikonomopoulos  
+
+Bundle libraries for remote execution in run-jsc-benchmarks
+https://bugs.webkit.org/show_bug.cgi?id=227579
+
+Reviewed by Carlos Alberto Lopez Perez.
+
+Similarly to run-jsc-stress-tests, introduce a bundling step that
+ships all library dependencies to the remote system when using
+run-jsc-benchmarks --remote.
+
+This patch factors out the code to
+- lookup the ELF interpreter/libraries and to
+- strip the rpath and create a wrapper script
+from generate-bundle and places it webkitpy/binary_bundling.
+
+It also introduces a simpler script that only bundles a single
+binary (bundle-binary) and switches run-jsc-benchmarks and
+run-jsc-stress-tests to use it.
+
+It also updates run-jsc-benchmark to propagate any environment
+variables intended for consumption by the JSC binary.
+
+* Scripts/generate-bundle: Factor out reusable bundling code.
+* Scripts/run-jsc-benchmarks: Do bundling and variable propagation.
+* Scripts/run-jsc-stress-tests: Switch to bundle-binary.
+* Scripts/webkitpy/binary_bundling/__init__.py: Added.
+* Scripts/webkitpy/binary_bundling/bundle.py: Added.
+(BinaryBundler):
+(BinaryBundler.__init__):
+(BinaryBundler.destination_dir):
+(BinaryBundler.copy_and_remove_rpath):
+(BinaryBundler.generate_wrapper_script):
+* Scripts/webkitpy/binary_bundling/ldd.py: Added.
+(SharedObjectResolver):
+(SharedObjectResolver.__init__):
+(SharedObjectResolver._run_cmd_and_get_output):
+(SharedObjectResolver._get_interpreter_objname):
+(SharedObjectResolver._get_libs_and_interpreter):
+(SharedObjectResolver._ldd_recursive_get_libs_and_interpreter):
+

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

2021-07-16 Thread carlosgc
Title: [279983] trunk/Source/WebKit








Revision 279983
Author carlo...@webkit.org
Date 2021-07-16 04:16:13 -0700 (Fri, 16 Jul 2021)


Log Message
[GTK][WPE] PSON: accessibility doesn't work after a cross site navigation
https://bugs.webkit.org/show_bug.cgi?id=228021

Reviewed by Adrian Perez de Castro.

The provisional page is not handling the BindAccessibilityTree message and we never embed the new web process
plug into the UI process socket.

* UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::bindAccessibilityTree): Save the a11y plug ID.
(WebKit::ProvisionalPageProxy::didReceiveMessage): Handle BindAccessibilityTree message.
* UIProcess/ProvisionalPageProxy.h:
(WebKit::ProvisionalPageProxy::accessibilityPlugID): Returns the a11y plug ID.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::swapToProvisionalPage): If the provisional page has a plug ID, bind the a11y tree.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (279982 => 279983)

--- trunk/Source/WebKit/ChangeLog	2021-07-16 08:43:04 UTC (rev 279982)
+++ trunk/Source/WebKit/ChangeLog	2021-07-16 11:16:13 UTC (rev 279983)
@@ -1,3 +1,21 @@
+2021-07-16  Carlos Garcia Campos  
+
+[GTK][WPE] PSON: accessibility doesn't work after a cross site navigation
+https://bugs.webkit.org/show_bug.cgi?id=228021
+
+Reviewed by Adrian Perez de Castro.
+
+The provisional page is not handling the BindAccessibilityTree message and we never embed the new web process
+plug into the UI process socket.
+
+* UIProcess/ProvisionalPageProxy.cpp:
+(WebKit::ProvisionalPageProxy::bindAccessibilityTree): Save the a11y plug ID.
+(WebKit::ProvisionalPageProxy::didReceiveMessage): Handle BindAccessibilityTree message.
+* UIProcess/ProvisionalPageProxy.h:
+(WebKit::ProvisionalPageProxy::accessibilityPlugID): Returns the a11y plug ID.
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::swapToProvisionalPage): If the provisional page has a plug ID, bind the a11y tree.
+
 2021-07-15  Wenson Hsieh  
 
 [iOS] WKMouseGestureRecognizer should not have failure requirements on WKDeferringGestureRecognizer


Modified: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp (279982 => 279983)

--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp	2021-07-16 08:43:04 UTC (rev 279982)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp	2021-07-16 11:16:13 UTC (rev 279983)
@@ -411,6 +411,13 @@
 }
 #endif
 
+#if PLATFORM(GTK) || PLATFORM(WPE)
+void ProvisionalPageProxy::bindAccessibilityTree(const String& plugID)
+{
+m_accessibilityPlugID = plugID;
+}
+#endif
+
 #if ENABLE(CONTENT_FILTERING)
 void ProvisionalPageProxy::contentFilterDidBlockLoadForFrame(const WebCore::ContentFilterUnblockHandler& unblockHandler, FrameIdentifier frameID)
 {
@@ -470,6 +477,13 @@
 }
 #endif
 
+#if PLATFORM(GTK) || PLATFORM(WPE)
+if (decoder.messageName() == Messages::WebPageProxy::BindAccessibilityTree::name()) {
+IPC::handleMessage(decoder, this, ::bindAccessibilityTree);
+return;
+}
+#endif
+
 if (decoder.messageName() == Messages::WebPageProxy::LogDiagnosticMessageFromWebProcess::name()) {
 IPC::handleMessage(decoder, this, ::logDiagnosticMessageFromWebProcess);
 return;


Modified: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h (279982 => 279983)

--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h	2021-07-16 08:43:04 UTC (rev 279982)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h	2021-07-16 11:16:13 UTC (rev 279983)
@@ -90,6 +90,9 @@
 #if PLATFORM(COCOA)
 Vector takeAccessibilityToken() { return WTFMove(m_accessibilityToken); }
 #endif
+#if PLATFORM(GTK) || PLATFORM(WPE)
+const String& accessibilityPlugID() { return m_accessibilityPlugID; }
+#endif
 #if HAVE(VISIBILITY_PROPAGATION_VIEW)
 LayerHostingContextID contextIDForVisibilityPropagationInWebProcess() const { return m_contextIDForVisibilityPropagationInWebProcess; }
 #if ENABLE(GPU_PROCESS)
@@ -145,6 +148,9 @@
 #if PLATFORM(COCOA)
 void registerWebProcessAccessibilityToken(const IPC::DataReference&);
 #endif
+#if PLATFORM(GTK) || PLATFORM(WPE)
+void bindAccessibilityTree(const String&);
+#endif
 #if ENABLE(CONTENT_FILTERING)
 void contentFilterDidBlockLoadForFrame(const WebCore::ContentFilterUnblockHandler&, WebCore::FrameIdentifier);
 #endif
@@ -170,6 +176,9 @@
 #if PLATFORM(COCOA)
 Vector m_accessibilityToken;
 #endif
+#if PLATFORM(GTK) || PLATFORM(WPE)
+String m_accessibilityPlugID;
+#endif
 #if PLATFORM(IOS_FAMILY)
 UniqueRef m_provisionalLoadActivity;
 #endif


Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (279982 => 279983)

--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-07-16 08:43:04 

[webkit-changes] [279981] trunk/PerformanceTests

2021-07-16 Thread rego
Title: [279981] trunk/PerformanceTests








Revision 279981
Author r...@igalia.com
Date 2021-07-16 01:32:18 -0700 (Fri, 16 Jul 2021)


Log Message
Remove CSS Regions perf tests
https://bugs.webkit.org/show_bug.cgi?id=228016

Reviewed by Ryosuke Niwa.

The feature has been removed long time ago, so let's do the same with the associated perf tests.

* Layout/RegionsAuto.html: Removed.
* Layout/RegionsAutoMaxHeight.html: Removed.
* Layout/RegionsExtendingSelectionMixedContent.html: Removed.
* Layout/RegionsFixed.html: Removed.
* Layout/RegionsFixedShort.html: Removed.
* Layout/RegionsSelectAllMixedContent.html: Removed.
* Layout/RegionsSelection.html: Removed.
* Layout/RegionsShapes.html: Removed.
* Layout/Shapes/RegionsShapesNoShapes.html: Removed.
* Layout/Shapes/resources/RegionsShapesContent.html: Removed.
* Layout/Shapes/resources/RegionsShapesContentNoShapes.html: Removed.
* Layout/resources/regions.css: Removed.
* Layout/resources/regions.js: Removed.

Modified Paths

trunk/PerformanceTests/ChangeLog


Removed Paths

trunk/PerformanceTests/Layout/RegionsAuto.html
trunk/PerformanceTests/Layout/RegionsAutoMaxHeight.html
trunk/PerformanceTests/Layout/RegionsExtendingSelectionMixedContent.html
trunk/PerformanceTests/Layout/RegionsFixed.html
trunk/PerformanceTests/Layout/RegionsFixedShort.html
trunk/PerformanceTests/Layout/RegionsSelectAllMixedContent.html
trunk/PerformanceTests/Layout/RegionsSelection.html
trunk/PerformanceTests/Layout/RegionsShapes.html
trunk/PerformanceTests/Layout/Shapes/RegionsShapesNoShapes.html
trunk/PerformanceTests/Layout/Shapes/resources/RegionsShapesContent.html
trunk/PerformanceTests/Layout/Shapes/resources/RegionsShapesContentNoShapes.html
trunk/PerformanceTests/Layout/resources/regions.css
trunk/PerformanceTests/Layout/resources/regions.js




Diff

Modified: trunk/PerformanceTests/ChangeLog (279980 => 279981)

--- trunk/PerformanceTests/ChangeLog	2021-07-16 07:19:05 UTC (rev 279980)
+++ trunk/PerformanceTests/ChangeLog	2021-07-16 08:32:18 UTC (rev 279981)
@@ -1,3 +1,26 @@
+2021-07-16  Manuel Rego Casasnovas  
+
+Remove CSS Regions perf tests
+https://bugs.webkit.org/show_bug.cgi?id=228016
+
+Reviewed by Ryosuke Niwa.
+
+The feature has been removed long time ago, so let's do the same with the associated perf tests.
+
+* Layout/RegionsAuto.html: Removed.
+* Layout/RegionsAutoMaxHeight.html: Removed.
+* Layout/RegionsExtendingSelectionMixedContent.html: Removed.
+* Layout/RegionsFixed.html: Removed.
+* Layout/RegionsFixedShort.html: Removed.
+* Layout/RegionsSelectAllMixedContent.html: Removed.
+* Layout/RegionsSelection.html: Removed.
+* Layout/RegionsShapes.html: Removed.
+* Layout/Shapes/RegionsShapesNoShapes.html: Removed.
+* Layout/Shapes/resources/RegionsShapesContent.html: Removed.
+* Layout/Shapes/resources/RegionsShapesContentNoShapes.html: Removed.
+* Layout/resources/regions.css: Removed.
+* Layout/resources/regions.js: Removed.
+
 2021-06-03  Said Abou-Hallawa  
 
 [MotionMark] Controller.filterOutOutliers() sorts the frameLengths array incorrectly


Deleted: trunk/PerformanceTests/Layout/RegionsAuto.html (279980 => 279981)

--- trunk/PerformanceTests/Layout/RegionsAuto.html	2021-07-16 07:19:05 UTC (rev 279980)
+++ trunk/PerformanceTests/Layout/RegionsAuto.html	2021-07-16 08:32:18 UTC (rev 279981)
@@ -1,19 +0,0 @@
-
-
-
-
-
-#log {
-position: fixed;
-}
-
-
-
-

-