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

Timeline



Jul 5, 2021:

10:45 PM Changeset in webkit [279574] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

[GTK] Navigation swipe gesture can be triggered with mouse
https://bugs.webkit.org/show_bug.cgi?id=227678

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2021-07-05
Reviewed by Carlos Garcia Campos.

Originally, the navigation swipe gesture had a few checks to only make it possible to
trigger it with a touchpad or touchscreen, with an exception for simulated swipes
where we couldn't set the source easily.

During the rewrite in https://bugs.webkit.org/show_bug.cgi?id=212324, the check got
dropped, but it has a good reason to be there: not all devices are capable of
performing a gesture. Touchpads and touchscreens should be fine, trackpoints are
finicky, though can still technically work, but mouse are a no-go. While they can
start a swipe, they will never end it and the gesture will get stuck.

So, add the check back. Don't bother with the scroll direction this time though, while
that check made sense when it got added, at some point since then all scroll events
had GDK_SCROLL_SMOOTH direction and just set their deltas to (1, 0), (-1, 0), (0, 1)
or (0, -1), so that check stopped working, and the source type check should filter
mouse events anyway.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseHandleWheelEvent):
(webkitWebViewBaseScroll):
(webkitWebViewBaseTouchDragUpdate):
(webkitWebViewBaseTouchDragEnd):

  • UIProcess/ViewGestureController.h:
  • UIProcess/gtk/ViewGestureControllerGtk.cpp:

(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanInfluenceSwipe):
(WebKit::isTouchEvent):
(WebKit::ViewGestureController::beginSimulatedSwipeInDirectionForTesting):
(WebKit::ViewGestureController::completeSimulatedSwipeInDirectionForTesting):

5:56 PM Changeset in webkit [279573] by Wenson Hsieh
  • 3 edits
    2 adds in trunk

Live Text should not be visible in video thumbnail images behind "Skip Ad" button on YouTube
https://bugs.webkit.org/show_bug.cgi?id=227692

Reviewed by Darin Adler.

Source/WebCore:

Force text-shadow: none; for image overlay text, such that Live Text injected into image elements isn't
visible to the user when the containing image element has a text shadow.

Test: fast/images/text-recognition/image-overlay-with-text-shadow.html

  • html/shadow/imageOverlay.css:

(div#image-overlay):

LayoutTests:

Add a new layout test to verify that specifying text-shadow on image elements does not cause Live Text to
become visible.

  • fast/images/text-recognition/image-overlay-with-text-shadow-expected.html: Added.
  • fast/images/text-recognition/image-overlay-with-text-shadow.html: Added.
3:54 PM Changeset in webkit [279572] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[LFC][IFC] Test garderning for overflow-wrap:anywhere
https://bugs.webkit.org/show_bug.cgi?id=227689

Unreviewed.

with IFC. Also use ImageOnlyFailure instead so that we can see progressions.

2:15 PM Changeset in webkit [279571] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

[GTK] Kinetic scrolling interferes with gestures
https://bugs.webkit.org/show_bug.cgi?id=226680

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2021-07-05
Reviewed by Michael Catanzaro.

Simulate scroll events that would stop scrolling when we're starting any touch
gesture. Since we don't have a way to do that on touchpad yet, just stop it when
starting a zoom or a navigation swipe gesture instead.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::navigationGestureDidBegin):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseZoomBegin):
(webkitWebViewBaseTouchDragBegin):
(webkitWebViewBaseConstructed):

1:59 PM Changeset in webkit [279570] by Cameron McCormack
  • 7 edits
    21 deletes in trunk/LayoutTests

Move some Mac MathML test expectation files around
https://bugs.webkit.org/show_bug.cgi?id=227520
<rdar://79749198>

Reviewed by Frédéric Wang.

LayoutTests/imported/w3c:

  • web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt:
  • web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt:

Make the macOS expectation file the default for these tests.

LayoutTests:

This should make it so that the same test expectation files are used
for Monterey as for Big Sur, without needing to add Monterey-specific
files.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-wk2/TestExpectations:

Re-enable border-002.html.

  • platform/mac-wk1/TestExpectations:

Re-enable displaystyle-013.html and displaystyle-014.html.

  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Removed.
  • platform/ios/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Removed.
  • platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Removed.
  • platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Removed.
  • platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Removed.
  • platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Removed.
  • platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Removed.
  • platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Removed.
  • platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Removed.
  • platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Removed.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001-expected.txt: Removed.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt: Removed.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt: Removed.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt: Removed.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt: Removed.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt: Removed.
  • platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Removed.
  • platform/mac/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Removed.
11:04 AM Changeset in webkit [279569] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[GTK] Installs in wrong directory on the bots
https://bugs.webkit.org/show_bug.cgi?id=227684

Patch by Philippe Normand <pnormand@igalia.com> on 2021-07-05
Reviewed by Aakash Jain.

The patch landed in r279563 induced a typo in the installation prefix path option passed to
build-webkit. Then the built-product-archive was failing to find the header andn pkgconfig
files to pack. This patch fixes the issue.

  • CISupport/build-webkit-org/steps.py:

(CompileWebKit.start):

  • CISupport/build-webkit-org/steps_unittest.py:

(TestCompileWebKit.test_success_gtk):

7:52 AM Changeset in webkit [279568] by Alan Bujtas
  • 4 edits in trunk

[LFC][IFC] Add support for conditionally hanging glyph
https://bugs.webkit.org/show_bug.cgi?id=227676

Reviewed by Antti Koivisto.

Source/WebCore:

When a glyph at the end edge of a line hangs, it is not considered when measuring the line’s contents alignment.
If white-space is set to pre-wrap, the UA must (unconditionally) hang the trailing sequence,
unless the sequence is followed by a forced line break, in which case it must conditionally hang the sequence instead
(hang only if it does not otherwise fit in the line prior to justification).
e.g.
<div style="white-space: pre-wrap; width: 5ch; text-align: center"> 0 </p>
We center the _0_ content as the trailing whitespace does not hang here.

  • layout/formattingContexts/inline/InlineFormattingGeometry.cpp:

(WebCore::Layout::hangingGlyphWidth): No need for the struct. We can handle it by returning the hanging content width.
(WebCore::Layout::horizontalAlignmentOffset):
(WebCore::Layout::HangingTrailingWhitespaceContent::width const): Deleted.
(WebCore::Layout::HangingTrailingWhitespaceContent::isConditional const): Deleted.
(WebCore::Layout::HangingTrailingWhitespaceContent::setIsConditional): Deleted.
(WebCore::Layout::HangingTrailingWhitespaceContent::expand): Deleted.
(WebCore::Layout::HangingTrailingWhitespaceContent::reset): Deleted.
(WebCore::Layout::collectHangingTrailingWhitespaceContent): Deleted.

LayoutTests:

7:34 AM Changeset in webkit [279567] by Alexey Shvayka
  • 8 edits in trunk

Use AbortSignal's [PrivateIdentifier] whenSignalAborted() static method
https://bugs.webkit.org/show_bug.cgi?id=227673

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/streams/piping/abort.any-expected.txt:
  • web-platform-tests/streams/piping/abort.any.worker-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.any-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.any.worker-expected.txt:

Source/WebCore:

Enabled by refactoring in r279546, this change removes handcrafted @whenSignalAborted()
global function in favor of using equivalent generated [PrivateIdentifier] static method.

The generated method checks its arguments more strictly (as per WebIDL spec):
a TypeError is thrown for invalid AbortSignal argument, which progresses the WPT.

Test: imported/w3c/web-platform-tests/streams/piping/pipe-through.any.js

  • Modules/streams/ReadableStreamInternals.js:

(readableStreamPipeToWritableStream):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::addBuiltinGlobals):

4:48 AM Changeset in webkit [279566] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[Media] test-webvtt.m3u8 is invalid
https://bugs.webkit.org/show_bug.cgi?id=227681

Patch by Philippe Normand <pnormand@igalia.com> on 2021-07-05
Reviewed by Xabier Rodriguez-Calvar.

This issue was detected by the GStreamer m3u8 parser.

  • http/tests/media/resources/hls/test-webvtt.m3u8:
2:58 AM Changeset in webkit [279565] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GLIB gardening triaging.

  • platform/glib/TestExpectations:
2:21 AM Changeset in webkit [279564] by Martin Robinson
  • 7 edits
    2 adds in trunk

[css-scroll-snap] Triggering a layout during scroll causes jittery scrolling on Mac when dragging the scrollbar
https://bugs.webkit.org/show_bug.cgi?id=227478

Reviewed by Simon Fraser.

Source/WebCore:

When dragging the scrollbar thumb, wait to resnap after layout for a
given axis until the mouse button is up on the scrollbar. This prevents
the layout and the scrollbar from fighting to set the scroll position
which causes some pretty terrible jitter in this case.

Test: css3/scroll-snap/scroll-snap-drag-scrollbar-thumb-with-relayouts.html

  • platform/ScrollAnimationSmooth.cpp:

(WebCore::ScrollAnimationSmooth::updatePerAxisData): Fix an issue where the new position
was calculated incorrectly. This did not cause the animation to land on the wrong place,
but did cause a very janky animation progression when retriggering animations to the
same location.

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::retargetRunningAnimation): Added this helper, which retargets a
a running animation to allow for a smooth transition during relayouts.

  • platform/ScrollAnimator.h: Added new method definition.
  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::resnapAfterLayout): Only snap after layout when the user is not
currently interacting with the scrollbar. Once the scrollbar isn't being interacted with,
snapping will occur already. When there is already some sort of animation in progress,
smoothly transition that animation to land on the new position instead of snapping there
immediately.

LayoutTests:

  • css3/scroll-snap/scroll-snap-drag-scrollbar-thumb-with-relayouts-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-drag-scrollbar-thumb-with-relayouts.html: Added.
  • platform/ios/TestExpectations: Skip this test on iOS since it uses a scrollbar thumb drag.
1:25 AM Changeset in webkit [279563] by commit-queue@webkit.org
  • 9 edits
    1 add in trunk/Tools

[GTK] Pack header and .pc files in the built-product archive
https://bugs.webkit.org/show_bug.cgi?id=227526

Patch by Philippe Normand <pnormand@igalia.com> on 2021-07-05
Reviewed by Michael Catanzaro.

The header files and pkg-config files needed to build WebKitGTK apps are now included in the
built product zip file. As they're text files the impact on the zip size should not be
significant. In order to support this, two changes are introduced for the GTK build bot:

  • build-webkit is now called with a --prefix option
  • a new build step has been added, which installs the built files in the given prefix directory

Then built-product-archive can simply pack files from the install prefix directory.

Additionally the .a (potentially big) files are now excluded from the zip archive.

  • CISupport/build-webkit-org/factories.py:

(BuildFactory.init):

  • CISupport/build-webkit-org/steps.py:

(CompileWebKit.start):
(InstallBuiltProduct):

  • CISupport/built-product-archive:
  • Scripts/install-built-product: Added.

Jul 4, 2021:

10:54 PM Changeset in webkit [279562] by Wenson Hsieh
  • 36 edits
    2 adds in trunk

[iOS] Augment -_webView:didNotHandleTapAsMeaningfulClickAtPoint: to include meaningful taps
https://bugs.webkit.org/show_bug.cgi?id=227666
rdar://80094962

Reviewed by Tim Horton.

Source/WebKit:

The private UI delegate method -_webView:didNotHandleTapAsMeaningfulClickAtPoint: is currently only invoked
when a tap was not handled as a "meaningful" synthetic click (where the notion of "meaningful" is heuristically
determined). However, in order to support revised tab pill minimization behaviors, Safari requires knowledge of
taps that were handled as meaningful clicks as well.

To support this, replace what is currently -_webView:didNotHandleTapAsMeaningfulClickAtPoint: with another
delegate method, -_webView:didTapAtPoint:withResult:, that is always invoked when a tap gesture is recognized
in the web view. The result parameter, a new _WKTapHandlingResult enum, then indicates to the client how the
tap was handled; this currently includes 3 values: one to indicate that the tap gesture did not result in a
synthetic click being dispatched, and two more to indicate whether the synthetic click that was dispatched as a
result of the tap was "meaningfully" handled.

To facilitate the transition from -_webView:didNotHandleTapAsMeaningfulClickAtPoint: to the new SPI, we still
call the old SPI as long as the tap handling result type is not equal to TapHandlingResult::MeaningfulClick;
however, mark the old SPI as deprecated with -_webView:didTapAtPoint:withResult: as the replacement.

Tests: fast/events/ios/did-not-handle-meaningful-click.html

fast/events/ios/meaningful-click-when-focusing-body.html
fast/events/ios/meaningful-click-when-playing-media.html
fast/events/ios/non-meaningful-click-when-tapping-document.html

  • Shared/ios/TapHandlingResult.h: Added.

Add a new C++ enum type to represent the tap handling result type (see description above).

  • UIProcess/API/APIUIClient.h:

(API::UIClient::didTapAtPoint):
(API::UIClient::didNotHandleTapAsMeaningfulClickAtPoint): Deleted.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/_WKTapHandlingResult.h: Added.
  • UIProcess/API/ios/WKWebViewIOS.h:
  • UIProcess/API/ios/WKWebViewIOS.mm:

(wkTapHandlingResult):

Add a helper method to convert from the WebKit::TapHandlingResult enum to the SPI-exposed _WKTapHandlingResult.

  • UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
  • UIProcess/API/ios/WKWebViewTestingIOS.mm:

(-[WKWebView _didTapAtPoint:withResult:]):
(-[WKWebView _didNotHandleTapAsMeaningfulClickAtPoint:]): Deleted.

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::didTapAtPoint):

Note that we still invoke the old UI delegate SPI here to ensure that these changes don't break Safari before
they have a chance to adopt the new SPI.

(WebKit::UIDelegate::UIClient::didNotHandleTapAsMeaningfulClickAtPoint): Deleted.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:

Replace the DidNotHandleTapAsMeaningfulClickAtPoint message with DidTapAtPoint, which takes both a location
and a flag indicating how the tap was handled by web content.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didTapAtPoint):
(WebKit::PageClientImpl::didNotHandleTapAsMeaningfulClickAtPoint): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didTapAtPoint):
(WebKit::WebPageProxy::didNotHandleTapAsMeaningfulClickAtPoint): Deleted.

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::completeSyntheticClick):

The meaningful tap heuristic no longer determines whether we send an IPC message or not, but rather the type of
TapHandlingResult to send (namely, whether to send NonMeaningfulClick or MeaningfulClick).

(WebKit::WebPage::attemptSyntheticClick):
(WebKit::WebPage::handleTwoFingerTapAtPoint):
(WebKit::WebPage::commitPotentialTapFailed):

Tools:

Update the layout test harness to use the replacement SPI instead of the newly deprecated SPI. See
WebKit/ChangeLog for more details.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessageToPage):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::installDidHandleTapCallback):
(WTR::TestRunner::callDidHandleTapCallback):
(WTR::TestRunner::installDidNotHandleTapAsMeaningfulClickCallback): Deleted.
(WTR::TestRunner::callDidNotHandleTapAsMeaningfulClickCallback): Deleted.

Rename this to just DidHandleTapCallback, and make it take a boolean argument indicating whether the tap was
handled as a meaningful click.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didHandleTap):
(WTR::TestController::didNotHandleTapAsMeaningfulClick): Deleted.

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didHandleTap):
(WTR::TestInvocation::didNotHandleTapAsMeaningfulClick): Deleted.

  • WebKitTestRunner/TestInvocation.h:
  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:

(-[TestRunnerWKWebView _didTapAtPoint:withResult:]):
(-[TestRunnerWKWebView _didNotHandleTapAsMeaningfulClickAtPoint:]): Deleted.

LayoutTests:

Update the existing layout tests. The new UI delegate method should now be invoked in all of the cases; however,
we should only observe meaningful clicks in some of the below scenarios. See WebKit/ChangeLog for more details.

  • fast/events/ios/did-not-handle-meaningful-click-expected.txt:
  • fast/events/ios/did-not-handle-meaningful-click.html:
  • fast/events/ios/meaningful-click-when-focusing-body-expected.txt:
  • fast/events/ios/meaningful-click-when-focusing-body.html:
  • fast/events/ios/meaningful-click-when-playing-media-expected.txt:
  • fast/events/ios/meaningful-click-when-playing-media.html:
  • fast/events/ios/non-meaningful-click-when-tapping-document-expected.txt:
  • fast/events/ios/non-meaningful-click-when-tapping-document.html:
8:18 PM Changeset in webkit [279561] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[LFC][IFC] WPT progressions
https://bugs.webkit.org/show_bug.cgi?id=227675

Unreviewed.

4:55 PM Changeset in webkit [279560] by rmorisset@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

ActiveScratchBufferScope should take the buffer as argument
https://bugs.webkit.org/show_bug.cgi?id=227670
rdar://80011612

Reviewed by Mark Lam.

https://bugs.webkit.org/show_bug.cgi?id=227013 created ActiveScratchBufferScope.
It is used by operations that can cause the GC to run, to mark as roots the contents of the scratch buffer that is live during that time (if any).
The bug is that it simply asks the VM for a scratch buffer of the right size, but this will always return the last scratch buffer, and not necessarily the one that the operation is actually using.

A fairly simple fix is to pass it directly the scratch buffer, since the operation normally can get it easily enough.
In most cases the operation has access to the m_buffer field of the ScratchBuffer, but getting a pointer to the entire structure from that is fairly simple (I added ScratchBuffer::fromData() to do so).

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

  • dfg/DFGOSRExit.h:
  • dfg/DFGOperations.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileNewArray):

  • dfg/DFGThunks.cpp:

(JSC::DFG::osrExitGenerationThunkGenerator):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::haveABadTime):

  • runtime/VM.h:

(JSC::ScratchBuffer::fromData):

  • runtime/VMInlines.h:

(JSC::ActiveScratchBufferScope::ActiveScratchBufferScope):
(JSC::ActiveScratchBufferScope::~ActiveScratchBufferScope):

2:06 PM Changeset in webkit [279559] by Ben Nham
  • 2 edits in trunk/Tools

Add support for parsing Competitive PLT results to compare-results
https://bugs.webkit.org/show_bug.cgi?id=227470

Reviewed by Per Arne Vollan.

Modify the script to understand the competitive PLT JSON results produced by the perf bots.

  • Scripts/compare-results:

(plt5Breakdown):
(competitivePLTBreakdown):
(PLT5Results):
(detectCompetitivePLT):
(CompetitivePLTResults):
(CompetitivePLTResults.calculate_time_for_run):
(detectBenchmark):
(biggerIsBetter):
(main):

12:18 PM Changeset in webkit [279558] by Alexey Shvayka
  • 14 edits in trunk/Source

[WebIDL] Simplify generation of runtime conditionally read-write attributes
https://bugs.webkit.org/show_bug.cgi?id=227672

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • runtime/Lookup.h:

(JSC::HashTableValue::makeReadOnlyCopy const):

Source/WebCore:

This patch introduces HashTableValue::makeReadOnlyCopy() to avoid manually
generating & putting a JSValue for an attribute, which is non-trivial to
do right while supporting all kinds of accelerated / built-in attributes.

Also, removes incorrect classForThis argument from entries reification.

No new tests, no behavior change.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/*: Updated.
11:47 AM Changeset in webkit [279557] by Kocsen Chung
  • 1 copy in tags/Safari-611.3.10.0.1

Tag Safari-611.3.10.0.1.

11:40 AM Changeset in webkit [279556] by Kocsen Chung
  • 1 delete in tags/Safari-611.3.10.0.1

Delete Tag

11:37 AM Changeset in webkit [279555] by Kocsen Chung
  • 1 copy in tags/Safari-611.3.10.0.1

Tag Safari-611.3.10.0.1.

11:37 AM Changeset in webkit [279554] by Alexey Shvayka
  • 6 edits in trunk/Source/WebCore

[WebIDL] Generate constructor's hash table in GenerateConstructorHelperMethods
https://bugs.webkit.org/show_bug.cgi?id=227668

Reviewed by Sam Weinig.

This change moves generation of constructor's hash table to GenerateConstructorHelperMethods,
right before it is used to define the constructor's s_info, which is nicer than inferring
table's name and more precise than using ConstructorHasProperties.

Also, makes $generatingLegacyFactoryFunction bool-ish and removes unused $protoClassName parameter.

No new tests, no behavior change.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(GenerateCallbackImplementationContent):
(GenerateConstructorDefinitions):
(GenerateConstructorDefinition):
(GenerateConstructorHelperMethods):
(ConstructorHasProperties): Deleted.

  • bindings/scripts/test/JS/*: Updated.
11:34 AM Changeset in webkit [279553] by Kocsen Chung
  • 1 copy in tags/Safari-611.3.10.1.3

Tag Safari-611.3.10.1.3.

11:33 AM Changeset in webkit [279552] by Kocsen Chung
  • 1 copy in tags/Safari-611.3.10.1.1/safari-611.3.10.1-branch

Tag Safari-611.3.10.1.1.

10:51 AM Changeset in webkit [279551] by commit-queue@webkit.org
  • 8 edits
    24 adds in trunk/LayoutTests

Resync web-platform-tests/css/css-sizing/aspect-ratio from upstream
https://bugs.webkit.org/show_bug.cgi?id=227657

Patch by Rob Buis <rbuis@igalia.com> on 2021-07-04
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Resync web-platform-tests/css/css-sizing/aspect-ratio from upstream c21b0b8ca7.

  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-025.html:
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-026.html:
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-020.html:
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-021.html:
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-028-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-028.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-029-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-029.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-030-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-030.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-031-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-031.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-032-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-032.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-033-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-033.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-034-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-034.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-035-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-035.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-036-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-036.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-037-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-037.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-038-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-038.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/select-element-001-expected.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/select-element-001.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/w3c-import.log:

LayoutTests:

9:53 AM Changeset in webkit [279550] by eric.carlson@apple.com
  • 7 edits
    4 adds in trunk

WebAudio auto-play policy should come from top document
https://bugs.webkit.org/show_bug.cgi?id=227593
rdar://76920375

Reviewed by Chris Dumez.

Source/WebCore:

Tests: media/auto-play-video-in-about-blank-iframe.html

media/auto-play-web-audio-in-about-blank-iframe.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::constructCommon): Get auto-play policy from document()->topDocument().

  • testing/Internals.cpp:

(WebCore::Internals::setDocumentAutoplayPolicy): New method to test auto-play policy.

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

LayoutTests:

  • media/auto-play-video-in-about-blank-iframe-expected.txt: Added.
  • media/auto-play-video-in-about-blank-iframe.html: Added.
  • media/auto-play-web-audio-in-about-blank-iframe-expected.txt: Added.
  • media/auto-play-web-audio-in-about-blank-iframe.html: Added.
  • media/video-test.js:

(waitForEventWithTimeout): Return event.

8:47 AM Changeset in webkit [279549] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][TFC] Cleanup computedPreferredWidthForColumns and distributeAvailableSpace functions
https://bugs.webkit.org/show_bug.cgi?id=227669

Reviewed by Antti Koivisto.

Let's create some sub-scopes within these long functions to make them read better.

  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):

  • layout/formattingContexts/table/TableLayout.cpp:

(WebCore::Layout::distributeAvailableSpace):

7:10 AM Changeset in webkit [279548] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][TFC] 100% percent width column(s) make the table stretch
https://bugs.webkit.org/show_bug.cgi?id=227667

Reviewed by Antti Koivisto.

Source/WebCore:

This patch addresses the odd transition of going from 99% to 100% in accumulated percent width.

Test: fast/layoutformattingcontext/table-space-width-100-percent-quirk.html

  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):

LayoutTests:

  • fast/layoutformattingcontext/table-space-width-100-percent-quirk-expected.html: Added.
  • fast/layoutformattingcontext/table-space-width-100-percent-quirk.html: Added.
Note: See TracTimeline for information about the timeline view.