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

2021-06-28 Thread calvaris
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

2021-06-28 Thread commit-queue
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

2021-06-28 Thread wenson_hsieh
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

2021-06-28 Thread commit-queue
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

2021-06-28 Thread alancoon
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

2021-06-28 Thread darin
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/

2021-06-28 Thread alancoon
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

2021-06-28 Thread heycam
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

2021-06-28 Thread commit-queue
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

2021-06-28 Thread cdumez
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

2021-06-28 Thread sihui_liu
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

2021-06-28 Thread bfulgham
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

2021-06-28 Thread katherine_cheney
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

2021-06-28 Thread wdx
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

2021-06-28 Thread wenson_hsieh
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

2021-06-28 Thread amir_mark
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

2021-06-28 Thread jbedard
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

2021-06-28 Thread weinig
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

2021-06-28 Thread jbedard
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

2021-06-28 Thread commit-queue
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

2021-06-28 Thread pvollan
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

2021-06-28 Thread commit-queue
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

2021-06-28 Thread commit-queue
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

2021-06-28 Thread weinig
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

2021-06-28 Thread commit-queue
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

2021-06-28 Thread carlosgc
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

2021-06-28 Thread aperez
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

2021-06-28 Thread aperez
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

2021-06-28 Thread aperez
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

2021-06-28 Thread aperez
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

2021-06-28 Thread aperez
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

2021-06-28 Thread aperez
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

2021-06-28 Thread aperez
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

2021-06-28 Thread commit-queue
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

2021-06-28 Thread commit-queue
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

2021-06-28 Thread commit-queue
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

2021-06-28 Thread commit-queue
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

2021-06-28 Thread aperez
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