⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 3, 2020:

9:14 PM Changeset in webkit [261071] by ddkilzer@apple.com
  • 4 edits in trunk/Source

Use LocalCurrentGraphicsContext in WebKit::convertPlatformImageToBitmap()
<https://webkit.org/b/211274>

Reviewed by Darin Adler.

Source/WebCore:

  • platform/mac/LocalCurrentGraphicsContext.h:

(WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
(WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):

  • Export methods for use in WebKit.

Source/WebKit:

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::convertPlatformImageToBitmap):

  • Use LocalCurrentGraphicsContext to replace code.
8:42 PM Changeset in webkit [261070] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Fix static analyzer false positive in -[WebUndefined undefined]
<https://webkit.org/b/211353>

Reviewed by Darin Adler.

  • bridge/objc/WebScriptObject.mm:

(+[WebUndefined allocWithZone:]):
(-[WebUndefined initWithCoder:]):
(-[WebUndefined retain]):
(-[WebUndefined autorelease]):

  • Update method signatures.

(+[WebUndefined undefined]):

  • Fix clang static analyzer false positive by using idiomatic -alloc, -init calls to create object. These methods call -allocWithZone:, so this still uses the singleton pattern.
3:37 PM Changeset in webkit [261069] by dbates@webkit.org
  • 2 edits in trunk/Tools

Attempt to fix the iOS build after r261068
(https://bugs.webkit.org/show_bug.cgi?id=208281)

Wrap TEST()s in namespace TestWebKitAPI so as to not need to qualify IPhoneUserInterfaceSwizzler.

  • TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm:

(TEST): Deleted.

3:14 PM Changeset in webkit [261068] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iPad Simulator] TestWebKitAPI.UIWKInteractionViewProtocol.SelectPositionAtPointAfterBecomingFirstResponder is failing
https://bugs.webkit.org/show_bug.cgi?id=208281
<rdar://problem/59829265>

Reviewed by Wenson Hsieh.

I tried to write the test SelectPositionAtPointAfterBecomingFirstResponder for both iPad and iPhone,
but it turns out that I forgot an impl detail on how form control dismissal works for iPad and fixing
this would require adding more SPI/IPI. This is largely due to differences in form control UI and
conventions for dismissing such UI. This test isn't testing such UI it just needs to ensure that the
view is not first responder before it runs the actual test code. It uses an iPhone specific set of
steps to do this. It's enough to test this functionality on iPhone.

  • TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm:

(TEST):

3:00 PM Changeset in webkit [261067] by mjs@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove no longer needed WebKitAdditions include for JavaScriptCorePrefix.h
https://bugs.webkit.org/show_bug.cgi?id=211357

Reviewed by Mark Lam.

  • JavaScriptCorePrefix.h:
2:42 PM Changeset in webkit [261066] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

Use default initializers and default constructors in WebEvent.h
<https://webkit.org/b/211354>

Reviewed by Daniel Bates.

  • Shared/WebEvent.h:

(WebKit::WebWheelEvent):
(WebKit::WebKeyboardEvent):
(WebKit::WebPlatformTouchPoint):
(WebKit::WebTouchEvent):

  • Change empty constructors to use default.
  • Use default initializers to make sure all fields are initialized.
1:53 PM Changeset in webkit [261065] by dbates@webkit.org
  • 6 edits
    4 copies
    2 moves
    2 adds in trunk

Sometimes cannot find <textarea> in list of editable elements
https://bugs.webkit.org/show_bug.cgi?id=211348
<rdar://problem/62231067>

Reviewed by Simon Fraser.

Source/WebCore:

When building the editable region add the bounds of the text control to the region instead
of the bounds of its inner text element even though it is the latter that is actually editable.
Using the bounds of the text control is more in line with a user's expectation for the editable
portion of a text control: the entire control. So, do that.

Tests: editing/editable-region/hit-test-textarea-empty-space.html

editing/editable-region/search-field-basic.html
editing/editable-region/text-field-basic.html
editing/editable-region/textarea-basic.html

  • rendering/EventRegion.cpp:

(WebCore::EventRegionContext::unite):
(WebCore::EventRegion::unite):
Add a new bool as to whether to override the user-modify check and just assume that the region
is for something editable. This is needed because the form control (e.g. the <input> or <textarea>
aka the shadow host element) isn't actually editable itself. Its inner text element is editable.
RenderBlock::paintObject() will pass true for this override when event region painting such a
control and the control's inner text element is editable so that the controls bounds are added to
the editable region.

  • rendering/EventRegion.h: Add a bool, defaulting to false to keep the current behavior. While

I am here remove some unneeded WEBCORE_EXPORT attributions.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject): Pass a value for the override argument. It will be true
if this block is actually a text control and its inner text element is editable. Otherwise, it
will be false. There is also no longer a need to descend into the children of a text control
because I only care to record the bounds of the control itself as editable, not its inner text
element.

LayoutTests:

Update some existing test results and add some more tests.

  • editing/editable-region/hit-test-textarea-empty-space-expected.txt: Added.
  • editing/editable-region/hit-test-textarea-empty-space.html: Added.
  • editing/editable-region/overflow-scroll-text-field-and-contenteditable-expected.txt:
  • editing/editable-region/search-field-basic-expected.txt: Copied from LayoutTests/editing/editable-region/input-basic-expected.txt.
  • editing/editable-region/search-field-basic.html: Copied from LayoutTests/editing/editable-region/input-basic.html.
  • editing/editable-region/text-field-basic-expected.txt: Copied from LayoutTests/editing/editable-region/input-basic-expected.txt.
  • editing/editable-region/text-field-basic.html: Copied from LayoutTests/editing/editable-region/input-basic.html.
  • editing/editable-region/textarea-basic-expected.txt: Renamed from LayoutTests/editing/editable-region/input-basic-expected.txt.
  • editing/editable-region/textarea-basic.html: Renamed from LayoutTests/editing/editable-region/input-basic.html.
11:23 AM Changeset in webkit [261064] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][TFC] Turns horizontal space distribution into a generic space distribution
https://bugs.webkit.org/show_bug.cgi?id=211352

Reviewed by Antti Koivisto.

Horizontal(column) and vertical(row) space distributions use essentially the same logic to distribute
the extra space among the columns/rows.
This patch turns the horizontal space distribution function into a generic space distribution code so
that we can use it for row sizing as well.

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::ColumnSpan::hasSpan):
(WebCore::Layout::ColumnSpan::isSpanned):
(WebCore::Layout::ColumnSpan::spanCount):
(WebCore::Layout::ColumnSpan::startSpan):
(WebCore::Layout::ColumnSpan::endSpan):
(WebCore::Layout::ColumnSpan::index):
(WebCore::Layout::ColumnSpan::size):
(WebCore::Layout::ColumnSpan::spacing):
(WebCore::Layout::distributeAvailableSpace):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraHorizontalSpace):

  • layout/tableformatting/TableGrid.h:

(WebCore::Layout::TableGrid::slot const):

11:16 AM Changeset in webkit [261063] by youenn@apple.com
  • 7 edits in trunk/Source/WebCore

AudioMediaStreamTrackRendererCocoa should create/start/stop its remote unit on the main thread
https://bugs.webkit.org/show_bug.cgi?id=211287

Reviewed by Eric Carlson.

Creating/starting/stopping audio units in different threads is error prone.
Now that we have an observer model where we have observers for when to play in the main thread and
based on that, we decide to receive audio samples in a background thread, we can simplify the logic of AudioMediaStreamTrackRendererCocoa.
We do this by creating/starting the unit in AudioMediaStreamTrackRendererCocoa::start.
At that point, AudioMediaStreamTrackRendererCocoa is not expected to receive any sample.
Just after starting, AudioTrackPrivateMediaStream will receive audio samples and forward them to AudioMediaStreamTrackRendererCocoa.
AudioMediaStreamTrackRendererCocoa will then create in a background thread the AudioSampleDataSource that is responsible to adapt the received audio samples to the unit.

Manually tested.

  • platform/audio/mac/AudioSampleDataSource.h:

(WebCore::AudioSampleDataSource::inputDescription const):

  • platform/audio/mac/CAAudioStreamDescription.h:
  • platform/mediastream/AudioTrackPrivateMediaStream.cpp:

(WebCore::AudioTrackPrivateMediaStream::startRenderer):
Ensure to start the unit and then start gettting audio samples.

  • platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp:

(WebCore::AudioMediaStreamTrackRendererCocoa::start):
(WebCore::AudioMediaStreamTrackRendererCocoa::stop):
(WebCore::AudioMediaStreamTrackRendererCocoa::clear):
(WebCore::AudioMediaStreamTrackRendererCocoa::pushSamples):
(WebCore::AudioMediaStreamTrackRendererCocoa::render):

  • platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.h:
8:59 AM Changeset in webkit [261062] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Unreviewed test cleanup.

Remove some unused elements from these tests, and send a couple of mouseMoved
events to reduce the chances of flakiness.

  • fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html:
  • fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal-expected.txt:
  • fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html:
2:53 AM Changeset in webkit [261061] by commit-queue@webkit.org
  • 11 edits in trunk

atob() should not accept a vertical tab
https://bugs.webkit.org/show_bug.cgi?id=184529

Patch by Rob Buis <rbuis@igalia.com> on 2020-05-03
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update improved test expectations.

  • web-platform-tests/fetch/data-urls/base64.any-expected.txt:
  • web-platform-tests/fetch/data-urls/base64.any.worker-expected.txt:
  • web-platform-tests/fetch/data-urls/resources/base64.json: Add test for unicode whitespace.
  • web-platform-tests/html/webappapis/atob/base64-expected.txt:

Source/WebCore:

The forgiving-base64 decode algorithm [1] uses [2] to strip
out ASCII whitespace which does not include vertical tabs, so
change the atob() implementation to not strip out vertical
tabs and thus to fail decode on vertical tabs.

[1] https://infra.spec.whatwg.org/#forgiving-base64-decode
[2] https://infra.spec.whatwg.org/#ascii-whitespace

Behavior matches Firefox and Chrome.

  • page/Base64Utilities.cpp:

(WebCore::Base64Utilities::atob):

  • platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::decodeBase64):

Source/WTF:

Add an option to allow discarding of base64 decoding
when a vertical tab is encountered.

  • wtf/text/Base64.cpp:

(WTF::base64DecodeInternal):

  • wtf/text/Base64.h:
12:44 AM Changeset in webkit [261060] by dbates@webkit.org
  • 2 edits in trunk/Tools

Update info.

  • Scripts/webkitpy/common/config/contributors.json:

May 2, 2020:

11:20 PM Changeset in webkit [261059] by ChangSeok Oh
  • 2 edits in trunk/Tools

Unreviewed, add myself to some watch lists.

  • Scripts/webkitpy/common/config/watchlist:
11:18 PM Changeset in webkit [261058] by mark.lam@apple.com
  • 3 edits in trunk/LayoutTests

editing/undo-manager/undo-manager-delete-stale-undo-items.html is timing out.
https://bugs.webkit.org/show_bug.cgi?id=211340
<rdar://problem/62767874>

Reviewed by Wenson Hsieh.

The test aims to measure the number of GC'ed Undo related objects. It created
and estimated 600 objects and allows an error of 20 objects after GC is expected
to have collected these objects. This turns out to be too tight an error allowance.
Just running any JS code could inadvertantly create more objects, that will exceed
that error allowance.

This patch attempts to make the test more robust by increasing the created object
count to an estimated 3000 objects and allows an error of 300 objects. This means
we'll expect to see at least 2700 objects collected. That is a high enough number
that it cannot be attributed to unexpected objects created by the JS runtime being
GCed. The allowance of 300 is also much higher than number of unexpected objects
that the JS runtime may reasonably create beyond those managed by this test.

With this change, the test no longer times out.

  • editing/undo-manager/undo-manager-delete-stale-undo-items-expected.txt:
  • editing/undo-manager/undo-manager-delete-stale-undo-items.html:
8:53 PM Changeset in webkit [261057] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Add a log channel for OverlayScrollbars
https://bugs.webkit.org/show_bug.cgi?id=211329

Reviewed by Zalan Bujtas.

Overlay scrollbar behavior is opaque. This log channel will add clarity.

  • platform/Logging.h:
  • platform/mac/ScrollAnimatorMac.mm:

(operator<<):
(-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]):
(-[WebScrollbarPartAnimation startAnimation]):
(-[WebScrollbarPartAnimation setCurrentProgress:setCurrentProgress:]):
(WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorMac::didBeginScrollGesture const):
(WebCore::ScrollAnimatorMac::didEndScrollGesture const):
(WebCore::ScrollAnimatorMac::mayBeginScrollGesture const):
(WebCore::ScrollAnimatorMac::handleWheelEventPhase):

8:49 PM Changeset in webkit [261056] by Simon Fraser
  • 12 edits
    9 adds in trunk

Make it possible to test overlay scrollbar interactions
https://bugs.webkit.org/show_bug.cgi?id=211342

Reviewed by Daniel Bates.

Source/WebCore:

Add internals.horizontalScrollbarState() and internals.verticalScrollbarState() and hook them
up via ScrollableArea to ScrollAnimatorMac. They dump state based on the NSScrollerImp state.

Make internals.setUsesOverlayScrollbars(true) actually trigger real overlay scrollbars by notifying
the ScrollbarTheme about the scrollbar style change.

Tests: fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html

fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html
fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html
fast/scrolling/mac/scrollbars/scrollbar-state.html

  • platform/ScrollAnimator.h:

(WebCore::ScrollAnimator::ScrollAnimator::horizontalScrollbarStateForTesting const):
(WebCore::ScrollAnimator::ScrollAnimator::verticalScrollbarStateForTesting const):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::horizontalScrollbarStateForTesting const):
(WebCore::ScrollableArea::verticalScrollbarStateForTesting const):

  • platform/ScrollableArea.h:
  • platform/mac/NSScrollerImpDetails.h:
  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::scrollbarState):
(WebCore::ScrollAnimatorMac::horizontalScrollbarStateForTesting const):
(WebCore::ScrollAnimatorMac::verticalScrollbarStateForTesting const):

  • testing/Internals.cpp:

(WebCore:: const):
(WebCore::Internals::scrollbarOverlayStyle const):
(WebCore::Internals::scrollbarUsingDarkAppearance const):
(WebCore::Internals::horizontalScrollbarState const):
(WebCore::Internals::verticalScrollbarState const):
(WebCore::Internals::setUsesOverlayScrollbars):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

New tests, and some helper functions in UIHelper.

  • fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered-expected.txt: Added.
  • fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: Added.
  • fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal-expected.txt: Added.
  • fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: Added.
  • fast/scrolling/mac/scrollbars/overlay-scrollbar-state-expected.txt: Added.
  • fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: Added.
  • fast/scrolling/mac/scrollbars/scrollbar-state-expected.txt: Added.
  • fast/scrolling/mac/scrollbars/scrollbar-state.html: Added.
  • resources/ui-helper.js:

(window.UIHelper.async mouseWheelMayBeginAt):
(window.UIHelper.async mouseWheelCancelAt):
(window.UIHelper.async waitForCondition):

2:23 PM Changeset in webkit [261055] by mark.lam@apple.com
  • 6 edits
    1 delete in trunk/Source

Gardening: rolling out r261050 and r261051.
https://bugs.webkit.org/show_bug.cgi?id=211328
<rdar://problem/62755865>

Not reviewed.

Source/JavaScriptCore:

  • assembler/CPU.h:

Source/WTF:

Appears to make editing/undo-manager/undo-manager-delete-stale-undo-items.html timeout always.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/Bitmap.h:
  • wtf/CMakeLists.txt:
  • wtf/StdIntExtras.h: Removed.
2:21 PM Changeset in webkit [261054] by dbates@webkit.org
  • 4 edits in trunk

Page::editableElementsInRect() should return root editable elements
https://bugs.webkit.org/show_bug.cgi?id=211343
<rdar://problem/60015801>

Reviewed by Simon Fraser.

Source/WebCore:

Return the root editable element for each non-text form control editable element
inside the search rect as it may not have been hit itself. This can happen if the
search rect is small enough to intersect only child elements of the root editable
elements.

  • page/Page.cpp:

(WebCore::Page::editableElementsInRect const):
(WebCore::isEditableTextInputElement): Deleted.

Tools:

Add some tests.

  • TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:

(TestWebKitAPI::TEST):

12:35 PM Changeset in webkit [261053] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

scrollableAreaForScrollingNodeID() gives the wrong answer for the FrameView
https://bugs.webkit.org/show_bug.cgi?id=211310

Reviewed by Zalan Bujtas.

Given the FrameView's scrollingNodeID, RenderLayerCompositor::scrollableAreaForScrollingNodeID()
would return the RenderView's layer when it should return the FrameView itself.

Fixing this allows removal of a special-case in setActiveScrollSnapIndices().

No behavior change.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::setActiveScrollSnapIndices):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::scrollableAreaForScrollingNodeID const):

12:32 PM Changeset in webkit [261052] by Simon Fraser
  • 14 edits in trunk/Source

handleWheelEventPhase() should include the relevant ScrollingNodeID
https://bugs.webkit.org/show_bug.cgi?id=211315

Reviewed by Tim Horton.

handleWheelEventPhase() is used to send information about wheel event phases
to the main thread, which make their way to ScrollAnimatorMac::handleWheelEventPhase()
and are used to update the state of overlay scrollbars. In order to talk to the
correct set of scrollbars with overflow:scroll, we need to send along the ScrollingNodeID
and map that to the appropriate ScrollableArea.

Will be tested by future overlay scrollbar tests.

Source/WebCore:

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::handleWheelEventPhase):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::handleWheelEventPhase): Deleted.

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::handleWheelEventPhase):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::handleWheelEventPhase):

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):

  • page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:

(WebCore::ScrollingTreeOverflowScrollingNodeMac::handleWheelEvent):

  • platform/mac/ScrollAnimatorMac.mm:

Source/WebKit:

  • UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::handleWheelEventPhase):

  • UIProcess/RemoteLayerTree/RemoteScrollingTree.h:
12:07 PM Changeset in webkit [261051] by mark.lam@apple.com
  • 1 edit
    1 add in trunk/Source/WTF

[Follow up] Allow Bitmap to use up to a UCPURegister word size for internal bit storage.
https://bugs.webkit.org/show_bug.cgi?id=211328
<rdar://problem/62755865>

Not reviewed.

Landing file missed in last commit.

  • wtf/StdIntExtras.h: Added.
10:03 AM Changeset in webkit [261050] by mark.lam@apple.com
  • 6 edits in trunk/Source

Allow Bitmap to use up to a UCPURegister word size for internal bit storage.
https://bugs.webkit.org/show_bug.cgi?id=211328
<rdar://problem/62755865>

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • assembler/CPU.h:

Source/WTF:

  1. Moved the definition of CPURegister and UCPURegister down into WTF.
  2. Updated Bitmap so that it will automatically choose the minimal required word size for the number of bits it needs to store. This means the Bitmap can automatically choose a WordType from uint8_t up to UCPURegister. Previously, the WordType is always uint32_t by default.

This should improve perf with use of Bitmap on 64-bit platforms. The size
optimization is necessary to prevent bloat on 64-bit platforms which would have
resulted if we simply set the default to always be UCPURegister.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/Bitmap.h:
  • wtf/CMakeLists.txt:
  • wtf/StdIntExtras.h: Added.
8:27 AM Changeset in webkit [261049] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK][WPE] Gardening, several WebGL tests are failing after r261023
https://bugs.webkit.org/show_bug.cgi?id=211339

Unreviewed gardening.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
5:55 AM Changeset in webkit [261048] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit

[GTK4] Re-inject key press events not handled by the web process
https://bugs.webkit.org/show_bug.cgi?id=211286

Reviewed by Adrian Perez de Castro.

Use gdk_display_put_event() since gtk_main_do_event() is no longer available in GTK4. Also stop forwarding key
release events in GTK3 case, this only makes sense for key press events and we were re-injecting every release
event since they are not handled by web elements in most of the cases.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::doneWithKeyEvent):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseKeyPressEvent):
(webkitWebViewBaseKeyReleaseEvent):
(webkitWebViewBaseKeyPressed):

5:54 AM Changeset in webkit [261047] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebKit

[GTK] Specify action group name when binding context menu models
https://bugs.webkit.org/show_bug.cgi?id=211288

Reviewed by Carlos Garcia Campos.

No new tests needed.

  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::WebContextMenuProxyGtk::append): Use the action name directly for the menu item.
(WebKit::WebContextMenuProxyGtk::populate): Indicate the action group name when binding the
menu model, which automatically adds the group name as action name prefix without needing
to specify it by hand when adding menu items.

2:34 AM Changeset in webkit [261046] by Devin Rousso
  • 28 edits in trunk

[CSS Easing 1] implement jump-* step positions
https://bugs.webkit.org/show_bug.cgi?id=211271

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-animations/parsing/animation-timing-function-computed-expected.txt:
  • web-platform-tests/css/css-animations/parsing/animation-timing-function-valid-expected.txt:
  • web-platform-tests/css/css-easing/step-timing-functions-output-expected.txt:
  • web-platform-tests/css/css-easing/step-timing-functions-syntax-expected.txt:
  • web-platform-tests/css/css-transitions/parsing/transition-timing-function-computed-expected.txt:
  • web-platform-tests/css/css-transitions/parsing/transition-timing-function-valid-expected.txt:
  • web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress-expected.txt:

Source/WebCore:

Add support for jump-start, jump-end, jump-none, and jump-both step positions inside
the steps() CSS timing function <https://drafts.csswg.org/css-easing-1/#step-position>.

Adjust existing serialization logic to match the spec <https://drafts.csswg.org/css-easing-1/#serialization>:

  • omit end (and jump-end)
  • the value step-start should result in steps(1, start) instead of step-start
  • the value step-end should result in steps(1) instead of step-end

Tests: animations/computed-style.html

fast/css/animation-steps-calculated-value.html
transitions/transitions-parsing.html
web-platform-tests/css/css-animations/parsing/animation-timing-function-computed.html
web-platform-tests/css/css-animations/parsing/animation-timing-function-valid.html
web-platform-tests/css/css-easing/step-timing-functions-output.html
web-platform-tests/css/css-easing/step-timing-functions-syntax.html
web-platform-tests/css/css-transitions/parsing/transition-timing-function-computed.html
web-platform-tests/css/css-transitions/parsing/transition-timing-function-valid.html
web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress.html

  • css/CSSValueKeywords.in:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeSteps):
(WebCore::consumeAnimationTimingFunction):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::createTimingFunctionValue):

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapAnimationTimingFunction):

  • css/CSSTimingFunctionValue.h:

(WebCore::CSSStepsTimingFunctionValue::create):
(WebCore::CSSStepsTimingFunctionValue::stepPosition const): Added.
(WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
(WebCore::CSSStepsTimingFunctionValue::stepAtStart const): Deleted.

  • css/CSSTimingFunctionValue.cpp:

(WebCore::CSSStepsTimingFunctionValue::customCSSText const):
(WebCore::CSSStepsTimingFunctionValue::equals const):

  • platform/animation/TimingFunction.h:

(WebCore::StepsTimingFunction::create):
(WebCore::StepsTimingFunction::StepsTimingFunction):
(WebCore::StepsTimingFunction::stepPosition): Added.
(WebCore::StepsTimingFunction::setStepPosition): Added.
(WebCore::StepsTimingFunction::clone):
(WebCore::StepsTimingFunction::stepAtStart): Deleted.
(WebCore::StepsTimingFunction::setStepAtStart): Deleted.

  • platform/animation/TimingFunction.cpp:

(WebCore::operator<<):
(WebCore::TimingFunction::transformTime):
(WebCore::TimingFunction::createFromCSSValue):
(WebCore::TimingFunction::cssText const):

Source/WebInspectorUI:

  • UserInterface/Models/CSSKeywordCompletions.js:

(WI.CSSKeywordCompletions.forFunction):
Include the step position keywords when autocompleting the steps() CSS function.

Source/WebKit:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<StepsTimingFunction>::encode):
(IPC::ArgumentCoder<StepsTimingFunction>::decode):

LayoutTests:

  • animations/computed-style.html:
  • animations/computed-style-expected.txt:
  • fast/css/animation-steps-calculated-value.html:
  • fast/css/animation-steps-calculated-value-expected.txt:
  • transitions/transitions-parsing.html:
  • transitions/transitions-parsing-expected.txt:
1:32 AM Changeset in webkit [261045] by Diego Pino Garcia
  • 2 edits in trunk/Tools

[GTK] Gardening, update API test expectations
https://bugs.webkit.org/show_bug.cgi?id=211337

Unreviewed gardening.

Some tests became flaky under Flatpak.

  • TestWebKitAPI/glib/TestExpectations.json:
Note: See TracTimeline for information about the timeline view.