[webkit-changes] [265277] trunk/Tools
Title: [265277] trunk/Tools Revision 265277 Author jbed...@apple.com Date 2020-08-04 22:15:29 -0700 (Tue, 04 Aug 2020) Log Message [webkitcorepy] Add mocks.ContextStack https://bugs.webkit.org/show_bug.cgi?id=214484 Reviewed by Dewei Zhu. Add a class which allows a context leveraging mock to stack. This is useful when mocking requests or subprocess, where a single function (or class of functions) is handling calls that are destined for different for different mock handlers. * Scripts/libraries/webkitcorepy/webkitcorepy/mocks: Added. * Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py: Added. * Scripts/libraries/webkitcorepy/webkitcorepy/mocks/context_stack.py: Added. (ContextStack): Class which stacks mock handlers. * Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks: Added. * Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/__init__.py: Added. * Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/context_stack_unittest.py: Added. (to_be_replaced): Function to be mocked (ExampleStack): Example mock handler. (ContextStack): Test suite. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py Added Paths trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/context_stack.py trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/__init__.py trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/context_stack_unittest.py Diff Modified: trunk/Tools/ChangeLog (265276 => 265277) --- trunk/Tools/ChangeLog 2020-08-05 04:19:05 UTC (rev 265276) +++ trunk/Tools/ChangeLog 2020-08-05 05:15:29 UTC (rev 265277) @@ -1,3 +1,25 @@ +2020-08-04 Jonathan Bedard + +[webkitcorepy] Add mocks.ContextStack +https://bugs.webkit.org/show_bug.cgi?id=214484 + +Reviewed by Dewei Zhu. + +Add a class which allows a context leveraging mock to stack. This is useful when +mocking requests or subprocess, where a single function (or class of functions) +is handling calls that are destined for different for different mock handlers. + +* Scripts/libraries/webkitcorepy/webkitcorepy/mocks: Added. +* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py: Added. +* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/context_stack.py: Added. +(ContextStack): Class which stacks mock handlers. +* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks: Added. +* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/__init__.py: Added. +* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/context_stack_unittest.py: Added. +(to_be_replaced): Function to be mocked +(ExampleStack): Example mock handler. +(ContextStack): Test suite. + 2020-08-04 Fujii Hironori [webkitcorepy] REGRESSION(r265254): autoinstaller is failing to execute setup.py on win32 Python Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py (265276 => 265277) --- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2020-08-05 04:19:05 UTC (rev 265276) +++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2020-08-05 05:15:29 UTC (rev 265277) @@ -29,7 +29,7 @@ from webkitcorepy.version import Version from webkitcorepy.string_utils import BytesIO, StringIO, UnicodeIO, unicode -version = Version(0, 1, 0) +version = Version(0, 1, 1) from webkitcorepy.autoinstall import Package, AutoInstall if sys.version_info > (3, 0): Copied: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py (from rev 265276, trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py) (0 => 265277) --- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py (rev 0) +++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py 2020-08-05 05:15:29 UTC (rev 265277) @@ -0,0 +1,23 @@ +# Copyright (C) 2020 Apple Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +#notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +#notice, this list of conditions and the following disclaimer in the +#documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +#
[webkit-changes] [265276] trunk/Source
Title: [265276] trunk/Source Revision 265276 Author ysuz...@apple.com Date 2020-08-04 21:19:05 -0700 (Tue, 04 Aug 2020) Log Message [JSC] Use LazyNeverDestroyed & std::call_once for complex singletons https://bugs.webkit.org/show_bug.cgi?id=215153 Reviewed by Mark Lam. Source/_javascript_Core: We are getting some crashes in RemoteInspector and this speculatively fixes the crash. My guess is that NeverDestroyed calls constructor twice in heavily contended situation: WebKit's static does not have thread-safety. If two threads come here at the same time, it is possible that constructor is invoked twice. In that case, later constructor will clear members, which involves clearing Lock m_mutex field. This makes Lock's invariant broken. This patch uses LazyNeverDestroyed and std::call_once to ensure invoking constructor only once. * API/glib/JSCVirtualMachine.cpp: * dfg/DFGCommonData.cpp: * disassembler/Disassembler.cpp: * inspector/remote/RemoteInspector.h: * inspector/remote/cocoa/RemoteInspectorCocoa.mm: (Inspector::RemoteInspector::singleton): * inspector/remote/glib/RemoteInspectorGlib.cpp: (Inspector::RemoteInspector::singleton): * inspector/remote/socket/RemoteInspectorServer.cpp: (Inspector::RemoteInspectorServer::singleton): * inspector/remote/socket/RemoteInspectorServer.h: * inspector/remote/socket/RemoteInspectorSocket.cpp: (Inspector::RemoteInspector::singleton): * inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp: (Inspector::RemoteInspectorSocketEndpoint::singleton): * interpreter/Interpreter.cpp: (JSC::Interpreter::opcodeIDTable): * runtime/IntlObject.cpp: (JSC::intlAvailableLocales): (JSC::intlCollatorAvailableLocales): (JSC::defaultLocale): (JSC::numberingSystemsForLocale): Source/WTF: Add lock's bits in crash information to investigate if this speculative fix does not work. * wtf/LockAlgorithmInlines.h: (WTF::Hooks>::lockSlow): (WTF::Hooks>::unlockSlow): Modified Paths trunk/Source/_javascript_Core/API/glib/JSCVirtualMachine.cpp trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGCommonData.cpp trunk/Source/_javascript_Core/disassembler/Disassembler.cpp trunk/Source/_javascript_Core/inspector/remote/RemoteInspector.h trunk/Source/_javascript_Core/inspector/remote/cocoa/RemoteInspectorCocoa.mm trunk/Source/_javascript_Core/inspector/remote/glib/RemoteInspectorGlib.cpp trunk/Source/_javascript_Core/inspector/remote/socket/RemoteInspectorServer.cpp trunk/Source/_javascript_Core/inspector/remote/socket/RemoteInspectorServer.h trunk/Source/_javascript_Core/inspector/remote/socket/RemoteInspectorSocket.cpp trunk/Source/_javascript_Core/inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp trunk/Source/_javascript_Core/interpreter/Interpreter.cpp trunk/Source/_javascript_Core/runtime/IntlObject.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/LockAlgorithmInlines.h Diff Modified: trunk/Source/_javascript_Core/API/glib/JSCVirtualMachine.cpp (265275 => 265276) --- trunk/Source/_javascript_Core/API/glib/JSCVirtualMachine.cpp 2020-08-05 02:32:36 UTC (rev 265275) +++ trunk/Source/_javascript_Core/API/glib/JSCVirtualMachine.cpp 2020-08-05 04:19:05 UTC (rev 265276) @@ -51,8 +51,12 @@ static HashMap& wrapperMap() { -static NeverDestroyed> map; -return map; +static LazyNeverDestroyed> shared; +static std::once_flag onceKey; +std::call_once(onceKey, [&] { +shared.construct(); +}); +return shared; } static void addWrapper(JSContextGroupRef group, JSCVirtualMachine* vm) Modified: trunk/Source/_javascript_Core/ChangeLog (265275 => 265276) --- trunk/Source/_javascript_Core/ChangeLog 2020-08-05 02:32:36 UTC (rev 265275) +++ trunk/Source/_javascript_Core/ChangeLog 2020-08-05 04:19:05 UTC (rev 265276) @@ -1,3 +1,41 @@ +2020-08-04 Yusuke Suzuki + +[JSC] Use LazyNeverDestroyed & std::call_once for complex singletons +https://bugs.webkit.org/show_bug.cgi?id=215153 + + +Reviewed by Mark Lam. + +We are getting some crashes in RemoteInspector and this speculatively fixes the crash. +My guess is that NeverDestroyed calls constructor twice in heavily contended situation: +WebKit's static does not have thread-safety. If two threads come here at the same time, it is possible that +constructor is invoked twice. In that case, later constructor will clear members, which involves clearing +Lock m_mutex field. This makes Lock's invariant broken. +This patch uses LazyNeverDestroyed and std::call_once to ensure invoking constructor only once. + +* API/glib/JSCVirtualMachine.cpp: +* dfg/DFGCommonData.cpp: +* disassembler/Disassembler.cpp: +* inspector/remote/RemoteInspector.h: +* inspector/remote/cocoa/RemoteInspectorCocoa.mm: +(Inspector::RemoteInspector::singleton): +* inspector/remote/glib/RemoteInspectorGlib.cpp: +(Inspector::RemoteInspector::singleton): +*
[webkit-changes] [265275] trunk/LayoutTests
Title: [265275] trunk/LayoutTests Revision 265275 Author andresg...@apple.com Date 2020-08-04 19:32:36 -0700 (Tue, 04 Aug 2020) Log Message Disable isolated-tree-mode-on-off.html because it is causing other test failures.. https://bugs.webkit.org/show_bug.cgi?id=215151 Reviewed by Chris Fleizach. This test turns isolated tree mode on and causes other concurrent test to also run in isolated tree mode, and thus random failures. Will enable once all tests succeed in isolated tree mode, or we can turn the mode on only for a particular test without affecting others. * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (265274 => 265275) --- trunk/LayoutTests/ChangeLog 2020-08-05 01:56:26 UTC (rev 265274) +++ trunk/LayoutTests/ChangeLog 2020-08-05 02:32:36 UTC (rev 265275) @@ -1,3 +1,18 @@ +2020-08-04 Andres Gonzalez + +Disable isolated-tree-mode-on-off.html because it is causing other test failures.. +https://bugs.webkit.org/show_bug.cgi?id=215151 + + +Reviewed by Chris Fleizach. + +This test turns isolated tree mode on and causes other concurrent test +to also run in isolated tree mode, and thus random failures. Will enable +once all tests succeed in isolated tree mode, or we can turn the mode on +only for a particular test without affecting others. + +* platform/mac/TestExpectations: + 2020-08-04 Jer Noble REGRESSION(r265167): media/media-source/media-source-webm.html failing Modified: trunk/LayoutTests/platform/mac/TestExpectations (265274 => 265275) --- trunk/LayoutTests/platform/mac/TestExpectations 2020-08-05 01:56:26 UTC (rev 265274) +++ trunk/LayoutTests/platform/mac/TestExpectations 2020-08-05 02:32:36 UTC (rev 265275) @@ -1745,6 +1745,9 @@ webkit.org/b/205403 accessibility/presentation-role-iframe.html [ Pass Failure ] +# Disabled temporarily since it is causing other tests to fail. +accessibility/mac/isolated-tree-mode-on-off.html [ Skip ] + webkit.org/b/202064 webaudio/silent-audio-interrupted-in-background.html [ Pass Crash ] webkit.org/b/205756 webgl/2.0.0/conformance2/glsl3/no-attribute-vertex-shader.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [265274] trunk/Tools
Title: [265274] trunk/Tools Revision 265274 Author hironori.fu...@sony.com Date 2020-08-04 18:56:26 -0700 (Tue, 04 Aug 2020) Log Message [webkitcorepy] REGRESSION(r265254): autoinstaller is failing to execute setup.py on win32 Python https://bugs.webkit.org/show_bug.cgi?id=215152 Reviewed by Jonathan Bedard. There were two problems. Win32 Python needs SYSTEMROOT environment variable to run setup.py. win-inet-pton is using `_` for the directory name (win_inet_pton-1.1.0). * Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py: (Package.install): Add a new candidate directory by replacing '-' with '_'. Pass through SYSTEMROOT env var. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py Diff Modified: trunk/Tools/ChangeLog (265273 => 265274) --- trunk/Tools/ChangeLog 2020-08-05 01:41:55 UTC (rev 265273) +++ trunk/Tools/ChangeLog 2020-08-05 01:56:26 UTC (rev 265274) @@ -1,3 +1,18 @@ +2020-08-04 Fujii Hironori + +[webkitcorepy] REGRESSION(r265254): autoinstaller is failing to execute setup.py on win32 Python +https://bugs.webkit.org/show_bug.cgi?id=215152 + +Reviewed by Jonathan Bedard. + +There were two problems. Win32 Python needs SYSTEMROOT environment +variable to run setup.py. win-inet-pton is using `_` for the +directory name (win_inet_pton-1.1.0). + +* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py: +(Package.install): Add a new candidate directory by replacing '-' +with '_'. Pass through SYSTEMROOT env var. + 2020-08-04 Wenson Hsieh Move poseAsClass() into the TestRunnerShared directory Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py (265273 => 265274) --- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py 2020-08-05 01:41:55 UTC (rev 265273) +++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py 2020-08-05 01:56:26 UTC (rev 265274) @@ -202,6 +202,7 @@ for candidate in [ os.path.join(temp_location, str(archive)), os.path.join(temp_location, '{}-{}.{}'.format(archive.name, archive.version.major, archive.version.minor)), +os.path.join(temp_location, '{}-{}.{}.{}'.format(archive.name.replace('-', '_'), archive.version.major, archive.version.minor, archive.version.tiny)), ]: if not os.path.exists(os.path.join(candidate, 'setup.py')): continue @@ -233,6 +234,7 @@ PATH=os.environ.get('PATH', ''), PATHEXT=os.environ.get('PATHEXT', ''), PYTHONPATH=install_location, +SYSTEMROOT=os.environ.get('SYSTEMROOT', ''), ), stdout=devnull, stderr=devnull, ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [265273] trunk/LayoutTests
Title: [265273] trunk/LayoutTests Revision 265273 Author jer.no...@apple.com Date 2020-08-04 18:41:55 -0700 (Tue, 04 Aug 2020) Log Message REGRESSION(r265167): media/media-source/media-source-webm.html failing https://bugs.webkit.org/show_bug.cgi?id=215142 Reviewed by Eric Carlson. Once we started checking the "codecs=" parameter of the MIME type in MediaSource.isTypeSupported(), the media-source-webm.html test started failing, as the codecs string didn't include some mandatory entries. Also re-wrote the test to use a single try/catch block to catch errors without timing out. * media/media-source/content/test-vp9-manifest.json: * media/media-source/media-source-webm.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/media/media-source/content/test-vp9-manifest.json trunk/LayoutTests/media/media-source/media-source-webm.html Diff Modified: trunk/LayoutTests/ChangeLog (265272 => 265273) --- trunk/LayoutTests/ChangeLog 2020-08-05 01:32:52 UTC (rev 265272) +++ trunk/LayoutTests/ChangeLog 2020-08-05 01:41:55 UTC (rev 265273) @@ -1,3 +1,18 @@ +2020-08-04 Jer Noble + +REGRESSION(r265167): media/media-source/media-source-webm.html failing +https://bugs.webkit.org/show_bug.cgi?id=215142 + + +Reviewed by Eric Carlson. + +Once we started checking the "codecs=" parameter of the MIME type in MediaSource.isTypeSupported(), +the media-source-webm.html test started failing, as the codecs string didn't include some mandatory +entries. Also re-wrote the test to use a single try/catch block to catch errors without timing out. + +* media/media-source/content/test-vp9-manifest.json: +* media/media-source/media-source-webm.html: + 2020-08-04 Chris Fleizach AX: VoiceOver needs access to font styling at insertion point Modified: trunk/LayoutTests/media/media-source/content/test-vp9-manifest.json (265272 => 265273) --- trunk/LayoutTests/media/media-source/content/test-vp9-manifest.json 2020-08-05 01:32:52 UTC (rev 265272) +++ trunk/LayoutTests/media/media-source/content/test-vp9-manifest.json 2020-08-05 01:41:55 UTC (rev 265273) @@ -1,6 +1,6 @@ { "url": "content/test-vp9.webm", - "type": "video/webm; codecs=\"vp09.00.10.08.01\"", + "type": "video/webm; codecs=\"vp09.00.10.08\"", "init": { "offset": 0, "size": 629 }, "duration": 2, "media": [ Modified: trunk/LayoutTests/media/media-source/media-source-webm.html (265272 => 265273) --- trunk/LayoutTests/media/media-source/media-source-webm.html 2020-08-05 01:32:52 UTC (rev 265272) +++ trunk/LayoutTests/media/media-source/media-source-webm.html 2020-08-05 01:41:55 UTC (rev 265273) @@ -9,50 +9,56 @@ var source; var sourceBuffer; -function runTest() { -findMediaElement(); - -loader = new MediaSourceLoader('content/test-vp9-manifest.json'); -loader._onload_ = mediaDataLoaded; -loader._onerror_ = mediaDataLoadingFailed; +function loaderPromise(loader) { +return new Promise((resolve, reject) => { +loader._onload_ = resolve; +loader._onerror_ = reject; +}); } -function mediaDataLoadingFailed() { -failTest('Media data loading failed'); +function resizePromise(video, width, height) { +return new Promise(resolve => { +video.addEventListener('resize', event => { +// First resize can be 0x0 +if (video.videoWidth == 0 && video.videoHeight == 0) +return; +consoleWrite(`EVENT(${event.type})`); +testExpected('video.videoWidth', width); +testExpected('video.videoHeight', height); +resolve(); +}); +}); } -function mediaDataLoaded() { -source = new MediaSource(); -waitForEvent('sourceopen', sourceOpen, false, false, source); -waitForEventAndFail('error'); -run('video.src = "" -} +window.addEventListener('load', async event => { +try { +findMediaElement(); +loader = new MediaSourceLoader('content/test-vp9-manifest.json'); +await loaderPromise(loader); -function sourceOpen() { -run('source.duration = loader.duration()'); -run('sourceBuffer = source.addSourceBuffer(loader.type())'); -waitForEventOn(sourceBuffer, 'update', sourceInitialized, false, true); -waitForEventOnce('resize', resize); -run('sourceBuffer.appendBuffer(loader.initSegment())'); -} +source = new MediaSource(); +run('video.src = "" +await waitFor(source, 'sourceopen'); +waitForEventAndFail('error'); -function sourceInitialized() { -waitForEventOnce('resize', resize); -consoleWrite('Append a media segment.') -run('sourceBuffer.appendBuffer(loader.mediaSegment(0))'); -} +run('source.duration =
[webkit-changes] [265272] trunk
Title: [265272] trunk Revision 265272 Author keith_mil...@apple.com Date 2020-08-04 18:32:52 -0700 (Tue, 04 Aug 2020) Log Message CheckpointSideState shoud play nicely with StackOverflowException unwinding. https://bugs.webkit.org/show_bug.cgi?id=215114 Reviewed by Saam Barati. JSTests: * stress/stack-overflow-into-frame-with-pending-checkpoint.js: Added. (foo.catch.async bar): (foo.catch): (foo): Source/_javascript_Core: This patch fixes an issue where we the StackVisitor would automatically unwind into the first frame before calling into the provided functor. As a note, we do this because the first frame is not fully initialized at the time we check for stack overflow. When this happened we would fail to clear the side state causing a memory leak. To fix this the unwind function now clears every checkpoint up to and including the call frame containing our handler. Some care needs to be taken that we don't clear checkpoint side state for other threads, which could happen if there are no checkpoints on the current thread and an API miggrated us from another thread below the current thread. This patch also makes two refacorings. The first is to make the checkpoint side state into a stack, which is how we used it anyway. The second is that CallFrame::dump and everything associated with it is now marked const so we can PointerDump a CallFrame*. * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::compileExit): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): * interpreter/CallFrame.cpp: (JSC::CallFrame::bytecodeIndex const): (JSC::CallFrame::codeOrigin const): (JSC::CallFrame::dump const): (JSC::CallFrame::bytecodeIndex): Deleted. (JSC::CallFrame::codeOrigin): Deleted. (JSC::CallFrame::dump): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::argument const): (JSC::CallFrame::uncheckedArgument const): (JSC::CallFrame::getArgumentUnsafe const): (JSC::CallFrame::thisValue const): (JSC::CallFrame::newTarget const): (JSC::CallFrame::argument): Deleted. (JSC::CallFrame::uncheckedArgument): Deleted. (JSC::CallFrame::getArgumentUnsafe): Deleted. (JSC::CallFrame::thisValue): Deleted. (JSC::CallFrame::newTarget): Deleted. * interpreter/CheckpointOSRExitSideState.h: (JSC::CheckpointOSRExitSideState::CheckpointOSRExitSideState): * interpreter/Interpreter.cpp: (JSC::UnwindFunctor::operator() const): (JSC::Interpreter::unwind): (): Deleted. * llint/LLIntSlowPaths.cpp: (JSC::LLInt::slow_path_checkpoint_osr_exit_from_inlined_call): (JSC::LLInt::slow_path_checkpoint_osr_exit): * runtime/VM.cpp: (JSC::VM::scanSideState const): (JSC::VM::pushCheckpointOSRSideState): (JSC::VM::popCheckpointOSRSideState): (JSC::VM::popAllCheckpointOSRSideStateUntil): (JSC::VM::addCheckpointOSRSideState): Deleted. (JSC::VM::findCheckpointOSRSideState): Deleted. * runtime/VM.h: Source/WTF: Add a helper so we can have soft stack bounds. * wtf/StackBounds.h: (WTF::StackBounds::withSoftOrigin const): Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGOSRExit.cpp trunk/Source/_javascript_Core/ftl/FTLOSRExitCompiler.cpp trunk/Source/_javascript_Core/interpreter/CallFrame.cpp trunk/Source/_javascript_Core/interpreter/CallFrame.h trunk/Source/_javascript_Core/interpreter/CheckpointOSRExitSideState.h trunk/Source/_javascript_Core/interpreter/Interpreter.cpp trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp trunk/Source/_javascript_Core/runtime/VM.cpp trunk/Source/_javascript_Core/runtime/VM.h trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/StackBounds.h Added Paths trunk/JSTests/stress/stack-overflow-into-frame-with-pending-checkpoint.js Diff Modified: trunk/JSTests/ChangeLog (265271 => 265272) --- trunk/JSTests/ChangeLog 2020-08-05 01:27:12 UTC (rev 265271) +++ trunk/JSTests/ChangeLog 2020-08-05 01:32:52 UTC (rev 265272) @@ -1,3 +1,15 @@ +2020-08-04 Keith Miller + +CheckpointSideState shoud play nicely with StackOverflowException unwinding. +https://bugs.webkit.org/show_bug.cgi?id=215114 + +Reviewed by Saam Barati. + +* stress/stack-overflow-into-frame-with-pending-checkpoint.js: Added. +(foo.catch.async bar): +(foo.catch): +(foo): + 2020-08-03 Caio Lima [JSC][MIPS] Test gardening July 31st edition Added: trunk/JSTests/stress/stack-overflow-into-frame-with-pending-checkpoint.js (0 => 265272) --- trunk/JSTests/stress/stack-overflow-into-frame-with-pending-checkpoint.js (rev 0) +++ trunk/JSTests/stress/stack-overflow-into-frame-with-pending-checkpoint.js 2020-08-05 01:32:52 UTC (rev 265272) @@ -0,0 +1,19 @@ +//@ requireOptions("--jitPolicyScale=0") + +function foo() { + 'use strict' + try { +foo(); + } catch(e) { +({__proto__:0}); +async function bar(a0) { + bar(a0, ...[0]); +} +for (let i=0; i<1000; i++) { + bar(); +} +bar(0, 0); + } +} + +foo(); Modified: trunk/Source/_javascript_Core/ChangeLog (265271 => 265272)
[webkit-changes] [265271] trunk/Tools
Title: [265271] trunk/Tools Revision 265271 Author wenson_hs...@apple.com Date 2020-08-04 18:27:12 -0700 (Tue, 04 Aug 2020) Log Message Move poseAsClass() into the TestRunnerShared directory https://bugs.webkit.org/show_bug.cgi?id=215147 Reviewed by Tim Horton. Move the duplicated implementations of `poseAsClass()` out of WebKitTestRunner and DumpRenderTree, and into helper files in TestRunnerShared instead. No change in behavior. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/mac/DumpRenderTree.mm: (poseAsClass): Deleted. (setPersistentUserStyleSheetLocation): Deleted. * TestRunnerShared/cocoa/PoseAsClass.h: Renamed from Tools/WebKitTestRunner/mac/PoseAsClass.h. * TestRunnerShared/cocoa/PoseAsClass.mm: Renamed from Tools/WebKitTestRunner/mac/PoseAsClass.mm. (swizzleAllMethods): (poseAsClass): * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Modified Paths trunk/Tools/ChangeLog trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj Added Paths trunk/Tools/TestRunnerShared/cocoa/PoseAsClass.h trunk/Tools/TestRunnerShared/cocoa/PoseAsClass.mm Removed Paths trunk/Tools/WebKitTestRunner/mac/PoseAsClass.h trunk/Tools/WebKitTestRunner/mac/PoseAsClass.mm Diff Modified: trunk/Tools/ChangeLog (265270 => 265271) --- trunk/Tools/ChangeLog 2020-08-05 00:43:32 UTC (rev 265270) +++ trunk/Tools/ChangeLog 2020-08-05 01:27:12 UTC (rev 265271) @@ -1,3 +1,25 @@ +2020-08-04 Wenson Hsieh + +Move poseAsClass() into the TestRunnerShared directory +https://bugs.webkit.org/show_bug.cgi?id=215147 + +Reviewed by Tim Horton. + +Move the duplicated implementations of `poseAsClass()` out of WebKitTestRunner and DumpRenderTree, +and into helper files in TestRunnerShared instead. + +No change in behavior. + +* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: +* DumpRenderTree/mac/DumpRenderTree.mm: +(poseAsClass): Deleted. +(setPersistentUserStyleSheetLocation): Deleted. +* TestRunnerShared/cocoa/PoseAsClass.h: Renamed from Tools/WebKitTestRunner/mac/PoseAsClass.h. +* TestRunnerShared/cocoa/PoseAsClass.mm: Renamed from Tools/WebKitTestRunner/mac/PoseAsClass.mm. +(swizzleAllMethods): +(poseAsClass): +* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: + 2020-08-04 Per Arne Vollan [iOS] Check that Accessibility is enabled when receiving the enable Accessibility notification Modified: trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj (265270 => 265271) --- trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj 2020-08-05 00:43:32 UTC (rev 265270) +++ trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj 2020-08-05 01:27:12 UTC (rev 265271) @@ -156,6 +156,7 @@ C23EA2081BC9F05100C980B7 /* FontWithFeatures.otf in Copy Font Files */ = {isa = PBXBuildFile; fileRef = C23EA2061BC9EABA00C980B7 /* FontWithFeatures.otf */; }; C23EA2091BC9F05100C980B7 /* FontWithFeatures.ttf in Copy Font Files */ = {isa = PBXBuildFile; fileRef = C23EA2071BC9EABA00C980B7 /* FontWithFeatures.ttf */; }; E1B7816511AF31B7007E1BC2 /* MockGeolocationProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1B7808711AF1669007E1BC2 /* MockGeolocationProvider.mm */; }; + F4010B7B24DA201F00A876E2 /* PoseAsClass.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4010B7924DA200E00A876E2 /* PoseAsClass.mm */; }; F445C68624B2789D00790440 /* UIScriptControllerShared.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F445C68524B2788F00790440 /* UIScriptControllerShared.cpp */; }; F445C68924B278EC00790440 /* UIScriptController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F445C68824B278EC00790440 /* UIScriptController.cpp */; }; F44A531D21B89A4D00DBB99C /* ClassMethodSwizzler.mm in Sources */ = {isa = PBXBuildFile; fileRef = F44A531A21B89A4400DBB99C /* ClassMethodSwizzler.mm */; }; @@ -428,6 +429,8 @@ C23EA2071BC9EABA00C980B7 /* FontWithFeatures.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontWithFeatures.ttf; path = fonts/FontWithFeatures.ttf; sourceTree = ""; }; E1B7808511AF1643007E1BC2 /* MockGeolocationProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MockGeolocationProvider.h; path = mac/MockGeolocationProvider.h; sourceTree = ""; }; E1B7808711AF1669007E1BC2 /* MockGeolocationProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MockGeolocationProvider.mm; path = mac/MockGeolocationProvider.mm; sourceTree = ""; }; + F4010B7924DA200E00A876E2 /* PoseAsClass.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PoseAsClass.mm; sourceTree = ""; }; +
[webkit-changes] [265270] trunk/Source/WebKit
Title: [265270] trunk/Source/WebKit Revision 265270 Author bfulg...@apple.com Date 2020-08-04 17:43:32 -0700 (Tue, 04 Aug 2020) Log Message Unreviewed build fix after r265263 https://bugs.webkit.org/show_bug.cgi?id=215139 * UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeWebProcess): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm Diff Modified: trunk/Source/WebKit/ChangeLog (265269 => 265270) --- trunk/Source/WebKit/ChangeLog 2020-08-04 23:48:36 UTC (rev 265269) +++ trunk/Source/WebKit/ChangeLog 2020-08-05 00:43:32 UTC (rev 265270) @@ -1,3 +1,12 @@ +2020-08-04 Brent Fulgham + +Unreviewed build fix after r265263 +https://bugs.webkit.org/show_bug.cgi?id=215139 + + +* UIProcess/Cocoa/WebProcessPoolCocoa.mm: +(WebKit::WebProcessPool::platformInitializeWebProcess): + 2020-08-04 Devin Rousso "DoubleDown Casino" respin button stops working with trackpad Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (265269 => 265270) --- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2020-08-04 23:48:36 UTC (rev 265269) +++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2020-08-05 00:43:32 UTC (rev 265270) @@ -386,6 +386,8 @@ // FIXME: Remove this and related parameter when is fixed. if (isSafari && mediaDevicesEnabled && !m_defaultPageGroup->preferences().captureAudioInUIProcessEnabled() && !m_defaultPageGroup->preferences().captureAudioInGPUProcessEnabled()) SandboxExtension::createHandleForGenericExtension("com.apple.webkit.microphone"_s, parameters.audioCaptureExtensionHandle); +#else +UNUSED_PARAM(mediaDevicesEnabled); #endif #endif ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [265269] trunk/Source
Title: [265269] trunk/Source Revision 265269 Author drou...@apple.com Date 2020-08-04 16:48:36 -0700 (Tue, 04 Aug 2020) Log Message "DoubleDown Casino" respin button stops working with trackpad https://bugs.webkit.org/show_bug.cgi?id=215146 Reviewed by Tim Horton. Source/WebCore: * platform/RuntimeApplicationChecks.h: * platform/cocoa/RuntimeApplicationChecksCocoa.mm: (WebCore::IOSApplication::isDoubleDown): Added. Source/WebKit: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView shouldUseMouseGestureRecognizer]): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/RuntimeApplicationChecks.h trunk/Source/WebCore/platform/cocoa/RuntimeApplicationChecksCocoa.mm trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/Source/WebCore/ChangeLog (265268 => 265269) --- trunk/Source/WebCore/ChangeLog 2020-08-04 23:38:29 UTC (rev 265268) +++ trunk/Source/WebCore/ChangeLog 2020-08-04 23:48:36 UTC (rev 265269) @@ -1,3 +1,15 @@ +2020-08-04 Devin Rousso + +"DoubleDown Casino" respin button stops working with trackpad +https://bugs.webkit.org/show_bug.cgi?id=215146 + + +Reviewed by Tim Horton. + +* platform/RuntimeApplicationChecks.h: +* platform/cocoa/RuntimeApplicationChecksCocoa.mm: +(WebCore::IOSApplication::isDoubleDown): Added. + 2020-08-04 Chris Dumez Align AudioListener with the W3C specification Modified: trunk/Source/WebCore/platform/RuntimeApplicationChecks.h (265268 => 265269) --- trunk/Source/WebCore/platform/RuntimeApplicationChecks.h 2020-08-04 23:38:29 UTC (rev 265268) +++ trunk/Source/WebCore/platform/RuntimeApplicationChecks.h 2020-08-04 23:48:36 UTC (rev 265269) @@ -107,6 +107,7 @@ WEBCORE_EXPORT bool isEssentialSkeleton(); WEBCORE_EXPORT bool isLaBanquePostale(); WEBCORE_EXPORT bool isESPNFantasySports(); +WEBCORE_EXPORT bool isDoubleDown(); } // IOSApplication Modified: trunk/Source/WebCore/platform/cocoa/RuntimeApplicationChecksCocoa.mm (265268 => 265269) --- trunk/Source/WebCore/platform/cocoa/RuntimeApplicationChecksCocoa.mm 2020-08-04 23:38:29 UTC (rev 265268) +++ trunk/Source/WebCore/platform/cocoa/RuntimeApplicationChecksCocoa.mm 2020-08-04 23:48:36 UTC (rev 265269) @@ -398,6 +398,12 @@ return isESPNFantasySports; } +bool IOSApplication::isDoubleDown() +{ +static bool isDoubleDown = applicationBundleIsEqualTo("com.doubledowninteractive.DDCasino"_s); +return isDoubleDown; +} + #endif } // namespace WebCore Modified: trunk/Source/WebKit/ChangeLog (265268 => 265269) --- trunk/Source/WebKit/ChangeLog 2020-08-04 23:38:29 UTC (rev 265268) +++ trunk/Source/WebKit/ChangeLog 2020-08-04 23:48:36 UTC (rev 265269) @@ -1,3 +1,14 @@ +2020-08-04 Devin Rousso + +"DoubleDown Casino" respin button stops working with trackpad +https://bugs.webkit.org/show_bug.cgi?id=215146 + + +Reviewed by Tim Horton. + +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView shouldUseMouseGestureRecognizer]): + 2020-08-04 Per Arne Vollan [iOS] Issue a temporary extension to the MobileGestalt daemon when the MobileGestalt cache is invalid Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (265268 => 265269) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2020-08-04 23:38:29 UTC (rev 265268) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2020-08-04 23:48:36 UTC (rev 265269) @@ -8639,6 +8639,10 @@ if (WebCore::IOSApplication::isESPNFantasySports()) return NO; +// DoubleDown Casino respin button stops working with trackpad +if (WebCore::IOSApplication::isDoubleDown()) +return NO; + return YES; }(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [265268] branches/safari-610.1.25-branch/Source/WebKit
Title: [265268] branches/safari-610.1.25-branch/Source/WebKit Revision 265268 Author alanc...@apple.com Date 2020-08-04 16:38:29 -0700 (Tue, 04 Aug 2020) Log Message Cherry-pick r265260. rdar://problem/66548143 [iOS Simulator] Assert under WebPage::platformDidReceiveLoadParameters https://bugs.webkit.org/show_bug.cgi?id=215108 Reviewed by Youenn Fablet. This asserts because it appears that the WebContent and Networking process do not have the required entitlement com.apple.private.webkit.use-xpc-endpoint on the iOS Simulator. Add the entitlement for simulator. No new tests, covered by existing tests. * Resources/ios/XPCService-embedded-simulator.entitlements: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265260 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-610.1.25-branch/Source/WebKit/ChangeLog branches/safari-610.1.25-branch/Source/WebKit/Resources/ios/XPCService-embedded-simulator.entitlements Diff Modified: branches/safari-610.1.25-branch/Source/WebKit/ChangeLog (265267 => 265268) --- branches/safari-610.1.25-branch/Source/WebKit/ChangeLog 2020-08-04 23:10:17 UTC (rev 265267) +++ branches/safari-610.1.25-branch/Source/WebKit/ChangeLog 2020-08-04 23:38:29 UTC (rev 265268) @@ -1,3 +1,36 @@ +2020-08-04 Russell Epstein + +Cherry-pick r265260. rdar://problem/66548143 + +[iOS Simulator] Assert under WebPage::platformDidReceiveLoadParameters +https://bugs.webkit.org/show_bug.cgi?id=215108 + +Reviewed by Youenn Fablet. + +This asserts because it appears that the WebContent and Networking process do not have the required entitlement +com.apple.private.webkit.use-xpc-endpoint on the iOS Simulator. Add the entitlement for simulator. + +No new tests, covered by existing tests. + +* Resources/ios/XPCService-embedded-simulator.entitlements: + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265260 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2020-08-04 Per Arne Vollan + +[iOS Simulator] Assert under WebPage::platformDidReceiveLoadParameters +https://bugs.webkit.org/show_bug.cgi?id=215108 + +Reviewed by Youenn Fablet. + +This asserts because it appears that the WebContent and Networking process do not have the required entitlement +com.apple.private.webkit.use-xpc-endpoint on the iOS Simulator. Add the entitlement for simulator. + +No new tests, covered by existing tests. + +* Resources/ios/XPCService-embedded-simulator.entitlements: + 2020-08-04 Alan Coon Cherry-pick r265222. rdar://problem/66528551 Modified: branches/safari-610.1.25-branch/Source/WebKit/Resources/ios/XPCService-embedded-simulator.entitlements (265267 => 265268) --- branches/safari-610.1.25-branch/Source/WebKit/Resources/ios/XPCService-embedded-simulator.entitlements 2020-08-04 23:10:17 UTC (rev 265267) +++ branches/safari-610.1.25-branch/Source/WebKit/Resources/ios/XPCService-embedded-simulator.entitlements 2020-08-04 23:38:29 UTC (rev 265268) @@ -4,5 +4,7 @@ com.apple.runningboard.assertions.webkit + com.apple.private.webkit.use-xpc-endpoint + ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [265267] trunk/Source/WebKit
Title: [265267] trunk/Source/WebKit Revision 265267 Author pvol...@apple.com Date 2020-08-04 16:10:17 -0700 (Tue, 04 Aug 2020) Log Message [iOS] Issue a temporary extension to the MobileGestalt daemon when the MobileGestalt cache is invalid https://bugs.webkit.org/show_bug.cgi?id=214965 Unreviewed, address review comments. Add comment explaining why a set of MobileGestalt queries are performed when starting up the WebContent process on iOS. * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm Diff Modified: trunk/Source/WebKit/ChangeLog (265266 => 265267) --- trunk/Source/WebKit/ChangeLog 2020-08-04 23:01:49 UTC (rev 265266) +++ trunk/Source/WebKit/ChangeLog 2020-08-04 23:10:17 UTC (rev 265267) @@ -1,5 +1,17 @@ 2020-08-04 Per Arne Vollan +[iOS] Issue a temporary extension to the MobileGestalt daemon when the MobileGestalt cache is invalid +https://bugs.webkit.org/show_bug.cgi?id=214965 + +Unreviewed, address review comments. + +Add comment explaining why a set of MobileGestalt queries are performed when starting up the WebContent process on iOS. + +* WebProcess/cocoa/WebProcessCocoa.mm: +(WebKit::WebProcess::platformInitializeWebProcess): + +2020-08-04 Per Arne Vollan + [iOS] Check that Accessibility is enabled when receiving the enable Accessibility notification https://bugs.webkit.org/show_bug.cgi?id=215112 Modified: trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (265266 => 265267) --- trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm 2020-08-04 23:01:49 UTC (rev 265266) +++ trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm 2020-08-04 23:10:17 UTC (rev 265267) @@ -207,6 +207,12 @@ if (auto extension = SandboxExtension::create(WTFMove(*parameters.mobileGestaltExtensionHandle))) { bool ok = extension->consume(); ASSERT_UNUSED(ok, ok); +// If we have an extension handle for MobileGestalt, it means the MobileGestalt cache is invalid. +// In this case, we perform a set of MobileGestalt queries while having access to the daemon, +// which will populate the MobileGestalt in-memory cache with correct values. +// The set of queries below was determined by finding all possible queries that have cachable +// values, and would reach out to the daemon for the answer. That way, the in-memory cache +// should be identical to a valid MobileGestalt cache after having queried all of these values. #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) MGGetFloat32Answer(kMGQMainScreenScale, 0); MGGetSInt32Answer(kMGQMainScreenPitch, 0); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [265266] trunk
Title: [265266] trunk Revision 265266 Author cdu...@apple.com Date 2020-08-04 16:01:49 -0700 (Tue, 04 Aug 2020) Log Message Align AudioListener with the W3C specification https://bugs.webkit.org/show_bug.cgi?id=215134 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: Rebaseline WPT tests now that more checks are passing. * web-platform-tests/webaudio/historical-expected.txt: * web-platform-tests/webaudio/idlharness.https.window-expected.txt: * web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/ctor-panner-expected.txt: * web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-basic-expected.txt: * web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-position-expected.txt: * web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/pannernode-basic-expected.txt: Source/WebCore: Align AudioListener with the W3C specification: - https://webaudio.github.io/web-audio-api/#audiolistener Note that the prefixed API still behaves the way it used to. I have maintained the old version of the AudioListener API by moving it to a new WebKitAudioListener interface. No new tests, rebaselined existing tests. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Modules/webaudio/AudioListener.cpp: (WebCore::AudioListener::AudioListener): (WebCore::AudioListener::setPosition): (WebCore::AudioListener::position const): (WebCore::AudioListener::setOrientation): (WebCore::AudioListener::orientation const): (WebCore::AudioListener::upVector const): * Modules/webaudio/AudioListener.h: (WebCore::AudioListener::create): (WebCore::AudioListener::positionX): (WebCore::AudioListener::positionY): (WebCore::AudioListener::positionZ): (WebCore::AudioListener::forwardX): (WebCore::AudioListener::forwardY): (WebCore::AudioListener::forwardZ): (WebCore::AudioListener::upX): (WebCore::AudioListener::upY): (WebCore::AudioListener::upZ): * Modules/webaudio/AudioListener.idl: * Modules/webaudio/BaseAudioContext.cpp: (WebCore::BaseAudioContext::constructCommon): * Modules/webaudio/PannerNode.cpp: (WebCore::PannerNode::dopplerRate): * Modules/webaudio/WebKitAudioContext.h: (WebCore::WebKitAudioContext::listener): * Modules/webaudio/WebKitAudioContext.idl: * Modules/webaudio/WebKitAudioListener.h: Copied from Source/WebCore/Modules/webaudio/AudioListener.h. * Modules/webaudio/WebKitAudioListener.idl: Copied from Source/WebCore/Modules/webaudio/AudioListener.idl. * Modules/webaudio/WebKitAudioPannerNode.cpp: (WebCore::WebKitAudioPannerNode::listener): * Modules/webaudio/WebKitAudioPannerNode.h: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/WebCoreBuiltinNames.h: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/historical-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/idlharness.https.window-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/ctor-panner-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-basic-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-position-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/pannernode-basic-expected.txt trunk/Source/WebCore/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources-input.xcfilelist trunk/Source/WebCore/DerivedSources-output.xcfilelist trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/Modules/webaudio/AudioListener.cpp trunk/Source/WebCore/Modules/webaudio/AudioListener.h trunk/Source/WebCore/Modules/webaudio/AudioListener.idl trunk/Source/WebCore/Modules/webaudio/BaseAudioContext.cpp trunk/Source/WebCore/Modules/webaudio/PannerNode.cpp trunk/Source/WebCore/Modules/webaudio/WebKitAudioContext.h trunk/Source/WebCore/Modules/webaudio/WebKitAudioContext.idl trunk/Source/WebCore/Modules/webaudio/WebKitAudioPannerNode.cpp trunk/Source/WebCore/Modules/webaudio/WebKitAudioPannerNode.h trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h Added Paths trunk/Source/WebCore/Modules/webaudio/WebKitAudioListener.h trunk/Source/WebCore/Modules/webaudio/WebKitAudioListener.idl Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (265265 => 265266) --- trunk/LayoutTests/imported/w3c/ChangeLog 2020-08-04 22:54:08 UTC (rev 265265) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2020-08-04 23:01:49 UTC (rev 265266) @@ -1,5 +1,21 @@ 2020-08-04 Chris Dumez +Align AudioListener with the W3C specification +https://bugs.webkit.org/show_bug.cgi?id=215134 + +Reviewed by Geoffrey Garen. + +Rebaseline
[webkit-changes] [265265] trunk/Source/WTF
Title: [265265] trunk/Source/WTF Revision 265265 Author hironori.fu...@sony.com Date 2020-08-04 15:54:08 -0700 (Tue, 04 Aug 2020) Log Message [MSVC] wtf/Optional.h: error C2280: 'WTF::constexpr_storage_t ::constexpr_storage_t::operator =(const WTF::constexpr_storage_t &)': attempting to reference a deleted function https://bugs.webkit.org/show_bug.cgi?id=215003 Reviewed by Yusuke Suzuki. Microsoft reported the upcoming MSVC can't compile Optional>. > wtf/Optional.h(419,39): error C2280: 'WTF::constexpr_storage_t ::constexpr_storage_t::operator =(const WTF::constexpr_storage_t &)': attempting to reference a deleted function They suggests using std::is_trivially_copy_assignable_v in Optional ctor instead of std::is_trivially_copyable_v. * wtf/Optional.h: (WTF::Optional::Optional): Replaced std::is_trivially_copyable_v with std::is_trivially_copy_assignable_v. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Optional.h Diff Modified: trunk/Source/WTF/ChangeLog (265264 => 265265) --- trunk/Source/WTF/ChangeLog 2020-08-04 22:49:38 UTC (rev 265264) +++ trunk/Source/WTF/ChangeLog 2020-08-04 22:54:08 UTC (rev 265265) @@ -1,3 +1,21 @@ +2020-08-04 Fujii Hironori + +[MSVC] wtf/Optional.h: error C2280: 'WTF::constexpr_storage_t ::constexpr_storage_t::operator =(const WTF::constexpr_storage_t &)': attempting to reference a deleted function +https://bugs.webkit.org/show_bug.cgi?id=215003 + +Reviewed by Yusuke Suzuki. + +Microsoft reported the upcoming MSVC can't compile +Optional>. + +> wtf/Optional.h(419,39): error C2280: 'WTF::constexpr_storage_t ::constexpr_storage_t::operator =(const WTF::constexpr_storage_t &)': attempting to reference a deleted function + +They suggests using std::is_trivially_copy_assignable_v in +Optional ctor instead of std::is_trivially_copyable_v. + +* wtf/Optional.h: +(WTF::Optional::Optional): Replaced std::is_trivially_copyable_v with std::is_trivially_copy_assignable_v. + 2020-08-04 Alex Christensen about: scheme URL constants should be backed by StaticStringImpl Modified: trunk/Source/WTF/wtf/Optional.h (265264 => 265265) --- trunk/Source/WTF/wtf/Optional.h 2020-08-04 22:49:38 UTC (rev 265264) +++ trunk/Source/WTF/wtf/Optional.h 2020-08-04 22:54:08 UTC (rev 265265) @@ -415,7 +415,7 @@ : OptionalBase() { if (rhs.initialized()) { -if constexpr (std::is_trivially_copyable_v) +if constexpr (std::is_trivially_copy_assignable_v) OptionalBase::storage_ = *rhs; else ::new (static_cast(dataptr())) T(*rhs); @@ -427,7 +427,7 @@ : OptionalBase() { if (rhs.initialized()) { -if constexpr (std::is_trivially_copyable_v) +if constexpr (std::is_trivially_copy_assignable_v) OptionalBase::storage_ = *rhs; else ::new (static_cast(dataptr())) T(std::move(*rhs)); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [265264] trunk
Title: [265264] trunk Revision 265264 Author pvol...@apple.com Date 2020-08-04 15:49:38 -0700 (Tue, 04 Aug 2020) Log Message [iOS] Check that Accessibility is enabled when receiving the enable Accessibility notification https://bugs.webkit.org/show_bug.cgi?id=215112 Source/WebCore/PAL: Reviewed by Youenn Fablet. Declare NSApplication methods to enable enhanced accessibility user interface, and check if it is enabled. * pal/spi/mac/NSApplicationSPI.h: Source/WebKit: Reviewed by Youenn Fablet. As a security mitigation, return early when handling this notification if Accessibility is not enabled. API test: WebKit.AccessibilityHasNoPreferencesServiceAccessWhenPostingNotification * UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::registerNotificationObservers): Tools: Reviewed by Youenn Fablet. Added test WebKit.AccessibilityHasNoPreferencesServiceAccessWhenPostingNotification. * TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm: (TEST): Modified Paths trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/spi/mac/NSApplicationSPI.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm Diff Modified: trunk/Source/WebCore/PAL/ChangeLog (265263 => 265264) --- trunk/Source/WebCore/PAL/ChangeLog 2020-08-04 22:39:21 UTC (rev 265263) +++ trunk/Source/WebCore/PAL/ChangeLog 2020-08-04 22:49:38 UTC (rev 265264) @@ -1,3 +1,14 @@ +2020-08-04 Per Arne Vollan + +[iOS] Check that Accessibility is enabled when receiving the enable Accessibility notification +https://bugs.webkit.org/show_bug.cgi?id=215112 + +Reviewed by Youenn Fablet. + +Declare NSApplication methods to enable enhanced accessibility user interface, and check if it is enabled. + +* pal/spi/mac/NSApplicationSPI.h: + 2020-08-03 Andres Gonzalez Check for the presence of libAccessibility before trying to load the _AXSIsolatedTreeMode function. Modified: trunk/Source/WebCore/PAL/pal/spi/mac/NSApplicationSPI.h (265263 => 265264) --- trunk/Source/WebCore/PAL/pal/spi/mac/NSApplicationSPI.h 2020-08-04 22:39:21 UTC (rev 265263) +++ trunk/Source/WebCore/PAL/pal/spi/mac/NSApplicationSPI.h 2020-08-04 22:49:38 UTC (rev 265264) @@ -32,6 +32,9 @@ + (void)_accessibilityInitialize; + (void)_preventDockConnections; +- (void)accessibilitySetEnhancedUserInterfaceAttribute:(id)value; +- (id)accessibilityEnhancedUserInterfaceAttribute; + // Conditionally define this only for !USE_APPLE_INTERNAL_SDK when is fixed. @property (copy, setter=_setAccentColor:) NSColor *_accentColor; Modified: trunk/Source/WebKit/ChangeLog (265263 => 265264) --- trunk/Source/WebKit/ChangeLog 2020-08-04 22:39:21 UTC (rev 265263) +++ trunk/Source/WebKit/ChangeLog 2020-08-04 22:49:38 UTC (rev 265264) @@ -1,3 +1,18 @@ +2020-08-04 Per Arne Vollan + +[iOS] Check that Accessibility is enabled when receiving the enable Accessibility notification +https://bugs.webkit.org/show_bug.cgi?id=215112 + + +Reviewed by Youenn Fablet. + +As a security mitigation, return early when handling this notification if Accessibility is not enabled. + +API test: WebKit.AccessibilityHasNoPreferencesServiceAccessWhenPostingNotification + +* UIProcess/Cocoa/WebProcessPoolCocoa.mm: +(WebKit::WebProcessPool::registerNotificationObservers): + 2020-08-04 Brent Fulgham Limit 'com.apple.webkit.microphone' use to macOS and MacCatalyst Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (265263 => 265264) --- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2020-08-04 22:39:21 UTC (rev 265263) +++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2020-08-04 22:49:38 UTC (rev 265264) @@ -79,6 +79,7 @@ #if PLATFORM(MAC) #import +#import #else #import "UIKitSPI.h" #endif @@ -643,11 +644,13 @@ #if !PLATFORM(IOS_FAMILY) // Listen for enhanced accessibility changes and propagate them to the WebProcess. m_enhancedAccessibilityObserver = [[NSNotificationCenter defaultCenter] addObserverForName:WebKitApplicationDidChangeAccessibilityEnhancedUserInterfaceNotification object:nil queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *note) { +setEnhancedAccessibility([[[note userInfo] objectForKey:@"AXEnhancedUserInterface"] boolValue]); #if ENABLE(CFPREFS_DIRECT_MODE) +if (![[NSApp accessibilityEnhancedUserInterfaceAttribute] boolValue]) +return; for (auto& process : m_processes) process->unblockPreferenceServiceIfNeeded(); #endif -setEnhancedAccessibility([[[note userInfo] objectForKey:@"AXEnhancedUserInterface"] boolValue]); }]; m_automaticTextReplacementNotificationObserver = [[NSNotificationCenter defaultCenter]
[webkit-changes] [265263] trunk/Source/WebKit
Title: [265263] trunk/Source/WebKit Revision 265263 Author bfulg...@apple.com Date 2020-08-04 15:39:21 -0700 (Tue, 04 Aug 2020) Log Message Limit 'com.apple.webkit.microphone' use to macOS and MacCatalyst https://bugs.webkit.org/show_bug.cgi?id=215139 Reviewed by Eric Carlson. We only need the 'com.apple.webkit.microphone' Sandbox Extension at startup on macOS and MacCatalyst (and even on those platforms, only until is fixed). We should not issue this extension on the iOS family of targets. * UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeWebProcess): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm Diff Modified: trunk/Source/WebKit/ChangeLog (265262 => 265263) --- trunk/Source/WebKit/ChangeLog 2020-08-04 22:18:21 UTC (rev 265262) +++ trunk/Source/WebKit/ChangeLog 2020-08-04 22:39:21 UTC (rev 265263) @@ -1,3 +1,20 @@ +2020-08-04 Brent Fulgham + +Limit 'com.apple.webkit.microphone' use to macOS and MacCatalyst +https://bugs.webkit.org/show_bug.cgi?id=215139 + + +Reviewed by Eric Carlson. + +We only need the 'com.apple.webkit.microphone' Sandbox Extension at startup on +macOS and MacCatalyst (and even on those platforms, only until +is fixed). + +We should not issue this extension on the iOS family of targets. + +* UIProcess/Cocoa/WebProcessPoolCocoa.mm: +(WebKit::WebProcessPool::platformInitializeWebProcess): + 2020-08-04 Per Arne Vollan [iOS Simulator] Assert under WebPage::platformDidReceiveLoadParameters Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (265262 => 265263) --- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2020-08-04 22:18:21 UTC (rev 265262) +++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2020-08-04 22:39:21 UTC (rev 265263) @@ -381,10 +381,12 @@ parameters.webKitLoggingChannels = [[NSUserDefaults standardUserDefaults] stringForKey:@"WebKit2Logging"]; #endif +#if PLATFORM(MAC) || PLATFORM(MACCATALYST) // FIXME: Remove this and related parameter when is fixed. if (isSafari && mediaDevicesEnabled && !m_defaultPageGroup->preferences().captureAudioInUIProcessEnabled() && !m_defaultPageGroup->preferences().captureAudioInGPUProcessEnabled()) SandboxExtension::createHandleForGenericExtension("com.apple.webkit.microphone"_s, parameters.audioCaptureExtensionHandle); #endif +#endif #if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED parameters.shouldLogUserInteraction = [defaults boolForKey:WebKitLogCookieInformationDefaultsKey]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [265262] trunk/Source/WebInspectorUI
Title: [265262] trunk/Source/WebInspectorUI Revision 265262 Author nvasil...@apple.com Date 2020-08-04 15:18:21 -0700 (Tue, 04 Aug 2020) Log Message Web Inspector: Use border-inline-start/end properties instead of border-left/right for DataGrid and Table https://bugs.webkit.org/show_bug.cgi?id=215138 Reviewed by Devin Rousso. Simplify LTR/RTL CSS code by using logical CSS properties. This patch doesn't introduce any visual changes. * UserInterface/Views/DataGrid.css: (.data-grid): (.data-grid th:not(:last-child) > .header-cell-content): (.data-grid:focus tr.selected td:not(:last-child)): (body[dir=ltr] .data-grid th:not(:last-child) > .header-cell-content): Deleted. (body[dir=rtl] .data-grid th:not(:last-child) > .header-cell-content): Deleted. (body[dir=ltr] .data-grid:focus tr.selected td:not(:last-child)): Deleted. (body[dir=rtl] .data-grid:focus tr.selected td:not(:last-child)): Deleted. * UserInterface/Views/NetworkDetailView.css: (.network-table.showing-detail .network-detail): (body[dir=ltr] .network-table.showing-detail .network-detail): Deleted. (body[dir=rtl] .network-table.showing-detail .network-detail): Deleted. * UserInterface/Views/TimelineDataGrid.css: (.data-grid.timeline td.graph-column): (body[dir=ltr] .data-grid.timeline td.graph-column): Deleted. (body[dir=rtl] .data-grid.timeline td.graph-column): Deleted. Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.css trunk/Source/WebInspectorUI/UserInterface/Views/NetworkDetailView.css trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.css Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (265261 => 265262) --- trunk/Source/WebInspectorUI/ChangeLog 2020-08-04 22:02:26 UTC (rev 265261) +++ trunk/Source/WebInspectorUI/ChangeLog 2020-08-04 22:18:21 UTC (rev 265262) @@ -1,3 +1,29 @@ +2020-08-04 Nikita Vasilyev + +Web Inspector: Use border-inline-start/end properties instead of border-left/right for DataGrid and Table +https://bugs.webkit.org/show_bug.cgi?id=215138 + +Reviewed by Devin Rousso. + +Simplify LTR/RTL CSS code by using logical CSS properties. This patch doesn't introduce any visual changes. + +* UserInterface/Views/DataGrid.css: +(.data-grid): +(.data-grid th:not(:last-child) > .header-cell-content): +(.data-grid:focus tr.selected td:not(:last-child)): +(body[dir=ltr] .data-grid th:not(:last-child) > .header-cell-content): Deleted. +(body[dir=rtl] .data-grid th:not(:last-child) > .header-cell-content): Deleted. +(body[dir=ltr] .data-grid:focus tr.selected td:not(:last-child)): Deleted. +(body[dir=rtl] .data-grid:focus tr.selected td:not(:last-child)): Deleted. +* UserInterface/Views/NetworkDetailView.css: +(.network-table.showing-detail .network-detail): +(body[dir=ltr] .network-table.showing-detail .network-detail): Deleted. +(body[dir=rtl] .network-table.showing-detail .network-detail): Deleted. +* UserInterface/Views/TimelineDataGrid.css: +(.data-grid.timeline td.graph-column): +(body[dir=ltr] .data-grid.timeline td.graph-column): Deleted. +(body[dir=rtl] .data-grid.timeline td.graph-column): Deleted. + 2020-08-03 Nikita Vasilyev Web Inspector: Change DataGrid and Table styles to closer match macOS Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.css (265261 => 265262) --- trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.css 2020-08-04 22:02:26 UTC (rev 265261) +++ trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.css 2020-08-04 22:18:21 UTC (rev 265262) @@ -28,7 +28,6 @@ outline: none; --data-grid-header-horizontal-padding: 6px; ---data-grid-column-border-end: 1px solid var(--border-color); } .data-grid .highlight { @@ -93,14 +92,10 @@ padding: 0 var(--data-grid-header-horizontal-padding); } -body[dir=ltr] .data-grid th:not(:last-child) > .header-cell-content { -border-right: var(--data-grid-column-border-end); +.data-grid th:not(:last-child) > .header-cell-content { +border-inline-end: 1px solid var(--border-color); } -body[dir=rtl] .data-grid th:not(:last-child) > .header-cell-content { -border-left: var(--data-grid-column-border-end); -} - .data-grid th.sortable:active { background-color: var(--background-color-pressed); } @@ -196,14 +191,10 @@ --border-end-color: hsla(0, 0%, var(--foreground-lightness), 0.05); } -body[dir=ltr] .data-grid:focus tr.selected td:not(:last-child) { -border-right-color: var(--border-end-color); +.data-grid:focus tr.selected td:not(:last-child) { +border-inline-end-color: var(--border-end-color); } -body[dir=rtl] .data-grid:focus tr.selected td:not(:last-child) { -border-left-color: var(--border-end-color); -} - .data-grid :matches(th, td) > div { white-space: nowrap; text-overflow: ellipsis; Modified:
[webkit-changes] [265261] trunk/Source/WebCore
Title: [265261] trunk/Source/WebCore Revision 265261 Author mmaxfi...@apple.com Date 2020-08-04 15:02:26 -0700 (Tue, 04 Aug 2020) Log Message Add glyph origins member to GlyphBuffer https://bugs.webkit.org/show_bug.cgi?id=215057 Reviewed by Darin Adler. This is in preparation for https://bugs.webkit.org/show_bug.cgi?id=214769 and https://bugs.webkit.org/show_bug.cgi?id=206208. The solution for https://bugs.webkit.org/show_bug.cgi?id=214769 requires applying letter-spacing after text shaping. Today, we apply letter-spacing before text shaping, which is wrong. However, if we want to apply letter-spacing after text shaping, we need to use CTFontShapeGlyphs(), which outputs glyph origins in addition to glyph advances. Adding a glyph origins field to GlyphBuffer allows us to flatten these origins at the appropriate places. This patch is meant to be applied on top of https://bugs.webkit.org/show_bug.cgi?id=215051, which decreases the inline sizes of these vector members from 2048 to 1024. I measured the median and mean of these strings in our Page Load Test to be 6 and 7.4, which indicates we were being wildly inefficient with the members of GlyphBuffer. Decreasing these inline sizes means we're now using less memory than we were before. No new tests becasue there is no behavior change yet. This patch just adds the field. The next patch will hook up CTFontShapeGlyphs() itself. * platform/graphics/FontCascade.cpp: (WebCore::FontCascade::drawText const): (WebCore::FontCascade::drawEmphasisMarks const): (WebCore::FontCascade::displayListForTextRun const): (WebCore::FontCascade::drawGlyphBuffer const): * platform/graphics/GlyphBuffer.h: (WebCore::GlyphBufferAdvance::GlyphBufferAdvance): (WebCore::GlyphBufferOrigin::GlyphBufferOrigin): (WebCore::GlyphBufferOrigin::operator FloatPoint): (WebCore::GlyphBufferOrigin::setX): (WebCore::GlyphBufferOrigin::setY): (WebCore::GlyphBufferOrigin::x const): (WebCore::GlyphBufferOrigin::y const): (WebCore::GlyphBufferOrigin::encode const): (WebCore::GlyphBufferOrigin::decode): (WebCore::GlyphBuffer::clear): (WebCore::GlyphBuffer::origins): (WebCore::GlyphBuffer::origins const): (WebCore::GlyphBuffer::add): (WebCore::GlyphBuffer::remove): (WebCore::GlyphBuffer::makeHole): (WebCore::GlyphBuffer::shrink): (WebCore::GlyphBuffer::flatten): (WebCore::GlyphBuffer::isFlattened const): (WebCore::GlyphBuffer::swap): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawGlyphs): * platform/graphics/displaylists/DisplayListItems.cpp: (WebCore::DisplayList::DrawGlyphs::generateGlyphBuffer const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/FontCascade.cpp trunk/Source/WebCore/platform/graphics/GlyphBuffer.h trunk/Source/WebCore/platform/graphics/GraphicsContext.cpp trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (265260 => 265261) --- trunk/Source/WebCore/ChangeLog 2020-08-04 21:03:14 UTC (rev 265260) +++ trunk/Source/WebCore/ChangeLog 2020-08-04 22:02:26 UTC (rev 265261) @@ -1,3 +1,60 @@ +2020-08-04 Myles C. Maxfield + +Add glyph origins member to GlyphBuffer +https://bugs.webkit.org/show_bug.cgi?id=215057 + +Reviewed by Darin Adler. + +This is in preparation for https://bugs.webkit.org/show_bug.cgi?id=214769 +and https://bugs.webkit.org/show_bug.cgi?id=206208. + +The solution for https://bugs.webkit.org/show_bug.cgi?id=214769 requires applying +letter-spacing after text shaping. Today, we apply letter-spacing before text +shaping, which is wrong. However, if we want to apply letter-spacing after text +shaping, we need to use CTFontShapeGlyphs(), which outputs glyph origins in +addition to glyph advances. Adding a glyph origins field to GlyphBuffer allows us +to flatten these origins at the appropriate places. + +This patch is meant to be applied on top of +https://bugs.webkit.org/show_bug.cgi?id=215051, which decreases the inline sizes +of these vector members from 2048 to 1024. I measured the median and mean of these +strings in our Page Load Test to be 6 and 7.4, which indicates we were being wildly +inefficient with the members of GlyphBuffer. Decreasing these inline sizes means +we're now using less memory than we were before. + +No new tests becasue there is no behavior change yet. This patch just adds the +field. The next patch will hook up CTFontShapeGlyphs() itself. + +* platform/graphics/FontCascade.cpp: +(WebCore::FontCascade::drawText const): +(WebCore::FontCascade::drawEmphasisMarks const): +(WebCore::FontCascade::displayListForTextRun const): +(WebCore::FontCascade::drawGlyphBuffer const): +* platform/graphics/GlyphBuffer.h: +(WebCore::GlyphBufferAdvance::GlyphBufferAdvance): +
[webkit-changes] [265260] trunk/Source/WebKit
Title: [265260] trunk/Source/WebKit Revision 265260 Author pvol...@apple.com Date 2020-08-04 14:03:14 -0700 (Tue, 04 Aug 2020) Log Message [iOS Simulator] Assert under WebPage::platformDidReceiveLoadParameters https://bugs.webkit.org/show_bug.cgi?id=215108 Reviewed by Youenn Fablet. This asserts because it appears that the WebContent and Networking process do not have the required entitlement com.apple.private.webkit.use-xpc-endpoint on the iOS Simulator. Add the entitlement for simulator. No new tests, covered by existing tests. * Resources/ios/XPCService-embedded-simulator.entitlements: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Resources/ios/XPCService-embedded-simulator.entitlements Diff Modified: trunk/Source/WebKit/ChangeLog (265259 => 265260) --- trunk/Source/WebKit/ChangeLog 2020-08-04 20:55:49 UTC (rev 265259) +++ trunk/Source/WebKit/ChangeLog 2020-08-04 21:03:14 UTC (rev 265260) @@ -1,3 +1,17 @@ +2020-08-04 Per Arne Vollan + +[iOS Simulator] Assert under WebPage::platformDidReceiveLoadParameters +https://bugs.webkit.org/show_bug.cgi?id=215108 + +Reviewed by Youenn Fablet. + +This asserts because it appears that the WebContent and Networking process do not have the required entitlement +com.apple.private.webkit.use-xpc-endpoint on the iOS Simulator. Add the entitlement for simulator. + +No new tests, covered by existing tests. + +* Resources/ios/XPCService-embedded-simulator.entitlements: + 2020-08-03 Wenson Hsieh Allow -accessoryDone to blur the focused element on iPad when AutoFilling strong passwords Modified: trunk/Source/WebKit/Resources/ios/XPCService-embedded-simulator.entitlements (265259 => 265260) --- trunk/Source/WebKit/Resources/ios/XPCService-embedded-simulator.entitlements 2020-08-04 20:55:49 UTC (rev 265259) +++ trunk/Source/WebKit/Resources/ios/XPCService-embedded-simulator.entitlements 2020-08-04 21:03:14 UTC (rev 265260) @@ -4,5 +4,7 @@ com.apple.runningboard.assertions.webkit + com.apple.private.webkit.use-xpc-endpoint + ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [265259] trunk
Title: [265259] trunk Revision 265259 Author cfleiz...@apple.com Date 2020-08-04 13:55:49 -0700 (Tue, 04 Aug 2020) Log Message AX: VoiceOver needs access to font styling at insertion point https://bugs.webkit.org/show_bug.cgi?id=215129 Source/WebCore: Reviewed by Darin Adler. Give access to relevant font styling properties at the insertion point so that VoiceOver can speak them when text commands alter styling. Test: accessibility/mac/resolved-text-editing.html * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::resolvedEditingStyles const): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityObjectInterface.h: * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper _accessibilityResolvedEditingStyles]): * accessibility/isolatedtree/AXIsolatedObject.cpp: (WebCore::AXIsolatedObject::resolvedEditingStyles const): * accessibility/isolatedtree/AXIsolatedObject.h: * accessibility/mac/WebAccessibilityObjectWrapperBase.h: * accessibility/mac/WebAccessibilityObjectWrapperBase.mm: (-[WebAccessibilityObjectWrapperBase baseAccessibilityResolvedEditingStyles]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]): (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): Tools: Reviewed by Darin Adler. * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::attributeValueAsync): LayoutTests: Reviewed by Darin Adler. * accessibility/mac/resolved-text-editing-expected.txt: Added. * accessibility/mac/resolved-text-editing.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk1/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/accessibility/AccessibilityObject.cpp trunk/Source/WebCore/accessibility/AccessibilityObject.h trunk/Source/WebCore/accessibility/AccessibilityObjectInterface.h trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.h trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm trunk/Tools/ChangeLog trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm Added Paths trunk/LayoutTests/accessibility/mac/resolved-text-editing-expected.txt trunk/LayoutTests/accessibility/mac/resolved-text-editing.html Diff Modified: trunk/LayoutTests/ChangeLog (265258 => 265259) --- trunk/LayoutTests/ChangeLog 2020-08-04 20:50:13 UTC (rev 265258) +++ trunk/LayoutTests/ChangeLog 2020-08-04 20:55:49 UTC (rev 265259) @@ -1,3 +1,13 @@ +2020-08-04 Chris Fleizach + +AX: VoiceOver needs access to font styling at insertion point +https://bugs.webkit.org/show_bug.cgi?id=215129 + +Reviewed by Darin Adler. + +* accessibility/mac/resolved-text-editing-expected.txt: Added. +* accessibility/mac/resolved-text-editing.html: Added. + 2020-08-04 Kate Cheney Add test coverage for handling redirects with App-Bound Domains Added: trunk/LayoutTests/accessibility/mac/resolved-text-editing-expected.txt (0 => 265259) --- trunk/LayoutTests/accessibility/mac/resolved-text-editing-expected.txt (rev 0) +++ trunk/LayoutTests/accessibility/mac/resolved-text-editing-expected.txt 2020-08-04 20:55:49 UTC (rev 265259) @@ -0,0 +1,16 @@ +a +This tests that we can retrieve resolved editing styles from the editable text area. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +{ +bold = 0; +fontsize = 6; +italic = 1; +underline = 0; +} +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/accessibility/mac/resolved-text-editing.html (0 => 265259) --- trunk/LayoutTests/accessibility/mac/resolved-text-editing.html (rev 0) +++ trunk/LayoutTests/accessibility/mac/resolved-text-editing.html 2020-08-04 20:55:49 UTC (rev 265259) @@ -0,0 +1,37 @@ + + + + + + + + + + + +