[webkit-changes] [280017] trunk
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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/
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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; -} - - - - -