[webkit-changes] [238468] trunk/Source/WebKit
Title: [238468] trunk/Source/WebKit Revision 238468 Author an...@apple.com Date 2018-11-23 23:17:35 -0800 (Fri, 23 Nov 2018) Log Message Replace LayerOrView typedef with a class https://bugs.webkit.org/show_bug.cgi?id=191927 Reviewed by Tim Horton. This typedef restricts remote layer representation to be either a CA layer or a view. We might want have more flexibility, for example tiles don't really need to be UIViews. It will also make it easier to unify Mac and iOS code, and hopefully make it less confusing too. This patch introduces RemoteLayerTreeNode class that replaces most uses of LayerOrView typedef (the rest are converted to pure CALayer). It also does a bunch of related cleanup. * Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h: * Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm: (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): (WebKit::RemoteLayerTreePropertyApplier::applyProperties): (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToUIView): (WebKit::applyPropertiesToLayer): Deleted. * SourcesCocoa.txt: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _propertiesOfLayerWithID:]): * UIProcess/Cocoa/LayerRepresentation.h: Removed. * UIProcess/Cocoa/VideoFullscreenManagerProxy.mm: (WebKit::VideoFullscreenManagerProxy::setupFullscreenWithID): * UIProcess/PageClient.h: * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h: * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator): (WebKit::RemoteLayerTreeDrawingAreaProxy::layerWithIDForTesting const): * UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h: (WebKit::RemoteLayerTreeHost::rootNode const): (WebKit::RemoteLayerTreeHost::rootLayer const): Deleted. * UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm: (WebKit::RemoteLayerTreeHost::updateLayerTree): (WebKit::RemoteLayerTreeHost::nodeForID const): (WebKit::RemoteLayerTreeHost::layerWillBeRemoved): (WebKit::RemoteLayerTreeHost::animationDidStart): (WebKit::RemoteLayerTreeHost::animationDidEnd): (WebKit::RemoteLayerTreeHost::clearLayers): (WebKit::RemoteLayerTreeHost::layerWithIDForTesting const): (WebKit::RemoteLayerTreeHost::layerForID const): (WebKit::RemoteLayerTreeHost::rootLayer const): (WebKit::RemoteLayerTreeHost::createLayer): (WebKit::RemoteLayerTreeHost::detachRootLayer): (WebKit::RemoteLayerTreeHost::mapAllIOSurfaceBackingStore): (WebKit::RemoteLayerTreeHost::getLayer const): Deleted. * UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h: Added. (WebKit::RemoteLayerTreeNode::layer const): (WebKit::RemoteLayerTreeNode::uiView const): * UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm: Added. (WebKit::RemoteLayerTreeNode::RemoteLayerTreeNode): (WebKit::RemoteLayerTreeNode::detachFromParent): * UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm: (WebKit::RemoteLayerTreeScrollingPerformanceData::blankPixelCount const): * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): * UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm: (WebKit::RemoteLayerTreeHost::createLayer): * UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm: (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): (WebKit::layerRepresentationFromLayerOrView): Deleted. * UIProcess/WebAuthentication/Cocoa/HidService.h: * UIProcess/WebAuthentication/Cocoa/HidService.mm: * UIProcess/WebPageProxy.h: * UIProcess/ios/LayerRepresentation.mm: Removed. * UIProcess/ios/PageClientImplIOS.h: * UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::setRemoteLayerTreeRootNode): (WebKit::PageClientImpl::acceleratedCompositingRootLayer const): (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer): Deleted. * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::setRemoteLayerTreeRootNode): (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer): Deleted. * UIProcess/mac/PageClientImplMac.h: * UIProcess/mac/PageClientImplMac.mm: (WebKit::PageClientImpl::setRemoteLayerTreeRootNode): (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer): Deleted. * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: (WebKit::TiledCoreAnimationDrawingAreaProxy::createFence): * UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::setRemoteLayerTreeRootNode): (WebKit::WebPageProxy::acceleratedCompositingRootLayer const): (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer): Deleted. * WebKit.xcodeproj/project.pbxproj: * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp: (WebKit::PlatformCALayerRemote::recursiveBuildTransaction): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm trunk/Source/WebKit/SourcesCocoa.txt
[webkit-changes] [238467] trunk
Title: [238467] trunk Revision 238467 Author commit-qu...@webkit.org Date 2018-11-23 22:08:31 -0800 (Fri, 23 Nov 2018) Log Message Add raw pointer overloads to ListHashSet via SmartPtr specialized functions https://bugs.webkit.org/show_bug.cgi?id=191936 Patch by Sam Weinig on 2018-11-23 Reviewed by Zalan Bujtas. Source/WTF: Adds overloads for find, contains, insertBefore and remove that take raw pointers when the value type V of a ListHashSet is true for the predicate IsSmartPtr::value. This brings the interface to ListHashSet closer inline with HashSet, HashMap and HashCountedSet which already have this functionality. Like in the other collections, this is especially useful when using std::unique_ptr<> as the value, since there would be no way to pass it to these functions. One difference between this set of overloads is the inclusion of insertBefore, which is unique to ListHashSet. As would be expected, this specialization only changes the first parameter, the one that needs to be found, to support a raw pointer. * wtf/ListHashSet.h: (WTF::U>::find): (WTF::U>::find const): (WTF::U>::contains const): (WTF::U>::insertBefore): (WTF::U>::remove): Tools: Adds tests for raw pointer overloads in ListHashSet. * TestWebKitAPI/Tests/WTF/HashSet.cpp: * TestWebKitAPI/Tests/WTF/ListHashSet.cpp: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/ListHashSet.h trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp trunk/Tools/TestWebKitAPI/Tests/WTF/ListHashSet.cpp Diff Modified: trunk/Source/WTF/ChangeLog (238466 => 238467) --- trunk/Source/WTF/ChangeLog 2018-11-24 03:51:16 UTC (rev 238466) +++ trunk/Source/WTF/ChangeLog 2018-11-24 06:08:31 UTC (rev 238467) @@ -1,3 +1,26 @@ +2018-11-23 Sam Weinig + +Add raw pointer overloads to ListHashSet via SmartPtr specialized functions +https://bugs.webkit.org/show_bug.cgi?id=191936 + +Reviewed by Zalan Bujtas. + +Adds overloads for find, contains, insertBefore and remove that take raw pointers +when the value type V of a ListHashSet is true for the predicate IsSmartPtr::value. +This brings the interface to ListHashSet closer inline with HashSet, HashMap and HashCountedSet +which already have this functionality. Like in the other collections, this is especially +useful when using std::unique_ptr<> as the value, since there would be no way to pass it +to these functions. One difference between this set of overloads is the inclusion of insertBefore, +which is unique to ListHashSet. As would be expected, this specialization only changes the first +parameter, the one that needs to be found, to support a raw pointer. + +* wtf/ListHashSet.h: +(WTF::U>::find): +(WTF::U>::find const): +(WTF::U>::contains const): +(WTF::U>::insertBefore): +(WTF::U>::remove): + 2018-11-21 Yusuke Suzuki [JSC] Drop ARM_TRADITIONAL support in LLInt, baseline JIT, and DFG Modified: trunk/Source/WTF/wtf/ListHashSet.h (238466 => 238467) --- trunk/Source/WTF/wtf/ListHashSet.h 2018-11-24 03:51:16 UTC (rev 238466) +++ trunk/Source/WTF/wtf/ListHashSet.h 2018-11-24 06:08:31 UTC (rev 238467) @@ -142,6 +142,14 @@ bool remove(iterator); void clear(); +// Overloads for smart pointer values that take the raw pointer type as the parameter. +template typename std::enable_if::value, iterator>::type find(typename GetPtrHelper::PtrType); +template typename std::enable_if::value, const_iterator>::type find(typename GetPtrHelper::PtrType) const; +template typename std::enable_if::value, bool>::type contains(typename GetPtrHelper::PtrType) const; +template typename std::enable_if::value, AddResult>::type insertBefore(typename GetPtrHelper::PtrType, const ValueType&); +template typename std::enable_if::value, AddResult>::type insertBefore(typename GetPtrHelper::PtrType, ValueType&&); +template typename std::enable_if::value, bool>::type remove(typename GetPtrHelper::PtrType); + private: void unlink(Node*); void unlinkAndDelete(Node*); @@ -626,6 +634,54 @@ } template +template +inline auto ListHashSet::find(typename GetPtrHelper::PtrType value) -> typename std::enable_if::value, iterator>::type +{ +auto it = m_impl.template find(value); +if (it == m_impl.end()) +return end(); +return makeIterator(*it); +} + +template +template +inline auto ListHashSet::find(typename GetPtrHelper::PtrType value) const -> typename std::enable_if::value, const_iterator>::type +{ +auto it = m_impl.template find(value); +if (it == m_impl.end()) +return end(); +return makeConstIterator(*it); +} + +template +template +inline auto ListHashSet::contains(typename GetPtrHelper::PtrType value) const -> typename std::enable_if::value, bool>::type +{ +return m_impl.template contains(value); +} + +template +template +inline auto
[webkit-changes] [238466] trunk/Source
Title: [238466] trunk/Source Revision 238466 Author jiewen_...@apple.com Date 2018-11-23 19:51:16 -0800 (Fri, 23 Nov 2018) Log Message [WebAuthN] Enable Web Authentication as an experimental feature for macOS https://bugs.webkit.org/show_bug.cgi?id=191932 rdar://problem/46225210 Reviewed by Brent Fulgham. Source/WebCore: Add myself to the contact of Web Authentication. * features.json: Source/WebKit: * Shared/WebPreferences.yaml: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/features.json trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/WebPreferences.yaml Diff Modified: trunk/Source/WebCore/ChangeLog (238465 => 238466) --- trunk/Source/WebCore/ChangeLog 2018-11-24 02:17:30 UTC (rev 238465) +++ trunk/Source/WebCore/ChangeLog 2018-11-24 03:51:16 UTC (rev 238466) @@ -1,3 +1,15 @@ +2018-11-23 Jiewen Tan + +[WebAuthN] Enable Web Authentication as an experimental feature for macOS +https://bugs.webkit.org/show_bug.cgi?id=191932 +rdar://problem/46225210 + +Reviewed by Brent Fulgham. + +Add myself to the contact of Web Authentication. + +* features.json: + 2018-11-23 Ryosuke Niwa REGRESSION (r236785): Nullptr crash in StyledMarkupAccumulator::traverseNodesForSerialization Modified: trunk/Source/WebCore/features.json (238465 => 238466) --- trunk/Source/WebCore/features.json 2018-11-24 02:17:30 UTC (rev 238465) +++ trunk/Source/WebCore/features.json 2018-11-24 03:51:16 UTC (rev 238466) @@ -643,7 +643,8 @@ "description": "A _javascript_ API for web applications to perform cryptographic operations.", "contact": { "name": "Jiewen Tan", -"email": "jiewen_...@apple.com" +"email": "jiewen_...@apple.com", +"twitter": "@alanwaketan" } }, { @@ -1258,7 +1259,12 @@ "url": "https://w3c.github.io/webauthn/", "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=181943", "keywords": ["authentication", "credentials", "webauthn"], -"description": "An API enabling the creation and use of strong, attested, cryptographic scoped credentials by web applications, for the purpose of strongly authenticating users." +"description": "An API enabling the creation and use of strong, attested, cryptographic scoped credentials by web applications, for the purpose of strongly authenticating users.", +"contact": { +"name": "Jiewen Tan", +"email": "jiewen_...@apple.com", +"twitter": "@alanwaketan" +} }, { "name": "Web Bluetooth", Modified: trunk/Source/WebKit/ChangeLog (238465 => 238466) --- trunk/Source/WebKit/ChangeLog 2018-11-24 02:17:30 UTC (rev 238465) +++ trunk/Source/WebKit/ChangeLog 2018-11-24 03:51:16 UTC (rev 238466) @@ -1,3 +1,13 @@ +2018-11-23 Jiewen Tan + +[WebAuthN] Enable Web Authentication as an experimental feature for macOS +https://bugs.webkit.org/show_bug.cgi?id=191932 +rdar://problem/46225210 + +Reviewed by Brent Fulgham. + +* Shared/WebPreferences.yaml: + 2018-11-23 Wenson Hsieh Enable drag and drop support for iOSMac Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (238465 => 238466) --- trunk/Source/WebKit/Shared/WebPreferences.yaml 2018-11-24 02:17:30 UTC (rev 238465) +++ trunk/Source/WebKit/Shared/WebPreferences.yaml 2018-11-24 03:51:16 UTC (rev 238466) @@ -737,6 +737,8 @@ humanReadableName: "Web Authentication" humanReadableDescription: "Enable Web Authentication support" webcoreBinding: RuntimeEnabledFeatures + category: experimental + condition: ENABLE(WEB_AUTHN) ModernMediaControlsEnabled: type: bool ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [238465] trunk
Title: [238465] trunk Revision 238465 Author rn...@webkit.org Date 2018-11-23 18:17:30 -0800 (Fri, 23 Nov 2018) Log Message REGRESSION (r236785): Nullptr crash in StyledMarkupAccumulator::traverseNodesForSerialization https://bugs.webkit.org/show_bug.cgi?id=191921 Reviewed by Dean Jackson. Source/WebCore: The bug was caused by traverseNodesForSerialization not being able to traverse past the end of shadow root when skipping children of a node for which enterNode returns false because it was using NodeTraversal's nextSkippingChildren instead of a member function which supports traversing the composed tree. Fixed the crash by using variant of nextSkippingChildren which knows how to traverse past the last node in a shadow tree. Also added more assertions to help debug issues like this in the future. Test: editing/pasteboard/copy-paste-across-shadow-boundaries-5.html * editing/markup.cpp: (WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): LayoutTests: Added a regression test. * editing/pasteboard/copy-paste-across-shadow-boundaries-5-expected.txt: Added. * editing/pasteboard/copy-paste-across-shadow-boundaries-5.html: Added. * platform/ios/editing/pasteboard/copy-paste-across-shadow-boundaries-5-expected.txt: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/markup.cpp Added Paths trunk/LayoutTests/editing/pasteboard/copy-paste-across-shadow-boundaries-5-expected.txt trunk/LayoutTests/editing/pasteboard/copy-paste-across-shadow-boundaries-5.html trunk/LayoutTests/platform/ios/editing/pasteboard/copy-paste-across-shadow-boundaries-5-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (238464 => 238465) --- trunk/LayoutTests/ChangeLog 2018-11-23 22:06:35 UTC (rev 238464) +++ trunk/LayoutTests/ChangeLog 2018-11-24 02:17:30 UTC (rev 238465) @@ -1,3 +1,16 @@ +2018-11-23 Ryosuke Niwa + +REGRESSION (r236785): Nullptr crash in StyledMarkupAccumulator::traverseNodesForSerialization +https://bugs.webkit.org/show_bug.cgi?id=191921 + +Reviewed by Dean Jackson. + +Added a regression test. + +* editing/pasteboard/copy-paste-across-shadow-boundaries-5-expected.txt: Added. +* editing/pasteboard/copy-paste-across-shadow-boundaries-5.html: Added. +* platform/ios/editing/pasteboard/copy-paste-across-shadow-boundaries-5-expected.txt: Added. + 2018-11-22 Ryosuke Niwa Updating href on textPath doesn't update its rendering Added: trunk/LayoutTests/editing/pasteboard/copy-paste-across-shadow-boundaries-5-expected.txt (0 => 238465) --- trunk/LayoutTests/editing/pasteboard/copy-paste-across-shadow-boundaries-5-expected.txt (rev 0) +++ trunk/LayoutTests/editing/pasteboard/copy-paste-across-shadow-boundaries-5-expected.txt 2018-11-24 02:17:30 UTC (rev 238465) @@ -0,0 +1,13 @@ +This tests copying and pasting content across shadow boundaries. +To test manually, copy text below, and paste into the green box below. All the text shoul be copied & pasted. + +pasted html: +| +| id="host" +| +| style="display: contents;" +| "world" +| " WebKit<#selection-caret>" + +text/plain: +| "world WebKit" Added: trunk/LayoutTests/editing/pasteboard/copy-paste-across-shadow-boundaries-5.html (0 => 238465) --- trunk/LayoutTests/editing/pasteboard/copy-paste-across-shadow-boundaries-5.html (rev 0) +++ trunk/LayoutTests/editing/pasteboard/copy-paste-across-shadow-boundaries-5.html 2018-11-24 02:17:30 UTC (rev 238465) @@ -0,0 +1,39 @@ + + + +This tests copying and pasting content across shadow boundaries. +To test manually, copy text below, and paste into the green box below. All the text shoul be copied & pasted. + .box { border: solid 1px; padding: 0.2rem; margin-bottom: 1rem; } +world WebKit + + + + + +Markup.description(description.textContent); +Markup.waitUntilDone(); + +const shadowRoot = host.attachShadow({mode: 'open'}); +shadowRoot.innerHTML = 'hello'; + +destination.addEventListener('paste', (event) => { +htmlResult.textContent = event.clipboardData.getData('text/html'); +textResult.textContent = event.clipboardData.getData('text/plain'); +setTimeout(() => { +Markup.dump(destination, 'pasted html'); +Markup.dump(textResult, 'text/plain'); +Markup.notifyDone(); +}, 0); +}); + +if (window.testRunner) { +internals.setSelectionWithoutValidation(source, 0, source, source.childNodes.length); +document.execCommand('copy'); +destination.focus(); +document.execCommand('paste'); +} + + + + Added: trunk/LayoutTests/platform/ios/editing/pasteboard/copy-paste-across-shadow-boundaries-5-expected.txt (0 => 238465) --- trunk/LayoutTests/platform/ios/editing/pasteboard/copy-paste-across-shadow-boundaries-5-expected.txt (rev 0) +++
[webkit-changes] [238464] trunk
Title: [238464] trunk Revision 238464 Author rn...@webkit.org Date 2018-11-23 14:06:35 -0800 (Fri, 23 Nov 2018) Log Message Updating href on textPath doesn't update its rendering https://bugs.webkit.org/show_bug.cgi?id=191920 Reviewed by Dean Jackson. Source/WebCore: Fixed the bug by invalidating the RenderSVGResource in SVGTextPathElement::svgAttributeChanged in addition to updating the pending resources. Test: svg/text/textpath-reference-update.html * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::svgAttributeChanged): LayoutTests: Added a ref test. * svg/text/textpath-reference-update-expected.html: Added. * svg/text/textpath-reference-update.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/svg/SVGTextPathElement.cpp Added Paths trunk/LayoutTests/svg/text/textpath-reference-update-expected.html trunk/LayoutTests/svg/text/textpath-reference-update.html Diff Modified: trunk/LayoutTests/ChangeLog (238463 => 238464) --- trunk/LayoutTests/ChangeLog 2018-11-23 20:47:11 UTC (rev 238463) +++ trunk/LayoutTests/ChangeLog 2018-11-23 22:06:35 UTC (rev 238464) @@ -1,3 +1,15 @@ +2018-11-22 Ryosuke Niwa + +Updating href on textPath doesn't update its rendering +https://bugs.webkit.org/show_bug.cgi?id=191920 + +Reviewed by Dean Jackson. + +Added a ref test. + +* svg/text/textpath-reference-update-expected.html: Added. +* svg/text/textpath-reference-update.html: Added. + 2018-11-23 Zalan Bujtas [LFC][IFC] Add support for variable height runs. Added: trunk/LayoutTests/svg/text/textpath-reference-update-expected.html (0 => 238464) --- trunk/LayoutTests/svg/text/textpath-reference-update-expected.html (rev 0) +++ trunk/LayoutTests/svg/text/textpath-reference-update-expected.html 2018-11-23 22:06:35 UTC (rev 238464) @@ -0,0 +1,7 @@ + + + +Test passes if you see a single 100px by 100px green box below. + + + Added: trunk/LayoutTests/svg/text/textpath-reference-update.html (0 => 238464) --- trunk/LayoutTests/svg/text/textpath-reference-update.html (rev 0) +++ trunk/LayoutTests/svg/text/textpath-reference-update.html 2018-11-23 22:06:35 UTC (rev 238464) @@ -0,0 +1,30 @@ + + + +Test passes if you see a single 100px by 100px green box below. + + + + + + + + + + + +if (window.testRunner) +testRunner.waitUntilDone(); + +window._onload_ = () => { +requestAnimationFrame(() => { +document.querySelector('textPath').setAttribute('href', '#path2'); +if (window.testRunner) +requestAnimationFrame(() => testRunner.notifyDone()); +}); +} + + + + Modified: trunk/Source/WebCore/ChangeLog (238463 => 238464) --- trunk/Source/WebCore/ChangeLog 2018-11-23 20:47:11 UTC (rev 238463) +++ trunk/Source/WebCore/ChangeLog 2018-11-23 22:06:35 UTC (rev 238464) @@ -1,3 +1,18 @@ +2018-11-22 Ryosuke Niwa + +Updating href on textPath doesn't update its rendering +https://bugs.webkit.org/show_bug.cgi?id=191920 + +Reviewed by Dean Jackson. + +Fixed the bug by invalidating the RenderSVGResource in SVGTextPathElement::svgAttributeChanged +in addition to updating the pending resources. + +Test: svg/text/textpath-reference-update.html + +* svg/SVGTextPathElement.cpp: +(WebCore::SVGTextPathElement::svgAttributeChanged): + 2018-11-23 Ross Kirsling Introduce user-defined literal for LayoutUnit Modified: trunk/Source/WebCore/svg/SVGTextPathElement.cpp (238463 => 238464) --- trunk/Source/WebCore/svg/SVGTextPathElement.cpp 2018-11-23 20:47:11 UTC (rev 238463) +++ trunk/Source/WebCore/svg/SVGTextPathElement.cpp 2018-11-23 22:06:35 UTC (rev 238464) @@ -103,6 +103,8 @@ if (SVGURIReference::isKnownAttribute(attrName)) { buildPendingResource(); +if (auto renderer = this->renderer()) +RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer); return; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [238462] trunk/Source/WebCore
Title: [238462] trunk/Source/WebCore Revision 238462 Author commit-qu...@webkit.org Date 2018-11-23 11:45:52 -0800 (Fri, 23 Nov 2018) Log Message [GTK] Scrollbars not following gtk-primary-button-warps-slider setting https://bugs.webkit.org/show_bug.cgi?id=191067 Updated code per the style guide, removed unreachable break (non-semantic change) Patch by Jim Mason on 2018-11-23 Reviewed by Michael Catanzaro. * platform/gtk/ScrollbarThemeGtk.cpp: (WebCore::ScrollbarThemeGtk::handleMousePressEvent): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (238461 => 238462) --- trunk/Source/WebCore/ChangeLog 2018-11-23 18:18:01 UTC (rev 238461) +++ trunk/Source/WebCore/ChangeLog 2018-11-23 19:45:52 UTC (rev 238462) @@ -1,3 +1,15 @@ +2018-11-23 Jim Mason + +[GTK] Scrollbars not following gtk-primary-button-warps-slider setting +https://bugs.webkit.org/show_bug.cgi?id=191067 + +Updated code per the style guide, removed unreachable break (non-semantic change) + +Reviewed by Michael Catanzaro. + +* platform/gtk/ScrollbarThemeGtk.cpp: +(WebCore::ScrollbarThemeGtk::handleMousePressEvent): + 2018-11-23 Wenson Hsieh Enable drag and drop support for iOSMac Modified: trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp (238461 => 238462) --- trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp 2018-11-23 18:18:01 UTC (rev 238461) +++ trunk/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp 2018-11-23 19:45:52 UTC (rev 238462) @@ -772,20 +772,19 @@ ScrollbarButtonPressAction ScrollbarThemeGtk::handleMousePressEvent(Scrollbar&, const PlatformMouseEvent& event, ScrollbarPart pressedPart) { -gboolean warp_slider = FALSE; +gboolean warpSlider = FALSE; switch (pressedPart) { case BackTrackPart: case ForwardTrackPart: g_object_get(gtk_settings_get_default(), "gtk-primary-button-warps-slider", -_slider, nullptr); +, nullptr); // The shift key or middle/right button reverses the sense. if (event.shiftKey() || event.button() != LeftButton) -warp_slider = !warp_slider; -return warp_slider ? +warpSlider = !warpSlider; +return warpSlider ? ScrollbarButtonPressAction::CenterOnThumb: ScrollbarButtonPressAction::Scroll; -break; case ThumbPart: if (event.button() != RightButton) return ScrollbarButtonPressAction::StartDrag; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [238461] trunk
Title: [238461] trunk Revision 238461 Author wenson_hs...@apple.com Date 2018-11-23 10:18:01 -0800 (Fri, 23 Nov 2018) Log Message Enable drag and drop support for iOSMac https://bugs.webkit.org/show_bug.cgi?id=191818 Reviewed by Dean Jackson. Source/_javascript_Core: * Configurations/FeatureDefines.xcconfig: Source/WebCore: Enables drag and drop by default on iOSMac by switching on ENABLE_DATA_INTERACTION and ENABLE_DRAG_SUPPORT. This enables support for dragging links, text selections, and images, though many advanced features (e.g. custom pasteboard data) will require additional support from the platform. * Configurations/FeatureDefines.xcconfig: * platform/ios/PlatformPasteboardIOS.mm: (WebCore::PlatformPasteboard::informationForItemAtIndex): (WebCore::registerItemToPasteboard): (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const): * platform/ios/WebItemProviderPasteboard.mm: (-[WebItemProviderLoadResult canBeRepresentedAsFileUpload]): (-[WebItemProviderPasteboard numberOfFiles]): Disable codepaths which attempt to access or set `teamData` or `preferredPresentationStyle` on `NSItemProvider` in iOSMac, since these are currently unimplemented. Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferencesDefaultValues.cpp: (defaultCustomPasteboardDataEnabled): Enable custom pasteboard data by default on iOSMac. While writing and reading custom pasteboard data is currently broken in iOSMac due to the lack of `teamData` and `preferredPresentationStyle`, opting into custom pasteboard data at least allows us to avoid writing unsanitized data types to the pasteboard. * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::platformEditorState const): Fix a regression from r236619> wherein the web process crashes when attempting to edit a text field. This happens because the call to `-[UIKeyboard isInHardwareKeyboardMode]` on the iOSMac platform attempts to initialize a `UHASWorkspace` from the web process, which then attempts to connect to the UIKit host application. Instead, we can skip this call altogether on iOSMac, where the platform never considers a hardware keyboard to be "connected", even when typing. Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Tools: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm trunk/Source/WebCore/platform/ios/WebItemProviderPasteboard.mm trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig Diff Modified: trunk/Source/_javascript_Core/ChangeLog (238460 => 238461) --- trunk/Source/_javascript_Core/ChangeLog 2018-11-23 17:05:43 UTC (rev 238460) +++ trunk/Source/_javascript_Core/ChangeLog 2018-11-23 18:18:01 UTC (rev 238461) @@ -1,3 +1,13 @@ +2018-11-23 Wenson Hsieh + +Enable drag and drop support for iOSMac +https://bugs.webkit.org/show_bug.cgi?id=191818 + + +Reviewed by Dean Jackson. + +* Configurations/FeatureDefines.xcconfig: + 2018-11-22 Mark Lam Make the jsc shell's dumpException() more robust against long exception strings. Modified: trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (238460 => 238461) --- trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig 2018-11-23 17:05:43 UTC (rev 238460) +++ trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig 2018-11-23 18:18:01 UTC (rev 238461) @@ -124,6 +124,7 @@ ENABLE_DATA_INTERACTION = $(ENABLE_DATA_INTERACTION_$(WK_PLATFORM_NAME)); ENABLE_DATA_INTERACTION_iphoneos = ENABLE_DATA_INTERACTION; ENABLE_DATA_INTERACTION_iphonesimulator = ENABLE_DATA_INTERACTION; +ENABLE_DATA_INTERACTION_iosmac = ENABLE_DATA_INTERACTION; ENABLE_DEVICE_ORIENTATION = $(ENABLE_DEVICE_ORIENTATION_$(WK_PLATFORM_NAME)); ENABLE_DEVICE_ORIENTATION_iphoneos = ENABLE_DEVICE_ORIENTATION; @@ -136,6 +137,7 @@ ENABLE_DRAG_SUPPORT = $(ENABLE_DRAG_SUPPORT_$(WK_PLATFORM_NAME)); ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT; ENABLE_DRAG_SUPPORT_iphonesimulator = ENABLE_DRAG_SUPPORT; +ENABLE_DRAG_SUPPORT_iosmac = ENABLE_DRAG_SUPPORT; ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(WK_PLATFORM_NAME)); ENABLE_ENCRYPTED_MEDIA_iphoneos = ENABLE_ENCRYPTED_MEDIA; Modified:
[webkit-changes] [238460] trunk
Title: [238460] trunk Revision 238460 Author za...@apple.com Date 2018-11-23 09:05:43 -0800 (Fri, 23 Nov 2018) Log Message [LFC][IFC] Add support for variable height runs. https://bugs.webkit.org/show_bug.cgi?id=191925 Reviewed by Antti Koivisto. Source/WebCore: https://www.w3.org/TR/CSS22/visudet.html#inline-box-height 10.8 Line height calculations: the 'line-height' and 'vertical-align' properties The height of each inline-level box in the line box is calculated. For replaced elements, inline-block elements, and inline-table elements, this is the height of their margin box; for inline boxes, this is their 'line-height'. The line box height is the distance between the uppermost box top and the lowermost box bottom. The minimum height consists of a minimum height above the baseline and a minimum depth below it, exactly as if each line box starts with a zero-width inline box with the element's font and line height properties. We call that imaginary box a "strut." (The name is inspired by TeX.). Test: fast/inline/inline-content-with-image-simple.html * layout/Verification.cpp: (WebCore::Layout::checkForMatchingNonTextRuns): (WebCore::Layout::checkForMatchingTextRuns): (WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded): * layout/inlineformatting/InlineFormattingContext.cpp: (WebCore::Layout::InlineFormattingContext::initializeNewLine const): (WebCore::Layout::InlineFormattingContext::splitInlineRunIfNeeded const): (WebCore::Layout::InlineFormattingContext::createFinalRuns const): (WebCore::Layout::InlineFormattingContext::appendContentToLine const): (WebCore::Layout::InlineFormattingContext::layoutInlineContent const): * layout/inlineformatting/InlineFormattingContext.h: (WebCore::Layout::InlineFormattingContext::Line::logicalHeight const): * layout/inlineformatting/InlineFormattingContextGeometry.cpp: (WebCore::Layout::InlineFormattingContext::Geometry::justifyRuns): * layout/inlineformatting/InlineRun.h: (WebCore::Layout::InlineRun::logicalWidth const): (WebCore::Layout::InlineRun::logicalHeight const): (WebCore::Layout::InlineRun::setLogicalWidth): (WebCore::Layout::InlineRun::width const): Deleted. (WebCore::Layout::InlineRun::height const): Deleted. (WebCore::Layout::InlineRun::setWidth): Deleted. * layout/inlineformatting/Line.cpp: (WebCore::Layout::InlineFormattingContext::Line::init): (WebCore::Layout::InlineFormattingContext::Line::appendContent): (WebCore::Layout::InlineFormattingContext::Line::close): * layout/layouttree/LayoutTreeBuilder.cpp: (WebCore::Layout::outputInlineRuns): Tools: * LayoutReloaded/misc/LFC-passing-tests.txt: LayoutTests: * fast/inline/inline-content-with-image-simple-expected.txt: Added. * fast/inline/inline-content-with-image-simple.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/Verification.cpp trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextGeometry.cpp trunk/Source/WebCore/layout/inlineformatting/InlineRun.h trunk/Source/WebCore/layout/inlineformatting/Line.cpp trunk/Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp trunk/Tools/ChangeLog trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt Added Paths trunk/LayoutTests/fast/inline/inline-content-with-image-simple-expected.txt trunk/LayoutTests/fast/inline/inline-content-with-image-simple.html Diff Modified: trunk/LayoutTests/ChangeLog (238459 => 238460) --- trunk/LayoutTests/ChangeLog 2018-11-23 15:07:40 UTC (rev 238459) +++ trunk/LayoutTests/ChangeLog 2018-11-23 17:05:43 UTC (rev 238460) @@ -1,3 +1,13 @@ +2018-11-23 Zalan Bujtas + +[LFC][IFC] Add support for variable height runs. +https://bugs.webkit.org/show_bug.cgi?id=191925 + +Reviewed by Antti Koivisto. + +* fast/inline/inline-content-with-image-simple-expected.txt: Added. +* fast/inline/inline-content-with-image-simple.html: Added. + 2018-11-23 Javier Fernandez [css-grid] Implement Baseline Alignment for grid items Added: trunk/LayoutTests/fast/inline/inline-content-with-image-simple-expected.txt (0 => 238460) --- trunk/LayoutTests/fast/inline/inline-content-with-image-simple-expected.txt (rev 0) +++ trunk/LayoutTests/fast/inline/inline-content-with-image-simple-expected.txt 2018-11-23 17:05:43 UTC (rev 238460) @@ -0,0 +1,12 @@ +layer at (0,0) size 800x600 + RenderView at (0,0) size 800x600 +layer at (0,0) size 800x600 + RenderBlock {HTML} at (0,0) size 800x600 +RenderBody {BODY} at (8,8) size 784x584 +layer at (8,8) size 402x202 clip at (9,9) size 400x200 + RenderBlock {DIV} at (0,0) size 402x202 [border: (1px solid #008000)] +RenderText {#text} at (1,83) size 11x26 + text run at (1,83) width 11: "1" +RenderImage {IMG} at (12,1) size 102x102 [border: (1px solid #FF)] +
[webkit-changes] [238459] trunk/Source
Title: [238459] trunk/Source Revision 238459 Author an...@apple.com Date 2018-11-23 07:07:40 -0800 (Fri, 23 Nov 2018) Log Message UI side compositing doesn't paint on Mac https://bugs.webkit.org/show_bug.cgi?id=191908 Reviewed by Tim Horton. Source/WebCore: For clarity put RGB10 and RGB10A8 formats behind PLATFORM(IOS_FAMILY). They are not supported on Mac. * platform/graphics/cocoa/IOSurface.h: * platform/graphics/cocoa/IOSurface.mm: (WebCore::IOSurface::IOSurface): (WebCore::IOSurface::ensurePlatformContext): (WebCore::IOSurface::format const): (WebCore::operator<<): Source/WebKit: * Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::bytesPerPixel const): (WebKit::RemoteLayerBackingStore::surfaceBufferFormat const): These deep color formats are not supported on Mac. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm Diff Modified: trunk/Source/WebCore/ChangeLog (238458 => 238459) --- trunk/Source/WebCore/ChangeLog 2018-11-23 13:36:54 UTC (rev 238458) +++ trunk/Source/WebCore/ChangeLog 2018-11-23 15:07:40 UTC (rev 238459) @@ -1,3 +1,19 @@ +2018-11-23 Antti Koivisto + +UI side compositing doesn't paint on Mac +https://bugs.webkit.org/show_bug.cgi?id=191908 + +Reviewed by Tim Horton. + +For clarity put RGB10 and RGB10A8 formats behind PLATFORM(IOS_FAMILY). They are not supported on Mac. + +* platform/graphics/cocoa/IOSurface.h: +* platform/graphics/cocoa/IOSurface.mm: +(WebCore::IOSurface::IOSurface): +(WebCore::IOSurface::ensurePlatformContext): +(WebCore::IOSurface::format const): +(WebCore::operator<<): + 2018-11-23 Javier Fernandez [css-grid] Implement Baseline Alignment for grid items Modified: trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h (238458 => 238459) --- trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h 2018-11-23 13:36:54 UTC (rev 238458) +++ trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h 2018-11-23 15:07:40 UTC (rev 238459) @@ -31,6 +31,10 @@ #include "GraphicsContext.h" #include "IntSize.h" +#if PLATFORM(IOS_FAMILY) +#define HAVE_IOSURFACE_RGB10 1 +#endif + namespace WTF { class MachSendRight; class TextStream; @@ -50,8 +54,10 @@ enum class Format { RGBA, YUV422, +#if HAVE(IOSURFACE_RGB10) RGB10, RGB10A8, +#endif }; class Locker { Modified: trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm (238458 => 238459) --- trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm 2018-11-23 13:36:54 UTC (rev 238458) +++ trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm 2018-11-23 15:07:40 UTC (rev 238459) @@ -204,6 +204,7 @@ case Format::RGBA: options = optionsFor32BitSurface(size, 'BGRA'); break; +#if HAVE(IOSURFACE_RGB10) case Format::RGB10: options = optionsFor32BitSurface(size, 'w30r'); break; @@ -210,6 +211,7 @@ case Format::RGB10A8: options = optionsForBiplanarSurface(size, 'b3a8', 4, 1); break; +#endif case Format::YUV422: options = optionsForBiplanarSurface(size, '422f', 1, 1); break; @@ -287,6 +289,7 @@ switch (format()) { case Format::RGBA: break; +#if HAVE(IOSURFACE_RGB10) case Format::RGB10: case Format::RGB10A8: // A half-float format will be used if CG needs to read back the IOSurface contents, @@ -295,6 +298,7 @@ bitsPerPixel = 64; bitmapInfo = kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder16Host | kCGBitmapFloatComponents; break; +#endif case Format::YUV422: ASSERT_NOT_REACHED(); break; @@ -362,11 +366,13 @@ if (pixelFormat == 'BGRA') return Format::RGBA; +#if HAVE(IOSURFACE_RGB10) if (pixelFormat == 'w30r') return Format::RGB10; if (pixelFormat == 'b3a8') return Format::RGB10A8; +#endif if (pixelFormat == '422f') return Format::YUV422; @@ -404,8 +410,10 @@ bool IOSurface::allowConversionFromFormatToFormat(Format sourceFormat, Format destFormat) { +#if HAVE(IOSURFACE_RGB10) if ((sourceFormat == Format::RGB10 || sourceFormat == Format::RGB10A8) && destFormat == Format::YUV422) return false; +#endif return true; } @@ -466,6 +474,7 @@ case IOSurface::Format::YUV422: ts << "YUV422"; break; +#if HAVE(IOSURFACE_RGB10) case IOSurface::Format::RGB10: ts << "RGB10"; break; @@ -472,6 +481,7 @@ case IOSurface::Format::RGB10A8: ts << "RGB10A8"; break; +#endif } return ts; } Modified: trunk/Source/WebKit/ChangeLog (238458 => 238459) --- trunk/Source/WebKit/ChangeLog 2018-11-23
[webkit-changes] [238458] trunk/Tools
Title: [238458] trunk/Tools Revision 238458 Author be...@igalia.com Date 2018-11-23 05:36:54 -0800 (Fri, 23 Nov 2018) Log Message [GTK] [WPE] Tools/Platform{GTK,WPE}.cmake files missing from the tarballs https://bugs.webkit.org/show_bug.cgi?id=191923 Add Tools/PlatformGTK.cmake and Tools/PlatformWPE.cmake to their respective tarballs. Reviewed by Carlos Garcia Campos. * gtk/manifest.txt.in: * wpe/manifest.txt.in: Modified Paths trunk/Tools/ChangeLog trunk/Tools/gtk/manifest.txt.in trunk/Tools/wpe/manifest.txt.in Diff Modified: trunk/Tools/ChangeLog (238457 => 238458) --- trunk/Tools/ChangeLog 2018-11-23 11:04:23 UTC (rev 238457) +++ trunk/Tools/ChangeLog 2018-11-23 13:36:54 UTC (rev 238458) @@ -1,3 +1,16 @@ +2018-11-23 Alberto Garcia + +[GTK] [WPE] Tools/Platform{GTK,WPE}.cmake files missing from the tarballs +https://bugs.webkit.org/show_bug.cgi?id=191923 + +Add Tools/PlatformGTK.cmake and Tools/PlatformWPE.cmake to their +respective tarballs. + +Reviewed by Carlos Garcia Campos. + +* gtk/manifest.txt.in: +* wpe/manifest.txt.in: + 2018-11-22 Chris Dumez Regression(r238353) Load sometimes hangs when navigating back after a cross-site navigation Modified: trunk/Tools/gtk/manifest.txt.in (238457 => 238458) --- trunk/Tools/gtk/manifest.txt.in 2018-11-23 11:04:23 UTC (rev 238457) +++ trunk/Tools/gtk/manifest.txt.in 2018-11-23 13:36:54 UTC (rev 238458) @@ -95,6 +95,7 @@ file CMakeLists.txt file Tools/CMakeLists.txt +file Tools/PlatformGTK.cmake directory ${CMAKE_BINARY_DIR}/Documentation/webkit2gtk-${WEBKITGTK_API_VERSION}/html/webkit2gtk-${WEBKITGTK_API_VERSION} Documentation/webkit2gtk-${WEBKITGTK_API_VERSION}/html directory ${CMAKE_BINARY_DIR}/Documentation/webkitdomgtk-${WEBKITGTK_API_VERSION}/html/webkitdomgtk-${WEBKITGTK_API_VERSION} Documentation/webkitdomgtk-${WEBKITGTK_API_VERSION}/html Modified: trunk/Tools/wpe/manifest.txt.in (238457 => 238458) --- trunk/Tools/wpe/manifest.txt.in 2018-11-23 11:04:23 UTC (rev 238457) +++ trunk/Tools/wpe/manifest.txt.in 2018-11-23 13:36:54 UTC (rev 238458) @@ -91,6 +91,7 @@ file CMakeLists.txt file Tools/CMakeLists.txt +file Tools/PlatformWPE.cmake # FIXME: We are not currently generating documentation for WPE. #directory ${CMAKE_BINARY_DIR}/Documentation/webkit2gtk-${WEBKITGTK_API_VERSION}/html Documentation/webkit2gtk-${WEBKITGTK_API_VERSION}/html ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes