[webkit-changes] [253521] trunk/Source/WebCore
Title: [253521] trunk/Source/WebCore Revision 253521 Author commit-qu...@webkit.org Date 2019-12-13 22:37:32 -0800 (Fri, 13 Dec 2019) Log Message Nullptr crash if SVG element if element parent becomes document node https://bugs.webkit.org/show_bug.cgi?id=205217 Patch by Sunny He on 2019-12-13 Reviewed by Ryosuke Niwa. Test: svg/dom/replaceChild-document-crash.html * rendering/RenderBox.cpp: (WebCore::RenderBox::layoutOverflowRectForPropagation const): * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::layout): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBox.cpp trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (253520 => 253521) --- trunk/Source/WebCore/ChangeLog 2019-12-14 04:34:45 UTC (rev 253520) +++ trunk/Source/WebCore/ChangeLog 2019-12-14 06:37:32 UTC (rev 253521) @@ -1,3 +1,17 @@ +2019-12-13 Sunny He + +Nullptr crash if SVG element if element parent becomes document node +https://bugs.webkit.org/show_bug.cgi?id=205217 + +Reviewed by Ryosuke Niwa. + +Test: svg/dom/replaceChild-document-crash.html + +* rendering/RenderBox.cpp: +(WebCore::RenderBox::layoutOverflowRectForPropagation const): +* rendering/svg/RenderSVGText.cpp: +(WebCore::RenderSVGText::layout): + 2019-12-13 Brady Eidson Refactor ScriptController's proliferation of ExceptionDetails*. Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (253520 => 253521) --- trunk/Source/WebCore/rendering/RenderBox.cpp 2019-12-14 04:34:45 UTC (rev 253520) +++ trunk/Source/WebCore/rendering/RenderBox.cpp 2019-12-14 06:37:32 UTC (rev 253521) @@ -4787,7 +4787,7 @@ // to it, and then convert it back. flipForWritingMode(rect); -if (hasTransform) +if (hasTransform && hasLayer()) rect = layer()->currentTransform().mapRect(rect); if (isInFlowPositioned()) Modified: trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp (253520 => 253521) --- trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp 2019-12-14 04:34:45 UTC (rev 253520) +++ trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp 2019-12-14 06:37:32 UTC (rev 253521) @@ -372,15 +372,18 @@ m_needsReordering = true; m_needsPositioningValuesUpdate = false; updateCachedBoundariesInParents = true; -} else if (m_needsTextMetricsUpdate || SVGRenderSupport::findTreeRootObject(*this)->isLayoutSizeChanged()) { -// If the root layout size changed (eg. window size changes) or the transform to the root -// context has changed then recompute the on-screen font size. -updateFontInAllDescendants(this, _layoutAttributesBuilder); +} else { +RenderSVGRoot* rootObj = SVGRenderSupport::findTreeRootObject(*this); +if (m_needsTextMetricsUpdate || (rootObj && rootObj->isLayoutSizeChanged())) { +// If the root layout size changed (eg. window size changes) or the transform to the root +// context has changed then recompute the on-screen font size. +updateFontInAllDescendants(this, _layoutAttributesBuilder); -ASSERT(!m_needsReordering); -ASSERT(!m_needsPositioningValuesUpdate); -m_needsTextMetricsUpdate = false; -updateCachedBoundariesInParents = true; +ASSERT(!m_needsReordering); +ASSERT(!m_needsPositioningValuesUpdate); +m_needsTextMetricsUpdate = false; +updateCachedBoundariesInParents = true; +} } checkLayoutAttributesConsistency(this, m_layoutAttributes); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253520] trunk
Title: [253520] trunk Revision 253520 Author ysuz...@apple.com Date 2019-12-13 20:34:45 -0800 (Fri, 13 Dec 2019) Log Message [JSC] Remove JSFixedArray, and use JSImmutableButterfly instead https://bugs.webkit.org/show_bug.cgi?id=204402 Reviewed by Mark Lam. JSTests: * stress/new-array-with-spread-cow-double.js: Added. (shouldBe): (shouldBeArray): (test): * stress/new-array-with-spread-cow-int.js: Added. (shouldBe): (shouldBeArray): (test): * stress/new-array-with-spread-cow.js: Added. (shouldBe): (shouldBeArray): (test): Source/_javascript_Core: This patch removes JSFixedArray, and use JSImmutableButterfly instead. JSFixedArray can be replaced by JSImmutableButterfly with Contiguous shape. And further, we can create an array from JSImmutableButterfly generated by Spread node in NewArrayBufferWithSpread. Currently, we are always creating contiguous JSImmutableButterfly from Spread. If it takes contiguous CoW array, we can reuse JSImmutableButterfly of the input. But if it is CoW and not contiguous shape (like, CopyOnWriteArrayWithInt32), we create a JSImmutableButterfly and copy it to this new butterfly. We can extend it to accept non-contiguous JSImmutableButterfly in the future. * _javascript_Core.xcodeproj/project.pbxproj: * Sources.txt: * bytecompiler/BytecodeGenerator.cpp: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter::executeEffects): * dfg/DFGByteCodeParser.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileObjectKeys): * ftl/FTLAbstractHeapRepository.h: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::toButterfly): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::loadVarargs): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSCast.h: * runtime/JSFixedArray.cpp: Removed. * runtime/JSFixedArray.h: Removed. * runtime/JSImmutableButterfly.h: (JSC::JSImmutableButterfly::createFromArray): (JSC::JSImmutableButterfly::offsetOfPublicLength): (JSC::JSImmutableButterfly::offsetOfVectorLength): * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj trunk/Source/_javascript_Core/Sources.txt trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.cpp trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp trunk/Source/_javascript_Core/dfg/DFGClobberize.h trunk/Source/_javascript_Core/dfg/DFGConstantFoldingPhase.cpp trunk/Source/_javascript_Core/dfg/DFGOperations.cpp trunk/Source/_javascript_Core/dfg/DFGOperations.h trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp trunk/Source/_javascript_Core/ftl/FTLAbstractHeapRepository.h trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp trunk/Source/_javascript_Core/ftl/FTLOperations.cpp trunk/Source/_javascript_Core/interpreter/Interpreter.cpp trunk/Source/_javascript_Core/runtime/CommonSlowPaths.cpp trunk/Source/_javascript_Core/runtime/JSCast.h trunk/Source/_javascript_Core/runtime/JSImmutableButterfly.h trunk/Source/_javascript_Core/runtime/JSType.cpp trunk/Source/_javascript_Core/runtime/JSType.h trunk/Source/_javascript_Core/runtime/VM.cpp trunk/Source/_javascript_Core/runtime/VM.h Added Paths trunk/JSTests/stress/new-array-with-spread-cow-double.js trunk/JSTests/stress/new-array-with-spread-cow-int.js trunk/JSTests/stress/new-array-with-spread-cow.js Removed Paths trunk/Source/_javascript_Core/runtime/JSFixedArray.cpp trunk/Source/_javascript_Core/runtime/JSFixedArray.h Diff Modified: trunk/JSTests/ChangeLog (253519 => 253520) --- trunk/JSTests/ChangeLog 2019-12-14 03:12:10 UTC (rev 253519) +++ trunk/JSTests/ChangeLog 2019-12-14 04:34:45 UTC (rev 253520) @@ -1,3 +1,23 @@ +2019-12-13 Yusuke Suzuki + +[JSC] Remove JSFixedArray, and use JSImmutableButterfly instead +https://bugs.webkit.org/show_bug.cgi?id=204402 + +Reviewed by Mark Lam. + +* stress/new-array-with-spread-cow-double.js: Added. +(shouldBe): +(shouldBeArray): +(test): +* stress/new-array-with-spread-cow-int.js: Added. +(shouldBe): +(shouldBeArray): +(test): +* stress/new-array-with-spread-cow.js: Added. +(shouldBe): +(shouldBeArray): +(test): + 2019-12-13 Mark Lam Fix bad exception assertion in ExceptionHelpers.cpp's createError(). Added:
[webkit-changes] [253519] trunk/Source
Title: [253519] trunk/Source Revision 253519 Author beid...@apple.com Date 2019-12-13 19:12:10 -0800 (Fri, 13 Dec 2019) Log Message Refactor ScriptController's proliferation of ExceptionDetails*. https://bugs.webkit.org/show_bug.cgi?id=205151 Reviewed by Alex Christensen. Source/WebCore: No new tests (Refactor, no behavior change). There's so many ExceptionDetails* null pointers being passed around in the ScriptController family of functions. Let's make it a little more explicit which callers get exceptions and which don't. * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorldIgnoringException): (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::evaluateIgnoringException): (WebCore::ScriptController::executeScriptInWorldIgnoringException): (WebCore::ScriptController::executeScriptInWorld): (WebCore::ScriptController::executeUserAgentScriptInWorld): (WebCore::ScriptController::executeScriptIgnoringException): (WebCore::ScriptController::executeIfJavaScriptURL): (WebCore::ScriptController::evaluate): Deleted. (WebCore::ScriptController::executeScript): Deleted. * bindings/js/ScriptController.h: * contentextensions/ContentExtensionsBackend.cpp: (WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForLoad): * dom/Document.cpp: (WebCore::Document::ensurePlugInsInjectedScript): * dom/ScriptElement.cpp: (WebCore::ScriptElement::executeClassicScript): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): * inspector/InspectorFrontendClientLocal.cpp: (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean): (WebCore::InspectorFrontendClientLocal::evaluateOnLoad): * inspector/agents/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): * loader/ContentFilter.cpp: (WebCore::ContentFilter::didDecide): * page/Frame.cpp: (WebCore::Frame::injectUserScriptImmediately): * xml/XMLTreeViewer.cpp: (WebCore::XMLTreeViewer::transformDocumentToTreeView): Source/WebKit: * UIProcess/API/C/WKPage.cpp: (WKPageRunJavaScriptInMainFrame): * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _evaluateJavaScript:forceUserGesture:completionHandler:]): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::runJavaScriptInMainFrame): (WebKit::WebPageProxy::runJavaScriptInMainFrameScriptWorld): (WebKit::WebPageProxy::runJavaScriptInFrame): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.cpp: (WebKit::WebInspectorFrontendAPIDispatcher::evaluateOrQueueExpression): (WebKit::WebInspectorFrontendAPIDispatcher::evaluateQueuedExpressions): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::runJavaScript): Source/WebKitLegacy/mac: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorFrontendClient::save): (WebInspectorFrontendClient::append): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): * WebView/WebView.mm: (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebFrame.cpp: (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm trunk/Source/WebCore/bindings/js/ScheduledAction.cpp trunk/Source/WebCore/bindings/js/ScriptController.cpp trunk/Source/WebCore/bindings/js/ScriptController.h trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp trunk/Source/WebCore/dom/Document.cpp trunk/Source/WebCore/dom/ScriptElement.cpp trunk/Source/WebCore/html/HTMLMediaElement.cpp trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp trunk/Source/WebCore/loader/ContentFilter.cpp trunk/Source/WebCore/page/Frame.cpp trunk/Source/WebCore/xml/XMLTreeViewer.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/C/WKPage.cpp trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm trunk/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp trunk/Source/WebKit/UIProcess/WebPageProxy.cpp trunk/Source/WebKit/UIProcess/WebPageProxy.h trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in trunk/Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.cpp trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp trunk/Source/WebKit/WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.cpp trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
[webkit-changes] [253518] trunk/Tools
Title: [253518] trunk/Tools Revision 253518 Author wenson_hs...@apple.com Date 2019-12-13 18:10:18 -0800 (Fri, 13 Dec 2019) Log Message Unreviewed, fix the macCatalyst build after r253486 Replace the #elif with an #else, so that the codepath is compiled on non-iOS (but iOS-family) platforms such as watchOS and macCatalyst. * TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm: (readMarkupFromPasteboard): Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm Diff Modified: trunk/Tools/ChangeLog (253517 => 253518) --- trunk/Tools/ChangeLog 2019-12-14 02:08:14 UTC (rev 253517) +++ trunk/Tools/ChangeLog 2019-12-14 02:10:18 UTC (rev 253518) @@ -1,3 +1,13 @@ +2019-12-13 Wenson Hsieh + +Unreviewed, fix the macCatalyst build after r253486 + +Replace the #elif with an #else, so that the codepath is compiled on non-iOS (but iOS-family) platforms such as +watchOS and macCatalyst. + +* TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm: +(readMarkupFromPasteboard): + 2019-12-13 Peng Liu Add an option to run_webkit_tests.py to enable all GPU process related features and choose the additional expectations Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm (253517 => 253518) --- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm 2019-12-14 02:08:14 UTC (rev 253517) +++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm 2019-12-14 02:10:18 UTC (rev 253518) @@ -133,7 +133,7 @@ { #if PLATFORM(MAC) NSData *rawData = [NSPasteboard.generalPasteboard dataForType:WebCore::legacyHTMLPasteboardType()]; -#elif PLATFORM(IOS) +#else NSData *rawData = [UIPasteboard.generalPasteboard dataForPasteboardType:(__bridge NSString *)kUTTypeHTML]; #endif return [[[NSString alloc] initWithData:rawData encoding:NSUTF8StringEncoding] autorelease]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253517] trunk/Source/JavaScriptCore
Title: [253517] trunk/Source/_javascript_Core Revision 253517 Author sbar...@apple.com Date 2019-12-13 18:08:14 -0800 (Fri, 13 Dec 2019) Log Message Structure should have a bloom filter of seen identifiers https://bugs.webkit.org/show_bug.cgi?id=205182 Reviewed by Yusuke Suzuki and Tadeu Zagallo. This patch adds a bloom filter of seen identifiers to Structure. This usually allows us to quickly determine if a Structure *has not* seen a particular property. Based on some logging I added in JetStream2 and Speedometer2, 70% of calls to Structure::get result in us returning invalidOffset (e.g, the property does not exist). This patch allows that path to be even faster. This bloom filter is just modeling what goes inside Structure's property table. For that reason, we don't need to consider things inside the static property table. We reason about the static property table inside JSObject's property lookup. This patch appears to be a 0.5% progression on Speedometer2. * runtime/Structure.cpp: (JSC::Structure::Structure): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::get): (JSC::Structure::add): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/Structure.cpp trunk/Source/_javascript_Core/runtime/Structure.h trunk/Source/_javascript_Core/runtime/StructureInlines.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (253516 => 253517) --- trunk/Source/_javascript_Core/ChangeLog 2019-12-14 01:52:48 UTC (rev 253516) +++ trunk/Source/_javascript_Core/ChangeLog 2019-12-14 02:08:14 UTC (rev 253517) @@ -1,3 +1,28 @@ +2019-12-13 Saam Barati + +Structure should have a bloom filter of seen identifiers +https://bugs.webkit.org/show_bug.cgi?id=205182 + +Reviewed by Yusuke Suzuki and Tadeu Zagallo. + +This patch adds a bloom filter of seen identifiers to Structure. This usually allows +us to quickly determine if a Structure *has not* seen a particular property. Based +on some logging I added in JetStream2 and Speedometer2, 70% of calls to Structure::get +result in us returning invalidOffset (e.g, the property does not exist). This patch +allows that path to be even faster. This bloom filter is just modeling what goes inside +Structure's property table. For that reason, we don't need to consider things inside +the static property table. We reason about the static property table inside JSObject's +property lookup. + +This patch appears to be a 0.5% progression on Speedometer2. + +* runtime/Structure.cpp: +(JSC::Structure::Structure): +* runtime/Structure.h: +* runtime/StructureInlines.h: +(JSC::Structure::get): +(JSC::Structure::add): + 2019-12-13 Mark Lam Fix bad exception assertion in ExceptionHelpers.cpp's createError(). Modified: trunk/Source/_javascript_Core/runtime/Structure.cpp (253516 => 253517) --- trunk/Source/_javascript_Core/runtime/Structure.cpp 2019-12-14 01:52:48 UTC (rev 253516) +++ trunk/Source/_javascript_Core/runtime/Structure.cpp 2019-12-14 02:08:14 UTC (rev 253517) @@ -256,6 +256,7 @@ , m_transitionWatchpointSet(IsWatched) , m_offset(invalidOffset) , m_propertyHash(previous->m_propertyHash) +, m_seenProperties(previous->m_seenProperties) { setDictionaryKind(previous->dictionaryKind()); setIsPinnedPropertyTable(false); Modified: trunk/Source/_javascript_Core/runtime/Structure.h (253516 => 253517) --- trunk/Source/_javascript_Core/runtime/Structure.h 2019-12-14 01:52:48 UTC (rev 253516) +++ trunk/Source/_javascript_Core/runtime/Structure.h 2019-12-14 02:08:14 UTC (rev 253517) @@ -31,6 +31,7 @@ #include "JSCJSValue.h" #include "JSCast.h" #include "JSType.h" +#include "JSTypeInfo.h" #include "PropertyName.h" #include "PropertyNameArray.h" #include "PropertyOffset.h" @@ -38,7 +39,7 @@ #include "StructureIDBlob.h" #include "StructureRareData.h" #include "StructureTransitionTable.h" -#include "JSTypeInfo.h" +#include "TinyBloomFilter.h" #include "Watchpoint.h" #include "WriteBarrierInlines.h" #include @@ -794,6 +795,7 @@ PropertyOffset m_offset; uint32_t m_propertyHash; +TinyBloomFilter m_seenProperties; friend class VMInspector; }; Modified: trunk/Source/_javascript_Core/runtime/StructureInlines.h (253516 => 253517) --- trunk/Source/_javascript_Core/runtime/StructureInlines.h 2019-12-14 01:52:48 UTC (rev 253516) +++ trunk/Source/_javascript_Core/runtime/StructureInlines.h 2019-12-14 02:08:14 UTC (rev 253517) @@ -144,6 +144,9 @@ ASSERT(!isCompilationThread()); ASSERT(structure(vm)->classInfo() == info()); +if (m_seenProperties.ruleOut(bitwise_cast(propertyName.uid( +return invalidOffset; + PropertyTable* propertyTable = ensurePropertyTableIfNotEmpty(vm); if (!propertyTable) return invalidOffset; @@ -447,6 +450,8 @@ PropertyOffset
[webkit-changes] [253516] trunk/Source
Title: [253516] trunk/Source Revision 253516 Author eric.carl...@apple.com Date 2019-12-13 17:52:48 -0800 (Fri, 13 Dec 2019) Log Message Add remote media player message to load and play https://bugs.webkit.org/show_bug.cgi?id=205220 Reviewed by Jer Noble. Source/WebCore: No new tests. Tested manually because it is not possible to test on a bot yet. * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::loadWithNextMediaEngine): Call the new method prepareForPlayback instead of making four calls to set properties on a new player. * platform/graphics/MediaPlayerPrivate.h: (WebCore::MediaPlayerPrivateInterface::load): Add a load variant that takes a URL, contentType, and keySystem. (WebCore::MediaPlayerPrivateInterface::prepareForPlayback): Source/WebKit: Add WP -> GPU process messages: PrepareForPlayback, Load, CancelLoad, Play, Pause, SetVolume, and SetMuted Add GPUP -> WP message: PlaybackStateChanged * GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp: (WebKit::RemoteMediaPlayerManagerProxy::RemoteMediaPlayerManagerProxy): (WebKit::RemoteMediaPlayerManagerProxy::createMediaPlayer): (WebKit::RemoteMediaPlayerManagerProxy::deleteMediaPlayer): (WebKit::RemoteMediaPlayerManagerProxy::prepareForPlayback): (WebKit::RemoteMediaPlayerManagerProxy::load): (WebKit::RemoteMediaPlayerManagerProxy::cancelLoad): (WebKit::RemoteMediaPlayerManagerProxy::play): (WebKit::RemoteMediaPlayerManagerProxy::pause): (WebKit::RemoteMediaPlayerManagerProxy::setVolume): (WebKit::RemoteMediaPlayerManagerProxy::setMuted): (WebKit::RemoteMediaPlayerManagerProxy::logChannel const): * GPUProcess/media/RemoteMediaPlayerManagerProxy.h: (WebKit::RemoteMediaPlayerManagerProxy::gpuConnectionToWebProcess const): (WebKit::RemoteMediaPlayerManagerProxy::webProcessConnection const): Deleted. * GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in: * GPUProcess/media/RemoteMediaPlayerProxy.cpp: (WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy): (WebKit::RemoteMediaPlayerProxy::load): (WebKit::RemoteMediaPlayerProxy::prepareForPlayback): (WebKit::RemoteMediaPlayerProxy::cancelLoad): (WebKit::RemoteMediaPlayerProxy::play): (WebKit::RemoteMediaPlayerProxy::pause): (WebKit::RemoteMediaPlayerProxy::setVolume): (WebKit::RemoteMediaPlayerProxy::setMuted): (WebKit::RemoteMediaPlayerProxy::mediaPlayerNetworkStateChanged): (WebKit::RemoteMediaPlayerProxy::mediaPlayerReadyStateChanged): (WebKit::RemoteMediaPlayerProxy::mediaPlayerVolumeChanged): (WebKit::RemoteMediaPlayerProxy::mediaPlayerMuteChanged): (WebKit::RemoteMediaPlayerProxy::mediaPlayerTimeChanged): (WebKit::RemoteMediaPlayerProxy::mediaPlayerDurationChanged): (WebKit::RemoteMediaPlayerProxy::mediaPlayerRateChanged): * GPUProcess/media/RemoteMediaPlayerProxy.h: * WebProcess/GPU/GPUProcessConnection.cpp: (WebKit::GPUProcessConnection::didReceiveMessage): * WebProcess/GPU/GPUProcessConnection.h: * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp: (WebKit::MediaPlayerPrivateRemote::prepareForPlayback): (WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote::load): (WebKit::MediaPlayerPrivateRemote::cancelLoad): (WebKit::MediaPlayerPrivateRemote::play): (WebKit::MediaPlayerPrivateRemote::pause): (WebKit::MediaPlayerPrivateRemote::setVolumeDouble): (WebKit::MediaPlayerPrivateRemote::setMuted): (WebKit::MediaPlayerPrivateRemote::muteChanged): (WebKit::MediaPlayerPrivateRemote::timeChanged): (WebKit::MediaPlayerPrivateRemote::playbackStateChanged): (WebKit::MediaPlayerPrivateRemote::paused const): Deleted. * WebProcess/GPU/media/MediaPlayerPrivateRemote.h: * WebProcess/GPU/media/RemoteMediaPlayerManager.cpp: (WebKit::RemoteMediaPlayerManager::RemoteMediaPlayerManager): (WebKit::RemoteMediaPlayerManager::~RemoteMediaPlayerManager): (WebKit::RemoteMediaPlayerManager::playbackStateChanged): * WebProcess/GPU/media/RemoteMediaPlayerManager.h: (WebKit::RemoteMediaPlayerManager::didReceiveMessageFromWebProcess): * WebProcess/GPU/media/RemoteMediaPlayerManager.messages.in: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp trunk/Source/WebCore/platform/graphics/MediaPlayerPrivate.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.h trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.h trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.h trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.messages.in Diff
[webkit-changes] [253515] trunk
Title: [253515] trunk Revision 253515 Author mark@apple.com Date 2019-12-13 17:51:00 -0800 (Fri, 13 Dec 2019) Log Message Fix bad exception assertion in ExceptionHelpers.cpp's createError(). https://bugs.webkit.org/show_bug.cgi?id=205230 Reviewed by Yusuke Suzuki. JSTests: * stress/test-exception-assert-in-ExceptionHelpers-createError.js: Added. Source/_javascript_Core: The code in createError() was doing the following: String valueDescription = errorDescriptionForValue(globalObject, value); EXCEPTION_ASSERT(scope.exception() || !!valueDescription); if (!valueDescription) { scope.clearException(); return createOutOfMemoryError(globalObject); } If errorDescriptionForValue() throws an exception, then we expect the valueDescription string to be null so that we can throw an OutOfMemoryError. However, errorDescriptionForValue() can detect an imminent overflow in String length and just return a null string without throwing an exception which fails the above assertion. The fix is to simply do an explicit exception check in addition to the null string check and remove the assertion. * runtime/ExceptionHelpers.cpp: (JSC::createError): Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/ExceptionHelpers.cpp Added Paths trunk/JSTests/stress/test-exception-assert-in-ExceptionHelpers-createError.js Diff Modified: trunk/JSTests/ChangeLog (253514 => 253515) --- trunk/JSTests/ChangeLog 2019-12-14 01:39:45 UTC (rev 253514) +++ trunk/JSTests/ChangeLog 2019-12-14 01:51:00 UTC (rev 253515) @@ -1,3 +1,13 @@ +2019-12-13 Mark Lam + +Fix bad exception assertion in ExceptionHelpers.cpp's createError(). +https://bugs.webkit.org/show_bug.cgi?id=205230 + + +Reviewed by Yusuke Suzuki. + +* stress/test-exception-assert-in-ExceptionHelpers-createError.js: Added. + 2019-12-12 Yusuke Suzuki [JSC] Wasm init-expr should reject mutable globals Added: trunk/JSTests/stress/test-exception-assert-in-ExceptionHelpers-createError.js (0 => 253515) --- trunk/JSTests/stress/test-exception-assert-in-ExceptionHelpers-createError.js (rev 0) +++ trunk/JSTests/stress/test-exception-assert-in-ExceptionHelpers-createError.js 2019-12-14 01:51:00 UTC (rev 253515) @@ -0,0 +1,11 @@ +//@ skip if $memoryLimited +//@ runDefault + +try { +''.padStart(2**31-1)(); +} catch(e) { +exception = e; +} + +if (exception != "Error: Out of memory") +throw "FAILED"; Modified: trunk/Source/_javascript_Core/ChangeLog (253514 => 253515) --- trunk/Source/_javascript_Core/ChangeLog 2019-12-14 01:39:45 UTC (rev 253514) +++ trunk/Source/_javascript_Core/ChangeLog 2019-12-14 01:51:00 UTC (rev 253515) @@ -1,3 +1,32 @@ +2019-12-13 Mark Lam + +Fix bad exception assertion in ExceptionHelpers.cpp's createError(). +https://bugs.webkit.org/show_bug.cgi?id=205230 + + +Reviewed by Yusuke Suzuki. + +The code in createError() was doing the following: + +String valueDescription = errorDescriptionForValue(globalObject, value); +EXCEPTION_ASSERT(scope.exception() || !!valueDescription); +if (!valueDescription) { +scope.clearException(); +return createOutOfMemoryError(globalObject); +} + +If errorDescriptionForValue() throws an exception, then we expect the +valueDescription string to be null so that we can throw an OutOfMemoryError. +However, errorDescriptionForValue() can detect an imminent overflow in String +length and just return a null string without throwing an exception which fails +the above assertion. + +The fix is to simply do an explicit exception check in addition to the null string +check and remove the assertion. + +* runtime/ExceptionHelpers.cpp: +(JSC::createError): + 2019-12-13 Saam Barati Add a Heap::finalize function that takes WTF::Function Modified: trunk/Source/_javascript_Core/runtime/ExceptionHelpers.cpp (253514 => 253515) --- trunk/Source/_javascript_Core/runtime/ExceptionHelpers.cpp 2019-12-14 01:39:45 UTC (rev 253514) +++ trunk/Source/_javascript_Core/runtime/ExceptionHelpers.cpp 2019-12-14 01:51:00 UTC (rev 253515) @@ -266,8 +266,11 @@ auto scope = DECLARE_CATCH_SCOPE(vm); String valueDescription = errorDescriptionForValue(globalObject, value); -EXCEPTION_ASSERT(scope.exception() || !!valueDescription); -if (!valueDescription) { +if (scope.exception() || !valueDescription) { +// When we see an exception, we're not returning immediately because +// we're in a CatchScope, i.e. no exceptions are thrown past this scope. +// We're using a CatchScope because the contract for createError() is +// that it only creates an error object; it doesn't throw it.
[webkit-changes] [253514] trunk/Source/WebKit
Title: [253514] trunk/Source/WebKit Revision 253514 Author cdu...@apple.com Date 2019-12-13 17:39:45 -0800 (Fri, 13 Dec 2019) Log Message [macOS] Swipe gesture snapshot stays too long if provisional load has not started yet when endSwipeGesture() is called https://bugs.webkit.org/show_bug.cgi?id=205206 Reviewed by Tim Horton. Swipe gesture snapshot stays too long if provisional load has not started yet when endSwipeGesture() is called on macOS. This is because the SnapshotRemovalTracker::eventOccurred() calls get ignored while the SnapshotRemovalTracker is paused and the SnapshotRemovalTracker only gets unpaused once the provisional load has started. The idea is that we should ignore any events from a previous navigation. However, the SwipeGestureEnd event is a UI-side event fired by the ViewGestureController itself, so there is reason to ignore it. Since we ask the WebContent process to do the load in willEndSwipeGesture(), it is possible that the provisional load has not started yet by the time endSwipeGesture() is called. In such case, the SwipeGestureEnd event would get ignored and we would keep the snapshot until the timeout. * UIProcess/ViewGestureController.cpp: (WebKit::stopWaitingForEvent): (WebKit::ViewGestureController::SnapshotRemovalTracker::eventOccurred): (WebKit::ViewGestureController::endSwipeGesture): (WebKit::ViewGestureController::SnapshotRemovalTracker::stopWaitingForEvent): Deleted. * UIProcess/ViewGestureController.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ViewGestureController.cpp trunk/Source/WebKit/UIProcess/ViewGestureController.h Diff Modified: trunk/Source/WebKit/ChangeLog (253513 => 253514) --- trunk/Source/WebKit/ChangeLog 2019-12-14 01:36:10 UTC (rev 253513) +++ trunk/Source/WebKit/ChangeLog 2019-12-14 01:39:45 UTC (rev 253514) @@ -1,3 +1,25 @@ +2019-12-13 Chris Dumez + +[macOS] Swipe gesture snapshot stays too long if provisional load has not started yet when endSwipeGesture() is called +https://bugs.webkit.org/show_bug.cgi?id=205206 + +Reviewed by Tim Horton. + +Swipe gesture snapshot stays too long if provisional load has not started yet when endSwipeGesture() is called on macOS. +This is because the SnapshotRemovalTracker::eventOccurred() calls get ignored while the SnapshotRemovalTracker is paused +and the SnapshotRemovalTracker only gets unpaused once the provisional load has started. The idea is that we should ignore +any events from a previous navigation. However, the SwipeGestureEnd event is a UI-side event fired by the +ViewGestureController itself, so there is reason to ignore it. Since we ask the WebContent process to do the load in +willEndSwipeGesture(), it is possible that the provisional load has not started yet by the time endSwipeGesture() is +called. In such case, the SwipeGestureEnd event would get ignored and we would keep the snapshot until the timeout. + +* UIProcess/ViewGestureController.cpp: +(WebKit::stopWaitingForEvent): +(WebKit::ViewGestureController::SnapshotRemovalTracker::eventOccurred): +(WebKit::ViewGestureController::endSwipeGesture): +(WebKit::ViewGestureController::SnapshotRemovalTracker::stopWaitingForEvent): Deleted. +* UIProcess/ViewGestureController.h: + 2019-12-13 David Kilzer Add MESSAGE_CHECK() for selectedIndex in Messages::WebPageProxy::ShowPopupMenu Modified: trunk/Source/WebKit/UIProcess/ViewGestureController.cpp (253513 => 253514) --- trunk/Source/WebKit/UIProcess/ViewGestureController.cpp 2019-12-14 01:36:10 UTC (rev 253513) +++ trunk/Source/WebKit/UIProcess/ViewGestureController.cpp 2019-12-14 01:39:45 UTC (rev 253514) @@ -322,7 +322,7 @@ m_removalCallback = nullptr; } -bool ViewGestureController::SnapshotRemovalTracker::stopWaitingForEvent(Events event, const String& logReason) +bool ViewGestureController::SnapshotRemovalTracker:: stopWaitingForEvent(Events event, const String& logReason, ShouldIgnoreEventIfPaused shouldIgnoreEventIfPaused) { ASSERT(hasOneBitSet(event)); @@ -329,7 +329,7 @@ if (!(m_outstandingEvents & event)) return false; -if (isPaused()) { +if (shouldIgnoreEventIfPaused == ShouldIgnoreEventIfPaused::Yes && isPaused()) { log("is paused; ignoring event: " + eventsDescription(event)); return false; } @@ -342,9 +342,9 @@ return true; } -bool ViewGestureController::SnapshotRemovalTracker::eventOccurred(Events event) +bool ViewGestureController::SnapshotRemovalTracker::eventOccurred(Events event, ShouldIgnoreEventIfPaused shouldIgnoreEventIfPaused) { -return stopWaitingForEvent(event, "outstanding event occurred: "); +return stopWaitingForEvent(event, "outstanding event occurred: ", shouldIgnoreEventIfPaused); } bool ViewGestureController::SnapshotRemovalTracker::cancelOutstandingEvent(Events event) @@ -613,7 +613,7 @@
[webkit-changes] [253513] trunk/Source/WebCore
Title: [253513] trunk/Source/WebCore Revision 253513 Author commit-qu...@webkit.org Date 2019-12-13 17:36:10 -0800 (Fri, 13 Dec 2019) Log Message ANGLE: fix blending with alpha:false context https://bugs.webkit.org/show_bug.cgi?id=205218 Fixes WebGL conformance test context-hidden-alpha.html. Patch by James Darpinian on 2019-12-13 Reviewed by Alex Christensen. * platform/graphics/cocoa/WebGLLayer.mm: (-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]): Specify internalformat GL_RGB instead of GL_BGRA_EXT when alpha is disabled. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/cocoa/WebGLLayer.mm Diff Modified: trunk/Source/WebCore/ChangeLog (253512 => 253513) --- trunk/Source/WebCore/ChangeLog 2019-12-14 01:20:42 UTC (rev 253512) +++ trunk/Source/WebCore/ChangeLog 2019-12-14 01:36:10 UTC (rev 253513) @@ -1,3 +1,16 @@ +2019-12-13 James Darpinian + +ANGLE: fix blending with alpha:false context +https://bugs.webkit.org/show_bug.cgi?id=205218 + +Fixes WebGL conformance test context-hidden-alpha.html. + +Reviewed by Alex Christensen. + +* platform/graphics/cocoa/WebGLLayer.mm: +(-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]): +Specify internalformat GL_RGB instead of GL_BGRA_EXT when alpha is disabled. + 2019-12-13 Jer Noble Unreviewed 32-bit build fix: explicitly cast the bitrate to an int when creating a JSON Modified: trunk/Source/WebCore/platform/graphics/cocoa/WebGLLayer.mm (253512 => 253513) --- trunk/Source/WebCore/platform/graphics/cocoa/WebGLLayer.mm 2019-12-14 01:20:42 UTC (rev 253512) +++ trunk/Source/WebCore/platform/graphics/cocoa/WebGLLayer.mm 2019-12-14 01:36:10 UTC (rev 253513) @@ -226,7 +226,7 @@ EGL_HEIGHT, size.height(), EGL_IOSURFACE_PLANE_ANGLE, 0, EGL_TEXTURE_TARGET, EGL_TEXTURE_RECTANGLE_ANGLE, -EGL_TEXTURE_INTERNAL_FORMAT_ANGLE, GL_BGRA_EXT, +EGL_TEXTURE_INTERNAL_FORMAT_ANGLE, usingAlpha ? GL_BGRA_EXT : GL_RGB, EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGBA, EGL_TEXTURE_TYPE_ANGLE, GL_UNSIGNED_BYTE, EGL_NONE, EGL_NONE ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253511] trunk/Source/WebCore
Title: [253511] trunk/Source/WebCore Revision 253511 Author jer.no...@apple.com Date 2019-12-13 17:20:30 -0800 (Fri, 13 Dec 2019) Log Message Unreviewed 32-bit build fix: explicitly cast the bitrate to an int when creating a JSON object for logging purposes. * platform/mediacapabilities/MediaCapabilitiesLogging.cpp: (WebCore::toJSONObject): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mediacapabilities/MediaCapabilitiesLogging.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (253510 => 253511) --- trunk/Source/WebCore/ChangeLog 2019-12-14 01:10:10 UTC (rev 253510) +++ trunk/Source/WebCore/ChangeLog 2019-12-14 01:20:30 UTC (rev 253511) @@ -1,3 +1,11 @@ +2019-12-13 Jer Noble + +Unreviewed 32-bit build fix: explicitly cast the bitrate to an int when creating a JSON +object for logging purposes. + +* platform/mediacapabilities/MediaCapabilitiesLogging.cpp: +(WebCore::toJSONObject): + 2019-12-13 Dean Jackson MacCatalyst build of libANGLE is installed in the incorrect location Modified: trunk/Source/WebCore/platform/mediacapabilities/MediaCapabilitiesLogging.cpp (253510 => 253511) --- trunk/Source/WebCore/platform/mediacapabilities/MediaCapabilitiesLogging.cpp 2019-12-14 01:10:10 UTC (rev 253510) +++ trunk/Source/WebCore/platform/mediacapabilities/MediaCapabilitiesLogging.cpp 2019-12-14 01:20:30 UTC (rev 253511) @@ -49,7 +49,7 @@ object->setString("contentType"_s, configuration.contentType); object->setInteger("width"_s, configuration.width); object->setInteger("height"_s, configuration.height); -object->setInteger("bitrate"_s, configuration.bitrate); +object->setInteger("bitrate"_s, static_cast(configuration.bitrate)); object->setDouble("framerate"_s, configuration.framerate); if (configuration.alphaChannel) object->setBoolean("alphaChannel"_s, configuration.alphaChannel.value()); @@ -67,7 +67,7 @@ auto object = JSON::Object::create(); object->setString("contentType"_s, configuration.contentType); object->setString("channels"_s, configuration.channels); -object->setInteger("bitrate"_s, configuration.bitrate); +object->setInteger("bitrate"_s, static_cast(configuration.bitrate)); object->setDouble("samplerate"_s, configuration.samplerate); return object; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253512] trunk/Tools
Title: [253512] trunk/Tools Revision 253512 Author commit-qu...@webkit.org Date 2019-12-13 17:20:42 -0800 (Fri, 13 Dec 2019) Log Message Add an option to run_webkit_tests.py to enable all GPU process related features and choose the additional expectations https://bugs.webkit.org/show_bug.cgi?id=205214 The option also specifies the result-report-flavor. Patch by Peng Liu on 2019-12-13 Reviewed by Tim Horton. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py Diff Modified: trunk/Tools/ChangeLog (253511 => 253512) --- trunk/Tools/ChangeLog 2019-12-14 01:20:30 UTC (rev 253511) +++ trunk/Tools/ChangeLog 2019-12-14 01:20:42 UTC (rev 253512) @@ -1,3 +1,15 @@ +2019-12-13 Peng Liu + +Add an option to run_webkit_tests.py to enable all GPU process related features and choose the additional expectations +https://bugs.webkit.org/show_bug.cgi?id=205214 + +The option also specifies the result-report-flavor. + +Reviewed by Tim Horton. + +* Scripts/webkitpy/layout_tests/run_webkit_tests.py: +(parse_args): + 2019-12-13 Alexey Shvayka Unreviewed. Add myself as a committer. Modified: trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py (253511 => 253512) --- trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py 2019-12-14 01:20:30 UTC (rev 253511) +++ trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py 2019-12-14 01:20:42 UTC (rev 253512) @@ -324,6 +324,9 @@ optparse.make_option( "--webgl-test-suite", action="" default=False, help=("Run exhaustive webgl list, including test ordinarily skipped for performance reasons. Equivalent to '--additional-expectations=LayoutTests/webgl/TestExpectations webgl'")), +optparse.make_option( +"--use-gpu-process", action="" default=False, +help=("Enable all GPU process related features, also set additional expectations and the result report flavor.")), ])) option_group_definitions.append(("Web Platform Test Server Options", [ @@ -365,6 +368,19 @@ host = Host() host.initialize_scm() options.additional_expectations.insert(0, host.filesystem.join(host.scm().checkout_root, 'LayoutTests/webgl/TestExpectations')) + +if options.use_gpu_process: +host = Host() +host.initialize_scm() +options.additional_expectations.insert(0, host.filesystem.join(host.scm().checkout_root, 'LayoutTests/gpu-process/TestExpectations')) +if not options.internal_feature: +options.internal_feature = [] +options.internal_feature.append('UseGPUProcessForMedia') +options.internal_feature.append('CaptureAudioInGPUProcessEnabled') +if options.result_report_flavor: +raise RuntimeError('--use-gpu-process implicitly sets the result flavor, this should not be overridden') +options.result_report_flavor = 'gpuprocess' + return options, args ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253510] tags/Safari-609.1.11.4/
Title: [253510] tags/Safari-609.1.11.4/ Revision 253510 Author alanc...@apple.com Date 2019-12-13 17:10:10 -0800 (Fri, 13 Dec 2019) Log Message Tag Safari-609.1.11.4. Added Paths tags/Safari-609.1.11.4/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253509] branches/safari-609.1.11.4-branch/Source
Title: [253509] branches/safari-609.1.11.4-branch/Source Revision 253509 Author alanc...@apple.com Date 2019-12-13 17:08:43 -0800 (Fri, 13 Dec 2019) Log Message Versioning. Modified Paths branches/safari-609.1.11.4-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-609.1.11.4-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig branches/safari-609.1.11.4-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-609.1.11.4-branch/Source/WebCore/PAL/Configurations/Version.xcconfig branches/safari-609.1.11.4-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-609.1.11.4-branch/Source/WebKit/Configurations/Version.xcconfig branches/safari-609.1.11.4-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: branches/safari-609.1.11.4-branch/Source/_javascript_Core/Configurations/Version.xcconfig (253508 => 253509) --- branches/safari-609.1.11.4-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2019-12-14 01:05:32 UTC (rev 253508) +++ branches/safari-609.1.11.4-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2019-12-14 01:08:43 UTC (rev 253509) @@ -24,7 +24,7 @@ MAJOR_VERSION = 609; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 3; +MICRO_VERSION = 4; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-609.1.11.4-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (253508 => 253509) --- branches/safari-609.1.11.4-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-12-14 01:05:32 UTC (rev 253508) +++ branches/safari-609.1.11.4-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-12-14 01:08:43 UTC (rev 253509) @@ -24,7 +24,7 @@ MAJOR_VERSION = 609; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 3; +MICRO_VERSION = 4; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-609.1.11.4-branch/Source/WebCore/Configurations/Version.xcconfig (253508 => 253509) --- branches/safari-609.1.11.4-branch/Source/WebCore/Configurations/Version.xcconfig 2019-12-14 01:05:32 UTC (rev 253508) +++ branches/safari-609.1.11.4-branch/Source/WebCore/Configurations/Version.xcconfig 2019-12-14 01:08:43 UTC (rev 253509) @@ -24,7 +24,7 @@ MAJOR_VERSION = 609; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 3; +MICRO_VERSION = 4; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-609.1.11.4-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (253508 => 253509) --- branches/safari-609.1.11.4-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-12-14 01:05:32 UTC (rev 253508) +++ branches/safari-609.1.11.4-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-12-14 01:08:43 UTC (rev 253509) @@ -24,7 +24,7 @@ MAJOR_VERSION = 609; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 3; +MICRO_VERSION = 4; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-609.1.11.4-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (253508 => 253509) --- branches/safari-609.1.11.4-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-12-14 01:05:32 UTC (rev 253508) +++ branches/safari-609.1.11.4-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-12-14 01:08:43 UTC (rev 253509) @@ -1,7 +1,7 @@ MAJOR_VERSION = 609; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 3; +MICRO_VERSION = 4; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-609.1.11.4-branch/Source/WebKit/Configurations/Version.xcconfig (253508 => 253509) --- branches/safari-609.1.11.4-branch/Source/WebKit/Configurations/Version.xcconfig 2019-12-14 01:05:32 UTC (rev 253508) +++ branches/safari-609.1.11.4-branch/Source/WebKit/Configurations/Version.xcconfig 2019-12-14 01:08:43 UTC (rev 253509) @@ -24,7 +24,7 @@ MAJOR_VERSION = 609; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 3; +MICRO_VERSION = 4; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-609.1.11.4-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (253508 => 253509) --- branches/safari-609.1.11.4-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2019-12-14 01:05:32 UTC (rev 253508) +++ branches/safari-609.1.11.4-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2019-12-14 01:08:43 UTC (rev 253509) @@ -24,7 +24,7 @@ MAJOR_VERSION = 609; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 3; +MICRO_VERSION = 4; NANO_VERSION = 0; FULL_VERSION =
[webkit-changes] [253508] tags/Safari-609.1.12/Source/WebCore/platform/graphics/cocoa/ GraphicsContext3DCocoa.mm
Title: [253508] tags/Safari-609.1.12/Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm Revision 253508 Author alanc...@apple.com Date 2019-12-13 17:05:32 -0800 (Fri, 13 Dec 2019) Log Message Unreviewed build fix. rdar://problem/57925932 Modified Paths tags/Safari-609.1.12/Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm Diff Modified: tags/Safari-609.1.12/Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm (253507 => 253508) --- tags/Safari-609.1.12/Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm 2019-12-14 00:56:59 UTC (rev 253507) +++ tags/Safari-609.1.12/Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm 2019-12-14 01:05:32 UTC (rev 253508) @@ -728,7 +728,7 @@ #if USE(ANGLE) -#if PLATFORM(MAC) +#if PLATFORM(MAC) || PLATFORM(MACCATALYST) void GraphicsContext3D::updateCGLContext() { if (!m_contextObj) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253507] branches/safari-609.1.11.4-branch/
Title: [253507] branches/safari-609.1.11.4-branch/ Revision 253507 Author alanc...@apple.com Date 2019-12-13 16:56:59 -0800 (Fri, 13 Dec 2019) Log Message New branch. Added Paths branches/safari-609.1.11.4-branch/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253506] trunk/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig
Title: [253506] trunk/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig Revision 253506 Author d...@apple.com Date 2019-12-13 16:56:46 -0800 (Fri, 13 Dec 2019) Log Message Build fix for WebCoreTestSupport. * Configurations/WebCoreTestSupport.xcconfig: Modified Paths trunk/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig Diff Modified: trunk/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig (253505 => 253506) --- trunk/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig 2019-12-14 00:33:53 UTC (rev 253505) +++ trunk/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig 2019-12-14 00:56:46 UTC (rev 253506) @@ -48,7 +48,7 @@ DYLIB_INSTALL_NAME_BASE_Debug = @rpath; DYLIB_INSTALL_NAME_BASE_Release = $(DYLIB_INSTALL_NAME_BASE_Debug); -ANGLE_LDFLAGS = -weak-lANGLE; +ANGLE_LDFLAGS = -weak-lANGLE-shared; LIBWEBRTC_LDFLAGS = $(LIBWEBRTC_LDFLAGS_$(ENABLE_WEB_RTC)); LIBWEBRTC_LDFLAGS_ = ; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253505] tags/Safari-609.1.11.3/
Title: [253505] tags/Safari-609.1.11.3/ Revision 253505 Author alanc...@apple.com Date 2019-12-13 16:33:53 -0800 (Fri, 13 Dec 2019) Log Message Tag Safari-609.1.11.3. Added Paths tags/Safari-609.1.11.3/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253504] tags/Safari-609.1.12/Source
Title: [253504] tags/Safari-609.1.12/Source Revision 253504 Author alanc...@apple.com Date 2019-12-13 15:42:03 -0800 (Fri, 13 Dec 2019) Log Message Apply patch. rdar://problem/57925932 Modified Paths tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ChangeLog tags/Safari-609.1.12/Source/ThirdParty/ANGLE/Configurations/ANGLE.xcconfig tags/Safari-609.1.12/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig tags/Safari-609.1.12/Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig tags/Safari-609.1.12/Source/ThirdParty/ANGLE/include/CMakeLists.txt tags/Safari-609.1.12/Source/ThirdParty/ANGLE/include/GLSLANG/ShaderLang.h tags/Safari-609.1.12/Source/ThirdParty/ANGLE/include/GLSLANG/ShaderVars.h tags/Safari-609.1.12/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/DisplayCGL.mm tags/Safari-609.1.12/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm tags/Safari-609.1.12/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm tags/Safari-609.1.12/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm tags/Safari-609.1.12/Source/WebCore/Configurations/WebCore.xcconfig tags/Safari-609.1.12/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig tags/Safari-609.1.12/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp tags/Safari-609.1.12/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h tags/Safari-609.1.12/Source/WebCore/platform/graphics/GraphicsContext3D.h tags/Safari-609.1.12/Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm Removed Paths tags/Safari-609.1.12/Source/ThirdParty/ANGLE/Configurations/WebKitTargetConditionals.xcconfig Diff Modified: tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj (253503 => 253504) --- tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj 2019-12-13 23:30:00 UTC (rev 253503) +++ tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj 2019-12-13 23:42:03 UTC (rev 253504) @@ -455,6 +455,7 @@ 5CB301461DE39F1A00D2C405 /* VertexArrayGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB301131DE39F1A00D2C405 /* VertexArrayGL.h */; }; 5CB3014F1DE39F4700D2C405 /* DisplayCGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB301491DE39F4700D2C405 /* DisplayCGL.h */; }; 5CB301511DE39F4700D2C405 /* PbufferSurfaceCGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB3014B1DE39F4700D2C405 /* PbufferSurfaceCGL.h */; }; + 5CB304921DE4156200D2C405 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CB3048D1DE4144400D2C405 /* OpenGL.framework */; }; 5CB304931DE4156B00D2C405 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CB3048F1DE4145500D2C405 /* QuartzCore.framework */; }; 5CB304941DE4157200D2C405 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CB3048B1DE4143500D2C405 /* CoreGraphics.framework */; }; 5CB304961DE4157B00D2C405 /* entry_points_egl_ext.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB300BC1DE39E7500D2C405 /* entry_points_egl_ext.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -1499,7 +1500,7 @@ A3694FC423202C5100A83D8F /* BuiltinsWorkaroundGLSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BuiltinsWorkaroundGLSL.cpp; sourceTree = ""; }; A3694FC523202C5200A83D8F /* BuiltinsWorkaroundGLSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BuiltinsWorkaroundGLSL.h; sourceTree = ""; }; A3E827A8230CAE2C00E76682 /* commit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = commit.h; sourceTree = ""; }; - FB39D0D11200F0E300088E69 /* libANGLE.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libANGLE.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + FB39D0D11200F0E300088E69 /* libANGLE.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libANGLE.a; sourceTree = BUILT_PRODUCTS_DIR; }; FB39D2BF1200F3E600088E69 /* ShaderLang.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ShaderLang.h; sourceTree = ""; }; /* End PBXFileReference section */ @@ -1509,6 +1510,7 @@ buildActionMask = 2147483647; files = ( 5CB304941DE4157200D2C405 /* CoreGraphics.framework in Frameworks */, +5CB304921DE4156200D2C405 /* OpenGL.framework in Frameworks */, 5CB304931DE4156B00D2C405 /* QuartzCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -2199,8 +2201,6 @@ isa = PBXGroup; children = ( 5CB3048B1DE4143500D2C405 /* CoreGraphics.framework */, -3153AD022390C32100D51DD8 /* IOKit.framework */, -3153AD002390C2EA00D51DD8 /* IOSurface.framework */, 5CB3048D1DE4144400D2C405 /* OpenGL.framework */,
[webkit-changes] [253502] trunk/Source/WebKit
Title: [253502] trunk/Source/WebKit Revision 253502 Author ddkil...@apple.com Date 2019-12-13 15:13:25 -0800 (Fri, 13 Dec 2019) Log Message Add MESSAGE_CHECK() for selectedIndex in Messages::WebPageProxy::ShowPopupMenu Reviewed by Chris Dumez. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::showPopupMenu): Add MESSAGE_CHECK() to validate the `selectedIndex` parameter, which must be -1 to select no items, or a valid zero-based index into `items`. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/WebPageProxy.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (253501 => 253502) --- trunk/Source/WebKit/ChangeLog 2019-12-13 22:38:25 UTC (rev 253501) +++ trunk/Source/WebKit/ChangeLog 2019-12-13 23:13:25 UTC (rev 253502) @@ -1,3 +1,16 @@ +2019-12-13 David Kilzer + +Add MESSAGE_CHECK() for selectedIndex in Messages::WebPageProxy::ShowPopupMenu + + + +Reviewed by Chris Dumez. + +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::showPopupMenu): Add MESSAGE_CHECK() to +validate the `selectedIndex` parameter, which must be -1 to +select no items, or a valid zero-based index into `items`. + 2019-12-13 Alex Christensen Allow cross-origin requests to WKURLSchemeHandlers Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (253501 => 253502) --- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2019-12-13 22:38:25 UTC (rev 253501) +++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2019-12-13 23:13:25 UTC (rev 253502) @@ -6180,6 +6180,8 @@ void WebPageProxy::showPopupMenu(const IntRect& rect, uint64_t textDirection, const Vector& items, int32_t selectedIndex, const PlatformPopupMenuData& data) { +MESSAGE_CHECK(m_process, selectedIndex == -1 || static_cast(selectedIndex) < items.size()); + if (m_activePopupMenu) { m_activePopupMenu->hidePopupMenu(); m_activePopupMenu->invalidate(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253501] trunk
Title: [253501] trunk Revision 253501 Author commit-qu...@webkit.org Date 2019-12-13 14:38:25 -0800 (Fri, 13 Dec 2019) Log Message Allow cross-origin requests to WKURLSchemeHandlers https://bugs.webkit.org/show_bug.cgi?id=205198 Patch by Alex Christensen on 2019-12-13 Reviewed by Brady Eidson. Source/WebKit: Covered by an API test. * UIProcess/API/Cocoa/WKURLSchemeTask.h: Document the requirements for cross-origin requests. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::registerURLSchemeHandler): When we register a scheme handler, allow cross origin resources for that scheme. This will make the check in DocumentThreadableLoader::checkURLSchemeAsCORSEnabled allow the request to get to the WKURLSchemeHandler. The resposne must still have CORS header fields in order for the data to get to the web content, like CORS with HTTP. Tools: * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: Verify that a cross origin request is received by the WKURLSchemeHandler. It was not before. Verify that loading will fail unless there are CORS headers in the response. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/WKURLSchemeTask.h trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm Diff Modified: trunk/Source/WebKit/ChangeLog (253500 => 253501) --- trunk/Source/WebKit/ChangeLog 2019-12-13 22:37:52 UTC (rev 253500) +++ trunk/Source/WebKit/ChangeLog 2019-12-13 22:38:25 UTC (rev 253501) @@ -1,3 +1,21 @@ +2019-12-13 Alex Christensen + +Allow cross-origin requests to WKURLSchemeHandlers +https://bugs.webkit.org/show_bug.cgi?id=205198 + + +Reviewed by Brady Eidson. + +Covered by an API test. + +* UIProcess/API/Cocoa/WKURLSchemeTask.h: +Document the requirements for cross-origin requests. +* WebProcess/WebPage/WebPage.cpp: +(WebKit::WebPage::registerURLSchemeHandler): +When we register a scheme handler, allow cross origin resources for that scheme. +This will make the check in DocumentThreadableLoader::checkURLSchemeAsCORSEnabled allow the request to get to the WKURLSchemeHandler. +The resposne must still have CORS header fields in order for the data to get to the web content, like CORS with HTTP. + 2019-12-13 Wenson Hsieh Implement encoding/decoding for DisplayList::DrawNativeImage Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKURLSchemeTask.h (253500 => 253501) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKURLSchemeTask.h 2019-12-13 22:37:52 UTC (rev 253500) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKURLSchemeTask.h 2019-12-13 22:38:25 UTC (rev 253501) @@ -39,6 +39,7 @@ /*! @abstract Set the current response object for the task. @param response The response to use. @discussion This method must be called at least once for each URL scheme handler task. + Cross-origin requests require CORS header fields. An exception will be thrown if you try to send a new response object after the task has already been completed. An exception will be thrown if your app has been told to stop loading this task via the registered WKURLSchemeHandler object. */ Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (253500 => 253501) --- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2019-12-13 22:37:52 UTC (rev 253500) +++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2019-12-13 22:38:25 UTC (rev 253501) @@ -6445,6 +6445,7 @@ void WebPage::registerURLSchemeHandler(uint64_t handlerIdentifier, const String& scheme) { +WebCore::LegacySchemeRegistry::registerURLSchemeAsCORSEnabled(scheme); auto schemeResult = m_schemeToURLSchemeHandlerProxyMap.add(scheme, WebURLSchemeHandlerProxy::create(*this, handlerIdentifier)); m_identifierToURLSchemeHandlerProxyMap.add(handlerIdentifier, schemeResult.iterator->value.get()); } Modified: trunk/Tools/ChangeLog (253500 => 253501) --- trunk/Tools/ChangeLog 2019-12-13 22:37:52 UTC (rev 253500) +++ trunk/Tools/ChangeLog 2019-12-13 22:38:25 UTC (rev 253501) @@ -1,3 +1,15 @@ +2019-12-13 Alex Christensen + +Allow cross-origin requests to WKURLSchemeHandlers +https://bugs.webkit.org/show_bug.cgi?id=205198 + + +Reviewed by Brady Eidson. + +* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: +Verify that a cross origin request is received by the WKURLSchemeHandler. It was not before. +Verify that loading will fail unless there are CORS headers in the response. + 2019-12-13 Devin Rousso Teach prepare-ChangeLog about _javascript_ async functions Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm (253500 => 253501) --- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm 2019-12-13 22:37:52 UTC (rev 253500) +++
[webkit-changes] [253500] trunk/Source
Title: [253500] trunk/Source Revision 253500 Author sbar...@apple.com Date 2019-12-13 14:37:52 -0800 (Fri, 13 Dec 2019) Log Message Add a Heap::finalize function that takes WTF::Function https://bugs.webkit.org/show_bug.cgi?id=205211 Reviewed by Geoffrey Garen. Source/_javascript_Core: * heap/Heap.cpp: (JSC::Heap::addFinalizer): (JSC::Heap::FinalizerOwner::finalize): * heap/Heap.h: Source/WTF: * wtf/Function.h: (WTF::Function Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/heap/Heap.cpp trunk/Source/_javascript_Core/heap/Heap.h trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Function.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (253499 => 253500) --- trunk/Source/_javascript_Core/ChangeLog 2019-12-13 22:35:25 UTC (rev 253499) +++ trunk/Source/_javascript_Core/ChangeLog 2019-12-13 22:37:52 UTC (rev 253500) @@ -1,3 +1,15 @@ +2019-12-13 Saam Barati + +Add a Heap::finalize function that takes WTF::Function +https://bugs.webkit.org/show_bug.cgi?id=205211 + +Reviewed by Geoffrey Garen. + +* heap/Heap.cpp: +(JSC::Heap::addFinalizer): +(JSC::Heap::FinalizerOwner::finalize): +* heap/Heap.h: + 2019-12-13 Jim Mason [GTK] WebKitGTK build hangs on g-ir-scanner Modified: trunk/Source/_javascript_Core/heap/Heap.cpp (253499 => 253500) --- trunk/Source/_javascript_Core/heap/Heap.cpp 2019-12-13 22:35:25 UTC (rev 253499) +++ trunk/Source/_javascript_Core/heap/Heap.cpp 2019-12-13 22:37:52 UTC (rev 253500) @@ -2435,19 +2435,33 @@ return true; } -void Heap::addFinalizer(JSCell* cell, Finalizer finalizer) +void Heap::addFinalizer(JSCell* cell, CFinalizer finalizer) { -WeakSet::allocate(cell, _finalizerOwner, reinterpret_cast(finalizer)); // Balanced by FinalizerOwner::finalize(). +WeakSet::allocate(cell, _cFinalizerOwner, bitwise_cast(finalizer)); // Balanced by CFinalizerOwner::finalize(). } -void Heap::FinalizerOwner::finalize(Handle handle, void* context) +void Heap::addFinalizer(JSCell* cell, LambdaFinalizer function) { +WeakSet::allocate(cell, _lambdaFinalizerOwner, function.leakImpl()); // Balanced by LambdaFinalizerOwner::finalize(). +} + +void Heap::CFinalizerOwner::finalize(Handle handle, void* context) +{ HandleSlot slot = handle.slot(); -Finalizer finalizer = reinterpret_cast(context); +CFinalizer finalizer = bitwise_cast(context); finalizer(slot->asCell()); WeakSet::deallocate(WeakImpl::asWeakImpl(slot)); } +void Heap::LambdaFinalizerOwner::finalize(Handle handle, void* context) +{ +LambdaFinalizer::Impl* impl = bitwise_cast(context); +LambdaFinalizer finalizer(impl); +HandleSlot slot = handle.slot(); +finalizer(slot->asCell()); +WeakSet::deallocate(WeakImpl::asWeakImpl(slot)); +} + void Heap::collectNowFullIfNotDoneRecently(Synchronousness synchronousness) { if (!m_fullActivityCallback) { Modified: trunk/Source/_javascript_Core/heap/Heap.h (253499 => 253500) --- trunk/Source/_javascript_Core/heap/Heap.h 2019-12-13 22:35:25 UTC (rev 253499) +++ trunk/Source/_javascript_Core/heap/Heap.h 2019-12-13 22:37:52 UTC (rev 253500) @@ -171,8 +171,10 @@ // helping heap. JS_EXPORT_PRIVATE bool isCurrentThreadBusy(); -typedef void (*Finalizer)(JSCell*); -JS_EXPORT_PRIVATE void addFinalizer(JSCell*, Finalizer); +typedef void (*CFinalizer)(JSCell*); +JS_EXPORT_PRIVATE void addFinalizer(JSCell*, CFinalizer); +using LambdaFinalizer = WTF::Function; +JS_EXPORT_PRIVATE void addFinalizer(JSCell*, LambdaFinalizer); void notifyIsSafeToCollect(); bool isSafeToCollect() const { return m_isSafeToCollect; } @@ -431,10 +433,14 @@ static constexpr size_t minExtraMemory = 256; -class FinalizerOwner : public WeakHandleOwner { +class CFinalizerOwner : public WeakHandleOwner { void finalize(Handle, void* context) override; }; +class LambdaFinalizerOwner : public WeakHandleOwner { +void finalize(Handle, void* context) override; +}; + JS_EXPORT_PRIVATE bool isValidAllocation(size_t); JS_EXPORT_PRIVATE void reportExtraMemoryAllocatedSlowCase(size_t); JS_EXPORT_PRIVATE void deprecatedReportExtraMemorySlowCase(size_t); @@ -634,7 +640,8 @@ HandleSet m_handleSet; std::unique_ptr m_codeBlocks; std::unique_ptr m_jitStubRoutines; -FinalizerOwner m_finalizerOwner; +CFinalizerOwner m_cFinalizerOwner; +LambdaFinalizerOwner m_lambdaFinalizerOwner; Lock m_parallelSlotVisitorLock; bool m_isSafeToCollect { false }; Modified: trunk/Source/WTF/ChangeLog (253499 => 253500) --- trunk/Source/WTF/ChangeLog 2019-12-13 22:35:25 UTC (rev 253499) +++ trunk/Source/WTF/ChangeLog 2019-12-13 22:37:52 UTC (rev 253500) @@ -1,3 +1,13 @@ +2019-12-13 Saam Barati + +Add a Heap::finalize function that takes WTF::Function +https://bugs.webkit.org/show_bug.cgi?id=205211 + +
[webkit-changes] [253499] trunk/Source
Title: [253499] trunk/Source Revision 253499 Author d...@apple.com Date 2019-12-13 14:35:25 -0800 (Fri, 13 Dec 2019) Log Message MacCatalyst build of libANGLE is installed in the incorrect location https://bugs.webkit.org/show_bug.cgi?id=205219 Reviewed by Simon Fraser. Source/ThirdParty/ANGLE: Rename libANGLE.dylib into libANGLE-shared.dylib, so we can avoid accidentally trying to link to the libANGLE.a that was removed recently (but still exists in the SDK for now). Also, make sure that we install into the correct location for a Catalyst build. * ANGLE.xcodeproj/project.pbxproj: * Configurations/ANGLE.xcconfig: * Configurations/Base.xcconfig: Source/WebCore: The location that WebCore was looking for embedded libraries was incorrect for Catalyst builds. We never noticed because until now there were no embedded libraries, and local builds all go into the same location so this would only happen on Production builds. Also, libANGLE became libANGLE-shared. * Configurations/WebCore.xcconfig: Link with libANGLE's new name, and look in the correct directory. Modified Paths trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj trunk/Source/ThirdParty/ANGLE/ChangeLog trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE.xcconfig trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Configurations/WebCore.xcconfig Diff Modified: trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj (253498 => 253499) --- trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj 2019-12-13 21:46:25 UTC (rev 253498) +++ trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj 2019-12-13 22:35:25 UTC (rev 253499) @@ -1499,7 +1499,7 @@ A3694FC423202C5100A83D8F /* BuiltinsWorkaroundGLSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BuiltinsWorkaroundGLSL.cpp; sourceTree = ""; }; A3694FC523202C5200A83D8F /* BuiltinsWorkaroundGLSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BuiltinsWorkaroundGLSL.h; sourceTree = ""; }; A3E827A8230CAE2C00E76682 /* commit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = commit.h; sourceTree = ""; }; - FB39D0D11200F0E300088E69 /* libANGLE.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libANGLE.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + FB39D0D11200F0E300088E69 /* libANGLE-shared.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libANGLE-shared.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; FB39D2BF1200F3E600088E69 /* ShaderLang.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ShaderLang.h; sourceTree = ""; }; /* End PBXFileReference section */ @@ -2504,7 +2504,7 @@ FB39D0CC1200EF9B00088E69 /* Products */ = { isa = PBXGroup; children = ( -FB39D0D11200F0E300088E69 /* libANGLE.dylib */, +FB39D0D11200F0E300088E69 /* libANGLE-shared.dylib */, ); name = Products; sourceTree = ""; @@ -2985,7 +2985,7 @@ ); name = ANGLE; productName = angle; - productReference = FB39D0D11200F0E300088E69 /* libANGLE.dylib */; + productReference = FB39D0D11200F0E300088E69 /* libANGLE-shared.dylib */; productType = "com.apple.product-type.library.dynamic"; }; /* End PBXNativeTarget section */ Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (253498 => 253499) --- trunk/Source/ThirdParty/ANGLE/ChangeLog 2019-12-13 21:46:25 UTC (rev 253498) +++ trunk/Source/ThirdParty/ANGLE/ChangeLog 2019-12-13 22:35:25 UTC (rev 253499) @@ -1,3 +1,22 @@ +2019-12-13 Dean Jackson + +MacCatalyst build of libANGLE is installed in the incorrect location +https://bugs.webkit.org/show_bug.cgi?id=205219 + + +Reviewed by Simon Fraser. + +Rename libANGLE.dylib into libANGLE-shared.dylib, so we can +avoid accidentally trying to link to the libANGLE.a that was +removed recently (but still exists in the SDK for now). + +Also, make sure that we install into the correct location for +a Catalyst build. + +* ANGLE.xcodeproj/project.pbxproj: +* Configurations/ANGLE.xcconfig: +* Configurations/Base.xcconfig: + 2019-12-11 Dean Jackson Produce a dummy libANGLE.a file to fool Apple's build test infrastructure Modified: trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE.xcconfig (253498 => 253499) --- trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE.xcconfig 2019-12-13 21:46:25 UTC (rev 253498) +++ trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE.xcconfig 2019-12-13 22:35:25 UTC (rev 253499) @@ -1,7 +1,7 @@ #include "Version.xcconfig" #include "WebKitTargetConditionals.xcconfig" -PRODUCT_NAME = ANGLE; +PRODUCT_NAME = ANGLE-shared; EXECUTABLE_PREFIX = lib; Modified:
[webkit-changes] [253498] trunk
Title: [253498] trunk Revision 253498 Author mmaxfi...@apple.com Date 2019-12-13 13:46:25 -0800 (Fri, 13 Dec 2019) Log Message [watchOS] Apple.com is rendered in Times New Roman https://bugs.webkit.org/show_bug.cgi?id=205179 Reviewed by Tim Horton. Source/WebCore: We should just make watchOS use the same font lookup attributes as iOS and macOS. Test: fast/text/smiley-local-font-src.html * platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::FontDatabase::fontForPostScriptName): LayoutTests: * fast/text/smiley-local-font-src-expected.html: Added. * fast/text/smiley-local-font-src.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp Added Paths trunk/LayoutTests/fast/text/smiley-local-font-src-expected.html trunk/LayoutTests/fast/text/smiley-local-font-src.html Diff Modified: trunk/LayoutTests/ChangeLog (253497 => 253498) --- trunk/LayoutTests/ChangeLog 2019-12-13 21:36:25 UTC (rev 253497) +++ trunk/LayoutTests/ChangeLog 2019-12-13 21:46:25 UTC (rev 253498) @@ -1,3 +1,14 @@ +2019-12-13 Myles C. Maxfield + +[watchOS] Apple.com is rendered in Times New Roman +https://bugs.webkit.org/show_bug.cgi?id=205179 + + +Reviewed by Tim Horton. + +* fast/text/smiley-local-font-src-expected.html: Added. +* fast/text/smiley-local-font-src.html: Added. + 2019-12-13 Chris Dumez Implement PostMessageOptions for postMessage Added: trunk/LayoutTests/fast/text/smiley-local-font-src-expected.html (0 => 253498) --- trunk/LayoutTests/fast/text/smiley-local-font-src-expected.html (rev 0) +++ trunk/LayoutTests/fast/text/smiley-local-font-src-expected.html 2019-12-13 21:46:25 UTC (rev 253498) @@ -0,0 +1,10 @@ + + + + + + +This test makes sure that '☺︎' doesn't get resolved to a real font. The test passes if there is a black rectangle below. +Test + + Added: trunk/LayoutTests/fast/text/smiley-local-font-src.html (0 => 253498) --- trunk/LayoutTests/fast/text/smiley-local-font-src.html (rev 0) +++ trunk/LayoutTests/fast/text/smiley-local-font-src.html 2019-12-13 21:46:25 UTC (rev 253498) @@ -0,0 +1,16 @@ + + + + + +@font-face { +font-family: "WebFont"; +src:local('☺︎'), url("../../resources/Ahem.ttf") format("truetype"); +} + + + +This test makes sure that '☺︎' doesn't get resolved to a real font. The test passes if there is a black rectangle below. +Test + + Modified: trunk/Source/WebCore/ChangeLog (253497 => 253498) --- trunk/Source/WebCore/ChangeLog 2019-12-13 21:36:25 UTC (rev 253497) +++ trunk/Source/WebCore/ChangeLog 2019-12-13 21:46:25 UTC (rev 253498) @@ -1,3 +1,18 @@ +2019-12-13 Myles C. Maxfield + +[watchOS] Apple.com is rendered in Times New Roman +https://bugs.webkit.org/show_bug.cgi?id=205179 + + +Reviewed by Tim Horton. + +We should just make watchOS use the same font lookup attributes as iOS and macOS. + +Test: fast/text/smiley-local-font-src.html + +* platform/graphics/cocoa/FontCacheCoreText.cpp: +(WebCore::FontDatabase::fontForPostScriptName): + 2019-12-13 Chris Dumez Implement PostMessageOptions for postMessage Modified: trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp (253497 => 253498) --- trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp 2019-12-13 21:36:25 UTC (rev 253497) +++ trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp 2019-12-13 21:46:25 UTC (rev 253498) @@ -969,11 +969,7 @@ const auto& folded = FontCascadeDescription::foldedFamilyName(postScriptName); return m_postScriptNameToFontDescriptors.ensure(folded, [&] { auto postScriptNameString = folded.createCFString(); -#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 11) || PLATFORM(MAC) CFStringRef nameAttribute = kCTFontPostScriptNameAttribute; -#else -CFStringRef nameAttribute = kCTFontNameAttribute; -#endif auto attributes = adoptCF(CFDictionaryCreateMutable(kCFAllocatorDefault, 0, , )); CFDictionaryAddValue(attributes.get(), kCTFontEnabledAttribute, kCFBooleanTrue); CFDictionaryAddValue(attributes.get(), nameAttribute, postScriptNameString.get()); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253497] trunk
Title: [253497] trunk Revision 253497 Author cdu...@apple.com Date 2019-12-13 13:36:25 -0800 (Fri, 13 Dec 2019) Log Message Implement PostMessageOptions for postMessage https://bugs.webkit.org/show_bug.cgi?id=191028 Reviewed by Alex Christensen. LayoutTests/imported/w3c: Rebaseline WPT tests now that we have more passes. * web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt: * web-platform-tests/html/browsers/windows/document-access/document_access_parent_access.tentative-expected.txt: * web-platform-tests/service-workers/service-worker/clients-matchall-frozen.https-expected.txt: * web-platform-tests/service-workers/service-worker/postmessage.https-expected.txt: * web-platform-tests/webmessaging/message-channels/dictionary-transferrable-expected.txt: * web-platform-tests/webmessaging/message-channels/user-activation.tentative-expected.txt: * web-platform-tests/webmessaging/postMessage_MessagePorts_xsite.sub.window-expected.txt: * web-platform-tests/webmessaging/with-options/host-specific-origin-expected.txt: * web-platform-tests/webmessaging/with-options/message-channel-transferable-expected.txt: * web-platform-tests/webmessaging/with-options/no-target-origin-expected.txt: * web-platform-tests/webmessaging/with-options/null-transfer-expected.txt: * web-platform-tests/webmessaging/with-options/one-arg-expected.txt: * web-platform-tests/webmessaging/with-options/slash-origin-expected.txt: * web-platform-tests/webmessaging/with-options/undefined-transferable-expected.txt: * web-platform-tests/webmessaging/with-options/unknown-parameter-expected.txt: * web-platform-tests/webmessaging/without-ports/008-expected.txt: * web-platform-tests/webmessaging/worker_postMessage_user_activation.tentative-expected.txt: * web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-dictionary-expected.txt: * web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-null-expected.txt: Source/WebCore: Implement PostMessageOptions dictionary parameter for postMessage: - https://github.com/whatwg/html/issues/3799 - https://github.com/w3c/ServiceWorker/pull/1344 Blink and Gecko already support this. No new tests, rebaselined existing tests. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Headers.cmake: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): * page/DOMWindow.h: (WebCore::WindowPostMessageOptions::WindowPostMessageOptions): * page/DOMWindow.idl: * page/PostMessageOptions.h: Copied from Source/WebCore/workers/service/ServiceWorkerClient.idl. (WebCore::PostMessageOptions::PostMessageOptions): * page/PostMessageOptions.idl: Copied from Source/WebCore/workers/service/ServiceWorkerClient.idl. * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/service/ServiceWorker.cpp: (WebCore::ServiceWorker::postMessage): * workers/service/ServiceWorker.h: * workers/service/ServiceWorker.idl: * workers/service/ServiceWorkerClient.cpp: (WebCore::ServiceWorkerClient::postMessage): * workers/service/ServiceWorkerClient.h: * workers/service/ServiceWorkerClient.idl: LayoutTests: Update a few existing tests due to the behavior change. * TestExpectations: * fast/dom/Window/post-message-crash.html: * fast/events/message-port-multi-expected.txt: * fast/events/resources/message-port-multi.js: * fast/workers/resources/worker-context-thread-multi-port.js: * fast/workers/resources/worker-multi-port.js: * fast/workers/worker-multi-port-expected.txt: * http/tests/security/postMessage/target-origin-expected.txt: * platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: * platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/fast/dom/Window/post-message-crash.html trunk/LayoutTests/fast/events/message-port-multi-expected.txt trunk/LayoutTests/fast/events/resources/message-port-multi.js trunk/LayoutTests/fast/workers/resources/worker-context-thread-multi-port.js trunk/LayoutTests/fast/workers/resources/worker-multi-port.js trunk/LayoutTests/fast/workers/worker-multi-port-expected.txt trunk/LayoutTests/http/tests/security/postMessage/target-origin-expected.txt trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt
[webkit-changes] [253496] trunk/LayoutTests
Title: [253496] trunk/LayoutTests Revision 253496 Author ctur...@igalia.com Date 2019-12-13 13:31:18 -0800 (Fri, 13 Dec 2019) Log Message [GStreamer][EME] Update expectation for media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse.html https://bugs.webkit.org/show_bug.cgi?id=205215 Unreviewed gardening. * platform/gtk/TestExpectations: Update bug URL to new failure reason. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/gtk/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (253495 => 253496) --- trunk/LayoutTests/ChangeLog 2019-12-13 21:22:23 UTC (rev 253495) +++ trunk/LayoutTests/ChangeLog 2019-12-13 21:31:18 UTC (rev 253496) @@ -1,3 +1,12 @@ +2019-12-13 Charlie Turner + +[GStreamer][EME] Update expectation for media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse.html +https://bugs.webkit.org/show_bug.cgi?id=205215 + +Unreviewed gardening. + +* platform/gtk/TestExpectations: Update bug URL to new failure reason. + 2019-12-13 youenn fablet Add support for WebIDL set-like forEach Modified: trunk/LayoutTests/platform/gtk/TestExpectations (253495 => 253496) --- trunk/LayoutTests/platform/gtk/TestExpectations 2019-12-13 21:22:23 UTC (rev 253495) +++ trunk/LayoutTests/platform/gtk/TestExpectations 2019-12-13 21:31:18 UTC (rev 253496) @@ -2521,7 +2521,7 @@ webkit.org/b/188104 webgl/1.0.3/conformance/ogles/GL/vec/vec_009_to_016.html [ Timeout Pass ] webkit.org/b/188106 webgl/1.0.3/conformance/ogles/GL/swizzlers/swizzlers_017_to_024.html [ Timeout Pass ] -webkit.org/b/190738 media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse.html [ Timeout ] +webkit.org/b/205117 media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse.html [ Timeout ] media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse-multikey.html [ Skip ] webkit.org/b/191008 webanimations/accelerated-animation-suspension.html [ Timeout ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253495] trunk/Source
Title: [253495] trunk/Source Revision 253495 Author wenson_hs...@apple.com Date 2019-12-13 13:22:23 -0800 (Fri, 13 Dec 2019) Log Message Implement encoding/decoding for DisplayList::DrawNativeImage https://bugs.webkit.org/show_bug.cgi?id=205200 Reviewed by Simon Fraser. Source/WebCore: Implements basic encoding and decoding for the DrawNativeImage drawing item, such that it can be sent and replayed in the GPU process. See WebKit ChangeLogs for more details. Eventually, we should avoid calling into drawNativeImage in the web process altogether, but for now, both DrawNativeImage and DrawImage drawing items rely on drawing native images into ImageBuffers. See: . * platform/graphics/NativeImage.h: Add a NativeImageHandle wrapper around a NativeImagePtr to make it simpler to decode and encode NativeImagePtrs using << and >> operators. * platform/graphics/displaylists/DisplayListItems.cpp: * platform/graphics/displaylists/DisplayListItems.h: (WebCore::DisplayList::DrawNativeImage::encode const): (WebCore::DisplayList::DrawNativeImage::decode): (WebCore::DisplayList::Item::encode const): (WebCore::DisplayList::Item::decode): Source/WebKit: Add helper functions to encode and decode NativeImagePtr (RetainPtr on Cocoa platforms). This mirrors the implementation of encoding and decoding for WebCore::Image, which create and draws into ShareableBitmap, and send a handle to the data over IPC. * Shared/WebCoreArgumentCoders.cpp: (IPC::encodeImage): (IPC::decodeImage): (IPC::encodeNativeImage): (IPC::decodeNativeImage): Additionally make Image and NativeImagePtr encoding and decoding helpers fail quickly in the case where the ShareableBitmap failed to create a graphics context by having the encoder indicate whether a graphics context was created, and having the decoder fail if the graphics context could not be created. (IPC::encodeOptionalNativeImage): (IPC::decodeOptionalNativeImage): (IPC::ArgumentCoder::encode): (IPC::ArgumentCoder::decode): * Shared/WebCoreArgumentCoders.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/NativeImage.h trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp trunk/Source/WebKit/Shared/WebCoreArgumentCoders.h Diff Modified: trunk/Source/WebCore/ChangeLog (253494 => 253495) --- trunk/Source/WebCore/ChangeLog 2019-12-13 20:49:10 UTC (rev 253494) +++ trunk/Source/WebCore/ChangeLog 2019-12-13 21:22:23 UTC (rev 253495) @@ -1,3 +1,27 @@ +2019-12-13 Wenson Hsieh + +Implement encoding/decoding for DisplayList::DrawNativeImage +https://bugs.webkit.org/show_bug.cgi?id=205200 + +Reviewed by Simon Fraser. + +Implements basic encoding and decoding for the DrawNativeImage drawing item, such that it can be sent and +replayed in the GPU process. See WebKit ChangeLogs for more details. Eventually, we should avoid calling into +drawNativeImage in the web process altogether, but for now, both DrawNativeImage and DrawImage drawing items +rely on drawing native images into ImageBuffers. See: . + +* platform/graphics/NativeImage.h: + +Add a NativeImageHandle wrapper around a NativeImagePtr to make it simpler to decode and encode NativeImagePtrs +using << and >> operators. + +* platform/graphics/displaylists/DisplayListItems.cpp: +* platform/graphics/displaylists/DisplayListItems.h: +(WebCore::DisplayList::DrawNativeImage::encode const): +(WebCore::DisplayList::DrawNativeImage::decode): +(WebCore::DisplayList::Item::encode const): +(WebCore::DisplayList::Item::decode): + 2019-12-13 youenn fablet Add support for WebIDL set-like forEach Modified: trunk/Source/WebCore/platform/graphics/NativeImage.h (253494 => 253495) --- trunk/Source/WebCore/platform/graphics/NativeImage.h 2019-12-13 20:49:10 UTC (rev 253494) +++ trunk/Source/WebCore/platform/graphics/NativeImage.h 2019-12-13 21:22:23 UTC (rev 253495) @@ -61,11 +61,16 @@ typedef RefPtr NativeImagePtr; #endif -IntSize nativeImageSize(const NativeImagePtr&); +WEBCORE_EXPORT IntSize nativeImageSize(const NativeImagePtr&); bool nativeImageHasAlpha(const NativeImagePtr&); Color nativeImageSinglePixelSolidColor(const NativeImagePtr&); void drawNativeImage(const NativeImagePtr&, GraphicsContext&, const FloatRect&, const FloatRect&, const IntSize&, const ImagePaintingOptions&); void clearNativeImageSubimages(const NativeImagePtr&); + +class NativeImageHandle { +public: +NativeImagePtr image; +}; } Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp (253494 => 253495) --- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp 2019-12-13 20:49:10 UTC (rev 253494) +++
[webkit-changes] [253494] trunk
Title: [253494] trunk Revision 253494 Author you...@apple.com Date 2019-12-13 12:49:10 -0800 (Fri, 13 Dec 2019) Log Message Add support for WebIDL set-like forEach https://bugs.webkit.org/show_bug.cgi?id=204847 Reviewed by Chris Dumez. Source/WebCore: Add support to setlike forEach as done for maplike. Covered by rebased binding tests and updated layout test. * bindings/js/JSDOMBindingInternals.js: (forEachWrapper): * bindings/js/JSDOMMapLike.cpp: (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMSetLike.cpp: (WebCore::DOMSetAdapter::clear): (WebCore::forwardForEachCallToBackingSet): * bindings/js/JSDOMSetLike.h: (WebCore::DOMSetAdapter::add): (WebCore::getAndInitializeBackingSet): (WebCore::forwardSizeToSetLike): (WebCore::forwardEntriesToSetLike): (WebCore::forwardKeysToSetLike): (WebCore::forwardValuesToSetLike): (WebCore::forwardForEachToSetLike): (WebCore::forwardClearToSetLike): (WebCore::forwardHasToSetLike): (WebCore::forwardAddToSetLike): (WebCore::forwardDeleteToSetLike): * bindings/scripts/IDLParser.pm: (parseSetLikeProperties): * bindings/scripts/test/JS/JSReadOnlySetLike.cpp: (WebCore::jsReadOnlySetLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlySetLikePrototypeFunctionForEach): * bindings/scripts/test/JS/JSSetLike.cpp: (WebCore::jsSetLikePrototypeFunctionForEachBody): (WebCore::jsSetLikePrototypeFunctionForEach): LayoutTests: * js/dom/maplike.html: * js/dom/setlike.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/js/dom/maplike.html trunk/LayoutTests/js/dom/setlike.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSDOMBindingInternals.js trunk/Source/WebCore/bindings/js/JSDOMMapLike.cpp trunk/Source/WebCore/bindings/js/JSDOMSetLike.cpp trunk/Source/WebCore/bindings/js/JSDOMSetLike.h trunk/Source/WebCore/bindings/scripts/IDLParser.pm trunk/Source/WebCore/bindings/scripts/test/JS/JSReadOnlySetLike.cpp trunk/Source/WebCore/bindings/scripts/test/JS/JSSetLike.cpp Diff Modified: trunk/LayoutTests/ChangeLog (253493 => 253494) --- trunk/LayoutTests/ChangeLog 2019-12-13 20:38:13 UTC (rev 253493) +++ trunk/LayoutTests/ChangeLog 2019-12-13 20:49:10 UTC (rev 253494) @@ -1,3 +1,13 @@ +2019-12-13 youenn fablet + +Add support for WebIDL set-like forEach +https://bugs.webkit.org/show_bug.cgi?id=204847 + +Reviewed by Chris Dumez. + +* js/dom/maplike.html: +* js/dom/setlike.html: + 2019-12-13 Chris Dumez REGRESSION: (r251677) imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3.html is a flaky failure Modified: trunk/LayoutTests/js/dom/maplike.html (253493 => 253494) --- trunk/LayoutTests/js/dom/maplike.html 2019-12-13 20:38:13 UTC (rev 253493) +++ trunk/LayoutTests/js/dom/maplike.html 2019-12-13 20:49:10 UTC (rev 253494) @@ -48,8 +48,9 @@ } assert_equals(keysTest, "testAtestB", "keys test"); +assert_equals(maplike.forEach.length, 1); let forEachTest = ""; -maplike.forEach((value, key, object) => { +const forEachResult = maplike.forEach((value, key, object) => { forEachTest += key; forEachTest += ','; forEachTest += value; @@ -57,6 +58,7 @@ assert_equals(object, maplike); }); assert_equals(forEachTest, "testA,2 testB,3 ", "forEach test"); +assert_equals(forEachResult, undefined); maplike.clear(); assert_array_equals(maplike.inspectKeys(), []); Modified: trunk/LayoutTests/js/dom/setlike.html (253493 => 253494) --- trunk/LayoutTests/js/dom/setlike.html 2019-12-13 20:38:13 UTC (rev 253493) +++ trunk/LayoutTests/js/dom/setlike.html 2019-12-13 20:49:10 UTC (rev 253494) @@ -42,6 +42,16 @@ } assert_equals(keysTest, "testtest2", "keys test"); +assert_equals(setlike.forEach.length, 1); +let forEachTest = ""; +const forEachResult = setlike.forEach((key, value, object) => { +forEachTest += key; +forEachTest += value; +assert_equals(object, setlike); +}); +assert_equals(forEachTest, "testtesttest2test2", "forEach test"); +assert_equals(forEachResult, undefined); + setlike.clear(); assert_array_equals(setlike.items(), []); }, "Basic add/remove/clear functionality"); Modified: trunk/Source/WebCore/ChangeLog (253493 => 253494) --- trunk/Source/WebCore/ChangeLog 2019-12-13 20:38:13 UTC (rev 253493) +++ trunk/Source/WebCore/ChangeLog 2019-12-13 20:49:10 UTC (rev 253494) @@ -1,3 +1,41 @@ +2019-12-13 youenn fablet + +Add support for WebIDL set-like forEach +https://bugs.webkit.org/show_bug.cgi?id=204847 + +Reviewed by Chris Dumez. + +Add support to setlike forEach as done for maplike. +Covered by rebased binding tests and updated layout test. + +* bindings/js/JSDOMBindingInternals.js: +(forEachWrapper): +* bindings/js/JSDOMMapLike.cpp: +(WebCore::forwardForEachCallToBackingMap): +*
[webkit-changes] [253493] trunk
Title: [253493] trunk Revision 253493 Author cdu...@apple.com Date 2019-12-13 12:38:13 -0800 (Fri, 13 Dec 2019) Log Message REGRESSION: (r251677) imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=205164 Reviewed by Alex Christensen. LayoutTests/imported/w3c: Rebaseline WPT tests now that they are passing. * web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3-expected.txt: * web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-expected.txt: Source/WebCore: Submitting a form should cancel any pending navigation scheduled by a previous submission of this form: - https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#form-submission-algorithm (step 22.3) No new tests, rebaselined existing tests. * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): * html/HTMLFormElement.h: * loader/FormSubmission.h: (WebCore::FormSubmission::cancel): (WebCore::FormSubmission::wasCancelled const): * loader/NavigationScheduler.cpp: LayoutTests: Unskip test that should no longer be flaky. * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-expected.txt trunk/LayoutTests/platform/mac/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLFormElement.cpp trunk/Source/WebCore/html/HTMLFormElement.h trunk/Source/WebCore/loader/FormSubmission.h trunk/Source/WebCore/loader/NavigationScheduler.cpp Diff Modified: trunk/LayoutTests/ChangeLog (253492 => 253493) --- trunk/LayoutTests/ChangeLog 2019-12-13 19:37:53 UTC (rev 253492) +++ trunk/LayoutTests/ChangeLog 2019-12-13 20:38:13 UTC (rev 253493) @@ -1,3 +1,15 @@ +2019-12-13 Chris Dumez + +REGRESSION: (r251677) imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3.html is a flaky failure +https://bugs.webkit.org/show_bug.cgi?id=205164 + + +Reviewed by Alex Christensen. + +Unskip test that should no longer be flaky. + +* platform/mac/TestExpectations: + 2019-12-13 Per Arne Vollan [iOS] Deny mach lookup access to "*.apple-extension-service" in the WebContent process Modified: trunk/LayoutTests/imported/w3c/ChangeLog (253492 => 253493) --- trunk/LayoutTests/imported/w3c/ChangeLog 2019-12-13 19:37:53 UTC (rev 253492) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2019-12-13 20:38:13 UTC (rev 253493) @@ -1,5 +1,18 @@ 2019-12-13 Chris Dumez +REGRESSION: (r251677) imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3.html is a flaky failure +https://bugs.webkit.org/show_bug.cgi?id=205164 + + +Reviewed by Alex Christensen. + +Rebaseline WPT tests now that they are passing. + +* web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3-expected.txt: +* web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-expected.txt: + +2019-12-13 Chris Dumez + Behavior of [[GetOwnProperty]] for cross-origin windows is not spec-compliant https://bugs.webkit.org/show_bug.cgi?id=205184 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3-expected.txt (253492 => 253493) --- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3-expected.txt 2019-12-13 19:37:53 UTC (rev 253492) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3-expected.txt 2019-12-13 20:38:13 UTC (rev 253493) @@ -4,5 +4,5 @@ submit -FAIL should have the same double-submit protection as assert_unreached: Frame1 should not get navigated by this test. Reached unreachable code +PASS should have the same double-submit protection as Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-expected.txt (253492 => 253493) --- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-expected.txt 2019-12-13 19:37:53 UTC (rev 253492) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-expected.txt 2019-12-13 20:38:13 UTC (rev 253493) @@ -4,5 +4,5 @@ -FAIL default submit action should supersede onclick submit() assert_unreached: Frame1 should not get navigated by this test. Reached unreachable code +PASS default submit action should supersede onclick submit() Modified:
[webkit-changes] [253491] tags/Safari-609.1.12/Source/ThirdParty/ANGLE
Title: [253491] tags/Safari-609.1.12/Source/ThirdParty/ANGLE Revision 253491 Author alanc...@apple.com Date 2019-12-13 11:37:51 -0800 (Fri, 13 Dec 2019) Log Message Revert r253383. rdar://problem/57713353 Modified Paths tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ChangeLog Diff Modified: tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj (253490 => 253491) --- tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj 2019-12-13 19:31:17 UTC (rev 253490) +++ tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj 2019-12-13 19:37:51 UTC (rev 253491) @@ -2976,7 +2976,7 @@ 312BDB0B15FECAB00097EBC7 /* CopyFiles */, 312BDB0D15FECACE0097EBC7 /* CopyFiles */, 6E28B8742294DD8000717E69 /* ShellScript */, -313DE867239FFF91008FC47B /* Attempt to fool Apple Test Platform */, +313DE867239FFF91008FC47B /* ShellScript */, ); buildRules = ( 53E934DB230609D800DE060C /* PBXBuildRule */, @@ -3017,7 +3017,7 @@ /* End PBXProject section */ /* Begin PBXShellScriptBuildPhase section */ - 313DE867239FFF91008FC47B /* Attempt to fool Apple Test Platform */ = { + 313DE867239FFF91008FC47B /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3026,7 +3026,6 @@ ); inputPaths = ( ); - name = "Attempt to fool Apple Test Platform"; outputFileListPaths = ( ); outputPaths = ( @@ -3033,7 +3032,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ \"$DEPLOYMENT_LOCATION\" == \"YES\" ] ; then\n# Apple-internal build.\noutput_dir=${DSTROOT}${WK_ALTERNATE_FRAMEWORKS_DIR}/usr/local/lib\nelse\n# External build.\noutput_dir=${BUILT_PRODUCTS_DIR}/usr/local/lib\nfi\n\nmkdir -p $output_dir\necho \"Fake file to fool Apple's test system\" > $output_dir/libANGLE.a\n"; + shellScript = "if [ \"$DEPLOYMENT_LOCATION\" == \"YES\" ] ; then\n# Apple-internal build.\noutput_dir=${DSTROOT}/usr/local/lib\nelse\n# External build.\noutput_dir=${BUILT_PRODUCTS_DIR}/usr/local/lib\nfi\n\nmkdir -p $output_dir\necho \"Fake file to fool Apple's test system\" > $output_dir/libANGLE.a\n"; }; 6E28B8742294DD8000717E69 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; Modified: tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ChangeLog (253490 => 253491) --- tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ChangeLog 2019-12-13 19:31:17 UTC (rev 253490) +++ tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ChangeLog 2019-12-13 19:37:51 UTC (rev 253491) @@ -1,3 +1,7 @@ +2019-12-13 Alan Coon + +Revert r253383. rdar://problem/57713353 + 2019-12-12 Alan Coon Cherry-pick r253383. rdar://problem/57713353 ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253492] tags/Safari-609.1.12/Source/ThirdParty/ANGLE
Title: [253492] tags/Safari-609.1.12/Source/ThirdParty/ANGLE Revision 253492 Author alanc...@apple.com Date 2019-12-13 11:37:53 -0800 (Fri, 13 Dec 2019) Log Message Revert r25. rdar://problem/57713353 Modified Paths tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ChangeLog Diff Modified: tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj (253491 => 253492) --- tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj 2019-12-13 19:37:51 UTC (rev 253491) +++ tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj 2019-12-13 19:37:53 UTC (rev 253492) @@ -2976,7 +2976,6 @@ 312BDB0B15FECAB00097EBC7 /* CopyFiles */, 312BDB0D15FECACE0097EBC7 /* CopyFiles */, 6E28B8742294DD8000717E69 /* ShellScript */, -313DE867239FFF91008FC47B /* ShellScript */, ); buildRules = ( 53E934DB230609D800DE060C /* PBXBuildRule */, @@ -3017,23 +3016,6 @@ /* End PBXProject section */ /* Begin PBXShellScriptBuildPhase section */ - 313DE867239FFF91008FC47B /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if [ \"$DEPLOYMENT_LOCATION\" == \"YES\" ] ; then\n# Apple-internal build.\noutput_dir=${DSTROOT}/usr/local/lib\nelse\n# External build.\noutput_dir=${BUILT_PRODUCTS_DIR}/usr/local/lib\nfi\n\nmkdir -p $output_dir\necho \"Fake file to fool Apple's test system\" > $output_dir/libANGLE.a\n"; - }; 6E28B8742294DD8000717E69 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; Modified: tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ChangeLog (253491 => 253492) --- tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ChangeLog 2019-12-13 19:37:51 UTC (rev 253491) +++ tags/Safari-609.1.12/Source/ThirdParty/ANGLE/ChangeLog 2019-12-13 19:37:53 UTC (rev 253492) @@ -1,5 +1,9 @@ 2019-12-13 Alan Coon +Revert r25. rdar://problem/57713353 + +2019-12-13 Alan Coon + Revert r253383. rdar://problem/57713353 2019-12-12 Alan Coon ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253490] trunk/Tools
Title: [253490] trunk/Tools Revision 253490 Author drou...@apple.com Date 2019-12-13 11:31:17 -0800 (Fri, 13 Dec 2019) Log Message Teach prepare-ChangeLog about _javascript_ async functions https://bugs.webkit.org/show_bug.cgi?id=205195 Reviewed by Jonathan Bedard. * Scripts/prepare-ChangeLog: (get_function_line_ranges_for_javascript): * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/_javascript__unittests.js: (AsyncFuncClass): Added. (AsyncFuncClass.async staticAsync): Added. (AsyncFuncClass.prototype.async methodAsync): Added. (AsyncFuncClass.prototype.async get getAsync): Added. (AsyncFuncClass.prototype.async set setAsync): Added. (async asyncFunc1): Added. * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/_javascript__unittests-expected.txt: Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/prepare-ChangeLog trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/_javascript__unittests-expected.txt trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/_javascript__unittests.js Diff Modified: trunk/Tools/ChangeLog (253489 => 253490) --- trunk/Tools/ChangeLog 2019-12-13 19:18:37 UTC (rev 253489) +++ trunk/Tools/ChangeLog 2019-12-13 19:31:17 UTC (rev 253490) @@ -1,3 +1,22 @@ +2019-12-13 Devin Rousso + +Teach prepare-ChangeLog about _javascript_ async functions +https://bugs.webkit.org/show_bug.cgi?id=205195 + +Reviewed by Jonathan Bedard. + +* Scripts/prepare-ChangeLog: +(get_function_line_ranges_for_javascript): + +* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/_javascript__unittests.js: +(AsyncFuncClass): Added. +(AsyncFuncClass.async staticAsync): Added. +(AsyncFuncClass.prototype.async methodAsync): Added. +(AsyncFuncClass.prototype.async get getAsync): Added. +(AsyncFuncClass.prototype.async set setAsync): Added. +(async asyncFunc1): Added. +* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/_javascript__unittests-expected.txt: + 2019-12-13 John Wilander IsLoggedIn: Abstract data type for IsLoggedIn state Modified: trunk/Tools/Scripts/prepare-ChangeLog (253489 => 253490) --- trunk/Tools/Scripts/prepare-ChangeLog 2019-12-13 19:18:37 UTC (rev 253489) +++ trunk/Tools/Scripts/prepare-ChangeLog 2019-12-13 19:31:17 UTC (rev 253490) @@ -1474,6 +1474,7 @@ my $functionJustSeen = 0; my $getterJustSeen = 0; my $setterJustSeen = 0; +my $asyncJustSeen = 0; my $assignmentJustSeen = 0; my $staticOrContructorSeen = 0; @@ -1659,6 +1660,13 @@ next; } +# Async prefix. +if ($1 eq 'async') { +next if $lastToken eq '.'; +$asyncJustSeen = 1; +next; +} + # Static. if ($1 eq 'static' or $1 eq 'constructor') { $staticOrContructorSeen = 1; @@ -1686,14 +1694,15 @@ push(@currentFunctionNames, $currentClass); push(@currentFunctionDepths, $bracesDepth); push(@currentFunctionStartLines, $.); -} elsif ($getterJustSeen or $setterJustSeen) { +} elsif ($getterJustSeen or $setterJustSeen or $asyncJustSeen) { $word = "get $word" if $getterJustSeen; $word = "set $word" if $setterJustSeen; +$word = "async $word" if $asyncJustSeen; push(@currentIdentifiers, $word); my $mode = $currentParsingMode[$#currentParsingMode]; -my $currentFunction = join('.', (@currentScopes, ($mode eq 'class') ? "prototype" : "", @currentIdentifiers)); +my $currentFunction = join('.', (@currentScopes, ($mode eq 'class' and !$staticOrContructorSeen) ? "prototype" : "", @currentIdentifiers)); $currentFunction =~ s/\.{2,}/\./g; # Removes consecutive periods. push(@currentParsingMode, "function"); @@ -1719,6 +1728,7 @@ $functionJustSeen = 0; $getterJustSeen = 0; $setterJustSeen = 0; +$asyncJustSeen = 0; $assignmentJustSeen = 0; } } Modified: trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/_javascript__unittests-expected.txt (253489 => 253490) --- trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/_javascript__unittests-expected.txt 2019-12-13 19:18:37 UTC (rev 253489) +++ trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/_javascript__unittests-expected.txt 2019-12-13 19:31:17 UTC (rev 253490) @@ -261,6 +261,36 @@ '222', '239', 'IssueWithMapGetAndSet' +], +[ + 242, + 244, + 'AsyncFuncClass.async staticAsync' +], +[ + 246, + 248, + 'AsyncFuncClass.prototype.async methodAsync' +], +[ + 250, + 252, +
[webkit-changes] [253489] trunk
Title: [253489] trunk Revision 253489 Author wilan...@apple.com Date 2019-12-13 11:18:37 -0800 (Fri, 13 Dec 2019) Log Message IsLoggedIn: Abstract data type for IsLoggedIn state https://bugs.webkit.org/show_bug.cgi?id=205041 Reviewed by Chris Dumez. Source/WebCore: New API tests added. * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * page/LoggedInStatus.cpp: Added. (WebCore::LoggedInStatus::create): (WebCore::LoggedInStatus::LoggedInStatus): (WebCore::LoggedInStatus::setTimeToLive): (WebCore::LoggedInStatus::hasExpired const): (WebCore::LoggedInStatus::expiry const): * page/LoggedInStatus.h: Added. (WebCore::LoggedInStatus::registrableDomain const): (WebCore::LoggedInStatus::username const): (WebCore::LoggedInStatus::credentialTokenType const): (WebCore::LoggedInStatus::authenticationType const): (WebCore::LoggedInStatus::loggedInTime const): Tools: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/LoggedInStatus.cpp: Added. (TestWebKitAPI::TEST): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj Added Paths trunk/Source/WebCore/page/LoggedInStatus.cpp trunk/Source/WebCore/page/LoggedInStatus.h trunk/Tools/TestWebKitAPI/Tests/WebCore/LoggedInStatus.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (253488 => 253489) --- trunk/Source/WebCore/ChangeLog 2019-12-13 19:07:51 UTC (rev 253488) +++ trunk/Source/WebCore/ChangeLog 2019-12-13 19:18:37 UTC (rev 253489) @@ -1,3 +1,28 @@ +2019-12-13 John Wilander + +IsLoggedIn: Abstract data type for IsLoggedIn state +https://bugs.webkit.org/show_bug.cgi?id=205041 + + +Reviewed by Chris Dumez. + +New API tests added. + +* Sources.txt: +* WebCore.xcodeproj/project.pbxproj: +* page/LoggedInStatus.cpp: Added. +(WebCore::LoggedInStatus::create): +(WebCore::LoggedInStatus::LoggedInStatus): +(WebCore::LoggedInStatus::setTimeToLive): +(WebCore::LoggedInStatus::hasExpired const): +(WebCore::LoggedInStatus::expiry const): +* page/LoggedInStatus.h: Added. +(WebCore::LoggedInStatus::registrableDomain const): +(WebCore::LoggedInStatus::username const): +(WebCore::LoggedInStatus::credentialTokenType const): +(WebCore::LoggedInStatus::authenticationType const): +(WebCore::LoggedInStatus::loggedInTime const): + 2019-12-13 Per Arne Vollan [iOS] Deny mach lookup access to "*.apple-extension-service" in the WebContent process Modified: trunk/Source/WebCore/Sources.txt (253488 => 253489) --- trunk/Source/WebCore/Sources.txt 2019-12-13 19:07:51 UTC (rev 253488) +++ trunk/Source/WebCore/Sources.txt 2019-12-13 19:18:37 UTC (rev 253489) @@ -1608,6 +1608,7 @@ page/History.cpp page/IntersectionObserver.cpp page/IntersectionObserverEntry.cpp +page/LoggedInStatus.cpp page/Location.cpp page/MemoryRelease.cpp page/MouseEventWithHitTestResults.cpp Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (253488 => 253489) --- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2019-12-13 19:07:51 UTC (rev 253488) +++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2019-12-13 19:18:37 UTC (rev 253489) @@ -1991,6 +1991,7 @@ 6B0A07F221FA4B5C00D57391 /* AdClickAttribution.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B0A07F021FA4B5C00D57391 /* AdClickAttribution.h */; settings = {ATTRIBUTES = (Private, ); }; }; 6B1F48112298A37E00DE8B82 /* CrossSiteNavigationDataTransfer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B1F480F22989EC400DE8B82 /* CrossSiteNavigationDataTransfer.h */; settings = {ATTRIBUTES = (Private, ); }; }; 6B3480940EEF50D400AC1B41 /* NativeImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B3480920EEF50D400AC1B41 /* NativeImage.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 6B4D412D23983F88002494C2 /* LoggedInStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B4D412B23983F88002494C2 /* LoggedInStatus.h */; settings = {ATTRIBUTES = (Private, ); }; }; 6B4E8613221B713F0022F389 /* RegistrableDomain.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B4E8612221B713F0022F389 /* RegistrableDomain.h */; settings = {ATTRIBUTES = (Private, ); }; }; 6B507A24234BF34100BE7C62 /* NavigatorIsLoggedIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B507A21234BF34100BE7C62 /* NavigatorIsLoggedIn.h */; }; 6B693A2E1C51A82E00B03BEF /* ResourceLoadObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B693A2D1C51A82E00B03BEF /* ResourceLoadObserver.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -9210,6 +9211,8 @@ 6B0A07F121FA4B5C00D57391 /* AdClickAttribution.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AdClickAttribution.cpp; sourceTree = ""; }; 6B1F480F22989EC400DE8B82 /*
[webkit-changes] [253488] trunk
Title: [253488] trunk Revision 253488 Author pvol...@apple.com Date 2019-12-13 11:07:51 -0800 (Fri, 13 Dec 2019) Log Message [iOS] Deny mach lookup access to "*.apple-extension-service" in the WebContent process https://bugs.webkit.org/show_bug.cgi?id=205134 Reviewed by Brent Fulgham. Source/WebCore: Add method to Internals checking mach lookup access to a given XPC service name. Test: fast/sandbox/ios/sandbox-mach-lookup.html * testing/Internals.cpp: (WebCore::Internals::hasSandboxMachLookupAccessToXPCServiceName): * testing/Internals.h: * testing/Internals.idl: Source/WebKit: Remove mach lookup access to "*.apple-extension-service" in the sandbox. * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Source/WTF: Add enum value for the XPC service name filter type. * wtf/spi/darwin/SandboxSPI.h: LayoutTests: Add test for mach lookup access to "*.apple-extension-service". * TestExpectations: * fast/sandbox: Added. * fast/sandbox/ios: Added. * fast/sandbox/ios/sandbox-mach-lookup-expected.txt: Added. * fast/sandbox/ios/sandbox-mach-lookup.html: Added. * platform/ios-device-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/platform/ios-device-wk2/TestExpectations trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/spi/darwin/SandboxSPI.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/testing/Internals.cpp trunk/Source/WebCore/testing/Internals.h trunk/Source/WebCore/testing/Internals.idl trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb Added Paths trunk/LayoutTests/fast/sandbox/ trunk/LayoutTests/fast/sandbox/ios/ trunk/LayoutTests/fast/sandbox/ios/sandbox-mach-lookup-expected.txt trunk/LayoutTests/fast/sandbox/ios/sandbox-mach-lookup.html Diff Modified: trunk/LayoutTests/ChangeLog (253487 => 253488) --- trunk/LayoutTests/ChangeLog 2019-12-13 18:58:04 UTC (rev 253487) +++ trunk/LayoutTests/ChangeLog 2019-12-13 19:07:51 UTC (rev 253488) @@ -1,3 +1,20 @@ +2019-12-13 Per Arne Vollan + +[iOS] Deny mach lookup access to "*.apple-extension-service" in the WebContent process +https://bugs.webkit.org/show_bug.cgi?id=205134 + + +Reviewed by Brent Fulgham. + +Add test for mach lookup access to "*.apple-extension-service". + +* TestExpectations: +* fast/sandbox: Added. +* fast/sandbox/ios: Added. +* fast/sandbox/ios/sandbox-mach-lookup-expected.txt: Added. +* fast/sandbox/ios/sandbox-mach-lookup.html: Added. +* platform/ios-device-wk2/TestExpectations: + 2019-12-13 youenn fablet Help debugging flaky http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html Modified: trunk/LayoutTests/TestExpectations (253487 => 253488) --- trunk/LayoutTests/TestExpectations 2019-12-13 18:58:04 UTC (rev 253487) +++ trunk/LayoutTests/TestExpectations 2019-12-13 19:07:51 UTC (rev 253488) @@ -28,6 +28,7 @@ fast/forms/select/mac-wk2 [ Skip ] fast/forms/textarea/ios [ Skip ] fast/forms/watchos [ Skip ] +fast/sandbox/ios [ Skip ] fast/viewport/watchos [ Skip ] fast/visual-viewport/watchos [ Skip ] fast/visual-viewport/tiled-drawing [ Skip ] Added: trunk/LayoutTests/fast/sandbox/ios/sandbox-mach-lookup-expected.txt (0 => 253488) --- trunk/LayoutTests/fast/sandbox/ios/sandbox-mach-lookup-expected.txt (rev 0) +++ trunk/LayoutTests/fast/sandbox/ios/sandbox-mach-lookup-expected.txt 2019-12-13 19:07:51 UTC (rev 253488) @@ -0,0 +1,7 @@ +Regression tests for mach lookup sandbox changes on iOS + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS internals.hasSandboxMachLookupAccessToXPCServiceName("com.apple.WebKit.WebContent", "com.apple.apple-extension-service") is false + Added: trunk/LayoutTests/fast/sandbox/ios/sandbox-mach-lookup.html (0 => 253488) --- trunk/LayoutTests/fast/sandbox/ios/sandbox-mach-lookup.html (rev 0) +++ trunk/LayoutTests/fast/sandbox/ios/sandbox-mach-lookup.html 2019-12-13 19:07:51 UTC (rev 253488) @@ -0,0 +1,14 @@ + + + + +description('Regression tests for mach lookup sandbox changes on iOS'); + +if (window.internals) { +shouldBeFalse("internals.hasSandboxMachLookupAccessToXPCServiceName(\"com.apple.WebKit.WebContent\", \"com.apple.apple-extension-service\")"); +} + + + + Modified: trunk/LayoutTests/platform/ios-device-wk2/TestExpectations (253487 => 253488) --- trunk/LayoutTests/platform/ios-device-wk2/TestExpectations 2019-12-13 18:58:04 UTC (rev 253487) +++ trunk/LayoutTests/platform/ios-device-wk2/TestExpectations 2019-12-13 19:07:51 UTC (rev 253488) @@ -3,3 +3,4 @@ # See http://trac.webkit.org/wiki/TestExpectations for more information on this file. # +fast/sandbox/ios [ Pass ] Modified: trunk/Source/WTF/ChangeLog (253487 => 253488) --- trunk/Source/WTF/ChangeLog 2019-12-13 18:58:04 UTC (rev 253487) +++
[webkit-changes] [253487] trunk
Title: [253487] trunk Revision 253487 Author you...@apple.com Date 2019-12-13 10:58:04 -0800 (Fri, 13 Dec 2019) Log Message Help debugging flaky http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html https://bugs.webkit.org/show_bug.cgi?id=205209 Reviewed by Chris Dumez. Source/WebKit: Add a bunch of asserts that no pending activity is happening in the Cache Storage backend is happening when querying the backend representation, which is a debug tool. No change of behavior. * NetworkProcess/cache/CacheStorageEngine.cpp: (WebKit::CacheStorage::Engine::representation): * NetworkProcess/cache/CacheStorageEngineCache.h: (WebKit::CacheStorage::Cache::hasPendingOpeningCallbacks const): * NetworkProcess/cache/CacheStorageEngineCaches.cpp: (WebKit::CacheStorage::Caches::appendRepresentation const): LayoutTests: In case of error, query the cache representation. This will help debugging the flaky tests and ensure that no pending activity is happening in error cases. * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/cache-storage/page-cache-domcache-pending-promise.html trunk/LayoutTests/http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.h trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp Diff Modified: trunk/LayoutTests/ChangeLog (253486 => 253487) --- trunk/LayoutTests/ChangeLog 2019-12-13 18:39:40 UTC (rev 253486) +++ trunk/LayoutTests/ChangeLog 2019-12-13 18:58:04 UTC (rev 253487) @@ -1,3 +1,16 @@ +2019-12-13 youenn fablet + +Help debugging flaky http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html +https://bugs.webkit.org/show_bug.cgi?id=205209 + +Reviewed by Chris Dumez. + +In case of error, query the cache representation. +This will help debugging the flaky tests and ensure that no pending activity is happening in error cases. + +* http/tests/cache-storage/page-cache-domcache-pending-promise.html: +* http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: + 2019-12-13 Wenson Hsieh [Clipboard API] Sanitize HTML and image data written using clipboard.write Modified: trunk/LayoutTests/http/tests/cache-storage/page-cache-domcache-pending-promise.html (253486 => 253487) --- trunk/LayoutTests/http/tests/cache-storage/page-cache-domcache-pending-promise.html 2019-12-13 18:39:40 UTC (rev 253486) +++ trunk/LayoutTests/http/tests/cache-storage/page-cache-domcache-pending-promise.html 2019-12-13 18:58:04 UTC (rev 253487) @@ -52,8 +52,10 @@ testRunner.clearDOMCaches(); setTimeout(() => { -handle1 = setTimeout(() => { +handle1 = setTimeout(async () => { testFailed("Timed out while waiting for the cache to open"); +if (window.internals) +console.log(await internals.cacheStorageEngineRepresentation()); finishJSTest(); }, 2); caches.open('page-cache-test').then((_cache) => { Modified: trunk/LayoutTests/http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html (253486 => 253487) --- trunk/LayoutTests/http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html 2019-12-13 18:39:40 UTC (rev 253486) +++ trunk/LayoutTests/http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html 2019-12-13 18:58:04 UTC (rev 253487) @@ -25,7 +25,15 @@ finishJSTest(); } +const handle1 = setTimeout(async () => { +testFailed("Timed out while waiting for the cache to open"); +if (window.internals) +console.log(await internals.cacheStorageEngineRepresentation()); +finishJSTest(); +}, 1); + caches.open('test').then(() => { + clearTimeout(handle1); testPassed("Opened the cache"); shouldBeTrue("!!restoredFromPageCache"); finishJSTest(); Modified: trunk/Source/WebKit/ChangeLog (253486 => 253487) --- trunk/Source/WebKit/ChangeLog 2019-12-13 18:39:40 UTC (rev 253486) +++ trunk/Source/WebKit/ChangeLog 2019-12-13 18:58:04 UTC (rev 253487) @@ -1,3 +1,21 @@ +2019-12-13 youenn fablet + +Help debugging flaky http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html +https://bugs.webkit.org/show_bug.cgi?id=205209 + +Reviewed by Chris Dumez. + +Add a bunch of asserts that no pending activity is happening in the Cache Storage backend is happening +when querying the backend representation, which is a debug tool. +No change of behavior. + +* NetworkProcess/cache/CacheStorageEngine.cpp: +
[webkit-changes] [253486] trunk
Title: [253486] trunk Revision 253486 Author wenson_hs...@apple.com Date 2019-12-13 10:39:40 -0800 (Fri, 13 Dec 2019) Log Message [Clipboard API] Sanitize HTML and image data written using clipboard.write https://bugs.webkit.org/show_bug.cgi?id=205188 Reviewed by Darin Adler. Source/WebCore: Sanitizes HTML ("text/html") and image ("image/png") content when writing to the platform pasteboard using the clipboard API. See below for more details. Tests: editing/async-clipboard/sanitize-when-reading-markup.html editing/async-clipboard/sanitize-when-writing-image.html ClipboardTests.WriteSanitizedMarkup * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded): Add a new helper method to sanitize `m_data` after loading finishes, but before invoking the completion handler to notify the data source about the clipboard data. Currently, we support writing "text/plain", "text/uri-list", "text/html" and "image/png"; we sanitize HTML by stripping away hidden content such as comments, script, and event listeners, and sanitize image data by painting it into a new graphics context and re-encoding the rendered contents as an image. (WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::invokeCompletionHandler): * Modules/async-clipboard/ClipboardItemBindingsDataSource.h: * platform/PlatformPasteboard.h: * platform/cocoa/PasteboardCocoa.mm: (WebCore::cocoaTypeToImageType): * platform/ios/PlatformPasteboardIOS.mm: (WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite): Adjust these helpers to map "image/png" to the platform PNG type on iOS ("public.png"). The extra IncludeImageTypes argument was added to avoid considering "image/png" a web-safe type for writing and reading when exercising DataTransfer APIs, which currently don't support reading the "image/png" MIME type. In the future, we should consider adding support for image sanitization when using DataTransfer.setData or DataTransferItemList.add, and then remove this flag. (WebCore::createItemProviderRegistrationList): * platform/mac/LegacyNSPasteboardTypes.h: Add an entry for legacyPNGPasteboardType on macOS, and replace one use of it in PasteboardCocoa.mm. (WebCore::legacyPNGPasteboardType): * platform/mac/PlatformPasteboardMac.mm: (WebCore::PlatformPasteboard::write): (WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite): Likewise, map "image/png" to legacyPNGPasteboardType() on macOS, which was added above. (WebCore::createPasteboardItem): Tools: Adds an API test to verify that the markup written to the platform pasteboard on macOS and iOS is sanitized, and does not contain hidden content, such as script elements. * TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm: (-[TestWKWebView writeString:toClipboardWithType:]): (readMarkupFromPasteboard): * TestWebKitAPI/Tests/WebKitCocoa/clipboard.html: LayoutTests: * editing/async-clipboard/sanitize-when-reading-markup-expected.txt: Added. * editing/async-clipboard/sanitize-when-reading-markup.html: Added. Add a test to verify that markup is sanitized when copying and pasting across different security origins. * editing/async-clipboard/sanitize-when-writing-image-expected.txt: Added. * editing/async-clipboard/sanitize-when-writing-image.html: Added. Add a test to verify that "image/png" data is sanitized, and one or more written image data that cannot be decoded results in the promise being rejected. * platform/mac-wk1/TestExpectations: * platform/win/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk1/TestExpectations trunk/LayoutTests/platform/win/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h trunk/Source/WebCore/platform/PlatformPasteboard.h trunk/Source/WebCore/platform/cocoa/PasteboardCocoa.mm trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm trunk/Source/WebCore/platform/mac/LegacyNSPasteboardTypes.h trunk/Source/WebCore/platform/mac/PlatformPasteboardMac.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/clipboard.html Added Paths trunk/LayoutTests/editing/async-clipboard/sanitize-when-reading-markup-expected.txt trunk/LayoutTests/editing/async-clipboard/sanitize-when-reading-markup.html trunk/LayoutTests/editing/async-clipboard/sanitize-when-writing-image-expected.txt trunk/LayoutTests/editing/async-clipboard/sanitize-when-writing-image.html Diff Modified: trunk/LayoutTests/ChangeLog (253485 => 253486) --- trunk/LayoutTests/ChangeLog 2019-12-13 18:35:06 UTC (rev 253485) +++ trunk/LayoutTests/ChangeLog 2019-12-13 18:39:40 UTC (rev 253486) @@ -1,3 +1,25 @@ +2019-12-13 Wenson Hsieh + +[Clipboard
[webkit-changes] [253485] trunk/Source/WebKit
Title: [253485] trunk/Source/WebKit Revision 253485 Author simon.fra...@apple.com Date 2019-12-13 10:35:06 -0800 (Fri, 13 Dec 2019) Log Message Minor WKWebView.mm code rearrangement https://bugs.webkit.org/show_bug.cgi?id=205129 Reviewed by Tim Horton. Throw in some more #pragma marks and move some functions around, with the goal of having the implementation order mostly follow header order, and grouping related functions. * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _pageForTesting]): (-[WKWebView _page]): (-[WKWebView urlSchemeHandlerForURLScheme:]): (+[WKWebView handlesURLScheme:]): (-[WKWebView _resolutionForShareSheetImmediateCompletionForTesting]): (-[WKWebView createPDFWithConfiguration:completionHandler:]): (-[WKWebView createWebArchiveDataWithCompletionHandler:]): (toFindOptions): (-[WKWebView findString:withConfiguration:completionHandler:]): (-[WKWebView setMediaType:]): (-[WKWebView mediaType]): (-[WKWebView layoutSubviews]): (-[WKWebView scrollView]): (-[WKWebView _isShowingVideoPictureInPicture]): (-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]): (-[WKWebView _incrementFocusPreservationCount]): (-[WKWebView _decrementFocusPreservationCount]): (-[WKWebView _resetFocusPreservationCount]): (-[WKWebView _isRetainingActiveFocusedState]): (-[WKWebView _effectiveAppearanceIsDark]): (-[WKWebView _effectiveUserInterfaceLevelIsElevated]): (-[WKWebView _shouldAvoidResizingWhenInputViewBoundsChange]): (-[WKWebView _dragInteractionPolicy]): (-[WKWebView _setDragInteractionPolicy:]): (-[WKWebView _populateArchivedSubviews:]): (-[WKWebView _isBackground]): (-[WKWebView _setShouldSuppressFirstResponderChanges:]): (-[WKWebView _retainActiveFocusedState]): (-[WKWebView _becomeFirstResponderWithSelectionMovingForward:completionHandler:]): (-[WKWebView _snapshotLayerContentsForBackForwardListItem:]): (-[WKWebView _dataDetectionResults]): (-[WKWebView _accessibilityRetrieveSpeakSelectionContent]): (-[WKWebView _accessibilityDidGetSpeakSelectionContent:]): (-[WKWebView _viewportSizeForCSSViewportUnits]): (-[WKWebView _setViewportSizeForCSSViewportUnits:]): * UIProcess/API/Cocoa/WKWebViewPrivate.h: * UIProcess/Cocoa/SOAuthorization/SOAuthorizationCoordinator.mm: Unified sources build fix (seen while doing other stuff). Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h trunk/Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationCoordinator.mm Diff Modified: trunk/Source/WebKit/ChangeLog (253484 => 253485) --- trunk/Source/WebKit/ChangeLog 2019-12-13 18:13:21 UTC (rev 253484) +++ trunk/Source/WebKit/ChangeLog 2019-12-13 18:35:06 UTC (rev 253485) @@ -287,6 +287,55 @@ 2019-12-12 Simon Fraser +Minor WKWebView.mm code rearrangement +https://bugs.webkit.org/show_bug.cgi?id=205129 + +Reviewed by Tim Horton. + +Throw in some more #pragma marks and move some functions around, with the goal of +having the implementation order mostly follow header order, and grouping related functions. + +* UIProcess/API/Cocoa/WKWebView.mm: +(-[WKWebView _pageForTesting]): +(-[WKWebView _page]): +(-[WKWebView urlSchemeHandlerForURLScheme:]): +(+[WKWebView handlesURLScheme:]): +(-[WKWebView _resolutionForShareSheetImmediateCompletionForTesting]): +(-[WKWebView createPDFWithConfiguration:completionHandler:]): +(-[WKWebView createWebArchiveDataWithCompletionHandler:]): +(toFindOptions): +(-[WKWebView findString:withConfiguration:completionHandler:]): +(-[WKWebView setMediaType:]): +(-[WKWebView mediaType]): +(-[WKWebView layoutSubviews]): +(-[WKWebView scrollView]): +(-[WKWebView _isShowingVideoPictureInPicture]): +(-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]): +(-[WKWebView _incrementFocusPreservationCount]): +(-[WKWebView _decrementFocusPreservationCount]): +(-[WKWebView _resetFocusPreservationCount]): +(-[WKWebView _isRetainingActiveFocusedState]): +(-[WKWebView _effectiveAppearanceIsDark]): +(-[WKWebView _effectiveUserInterfaceLevelIsElevated]): +(-[WKWebView _shouldAvoidResizingWhenInputViewBoundsChange]): +(-[WKWebView _dragInteractionPolicy]): +(-[WKWebView _setDragInteractionPolicy:]): +(-[WKWebView _populateArchivedSubviews:]): +(-[WKWebView _isBackground]): +(-[WKWebView _setShouldSuppressFirstResponderChanges:]): +(-[WKWebView _retainActiveFocusedState]): +(-[WKWebView _becomeFirstResponderWithSelectionMovingForward:completionHandler:]): +(-[WKWebView _snapshotLayerContentsForBackForwardListItem:]): +(-[WKWebView _dataDetectionResults]): +(-[WKWebView _accessibilityRetrieveSpeakSelectionContent]): +(-[WKWebView _accessibilityDidGetSpeakSelectionContent:]): +
[webkit-changes] [253484] trunk
Title: [253484] trunk Revision 253484 Author katherine_che...@apple.com Date 2019-12-13 10:13:21 -0800 (Fri, 13 Dec 2019) Log Message Create WebKit API calls for ITP Data https://bugs.webkit.org/show_bug.cgi?id=204932 Reviewed by Alex Christensen. Source/WebKit: This patch exposes ITP data captured in the network process through the Objective C API using two new classes: _WKResourceLoadStatisticsFirstParty and _WKResourceLoadStatisticsThirdParty. * NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp: * NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h: * NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp: (WebKit::ensureThirdPartyDataForSpecificFirstPartyDomain): (WebKit::getThirdPartyDataForSpecificFirstPartyDomains): (WebKit::ResourceLoadStatisticsMemoryStore::aggregatedThirdPartyData const): * NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h: * NetworkProcess/Classifier/ResourceLoadStatisticsStore.h: Updated mentions of ThirdPartyData to include the WebResourceLoadStatisticsStore:: class specifier after relocating ThirdPartyData. * NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::aggregatedThirdPartyData): * NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h: Updated the data to be sent via completion handler from WebResourceLoadStatisticsStore so that calls to aggregatedThirdPartyData() are happening on a background thread. * Shared/API/APIObject.h: * Shared/Cocoa/APIObject.mm: (API::Object::newObject): * UIProcess/API/APIResourceLoadStatisticsFirstParty.h: Added. * UIProcess/API/APIResourceLoadStatisticsThirdParty.h: Added. * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore _getResourceLoadStatisticsDataSummary:]): * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: * UIProcess/API/Cocoa/_WKResourceLoadStatisticsFirstParty.h: Added. * UIProcess/API/Cocoa/_WKResourceLoadStatisticsFirstParty.mm: Added. (-[_WKResourceLoadStatisticsFirstParty dealloc]): (-[_WKResourceLoadStatisticsFirstParty firstPartyDomain]): (-[_WKResourceLoadStatisticsFirstParty storageAccess]): (-[_WKResourceLoadStatisticsFirstParty _apiObject]): * UIProcess/API/Cocoa/_WKResourceLoadStatisticsFirstPartyInternal.h: Added. * UIProcess/API/Cocoa/_WKResourceLoadStatisticsThirdParty.h: Added. * UIProcess/API/Cocoa/_WKResourceLoadStatisticsThirdParty.mm: Added. (-[_WKResourceLoadStatisticsThirdParty dealloc]): (-[_WKResourceLoadStatisticsThirdParty thirdPartyDomain]): (-[_WKResourceLoadStatisticsThirdParty underFirstParties]): (-[_WKResourceLoadStatisticsThirdParty _apiObject]): * UIProcess/API/Cocoa/_WKResourceLoadStatisticsThirdPartyInternal.h: Added. _WKResourceLoadStatisticsFirstParty and _WKResourceLoadStatisticsThirdParty represent first and third party domains respectively which hold ITP data and are strongly typed to ensure the correct data is being exposed via API. The function and parameter names for storage access specify "third party" because each WKITPFirstParty holds data relevent to a specific third party and storage access would not make sense in just a first party context. * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::getResourceLoadStatisticsDataSummary): * NetworkProcess/NetworkProcess.h: * NetworkProcess/NetworkProcess.messages.in: * UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::getResourceLoadStatisticsDataSummary): * UIProcess/Network/NetworkProcessProxy.h: * UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::getResourceLoadStatisticsDataSummary): * UIProcess/WebsiteData/WebsiteDataStore.h: * WebKit.xcodeproj/project.pbxproj: Tools: Added a test to check that the ITP data summary was being properly aggregated and sent to the UIProcess, and to make sure the API works as expected. Added interface declarations to the file to allow for use of the _WKResourceLoadStatisticsFirstParty and _WKResourceLoadStatisticsThirdParty classes without having to import the header files. * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm: (TEST): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h trunk/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h trunk/Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp trunk/Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp trunk/Source/WebKit/NetworkProcess/NetworkProcess.h trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in trunk/Source/WebKit/Shared/API/APIObject.h trunk/Source/WebKit/Shared/Cocoa/APIObject.mm
[webkit-changes] [253483] trunk
Title: [253483] trunk Revision 253483 Author cdu...@apple.com Date 2019-12-13 09:53:34 -0800 (Fri, 13 Dec 2019) Log Message Behavior of [[GetOwnProperty]] for cross-origin windows is not spec-compliant https://bugs.webkit.org/show_bug.cgi?id=205184 Reviewed by Darin Adler. LayoutTests/imported/w3c: Rebaseline WPT test now that more checks are passing. * web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt: Source/WebCore: Behavior of [[GetOwnProperty]] for cross-origin windows is not spec-compliant: - https://html.spec.whatwg.org/#crossorigingetownpropertyhelper-(-o,-p-) We should be able to return frames by name, even if their name conflict with the name of a same-origin window property (e.g. "close"). Previously, we would throw a SecurityError in this case. No new tests, rebaselined existing test. * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): LayoutTests: * http/tests/security/document-all-expected.txt: The test is accessing the "alert" property on a cross-origin window. We used to throw a SecurityError, but we now return a Window object since there is a Window whose name is "alert". The test still passes as it is not able to call alert() cross-origin. * http/tests/security/xss-DENIED-window-name-navigator-expected.txt: * http/tests/security/xss-DENIED-window-name-navigator.html: Update test to use console.log() to print the result instead of alert() since alert() is not allowed in a sandbox iframe. I updated the expectation so that top.navigator returns the window with the name "navigator" instead of undefined, as per the behavior change in this patch. I have verified that our behavior on this test is consistent with Firefox and Chrome. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/security/document-all-expected.txt trunk/LayoutTests/http/tests/security/xss-DENIED-window-name-navigator-expected.txt trunk/LayoutTests/http/tests/security/xss-DENIED-window-name-navigator.html trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp Diff Modified: trunk/LayoutTests/ChangeLog (253482 => 253483) --- trunk/LayoutTests/ChangeLog 2019-12-13 17:49:53 UTC (rev 253482) +++ trunk/LayoutTests/ChangeLog 2019-12-13 17:53:34 UTC (rev 253483) @@ -1,3 +1,22 @@ +2019-12-13 Chris Dumez + +Behavior of [[GetOwnProperty]] for cross-origin windows is not spec-compliant +https://bugs.webkit.org/show_bug.cgi?id=205184 + +Reviewed by Darin Adler. + +* http/tests/security/document-all-expected.txt: +The test is accessing the "alert" property on a cross-origin window. We used to throw a SecurityError, +but we now return a Window object since there is a Window whose name is "alert". The test still passes +as it is not able to call alert() cross-origin. + +* http/tests/security/xss-DENIED-window-name-navigator-expected.txt: +* http/tests/security/xss-DENIED-window-name-navigator.html: +Update test to use console.log() to print the result instead of alert() since alert() is not allowed +in a sandbox iframe. I updated the expectation so that top.navigator returns the window with the +name "navigator" instead of undefined, as per the behavior change in this patch. I have verified that +our behavior on this test is consistent with Firefox and Chrome. + 2019-12-13 Carlos Alberto Lopez Perez Fix some errors on the TestExpectations files. Modified: trunk/LayoutTests/http/tests/security/document-all-expected.txt (253482 => 253483) --- trunk/LayoutTests/http/tests/security/document-all-expected.txt 2019-12-13 17:49:53 UTC (rev 253482) +++ trunk/LayoutTests/http/tests/security/document-all-expected.txt 2019-12-13 17:53:34 UTC (rev 253483) @@ -1,2 +1,2 @@ -CONSOLE MESSAGE: line 1: SecurityError: Blocked a frame with origin "null" from accessing a cross-origin frame. Protocols, domains, and ports must match. +CONSOLE MESSAGE: line 1: TypeError: Illegal constructor Modified: trunk/LayoutTests/http/tests/security/xss-DENIED-window-name-navigator-expected.txt (253482 => 253483) --- trunk/LayoutTests/http/tests/security/xss-DENIED-window-name-navigator-expected.txt 2019-12-13 17:49:53 UTC (rev 253482) +++ trunk/LayoutTests/http/tests/security/xss-DENIED-window-name-navigator-expected.txt 2019-12-13 17:53:34 UTC (rev 253483) @@ -1,2 +1,2 @@ -CONSOLE MESSAGE: line 1: SecurityError: Sandbox access violation: Blocked a frame at "null" from accessing a cross-origin frame. The frame requesting access is sandboxed and lacks the "allow-same-origin" flag. +CONSOLE MESSAGE: line 1: PASS Modified: trunk/LayoutTests/http/tests/security/xss-DENIED-window-name-navigator.html (253482 => 253483)
[webkit-changes] [253480] trunk/Source/WebCore
Title: [253480] trunk/Source/WebCore Revision 253480 Author za...@apple.com Date 2019-12-13 09:10:37 -0800 (Fri, 13 Dec 2019) Log Message [LFC][IFC] Fix fast/text/simple-line-with-br.html https://bugs.webkit.org/show_bug.cgi?id=205207 Reviewed by Antti Koivisto. Apply https://www.w3.org/TR/css-text-3/#white-space-property's matrix to end-of-the-line whitespace. (Keep white-space: mormal no-wrap pre-wrap and pre-line content) * layout/inlineformatting/InlineLineBreaker.cpp: (WebCore::Layout::shouldKeepEndOfLineWhitespace): (WebCore::Layout::LineBreaker::breakingContextForInlineContent): (WebCore::Layout::LineBreaker::Content::isVisuallyEmptyWhitespaceContentOnly const): (WebCore::Layout::isTrailingWhitespaceWithPreWrap): Deleted. * layout/inlineformatting/InlineLineBreaker.h: * layout/inlineformatting/InlineLineBuilder.cpp: (WebCore::Layout::LineBuilder::InlineItemRun::isTrimmableWhitespace const): * layout/inlineformatting/LineLayoutContext.cpp: (WebCore::Layout::LineLayoutContext::placeInlineItem): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.h trunk/Source/WebCore/layout/inlineformatting/InlineLineBuilder.cpp trunk/Source/WebCore/layout/inlineformatting/LineLayoutContext.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (253479 => 253480) --- trunk/Source/WebCore/ChangeLog 2019-12-13 17:01:05 UTC (rev 253479) +++ trunk/Source/WebCore/ChangeLog 2019-12-13 17:10:37 UTC (rev 253480) @@ -1,3 +1,25 @@ +2019-12-13 Zalan Bujtas + +[LFC][IFC] Fix fast/text/simple-line-with-br.html +https://bugs.webkit.org/show_bug.cgi?id=205207 + + +Reviewed by Antti Koivisto. + +Apply https://www.w3.org/TR/css-text-3/#white-space-property's matrix to end-of-the-line whitespace. +(Keep white-space: mormal no-wrap pre-wrap and pre-line content) + +* layout/inlineformatting/InlineLineBreaker.cpp: +(WebCore::Layout::shouldKeepEndOfLineWhitespace): +(WebCore::Layout::LineBreaker::breakingContextForInlineContent): +(WebCore::Layout::LineBreaker::Content::isVisuallyEmptyWhitespaceContentOnly const): +(WebCore::Layout::isTrailingWhitespaceWithPreWrap): Deleted. +* layout/inlineformatting/InlineLineBreaker.h: +* layout/inlineformatting/InlineLineBuilder.cpp: +(WebCore::Layout::LineBuilder::InlineItemRun::isTrimmableWhitespace const): +* layout/inlineformatting/LineLayoutContext.cpp: +(WebCore::Layout::LineLayoutContext::placeInlineItem): + 2019-12-13 Chris Lord Implement OffscreenCanvas.convertToBlob Modified: trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp (253479 => 253480) --- trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp 2019-12-13 17:01:05 UTC (rev 253479) +++ trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp 2019-12-13 17:10:37 UTC (rev 253480) @@ -68,11 +68,14 @@ return false; } -static inline bool isTrailingWhitespaceWithPreWrap(const InlineItem& trailingInlineItem) +static inline bool shouldKeepEndOfLineWhitespace(const LineBreaker::Content& candidateRuns) { -if (!trailingInlineItem.isText()) -return false; -return trailingInlineItem.style().whiteSpace() == WhiteSpace::PreWrap && downcast(trailingInlineItem).isWhitespace(); +// Grab the style and check for white-space property to decided whether we should let this whitespace content overflow the current line. +// Note that the "keep" in the context means we let the whitespace content sit on the current line. +// It might very well get trimmed when we close the line (normal/nowrap/pre-line). +// See https://www.w3.org/TR/css-text-3/#white-space-property +auto whitespace = candidateRuns.runs()[*candidateRuns.firstTextRunIndex()].inlineItem.style().whiteSpace(); +return whitespace == WhiteSpace::Normal || whitespace == WhiteSpace::NoWrap || whitespace == WhiteSpace::PreWrap || whitespace == WhiteSpace::PreLine; } LineBreaker::BreakingContext LineBreaker::breakingContextForInlineContent(const Content& candidateRuns, const LineStatus& lineStatus) @@ -95,6 +98,11 @@ if (candidateRuns.width() <= lineStatus.availableWidth + lineStatus.trimmableWidth) return { BreakingContext::ContentWrappingRule::Keep, { } }; } +if (candidateRuns.isVisuallyEmptyWhitespaceContentOnly() && shouldKeepEndOfLineWhitespace(candidateRuns)) { +// This overflowing content apparently falls into the remove/hang end-of-line-spaces catergory. +// see https://www.w3.org/TR/css-text-3/#white-space-property matrix +return { BreakingContext::ContentWrappingRule::Keep, { } }; +} if (candidateRuns.hasTextContentOnly()) { auto& runs = candidateRuns.runs(); @@ -117,10 +125,6 @@ } // If we are not allowed to break this content,
[webkit-changes] [253479] trunk/LayoutTests
Title: [253479] trunk/LayoutTests Revision 253479 Author clo...@igalia.com Date 2019-12-13 09:01:05 -0800 (Fri, 13 Dec 2019) Log Message Fix some errors on the TestExpectations files. Unreviewed gardening. * TestExpectations: Add missing expectation. * platform/gtk/TestExpectations: Remove repeated entries Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/platform/gtk/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (253478 => 253479) --- trunk/LayoutTests/ChangeLog 2019-12-13 16:42:57 UTC (rev 253478) +++ trunk/LayoutTests/ChangeLog 2019-12-13 17:01:05 UTC (rev 253479) @@ -1,3 +1,12 @@ +2019-12-13 Carlos Alberto Lopez Perez + +Fix some errors on the TestExpectations files. + +Unreviewed gardening. + +* TestExpectations: Add missing expectation. +* platform/gtk/TestExpectations: Remove repeated entries + 2019-12-13 Chris Dumez Unreviewed, address flakiness of fast/scrolling/ios/scroll-event-from-scrollTo.html Modified: trunk/LayoutTests/TestExpectations (253478 => 253479) --- trunk/LayoutTests/TestExpectations 2019-12-13 16:42:57 UTC (rev 253478) +++ trunk/LayoutTests/TestExpectations 2019-12-13 17:01:05 UTC (rev 253479) @@ -1005,7 +1005,7 @@ webkit.org/b/191460 imported/w3c/web-platform-tests/css/css-grid/grid-items/anonymous-grid-item-001.html [ Skip ] webkit.org/b/191461 imported/w3c/web-platform-tests/css/css-grid/grid-items/percentage-size-subitems-001.html [ ImageOnlyFailure ] webkit.org/b/191462 imported/w3c/web-platform-tests/css/css-grid/grid-items/percentage-size-replaced-subitems-001.html [ ImageOnlyFailure ] -webkit.org/b/191463 imported/w3c/web-platform-tests/css/css-grid/grid-items/explicitly-sized-grid-item-as-table.html +webkit.org/b/191463 imported/w3c/web-platform-tests/css/css-grid/grid-items/explicitly-sized-grid-item-as-table.html [ ImageOnlyFailure ] webkit.org/b/191627 imported/w3c/web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001.html [ Failure ] webkit.org/b/149890 fast/css-grid-layout/grid-shorthands-style-format.html [ Failure ] webkit.org/b/191507 fast/css-grid-layout/positioned-grid-container-percentage-tracks.html [ Failure ] Modified: trunk/LayoutTests/platform/gtk/TestExpectations (253478 => 253479) --- trunk/LayoutTests/platform/gtk/TestExpectations 2019-12-13 16:42:57 UTC (rev 253478) +++ trunk/LayoutTests/platform/gtk/TestExpectations 2019-12-13 17:01:05 UTC (rev 253479) @@ -2970,10 +2970,6 @@ webkit.org/b/180581 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-003.html [ Failure ] webkit.org/b/180581 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-004.html [ Failure ] -webkit.org/b/180581 imported/w3c/web-platform-tests/css/css-shapes/animation/shape-image-threshold-interpolation.html [ Failure Pass ] -webkit.org/b/180581 imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-interpolation.html [ Failure Pass ] -webkit.org/b/180581 imported/w3c/web-platform-tests/css/css-shapes/animation/shape-outside-interpolation.html [ Failure Pass ] - webkit.org/b/139486 fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html [ ImageOnlyFailure ] webkit.org/b/124566 fast/dom/SelectorAPI/resig-SelectorsAPI-test.xhtml [ Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253478] trunk/Tools
Title: [253478] trunk/Tools Revision 253478 Author drou...@apple.com Date 2019-12-13 08:42:57 -0800 (Fri, 13 Dec 2019) Log Message Prefix CSS selectors with all applicable CSS groupings when generating a ChangeLog https://bugs.webkit.org/show_bug.cgi?id=205196 Reviewed by Jonathan Bedard. * Scripts/prepare-ChangeLog: (get_selector_line_ranges_for_css): * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/css_unittests-expected.txt: Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/prepare-ChangeLog trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/css_unittests-expected.txt Diff Modified: trunk/Tools/ChangeLog (253477 => 253478) --- trunk/Tools/ChangeLog 2019-12-13 16:29:31 UTC (rev 253477) +++ trunk/Tools/ChangeLog 2019-12-13 16:42:57 UTC (rev 253478) @@ -1,3 +1,14 @@ +2019-12-13 Devin Rousso + +Prefix CSS selectors with all applicable CSS groupings when generating a ChangeLog +https://bugs.webkit.org/show_bug.cgi?id=205196 + +Reviewed by Jonathan Bedard. + +* Scripts/prepare-ChangeLog: +(get_selector_line_ranges_for_css): +* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/css_unittests-expected.txt: + 2019-12-13 Carlos Garcia Campos [GTK] Several tests crashing after r247898 "Reorganize UIScriptController into platform-specific subclasses" Modified: trunk/Tools/Scripts/prepare-ChangeLog (253477 => 253478) --- trunk/Tools/Scripts/prepare-ChangeLog 2019-12-13 16:29:31 UTC (rev 253477) +++ trunk/Tools/Scripts/prepare-ChangeLog 2019-12-13 16:42:57 UTC (rev 253478) @@ -1876,6 +1876,7 @@ my @stack; my $context; my @currentParseMode = ("global"); +my @groupingStack; my $selectorBraces = 0; while (<$fileHandle>) { @@ -1895,11 +1896,20 @@ $inBrace -= 1; -pop(@currentParseMode); -my $name = pop(@stack); -my $startLine = pop(@stack); -my $endLine = $.; -push(@ranges, [$startLine, $endLine, $name]); +my $parseMode = pop(@currentParseMode); +if ($parseMode eq "selector") { +my $name = pop(@stack); +my $startLine = pop(@stack); +my $endLine = $.; +my $groupingPrefix = join(" ", @groupingStack); +if (length $groupingPrefix) { +$groupingPrefix .= " " +} +push(@ranges, [$startLine, $endLine, $groupingPrefix . $name]); +} elsif ($parseMode eq "media") { +pop(@groupingStack); +} + $selectorBraces = 0; } } elsif ($token eq "/*") { @@ -1913,7 +1923,7 @@ my $startLine = $.; if ($token =~ /^\@media/) { push(@currentParseMode, "media"); -push(@stack, ($startLine, $token)); +push(@groupingStack, $token); } else { push(@currentParseMode, "selector"); push(@stack, ($startLine, $token)); Modified: trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/css_unittests-expected.txt (253477 => 253478) --- trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/css_unittests-expected.txt 2019-12-13 16:29:31 UTC (rev 253477) +++ trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/css_unittests-expected.txt 2019-12-13 16:42:57 UTC (rev 253478) @@ -98,34 +98,24 @@ '.media-query::before' ], [ - '89', - '96', - '@media only screen and (max-width: 980px)' -], -[ '90', '90', - '.media-query a' + '@media only screen and (max-width: 980px) .media-query a' ], [ - '91', - '94', - '@media (-webkit-min-device-pixel-ratio: 2)' -], -[ '92', '92', - '.both a' + '@media only screen and (max-width: 980px) @media (-webkit-min-device-pixel-ratio: 2) .both a' ], [ '93', '93', - '.both b' + '@media only screen and (max-width: 980px) @media (-webkit-min-device-pixel-ratio: 2) .both b' ], [ '95', '95', - '.media-query b' + '@media only screen and (max-width: 980px) .media-query b' ], [ '98', ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253477] trunk/LayoutTests
Title: [253477] trunk/LayoutTests Revision 253477 Author cdu...@apple.com Date 2019-12-13 08:29:31 -0800 (Fri, 13 Dec 2019) Log Message Unreviewed, address flakiness of fast/scrolling/ios/scroll-event-from-scrollTo.html * fast/scrolling/ios/scroll-event-from-scrollTo.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/scrolling/ios/scroll-event-from-scrollTo.html Diff Modified: trunk/LayoutTests/ChangeLog (253476 => 253477) --- trunk/LayoutTests/ChangeLog 2019-12-13 16:24:47 UTC (rev 253476) +++ trunk/LayoutTests/ChangeLog 2019-12-13 16:29:31 UTC (rev 253477) @@ -1,5 +1,11 @@ 2019-12-13 Chris Dumez +Unreviewed, address flakiness of fast/scrolling/ios/scroll-event-from-scrollTo.html + +* fast/scrolling/ios/scroll-event-from-scrollTo.html: + +2019-12-13 Chris Dumez + Unreviewed, rebaseline a couple of iOS swiping tests after r253450 * platform/ios/swipe/main-frame-pinning-requirement-expected.txt: Modified: trunk/LayoutTests/fast/scrolling/ios/scroll-event-from-scrollTo.html (253476 => 253477) --- trunk/LayoutTests/fast/scrolling/ios/scroll-event-from-scrollTo.html 2019-12-13 16:24:47 UTC (rev 253476) +++ trunk/LayoutTests/fast/scrolling/ios/scroll-event-from-scrollTo.html 2019-12-13 16:29:31 UTC (rev 253477) @@ -24,15 +24,15 @@ window.addEventListener('scroll', function(e) { ++scrollEventCount; debug('Received scroll event ' + scrollEventCount); + window.setTimeout(function() { +shouldBe('scrollEventCount', '1'); +finishJSTest(); + }, 10); }, false); function onPageLoad() { testScrollListener(); -window.setTimeout(function() { - shouldBe('scrollEventCount', '1'); - finishJSTest(); -}, 10); // Scroll events are async. }; window.addEventListener('load', onPageLoad, false); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253476] trunk/LayoutTests
Title: [253476] trunk/LayoutTests Revision 253476 Author cdu...@apple.com Date 2019-12-13 08:24:47 -0800 (Fri, 13 Dec 2019) Log Message Unreviewed, rebaseline a couple of iOS swiping tests after r253450 * platform/ios/swipe/main-frame-pinning-requirement-expected.txt: * platform/ios/swipe/pushState-cached-back-swipe-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/swipe/main-frame-pinning-requirement-expected.txt trunk/LayoutTests/platform/ios/swipe/pushState-cached-back-swipe-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (253475 => 253476) --- trunk/LayoutTests/ChangeLog 2019-12-13 16:23:29 UTC (rev 253475) +++ trunk/LayoutTests/ChangeLog 2019-12-13 16:24:47 UTC (rev 253476) @@ -1,5 +1,12 @@ 2019-12-13 Chris Dumez +Unreviewed, rebaseline a couple of iOS swiping tests after r253450 + +* platform/ios/swipe/main-frame-pinning-requirement-expected.txt: +* platform/ios/swipe/pushState-cached-back-swipe-expected.txt: + +2019-12-13 Chris Dumez + Unreviewed, skip several SharedWorkers tests as we do not support this feature. * TestExpectations: Modified: trunk/LayoutTests/platform/ios/swipe/main-frame-pinning-requirement-expected.txt (253475 => 253476) --- trunk/LayoutTests/platform/ios/swipe/main-frame-pinning-requirement-expected.txt 2019-12-13 16:23:29 UTC (rev 253475) +++ trunk/LayoutTests/platform/ios/swipe/main-frame-pinning-requirement-expected.txt 2019-12-13 16:24:47 UTC (rev 253476) @@ -1,5 +1,6 @@ startSwipeGesture Failure. Should never begin a swipe, because we were in the middle of a scrolling gesture that started when the main frame was not pinned to the left. +willEndSwipe didEndSwipe completeSwipeGesture startSwipeGesture Modified: trunk/LayoutTests/platform/ios/swipe/pushState-cached-back-swipe-expected.txt (253475 => 253476) --- trunk/LayoutTests/platform/ios/swipe/pushState-cached-back-swipe-expected.txt 2019-12-13 16:23:29 UTC (rev 253475) +++ trunk/LayoutTests/platform/ios/swipe/pushState-cached-back-swipe-expected.txt 2019-12-13 16:24:47 UTC (rev 253476) @@ -1,6 +1,7 @@ startSwipeGesture didBeginSwipe completeSwipeGesture +willEndSwipe didEndSwipe didRemoveSwipeSnapshot ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253475] trunk/Source
Title: [253475] trunk/Source Revision 253475 Author commit-qu...@webkit.org Date 2019-12-13 08:23:29 -0800 (Fri, 13 Dec 2019) Log Message [GTK] WebKitGTK build hangs on g-ir-scanner https://bugs.webkit.org/show_bug.cgi?id=204715 This patch fixes the static initialization order problem introduced by Bug 204503. The patch replaces the static data members with statics that are constructed only upon first access (i.e., the 'construct on first use' idiom). Patch by Jim Mason on 2019-12-13 Reviewed by Carlos Garcia Campos. Source/_javascript_Core: * inspector/remote/RemoteInspector.h: * inspector/remote/glib/RemoteInspectorGlib.cpp: (Inspector::RemoteInspector::start): (Inspector::RemoteInspector::messageHandlers): * inspector/remote/glib/RemoteInspectorServer.cpp: (Inspector::RemoteInspectorServer::messageHandlers): (Inspector::RemoteInspectorServer::incomingConnectionCallback): * inspector/remote/glib/RemoteInspectorServer.h: Source/WebDriver: * SessionHost.h: * glib/SessionHostGlib.cpp: (WebDriver::SessionHost::messageHandlers): (WebDriver::SessionHost::connectToBrowser): Source/WebKit: * UIProcess/glib/RemoteInspectorClient.cpp: (WebKit::RemoteInspectorClient::messageHandlers): (WebKit::RemoteInspectorClient::RemoteInspectorClient): * UIProcess/glib/RemoteInspectorClient.h: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/inspector/remote/RemoteInspector.h trunk/Source/_javascript_Core/inspector/remote/glib/RemoteInspectorGlib.cpp trunk/Source/_javascript_Core/inspector/remote/glib/RemoteInspectorServer.cpp trunk/Source/_javascript_Core/inspector/remote/glib/RemoteInspectorServer.h trunk/Source/WebDriver/ChangeLog trunk/Source/WebDriver/SessionHost.h trunk/Source/WebDriver/glib/SessionHostGlib.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/glib/RemoteInspectorClient.cpp trunk/Source/WebKit/UIProcess/glib/RemoteInspectorClient.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (253474 => 253475) --- trunk/Source/_javascript_Core/ChangeLog 2019-12-13 16:22:44 UTC (rev 253474) +++ trunk/Source/_javascript_Core/ChangeLog 2019-12-13 16:23:29 UTC (rev 253475) @@ -1,3 +1,26 @@ +2019-12-13 Jim Mason + +[GTK] WebKitGTK build hangs on g-ir-scanner +https://bugs.webkit.org/show_bug.cgi?id=204715 + +This patch fixes the static initialization order problem +introduced by Bug 204503. + +The patch replaces the static data members with statics that +are constructed only upon first access (i.e., the 'construct +on first use' idiom). + +Reviewed by Carlos Garcia Campos. + +* inspector/remote/RemoteInspector.h: +* inspector/remote/glib/RemoteInspectorGlib.cpp: +(Inspector::RemoteInspector::start): +(Inspector::RemoteInspector::messageHandlers): +* inspector/remote/glib/RemoteInspectorServer.cpp: +(Inspector::RemoteInspectorServer::messageHandlers): +(Inspector::RemoteInspectorServer::incomingConnectionCallback): +* inspector/remote/glib/RemoteInspectorServer.h: + 2019-12-12 Yusuke Suzuki [JSC] Puts fixed-sized cells into IsoSubspace more Modified: trunk/Source/_javascript_Core/inspector/remote/RemoteInspector.h (253474 => 253475) --- trunk/Source/_javascript_Core/inspector/remote/RemoteInspector.h 2019-12-13 16:22:44 UTC (rev 253474) +++ trunk/Source/_javascript_Core/inspector/remote/RemoteInspector.h 2019-12-13 16:23:29 UTC (rev 253475) @@ -178,7 +178,7 @@ #endif #if USE(GLIB) void setupConnection(Ref&&); -static const SocketConnection::MessageHandlers s_messageHandlers; +static const SocketConnection::MessageHandlers& messageHandlers(); void receivedGetTargetListMessage(); void receivedSetupMessage(TargetID); Modified: trunk/Source/_javascript_Core/inspector/remote/glib/RemoteInspectorGlib.cpp (253474 => 253475) --- trunk/Source/_javascript_Core/inspector/remote/glib/RemoteInspectorGlib.cpp 2019-12-13 16:22:44 UTC (rev 253474) +++ trunk/Source/_javascript_Core/inspector/remote/glib/RemoteInspectorGlib.cpp 2019-12-13 16:23:29 UTC (rev 253475) @@ -66,7 +66,7 @@ RemoteInspector* inspector = static_cast(userData); GUniqueOutPtr error; if (GRefPtr connection = adoptGRef(g_socket_client_connect_to_host_finish(G_SOCKET_CLIENT(client), result, ( -inspector->setupConnection(SocketConnection::create(WTFMove(connection), s_messageHandlers, inspector)); +inspector->setupConnection(SocketConnection::create(WTFMove(connection), messageHandlers(), inspector)); else if (!g_error_matches(error.get(), G_IO_ERROR, G_IO_ERROR_CANCELLED)) g_warning("RemoteInspector failed to connect to inspector server at: %s: %s", g_getenv("WEBKIT_INSPECTOR_SERVER"), error->message); }, this); @@ -92,7 +92,9 @@ m_socketConnection = nullptr; } -const
[webkit-changes] [253474] trunk
Title: [253474] trunk Revision 253474 Author commit-qu...@webkit.org Date 2019-12-13 08:22:44 -0800 (Fri, 13 Dec 2019) Log Message Implement OffscreenCanvas.convertToBlob https://bugs.webkit.org/show_bug.cgi?id=202573 Patch by Chris Lord on 2019-12-13 Reviewed by Darin Adler. LayoutTests/imported/w3c: Update with fixed worker tests and SecurityError checks. See wpe issues #20694 and #20698. * web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob-expected.txt: * web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html: * web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w-expected.txt: * web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html: Source/WebCore: Implement OffscreenCanvas.convertToBlob. This also involves making isSupportedImageMIMETypeForEncoding safe to use off the main thread, and implementing OffscreenCanvas.securityOrigin. No new tests, these changes fix existing tests. * html/OffscreenCanvas.cpp: (WebCore::toEncodingMimeType): (WebCore::qualityFromDouble): (WebCore::OffscreenCanvas::convertToBlob): (WebCore::OffscreenCanvas::securityOrigin const): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * platform/MIMETypeRegistry.cpp: (WebCore::MIMETypeRegistry::createMIMETypeRegistryThreadGlobalData): (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): * platform/MIMETypeRegistry.h: (WebCore::MIMETypeRegistryThreadGlobalData::MIMETypeRegistryThreadGlobalData): (WebCore::MIMETypeRegistryThreadGlobalData::supportedImageMIMETypesForEncoding const): * platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::mimeTypeRegistryThreadGlobalData): * platform/ThreadGlobalData.h: * workers/WorkerGlobalScope.h: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html trunk/LayoutTests/imported/w3c/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/OffscreenCanvas.cpp trunk/Source/WebCore/html/OffscreenCanvas.h trunk/Source/WebCore/html/OffscreenCanvas.idl trunk/Source/WebCore/platform/MIMETypeRegistry.cpp trunk/Source/WebCore/platform/MIMETypeRegistry.h trunk/Source/WebCore/platform/ThreadGlobalData.cpp trunk/Source/WebCore/platform/ThreadGlobalData.h trunk/Source/WebCore/workers/WorkerGlobalScope.h Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (253473 => 253474) --- trunk/LayoutTests/imported/w3c/ChangeLog 2019-12-13 16:19:08 UTC (rev 253473) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2019-12-13 16:22:44 UTC (rev 253474) @@ -1,3 +1,18 @@ +2019-12-13 Chris Lord + +Implement OffscreenCanvas.convertToBlob +https://bugs.webkit.org/show_bug.cgi?id=202573 + +Reviewed by Darin Adler. + +Update with fixed worker tests and SecurityError checks. See wpe +issues #20694 and #20698. + +* web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob-expected.txt: +* web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html: +* web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w-expected.txt: +* web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html: + 2019-12-12 Chris Dumez Re-sync service-workers web-platform-tests from upstream Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob-expected.txt (253473 => 253474) --- trunk/LayoutTests/imported/w3c/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob-expected.txt 2019-12-13 16:19:08 UTC (rev 253473) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob-expected.txt 2019-12-13 16:22:44 UTC (rev 253474) @@ -1,8 +1,9 @@ -FAIL Test that convertToBlob with default type produces correct result offscreenCanvas.convertToBlob is not a function. (In 'offscreenCanvas.convertToBlob()', 'offscreenCanvas.convertToBlob' is undefined) -FAIL Test that convertToBlob with png produces correct result offscreenCanvas.convertToBlob is not a function. (In 'offscreenCanvas.convertToBlob({type: typeVal})', 'offscreenCanvas.convertToBlob' is undefined) -FAIL Test that convertToBlob with jpge produces correct result offscreenCanvas.convertToBlob is not a function. (In 'offscreenCanvas.convertToBlob({type: typeVal})', 'offscreenCanvas.convertToBlob' is undefined)
[webkit-changes] [253473] trunk/Source/WebCore
Title: [253473] trunk/Source/WebCore Revision 253473 Author cdu...@apple.com Date 2019-12-13 08:19:08 -0800 (Fri, 13 Dec 2019) Log Message Make DOMCacheStorage::retrieveCaches take a CompletionHandler https://bugs.webkit.org/show_bug.cgi?id=205204 Patch by youenn fablet on 2019-12-13 Reviewed by Chris Dumez. Covered by existing tests. * Modules/cache/DOMCacheEngine.cpp: (WebCore::DOMCacheEngine::errorToException): This will improve logging and will make sure we do not crash in debug in case of stopped error. * Modules/cache/DOMCacheStorage.cpp: (WebCore::DOMCacheStorage::retrieveCaches): Use of a completion handler to make sure we answer the caller, even with an error case. * Modules/cache/DOMCacheStorage.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/cache/DOMCacheEngine.cpp trunk/Source/WebCore/Modules/cache/DOMCacheStorage.cpp trunk/Source/WebCore/Modules/cache/DOMCacheStorage.h Diff Modified: trunk/Source/WebCore/ChangeLog (253472 => 253473) --- trunk/Source/WebCore/ChangeLog 2019-12-13 16:16:40 UTC (rev 253472) +++ trunk/Source/WebCore/ChangeLog 2019-12-13 16:19:08 UTC (rev 253473) @@ -1,3 +1,20 @@ +2019-12-13 youenn fablet + +Make DOMCacheStorage::retrieveCaches take a CompletionHandler +https://bugs.webkit.org/show_bug.cgi?id=205204 + +Reviewed by Chris Dumez. + +Covered by existing tests. + +* Modules/cache/DOMCacheEngine.cpp: +(WebCore::DOMCacheEngine::errorToException): +This will improve logging and will make sure we do not crash in debug in case of stopped error. +* Modules/cache/DOMCacheStorage.cpp: +(WebCore::DOMCacheStorage::retrieveCaches): +Use of a completion handler to make sure we answer the caller, even with an error case. +* Modules/cache/DOMCacheStorage.h: + 2019-12-13 Carlos Garcia Campos [HarfBuzz] WebKitWebProcess crashes when displaying a KaTeX formula Modified: trunk/Source/WebCore/Modules/cache/DOMCacheEngine.cpp (253472 => 253473) --- trunk/Source/WebCore/Modules/cache/DOMCacheEngine.cpp 2019-12-13 16:16:40 UTC (rev 253472) +++ trunk/Source/WebCore/Modules/cache/DOMCacheEngine.cpp 2019-12-13 16:19:08 UTC (rev 253473) @@ -48,6 +48,8 @@ return Exception { QuotaExceededError, "Quota exceeded"_s }; case Error::Internal: return Exception { TypeError, "Internal error"_s }; +case Error::Stopped: +return Exception { TypeError, "Context is stopped"_s }; default: ASSERT_NOT_REACHED(); return Exception { TypeError, "Connection stopped"_s }; Modified: trunk/Source/WebCore/Modules/cache/DOMCacheStorage.cpp (253472 => 253473) --- trunk/Source/WebCore/Modules/cache/DOMCacheStorage.cpp 2019-12-13 16:16:40 UTC (rev 253472) +++ trunk/Source/WebCore/Modules/cache/DOMCacheStorage.cpp 2019-12-13 16:19:08 UTC (rev 253473) @@ -141,11 +141,13 @@ return DOMCache::create(*scriptExecutionContext(), WTFMove(info.name), info.identifier, m_connection.copyRef()); } -void DOMCacheStorage::retrieveCaches(WTF::Function&&)>&& callback) +void DOMCacheStorage::retrieveCaches(CompletionHandler&&)>&& callback) { auto origin = this->origin(); -if (!origin) +if (!origin) { +callback(convertToExceptionAndLog(scriptExecutionContext(), DOMCacheEngine::Error::Stopped)); return; +} m_connection->retrieveCaches(*origin, m_updateCounter, [this, callback = WTFMove(callback), pendingActivity = makePendingActivity(*this)](CacheInfosOrError&& result) mutable { if (!m_isStopped) { Modified: trunk/Source/WebCore/Modules/cache/DOMCacheStorage.h (253472 => 253473) --- trunk/Source/WebCore/Modules/cache/DOMCacheStorage.h 2019-12-13 16:16:40 UTC (rev 253472) +++ trunk/Source/WebCore/Modules/cache/DOMCacheStorage.h 2019-12-13 16:19:08 UTC (rev 253473) @@ -55,7 +55,7 @@ void doOpen(const String& name, DOMPromiseDeferred>&&); void doRemove(const String&, DOMPromiseDeferred&&); void doSequentialMatch(DOMCache::RequestInfo&&, CacheQueryOptions&&, Ref&&); -void retrieveCaches(WTF::Function&&)>&&); +void retrieveCaches(CompletionHandler&&)>&&); Ref findCacheOrCreate(DOMCacheEngine::CacheInfo&&); Optional origin() const; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253472] trunk/LayoutTests
Title: [253472] trunk/LayoutTests Revision 253472 Author cdu...@apple.com Date 2019-12-13 08:16:40 -0800 (Fri, 13 Dec 2019) Log Message Unreviewed, skip several SharedWorkers tests as we do not support this feature. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (253471 => 253472) --- trunk/LayoutTests/ChangeLog 2019-12-13 16:02:25 UTC (rev 253471) +++ trunk/LayoutTests/ChangeLog 2019-12-13 16:16:40 UTC (rev 253472) @@ -1,3 +1,9 @@ +2019-12-13 Chris Dumez + +Unreviewed, skip several SharedWorkers tests as we do not support this feature. + +* TestExpectations: + 2019-12-13 Ali Juma Crash in RenderLayerBacking::updateCompositedBounds from using cleared WeakPtr from m_backingSharingLayers Modified: trunk/LayoutTests/TestExpectations (253471 => 253472) --- trunk/LayoutTests/TestExpectations 2019-12-13 16:02:25 UTC (rev 253471) +++ trunk/LayoutTests/TestExpectations 2019-12-13 16:16:40 UTC (rev 253472) @@ -453,13 +453,28 @@ # Skip workers tests that are timing out or are SharedWorker related only imported/w3c/web-platform-tests/workers/constructors/Worker/same-origin.html [ Skip ] imported/w3c/web-platform-tests/workers/data-url-shared.html [ Skip ] +imported/w3c/web-platform-tests/workers/examples/onconnect.any.html [ Skip ] +imported/w3c/web-platform-tests/workers/examples/onconnect.any.worker.html [ Skip ] imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/006.html [ Skip ] imported/w3c/web-platform-tests/workers/nested_worker.worker.html [ Skip ] imported/w3c/web-platform-tests/workers/opaque-origin.html [ Skip ] +imported/w3c/web-platform-tests/workers/semantics/interface-objects/003.any.html [ Skip ] +imported/w3c/web-platform-tests/workers/semantics/interface-objects/003.any.worker.html [ Skip ] +imported/w3c/web-platform-tests/workers/semantics/interface-objects/004.any.html [ Skip ] +imported/w3c/web-platform-tests/workers/semantics/interface-objects/004.any.worker.html [ Skip ] imported/w3c/web-platform-tests/workers/semantics/multiple-workers/003.html [ Skip ] imported/w3c/web-platform-tests/workers/semantics/multiple-workers/005.html [ Skip ] imported/w3c/web-platform-tests/workers/Worker_cross_origin_security_err.htm [ Skip ] +imported/w3c/web-platform-tests/workers/SharedWorker-MessageEvent-source.any.html [ Skip ] +imported/w3c/web-platform-tests/workers/SharedWorker-MessageEvent-source.any.worker.html [ Skip ] +imported/w3c/web-platform-tests/workers/SharedWorker-constructor.html [ Skip ] imported/w3c/web-platform-tests/workers/SharedWorker-detach-frame-in-error-event.html [ Skip ] +imported/w3c/web-platform-tests/workers/SharedWorker-exception-propagation.html [ Skip ] +imported/w3c/web-platform-tests/workers/SharedWorker-exception.html [ Skip ] +imported/w3c/web-platform-tests/workers/SharedWorker-replace-EventHandler.any.html [ Skip ] +imported/w3c/web-platform-tests/workers/SharedWorker-replace-EventHandler.any.worker.html [ Skip ] +imported/w3c/web-platform-tests/workers/SharedWorker-script-error.html [ Skip ] +imported/w3c/web-platform-tests/workers/SharedWorker-simple.html [ Skip ] imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-referrer.html [ Skip ] imported/w3c/web-platform-tests/workers/modules/dedicated-worker-options-credentials.html [ Skip ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253471] trunk/Source/WebKit
Title: [253471] trunk/Source/WebKit Revision 253471 Author pvol...@apple.com Date 2019-12-13 08:02:25 -0800 (Fri, 13 Dec 2019) Log Message [iOS] The AGX compiler service is incorrectly listed as a global name in sandbox https://bugs.webkit.org/show_bug.cgi?id=205189 Reviewed by Brent Fulgham. It should be a XPC service name. * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb Diff Modified: trunk/Source/WebKit/ChangeLog (253470 => 253471) --- trunk/Source/WebKit/ChangeLog 2019-12-13 15:18:48 UTC (rev 253470) +++ trunk/Source/WebKit/ChangeLog 2019-12-13 16:02:25 UTC (rev 253471) @@ -1,3 +1,14 @@ +2019-12-13 Per Arne Vollan + +[iOS] The AGX compiler service is incorrectly listed as a global name in sandbox +https://bugs.webkit.org/show_bug.cgi?id=205189 + +Reviewed by Brent Fulgham. + +It should be a XPC service name. + +* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: + 2019-12-12 Simon Fraser Move WKWebView code related to testing to new files, with new private "for testing" headers. Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb (253470 => 253471) --- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb 2019-12-13 15:18:48 UTC (rev 253470) +++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb 2019-12-13 16:02:25 UTC (rev 253471) @@ -970,8 +970,13 @@ (allow mach-lookup (require-all (extension "com.apple.webkit.extension.mach") -(global-name "com.apple.iphone.axserver-systemwide" "com.apple.tccd" "com.apple.AGXCompilerService" "com.apple.nehelper" "com.apple.nesessionmanager.content-filter" "com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI"))) +(global-name "com.apple.iphone.axserver-systemwide" "com.apple.tccd" "com.apple.nehelper" "com.apple.nesessionmanager.content-filter" "com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI"))) +(allow mach-lookup +(require-all +(extension "com.apple.webkit.extension.mach") +(xpc-service-name-prefix "com.apple.AGXCompilerService"))) + (media-capture-support) ;; These services have been identified as unused during living-on. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253470] trunk/Source/WebCore
Title: [253470] trunk/Source/WebCore Revision 253470 Author carlo...@webkit.org Date 2019-12-13 07:18:48 -0800 (Fri, 13 Dec 2019) Log Message [HarfBuzz] WebKitWebProcess crashes when displaying a KaTeX formula https://bugs.webkit.org/show_bug.cgi?id=204689 Reviewed by Carlos Alberto Lopez Perez. We are creating and caching an hb_font_t for the given FontPlatformData's FT_Face, but the face is not referenced so it is destroyed eventually while the hb_font_t is still alive. We need to keep a reference of the FT_Face while the hb_font_t is alive. * platform/graphics/freetype/FontPlatformDataFreeType.cpp: (WebCore::FontPlatformData::createOpenTypeMathHarfBuzzFont const): Create the hb_face_t with hb_ft_face_create_referenced() instead of hb_ft_face_create_cached(). Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (253469 => 253470) --- trunk/Source/WebCore/ChangeLog 2019-12-13 14:32:55 UTC (rev 253469) +++ trunk/Source/WebCore/ChangeLog 2019-12-13 15:18:48 UTC (rev 253470) @@ -1,3 +1,18 @@ +2019-12-13 Carlos Garcia Campos + +[HarfBuzz] WebKitWebProcess crashes when displaying a KaTeX formula +https://bugs.webkit.org/show_bug.cgi?id=204689 + +Reviewed by Carlos Alberto Lopez Perez. + +We are creating and caching an hb_font_t for the given FontPlatformData's FT_Face, but the face is not +referenced so it is destroyed eventually while the hb_font_t is still alive. We need to keep a reference of the +FT_Face while the hb_font_t is alive. + +* platform/graphics/freetype/FontPlatformDataFreeType.cpp: +(WebCore::FontPlatformData::createOpenTypeMathHarfBuzzFont const): Create the hb_face_t with +hb_ft_face_create_referenced() instead of hb_ft_face_create_cached(). + 2019-12-13 Ali Juma Crash in RenderLayerBacking::updateCompositedBounds from using cleared WeakPtr from m_backingSharingLayers Modified: trunk/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp (253469 => 253470) --- trunk/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp 2019-12-13 14:32:55 UTC (rev 253469) +++ trunk/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp 2019-12-13 15:18:48 UTC (rev 253470) @@ -279,7 +279,7 @@ if (!ftFace) return nullptr; -HbUniquePtr face(hb_ft_face_create_cached(ftFace)); +HbUniquePtr face(hb_ft_face_create_referenced(ftFace)); if (!hb_ot_math_has_data(face.get())) return nullptr; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [253469] trunk
Title: [253469] trunk Revision 253469 Author aj...@chromium.org Date 2019-12-13 06:32:55 -0800 (Fri, 13 Dec 2019) Log Message Crash in RenderLayerBacking::updateCompositedBounds from using cleared WeakPtr from m_backingSharingLayers https://bugs.webkit.org/show_bug.cgi?id=204648 Reviewed by Simon Fraser. Source/WebCore: RenderLayerBacking's clearBackingSharingProviders clears layers' backingSharingProviders unconditionally, even when a layer's backingSharingProvider is some other RenderLayerBacking's owning layer. This leaves the layer in a state where its backingProviderLayer is null, even though it appears in the other RenderLayerBacking's m_backingSharingLayers, which leads to a crash if this layer is destroyed and the other RenderLayerBacking tries to use its pointer to this layer. Avoid this inconsistency by making clearBackingSharingProviders check whether a layer's backingSharingProvider is the current RenderLayerBacking's owner, before clearing it. Test: compositing/shared-backing/move-sharing-child.html * rendering/RenderLayerBacking.cpp: (WebCore::clearBackingSharingLayerProviders): (WebCore::RenderLayerBacking::setBackingSharingLayers): (WebCore::RenderLayerBacking::clearBackingSharingLayers): LayoutTests: * compositing/shared-backing/move-sharing-child-expected.txt: Added. * compositing/shared-backing/move-sharing-child.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderLayerBacking.cpp Added Paths trunk/LayoutTests/compositing/shared-backing/move-sharing-child-expected.txt trunk/LayoutTests/compositing/shared-backing/move-sharing-child.html Diff Modified: trunk/LayoutTests/ChangeLog (253468 => 253469) --- trunk/LayoutTests/ChangeLog 2019-12-13 13:47:50 UTC (rev 253468) +++ trunk/LayoutTests/ChangeLog 2019-12-13 14:32:55 UTC (rev 253469) @@ -1,3 +1,13 @@ +2019-12-13 Ali Juma + +Crash in RenderLayerBacking::updateCompositedBounds from using cleared WeakPtr from m_backingSharingLayers +https://bugs.webkit.org/show_bug.cgi?id=204648 + +Reviewed by Simon Fraser. + +* compositing/shared-backing/move-sharing-child-expected.txt: Added. +* compositing/shared-backing/move-sharing-child.html: Added. + 2019-12-13 Carlos Garcia Campos [GTK] Several tests crashing after r247898 "Reorganize UIScriptController into platform-specific subclasses" Added: trunk/LayoutTests/compositing/shared-backing/move-sharing-child-expected.txt (0 => 253469) --- trunk/LayoutTests/compositing/shared-backing/move-sharing-child-expected.txt (rev 0) +++ trunk/LayoutTests/compositing/shared-backing/move-sharing-child-expected.txt 2019-12-13 14:32:55 UTC (rev 253469) @@ -0,0 +1,3 @@ +This test should not crash or assert. + + Added: trunk/LayoutTests/compositing/shared-backing/move-sharing-child.html (0 => 253469) --- trunk/LayoutTests/compositing/shared-backing/move-sharing-child.html (rev 0) +++ trunk/LayoutTests/compositing/shared-backing/move-sharing-child.html 2019-12-13 14:32:55 UTC (rev 253469) @@ -0,0 +1,75 @@ + + + Tests that there is no crash when a layer's backing provider layer changes + and the layer is then removed. + + + + .positioned { + position: absolute; + left: 25px; + width: 100px; + height: 100px; + } + + .composited { + transform: translateZ(0); + background-color: blue; + } + + .stackingContext { + position: absolute; + z-index: 0; + } + + #child1 { + background-color: orange; + } + + #child2 { + background-color: yellow; + } + + #grandchild { + background-color: pink; + } + + #container { + background-color: green; + } + + + +if (window.testRunner) { +testRunner.dumpAsText(); +testRunner.waitUntilDone(); +} + +function triggerLayout() { +document.body.scrollTop; +} + +window._onload_ = function() { +triggerLayout(); + +document.getElementById('container').classList.add("stackingContext"); +document.getElementById('child1').classList.add("composited"); +triggerLayout(); + +document.getElementById('grandchild').classList.remove("positioned"); +triggerLayout(); + +if (window.testRunner) +testRunner.notifyDone(); +} + + +This test should not crash or assert. + + + + + + + + Modified: trunk/Source/WebCore/ChangeLog (253468 => 253469) --- trunk/Source/WebCore/ChangeLog 2019-12-13 13:47:50 UTC (rev 253468) +++ trunk/Source/WebCore/ChangeLog 2019-12-13 14:32:55 UTC (rev 253469) @@ -1,3 +1,30 @@ +2019-12-13 Ali Juma + +Crash in RenderLayerBacking::updateCompositedBounds from using cleared WeakPtr from m_backingSharingLayers +https://bugs.webkit.org/show_bug.cgi?id=204648 + +Reviewed by Simon Fraser. + +RenderLayerBacking's
[webkit-changes] [253468] trunk/Source/WebCore
Title: [253468] trunk/Source/WebCore Revision 253468 Author za...@apple.com Date 2019-12-13 05:47:50 -0800 (Fri, 13 Dec 2019) Log Message [LFC][IFC] Fix fast/text/simple-line-with-multiple-renderers.html https://bugs.webkit.org/show_bug.cgi?id=205193 Reviewed by Antti Koivisto. Use LazyLineBreakIterator to find out if 2 (visually)adjacent non-whitespace inline items are on a soft breaking opportunity. * layout/inlineformatting/InlineLineBreaker.cpp: (WebCore::Layout::endsWithBreakingOpportunity): (WebCore::Layout::LineBreaker::Content::isAtContentBoundary): * layout/inlineformatting/InlineTextItem.cpp: (WebCore::Layout::moveToNextBreakablePosition): * layout/inlineformatting/text/TextUtil.cpp: (WebCore::Layout::TextUtil::findNextBreakablePosition): * layout/inlineformatting/text/TextUtil.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp trunk/Source/WebCore/layout/inlineformatting/InlineTextItem.cpp trunk/Source/WebCore/layout/inlineformatting/text/TextUtil.cpp trunk/Source/WebCore/layout/inlineformatting/text/TextUtil.h Diff Modified: trunk/Source/WebCore/ChangeLog (253467 => 253468) --- trunk/Source/WebCore/ChangeLog 2019-12-13 10:54:33 UTC (rev 253467) +++ trunk/Source/WebCore/ChangeLog 2019-12-13 13:47:50 UTC (rev 253468) @@ -1,3 +1,23 @@ +2019-12-13 Zalan Bujtas + +[LFC][IFC] Fix fast/text/simple-line-with-multiple-renderers.html +https://bugs.webkit.org/show_bug.cgi?id=205193 + + +Reviewed by Antti Koivisto. + +Use LazyLineBreakIterator to find out if 2 (visually)adjacent non-whitespace inline items are +on a soft breaking opportunity. + +* layout/inlineformatting/InlineLineBreaker.cpp: +(WebCore::Layout::endsWithBreakingOpportunity): +(WebCore::Layout::LineBreaker::Content::isAtContentBoundary): +* layout/inlineformatting/InlineTextItem.cpp: +(WebCore::Layout::moveToNextBreakablePosition): +* layout/inlineformatting/text/TextUtil.cpp: +(WebCore::Layout::TextUtil::findNextBreakablePosition): +* layout/inlineformatting/text/TextUtil.h: + 2019-12-13 Carlos Garcia Campos Uninitialized variables in RenderLayer Modified: trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp (253467 => 253468) --- trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp 2019-12-13 10:54:33 UTC (rev 253467) +++ trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp 2019-12-13 13:47:50 UTC (rev 253468) @@ -223,6 +223,30 @@ return LeftSide { hyphenLocation, trailingPartialRunWidthWithHyphen, true }; } +static bool endsWithBreakingOpportunity(const InlineTextItem& previousTextItem, const InlineTextItem& nextInlineTextItem) +{ +ASSERT(!previousTextItem.isWhitespace()); +ASSERT(!nextInlineTextItem.isWhitespace()); +// When both these non-whitespace runs belong to the same layout box, it's guaranteed that +// they are split at a soft breaking opportunity. See InlineTextItem::moveToNextBreakablePosition. +if (() == ()) +return true; +// Now we need to collect at least 3 adjacent characters to be able to make a descision whether the previous text item ends with breaking opportunity. +// [ex-][ample] <- second to last[x] last[-] current[a] +// We need at least 1 character in the current inline text item and 2 more from previous inline items. +auto previousContent = previousTextItem.layoutBox().textContext()->content; +auto lineBreakIterator = LazyLineBreakIterator { nextInlineTextItem.layoutBox().textContext()->content }; +auto previousContentLength = previousContent.length(); +// FIXME: We should look into the entire uncommitted content for more text context. +UChar lastCharacter = previousContentLength ? previousContent[previousContentLength - 1] : 0; +UChar secondToLastCharacter = previousContentLength > 1 ? previousContent[previousContentLength - 2] : 0; +lineBreakIterator.setPriorContext(lastCharacter, secondToLastCharacter); +// Now check if we can break right at the inline item boundary. +// With the [ex-ample], findNextBreakablePosition should return the startPosition (0). +// FIXME: Check if there's a more correct way of finding breaking opportunities. +return !TextUtil::findNextBreakablePosition(lineBreakIterator, 0, nextInlineTextItem.style()); +} + bool LineBreaker::Content::isAtContentBoundary(const InlineItem& inlineItem, const Content& content) { // https://drafts.csswg.org/css-text-3/#line-break-details @@ -269,12 +293,7 @@ auto& previousInlineTextItem = downcast(*lastUncomittedContent); if (previousInlineTextItem.isWhitespace()) return true; -// When both these non-whitespace runs belong to the same layout box, it's guaranteed that -// they are split at a soft breaking opportunity. See
[webkit-changes] [253467] trunk
Title: [253467] trunk Revision 253467 Author carlo...@webkit.org Date 2019-12-13 02:54:33 -0800 (Fri, 13 Dec 2019) Log Message [GTK] Several tests crashing after r247898 "Reorganize UIScriptController into platform-specific subclasses" https://bugs.webkit.org/show_bug.cgi?id=200534 Reviewed by Alejandro G. Castro. Tools: Add implementation of several UIScriptController virtual methods to avoid crashes. * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp: (WTR::PlatformWebView::~PlatformWebView): (WTR::PlatformWebView::addToWindow): (WTR::PlatformWebView::removeFromWindow): * WebKitTestRunner/gtk/UIScriptControllerGtk.cpp: (WTR::UIScriptControllerGtk::doAsyncTask): (WTR::UIScriptControllerGtk::setContinuousSpellCheckingEnabled): (WTR::UIScriptControllerGtk::copyText): (WTR::UIScriptControllerGtk::dismissMenu): (WTR::UIScriptControllerGtk::isShowingMenu const): (WTR::UIScriptControllerGtk::activateAtPoint): (WTR::UIScriptControllerGtk::activateDataListSuggestion): (WTR::UIScriptControllerGtk::simulateAccessibilitySettingsChangeNotification): (WTR::UIScriptControllerGtk::removeViewFromWindow): (WTR::UIScriptControllerGtk::addViewToWindow): * WebKitTestRunner/gtk/UIScriptControllerGtk.h: LayoutTests: Update expectations. * platform/gtk/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/gtk/TestExpectations trunk/Tools/ChangeLog trunk/Tools/WebKitTestRunner/gtk/PlatformWebViewGtk.cpp trunk/Tools/WebKitTestRunner/gtk/UIScriptControllerGtk.cpp trunk/Tools/WebKitTestRunner/gtk/UIScriptControllerGtk.h Diff Modified: trunk/LayoutTests/ChangeLog (253466 => 253467) --- trunk/LayoutTests/ChangeLog 2019-12-13 08:40:48 UTC (rev 253466) +++ trunk/LayoutTests/ChangeLog 2019-12-13 10:54:33 UTC (rev 253467) @@ -1,3 +1,14 @@ +2019-12-13 Carlos Garcia Campos + +[GTK] Several tests crashing after r247898 "Reorganize UIScriptController into platform-specific subclasses" +https://bugs.webkit.org/show_bug.cgi?id=200534 + +Reviewed by Alejandro G. Castro. + +Update expectations. + +* platform/gtk/TestExpectations: + 2019-12-12 Chris Dumez Re-sync service-workers web-platform-tests from upstream Modified: trunk/LayoutTests/platform/gtk/TestExpectations (253466 => 253467) --- trunk/LayoutTests/platform/gtk/TestExpectations 2019-12-13 08:40:48 UTC (rev 253466) +++ trunk/LayoutTests/platform/gtk/TestExpectations 2019-12-13 10:54:33 UTC (rev 253467) @@ -1079,6 +1079,11 @@ webkit.org/b/177633 editing/pasteboard/copy-paste-across-shadow-boundaries-with-style-2.html [ Crash ] webkit.org/b/177633 editing/pasteboard/paste-text-with-style.html [ Failure Pass ] webkit.org/b/177633 editing/pasteboard/paste-without-nesting.html [ Failure Pass ] +webkit.org/b/177633 editing/async-clipboard/clipboard-change-data-while-writing.html [ Failure ] +webkit.org/b/177633 editing/async-clipboard/clipboard-read-text-from-platform.html [ Failure ] +webkit.org/b/177633 editing/async-clipboard/clipboard-change-data-while-getting-type.html [ Timeout ] +webkit.org/b/177633 editing/async-clipboard/clipboard-change-data-while-reading.html [ Timeout ] +webkit.org/b/177633 editing/async-clipboard/clipboard-get-type-with-old-items.html [ Timeout ] webkit.org/b/177633 editing/async-clipboard/clipboard-read-basic.html [ Timeout ] webkit.org/b/177633 editing/async-clipboard/clipboard-read-text-same-origin.html [ Timeout ] webkit.org/b/177633 editing/async-clipboard/clipboard-write-basic.html [ Timeout ] @@ -1270,26 +1275,6 @@ webkit.org/b/199440 fast/mediastream/mediastreamtrack-video-clone.html [ Failure Timeout Crash ] -# UIScriptController missing implementations -webkit.org/b/200534 editing/input/delete-text-in-composition.html [ Crash ] -webkit.org/b/200534 editing/secure-input/password-input-changed-type.html [ Crash ] -webkit.org/b/200534 editing/secure-input/password-input-focusing.html [ Crash ] -webkit.org/b/200534 editing/secure-input/removed-password-input.html [ Crash ] -webkit.org/b/200534 editing/secure-input/reset-state-on-navigation.html [ Crash ] -webkit.org/b/200534 fast/media/mq-prefers-reduced-motion-matchMedia.html [ Crash ] -webkit.org/b/200534 editing/pasteboard/paste-and-sanitize.html [ Crash ] -webkit.org/b/200534 fast/forms/contenteditable-font-optical-size.html [ Crash ] -webkit.org/b/200534 legacy-animation-engine/compositing/transitions/add-remove-transition.html [ Crash ] -webkit.org/b/200534 editing/async-clipboard/clipboard-change-data-while-getting-type.html [ Crash ] -webkit.org/b/200534 editing/async-clipboard/clipboard-change-data-while-reading.html [ Crash ] -webkit.org/b/200534 editing/async-clipboard/clipboard-get-type-with-old-items.html [ Crash ] -webkit.org/b/200534 editing/async-clipboard/clipboard-read-text-from-platform.html [ Crash ] -webkit.org/b/200534 editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html [ Crash ] -webkit.org/b/200534
[webkit-changes] [253466] trunk/Source/WebCore
Title: [253466] trunk/Source/WebCore Revision 253466 Author carlo...@webkit.org Date 2019-12-13 00:40:48 -0800 (Fri, 13 Dec 2019) Log Message Uninitialized variables in RenderLayer https://bugs.webkit.org/show_bug.cgi?id=205165 Reviewed by Simon Fraser. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): Initialize m_isNormalFlowOnly and m_isCSSStackingContext. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderLayer.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (253465 => 253466) --- trunk/Source/WebCore/ChangeLog 2019-12-13 06:06:08 UTC (rev 253465) +++ trunk/Source/WebCore/ChangeLog 2019-12-13 08:40:48 UTC (rev 253466) @@ -1,3 +1,13 @@ +2019-12-13 Carlos Garcia Campos + +Uninitialized variables in RenderLayer +https://bugs.webkit.org/show_bug.cgi?id=205165 + +Reviewed by Simon Fraser. + +* rendering/RenderLayer.cpp: +(WebCore::RenderLayer::RenderLayer): Initialize m_isNormalFlowOnly and m_isCSSStackingContext. + 2019-12-12 Joonghun Park Unreviewed. Fix the build warnings below since r253353. Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (253465 => 253466) --- trunk/Source/WebCore/rendering/RenderLayer.cpp 2019-12-13 06:06:08 UTC (rev 253465) +++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2019-12-13 08:40:48 UTC (rev 253466) @@ -286,6 +286,8 @@ RenderLayer::RenderLayer(RenderLayerModelObject& rendererLayerModelObject) : m_isRenderViewLayer(rendererLayerModelObject.isRenderView()) , m_forcedStackingContext(rendererLayerModelObject.isMedia()) +, m_isNormalFlowOnly(false) +, m_isCSSStackingContext(false) , m_isOpportunisticStackingContext(false) , m_zOrderListsDirty(false) , m_normalFlowListDirty(true) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes