Timeline



Dec 22, 2020:

4:12 PM Changeset in webkit [271068] by dino@apple.com
  • 4 edits in trunk/LayoutTests

Update WebGL methods test to ignore makeXRCompatible
https://bugs.webkit.org/show_bug.cgi?id=220107
<rdar://problem/72603916>

Reviewed by Sam Weinig.

Sync upstream changes from
https://github.com/KhronosGroup/WebGL/pull/3198/
so that our versions of these tests can pass with
WebXR enabled.

  • webgl/1.0.3/resources/webgl_test_files/conformance/context/methods.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/context/methods.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/context/methods-2.html:
3:56 PM Changeset in webkit [271067] by ap@apple.com
  • 3 edits
    2 moves in trunk/LayoutTests

Remove non-inclusive language from tests in http/tests/xmlhttprequest
https://bugs.webkit.org/show_bug.cgi?id=220096

Patch by Beth Dakin <Beth Dakin> on 2020-12-22
Reviewed by Alexey Proskuryakov.

  • http/tests/xmlhttprequest/access-control-basic-allow-list-request-headers.html:
  • http/tests/xmlhttprequest/access-control-basic-allow-list-response-headers.html:
  • http/tests/xmlhttprequest/resources/access-control-basic-allowlist-request-headers.cgi: Copied from http/tests/xmlhttprequest/resources/access-control-basic-whitelist-request-headers.cgi.
  • http/tests/xmlhttprequest/resources/access-control-basic-allowlist-response-headers.cgi: Copied from http/tests/xmlhttprequest/resources/access-control-basic-whitelist-response-headers.cgi.
  • http/tests/xmlhttprequest/resources/access-control-basic-whitelist-request-headers.cgi: Removed.
  • http/tests/xmlhttprequest/resources/access-control-basic-whitelist-response-headers.cgi: Removed.
3:45 PM Changeset in webkit [271066] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

warning: enumerated and non-enumerated type in conditional expression in Compiler.cpp
https://bugs.webkit.org/show_bug.cgi?id=220062

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-12-22
Reviewed by Dean Jackson.

Building ANGLE with -Wextra is too aggressive. -Wextra is great for code that we control,
where the burden of squashing warnings is relatively low. But with ANGLE, we have to either
land fixes upstream, or carry them downstream forever. It doesn't make sense to bother with
this for minor build warning fixes when upstream is clearly not using the same warning flags
and/or same compiler that we do.

Since we add -Wextra in our global flags, we have to manually override it here. We can now
also stop explicitly disabling other warnings that are implied by -Wextra.

Finally, note that changes.diff is not modified because this is, confusingly, a downstream
WebKit build file.

  • CMakeLists.txt:
2:37 PM Changeset in webkit [271065] by dino@apple.com
  • 14 edits in trunk/Source

Use an enum class to identify WebGL versions
https://bugs.webkit.org/show_bug.cgi?id=220099
<rdar://problem/72596828>

Reviewed by Ken Russell.

Source/WebCore:

Rather than doing string comparisons multiple times, against
values that have been deprecated, use an enum class to
identify the version of WebGL that we are creating.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::toWebGLVersion):
(WebCore::HTMLCanvasElement::createContextWebGL):
(WebCore::HTMLCanvasElement::getContextWebGL):

  • html/HTMLCanvasElement.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::create):

  • html/canvas/WebGLRenderingContextBase.h:
  • platform/graphics/GraphicsContextGLAttributes.h: New enum class.
  • platform/graphics/RemoteGraphicsContextGLProxyBase.cpp:

(WebCore::RemoteGraphicsContextGLProxyBase::isGLES2Compliant const):

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::InitializeEGLDisplay): Add a logging statement as a drive-by.
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

Source/WebKit:

Encode the WebGL version.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::GraphicsContextGLAttributes>::encode):
(IPC::ArgumentCoder<WebCore::GraphicsContextGLAttributes>::decode):

  • Shared/WebCoreArgumentCoders.h:
2:19 PM Changeset in webkit [271064] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Use reserveInitialCapacity when applicable
https://bugs.webkit.org/show_bug.cgi?id=220100
<rdar://problem/72598083>

Reviewed by Simon Fraser.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::lineLayout): inlineItems size is a better approximation.
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

  • layout/inlineformatting/InlineLineBox.cpp:

(WebCore::Layout::m_isConsideredEmpty):

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):

1:18 PM Changeset in webkit [271063] by Beth Dakin
  • 7 edits
    1 copy
    2 moves in trunk/LayoutTests

Remove non-inclusive language from tests in http/tests/contentextensions/
https://bugs.webkit.org/show_bug.cgi?id=220094

Reviewed by Alex Christensen.

  • http/tests/contentextensions/allowlist-expected.txt: Copied from http/tests/contentextensions/whitelist-expected.txt.
  • http/tests/contentextensions/allowlist.html: Copied from http/tests/contentextensions/whitelist.html.
  • http/tests/contentextensions/allowlist.html.json: Copied from http/tests/contentextensions/whitelist.html.json.
  • http/tests/contentextensions/basic-filter.html:
  • http/tests/contentextensions/basic-filter.html.json:
  • http/tests/contentextensions/crash-xhr.html.json:
  • http/tests/contentextensions/filters-with-quantifiers-combined-expected.txt:
  • http/tests/contentextensions/filters-with-quantifiers-combined.html:
  • http/tests/contentextensions/filters-with-quantifiers-combined.html.json:
  • http/tests/contentextensions/whitelist-expected.txt: Removed.
  • http/tests/contentextensions/whitelist.html: Removed.
  • http/tests/contentextensions/whitelist.html.json: Removed.
12:40 PM Changeset in webkit [271062] by commit-queue@webkit.org
  • 4 edits in trunk/Source/ThirdParty/ANGLE

[WebGL2] deqp/functional/gles3/texturespecification RGB4444 and RGB565 failures on Mac AMD
https://bugs.webkit.org/show_bug.cgi?id=220093

Patch by Kenneth Russell <kbr@chromium.org> on 2020-12-22
Reviewed by Alex Christensen.

Promote the RGBA4444 and RGB565 texture formats to RGB[A]8 in
order to work around OpenGL driver bugs on macOS with AMD GPUs.

  • include/platform/FeaturesGL.h:
  • src/libANGLE/renderer/gl/formatutilsgl.cpp:

(rx::nativegl::GetNativeInternalFormat):

  • src/libANGLE/renderer/gl/renderergl_utils.cpp:

(rx::nativegl_gl::InitializeFeatures):

12:30 PM Changeset in webkit [271061] by commit-queue@webkit.org
  • 5 edits in trunk

Support aspect-ratio on positioned elements
https://bugs.webkit.org/show_bug.cgi?id=219741

Patch by Rob Buis <rbuis@igalia.com> on 2020-12-22
Reviewed by Simon Fraser.

Source/WebCore:

Support aspect-ratio on positioned elements taking into account
insets in the case where no width/height is specified.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computePositionedLogicalWidthUsing const):
(WebCore::RenderBox::computePositionedLogicalHeightUsing const):
(WebCore::RenderBox::shouldComputeLogicalHeightFromAspectRatio const): We should not compute
the logical height if there is an implied height due to top/bottom.
(WebCore::RenderBox::shouldComputeLogicalWidthFromAspectRatio const):
(WebCore::RenderBox::shouldComputeLogicalWidthFromAspectRatioAndInsets const): Helper method
to determine whether logical width can be computed from inset information in the case where
no width/height are specified.
(WebCore::RenderBox::computeLogicalWidthFromAspectRatio const): compute logical width
from the computed logical height constriaining it by min max.

  • rendering/RenderBox.h:

LayoutTests:

Enable some tests that pass now.

12:00 PM Changeset in webkit [271060] by youenn@apple.com
  • 7 edits
    2 adds in trunk

MediaStreamTrack.muted value should not change before the corresponding event is fired
https://bugs.webkit.org/show_bug.cgi?id=220084

Reviewed by Eric Carlson.

Source/WebCore:

Before the patch, the muted value was changed and a task was queued to dispatch the corresponding event.
During a period of time, the muted value was changed while the event was not fired.
To fix this, dispatch a task that will change the value and dispatch the event.
MediaStreamTrack is now storing the muted value instead of relying on its m_private muted value.
The muted value is only used for JS as the rest of the code base expects to get the actual muted value.

Test: fast/mediastream/media-stream-track-muted-event.html

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::mutedForBindings const):
(WebCore::MediaStreamTrack::trackMutedChanged):

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/MediaStreamTrack.idl:

LayoutTests:

  • fast/mediastream/media-stream-track-muted-event-expected.txt: Added.
  • fast/mediastream/media-stream-track-muted-event.html: Added.
  • platform/ios/mediastream/audio-muted-in-background-tab.html: Updated to cope with async muted change.
  • platform/ios/mediastream/video-muted-in-background-tab.html: Dittod
11:45 AM Changeset in webkit [271059] by Kate Cheney
  • 11 edits in trunk/Source

Cannot see 'Add to my stations' button in BBC World service Radio
https://bugs.webkit.org/show_bug.cgi?id=219949
<rdar://problem/60319532>

Reviewed by Alex Christensen.

This is a temporary quirk to assist a high-traffic website while they
complete the large task of migrating away from site compatibility using
third party cookies. This quirk will be removed when the site is
updated.

Source/WebCore:

No new tests, site-specific quirk.

Create a quirk that will call the Storage Access API on behalf of
BBC for radioplayer.co.uk under bbc.co.uk. When the user clicks to open
the radio player pop-up, storage access is requested. If the user grants
permission, then we open the pop-up to static.radioplayer.co.uk to get
first party status, then immediately redirect to the radio player page.

This changes the language of the site-specific quirk code in
NetworkStorageSession now that we are creating quirks for instances
other than login cases.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::open):
Even if WebKit cancels the pop-up click in Element::dispatchMouseEvent,
the popup still appears. So we should check here if the pop-up is trying
to load before storage access has been granted. If so, we should cancel it
and wait for the quirk to re-open the pop-up after prompting the user.
Also adds a null frame check.

  • page/Quirks.cpp:

(WebCore::isBBCDomain):
(WebCore::isBBCPopOutPlayerElement):
(WebCore::Quirks::BBCRadioPlayerURLString):
(WebCore::Quirks::staticRadioPlayerURLString):
(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):

  • page/Quirks.h:

This is where we check if the pop-up button has been clicked and
prompt for storage access if needed. If the user grants storage
access, we should open a popup to static.radioplayer.co.uk so it
gets marked as first party, then inject script to redirect to the
correct BBC radio player page.

  • platform/network/NetworkStorageSession.cpp:

(WebCore::NetworkStorageSession::storageAccessQuirks):
(WebCore::NetworkStorageSession::loginDomainMatchesRequestingDomain):
(WebCore::NetworkStorageSession::canRequestStorageAccessForLoginOrCompatibilityPurposesWithoutPriorUserInteraction):
(WebCore::NetworkStorageSession::subDomainInNeedOfStorageAccessForFirstParty):
(WebCore::NetworkStorageSession::canRequestStorageAccessForLoginPurposesWithoutPriorUserInteraction): Deleted.
(WebCore::NetworkStorageSession::loginDomainForFirstParty): Deleted.

  • platform/network/NetworkStorageSession.h:

Change wording now that quirks are not only being used for login
flows.

Source/WebKit:

Create a quirk that will call the Storage Access API on behalf of
BBC for radioplayer.co.uk under bbc.co.uk. When the user clicks to open
the radio player pop-up, storage access is requested. If the user grants
permission, then we open the pop-up to static.radioplayer.co.uk to get
first party status, then immediately redirect to the radio player page.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccessInternal):
(WebKit::ResourceLoadStatisticsDatabaseStore::cookieAccess):

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::requestStorageAccessEphemeral):
Change wording now that quirks are not only being used for login
flows.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::createNewPage):
Mark the quirk-initiated pop-up as user-initiated so it doesn't get
blocked.

11:02 AM Changeset in webkit [271058] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Add fast path for the most common "inline level box is the child of the root inline box" case
https://bugs.webkit.org/show_bug.cgi?id=220089
<rdar://problem/72590141>

Reviewed by Simon Fraser.

  • layout/inlineformatting/InlineFormattingState.h:

(WebCore::Layout::InlineFormattingState::addLineRun):

  • layout/inlineformatting/InlineLineBox.cpp:

(WebCore::Layout::LineBox::logicalMarginRectForInlineLevelBox const):

  • layout/inlineformatting/InlineLineBox.h:

(WebCore::Layout::LineBox::inlineLevelBoxList const):
(WebCore::Layout::LineBox::containsInlineLevelBox const): Deleted.

10:40 AM Changeset in webkit [271057] by Ryan Haddad
  • 14 edits in trunk

Unreviewed, fix the build with recent SDKs.

Source/WebCore:

  • platform/cocoa/DragImageCocoa.mm:

(WebCore::createDragImageIconForCachedImageFilename):

  • platform/graphics/mac/IconMac.mm:

(WebCore::Icon::createIconForFileExtension):
(WebCore::Icon::createIconForUTI):

  • platform/mac/LocalDefaultSystemAppearance.mm:

(WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):
(WebCore::LocalDefaultSystemAppearance::~LocalDefaultSystemAppearance):

  • platform/mac/ScrollAnimatorMac.mm:

(-[WebScrollerImpDelegate effectiveAppearanceForScrollerImp:]):
(WebCore::ScrollAnimatorMac::contentAreaWillPaint const):

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::paintScrollCorner):

  • platform/mac/ThemeMac.mm:

(WebCore::paintStepper):
(WebCore::ThemeMac::ensuredView):
(WebCore::ThemeMac::supportsLargeFormControls):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::createAttachmentPlaceholderImage):

Source/WebKit:

  • UIProcess/PDF/WKPDFHUDView.mm:

(-[WKPDFHUDView _getImageForControlName:]):

  • UIProcess/RemoteLayerTree/mac/ScrollerMac.mm:

(-[WKScrollerImpDelegate effectiveAppearanceForScrollerImp:]):

Tools:

  • MiniBrowser/mac/ExtensionManagerWindowController.m:

(-[ExtensionManagerWindowController add:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
(-[WK2BrowserWindowController saveAsPDF:]):
(-[WK2BrowserWindowController saveAsWebArchive:]):

10:28 AM Changeset in webkit [271056] by commit-queue@webkit.org
  • 5 edits in trunk

REGRESSION(r270612) [GStreamer][MSE] Some play/seek related failures
https://bugs.webkit.org/show_bug.cgi?id=219822

Patch by Philippe Normand <pnormand@igalia.com> on 2020-12-22
Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Call appendComplete which internally synchronizes the TrackBuffer buffered ranges and calls
m_client->sourceBufferPrivateAppendComplete().

  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::didReceiveAllPendingSamples):
(WebCore::SourceBufferPrivateGStreamer::appendParsingFailed):

LayoutTests:

Unflag tests now-passing and flag tests that were mis-gardened before this regression happened.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
10:11 AM Changeset in webkit [271055] by Antti Koivisto
  • 10 edits in trunk/Source/WebCore

[LFC][Integration] Invalidate line layout path for children of inlines
https://bugs.webkit.org/show_bug.cgi?id=219639

Reviewed by Zalan Bujtas.

We currently assume you can just invalidate the direct parent.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::blockContainer):
(WebCore::LayoutIntegration::LineLayout::containing):

  • layout/integration/LayoutIntegrationLineLayout.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):

Invalidate here.

  • rendering/RenderText.cpp:

(WebCore::RenderText::setText):

  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::attachToRenderElementInternal):

  • rendering/updating/RenderTreeBuilderBlock.cpp:

(WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation):
(WebCore::RenderTreeBuilder::Block::detach):

8:48 AM Changeset in webkit [271054] by Simon Fraser
  • 3 edits
    2 adds in trunk

Sibling element wheel event regions can be wrong
https://bugs.webkit.org/show_bug.cgi?id=220071
Source/WebCore:

<rdar://problem/72435466>

Reviewed by Daniel Bates.

RenderStyle contains eventListenerRegionTypes() data which derive from registered
wheel event handlers, so style sharing needs to avoid sharing style between elements
with different handlers. For now, just disable style sharing for any elements
which event handlers.

Test: fast/scrolling/mac/wheel-event-listener-region-siblings.html

  • style/StyleSharingResolver.cpp:

(WebCore::Style::SharingResolver::canShareStyleWithElement const):

LayoutTests:

Reviewed by Daniel Bates.

  • fast/scrolling/mac/wheel-event-listener-region-siblings-expected.txt: Added.
  • fast/scrolling/mac/wheel-event-listener-region-siblings.html: Added.
8:09 AM Changeset in webkit [271053] by Simon Fraser
  • 3 edits
    2 adds in trunk

Layout overflow is computed incorrectly inside flexbox (breaks sticky positioning)
https://bugs.webkit.org/show_bug.cgi?id=220075
Source/WebCore:

<rdar://problem/70956639>

Reviewed by Zalan Bujtas.

RenderBlock::endAndCommitUpdateScrollInfoAfterLayoutTransaction(), which is only called by grid
and flexbox layout, would unconditionally clear layout overflow on boxes with overflow clipping,
which resulted in incorrect sticky positioning because RenderBoxModelObject::computeStickyPositionConstraints()
consults layout overflow.

It was only through happenstance that overflow:scroll worked correctly, relying on the fact
that updateScrollInfoAfterLayout() would trigger caching of scroll dimensions on RenderLayer.

This clearing was added in r151360 but seems incorrect; layout overflow should be preserved
after layout.

Test: fast/flexbox/preserve-layout-overflow.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::endAndCommitUpdateScrollInfoAfterLayoutTransaction):

LayoutTests:

Reviewed by Zalan Bujtas.

  • fast/flexbox/preserve-layout-overflow-expected.txt: Added.
  • fast/flexbox/preserve-layout-overflow.html: Added.
6:33 AM Changeset in webkit [271052] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC][Integration] Compute enclosing top and bottom while constructing the inline runs
https://bugs.webkit.org/show_bug.cgi?id=220064
<rdar://problem/72556810>

Reviewed by Antti Koivisto.

Let's pre-compute the enclosing top and bottom coordinates while constructing the line runs.
(This saves a loop on the inline level boxes while constructing the lines at InlineContentBuilder::createDisplayLines)

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

  • layout/inlineformatting/InlineLineGeometry.h:

(WebCore::Layout::InlineLineGeometry::enclosingTopAndBottom const):
(WebCore::Layout::InlineLineGeometry::InlineLineGeometry):

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):

  • layout/integration/LayoutIntegrationLine.h:

(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::enclosingContentTop const):
(WebCore::LayoutIntegration::Line::enclosingContentBottom const):

  • layout/integration/LayoutIntegrationPagination.cpp:

(WebCore::LayoutIntegration::makeAdjustedContent):

4:42 AM Changeset in webkit [271051] by commit-queue@webkit.org
  • 11 edits in trunk/LayoutTests/imported/w3c

Add test for logical properties in webkit non-standard '-webkit-writing-mode: horizontal-bt' mode
https://bugs.webkit.org/show_bug.cgi?id=220015

Patch by Ziran Sun <Ziran Sun> on 2020-12-22
Reviewed by Manuel Rego Casasnovas.

  • web-platform-tests/css/css-logical/logical-box-border-color-expected.txt:
  • web-platform-tests/css/css-logical/logical-box-border-radius-expected.txt:
  • web-platform-tests/css/css-logical/logical-box-border-shorthands-expected.txt:
  • web-platform-tests/css/css-logical/logical-box-border-style-expected.txt:
  • web-platform-tests/css/css-logical/logical-box-border-width-expected.txt:
  • web-platform-tests/css/css-logical/logical-box-inset-expected.txt:
  • web-platform-tests/css/css-logical/logical-box-margin-expected.txt:
  • web-platform-tests/css/css-logical/logical-box-padding-expected.txt:
  • web-platform-tests/css/css-logical/logical-box-size-expected.txt:
  • web-platform-tests/css/css-logical/resources/test-shared.js:

(CSS.supports):

4:22 AM Changeset in webkit [271050] by Lauro Moura
  • 4 edits in trunk/Tools

[Flapak SDK] Allow setting custom SDK repository locations and other small fixes
https://bugs.webkit.org/show_bug.cgi?id=219884

Reviewed by Philippe Normand.

Tools:

  • Update envvar to match the WEBKIT_FLATPAK prefix
  • Give precedence to the verbose flag instead of envvar
  • Enable logging earlier to be used in the parse step
  • Error out if the user provides an user repo that is not accessible.
  • flatpak/flatpakutils.py:

(WebkitFlatpak.load_from_args):
(WebkitFlatpak.clean_args):

Tools/buildstream:

  • Allow inheriting the RSYNC info from envvar for local testing.
  • Add a 'dry-push-repo' command to be able to perform push-repo dry-runs.
  • Makefile:
2:11 AM Changeset in webkit [271049] by youenn@apple.com
  • 10 edits in trunk/Source

[iOS] Do extensive search for microphone devices when trying to capture
https://bugs.webkit.org/show_bug.cgi?id=220010
<rdar://problem/72036034>

Reviewed by Eric Carlson.

Source/WebCore:

It is not possible to discover some audio input devices without an active audio
session, so WebKit allocates an auxiliary audio session when it needs to build
a list of audio capture devices. The full list of devices is only needed when
evaluating getUserMedia audio constraints, or for enumerateDevices *after* capture
is active (we return a truncated list before capture is active), so don't activate
the session until we need to validate audio constraints or after the user gives
permission to capture.

Manually tested on device with built-in, BT, and USB audio inputs.

  • platform/mediastream/RealtimeMediaSourceFactory.h:

(WebCore::AudioCaptureFactory::addExtensiveObserver):
(WebCore::AudioCaptureFactory::removeExtensiveObserver):

  • platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
  • platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:

(WebCore::AVAudioSessionCaptureDeviceManager::refreshAudioCaptureDevices):
(WebCore::AVAudioSessionCaptureDeviceManager::enableAllDevicesQuery):
(WebCore::AVAudioSessionCaptureDeviceManager::disableAllDevicesQuery):

  • platform/mediastream/ios/CoreAudioCaptureSourceIOS.h:
  • platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:

(WebCore::CoreAudioCaptureSourceFactoryIOS::addExtensiveObserver):
(WebCore::CoreAudioCaptureSourceFactoryIOS::removeExtensiveObserver):
(WebCore::CoreAudioCaptureSourceFactoryIOS::createAudioCaptureSource):
In UIProcess, UserMediaPermissionRequestManagerProxy makes sure to enable the extensive audio device query.
In WebProcess, we also need this when starting the audio capture.
We enable it when there is no observer to handle the WebProcess side.

  • platform/mediastream/mac/CoreAudioCaptureSource.h:

(WebCore::CoreAudioCaptureSourceFactory::createAudioCaptureSource):

Source/WebKit:

Enable exhaustive audio device query in case getUserMedia is called for audio capture.
In case the manager is destroyed or reset after some time without capturing, make sure to disable
exhaustive audio device query if no other page need it.

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::invalidatePendingRequests):
(WebKit::UserMediaPermissionRequestManagerProxy::denyRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::resetAccess):
(WebKit::UserMediaPermissionRequestManagerProxy::startProcessingUserMediaPermissionRequest):

  • UIProcess/UserMediaPermissionRequestManagerProxy.h:

Dec 21, 2020:

9:20 PM Changeset in webkit [271048] by Beth Dakin
  • 8 edits in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=220078
Remove non-inclusive language from WebGL tests

Reviewed by Alex Christensen.

  • webgl/1.0.3/resources/webgl_test_files/conformance/extensions/oes-element-index-uint.html:
  • webgl/1.0.3/resources/webgl_test_files/conformance/uniforms/gl-uniform-arrays.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/oes-element-index-uint.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/uniforms/gl-uniform-arrays.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/element-index-uint.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/vertex_arrays/vertex-array-object.html:
  • webgl/2.0.0/resources/webgl_test_files/js/tests/no-over-optimizations-on-uniform-array.js:

(setupTests):

7:23 PM Changeset in webkit [271047] by Simon Fraser
  • 2 edits in trunk/Tools

[macOS MiniBrowser] Add menu items to reset all experimental and internal debug features to defaults
https://bugs.webkit.org/show_bug.cgi?id=220060

Reviewed by Wenson Hsieh.

Add menu items at the bottom of the "Experimental" and "Internal Debug" feature submenus
to reset all the features to their default values.

  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]):
(-[SettingsController resetAllExperimentalFeatures:]):
(-[SettingsController resetAllInternalDebugFeatures:]):

5:04 PM Changeset in webkit [271046] by Alan Coon
  • 1 copy in tags/Safari-610.4.3

Tag Safari-610.4.3.

4:57 PM Changeset in webkit [271045] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

REGRESSION (iOS 14): Bad access crash in ShareableBitmap::makeCGImageCopy() under assignLegacyDataForContextMenuInteraction()
https://bugs.webkit.org/show_bug.cgi?id=219843
<rdar://problem/72537059>

Reviewed by Geoffrey Garen.

Apply a speculative fix for the crash by making the UI process robust in the case where the requested position
information has the isImage flag set, but no native image. Additionally, keep the existing debug assertions by
moving them outside of their current if statements.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView assignLegacyDataForContextMenuInteraction]):
(-[WKContentView continueContextMenuInteraction:]):

4:25 PM Changeset in webkit [271044] by ysuzuki@apple.com
  • 2 edits in trunk/JSTests

[JSC] Update elem.wast.js test
https://bugs.webkit.org/show_bug.cgi?id=220011

Reviewed by Ross Kirsling.

Now all tests pass. Remove FIXME.

  • wasm/spec-tests/elem.wast.js:
3:50 PM Changeset in webkit [271043] by Beth Dakin
  • 49 edits
    11 moves
    2 adds
    2 deletes in trunk/LayoutTests

Remove non-inclusive language from layout tests
https://bugs.webkit.org/show_bug.cgi?id=220063

Reviewed by Geoffrey Garen.

This patch removes many instances of non-inclusive language from the layout tests.

  • fast/canvas/webgl/oes-element-index-uint.html:
  • fast/canvas/webgl/oes-vertex-array-object.html:
  • fast/encoding/idn-security.html:
  • fast/images/image-formats-support-expected.txt:
  • fast/images/image-formats-support.html:
  • fast/text/arabic-blacklisted-expected.html: Removed.
  • fast/text/arabic-blacklisted.html: Removed.
  • fast/text/arabic-blocked-fonts-expected.html: Copied from fast/text/arabic-blacklisted-expected.html.
  • fast/text/arabic-blocked-fonts.html: Copied from fast/text/arabic-blacklisted.html.
  • http/tests/appcache/online-whitelist-expected.txt:
  • http/tests/appcache/online-whitelist.html:
  • http/tests/appcache/resources/allowlist-wildcard.manifest: Copied from http/tests/appcache/resources/whitelist-wildcard.manifest.
  • http/tests/appcache/resources/online-allowlist.manifest: Copied from http/tests/appcache/resources/online-whitelist.manifest.
  • http/tests/appcache/resources/online-allowlist.php: Copied from http/tests/appcache/resources/online-whitelist.php.
  • http/tests/appcache/resources/online-whitelist.manifest: Removed.
  • http/tests/appcache/resources/online-whitelist.php: Removed.
  • http/tests/appcache/resources/whitelist-wildcard.manifest: Removed.
  • http/tests/appcache/whitelist-wildcard-expected.txt:
  • http/tests/appcache/whitelist-wildcard.html:
  • http/tests/misc/char-encoding-bocu-1-blacklisted-expected.txt: Removed.
  • http/tests/misc/char-encoding-bocu-1-blacklisted.html: Removed.
  • http/tests/misc/char-encoding-bocu-1-blocklisted-expected.txt: Added.
  • http/tests/misc/char-encoding-bocu-1-blocklisted.html: Copied from http/tests/misc/char-encoding-bocu-1-blacklisted.html.
  • http/tests/misc/char-encoding-scsu-blacklisted-expected.txt: Removed.
  • http/tests/misc/char-encoding-scsu-blacklisted.html: Removed.
  • http/tests/misc/char-encoding-scsu-blocklisted-expected.txt: Added.
  • http/tests/misc/char-encoding-scsu-blocklisted.html: Copied from http/tests/misc/char-encoding-scsu-blacklisted.html.
  • http/tests/security/contentSecurityPolicy/1.1/stylenonce-allowed-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/stylenonce-allowed.html:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01-expected.txt:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01.html:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02-expected.txt:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html:
  • http/tests/security/cross-frame-access-enumeration-expected.txt:
  • http/tests/security/cross-frame-access-enumeration.html:
  • http/tests/security/isolatedWorld/cross-origin-xhr-expected.txt:
  • http/tests/security/isolatedWorld/cross-origin-xhr.html:
  • http/tests/security/local-image-from-remote-allow-list-expected.txt:
  • http/tests/security/local-image-from-remote-allow-list.html:
  • http/tests/xmlhttprequest/access-control-basic-allow-list-response-headers-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-allow-list-response-headers.html:
  • http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html:
  • http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached.html:
  • http/tests/xmlhttprequest/origin-allow-list-all-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-all.html:
  • http/tests/xmlhttprequest/origin-allow-list-exact-match-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-exact-match.html:
  • http/tests/xmlhttprequest/origin-allow-list-https-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-https.html:
  • http/tests/xmlhttprequest/origin-allow-list-ip-addresses-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-ip-addresses-with-subdomains.html:
  • http/tests/xmlhttprequest/origin-allow-list-ip-addresses.html:
  • http/tests/xmlhttprequest/origin-allow-list-removal-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-removal.html:
  • http/tests/xmlhttprequest/origin-allow-list-subdomains-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-subdomains.html:
  • http/tests/xmlhttprequest/resources/origin-allowlisting-ip-address-test.html: Copied from http/tests/xmlhttprequest/resources/origin-whitelisting-ip-address-test.html.
  • http/tests/xmlhttprequest/resources/origin-whitelisting-ip-address-test.html: Removed.
  • http/tests/xmlhttprequest/workers/resources/access-control-basic-get-fail-non-simple.js:

(start):

  • inspector/timeline/line-column.html:
  • js/promises-tests/resources/mocha.js:
  • media/track/captions-webvtt/allowlist.vtt: Copied from media/track/captions-webvtt/whitelist.vtt.
  • media/track/captions-webvtt/whitelist.vtt: Removed.
  • media/track/track-css-property-allowlist-expected.txt: Added.
  • media/track/track-css-property-allowlist.html: Copied from media/track/track-css-property-whitelist.html.
  • media/track/track-css-property-whitelist-expected.txt: Removed.
  • media/track/track-css-property-whitelist.html: Removed.
  • platform/glib/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wpe/security/block-test-expected.txt:
  • security/block-test-expected.txt:
  • security/block-test.html:
3:05 PM Changeset in webkit [271042] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][Integration] Reserve both the line and the run vector sizes
https://bugs.webkit.org/show_bug.cgi?id=220068
<rdar://problem/72560573>

Reviewed by Simon Fraser.

We actually know how many entries these vectors will have (in case of no-bidi content).

  • layout/integration/LayoutIntegrationInlineContent.h:
  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):

2:31 PM Changeset in webkit [271041] by Chris Dumez
  • 14 edits in trunk/Source

Simplify CARingBuffer usage with SharedMemory storage
https://bugs.webkit.org/show_bug.cgi?id=220047

Reviewed by Geoff Garen.

Simplify CARingBuffer usage with SharedMemory storage:

  1. There are now 2 storage types:
    • ReadOnlySharedRingBufferStorage: Used by the reader
    • SharedRingBufferStorage: Used by the writer One type inherits the other. This allows the API to be a bit clearer and we can drop the m_readyOnly flag.
  2. Drop SharedRingBufferStorage::updateReadOnlyStorage() function. Instead, the reader can now construct a new ReadOnlySharedRingBufferStorage directly of the SharedMemory handle and pass it to the CARingBuffer constructor.

Source/WebCore:

  • platform/audio/cocoa/CARingBuffer.cpp:

(WebCore::CARingBuffer::CARingBuffer):

  • platform/audio/cocoa/CARingBuffer.h:

Source/WebKit:

  • GPUProcess/media/RemoteAudioDestinationManager.cpp:

(WebKit::RemoteAudioDestination::audioSamplesStorageChanged):
(WebKit::RemoteAudioDestination::RemoteAudioDestination):

  • GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp:

(WebKit::RemoteAudioMediaStreamTrackRenderer::RemoteAudioMediaStreamTrackRenderer):
(WebKit::RemoteAudioMediaStreamTrackRenderer::audioSamplesStorageChanged):

  • GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h:
  • GPUProcess/webrtc/RemoteMediaRecorder.cpp:

(WebKit::RemoteMediaRecorder::RemoteMediaRecorder):
(WebKit::RemoteMediaRecorder::audioSamplesStorageChanged):

  • GPUProcess/webrtc/RemoteMediaRecorder.h:
  • Shared/Cocoa/SharedRingBufferStorage.cpp:

(WebKit::ReadOnlySharedRingBufferStorage::ReadOnlySharedRingBufferStorage):
(WebKit::ReadOnlySharedRingBufferStorage::data):
(WebKit::ReadOnlySharedRingBufferStorage::sharedFrameBounds const):
(WebKit::ReadOnlySharedRingBufferStorage::getCurrentFrameBounds):
(WebKit::ReadOnlySharedRingBufferStorage::flush):
(WebKit::ReadOnlySharedRingBufferStorage::updateFrameBounds):
(WebKit::SharedRingBufferStorage::setStorage):
(WebKit::SharedRingBufferStorage::allocate):
(WebKit::SharedRingBufferStorage::deallocate):
(WebKit::SharedRingBufferStorage::setCurrentFrameBounds):

  • Shared/Cocoa/SharedRingBufferStorage.h:

(WebKit::ReadOnlySharedRingBufferStorage::storage const):

  • UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp:

(WebKit::m_ringBuffer):
(WebKit::SpeechRecognitionRemoteRealtimeMediaSource::setStorage):

  • WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp:

(WebKit::RemoteAudioSourceProviderManager::RemoteAudio::RemoteAudio):
(WebKit::RemoteAudioSourceProviderManager::RemoteAudio::setStorage):

  • WebProcess/cocoa/RemoteCaptureSampleManager.cpp:

(WebKit::RemoteCaptureSampleManager::RemoteAudio::RemoteAudio):
(WebKit::RemoteCaptureSampleManager::RemoteAudio::setStorage):

1:59 PM Changeset in webkit [271040] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Retain IPC::Connection when using it when making a NetworkDataTask
https://bugs.webkit.org/show_bug.cgi?id=220067

Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-21
Reviewed by Geoffrey Garen.

r265230 helped, but it's still crashing.
Maybe we're getting a non-null pointer to an object that is about to be destroyed on another thread.
There's no reason not to keep it alive here.
Also, don't release assert in isParentProcessAFullWebBrowser if there's no audit token so we don't
just kick this can down the road.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::sessionWrapperForTask):

1:31 PM Changeset in webkit [271039] by commit-queue@webkit.org
  • 10 edits in trunk

Source/JavaScriptCore:
[JSC] Add minimum parameter to the WASM JS-API for Memory & Table.
https://bugs.webkit.org/show_bug.cgi?id=219600

Patch by Jessica Tallon <jtallon@igalia.com> on 2020-12-21
Reviewed by Yusuke Suzuki.

This patch adds a "minimum" perameter to the constructor of both WebAssembly.Memory and
WebAssembly.Table. This represents the same value as the "initial" perameter. The new
perameter name is outlined here [1]. It is part of the JS type reflection proposal.

[1]: https://github.com/WebAssembly/js-types/blob/master/proposals/js-types/Overview.md#naming-of-size-limits

  • JSTests/wasm/js-api/table.js:
  • JSTests/wasm/js-api/test_memory_constructor.js:
  • Source/JavaScriptCore/wasm/js/WebAssemblyMemoryConstructor.cpp:
  • Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp:

LayoutTests:
[JSC] Fix expectation for WASM JS-type reflection WPTs
https://bugs.webkit.org/show_bug.cgi?id=219600

Patch by Jessica Tallon <jtallon@igalia.com> on 2020-12-21
Reviewed by Yusuke Suzuki.

Changed the expectations for the WASM JS-Type reflections constructor
tests as we now support the minimum parameter.

  • LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any.worker-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any.worker-expected.txt:
12:48 PM Changeset in webkit [271038] by Ryan Haddad
  • 9 edits in trunk/Source

Unreviewed, reverting r270939 and r270952.

Caused layout test timeouts on internal bots

Reverted changesets:

"[Cocoa] WebM format reader doesn't work with a url in a
<source> element"
https://bugs.webkit.org/show_bug.cgi?id=219961
https://trac.webkit.org/changeset/270939

"[Cocoa] WebM format reader doesn't work with a url in a
<source> element"
https://bugs.webkit.org/show_bug.cgi?id=219961
https://trac.webkit.org/changeset/270952

12:46 PM Changeset in webkit [271037] by commit-queue@webkit.org
  • 9 edits in trunk

$(findstring iphone,$(SDKROOT)) fails when SDKROOT is not lowercase
https://bugs.webkit.org/show_bug.cgi?id=219993
rdar://72436093

Patch by Ryan Hostetler <rhost@apple.com> on 2020-12-21
Reviewed by Darin Adler.

Update SDKROOT evaluation to be lowercase and SDK filename only.

.:

  • Source/Makefile:

Source/ThirdParty:

  • Makefile:

Source/ThirdParty/libwebrtc:

  • Makefile:

Tools:

  • ImageDiff/Makefile:
  • Makefile:
12:17 PM Changeset in webkit [271036] by Wenson Hsieh
  • 10 edits in trunk/Source

Many websites crash under toDataURL() when enabling GPU process for DOM
https://bugs.webkit.org/show_bug.cgi?id=220051
<rdar://problem/72412509>

Reviewed by Simon Fraser.

Source/WebCore:

See WebKit ChangeLog for more details.

  • platform/graphics/ImageBufferBackend.h:

Add traits for the PreserveResolution enum flag, so that it can be encoded over IPC.

Source/WebKit:

Three methods of canvas readback (toDataURL, toData, and toBGRAData) currently cause the web content
process to crash when enabling GPU process for DOM rendering. This is because we attempt to call into the
respective methods on the image buffer backend following r270342, which unconditionally fire release assertions.

Instead of using the proxy image buffer backend object in the web process, we need to communicate with the
platform RemoteImageBuffer in the GPU process. To do this, we add some plumbing through
RemoteRenderingBackendProxy and RemoteRenderingBackend, and override the toDataURL, toData, and
toBGRAData methods on RemoteImageBufferProxy in the web process to request data from the remote rendering
backend instead.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::getDataURLForImageBuffer):
(WebKit::RemoteRenderingBackend::getDataForImageBuffer):
(WebKit::RemoteRenderingBackend::getBGRADataForImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/graphics/RemoteRenderingBackend.messages.in:
  • Scripts/webkit/messages.py:
  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::getImageData):
(WebKit::RemoteRenderingBackendProxy::getDataURLForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::getDataForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::getBGRADataForImageBuffer):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
11:56 AM Changeset in webkit [271035] by Russell Epstein
  • 1 copy in tags/Safari-611.1.9.3.1

Tag Safari-611.1.9.3.1.

11:54 AM Changeset in webkit [271034] by keith_miller@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

DFG should make sure replacement watchpoint is fired before folding to PutByOffset
https://bugs.webkit.org/show_bug.cgi?id=220031
<rdar://72045350>

Reviewed by Saam Barati.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::presenceConditionIfConsistent):
(JSC::DFG::ByteCodeParser::checkPresence):
(JSC::DFG::ByteCodeParser::checkPresenceForReplace):
(JSC::DFG::ByteCodeParser::load):
(JSC::DFG::ByteCodeParser::store):
(JSC::DFG::ByteCodeParser::presenceLike): Deleted.
(JSC::DFG::ByteCodeParser::checkPresenceLike): Deleted.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::tryFoldAsPutByOffset):

  • runtime/Structure.cpp:

(JSC::Structure::dump const):

11:44 AM Changeset in webkit [271033] by Russell Epstein
  • 8 edits in branches/safari-611.1.9-branch/Source

Versioning.

WebKit-7611.1.9.3.1

11:38 AM Changeset in webkit [271032] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

Missing textInteractionEnabled key in WKPreferences initWithCoder looks like a false value.
https://bugs.webkit.org/show_bug.cgi?id=220061
<rdar://problem/72487342>

Reviewed by Wenson Hsieh.

We should check for the existence of the textInteractionEnabled key
in the NSCoder before updating the default value in WKPreferences,
otherwise a missing key will register as a false value when the default
of textInteractionEnabled should be true.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences initWithCoder:]):

11:35 AM Changeset in webkit [271031] by sihui_liu@apple.com
  • 11 edits in trunk/Source/WebKit

Check availability of speech recognition service before requesting permissions
https://bugs.webkit.org/show_bug.cgi?id=220033

Reviewed by Youenn Fablet.

If speech recognition service is not available for target language (maybe the language is not supported, user
turns off dictation in system settings, etc), let's just fail the speech recognition request without prompting.

Manually tested with MiniBrowser.

  • UIProcess/Cocoa/MediaPermissionUtilities.mm:

(WebKit::requestSpeechRecognitionAccess):
(WebKit::checkSpeechRecognitionServiceAccess):
(WebKit::checkSpeechRecognitionServiceAvailability):

  • UIProcess/MediaPermissionUtilities.h:
  • UIProcess/SpeechRecognitionPermissionManager.cpp:

(WebKit::SpeechRecognitionPermissionManager::request):
(WebKit::SpeechRecognitionPermissionManager::startProcessingRequest):

  • UIProcess/SpeechRecognitionPermissionManager.h:
  • UIProcess/SpeechRecognitionPermissionRequest.h:

(WebKit::SpeechRecognitionPermissionRequest::create):
(WebKit::SpeechRecognitionPermissionRequest::lang const):
(WebKit::SpeechRecognitionPermissionRequest::SpeechRecognitionPermissionRequest):

  • UIProcess/SpeechRecognitionServer.cpp:

(WebKit::SpeechRecognitionServer::requestPermissionForRequest):

  • UIProcess/SpeechRecognitionServer.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestSpeechRecognitionPermission):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::createSpeechRecognitionServer):

11:24 AM Changeset in webkit [271030] by mark.lam@apple.com
  • 5 edits in branches/safari-610-branch

Cherry-pick r270981. rdar://problem/72552976

2020-12-17 Mark Lam <mark.lam@apple.com>

Add tagging to JIT probe's return address.
https://bugs.webkit.org/show_bug.cgi?id=220008
rdar://71279530

Reviewed by Keith Miller and Robin Morisset.

  • assembler/MacroAssemblerARM64.cpp:
  • assembler/testmasm.cpp: (JSC::testProbeModifiesProgramCounter):
  • runtime/JSCPtrTag.h:
10:48 AM Changeset in webkit [271029] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebKit

Cherry-pick r270998. rdar://problem/72552852

Fix some issues with PDFs as <object>.
https://bugs.webkit.org/show_bug.cgi?id=220024

Reviewed by Tim Horton.

No new tests (Unable to write automated tests)

  • WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::dataProviderGetBytesAtPositionCallback): (WebKit::PDFPlugin::getResourceBytesAtPosition): Set the correct URL. (WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData): Try harder to catch mismatches in delivered bytes vs expected bytes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270998 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:48 AM Changeset in webkit [271028] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/JavaScriptCore

Cherry-pick r270993. rdar://problem/72552973

Build fix after r270988.
https://bugs.webkit.org/show_bug.cgi?id=220021
<rdar://problem/72474809>

Not reviewed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270993 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:47 AM Changeset in webkit [271027] by Russell Epstein
  • 4 edits in branches/safari-610-branch/Source/JavaScriptCore

Cherry-pick r270988. rdar://problem/72552973

Fix MacroAssemblerARM64E::validateUntaggedPtr() to account for TBI.
https://bugs.webkit.org/show_bug.cgi?id=220021
<rdar://problem/72474809>

Reviewed by Saam Barati.

  • assembler/AbstractMacroAssembler.h:
  • assembler/DisallowMacroScratchRegisterUsage.h:
  • templatized the DisallowMacroScratchRegisterUsage class so that we can #include it in MacroAssembler implementations.
  • assembler/MacroAssemblerARM64E.h: (JSC::MacroAssemblerARM64E::validateUntaggedPtr):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270988 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:47 AM Changeset in webkit [271026] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebCore

Cherry-pick r270580. rdar://problem/72552978

Multicolumn children becoming in-flow elements should be inserted into the multicolumn flow
https://bugs.webkit.org/show_bug.cgi?id=218503

Reviewed by Zalan Bujtas.

Out of flow children of a multicolumn container are not really part of the multicolumn flow. Making them in-flow (i.e. setting "position: static;")
should trigger the code that inserts them into the MultiColumnFlowThread object of the multicolumn container. RenderTreeBuilder was handling this
in-flow <-> out-of-flow changes just for the cases in which the inline status of an element was affecting the parent.

  • rendering/RenderMultiColumnFlow.cpp: (WebCore::RenderMultiColumnFlow::normalizeTreeAfterStyleChange): Insert renderer in the multicolumn flow thread whenever it becames in flow.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270580 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:32 AM Changeset in webkit [271025] by Megan Gardner
  • 2 edits in trunk/Source/WebCore

Copy Localizable.strings file into the correct directory
https://bugs.webkit.org/show_bug.cgi?id=220029
rdar://72167601

Reviewed by Alex Christensen.

After the changes in r269865, r269873, r269915, r269932, r269937 the localizable.strings
was not showing up in the right place in the production build to allow it to be correctly
localized. This skips the step of putting it in DerivedSources and just puts the
concatenated file in the final correct directory so we do not have to relay on Xcode build
doing the correct thing for us.

  • WebCore.xcodeproj/project.pbxproj:
10:14 AM Changeset in webkit [271024] by aboya@igalia.com
  • 14 edits in trunk

[MSE] Fix allSamplesInTrackEnqueued() handling
https://bugs.webkit.org/show_bug.cgi?id=220055

Reviewed by Philippe Normand.

Source/WebCore:

Within the changes introduced by r270612 a spurious call to
allSamplesInTrackEnqueued() was added to provideMediaData().

provideMediaData() is called every time there may be new samples that
need to be enqueued into the playback pipeline.

allSamplesInTrackEnqueued() is supposed to be called when
MediaSource.endOfStream() has been called and all pending samples have
been enqueued, therefore signaling the playback pipeline that no more
samples will be added.

Some decoders need to be notified of this condition in order to move
the last samples in their queue downstream. This is true at least of
the avdec (ffmpeg) decoders that are commonly used in desktop versions
of the GStreamer port.

Calling allSamplesInTrackEnqueued() prematurely will mess with the
playback as the code will not accept any more samples, a serious
problem. This patch fixes it by removing the spurious call and
restoring its original purpose when it was introduced in r230909.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::streamEndedWithError):
(WebCore::MediaSource::openIfInEndedState):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::setMediaSourceEnded):
(WebCore::SourceBuffer::trySignalAllSamplesEnqueued): Deleted.

  • Modules/mediasource/SourceBuffer.h:
  • platform/graphics/SourceBufferPrivate.cpp:

(WebCore::SourceBufferPrivate::setMediaSourceEnded):
(WebCore::SourceBufferPrivate::trySignalAllSamplesInTrackEnqueued):
(WebCore::SourceBufferPrivate::provideMediaData):

  • platform/graphics/SourceBufferPrivate.h:

Source/WebKit:

trySignalAllSamplesInTrackEnqueued() does not need to be exposed
outside of SourceBufferPrivate.

  • GPUProcess/media/RemoteSourceBufferProxy.cpp:

(WebKit::RemoteSourceBufferProxy::trySignalAllSamplesInTrackEnqueued): Deleted.

  • GPUProcess/media/RemoteSourceBufferProxy.h:
  • GPUProcess/media/RemoteSourceBufferProxy.messages.in:
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:

(WebKit::SourceBufferPrivateRemote::trySignalAllSamplesInTrackEnqueued): Deleted.

  • WebProcess/GPU/media/SourceBufferPrivateRemote.h:

LayoutTests:

Adjusted test expectations.

  • platform/glib/TestExpectations:
10:11 AM Changeset in webkit [271023] by Ryan Haddad
  • 1 edit
    4 adds in trunk/LayoutTests

Unreviewed test gardening, rebaseline tests for Windows.

  • platform/win/http/tests/xmlhttprequest/methods-async-expected.txt: Added.
  • platform/win/http/tests/xmlhttprequest/methods-expected.txt: Added.
  • platform/win/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Added.
9:54 AM Changeset in webkit [271022] by Fujii Hironori
  • 2 edits in trunk/Tools

[Win][MiniBrowser] Update built-in User-Agent strings (December 2020)
https://bugs.webkit.org/show_bug.cgi?id=220048

Reviewed by Alex Christensen.

  • MiniBrowser/win/BrowserWindow.cpp:

(BrowserWindow::setUserAgent):

8:10 AM Changeset in webkit [271021] by Aditya Keerthi
  • 8 edits in trunk

REGRESSION (r262729): Poor contrast for specific color/background combinations on disabled input fields
https://bugs.webkit.org/show_bug.cgi?id=219991
<rdar://problem/70522921>

Reviewed by Sam Weinig.

Source/WebCore:

The text color for disabled input fields is adjusted based on any
specified color and background-color rules.

r262729 modified the adjustment logic to use the contrastRatio
utility function to determine illegibility issues due to contrast,
rather than a differenceSquared computation. In both cases if the
computed value is less than a minimum constrast value, the original
text color is preserved. As a part of the change, the minimum
contrast value was set to 1.1, a value chosen in order to maintain
the appearance of fast/forms/input-disabled-color.html.

However, the constrast value 1.1 results in combination of
"color #acacac" and "background-color: #f2f2f2" producing white
text on a light gray background, which is illegible. Previously,
this color combination did not result in any change to the text color.

In order to fix, increase the minimum color constrast to 1.195,
which accounts for the failing combination. Note that this increase to
the minimum value prevents some existing text color adjustments
from being performed. This is evidenced by the need to rebaseline
fast/forms/input-disabled-color.html after increasing the constrast.
However, the new text colors are subjectively more legible, which
is the reason why we have a minimum color constrast value.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::disabledTextColor const):

LayoutTests:

Updated an existing test to account for the failing color/background
combination and rebaselined expectations to match the new minimum
constrast ratio.

  • fast/forms/input-disabled-color.html:
  • platform/ios/fast/forms/input-disabled-color-expected.txt:
  • platform/mac-catalina/fast/forms/input-disabled-color-expected.txt:
  • platform/mac-mojave/fast/forms/input-disabled-color-expected.txt:
  • platform/mac/fast/forms/input-disabled-color-expected.txt:
4:15 AM Changeset in webkit [271020] by aboya@igalia.com
  • 5 edits in trunk/LayoutTests

media-source-webm.html: Handle frame size in HAVE_METADATA
https://bugs.webkit.org/show_bug.cgi?id=220046

Reviewed by Eric Carlson.

The current version of media-source-webm.html assumes that a resize
event happens after the first media segment is appended.

This is not necessarily true. In fact, an initialization segment
should cause a transition to HAVE_METADATA, and that per spec implies
the size of the video is known.

In practice, some implementations don't report this until a media
segment has arrived.

Because of the way the current code is written, an implementation
emitting resize on HAVE_METADATA would timeout the test. This patch
fixes that, accomodating both cases.

  • media/media-source/media-source-webm.html:
  • media/media-source/media-source-webm-expected.txt:
  • platform/glib/TestExpectations:
  • platform/wpe/TestExpectations:

Dec 20, 2020:

8:07 PM Changeset in webkit [271019] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Rename FrameView::sendResizeEventIfNeeded() to scheduleResizeEventIfNeeded()
https://bugs.webkit.org/show_bug.cgi?id=220050

Reviewed by Ryosuke Niwa.

FrameView::sendResizeEventIfNeeded() only schedules events, it does not send them,
so rename accordingly.

Also fix some logging.

  • dom/Document.cpp:

(WebCore::Document::runResizeSteps):
(WebCore::Document::runScrollSteps):

  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::scheduleResizeEventIfNeeded):
(WebCore::FrameView::setCustomSizeForResizeEvent):
(WebCore::FrameView::sendResizeEventIfNeeded): Deleted.

  • page/FrameView.h:
6:23 PM Changeset in webkit [271018] by Simon Fraser
  • 2 edits in trunk/Tools

Fix the lldb WebCoreColorProvider
https://bugs.webkit.org/show_bug.cgi?id=220049

Reviewed by Sam Weinig.

Fix the lldb color provider after Color internals where shifted around.

  • lldb/lldb_webkit.py:

(WebCoreColorProvider.to_string):

3:15 PM Changeset in webkit [271017] by Chris Dumez
  • 9 edits in trunk/Source

Unreviewed, reverting r270969.

Regressed MotionMark with GPUProcess enabled

Reverted changeset:

"[iOS] Stop leaking an XPC boost message to XPC services"
https://bugs.webkit.org/show_bug.cgi?id=219453
https://trac.webkit.org/changeset/270969

12:16 PM Changeset in webkit [271016] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[WinCairo] Unreviewed typo fix of r271015
https://bugs.webkit.org/show_bug.cgi?id=220000
<rdar://problem/72531245>

Reviewed by Kenneth Russell.

  • platform/graphics/win/PlatformDisplayWin.cpp:

(WebCore::PlatformDisplayWin::initializeEGLDisplay): Fixed a typo 'attributs'.

12:09 PM Changeset in webkit [271015] by Fujii Hironori
  • 5 edits
    1 add in trunk

[WinCairo][WebGL] webgl/1.0.3/conformance/misc/uninitialized-test.html is failing only for Debug builds
https://bugs.webkit.org/show_bug.cgi?id=220000

Reviewed by Kenneth Russell.

Source/WebCore:

Some WebGL tests were failing only in debug builds. Those test
cases expect black transparent for uninitialized buffers. ANGLE
enables debug layers as default only for debug builds. And it
fills uninitialized buffers with kDebugColorInitClearValue instead
of black transparent.

Create a PlatformDisplay with explicitly disabling debug layers by
using EGL_PLATFORM_ANGLE_DEBUG_LAYERS_ENABLED_ANGLE.

  • PlatformWinCairo.cmake:
  • platform/graphics/win/PlatformDisplayWin.cpp: Added.

(WebCore::PlatformDisplayWin::initializeEGLDisplay):

  • platform/graphics/win/PlatformDisplayWin.h:

LayoutTests:

  • platform/wincairo/TestExpectations:
10:56 AM Changeset in webkit [271014] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Let's create the run and update the box geometry in one go for atomic inline level boxes
https://bugs.webkit.org/show_bug.cgi?id=220045

Reviewed by Antti Koivisto.

Let's not run the "same" loop twice on atomic inline level boxes (first when we create the line run and the second time we
we update the associated the box geometry). Unfortunately we still have to run a second pass on the inline boxes (e.g <span>) as
they behave as containers (there's room for improvement here too).

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

  • layout/inlineformatting/InlineLineBox.cpp:

(WebCore::Layout::LineBox::addInlineLevelBox):

  • layout/inlineformatting/InlineLineBox.h:

(WebCore::Layout::LineBox::hasInlineBox const):

8:29 AM Changeset in webkit [271013] by commit-queue@webkit.org
  • 14 edits in trunk/Source

Convert remaining FrameLoaderType enums to enum classes
https://bugs.webkit.org/show_bug.cgi?id=219898

Patch by Rob Buis <rbuis@igalia.com> on 2020-12-20
Reviewed by Sam Weinig.

Source/WebCore:

Convert remaining FrameLoaderType enums to enum classes.
Not converted is ShouldReplaceDocumentIfJavaScriptURL
since it should be removed eventually.

  • dom/Document.cpp:

(WebCore::Document::open):

  • history/BackForwardCache.cpp:

(WebCore::canCacheFrame):
(WebCore::firePageHideEventRecursively):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::isLoadingInAPISense const):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::initForSynthesizedDocument):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::closeURL):
(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::activeDocumentLoader const):
(WebCore::FrameLoader::setState):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::receivedMainResourceError):
(WebCore::FrameLoader::dispatchUnloadEvents):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad):
(WebCore::FrameLoader::shouldSuppressTextInputFromEditing const):

  • loader/FrameLoader.h:
  • loader/FrameLoaderTypes.h:
  • loader/NavigationScheduler.cpp:

(WebCore::NavigationScheduler::schedule):

  • loader/SubframeLoader.cpp:

(WebCore::FrameLoader::SubframeLoader::loadSubframe):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

  • page/FrameView.cpp:

(WebCore::FrameView::shouldSuspendScrollAnimations const):

Source/WebKit:

Adapt to enum class changes.

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameGetFrameLoadState):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):

7:11 AM Changeset in webkit [271012] by Alan Bujtas
  • 13 edits in trunk/Source/WebCore

[LFC] Move content height logic to the formatting contexts.
https://bugs.webkit.org/show_bug.cgi?id=220040

Reviewed by Simon Fraser.

Formatting contexts know about their content height.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::geometryForBox const):

  • layout/FormattingContext.h:
  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::usedContentHeight const):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/flexformatting/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::usedContentHeight const):

  • layout/flexformatting/FlexFormattingContext.h:
  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::usedContentHeight const):

  • layout/inlineformatting/InlineFormattingContext.h:
  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::usedContentHeight const):

  • layout/tableformatting/TableFormattingContext.h:
  • layout/tableformatting/TableFormattingContextGeometry.cpp:

(WebCore::Layout::TableFormattingContext::Geometry::cellHeigh const):

Dec 19, 2020:

11:15 PM Changeset in webkit [271011] by commit-queue@webkit.org
  • 17 edits in trunk/Source

Move FrameLoader::arePluginsEnabled to Frame
https://bugs.webkit.org/show_bug.cgi?id=220022

Patch by Rob Buis <rbuis@igalia.com> on 2020-12-19
Reviewed by Sam Weinig.

Source/WebCore:

The arePluginsEnabled functionality is not tied
to FrameLoader, so move it to Frame to save
some indirections.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::rendererIsEverNeeded):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::arePluginsEnabled): Deleted.

  • loader/FrameLoader.h:
  • loader/SubframeLoader.cpp:

(WebCore::FrameLoader::SubframeLoader::requestPlugin):

  • page/Frame.cpp:

(WebCore::Frame::arePluginsEnabled):

  • page/Frame.h:

Source/WebKit:

Adapt to API change.

  • WebProcess/Plugins/WebPluginInfoProvider.cpp:

(WebKit::WebPluginInfoProvider::pluginInfo):
(WebKit::WebPluginInfoProvider::populatePluginCache):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::objectContentType):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):
(WebKit::WebPage::canPluginHandleResponse):
(WebKit::WebPage::canShowMIMEType const):

Source/WebKitLegacy/mac:

Adapt to API change.

  • WebCoreSupport/WebPluginInfoProvider.mm:

(WebPluginInfoProvider::pluginInfo):

  • WebView/WebFrame.mm:

(-[WebFrame _canProvideDocumentSource]):

Source/WebKitLegacy/win:

Adapt to API change.

  • WebView.cpp:

(WebView::canShowMIMEType):

8:17 PM Changeset in webkit [271010] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][Integration] Remove redundant InlineContent::InlineBox
https://bugs.webkit.org/show_bug.cgi?id=220042
<rdar://problem/72511784>

Reviewed by Simon Fraser.

This is not used anymore since we've decided to turn everything into a run for integration.

  • layout/integration/LayoutIntegrationInlineContent.h:

(WebCore::LayoutIntegration::InlineContent::shrinkToFit):
(WebCore::LayoutIntegration::InlineContent::InlineBox::InlineBox): Deleted.
(WebCore::LayoutIntegration::InlineContent::InlineBox::layoutBox const): Deleted.
(WebCore::LayoutIntegration::InlineContent::InlineBox::lineIndex const): Deleted.
(WebCore::LayoutIntegration::InlineContent::InlineBox::rect const): Deleted.

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::build const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayInlineBoxes const): Deleted.

  • layout/integration/LayoutIntegrationInlineContentBuilder.h:
4:11 PM Changeset in webkit [271009] by bshafiei@apple.com
  • 1 copy in tags/Safari-611.1.9.3

Tag Safari-611.1.9.3.

4:10 PM Changeset in webkit [271008] by bshafiei@apple.com
  • 1 copy in tags/Safari-611.1.9.2

Tag Safari-611.1.9.2.

4:06 PM Changeset in webkit [271007] by bshafiei@apple.com
  • 8 edits in branches/safari-611.1.9-branch/Source

Versioning.

WebKit-7611.1.9.3

4:05 PM Changeset in webkit [271006] by bshafiei@apple.com
  • 8 edits in branches/safari-611.1.9-branch/Source

Versioning.

WebKit-7611.1.9.2

4:03 PM Changeset in webkit [271005] by bshafiei@apple.com
  • 2 edits in branches/safari-611.1.9-branch/Source/WebKit

Cherry-pick r271004. rdar://problem/72508138

REGRESSION(r270575): [iOS] Correct GPU Process sandbox syntax error
https://bugs.webkit.org/show_bug.cgi?id=220041
<rdar://problem/72508138>

Unreviewed build fix after r270575.

A closing parentheses was omitted when the 'play-audio' rule was changed to
remove its last rule.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271004 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3:55 PM Changeset in webkit [271004] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

REGRESSION(r270575): [iOS] Correct GPU Process sandbox syntax error
https://bugs.webkit.org/show_bug.cgi?id=220041
<rdar://problem/72508138>

Unreviewed build fix after r270575.

A closing parentheses was omitted when the 'play-audio' rule was changed to
remove its last rule.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
2:10 PM Changeset in webkit [271003] by Alan Bujtas
  • 21 edits in trunk

width: max-content with box-sizing: border-box should leave space for padding (Twitter date hover overflow)
https://bugs.webkit.org/show_bug.cgi?id=219687
<rdar://problem/72137685>

Reviewed by Antti Koivisto.

Source/WebCore:

Non-quantitative values such as auto and min-content are not influenced by the box-sizing property.
See http::www.w3.org/TR/css-sizing-3/#box-sizing
(adjustContentBoxLogicalWidthFor* now needs the property type too)

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computePreferredLogicalWidths):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths const):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing const):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing const):
(WebCore::RenderBox::computePositionedLogicalWidthUsing const):

  • rendering/RenderBox.h:

(WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing const):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::computePreferredLogicalWidths):

  • rendering/RenderFragmentContainer.cpp:

(WebCore::RenderFragmentContainer::computePreferredLogicalWidths):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeAutoRepeatTracksCount const):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::computePreferredLogicalWidths):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::computePreferredLogicalWidths):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::computePreferredLogicalWidths):

  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::computePreferredLogicalWidths):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::computePreferredLogicalWidths):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::computePreferredLogicalWidths):

LayoutTests:

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
5:16 AM Changeset in webkit [271002] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Add fast path vertical alignment for non-stretchy, baseline aligned atomic inline level boxes
https://bugs.webkit.org/show_bug.cgi?id=219962

Reviewed by Antti Koivisto.

Let's estimate the logical top of simple atomic inline level boxes while they are being constructed. It helps to avoid the rather expensive
three-pass vertical alignment code (see computeLineBoxHeightAndAlignInlineLevelBoxesVertically) when the line has nothing but such simple boxes.

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::LineBoxBuilder):
(WebCore::Layout::LineBoxBuilder::build):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndAlignInlineLevelBoxesVertically):
(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndalignInlineLevelBoxesVertically): Deleted.

Dec 18, 2020:

9:41 PM Changeset in webkit [271001] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GPU process] Adding more tests to TestExpectations for Layout tests crashes
https://bugs.webkit.org/show_bug.cgi?id=220035

Patch by Rini Patel <rini_patel@apple.com> on 2020-12-18
Reviewed by Tim Horton.

  • gpu-process/TestExpectations:
8:30 PM Changeset in webkit [271000] by timothy_horton@apple.com
  • 8 edits in trunk

iOS wheel events don't work on many websites
https://bugs.webkit.org/show_bug.cgi?id=220034

Reviewed by Simon Fraser.

Source/WebKit:

  • Shared/ios/WebIOSEventFactory.h:
  • Shared/ios/WebIOSEventFactory.mm:

(WebIOSEventFactory::createWebWheelEvent):
It turns out that many sites look at the legacy mousewheel event properties,
so compute wheelTicks in the same way that we do on macOS.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _scrollView:asynchronouslyHandleScrollEvent:completion:]):
If the UI process sends a wheel event with delta=0,0 to the Web Content
process, it will not be sent to the page, and thus not handled.
If this is the first event, it will prevent future events from
being cancelable.

Instead, synthetically defer the "Begin" phase to the first event in a
given gesture that has non-zero deltas, and just short-circuit any
zero-delta events entirely.

This way, WebCore can continue with its existing only-the-first-event-is-cancelable
logic, and we are assured that the first event that WebCore sees is also
the first event that the page sees, and is a Begin-phase event.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::dispatchWheelEventWithoutScrolling):
wheelScrollGestureState isn't reset to nullopt until we send the
Begin-phase event to EventHandler, so we must make an exception for
the Begin-phase event, and explicitly make it cancelable. Otherwise,
the state of the previous gesture leaks into the new gesture. Existing
API tests caught this, I just apparently failed to run them after
adopting the shared wheelScrollGestureState().

Tools:

  • TestWebKitAPI/Tests/ios/WKScrollViewTests.mm:

(TEST):
Add a test ensuring that if the UIScrollPhaseBegin scroll event
has zero delta, that we let a subsequent UIScrollPhaseChanged event
with non-zero delta cancel the gesture's default action.

6:01 PM Changeset in webkit [270999] by Said Abou-Hallawa
  • 2 edits in trunk/Tools

Upgrade motionmark1.1.plan to r270959
https://bugs.webkit.org/show_bug.cgi?id=220016

Reviewed by Alexey Proskuryakov.

r270959 increases the warm-up time to 1000ms. This should fix a bi-
modality problem in the score of Images and Multiply sub-tests.

  • Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan:
5:02 PM Changeset in webkit [270998] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit

Fix some issues with PDFs as <object>.
https://bugs.webkit.org/show_bug.cgi?id=220024

Reviewed by Tim Horton.

No new tests (Unable to write automated tests)

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::dataProviderGetBytesAtPositionCallback):
(WebKit::PDFPlugin::getResourceBytesAtPosition): Set the correct URL.
(WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData): Try harder to catch mismatches in delivered bytes vs expected bytes.

4:39 PM Changeset in webkit [270997] by jeffm@apple.com
  • 3 edits in trunk/Source/WebKit

WKProcessPool enhancements for URL schemes
https://bugs.webkit.org/show_bug.cgi?id=220030

Reviewed by Brian Weinstein.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _registerURLSchemeAsSecure:]):
Added, equivalent to WKContextRegisterURLSchemeAsSecure().

(-[WKProcessPool _registerURLSchemeAsBypassingContentSecurityPolicy:]):
Added, equivalent to WKContextRegisterURLSchemeAsBypassingContentSecurityPolicy().

(-[WKProcessPool _setDomainRelaxationForbiddenForURLScheme:]):
Added, equivalent to WKContextSetDomainRelaxationForbiddenForURLScheme().

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
4:16 PM Changeset in webkit [270996] by BJ Burg
  • 4 edits in trunk/Source/WebKit

[Cocoa] Web Inspector: clean up _WKRemoteWebInspectorViewController
https://bugs.webkit.org/show_bug.cgi?id=219963

Reviewed by Devin Rousso.

Remove deprecated and unused debuggableType-based SPI to load the frontend.

  • UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h:
  • UIProcess/API/Cocoa/_WKRemoteWebInspectorViewControllerPrivate.h:

Promote the _WKInspectorDebuggableInfo-based SPI to the main header.
Fix availability annotations. This class has never worked on iOS.
Add TBA annotations for things added since the Big Sur SDK was finalized.

  • UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:

(legacyDebuggableTypeToModernDebuggableType): Deleted.
(-[_WKRemoteWebInspectorViewController loadForDebuggableType:backendCommandsURL:]): Deleted.

4:11 PM Changeset in webkit [270995] by Kate Cheney
  • 2 edits in trunk/Source/WebCore

Login flows on sites with ITP quirks no longer work with ITP disabled
https://bugs.webkit.org/show_bug.cgi?id=220019
<rdar://problem/72472858>

Reviewed by Darin Adler.

We should add a check for ITP enabled before attempting to apply quirks,
otherwise the quirks will commandeer the login process, fail (because
no ITP), and thus result in an inability to login when ITP is disabled.

No new tests, this will fix login flows on sites with ITP quirks when
ITP is turned off. I confirmed these cases manually.

  • page/Quirks.cpp:

(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):

4:10 PM Changeset in webkit [270994] by Alan Coon
  • 2 edits in branches/safari-610-branch/Source/WebCore

Cherry-pick r270983. rdar://problem/72484021

Crash in DOMSelection::getRangeAt()
https://bugs.webkit.org/show_bug.cgi?id=219804

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2020-12-18
Reviewed by Darin Adler.

Add a check in HTMLTextFormControlElement::setSelectionRange()
that ensures we do not try to move the frame's selection
if the HTMLTextFormControlElement is no longer connected.

  • html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::setSelectionRange):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270983 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3:59 PM Changeset in webkit [270993] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Build fix after r270988.
https://bugs.webkit.org/show_bug.cgi?id=220021
<rdar://problem/72474809>

Not reviewed.

3:45 PM Changeset in webkit [270992] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

REGRESSION(iOS 14): http/tests/cache-storage/page-cache-domcache-pending-promise.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217408

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations: Add DumpJSConsoleLogInStdErr since it was errantly removed in r268078.
3:14 PM Changeset in webkit [270991] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CachedRefPtr should adoptRef before calling ref to appease RefCounted's debug assertions
https://bugs.webkit.org/show_bug.cgi?id=219953
<rdar://problem/72391255>

Reviewed by Tadeu Zagallo.

  • runtime/CachedTypes.cpp:

(JSC::CachedRefPtr::decode const):

2:27 PM Changeset in webkit [270990] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Line snapping fails when the content is taller than the page.
https://bugs.webkit.org/show_bug.cgi?id=220020
<rdar://problem/68761119>

Reviewed by Antti Koivisto.

When the snapped position of the current line falls off of the page, we call lineSnapAdjustment() recursively to figure out the snapped position on the next page.
We usually find the final position on the next page mostly slightly below the logical top.
However when the line is taller than the page itself, it does not fit the next page or any of the following pages (assuming uniform page height).

Let the line overflow when the pages can't accommodate it.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::lineSnapAdjustment const):

2:17 PM Changeset in webkit [270989] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Use EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE now it is in the build
https://bugs.webkit.org/show_bug.cgi?id=219968
<rdar://problem/72405724>

Reviewed by Darin Adler.

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::InitializeEGLDisplay): Use the named value.

1:42 PM Changeset in webkit [270988] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Fix MacroAssemblerARM64E::validateUntaggedPtr() to account for TBI.
https://bugs.webkit.org/show_bug.cgi?id=220021
<rdar://problem/72474809>

Reviewed by Saam Barati.

  • assembler/AbstractMacroAssembler.h:
  • assembler/DisallowMacroScratchRegisterUsage.h:
  • templatized the DisallowMacroScratchRegisterUsage class so that we can #include it in MacroAssembler implementations.
  • assembler/MacroAssemblerARM64E.h:

(JSC::MacroAssemblerARM64E::validateUntaggedPtr):

1:10 PM Changeset in webkit [270987] by Peng Liu
  • 11 edits in trunk

[Media in GPU Process][MSE] SourceBufferPrivateRemote needs to override some track buffer related functions of SourceBufferPrivate
https://bugs.webkit.org/show_bug.cgi?id=219998

Reviewed by Jer Noble.

Source/WebCore:

No new tests, fix layout test failures.

  • platform/graphics/SourceBufferPrivate.h:

(WebCore::SourceBufferPrivate::setTimestampOffset):
(WebCore::SourceBufferPrivate::setAppendWindowStart):
(WebCore::SourceBufferPrivate::setAppendWindowEnd):
(WebCore::SourceBufferPrivate::hasVideo const):
(WebCore::SourceBufferPrivate::timestampOffset const):
Change these functions to virtual because SourceBufferPrivateRemote needs to override them.

Source/WebKit:

Implement some track buffer related functions of SourceBufferPrivateRemote with new IPC messages.

  • GPUProcess/media/RemoteSourceBufferProxy.cpp:

(WebKit::RemoteSourceBufferProxy::resetTrackBuffers):
(WebKit::RemoteSourceBufferProxy::clearTrackBuffers):
(WebKit::RemoteSourceBufferProxy::resetTimestampOffsetInTrackBuffers):
(WebKit::RemoteSourceBufferProxy::setTimestampOffset):
(WebKit::RemoteSourceBufferProxy::setAppendWindowStart):
(WebKit::RemoteSourceBufferProxy::setAppendWindowEnd):
(WebKit::RemoteSourceBufferProxy::updateTrackIds):

  • GPUProcess/media/RemoteSourceBufferProxy.h:
  • GPUProcess/media/RemoteSourceBufferProxy.messages.in:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::addRemoteAudioTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteTextTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteVideoTrack):
MediaSource manages the track information for the MSE media player, so we should not call
MediaPlayer::addAudioTrack(), MediaPlayer::addTextTrack() and MediaPlayer::addVideoTrack().

  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:

(WebKit::SourceBufferPrivateRemote::resetTrackBuffers):
(WebKit::SourceBufferPrivateRemote::clearTrackBuffers):
(WebKit::SourceBufferPrivateRemote::resetTimestampOffsetInTrackBuffers):
(WebKit::SourceBufferPrivateRemote::setTimestampOffset):
(WebKit::SourceBufferPrivateRemote::setAppendWindowStart):
(WebKit::SourceBufferPrivateRemote::setAppendWindowEnd):
(WebKit::SourceBufferPrivateRemote::updateTrackIds):

  • WebProcess/GPU/media/SourceBufferPrivateRemote.h:

LayoutTests:

  • gpu-process/TestExpectations:
12:32 PM Changeset in webkit [270986] by sihui_liu@apple.com
  • 9 edits in trunk/Source

SpeechRecognitionRemoteRealtimeMediaSourceManager should not issue sandbox extension for mocked devices
https://bugs.webkit.org/show_bug.cgi?id=219972

Reviewed by Eric Carlson.

Source/WebCore:

  • platform/mediastream/CaptureDevice.h:

(WebCore::CaptureDevice::isMockDevice const): Add a member in CaptureDevice to indicate if it's mocked device.
(WebCore::CaptureDevice::setIsMockDevice):
(WebCore::CaptureDevice::encode const):
(WebCore::CaptureDevice::decode):

  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::toCaptureDevice):

Source/WebKit:

  • UIProcess/SpeechRecognitionPermissionManager.cpp:

(WebKit::SpeechRecognitionPermissionManager::startProcessingRequest): We need to sync the preference not only
on when mockCaptureDevicesEnabled is set, but also when it is unset.

  • UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.cpp:

(WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::addSource): Grant sandbox extensions to web process
when the first source that uses a real device is created.
(WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::removeSource): Revoke sandbox extensions from web
process when the last source that uses a real device is delete.

  • UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.h:
  • UIProcess/SpeechRecognitionServer.cpp: Correct a typo.

(WebKit::SpeechRecognitionServer::SpeechRecognitionServer):

  • UIProcess/SpeechRecognitionServer.h: Correct a typo
11:43 AM Changeset in webkit [270985] by Alan Coon
  • 2 edits in branches/safari-610-branch/Source/ThirdParty/libwebrtc

Cherry-pick r270895. rdar://problem/72474836

Cherry-pick usrsctp 355fb576b1a9dfef70fc0e158d66692662baaddc
https://bugs.webkit.org/show_bug.cgi?id=219937

Reviewed by Alex Christensen.

  • Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c: (sctp_process_cookie_existing):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270895 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:42 AM Changeset in webkit [270984] by Alan Coon
  • 2 edits in branches/safari-610-branch/Source/ThirdParty/libwebrtc

Cherry-pick r270894. rdar://problem/72474831

Cherry-pick usrsctp 7dab23aa0d8db86fedd222a308067439b03fad0f
https://bugs.webkit.org/show_bug.cgi?id=219936
<rdar://problem/72304588>

Reviewed by Alex Christensen.

  • Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c: (sctp_process_cookie_existing):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270894 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:34 AM Changeset in webkit [270983] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Crash in DOMSelection::getRangeAt()
https://bugs.webkit.org/show_bug.cgi?id=219804

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2020-12-18
Reviewed by Darin Adler.

Add a check in HTMLTextFormControlElement::setSelectionRange()
that ensures we do not try to move the frame's selection
if the HTMLTextFormControlElement is no longer connected.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange):

11:32 AM Changeset in webkit [270982] by Russell Epstein
  • 1 copy in tags/Safari-611.1.9.1.1

Tag Safari-611.1.9.1.1.

11:25 AM Changeset in webkit [270981] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Add tagging to JIT probe's return address.
https://bugs.webkit.org/show_bug.cgi?id=220008
rdar://71279530

Reviewed by Keith Miller and Robin Morisset.

  • assembler/MacroAssemblerARM64.cpp:
  • assembler/testmasm.cpp:

(JSC::testProbeModifiesProgramCounter):

  • runtime/JSCPtrTag.h:
11:16 AM Changeset in webkit [270980] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

REGRESSION (r270938): ASSERTION FAILED: !m_renderThread in WebKit::RemoteAudioDestinationProxy::startRenderingThread
https://bugs.webkit.org/show_bug.cgi?id=220017
<rdar://problem/72470176>

Reviewed by Darin Adler.

In case of a GPU process crash, we call stopRenderingThread() and then connectToGPUProcess() which
calls startRenderingThread(). We were hitting an assertion in startRenderingThread() making sure
that m_renderThread is null because stopRenderingThread() was failing to set it to null after
stopping the thread.

No new tests, covered by existing failing API test.

  • WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:

(WebKit::RemoteAudioDestinationProxy::stopRenderingThread):

11:11 AM Changeset in webkit [270979] by Russell Epstein
  • 8 edits in branches/safari-611.1.9-branch/Source

Versioning.

WebKit-7611.1.9.1.1

11:05 AM Changeset in webkit [270978] by Russell Epstein
  • 1 copy in tags/Safari-611.1.9.1

Tag Safari-611.1.9.1.

11:02 AM Changeset in webkit [270977] by Russell Epstein
  • 4 edits in branches/safari-611.1.9-branch

Cherry-pick r270962. rdar://problem/72472070

REGRESSION(r270638) decidePolicyForNewWindowAction should have non-null request
https://bugs.webkit.org/show_bug.cgi?id=220001
Source/WebKit:

<rdar://72436824>

Reviewed by Tim Horton.

A ResourceRequest was used after being moved in the super old C SPI that we need to remove,
but to keep our client functioning correctly until they do we copy the ResourceRequest instead of moving it.
Covered by an API test.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForNewWindowAction):

Tools:

Reviewed by Tim Horton.

  • TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm: (TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270962 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:30 AM Changeset in webkit [270976] by Russell Epstein
  • 1 copy in tags/Safari-611.1.9.0.1

Tag Safari-611.1.9.0.1.

10:27 AM Changeset in webkit [270975] by Russell Epstein
  • 1 delete in tags/Safari-611.1.9.0.1

Delete tag.

10:25 AM Changeset in webkit [270974] by Megan Gardner
  • 24 edits in trunk/Source

Gate all of the code associated with app highlights
https://bugs.webkit.org/show_bug.cgi?id=220003
Source/WebCore:

<rdar://problem/72451893>

Reviewed by Tim Horton.

Only gating code, no new tests needed.

  • Modules/highlight/AppHighlightListData.cpp:
  • Modules/highlight/AppHighlightListData.h:
  • Modules/highlight/AppHighlightStorage.cpp:
  • Modules/highlight/AppHighlightStorage.h:
  • Modules/highlight/HighlightRegister.cpp:
  • Modules/highlight/HighlightRegister.h:
  • dom/Document.cpp:

(WebCore::Document::commonTeardown):
(WebCore::Document::updateHighlightPositions):

  • dom/Document.h:
  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):

  • platform/ContextMenuItem.cpp:

(WebCore::isValidContextMenuAction):

  • platform/ContextMenuItem.h:
  • platform/LocalizedStrings.h:
  • platform/cocoa/LocalizedStringsCocoa.mm:
  • rendering/RenderTheme.h:

Source/WebKit:

<rdar://problem/72451893>

Reviewed by Tim Horton.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toAPI):
(WebKit::toImpl):

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultAppHighlightsEnabled):

  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::menuItemIdentifier):

Source/WebKitLegacy/mac:

<rdar://problem/72451893>

Reviewed by Tim Horton.

  • WebView/WebHTMLView.mm:

(toTag):

Source/WTF:

Reviewed by Tim Horton.

  • Scripts/Preferences/WebPreferencesInternal.yaml:
10:23 AM Changeset in webkit [270973] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[Mojave] webanimations/accelerated-transform-related-animation-property-order.html is failing
https://bugs.webkit.org/show_bug.cgi?id=220018

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Mark test as failing.
10:23 AM Changeset in webkit [270972] by Russell Epstein
  • 8 edits in branches/safari-611.1.9-branch/Source

Versioning.

WebKit-7611.1.9.1

10:21 AM Changeset in webkit [270971] by Russell Epstein
  • 1 copy in tags/Safari-611.1.9.0.1

Tag Safari-611.1.9.0.1.

10:11 AM Changeset in webkit [270970] by Russell Epstein
  • 8 edits in branches/safari-611.1.9-branch/Source

Versioning.

WebKit-7611.1.9.0.1

9:23 AM Changeset in webkit [270969] by Chris Dumez
  • 9 edits in trunk/Source

[iOS] Stop leaking an XPC boost message to XPC services
https://bugs.webkit.org/show_bug.cgi?id=219453

Reviewed by Geoff Garen.

Source/WebKit:

Stop leaking an XPC boost message to XPC services on builds where RunningBoard is able to give the right
priorities to our XPC services based on the type of RunningBoard assertion is being held. There is no
behavior change for the Network/WebContent processes since those were blocklisted in RunningBoard (Turning
on the RB_full_manage_WK_jetsam feature flag gives us the default RunningBoard behavior without
blocklisting). However, this allows the new GPUProcess to move to IDLE jetsam band when homing out of
MobileSafari, which makes the GPUProcess eligible for the freezer. Previously, the leaked boost message
would keep the GPUProcess in a higher jetsam band.

  • FeatureFlags/WebKit.plist:

Add RB_full_manage_WK_jetsam feature flag and turn it on. On recent enough builds of RunningBoard, this
disables the blocklisting of the WebContent/Network processes in RunningBoard so that RunningBoard can now
set the priority of those processes (instead of us boosting our priority via boost messages).

  • GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-iOS.plist:
  • NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-iOS.plist:
  • WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnService/Info-iOS.plist:
  • WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-iOS.plist:

Set _ProcessType=App so that RunningBoard is able to set the priority of our XPC services on iOS. Without
this change, we get a permission denied when RunningBoard attempts to set the priority of our XPC services.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::shouldLeakBoost):
Stop leaking a boost message on iOS when RUNNINGBOARD_WEBKIT_PRIORITY_SUPPORT compile-time flag is enabled
and when the RB_full_manage_WK_jetsam feature flag is enabled.

Source/WTF:

Add new RUNNINGBOARD_WEBKIT_PRIORITY_SUPPORT build time flag since we need a recent
enough build of RunningBoard to do this.

  • wtf/PlatformHave.h:
5:29 AM Changeset in webkit [270968] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

[WPE] Unreviewed buildfix after r270964

  • platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp:
2:27 AM Changeset in webkit [270967] by ysuzuki@apple.com
  • 6 edits in trunk/Source

[CSSJIT] Do not use trampoline if JITCage is disabled
https://bugs.webkit.org/show_bug.cgi?id=220004

Reviewed by Tadeu Zagallo.

Source/JavaScriptCore:

  • llint/LLIntData.cpp:
  • llint/LowLevelInterpreter.asm:

Source/WebCore:

This trampoline is not necessary if JITCage is not enabled.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateReturn):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):

  • cssjit/SelectorCompiler.h:

(WebCore::SelectorCompiler::ruleCollectorSimpleSelectorChecker):
(WebCore::SelectorCompiler::querySelectorSimpleSelectorChecker):
(WebCore::SelectorCompiler::ruleCollectorSelectorCheckerWithCheckingContext):
(WebCore::SelectorCompiler::querySelectorSelectorCheckerWithCheckingContext):

2:09 AM Changeset in webkit [270966] by commit-queue@webkit.org
  • 2 edits
    4 adds in trunk/JSTests

[WASM-References] Add reference spec tests for table instructions
https://bugs.webkit.org/show_bug.cgi?id=220005

Patch by Dmitry Bezhetskov <dbezhetskov> on 2020-12-18
Reviewed by Yusuke Suzuki.

These are reference types spec tests that we've already supported.
It help us prevent future inconsistencies with the proposal:
https://github.com/WebAssembly/reference-types/tree/master/test/core

  • wasm.yaml:
  • wasm/references-spec-tests/table-sub.wast.js: Added.
  • wasm/references-spec-tests/table_get.wast.js: Added.
  • wasm/references-spec-tests/table_set.wast.js: Added.
  • wasm/references-spec-tests/table_size.wast.js: Added.
1:59 AM Changeset in webkit [270965] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[WASM-References] Reuse instance initElementSegment to reduce duplication
https://bugs.webkit.org/show_bug.cgi?id=220007

Patch by Dmitry Bezhetskov <dbezhetskov> on 2020-12-18
Reviewed by Yusuke Suzuki.

Simple refactroing. We need only one place to initialize elements
segments.

  • wasm/js/WebAssemblyModuleRecord.cpp:

(JSC::WebAssemblyModuleRecord::evaluate):

Note: See TracTimeline for information about the timeline view.