[webkit-changes] [279363] trunk/Source/WebCore
Title: [279363] trunk/Source/WebCore Revision 279363 Author calva...@igalia.com Date 2021-06-28 23:11:52 -0700 (Mon, 28 Jun 2021) Log Message [GStreamer][EME] Fix resources release when a MediaKeySession is closed https://bugs.webkit.org/show_bug.cgi?id=227403 Reviewed by Philippe Normand. Thunder sessions should be a BoxPtr, already when stored at the CDMInstanceSessionThunder, it does not make sense to store then in a unique_ptr. This way the same session lives in the MediaKeySession wrapper (CDMInstanceSessionThunder) and inside the KeyStores. Removed the CDMInstanceProxy key store. It is not needed. When a session is closed in Thunder, there should be a cascade to remove it from the other synced stores, that's why we introduce the removeAllKeysFrom logic. Regular key stores do not manage key session references anymore. They are only needed in the CDMProxy class, which is where the keys are shared among different sessions. We were managing key session references in other stores and they were messing up with the key references in the CDMProxy class. In those cases, a key kept in a local store could have a reference that would prevent the CDMProxy key store from removing it when asked from it. There were also cases of removing keys from local stores that were creating negative reference numbers, which created the opposite effect, this is, leaving in place keys in the CDMProxy store that should be released. * platform/encryptedmedia/CDMProxy.cpp: (WebCore::KeyStore::merge): Simplified to just add keys. (WebCore::KeyStore::add): Adds references (if needed) and merges if needed. (WebCore::KeyStore::unrefAllKeys): Renamed. Unrefs all keys from a store by copying itself and calling unrefAllKeysFrom that copy. (WebCore::KeyStore::unref): Renamed. Uses proper refefencing. (WebCore::CDMProxy::unrefAllKeysFrom): Method to unref all keys that are contained in some other store. (WebCore::CDMInstanceProxy::mergeKeysFrom): There is no more key store in this class. (WebCore::CDMInstanceProxy::unrefAllKeysFrom): Renamed. Calls the CDMproxy to unref the keys from there. * platform/encryptedmedia/CDMProxy.h: (WebCore::KeyHandle::mergeKeyInto): Merges one key into self by copying status, data and summing reference count. (WebCore::KeyHandle::numSessionReferences const): Turn int. (WebCore::KeyHandle::hasReferences const): Added. (WebCore::KeyStore::addSessionReferenceTo const): (WebCore::KeyStore::removeSessionReferenceFrom const): Helpers to check if the store is reference counted or not. Default is do nothing and but the ReferenceAwareKeyStore redefines them to do reference counting. (WebCore::KeyStore::unrefAllKeys): Deleted. * platform/encryptedmedia/clearkey/CDMClearKey.cpp: (WebCore::CDMInstanceSessionClearKey::updateLicense): (WebCore::CDMInstanceSessionClearKey::removeSessionData): Use renamed methods. * platform/graphics/gstreamer/eme/CDMThunder.h: * platform/graphics/gstreamer/eme/CDMThunder.cpp: (WebCore::CDMInstanceSessionThunder::status const): (WebCore::CDMInstanceSessionThunder::keyUpdatedCallback): (WebCore::CDMInstanceSessionThunder::requestLicense): (WebCore::CDMInstanceSessionThunder::updateLicense): (WebCore::CDMInstanceSessionThunder::removeSessionData): (WebCore::CDMInstanceSessionThunder::loadSession): Use BoxPtr in the session. (WebCore::CDMInstanceSessionThunder::closeSession): Close the current session, release the BoxPtr, notify the instance and therefore the proxy to unref all they key IDs in this session and empty the local key store. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/encryptedmedia/CDMProxy.cpp trunk/Source/WebCore/platform/encryptedmedia/CDMProxy.h trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.h Diff Modified: trunk/Source/WebCore/ChangeLog (279362 => 279363) --- trunk/Source/WebCore/ChangeLog 2021-06-29 04:05:14 UTC (rev 279362) +++ trunk/Source/WebCore/ChangeLog 2021-06-29 06:11:52 UTC (rev 279363) @@ -1,3 +1,76 @@ +2021-06-28 Xabier Rodriguez Calvar + +[GStreamer][EME] Fix resources release when a MediaKeySession is closed +https://bugs.webkit.org/show_bug.cgi?id=227403 + +Reviewed by Philippe Normand. + +Thunder sessions should be a BoxPtr, already when stored at the +CDMInstanceSessionThunder, it does not make sense to store then in +a unique_ptr. This way the same session lives in the +MediaKeySession wrapper (CDMInstanceSessionThunder) and inside the +KeyStores. + +Removed the CDMInstanceProxy key store. It is not needed. + +When a session is closed in Thunder, there should be a cascade to +remove it from the other synced stores, that's why we introduce +the removeAllKeysFrom logic. + +Regular key stores do not manage key session references +anymore. They
[webkit-changes] [279362] trunk/Source/JavaScriptCore
Title: [279362] trunk/Source/_javascript_Core Revision 279362 Author commit-qu...@webkit.org Date 2021-06-28 21:05:14 -0700 (Mon, 28 Jun 2021) Log Message Add a new pattern to instruction selector to use BIC supported by ARM64 https://bugs.webkit.org/show_bug.cgi?id=227202 Patch by Yijia Huang on 2021-06-28 Reviewed by Filip Pizlo. This patch includes three modifications: 1. Add bit clear (BIC), or not (ORN), and extract and insert bitfield at lower end (FBXIL) to Air opcode to serve intruciton selector. 2. Add bitfield clear (BFC) to MacroAssembler. 4. Do refactoring - rename Air opcodes added in the previous patches. -- ### Part A BIC ### -- Given the operation: bic Rd, Rn, Rm The BIC (Bit Clear) instruction performs an AND operation on the bits in Rn with the complements of the corresponding bits in the value of Rm. The instruction selector can utilize this to lowering certain patterns in B3 IR before further Air optimization. The equivalent patterns of this instruction are: Pattern 1: d = n & (-m - 1) Pattern 2: d = n & (m ^ -1) In order to get benefits for complement operation, current instruction selector uses mvn instruction to lower the pattern value ^ -1. Then, a new strength reduction rule is introduced: Turn this: -value - 1 Into this: value ^ -1 So, d = n & (m ^ -1) is selected as the canonical form. Given B3 IR: Int @0 = ArgumentReg(%x0) Int @1 = ArgumentReg(%x1) Int @2 = -1 Int @3 = BitXor(@1, @2) Int @4 = BitAnd(@0, @3) Void@5 = Return(@4, Terminal) Before Adding BIC: // Old optimized AIR Not %x1, %x1, @3 And %x0, %x1, %x0, @4 Ret %x0, @5 After Adding BIC: // New optimized AIR Bic %x0, %x1, %x0, @4 Ret %x0, @5 -- ### Part A ORN ### -- Given the operation: orn Rd, Rn, Rm Bitwise OR NOT (shifted register) performs a bitwise (inclusive) OR of a register value Rn and the complement of an optionally-shifted register value Rm, and writes the result to the destination register Rd. The equivalent patterns of this instruction are: Pattern 1: d = n | (-m - 1) Pattern 2: d = n | (m ^ -1) Then, d = n | (m ^ -1) is selected as the canonical form. Given B3 IR: Int @0 = ArgumentReg(%x0) Int @1 = ArgumentReg(%x1) Int @2 = -1 Int @3 = BitXor(@1, @2) Int @4 = BitOr(@0, @3) Void@5 = Return(@4, Terminal) Before Adding BIC: // Old optimized AIR Not %x1, %x1, @3 Or %x0, %x1, %x0, @4 Ret %x0, @5 After Adding BIC: // New optimized AIR Orn %x0, %x1, %x0, @4 Ret %x0, @5 ### Part A FBXIL ### Given the operation: bfxil Rd, Rn, lsb, width Bitfield extract and insert at low end(FBXIL) copies any number of low-order bits from a source register into the same number of adjacent bits at the low end in the destination register, leaving other bits unchanged. The equivalent patterns of this instruction are: Pattern 1: mask1 = (1 << width) - 1 mask2 = ~mask1 ((n >> lsb) & mask1) | (d & mask2) Pattern 2: mask1 = ((1 << width) - 1) << lsb mask2 = ~(mask1 >> lsb) ((n & mask1) >> lsb) | (d & mask2) Then, introduce a strength reduction rule for easier recognization. Turn this: (v & maskShift) >> shiftAmount Into this: (v >> shiftAmount) & mask with constraints: 1. maskShift = mask << lsb 2. mask = (1 << width) - 1 3. 0 <= shiftAmount < datasize 4. 0 < width < datasize 5. shiftAmount + width <= datasize The canonical form to match FBXIL is d = ((n >> lsb) & mask1) | (d & mask2). Given B3 IR: Int @0 = ArgumentReg(%x0) Int @1 = ArgumentReg(%x1) Int @2 = lsb Int @3 = mask1 Int @4 = mask2 Int @5 = BitAnd(@1, @3) Int @6 = BitAnd(@0, @4)) Int @7 = ZShr(@5, @2) Int @8 = BitOr(@7, @6) Void@9 = Return(@8, Terminal) Before Adding BIC: // Old optimized AIR And mask2, %x0, %x0, @6 ExtractUnsignedBitfield%x1, lsb, width, %x1, @7 Or %x0, %x1, %x0, @8 Ret%x0, @9 After Adding BIC: // New optimized AIR ExtractInsertBitfieldAtLowEnd %x1, lsb, width, %x0, @8 Ret64 %x0, @9 -- ### Part B ### -- The Bitfield Clear (BFC), leaving other bits unchanged, is similar to BFI which is an alias of BFM. Given the operation: bfc Rd, lsb, width The equivalent pattern of this instruction is: mask = ((1 << width) - 1) << lsb d = d & ~mask Since mask is a constant and B3 performs constant fold in the optimization phase, this pattern will directly lower to the BitAnd binary operation. So, no need to match this pattern. -- ### Part C ### -- At MacroAssembler level, the emitters are exepected to be expressed in english (e.g. something like clearBitField for BFC). Do refactoring to rename Air opcode for UBFX, UBFIZ, BFI, and BIC. * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::bfc): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemb
[webkit-changes] [279361] trunk
Title: [279361] trunk Revision 279361 Author wenson_hs...@apple.com Date 2021-06-28 20:11:28 -0700 (Mon, 28 Jun 2021) Log Message REGRESSION (r279310): Occasional crash when focusing login fields on iPad with a software keyboard https://bugs.webkit.org/show_bug.cgi?id=227472 rdar://79876040 Reviewed by Tim Horton. Source/WebKit: I added a mechanism in r279310 to defer calling `-[WKContentView _setSuppressSoftwareKeyboard:NO]` until we've gotten a response from the web process containing an up-to-date autocorrection context. However, in the case where the WKWebView client sets `_suppressSoftwareKeyboard` to `YES` and then immediately to `NO` underneath the scope of a call to `-_webView:willStartInputSession:`, we'll end up calling into `-_setSuppressSoftwareKeyboard:` inside the scope of `-requestAutocorrectionContextWithCompletionHandler:`, when we've received an autocorrection context while sync-waiting. This is problematic because it breaks UIKeyboardTaskQueue's state, since the call to `-_setSuppressSoftwareKeyboard:` will attempt to enqueue a new task after the previous task's context has already returned execution to the parent. To fix this, we instead invoke `self._suppressSoftwareKeyboard = NO;` *before* calling the completion block in `-_handleAutocorrectionContext:`. This allows the request for an autocorrection context underneath `-_setSuppressSoftwareKeyboard:` to be handled (and completed) as a child task of the previous task, which keeps UIKeyboardTaskQueue in a valid state. Test: fast/forms/ios/suppress-software-keyboard-while-focusing-input.html * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _handleAutocorrectionContext:]): Tools: Make it possible to induce the crash (prior to the fix) by introducing two new testing primitives on iOS: - `UIScriptController.suppressSoftwareKeyboard`, a readwrite attribute that can be used to suppress the appearance of the software keyboard on iOS by calling `-[WKWebView _setSuppressSoftwareKeyboard:]`. - `UIScriptController.willStartInputSessionCallback`, a callback that is invoked when we're about to start a UI-process-side input session. On iOS, this corresponds to `-[_WKInputDelegate _webView:willStartInputSession:`]. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptContext.h: * TestRunnerShared/UIScriptContext/UIScriptController.h: (WTR::UIScriptController::suppressSoftwareKeyboard const): (WTR::UIScriptController::setSuppressSoftwareKeyboard): * TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp: (WTR::UIScriptController::setWillStartInputSessionCallback): (WTR::UIScriptController::willStartInputSessionCallback const): * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView initWithFrame:configuration:]): (-[TestRunnerWKWebView resetInteractionCallbacks]): (-[TestRunnerWKWebView _webView:willStartInputSession:]): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): Make sure that we revert `_suppressSoftwareKeyboard` to `NO`, in case a layout test ends while leaving this on, to prevent subsequent layout tests from behaving in unexpected ways. * WebKitTestRunner/ios/UIScriptControllerIOS.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptControllerIOS::setWillStartInputSessionCallback): (WTR::UIScriptControllerIOS::suppressSoftwareKeyboard const): (WTR::UIScriptControllerIOS::setSuppressSoftwareKeyboard): LayoutTests: Add a new layout test to exercise the crash. See Tools and Source/WebKit ChangeLogs for more information. This new test suppresses and then immediately un-suppresses the software keyboard inside the `-_webView:willStartInputSession:` input delegate hook while focusing a regular text field. * fast/forms/ios/suppress-software-keyboard-while-focusing-input-expected.txt: Added. * fast/forms/ios/suppress-software-keyboard-while-focusing-input.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Tools/ChangeLog trunk/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptContext.h trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp trunk/Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.h trunk/Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm Added Paths trunk/LayoutTests/fast/forms/ios/suppress-software-keyboard-while-focusing-input-expected.txt trunk/LayoutTests/fast/forms/ios/suppress-software-keyboard-while-focusing-input.html Diff Modified: trunk/LayoutTe
[webkit-changes] [279360] trunk/LayoutTests
Title: [279360] trunk/LayoutTests Revision 279360 Author commit-qu...@webkit.org Date 2021-06-28 18:44:30 -0700 (Mon, 28 Jun 2021) Log Message [GLIB] Mark media/track/video/video-track-mkv-{vorbis,theora}-language.html as passing https://bugs.webkit.org/show_bug.cgi?id=227458 Unreviewed test gardening. These tests were fixed by r278860. Patch by Arcady Goldmints-Orlov on 2021-06-28 * platform/glib/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/glib/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (279359 => 279360) --- trunk/LayoutTests/ChangeLog 2021-06-29 01:35:50 UTC (rev 279359) +++ trunk/LayoutTests/ChangeLog 2021-06-29 01:44:30 UTC (rev 279360) @@ -1,3 +1,12 @@ +2021-06-28 Arcady Goldmints-Orlov + +[GLIB] Mark media/track/video/video-track-mkv-{vorbis,theora}-language.html as passing +https://bugs.webkit.org/show_bug.cgi?id=227458 + +Unreviewed test gardening. These tests were fixed by r278860. + +* platform/glib/TestExpectations: + 2021-06-28 Darin Adler CSS parser "consume declaration" algorithm does not handle whitespace correctly Modified: trunk/LayoutTests/platform/glib/TestExpectations (279359 => 279360) --- trunk/LayoutTests/platform/glib/TestExpectations 2021-06-29 01:35:50 UTC (rev 279359) +++ trunk/LayoutTests/platform/glib/TestExpectations 2021-06-29 01:44:30 UTC (rev 279360) @@ -2204,9 +2204,7 @@ webkit.org/b/133865 media/W3C/video/networkState/networkState_during_progress.html [ Failure ] -webkit.org/b/134576 media/track/audio/audio-track-mkv-vorbis-language.html [ Failure ] webkit.org/b/134576 media/track/video/video-track-mkv-theora-selected.html [ Timeout ] -webkit.org/b/134576 media/track/video/video-track-mkv-theora-language.html [ Failure ] webkit.org/b/143478 media/video-page-load-preload-none.html [ Failure ] webkit.org/b/145051 webkit.org/b/198830 [ Release ] media/video-rtl.html [ ImageOnlyFailure Pass Crash ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279359] branches/safari-612.1.21-branch/Source/WebKit
Title: [279359] branches/safari-612.1.21-branch/Source/WebKit Revision 279359 Author alanc...@apple.com Date 2021-06-28 18:35:50 -0700 (Mon, 28 Jun 2021) Log Message Cherry-pick r279352. rdar://problem/79891891 REGRESSION (r279305) [Mac DEBUG] 4 SOAuthorizationRedirect Tests are Crashing with Assert: !m_sheetWindow https://bugs.webkit.org/show_bug.cgi?id=227454 Reviewed by Kate Cheney. The new assertion is wrong in the case that the app is hidden. When minimized (or hidden) we need to remember to dismiss the sheet once Cocoa restores the app to visible state. So the m_sheetWindow may still exist after returning from 'dismissViewController'. We should assert that either m_sheetWindow is nullptr, or that both m_sheetWindow and m_sheetWindowWillCloseObserver exist. * UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm: (WebKit::SOAuthorizationSession::becomeCompleted): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279352 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-612.1.21-branch/Source/WebKit/ChangeLog branches/safari-612.1.21-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm Diff Modified: branches/safari-612.1.21-branch/Source/WebKit/ChangeLog (279358 => 279359) --- branches/safari-612.1.21-branch/Source/WebKit/ChangeLog 2021-06-29 01:34:20 UTC (rev 279358) +++ branches/safari-612.1.21-branch/Source/WebKit/ChangeLog 2021-06-29 01:35:50 UTC (rev 279359) @@ -1,3 +1,40 @@ +2021-06-28 Kocsen Chung + +Cherry-pick r279352. rdar://problem/79891891 + +REGRESSION (r279305) [Mac DEBUG] 4 SOAuthorizationRedirect Tests are Crashing with Assert: !m_sheetWindow +https://bugs.webkit.org/show_bug.cgi?id=227454 + + +Reviewed by Kate Cheney. + +The new assertion is wrong in the case that the app is hidden. When minimized (or hidden) we need to remember +to dismiss the sheet once Cocoa restores the app to visible state. So the m_sheetWindow may still exist after +returning from 'dismissViewController'. We should assert that either m_sheetWindow is nullptr, or that both +m_sheetWindow and m_sheetWindowWillCloseObserver exist. + +* UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm: +(WebKit::SOAuthorizationSession::becomeCompleted): + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279352 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2021-06-28 Brent Fulgham + +REGRESSION (r279305) [Mac DEBUG] 4 SOAuthorizationRedirect Tests are Crashing with Assert: !m_sheetWindow +https://bugs.webkit.org/show_bug.cgi?id=227454 + + +Reviewed by Kate Cheney. + +The new assertion is wrong in the case that the app is hidden. When minimized (or hidden) we need to remember +to dismiss the sheet once Cocoa restores the app to visible state. So the m_sheetWindow may still exist after +returning from 'dismissViewController'. We should assert that either m_sheetWindow is nullptr, or that both +m_sheetWindow and m_sheetWindowWillCloseObserver exist. + +* UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm: +(WebKit::SOAuthorizationSession::becomeCompleted): + 2021-06-28 Jean-Yves Avenard Not all uses of AudioToolbox framework use soft linking Modified: branches/safari-612.1.21-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm (279358 => 279359) --- branches/safari-612.1.21-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm 2021-06-29 01:34:20 UTC (rev 279358) +++ branches/safari-612.1.21-branch/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm 2021-06-29 01:35:50 UTC (rev 279359) @@ -150,7 +150,7 @@ m_state = State::Completed; dismissViewController(); #if PLATFORM(MAC) -ASSERT(!m_sheetWindow); +ASSERT(!m_sheetWindow || (m_sheetWindow && m_sheetWindowWillCloseObserver)); #endif } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279358] trunk
Title: [279358] trunk Revision 279358 Author da...@apple.com Date 2021-06-28 18:34:20 -0700 (Mon, 28 Jun 2021) Log Message CSS parser "consume declaration" algorithm does not handle whitespace correctly https://bugs.webkit.org/show_bug.cgi?id=227368 Reviewed by Sam Weinig. LayoutTests/imported/w3c: * web-platform-tests/css/css-properties-values-api/at-property-animation-expected.txt: * web-platform-tests/css/css-properties-values-api/at-property-expected.txt: * web-platform-tests/css/css-properties-values-api/at-property-shadow-expected.txt: * web-platform-tests/css/css-properties-values-api/determine-registration-expected.txt: * web-platform-tests/css/css-properties-values-api/registered-property-cssom-expected.txt: * web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-expected.txt: Regenerated to reflect the whitespace trimming: one new pass, no new failures. Some of these tests will also need updates to match the newer CSS specification. Not doing those here right now. * web-platform-tests/css/css-properties-values-api/at-property.html: Pulled down a newer version of this test from the WPT repository with expectations in line with newer CSS specification. * web-platform-tests/css/css-syntax/declarations-trim-whitespace-expected.txt: * web-platform-tests/css/css-variables/variable-cssText-expected.txt: Expect most tests to pass instead of fail. There are still some failures. Given my reading of the CSS specification I suspect it is the tests that are incorrect. * web-platform-tests/css/css-variables/variable-definition-expected.txt: * web-platform-tests/css/css-variables/variable-definition.html: Pulled down a newer version of this test from the WPT repository with expectations in line with newer CSS specification. Some tests are still failing because of expectations about trailing whitespace. Given my reading of the CSS specification I suspect it is the tests that are incorrect. * web-platform-tests/css/css-variables/variable-reference-expected.txt: * web-platform-tests/css/css-variables/variable-reference.html: * web-platform-tests/css/css-variables/variable-substitution-variable-declaration-expected.txt: * web-platform-tests/css/css-variables/variable-substitution-variable-declaration.html: Pulled down a newer version of these tests from the WPT repository with expectations in line with newer CSS specification. * web-platform-tests/css/cssom/variable-names-expected.txt: Expect tests to pass, not fail. Source/WebCore: Test: imported/w3c/web-platform-tests/css/css-syntax/declarations-trim-whitespace.html To avoid creating regressions in CSS variable behavior, had to make changes there to handle whitespace correctly at the same time as the change to the "consume declaration" algorithm. * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::customPropertyValue): Restructured to not have a case for each variant custom value type. This lets us support the new Empty value type without extra code here. * css/CSSCustomPropertyValue.cpp: (WebCore::CSSCustomPropertyValue::createEmpty): Added. Used for a new Empty value type for properties that have empty string as their value, which is a new capability added to the CSS specification. (WebCore::CSSCustomPropertyValue::equals const): Removed unneeded pointer comparison optimization. Added support for Empty value. (WebCore::CSSCustomPropertyValue::customCSSText const): Updated to use null string for m_stringValue instead of a separate m_serialized flag. Added support for Empty value. (WebCore::CSSCustomPropertyValue::tokens const): Added support for Empty value. Also call directly to customCSSText instead of calling through cssText. * css/CSSCustomPropertyValue.h: Updated for the above, adding Empty value. Removed m_serialized. Greatly simplified the copy constructor since Ref now has a copy constructor. * css/CSSVariableReferenceValue.cpp: (WebCore::resolveVariableFallback): Consume whitespace after the comma, matching what is now called for in the CSS specification. * css/calc/CSSCalcExpressionNodeParser.cpp: (WebCore::CSSCalcExpressionNodeParser::parseCalcFunction): Use consumeCommaIncludingWhitespace to simplify the code. No behavior change, just refactoring. * css/parser/CSSParserImpl.cpp: (WebCore::CSSParserImpl::consumeDeclaration): Updated algorithm to match the CSS specification, trimming whitespace correctly. (WebCore::CSSParserImpl::consumeCustomPropertyValue): Added support for a custom property value with no declaration value, as now called for in the CSS specification, using CSSCustomPropertyValue::createEmpty. * css/parser/CSSVariableParser.cpp: (WebCore::isValidVariableReference): Allow empty fallback, as now called for in the CSS specification. (WebCore::isValidConstantReference): Ditto. LayoutTests: * css-custom-properties-api/inline.html: Update expectations to expect leading whitespace to be trimmed. * fast/css/variables/test-suite/011.html: Updated to expect a var
[webkit-changes] [279357] branches/safari-612.1.21-branch/
Title: [279357] branches/safari-612.1.21-branch/ Revision 279357 Author alanc...@apple.com Date 2021-06-28 18:29:33 -0700 (Mon, 28 Jun 2021) Log Message New branch. Added Paths branches/safari-612.1.21-branch/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279356] trunk/LayoutTests
Title: [279356] trunk/LayoutTests Revision 279356 Author hey...@apple.com Date 2021-06-28 18:10:34 -0700 (Mon, 28 Jun 2021) Log Message Fix canvas color stroke test stroke widths https://bugs.webkit.org/show_bug.cgi?id=223005 Reviewed by Simon Fraser. The lineWidth should be the same in both test and reference. * fast/text/canvas-color-fonts/stroke-color-COLR.html: * fast/text/canvas-color-fonts/stroke-color-shadow-COLR.html: * http/tests/canvas/color-fonts/stroke-color-sbix.html: * http/tests/canvas/color-fonts/stroke-color-shadow-sbix.html: * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/text/canvas-color-fonts/stroke-color-COLR.html trunk/LayoutTests/fast/text/canvas-color-fonts/stroke-color-shadow-COLR.html trunk/LayoutTests/http/tests/canvas/color-fonts/stroke-color-sbix.html trunk/LayoutTests/http/tests/canvas/color-fonts/stroke-color-shadow-sbix.html trunk/LayoutTests/platform/mac/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (279355 => 279356) --- trunk/LayoutTests/ChangeLog 2021-06-29 00:39:15 UTC (rev 279355) +++ trunk/LayoutTests/ChangeLog 2021-06-29 01:10:34 UTC (rev 279356) @@ -1,3 +1,19 @@ +2021-06-28 Cameron McCormack + +Fix canvas color stroke test stroke widths +https://bugs.webkit.org/show_bug.cgi?id=223005 + + +Reviewed by Simon Fraser. + +The lineWidth should be the same in both test and reference. + +* fast/text/canvas-color-fonts/stroke-color-COLR.html: +* fast/text/canvas-color-fonts/stroke-color-shadow-COLR.html: +* http/tests/canvas/color-fonts/stroke-color-sbix.html: +* http/tests/canvas/color-fonts/stroke-color-shadow-sbix.html: +* platform/mac/TestExpectations: + 2021-06-28 Wenson Hsieh Live Text selections inside images is misaligned when "object-fit" is not "fill" Modified: trunk/LayoutTests/fast/text/canvas-color-fonts/stroke-color-COLR.html (279355 => 279356) --- trunk/LayoutTests/fast/text/canvas-color-fonts/stroke-color-COLR.html 2021-06-29 00:39:15 UTC (rev 279355) +++ trunk/LayoutTests/fast/text/canvas-color-fonts/stroke-color-COLR.html 2021-06-29 01:10:34 UTC (rev 279356) @@ -21,6 +21,7 @@ let context = canvas.getContext("2d"); context.font = font; context.strokeStyle = "green"; +context.lineWidth = 2; context.strokeText("BAB", 100, 100); if (window.testRunner) testRunner.notifyDone(); Modified: trunk/LayoutTests/fast/text/canvas-color-fonts/stroke-color-shadow-COLR.html (279355 => 279356) --- trunk/LayoutTests/fast/text/canvas-color-fonts/stroke-color-shadow-COLR.html 2021-06-29 00:39:15 UTC (rev 279355) +++ trunk/LayoutTests/fast/text/canvas-color-fonts/stroke-color-shadow-COLR.html 2021-06-29 01:10:34 UTC (rev 279356) @@ -20,6 +20,7 @@ let canvas = document.getElementById("canvas"); let context = canvas.getContext("2d"); context.font = font; +context.lineWidth = 2; context.strokeStyle = "white"; context.shadowColor = "green"; context.shadowOffsetX = 100; Modified: trunk/LayoutTests/http/tests/canvas/color-fonts/stroke-color-sbix.html (279355 => 279356) --- trunk/LayoutTests/http/tests/canvas/color-fonts/stroke-color-sbix.html 2021-06-29 00:39:15 UTC (rev 279355) +++ trunk/LayoutTests/http/tests/canvas/color-fonts/stroke-color-sbix.html 2021-06-29 01:10:34 UTC (rev 279356) @@ -20,6 +20,7 @@ let canvas = document.getElementById("canvas"); let context = canvas.getContext("2d"); context.font = font; +context.lineWidth = 2; context.strokeStyle = "green"; context.strokeText("A\u7EB5B", 100, 100); if (window.testRunner) Modified: trunk/LayoutTests/http/tests/canvas/color-fonts/stroke-color-shadow-sbix.html (279355 => 279356) --- trunk/LayoutTests/http/tests/canvas/color-fonts/stroke-color-shadow-sbix.html 2021-06-29 00:39:15 UTC (rev 279355) +++ trunk/LayoutTests/http/tests/canvas/color-fonts/stroke-color-shadow-sbix.html 2021-06-29 01:10:34 UTC (rev 279356) @@ -19,6 +19,7 @@ document.fonts.load(font).then(function() { let canvas = document.getElementById("canvas"); let context = canvas.getContext("2d"); +context.lineWidth = 2; context.font = font; context.strokeStyle = "white"; context.shadowColor = "green"; Modified: trunk/LayoutTests/platform/mac/TestExpectations (279355 => 279356) --- trunk/LayoutTests/platform/mac/TestExpectations 2021-06-29 00:39:15 UTC (rev 279355) +++ trunk/LayoutTests/platform/mac/TestExpectations 2021-06-29 01:10:34 UTC (rev 279356) @@ -2110,11 +2110,6 @@ # Mojave doesn't support COLR fonts. webkit.org/b/218346 [ Mojave ] fast/text/canvas-color-fonts [ Skip ] -webkit.org/b/223005 [ BigSur+ arm64 ] fast/text/canvas-color-fonts/stroke-color-COLR.html [ ImageOnlyFailure ] -webkit.org/b/223005 [ BigSur+ arm64 ] fast/text/canvas-color-fonts/stroke-color-shadow-COLR.html [ ImageOnlyFailure ] -webkit.org/b/223005 [ BigSu
[webkit-changes] [279355] trunk/Source
Title: [279355] trunk/Source Revision 279355 Author commit-qu...@webkit.org Date 2021-06-28 17:39:15 -0700 (Mon, 28 Jun 2021) Log Message Refactor MacOS keyboard scrolling and use KeyboardScroll struct https://bugs.webkit.org/show_bug.cgi?id=226986 Patch by Dana Estra on 2021-06-28 Reviewed by Tim Horton. Source/WebCore: No tests yet. * page/EventHandler.cpp: (WebCore::EventHandler::defaultSpaceEventHandler): Added usage of switch EventDrivenSmoothKeyboardScrolling that when enabled sends KeyboardEvent to HandleKeyboardScrolling. (WebCore::EventHandler::scrollDistance): (WebCore::EventHandler::handleKeyboardScrolling): Makes KeyboardScroll and calls scrollRecursively. (WebCore::EventHandler::defaultArrowEventHandler): Added usage of switch EventDrivenSmoothKeyboardScrolling that when enabled sends KeyboardEvent to HandleKeyboardScrolling. * page/EventHandler.h: * page/KeyboardScroll.cpp: Added. * page/KeyboardScroll.h: Added. Source/WebKit: In addition to notes underneath, changed usage of WebKit::KeyboardScroll, WebKit::ScrollingIncrement, and WebKit::ScrollingDirection to WebCore::KeyboardScroll, WebCore::ScrollGranularity, and WebCore::ScrollDirection, respectively. * UIProcess/ios/WKKeyboardScrollingAnimator.h: * UIProcess/ios/WKKeyboardScrollingAnimator.mm: (-[WKKeyboardScrollingAnimator parameters]): Deleted. Now lives in WebCore/KeyboardScroll.h. (unitVector): Deleted. Now lives in WebCore/KeyboardScroll.h. (perpendicularAbsoluteUnitVector): (boxSide): (-[WKKeyboardScrollingAnimator keyboardScrollForEvent:]): (-[WKKeyboardScrollingAnimator beginWithEvent:]): (farthestPointInDirection): (-[WKKeyboardScrollViewAnimator distanceForIncrement:inDirection:]): * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::handleEditingKeyboardEvent): (WebKit::WebPage::performNonEditingBehaviorForSelector): Added switch that removes selectors that are now handled by EventHandler when EventHandlerDrivenSmoothKeyboardScrolling is enabled. Modified Paths trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Headers.cmake trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/page/EventHandler.cpp trunk/Source/WebCore/page/EventHandler.h trunk/Source/WebCore/page/scrolling/ScrollLatchingController.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Source/WebKit/UIProcess/ios/WKKeyboardScrollingAnimator.h trunk/Source/WebKit/UIProcess/ios/WKKeyboardScrollingAnimator.mm trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm Added Paths trunk/Source/WebCore/page/KeyboardScroll.cpp trunk/Source/WebCore/page/KeyboardScroll.h Diff Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml (279354 => 279355) --- trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml 2021-06-29 00:24:54 UTC (rev 279354) +++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml 2021-06-29 00:39:15 UTC (rev 279355) @@ -220,6 +220,18 @@ WebCore: default: false +EventHandlerDrivenSmoothKeyboardScrollingEnabled: + type: bool + humanReadableName: "EventHandler driven smooth keyboard scrolling" + humanReadableDescription: "Enable EventHandler driven smooth keyboard scrolling" + defaultValue: + WebKitLegacy: + default: false + WebKit: + default: false + WebCore: + default: false + # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely. ExperimentalPlugInSandboxProfilesEnabled: type: bool Modified: trunk/Source/WebCore/ChangeLog (279354 => 279355) --- trunk/Source/WebCore/ChangeLog 2021-06-29 00:24:54 UTC (rev 279354) +++ trunk/Source/WebCore/ChangeLog 2021-06-29 00:39:15 UTC (rev 279355) @@ -1,3 +1,34 @@ +2021-06-28 Dana Estra + +Refactor MacOS keyboard scrolling and use KeyboardScroll struct +https://bugs.webkit.org/show_bug.cgi?id=226986 + +Reviewed by Tim Horton. + +No tests yet. + +* page/EventHandler.cpp: +(WebCore::EventHandler::defaultSpaceEventHandler): + +Added usage of switch EventDrivenSmoothKeyboardScrolling +that when enabled sends KeyboardEvent to +HandleKeyboardScrolling. + +(WebCore::EventHandler::scrollDistance): +(WebCore::EventHandler::handleKeyboardScrolling): + +Makes KeyboardScroll and calls scrollRecursively. + +(WebCore::EventHandler::defaultArrowEventHandler): + +Added usage of switch EventDrivenSmoothKeyboardScrolling +that when enabled sends KeyboardEvent to +HandleKeyboardScrolling. + +* page/EventHandler.h: +* page/KeyboardScroll.cpp: Added. +* page/KeyboardScroll.h: Added. + 2021-06-28 Wenson Hsieh Live Text selections inside images is misaligned when "object-fit" is not "fill" Modified: tr
[webkit-changes] [279354] trunk/Source/WebKit
Title: [279354] trunk/Source/WebKit Revision 279354 Author cdu...@apple.com Date 2021-06-28 17:24:54 -0700 (Mon, 28 Jun 2021) Log Message NetworkProcessProxy::networkProcessDidTerminate() should copy process pools before iterating over them https://bugs.webkit.org/show_bug.cgi?id=227468 Reviewed by Alex Christensen. * UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::networkProcessDidTerminate): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/API/APIURLRequest.cpp trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm trunk/Source/WebKit/UIProcess/Cocoa/PreferenceObserver.mm trunk/Source/WebKit/UIProcess/Cocoa/WKFullKeyboardAccessWatcher.mm trunk/Source/WebKit/UIProcess/Cocoa/WebInspectorPreferenceObserver.mm trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm trunk/Source/WebKit/UIProcess/LegacyGlobalSettings.cpp trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp trunk/Source/WebKit/UIProcess/Plugins/PluginProcessProxy.cpp trunk/Source/WebKit/UIProcess/WebMemoryPressureHandler.cpp trunk/Source/WebKit/UIProcess/WebPageProxy.cpp trunk/Source/WebKit/UIProcess/WebProcessPool.cpp trunk/Source/WebKit/UIProcess/WebProcessPool.h trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp trunk/Source/WebKit/UIProcess/gtk/WebTextChecker.cpp trunk/Source/WebKit/UIProcess/linux/MemoryPressureMonitor.cpp trunk/Source/WebKit/UIProcess/mac/WindowServerConnection.mm Diff Modified: trunk/Source/WebKit/ChangeLog (279353 => 279354) --- trunk/Source/WebKit/ChangeLog 2021-06-29 00:21:51 UTC (rev 279353) +++ trunk/Source/WebKit/ChangeLog 2021-06-29 00:24:54 UTC (rev 279354) @@ -1,3 +1,13 @@ +2021-06-28 Chris Dumez + +NetworkProcessProxy::networkProcessDidTerminate() should copy process pools before iterating over them +https://bugs.webkit.org/show_bug.cgi?id=227468 + +Reviewed by Alex Christensen. + +* UIProcess/Network/NetworkProcessProxy.cpp: +(WebKit::NetworkProcessProxy::networkProcessDidTerminate): + 2021-06-28 Sihui Liu Nullptr crash in ResourceLoadStatisticsDatabaseStore::allAttributedPrivateClickMeasurement Modified: trunk/Source/WebKit/Shared/API/APIURLRequest.cpp (279353 => 279354) --- trunk/Source/WebKit/Shared/API/APIURLRequest.cpp 2021-06-29 00:21:51 UTC (rev 279353) +++ trunk/Source/WebKit/Shared/API/APIURLRequest.cpp 2021-06-29 00:24:54 UTC (rev 279354) @@ -48,7 +48,7 @@ { ResourceRequest::setDefaultTimeoutInterval(timeoutInterval); -for (auto* processPool : WebProcessPool::allProcessPools()) +for (auto& processPool : WebProcessPool::allProcessPools()) processPool->setDefaultRequestTimeoutInterval(timeoutInterval); } Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm (279353 => 279354) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm 2021-06-29 00:21:51 UTC (rev 279353) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm 2021-06-29 00:24:54 UTC (rev 279354) @@ -176,7 +176,7 @@ + (NSArray *)_allProcessPoolsForTesting { return createNSArray(WebKit::WebProcessPool::allProcessPools(), [] (auto& pool) { -return wrapper(*pool); +return wrapper(pool.get()); }).autorelease(); } Modified: trunk/Source/WebKit/UIProcess/Cocoa/PreferenceObserver.mm (279353 => 279354) --- trunk/Source/WebKit/UIProcess/Cocoa/PreferenceObserver.mm 2021-06-29 00:21:51 UTC (rev 279353) +++ trunk/Source/WebKit/UIProcess/Cocoa/PreferenceObserver.mm 2021-06-29 00:24:54 UTC (rev 279354) @@ -180,7 +180,7 @@ if (encodedValue) encodedString = String(encodedValue.get()); -for (auto* processPool : WebKit::WebProcessPool::allProcessPools()) +for (auto& processPool : WebKit::WebProcessPool::allProcessPools()) processPool->notifyPreferencesChanged(domain.get(), key.get(), encodedString); }); #endif Modified: trunk/Source/WebKit/UIProcess/Cocoa/WKFullKeyboardAccessWatcher.mm (279353 => 279354) --- trunk/Source/WebKit/UIProcess/Cocoa/WKFullKeyboardAccessWatcher.mm 2021-06-29 00:21:51 UTC (rev 279353) +++ trunk/Source/WebKit/UIProcess/Cocoa/WKFullKeyboardAccessWatcher.mm 2021-06-29 00:24:54 UTC (rev 279354) @@ -64,7 +64,7 @@ - (void)notifyAllProcessPools { -for (auto* processPool : WebKit::WebProcessPool::allProcessPools()) +for (auto& processPool : WebKit::WebProcessPool::allProcessPools()) processPool->fullKeyboardAccessModeChanged(fullKeyboardAccessEnabled); } Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebInspectorPreferenceObserver.mm (279353 => 279354) --- trunk/Source/WebKit/UIProcess/Cocoa/WebInspectorPreferenceObserver.mm 2021-06-29 00:21:51 UTC (rev 279353) +++ trunk/Source/WebKit/UIProcess/Cocoa/WebInspectorPreferenceObserver.mm 2021-06-29 00:24:54 UTC (rev 279354) @@ -64,7 +64,7 @@ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
[webkit-changes] [279353] trunk/Source/WebKit
Title: [279353] trunk/Source/WebKit Revision 279353 Author sihui_...@apple.com Date 2021-06-28 17:21:51 -0700 (Mon, 28 Jun 2021) Log Message Nullptr crash in ResourceLoadStatisticsDatabaseStore::allAttributedPrivateClickMeasurement https://bugs.webkit.org/show_bug.cgi?id=227462 rdar://50772934 Reviewed by Chris Dumez. Return early if statement cannot be created. * NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp: (WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationshipList): (WebKit::ResourceLoadStatisticsDatabaseStore::allAttributedPrivateClickMeasurement): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (279352 => 279353) --- trunk/Source/WebKit/ChangeLog 2021-06-28 23:56:54 UTC (rev 279352) +++ trunk/Source/WebKit/ChangeLog 2021-06-29 00:21:51 UTC (rev 279353) @@ -1,3 +1,17 @@ +2021-06-28 Sihui Liu + +Nullptr crash in ResourceLoadStatisticsDatabaseStore::allAttributedPrivateClickMeasurement +https://bugs.webkit.org/show_bug.cgi?id=227462 +rdar://50772934 + +Reviewed by Chris Dumez. + +Return early if statement cannot be created. + +* NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp: +(WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationshipList): +(WebKit::ResourceLoadStatisticsDatabaseStore::allAttributedPrivateClickMeasurement): + 2021-06-28 Brent Fulgham REGRESSION (r279305) [Mac DEBUG] 4 SOAuthorizationRedirect Tests are Crashing with Assert: !m_sheetWindow Modified: trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp (279352 => 279353) --- trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp 2021-06-28 23:56:54 UTC (rev 279352) +++ trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp 2021-06-29 00:21:51 UTC (rev 279353) @@ -1057,6 +1057,7 @@ || insertRelationshipStatement->bindInt(1, domainID) != SQLITE_OK) { ITP_RELEASE_LOG_ERROR(m_sessionID, "%p - ResourceLoadStatisticsDatabaseStore::insertDomainRelationshipList failed, error message: %" PRIVATE_LOG_STRING, this, m_database.lastErrorMsg()); ASSERT_NOT_REACHED(); +return; } if (statement.contains("REPLACE")) { @@ -3504,6 +3505,7 @@ if (!attributedScopedStatement) { ITP_RELEASE_LOG_ERROR(m_sessionID, "%p - ResourceLoadStatisticsDatabaseStore::privateClickMeasurementToString, error message: %" PRIVATE_LOG_STRING, this, m_database.lastErrorMsg()); ASSERT_NOT_REACHED(); +return { }; } Vector attributions; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279352] trunk/Source/WebKit
Title: [279352] trunk/Source/WebKit Revision 279352 Author bfulg...@apple.com Date 2021-06-28 16:56:54 -0700 (Mon, 28 Jun 2021) Log Message REGRESSION (r279305) [Mac DEBUG] 4 SOAuthorizationRedirect Tests are Crashing with Assert: !m_sheetWindow https://bugs.webkit.org/show_bug.cgi?id=227454 Reviewed by Kate Cheney. The new assertion is wrong in the case that the app is hidden. When minimized (or hidden) we need to remember to dismiss the sheet once Cocoa restores the app to visible state. So the m_sheetWindow may still exist after returning from 'dismissViewController'. We should assert that either m_sheetWindow is nullptr, or that both m_sheetWindow and m_sheetWindowWillCloseObserver exist. * UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm: (WebKit::SOAuthorizationSession::becomeCompleted): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm Diff Modified: trunk/Source/WebKit/ChangeLog (279351 => 279352) --- trunk/Source/WebKit/ChangeLog 2021-06-28 23:52:26 UTC (rev 279351) +++ trunk/Source/WebKit/ChangeLog 2021-06-28 23:56:54 UTC (rev 279352) @@ -1,3 +1,19 @@ +2021-06-28 Brent Fulgham + +REGRESSION (r279305) [Mac DEBUG] 4 SOAuthorizationRedirect Tests are Crashing with Assert: !m_sheetWindow +https://bugs.webkit.org/show_bug.cgi?id=227454 + + +Reviewed by Kate Cheney. + +The new assertion is wrong in the case that the app is hidden. When minimized (or hidden) we need to remember +to dismiss the sheet once Cocoa restores the app to visible state. So the m_sheetWindow may still exist after +returning from 'dismissViewController'. We should assert that either m_sheetWindow is nullptr, or that both +m_sheetWindow and m_sheetWindowWillCloseObserver exist. + +* UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm: +(WebKit::SOAuthorizationSession::becomeCompleted): + 2021-06-28 Kate Cheney I-beam pointer is vertical for vertical text Modified: trunk/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm (279351 => 279352) --- trunk/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm 2021-06-28 23:52:26 UTC (rev 279351) +++ trunk/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm 2021-06-28 23:56:54 UTC (rev 279352) @@ -150,7 +150,7 @@ m_state = State::Completed; dismissViewController(); #if PLATFORM(MAC) -ASSERT(!m_sheetWindow); +ASSERT(!m_sheetWindow || (m_sheetWindow && m_sheetWindowWillCloseObserver)); #endif } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279351] trunk/Source/WebKit
Title: [279351] trunk/Source/WebKit Revision 279351 Author katherine_che...@apple.com Date 2021-06-28 16:52:26 -0700 (Mon, 28 Jun 2021) Log Message I-beam pointer is vertical for vertical text https://bugs.webkit.org/show_bug.cgi?id=227414 Reviewed by Tim Horton. Pass the orientation from the renderer to the WKContentView. Rename caretHeight to caretLength now that we use it to calculate the I-beam size for vertical text. * Shared/ios/InteractionInformationAtPosition.h: * Shared/ios/InteractionInformationAtPosition.mm: (WebKit::InteractionInformationAtPosition::encode const): (WebKit::InteractionInformationAtPosition::decode): * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView pointerInteraction:styleForRegion:]): * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::populateCaretContext): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/ios/InteractionInformationAtPosition.h trunk/Source/WebKit/Shared/ios/InteractionInformationAtPosition.mm trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm Diff Modified: trunk/Source/WebKit/ChangeLog (279350 => 279351) --- trunk/Source/WebKit/ChangeLog 2021-06-28 23:06:27 UTC (rev 279350) +++ trunk/Source/WebKit/ChangeLog 2021-06-28 23:52:26 UTC (rev 279351) @@ -1,3 +1,24 @@ +2021-06-28 Kate Cheney + +I-beam pointer is vertical for vertical text +https://bugs.webkit.org/show_bug.cgi?id=227414 + + +Reviewed by Tim Horton. + +Pass the orientation from the renderer to the WKContentView. Rename +caretHeight to caretLength now that we use it to calculate the I-beam +size for vertical text. + +* Shared/ios/InteractionInformationAtPosition.h: +* Shared/ios/InteractionInformationAtPosition.mm: +(WebKit::InteractionInformationAtPosition::encode const): +(WebKit::InteractionInformationAtPosition::decode): +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView pointerInteraction:styleForRegion:]): +* WebProcess/WebPage/ios/WebPageIOS.mm: +(WebKit::populateCaretContext): + 2021-06-28 Per Arne Pass correct value of AX per app settings to the WebContent process Modified: trunk/Source/WebKit/Shared/ios/InteractionInformationAtPosition.h (279350 => 279351) --- trunk/Source/WebKit/Shared/ios/InteractionInformationAtPosition.h 2021-06-28 23:06:27 UTC (rev 279350) +++ trunk/Source/WebKit/Shared/ios/InteractionInformationAtPosition.h 2021-06-28 23:52:26 UTC (rev 279351) @@ -72,6 +72,7 @@ #endif bool shouldNotUseIBeamInEditableContent { false }; bool isImageOverlayText { false }; +bool isHorizontalWritingMode { false }; WebCore::FloatPoint adjustedPointForNodeRespondingToClickEvents; URL url; URL imageURL; @@ -85,7 +86,7 @@ String textBefore; String textAfter; -float caretHeight { 0 }; +float caretLength { 0 }; WebCore::FloatRect lineCaretExtent; std::optional cursor; Modified: trunk/Source/WebKit/Shared/ios/InteractionInformationAtPosition.mm (279350 => 279351) --- trunk/Source/WebKit/Shared/ios/InteractionInformationAtPosition.mm 2021-06-28 23:06:27 UTC (rev 279350) +++ trunk/Source/WebKit/Shared/ios/InteractionInformationAtPosition.mm 2021-06-28 23:52:26 UTC (rev 279351) @@ -62,7 +62,7 @@ #endif encoder << textBefore; encoder << textAfter; -encoder << caretHeight; +encoder << caretLength; encoder << lineCaretExtent; encoder << cursor; encoder << linkIndicator; @@ -82,6 +82,7 @@ #endif encoder << shouldNotUseIBeamInEditableContent; encoder << isImageOverlayText; +encoder << isHorizontalWritingMode; encoder << elementContext; encoder << imageElementContext; } @@ -159,7 +160,7 @@ if (!decoder.decode(result.textAfter)) return false; -if (!decoder.decode(result.caretHeight)) +if (!decoder.decode(result.caretLength)) return false; if (!decoder.decode(result.lineCaretExtent)) @@ -209,6 +210,9 @@ if (!decoder.decode(result.isImageOverlayText)) return false; +if (!decoder.decode(result.isHorizontalWritingMode)) +return false; + if (!decoder.decode(result.elementContext)) return false; Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (279350 => 279351) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2021-06-28 23:06:27 UTC (rev 279350) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2021-06-28 23:52:26 UTC (rev 279351) @@ -9625,8 +9625,9 @@ double scaleFactor = self._contentZoomScale; UIPointerStyle *(^iBeamCursor)(void) = ^{ -float beamLength = _positionInformation.caretHeight * scaleFactor; -UIAxis iBeamConstraintAxes = UIAxisVertical; +float beamLength = _positionInformation.caretLength * scaleFactor; +auto axisOrientation
[webkit-changes] [279350] trunk/Tools
Title: [279350] trunk/Tools Revision 279350 Author w...@apple.com Date 2021-06-28 16:06:27 -0700 (Mon, 28 Jun 2021) Log Message Add wdx to contributors.json https://bugs.webkit.org/show_bug.cgi?id=227466 Unreviewed * Scripts/webkitpy/common/config/contributors.json: Add wdx as committer Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/common/config/contributors.json Diff Modified: trunk/Tools/ChangeLog (279349 => 279350) --- trunk/Tools/ChangeLog 2021-06-28 21:44:51 UTC (rev 279349) +++ trunk/Tools/ChangeLog 2021-06-28 23:06:27 UTC (rev 279350) @@ -1,3 +1,12 @@ +2021-06-28 W.D. Xiong + +Add wdx to contributors.json +https://bugs.webkit.org/show_bug.cgi?id=227466 + +Unreviewed + +* Scripts/webkitpy/common/config/contributors.json: Add wdx as committer + 2021-06-28 Jonathan Bedard [webkitcorepy] Add test suite with temp directory Modified: trunk/Tools/Scripts/webkitpy/common/config/contributors.json (279349 => 279350) --- trunk/Tools/Scripts/webkitpy/common/config/contributors.json 2021-06-28 21:44:51 UTC (rev 279349) +++ trunk/Tools/Scripts/webkitpy/common/config/contributors.json 2021-06-28 23:06:27 UTC (rev 279350) @@ -5820,6 +5820,16 @@ "seumas" ] }, + "W.D. Xiong" : { + "emails" : [ + "w...@apple.com", + "w_xi...@apple.com" + ], + "nicks" : [ + "wdx" + ], + "status" : "committer" + }, "Web Components Team" : { "emails" : [ "webcomponents-bugzi...@chromium.org" ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279349] trunk
Title: [279349] trunk Revision 279349 Author wenson_hs...@apple.com Date 2021-06-28 14:44:51 -0700 (Mon, 28 Jun 2021) Log Message Live Text selections inside images is misaligned when "object-fit" is not "fill" https://bugs.webkit.org/show_bug.cgi?id=227453 Reviewed by Tim Horton. Source/WebCore: We currently use the bounds of the image overlay host element when injecting transformed Live Text into image element UA shadow roots. However, this causes text to lay out in the wrong place relative to the image when using any "object-fit" values that are not "fill". To address this, use the `replacedContentRect()` of the image renderer when injecting OCR text quads instead. Tests: fast/images/text-recognition/image-overlay-object-fit-change.html fast/images/text-recognition/image-overlay-object-fit.html * html/HTMLElement.cpp: (WebCore::HTMLElement::updateWithTextRecognitionResult): See description above for more details. * page/Page.cpp: (WebCore::Page::updateElementsWithTextRecognitionResults): We also refactor this code so that we don't immediately try to update text recognition results, and instead queue an internal async task to do so. Immediately performing the update here can potentially cause a debug assertion due to leaving us in a state where we require layout immediately after a rendering update. (WebCore::Page::cacheTextRecognitionResult): Additionally adjust the text recognition result caching mechanism to update image overlay content when changing the replaced content rect, rather than the element's offset width or height. This ensures that changing CSS "object-fit" values dynamically for images with Live Text causes Live Text bounds to stay up to date. * page/Page.h: LayoutTests: Add a couple of new tests, and do some minor cleanup in an existing test. * fast/images/text-recognition/image-overlay-object-fit-change-expected.txt: Added. * fast/images/text-recognition/image-overlay-object-fit-change.html: Added. Add a layout test to verify that dynamically changing CSS "object-fit" values for an image with Live Text causes the dimensions of the Live Text to update as well. * fast/images/text-recognition/image-overlay-object-fit-expected.txt: Added. * fast/images/text-recognition/image-overlay-object-fit.html: Added. Add a layout test to verify that Live Text is injected correctly when using all 5 values of "object-fit". * fast/images/text-recognition/image-overlay-size-change.html: Clean up this layout test a bit: remove an unnecessarily included script file, add a missing `head` tag and don't try to inject an image overlay 10 times. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/images/text-recognition/image-overlay-size-change.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLElement.cpp trunk/Source/WebCore/page/Page.cpp trunk/Source/WebCore/page/Page.h Added Paths trunk/LayoutTests/fast/images/text-recognition/image-overlay-object-fit-change-expected.txt trunk/LayoutTests/fast/images/text-recognition/image-overlay-object-fit-change.html trunk/LayoutTests/fast/images/text-recognition/image-overlay-object-fit-expected.txt trunk/LayoutTests/fast/images/text-recognition/image-overlay-object-fit.html Diff Modified: trunk/LayoutTests/ChangeLog (279348 => 279349) --- trunk/LayoutTests/ChangeLog 2021-06-28 21:24:48 UTC (rev 279348) +++ trunk/LayoutTests/ChangeLog 2021-06-28 21:44:51 UTC (rev 279349) @@ -1,3 +1,28 @@ +2021-06-28 Wenson Hsieh + +Live Text selections inside images is misaligned when "object-fit" is not "fill" +https://bugs.webkit.org/show_bug.cgi?id=227453 + +Reviewed by Tim Horton. + +Add a couple of new tests, and do some minor cleanup in an existing test. + +* fast/images/text-recognition/image-overlay-object-fit-change-expected.txt: Added. +* fast/images/text-recognition/image-overlay-object-fit-change.html: Added. + +Add a layout test to verify that dynamically changing CSS "object-fit" values for an image with Live Text causes +the dimensions of the Live Text to update as well. + +* fast/images/text-recognition/image-overlay-object-fit-expected.txt: Added. +* fast/images/text-recognition/image-overlay-object-fit.html: Added. + +Add a layout test to verify that Live Text is injected correctly when using all 5 values of "object-fit". + +* fast/images/text-recognition/image-overlay-size-change.html: + +Clean up this layout test a bit: remove an unnecessarily included script file, add a missing `head` tag and +don't try to inject an image overlay 10 times. + 2021-06-28 Amir Mark Jr [Catalina WK2 Debug/ iOS 14 Debug] fast/css-custom-paint/out-of-memory-while-adding-worklet-module.html is a flaky timeout Added: trunk/LayoutTests/fast/images/text-recognition/image-overlay-object-fit-change-expected.txt (0 => 279349) --- trunk/LayoutTests/fast/images/text-recognition/image-overlay-ob
[webkit-changes] [279348] trunk/LayoutTests
Title: [279348] trunk/LayoutTests Revision 279348 Author amir_m...@apple.com Date 2021-06-28 14:24:48 -0700 (Mon, 28 Jun 2021) Log Message [Catalina WK2 Debug/ iOS 14 Debug] fast/css-custom-paint/out-of-memory-while-adding-worklet-module.html is a flaky timeout https://bugs.webkit.org/show_bug.cgi?id=227273 Unreviewed test gardening. Updating expectation as previous expectation caused possible flaky failure. * platform/ios-wk2/TestExpectations: * platform/mac-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-wk2/TestExpectations trunk/LayoutTests/platform/mac-wk2/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (279347 => 279348) --- trunk/LayoutTests/ChangeLog 2021-06-28 19:57:15 UTC (rev 279347) +++ trunk/LayoutTests/ChangeLog 2021-06-28 21:24:48 UTC (rev 279348) @@ -1,3 +1,15 @@ +2021-06-28 Amir Mark Jr + +[Catalina WK2 Debug/ iOS 14 Debug] fast/css-custom-paint/out-of-memory-while-adding-worklet-module.html is a flaky timeout +https://bugs.webkit.org/show_bug.cgi?id=227273 + +Unreviewed test gardening. + +Updating expectation as previous expectation caused possible flaky failure. + +* platform/ios-wk2/TestExpectations: +* platform/mac-wk2/TestExpectations: + 2021-06-28 Chris Dumez Resync fetch WPT tests from upstream Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (279347 => 279348) --- trunk/LayoutTests/platform/ios-wk2/TestExpectations 2021-06-28 19:57:15 UTC (rev 279347) +++ trunk/LayoutTests/platform/ios-wk2/TestExpectations 2021-06-28 21:24:48 UTC (rev 279348) @@ -1949,4 +1949,4 @@ webkit.org/b/226826 http/tests/ssl/applepay/ApplePayButton.html [ Failure ] -webkit.org/b/227273 fast/css-custom-paint/out-of-memory-while-adding-worklet-module.html [ Pass Timeout ] +webkit.org/b/227273 fast/css-custom-paint/out-of-memory-while-adding-worklet-module.html [ Pass Timeout DumpJSConsoleLogInStdErr ] Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (279347 => 279348) --- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2021-06-28 19:57:15 UTC (rev 279347) +++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2021-06-28 21:24:48 UTC (rev 279348) @@ -1374,4 +1374,4 @@ webkit.org/b/226783 [ arm64 ] http/tests/contentextensions/plugin-doesnt-crash.html [ Skip ] webkit.org/b/226783 [ arm64 ] tiled-drawing/scrolling/non-fast-region/wheel-event-plugin.html [ Skip ] -webkit.org/b/227273 [ Catalina Debug ] fast/css-custom-paint/out-of-memory-while-adding-worklet-module.html [ Pass Timeout ] +webkit.org/b/227273 [ Catalina Debug ] fast/css-custom-paint/out-of-memory-while-adding-worklet-module.html [ Pass Timeout DumpJSConsoleLogInStdErr ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279347] trunk/Tools
Title: [279347] trunk/Tools Revision 279347 Author jbed...@apple.com Date 2021-06-28 12:57:15 -0700 (Mon, 28 Jun 2021) Log Message [webkitcorepy] Add test suite with temp directory https://bugs.webkit.org/show_bug.cgi?id=227327 Reviewed by Stephanie Lewis. We had some duplicated code which set up, then cleaned up a temporary directory associated with a test. This should really be owned by a base class shared between multiple test suites. * Scripts/libraries/webkitcorepy/setup.py: Bump version. * Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto. * Scripts/libraries/webkitcorepy/webkitcorepy/testing.py: Added. (PathTestCase): Create a temporary directory before a test starts, delete it after. * Scripts/libraries/webkitscmpy/webkitscmpy/test/canonicalize_unittest.py: (TestCanonicalize): Adopt PathTestCase. * Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py: (TestCheckout): Adopt PathTestCase. * Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py: (TestFind): Adopt PathTestCase. * Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py: (TestGit): Adopt PathTestCase. * Scripts/libraries/webkitscmpy/webkitscmpy/test/scm_unittest.py: (TestScm): Adopt PathTestCase. * Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_git_svn_unittest.py: (TestSetupGitSvn): Adopt PathTestCase. * Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py: (TestLocalSvn): Adopt PathTestCase. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/libraries/webkitcorepy/setup.py trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/canonicalize_unittest.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/scm_unittest.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_git_svn_unittest.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py Added Paths trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/testing.py Diff Modified: trunk/Tools/ChangeLog (279346 => 279347) --- trunk/Tools/ChangeLog 2021-06-28 19:56:01 UTC (rev 279346) +++ trunk/Tools/ChangeLog 2021-06-28 19:57:15 UTC (rev 279347) @@ -1,5 +1,36 @@ 2021-06-28 Jonathan Bedard +[webkitcorepy] Add test suite with temp directory +https://bugs.webkit.org/show_bug.cgi?id=227327 + + +Reviewed by Stephanie Lewis. + +We had some duplicated code which set up, then cleaned up a temporary +directory associated with a test. This should really be owned by a +base class shared between multiple test suites. + +* Scripts/libraries/webkitcorepy/setup.py: Bump version. +* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto. +* Scripts/libraries/webkitcorepy/webkitcorepy/testing.py: Added. +(PathTestCase): Create a temporary directory before a test starts, delete it after. +* Scripts/libraries/webkitscmpy/webkitscmpy/test/canonicalize_unittest.py: +(TestCanonicalize): Adopt PathTestCase. +* Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py: +(TestCheckout): Adopt PathTestCase. +* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py: +(TestFind): Adopt PathTestCase. +* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py: +(TestGit): Adopt PathTestCase. +* Scripts/libraries/webkitscmpy/webkitscmpy/test/scm_unittest.py: +(TestScm): Adopt PathTestCase. +* Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_git_svn_unittest.py: +(TestSetupGitSvn): Adopt PathTestCase. +* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py: +(TestLocalSvn): Adopt PathTestCase. + +2021-06-28 Jonathan Bedard + [webkitcorepy] Fix race condition in TaskPool unittests https://bugs.webkit.org/show_bug.cgi?id=227455 Modified: trunk/Tools/Scripts/libraries/webkitcorepy/setup.py (279346 => 279347) --- trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2021-06-28 19:56:01 UTC (rev 279346) +++ trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2021-06-28 19:57:15 UTC (rev 279347) @@ -30,7 +30,7 @@ setup( name='webkitcorepy', -version='0.5.19', +version='0.6.0', description='Library containing various Python support classes and functions.', long_description=readme(), classifiers=[ Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py (279346 => 279347) --- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2021-06-28 19:56:01 UTC (rev 279346) +++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2021-06-28
[webkit-changes] [279346] trunk/Source/WebCore
Title: [279346] trunk/Source/WebCore Revision 279346 Author wei...@apple.com Date 2021-06-28 12:56:01 -0700 (Mon, 28 Jun 2021) Log Message [Modern Media Controls] Support customizing the media controls via WebKitAdditions https://bugs.webkit.org/show_bug.cgi?id=227433 Reviewed by Eric Carlson. - Support adding additional style sheets and scripts to the media controls via ADDITIONAL_MODERN_MEDIA_CONTROLS_STYLE_SHEETS and ADDITIONAL_MODERN_MEDIA_CONTROLS_SCRIPTS variables in DerivedSources.make - Support overriding default layout traits object class name in MediaControlsHost. * DerivedSources.make: * Modules/mediacontrols/MediaControlsHost.cpp: (WebCore::MediaControlsHost::layoutTraitsClassName const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (279345 => 279346) --- trunk/Source/WebCore/ChangeLog 2021-06-28 19:11:31 UTC (rev 279345) +++ trunk/Source/WebCore/ChangeLog 2021-06-28 19:56:01 UTC (rev 279346) @@ -1,3 +1,19 @@ +2021-06-28 Sam Weinig + +[Modern Media Controls] Support customizing the media controls via WebKitAdditions +https://bugs.webkit.org/show_bug.cgi?id=227433 + +Reviewed by Eric Carlson. + +- Support adding additional style sheets and scripts to the media controls + via ADDITIONAL_MODERN_MEDIA_CONTROLS_STYLE_SHEETS and ADDITIONAL_MODERN_MEDIA_CONTROLS_SCRIPTS + variables in DerivedSources.make +- Support overriding default layout traits object class name in MediaControlsHost. + +* DerivedSources.make: +* Modules/mediacontrols/MediaControlsHost.cpp: +(WebCore::MediaControlsHost::layoutTraitsClassName const): + 2021-06-28 Jean-Yves Avenard Not all uses of AudioToolbox framework use soft linking Modified: trunk/Source/WebCore/DerivedSources.make (279345 => 279346) --- trunk/Source/WebCore/DerivedSources.make 2021-06-28 19:11:31 UTC (rev 279345) +++ trunk/Source/WebCore/DerivedSources.make 2021-06-28 19:56:01 UTC (rev 279346) @@ -1532,6 +1532,15 @@ # modern media controls +POSSIBLE_ADDITIONAL_MODERN_MEDIA_CONTROLS_STYLE_SHEETS = \ +$(foreach \ +STYLE_SHEET, \ +$(ADDITIONAL_MODERN_MEDIA_CONTROLS_STYLE_SHEETS), \ +$(firstword $(realpath $(foreach \ +ADDITIONS_PATH, \ +$(ADDITIONS_PATHS), \ +$(ADDITIONS_PATH)/$(STYLE_SHEET) + MODERN_MEDIA_CONTROLS_STYLE_SHEETS = \ $(WebCore)/Modules/modern-media-controls/controls/activity-indicator.css \ $(WebCore)/Modules/modern-media-controls/controls/airplay-button.css \ @@ -1551,6 +1560,7 @@ $(WebCore)/Modules/modern-media-controls/controls/time-label.css \ $(WebCore)/Modules/modern-media-controls/controls/watchos-activity-indicator.css \ $(WebCore)/Modules/modern-media-controls/controls/watchos-media-controls.css \ +$(POSSIBLE_ADDITIONAL_MODERN_MEDIA_CONTROLS_STYLE_SHEETS) \ # all : ModernMediaControls.css @@ -1583,6 +1593,15 @@ # modern media controls +POSSIBLE_ADDITIONAL_MODERN_MEDIA_CONTROLS_SCRIPTS = \ +$(foreach \ +SCRIPT, \ +$(ADDITIONAL_MODERN_MEDIA_CONTROLS_SCRIPTS), \ +$(firstword $(realpath $(foreach \ +ADDITIONS_PATH, \ +$(ADDITIONS_PATHS), \ +$(ADDITIONS_PATH)/$(SCRIPT) + MODERN_MEDIA_CONTROLS_SCRIPTS = \ $(WebCore)/Modules/modern-media-controls/main.js \ $(WebCore)/Modules/modern-media-controls/gesture-recognizers/gesture-recognizer.js \ @@ -1653,6 +1672,7 @@ $(WebCore)/Modules/modern-media-controls/media/media-document-controller.js \ $(WebCore)/Modules/modern-media-controls/media/watchos-media-controls-support.js \ $(WebCore)/Modules/modern-media-controls/media/media-controller.js \ +$(POSSIBLE_ADDITIONAL_MODERN_MEDIA_CONTROLS_SCRIPTS) \ # all : ModernMediaControls.js Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp (279345 => 279346) --- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp 2021-06-28 19:11:31 UTC (rev 279345) +++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp 2021-06-28 19:56:01 UTC (rev 279346) @@ -67,6 +67,10 @@ #include #include +#if USE(APPLE_INTERNAL_SDK) +#include +#endif + namespace WebCore { const AtomString& MediaControlsHost::automaticKeyword() @@ -113,6 +117,9 @@ String MediaControlsHost::layoutTraitsClassName() const { +#if defined(MEDIA_CONTROLS_HOST_LAYOUT_TRAITS_CLASS_NAME_OVERRIDE) +return MEDIA_CONTROLS_HOST_LAYOUT_TRAITS_CLASS_NAME_OVERRIDE; +#else #if PLATFORM(MAC) || PLATFORM(MACCATALYST) return "MacOSLayoutTraits"; #elif PLATFORM(IOS) @@ -123,6 +130,7 @@ ASSERT_NOT_REACHED(); return nullString(); #endif +#endif } Vector> MediaControlsHost::sortedTrackListForMenu(TextTrackList& trackList) _
[webkit-changes] [279345] trunk/Tools
Title: [279345] trunk/Tools Revision 279345 Author jbed...@apple.com Date 2021-06-28 12:11:31 -0700 (Mon, 28 Jun 2021) Log Message [webkitcorepy] Fix race condition in TaskPool unittests https://bugs.webkit.org/show_bug.cgi?id=227455 Reviewed by Dewei Zhu. * Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py: (TaskPoolUnittest.test_invalid_shutdown): Increase worker load to 5 seconds. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py Diff Modified: trunk/Tools/ChangeLog (279344 => 279345) --- trunk/Tools/ChangeLog 2021-06-28 19:07:34 UTC (rev 279344) +++ trunk/Tools/ChangeLog 2021-06-28 19:11:31 UTC (rev 279345) @@ -1,3 +1,14 @@ +2021-06-28 Jonathan Bedard + +[webkitcorepy] Fix race condition in TaskPool unittests +https://bugs.webkit.org/show_bug.cgi?id=227455 + + +Reviewed by Dewei Zhu. + +* Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py: +(TaskPoolUnittest.test_invalid_shutdown): Increase worker load to 5 seconds. + 2021-06-28 Alex Christensen RELEASE_ASSERT hit in NetworkSessionCocoa::removeWebSocketTask when using WKWebViewConfiguration._attributedBundleIdentifier Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py (279344 => 279345) --- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py 2021-06-28 19:07:34 UTC (rev 279344) +++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py 2021-06-28 19:11:31 UTC (rev 279345) @@ -173,4 +173,4 @@ with OutputCapture(): with self.assertRaises(TaskPool.Exception): with TaskPool(workers=1, teardown=teardown, grace_period=1, force_fork=True) as pool: -pool.do(wait, 2) +pool.do(wait, 5) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279343] trunk
Title: [279343] trunk Revision 279343 Author commit-qu...@webkit.org Date 2021-06-28 10:55:12 -0700 (Mon, 28 Jun 2021) Log Message Add LLInt fast path for less, lesseq, greater and greatereq https://bugs.webkit.org/show_bug.cgi?id=226266 Patch by Mikhail R. Gadelha on 2021-06-28 Reviewed by Tadeu Zagallo. The motivation is to add fast path for integers and doubles in LLInt, so we don't need to go to slow path for those cases. This patch implements the less, lesseq, greater, greatereq instruction for ARMv7, MIPS and CLoop. Microbenchmarking results: * x86_64: number-comparison-inline definitely 1.3520x faster * ARMv7: number-comparison-inline definitely 1.3520x faster JetStream2 results: * x86_64 jit: 1.015 times better * x86_64 no-jit: 1.018 times better * ARMv7 no-jit: 1.004 times worse * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * offlineasm/arm.rb: * offlineasm/cloop.rb: * offlineasm/mips.rb: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm trunk/Source/_javascript_Core/offlineasm/arm.rb trunk/Source/_javascript_Core/offlineasm/cloop.rb trunk/Source/_javascript_Core/offlineasm/mips.rb Added Paths trunk/JSTests/microbenchmarks/double-comparison-inline.js trunk/JSTests/microbenchmarks/number-comparison-inline.js Diff Added: trunk/JSTests/microbenchmarks/double-comparison-inline.js (0 => 279343) --- trunk/JSTests/microbenchmarks/double-comparison-inline.js (rev 0) +++ trunk/JSTests/microbenchmarks/double-comparison-inline.js 2021-06-28 17:55:12 UTC (rev 279343) @@ -0,0 +1,26 @@ +let c = 0 +let a = 0 + +for (let i = 0; i < 10; ++i) +{ + let c = (i >= i + 1.5) + a = c ? 15 : 20 +} + +for (let i = 0; i < 10; ++i) +{ + let c = (i > i + 1.5) + a = c ? 15 : 20 +} + +for (let i = 0; i < 10; ++i) +{ + let c = (i <= i + 1.5) + a = c ? 15 : 20 +} + +for (let i = 0; i < 10; ++i) +{ + let c = (i < i + 1.5) + a = c ? 15 : 20 +} Added: trunk/JSTests/microbenchmarks/number-comparison-inline.js (0 => 279343) --- trunk/JSTests/microbenchmarks/number-comparison-inline.js (rev 0) +++ trunk/JSTests/microbenchmarks/number-comparison-inline.js 2021-06-28 17:55:12 UTC (rev 279343) @@ -0,0 +1,26 @@ +let c = 0 +let a = 0 + +for (let i = 0; i < 10; ++i) +{ + let c = (i >= i + 1) + a = c ? 15 : 20 +} + +for (let i = 0; i < 10; ++i) +{ + let c = (i > i + 1) + a = c ? 15 : 20 +} + +for (let i = 0; i < 10; ++i) +{ + let c = (i <= i + 1) + a = c ? 15 : 20 +} + +for (let i = 0; i < 10; ++i) +{ + let c = (i < i + 1) + a = c ? 15 : 20 +} Modified: trunk/Source/_javascript_Core/ChangeLog (279342 => 279343) --- trunk/Source/_javascript_Core/ChangeLog 2021-06-28 17:41:25 UTC (rev 279342) +++ trunk/Source/_javascript_Core/ChangeLog 2021-06-28 17:55:12 UTC (rev 279343) @@ -1,5 +1,34 @@ 2021-06-28 Mikhail R. Gadelha +Add LLInt fast path for less, lesseq, greater and greatereq +https://bugs.webkit.org/show_bug.cgi?id=226266 + +Reviewed by Tadeu Zagallo. + +The motivation is to add fast path for integers and doubles +in LLInt, so we don't need to go to slow path for those cases. + +This patch implements the less, lesseq, greater, greatereq +instruction for ARMv7, MIPS and CLoop. + +Microbenchmarking results: +* x86_64: number-comparison-inline definitely 1.3520x faster +* ARMv7: number-comparison-inline definitely 1.3520x faster + +JetStream2 results: +* x86_64 jit: 1.015 times better +* x86_64 no-jit: 1.018 times better +* ARMv7 no-jit: 1.004 times worse + +* llint/LowLevelInterpreter.asm: +* llint/LowLevelInterpreter32_64.asm: +* llint/LowLevelInterpreter64.asm: +* offlineasm/arm.rb: +* offlineasm/cloop.rb: +* offlineasm/mips.rb: + +2021-06-28 Mikhail R. Gadelha + Prevent sign-extended casts for 32 bits arch https://bugs.webkit.org/show_bug.cgi?id=227170 Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm (279342 => 279343) --- trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm 2021-06-28 17:41:25 UTC (rev 279342) +++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm 2021-06-28 17:55:12 UTC (rev 279343) @@ -1998,8 +1998,6 @@ slowPathOp(get_direct_pname) slowPathOp(get_enumerable_length) slowPathOp(get_property_enumerator) -slowPathOp(greater) -slowPathOp(greatereq) slowPathOp(has_enumerable_indexed_property) slowPathOp(has_enumerable_property) @@ -2012,8 +2010,6 @@ slowPathOp(is_callable) slowPathOp(is_constructor) -slowPathOp(less) -slowPathOp(lesseq) slowPathOp(mod) slowPathOp(new_array_buffer) slowPathOp(new_array_with_spread
[webkit-changes] [279342] trunk/Source/WebKit
Title: [279342] trunk/Source/WebKit Revision 279342 Author pvol...@apple.com Date 2021-06-28 10:41:25 -0700 (Mon, 28 Jun 2021) Log Message Pass correct value of AX per app settings to the WebContent process https://bugs.webkit.org/show_bug.cgi?id=227441 Reviewed by Brent Fulgham. Pass value of type AXValueState instead of a boolean value for per app AX settings. * Shared/AccessibilityPreferences.h: * UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::accessibilityPreferences): * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::accessibilityPreferencesDidChange): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/AccessibilityPreferences.h trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm Diff Modified: trunk/Source/WebKit/ChangeLog (279341 => 279342) --- trunk/Source/WebKit/ChangeLog 2021-06-28 16:48:33 UTC (rev 279341) +++ trunk/Source/WebKit/ChangeLog 2021-06-28 17:41:25 UTC (rev 279342) @@ -1,3 +1,19 @@ +2021-06-28 Per Arne + +Pass correct value of AX per app settings to the WebContent process +https://bugs.webkit.org/show_bug.cgi?id=227441 + + +Reviewed by Brent Fulgham. + +Pass value of type AXValueState instead of a boolean value for per app AX settings. + +* Shared/AccessibilityPreferences.h: +* UIProcess/Cocoa/WebProcessPoolCocoa.mm: +(WebKit::accessibilityPreferences): +* WebProcess/cocoa/WebProcessCocoa.mm: +(WebKit::WebProcess::accessibilityPreferencesDidChange): + 2021-06-28 Alex Christensen RELEASE_ASSERT hit in NetworkSessionCocoa::removeWebSocketTask when using WKWebViewConfiguration._attributedBundleIdentifier Modified: trunk/Source/WebKit/Shared/AccessibilityPreferences.h (279341 => 279342) --- trunk/Source/WebKit/Shared/AccessibilityPreferences.h 2021-06-28 16:48:33 UTC (rev 279341) +++ trunk/Source/WebKit/Shared/AccessibilityPreferences.h 2021-06-28 17:41:25 UTC (rev 279342) @@ -31,15 +31,19 @@ #include #endif +#if HAVE(PER_APP_ACCESSIBILITY_PREFERENCES) +#include "AccessibilitySupportSPI.h" +#endif + namespace WebKit { struct AccessibilityPreferences { #if HAVE(PER_APP_ACCESSIBILITY_PREFERENCES) -bool reduceMotionEnabled { false }; -bool increaseButtonLegibility { false }; -bool enhanceTextLegibility { false }; -bool darkenSystemColors { false }; -bool invertColorsEnabled { false }; +AXValueState reduceMotionEnabled { AXValueStateEmpty }; +AXValueState increaseButtonLegibility { AXValueStateEmpty }; +AXValueState enhanceTextLegibility { AXValueStateEmpty }; +AXValueState darkenSystemColors { AXValueStateEmpty }; +AXValueState invertColorsEnabled { AXValueStateEmpty }; #endif #if HAVE(MEDIA_ACCESSIBILITY_FRAMEWORK) WebCore::CaptionUserPreferences::CaptionDisplayMode captionDisplayMode; @@ -55,3 +59,19 @@ static std::optional decode(Decoder&); }; } + +#if HAVE(PER_APP_ACCESSIBILITY_PREFERENCES) +namespace WTF { + +template<> struct EnumTraits { +using values = EnumValues< +AXValueState, +AXValueState::AXValueStateInvalid, +AXValueState::AXValueStateEmpty, +AXValueState::AXValueStateOff, +AXValueState::AXValueStateOn +>; +}; + +} // namespace WTF +#endif Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (279341 => 279342) --- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2021-06-28 16:48:33 UTC (rev 279341) +++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2021-06-28 17:41:25 UTC (rev 279342) @@ -279,11 +279,11 @@ #if HAVE(PER_APP_ACCESSIBILITY_PREFERENCES) auto appId = WebCore::applicationBundleIdentifier().createCFString(); -preferences.reduceMotionEnabled = _AXSReduceMotionEnabledApp(appId.get()) == AXValueStateOn; -preferences.increaseButtonLegibility = _AXSIncreaseButtonLegibilityApp(appId.get()) == AXValueStateOn; -preferences.enhanceTextLegibility = _AXSEnhanceTextLegibilityEnabledApp(appId.get()) == AXValueStateOn; -preferences.darkenSystemColors = _AXDarkenSystemColorsApp(appId.get()) == AXValueStateOn; -preferences.invertColorsEnabled = _AXSInvertColorsEnabledApp(appId.get()) == AXValueStateOn; +preferences.reduceMotionEnabled = _AXSReduceMotionEnabledApp(appId.get()); +preferences.increaseButtonLegibility = _AXSIncreaseButtonLegibilityApp(appId.get()); +preferences.enhanceTextLegibility = _AXSEnhanceTextLegibilityEnabledApp(appId.get()); +preferences.darkenSystemColors = _AXDarkenSystemColorsApp(appId.get()); +preferences.invertColorsEnabled = _AXSInvertColorsEnabledApp(appId.get()); #endif #if HAVE(MEDIA_ACCESSIBILITY_FRAMEWORK) preferences.captionDisplayMode = WebCore::CaptionUserPreferencesMediaAF::platformCaptionDisplayMode(); Modified: trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (279341 => 279342) --- trunk/Source/WebKit/WebProcess/coco
[webkit-changes] [279341] trunk/Source
Title: [279341] trunk/Source Revision 279341 Author commit-qu...@webkit.org Date 2021-06-28 09:48:33 -0700 (Mon, 28 Jun 2021) Log Message Prevent sign-extended casts for 32 bits arch https://bugs.webkit.org/show_bug.cgi?id=227170 Patch by Mikhail R. Gadelha on 2021-06-28 Reviewed by Yusuke Suzuki. In a number of places, addresses are reinterpreted as uint64, which can lead to wrong addresses in 32 bits arch. Source/_javascript_Core: * assembler/testmasm.cpp: (JSC::testBranchTruncateDoubleToInt32): * disassembler/ARM64/A64DOpcode.h: (JSC::ARM64Disassembler::A64DOpcode::appendPCRelativeOffset): * runtime/JSCell.cpp: (JSC::reportZappedCellAndCrash): * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::emitEntryTierUpCheck): (JSC::Wasm::AirIRGenerator::emitLoopTierUpCheck): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::emitEntryTierUpCheck): (JSC::Wasm::B3IRGenerator::emitLoopTierUpCheck): Source/WTF: * wtf/LoggerHelper.h: (WTF::LoggerHelper::childLogIdentifier): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/assembler/testmasm.cpp trunk/Source/_javascript_Core/disassembler/ARM64/A64DOpcode.h trunk/Source/_javascript_Core/jsc.cpp trunk/Source/_javascript_Core/runtime/JSCell.cpp trunk/Source/_javascript_Core/wasm/WasmAirIRGenerator.cpp trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/LoggerHelper.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (279340 => 279341) --- trunk/Source/_javascript_Core/ChangeLog 2021-06-28 16:39:19 UTC (rev 279340) +++ trunk/Source/_javascript_Core/ChangeLog 2021-06-28 16:48:33 UTC (rev 279341) @@ -1,3 +1,26 @@ +2021-06-28 Mikhail R. Gadelha + +Prevent sign-extended casts for 32 bits arch +https://bugs.webkit.org/show_bug.cgi?id=227170 + +Reviewed by Yusuke Suzuki. + +In a number of places, addresses are reinterpreted as uint64, which can +lead to wrong addresses in 32 bits arch. + +* assembler/testmasm.cpp: +(JSC::testBranchTruncateDoubleToInt32): +* disassembler/ARM64/A64DOpcode.h: +(JSC::ARM64Disassembler::A64DOpcode::appendPCRelativeOffset): +* runtime/JSCell.cpp: +(JSC::reportZappedCellAndCrash): +* wasm/WasmAirIRGenerator.cpp: +(JSC::Wasm::AirIRGenerator::emitEntryTierUpCheck): +(JSC::Wasm::AirIRGenerator::emitLoopTierUpCheck): +* wasm/WasmB3IRGenerator.cpp: +(JSC::Wasm::B3IRGenerator::emitEntryTierUpCheck): +(JSC::Wasm::B3IRGenerator::emitLoopTierUpCheck): + 2021-06-25 Commit Queue Unreviewed, reverting r279266. Modified: trunk/Source/_javascript_Core/assembler/testmasm.cpp (279340 => 279341) --- trunk/Source/_javascript_Core/assembler/testmasm.cpp 2021-06-28 16:39:19 UTC (rev 279340) +++ trunk/Source/_javascript_Core/assembler/testmasm.cpp 2021-06-28 16:48:33 UTC (rev 279341) @@ -292,7 +292,7 @@ // Nan, should either yield 0 in dest or fail. void testBranchTruncateDoubleToInt32(double val, int32_t expected) { -const uint64_t valAsUInt = *reinterpret_cast(&val); +const uint64_t valAsUInt = bitwise_cast(val); #if CPU(BIG_ENDIAN) const bool isBigEndian = true; #else Modified: trunk/Source/_javascript_Core/disassembler/ARM64/A64DOpcode.h (279340 => 279341) --- trunk/Source/_javascript_Core/disassembler/ARM64/A64DOpcode.h 2021-06-28 16:39:19 UTC (rev 279340) +++ trunk/Source/_javascript_Core/disassembler/ARM64/A64DOpcode.h 2021-06-28 16:48:33 UTC (rev 279341) @@ -187,7 +187,7 @@ void appendPCRelativeOffset(uint32_t* pc, int32_t immediate) { -bufferPrintf("0x%" PRIx64, reinterpret_cast(pc + immediate)); +bufferPrintf("0x%" PRIxPTR, bitwise_cast(pc + immediate)); } void appendShiftAmount(unsigned amount) Modified: trunk/Source/_javascript_Core/jsc.cpp (279340 => 279341) --- trunk/Source/_javascript_Core/jsc.cpp 2021-06-28 16:39:19 UTC (rev 279340) +++ trunk/Source/_javascript_Core/jsc.cpp 2021-06-28 16:48:33 UTC (rev 279341) @@ -1480,7 +1480,7 @@ if (!value.isCell()) return JSValue::encode(jsUndefined()); // Need to cast to uint64_t so bitwise_cast will play along. -uint64_t asNumber = reinterpret_cast(value.asCell()); +uint64_t asNumber = bitwise_cast(value.asCell()); EncodedJSValue returnValue = JSValue::encode(jsNumber(bitwise_cast(asNumber))); return returnValue; } Modified: trunk/Source/_javascript_Core/runtime/JSCell.cpp (279340 => 279341) --- trunk/Source/_javascript_Core/runtime/JSCell.cpp 2021-06-28 16:39:19 UTC (rev 279340) +++ trunk/Source/_javascript_Core/runtime/JSCell.cpp 2021-06-28 16:48:33 UTC (rev 279341) @@ -292,7 +292,7 @@ variousState |= static_cast(foundBlockHandle->needsDestruction()) << 3; variousState |= static_cast(foundBlock->isNewlyAllocated(cell)) << 4; -ptrdiff_t cellOffset = cellAddress - reinterpret_cast(foundBlockHandle->star
[webkit-changes] [279340] trunk
Title: [279340] trunk Revision 279340 Author commit-qu...@webkit.org Date 2021-06-28 09:39:19 -0700 (Mon, 28 Jun 2021) Log Message RELEASE_ASSERT hit in NetworkSessionCocoa::removeWebSocketTask when using WKWebViewConfiguration._attributedBundleIdentifier https://bugs.webkit.org/show_bug.cgi?id=227420 Patch by Alex Christensen on 2021-06-28 Reviewed by Brady Eidson. Source/WebKit: WKWebViewConfiguration._attributedBundleIdentifier makes us use a SessionSet per WKWebView. When the WKWebView is destroyed with an open WebSocket, there's a race condition between the NetworkSessionCocoa::removeWebPageNetworkParameters message coming from the UI process and the NetworkConnectionToWebProcess::didClose message coming from the closing of the web process, which calls NetworkSessionCocoa::removeWebSocketTask which currently expects the WebSocketTask to still be there. Instead, keep a WeakPtr and don't remove it if the SessionSet's map is gone. I wrote an API test that hits this condition sometimes when HAVE_NSURLSESSION_WEBSOCKET is true. * NetworkProcess/NetworkSession.h: (WebKit::NetworkSession::removeWebSocketTask): * NetworkProcess/NetworkSocketChannel.cpp: (WebKit::NetworkSocketChannel::~NetworkSocketChannel): * NetworkProcess/cocoa/NetworkSessionCocoa.h: (WebKit::SessionSet::create): * NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::sessionSetForPage): (WebKit::NetworkSessionCocoa::sessionSetForPage const): (WebKit::SessionSet::initializeEphemeralStatelessSessionIfNeeded): (WebKit::SessionSet::isolatedSession): (WebKit::NetworkSessionCocoa::createWebSocketTask): (WebKit::NetworkSessionCocoa::addWebSocketTask): (WebKit::NetworkSessionCocoa::removeWebSocketTask): (WebKit::NetworkSessionCocoa::SessionSet::initializeEphemeralStatelessSessionIfNeeded): Deleted. (WebKit::NetworkSessionCocoa::SessionSet::isolatedSession): Deleted. * NetworkProcess/cocoa/WebSocketTaskCocoa.h: (WebKit::WebSocketTask::sessionSet): * NetworkProcess/cocoa/WebSocketTaskCocoa.mm: (WebKit::WebSocketTask::WebSocketTask): Tools: * TestWebKitAPI/Tests/WebKitCocoa/WebSocket.mm: (TestWebKitAPI::TEST): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkSession.h trunk/Source/WebKit/NetworkProcess/NetworkSocketChannel.cpp trunk/Source/WebKit/NetworkProcess/WebSocketTask.h trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm trunk/Source/WebKit/NetworkProcess/cocoa/WebSocketTaskCocoa.h trunk/Source/WebKit/NetworkProcess/cocoa/WebSocketTaskCocoa.mm trunk/Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.h trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebSocket.mm Diff Modified: trunk/Source/WebKit/ChangeLog (279339 => 279340) --- trunk/Source/WebKit/ChangeLog 2021-06-28 15:34:32 UTC (rev 279339) +++ trunk/Source/WebKit/ChangeLog 2021-06-28 16:39:19 UTC (rev 279340) @@ -1,3 +1,41 @@ +2021-06-28 Alex Christensen + +RELEASE_ASSERT hit in NetworkSessionCocoa::removeWebSocketTask when using WKWebViewConfiguration._attributedBundleIdentifier +https://bugs.webkit.org/show_bug.cgi?id=227420 + + +Reviewed by Brady Eidson. + +WKWebViewConfiguration._attributedBundleIdentifier makes us use a SessionSet per WKWebView. +When the WKWebView is destroyed with an open WebSocket, there's a race condition between the +NetworkSessionCocoa::removeWebPageNetworkParameters message coming from the UI process and the +NetworkConnectionToWebProcess::didClose message coming from the closing of the web process, which +calls NetworkSessionCocoa::removeWebSocketTask which currently expects the WebSocketTask to still +be there. Instead, keep a WeakPtr and don't remove it if the SessionSet's map is gone. + +I wrote an API test that hits this condition sometimes when HAVE_NSURLSESSION_WEBSOCKET is true. + +* NetworkProcess/NetworkSession.h: +(WebKit::NetworkSession::removeWebSocketTask): +* NetworkProcess/NetworkSocketChannel.cpp: +(WebKit::NetworkSocketChannel::~NetworkSocketChannel): +* NetworkProcess/cocoa/NetworkSessionCocoa.h: +(WebKit::SessionSet::create): +* NetworkProcess/cocoa/NetworkSessionCocoa.mm: +(WebKit::NetworkSessionCocoa::sessionSetForPage): +(WebKit::NetworkSessionCocoa::sessionSetForPage const): +(WebKit::SessionSet::initializeEphemeralStatelessSessionIfNeeded): +(WebKit::SessionSet::isolatedSession): +(WebKit::NetworkSessionCocoa::createWebSocketTask): +(WebKit::NetworkSessionCocoa::addWebSocketTask): +(WebKit::NetworkSessionCocoa::removeWebSocketTask): +(WebKit::NetworkSessionCocoa::SessionSet::initializeEphemeralStatelessSessionIfNeeded): Deleted. +(WebKit::NetworkSessionCocoa::SessionSet::isolatedSession): Deleted. +* NetworkProcess/cocoa/WebSocketTaskC
[webkit-changes] [279339] trunk
Title: [279339] trunk Revision 279339 Author wei...@apple.com Date 2021-06-28 08:34:32 -0700 (Mon, 28 Jun 2021) Log Message Add helpers to create Spans from CFDataRef and NSData https://bugs.webkit.org/show_bug.cgi?id=227217 Reviewed by Chris Dumez. Source/WTF: Add overloads of asBytes() for CFDataRef and NSData. This is going to be a common enough pattern to warrent these helpers. * WTF.xcodeproj/project.pbxproj: * wtf/PlatformFTW.cmake: * wtf/PlatformMac.cmake: * wtf/PlatformWin.cmake: * wtf/cf/SpanCF.h: Added. (WTF::asBytes): * wtf/cocoa/SpanCocoa.h: Added. (WTF::asBytes): Tools: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/cf/SpanCF.cpp: Added. * TestWebKitAPI/Tests/WTF/cocoa/SpanCocoa.mm: Added. Add tests for new asBytes() overloads. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/WTF.xcodeproj/project.pbxproj trunk/Source/WTF/wtf/PlatformFTW.cmake trunk/Source/WTF/wtf/PlatformMac.cmake trunk/Source/WTF/wtf/PlatformWin.cmake trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj Added Paths trunk/Source/WTF/wtf/cf/SpanCF.h trunk/Source/WTF/wtf/cocoa/SpanCocoa.h trunk/Tools/TestWebKitAPI/Tests/WTF/cf/SpanCF.cpp trunk/Tools/TestWebKitAPI/Tests/WTF/cocoa/SpanCocoa.mm Diff Modified: trunk/Source/WTF/ChangeLog (279338 => 279339) --- trunk/Source/WTF/ChangeLog 2021-06-28 13:57:15 UTC (rev 279338) +++ trunk/Source/WTF/ChangeLog 2021-06-28 15:34:32 UTC (rev 279339) @@ -1,3 +1,22 @@ +2021-06-28 Sam Weinig + +Add helpers to create Spans from CFDataRef and NSData +https://bugs.webkit.org/show_bug.cgi?id=227217 + +Reviewed by Chris Dumez. + +Add overloads of asBytes() for CFDataRef and NSData. This is going to +be a common enough pattern to warrent these helpers. + +* WTF.xcodeproj/project.pbxproj: +* wtf/PlatformFTW.cmake: +* wtf/PlatformMac.cmake: +* wtf/PlatformWin.cmake: +* wtf/cf/SpanCF.h: Added. +(WTF::asBytes): +* wtf/cocoa/SpanCocoa.h: Added. +(WTF::asBytes): + 2021-06-27 Antoine Quint [Model] [iOS] Add support for rendering model resources Modified: trunk/Source/WTF/WTF.xcodeproj/project.pbxproj (279338 => 279339) --- trunk/Source/WTF/WTF.xcodeproj/project.pbxproj 2021-06-28 13:57:15 UTC (rev 279338) +++ trunk/Source/WTF/WTF.xcodeproj/project.pbxproj 2021-06-28 15:34:32 UTC (rev 279339) @@ -692,6 +692,8 @@ AD89B6B91E64150F0090707F /* MemoryPressureHandlerCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MemoryPressureHandlerCocoa.mm; sourceTree = ""; }; ADF2CE641E39F106006889DB /* MemoryFootprint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryFootprint.h; sourceTree = ""; }; ADF2CE651E39F106006889DB /* MemoryFootprintCocoa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MemoryFootprintCocoa.cpp; sourceTree = ""; }; + BC3FEB5D267FCD340054006A /* SpanCF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpanCF.h; sourceTree = ""; }; + BC3FEB5E267FCD460054006A /* SpanCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpanCocoa.h; sourceTree = ""; }; BCA30C7F266D3034000D230C /* Span.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Span.h; sourceTree = ""; }; C2BCFC3E1F61D13000C9222C /* Language.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Language.cpp; sourceTree = ""; }; C2BCFC3F1F61D13000C9222C /* Language.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Language.h; sourceTree = ""; }; @@ -840,6 +842,7 @@ C2BCFC411F61D61600C9222C /* LanguageCF.cpp */, 2CDED0EE18115C38004DBA70 /* RunLoopCF.cpp */, A3EE5C3B21FFAC7C00FABD61 /* SchedulePairCF.cpp */, +BC3FEB5D267FCD340054006A /* SpanCF.h */, 1AFDE647195201C300C48FFA /* TypeCastsCF.h */, 5C1F0594216437B30039302C /* URLCF.cpp */, ); @@ -1581,6 +1584,7 @@ 1CA85CA8241B0B260071C2F5 /* RuntimeApplicationChecksCocoa.cpp */, 1CA85CA7241B0B110071C2F5 /* RuntimeApplicationChecksCocoa.h */, A30D412C1F0DE0BA00B71954 /* SoftLinking.h */, +BC3FEB5E267FCD460054006A /* SpanCocoa.h */, EB61EDC62409CCC0001EFE36 /* SystemTracingCocoa.cpp */, 5CC0EE862162BC2200A1A842 /* URLCocoa.mm */, 93241657243BC2E50032FAAE /* VectorCocoa.h */, Modified: trunk/Source/WTF/wtf/PlatformFTW.cmake (279338 => 279339) --- trunk/Source/WTF/wtf/PlatformFTW.cmake 2021-06-28 13:57:15 UTC (rev 279338) +++ trunk/Source/WTF/wtf/PlatformFTW.cmake 2021-06-28 15:34:32 UTC (rev 279339) @@ -37,6 +37,7 @@ if (USE_CF) list(APPEND WTF_PUBLIC_HEADERS cf/CFURLExtras.h +cf/SpanCF.h cf/TypeCastsCF.h
[webkit-changes] [279338] trunk/Tools
Title: [279338] trunk/Tools Revision 279338 Author commit-qu...@webkit.org Date 2021-06-28 06:57:15 -0700 (Mon, 28 Jun 2021) Log Message [webkitpy] Test timeouts not properly detected when running layout tests with Python 3 https://bugs.webkit.org/show_bug.cgi?id=227442 Patch by Philippe Normand on 2021-06-28 Reviewed by Jonathan Bedard. * Scripts/webkitpy/port/driver.py: (Driver._check_for_driver_timeout): out_line contains a byte string, so test it as such. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/port/driver.py Diff Modified: trunk/Tools/ChangeLog (279337 => 279338) --- trunk/Tools/ChangeLog 2021-06-28 12:41:01 UTC (rev 279337) +++ trunk/Tools/ChangeLog 2021-06-28 13:57:15 UTC (rev 279338) @@ -1,3 +1,13 @@ +2021-06-28 Philippe Normand + +[webkitpy] Test timeouts not properly detected when running layout tests with Python 3 +https://bugs.webkit.org/show_bug.cgi?id=227442 + +Reviewed by Jonathan Bedard. + +* Scripts/webkitpy/port/driver.py: +(Driver._check_for_driver_timeout): out_line contains a byte string, so test it as such. + 2021-06-28 Carlos Garcia Campos [GTK] MiniBrowser: add an option to enable the web process sandbox Modified: trunk/Tools/Scripts/webkitpy/port/driver.py (279337 => 279338) --- trunk/Tools/Scripts/webkitpy/port/driver.py 2021-06-28 12:41:01 UTC (rev 279337) +++ trunk/Tools/Scripts/webkitpy/port/driver.py 2021-06-28 13:57:15 UTC (rev 279338) @@ -560,7 +560,7 @@ _log.debug(err_line) if self._port.get_option("sample_on_timeout"): self._port.sample_process(child_process_name, child_process_pid, self._target_host) -if out_line == "FAIL: Timed out waiting for notifyDone to be called\n": +if out_line == b"FAIL: Timed out waiting for notifyDone to be called\n": self._driver_timed_out = True def _check_for_address_sanitizer_violation(self, error_line): ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279337] trunk/Tools
Title: [279337] trunk/Tools Revision 279337 Author carlo...@webkit.org Date 2021-06-28 05:41:01 -0700 (Mon, 28 Jun 2021) Log Message [GTK] MiniBrowser: add an option to enable the web process sandbox https://bugs.webkit.org/show_bug.cgi?id=227343 Reviewed by Michael Catanzaro. * MiniBrowser/gtk/main.c: (activate): (main): Modified Paths trunk/Tools/ChangeLog trunk/Tools/MiniBrowser/gtk/main.c Diff Modified: trunk/Tools/ChangeLog (279336 => 279337) --- trunk/Tools/ChangeLog 2021-06-28 12:40:31 UTC (rev 279336) +++ trunk/Tools/ChangeLog 2021-06-28 12:41:01 UTC (rev 279337) @@ -1,3 +1,14 @@ +2021-06-28 Carlos Garcia Campos + +[GTK] MiniBrowser: add an option to enable the web process sandbox +https://bugs.webkit.org/show_bug.cgi?id=227343 + +Reviewed by Michael Catanzaro. + +* MiniBrowser/gtk/main.c: +(activate): +(main): + 2021-06-28 Daniel Kolesa [GTK][WPE] Add libvpx to jhbuild Modified: trunk/Tools/MiniBrowser/gtk/main.c (279336 => 279337) --- trunk/Tools/MiniBrowser/gtk/main.c 2021-06-28 12:40:31 UTC (rev 279336) +++ trunk/Tools/MiniBrowser/gtk/main.c 2021-06-28 12:41:01 UTC (rev 279337) @@ -52,6 +52,7 @@ static const char *proxy; static gboolean darkMode; static gboolean enableITP; +static gboolean enableSandbox; static gboolean exitAfterLoad; static gboolean webProcessCrashed; static gboolean printVersion; @@ -145,6 +146,7 @@ { "ignore-tls-errors", 0, 0, G_OPTION_ARG_NONE, &ignoreTLSErrors, "Ignore TLS errors", NULL }, { "content-filter", 0, 0, G_OPTION_ARG_FILENAME, &contentFilter, "JSON with content filtering rules", "FILE" }, { "enable-itp", 0, 0, G_OPTION_ARG_NONE, &enableITP, "Enable Intelligent Tracking Prevention (ITP)", NULL }, +{ "enable-sandbox", 0, 0, G_OPTION_ARG_NONE, &enableSandbox, "Enable web process sandbox support", NULL }, { "exit-after-load", 0, 0, G_OPTION_ARG_NONE, &exitAfterLoad, "Quit the browser after the load finishes", NULL }, { "version", 'v', 0, G_OPTION_ARG_NONE, &printVersion, "Print the WebKitGTK version", NULL }, { G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &uriArguments, 0, "[URL…]" }, @@ -674,6 +676,9 @@ NULL); g_object_unref(manager); +if (enableSandbox) +webkit_web_context_set_sandbox_enabled(webContext, TRUE); + if (cookiesPolicy) { WebKitCookieManager *cookieManager = webkit_web_context_get_cookie_manager(webContext); GEnumClass *enumClass = g_type_class_ref(WEBKIT_TYPE_COOKIE_ACCEPT_POLICY); @@ -827,7 +832,7 @@ return 0; } -GtkApplication *application = gtk_application_new(NULL, G_APPLICATION_FLAGS_NONE); +GtkApplication *application = gtk_application_new("org.webkitgtk.MiniBrowser", G_APPLICATION_NON_UNIQUE); g_signal_connect(application, "startup", G_CALLBACK(startup), NULL); g_signal_connect(application, "activate", G_CALLBACK(activate), webkitSettings); g_application_run(G_APPLICATION(application), 0, NULL); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279336] releases/WebKitGTK/webkit-2.32/Source/WebKit
Title: [279336] releases/WebKitGTK/webkit-2.32/Source/WebKit Revision 279336 Author ape...@igalia.com Date 2021-06-28 05:40:31 -0700 (Mon, 28 Jun 2021) Log Message Merge r278301 - [GTK] Try harder to find initial WebKitWebView size https://bugs.webkit.org/show_bug.cgi?id=226320 Patch by Alexander Mikhaylenko on 2021-06-01 Reviewed by Michael Catanzaro. Currently we base the viewport size on the drawing area size. The drawing area is created with an initial size based on the viewport size, which will be (0, 0) because the drawing area is still null by that point. Then, later, during the widget allocation, the drawing area receives its proper size. There are 2 issues here. First, this approach guarantees that the initial viewport size will always be (0, 0), and then there's no guarantee the widget will be allocated any time soon - for example, while GtkNotebook in GTK3 does allocate children that aren't currently visible, GtkStack doesn't (and that means that GtkNotebook in GTK4 and HdyTabView don't either). This leads to a situation where a page opened in background will load with 0, 0 size and if a page depends on that, it won't load correctly. The first issue can be fixed by basing the viewport size on the view allocation as well, and then if the widget isn't allocated, we instead try to use the size of a parent as an estimation, so that the initial size is at least not 0 even if not fully accurate. See https://gitlab.gnome.org/GNOME/epiphany/-/issues/1532 * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::viewSize): * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseGetViewSize): * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Modified Paths releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog releases/WebKitGTK/webkit-2.32/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp releases/WebKitGTK/webkit-2.32/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp releases/WebKitGTK/webkit-2.32/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h Diff Modified: releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog (279335 => 279336) --- releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog 2021-06-28 12:29:37 UTC (rev 279335) +++ releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog 2021-06-28 12:40:31 UTC (rev 279336) @@ -1,3 +1,40 @@ +2021-06-01 Alexander Mikhaylenko + +[GTK] Try harder to find initial WebKitWebView size +https://bugs.webkit.org/show_bug.cgi?id=226320 + +Reviewed by Michael Catanzaro. + +Currently we base the viewport size on the drawing area size. The +drawing area is created with an initial size based on the viewport +size, which will be (0, 0) because the drawing area is still null +by that point. + +Then, later, during the widget allocation, the drawing area receives +its proper size. + +There are 2 issues here. First, this approach guarantees that the +initial viewport size will always be (0, 0), and then there's no +guarantee the widget will be allocated any time soon - for example, +while GtkNotebook in GTK3 does allocate children that aren't currently +visible, GtkStack doesn't (and that means that GtkNotebook in GTK4 and +HdyTabView don't either). This leads to a situation where a page opened +in background will load with 0, 0 size and if a page depends on that, +it won't load correctly. + +The first issue can be fixed by basing the viewport size on the view +allocation as well, and then if the widget isn't allocated, we instead +try to use the size of a parent as an estimation, so that the initial +size is at least not 0 even if not fully accurate. + +See https://gitlab.gnome.org/GNOME/epiphany/-/issues/1532 + +* UIProcess/API/gtk/PageClientImpl.cpp: +(WebKit::PageClientImpl::viewSize): +* UIProcess/API/gtk/WebKitWebViewBase.cpp: +(webkitWebViewBaseGetViewSize): +* UIProcess/API/gtk/WebKitWebViewBasePrivate.h: + 2021-05-28 Zan Dobersek [WPE] Correctly compute wheel event phase for 2D axis events Modified: releases/WebKitGTK/webkit-2.32/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp (279335 => 279336) --- releases/WebKitGTK/webkit-2.32/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp 2021-06-28 12:29:37 UTC (rev 279335) +++ releases/WebKitGTK/webkit-2.32/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp 2021-06-28 12:40:31 UTC (rev 279336) @@ -99,8 +99,7 @@ WebCore::IntSize PageClientImpl::viewSize() { -auto* drawingArea = static_cast(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(m_viewWidget))->drawingArea()); -return drawingArea ? drawingArea->size() : IntSize(); +return webkitWebViewBaseGetViewSize(WEBKIT_WEB_VIEW_BASE(m_viewWidget)); } bool PageClientImpl::isViewWindowActive() Modified: releases/WebKitGTK/webkit-2.32/Source/WebKit/UIProcess/API/gtk/WebKitWebV
[webkit-changes] [279332] releases/WebKitGTK/webkit-2.32/Source/WebKit
Title: [279332] releases/WebKitGTK/webkit-2.32/Source/WebKit Revision 279332 Author ape...@igalia.com Date 2021-06-28 05:20:15 -0700 (Mon, 28 Jun 2021) Log Message Merge r278156 - Transient quarter display with a HiDPI /4k screen and a 200% scaling https://bugs.webkit.org/show_bug.cgi?id=219202 Patch by Alexander Mikhaylenko on 2021-05-27 Reviewed by Adrian Perez de Castro. Set the root layer transformation before syncing animations and not after. This way we avoid having the first frame use the wrong scale on hidpi. * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext): Modified Paths releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog releases/WebKitGTK/webkit-2.32/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp Diff Modified: releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog (279331 => 279332) --- releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog 2021-06-28 11:52:38 UTC (rev 279331) +++ releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog 2021-06-28 12:20:15 UTC (rev 279332) @@ -1,3 +1,16 @@ +2021-05-27 Alexander Mikhaylenko + +Transient quarter display with a HiDPI /4k screen and a 200% scaling +https://bugs.webkit.org/show_bug.cgi?id=219202 + +Reviewed by Adrian Perez de Castro. + +Set the root layer transformation before syncing animations and not after. +This way we avoid having the first frame use the wrong scale on hidpi. + +* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: +(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext): + 2021-05-24 Zan Dobersek [CoordinatedGraphics] Handle null native surface handle for surfaceless rendering Modified: releases/WebKitGTK/webkit-2.32/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp (279331 => 279332) --- releases/WebKitGTK/webkit-2.32/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp 2021-06-28 11:52:38 UTC (rev 279331) +++ releases/WebKitGTK/webkit-2.32/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp 2021-06-28 12:20:15 UTC (rev 279332) @@ -68,13 +68,13 @@ if (!currentRootLayer) return; +if (currentRootLayer->transform() != matrix) +currentRootLayer->setTransform(matrix); + bool sceneHasRunningAnimations = currentRootLayer->applyAnimationsRecursively(MonotonicTime::now()); m_textureMapper->beginPainting(PaintFlags); m_textureMapper->beginClip(TransformationMatrix(), FloatRoundedRect(clipRect)); -if (currentRootLayer->transform() != matrix) -currentRootLayer->setTransform(matrix); - currentRootLayer->paint(*m_textureMapper); m_fpsCounter.updateFPSAndDisplay(*m_textureMapper, clipRect.location(), matrix); m_textureMapper->endClip(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279333] releases/WebKitGTK/webkit-2.32/Source/JavaScriptCore
Title: [279333] releases/WebKitGTK/webkit-2.32/Source/_javascript_Core Revision 279333 Author ape...@igalia.com Date 2021-06-28 05:20:21 -0700 (Mon, 28 Jun 2021) Log Message Merge r278157 - [JSC] Fix crash on 32-bit big endian systems. https://bugs.webkit.org/show_bug.cgi?id=226264 Patch by Daniel Kolesa on 2021-05-27 Reviewed by Caio Araujo Neponoceno de Lima. This is an instance where properly offsetting was missed since the issue was not present in 2.30 series and therefore not fixed by r273104. * llint/LowLevelInterpreter32_64.asm: Modified Paths releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/ChangeLog releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm Diff Modified: releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/ChangeLog (279332 => 279333) --- releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/ChangeLog 2021-06-28 12:20:15 UTC (rev 279332) +++ releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/ChangeLog 2021-06-28 12:20:21 UTC (rev 279333) @@ -1,3 +1,16 @@ +2021-05-27 Daniel Kolesa + +[JSC] Fix crash on 32-bit big endian systems. +https://bugs.webkit.org/show_bug.cgi?id=226264 + +Reviewed by Caio Araujo Neponoceno de Lima. + +This is an instance where properly offsetting was missed since +the issue was not present in 2.30 series and therefore not fixed +by r273104. + +* llint/LowLevelInterpreter32_64.asm: + 2021-04-28 Daniel Kolesa [WPE][GTK] More correct fixes for stack size issues on musl libc Modified: releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (279332 => 279333) --- releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2021-06-28 12:20:15 UTC (rev 279332) +++ releases/WebKitGTK/webkit-2.32/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2021-06-28 12:20:21 UTC (rev 279333) @@ -425,7 +425,7 @@ op(llint_get_host_call_return_value, macro () functionPrologue() pushCalleeSaves() -loadp Callee[cfr], t0 +loadp Callee + PayloadOffset[cfr], t0 convertCalleeToVM(t0) loadi VM::encodedHostCallReturnValue + TagOffset[t0], t1 loadi VM::encodedHostCallReturnValue + PayloadOffset[t0], t0 ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279334] releases/WebKitGTK/webkit-2.32/Source/WebKit
Title: [279334] releases/WebKitGTK/webkit-2.32/Source/WebKit Revision 279334 Author ape...@igalia.com Date 2021-06-28 05:20:26 -0700 (Mon, 28 Jun 2021) Log Message Merge r278198 - [WPE] Correctly compute wheel event phase for 2D axis events https://bugs.webkit.org/show_bug.cgi?id=226370 Patch by Zan Dobersek on 2021-05-28 Reviewed by Adrian Perez de Castro. 2D-capable wpe_input_axis_event objects don't have usable axis and delta values set on the base struct, but keep all that information on the more detailed wpe_input_axis_2d_event struct. For such events, the correct phase then has to be special-cased, otherwise the default determination marks both axes as inactive and only PhaseEnded events are dispatched into the engine. * UIProcess/API/wpe/WPEView.cpp: (WKWPE::m_backend): Modified Paths releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog releases/WebKitGTK/webkit-2.32/Source/WebKit/UIProcess/API/wpe/WPEView.cpp Diff Modified: releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog (279333 => 279334) --- releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog 2021-06-28 12:20:21 UTC (rev 279333) +++ releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog 2021-06-28 12:20:26 UTC (rev 279334) @@ -1,3 +1,21 @@ +2021-05-28 Zan Dobersek + +[WPE] Correctly compute wheel event phase for 2D axis events +https://bugs.webkit.org/show_bug.cgi?id=226370 + +Reviewed by Adrian Perez de Castro. + +2D-capable wpe_input_axis_event objects don't have usable axis and delta +values set on the base struct, but keep all that information on the more +detailed wpe_input_axis_2d_event struct. + +For such events, the correct phase then has to be special-cased, +otherwise the default determination marks both axes as inactive and only +PhaseEnded events are dispatched into the engine. + +* UIProcess/API/wpe/WPEView.cpp: +(WKWPE::m_backend): + 2021-05-27 Alexander Mikhaylenko Transient quarter display with a HiDPI /4k screen and a 200% scaling Modified: releases/WebKitGTK/webkit-2.32/Source/WebKit/UIProcess/API/wpe/WPEView.cpp (279333 => 279334) --- releases/WebKitGTK/webkit-2.32/Source/WebKit/UIProcess/API/wpe/WPEView.cpp 2021-06-28 12:20:21 UTC (rev 279333) +++ releases/WebKitGTK/webkit-2.32/Source/WebKit/UIProcess/API/wpe/WPEView.cpp 2021-06-28 12:20:26 UTC (rev 279334) @@ -167,6 +167,27 @@ Horizontal }; +// We treat an axis motion event with a value of zero to be equivalent +// to a 'stop' event. Motion events with zero motion don't exist naturally, +// so this allows a backend to express 'stop' events without changing API. +// The wheel event phase is adjusted accordingly. +WebWheelEvent::Phase phase = WebWheelEvent::Phase::PhaseChanged; +WebWheelEvent::Phase momentumPhase = WebWheelEvent::Phase::PhaseNone; + +#if WPE_CHECK_VERSION(1, 5, 0) +if (event->type & wpe_input_axis_event_type_mask_2d) { +auto* event2D = reinterpret_cast(event); +view.m_horizontalScrollActive = !!event2D->x_axis; +view.m_verticalScrollActive = !!event2D->y_axis; +if (!view.m_horizontalScrollActive && !view.m_verticalScrollActive) +phase = WebWheelEvent::Phase::PhaseEnded; + +auto& page = view.page(); +page.handleWheelEvent(WebKit::NativeWebWheelEvent(event, page.deviceScaleFactor(), phase, momentumPhase)); +return; +} +#endif + switch (event->axis) { case Vertical: view.m_horizontalScrollActive = !!event->value; @@ -176,14 +197,16 @@ break; } -// We treat an axis motion event with a value of zero to be equivalent -// to a 'stop' event. Motion events with zero motion don't exist naturally, -// so this allows a backend to express 'stop' events without changing API. -auto& page = view.page(); -if (event->value) -page.handleWheelEvent(WebKit::NativeWebWheelEvent(event, page.deviceScaleFactor(), WebWheelEvent::Phase::PhaseChanged, WebWheelEvent::Phase::PhaseNone)); -else if (!view.m_horizontalScrollActive && !view.m_verticalScrollActive) -page.handleWheelEvent(WebKit::NativeWebWheelEvent(event, page.deviceScaleFactor(), WebWheelEvent::Phase::PhaseEnded, WebWheelEvent::Phase::PhaseNone)); +bool shouldDispatch = !!event->value; +if (!view.m_horizontalScrollActive && !view.m_verticalScrollActive) { +shouldDispatch = true; +phase = WebWheelEvent::Phase::PhaseEnded; +} + +if (shouldDispatch) { +auto& page = view.page(); +page.handleWheelEvent(WebKit::NativeWebWheelEvent(event, page.deviceSca
[webkit-changes] [279331] releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE
Title: [279331] releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE Revision 279331 Author ape...@igalia.com Date 2021-06-28 04:52:38 -0700 (Mon, 28 Jun 2021) Log Message Merge r278152 - Cherry-pick ANGLE: D3D11: Skip blits if there is no intersection of dest areas https://bugs.webkit.org/show_bug.cgi?id=225190 Patch by Kimmo Kinnunen on 2021-05-27 Reviewed by David Kilzer. Cherry-pick ANGLE commit b574643ef28c92fcea5122dd7a72acb42a514eed Fixes a security issue on D3D11. Potential a correctness issue on some OpenGL drivers. No effect on Metal, but the nodiscard part is still useful. Upstream description: D3D11: Skip blits if there is no intersection of dest areas Blit11 would clip the destination rectangle with the destination size but ignore the result. gl::ClipRectangle returns false when the rectangles do not intersect at all, indicating the blit can be skipped. This could lead to an out-of-bounds write to the GPU memory for the destination texture. Mark ClipRectangle as nodiscard to prevent future issues. * src/libANGLE/angletypes.h: * src/libANGLE/renderer/d3d/d3d11/Blit11.cpp: * src/libANGLE/renderer/gl/FramebufferGL.cpp: (rx::FramebufferGL::clipSrcRegion): * src/libANGLE/renderer/metal/ContextMtl.mm: (rx::ContextMtl::updateScissor): * src/libANGLE/renderer/vulkan/ContextVk.cpp: (rx::ContextVk::updateScissor): * src/tests/gl_tests/BlitFramebufferANGLETest.cpp: (TEST_P): Modified Paths releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/ChangeLog releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/src/libANGLE/angletypes.h releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Blit11.cpp releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/FramebufferGL.cpp releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ContextVk.cpp releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/src/tests/gl_tests/BlitFramebufferANGLETest.cpp Diff Modified: releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/ChangeLog (279330 => 279331) --- releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/ChangeLog 2021-06-28 11:49:48 UTC (rev 279330) +++ releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/ChangeLog 2021-06-28 11:52:38 UTC (rev 279331) @@ -1,3 +1,38 @@ +2021-05-27 Kimmo Kinnunen + +Cherry-pick ANGLE: D3D11: Skip blits if there is no intersection of dest areas +https://bugs.webkit.org/show_bug.cgi?id=225190 + + +Reviewed by David Kilzer. + +Cherry-pick ANGLE commit b574643ef28c92fcea5122dd7a72acb42a514eed +Fixes a security issue on D3D11. +Potential a correctness issue on some OpenGL drivers. +No effect on Metal, but the nodiscard part is still useful. + +Upstream description: +D3D11: Skip blits if there is no intersection of dest areas + +Blit11 would clip the destination rectangle with the destination size +but ignore the result. gl::ClipRectangle returns false when the +rectangles do not intersect at all, indicating the blit can be skipped. + +This could lead to an out-of-bounds write to the GPU memory for the +destination texture. + +Mark ClipRectangle as nodiscard to prevent future issues. +* src/libANGLE/angletypes.h: +* src/libANGLE/renderer/d3d/d3d11/Blit11.cpp: +* src/libANGLE/renderer/gl/FramebufferGL.cpp: +(rx::FramebufferGL::clipSrcRegion): +* src/libANGLE/renderer/metal/ContextMtl.mm: +(rx::ContextMtl::updateScissor): +* src/libANGLE/renderer/vulkan/ContextVk.cpp: +(rx::ContextVk::updateScissor): +* src/tests/gl_tests/BlitFramebufferANGLETest.cpp: +(TEST_P): + 2021-02-25 Kyle Piddington Fix crashes in fast/canvas/webgl/texImage video tests Modified: releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/src/libANGLE/angletypes.h (279330 => 279331) --- releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/src/libANGLE/angletypes.h 2021-06-28 11:49:48 UTC (rev 279330) +++ releases/WebKitGTK/webkit-2.32/Source/ThirdParty/ANGLE/src/libANGLE/angletypes.h 2021-06-28 11:52:38 UTC (rev 279331) @@ -84,7 +84,9 @@ bool operator!=(const Rectangle &a, const Rectangle &b); // Calculate the intersection of two rectangles. Returns false if the intersection is empty. -bool ClipRectangle(const Rectangle &source, const Rectangle &clip, Rectangle *intersection); +ANGLE_NO_DISCARD bool ClipRectangle(const Rectangle &source, +const Rectangle &clip, +Rectangle *intersection); // Calculate the smallest rectangle that covers both rectangles. This rectangle may cover areas // not covered by the two rectangles, for example in this situation: // Modified: releases/WebKitGTK/webkit-2.32/Source/ThirdP
[webkit-changes] [279329] releases/WebKitGTK/webkit-2.32/Source/WebKit
Title: [279329] releases/WebKitGTK/webkit-2.32/Source/WebKit Revision 279329 Author ape...@igalia.com Date 2021-06-28 04:49:41 -0700 (Mon, 28 Jun 2021) Log Message Merge r277998 - [CoordinatedGraphics] Handle null native surface handle for surfaceless rendering https://bugs.webkit.org/show_bug.cgi?id=226165 Patch by Zan Dobersek on 2021-05-24 Reviewed by Philippe Normand. During ThreadedCompositor initialization, a null native surface handle would represent a surfaceless rendering target. Assuming corresponding driver support for this behavior, the GL context creation would still succeed and composition could be performed. To support this behavior, the GL context is now spawned first, and if successful, the scene is set as active. But in case of a null native surface (i.e. surfaceless rendering), the painting has to be mirrored by default because of the OpenGL coordinate system being the immediate coordinate system inside which we end up working. * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: (WebKit::m_displayRefreshMonitor): (WebKit::ThreadedCompositor::createGLContext): Modified Paths releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog releases/WebKitGTK/webkit-2.32/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp Diff Modified: releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog (279328 => 279329) --- releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog 2021-06-28 10:47:51 UTC (rev 279328) +++ releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog 2021-06-28 11:49:41 UTC (rev 279329) @@ -1,3 +1,25 @@ +2021-05-24 Zan Dobersek + +[CoordinatedGraphics] Handle null native surface handle for surfaceless rendering +https://bugs.webkit.org/show_bug.cgi?id=226165 + +Reviewed by Philippe Normand. + +During ThreadedCompositor initialization, a null native surface handle +would represent a surfaceless rendering target. Assuming corresponding +driver support for this behavior, the GL context creation would still +succeed and composition could be performed. + +To support this behavior, the GL context is now spawned first, and if +successful, the scene is set as active. But in case of a null native +surface (i.e. surfaceless rendering), the painting has to be mirrored +by default because of the OpenGL coordinate system being the immediate +coordinate system inside which we end up working. + +* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: +(WebKit::m_displayRefreshMonitor): +(WebKit::ThreadedCompositor::createGLContext): + 2021-05-10 Carlos Garcia Campos Unreviewed. Update OptionsGTK.cmake and NEWS for 2.32.1 release Modified: releases/WebKitGTK/webkit-2.32/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp (279328 => 279329) --- releases/WebKitGTK/webkit-2.32/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp 2021-06-28 10:47:51 UTC (rev 279328) +++ releases/WebKitGTK/webkit-2.32/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp 2021-06-28 11:49:41 UTC (rev 279329) @@ -70,9 +70,12 @@ m_scene = adoptRef(new CoordinatedGraphicsScene(this)); m_nativeSurfaceHandle = m_client.nativeSurfaceHandleForCompositing(); -m_scene->setActive(!!m_nativeSurfaceHandle); -if (m_nativeSurfaceHandle) -createGLContext(); +createGLContext(); +if (m_context) { +if (!m_nativeSurfaceHandle) +m_paintFlags |= TextureMapper::PaintingMirrored; +m_scene->setActive(true); +} }); } @@ -84,8 +87,6 @@ { ASSERT(!RunLoop::isMain()); -ASSERT(m_nativeSurfaceHandle); - // GLNativeWindowType depends on the EGL implementation: reinterpret_cast works // for pointers (only if they are 64-bit wide and not for other cases), and static_cast for // numeric types (and when needed they get extended to 64-bit) but not for pointers. Using ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279330] releases/WebKitGTK/webkit-2.32/Source/WebCore
Title: [279330] releases/WebKitGTK/webkit-2.32/Source/WebCore Revision 279330 Author ape...@igalia.com Date 2021-06-28 04:49:48 -0700 (Mon, 28 Jun 2021) Log Message Merge r277999 - GLContextEGL::swapBuffers() shouldn't do anything for Surfaceless contexts https://bugs.webkit.org/show_bug.cgi?id=226164 Patch by Zan Dobersek on 2021-05-24 Reviewed by Philippe Normand. In case of a surfaceless GLContextEGL, the swapBuffers() method should return early, avoiding an assert expecting a non-null EGLSurface (not viable for surfaceless context) and a call to eglSwapBuffers(), which on some drivers could still fail even when the surfaceless context support is present and active. * platform/graphics/egl/GLContextEGL.cpp: (WebCore::GLContextEGL::swapBuffers): Modified Paths releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog releases/WebKitGTK/webkit-2.32/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp Diff Modified: releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog (279329 => 279330) --- releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog 2021-06-28 11:49:41 UTC (rev 279329) +++ releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog 2021-06-28 11:49:48 UTC (rev 279330) @@ -1,3 +1,19 @@ +2021-05-24 Zan Dobersek + +GLContextEGL::swapBuffers() shouldn't do anything for Surfaceless contexts +https://bugs.webkit.org/show_bug.cgi?id=226164 + +Reviewed by Philippe Normand. + +In case of a surfaceless GLContextEGL, the swapBuffers() method should +return early, avoiding an assert expecting a non-null EGLSurface (not +viable for surfaceless context) and a call to eglSwapBuffers(), which +on some drivers could still fail even when the surfaceless context +support is present and active. + +* platform/graphics/egl/GLContextEGL.cpp: +(WebCore::GLContextEGL::swapBuffers): + 2021-05-07 Chris Dumez AudioWorkletProcessor which does not extend base class crashes Safari Modified: releases/WebKitGTK/webkit-2.32/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp (279329 => 279330) --- releases/WebKitGTK/webkit-2.32/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp 2021-06-28 11:49:41 UTC (rev 279329) +++ releases/WebKitGTK/webkit-2.32/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp 2021-06-28 11:49:48 UTC (rev 279330) @@ -476,6 +476,9 @@ void GLContextEGL::swapBuffers() { +if (m_type == Surfaceless) +return; + ASSERT(m_surface); eglSwapBuffers(m_display.eglDisplay(), m_surface); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279328] trunk/Source/WebKit
Title: [279328] trunk/Source/WebKit Revision 279328 Author commit-qu...@webkit.org Date 2021-06-28 03:47:51 -0700 (Mon, 28 Jun 2021) Log Message Possible build breakage after r279221 in some unified build configurations https://bugs.webkit.org/show_bug.cgi?id=227440 Unreviewed build fix. Add missing #import since the code use MachSendRight. The code happens to work on default configuration due to unified build. Patch by Kimmo Kinnunen on 2021-06-28 * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm Diff Modified: trunk/Source/WebKit/ChangeLog (279327 => 279328) --- trunk/Source/WebKit/ChangeLog 2021-06-28 10:03:13 UTC (rev 279327) +++ trunk/Source/WebKit/ChangeLog 2021-06-28 10:47:51 UTC (rev 279328) @@ -1,3 +1,16 @@ +2021-06-28 Kimmo Kinnunen + +Possible build breakage after r279221 in some unified build configurations +https://bugs.webkit.org/show_bug.cgi?id=227440 + +Unreviewed build fix. + +Add missing #import since +the code use MachSendRight. The code happens to work on default configuration +due to unified build. + +* Shared/Cocoa/WebCoreArgumentCodersCocoa.mm: + 2021-06-27 Commit Queue Unreviewed, reverting r279322. Modified: trunk/Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm (279327 => 279328) --- trunk/Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm 2021-06-28 10:03:13 UTC (rev 279327) +++ trunk/Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm 2021-06-28 10:47:51 UTC (rev 279328) @@ -52,6 +52,10 @@ #include #endif +#if USE(AVFOUNDATION) +#import +#endif + #if ENABLE(APPLE_PAY) #import "DataReference.h" #import ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279327] trunk/Source/ThirdParty/ANGLE
Title: [279327] trunk/Source/ThirdParty/ANGLE Revision 279327 Author commit-qu...@webkit.org Date 2021-06-28 03:03:13 -0700 (Mon, 28 Jun 2021) Log Message iPhone 6S - iOS 15.0 - unable to retrieve WebGL2 context https://bugs.webkit.org/show_bug.cgi?id=226975 rdar://78966563 Patch by Kimmo Kinnunen on 2021-06-28 Reviewed by Kenneth Russell. Limit the OpenGL ES 3.0 contexts to iOS GPU Family 3, not 4. The limit was most likely added to guard sample_compare lod_options properties .lod and .gradient. However, these are always supported on iOS. Currently there is already ES 3.0 features implemented in ANGLE that are guarded by iOS GPU Family 3. Fixes WebGL 2.0 to work on iPhone6s and similar devices (A9, A9X). * src/libANGLE/renderer/metal/DisplayMtl.mm: (rx::DisplayMtl::getMaxSupportedESVersion const): Modified Paths trunk/Source/ThirdParty/ANGLE/ChangeLog trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm Diff Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (279326 => 279327) --- trunk/Source/ThirdParty/ANGLE/ChangeLog 2021-06-28 10:02:43 UTC (rev 279326) +++ trunk/Source/ThirdParty/ANGLE/ChangeLog 2021-06-28 10:03:13 UTC (rev 279327) @@ -1,5 +1,29 @@ 2021-06-28 Kimmo Kinnunen +iPhone 6S - iOS 15.0 - unable to retrieve WebGL2 context +https://bugs.webkit.org/show_bug.cgi?id=226975 +rdar://78966563 + +Reviewed by Kenneth Russell. + +Limit the OpenGL ES 3.0 contexts to iOS GPU Family 3, not +4. + +The limit was most likely added to guard sample_compare +lod_options properties .lod and .gradient. However, these +are always supported on iOS. + +Currently there is already ES 3.0 features implemented +in ANGLE that are guarded by iOS GPU Family 3. + +Fixes WebGL 2.0 to work on iPhone6s and similar +devices (A9, A9X). + +* src/libANGLE/renderer/metal/DisplayMtl.mm: +(rx::DisplayMtl::getMaxSupportedESVersion const): + +2021-06-28 Kimmo Kinnunen + ANGLE Metal index buffer left mapped when building primitive restart ranges https://bugs.webkit.org/show_bug.cgi?id=227371 Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm (279326 => 279327) --- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm 2021-06-28 10:02:43 UTC (rev 279326) +++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm 2021-06-28 10:03:13 UTC (rev 279327) @@ -386,12 +386,13 @@ gl::Version DisplayMtl::getMaxSupportedESVersion() const { -// NOTE(hqle): Supports GLES 3.0 on iOS GPU Family 4+ for now. -#if TARGET_OS_SIMULATOR // Simulator should be able to support ES3, despite not supporting iOS GPU - // Family 4 in its entirety. +#if TARGET_OS_SIMULATOR +// Simulator should be able to support ES3, despite not supporting iOS GPU +// Family 3 in its entirety. +// FIXME: None of the feature conditions are checked for simulator support. return gl::Version(3, 0); #else -if (supportsEitherGPUFamily(4, 1)) +if (supportsEitherGPUFamily(3, 1)) { return gl::Version(3, 0); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279326] trunk/Source/ThirdParty/ANGLE
Title: [279326] trunk/Source/ThirdParty/ANGLE Revision 279326 Author commit-qu...@webkit.org Date 2021-06-28 03:02:43 -0700 (Mon, 28 Jun 2021) Log Message ANGLE Metal index buffer left mapped when building primitive restart ranges https://bugs.webkit.org/show_bug.cgi?id=227371 Patch by Kimmo Kinnunen on 2021-06-28 Reviewed by Kenneth Russell. * src/libANGLE/renderer/metal/BufferMtl.mm: (rx::calculateRestartRanges): Add unmap. Modified Paths trunk/Source/ThirdParty/ANGLE/ChangeLog trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/BufferMtl.mm Diff Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (279325 => 279326) --- trunk/Source/ThirdParty/ANGLE/ChangeLog 2021-06-28 09:24:49 UTC (rev 279325) +++ trunk/Source/ThirdParty/ANGLE/ChangeLog 2021-06-28 10:02:43 UTC (rev 279326) @@ -1,3 +1,14 @@ +2021-06-28 Kimmo Kinnunen + +ANGLE Metal index buffer left mapped when building primitive restart ranges +https://bugs.webkit.org/show_bug.cgi?id=227371 + +Reviewed by Kenneth Russell. + +* src/libANGLE/renderer/metal/BufferMtl.mm: +(rx::calculateRestartRanges): +Add unmap. + 2021-06-25 Myles C. Maxfield [macOS] WebGL content is unable to use the discrete GPU Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/BufferMtl.mm (279325 => 279326) --- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/BufferMtl.mm 2021-06-28 09:24:49 UTC (rev 279325) +++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/BufferMtl.mm 2021-06-28 10:02:43 UTC (rev 279326) @@ -435,6 +435,7 @@ ranges->push_back(newRange); } } +idxBuffer->unmap(ctx); } const std::vector & BufferMtl::getRestartIndices(ContextMtl * ctx, gl::DrawElementsType indexType) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279325] trunk/Tools
Title: [279325] trunk/Tools Revision 279325 Author commit-qu...@webkit.org Date 2021-06-28 02:24:49 -0700 (Mon, 28 Jun 2021) Log Message [GTK][WPE] Add libvpx to jhbuild https://bugs.webkit.org/show_bug.cgi?id=227437 Patch by Daniel Kolesa on 2021-06-28 Reviewed by Philippe Normand. * jhbuild/jhbuild-minimal.modules: Modified Paths trunk/Tools/ChangeLog trunk/Tools/jhbuild/jhbuild-minimal.modules Diff Modified: trunk/Tools/ChangeLog (279324 => 279325) --- trunk/Tools/ChangeLog 2021-06-28 07:56:26 UTC (rev 279324) +++ trunk/Tools/ChangeLog 2021-06-28 09:24:49 UTC (rev 279325) @@ -1,3 +1,12 @@ +2021-06-28 Daniel Kolesa + +[GTK][WPE] Add libvpx to jhbuild +https://bugs.webkit.org/show_bug.cgi?id=227437 + +Reviewed by Philippe Normand. + +* jhbuild/jhbuild-minimal.modules: + 2021-06-25 Myles C. Maxfield [macOS] -[NSString _web_widthWithFont:] returns 0 Modified: trunk/Tools/jhbuild/jhbuild-minimal.modules (279324 => 279325) --- trunk/Tools/jhbuild/jhbuild-minimal.modules 2021-06-28 07:56:26 UTC (rev 279324) +++ trunk/Tools/jhbuild/jhbuild-minimal.modules 2021-06-28 09:24:49 UTC (rev 279325) @@ -8,6 +8,7 @@ + @@ -16,6 +17,7 @@ + @@ -130,4 +132,14 @@ hash="sha256:8f28f0f7707487435578264ac18e14af17a5eab2062fc925fe01cd96ed802dce"/> + + +vpx.pc + + + ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279324] releases/WebKitGTK/webkit-2.32/Source/WebCore
Title: [279324] releases/WebKitGTK/webkit-2.32/Source/WebCore Revision 279324 Author ape...@igalia.com Date 2021-06-28 00:56:26 -0700 (Mon, 28 Jun 2021) Log Message Merge r277177 - AudioWorkletProcessor which does not extend base class crashes Safari https://bugs.webkit.org/show_bug.cgi?id=225449 Reviewed by Sam Weinig. Update AudioWorkletGlobalScope::createProcessor() to validate the type of the processor after constructing it. * Modules/webaudio/AudioWorkletGlobalScope.cpp: (WebCore::AudioWorkletGlobalScope::createProcessor): Modified Paths releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog releases/WebKitGTK/webkit-2.32/Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp Diff Modified: releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog (279323 => 279324) --- releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog 2021-06-28 05:07:04 UTC (rev 279323) +++ releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog 2021-06-28 07:56:26 UTC (rev 279324) @@ -1,3 +1,17 @@ +2021-05-07 Chris Dumez + +AudioWorkletProcessor which does not extend base class crashes Safari +https://bugs.webkit.org/show_bug.cgi?id=225449 + + +Reviewed by Sam Weinig. + +Update AudioWorkletGlobalScope::createProcessor() to validate the type of the processor +after constructing it. + +* Modules/webaudio/AudioWorkletGlobalScope.cpp: +(WebCore::AudioWorkletGlobalScope::createProcessor): + 2021-05-06 Philippe Normand [WebAudio][GStreamer] socketpair leaks Modified: releases/WebKitGTK/webkit-2.32/Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp (279323 => 279324) --- releases/WebKitGTK/webkit-2.32/Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp 2021-06-28 05:07:04 UTC (rev 279323) +++ releases/WebKitGTK/webkit-2.32/Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp 2021-06-28 07:56:26 UTC (rev 279324) @@ -146,10 +146,13 @@ ASSERT(!!scope.exception() == !object); RETURN_IF_EXCEPTION(scope, nullptr); -auto& jsProcessor = *JSC::jsCast(object); -jsProcessor.wrapped().setProcessCallback(makeUnique(&jsProcessor, globalObject)); +auto* jsProcessor = JSC::jsDynamicCast(vm, object); +if (!jsProcessor) +return nullptr; -return &jsProcessor.wrapped(); +jsProcessor->wrapped().setProcessCallback(makeUnique(jsProcessor, globalObject)); + +return &jsProcessor->wrapped(); } void AudioWorkletGlobalScope::prepareForDestruction() ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes