[webkit-changes] [247383] trunk/Source/WebCore
Title: [247383] trunk/Source/WebCore Revision 247383 Author cdu...@apple.com Date 2019-07-11 21:36:59 -0700 (Thu, 11 Jul 2019) Log Message Fix non-thread safe use of makeWeakPtr() under MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify() https://bugs.webkit.org/show_bug.cgi?id=199727 Reviewed by Eric Carlson. Stop calling makeWeakPtr() on a main thread object from a background thread. * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp: (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247382 => 247383) --- trunk/Source/WebCore/ChangeLog 2019-07-12 04:24:59 UTC (rev 247382) +++ trunk/Source/WebCore/ChangeLog 2019-07-12 04:36:59 UTC (rev 247383) @@ -1,3 +1,15 @@ +2019-07-11 Chris Dumez + +Fix non-thread safe use of makeWeakPtr() under MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify() +https://bugs.webkit.org/show_bug.cgi?id=199727 + +Reviewed by Eric Carlson. + +Stop calling makeWeakPtr() on a main thread object from a background thread. + +* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp: +(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify): + 2019-07-11 Youenn Fablet Register a MediaStreamTrack as media producer only if it is a capture track Modified: trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp (247382 => 247383) --- trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp 2019-07-12 04:24:59 UTC (rev 247382) +++ trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp 2019-07-12 04:36:59 UTC (rev 247383) @@ -1589,7 +1589,7 @@ // Invalidate the video area if (m_mediaPlayer) { -callOnMainThread([weakPtr = makeWeakPtr(*m_mediaPlayer)] { +callOnMainThread([weakPtr = m_mediaPlayer->m_weakThis] { if (weakPtr) weakPtr->invalidateFrameView(); }); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247382] trunk/Source/WebCore
Title: [247382] trunk/Source/WebCore Revision 247382 Author you...@apple.com Date 2019-07-11 21:24:59 -0700 (Thu, 11 Jul 2019) Log Message Register a MediaStreamTrack as media producer only if it is a capture track https://bugs.webkit.org/show_bug.cgi?id=199566 Addressing post-landing comment to simplify setMuted call. Unreviewed. * Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::MediaStreamTrack): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247381 => 247382) --- trunk/Source/WebCore/ChangeLog 2019-07-12 04:22:36 UTC (rev 247381) +++ trunk/Source/WebCore/ChangeLog 2019-07-12 04:24:59 UTC (rev 247382) @@ -1,5 +1,17 @@ 2019-07-11 Youenn Fablet +Register a MediaStreamTrack as media producer only if it is a capture track +https://bugs.webkit.org/show_bug.cgi?id=199566 + + +Addressing post-landing comment to simplify setMuted call. +Unreviewed. + +* Modules/mediastream/MediaStreamTrack.cpp: +(WebCore::MediaStreamTrack::MediaStreamTrack): + +2019-07-11 Youenn Fablet + Protect CoreAudioSharedUnit::m_clients for accessing in different threads simultaneously https://bugs.webkit.org/show_bug.cgi?id=199717 Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp (247381 => 247382) --- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp 2019-07-12 04:22:36 UTC (rev 247381) +++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp 2019-07-12 04:24:59 UTC (rev 247382) @@ -71,7 +71,7 @@ if (auto document = this->document()) { if (document->page() && document->page()->mutedState()) -setMuted(document->page()->mutedState()); +setMuted(true); document->addAudioProducer(*this); } } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247381] trunk/Source/WebCore
Title: [247381] trunk/Source/WebCore Revision 247381 Author you...@apple.com Date 2019-07-11 21:22:36 -0700 (Thu, 11 Jul 2019) Log Message Protect CoreAudioSharedUnit::m_clients for accessing in different threads simultaneously https://bugs.webkit.org/show_bug.cgi?id=199717 Reviewed by Eric Carlson. Add a lock whenever accessing to m_clients. Manual tests show that audio capture still works. * platform/mediastream/mac/CoreAudioCaptureSource.cpp: (WebCore::CoreAudioSharedUnit::addClient): (WebCore::CoreAudioSharedUnit::removeClient): (WebCore::CoreAudioSharedUnit::forEachClient const): (WebCore::CoreAudioSharedUnit::processMicrophoneSamples): (WebCore::CoreAudioSharedUnit::captureFailed): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247380 => 247381) --- trunk/Source/WebCore/ChangeLog 2019-07-12 02:35:07 UTC (rev 247380) +++ trunk/Source/WebCore/ChangeLog 2019-07-12 04:22:36 UTC (rev 247381) @@ -1,3 +1,20 @@ +2019-07-11 Youenn Fablet + +Protect CoreAudioSharedUnit::m_clients for accessing in different threads simultaneously +https://bugs.webkit.org/show_bug.cgi?id=199717 + +Reviewed by Eric Carlson. + +Add a lock whenever accessing to m_clients. +Manual tests show that audio capture still works. + +* platform/mediastream/mac/CoreAudioCaptureSource.cpp: +(WebCore::CoreAudioSharedUnit::addClient): +(WebCore::CoreAudioSharedUnit::removeClient): +(WebCore::CoreAudioSharedUnit::forEachClient const): +(WebCore::CoreAudioSharedUnit::processMicrophoneSamples): +(WebCore::CoreAudioSharedUnit::captureFailed): + 2019-07-11 Chris Dumez Drop non thread-safe usage of WeakPtr in PlaybackSessionInterfaceAVKit Modified: trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp (247380 => 247381) --- trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp 2019-07-12 02:35:07 UTC (rev 247380) +++ trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp 2019-07-12 04:22:36 UTC (rev 247381) @@ -128,8 +128,11 @@ void devicesChanged(); void captureFailed(); -Vector> m_clients; +void forEachClient(const Function& apply) const; +HashSet m_clients; +mutable RecursiveLock m_clientsLock; + AudioUnit m_ioUnit { nullptr }; // Only read/modified from the IO thread. @@ -196,16 +199,32 @@ void CoreAudioSharedUnit::addClient(CoreAudioCaptureSource& client) { -m_clients.append(client); +auto locker = holdLock(m_clientsLock); +m_clients.add(&client); } void CoreAudioSharedUnit::removeClient(CoreAudioCaptureSource& client) { -m_clients.removeAllMatching([&](const auto& item) { -return &client == &item.get(); -}); +auto locker = holdLock(m_clientsLock); +m_clients.remove(&client); } +void CoreAudioSharedUnit::forEachClient(const Function& apply) const +{ +Vector clientsCopy; +{ +auto locker = holdLock(m_clientsLock); +clientsCopy = copyToVector(m_clients); +} +for (auto* client : clientsCopy) { +auto locker = holdLock(m_clientsLock); +// Make sure the client has not been destroyed. +if (!m_clients.contains(client)) +continue; +apply(*client); +} +} + void CoreAudioSharedUnit::setCaptureDevice(String&& persistentID, uint32_t captureDeviceID) { m_persistentID = WTFMove(persistentID); @@ -509,10 +528,10 @@ if (m_volume != 1.0) m_microphoneSampleBuffer->applyGain(m_volume); -for (CoreAudioCaptureSource& client : m_clients) { +forEachClient([&](auto& client) { if (client.isProducingData()) client.audioSamplesAvailable(MediaTime(sampleTime, m_microphoneProcFormat.sampleRate()), m_microphoneSampleBuffer->bufferList(), m_microphoneProcFormat, inNumberFrames); -} +}); return noErr; } @@ -656,11 +675,17 @@ void CoreAudioSharedUnit::captureFailed() { RELEASE_LOG_ERROR(WebRTC, "CoreAudioSharedUnit::captureFailed - capture failed"); -for (CoreAudioCaptureSource& client : m_clients) +forEachClient([](auto& client) { client.captureFailed(); +}); m_producingCount = 0; -m_clients.clear(); + +{ +auto locker = holdLock(m_clientsLock); +m_clients.clear(); +} + stopInternal(); cleanupAudioUnit(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247380] trunk/Source/WebCore
Title: [247380] trunk/Source/WebCore Revision 247380 Author cdu...@apple.com Date 2019-07-11 19:35:07 -0700 (Thu, 11 Jul 2019) Log Message Drop non thread-safe usage of WeakPtr in PlaybackSessionInterfaceAVKit https://bugs.webkit.org/show_bug.cgi?id=199698 Reviewed by Eric Carlson. The PlaybackSessionInterfaceAVKit constructor was making a weakPtr on the UI Thread of an WebThread object. The WeakPtr would then be used as a data member throughout the class on the UIThread. This is not thread-safe. This patch switches to using a raw pointer instead of a WeakPtr. This is a partial rollout of r243337, which turned the raw pointer into a WeakPtr for hardening purposes. For extra safety, this patch updates the VideoFullscreenControllerContext so that it notifies its clients (i.e. PlaybackSessionInterfaceAVKit) that it is getting destroyed, so that they can null-out their m_playbackSessionModel data member. This gives the sames guarantees than WeakPtr but in a thread-safe way. * platform/cocoa/PlaybackSessionModel.h: (WebCore::PlaybackSessionModelClient::modelDestroyed): * platform/ios/PlaybackSessionInterfaceAVKit.h: * platform/ios/PlaybackSessionInterfaceAVKit.mm: (WebCore::PlaybackSessionInterfaceAVKit::PlaybackSessionInterfaceAVKit): (WebCore::PlaybackSessionInterfaceAVKit::~PlaybackSessionInterfaceAVKit): (WebCore::PlaybackSessionInterfaceAVKit::playbackSessionModel const): (WebCore::PlaybackSessionInterfaceAVKit::modelDestroyed): * platform/ios/WebVideoFullscreenControllerAVKit.mm: (VideoFullscreenControllerContext::~VideoFullscreenControllerContext): (VideoFullscreenControllerContext::addClient): (VideoFullscreenControllerContext::removeClient): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/cocoa/PlaybackSessionModel.h trunk/Source/WebCore/platform/ios/PlaybackSessionInterfaceAVKit.h trunk/Source/WebCore/platform/ios/PlaybackSessionInterfaceAVKit.mm trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm Diff Modified: trunk/Source/WebCore/ChangeLog (247379 => 247380) --- trunk/Source/WebCore/ChangeLog 2019-07-12 02:20:51 UTC (rev 247379) +++ trunk/Source/WebCore/ChangeLog 2019-07-12 02:35:07 UTC (rev 247380) @@ -1,3 +1,34 @@ +2019-07-11 Chris Dumez + +Drop non thread-safe usage of WeakPtr in PlaybackSessionInterfaceAVKit +https://bugs.webkit.org/show_bug.cgi?id=199698 + +Reviewed by Eric Carlson. + +The PlaybackSessionInterfaceAVKit constructor was making a weakPtr on the UI Thread +of an WebThread object. The WeakPtr would then be used as a data member throughout +the class on the UIThread. This is not thread-safe. + +This patch switches to using a raw pointer instead of a WeakPtr. This is a partial +rollout of r243337, which turned the raw pointer into a WeakPtr for hardening +purposes. For extra safety, this patch updates the VideoFullscreenControllerContext +so that it notifies its clients (i.e. PlaybackSessionInterfaceAVKit) that it is +getting destroyed, so that they can null-out their m_playbackSessionModel data +member. This gives the sames guarantees than WeakPtr but in a thread-safe way. + +* platform/cocoa/PlaybackSessionModel.h: +(WebCore::PlaybackSessionModelClient::modelDestroyed): +* platform/ios/PlaybackSessionInterfaceAVKit.h: +* platform/ios/PlaybackSessionInterfaceAVKit.mm: +(WebCore::PlaybackSessionInterfaceAVKit::PlaybackSessionInterfaceAVKit): +(WebCore::PlaybackSessionInterfaceAVKit::~PlaybackSessionInterfaceAVKit): +(WebCore::PlaybackSessionInterfaceAVKit::playbackSessionModel const): +(WebCore::PlaybackSessionInterfaceAVKit::modelDestroyed): +* platform/ios/WebVideoFullscreenControllerAVKit.mm: +(VideoFullscreenControllerContext::~VideoFullscreenControllerContext): +(VideoFullscreenControllerContext::addClient): +(VideoFullscreenControllerContext::removeClient): + 2019-07-11 Simon Fraser Fix builds where HAVE_DESIGN_SYSTEM_UI_FONTS is not defined. Modified: trunk/Source/WebCore/platform/cocoa/PlaybackSessionModel.h (247379 => 247380) --- trunk/Source/WebCore/platform/cocoa/PlaybackSessionModel.h 2019-07-12 02:20:51 UTC (rev 247379) +++ trunk/Source/WebCore/platform/cocoa/PlaybackSessionModel.h 2019-07-12 02:35:07 UTC (rev 247380) @@ -110,6 +110,7 @@ virtual void isPictureInPictureSupportedChanged(bool) { } virtual void pictureInPictureActiveChanged(bool) { } virtual void ensureControlsManager() { } +virtual void modelDestroyed() { } }; } Modified: trunk/Source/WebCore/platform/ios/PlaybackSessionInterfaceAVKit.h (247379 => 247380) --- trunk/Source/WebCore/platform/ios/PlaybackSessionInterfaceAVKit.h 2019-07-12 02:20:51 UTC (rev 247379) +++ trunk/Source/WebCore/platform/ios/PlaybackSessionInterfaceAVKit.h 2019-07-12 02:35:07 UTC (rev 247380) @@ -77,6 +77,7 @@ WEBCORE_EXPORT vo
[webkit-changes] [247379] trunk/Source/WebCore
Title: [247379] trunk/Source/WebCore Revision 247379 Author simon.fra...@apple.com Date 2019-07-11 19:20:51 -0700 (Thu, 11 Jul 2019) Log Message Fix builds where HAVE_DESIGN_SYSTEM_UI_FONTS is not defined. * platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::fontWithFamilySpecialCase): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247378 => 247379) --- trunk/Source/WebCore/ChangeLog 2019-07-12 01:13:31 UTC (rev 247378) +++ trunk/Source/WebCore/ChangeLog 2019-07-12 02:20:51 UTC (rev 247379) @@ -1,3 +1,10 @@ +2019-07-11 Simon Fraser + +Fix builds where HAVE_DESIGN_SYSTEM_UI_FONTS is not defined. + +* platform/graphics/cocoa/FontCacheCoreText.cpp: +(WebCore::fontWithFamilySpecialCase): + 2019-07-11 Justin Fan Unreviewed build fix. Modified: trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp (247378 => 247379) --- trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp 2019-07-12 01:13:31 UTC (rev 247378) +++ trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp 2019-07-12 02:20:51 UTC (rev 247379) @@ -1266,6 +1266,11 @@ if (!cascadeList.isEmpty()) return createFontForInstalledFonts(cascadeList[0].get(), size, allowUserInstalledFonts); } +#else +UNUSED_PARAM(family); +UNUSED_PARAM(fontDescription); +UNUSED_PARAM(size); +UNUSED_PARAM(allowUserInstalledFonts); #endif return nullptr; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247378] trunk/Source/WebCore
Title: [247378] trunk/Source/WebCore Revision 247378 Author justin_...@apple.com Date 2019-07-11 18:13:31 -0700 (Thu, 11 Jul 2019) Log Message Unreviewed build fix. * Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp: Missing include. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247377 => 247378) --- trunk/Source/WebCore/ChangeLog 2019-07-12 01:08:29 UTC (rev 247377) +++ trunk/Source/WebCore/ChangeLog 2019-07-12 01:13:31 UTC (rev 247378) @@ -1,3 +1,9 @@ +2019-07-11 Justin Fan + +Unreviewed build fix. + +* Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp: Missing include. + 2019-07-11 Myles C. Maxfield New York font erroneously gets synthetic bold Modified: trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp (247377 => 247378) --- trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp 2019-07-12 01:08:29 UTC (rev 247377) +++ trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp 2019-07-12 01:13:31 UTC (rev 247378) @@ -30,6 +30,7 @@ #include "WHLSLCallExpression.h" #include "WHLSLFunctionDefinition.h" +#include "WHLSLProgram.h" #include "WHLSLVisitor.h" #include ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247377] trunk
Title: [247377] trunk Revision 247377 Author mmaxfi...@apple.com Date 2019-07-11 18:08:29 -0700 (Thu, 11 Jul 2019) Log Message New York font erroneously gets synthetic bold https://bugs.webkit.org/show_bug.cgi?id=199653 Reviewed by Simon Fraser. Source/WebCore: This patch adds support for -apple-system-ui-serif, -apple-system-ui-monospaced, and -apple-system-ui-rounded, behind an SPI that is off-by-default. We don't want to expose these fonts to the web because we don't a standardization story for them yet, but we do want some apps to be able to use them. WebKit clients who want to use these fonts can set -[WKPreferences _shouldAllowDesignSystemUIFonts] = YES. The patch generalizes our existing system-ui infrastructure to handle these three additional fonts. It also explicitly disables the unsupported dot-prefixed names so they don't leak out into Web content. Tests: fast/text/design-system-ui-10.html fast/text/design-system-ui-11.html fast/text/design-system-ui-12.html fast/text/design-system-ui-13.html fast/text/design-system-ui-14.html fast/text/design-system-ui-15.html fast/text/design-system-ui-16.html fast/text/design-system-ui-2.html fast/text/design-system-ui-3.html fast/text/design-system-ui-4.html fast/text/design-system-ui-5.html fast/text/design-system-ui-6.html fast/text/design-system-ui-7.html fast/text/design-system-ui-8.html fast/text/design-system-ui-9.html fast/text/design-system-ui.html * css/CSSFontFace.cpp: (WebCore::CSSFontFace::shouldAllowDesignSystemUIFonts const): * css/CSSFontFace.h: * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::load): * css/StyleResolver.cpp: (WebCore::StyleResolver::initializeFontStyle): * page/Settings.yaml: * platform/graphics/FontDescription.cpp: (WebCore::m_shouldAllowDesignSystemUIFonts): (WebCore::m_shouldAllowUserInstalledFonts): Deleted. * platform/graphics/FontDescription.h: (WebCore::FontDescription::shouldAllowDesignSystemUIFonts const): (WebCore::FontDescription::setShouldAllowDesignSystemUIFonts): (WebCore::FontDescription::operator== const): * platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::platformFontLookupWithFamily): (WebCore::fontWithFamily): * platform/graphics/cocoa/FontCacheCoreText.h: * platform/graphics/cocoa/FontDescriptionCocoa.cpp: (WebCore::systemFontUse): (WebCore::systemFontCascadeList): (WebCore::FontCascadeDescription::effectiveFamilyCount const): (WebCore::FontCascadeDescription::effectiveFamilyAt const): (WebCore::isSystemFontString): Deleted. (WebCore::isUIFontTextStyle): Deleted. * platform/graphics/cocoa/FontPlatformDataCocoa.mm: (WebCore::FontPlatformData::ctFont const): * platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp: (WebCore::SystemFontDatabaseCoreText::createSystemUI): (WebCore::SystemFontDatabaseCoreText::createDesignSystemUI): (WebCore::SystemFontDatabaseCoreText::createTextStyle): (WebCore::SystemFontDatabaseCoreText::cascadeList): (WebCore::SystemFontDatabaseCoreText::applyWeightItalicsAndFallbackBehavior): (WebCore::SystemFontDatabaseCoreText::systemFontParameters): * platform/graphics/cocoa/SystemFontDatabaseCoreText.h: * platform/graphics/ios/FontCacheIOS.mm: (WebCore::platformFontWithFamilySpecialCase): * platform/graphics/mac/FontCacheMac.mm: (WebCore::platformFontWithFamilySpecialCase): * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::dataChanged): * testing/InternalSettings.cpp: (WebCore::InternalSettings::Backup::Backup): (WebCore::InternalSettings::Backup::restoreTo): (WebCore::InternalSettings::setShouldAllowDesignSystemUIFonts): * testing/InternalSettings.h: * testing/InternalSettings.idl: Source/WebCore/PAL: * pal/spi/cocoa/CoreTextSPI.h: Source/WebKit: Add the SPI to enable the new fonts. * Shared/WebPreferences.yaml: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetShouldAllowDesignSystemUIFonts): (WKPreferencesGetShouldAllowDesignSystemUIFonts): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences _shouldAllowDesignSystemUIFonts]): (-[WKPreferences _setShouldAllowDesignSystemUIFonts:]): * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Source/WTF: * wtf/Platform.h: LayoutTests: * TestExpectations: * fast/text/design-system-ui-10-expected-mismatch.html: Added. * fast/text/design-system-ui-10.html: Added. * fast/text/design-system-ui-11-expected-mismatch.html: Added. * fast/text/design-system-ui-11.html: Added. * fast/text/design-system-ui-12-expected-mismatch.html: Added. * fast/text/design-system-ui-12.html: Added. * fast/text/design-system-ui-13-expected-mismatch.html: Added. * fast/text/design-system-ui-13.html: Added. * fast/text/design-system-ui-14-expected-mismatch.html: Added. * fast/text/design-system-ui-14.html: Added. * fast/text/design-system-ui-15-expected-mismatch.html: Added. * fast/text/design-system-ui-15.
[webkit-changes] [247376] trunk/LayoutTests
Title: [247376] trunk/LayoutTests Revision 247376 Author clo...@igalia.com Date 2019-07-11 17:49:53 -0700 (Thu, 11 Jul 2019) Log Message [GTK][WPE] Rebaseline css3/blending tests with an empty homedir. It seems this tests are sensible to some configuration of some library as they produce different output (the layers with more left margin) depending on that. The test pass on both cases, but the check with the expected result fails, so it is flagged as failing. This rebaselines the results to those that happen when running with an empty/temporal homedir on Debian 10 to match what happens on the bots. For more info see bugs 169916 and 199738. Unreviewed gardening commit. * platform/gtk/css3/blending/svg-blend-layer-blend-expected.png: * platform/gtk/css3/blending/svg-blend-layer-blend-expected.txt: * platform/gtk/css3/blending/svg-blend-layer-clip-path-expected.png: * platform/gtk/css3/blending/svg-blend-layer-clip-path-expected.txt: * platform/gtk/css3/blending/svg-blend-layer-filter-expected.png: * platform/gtk/css3/blending/svg-blend-layer-filter-expected.txt: * platform/gtk/css3/blending/svg-blend-layer-mask-expected.png: * platform/gtk/css3/blending/svg-blend-layer-mask-expected.txt: * platform/gtk/css3/blending/svg-blend-layer-opacity-expected.png: * platform/gtk/css3/blending/svg-blend-layer-opacity-expected.txt: * platform/wpe/TestExpectations: css3/blending/svg-isolation-isolated-group.html passes with an empty homedir. * platform/wpe/css3/blending/svg-blend-layer-blend-expected.png: * platform/wpe/css3/blending/svg-blend-layer-blend-expected.txt: * platform/wpe/css3/blending/svg-blend-layer-clip-path-expected.png: * platform/wpe/css3/blending/svg-blend-layer-clip-path-expected.txt: * platform/wpe/css3/blending/svg-blend-layer-filter-expected.png: * platform/wpe/css3/blending/svg-blend-layer-filter-expected.txt: * platform/wpe/css3/blending/svg-blend-layer-mask-expected.png: * platform/wpe/css3/blending/svg-blend-layer-mask-expected.txt: * platform/wpe/css3/blending/svg-blend-layer-opacity-expected.png: * platform/wpe/css3/blending/svg-blend-layer-opacity-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/gtk/TestExpectations trunk/LayoutTests/platform/gtk/css3/blending/svg-blend-layer-blend-expected.png trunk/LayoutTests/platform/gtk/css3/blending/svg-blend-layer-blend-expected.txt trunk/LayoutTests/platform/gtk/css3/blending/svg-blend-layer-clip-path-expected.png trunk/LayoutTests/platform/gtk/css3/blending/svg-blend-layer-clip-path-expected.txt trunk/LayoutTests/platform/gtk/css3/blending/svg-blend-layer-filter-expected.png trunk/LayoutTests/platform/gtk/css3/blending/svg-blend-layer-filter-expected.txt trunk/LayoutTests/platform/gtk/css3/blending/svg-blend-layer-mask-expected.png trunk/LayoutTests/platform/gtk/css3/blending/svg-blend-layer-mask-expected.txt trunk/LayoutTests/platform/gtk/css3/blending/svg-blend-layer-opacity-expected.png trunk/LayoutTests/platform/gtk/css3/blending/svg-blend-layer-opacity-expected.txt trunk/LayoutTests/platform/wpe/TestExpectations trunk/LayoutTests/platform/wpe/css3/blending/svg-blend-layer-blend-expected.png trunk/LayoutTests/platform/wpe/css3/blending/svg-blend-layer-blend-expected.txt trunk/LayoutTests/platform/wpe/css3/blending/svg-blend-layer-clip-path-expected.png trunk/LayoutTests/platform/wpe/css3/blending/svg-blend-layer-clip-path-expected.txt trunk/LayoutTests/platform/wpe/css3/blending/svg-blend-layer-filter-expected.png trunk/LayoutTests/platform/wpe/css3/blending/svg-blend-layer-filter-expected.txt trunk/LayoutTests/platform/wpe/css3/blending/svg-blend-layer-mask-expected.png trunk/LayoutTests/platform/wpe/css3/blending/svg-blend-layer-mask-expected.txt trunk/LayoutTests/platform/wpe/css3/blending/svg-blend-layer-opacity-expected.png trunk/LayoutTests/platform/wpe/css3/blending/svg-blend-layer-opacity-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (247375 => 247376) --- trunk/LayoutTests/ChangeLog 2019-07-11 23:58:35 UTC (rev 247375) +++ trunk/LayoutTests/ChangeLog 2019-07-12 00:49:53 UTC (rev 247376) @@ -1,3 +1,40 @@ +2019-07-11 Carlos Alberto Lopez Perez + +[GTK][WPE] Rebaseline css3/blending tests with an empty homedir. + +It seems this tests are sensible to some configuration of some +library as they produce different output (the layers with more left +margin) depending on that. The test pass on both cases, but the +check with the expected result fails, so it is flagged as failing. + +This rebaselines the results to those that happen when running with +an empty/temporal homedir on Debian 10 to match what happens on the +bots. For more info see bugs 169916 and 199738. + +Unreviewed gardening commit. + +* platform/gtk/css3/blending/svg-blend-layer-blend-expected.png: +* platform/gtk/css3/blending/svg-blend-layer-blend-expected.txt: +* platform/gtk/css3/blending/svg-blend-layer-clip-path-
[webkit-changes] [247375] trunk/Source/WebKit
Title: [247375] trunk/Source/WebKit Revision 247375 Author cdu...@apple.com Date 2019-07-11 16:58:35 -0700 (Thu, 11 Jul 2019) Log Message ASSERTION FAILED: RunLoop::isMain() under IPC::Connection::sendWithAsyncReply() https://bugs.webkit.org/show_bug.cgi?id=199734 Reviewed by Geoffrey Garen. It appears WKProcessTaskStateObserverDelegate's taskStateDidChange handler can get called on a background thread so we need to make sure we go back to the main thread before we go into WebKit and do IPC. * Shared/Cocoa/ProcessTaskStateObserver.mm: (-[WKProcessTaskStateObserverDelegate process:taskStateDidChange:]): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm Diff Modified: trunk/Source/WebKit/ChangeLog (247374 => 247375) --- trunk/Source/WebKit/ChangeLog 2019-07-11 23:47:06 UTC (rev 247374) +++ trunk/Source/WebKit/ChangeLog 2019-07-11 23:58:35 UTC (rev 247375) @@ -1,3 +1,18 @@ +2019-07-11 Chris Dumez + +ASSERTION FAILED: RunLoop::isMain() under IPC::Connection::sendWithAsyncReply() +https://bugs.webkit.org/show_bug.cgi?id=199734 + + +Reviewed by Geoffrey Garen. + +It appears WKProcessTaskStateObserverDelegate's taskStateDidChange handler can get called +on a background thread so we need to make sure we go back to the main thread before we +go into WebKit and do IPC. + +* Shared/Cocoa/ProcessTaskStateObserver.mm: +(-[WKProcessTaskStateObserverDelegate process:taskStateDidChange:]): + 2019-07-11 Sihui Liu StorageArea should not be destructed on the main thread Modified: trunk/Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm (247374 => 247375) --- trunk/Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm 2019-07-11 23:47:06 UTC (rev 247374) +++ trunk/Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm 2019-07-11 23:58:35 UTC (rev 247375) @@ -47,8 +47,10 @@ { RELEASE_LOG(ProcessSuspension, "%p -[WKProcessTaskStateObserverDelegate process:taskStateDidChange:], process(%p), newState(%d)", self, process, (int)newState); -if (self.taskStateChangedCallback) -self.taskStateChangedCallback(newState); +dispatch_async(dispatch_get_main_queue(), ^{ +if (self.taskStateChangedCallback) +self.taskStateChangedCallback(newState); +}); } @end ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247374] trunk/LayoutTests
Title: [247374] trunk/LayoutTests Revision 247374 Author cdu...@apple.com Date 2019-07-11 16:47:06 -0700 (Thu, 11 Jul 2019) Log Message [iOS] fast/events/ios/rotation/orientationchange-event-listener-on.body.html is flaky https://bugs.webkit.org/show_bug.cgi?id=199732 Reviewed by Alex Christensen. Stop logging in each event listener to not be reliant on the order in which listener are called. Instead, simply make sure all event listeners that should be called were actually called. * fast/events/ios/rotation/orientationchange-event-listener-on.body-expected.txt: * fast/events/ios/rotation/orientationchange-event-listener-on.body.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/events/ios/rotation/orientationchange-event-listener-on.body-expected.txt trunk/LayoutTests/fast/events/ios/rotation/orientationchange-event-listener-on.body.html Diff Modified: trunk/LayoutTests/ChangeLog (247373 => 247374) --- trunk/LayoutTests/ChangeLog 2019-07-11 23:30:02 UTC (rev 247373) +++ trunk/LayoutTests/ChangeLog 2019-07-11 23:47:06 UTC (rev 247374) @@ -1,3 +1,17 @@ +2019-07-11 Chris Dumez + +[iOS] fast/events/ios/rotation/orientationchange-event-listener-on.body.html is flaky +https://bugs.webkit.org/show_bug.cgi?id=199732 + + +Reviewed by Alex Christensen. + +Stop logging in each event listener to not be reliant on the order in which listener are called. +Instead, simply make sure all event listeners that should be called were actually called. + +* fast/events/ios/rotation/orientationchange-event-listener-on.body-expected.txt: +* fast/events/ios/rotation/orientationchange-event-listener-on.body.html: + 2019-07-11 Ryosuke Niwa Make the test added in r247327 more reliable. Modified: trunk/LayoutTests/fast/events/ios/rotation/orientationchange-event-listener-on.body-expected.txt (247373 => 247374) --- trunk/LayoutTests/fast/events/ios/rotation/orientationchange-event-listener-on.body-expected.txt 2019-07-11 23:30:02 UTC (rev 247373) +++ trunk/LayoutTests/fast/events/ios/rotation/orientationchange-event-listener-on.body-expected.txt 2019-07-11 23:47:06 UTC (rev 247374) @@ -4,11 +4,8 @@ Before rotation -PASS In body's onorientationchange event handler -PASS In window's orientationchange event listener -PASS In body's onresize event handler -PASS In window's resize event listener After rotation +PASS eventListenerCalls is 4 PASS successfullyParsed is true TEST COMPLETE Modified: trunk/LayoutTests/fast/events/ios/rotation/orientationchange-event-listener-on.body.html (247373 => 247374) --- trunk/LayoutTests/fast/events/ios/rotation/orientationchange-event-listener-on.body.html 2019-07-11 23:30:02 UTC (rev 247373) +++ trunk/LayoutTests/fast/events/ios/rotation/orientationchange-event-listener-on.body.html 2019-07-11 23:47:06 UTC (rev 247374) @@ -30,34 +30,38 @@ testRunner.runUIScript(getRotationUIScript(), function(result) { debug('After rotation'); - +shouldBe("eventListenerCalls", "4"); finishJSTest(); }); } + +eventListenerCalls = 0; window.addEventListener('resize', function() { -testPassed("In window's resize event listener"); +++eventListenerCalls; }, false); window.addEventListener('orientationchange', function() { -testPassed("In window's orientationchange event listener"); +++eventListenerCalls; }, false); document.body.addEventListener('resize', function() { testFailed("In body's resize event listener"); +++eventListenerCalls; }, false); document.body.addEventListener('orientationchange', function() { testFailed("In body's orientationchange event listener"); +++eventListenerCalls; }, false); function bodyOrientationChange() { -testPassed("In body's onorientationchange event handler"); +++eventListenerCalls; } function bodyResize() { -testPassed("In body's onresize event handler"); +++eventListenerCalls; } window.addEventListener('load', doTest, false); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247373] trunk/LayoutTests
Title: [247373] trunk/LayoutTests Revision 247373 Author rn...@webkit.org Date 2019-07-11 16:30:02 -0700 (Thu, 11 Jul 2019) Log Message Make the test added in r247327 more reliable. * editing/selection/ios/autoscroll-with-top-content-inset-2.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/editing/selection/ios/autoscroll-with-top-content-inset-2.html Diff Modified: trunk/LayoutTests/ChangeLog (247372 => 247373) --- trunk/LayoutTests/ChangeLog 2019-07-11 23:18:12 UTC (rev 247372) +++ trunk/LayoutTests/ChangeLog 2019-07-11 23:30:02 UTC (rev 247373) @@ -1,3 +1,9 @@ +2019-07-11 Ryosuke Niwa + +Make the test added in r247327 more reliable. + +* editing/selection/ios/autoscroll-with-top-content-inset-2.html: + 2019-07-11 Russell Epstein Layout Test fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html is Failing Consistently on iOS-WK2. Modified: trunk/LayoutTests/editing/selection/ios/autoscroll-with-top-content-inset-2.html (247372 => 247373) --- trunk/LayoutTests/editing/selection/ios/autoscroll-with-top-content-inset-2.html 2019-07-11 23:18:12 UTC (rev 247372) +++ trunk/LayoutTests/editing/selection/ios/autoscroll-with-top-content-inset-2.html 2019-07-11 23:30:02 UTC (rev 247373) @@ -22,6 +22,7 @@ window.scrollTo(0, 0); await UIHelper.ensurePresentationUpdate(); await UIHelper.enterText('hello'); +await UIHelper.ensurePresentationUpdate(); const keyboardRect = await UIHelper.inputViewBounds(); const scrollTop = document.scrollingElement.scrollTop; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247372] trunk/Tools
Title: [247372] trunk/Tools Revision 247372 Author aakash_j...@apple.com Date 2019-07-11 16:18:12 -0700 (Thu, 11 Jul 2019) Log Message Unreviewed follow-up fix to r247364. [ews-build] Add build step to clean up .git/index.lock file https://bugs.webkit.org/show_bug.cgi?id=199722 * BuildSlaveSupport/ews-build/steps.py: (CheckOutSource): CheckOutSource should not haltOnFailure since CleanUpGitIndexLock step needs to be run after this step. Modified Paths trunk/Tools/BuildSlaveSupport/ews-build/steps.py trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (247371 => 247372) --- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-07-11 22:53:59 UTC (rev 247371) +++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-07-11 23:18:12 UTC (rev 247372) @@ -89,6 +89,7 @@ class CheckOutSource(git.Git): name = 'clean-and-update-working-directory' CHECKOUT_DELAY_AND_MAX_RETRIES_PAIR = (0, 2) +haltOnFailure = False def __init__(self, **kwargs): self.repourl = 'https://git.webkit.org/git/WebKit.git' Modified: trunk/Tools/ChangeLog (247371 => 247372) --- trunk/Tools/ChangeLog 2019-07-11 22:53:59 UTC (rev 247371) +++ trunk/Tools/ChangeLog 2019-07-11 23:18:12 UTC (rev 247372) @@ -1,3 +1,13 @@ +2019-07-11 Aakash Jain + +Unreviewed follow-up fix to r247364. +[ews-build] Add build step to clean up .git/index.lock file +https://bugs.webkit.org/show_bug.cgi?id=199722 + +* BuildSlaveSupport/ews-build/steps.py: +(CheckOutSource): CheckOutSource should not haltOnFailure since CleanUpGitIndexLock step needs +to be run after this step. + 2019-07-11 Yusuke Suzuki Flaky API Test TestWTF.bmalloc.ScavengedMemoryShouldBeReused ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247371] trunk/LayoutTests
Title: [247371] trunk/LayoutTests Revision 247371 Author tsav...@apple.com Date 2019-07-11 15:53:59 -0700 (Thu, 11 Jul 2019) Log Message Layout Test fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html is Failing Consistently on iOS-WK2. https://bugs.webkit.org/show_bug.cgi?id=199731 Unreviewed Test Gardening Patch by Russell Epstein on 2019-07-11 * platform/ios-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-wk2/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (247370 => 247371) --- trunk/LayoutTests/ChangeLog 2019-07-11 22:26:25 UTC (rev 247370) +++ trunk/LayoutTests/ChangeLog 2019-07-11 22:53:59 UTC (rev 247371) @@ -1,3 +1,12 @@ +2019-07-11 Russell Epstein + +Layout Test fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html is Failing Consistently on iOS-WK2. +https://bugs.webkit.org/show_bug.cgi?id=199731 + +Unreviewed Test Gardening + +* platform/ios-wk2/TestExpectations: + 2019-07-11 Justin Fan [WebGPU] Implement GPUError and error scopes Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (247370 => 247371) --- trunk/LayoutTests/platform/ios-wk2/TestExpectations 2019-07-11 22:26:25 UTC (rev 247370) +++ trunk/LayoutTests/platform/ios-wk2/TestExpectations 2019-07-11 22:53:59 UTC (rev 247371) @@ -1336,7 +1336,7 @@ webkit.org/b/199013 [ Debug ] imported/w3c/web-platform-tests/websockets/Create-Secure-verify-url-set-non-default-port.any.html [ Pass Failure ] -webkit.org/b/196495 fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html [ Pass Failure ] +webkit.org/b/196495 fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html [ Failure ] webkit.org/b/199071 [ Release ] imported/blink/fast/css/user-select-none.html [ Pass ImageOnlyFailure ] @@ -1362,4 +1362,4 @@ fast/scrolling/ios/hit-testing-iframe-006.html [ ImageOnlyFailure ] # fast/scrolling/ios/body-overflow-hidden-height-100-percent-keyboard.html is timing out -fast/scrolling/ios/body-overflow-hidden-height-100-percent-keyboard.html [ Pass Timeout ] \ No newline at end of file +fast/scrolling/ios/body-overflow-hidden-height-100-percent-keyboard.html [ Pass Timeout ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247370] trunk/Source/WebKit
Title: [247370] trunk/Source/WebKit Revision 247370 Author sihui_...@apple.com Date 2019-07-11 15:26:25 -0700 (Thu, 11 Jul 2019) Log Message StorageArea should not be destructed on the main thread https://bugs.webkit.org/show_bug.cgi?id=199713 Reviewed by Alex Christensen. After r246079, LocalStorageNameSpace could be destructed on the main thread and it may hold the last reference to StorageArea. Then we saw the crashes that StorageArea was wrongly destructed on the main thread. * NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::~NetworkSession): * NetworkProcess/WebStorage/StorageManager.cpp: (WebKit::StorageManager::waitUntilTasksFinished): (WebKit::StorageManager::waitUntilWritesFinished): Deleted. * NetworkProcess/WebStorage/StorageManager.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h Diff Modified: trunk/Source/WebKit/ChangeLog (247369 => 247370) --- trunk/Source/WebKit/ChangeLog 2019-07-11 22:22:57 UTC (rev 247369) +++ trunk/Source/WebKit/ChangeLog 2019-07-11 22:26:25 UTC (rev 247370) @@ -1,3 +1,21 @@ +2019-07-11 Sihui Liu + +StorageArea should not be destructed on the main thread +https://bugs.webkit.org/show_bug.cgi?id=199713 + + +Reviewed by Alex Christensen. + +After r246079, LocalStorageNameSpace could be destructed on the main thread and it may hold the last reference +to StorageArea. Then we saw the crashes that StorageArea was wrongly destructed on the main thread. + +* NetworkProcess/NetworkSession.cpp: +(WebKit::NetworkSession::~NetworkSession): +* NetworkProcess/WebStorage/StorageManager.cpp: +(WebKit::StorageManager::waitUntilTasksFinished): +(WebKit::StorageManager::waitUntilWritesFinished): Deleted. +* NetworkProcess/WebStorage/StorageManager.h: + 2019-07-11 Tim Horton Null deref of Range under WebPage::startAutoscrollAtPosition Modified: trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp (247369 => 247370) --- trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp 2019-07-11 22:22:57 UTC (rev 247369) +++ trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp 2019-07-11 22:26:25 UTC (rev 247370) @@ -95,7 +95,7 @@ NetworkSession::~NetworkSession() { m_storageManager->resume(); -m_storageManager->waitUntilWritesFinished(); +m_storageManager->waitUntilTasksFinished(); } void NetworkSession::invalidateAndCancel() Modified: trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp (247369 => 247370) --- trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp 2019-07-11 22:22:57 UTC (rev 247369) +++ trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp 2019-07-11 22:26:25 UTC (rev 247370) @@ -907,7 +907,7 @@ }); } -void StorageManager::waitUntilWritesFinished() +void StorageManager::waitUntilTasksFinished() { BinarySemaphore semaphore; m_queue->dispatch([this, &semaphore] { @@ -920,6 +920,8 @@ for (auto& connectionStorageAreaPair : connectionAndStorageMapIDPairsToRemove) m_storageAreasByConnection.remove(connectionStorageAreaPair); +m_localStorageNamespaces.clear(); + semaphore.signal(); }); semaphore.wait(); Modified: trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h (247369 => 247370) --- trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h 2019-07-11 22:22:57 UTC (rev 247369) +++ trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h 2019-07-11 22:26:25 UTC (rev 247370) @@ -57,7 +57,7 @@ void cloneSessionStorageNamespace(uint64_t storageNamespaceID, uint64_t newStorageNamespaceID); void processDidCloseConnection(IPC::Connection&); -void waitUntilWritesFinished(); +void waitUntilTasksFinished(); void suspend(CompletionHandler&&); void resume(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247369] trunk/Source/WebKit
Title: [247369] trunk/Source/WebKit Revision 247369 Author timothy_hor...@apple.com Date 2019-07-11 15:22:57 -0700 (Thu, 11 Jul 2019) Log Message Null deref of Range under WebPage::startAutoscrollAtPosition https://bugs.webkit.org/show_bug.cgi?id=199724 Reviewed by Dean Jackson. * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::startAutoscrollAtPosition): Refactor this function to be early-return-y, and add one more early return if the Range is null. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm Diff Modified: trunk/Source/WebKit/ChangeLog (247368 => 247369) --- trunk/Source/WebKit/ChangeLog 2019-07-11 21:56:32 UTC (rev 247368) +++ trunk/Source/WebKit/ChangeLog 2019-07-11 22:22:57 UTC (rev 247369) @@ -1,3 +1,16 @@ +2019-07-11 Tim Horton + +Null deref of Range under WebPage::startAutoscrollAtPosition +https://bugs.webkit.org/show_bug.cgi?id=199724 + + +Reviewed by Dean Jackson. + +* WebProcess/WebPage/ios/WebPageIOS.mm: +(WebKit::WebPage::startAutoscrollAtPosition): +Refactor this function to be early-return-y, and add one more +early return if the Range is null. + 2019-07-11 Pablo Saavedra [WPE][GTK] Build failure with ENABLE_ACCESSIBILITY=OFF Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (247368 => 247369) --- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2019-07-11 21:56:32 UTC (rev 247368) +++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm 2019-07-11 22:22:57 UTC (rev 247369) @@ -1763,19 +1763,23 @@ void WebPage::startAutoscrollAtPosition(const WebCore::FloatPoint& positionInWindow) { -if (m_focusedElement && m_focusedElement->renderer()) +if (m_focusedElement && m_focusedElement->renderer()) { m_page->mainFrame().eventHandler().startSelectionAutoscroll(m_focusedElement->renderer(), positionInWindow); -else { -Frame& frame = m_page->focusController().focusedOrMainFrame(); -VisibleSelection selection = frame.selection().selection(); -if (selection.isRange()) { -RefPtr range = frame.selection().toNormalizedRange(); -Node& node = range->startContainer(); -auto* renderer = node.renderer(); -if (renderer) -m_page->mainFrame().eventHandler().startSelectionAutoscroll(renderer, positionInWindow); -} +return; } + +Frame& frame = m_page->focusController().focusedOrMainFrame(); +VisibleSelection selection = frame.selection().selection(); +if (!selection.isRange()) +return; +RefPtr range = frame.selection().toNormalizedRange(); +if (!range) +return; +auto* renderer = range->startContainer().renderer(); +if (!renderer) +return; + +m_page->mainFrame().eventHandler().startSelectionAutoscroll(renderer, positionInWindow); } void WebPage::cancelAutoscroll() ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247368] trunk/Tools
Title: [247368] trunk/Tools Revision 247368 Author ysuz...@apple.com Date 2019-07-11 14:56:32 -0700 (Thu, 11 Jul 2019) Log Message Flaky API Test TestWTF.bmalloc.ScavengedMemoryShouldBeReused https://bugs.webkit.org/show_bug.cgi?id=199524 Reviewed by Saam Barati. This test is white-box one and it has strong assumption how IsoHeap allocates pages. But this test has several problems. 1. IsoPage::numObjects is not the exact number of how many we allocate objects. This number is calculated by pageSize / sizeof(T), and this does not account the header size of IsoPage. So, # of objects per IsoPage is less than numObjects. Since sizeof(double) is very small, we can have many objects in one IsoPage. As a result, we need a large bitmap in IsoPage. This reduces # of objects in IsoPage largely. So, `ptrs.size()` becomes less than numObjects. 2. We now have lower tier of allocation in IsoHeap. It means that we allocate 8 objects in shared page (page is shared, but memory is pinned for a specific type) before using IsoHeap's page. This also makes the intention of this test wrong. Due to (1), we access OoB of ptrs vector, passing a garbage to IsoHeap::deallocate, and crashing. We make this test robust while we still keep this test white-box one to test the critical feature of IsoHeap. We first exhaust lower tier of IsoHeap, and after that, start testing the memory. We allocate many pointers, deallocate them, allocate one pointer while keeping pointers in the lower tier live, and check whether the deallocated memory is reused. * TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp: (TEST): Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp Diff Modified: trunk/Tools/ChangeLog (247367 => 247368) --- trunk/Tools/ChangeLog 2019-07-11 21:51:24 UTC (rev 247367) +++ trunk/Tools/ChangeLog 2019-07-11 21:56:32 UTC (rev 247368) @@ -1,3 +1,35 @@ +2019-07-11 Yusuke Suzuki + +Flaky API Test TestWTF.bmalloc.ScavengedMemoryShouldBeReused +https://bugs.webkit.org/show_bug.cgi?id=199524 + + +Reviewed by Saam Barati. + +This test is white-box one and it has strong assumption how IsoHeap allocates pages. +But this test has several problems. + +1. IsoPage::numObjects is not the exact number of how many we allocate objects. This + number is calculated by pageSize / sizeof(T), and this does not account the header + size of IsoPage. So, # of objects per IsoPage is less than numObjects. Since sizeof(double) + is very small, we can have many objects in one IsoPage. As a result, we need a large + bitmap in IsoPage. This reduces # of objects in IsoPage largely. So, `ptrs.size()` becomes + less than numObjects. + +2. We now have lower tier of allocation in IsoHeap. It means that we allocate 8 objects in + shared page (page is shared, but memory is pinned for a specific type) before using IsoHeap's + page. This also makes the intention of this test wrong. + +Due to (1), we access OoB of ptrs vector, passing a garbage to IsoHeap::deallocate, and crashing. + +We make this test robust while we still keep this test white-box one to test the critical feature +of IsoHeap. We first exhaust lower tier of IsoHeap, and after that, start testing the memory. We +allocate many pointers, deallocate them, allocate one pointer while keeping pointers in the lower +tier live, and check whether the deallocated memory is reused. + +* TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp: +(TEST): + 2019-07-11 Pablo Saavedra [WPE][GTK] Build failure with ENABLE_ACCESSIBILITY=OFF Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp (247367 => 247368) --- trunk/Tools/TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp 2019-07-11 21:51:24 UTC (rev 247367) +++ trunk/Tools/TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp 2019-07-11 21:56:32 UTC (rev 247368) @@ -313,10 +313,17 @@ static IsoHeap heap; auto run = [] (unsigned numPagesToCommit) { -auto* ptr1 = heap.allocate(); - +std::vector lowerTierPtrs; std::vector ptrs; +// Let's exhaust the capacity of the lower tier. +for (unsigned i = 0; i < IsoPage::numObjects; ++i) { +void* ptr = heap.allocate(); +CHECK(ptr); +lowerTierPtrs.push_back(ptr); +} + +// After that, allocating pointers in the upper tier. for (unsigned i = 0; ;i++) { void* ptr = heap.allocate(); CHECK(ptr); @@ -325,24 +332,33 @@ break; } -std::set uniquedPtrs = toptrset(ptrs); +std::set uniquedPtrsOfUpperTiers = toptrset(ptrs); +CHECK(ptrs.size() == uniquedPtrsOfUpperTiers.size()); -heap.deallocate(ptr1); -for (unsigned i = 0; i < IsoPage::numObjects - 1; i++) { -h
[webkit-changes] [247366] trunk
Title: [247366] trunk Revision 247366 Author justin_...@apple.com Date 2019-07-11 14:32:06 -0700 (Thu, 11 Jul 2019) Log Message [WebGPU] Implement GPUError and error scopes https://bugs.webkit.org/show_bug.cgi?id=199655 Reviewed by Myles C. Maxfield. Source/WebCore: Add GPUErrorFilter, GPUError, and the ability to push and pop error scopes on a GPUDevice. This will allow us to check for WebGPU errors from _javascript_. Currently, only some GPUBuffer creation errors are reported for testing; more errors will follow in later patches. Test: webgpu/error-scopes-test.html * Modules/webgpu/GPUErrorFilter.idl: Added. * Modules/webgpu/GPUOutOfMemoryError.idl: Added. * Modules/webgpu/GPUValidationError.idl: Added. * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::pushErrorScope): (WebCore::WebGPUDevice::popErrorScope): Resolve the Promise here, since GPUDevice shouldn't worry about DOM layer. * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDeviceErrorScopes.cpp: Added. (WebCore::WebGPUDeviceErrorScopes::pushErrorScope): Delegates to WebGPUDevice. (WebCore::WebGPUDeviceErrorScopes::popErrorScope): Ditto. * Modules/webgpu/WebGPUDeviceErrorScopes.h: Added. * Modules/webgpu/WebGPUDeviceErrorScopes.idl: Added. * platform/graphics/gpu/GPUBuffer.h: * platform/graphics/gpu/GPUDevice.cpp: The actual error stack lives here. (WebCore::GPUDevice::pushErrorScope): (WebCore::GPUDevice::popErrorScope): Calls a callback with a GPUError, if any. (WebCore::GPUDevice::registerError): Actually creates GPUErrors. * platform/graphics/gpu/GPUDevice.h: * platform/graphics/gpu/GPUError.cpp: Added. (WebCore::createError): Factory function for various error types. * platform/graphics/gpu/GPUError.h: Added. * platform/graphics/gpu/GPUErrorFilter.h: Added. * platform/graphics/gpu/GPUOutOfMemoryError.h: Added. (WebCore::GPUOutOfMemoryError::create): * platform/graphics/gpu/GPUValidationError.cpp: Added. (WebCore::GPUValidationError::create): (WebCore::GPUValidationError::GPUValidationError): * platform/graphics/gpu/GPUValidationError.h: Added. (WebCore::GPUValidationError::message const): * platform/graphics/gpu/cocoa/GPUBufferMetal.mm: (WebCore::GPUBuffer::validateBufferUsage): Create an actual GPUValidationError :) (WebCore::GPUBuffer::tryCreate): Create GPUOutOfMemoryErrors where appropriate. Add file/name references: * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/WebCoreBuiltinNames.h: Missing includes: * Modules/webgpu/WHLSL/WHLSLCheckTextureReferences.cpp: LayoutTests: Add a test to cover the cases outlined in the WebGPU error handling design doc. * webgpu/error-scopes-test-expected.txt: Added. * webgpu/error-scopes-test.html: Added. Modified Paths trunk/LayoutTests/ChangeLog 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/webgpu/WHLSL/WHLSLCheckTextureReferences.cpp trunk/Source/WebCore/Modules/webgpu/WebGPUDevice.cpp trunk/Source/WebCore/Modules/webgpu/WebGPUDevice.h trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h trunk/Source/WebCore/platform/graphics/gpu/GPUBuffer.h trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.cpp trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUBufferMetal.mm Added Paths trunk/LayoutTests/webgpu/error-scopes-test-expected.txt trunk/LayoutTests/webgpu/error-scopes-test.html trunk/Source/WebCore/Modules/webgpu/GPUErrorFilter.idl trunk/Source/WebCore/Modules/webgpu/GPUOutOfMemoryError.idl trunk/Source/WebCore/Modules/webgpu/GPUValidationError.idl trunk/Source/WebCore/Modules/webgpu/WebGPUDeviceErrorScopes.cpp trunk/Source/WebCore/Modules/webgpu/WebGPUDeviceErrorScopes.h trunk/Source/WebCore/Modules/webgpu/WebGPUDeviceErrorScopes.idl trunk/Source/WebCore/platform/graphics/gpu/GPUError.cpp trunk/Source/WebCore/platform/graphics/gpu/GPUError.h trunk/Source/WebCore/platform/graphics/gpu/GPUErrorFilter.h trunk/Source/WebCore/platform/graphics/gpu/GPUOutOfMemoryError.h trunk/Source/WebCore/platform/graphics/gpu/GPUValidationError.cpp trunk/Source/WebCore/platform/graphics/gpu/GPUValidationError.h Diff Modified: trunk/LayoutTests/ChangeLog (247365 => 247366) --- trunk/LayoutTests/ChangeLog 2019-07-11 21:15:24 UTC (rev 247365) +++ trunk/LayoutTests/ChangeLog 2019-07-11 21:32:06 UTC (rev 247366) @@ -1,3 +1,15 @@ +2019-07-11 Justin Fan + +[WebGPU] Implement GPUError and error scopes +https://bugs.webkit.org/show_bug.cgi?id=199655 + +Reviewed by Myles C. Maxfield. + +Add a test to cover the cases outlined in the WebGPU error handling design doc. + +* webgpu/error
[webkit-changes] [247365] trunk/Source/WebCore
Title: [247365] trunk/Source/WebCore Revision 247365 Author timothy_hor...@apple.com Date 2019-07-11 14:15:24 -0700 (Thu, 11 Jul 2019) Log Message Null deref of RenderView under FrameView::setNeedsCompositingConfigurationUpdate https://bugs.webkit.org/show_bug.cgi?id=199723 Reviewed by Simon Fraser. * page/FrameView.cpp: (WebCore::FrameView::setNeedsCompositingConfigurationUpdate): Add a null-check; it looks like it is possible to get here by dismissing the find overlay (or other page overlay) at an inopportune time. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/FrameView.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247364 => 247365) --- trunk/Source/WebCore/ChangeLog 2019-07-11 21:12:39 UTC (rev 247364) +++ trunk/Source/WebCore/ChangeLog 2019-07-11 21:15:24 UTC (rev 247365) @@ -1,3 +1,16 @@ +2019-07-11 Tim Horton + +Null deref of RenderView under FrameView::setNeedsCompositingConfigurationUpdate +https://bugs.webkit.org/show_bug.cgi?id=199723 + + +Reviewed by Simon Fraser. + +* page/FrameView.cpp: +(WebCore::FrameView::setNeedsCompositingConfigurationUpdate): +Add a null-check; it looks like it is possible to get here by dismissing +the find overlay (or other page overlay) at an inopportune time. + 2019-07-11 Chris Dumez Pages using Google Tag Manager Google's anti-flicker optimization may take ~5 seconds to do initial paint Modified: trunk/Source/WebCore/page/FrameView.cpp (247364 => 247365) --- trunk/Source/WebCore/page/FrameView.cpp 2019-07-11 21:12:39 UTC (rev 247364) +++ trunk/Source/WebCore/page/FrameView.cpp 2019-07-11 21:15:24 UTC (rev 247365) @@ -2921,7 +2921,7 @@ void FrameView::setNeedsCompositingConfigurationUpdate() { RenderView* renderView = this->renderView(); -if (renderView->usesCompositing()) { +if (renderView && renderView->usesCompositing()) { if (auto* rootLayer = renderView->layer()) rootLayer->setNeedsCompositingConfigurationUpdate(); renderView->compositor().scheduleCompositingLayerUpdate(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247364] trunk/Tools
Title: [247364] trunk/Tools Revision 247364 Author aakash_j...@apple.com Date 2019-07-11 14:12:39 -0700 (Thu, 11 Jul 2019) Log Message [ews-build] Add build step to clean up .git/index.lock file https://bugs.webkit.org/show_bug.cgi?id=199722 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (CheckOutSource.getResultSummary): Run CleanUpGitIndexLock step when CheckOutSource fails. (CleanUpGitIndexLock.__init__): Configure timeout and logEnviron. (CleanUpGitIndexLock.evaluateCommand): Always RETRY the build after this step is run. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests. Modified Paths trunk/Tools/BuildSlaveSupport/ews-build/steps.py trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (247363 => 247364) --- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-07-11 21:08:36 UTC (rev 247363) +++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2019-07-11 21:12:39 UTC (rev 247364) @@ -102,6 +102,9 @@ **kwargs) def getResultSummary(self): +if self.results == FAILURE: +self.build.addStepsAfterCurrentStep([CleanUpGitIndexLock()]) + if self.results != SUCCESS: return {u'step': u'Failed to updated working directory'} else: @@ -108,6 +111,19 @@ return {u'step': u'Cleaned and updated working directory'} +class CleanUpGitIndexLock(shell.ShellCommand): +name = 'clean-git-index-lock' +command = ['rm', '-f', '.git/index.lock'] +descriptionDone = ['Deleted .git/index.lock'] + +def __init__(self, **kwargs): +super(CleanUpGitIndexLock, self).__init__(timeout=2 * 60, logEnviron=False, **kwargs) + +def evaluateCommand(self, cmd): +self.build.buildFinished(['Git issue, retrying build'], RETRY) +return super(CleanUpGitIndexLock, self).evaluateCommand(cmd) + + class CheckOutSpecificRevision(shell.ShellCommand): name = 'checkout-specific-revision' descriptionDone = ['Checked out required revision'] Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py (247363 => 247364) --- trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2019-07-11 21:08:36 UTC (rev 247363) +++ trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2019-07-11 21:12:39 UTC (rev 247364) @@ -35,7 +35,7 @@ from twisted.trial import unittest from steps import (AnalyzeAPITestsResults, AnalyzeCompileWebKitResults, ApplyPatch, ArchiveBuiltProduct, ArchiveTestResults, - CheckOutSource, CheckOutSpecificRevision, CheckPatchRelevance, CheckStyle, CleanBuild, CleanWorkingDirectory, + CheckOutSource, CheckOutSpecificRevision, CheckPatchRelevance, CheckStyle, CleanBuild, CleanUpGitIndexLock, CleanWorkingDirectory, CompileJSCOnly, CompileJSCOnlyToT, CompileWebKit, CompileWebKitToT, ConfigureBuild, DownloadBuiltProduct, ExtractBuiltProduct, ExtractTestResults, InstallGtkDependencies, InstallWpeDependencies, KillOldProcesses, PrintConfiguration, ReRunAPITests, ReRunJavaScriptCoreTests, RunAPITests, RunAPITestsWithoutPatch, @@ -478,6 +478,42 @@ return self.runStep() +class TestCleanUpGitIndexLock(BuildStepMixinAdditions, unittest.TestCase): +def setUp(self): +self.longMessage = True +return self.setUpBuildStep() + +def tearDown(self): +return self.tearDownBuildStep() + +def test_success(self): +self.setupStep(CleanUpGitIndexLock()) +self.expectRemoteCommands( +ExpectShell(workdir='wkdir', +timeout=120, +logEnviron=False, +command=['rm', '-f', '.git/index.lock'], +) ++ 0, +) +self.expectOutcome(result=SUCCESS, state_string='Deleted .git/index.lock') +return self.runStep() + +def test_failure(self): +self.setupStep(CleanUpGitIndexLock()) +self.expectRemoteCommands( +ExpectShell(workdir='wkdir', +timeout=120, +logEnviron=False, +command=['rm', '-f', '.git/index.lock'], +) ++ ExpectShell.log('stdio', stdout='Unexpected error.') ++ 1, +) +self.expectOutcome(result=FAILURE, state_string='Deleted .git/index.lock (failure)') +return self.runStep() + + class TestInstallGtkDependencies(BuildStepMixinAdditions, unittest.TestCase): def setUp(self): self.longMessage = True Modified: trunk/Tools/ChangeLog (247363 => 247364) --- trunk/Tools/ChangeLog 2019-07-11 21:08:36 UTC (rev 247363) +++ trunk/Tools/ChangeLog 2019-07-11 21:12:39 UTC (rev 247364) @@ -1,3 +1,16 @@ +2019-07-11 Aakash Jain + +[ews-build] Add build step to clean up .g
[webkit-changes] [247363] trunk
Title: [247363] trunk Revision 247363 Author justin_mich...@apple.com Date 2019-07-11 14:08:36 -0700 (Thu, 11 Jul 2019) Log Message Add b3 macro lowering for CheckMul on arm64 https://bugs.webkit.org/show_bug.cgi?id=199251 Reviewed by Robin Morisset. JSTests: * microbenchmarks/check-mul-constant.js: Added. (doTest): * microbenchmarks/check-mul-no-constant.js: Added. (doTest): * microbenchmarks/check-mul-power-of-two.js: Added. (doTest): Source/_javascript_Core: - Lower CheckMul for 32-bit arguments on arm64 into a mul and then an overflow check. - Add a new opcode to air on arm64 for smull (multiplySignExtend32). - Fuse sign extend 32 + mul into smull (taking two 32-bit arguments and producing 64 bits). - 1.25x speedup on power of two microbenchmark, 1.15x speedup on normal constant microbenchmark, and no change on the no-constant benchmark. Also, skip some of the b3 tests that were failing before this patch so that the new tests can run to completion. * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::multiplySignExtend32): * assembler/testmasm.cpp: (JSC::testMul32SignExtend): (JSC::run): * b3/B3LowerMacros.cpp: * b3/B3LowerToAir.cpp: * b3/air/AirOpcode.opcodes: * b3/testb3.cpp: (JSC::B3::testMulArgs32SignExtend): (JSC::B3::testMulImm32SignExtend): (JSC::B3::testMemoryFence): (JSC::B3::testStoreFence): (JSC::B3::testLoadFence): (JSC::B3::testPinRegisters): (JSC::B3::run): Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h trunk/Source/_javascript_Core/assembler/testmasm.cpp trunk/Source/_javascript_Core/b3/B3LowerMacros.cpp trunk/Source/_javascript_Core/b3/B3LowerToAir.cpp trunk/Source/_javascript_Core/b3/B3StackmapValue.h trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes trunk/Source/_javascript_Core/b3/testb3.cpp Added Paths trunk/JSTests/microbenchmarks/check-mul-constant.js trunk/JSTests/microbenchmarks/check-mul-no-constant.js trunk/JSTests/microbenchmarks/check-mul-power-of-two.js Diff Modified: trunk/JSTests/ChangeLog (247362 => 247363) --- trunk/JSTests/ChangeLog 2019-07-11 21:04:05 UTC (rev 247362) +++ trunk/JSTests/ChangeLog 2019-07-11 21:08:36 UTC (rev 247363) @@ -1,3 +1,17 @@ +2019-07-11 Justin Michaud + +Add b3 macro lowering for CheckMul on arm64 +https://bugs.webkit.org/show_bug.cgi?id=199251 + +Reviewed by Robin Morisset. + +* microbenchmarks/check-mul-constant.js: Added. +(doTest): +* microbenchmarks/check-mul-no-constant.js: Added. +(doTest): +* microbenchmarks/check-mul-power-of-two.js: Added. +(doTest): + 2019-07-10 Tadeu Zagallo Optimize join of large empty arrays Added: trunk/JSTests/microbenchmarks/check-mul-constant.js (0 => 247363) --- trunk/JSTests/microbenchmarks/check-mul-constant.js (rev 0) +++ trunk/JSTests/microbenchmarks/check-mul-constant.js 2019-07-11 21:08:36 UTC (rev 247363) @@ -0,0 +1,13 @@ +function doTest(max) { +let sum = 0 +for (let i=0; i Added: trunk/JSTests/microbenchmarks/check-mul-no-constant.js (0 => 247363) --- trunk/JSTests/microbenchmarks/check-mul-no-constant.js (rev 0) +++ trunk/JSTests/microbenchmarks/check-mul-no-constant.js 2019-07-11 21:08:36 UTC (rev 247363) @@ -0,0 +1,13 @@ +function doTest(max) { +let sum = 0 +for (let i=0; i Added: trunk/JSTests/microbenchmarks/check-mul-power-of-two.js (0 => 247363) --- trunk/JSTests/microbenchmarks/check-mul-power-of-two.js (rev 0) +++ trunk/JSTests/microbenchmarks/check-mul-power-of-two.js 2019-07-11 21:08:36 UTC (rev 247363) @@ -0,0 +1,13 @@ +function doTest(max) { +let sum = 0 +for (let i=0; i Modified: trunk/Source/_javascript_Core/ChangeLog (247362 => 247363) --- trunk/Source/_javascript_Core/ChangeLog 2019-07-11 21:04:05 UTC (rev 247362) +++ trunk/Source/_javascript_Core/ChangeLog 2019-07-11 21:08:36 UTC (rev 247363) @@ -1,3 +1,35 @@ +2019-07-11 Justin Michaud + +Add b3 macro lowering for CheckMul on arm64 +https://bugs.webkit.org/show_bug.cgi?id=199251 + +Reviewed by Robin Morisset. + +- Lower CheckMul for 32-bit arguments on arm64 into a mul and then an overflow check. +- Add a new opcode to air on arm64 for smull (multiplySignExtend32). +- Fuse sign extend 32 + mul into smull (taking two 32-bit arguments and producing 64 bits). +- 1.25x speedup on power of two microbenchmark, 1.15x speedup on normal constant microbenchmark, + and no change on the no-constant benchmark. +Also, skip some of the b3 tests that were failing before this patch so that the new tests can run +to completion. + +* assembler/MacroAssemblerARM64.h: +(JSC::MacroAssemblerARM64::multiplySignExtend32): +* assembler/testmasm.cpp: +(JSC::testMul32SignExtend): +(JSC::run): +* b3/B3Lo
[webkit-changes] [247362] trunk
Title: [247362] trunk Revision 247362 Author commit-qu...@webkit.org Date 2019-07-11 14:04:05 -0700 (Thu, 11 Jul 2019) Log Message Unreviewed, rolling out r247314. https://bugs.webkit.org/show_bug.cgi?id=199721 Caused performance regression. (Requested by deanj on #webkit). Reverted changeset: "Disable speculative loading if cache is not to be used for the load" https://bugs.webkit.org/show_bug.cgi?id=199644 https://trac.webkit.org/changeset/247314 Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.cpp Removed Paths trunk/LayoutTests/http/wpt/fetch/disable-speculative-for-reload-expected.txt trunk/LayoutTests/http/wpt/fetch/disable-speculative-for-reload.html trunk/LayoutTests/http/wpt/fetch/resources/iframe-with-image.py trunk/LayoutTests/http/wpt/fetch/resources/image-load-count.py trunk/LayoutTests/http/wpt/fetch/resources/image-load.py Diff Modified: trunk/LayoutTests/ChangeLog (247361 => 247362) --- trunk/LayoutTests/ChangeLog 2019-07-11 20:52:06 UTC (rev 247361) +++ trunk/LayoutTests/ChangeLog 2019-07-11 21:04:05 UTC (rev 247362) @@ -1,3 +1,18 @@ +2019-07-11 Commit Queue + +Unreviewed, rolling out r247314. +https://bugs.webkit.org/show_bug.cgi?id=199721 + +Caused performance regression. (Requested by deanj on +#webkit). + +Reverted changeset: + +"Disable speculative loading if cache is not to be used for +the load" +https://bugs.webkit.org/show_bug.cgi?id=199644 +https://trac.webkit.org/changeset/247314 + 2019-07-11 Ryan Haddad Add test expectations and baselines for iOS 13 Deleted: trunk/LayoutTests/http/wpt/fetch/disable-speculative-for-reload-expected.txt (247361 => 247362) --- trunk/LayoutTests/http/wpt/fetch/disable-speculative-for-reload-expected.txt 2019-07-11 20:52:06 UTC (rev 247361) +++ trunk/LayoutTests/http/wpt/fetch/disable-speculative-for-reload-expected.txt 2019-07-11 21:04:05 UTC (rev 247362) @@ -1,3 +0,0 @@ - -PASS Ensure image is not speculatively loaded after a reload - Deleted: trunk/LayoutTests/http/wpt/fetch/disable-speculative-for-reload.html (247361 => 247362) --- trunk/LayoutTests/http/wpt/fetch/disable-speculative-for-reload.html 2019-07-11 20:52:06 UTC (rev 247361) +++ trunk/LayoutTests/http/wpt/fetch/disable-speculative-for-reload.html 2019-07-11 21:04:05 UTC (rev 247362) @@ -1,61 +0,0 @@ - - -function loadIFrame(src) { -return new Promise(function(resolve, reject) { -var iframe = document.createElement('iframe'); -iframe._onload_ = function() { resolve(iframe); }; - -iframe.src = "" - -document.documentElement.appendChild(iframe); -}); -} - -async function imageLoadCount(uuid) -{ -const response = await fetch('resources/image-load.py?uuid=' + uuid, { method: 'POST' }); -return response.text(); -} - -async function navigateIFrame(iframe, uuid) -{ -const promise = new Promise(resolve => iframe._onload_ = resolve); -iframe.src = "" + uuid; -await promise; -return imageLoadCount(uuid); -} - -async function reloadIFrame(iframe, uuid) -{ -const promise = new Promise(resolve => iframe._onload_ = resolve); -iframe.contentWindow.location.reload(); -await promise; -return imageLoadCount(uuid); -} - -function resetIFrame(iframe) -{ -const promise = new Promise(resolve => { iframe._onload_ = resolve; }); -iframe.src = "" -return promise; -} - -promise_test(async (test) => { -const uuid = token(); -const iframe = await loadIFrame("about:blank"); - -const token1 = await navigateIFrame(iframe, uuid); -await resetIFrame(iframe); -const token2 = await navigateIFrame(iframe, uuid); -const token3 = await reloadIFrame(iframe, uuid); - -assert_equals(token1, "1", "navigating to"); -assert_equals(token2, "2", "after new navigation"); -assert_equals(token3, "3", "after reload"); - -iframe.remove(); -}, "Ensure image is not speculatively loaded after a reload"); - Deleted: trunk/LayoutTests/http/wpt/fetch/resources/iframe-with-image.py (247361 => 247362) --- trunk/LayoutTests/http/wpt/fetch/resources/iframe-with-image.py 2019-07-11 20:52:06 UTC (rev 247361) +++ trunk/LayoutTests/http/wpt/fetch/resources/iframe-with-image.py 2019-07-11 21:04:05 UTC (rev 247362) @@ -1,8 +0,0 @@ -ETAG = '"123abc"' - - -def main(request, response): -test_id = request.GET.first("uuid") -response.status = (200, "OK") -response.headers.set("Content-Type", 'text/html') -return "" Deleted: trunk/LayoutTests/http/wpt/fetch/resources/image-load-count.py (247361 => 247362) --- trunk/LayoutTests/http/wpt/fetch/resources/image-load-count.py 2019-07-11 20:52:06 UTC (rev 247361) +++ trunk/LayoutTests/http/wpt/fetch/resources/image-load-count.py 2019-07-11 21:04:05 UTC (rev 247362) @@ -1,11 +0,0 @@ -def main(request, response): -test_id = request.GET.first("uuid") -stashed_cou
[webkit-changes] [247361] trunk/Source/WebCore
Title: [247361] trunk/Source/WebCore Revision 247361 Author cdu...@apple.com Date 2019-07-11 13:52:06 -0700 (Thu, 11 Jul 2019) Log Message Pages using Google Tag Manager Google's anti-flicker optimization may take ~5 seconds to do initial paint https://bugs.webkit.org/show_bug.cgi?id=199704 Reviewed by Geoffrey Garen. Apply the same fix as r246764 for when "https://www.googletagmanager.com/gtm.js" load is blocked by a content extension to avoid delaying initial paint by ~5 seconds. This was tested on https://www.formula1.com/en.html. * contentextensions/ContentExtensionsBackend.cpp: (WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForLoad): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247360 => 247361) --- trunk/Source/WebCore/ChangeLog 2019-07-11 20:11:47 UTC (rev 247360) +++ trunk/Source/WebCore/ChangeLog 2019-07-11 20:52:06 UTC (rev 247361) @@ -1,5 +1,19 @@ 2019-07-11 Chris Dumez +Pages using Google Tag Manager Google's anti-flicker optimization may take ~5 seconds to do initial paint +https://bugs.webkit.org/show_bug.cgi?id=199704 + + +Reviewed by Geoffrey Garen. + +Apply the same fix as r246764 for when "https://www.googletagmanager.com/gtm.js" load is blocked by a content +extension to avoid delaying initial paint by ~5 seconds. This was tested on https://www.formula1.com/en.html. + +* contentextensions/ContentExtensionsBackend.cpp: +(WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForLoad): + +2019-07-11 Chris Dumez + Disable RGB10 IOSurface pixel format for Mac Catalyst https://bugs.webkit.org/show_bug.cgi?id=199712 Modified: trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp (247360 => 247361) --- trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp 2019-07-11 20:11:47 UTC (rev 247360) +++ trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp 2019-07-11 20:52:06 UTC (rev 247361) @@ -237,7 +237,9 @@ // Quirk for content-blocker interference with Google's anti-flicker optimization (rdar://problem/45968770). // https://developers.google.com/optimize/ -if (currentDocument->settings().googleAntiFlickerOptimizationQuirkEnabled() && url == "https://www.google-analytics.com/analytics.js"_str) { +if (currentDocument->settings().googleAntiFlickerOptimizationQuirkEnabled() +&& ((equalLettersIgnoringASCIICase(url.host(), "www.google-analytics.com") && equalLettersIgnoringASCIICase(url.path(), "/analytics.js")) +|| (equalLettersIgnoringASCIICase(url.host(), "www.googletagmanager.com") && equalLettersIgnoringASCIICase(url.path(), "/gtm.js" { if (auto* frame = currentDocument->frame()) frame->script().evaluate(ScriptSourceCode { "try { window.dataLayer.hide.end(); console.log('Called window.dataLayer.hide.end() in frame ' + document.URL + ' because the content blocker blocked the load of the https://www.google-analytics.com/analytics.js script'); } catch (e) { }"_s }); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247360] trunk/Source/WebKit
Title: [247360] trunk/Source/WebKit Revision 247360 Author d...@apple.com Date 2019-07-11 13:11:47 -0700 (Thu, 11 Jul 2019) Log Message CrashTracer: Regression : MobileSafari at UIKit: -[CALayerAccessibility__UIKit__QuartzCore setBounds:] https://bugs.webkit.org/show_bug.cgi?id=199720 Reviewed by Tim Horton. Speculative fix after confirming that this crash can occur when a zero width/height view is used for a UITargetedPreview. We already guarded against this in the default flow, but not in the fallback path where we take a view snapshot. * UIProcess/ios/WKContentViewInteraction.mm: (createFallbackTargetedPreview): Return early if rectangles are empty. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/Source/WebKit/ChangeLog (247359 => 247360) --- trunk/Source/WebKit/ChangeLog 2019-07-11 19:39:23 UTC (rev 247359) +++ trunk/Source/WebKit/ChangeLog 2019-07-11 20:11:47 UTC (rev 247360) @@ -1,3 +1,19 @@ +2019-07-11 Dean Jackson + +CrashTracer: Regression : MobileSafari at UIKit: -[CALayerAccessibility__UIKit__QuartzCore setBounds:] +https://bugs.webkit.org/show_bug.cgi?id=199720 + + +Reviewed by Tim Horton. + +Speculative fix after confirming that this crash can occur when +a zero width/height view is used for a UITargetedPreview. We +already guarded against this in the default flow, but not in +the fallback path where we take a view snapshot. + +* UIProcess/ios/WKContentViewInteraction.mm: +(createFallbackTargetedPreview): Return early if rectangles are empty. + 2019-07-11 Alex Christensen Use mobile UA on jsfiddle.net Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (247359 => 247360) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2019-07-11 19:39:23 UTC (rev 247359) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2019-07-11 20:11:47 UTC (rev 247360) @@ -8009,10 +8009,17 @@ if (!containerView.window) return nil; +if (frameInRootViewCoordinates.isEmpty()) +return nil; + auto parameters = adoptNS([[UIPreviewParameters alloc] init]); UIView *snapshotView = [rootView resizableSnapshotViewFromRect:frameInRootViewCoordinates afterScreenUpdates:NO withCapInsets:UIEdgeInsetsZero]; CGRect frameInContainerViewCoordinates = [rootView convertRect:frameInRootViewCoordinates toView:containerView]; + +if (CGRectIsEmpty(frameInContainerViewCoordinates)) +return nil; + snapshotView.frame = frameInContainerViewCoordinates; CGPoint centerInContainerViewCoordinates = CGPointMake(CGRectGetMidX(frameInContainerViewCoordinates), CGRectGetMidY(frameInContainerViewCoordinates)); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247359] trunk/Source
Title: [247359] trunk/Source Revision 247359 Author alanc...@apple.com Date 2019-07-11 12:39:23 -0700 (Thu, 11 Jul 2019) Log Message Versioning. Modified Paths trunk/Source/_javascript_Core/Configurations/Version.xcconfig trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig trunk/Source/WebCore/Configurations/Version.xcconfig trunk/Source/WebCore/PAL/Configurations/Version.xcconfig trunk/Source/WebInspectorUI/Configurations/Version.xcconfig trunk/Source/WebKit/Configurations/Version.xcconfig trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: trunk/Source/_javascript_Core/Configurations/Version.xcconfig (247358 => 247359) --- trunk/Source/_javascript_Core/Configurations/Version.xcconfig 2019-07-11 18:43:39 UTC (rev 247358) +++ trunk/Source/_javascript_Core/Configurations/Version.xcconfig 2019-07-11 19:39:23 UTC (rev 247359) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 35; +TINY_VERSION = 36; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (247358 => 247359) --- trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-07-11 18:43:39 UTC (rev 247358) +++ trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-07-11 19:39:23 UTC (rev 247359) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 35; +TINY_VERSION = 36; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/WebCore/Configurations/Version.xcconfig (247358 => 247359) --- trunk/Source/WebCore/Configurations/Version.xcconfig 2019-07-11 18:43:39 UTC (rev 247358) +++ trunk/Source/WebCore/Configurations/Version.xcconfig 2019-07-11 19:39:23 UTC (rev 247359) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 35; +TINY_VERSION = 36; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/WebCore/PAL/Configurations/Version.xcconfig (247358 => 247359) --- trunk/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-07-11 18:43:39 UTC (rev 247358) +++ trunk/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-07-11 19:39:23 UTC (rev 247359) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 35; +TINY_VERSION = 36; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/WebInspectorUI/Configurations/Version.xcconfig (247358 => 247359) --- trunk/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-07-11 18:43:39 UTC (rev 247358) +++ trunk/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-07-11 19:39:23 UTC (rev 247359) @@ -1,6 +1,6 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 35; +TINY_VERSION = 36; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/WebKit/Configurations/Version.xcconfig (247358 => 247359) --- trunk/Source/WebKit/Configurations/Version.xcconfig 2019-07-11 18:43:39 UTC (rev 247358) +++ trunk/Source/WebKit/Configurations/Version.xcconfig 2019-07-11 19:39:23 UTC (rev 247359) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 35; +TINY_VERSION = 36; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (247358 => 247359) --- trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2019-07-11 18:43:39 UTC (rev 247358) +++ trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2019-07-11 19:39:23 UTC (rev 247359) @@ -23,7 +23,7 @@ MAJOR_VERSION = 608; MINOR_VERSION = 1; -TINY_VERSION = 35; +TINY_VERSION = 36; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247358] trunk/Source/WebCore
Title: [247358] trunk/Source/WebCore Revision 247358 Author cdu...@apple.com Date 2019-07-11 11:43:39 -0700 (Thu, 11 Jul 2019) Log Message Disable RGB10 IOSurface pixel format for Mac Catalyst https://bugs.webkit.org/show_bug.cgi?id=199712 Reviewed by Beth Dakin. Disable RGB10 IOSurface pixel format for Mac Catalyst. This format is not supported on Mac Catalyst and causes us not to render anything. * platform/graphics/cocoa/IOSurface.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h Diff Modified: trunk/Source/WebCore/ChangeLog (247357 => 247358) --- trunk/Source/WebCore/ChangeLog 2019-07-11 18:39:16 UTC (rev 247357) +++ trunk/Source/WebCore/ChangeLog 2019-07-11 18:43:39 UTC (rev 247358) @@ -1,3 +1,16 @@ +2019-07-11 Chris Dumez + +Disable RGB10 IOSurface pixel format for Mac Catalyst +https://bugs.webkit.org/show_bug.cgi?id=199712 + + +Reviewed by Beth Dakin. + +Disable RGB10 IOSurface pixel format for Mac Catalyst. This format is not supported +on Mac Catalyst and causes us not to render anything. + +* platform/graphics/cocoa/IOSurface.h: + 2019-07-11 Jonathan Bedard [iOS 13] Enable WebKit build Modified: trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h (247357 => 247358) --- trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h 2019-07-11 18:39:16 UTC (rev 247357) +++ trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h 2019-07-11 18:43:39 UTC (rev 247358) @@ -31,7 +31,7 @@ #include "GraphicsContext.h" #include "IntSize.h" -#if PLATFORM(IOS_FAMILY) +#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) #define HAVE_IOSURFACE_RGB10 1 #endif ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247357] trunk/Source/WebKit
Title: [247357] trunk/Source/WebKit Revision 247357 Author commit-qu...@webkit.org Date 2019-07-11 11:39:16 -0700 (Thu, 11 Jul 2019) Log Message Use mobile UA on jsfiddle.net https://bugs.webkit.org/show_bug.cgi?id=199687 Patch by Alex Christensen on 2019-07-11 Reviewed by Maciej Stachowiak. Text selection does not work on iPads using desktop UA. This isn't the best solution, but it's certainly *a* solution. * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::desktopClassBrowsingRecommendedForRequest): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm Diff Modified: trunk/Source/WebKit/ChangeLog (247356 => 247357) --- trunk/Source/WebKit/ChangeLog 2019-07-11 18:36:57 UTC (rev 247356) +++ trunk/Source/WebKit/ChangeLog 2019-07-11 18:39:16 UTC (rev 247357) @@ -1,3 +1,17 @@ +2019-07-11 Alex Christensen + +Use mobile UA on jsfiddle.net +https://bugs.webkit.org/show_bug.cgi?id=199687 + + +Reviewed by Maciej Stachowiak. + +Text selection does not work on iPads using desktop UA. +This isn't the best solution, but it's certainly *a* solution. + +* UIProcess/ios/WebPageProxyIOS.mm: +(WebKit::desktopClassBrowsingRecommendedForRequest): + 2019-07-11 Jonathan Bedard [iOS 13] Enable WebKit build Modified: trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm (247356 => 247357) --- trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm 2019-07-11 18:36:57 UTC (rev 247356) +++ trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm 2019-07-11 18:39:16 UTC (rev 247357) @@ -1288,6 +1288,9 @@ if (equalLettersIgnoringASCIICase(host, "live.iqiyi.com") || host.endsWithIgnoringASCIICase(".live.iqiyi.com")) return false; +if (equalLettersIgnoringASCIICase(host, "jsfiddle.net") || host.endsWithIgnoringASCIICase(".jsfiddle.net")) +return false; + if (equalLettersIgnoringASCIICase(host, "video.sina.com.cn") || host.endsWithIgnoringASCIICase(".video.sina.com.cn")) return false; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247356] trunk/Source/WebInspectorUI
Title: [247356] trunk/Source/WebInspectorUI Revision 247356 Author drou...@apple.com Date 2019-07-11 11:36:57 -0700 (Thu, 11 Jul 2019) Log Message Web Inspector: Layers: Uncaught Exception: Request with id = 2 failed. {"code":-32601,"message":"'Page' domain was not found","data":[{"code":-32601,"message":"'Page' domain was not found"}]} https://bugs.webkit.org/show_bug.cgi?id=199555 Reviewed by Joseph Pecoraro. Use modern inspected target support checking, and defer agent commands until a target is available. * UserInterface/Views/Layers3DContentView.js: (WI.Layers3DContentView): (WI.Layers3DContentView.prototype._showPaintRectsSettingChanged): (WI.Layers3DContentView.prototype._updateCompositingBordersButtonState): (WI.Layers3DContentView.prototype._toggleCompositingBorders): * UserInterface/Views/DOMTreeContentView.js: (WI.DOMTreeContentView): (WI.DOMTreeContentView.prototype._toggleCompositingBorders): (WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): (WI.DOMTreeContentView.prototype._showPaintRectsSettingChanged): (WI.DOMTreeContentView.prototype._showPrintStylesChanged): (WI.DOMTreeContentView.prototype._showRulersChanged): Drive-by: apply the same changes to the Elements tab for when the Layers tab isn't enabled. Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js trunk/Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (247355 => 247356) --- trunk/Source/WebInspectorUI/ChangeLog 2019-07-11 17:17:58 UTC (rev 247355) +++ trunk/Source/WebInspectorUI/ChangeLog 2019-07-11 18:36:57 UTC (rev 247356) @@ -1,3 +1,28 @@ +2019-07-11 Devin Rousso + +Web Inspector: Layers: Uncaught Exception: Request with id = 2 failed. {"code":-32601,"message":"'Page' domain was not found","data":[{"code":-32601,"message":"'Page' domain was not found"}]} +https://bugs.webkit.org/show_bug.cgi?id=199555 + +Reviewed by Joseph Pecoraro. + +Use modern inspected target support checking, and defer agent commands until a target is +available. + +* UserInterface/Views/Layers3DContentView.js: +(WI.Layers3DContentView): +(WI.Layers3DContentView.prototype._showPaintRectsSettingChanged): +(WI.Layers3DContentView.prototype._updateCompositingBordersButtonState): +(WI.Layers3DContentView.prototype._toggleCompositingBorders): + +* UserInterface/Views/DOMTreeContentView.js: +(WI.DOMTreeContentView): +(WI.DOMTreeContentView.prototype._toggleCompositingBorders): +(WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): +(WI.DOMTreeContentView.prototype._showPaintRectsSettingChanged): +(WI.DOMTreeContentView.prototype._showPrintStylesChanged): +(WI.DOMTreeContentView.prototype._showRulersChanged): +Drive-by: apply the same changes to the Elements tab for when the Layers tab isn't enabled. + 2019-07-09 Devin Rousso Web Inspector: Canvas: replace WTF::Vector with std::initializer_list in CallTracer to avoid dynamic allocations Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js (247355 => 247356) --- trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js 2019-07-11 17:17:58 UTC (rev 247355) +++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js 2019-07-11 18:36:57 UTC (rev 247356) @@ -34,7 +34,7 @@ if (InspectorBackend.domains.Page) { this._compositingBordersButtonNavigationItem = new WI.ActivateButtonNavigationItem("layer-borders", WI.UIString("Show compositing borders"), WI.UIString("Hide compositing borders"), "Images/LayerBorders.svg", 13, 13); this._compositingBordersButtonNavigationItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, this._toggleCompositingBorders, this); -this._compositingBordersButtonNavigationItem.enabled = !!PageAgent.getCompositingBordersVisible; +this._compositingBordersButtonNavigationItem.enabled = !!InspectorBackend.domains.Page.getCompositingBordersVisible; this._compositingBordersButtonNavigationItem.visibilityPriority = WI.NavigationItem.VisibilityPriority.Low; } @@ -42,8 +42,8 @@ WI.settings.showPaintRects.addEventListener(WI.Setting.Event.Changed, this._showPaintRectsSettingChanged, this); this._paintFlashingButtonNavigationItem = new WI.ActivateButtonNavigationItem("paint-flashing", WI.UIString("Enable paint flashing"), WI.UIString("Disable paint flashing"), "Images/Paint.svg", 16, 16); this._paintFlashingButtonNavigationItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, this._togglePaintFlashing, this); -this._paintFlashingButtonNavigationItem.enabled = !!PageAgent.setShowPaintRects; -this._paintFlashingButto
[webkit-changes] [247355] trunk
Title: [247355] trunk Revision 247355 Author jbed...@apple.com Date 2019-07-11 10:17:58 -0700 (Thu, 11 Jul 2019) Log Message [iOS 13] Enable WebKit build https://bugs.webkit.org/show_bug.cgi?id=199481 Reviewed by Tim Horton. Source/WebCore: No new tests, iOS 13 test expectations will be migrated in the near future. * platform/ios/LocalCurrentTraitCollection.mm: (WebCore::LocalCurrentTraitCollection::LocalCurrentTraitCollection): Remove underscore from currentTraitCollection. (WebCore::LocalCurrentTraitCollection::~LocalCurrentTraitCollection): Remove underscore from setCurrentTraitCollection. Source/WebCore/PAL: * pal/spi/cocoa/NSProgressSPI.h: We need the NSProgress SPI in public builds because NSProgress API is marked unavailable on iOS, watchOS and tvOS. * pal/spi/ios/CoreUISPI.h: Add CUIStyleEffectConfiguration.appearanceName SPI. * pal/spi/ios/DataDetectorsUISPI.h: Add UIContextMenuConfiguration.contextMenuConfigurationForURL SPI. * pal/spi/ios/SystemPreviewSPI.h: Add ARQuickLookWebKitItem.initWithPreviewItemProvider SPI. * pal/spi/ios/UIKitSPI.h: Add systemBrownColor, UIColor.tableCellDefaultSelectionTintColor should be marked nullable. * pal/spi/mac/AVFoundationSPI.h: Add AVOutputDevice.name SPI. Source/WebKit: * Platform/spi/ios/UIKitSPI.h: Add UITextEffectsWindow.sharedTextEffectsWindowForWindowScene SPI. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView showGlobalMenuControllerInRect:]): setTargetRect, setMenuVisible marked depreciated in iOS 13. (-[WKContentView hideGlobalMenuController]): Ditto. Tools: * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Add iOS framework stubs. WebKitLibraries: Added iOS 13 framework stubs, used tbd version 3 in all new stubs. * WebKitPrivateFrameworkStubs/iOS/13: Added. * WebKitPrivateFrameworkStubs/iOS/13/AppSupport.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/AssertionServices.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/AuthKit.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/CorePDF.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/CorePrediction.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/SafariSafeBrowsing.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/URLFormatting.framework: Added. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/spi/cocoa/NSProgressSPI.h trunk/Source/WebCore/PAL/pal/spi/ios/CoreUISPI.h trunk/Source/WebCore/PAL/pal/spi/ios/DataDetectorsUISPI.h trunk/Source/WebCore/PAL/pal/spi/ios/SystemPreviewSPI.h trunk/Source/WebCore/PAL/pal/spi/ios/UIKitSPI.h trunk/Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h trunk/Source/WebCore/platform/ios/LocalCurrentTraitCollection.mm trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig trunk/WebKitLibraries/ChangeLog Added Paths trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/AppSupport.framework/ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/AppSupport.framework/AppSupport.tbd trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/AssertionServices.framework/ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/AssertionServices.framework/AssertionServices.tbd trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/AuthKit.framework/ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/AuthKit.framework/AuthKit.tbd trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/CorePDF.framework/ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/CorePDF.framework/CorePDF.tbd trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/CorePrediction.framework/ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/CorePrediction.framework/CorePrediction.tbd trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/SafariSafeBrowsing.framework/ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/URLFormatting.framework/ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/URLFormatting.framework/URLFormatting.tbd Diff Modified: trunk/Source/WebCore/ChangeLog (247354 => 247355) --- trunk/Source/WebCore/ChangeLog 2019-07-11 17:10:52 UTC (rev 247354) +++ trunk/Source/WebCore/ChangeLog 2019-07-11 17:17:58 UTC (rev 247355) @@ -1,3 +1,17 @@ +2019-07-11 Jonathan Bedard + +[iOS 13] Enable WebKit build +https://bugs.webkit.org/show_bug.cgi?id=199481 + + +Reviewed by Tim Horton. + +No new
[webkit-changes] [247354] trunk/Source/WebCore
Title: [247354] trunk/Source/WebCore Revision 247354 Author cdu...@apple.com Date 2019-07-11 10:10:52 -0700 (Thu, 11 Jul 2019) Log Message Fix non thread-safe usage of makeWeakPtr() in MediaPlayerPrivateMediaFoundation https://bugs.webkit.org/show_bug.cgi?id=199700 Reviewed by Eric Carlson. The code was calling makeWeakPtr() on a main-thread object, from a background thread. This is not thread safe. To address the issue, this patches creates the WeakPtr ahead of time, on the main thread. * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp: (WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation): (WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource): (WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent): (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify): * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h: (WebCore::MediaPlayerPrivateMediaFoundation::ThreadSafeWrapper::create): (WebCore::MediaPlayerPrivateMediaFoundation::ThreadSafeWrapper::wrapped): (WebCore::MediaPlayerPrivateMediaFoundation::ThreadSafeWrapper::ThreadSafeWrapper): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.h Diff Modified: trunk/Source/WebCore/ChangeLog (247353 => 247354) --- trunk/Source/WebCore/ChangeLog 2019-07-11 17:08:30 UTC (rev 247353) +++ trunk/Source/WebCore/ChangeLog 2019-07-11 17:10:52 UTC (rev 247354) @@ -1,3 +1,24 @@ +2019-07-11 Chris Dumez + +Fix non thread-safe usage of makeWeakPtr() in MediaPlayerPrivateMediaFoundation +https://bugs.webkit.org/show_bug.cgi?id=199700 + +Reviewed by Eric Carlson. + +The code was calling makeWeakPtr() on a main-thread object, from a background thread. +This is not thread safe. To address the issue, this patches creates the WeakPtr ahead +of time, on the main thread. + +* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp: +(WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation): +(WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource): +(WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent): +(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify): +* platform/graphics/win/MediaPlayerPrivateMediaFoundation.h: +(WebCore::MediaPlayerPrivateMediaFoundation::ThreadSafeWrapper::create): +(WebCore::MediaPlayerPrivateMediaFoundation::ThreadSafeWrapper::wrapped): +(WebCore::MediaPlayerPrivateMediaFoundation::ThreadSafeWrapper::ThreadSafeWrapper): + 2019-07-11 Zalan Bujtas [LFC][IFC] Cleanup InlineFormattingContext::LineLayout class. Modified: trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp (247353 => 247354) --- trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp 2019-07-11 17:08:30 UTC (rev 247353) +++ trunk/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp 2019-07-11 17:10:52 UTC (rev 247354) @@ -58,7 +58,8 @@ namespace WebCore { MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation(MediaPlayer* player) -: m_player(player) +: m_weakThis(makeWeakPtr(this)) +, m_player(player) , m_visible(false) , m_loadingProgress(false) , m_paused(true) @@ -425,7 +426,7 @@ hr = asyncResult->GetStatus(); m_loadingProgress = SUCCEEDED(hr); -callOnMainThread([weakPtr = makeWeakPtr(*this)] { +callOnMainThread([weakPtr = m_weakThis] { if (!weakPtr) return; weakPtr->onCreatedMediaSource(); @@ -454,7 +455,7 @@ switch (mediaEventType) { case MESessionTopologySet: { -callOnMainThread([weakPtr = makeWeakPtr(*this)] { +callOnMainThread([weakPtr = m_weakThis] { if (!weakPtr) return; weakPtr->onTopologySet(); @@ -463,7 +464,7 @@ } case MESessionStarted: { -callOnMainThread([weakPtr = makeWeakPtr(*this)] { +callOnMainThread([weakPtr = m_weakThis] { if (!weakPtr) return; weakPtr->onSessionStarted(); @@ -472,7 +473,7 @@ } case MEBufferingStarted: { -callOnMainThread([weakPtr = makeWeakPtr(*this)] { +callOnMainThread([weakPtr = m_weakThis] { if (!weakPtr) return; weakPtr->onBufferingStarted(); @@ -481,7 +482,7 @@ } case MEBufferingStopped: { -callOnMainThread([weakPtr = makeWeakPtr(*this)] { +callOnMainThread([weakPtr = m_weakThis] { if (!weakPtr) return; weakPtr->onBufferingStopped(); @@ -490,7 +491,7 @@ } case MESessionEnded: { -callOnMainThread([weakPtr = mak
[webkit-changes] [247351] tags/Safari-608.1.35
Title: [247351] tags/Safari-608.1.35 Revision 247351 Author kocsen_ch...@apple.com Date 2019-07-11 08:33:17 -0700 (Thu, 11 Jul 2019) Log Message Cherry-pick r247307. rdar://problem/52859522 Unreviewed, rolling out r247286. Caused TestWTF.WTF.StringOperators to fail on debug bots Reverted changeset: "Add StringBuilder member function which allows makeString() style variadic argument construction" https://bugs.webkit.org/show_bug.cgi?id=198997 https://trac.webkit.org/changeset/247286 git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247307 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths tags/Safari-608.1.35/Source/WTF/ChangeLog tags/Safari-608.1.35/Source/WTF/wtf/posix/FileSystemPOSIX.cpp tags/Safari-608.1.35/Source/WTF/wtf/text/StringBuilder.cpp tags/Safari-608.1.35/Source/WTF/wtf/text/StringBuilder.h tags/Safari-608.1.35/Source/WTF/wtf/text/StringConcatenate.h tags/Safari-608.1.35/Tools/ChangeLog tags/Safari-608.1.35/Tools/TestWebKitAPI/Tests/WTF/StringBuilder.cpp Diff Modified: tags/Safari-608.1.35/Source/WTF/ChangeLog (247350 => 247351) --- tags/Safari-608.1.35/Source/WTF/ChangeLog 2019-07-11 14:09:55 UTC (rev 247350) +++ tags/Safari-608.1.35/Source/WTF/ChangeLog 2019-07-11 15:33:17 UTC (rev 247351) @@ -1,3 +1,33 @@ +2019-07-11 Alan Coon + +Cherry-pick r247307. rdar://problem/52859522 + +Unreviewed, rolling out r247286. + +Caused TestWTF.WTF.StringOperators to fail on debug bots + +Reverted changeset: + +"Add StringBuilder member function which allows makeString() +style variadic argument construction" +https://bugs.webkit.org/show_bug.cgi?id=198997 +https://trac.webkit.org/changeset/247286 + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247307 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-10 Ryan Haddad + +Unreviewed, rolling out r247286. + +Caused TestWTF.WTF.StringOperators to fail on debug bots + +Reverted changeset: + +"Add StringBuilder member function which allows makeString() +style variadic argument construction" +https://bugs.webkit.org/show_bug.cgi?id=198997 +https://trac.webkit.org/changeset/247286 + 2019-07-09 Sam Weinig Add StringBuilder member function which allows makeString() style variadic argument construction Modified: tags/Safari-608.1.35/Source/WTF/wtf/posix/FileSystemPOSIX.cpp (247350 => 247351) --- tags/Safari-608.1.35/Source/WTF/wtf/posix/FileSystemPOSIX.cpp 2019-07-11 14:09:55 UTC (rev 247350) +++ tags/Safari-608.1.35/Source/WTF/wtf/posix/FileSystemPOSIX.cpp 2019-07-11 15:33:17 UTC (rev 247351) @@ -301,8 +301,10 @@ { StringBuilder builder; builder.append(path); -for (auto& component : components) -builder.flexibleAppend('/', component); +for (auto& component : components) { +builder.append('/'); +builder.append(component); +} return builder.toString(); } Modified: tags/Safari-608.1.35/Source/WTF/wtf/text/StringBuilder.cpp (247350 => 247351) --- tags/Safari-608.1.35/Source/WTF/wtf/text/StringBuilder.cpp 2019-07-11 14:09:55 UTC (rev 247350) +++ tags/Safari-608.1.35/Source/WTF/wtf/text/StringBuilder.cpp 2019-07-11 15:33:17 UTC (rev 247351) @@ -163,7 +163,7 @@ ASSERT(m_buffer->length() == requiredLength); } -template<> +template <> void StringBuilder::reallocateBuffer(unsigned requiredLength) { // If the buffer has only one ref (by this StringBuilder), reallocate it, @@ -183,7 +183,7 @@ ASSERT(hasOverflowed() || m_buffer->length() == requiredLength); } -template<> +template <> void StringBuilder::reallocateBuffer(unsigned requiredLength) { // If the buffer has only one ref (by this StringBuilder), reallocate it, @@ -231,29 +231,21 @@ ASSERT(hasOverflowed() || !newCapacity || m_buffer->length() >= newCapacity); } -// Make 'additionalLength' additional capacity be available in m_buffer, update m_string & m_length, +// Make 'length' additional capacity be available in m_buffer, update m_string & m_length, // return a pointer to the newly allocated storage. // Returns nullptr if the size of the new builder would have overflowed -template -ALWAYS_INLINE CharacterType* StringBuilder::appendUninitialized(unsigned additionalLength) +template +ALWAYS_INLINE CharType* StringBuilder::appendUninitialized(unsigned length) { -ASSERT(additionalLength); +ASSERT(length); // Calculate the new size of the builder after appending. -CheckedInt32 requiredLength = m_length + additionalLength; +CheckedInt32 requiredLength = m_length + length; if (requiredLength.hasOverflowed()) { didOverflow(); return nullptr; } -return appendUninitializedWithoutOverflowCheck(requiredLength); -} - -template -ALWAYS_INLINE CharacterType* StringBuilder::appendUninitializedWithoutOverflowCheck(CheckedInt32 requiredLength) -{
[webkit-changes] [247350] trunk/Source/WebCore
Title: [247350] trunk/Source/WebCore Revision 247350 Author za...@apple.com Date 2019-07-11 07:09:55 -0700 (Thu, 11 Jul 2019) Log Message [LFC][IFC] Cleanup InlineFormattingContext::LineLayout class. https://bugs.webkit.org/show_bug.cgi?id=199702 Reviewed by Sam Weinig. Move some structs to .cpp. They don't need to pollute the class declaration. * layout/inlineformatting/InlineFormattingContext.h: (WebCore::Layout::InlineFormattingContext::LineLayout::layoutState const): (): Deleted. * layout/inlineformatting/InlineFormattingContextLineLayout.cpp: (WebCore::Layout::LineInput::HorizontalConstraint::HorizontalConstraint): (WebCore::Layout::LineInput::LineInput): (WebCore::Layout::InlineFormattingContext::LineLayout::placeInlineItems const): (WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::HorizontalConstraint::HorizontalConstraint): Deleted. (WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::LineInput): Deleted. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247349 => 247350) --- trunk/Source/WebCore/ChangeLog 2019-07-11 13:36:50 UTC (rev 247349) +++ trunk/Source/WebCore/ChangeLog 2019-07-11 14:09:55 UTC (rev 247350) @@ -1,3 +1,23 @@ +2019-07-11 Zalan Bujtas + +[LFC][IFC] Cleanup InlineFormattingContext::LineLayout class. +https://bugs.webkit.org/show_bug.cgi?id=199702 + + +Reviewed by Sam Weinig. + +Move some structs to .cpp. They don't need to pollute the class declaration. + +* layout/inlineformatting/InlineFormattingContext.h: +(WebCore::Layout::InlineFormattingContext::LineLayout::layoutState const): +(): Deleted. +* layout/inlineformatting/InlineFormattingContextLineLayout.cpp: +(WebCore::Layout::LineInput::HorizontalConstraint::HorizontalConstraint): +(WebCore::Layout::LineInput::LineInput): +(WebCore::Layout::InlineFormattingContext::LineLayout::placeInlineItems const): +(WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::HorizontalConstraint::HorizontalConstraint): Deleted. +(WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::LineInput): Deleted. + 2019-07-11 Joanmarie Diggs AX: Implement support for ARIA roles insertion, deletion, subscript, superscript, and time Modified: trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h (247349 => 247350) --- trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h 2019-07-11 13:36:50 UTC (rev 247349) +++ trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h 2019-07-11 14:09:55 UTC (rev 247350) @@ -38,6 +38,8 @@ class FloatingState; class InlineContainer; +struct LineContent; +struct LineInput; // This class implements the layout logic for inline formatting contexts. // https://www.w3.org/TR/CSS22/visuren.html#inline-formatting @@ -58,33 +60,6 @@ private: LayoutState& layoutState() const { return m_layoutState; } - -struct InlineIndexAndSplitPosition { -unsigned index { 0 }; -Optional splitPosition; -}; - -struct LineInput { -LineInput(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth, Line::SkipVerticalAligment, InlineIndexAndSplitPosition firstToProcess, const InlineItems&); -struct HorizontalConstraint { -HorizontalConstraint(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth); - -LayoutPoint logicalTopLeft; -LayoutUnit availableLogicalWidth; -}; -HorizontalConstraint horizontalConstraint; -// FIXME Alternatively we could just have a second pass with vertical positioning (preferred width computation opts out) -Line::SkipVerticalAligment skipVerticalAligment; -InlineIndexAndSplitPosition firstInlineItem; -const InlineItems& inlineItems; -Optional floatMinimumLogicalBottom; -}; - -struct LineContent { -Optional lastCommitted; -Vector> floats; -std::unique_ptr runs; -}; LineContent placeInlineItems(const LineInput&) const; void createDisplayRuns(const Line::Content&, const Vector>& floats, LayoutUnit widthConstraint) const; void alignRuns(TextAlignMode, InlineRuns&, unsigned firstRunIndex, LayoutUnit availableWidth) const; Modified: trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp (247349 => 247350) --- trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp 2019-07-11 13:36:50 UTC (rev 247349) +++ trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp 2019-07-11 14:09:55 UTC (rev 24
[webkit-changes] [247348] trunk/Tools
Title: [247348] trunk/Tools Revision 247348 Author ape...@igalia.com Date 2019-07-11 05:45:22 -0700 (Thu, 11 Jul 2019) Log Message [ews-build] Remove workers {ltilve,tanty}-gtk-wk2-ews from configuration https://bugs.webkit.org/show_bug.cgi?id=199707 Reviewed by Aakash Jain. * BuildSlaveSupport/ews-build/config.json: Remove old unused workers. Modified Paths trunk/Tools/BuildSlaveSupport/ews-build/config.json trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/ews-build/config.json (247347 => 247348) --- trunk/Tools/BuildSlaveSupport/ews-build/config.json 2019-07-11 10:57:54 UTC (rev 247347) +++ trunk/Tools/BuildSlaveSupport/ews-build/config.json 2019-07-11 12:45:22 UTC (rev 247348) @@ -25,14 +25,6 @@ "platform": "gtk" }, { - "name": "tanty-gtk-wk2-ews", - "platform": "gtk" -}, -{ - "name": "ltilve-gtk-wk2-ews", - "platform": "gtk" -}, -{ "name": "igalia-wpe-ews", "platform": "wpe" }, @@ -301,7 +293,7 @@ "platform": "gtk", "configuration": "release", "architectures": ["x86_64"], - "workernames": ["igalia1-gtk-wk2-ews", "igalia2-gtk-wk2-ews", "igalia3-gtk-wk2-ews", "igalia4-gtk-wk2-ews", "aperez-gtk-ews", "tanty-gtk-wk2-ews", "ltilve-gtk-wk2-ews"] + "workernames": ["igalia1-gtk-wk2-ews", "igalia2-gtk-wk2-ews", "igalia3-gtk-wk2-ews", "igalia4-gtk-wk2-ews", "aperez-gtk-ews"] }, { "name": "iOS-12-Build-EWS", Modified: trunk/Tools/ChangeLog (247347 => 247348) --- trunk/Tools/ChangeLog 2019-07-11 10:57:54 UTC (rev 247347) +++ trunk/Tools/ChangeLog 2019-07-11 12:45:22 UTC (rev 247348) @@ -1,3 +1,12 @@ +2019-07-11 Adrian Perez de Castro + +[ews-build] Remove workers {ltilve,tanty}-gtk-wk2-ews from configuration +https://bugs.webkit.org/show_bug.cgi?id=199707 + +Reviewed by Aakash Jain. + +* BuildSlaveSupport/ews-build/config.json: Remove old unused workers. + 2019-07-10 Simon Fraser [iOS WK2] With modal overlay and body overflow:hidden, can't access all the content ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247347] trunk/Source/WebCore
Title: [247347] trunk/Source/WebCore Revision 247347 Author commit-qu...@webkit.org Date 2019-07-11 03:57:54 -0700 (Thu, 11 Jul 2019) Log Message [GStreamer][MediaStream] Use the new dispatchMediaSampleToObservers to dispatch new buffers https://bugs.webkit.org/show_bug.cgi?id=199689 Patch by Thibault Saunier on 2019-07-11 Reviewed by Philippe Normand. We already have tests for this. * platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp: (WebCore::GStreamerVideoCaptureSource::processNewFrame): (WebCore::GStreamerVideoCaptureSource::newSampleCallback): * platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h Diff Modified: trunk/Source/WebCore/ChangeLog (247346 => 247347) --- trunk/Source/WebCore/ChangeLog 2019-07-11 09:42:22 UTC (rev 247346) +++ trunk/Source/WebCore/ChangeLog 2019-07-11 10:57:54 UTC (rev 247347) @@ -1,3 +1,17 @@ +2019-07-11 Thibault Saunier + +[GStreamer][MediaStream] Use the new dispatchMediaSampleToObservers to dispatch new buffers +https://bugs.webkit.org/show_bug.cgi?id=199689 + +Reviewed by Philippe Normand. + +We already have tests for this. + +* platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp: +(WebCore::GStreamerVideoCaptureSource::processNewFrame): +(WebCore::GStreamerVideoCaptureSource::newSampleCallback): +* platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h: + 2019-07-10 Simon Fraser [iOS WK2] With modal overlay and body overflow:hidden, can't access all the content Modified: trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp (247346 => 247347) --- trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp 2019-07-11 09:42:22 UTC (rev 247346) +++ trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp 2019-07-11 10:57:54 UTC (rev 247347) @@ -160,14 +160,21 @@ m_capturer->play(); } +void GStreamerVideoCaptureSource::processNewFrame(Ref&& sample) +{ +if (!isProducingData() || muted()) +return; + +dispatchMediaSampleToObservers(WTFMove(sample)); +} + GstFlowReturn GStreamerVideoCaptureSource::newSampleCallback(GstElement* sink, GStreamerVideoCaptureSource* source) { auto gstSample = adoptGRef(gst_app_sink_pull_sample(GST_APP_SINK(sink))); auto mediaSample = MediaSampleGStreamer::create(WTFMove(gstSample), WebCore::FloatSize(), String()); -// FIXME - Check how presentationSize is supposed to be used here. -callOnMainThread([protectedThis = makeRef(*source), mediaSample = WTFMove(mediaSample)] { -protectedThis->videoSampleAvailable(mediaSample.get()); +source->scheduleDeferredTask([source, sample = WTFMove(mediaSample)] () mutable { +source->processNewFrame(WTFMove(sample)); }); return GST_FLOW_OK; Modified: trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h (247346 => 247347) --- trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h 2019-07-11 09:42:22 UTC (rev 247346) +++ trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h 2019-07-11 10:57:54 UTC (rev 247347) @@ -40,6 +40,7 @@ const RealtimeMediaSourceSettings& settings() override; GstElement* pipeline() { return m_capturer->pipeline(); } GStreamerCapturer* capturer() { return m_capturer.get(); } +void processNewFrame(Ref&&); protected: GStreamerVideoCaptureSource(String&& deviceID, String&& name, String&& hashSalt, const gchar * source_factory); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247346] trunk/Source/JavaScriptCore
Title: [247346] trunk/Source/_javascript_Core Revision 247346 Author ysuz...@apple.com Date 2019-07-11 02:42:22 -0700 (Thu, 11 Jul 2019) Log Message Unreviewed, revert r243617. https://bugs.webkit.org/show_bug.cgi?id=196341 Mark pointed out that JSVirtualMachine can be gone in the other thread while we are executing GC constraint-solving. This patch does not account that _javascript_Core.framework is multi-thread safe: JSVirtualMachine wrapper can be destroyed, and [JSVirtualMachine dealloc] can be executed in any threads while the VM is retained and used in the other thread (e.g. destroyed from AutoReleasePool in some thread). * API/JSContext.mm: (-[JSContext initWithVirtualMachine:]): (-[JSContext dealloc]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): (+[JSContext contextWithJSGlobalContextRef:]): * API/JSVirtualMachine.mm: (initWrapperCache): (wrapperCache): (+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]): (+[JSVMWrapperCache wrapperForJSContextGroupRef:]): (-[JSVirtualMachine initWithContextGroupRef:]): (-[JSVirtualMachine dealloc]): (+[JSVirtualMachine virtualMachineWithContextGroupRef:]): (-[JSVirtualMachine contextForGlobalContextRef:]): (-[JSVirtualMachine addContext:forGlobalContextRef:]): (scanExternalObjectGraph): (scanExternalRememberedSet): * API/JSVirtualMachineInternal.h: * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::setWrapperMap): (JSC::JSGlobalObject::setAPIWrapper): Deleted. (JSC::JSGlobalObject::apiWrapper const): Deleted. * runtime/VM.h: Modified Paths trunk/Source/_javascript_Core/API/JSContext.mm trunk/Source/_javascript_Core/API/JSVirtualMachine.mm trunk/Source/_javascript_Core/API/JSVirtualMachineInternal.h trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSGlobalObject.h trunk/Source/_javascript_Core/runtime/VM.h Diff Modified: trunk/Source/_javascript_Core/API/JSContext.mm (247345 => 247346) --- trunk/Source/_javascript_Core/API/JSContext.mm 2019-07-11 07:34:19 UTC (rev 247345) +++ trunk/Source/_javascript_Core/API/JSContext.mm 2019-07-11 09:42:22 UTC (rev 247346) @@ -85,15 +85,13 @@ }; [self ensureWrapperMap]; +[m_virtualMachine addContext:self forGlobalContextRef:m_context]; -toJSGlobalObject(m_context)->setAPIWrapper((__bridge void*)self); - return self; } - (void)dealloc { -toJSGlobalObject(m_context)->setAPIWrapper((__bridge void*)nil); m_exception.clear(); JSGlobalContextRelease(m_context); [m_virtualMachine release]; @@ -310,7 +308,7 @@ context.exception = exceptionValue; }; -toJSGlobalObject(m_context)->setAPIWrapper((__bridge void*)self); +[m_virtualMachine addContext:self forGlobalContextRef:m_context]; return self; } @@ -360,7 +358,7 @@ - (JSWrapperMap *)wrapperMap { -return toJSGlobalObject(m_context)->wrapperMap(); +return toJS(m_context)->lexicalGlobalObject()->wrapperMap(); } - (JSValue *)wrapperForJSObject:(JSValueRef)value @@ -371,7 +369,8 @@ + (JSContext *)contextWithJSGlobalContextRef:(JSGlobalContextRef)globalContext { -JSContext *context = (__bridge JSContext *)toJSGlobalObject(globalContext)->apiWrapper(); +JSVirtualMachine *virtualMachine = [JSVirtualMachine virtualMachineWithContextGroupRef:toRef(&toJS(globalContext)->vm())]; +JSContext *context = [virtualMachine contextForGlobalContextRef:globalContext]; if (!context) context = [[[JSContext alloc] initWithGlobalContextRef:globalContext] autorelease]; return context; Modified: trunk/Source/_javascript_Core/API/JSVirtualMachine.mm (247345 => 247346) --- trunk/Source/_javascript_Core/API/JSVirtualMachine.mm 2019-07-11 07:34:19 UTC (rev 247345) +++ trunk/Source/_javascript_Core/API/JSVirtualMachine.mm 2019-07-11 09:42:22 UTC (rev 247346) @@ -41,9 +41,50 @@ #import #import +static NSMapTable *globalWrapperCache = 0; + +static Lock wrapperCacheMutex; + +static void initWrapperCache() +{ +ASSERT(!globalWrapperCache); +NSPointerFunctionsOptions keyOptions = NSPointerFunctionsOpaqueMemory | NSPointerFunctionsOpaquePersonality; +NSPointerFunctionsOptions valueOptions = NSPointerFunctionsWeakMemory | NSPointerFunctionsObjectPersonality; +globalWrapperCache = [[NSMapTable alloc] initWithKeyOptions:keyOptions valueOptions:valueOptions capacity:0]; +} + +static NSMapTable *wrapperCache() +{ +if (!globalWrapperCache) +initWrapperCache(); +return globalWrapperCache; +} + +@interface JSVMWrapperCache : NSObject ++ (void)addWrapper:(JSVirtualMachine *)wrapper forJSContextGroupRef:(JSContextGroupRef)group; ++ (JSVirtualMachine *)wrapperForJSContextGroupRef:(JSContextGroupRef)group; +@end + +@implementation JSVMWrapperCache + ++ (void)addWrapper:(JSVirtualMachine *)wrapper forJSContextGroupRef:(JSContextGroupRef)group +{ +std::lock_guard lock(wrapperCacheMutex); +NSMapInsert(wrapperCache(), group, (__bridge void*)wrapper); +} + ++ (JSVirtualMachine *)wrapperForJ
[webkit-changes] [247345] trunk/Source/WebKit
Title: [247345] trunk/Source/WebKit Revision 247345 Author wenson_hs...@apple.com Date 2019-07-11 00:34:19 -0700 (Thu, 11 Jul 2019) Log Message MobileSafari may crash under -[UIKeyboardTaskExecutionContext transferExecutionToMainThreadWithTask:] https://bugs.webkit.org/show_bug.cgi?id=199701 Reviewed by Tim Horton. Mitigates a crash wherein we end up calling the completion handler of -requestAutocorrectionContextWithCompletionHandler: within a nested call to -requestAutocorrectionContextWithCompletionHandler:. In this particular case, a sync `window.open` from the web process to the UI process happens while the UI process is already handling a sync autocorrection context request. This causes the UI process to try and immediately dispatch the incoming sync message to avoid deadlock. However, Safari's logic to create and set up a new web view when opening a new window makes the new view the first responder, which then prompts UIKit logic to request an autocorrection context for the new web view. To avoid the issue for now, simply use -resignFirstResponder as a cue to invoke pending autocorrection context handlers in the original web view before UIKit tries to request autocorrection context in the newly created view. I attempted to write a test for this, but realized that we only end up hitting the debug assertion pointed out in ; we should be able to write a test for this in the future, if we teach Connection to handle multiple outgoing sync messages. For the time being, I've attached a manual test case to the bug. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView resignFirstResponderForWebView]): (-[WKContentView _cancelPendingAutocorrectionContextHandler]): Add a new helper to signify that a pending autocorrection context handler should be cancelled (invoked immediately with empty data). Use this in a few places where we currently explicitly pass -[WKAutocorrectionContext emptyAutocorrectionContext]. (-[WKContentView requestAutocorrectionContextWithCompletionHandler:]): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/Source/WebKit/ChangeLog (247344 => 247345) --- trunk/Source/WebKit/ChangeLog 2019-07-11 04:28:16 UTC (rev 247344) +++ trunk/Source/WebKit/ChangeLog 2019-07-11 07:34:19 UTC (rev 247345) @@ -1,3 +1,43 @@ +2019-07-11 Wenson Hsieh + +MobileSafari may crash under -[UIKeyboardTaskExecutionContext transferExecutionToMainThreadWithTask:] +https://bugs.webkit.org/show_bug.cgi?id=199701 + + +Reviewed by Tim Horton. + +Mitigates a crash wherein we end up calling the completion handler of +-requestAutocorrectionContextWithCompletionHandler: within a nested call +to -requestAutocorrectionContextWithCompletionHandler:. In this particular +case, a sync `window.open` from the web process to the UI process happens +while the UI process is already handling a sync autocorrection context +request. This causes the UI process to try and immediately dispatch the +incoming sync message to avoid deadlock. However, Safari's logic to create +and set up a new web view when opening a new window makes the new view the +first responder, which then prompts UIKit logic to request an autocorrection +context for the new web view. + +To avoid the issue for now, simply use -resignFirstResponder as a cue to invoke +pending autocorrection context handlers in the original web view before UIKit +tries to request autocorrection context in the newly created view. + +I attempted to write a test for this, but realized that we only end up hitting +the debug assertion pointed out in ; we should be +able to write a test for this in the future, if we teach Connection to handle +multiple outgoing sync messages. + +For the time being, I've attached a manual test case to the bug. + +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView resignFirstResponderForWebView]): +(-[WKContentView _cancelPendingAutocorrectionContextHandler]): + +Add a new helper to signify that a pending autocorrection context handler should be cancelled (invoked +immediately with empty data). Use this in a few places where we currently explicitly pass +-[WKAutocorrectionContext emptyAutocorrectionContext]. + +(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]): + 2019-07-10 Simon Fraser [iOS WK2] With modal overlay and body overflow:hidden, can't access all the content Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (247344 => 247345) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2019-07-11 04:28:16 UTC (rev 247344) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2019-07-11 07:34:19 UTC (rev 247345) @@ -1267,6 +1267,7