forked from WebKit/WebKit-http
-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge commit '817c46e152af795d735678386db68805d0aa505e' from upstream #38
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
https://bugs.webkit.org/show_bug.cgi?id=217999 Reviewed by Eric Carlson. When a video element is entering picture-in-picture from fullscreen, WebKit should only fire the `webkitendfullscreenEvent` event, but should not request the player in the UI process to exit fullscreen(picture-in-picture). So the condition to decide sending the exit fullscreen request is wrong because HTMLMediaElement::didBecomeFullscreenElement(), which sets `m_waitingToEnterFullscreen` to false, might be called before dispatching the `webkitendfullscreenEvent` event. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::dispatchEvent): Fix the condition. (WebCore::HTMLMediaElement::exitFullscreen): Set fullscreen mode to VideoFullscreenModeNone. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
… iterator interface https://bugs.webkit.org/show_bug.cgi?id=218039 Reviewed by Antti Koivisto. Snapping is done during display content construction. * layout/integration/LayoutIntegrationRunIteratorModernPath.h: (WebCore::LayoutIntegration::RunIteratorModernPath::rect const): (WebCore::LayoutIntegration::verticallyRoundedRect): Deleted. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218017 <rdar://problem/70531938> Reviewed by Zalan Bujtas. Followup fix. * layout/integration/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::containing): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268818 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=208225 Patch by Rob Buis <rbuis@igalia.com> on 2020-10-21 Reviewed by Simon Fraser. Add status entry for lazy image loading. * features.json: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268819 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…ction https://bugs.webkit.org/show_bug.cgi?id=218045 Reviewed by Eric Carlson. Add addOutput() / removeOutput() utility functions to AudioSummingJunction to add or remove outputs from m_outputs and abstract away the call to changedOutputs(). It was awkward that subclasses were modifying m_outputs directly and had to explicitly call changedOutputs() whenever they did. No new tests, no web-facing behavior change. * Modules/webaudio/AudioNode.cpp: (WebCore::AudioNode::updateChannelsForInputs): * Modules/webaudio/AudioNodeInput.cpp: (WebCore::AudioNodeInput::connect): (WebCore::AudioNodeInput::disconnect): (WebCore::AudioNodeInput::disable): (WebCore::AudioNodeInput::enable): (WebCore::AudioNodeInput::numberOfChannels const): * Modules/webaudio/AudioParam.cpp: (WebCore::AudioParam::connect): (WebCore::AudioParam::disconnect): * Modules/webaudio/AudioSummingJunction.cpp: (WebCore::AudioSummingJunction::markRenderingStateAsDirty): (WebCore::AudioSummingJunction::addOutput): (WebCore::AudioSummingJunction::removeOutput): (WebCore::AudioSummingJunction::maximumNumberOfChannels const): (WebCore::AudioSummingJunction::changedOutputs): Deleted. * Modules/webaudio/AudioSummingJunction.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
… candidate is trimmable https://bugs.webkit.org/show_bug.cgi?id=218044 Reviewed by Antti Koivisto. This patch addresses the cases when the candidate content is partially/fully trimmable and after putting the content on the line, there's still enough room to accommodate some more content. * layout/inlineformatting/InlineContentBreaker.cpp: (WebCore::Layout::InlineContentBreaker::processOverflowingContent const): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=217995 Reviewed by Darin Adler. Share more code between WorkerGlobalScope and WorkletGlobalScope by moving shared logic to WorkerOrWorkletGlobalScope. No new tests, no Web-facing behavior change. * Modules/webaudio/AudioWorkletGlobalScope.cpp: (WebCore::AudioWorkletGlobalScope::prepareForDestruction): * Modules/webaudio/AudioWorkletGlobalScope.h: * Modules/webaudio/AudioWorkletThread.cpp: (WebCore::AudioWorkletThread::stop): * workers/WorkerEventLoop.cpp: (WebCore::WorkerEventLoop::create): (WebCore::WorkerEventLoop::WorkerEventLoop): * workers/WorkerEventLoop.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::WorkerGlobalScope): (WebCore::WorkerGlobalScope::prepareForDestruction): (WebCore::WorkerGlobalScope::removeAllEventListeners): (WebCore::WorkerGlobalScope::suspend): (WebCore::WorkerGlobalScope::resume): (WebCore::WorkerGlobalScope::close): (WebCore::WorkerGlobalScope::wrapCryptoKey): (WebCore::WorkerGlobalScope::unwrapCryptoKey): (WebCore::WorkerGlobalScope::thread const): * workers/WorkerGlobalScope.h: * workers/WorkerOrWorkletGlobalScope.cpp: (WebCore::WorkerOrWorkletGlobalScope::WorkerOrWorkletGlobalScope): (WebCore::WorkerOrWorkletGlobalScope::prepareForDestruction): (WebCore::WorkerOrWorkletGlobalScope::disableEval): (WebCore::WorkerOrWorkletGlobalScope::disableWebAssembly): (WebCore::WorkerOrWorkletGlobalScope::isJSExecutionForbidden const): (WebCore::WorkerOrWorkletGlobalScope::eventLoop): (WebCore::WorkerOrWorkletGlobalScope::isContextThread const): (WebCore::WorkerOrWorkletGlobalScope::postTask): * workers/WorkerOrWorkletGlobalScope.h: (WebCore::WorkerOrWorkletGlobalScope::isClosing const): (WebCore::WorkerOrWorkletGlobalScope::workerOrWorkletThread const): (WebCore::WorkerOrWorkletGlobalScope::markAsClosing): * workers/WorkerThread.cpp: (WebCore::WorkerThread::stop): * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::WorkletGlobalScope): (WebCore::WorkletGlobalScope::prepareForDestruction): * worklets/WorkletGlobalScope.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218043 Reviewed by Antti Koivisto. The inline level box initiated by <br> should be vertically sized the same way as the root inline box is. (e.g. <div>root text<br></div> <- line break's inline level box should match the layout bounds of the root inline box). * layout/inlineformatting/InlineFormattingContextGeometry.cpp: (WebCore::Layout::LineBoxBuilder::isRootInlineBox const): (WebCore::Layout::LineBoxBuilder::isRootBox const): (WebCore::Layout::LineBoxBuilder::setVerticalGeometryForInlineBox const): (WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218034 Reviewed by Antti Koivisto. This patch ensures that IFC integration line snapping matches the legacy line layout snapping behavior (e.g. images prevent line snapping). * layout/inlineformatting/InlineLineBox.h: (WebCore::Layout::LineBox::InlineLevelBox::isAtomicInlineLevelBox const): * layout/integration/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::constructContent): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218048 Reviewed by Philippe Normand. Update FFTFrame::realData() / imagData() to return an AudioFloatArray instead of a float*. It is risky to expose a float* since the caller has no way to know the actual size of the array. By returning an AudioFloatArray, the caller can query AudioFloatArray::size() to know the actual size. Note that it is not safe to assume that the size of these arrays is FFTFrame::fftSize() because this is not true for ports using GStreamer. * Modules/webaudio/PeriodicWave.cpp: (WebCore::PeriodicWave::createBandLimitedTables): * Modules/webaudio/RealtimeAnalyser.cpp: (WebCore::RealtimeAnalyser::doFFTAnalysisIfNecessary): * platform/audio/FFTFrame.cpp: (WebCore::FFTFrame::interpolateFrequencyComponents): (WebCore::FFTFrame::scaleFFT): (WebCore::FFTFrame::multiply): (WebCore::FFTFrame::extractAverageGroupDelay): (WebCore::FFTFrame::addConstantGroupDelay): (WebCore::FFTFrame::print): * platform/audio/FFTFrame.h: (WebCore::FFTFrame::realData): (WebCore::FFTFrame::imagData): (WebCore::FFTFrame::realData const): (WebCore::FFTFrame::imagData const): * platform/audio/FFTFrameStub.cpp: (WebCore::FFTFrame::realData const): Deleted. (WebCore::FFTFrame::imagData const): Deleted. * platform/audio/gstreamer/FFTFrameGStreamer.cpp: (WebCore::FFTFrame::FFTFrame): (WebCore::FFTFrame::realData const): Deleted. (WebCore::FFTFrame::imagData const): Deleted. * platform/audio/mac/FFTFrameMac.cpp: (WebCore::FFTFrame::FFTFrame): (WebCore::FFTFrame::doFFT): (WebCore::FFTFrame::realData const): Deleted. (WebCore::FFTFrame::imagData const): Deleted. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…as problems updating https://bugs.webkit.org/show_bug.cgi?id=218047 Reviewed by Philippe Normand. This scripts were returning zero status when flatpak failed to update in some cases. Fix them to return a non-zero status. * Scripts/update-webkit-flatpak: Add missing sys.exit call with the return code. * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): In python false is zero when casted to int. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…sts/mathml/relations/css-styling/padding-border-margin/border-002.html is a constant failure rdar://70546330 Unreviewed test gardening. * platform/mac/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…css-styling/padding-border-margin/border-002.html is a constant failure https://bugs.webkit.org/show_bug.cgi?id=217268 Unreviewed test gardening. * platform/ios-simulator-wk2/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
* Modules/webaudio/AudioSummingJunction.cpp: (WebCore::AudioSummingJunction::maximumNumberOfChannels const): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268841 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218053 Reviewed by Tim Horton. UIDocumentMenuViewController is deprecated and its last use was removed in r258092. * Platform/spi/ios/UIKitSPI.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218046 Patch by Alex Christensen <achristensen@webkit.org> on 2020-10-21 Reviewed by Darin Adler. LayoutTests/imported/w3c: * web-platform-tests/encoding/iso-2022-jp-encoder-expected.txt: * web-platform-tests/encoding/iso-2022-jp-encoder.html: Source/WebCore: https://encoding.spec.whatwg.org/#iso-2022-jp-encoder step 3 was put in a few years ago and recently implemented by Firefox. Covered by updated and newly passing web platform tests. * platform/text/TextCodecCJK.cpp: (WebCore::iso2022JPEncode): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268843 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218049 <rdar://problem/70542684> Reviewed by Aakash Jain. * Scripts/webkitpy/__init__.py: * Scripts/webkitpy/thirdparty/BeautifulSoup.py: * Scripts/webkitpy/thirdparty/__init__.py: (AutoinstallImportHook.find_module): Remove _install_beatifulsoup. (AutoinstallImportHook._install_pytest_timeout): Deleted. (AutoinstallImportHook._install_pytest): Deleted. (AutoinstallImportHook._install_beautifulsoup): Deleted. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…sts/mathml/relations/html5-tree/dynamic-childlist-001.htm is a constant failure rdar://70550210 Unreviewed test gardening. * platform/mac/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…html5-tree/dynamic-childlist-001.html is a constant failure https://bugs.webkit.org/show_bug.cgi?id=217268 Unreviewed test gardening. * platform/ios-simulator-wk2/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218020 Source/WebCore: <rdar://problem/69542459> Reviewed by Darin Adler. The refactoring in https://bugs.webkit.org/show_bug.cgi?id=216739 caused selections to expand in both directions after a double-click and drag to expand on mac. This behavior was not observed on iOS. This removes the error-prone calculation. Note that this bug does not occur if only testing immediatly moving the drag point to the end of the selection. Dragging across all the words as a real user would needs to be emulated. Test: editing/selection/double-click-and-drag-over-anchor-to-select.html * editing/VisibleSelection.cpp: (WebCore::VisibleSelection::validate): LayoutTests: Reviewed by Darin Adler. * editing/selection/double-click-and-drag-over-anchor-to-select-expected.txt: Added. * editing/selection/double-click-and-drag-over-anchor-to-select.html: Added. * resources/ui-helper.js: (window.UIHelper.doubleClickAtMouseDown): (window.UIHelper.mouseUp): (window.UIHelper.dragMouseAcrossElement): (window.UIHelper.doubleClickElementMouseDown): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268847 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…sent and received https://bugs.webkit.org/show_bug.cgi?id=217870 Reviewed by Darin Adler. Source/WebKit: Added IPC.addIncomingMessageListener and IPC.addOutgoingMessageListener which allows JavaScript to observe IPC messages being sent or received by WebContent process. We use the generated code added in r268503 to decode the IPC arguments. Tests: TestWebKitAPI.IPCTestingAPI.CanInterceptAlert TestWebKitAPI.IPCTestingAPI.CanInterceptHasStorageAccess TestWebKitAPI.IPCTestingAPI.CanInterceptFindString * Platform/IPC/Connection.cpp: (IPC::Connection::sendMessage): Added the code to invoke MessageObserver::willSendMessage. Also remove any stale MessageObserver as neded. (IPC::Connection::addMessageObserver): Added. (IPC::Connection::dispatchMessage): Added the code to invoke MessageObserver::didReceiveMessage. Also remove any stale MessageObserver as neded. * Platform/IPC/Connection.h: (IPC::Connection::MessageObserver): Added. A pure virtual interface for observing IPC messages. * Platform/IPC/JSIPCBinding.h: (IPC::jsValueForDecodedStringArgumentValue): Extracted from jsValueForDecodedArgumentValue<String>. Now takes the type name as an argument. (IPC::jsValueForDecodedArgumentValue<URL>): Use "URL" as the type name. (IPC::jsValueForDecodedArgumentValue<RegistrableDomain>): Use "RegistrableDomain" as the type name. (IPC::jsValueForDecodedArgumentValue<OptionSet<U>>): Added. Specializations for OptionSet<U> * WebProcess/WebPage/IPCTestingAPI.cpp: (WebKit::IPCTestingAPI::JSMessageListener): Added. Implements IPC::MessageObserver. (WebKit::IPCTestingAPI::JSIPC::staticFunctions): (WebKit::IPCTestingAPI::createTypeError): Moved. (WebKit::IPCTestingAPI::JSIPC::addMessageListener): Added. (WebKit::IPCTestingAPI::JSIPC::addIncomingMessageListener): Added. (WebKit::IPCTestingAPI::JSIPC::addOutgoingMessageListener): Added. (WebKit::IPCTestingAPI::JSMessageListener::JSMessageListener): Added. (WebKit::IPCTestingAPI::JSMessageListener::didReceiveMessage): Added. (WebKit::IPCTestingAPI::JSMessageListener::willSendMessage): Added. (WebKit::IPCTestingAPI::JSMessageListener::jsDescriptionFromDecoder): Added. Tools: Added tests to intercept IPC messages sent and received by WebContent process. * TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: (IPCTestingAPI.CanInterceptAlert): (IPCTestingAPI.CanInterceptHasStorageAccess): (IPCTestingAPI.CanInterceptFindString): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218001 Reviewed by Darin Adler. Remove use of the $(findstring NEEDLE,$(FEATURE_AND_PLATFORM_DEFINES)) idiom in DerivedSources.make to pave the way to passing FEATURE_AND_PLATFORM_DEFINES as a file to scripts, rather than always on the command line, which is quite noisy. * DerivedSources.make: Remove conditionalized additions to ADDITIONAL_BINDING_IDLS and just always add the concrete set, relying on the existing extended attributes in the IDLs instead. It's also not necessary to ever add the touch related IDL files in WebCore here as no users of DerivedSources.make use those. Also removes conditional additions to USER_AGENT_STYLE_SHEETS and instead adds the appropriate #ifdefs to the css files themselves which are already getting preprocessed appropriately. * css/fullscreen.css: * css/mathml.css: * css/mediaControls.css: * html/shadow/mac/imageControlsMac.css: Put required #ifdefs into the css files themselves, rather than embedding the logic in the makefile. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268849 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218017 Unreviewed build-fix. * rendering/RenderBox.cpp: (WebCore::RenderBox::styleDidChange): Add missing ifdef guards. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…ed-fallback.html is a constant failure rdar://70556068 Unreviewed test gardening. * platform/mac/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268851 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218062 Patch by Alex Christensen <achristensen@webkit.org> on 2020-10-21 Reviewed by Alexey Shvayka. r268709 introduced a Vector::findMatching call inside a loop that populates the Vector. This causes very slow construction of URLSearchParams with large dictionaries with 16-bit keys. To speed things up, keep a HashMap of the 16-bit strings we have already inserted to their index in the Vector so we don't need to search the Vector. * bindings/js/JSDOMConvertRecord.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218056 Reviewed by Tim Horton. LayoutTests/imported/w3c: * web-platform-tests/url/a-element-expected.txt: * web-platform-tests/url/a-element-xhtml-expected.txt: * web-platform-tests/url/resources/setters_tests.json: * web-platform-tests/url/resources/urltestdata.json: * web-platform-tests/url/url-constructor-expected.txt: * web-platform-tests/url/url-searchparams.any.js: * web-platform-tests/url/url-setters-expected.txt: Source/WebCore: Don't add an extra forward slash at the beginning when setting the path of a file URL that starts with a backslash, which we turn into a forward slash when parsing file URL paths. This conveniently involves removing duplicate code. This matches the behavior of Chrome and the URL spec. Covered by newly passing web platform tests. * html/URLDecomposition.cpp: (WebCore::URLDecomposition::setPathname): Source/WTF: * wtf/URL.cpp: (WTF::URL::setPath): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268853 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218065 Reviewed by Wenson Hsieh. Added JSIPCBinding.cpp and moved the code from JSIPCBinding.h to JSIPCBinding.cpp. No new tests since there is no behavior change. * Platform/IPC/JSIPCBinding.cpp: Added. (IPC::jsValueForDecodedStringArgumentValue): Moved from .h. (IPC::jsValueForDecodedArgumentValue<String>): Ditto. (IPC::jsValueForDecodedArgumentValue<URL>): Ditto. (IPC::jsValueForDecodedArgumentValue<RegistrableDomain>): Ditto. (IPC::jsValueForDecodedNumericArgumentValue): Ditto. (IPC::jsValueForDecodedArgumentValue<double>): Ditto. (IPC::jsValueForDecodedArgumentValue<float>): Ditto. (IPC::jsValueForDecodedArgumentValue<int8_t>): Ditto. (IPC::jsValueForDecodedArgumentValue<int16_t>): Ditto. (IPC::jsValueForDecodedArgumentValue<int32_t>): Ditto. (IPC::jsValueForDecodedArgumentValue<int64_t>): Ditto. (IPC::jsValueForDecodedArgumentValue<uint8_t>): Ditto. (IPC::jsValueForDecodedArgumentValue<uint16_t>): Ditto. (IPC::jsValueForDecodedArgumentValue<uint32_t>): Ditto. (IPC::jsValueForDecodedArgumentValue<uint64_t>): Ditto. (IPC::jsValueForDecodedArgumentRect): Ditto. (IPC::jsValueForDecodedArgumentValue<IntRect>): Ditto. (IPC::jsValueForDecodedArgumentValue<FloatRect>): Ditto. * Platform/IPC/JSIPCBinding.h: (IPC::jsValueForDecodedArgumentValue): * Sources.txt: * WebKit.xcodeproj/project.pbxproj: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268854 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218068 Reviewed by Adrian Perez de Castro. On r268591 I updated the version of wpebackend-fdo to the last stable 1.8 but this version is failing to build on Ubuntu-18.04 because of the cmake version. Backport a patch to fix this. * gtk/jhbuild.modules: * gtk/patches/wpebackend-fdo-cmake-buildfix-3.10.patch: Added. * jhbuild/jhbuild-minimal.modules: * jhbuild/patches/wpebackend-fdo-cmake-buildfix-3.10.patch: Added. * wpe/jhbuild.modules: * wpe/patches/wpebackend-fdo-cmake-buildfix-3.10.patch: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=216882 <rdar://problem/69443288> Patch by Martin Robinson <mrobinson@igalia.com> on 2020-10-22 Reviewed by Simon Fraser. LayoutTests/imported/w3c: Update expectations for these tests. * web-platform-tests/css/css-scroll-snap/nested-scrollIntoView-snaps-expected.txt: * web-platform-tests/css/css-scroll-snap/snap-after-relayout/adding-only-snap-area-expected.txt: * web-platform-tests/css/css-scroll-snap/snap-after-relayout/changing-scroll-snap-align-expected.txt: * web-platform-tests/css/css-scroll-snap/snap-after-relayout/snap-to-different-targets-expected.txt: * web-platform-tests/css/css-scroll-snap/snap-area-capturing-remove-scroll-container-expected.txt: Source/WebCore: * page/scrolling/AxisScrollSnapOffsets.cpp: (WebCore::updateSnapOffsetsForScrollableArea): No longer call adjustmentForTextAutosizing and only conditionally adjust the scroll area by the scroll offset, becauase mapping to container coordinates only applies container scroll offsets in the case that the container is not a ScrollView. (WebCore::adjustAxisSnapOffsetsForScrollExtent): Deleted. LayoutTests: * TestExpectations: Mark some tests as passing. * css3/scroll-snap/nested-elements-expected.txt: Update results to eliminate implicit stops. * css3/scroll-snap/scroll-snap-children-with-padding-expected.txt: Ditto. * css3/scroll-snap/scroll-snap-children-with-scroll-snap-margin-expected.txt: Ditto. * css3/scroll-snap/scroll-snap-children-with-transforms-expected.txt: Ditto. * css3/scroll-snap/scroll-snap-elements-container-larger-than-children-expected.txt: Ditto. * css3/scroll-snap/scroll-snap-elements-container-larger-than-children-rtl-expected.txt: Ditto. * css3/scroll-snap/scroll-snap-offsets-expected.txt: Ditto. * css3/scroll-snap/scroll-snap-offsets-rtl-expected.txt: Ditto. * css3/scroll-snap/scroll-snap-positions-expected.txt: Ditto. * css3/scroll-snap/scroll-snap-with-scroll-padding-expected.txt: Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268856 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tools: Always connect to WebKitWebView::close even if the view is never made active. * MiniBrowser/gtk/BrowserWindow.c: (browserWindowSwitchTab): (browser_window_append_view): WebDriverTests: * TestExpectations.json: * imported/w3c/importer.json: * imported/w3c/tools/webdriver/webdriver/client.py: * imported/w3c/tools/wptrunner/wptrunner/browsers/android_weblayer.py: * imported/w3c/tools/wptrunner/wptrunner/browsers/chrome.py: * imported/w3c/tools/wptrunner/wptrunner/browsers/chrome_android.py: * imported/w3c/tools/wptrunner/wptrunner/environment.py: * imported/w3c/tools/wptrunner/wptrunner/executors/base.py: * imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py: * imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py: * imported/w3c/tools/wptrunner/wptrunner/executors/executorservodriver.py: * imported/w3c/tools/wptrunner/wptrunner/executors/executorwebdriver.py: * imported/w3c/tools/wptrunner/wptrunner/executors/protocol.py: * imported/w3c/tools/wptrunner/wptrunner/testdriver-extra.js: * imported/w3c/tools/wptrunner/wptrunner/testharnessreport.js:¡ * imported/w3c/tools/wptrunner/wptrunner/webdriver_server.py: * imported/w3c/tools/wptrunner/wptrunner/wptcommandline.py: * imported/w3c/tools/wptrunner/wptrunner/wptrunner.py: * imported/w3c/webdriver/tests/element_click/shadow_dom.py: Added. * imported/w3c/webdriver/tests/perform_actions/support/refine.py: * imported/w3c/webdriver/tests/print/printcmd.py: * imported/w3c/webdriver/tests/print/user_prompts.py: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@268857 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Original patch was revert, should revert expectations as well Reverted changeset: "Unreviewed, GStreamer gardening" https://trac.webkit.org/changeset/269043 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218245 Reviewed by Xabier Rodriguez-Calvar. Plug non-video pads to a fake sink in order to maintain a valid pipeline. Later we should switch to decodebin3 and rely on the stream selection facilities. * platform/graphics/gstreamer/ImageDecoderGStreamer.cpp: (WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad): (WebCore::ImageDecoderGStreamer::InnerDecoder::preparePipeline): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218281 Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-28 Reviewed by Carlos Alberto Lopez Perez. * buildstream/elements/flatpak/sdk.bst: Switch to app-debug-link as in the upstream FDO SDK. * buildstream/elements/freedesktop-sdk.bst: Bump junction ref. * buildstream/elements/sdk/mesa.bst: Update to 20.1.10 and add patch not present in stable release yet. * buildstream/patches/fdo-0001-pango-Bump-to-1.47.patch: Added. * buildstream/patches/mesa/0001-mesa-rename-_mesa_free_errors_data.patch: Removed. * buildstream/patches/mesa/0002-mesa-add-bool-param-to-_mesa_free_context_data.patch: Removed. * buildstream/patches/mesa/0003-mesa-st-release-debug_output-after-destroying-the-co.patch: Removed. * buildstream/patches/mesa/0004-mesa-clear-texture-s-views-when-texture-is-remove.patch: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269100 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218248 Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-28 Reviewed by Xabier Rodriguez-Calvar. Set framerate on the sample caps and reduce code duplication. * platform/graphics/gstreamer/MediaSampleGStreamer.cpp: (WebCore::MediaSampleGStreamer::createImageSample): * platform/graphics/gstreamer/MediaSampleGStreamer.h: * platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp: (WebCore::MockRealtimeVideoSourceGStreamer::updateSampleBuffer): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…s the root inlinebox vertical position https://bugs.webkit.org/show_bug.cgi?id=218271 Reviewed by Antti Koivisto. Let's start tracking the nested vertical alignment offsets from the root's baseline. It enables us to find out how much offset the root inlinebox's baseline is required inside the line box. e.g. <div style="font-size: 50px;"> root inlinebox text content <span style="font-size: 10px; vertical-align: text-bottom">and some nested text with an image <img src="broken.jpg" style="vertical-align: baseline; height: 100px; width: 100px;"> </span> </div> In this case, the nested inline box (<span>) has 'text-bottom' vertical alignment which may stretch the line box and may push the root inlinebox downwards so as the nested <img> (aligned with the <span>'s baseline). We simply compute the absolute offset value for each inline level boxes as we walk the "tree" and hold on to the maximum value. * layout/inlineformatting/InlineFormattingContextGeometry.cpp: (WebCore::Layout::LineBoxBuilder::alignInlineLevelBoxesVerticallyAndComputeLineBoxHeight): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218182 Reviewed by Philippe Normand. In certain cases, like smoothstreaming with PlayReady, the init datas we are getting are correct but are not in PSSH box format they would be "sanitized away". In this patch you can enable sanitization customization depending on the CDM you're using. * Modules/encryptedmedia/CDM.cpp: (WebCore::CDM::sanitizeInitData): * platform/encryptedmedia/CDMPrivate.cpp: (WebCore::CDMPrivate::sanitizeInitData const): * platform/encryptedmedia/CDMPrivate.h: * platform/graphics/gstreamer/eme/CDMThunder.cpp: (WebCore::CDMPrivateThunder::sanitizeInitData const): * platform/graphics/gstreamer/eme/CDMThunder.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=215255 Reviewed by Xabier Rodriguez-Calvar. Source/WebCore: The audio file reader used to handle up to stereo audio layouts. It can now handle up to 5.1 surround layouts. This patch also modernizes the coding style of this module in various parts. * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: (WebCore::initializeDebugCategory): (WebCore::AudioFileReader::handleSample): (WebCore::AudioFileReader::handleMessage): (WebCore::AudioFileReader::handleNewDeinterleavePad): (WebCore::AudioFileReader::plugDeinterleave): (WebCore::AudioFileReader::decodeAudioForBusCreation): (WebCore::AudioFileReader::createBus): (WebCore::createBusFromAudioFile): (WebCore::createBusFromInMemoryAudioFile): LayoutTests: * platform/glib/TestExpectations: audiobuffersource-multi-channels.html is now passing. * platform/glib/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added. * platform/glib/webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.wav: Added. * platform/glib/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Added. * platform/glib/webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.wav: Added. * platform/glib/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added. * platform/gtk/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Removed. * platform/gtk/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Removed. * platform/gtk/webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.wav: Removed. * platform/gtk/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Removed. * platform/gtk/webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.wav: Removed. * platform/gtk/webaudio/codec-tests/wav/24bit-44khz-expected.wav: Removed. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…at needs testing https://bugs.webkit.org/show_bug.cgi?id=218267 Reviewed by Simon Fraser. Source/WebKitLegacy/mac: Expose a set of setters to for DumpRenderTree to use when setting preferences by string. * WebView/WebPreferences.mm: (-[WebPreferences _setBoolPreferenceForTestingWithValue:forKey:]): (-[WebPreferences _setUInt32PreferenceForTestingWithValue:forKey:]): (-[WebPreferences _setDoublePreferenceForTestingWithValue:forKey:]): (-[WebPreferences _setStringPreferenceForTestingWithValue:forKey:]): * WebView/WebPreferencesPrivate.h: Tools: Removes the requirement for WebKitLegacy (macOS), which has already been lifted for modern WebKit, that testing new preferences requires new WebPreferences SPI. Instead, new testing specific SPI ([WebPreferences _set*PreferenceForTestingWithValue:forKey:]) are used to allow string based setting. To make this work with the shared WebPreferences*.yaml names, a helper is generated to map from the shared name to the WebKitLegacy specific name. This still doesn't quite take us all the way to supporting any WebPreferences*.yaml name in test headers, as is supported in WebKitTestRunner, as we still need a viable mechanism to fully reset WebPreferences between tests. Right now, each preference must be set on each test run, requiring the complete set of preferences to be known up front. * DumpRenderTree/CMakeLists.txt: * DumpRenderTree/DerivedSources-input.xcfilelist: * DumpRenderTree/DerivedSources-output.xcfilelist: * DumpRenderTree/DerivedSources.make: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/Scripts/PreferencesTemplates/TestOptionsGeneratedWebKitLegacyKeyMapping.cpp.erb: Added. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::supportedBoolWebPreferenceFeatures): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::overridePreference): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218227 Reviewed by Jonathan Bedard. * CISupport/ews-build/send_email.py: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…re not in SSA form) https://bugs.webkit.org/show_bug.cgi?id=218073 Reviewed by Saam Barati. JSTests: The only testcase I managed to get for this bug loops forever when not crashing. So I use a 1s timeout through --watchdog=1000. * stress/bounds-checking-in-cold-loop.js: Added. (true.vm.ftlTrue): Source/JavaScriptCore: In DFGIntegerRangeOptimization, when visiting an Upsilon node, we call setEquivalence, that calls setRelationship. But despite its name, this function does not overwrite a pre-existing relationship, it simply replaces it by an over-approximation of the intersection of the old and new relationship (see the filter method). Since the old relationship is always (by definition) an over-approximation of this intersection, it will often do nothing at all if it cannot find a closer approximation. This is a problem specifically for Upsilon nodes, because several of them can store to the same "shadow node" corresponding to a given Phi, so they are the only case where there can already be a completely different relationship for the same nodes (coming from a different Upsilon). The fix is very simple thanks to a suggestion by Phil: we just remove all relationships referring to the shadow node just before executing an Upsilon. This is correct since the upsilon effectively kills that shadow node, before making it live again with a different value, and we already aggressively prune the relationshipMaps by liveness. * dfg/DFGIntegerRangeOptimizationPhase.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218286 Reviewed by Eric Carlson. LayoutTests/imported/w3c: Rebaseline WPT test that is now passing. This test is also passing in Firefox. It is crashing in Blink. * web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/transferred-buffer-output-expected.txt: Source/WebCore: AudioBuffer channels should be neuterable / detachable: - https://webaudio.github.io/web-audio-api/#acquire-the-content When the one of the channels' buffers gets detached/neutered, the array returned by getChannelData(0) is neutered and thus has zero length. Internally though, if channelData() gets called and ANY of the channels' buffers are detached, we return a new empty array, as per the specification. This makes sure we end up with silence on all channels when any of the channels gets detached, which is consistent with the specification and Firefox (Blink seems to crash). To make the AudioBuffer API less error-prone when used natively, I updated length() and duration() to return 0 whenever any of the channels is detached. This is safer since channelData() returns 0-length arrays in this case. The Web API keeps returning the original values though so they rely on new originalLength() / originalDuration() getters. No new tests, rebaselined / updated existing tests. * Modules/webaudio/AudioBuffer.cpp: (WebCore::AudioBuffer::create): (WebCore::AudioBuffer::AudioBuffer): (WebCore::AudioBuffer::invalidate): (WebCore::AudioBuffer::channelData): (WebCore::AudioBuffer::zero): (WebCore::AudioBuffer::hasDetachedChannelBuffer const): * Modules/webaudio/AudioBuffer.h: (WebCore::AudioBuffer::originalLength const): (WebCore::AudioBuffer::originalDuration const): (WebCore::AudioBuffer::length const): (WebCore::AudioBuffer::duration const): * Modules/webaudio/AudioBuffer.idl: * Modules/webaudio/ConvolverNode.cpp: (WebCore::ConvolverNode::setBuffer): * Modules/webaudio/ScriptProcessorNode.cpp: (WebCore::ScriptProcessorNode::initialize): LayoutTests: * webaudio/audiobuffer-neuter-expected.txt: * webaudio/audiobuffer-neuter.html: Extend layout test coverage. I have verified that this new version of the test is fully passing in Gecko. In Blink, the initial checks all pass but it then crashes during rendering. * webaudio/resources/audio-testing.js: (createConstantBuffer): Improve createConstantBuffer() so that it can construct buffers with multiple channels. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218289 Reviewed by Geoff Garen. Since Contacts.framework does not depend on WebKit and soft linking is discouraged, WebKit should link Contacts.framework normally. Soft linking requires running the linker at runtime, leading to an unwanted performance cost. By normally linking (on iOS) and weak linking (on macOS), the linkage is declared at build time, which enables running the linker at build/update/install time and avoiding the runtime cost. * Configurations/WebKit.xcconfig: On macOS, weak link the framework since Contacts.framework is not available on the Base System. * Platform/cocoa/PaymentAuthorizationPresenter.mm: (WebKit::toNSError): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218285 <rdar://problem/70730722> Reviewed by Antti Koivisto. LineBoxBuilder functions check for empty run list except this static helper. * layout/inlineformatting/InlineFormattingContextGeometry.cpp: (WebCore::Layout::horizontalAlignmentOffset): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218288 Reviewed by Tim Horton. Source/WebKit: Removes WKPreferencesGet/SetTabToLinksEnabled preference as it duplicates functionality of WKPreferencesGet/SetTabsToLinks. The former was added for https://bugs.webkit.org/show_bug.cgi?id=95329 but was redundant even at the time. We can now use test header commands for all of its use cases. Also removes testing only bundle SPI for enabling spatial navigation which also can be set via test headers instead. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetTabToLinksEnabled): Deleted. (WKPreferencesGetTabToLinksEnabled): Deleted. * UIProcess/API/C/WKPreferencesRefPrivate.h: * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleSetSpatialNavigationEnabled): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): (WebKit::InjectedBundle::setSpatialNavigationEnabled): Deleted. * WebProcess/InjectedBundle/InjectedBundle.h: * WebProcess/WebPage/WebPage.h: (WebKit::WebPage::setTabToLinksEnabled): Deleted. (WebKit::WebPage::tabToLinksEnabled const): Deleted. Source/WTF: * Scripts/Preferences/WebPreferences.yaml: Unify TabToLinksEnabled and TabsToLinks. TabToLinksEnabled was added for https://bugs.webkit.org/show_bug.cgi?id=95329 and has never actually been needed. Tools: Replace uses of testRunner.overridePreference("WebKitTabToLinksPreferenceKey", ...) and testRunner.setSpatialNavigationEnabled(...) with test header commands, helping to reduce the number of different ways we have to override preferences in LayoutTests. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults): * DumpRenderTree/TestRunner.cpp: (TestRunner::staticFunctions): (setSpatialNavigationEnabledCallback): Deleted. * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebPreferencesToConsistentValues): * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setSpatialNavigationEnabled): Deleted. * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebPreferencesToConsistentValues): (setWebPreferencesForTestOptions): * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setSpatialNavigationEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): LayoutTests: Replace uses of testRunner.overridePreference("WebKitTabToLinksPreferenceKey", ...) and testRunner.setSpatialNavigationEnabled(...) with test header commands, helping to reduce the number of different ways we have to override preferences in LayoutTests. * accessibility/mac/caret-browsing-tab-selection.html: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html: * accessibility/mac/selection-element-tabbing-to-link.html: * accessibility/mac/selection-notification-focus-change.html: * accessibility/mac/tab-focus-post-notification.html: * fast/events/tab-focus-anchor.html: * fast/events/tab-focus-link-in-canvas.html: * fast/spatial-navigation/snav-1st-stop.html: * fast/spatial-navigation/snav-clipped-overflowed-content.html: * fast/spatial-navigation/snav-container-only-white-space.html: * fast/spatial-navigation/snav-container-white-space.html: * fast/spatial-navigation/snav-display-contents-crash.html: * fast/spatial-navigation/snav-div-overflow-scrol-hidden.html: * fast/spatial-navigation/snav-div-scrollable-but-without-focusable-content.html: * fast/spatial-navigation/snav-fully-aligned-horizontally.html: * fast/spatial-navigation/snav-fully-aligned-vertically.html: * fast/spatial-navigation/snav-hidden-focusable-element.html: * fast/spatial-navigation/snav-hidden-iframe-zero-size.html: * fast/spatial-navigation/snav-hidden-iframe.html: * fast/spatial-navigation/snav-iframe-flattening-simple.html: * fast/spatial-navigation/snav-iframe-nested.html: * fast/spatial-navigation/snav-iframe-no-focusable-content.html: * fast/spatial-navigation/snav-iframe-no-scrollable-content.html: * fast/spatial-navigation/snav-iframe-recursive-offset-parent.html: * fast/spatial-navigation/snav-iframe-with-offscreen-focusable-element.html: * fast/spatial-navigation/snav-imagemap-area-not-focusable.html: * fast/spatial-navigation/snav-imagemap-area-without-image.html: * fast/spatial-navigation/snav-imagemap-overlapped-areas.html: * fast/spatial-navigation/snav-imagemap-simple.html: * fast/spatial-navigation/snav-input.html: * fast/spatial-navigation/snav-media-elements.html: * fast/spatial-navigation/snav-multiple-select-focusring.html: * fast/spatial-navigation/snav-multiple-select-optgroup.html: * fast/spatial-navigation/snav-multiple-select.html: * fast/spatial-navigation/snav-offscreen-content.html: * fast/spatial-navigation/snav-only-clipped-overflow-content.html: * fast/spatial-navigation/snav-radio-group.html: * fast/spatial-navigation/snav-radio.html: * fast/spatial-navigation/snav-search-optimization.html: * fast/spatial-navigation/snav-simple-content-overflow.html: * fast/spatial-navigation/snav-single-select-list.html: * fast/spatial-navigation/snav-single-select.html: * fast/spatial-navigation/snav-table-traversal.html: * fast/spatial-navigation/snav-textarea.html: * fast/spatial-navigation/snav-tiny-table-traversal.html: * fast/spatial-navigation/snav-two-elements-one-line.html: * fast/spatial-navigation/snav-unit-overflow-and-scroll-in-direction.html: * fast/spatial-navigation/snav-z-index.html: * fast/spatial-navigation/snav-zero-margin-content.html: * media/media-controls-accessibility.html: * media/tab-focus-inside-media-elements.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218257 <rdar://problem/70736269> Rubber-stamped by Aakash Jain. * Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: (_maybe_add_webkit_python_library_paths): Add webkitcorepy and webkitflaskpy. (_maybe_add_webkitcorepy_path): Renamed _maybe_add_webkit_python_library_paths. * Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/util.py: Moved to webkitflaskpy/util.py. * Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/util_unittest.py: Moved to webkitflaskpy/util_unittest.py. * Scripts/libraries/webkitflaskpy: Added. * Scripts/libraries/webkitflaskpy/MANIFEST.in: Added. * Scripts/libraries/webkitflaskpy/README.md: Added. * Scripts/libraries/webkitflaskpy/setup.py: Added. * Scripts/libraries/webkitflaskpy/webkitflaskpy: Added. * Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py: Added. * Scripts/libraries/webkitflaskpy/webkitflaskpy/util.py: Moved from resultsdpy/flask_support/util.py. * Scripts/libraries/webkitflaskpy/webkitflaskpy/util_unittest.py: Moved from resultsdpy/flask_support/util_unittest.py. * Scripts/webkitpy/test/main.py: (main): Add git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…ting FunctionExecutables during bytecode generation https://bugs.webkit.org/show_bug.cgi?id=199866 <rdar://problem/53333108> Reviewed by Tadeu Zagallo. JSTests: * microbenchmarks/let-const-tdz-environment-parsing-and-hash-consing-speed.js: Added. Source/JavaScriptCore: This patch removes performance pathologies regarding programs with many variables under TDZ (let/const). We had an algorithm for caching the results of gathering all variables under TDZ, but that algorithm wasn't nearly aggressive enough in its caching. This lead us to worst case quadratic runtime, which could happens in practice for large functions. There are a few fixes here: - Instead of flattening the entire TDZ stack, and caching that result, we now cache each stack entry individually. So as you push/pop to the TDZ environment stack, we no longer invalidate everything. Instead, we will just need to cache the newly pushed entry. We also no longer invalidate the cache for lifting a TDZ check. The compromise here is we may emit more runtime TDZ checks for closure variables. This is better than N^2 bytecode compile time perf, since a well predicted branch for a TDZ check is essentially free. - We no longer transform the CompactTDZEnvironment (formerly CompactVariableEnvironment) from a Vector into a HashSet each time we generate code for an inner function. Instead, CompactTDZEnvironment can be in two modes: compact and inflated. It starts life off in compact mode (a vector), and will turn into an inflated mode if it's ever needed. Once inflated, it'll stay this way until it's destructed. This improves our algorithm from being O(EnvSize * NumFunctions) to O(EnvSize) at the cost of using more space in a HashTable versus a Vector. In the future, we could consider just binary searching through this Vector, and never using a hash table. * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::generateUnlinkedFunctionCodeBlock): (JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable): * bytecode/UnlinkedFunctionExecutable.h: * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::popLexicalScopeInternal): (JSC::BytecodeGenerator::needsTDZCheck): (JSC::BytecodeGenerator::liftTDZCheckIfPossible): (JSC::BytecodeGenerator::pushTDZVariables): (JSC::BytecodeGenerator::getVariablesUnderTDZ): (JSC::BytecodeGenerator::preserveTDZStack): (JSC::BytecodeGenerator::restoreTDZStack): (JSC::BytecodeGenerator::emitNewInstanceFieldInitializerFunction): * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::makeFunction): * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluateWithScopeExtension): * interpreter/Interpreter.cpp: (JSC::eval): * parser/Parser.h: (JSC::Parser<LexerType>::parse): (JSC::parse): * parser/VariableEnvironment.cpp: (JSC::CompactTDZEnvironment::sortCompact): (JSC::CompactTDZEnvironment::CompactTDZEnvironment): (JSC::CompactTDZEnvironment::operator== const): (JSC::CompactTDZEnvironment::toTDZEnvironmentSlow const): (JSC::CompactTDZEnvironmentMap::get): (JSC::CompactTDZEnvironmentMap::Handle::~Handle): (JSC::CompactTDZEnvironmentMap::Handle::Handle): (JSC::CompactVariableEnvironment::CompactVariableEnvironment): Deleted. (JSC::CompactVariableEnvironment::operator== const): Deleted. (JSC::CompactVariableEnvironment::toVariableEnvironment const): Deleted. (JSC::CompactVariableMap::get): Deleted. (JSC::CompactVariableMap::Handle::~Handle): Deleted. (JSC::CompactVariableMap::Handle::Handle): Deleted. * parser/VariableEnvironment.h: (JSC::CompactTDZEnvironment::toTDZEnvironment const): (JSC::CompactTDZEnvironmentKey::CompactTDZEnvironmentKey): (JSC::CompactTDZEnvironmentKey::hash): (JSC::CompactTDZEnvironmentKey::equal): (JSC::CompactTDZEnvironmentKey::makeDeletedValue): (JSC::CompactTDZEnvironmentKey::isHashTableDeletedValue const): (JSC::CompactTDZEnvironmentKey::environment): (WTF::HashTraits<JSC::CompactTDZEnvironmentKey>::emptyValue): (WTF::HashTraits<JSC::CompactTDZEnvironmentKey>::isEmptyValue): (WTF::HashTraits<JSC::CompactTDZEnvironmentKey>::constructDeletedValue): (WTF::HashTraits<JSC::CompactTDZEnvironmentKey>::isDeletedValue): (JSC::CompactTDZEnvironmentMap::Handle::environment const): (JSC::CompactVariableEnvironment::hash const): Deleted. (JSC::CompactVariableMapKey::CompactVariableMapKey): Deleted. (JSC::CompactVariableMapKey::hash): Deleted. (JSC::CompactVariableMapKey::equal): Deleted. (JSC::CompactVariableMapKey::makeDeletedValue): Deleted. (JSC::CompactVariableMapKey::isHashTableDeletedValue const): Deleted. (JSC::CompactVariableMapKey::isHashTableEmptyValue const): Deleted. (JSC::CompactVariableMapKey::environment): Deleted. (WTF::HashTraits<JSC::CompactVariableMapKey>::emptyValue): Deleted. (WTF::HashTraits<JSC::CompactVariableMapKey>::isEmptyValue): Deleted. (WTF::HashTraits<JSC::CompactVariableMapKey>::constructDeletedValue): Deleted. (WTF::HashTraits<JSC::CompactVariableMapKey>::isDeletedValue): Deleted. (JSC::CompactVariableMap::Handle::Handle): Deleted. (JSC::CompactVariableMap::Handle::operator=): Deleted. (JSC::CompactVariableMap::Handle::operator bool const): Deleted. (JSC::CompactVariableMap::Handle::environment const): Deleted. (JSC::CompactVariableMap::Handle::swap): Deleted. * runtime/CachedTypes.cpp: (JSC::Decoder::handleForTDZEnvironment const): (JSC::Decoder::setHandleForTDZEnvironment): (JSC::CachedCompactTDZEnvironment::encode): (JSC::CachedCompactTDZEnvironment::decode const): (JSC::CachedCompactTDZEnvironmentMapHandle::encode): (JSC::CachedCompactTDZEnvironmentMapHandle::decode const): (JSC::CachedFunctionExecutableRareData::decode const): (JSC::Decoder::handleForEnvironment const): Deleted. (JSC::Decoder::setHandleForEnvironment): Deleted. (JSC::CachedCompactVariableEnvironment::encode): Deleted. (JSC::CachedCompactVariableEnvironment::decode const): Deleted. (JSC::CachedCompactVariableMapHandle::encode): Deleted. (JSC::CachedCompactVariableMapHandle::decode const): Deleted. * runtime/CachedTypes.h: * runtime/CodeCache.cpp: (JSC::generateUnlinkedCodeBlockImpl): (JSC::generateUnlinkedCodeBlock): (JSC::generateUnlinkedCodeBlockForDirectEval): (JSC::recursivelyGenerateUnlinkedCodeBlockForProgram): (JSC::recursivelyGenerateUnlinkedCodeBlockForModuleProgram): (JSC::CodeCache::getUnlinkedGlobalCodeBlock): * runtime/CodeCache.h: * runtime/Completion.cpp: (JSC::generateProgramBytecode): (JSC::generateModuleBytecode): * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): * runtime/DirectEvalExecutable.h: * runtime/JSScope.cpp: (JSC::JSScope::collectClosureVariablesUnderTDZ): * runtime/JSScope.h: * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: Source/WTF: * wtf/RefPtr.h: (WTF::swap): Deleted. This function is no longer necessary, and causes ADL (https://en.cppreference.com/w/cpp/language/adl) compile errors when not using DumbPtrTraits and calling sort on a vector of that type. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269115 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…es by unifying replicaSurface and mainSurface https://bugs.webkit.org/show_bug.cgi?id=217943 Reviewed by Don Olmstead. TextureMapperLayer::paintWithIntermediateSurface was using two BitmapTextures for the main layer and replica layer. But, a single BitmapTexture suffices. Create a BitmapTexture and render both layers onto it. No new tests, no behavior changes. * platform/graphics/texmap/TextureMapperLayer.cpp: (WebCore::TextureMapperLayer::paintIntoSurface): (WebCore::TextureMapperLayer::paintWithIntermediateSurface): * platform/graphics/texmap/TextureMapperLayer.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218212 <rdar://problem/70700121> Reviewed by Dewei Zhu. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: (Git.commit): Find a commit referred to by a provided tag. * Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py: (Scm.find): Find a commit by tag, if applicable. (Scm.commit): * Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py: (Svn.info): Pull information by tag, support non-standard branches. (Svn._cache_revisions): Support non-standard branches. (Svn._branch_for): Return the non-standard branch name for tags. (Svn.commit): Find a commit referred to by a provided tag. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: (Git): Support tags. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py: (Svn.__init__): Support tags. (Svn.tags): Tags are simply specialized branches, return the names of those tags based on the commit mapping. * Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py: * Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py: (TestGit): (TestGit.test_tag): * Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py: (TestSvn): (TestSvn.test_tag): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218303 <rdar://problem/70587571> Reviewed by Geoffrey Garen. Source/ThirdParty/ANGLE: * src/gpu_info_util/SystemInfo.h: * src/gpu_info_util/SystemInfo_apple.mm: (angle::GetSystemInfo): We can just use the macOS version of GetSystemInfo in macCatalyst. * src/gpu_info_util/SystemInfo_macos.mm: (angle::GetSystemInfo_mac): * src/libANGLE/Display.cpp: * src/libANGLE/formatutils.cpp: (gl::BuildInternalFormatInfoMap): * src/libANGLE/renderer/gl/renderergl_utils.cpp: (rx::nativegl_gl::GenerateCaps): It turns out we must use EAGL in macCatalyst on Apple Silicon in all cases, not just in-process in iOS apps (the problem is not just about coexistence of the two GLs, but actually about our ability to load the accelerated renderer /at all/ in macCatalyst processes). I left the runtime switching in place, because there is a future in which we /can/ use CGL in non-iOS-app processes, but that future is not now. Source/WebCore: * platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm: (WebCore::needsEAGLOnMac): (WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL): (WebCore::GraphicsContextGLOpenGL::IOSurfaceTextureTarget): (WebCore::GraphicsContextGLOpenGL::IOSurfaceTextureTargetQuery): (WebCore::GraphicsContextGLOpenGL::EGLIOSurfaceTextureTarget): (WebCore::isiOSAppOnMac): Deleted. See ANGLE ChangeLog. Source/WebKit: * UIProcess/mac/HighPerformanceGPUManager.mm: (WebKit::HighPerformanceGPUManager::addProcessRequiringHighPerformance): (WebKit::HighPerformanceGPUManager::removeProcessRequiringHighPerformance): (WebKit::HighPerformanceGPUManager::updateState): (WebKit::isiOSAppOnMac): Deleted. HighPerformanceGPUManager is PLATFORM(MAC)-only, which is not true for MACCATALYST, so delete this dead code. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218302 Reviewed by Jonathan Bedard. * CISupport/build-webkit-org: Copied from Tools/CISupport/build.webkit.org-config. * CISupport/build-webkit-org/htdigestparser_unittest.py: * CISupport/build-webkit-org/public_html/TestFailures/scripts/builders_unittests.js: * CISupport/build-webkit-org/steps.py: * CISupport/build-webkit-org/steps_unittest.py: * CISupport/build-webkit-org/wkbuild.py: * CISupport/build-webkit-org/wkbuild_unittest.py: * CISupport/build.webkit.org-config: Removed. * CISupport/ews-build/steps.py: * CISupport/ews-build/steps_unittest.py: * Scripts/run-dashboard-tests: * Scripts/webkitpy/layout_tests/views/buildbot_results.py: * Scripts/webkitpy/style/checker_unittest.py: * Scripts/webkitpy/tool/servers/gardeningserver.py: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218294 <rdar://problem/70771306> Reviewed by Eric Carlson. Source/WebCore: Test: media/media-source/media-source-trackid-change.html When appending an initialization segment after the receivedFirstInitializationSegment flag is true, and when the number of video or audio tracks is 1, the trackId is allowed to change across initialiaztion segments. When this occurs, move the TrackBuffer inside the trackBufferMap to refer to the new trackId, so that when MediaSamples are parsed, they're put into the correct TrackBuffer. * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment): * html/track/AudioTrack.cpp: (WebCore::AudioTrack::setPrivate): * html/track/InbandTextTrack.cpp: (WebCore::InbandTextTrack::setPrivate): * html/track/VideoTrack.cpp: (WebCore::VideoTrack::setPrivate): LayoutTests: * media/media-source/media-source-trackid-change-expected.txt: Added. * media/media-source/media-source-trackid-change.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…ter changes in r269036 https://bugs.webkit.org/show_bug.cgi?id=218151 Unreviewed test gardening. * platform/mac-catalina/fast/forms/input-appearance-spinbutton-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218116 Reviewed by Simon Fraser. Flush the DrawingContext of the RemoteImageBufferProxy once the PutImageData item is recorded. So no expensive operation is going to block the painting. * WebProcess/GPU/graphics/RemoteImageBufferProxy.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218304 Reviewed by Tim Horton. There's no longer a need to pipe diagnostic logging up to clients. * history/BackForwardCache.cpp: (WebCore::canCacheFrame): * loader/SubframeLoader.cpp: (WebCore::logPluginRequest): Remove a now-unused parameter. (WebCore::FrameLoader::SubframeLoader::requestObject): (WebCore::FrameLoader::SubframeLoader::createJavaAppletWidget): * page/DiagnosticLoggingKeys.cpp: (WebCore::DiagnosticLoggingKeys::pluginLoadedKey): Deleted. (WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey): Deleted. (WebCore::DiagnosticLoggingKeys::pageContainsPluginKey): Deleted. (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey): Deleted. (WebCore::DiagnosticLoggingKeys::hasPluginsKey): Deleted. * page/DiagnosticLoggingKeys.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Checked in Change markers Reverted changeset: "Rebase for fast/forms/input-appearance-spinbutton.html on Catalina after changes in r269036" https://bugs.webkit.org/show_bug.cgi?id=218151 https://trac.webkit.org/changeset/269122 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269125 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…ter changes in r269036 https://bugs.webkit.org/show_bug.cgi?id=218151 Unreviewed test gardening. * platform/mac-catalina/fast/forms/input-appearance-spinbutton-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
…n is wrong https://bugs.webkit.org/show_bug.cgi?id=218058 <rdar://problem/70550459> Patch by Federico Bucchi <fbucchi@apple.com> on 2020-10-28 Reviewed by Devin Rousso. * UserInterface/Views/NetworkTableContentView.css: (.network-table > .table li:not(.filler, .selected) .cell:not(.name, .current-session),): (.network-table > .table li:not(.filler, .selected) .cell:not(.current-session)): Deleted. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@269127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Webkit 611.1.5