Timeline
Nov 28, 2019:
- 10:53 PM Changeset in webkit [252936] by
-
- 27 edits in trunk
Remove ENABLE_KEYBOARD_CODE_ATTRIBUTE and ENABLE_KEYBOARD_KEY_ATTRIBUTE macros
https://bugs.webkit.org/show_bug.cgi?id=204666
.:
Reviewed by Ross Kirsling and Don Olmstead.
- Source/cmake/OptionsFTW.cmake:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
Reviewed by Ross Kirsling and Don Olmstead.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Reviewed by Ross Kirsling and Don Olmstead.
No behavior change.
- Configurations/FeatureDefines.xcconfig:
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
(WebCore::KeyboardEvent::initKeyboardEvent):
- dom/KeyboardEvent.h:
- dom/KeyboardEvent.idl:
- platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::keyIdentifier const):
(WebCore::PlatformKeyboardEvent::key const):
(WebCore::PlatformKeyboardEvent::code const):
Source/WebCore/PAL:
Reviewed by Ross Kirsling and Don Olmstead.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
No behavior change.
- Configurations/FeatureDefines.xcconfig:
- Shared/WebEvent.h:
(WebKit::WebKeyboardEvent::unmodifiedText const):
(WebKit::WebKeyboardEvent::key const):
(WebKit::WebKeyboardEvent::code const):
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
- Shared/WebKeyboardEvent.cpp:
(WebKit::WebKeyboardEvent::WebKeyboardEvent):
(WebKit::WebKeyboardEvent::encode const):
(WebKit::WebKeyboardEvent::decode):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::generateSyntheticEditingCommand):
Source/WebKitLegacy/mac:
Reviewed by Ross Kirsling and Don Olmstead.
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
Reviewed by Ross Kirsling and Don Olmstead.
- wtf/FeatureDefines.h:
Tools:
Reviewed by Ross Kirsling and Don Olmstead.
- Scripts/webkitperl/FeatureList.pm:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 10:27 PM Changeset in webkit [252935] by
-
- 13 edits2 adds in trunk
Element jumps to wrong position after perspective change on ancestor
https://bugs.webkit.org/show_bug.cgi?id=202505
<rdar://problem/55930710>
Reviewed by Antti Koivisto.
Source/WebCore:
This modifies the fix in r252879 to be better-performing and to avoid a new call site for updateLayerPositions*.
Style can change in a way that creates or destroys RenderLayers, but does not result in a layout; this can happen
with changes of properties like opacity or perspective. When this happens, something needs to trigger a call to
RenderLayer::updateLayerPositions() on the root of the changed subtree. This is best done after the style update,
to avoid multiple updateLayerPositions traversals.
Implement this by storing on RenderView the rootmost changed layer, and having FrameView::styleDidChange()
call updateLayerPositionsAfterStyleChange() if we're after a style change with no pending layout.
Test: compositing/geometry/layer-position-after-removing-perspective.html
- page/FrameView.cpp:
(WebCore::FrameView::styleDidChange):
- page/FrameView.h:
- platform/ScrollView.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::didAttachChild):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::insertOnlyThisLayer):
(WebCore::RenderLayer::removeOnlyThisLayer):
(WebCore::findCommonAncestor):
(WebCore::RenderLayer::commonAncestorWithLayer const):
- rendering/RenderLayer.h:
- rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::createLayer):
(WebCore::RenderLayerModelObject::styleDidChange):
- rendering/RenderView.cpp:
(WebCore::RenderView::layerChildrenChangedDuringStyleChange):
(WebCore::RenderView::takeStyleChangeLayerTreeMutationRoot):
- rendering/RenderView.h:
LayoutTests:
- compositing/geometry/layer-position-after-removing-perspective-expected.html: Added.
- compositing/geometry/layer-position-after-removing-perspective.html: Added.
- css3/blending/repaint/blend-mode-isolate-stacking-context-expected.txt: Rebaselined.
- 1:30 PM Changeset in webkit [252934] by
-
- 2 edits in trunk/LayoutTests
[WebGL] Garden dedicated queue (Part 10)
https://bugs.webkit.org/show_bug.cgi?id=204547
Unreviewed test gardening.
- webgl/TestExpectations:
- 12:12 PM Changeset in webkit [252933] by
-
- 2 edits in trunk/Tools
Rename 'submit to new EWS' to 'Submit for EWS analysis'
https://bugs.webkit.org/show_bug.cgi?id=204692
Unreviewed minor fix.
- BuildSlaveSupport/ews-app/ews/templates/statusbubble.html:
- 12:06 PM Changeset in webkit [252932] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Remove m_inlineRunToLineMap
https://bugs.webkit.org/show_bug.cgi?id=204688
Reviewed by Zalan Bujtas.
Add line index to Display::Run and use it to locate the line it is on.
This is 4-5% progression in PerformanceTests/Layout/line-layout-simple.html
- layout/displaytree/DisplayRun.h:
(WebCore::Display::Run::lineIndex const):
(WebCore::Display::Run::Run):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):
- layout/inlineformatting/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::lineBoxForRun const):
(WebCore::Layout::InlineFormattingState::addInlineRun):
(WebCore::Layout::InlineFormattingState::resetInlineRuns):
- 11:45 AM Changeset in webkit [252931] by
-
- 2 edits in trunk/Tools
Old EWS is showing 'Submit to old EWS' button on every patch
https://bugs.webkit.org/show_bug.cgi?id=204691
Unreviewed minor fix.
- QueueStatusServer/handlers/statusbubble.py:
(StatusBubble.get): Disabled Submit to old EWS button since almost all the queues
have been removed from old EWS.
- 8:54 AM Changeset in webkit [252930] by
-
- 2 edits in trunk/Tools
test262-runner ends with SIGPIPE signal
https://bugs.webkit.org/show_bug.cgi?id=194816
Reviewed by Carlos Alberto Lopez Perez.
- Scripts/test262/Runner.pm:
(main):
- 8:26 AM Changeset in webkit [252929] by
-
- 2 edits in trunk/LayoutTests
[WebGL] Garden dedicated queue (Part 9)
https://bugs.webkit.org/show_bug.cgi?id=204547
Unreviewed test gardening.
- webgl/TestExpectations:
- 8:06 AM Changeset in webkit [252928] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Vector allocate InlineItemRuns
https://bugs.webkit.org/show_bug.cgi?id=204680
Reviewed by Zalan Bujtas.
Reduce heap allocations during inline layout.
This is ~15% speedup in PerformanceTests/Layout/line-layout-simple.html with LFC-in-render-tree enabled.
With other improvements it makes LFC path faster than simple line layout in this test.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::ContinousContent::ContinousContent):
(WebCore::Layout::LineBuilder::ContinousContent::append):
(WebCore::Layout::LineBuilder::ContinousContent::close):
Move to LineBuilder namespace.
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::removeTrailingTrimmableContent):
(WebCore::Layout::LineBuilder::appendNonBreakableSpace):
(WebCore::Layout::LineBuilder::appendTextContent):
(WebCore::Layout::LineBuilder::appendNonReplacedInlineBox):
(WebCore::Layout::LineBuilder::appendLineBreak):
(WebCore::Layout::LineBuilder::TrimmableContent::append):
(WebCore::Layout::LineBuilder::formattingContext const):
(WebCore::Layout::LineBuilder::InlineItemRun::InlineItemRun):
(WebCore::Layout::LineBuilder::InlineItemRun::setCollapsesToZeroAdvanceWidth):
(WebCore::Layout::InlineItemRun::layoutBox const): Deleted.
(WebCore::Layout::InlineItemRun::logicalRect const): Deleted.
(WebCore::Layout::InlineItemRun::textContext const): Deleted.
(WebCore::Layout::InlineItemRun::isText const): Deleted.
(WebCore::Layout::InlineItemRun::isBox const): Deleted.
(WebCore::Layout::InlineItemRun::isContainerStart const): Deleted.
(WebCore::Layout::InlineItemRun::isContainerEnd const): Deleted.
(WebCore::Layout::InlineItemRun::isForcedLineBreak const): Deleted.
(WebCore::Layout::InlineItemRun::type const): Deleted.
(WebCore::Layout::InlineItemRun::setIsCollapsed): Deleted.
(WebCore::Layout::InlineItemRun::isCollapsed const): Deleted.
(WebCore::Layout::InlineItemRun::isCollapsedToZeroAdvanceWidth const): Deleted.
(WebCore::Layout::InlineItemRun::isCollapsible const): Deleted.
(WebCore::Layout::InlineItemRun::isWhitespace const): Deleted.
(WebCore::Layout::InlineItemRun::hasExpansionOpportunity const): Deleted.
(WebCore::Layout::InlineItemRun::InlineItemRun): Deleted.
(WebCore::Layout::InlineItemRun::setCollapsesToZeroAdvanceWidth): Deleted.
Move InlineItemRun to header in LineBuilder namespace so we can use directly in m_inlineItemRuns vector.
(WebCore::Layout::ContinousContent::canBeExpanded): Deleted.
(WebCore::Layout::ContinousContent::canBeMerged const): Deleted.
(WebCore::Layout::ContinousContent::ContinousContent): Deleted.
(WebCore::Layout::ContinousContent::append): Deleted.
(WebCore::Layout::ContinousContent::close): Deleted.
- layout/inlineformatting/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::InlineItemRun::layoutBox const):
(WebCore::Layout::LineBuilder::InlineItemRun::logicalRect const):
(WebCore::Layout::LineBuilder::InlineItemRun::textContext const):
(WebCore::Layout::LineBuilder::InlineItemRun::isText const):
(WebCore::Layout::LineBuilder::InlineItemRun::isBox const):
(WebCore::Layout::LineBuilder::InlineItemRun::isContainerStart const):
(WebCore::Layout::LineBuilder::InlineItemRun::isContainerEnd const):
(WebCore::Layout::LineBuilder::InlineItemRun::isForcedLineBreak const):
(WebCore::Layout::LineBuilder::InlineItemRun::type const):
(WebCore::Layout::LineBuilder::InlineItemRun::setIsCollapsed):
(WebCore::Layout::LineBuilder::InlineItemRun::isCollapsed const):
(WebCore::Layout::LineBuilder::InlineItemRun::isCollapsedToZeroAdvanceWidth const):
(WebCore::Layout::LineBuilder::InlineItemRun::isCollapsible const):
(WebCore::Layout::LineBuilder::InlineItemRun::isWhitespace const):
(WebCore::Layout::LineBuilder::InlineItemRun::hasExpansionOpportunity const):
(WebCore::Layout::LineBuilder::TrimmableContent::runIndexes):
Make TrimmableContent collect indexes to InlineItemRun vector instead of pointer.
We only ever append to the vector so the indexes stay valid for TrimmableContent lifetime.
(WebCore::Layout::LineBuilder::TrimmableContent::isEmpty const):
(WebCore::Layout::LineBuilder::TrimmableContent::clear):
(WebCore::Layout::LineBuilder::TrimmableContent::runs): Deleted.
- 8:03 AM Changeset in webkit [252927] by
-
- 2 edits in trunk/Source/WebCore
Cache integer font metrics for performance
https://bugs.webkit.org/show_bug.cgi?id=204668
Reviewed by Zalan Bujtas.
Line layout uses integer metrics and queries them a lot. Avoid repeated rounding.
This is >10% speedup in PerformanceTests/Layout/line-layout-simple.html with LFC.
- platform/graphics/FontMetrics.h:
(WebCore::FontMetrics::floatAscent const):
(WebCore::FontMetrics::setAscent):
(WebCore::FontMetrics::floatDescent const):
(WebCore::FontMetrics::setDescent):
(WebCore::FontMetrics::floatLineGap const):
(WebCore::FontMetrics::setLineGap):
(WebCore::FontMetrics::floatLineSpacing const):
(WebCore::FontMetrics::setLineSpacing):
(WebCore::FontMetrics::hasCapHeight const):
(WebCore::FontMetrics::floatCapHeight const):
(WebCore::FontMetrics::setCapHeight):
(WebCore::FontMetrics::ascent const):
(WebCore::FontMetrics::descent const):
(WebCore::FontMetrics::lineGap const):
(WebCore::FontMetrics::lineSpacing const):
(WebCore::FontMetrics::capHeight const):
(WebCore::FontMetrics::reset):
- 8:03 AM Changeset in webkit [252926] by
-
- 2 edits in trunk/Tools
Removed ENABLED_QUEUES logic from ews-app
https://bugs.webkit.org/show_bug.cgi?id=204683
Unreviewed minor fix.
- BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): Removed ENABLED_QUEUES.
(StatusBubble._build_bubbles_for_patch):
(StatusBubble._should_show_bubble_for_queue): Deleted.
- 7:43 AM Changeset in webkit [252925] by
-
- 5 edits in trunk/Tools
[ews] Enable Windows queue on new EWS
https://bugs.webkit.org/show_bug.cgi?id=204243
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Enabled windows queue bubble on new EWS.
- BuildSlaveSupport/ews-build/config.json: Enabled the scheduler for windows queue. Removed the disabled Try_Userpass scheduler.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer): Removed windows ews queue from bot-watcher's dashboard.
- QueueStatusServer/config/queues.py: Removed windows queue from old EWS.
- 6:49 AM Changeset in webkit [252924] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Adjust the line's is-visually-empty status after trimming the trailing whitespace content
https://bugs.webkit.org/show_bug.cgi?id=204660
<rdar://problem/57513035>
Reviewed by Antti Koivisto.
We need to check if the line is still visually empty after trimming the trailing content.
- layout/inlineformatting/InlineLineBox.h:
(WebCore::Layout::LineBox::setIsConsideredEmpty):
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::removeTrailingTrimmableContent):
(WebCore::Layout::LineBuilder::appendTextContent):
- layout/inlineformatting/InlineLineBuilder.h:
- 6:44 AM Changeset in webkit [252923] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Re-introduce LineBuilder::isVisuallyNonEmpty function
https://bugs.webkit.org/show_bug.cgi?id=204658
<rdar://problem/57512248>
Reviewed by Antti Koivisto.
LineBuilder::isVisuallyNonEmpty() used to loop through the runs an check if the runs are visually empty or not.
This time it takes the run as the parameter and decides whether this particular run is visually empty or not.
This patch is in preparation for fixing the line's visually-empty state after trimming the trailing runs.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::append):
(WebCore::Layout::LineBuilder::appendNonBreakableSpace):
(WebCore::Layout::LineBuilder::appendTextContent):
(WebCore::Layout::LineBuilder::appendNonReplacedInlineBox):
(WebCore::Layout::LineBuilder::appendReplacedInlineBox):
(WebCore::Layout::LineBuilder::appendLineBreak):
(WebCore::Layout::LineBuilder::isVisuallyNonEmpty const):
- layout/inlineformatting/InlineLineBuilder.h:
- 6:34 AM Changeset in webkit [252922] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] adjustBaselineAndLineHeight should be called before resetting the line in quirk mode
https://bugs.webkit.org/show_bug.cgi?id=204662
<rdar://problem/57513178>
Reviewed by Antti Koivisto.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::alignContentVertically):
- 6:24 AM Changeset in webkit [252921] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Fix LineLayoutContext::shouldProcessUncommittedContent logic
https://bugs.webkit.org/show_bug.cgi?id=204656
<rdar://problem/57511221>
Reviewed by Antti Koivisto.
Move the [text][text] and [ ][text] checks further down because we adjust the "lastUncomittedContent" by skipping [container start][container end] items.
(This was recently regressed at r252859)
- layout/inlineformatting/LineLayoutContext.cpp:
(WebCore::Layout::LineLayoutContext::shouldProcessUncommittedContent const):
- 6:22 AM Changeset in webkit [252920] by
-
- 2 edits in trunk/Source/WebCore
[LFC] canUseSimplifiedTextMeasuring should check for FontCascade::Complex
https://bugs.webkit.org/show_bug.cgi?id=204663
<rdar://problem/57513642>
Reviewed by Antti Koivisto.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::canUseSimplifiedTextMeasuring):
- 4:57 AM Changeset in webkit [252919] by
-
- 3 edits17 adds in trunk/LayoutTests
Unreviewed GTK and WPE gardening after r252916.
- platform/gtk/TestExpectations:
- platform/gtk/css3/blending/svg-blend-hard-light-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/import/paths-data-18-f-manual-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/import/paths-data-20-f-manual-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/import/shapes-polygon-03-t-manual-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/import/struct-dom-07-f-manual-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/import/struct-svg-02-f-manual-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/import/svgdom-over-01-f-manual-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/path/bearing/absolute-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/path/bearing/relative-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/path/bearing/zero-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/path/closepath/segment-completing-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/path/error-handling/render-until-error-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/shapes/reftests/disabled-shapes-01-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/svg/text/visualtests/text-inline-size-001-visual-expected.txt: Added.
- platform/wpe/TestExpectations:
- 4:52 AM Changeset in webkit [252918] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Convert GLVideoSink and WebKitWebSrc to WEBKIT_DEFINE_TYPE
https://bugs.webkit.org/show_bug.cgi?id=204674
Reviewed by Carlos Garcia Campos.
This is mostly a refactoring, simplifying the code-base a bit.
- platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:
(webKitGLVideoSinkConstructed):
(webKitGLVideoSinkFinalize):
(webkit_gl_video_sink_class_init):
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webkit_web_src_class_init):
(webKitWebSrcConstructed):
- 2:08 AM Changeset in webkit [252917] by
-
- 10 edits2 adds in trunk
[GStreamer] Move GL video sink to its own GstBin sub-class
https://bugs.webkit.org/show_bug.cgi?id=204624
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
This reduces the MediaPlayerPrivate code-base and adds a good
separation of responsibility regarding GL video rendering. The
TextureCopier remains in the player because it's too specific.
- platform/GStreamer.cmake:
- platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp: Added.
(webkit_gl_video_sink_init):
(webKitGLVideoSinkFinalize):
(ensureGstGLContext):
(requestGLContext):
(webKitGLVideoSinkChangeState):
(webkit_gl_video_sink_class_init):
(webKitGLVideoSinkSetMediaPlayerPrivate):
(webKitGLVideoSinkProbePlatform):
- platform/graphics/gstreamer/GLVideoSinkGStreamer.h: Added.
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::initializeGStreamerAndRegisterWebKitElements):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
(WebCore::MediaPlayerPrivateGStreamer::handleSyncMessage):
(WebCore::MediaPlayerPrivateGStreamer::createVideoSinkGL):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
Tools:
- Scripts/webkitpy/style/checker.py: White-list the new GLVideoSinkGStreamer GObject implementation.
Nov 27, 2019:
- 9:22 PM Changeset in webkit [252916] by
-
- 2 edits in trunk/Tools
[LFC] Unreviewed test gardening.
- LayoutReloaded/misc/LFC-passing-tests.txt: These tests were passing accidentally.
- 6:34 PM Changeset in webkit [252915] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Generate fewer InlineItems when new lines are not preserved
https://bugs.webkit.org/show_bug.cgi?id=204653
<rdar://problem/57510133>
Reviewed by Antti Koivisto.
This patch reduces the number of InlineItems by merging (non-preserved)new lines with neighboring whitespace characters.
[text\n\n text] -> [text][ ][text]
- layout/inlineformatting/InlineTextItem.cpp:
(WebCore::Layout::isWhitespaceCharacter):
(WebCore::Layout::moveToNextNonWhitespacePosition):
(WebCore::Layout::InlineTextItem::createAndAppendTextItems):
- 3:26 PM Changeset in webkit [252914] by
-
- 2 edits in trunk/LayoutTests
[WebGL] Garden dedicated queue (Part 8)
https://bugs.webkit.org/show_bug.cgi?id=204547
Unreviewed test gardening.
- webgl/TestExpectations:
- 3:07 PM Changeset in webkit [252913] by
-
- 3 edits in trunk/Source/WebCore
Using char* instead of String for StyleProperties::getShorthandValue()
https://bugs.webkit.org/show_bug.cgi?id=204644
Reviewed by Darin Adler.
This is follow-up patch for r252901. We don't need to create a String object
just for the separator and can use char* instead.
This was suggested by Darin Adler in webkit.org/b/204508.
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getShorthandValue const):
- css/StyleProperties.h:
- 1:41 PM Changeset in webkit [252912] by
-
- 5 edits in trunk/Source/WebCore
[LFC] Run layout on the root when InvalidationState is empty.
https://bugs.webkit.org/show_bug.cgi?id=204651
<rdar://problem/57509616>
Reviewed by Antti Koivisto.
InvalidationState captures style/tree mutation related changes. An empty InvalidationState indicates that the horizontal constraint changed
and we need to initiate a layout on the ICB (and the layout logic will propagate the damage down on the tree).
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::layout):
- layout/RenderBlockFlowLineLayout.cpp:
(WebCore::Layout::RenderBlockFlowLineLayout::layout):
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::printLayoutTreeForLiveDocuments):
- page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::layoutUsingFormattingContext):
- 11:38 AM Changeset in webkit [252911] by
-
- 15 edits1 delete in trunk
REGRESSION(r252455): imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html fails on iOS and WK1
https://bugs.webkit.org/show_bug.cgi?id=204272
<rdar://problem/57253742>
Reviewed by Dean Jackson.
Source/WebCore:
Events for declarative animations are dispatched using a MainThreadGenericEventQueue which dispatches enqueued events asynchronously. When a declarative
animation would be canceled, AnimationTimeline::cancelDeclarativeAnimation() would be called and would enqueue a "transitioncancel" or "animationcancel"
event (depending on the animation type) by virtue of calling DeclarativeAnimation::cancelFromStyle(), and would also call AnimationTimeline::removeAnimation()
right after. However, calling AnimationTimeline::removeAnimation() could have the side effect of removing the last reference to the DeclarativeAnimation
object, which would destroy its attached MainThreadGenericEventQueue before it had the time to dispatch the queued "transitioncancel" or "animationcancel"
event.
The call to AnimationTimeline::removeAnimation() in AnimationTimeline::cancelDeclarativeAnimation() is actually unnecessary. Simply canceling the animation
via DeclarativeAnimation::cancelFromStyle() will end up calling AnimationTimeline::removeAnimation() the next time animations are updated, which will leave
time for the cancel events to be dispatched. So all we need to do is remove AnimationTimeline::cancelDeclarativeAnimation() and replace its call sites with
simple calls to DeclarativeAnimation::cancelFromStyle().
Making this change broke a test however: imported/w3c/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html. We actually passed that
test by chance without implementing the feature required to make it work. We now implement the correct way to track a global position for an animation by
only setting one for declarative animations once they are disassociated with their owning element and have a non-idle play state.
And a few other tests broke: animations/animation-shorthand-name-order.html, imported/w3c/web-platform-tests/css/css-animations/animationevent-types.html
and webanimations/css-animations.html. The reason for those tests being broken was that not calling AnimationTimeline::removeAnimation() instantly as CSS
Animations were canceled also meant that the KeyframeEffectStack for the targeted element wasn't updated. To solve this, we added the animationTimingDidChange()
method on KeyframeEffect which is called whenever timing on the owning Animation changes, so for instance when cancel() is called as we cancel a CSS
Animation. That way we ensure we add and remove KeyframeEffect instances from the KeyframeEffectStack as the animation becomes relevant, which is now
an added condition checked by KeyframeEffectStack::addEffect().
Finally, this revealed an issue in KeyframeEffectStack::ensureEffectsAreSorted() where we would consider CSSTransition and CSSAnimation objects to be
representative of a CSS Transition or CSS Animation even after the relationship with their owning element had been severed. We now correctly check that
relationship is intact and otherwise consider those animations just like any other animation.
- animation/AnimationTimeline.cpp:
(WebCore::AnimationTimeline::animationTimingDidChange):
(WebCore::AnimationTimeline::updateGlobalPosition):
(WebCore::AnimationTimeline::removeDeclarativeAnimationFromListsForOwningElement):
(WebCore::AnimationTimeline::updateCSSAnimationsForElement):
(WebCore::AnimationTimeline::updateCSSTransitionsForElementAndProperty):
(WebCore::AnimationTimeline::updateCSSTransitionsForElement):
(WebCore::AnimationTimeline::cancelDeclarativeAnimation): Deleted.
- animation/AnimationTimeline.h:
- animation/CSSAnimation.cpp:
(WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):
- animation/CSSTransition.cpp:
(WebCore::CSSTransition::setTimingProperties):
- animation/DeclarativeAnimation.cpp:
(WebCore::DeclarativeAnimation::canHaveGlobalPosition):
- animation/DeclarativeAnimation.h:
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::getAnimations const):
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::animationTimelineDidChange):
(WebCore::KeyframeEffect::animationTimingDidChange):
(WebCore::KeyframeEffect::updateEffectStackMembership):
(WebCore::KeyframeEffect::setAnimation):
(WebCore::KeyframeEffect::setTarget):
- animation/KeyframeEffect.h:
- animation/KeyframeEffectStack.cpp:
(WebCore::KeyframeEffectStack::addEffect):
(WebCore::KeyframeEffectStack::ensureEffectsAreSorted):
- animation/KeyframeEffectStack.h:
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::timingDidChange):
- animation/WebAnimation.h:
(WebCore::WebAnimation::canHaveGlobalPosition):
LayoutTests:
Removing this specific expectation for WK1 since it now behaves just like the other configurations.
- platform/mac-wk1/imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements-expected.txt: Removed.
- 11:20 AM Changeset in webkit [252910] by
-
- 2 edits in trunk/LayoutTests
[WebGL] Garden dedicated queue (Part 7)
https://bugs.webkit.org/show_bug.cgi?id=204547
Unreviewed test gardening.
- webgl/TestExpectations:
- 10:59 AM Changeset in webkit [252909] by
-
- 4 edits in trunk/Source/WebCore
Enable GPU switching with ANGLE
https://bugs.webkit.org/show_bug.cgi?id=203916
This enables the same GPU switching code that we use with OpenGL on ANGLE
contexts. ANGLE contexts can now be switched to the high power GPU.
Patch by James Darpinian <James Darpinian> on 2019-11-27
Reviewed by Dean Jackson.
- platform/graphics/GraphicsContext3D.h:
- platform/graphics/GraphicsContext3DManager.cpp:
(WebCore::GraphicsContext3DManager::updateAllContexts):
- platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
(WebCore::setGPUByRegistryID):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::updateCGLContext):
(WebCore::GraphicsContext3D::screenDidChange):
- 9:53 AM Changeset in webkit [252908] by
-
- 2 edits in trunk/Source/WebKit
[GTK][WebInspector] Use CString to store exported data
https://bugs.webkit.org/show_bug.cgi?id=204623
Reviewed by Carlos Garcia Campos.
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformSave): Use a CString for copy-on-write assignment.
- 9:11 AM Changeset in webkit [252907] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Render tree] PerformanceTests/Layout/line-layout-simple.html does not update properly with LFC enabled
https://bugs.webkit.org/show_bug.cgi?id=204646
Reviewed by Zalan Bujtas.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
Destroy LFC layout here, for now.
- 9:01 AM Changeset in webkit [252906] by
-
- 3 edits in trunk/Source/WebCore
[LFC][Render tree] RenderBlockFlow::ensureLineBoxes should work with lfc layout
https://bugs.webkit.org/show_bug.cgi?id=204633
Reviewed by Zalan Bujtas.
We need to be able to switch to linebox layout when needed.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::deleteLines):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
(WebCore::RenderBlockFlow::ensureLineBoxes):
- rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::hasLineLayout const):
Also switch to using WTF::Monostate as empty state.
- 8:54 AM Changeset in webkit [252905] by
-
- 9 edits in trunk/Source/WebCore
[LFC] Make strings safe
https://bugs.webkit.org/show_bug.cgi?id=204645
Reviewed by Zalan Bujtas.
- layout/displaytree/DisplayPainter.cpp:
(WebCore::Display::paintInlineContent):
- layout/displaytree/DisplayRun.h:
(WebCore::Display::Run::TextContext::TextContext):
(WebCore::Display::Run::TextContext::content const):
- Use String instead of StringView so the underlying StringImpl gets reffed.
- Make it point the full content string instead of the current range so we don't create unncessary short strings.
- Construct StringView on fly based on start/end.
(WebCore::Display::Run::setTextContext):
(WebCore::Display::Run::textContext const):
(WebCore::Display::Run::TextContext::expand):
(WebCore::Display::Run::textContext): Deleted.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::InlineItemRun::textContext const):
(WebCore::Layout::ContinousContent::close):
(WebCore::Layout::LineBuilder::appendTextContent):
- layout/inlineformatting/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::Run::textContext const):
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::Box):
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::textContext const):
Use Optional<TextContext> since it is small
- layout/layouttree/LayoutContainer.cpp:
(WebCore::Layout::Container::Container):
- layout/layouttree/TextContext.h:
Use String instead of StringView so the underlying StringImpl gets reffed.
- 6:18 AM WPE/Releasing edited by
- (diff)
- 6:03 AM Changeset in webkit [252904] by
-
- 1 copy in releases/WPE WebKit/webkit-2.27.3
WPE Webkit 2.27.3
- 4:50 AM Changeset in webkit [252903] by
-
- 2 edits in trunk/LayoutTests
Update test expectations for GTK port
Unreviewed test gardening.
- platform/gtk/TestExpectations:
- 4:48 AM Changeset in webkit [252902] by
-
- 4 edits in trunk
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.27.3 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.27.3.
- 4:44 AM Changeset in webkit [252901] by
-
- 8 edits in trunk
[css-grid] Serialization of grid-area, grid-row and grid-column should include "/" separator
https://bugs.webkit.org/show_bug.cgi?id=204508
Reviewed by Javier Fernandez.
LayoutTests/imported/w3c:
After this patch several test cases are passing.
There are still failures as the serialization is still not the right one in all the cases,
but this makes WebKit behave like Chromium for these shorthands.
- web-platform-tests/css/css-grid/grid-layout-properties-expected.txt:
- web-platform-tests/css/css-grid/parsing/grid-area-valid-expected.txt:
- web-platform-tests/css/css-grid/parsing/grid-shorthand-valid-expected.txt:
- web-platform-tests/css/css-grid/parsing/grid-template-shorthand-valid-expected.txt:
Source/WebCore:
Just use "/" separator instead of a white space when serializing the grid shorthands.
There are still failures because serialization of grid shorthands still needs some extra work
(see webkit.org/b/204611), however this change puts WebKit in the same status than Chromium
regarding this topic.
Several WPT test cases are passing thanks to this change.
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue const):
(WebCore::StyleProperties::getGridShorthandValue const):
(WebCore::StyleProperties::getShorthandValue const):
- css/StyleProperties.h:
- 4:24 AM Changeset in webkit [252900] by
-
- 3 edits in trunk/LayoutTests
Update test expectations for GTK/WPE ports
Unreviewed test gardening.
Get rid of outdated expectations referring to not-existing tests, remove duplicates, etc.
Mark Gtk tests as passing that are reported by the bots to pas.
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 4:05 AM Changeset in webkit [252899] by
-
- 2 edits in trunk/LayoutTests
Update test expectations for WPE port
Unreviewed test gardening.
Get rid of outdated expectations referring to not-existing tests, remove duplicates, etc.
- platform/wpe/TestExpectations:
- 2:19 AM Changeset in webkit [252898] by
-
- 2 edits in trunk/Source/WebKit
[GTK] WebDriver: moving toplevel windows is not supported under wayland
https://bugs.webkit.org/show_bug.cgi?id=204614
Reviewed by Alejandro G. Castro.
So we can stop trying and simply ignore the requests to move the window.
- UIProcess/API/glib/WebKitUIClient.cpp:
(UIClient::windowConfigureEventCallback): Ensure we only move or resize when actually required and reduce the
time we wait for configure events to 200ms (1 second was too long).
- 12:55 AM Changeset in webkit [252897] by
-
- 3 edits in trunk/Source/WebCore
Protect ServiceWorkerThreadProxy while being stopped
https://bugs.webkit.org/show_bug.cgi?id=204610
<rdar://problem/57476332>
Reviewed by Chris Dumez.
Reuse stop implementation in terminateWorker for stopAllServiceWorkers.
Move the worker map value from RefPtr to Ref.
Covered by existing tests no longer crashing.
- workers/service/context/SWContextManager.cpp:
(WebCore::SWContextManager::terminateWorker):
(WebCore::SWContextManager::stopWorker):
(WebCore::SWContextManager::forEachServiceWorkerThread):
(WebCore::SWContextManager::stopAllServiceWorkers):
- workers/service/context/SWContextManager.h: