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

Timeline



Nov 19, 2020:

11:33 PM Changeset in webkit [270072] by Wenson Hsieh
  • 4 edits in trunk

REGRESSION (r259151): The "Convert Text to Traditional Chinese" services menu action is broken
https://bugs.webkit.org/show_bug.cgi?id=219190
<rdar://problem/71438389>

Reviewed by Tim Horton.

Source/WebKit:

Some system services, such as "Convert Text to (Traditional|Simplified) Chinese", use `-[NSServicesMenuRequestor
readSelectionFromPasteboard:]` to insert the contents of the given pasteboard into the current selection. After
the changes in r259151, this requires the UI process to explicitly grant access to the contents of the given
pasteboard, on behalf of the web content process.

Fix the bug by adding the missing call to grantAccessToCurrentPasteboardData. This is only called from API in
the UI process, so it cannot be abused by a compromised web content process to grab the contents of
NSPasteboard.

Test: PasteHTML.ReadSelectionFromPasteboard

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::readSelectionFromPasteboard):

Tools:

Add an API test to exercise -readSelectionFromPasteboard:.

  • TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:

(TEST):

11:26 PM Changeset in webkit [270071] by Fujii Hironori
  • 13 edits in trunk/Source

[TextureMapper] Remove m_textureMapper from TextureMapperLayer
https://bugs.webkit.org/show_bug.cgi?id=219191

Reviewed by Carlos Garcia Campos.

Source/WebCore:

TextureMapperLayer had m_textureMapper to get the TextureMapper
pointer. However, it was used only by the root layer. The child
layers needed to traverse up to the root layer to get the
TextureMapper pointer. It's more efficient to pass TextureMapper
reference as an argument.

No behavior changes.

  • platform/graphics/texmap/BitmapTexture.cpp:

(WebCore::BitmapTexture::updateContents):

  • platform/graphics/texmap/BitmapTexture.h:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::flushCompositingState):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paint):

  • platform/graphics/texmap/TextureMapperLayer.h:
  • platform/graphics/texmap/TextureMapperTile.cpp:

(WebCore::TextureMapperTile::updateContents):

Source/WebKit:

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebKit::CoordinatedGraphicsScene::ensureRootLayer):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp:

(WebKit::LayerTreeHost::compositeLayersToContext):
(WebKit::LayerTreeHost::flushPendingLayerChanges):
(WebKit::LayerTreeHost::LayerTreeHost):

Source/WebKitLegacy/win:

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::initialize):
(AcceleratedCompositingContext::compositeLayersToContext):
(AcceleratedCompositingContext::flushPendingLayerChanges):

9:59 PM Changeset in webkit [270070] by Alan Bujtas
  • 34 edits in trunk

[LFC][Integration] Enable inline-block
https://bugs.webkit.org/show_bug.cgi?id=218889

Reviewed by Antti Koivisto.

Source/WebCore:

  • layout/integration/LayoutIntegrationCoverage.cpp:

LayoutTests:

  • platform/ios/fast/block/float/overhanging-tall-block-expected.txt:
  • platform/ios/fast/css/named-images-expected.txt:
  • platform/ios/fast/css/text-overflow-input-expected.txt:
  • platform/ios/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt:
  • platform/ios/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
  • platform/ios/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
  • platform/ios/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/ios/fast/text/international/bidi-LDB-2-CSS-expected.txt:
  • platform/ios/svg/transforms/svg-css-transforms-clip-path-expected.txt:
  • platform/ios/svg/transforms/svg-css-transforms-expected.txt:
  • platform/ios/transforms/3d/general/perspective-units-expected.txt:
  • platform/ios/transforms/svg-vs-css-expected.txt:
  • platform/mac-catalina/fast/css/text-overflow-input-expected.txt:
  • platform/mac-mojave/fast/css/text-overflow-input-expected.txt:
  • platform/mac/fast/block/float/overhanging-tall-block-expected.txt:
  • platform/mac/fast/css/named-images-expected.txt:
  • platform/mac/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/mac/fast/text/hyphenate-limit-before-after-expected.txt:
  • platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.txt:

These are progressions where the content is subpixel taller than the computed height for the containing block:

  • platform/mac/svg/transforms/svg-css-transforms-clip-path-expected.txt:
  • platform/mac/svg/transforms/svg-css-transforms-expected.txt:
  • platform/mac/transforms/3d/general/perspective-units-expected.txt:
  • platform/mac/transforms/svg-vs-css-expected.txt:
9:56 PM Changeset in webkit [270069] by commit-queue@webkit.org
  • 32 edits in trunk

Code formatting: change instances of "@synthesize a=b" to "@synthesize a = b".
https://bugs.webkit.org/show_bug.cgi?id=219094

Patch by Hoa Dinh <dvh@apple.com> on 2020-11-19
Reviewed by Wenson Hsieh.

There was a mix of "@synthesize a=b" and "@synthesize a = b" in the codebase.
Most of the instances are "@synthesize a = b", with spaces around the equal sign.
With https://bugs.webkit.org/show_bug.cgi?id=219092, we're changing the behavior of
the code style checker to require spaces around the equal sign.
The change replace all the instances of "@synthesize a=b" with "@synthesize a = b".

Source/WebCore:

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:
  • platform/graphics/cocoa/WebGPULayer.mm:
  • platform/mac/VideoFullscreenInterfaceMac.mm:
  • platform/mac/WebPlaybackControlsManager.mm:
  • platform/network/cocoa/WebCoreNSURLSession.mm:

Source/WebKit:

  • NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm:
  • UIProcess/API/Cocoa/WKPreviewActionItem.mm:
  • UIProcess/API/Cocoa/_WKThumbnailView.mm:
  • UIProcess/Cocoa/WebViewImpl.mm:
  • UIProcess/QuickLookThumbnailLoader.mm:
  • UIProcess/WebAuthentication/Mock/MockNfcService.mm:
  • UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
  • UIProcess/mac/ViewGestureControllerMac.mm:
  • UIProcess/mac/WKFullScreenWindowController.mm:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

Source/WebKitLegacy/mac:

  • WebView/WebFullScreenController.mm:
  • WebView/WebView.mm:

Tools:

  • DumpRenderTree/DumpRenderTreeFileDraggingSource.m:
  • DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
  • MiniBrowser/mac/BrowserWindowController.m:
  • TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
  • TestWebKitAPI/Tests/WebKit/mac/CustomBundleObject.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm:
  • TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
  • TestWebKitAPI/mac/TestDraggingInfo.mm:
  • TestWebKitAPI/mac/TestFontOptions.mm:
9:48 PM Changeset in webkit [270068] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style: requires spaces around the equal sign for Objective-C @synthesize.
https://bugs.webkit.org/show_bug.cgi?id=219092

Patch by Hoa Dinh <dvh@apple.com> on 2020-11-19
Reviewed by Wenson Hsieh.

Teach the Objective-C style checker to prefer @synthesize a = b over @synthesize a=b. As a followup,
<webkit.org/b/219094> will apply this style rule in existing @synthesize statements in WebKit.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_spacing):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest):

8:32 PM Changeset in webkit [270067] by commit-queue@webkit.org
  • 19 edits
    2 copies
    1 add in trunk/Source

Turn on ENABLE_WEBXR for Cocoa
https://bugs.webkit.org/show_bug.cgi?id=219171

Patch by Ada Chan <adachan@apple.com> on 2020-11-19
Reviewed by Tim Horton.

Source/WebCore:

  • Modules/webxr/WebXRRigidTransform.h:
  • Modules/webxr/WebXRSystem.h:
  • Modules/webxr/WebXRView.h:
  • Modules/webxr/XREye.idl:
  • Modules/webxr/XRHandedness.idl:
  • Modules/webxr/XRReferenceSpaceType.idl:
  • Modules/webxr/XRSessionMode.idl:
  • Modules/webxr/XRTargetRayMode.idl:
  • Modules/webxr/XRVisibilityState.idl:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCallbackData.h:
  • dom/ActiveDOMCallback.h:
  • platform/xr/cocoa/PlatformXRCocoa.cpp: Copied from Source/WebCore/Modules/webxr/XRTargetRayMode.idl.
  • platform/xr/cocoa/PlatformXRCocoa.h: Copied from Source/WebCore/Modules/webxr/XREye.idl.
  • platform/xr/openxr/PlatformXROpenXR.cpp:

(PlatformXR::Instance::Impl::queue const):
(PlatformXR::Instance::Impl::checkInstanceExtensionProperties const):
(PlatformXR::Instance::Impl::Impl):
(PlatformXR::Instance::Impl::~Impl):
(PlatformXR::Instance::enumerateImmersiveXRDevices):

  • platform/xr/openxr/PlatformXROpenXR.h:

Source/WTF:

  • wtf/PlatformEnableCocoa.h:
  • wtf/PlatformUse.h:
6:48 PM Changeset in webkit [270066] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Enable private instance and static fields
https://bugs.webkit.org/show_bug.cgi?id=219179

Reviewed by Mark Lam.

Enable private instance and static fields. We are not supporting private methods and static private methods yet.

  • runtime/OptionsList.h:
5:41 PM Changeset in webkit [270065] by Aditya Keerthi
  • 11 edits
    11 adds in trunk

[iOS][FCR] Add new look for progress bars
https://bugs.webkit.org/show_bug.cgi?id=218864
<rdar://problem/71334958>

Reviewed by Darin Adler and Wenson Hsieh.

Source/WebCore:

Tests: fast/forms/ios/form-control-refresh/progress/filled-appearance.html

fast/forms/ios/form-control-refresh/progress/indeterminate-appearance.html
fast/forms/ios/form-control-refresh/progress/rtl-appearance.html
fast/forms/ios/form-control-refresh/progress/style-height.html
fast/forms/ios/form-control-refresh/progress/style-width.html

  • platform/graphics/FloatRoundedRect.h:

(WebCore::FloatRoundedRect::Radii::Radii):

Added a new initializer to be used when all radii have the same value
but the horizontal and vertical components of an individual radius are
not equal.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::animationRepeatIntervalForProgressBar const):
(WebCore::RenderTheme::animationDurationForProgressBar const):

  • rendering/RenderTheme.h: Updated methods to take const parameter.
  • rendering/RenderThemeAdwaita.cpp:

(WebCore::RenderThemeAdwaita::animationRepeatIntervalForProgressBar const):
(WebCore::RenderThemeAdwaita::animationDurationForProgressBar const):

  • rendering/RenderThemeAdwaita.h:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintProgressBar):
(WebCore::RenderThemeIOS::animationRepeatIntervalForProgressBar const):
(WebCore::RenderThemeIOS::paintProgressBarFCR):

Updated appearance of determinate progress bars to match UIKit.

Added an animated indeterminate progress bar, by implementing the
animationRepeatIntervalForProgressBar method in RenderThemeIOS. This
matches RenderThemeMac. On macOS, the animation start time and the
current time are forwarded to CoreUI for drawing. However, on iOS, we
use this information to paint the animated progress bar ourselves.

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm: Renamed constant for accuracy.

(WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar const):

LayoutTests:

Added tests to verify different states and appearances of native progress bars.

  • fast/forms/ios/form-control-refresh/progress/filled-appearance-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/progress/filled-appearance.html: Added.
  • fast/forms/ios/form-control-refresh/progress/indeterminate-appearance-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/progress/indeterminate-appearance.html: Added.
  • fast/forms/ios/form-control-refresh/progress/rtl-appearance-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/progress/rtl-appearance.html: Added.
  • fast/forms/ios/form-control-refresh/progress/style-height-expected.html: Added.
  • fast/forms/ios/form-control-refresh/progress/style-height.html: Added.
  • fast/forms/ios/form-control-refresh/progress/style-width-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/progress/style-width.html: Added.
5:40 PM Changeset in webkit [270064] by dino@apple.com
  • 7 edits in trunk/Source/WebCore

Link against the ANGLE Shared Library
https://bugs.webkit.org/show_bug.cgi?id=218539
<rdar://problem/69062211>

Reviewed by Tim Horton.

Weak link against libANGLE-shared.dylib.

  • Configurations/WebCore.xcconfig:
  • Configurations/WebCoreTestSupport.xcconfig:
  • Sources.txt: Stop compiling ANGLEWebKitBridge.
  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::isANGLEAvailable): Add a helper to check if ANGLE loaded properly.
(WebCore::GraphicsContextGLOpenGL::create):

5:23 PM Changeset in webkit [270063] by James Darpinian
  • 2 edits
    1 add
    1 delete in trunk

Improve update-angle script and move to Tools/Scripts
https://bugs.webkit.org/show_bug.cgi?id=218831

Reviewed by Kenneth Russell.

update-angle fetches changes from upstream ANGLE into Source/ThirdParty/ANGLE,
updates WebKit's build files and helps merge WebKit's local changes.

Source/ThirdParty/ANGLE:

  • Moved to Tools/Scripts so that it doesn't overwrite itself during the update process.
  • Reversed direction of rebase. Before the script rebased ANGLE on WebKit; now it rebases WebKit's ANGLE changes on upstream ANGLE master. This makes a lot more sense and results in fewer changes to rebase. This requires the use of git-filter-repo to make the rebase not prohibitively slow.
  • Removed bash dependency.
  • Fixed all issues identified by shellcheck.
  • Fixed changes.diff to show added files, while filtering files added by WebKit's build process.
  • Fixed changes.diff to ignore whitespace changes.
  • Added --regenerate-changes-diff option to update changes.diff in between ANGLE updates.
  • Updated [angle_]commit.h generation for upstream changes.
  • Removed need to run the script multiple times during the rebase process.
  • update-angle.sh: Removed.

Tools:

  • Moved to Tools/Scripts so that it doesn't overwrite itself during the update process.
  • Reversed direction of rebase. Before the script rebased ANGLE on WebKit; now it rebases WebKit's ANGLE changes on upstream ANGLE master. This makes a lot more sense and results in fewer changes to rebase. This requires the use of git-filter-repo to make the rebase not prohibitively slow.
  • Removed bash dependency.
  • Fixed all issues identified by shellcheck.
  • Fixed changes.diff to show added files, while filtering files added by WebKit's build process.
  • Fixed changes.diff to ignore whitespace changes.
  • Added --regenerate-changes-diff option to update changes.diff in between ANGLE updates.
  • Updated [angle_]commit.h generation for upstream changes.
  • Removed need to run the script multiple times during the rebase process.
  • Scripts/update-angle: Added.
5:16 PM Changeset in webkit [270062] by dino@apple.com
  • 3 edits
    3 adds in trunk/Source/ThirdParty/ANGLE

Add schemes for ANGLE to Xcode project
https://bugs.webkit.org/show_bug.cgi?id=217546
rdar://69062082

Reviewed by Alex Christensen.

  • Configurations/Base.xcconfig: Update paths for built frameworks.
  • ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE (dynamic).xcscheme: Added.
  • ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE (static).xcscheme: Added.
  • ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE.xcscheme: Added.
5:11 PM Changeset in webkit [270061] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

Unreviewed rollout of r269890 and r269911 due to EME issues on Mac Mini.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
5:05 PM Changeset in webkit [270060] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Web Inspector: Unable to Show JavaScript Console in empty tab in Safari Technology Preview
https://bugs.webkit.org/show_bug.cgi?id=211590
<rdar://problem/63000159>

Reviewed by Simon Fraser.

We used to launch the initial process for the inspected page from inside
WebInspectorProxy::connect(). I thought this was a good bottleneck to
make sure the inspected page has a process to inspect.

However, while WebInspectorProxy::connect() gets called by functions by
WebInspectorProxy::show(), it does not get called by
WebInspectorProxy::showConsole() for example.

To address this, I have moved the code that launches the inspected page's
initial process from WebInspectorProxy::connect() to
WebInspectorProxy::createFrontendPage(). This seems like a much better
bottleneck.

  • UIProcess/Inspector/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::connect):
(WebKit::WebInspectorProxy::createFrontendPage):

5:03 PM Changeset in webkit [270059] by ggaren@apple.com
  • 9 edits in trunk

[Mac] LayoutTest fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=175592

Reviewed by Eric Carlson.

Source/WebCore:

  • Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:

(WebCore::CanvasCaptureMediaStreamTrack::Source::Source):
(WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged):

  • Modules/mediastream/CanvasCaptureMediaStreamTrack.h: Renamed

m_canvasChangedTimer to m_captureCanvasTimer because the timer invokes
captureCanvas() when it fires.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:

Removed m_pendingSelectedTrackCheck because track update is sync now.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::checkSelectedVideoTrack):
Invoke checkSelectedVideoTrack() and updateTracks() synchronously.
Otherwise, we can miss the first frame rendered to our track.
(Technically, there was no upper bound on the number of frames we might
miss; but in practice, we tended to miss just the first one.)

LayoutTests:

There were two bugs here: (1) This test was flaky; (2) WebKit's canvas
capture implementation was flaky. Debugging them together was a lot of
fun!

  • fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events-expected.txt:

Reflect the fact that the test draws earlier now.

  • fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events.html:

Fixed (1): Define our WebGL shader before running the script that
references it. Otherwise, we might try to run the shader before the
HTML parser has parsed it.

Improved detection of (2): Draw to the canvas immediately instead of
waiting for an async event. This should more precisely test whether
the very first canvas frame gets captured or not.

  • platform/mac/TestExpectations: Unmark test as flaky.
5:00 PM Changeset in webkit [270058] by Chris Dumez
  • 3 edits
    1 delete in trunk/LayoutTests

Unreviewed, some more iOS gardening after r270037.

  • platform/ios-wk2/TestExpectations:
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/click/click_events_on_input-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/order-of-events/mouse-events/mouseover-out-expected.txt: Removed.
4:57 PM UpdatingANGLE edited by James Darpinian
(diff)
4:46 PM Changeset in webkit [270057] by yoshiaki.jitsukawa@sony.com
  • 2 edits in trunk/Source

Unreviewed build fix.

4:46 PM Changeset in webkit [270056] by Chris Dumez
  • 3 edits
    2 adds in trunk

Crash under JSC::Heap::acquireAccessSlow() / JSC::Heap::releaseAccess() when starting an AudioWorklet
https://bugs.webkit.org/show_bug.cgi?id=219183
<rdar://problem/71188544>

Reviewed by Mark Lam.

Source/WebCore:

When audio rendering has already started when the AudioWorklet is constructed, it is possible for
AudioWorkletGlobalScope::handlePreRenderTasks() to get called initially on the initial audio
rendering thread instead of the audio worklet thread. Once the AudioWorklet is ready, the next
rendering quantums will actually get processed on the audio worklet thread. However, there is a
race when audio rendering has already started when the AudioWorklet gets created. This is not
normally an issue. However, AudioWorkletGlobalScope::handlePreRenderTasks() grabs a JavaScript
Lock and it is only safe to do so on the thread where we constructed the VM (i.e. the Audio
Worklet thread). To address the issue, we now only grab the lock if we are on the audio worklet
thread. Note that this lock is only used to delay the draining of the microtask queue until the
end of the rendering quantum.

Test: webaudio/worklet-crash.html

  • Modules/webaudio/AudioWorkletGlobalScope.cpp:

(WebCore::AudioWorkletGlobalScope::handlePreRenderTasks):

LayoutTests:

Add layout test coverage.

  • webaudio/worklet-crash-expected.txt: Added.
  • webaudio/worklet-crash.html: Added.
4:43 PM Changeset in webkit [270055] by Chris Dumez
  • 2 edits
    5 deletes in trunk/LayoutTests

Unreviewed, skip some of the tests imported in r270037 on iOS because they are timing out.

  • platform/ios-wk2/TestExpectations:
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/click/auxclick_event-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/click/click_event_target_child_parent-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/click/click_event_target_siblings-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/mouse/layout_change_should_fire_mouseover-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/order-of-events/focus-events/focus-expected.txt: Removed.
4:23 PM Changeset in webkit [270054] by Jonathan Bedard
  • 2 edits in trunk/Tools

[webkitpy] Resolve baseline search path for Big Sur as default version
https://bugs.webkit.org/show_bug.cgi?id=219176
<rdar://problem/71597951>

Reviewed by Dewei Zhu.

  • Scripts/webkitpy/port/mac.py:

(MacPort.default_baseline_search_path):

3:16 PM Changeset in webkit [270053] by Alan Coon
  • 1 copy in tags/Safari-611.1.6

Tag Safari-611.1.6.

3:08 PM Changeset in webkit [270052] by sbarati@apple.com
  • 5 edits in trunk/Source

Use os_thread_self_restrict_rwx_is_supported instead of pthread_jit_write_protect_supported_np on Apple Internal SDK builds
https://bugs.webkit.org/show_bug.cgi?id=219099
<rdar://problem/71547048>

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • assembler/FastJITPermissions.h:

(useFastJITPermissions):
(threadSelfRestrictRWXToRW):
(threadSelfRestrictRWXToRX):

Source/WTF:

  • wtf/PlatformHave.h:
  • wtf/PlatformUse.h:
2:11 PM Changeset in webkit [270051] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

ASSERT NOT REACHED in WebCore::DisplayList::DrawImageBuffer::apply seen with TestWebKitAPI.DisplayListTests.ReplayWithMissingResource
https://bugs.webkit.org/show_bug.cgi?id=219175

Reviewed by Tim Horton.

We're currently hitting debug assertions when applying native image and image buffer display list items after
r270002, due to the fact that applyImageBufferItem and applyNativeImageItem return WTF::nullopt in the
case where the image resources are present, so we proceed by attempting to apply the item with only the graphics
context.

Fix this by checking the item type and always return early after calling either applyImageBufferItem or
applyNativeImageItem.

  • platform/graphics/displaylists/DisplayListReplayer.cpp:

(WebCore::DisplayList::applyImageBufferItem):
(WebCore::DisplayList::applyNativeImageItem):
(WebCore::DisplayList::Replayer::applyItem):

2:08 PM Changeset in webkit [270050] by Chris Dumez
  • 2 edits
    13 adds in trunk/LayoutTests

Unreviewed, land iOS baselines after r270037.

  • platform/ios-wk2/TestExpectations:
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/click/auxclick_event-expected.txt: Added.
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/click/click_event_target_child_parent-expected.txt: Added.
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/click/click_event_target_siblings-expected.txt: Added.
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/click/click_events_on_input-expected.txt: Added.
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/mouse/layout_change_should_fire_mouseover-expected.txt: Added.
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/order-of-events/focus-events/focus-expected.txt: Added.
  • platform/ios-wk2/imported/w3c/web-platform-tests/uievents/order-of-events/mouse-events/mouseover-out-expected.txt: Added.
1:37 PM Changeset in webkit [270049] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Do not stretch the border box with the scrollbars
https://bugs.webkit.org/show_bug.cgi?id=219174

Reviewed by Antti Koivisto.

Scrollbars are placed "between" the border and the padding box and they never stretch the border box. They may shrink the padding box though.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):

1:06 PM Changeset in webkit [270048] by Chris Dumez
  • 7 edits in trunk

Regression(r267865) Geolocation API's error callback should be nullable
https://bugs.webkit.org/show_bug.cgi?id=219165

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline WPT test now that more checks are passing.

  • web-platform-tests/geolocation-API/PositionOptions.https-expected.txt:

Source/WebCore:

Geolocation API's error callback should be nullable. The callback is nullable in both Firefox
and Chrome and there is at least one WPT test that fails unless the error callback is nullable.

The specification does not have this parameter as nullable. However, it is particularly risky
to be the only engine matching the specification here, especially considering that we used to
match other browser engines.

No new tests, updated / rebaselined existing tests.

  • Modules/geolocation/Geolocation.idl:

LayoutTests:

Update existing test to reflect behavior change.

  • fast/dom/Geolocation/argument-types-expected.txt:
  • fast/dom/Geolocation/argument-types.html:
1:05 PM Changeset in webkit [270047] by Darin Adler
  • 1 edit
    1 delete in trunk/LayoutTests/imported/w3c

Remove extra copy of html5lib left over from an earlier Web Platform Tests import
https://bugs.webkit.org/show_bug.cgi?id=219170

Reviewed by Youenn Fablet.

The new location is imported/w3c/web-platform-tests/tools/third_party/html5lib and
we already have another copy of the library there.

  • web-platform-tests/tools/html5lib: Removed.
12:51 PM Changeset in webkit [270046] by Chris Dumez
  • 4 edits in trunk

Unable to fetch an audio worklet module using a data URL
https://bugs.webkit.org/show_bug.cgi?id=219166

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline WPT test now that one more check is passing.

  • web-platform-tests/worklets/audio-worklet-import.https-expected.txt:

Source/WebCore:

Allow fetching an audio worklet module using a data URL.

No new tests, rebaselined existing test.

  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::loadAsynchronously):

12:50 PM Changeset in webkit [270045] by Chris Dumez
  • 5 edits
    64 adds in trunk/LayoutTests

Import web-platform-tests/compat tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=219126

Reviewed by Sam Weinig.

Import web-platform-tests/compat tests from usptream dd35c2b21b76772123.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/compat/*: Added.
12:48 PM Changeset in webkit [270044] by Alan Bujtas
  • 12 edits in trunk

[Legacy Line Layout] Inline box's subpixel vertical top position should be enclosed
https://bugs.webkit.org/show_bug.cgi?id=219142

Reviewed by Antti Koivisto.

Source/WebCore:

While the "logical top" here has floating point resolution, the "ascent" is integer type.
The implicit integral flooring may produce a short line box and it makes the inline box "sticks out" of the containing block.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeLogicalBoxHeights):

LayoutTests:

  • platform/mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
  • platform/mac/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
  • platform/mac/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
  • platform/mac/fast/dom/HTMLProgressElement/progress-element-expected.txt:
12:45 PM Changeset in webkit [270043] by commit-queue@webkit.org
  • 9 edits
    1 add in trunk

[JSC] Add support for static private class fields
https://bugs.webkit.org/show_bug.cgi?id=214297

Patch by Xan López <Xan Lopez> on 2020-11-19
Reviewed by Yusuke Suzuki.

JSTests:

Copy V8 tests for static private fields and add the test262
flag. Also add a couple more of our own tests for the sake of
completeness.

  • stress/class-fields-static-private-harmony.js: Added, with a couple additional tests.
  • stress/resources/harmony-support.js:

(assertDoesNotThrow): added.

  • test262/config.yaml:

Source/JavaScriptCore:

Static private fields come trivially now that both private and
static (public) fields are implemented.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass): accept static private fields if the runtime option allows it.

  • runtime/Options.cpp:

(JSC::Options::recomputeDependentOptions): usePrivateStaticClassFields depends on usePrivateClassFields.

  • runtime/OptionsList.h: add runtime option to enable static private fields.
  • tools/JSDollarVM.cpp: add a method to check for private symbols in the stress tests.

(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSDollarVM::finishCreation):

12:00 PM Changeset in webkit [270042] by don.olmstead@sony.com
  • 65 edits in trunk/Source/WebCore

Use final in generated wrapper owner code
https://bugs.webkit.org/show_bug.cgi?id=219098

Reviewed by Yusuke Suzuki.

Generated wrapper owner code descends from JSC::WeakHandleOwner which declares two
virtual methods, isReachableFromOpaqueRoots and finalize. The generated code can descend
from JSC::WeakHandleOwner directly or through JSNode. JSNode is generated by the script
so those methods are marked with override. For all other cases a final class can be used
and then those methods are maked accordingly.

Regenerated bindings through run-bindings-tests.

  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/test/JS/JSExposedToWorkerAndWindow.h:
  • bindings/scripts/test/JS/JSTestCEReactions.h:
  • bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
  • bindings/scripts/test/JS/JSTestCallTracer.h:
  • bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
  • bindings/scripts/test/JS/JSTestConditionalIncludes.h:
  • bindings/scripts/test/JS/JSTestConditionallyReadWrite.h:
  • bindings/scripts/test/JS/JSTestDefaultToJSON.h:
  • bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.h:
  • bindings/scripts/test/JS/JSTestDomainSecurity.h:
  • bindings/scripts/test/JS/JSTestEnabledBySetting.h:
  • bindings/scripts/test/JS/JSTestEnabledForContext.h:
  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestGlobalObject.h:
  • bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h:
  • bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h:
  • bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h:
  • bindings/scripts/test/JS/JSTestIterable.h:
  • bindings/scripts/test/JS/JSTestLegacyFactoryFunction.h:
  • bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.h:
  • bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.h:
  • bindings/scripts/test/JS/JSTestMapLike.h:
  • bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.h:
  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h:
  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h:
  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h:
  • bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h:
  • bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h:
  • bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h:
  • bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h:
  • bindings/scripts/test/JS/JSTestNamedGetterCallWith.h:
  • bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h:
  • bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h:
  • bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h:
  • bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h:
  • bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h:
  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h:
  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h:
  • bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.h:
  • bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.h:
  • bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.h:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOperationConditional.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
  • bindings/scripts/test/JS/JSTestPluginInterface.h:
  • bindings/scripts/test/JS/JSTestReadOnlyMapLike.h:
  • bindings/scripts/test/JS/JSTestReadOnlySetLike.h:
  • bindings/scripts/test/JS/JSTestReportExtraMemoryCost.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestSetLike.h:
  • bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.h:
  • bindings/scripts/test/JS/JSTestStringifier.h:
  • bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h:
  • bindings/scripts/test/JS/JSTestStringifierNamedOperation.h:
  • bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h:
  • bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h:
  • bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h:
  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h:
  • bindings/scripts/test/JS/JSTestTypedefs.h:
11:51 AM Changeset in webkit [270041] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

Fix for crash in Accessibility::performFunctionOnMainThread.
https://bugs.webkit.org/show_bug.cgi?id=219168

Reviewed by Chris Fleizach.

AXIsolatedObject::performFunctionOnMainThread captures the this pointer
to be accessed on the main thread. But since the same object can be
accessed concurrently on the AX thread, Accessibility::performFunctionOnMainThread
must be blocking even though the caller doesn't expect a return value.

  • accessibility/AccessibilityObjectInterface.h:

(WebCore::Accessibility::performFunctionOnMainThread):

11:43 AM Changeset in webkit [270040] by Fujii Hironori
  • 3 edits
    2 adds in trunk

[TextureMapperGL] The invert filter wrongly inverts pre-multiplied alpha color
https://bugs.webkit.org/show_bug.cgi?id=219144

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Test: compositing/filters/invert-transparent.html

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp: Take alpha value as an argument.

LayoutTests:

  • compositing/filters/invert-transparent-expected.html: Added.
  • compositing/filters/invert-transparent.html: Added.
11:40 AM Changeset in webkit [270039] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

[GStreamer] Fix OptionSet initialization after r270019

Unreviewed.

The OptionSet constructor was asserting when used directly with
ElementFactories::Type::All.

Based on original patch by Philippe Normand.

  • platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:

(WebCore::GStreamerRegistryScanner::GStreamerRegistryScanner):

10:49 AM Changeset in webkit [270038] by Jonathan Bedard
  • 4 edits
    3 copies
    4 adds in trunk/Tools

[webkitscmpy] Support remote Subversion repository
https://bugs.webkit.org/show_bug.cgi?id=218827
<rdar://problem/71304485>

Rubber-stamped by Aakash Jain.

It is possible to interact with a Subversion repository without the svn command. This is useful
for services hosted in environments where installing binaries is burdensome, or in cases where
tools are running without a checkout.

  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version, add dependencies.
  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/init.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote: Added.
  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/init.py: Added.
  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py: Added.

(Svn): Interact with a remote Subversion repository without using the svn command.
(Svn.is_webserver): Check if the provided url matches the pattern for a Subversion server.
(Svn.init):
(Svn.is_svn):
(Svn._latest): Return the latest revision.
(Svn.info): Return the bits of the svn info command that are used in code.
(Svn.default_branch):
(Svn.list):
(Svn.branches): List all branches.
(Svn.tags): List all tags.
(Svn._cache_path): Return path to json cache.
(Svn._cache_lock): Filesystem lock used to prevent contention over the json cache, this
is particularly important during testing.
(Svn._cache_revisions): Cache the identifier/revision mapping.
(Svn._branch_for): Given a commit, determine which branch that commit is on.
(Svn._commit_count): Determine the amount of commits on a branch since branching.
(Svn.commit): Return a commit object given a revision, branch, identifier or tag.

  • Scripts/libraries/webkitscmpy/webkitscmpy/remote: Added.
  • Scripts/libraries/webkitscmpy/webkitscmpy/remote/init.py: Added.
  • Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py: Added.

(Scm):
(Scm.from_url): Given a URL, attempt to determine what kind of remote API is available.
(Scm.init):

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py: Added.

(Svn): Mock requests needed to interact with a remote Subversion repository.
(Svn.latest): Return the most recent commit on any branch.
(Svn.branches): Return branches at some revision.
(Svn.tags): Return tags at some revision.
(Svn.range): Give a start and end revision, along with a tag or branch,
return all commits in that range.
(Svn.request): Handle a small subset of requests to a Subversion server.

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:

(TestLocalSvn): Moved from TestSvn.
(TestRemoteSvn): Added.
(TestSvn): Moved to TestLocalSvn.

9:37 AM Changeset in webkit [270037] by Chris Dumez
  • 5 edits
    167 adds in trunk/LayoutTests

Import web-platform-tests/uievents tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=219131

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Import web-platform-tests/uievents tests from upstream dd35c2b21b76772123f76a.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/uievents/*: Added.

LayoutTests:

  • tests-options.json:
9:37 AM Changeset in webkit [270036] by Adrian Perez de Castro
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Build failed due to unknown values in LLIntDesiredOffsets.h
https://bugs.webkit.org/show_bug.cgi?id=219158

Reviewed by Don Olmstead.

CMake uses the contents of the variables OFFLINE_ASM and GENERATOR as part of the
dependencies that cause LLIntDesiredOffsets.h to be regenerated, so add to them
those files missing from the lists.

  • CMakeLists.txt: Update OFFLINE_ASM and GENERATOR lists.
9:32 AM Changeset in webkit [270035] by pvollan@apple.com
  • 7 edits
    2 adds in trunk

[macOS] Issue sandbox extension to Web Inspector service
https://bugs.webkit.org/show_bug.cgi?id=219041
<rdar://problem/71495287>

Reviewed by Brent Fulgham.

Source/WebKit:

In preparation of blocking this service in the WebContent process, a sandbox extension should be issued if Safari's Develop menu is enabled.
This extension will also be dynamically issued to all WebContent processes, if the Develop menu preference changes, by observing this
preference.

  • UIProcess/Cocoa/WebInspectorPreferenceObserver.h: Added.
  • UIProcess/Cocoa/WebInspectorPreferenceObserver.mm: Added.

(+[WKWebInspectorPreferenceObserver sharedInstance]):
(-[WKWebInspectorPreferenceObserver init]):
(-[WKWebInspectorPreferenceObserver observeValueForKeyPath:ofObject:change:context:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitialize):

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::enableRemoteInspectorIfNeeded):

  • UIProcess/WebProcessPool.h:
  • WebKit.xcodeproj/project.pbxproj:

Tools:

Allow MiniBrowser to read preferences from the domain com.apple.Safari.SandboxBroker.

  • MiniBrowser/MiniBrowser.entitlements:
9:26 AM Changeset in webkit [270034] by Alan Coon
  • 2 edits in branches/safari-611.1.6-branch/Source/WebCore

Cherry-pick r270000. rdar://problem/71588990

REGRESSION (r269895): Google Maps expanded route options are missing background color
https://bugs.webkit.org/show_bug.cgi?id=219119
<rdar://problem/71510412>

Reviewed by Said Abou-Hallawa.

No new tests, yet. Test is pending.

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawPlatformImage): r199071 removed the state save/restore around the CG implementation of drawNativeImage, explicitly saving and restoring the few things it knew that the implementation would change. However, it failed to save/restore the composite operator.

This was mostly not a problem, because e.g. canvas always hands down the
global op. However, in r269895, I added code that passes in a /different/
compositing operator, and it gets stuck on the context.

Save and restore the composite operator and blend mode like we do for other properties.

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

9:23 AM Changeset in webkit [270033] by Chris Dumez
  • 9 edits in trunk

Worklet.addModule() should reject promise with an AbortError when the network load fails
https://bugs.webkit.org/show_bug.cgi?id=219135

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing (or keep failing with slighly different
output).

  • web-platform-tests/worklets/audio-worklet-credentials.https-expected.txt:
  • web-platform-tests/worklets/audio-worklet-import.https-expected.txt:

Source/WebCore:

Worklet.addModule() should reject promise with an AbortError when the network load fails:

This also aligns our behavior with Blink.

No new tests, rebaselined existing tests.

  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::notifyFinished):

LayoutTests:

Update existing tests to reflect behavior change.

  • http/wpt/webaudio/audioworklet-addModule-cors.sub.https.html:
  • webaudio/audioworklet-addModule-failure-expected.txt:
  • webaudio/audioworklet-addModule-failure.html:
8:34 AM Changeset in webkit [270032] by Chris Dumez
  • 9 edits
    3 moves in trunk/LayoutTests

Resync web-platform-tests/beacon tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=219123

Reviewed by Sam Weinig.

Resync web-platform-tests/beacon tests from upstream dd35c2b21b76772123f7.

  • web-platform-tests/beacon/headers/header-content-type-and-body-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt.
  • web-platform-tests/beacon/headers/header-content-type-and-body.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-content-type.html.
  • web-platform-tests/beacon/headers/w3c-import.log:
  • web-platform-tests/beacon/resources/content-type-and-body.py: Renamed from LayoutTests/imported/w3c/web-platform-tests/beacon/resources/content-type.py.

(main):

  • web-platform-tests/beacon/resources/w3c-import.log:
8:04 AM Changeset in webkit [270031] by commit-queue@webkit.org
  • 5 edits
    62 deletes in trunk/LayoutTests

Unreviewed, reverting r270009.
https://bugs.webkit.org/show_bug.cgi?id=219162

Added two broken tests on ios

Reverted changeset:

"Import web-platform-tests/compat tests from usptream"
https://bugs.webkit.org/show_bug.cgi?id=219126
https://trac.webkit.org/changeset/270009

8:02 AM Changeset in webkit [270030] by ap@apple.com
  • 2 edits in trunk/Tools

Make block-spammers autoinstall requests
https://bugs.webkit.org/show_bug.cgi?id=219137

Reviewed by Jonathan Bedard.

  • Scripts/block-spammers: Move the webkitpy import first, making autoinstaller

is available for subsequent imports.

7:34 AM Changeset in webkit [270029] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Use inline iterator in CompositeEditCommand::deleteInsignificantText
https://bugs.webkit.org/show_bug.cgi?id=219155

Reviewed by Zalan Bujtas.

Reduce direct InlineBox access.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::deleteInsignificantText):

6:36 AM Changeset in webkit [270028] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[macOS] Issue sandbox extension to audio service if Media in the GPU process is not enabled
https://bugs.webkit.org/show_bug.cgi?id=219051
<rdar://problem/71500898>

Reviewed by Youenn Fablet.

Issue sandbox extension to com.apple.audio.audiohald for the WebContent process on macOS if Media in the GPU process is not enabled.

  • UIProcess/WebPageProxy.cpp:

(WebKit::mediaRelatedMachServices):

  • WebProcess/com.apple.WebProcess.sb.in:
6:19 AM Changeset in webkit [270027] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Disable non-text content with floats
https://bugs.webkit.org/show_bug.cgi?id=219122

Reviewed by Antti Koivisto.

Non-text content may stretch the line and we don't yet have support for dynamic float avoiding (as the line grows).

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):

6:18 AM Changeset in webkit [270026] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Allow subpixel difference in the computed containing block height when switching between line layout systems
https://bugs.webkit.org/show_bug.cgi?id=219143

Reviewed by Antti Koivisto.

With all the seemingly random flooring, ceiling and rounding in the legacy line layout codebase,
it's really difficult to subpixel match the end result in a sane way in IFC as we start supporting more complex content.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::ensureLineBoxes):

6:17 AM Changeset in webkit [270025] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

[LFC][Integration] nextLinePosition should use iterator
https://bugs.webkit.org/show_bug.cgi?id=219152

Reviewed by Zalan Bujtas.

The last major piece of direct InlineBox access in editing code.

  • dom/Position.cpp:

(WebCore::InlineBoxAndOffset::InlineBoxAndOffset): Deleted.
(WebCore::Position::inlineBoxAndOffset const): Deleted.

No longer needed.

  • dom/Position.h:
  • editing/VisibleUnits.cpp:

(WebCore::previousLineCandidatePosition):
(WebCore::nextLineCandidatePosition):
(WebCore::isTextOrLineBreakRun):
(WebCore::previousTextOrLineBreakRun):
(WebCore::nextTextOrLineBreakRun):
(WebCore::startTextOrLineBreakRun):
(WebCore::endTextOrLineBreakRun):
(WebCore::logicallyPreviousRun):
(WebCore::logicallyNextRun):
(WebCore::wordBreakIteratorForMinOffsetBoundary):
(WebCore::wordBreakIteratorForMaxOffsetBoundary):
(WebCore::visualWordPosition):
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):
(WebCore::previousRootInlineBoxCandidatePosition): Deleted.
(WebCore::nextRootInlineBoxCandidatePosition): Deleted.
(WebCore::CachedLogicallyOrderedLeafBoxes::size const): Deleted.
(WebCore::CachedLogicallyOrderedLeafBoxes::firstBox const): Deleted.
(WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes): Deleted.
(WebCore::CachedLogicallyOrderedLeafBoxes::previousTextOrLineBreakBox): Deleted.
(WebCore::CachedLogicallyOrderedLeafBoxes::nextTextOrLineBreakBox): Deleted.
(WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves const): Deleted.

The iterarator handles logical order caching for InlineBoxes, no need for a separate cache.

(WebCore::logicallyPreviousBox): Deleted.
(WebCore::logicallyNextBox): Deleted.

6:07 AM Changeset in webkit [270024] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

REGRESSION(r267995): [GTK][WPE] media controls and form fields icons are no longer rendered
https://bugs.webkit.org/show_bug.cgi?id=219156

Reviewed by Adrian Perez de Castro.

Since r267995 we are now handling fragments in data URLs, which means we can't use '#' in the svg contents, we
need to use %23 instead.

  • Modules/mediacontrols/mediaControlsAdwaita.css:

(audio::-webkit-media-controls-mute-button,):
(audio::-webkit-media-controls-mute-button.muted,):
(audio::-webkit-media-controls-play-button,):
(audio::-webkit-media-controls-play-button.paused,):
(audio::-webkit-media-controls-toggle-closed-captions-button,):
(video::-webkit-media-controls-fullscreen-button):
(video::-webkit-media-controls-fullscreen-button.exit):

  • css/themeAdwaita.css:

(input[type="search"]::-webkit-search-results-button,):
(input[type="search"]::-webkit-search-cancel-button):
(body[dir="rtl"] input[type="search"]::-webkit-search-cancel-button):

5:59 AM Changeset in webkit [270023] by Martin Robinson
  • 19 edits
    1 delete in trunk

Make scroll-padding independent of scroll-snap and have it affect scrollIntoView
https://bugs.webkit.org/show_bug.cgi?id=219073

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom-view/scrollIntoView-scrollPadding-expected.txt: Updated to reflect newly passing test.

Source/WebCore:

The scroll-padding CSS property is now available even when scroll-snap is not
enabled at compile-time. Also make scroll-snap affect positioning during
scrollIntoView operations.

  • Sources.txt: Remove ScrollSnapPoints.cpp, because it is no longer necessary.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • css/CSSComputedStyleDeclaration.cpp: Enable scroll-padding and scroll-padding-* unconditionally.

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle): Ditto.

  • css/CSSProperties.json: Ditto.
  • css/StyleProperties.cpp: Ditto.

(WebCore::StyleProperties::getPropertyValue const): Ditto.
(WebCore::StyleProperties::asText const): Ditto.

  • css/parser/CSSPropertyParser.cpp: Ditto.

(WebCore::CSSPropertyParser::parseSingleValue): Ditto.
(WebCore::CSSPropertyParser::parseShorthand): Ditto.

  • rendering/RenderLayer.cpp: Ditto.

(WebCore::expandScrollRectToVisibleTargetRectToIncludeScrollPadding): Added this helper
function which expands the target rectangle to include scroll padding from the container.
This creates the affect that the container has a padding rectangle.
(WebCore::RenderLayer::scrollRectToVisible): Now expand target rectangle to include
scroll container padding. Also put some code into a lambda to simplify things.

  • rendering/RenderLayerModelObject.cpp: Ditto.

(WebCore::scrollSnapContainerRequiresUpdateForStyleUpdate): Ditto.

  • rendering/style/RenderStyle.cpp: Ditto.

(WebCore::RenderStyle::scrollPadding const): Ditto.
(WebCore::RenderStyle::setScrollPaddingTop): Ditto.
(WebCore::RenderStyle::setScrollPaddingBottom): Ditto.
(WebCore::RenderStyle::setScrollPaddingLeft): Ditto.
(WebCore::RenderStyle::setScrollPaddingRight): Ditto.
(WebCore::RenderStyle::initialScrollSnapType): Ditto.
(WebCore::RenderStyle::initialScrollSnapAlign): Ditto.
(WebCore::RenderStyle::scrollSnapType const): Ditto.
(WebCore::RenderStyle::scrollSnapAlign const): Ditto.
(WebCore::RenderStyle::setScrollSnapType): Ditto.

  • rendering/style/RenderStyle.h: Ditto.

(WebCore::RenderStyle::initialScrollPadding): Ditto.

  • rendering/style/StyleRareNonInheritedData.cpp: Have scroll-padding related properties

be stored directly on StyleRareNonInheritedData.
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):

  • rendering/style/StyleRareNonInheritedData.h: Ditto.
  • rendering/style/StyleScrollSnapPoints.cpp: Removed.
  • rendering/style/StyleScrollSnapPoints.h:

LayoutTests:

  • TestExpectations: Mark some tests as passing.
  • platform/mac-wk1/TestExpectations: Mark one test as failing due to WebKit1 scrollbars.
5:55 AM Changeset in webkit [270022] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[WPE] Prevent elements getting stuck in a pressed state when scrolling on a touchscreen
https://bugs.webkit.org/show_bug.cgi?id=218903

Patch by Joshua Watt <JPEW.hacker@gmail.com> on 2020-11-19
Reviewed by Adrian Perez de Castro.

Stops the scroll gesture controller from eating touch up events and
preventing them from propagating to the page when the controller is
handling a scroll event. If the scroll logic prevents the events from
propagating to the page, elements on the page (e.g. buttons) can get
stuck in a pressed state when the user lifts their finger.

  • UIProcess/API/wpe/ScrollGestureController.cpp:

(WebKit::ScrollGestureController::handleEvent):

4:59 AM Changeset in webkit [270021] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Protect WebSocketChannel before calling client methods
https://bugs.webkit.org/show_bug.cgi?id=216791

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-11-19
Reviewed by Youenn Fablet.

Ensure we keep a reference to the WebSocketChannel before calling client methods that might close the channel.

  • WebProcess/Network/WebSocketChannel.cpp:

(WebKit::WebSocketChannel::close):
(WebKit::WebSocketChannel::fail):
(WebKit::WebSocketChannel::didClose):
(WebKit::WebSocketChannel::resume):

4:24 AM Changeset in webkit [270020] by Chris Lord
  • 10 edits
    3 adds in trunk/LayoutTests/imported/w3c

Update WPT OffscreenCanvas text tests
https://bugs.webkit.org/show_bug.cgi?id=219151

Reviewed by Noam Rosenthal.

Sync WPT OffscreenCanvas text tests with c12517985bca8a3fafd1d3f4.

  • web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.ltr.html:
  • web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.ltr.worker.js:

(t.step):

  • web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.rtl.html:
  • web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.rtl.worker.js:

(t.step):

  • web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.ltr.html:
  • web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.ltr.worker.js:

(t.step):

  • web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.rtl.html:
  • web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.rtl.worker.js:

(t.step):

  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.textRendering.settings.html: Added.
  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.textRendering.settings.worker.html: Added.
  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.textRendering.settings.worker.js: Added.

(t_fail.t.step_func):
(t.step):

  • web-platform-tests/html/canvas/offscreen/text/w3c-import.log:
12:54 AM Changeset in webkit [270019] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GStreamer] GStreamerRegistryScanner cleanups and improvements
https://bugs.webkit.org/show_bug.cgi?id=219078

Reviewed by Philippe Normand.

We are creating the factories and keeping them alive forever, because GStreamerRegistryScanner is singleton. We
can just delete them after the initialization and then create the factories we need on demand when checking AV1
codecs. This patch includes some other minor fixes and cleanups (missing const, avoid using blackList, etc.)

  • platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:

(WebCore::GStreamerRegistryScanner::ElementFactories::ElementFactories): Create the factories for the given types.
(WebCore::GStreamerRegistryScanner::ElementFactories::~ElementFactories): Destroy the factories.
(WebCore::GStreamerRegistryScanner::ElementFactories::elementFactoryTypeToString): Return a string for the given
factory type, used for logging.
(WebCore::GStreamerRegistryScanner::ElementFactories::factory const): Return the factory for the given type.
(WebCore::GStreamerRegistryScanner::ElementFactories::hasElementForMediaType const): Moved here now receiving a
factory type instead of the factory itself.
(WebCore::GStreamerRegistryScanner::GStreamerRegistryScanner): Create a ElementFactories for all the types and
pass it to the initializers.
(WebCore::GStreamerRegistryScanner::mimeTypeSet const): Use release assert and remove the return.
(WebCore::GStreamerRegistryScanner::isContainerTypeSupported const): Ditto.
(WebCore::GStreamerRegistryScanner::fillMimeTypeSetFromCapsMapping): It receives a ElementFactories now.
(WebCore::GStreamerRegistryScanner::initializeDecoders): Ditto.
(WebCore::GStreamerRegistryScanner::initializeEncoders): Ditto.
(WebCore::GStreamerRegistryScanner::isCodecSupported const): Make the received code name const.
(WebCore::GStreamerRegistryScanner::areAllCodecsSupported const): Use const references to iterate the codecs.
(WebCore::GStreamerRegistryScanner::isAVC1CodecSupported const): Create a ElementFactories for the appropriate
type and use to check if the given codec is supported.
(WebCore::GStreamerRegistryScanner::isConfigurationSupported const): Make mediaConfiguration parameter const.
(WebCore::GStreamerRegistryScanner::~GStreamerRegistryScanner): Deleted.
(WebCore::GStreamerRegistryScanner::mimeTypeSet): Deleted.
(WebCore::GStreamerRegistryScanner::hasElementForMediaType const): Deleted.

  • platform/graphics/gstreamer/GStreamerRegistryScanner.h:
12:40 AM Changeset in webkit [270018] by svillar@igalia.com
  • 3 edits
    2 adds in trunk

Nullptr crash in RenderObject::parent
https://bugs.webkit.org/show_bug.cgi?id=218484
<rdar://problem/70985057>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Let's imagine the following scenario:

BODY

LI contenteditable=true

DIV

If the current visible selection is on DIV and we try to execute document.execCommand("InsertOrderedList") then
the current code will first try to fix the orphaned LI before inserting a new list. Fixing the orphaned
LI means that a new list tag must be created between BODY and LI. There is one caveat though, and is that the
InsertNodeBeforeCommand requires that the parent of the new node (in this case the BODY) must be richly editable
(something that is not happening in the example above). That's why we need to ensure that this precondition is met
before trying to fix the orphaned list item.

Test: fast/editing/insert-list-in-orphaned-list-item-crash.html

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::fixOrphanedListChild): Early return if the parent is not richly editable.
(WebCore::InsertListCommand::doApplyForSingleParagraph): Fixed a typo.

LayoutTests:

Added new test case.

  • fast/editing/insert-list-in-orphaned-list-item-crash-expected.txt: Added.
  • fast/editing/insert-list-in-orphaned-list-item-crash.html: Added.
12:16 AM Changeset in webkit [270017] by Diego Pino Garcia
  • 4 edits
    5 deletes in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Move common GTK and WPE failures to GLIB.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/svg-bounds-expected.txt: Removed.
  • platform/gtk/fast/shrink-wrap/rect-shrink-wrap-expected.txt: Removed.
  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/request/request-keepalive-quota-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/resource-timing/resource-timing-level1.sub-expected.txt: Removed.

Nov 18, 2020:

10:08 PM Changeset in webkit [270016] by Chris Dumez
  • 7 edits
    83 adds in trunk/LayoutTests

Import web-platform-tests/worklets tests from usptream
https://bugs.webkit.org/show_bug.cgi?id=219121

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Import web-platform-tests/worklets tests from usptream dd35c2b21b76772123f76.

  • resources/import-expectations.json:
  • web-platform-tests/worklets/*: Added.

LayoutTests:

  • tests-options.json:
8:11 PM Changeset in webkit [270015] by commit-queue@webkit.org
  • 15 edits in trunk

[WASM-References] Remove subtyping rule for externref and funcref
https://bugs.webkit.org/show_bug.cgi?id=218885

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

Make funcref is not a subtype of externref.
The spec: https://webassembly.github.io/reference-types/core/
The PR for removing subtype from the spec:
https://github.com/WebAssembly/reference-types/pull/87.

JSTests:

  • wasm/references/func_ref.js:

(assert.eq.instance.exports.fix.fun):
(assert.eq.instance.exports.fix):

  • wasm/references/validation.js:

Source/JavaScriptCore:

  • wasm/WasmFormat.h:

(JSC::Wasm::isSubtype):

  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser<Context>::parseExpression):

  • wasm/js/WebAssemblyModuleRecord.cpp:

(JSC::WebAssemblyModuleRecord::link):

8:02 PM Changeset in webkit [270014] by Chris Dumez
  • 5 edits
    25 adds in trunk/LayoutTests

Import web-platform-tests/geolocation-API tests from usptream
https://bugs.webkit.org/show_bug.cgi?id=219128

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Import web-platform-tests/geolocation-API tests from usptream dd35c2b21b76772123f76.

  • resources/import-expectations.json:
  • web-platform-tests/geolocation-API/META.yml: Added.
  • web-platform-tests/geolocation-API/PositionOptions.https-expected.txt: Added.
  • web-platform-tests/geolocation-API/PositionOptions.https.html: Added.
  • web-platform-tests/geolocation-API/clearWatch_TypeError-expected.txt: Added.
  • web-platform-tests/geolocation-API/clearWatch_TypeError.html: Added.
  • web-platform-tests/geolocation-API/getCurrentPosition_IDL.https-expected.txt: Added.
  • web-platform-tests/geolocation-API/getCurrentPosition_IDL.https.html: Added.
  • web-platform-tests/geolocation-API/getCurrentPosition_TypeError-expected.txt: Added.
  • web-platform-tests/geolocation-API/getCurrentPosition_TypeError.html: Added.
  • web-platform-tests/geolocation-API/getCurrentPosition_permission_allow.https-expected.txt: Added.
  • web-platform-tests/geolocation-API/getCurrentPosition_permission_allow.https.html: Added.
  • web-platform-tests/geolocation-API/getCurrentPosition_permission_deny.https-expected.txt: Added.
  • web-platform-tests/geolocation-API/getCurrentPosition_permission_deny.https.html: Added.
  • web-platform-tests/geolocation-API/idlharness.https.window-expected.txt: Added.
  • web-platform-tests/geolocation-API/idlharness.https.window.html: Added.
  • web-platform-tests/geolocation-API/idlharness.https.window.js: Added.
  • web-platform-tests/geolocation-API/non-secure-contexts.http-expected.txt: Added.
  • web-platform-tests/geolocation-API/non-secure-contexts.http.html: Added.
  • web-platform-tests/geolocation-API/support.js: Added.

(setup):
(dummyFunction):
(positionToString):
(errorToString):

  • web-platform-tests/geolocation-API/w3c-import.log: Added.
  • web-platform-tests/geolocation-API/watchPosition_TypeError-expected.txt: Added.
  • web-platform-tests/geolocation-API/watchPosition_TypeError.html: Added.
  • web-platform-tests/geolocation-API/watchPosition_permission_deny.https-expected.txt: Added.
  • web-platform-tests/geolocation-API/watchPosition_permission_deny.https.html: Added.

LayoutTests:

Skip tests that are timing out.

8:00 PM Changeset in webkit [270013] by Yousuke.Kimoto@sony.com
  • 2 edits in trunk/Source/WTF

[WTF] Fix a condition to check if statvfs() succeeds in getVolumeFreeSpace()
https://bugs.webkit.org/show_bug.cgi?id=219138

Reviewed by Alexey Proskuryakov.

statvfs() returns Zero on success but getVolumeFreeSpace() treats a non Zero value
as a succes case. The condition is oppsite to the spec of statvfs().

  • wtf/posix/FileSystemPOSIX.cpp:
7:59 PM Changeset in webkit [270012] by Kocsen Chung
  • 1 copy in tags/Safari-611.1.5.3

Tag Safari-611.1.5.3.

7:55 PM Changeset in webkit [270011] by Kocsen Chung
  • 8 edits in branches/safari-611.1.5-branch/Source

Versioning.

WebKit-7611.1.5.3

7:40 PM Changeset in webkit [270010] by Chris Dumez
  • 13 edits
    19 adds in trunk/LayoutTests

Resync web-platform-tests/FileAPI tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=219125

Reviewed by Sam Weinig.

Resync web-platform-tests/FileAPI tests from upstream dd35c2b21b76772123f7.

  • web-platform-tests/FileAPI/file/File-constructor-expected.txt:
  • web-platform-tests/FileAPI/file/File-constructor.html:
  • web-platform-tests/FileAPI/file/resources/echo-content-escaped.py: Added.

(escape_byte):
(main):

  • web-platform-tests/FileAPI/file/resources/w3c-import.log: Added.
  • web-platform-tests/FileAPI/file/send-file-form-controls.tentative-expected.txt: Added.
  • web-platform-tests/FileAPI/file/send-file-form-controls.tentative.html: Added.
  • web-platform-tests/FileAPI/file/send-file-form-punctuation.tentative-expected.txt: Added.
  • web-platform-tests/FileAPI/file/send-file-form-punctuation.tentative.html: Added.
  • web-platform-tests/FileAPI/file/send-file-form-utf-8.html:
  • web-platform-tests/FileAPI/file/send-file-form-windows-1252.tentative.html:
  • web-platform-tests/FileAPI/file/send-file-form-x-user-defined.tentative.html:
  • web-platform-tests/FileAPI/file/send-file-formdata-controls.tentative-expected.txt: Added.
  • web-platform-tests/FileAPI/file/send-file-formdata-controls.tentative.html: Added.
  • web-platform-tests/FileAPI/file/send-file-formdata-expected.txt: Added.
  • web-platform-tests/FileAPI/file/send-file-formdata-punctuation.tentative-expected.txt: Added.
  • web-platform-tests/FileAPI/file/send-file-formdata-punctuation.tentative.html: Added.
  • web-platform-tests/FileAPI/file/send-file-formdata-utf-8-expected.txt: Added.
  • web-platform-tests/FileAPI/file/send-file-formdata-utf-8.html: Added.
  • web-platform-tests/FileAPI/file/send-file-formdata.html: Added.
  • web-platform-tests/FileAPI/file/w3c-import.log:
  • web-platform-tests/FileAPI/fileReader-expected.txt:
  • web-platform-tests/FileAPI/fileReader.html:
  • web-platform-tests/FileAPI/support/send-file-form-helper.js:

(escapeString):
(const.formPostFileUploadTest):

  • web-platform-tests/FileAPI/support/send-file-formdata-helper.js: Added.

(const.formDataPostFileUploadTest):

  • web-platform-tests/FileAPI/support/w3c-import.log:
  • web-platform-tests/FileAPI/url/url-charset.window-expected.txt: Added.
  • web-platform-tests/FileAPI/url/url-charset.window.html: Added.
  • web-platform-tests/FileAPI/url/url-charset.window.js: Added.

(async_test.t.t.add_cleanup):
(async_test.t.win.onload.t.step_func_done):

  • web-platform-tests/FileAPI/url/w3c-import.log:
7:38 PM Changeset in webkit [270009] by Chris Dumez
  • 4 edits
    62 adds in trunk/LayoutTests

Import web-platform-tests/compat tests from usptream
https://bugs.webkit.org/show_bug.cgi?id=219126

Reviewed by Sam Weinig.

Import web-platform-tests/compat tests from usptream dd35c2b21b76772123.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/compat/*: Added.
7:17 PM Changeset in webkit [270008] by Chris Dumez
  • 2 edits
    28 adds in trunk/LayoutTests/imported/w3c

Import web-platform-tests/entries-api tests from usptream
https://bugs.webkit.org/show_bug.cgi?id=219127

Reviewed by Sam Weinig.

Import web-platform-tests/entries-api tests from usptream dd35c2b21b76772123f76a1.

  • resources/import-expectations.json:
  • web-platform-tests/entries-api/META.yml: Added.
  • web-platform-tests/entries-api/README.md: Added.
  • web-platform-tests/entries-api/idlharness.window-expected.txt: Added.
  • web-platform-tests/entries-api/idlharness.window.html: Added.
  • web-platform-tests/entries-api/idlharness.window.js: Added.
  • web-platform-tests/entries-api/support.js: Added.

(entry_test):
(getEntriesAsPromise):

  • web-platform-tests/entries-api/support/a/b/c/3.txt: Added.
  • web-platform-tests/entries-api/support/a/b/c/d/1.txt: Added.
  • web-platform-tests/entries-api/support/a/b/c/d/2.txt: Added.
  • web-platform-tests/entries-api/support/a/b/c/d/w3c-import.log: Added.
  • web-platform-tests/entries-api/support/a/b/c/w3c-import.log: Added.
  • web-platform-tests/entries-api/support/upload.txt: Added.
  • web-platform-tests/entries-api/support/upload/file.txt: Added.
  • web-platform-tests/entries-api/support/upload/subdir/1.txt: Added.
  • web-platform-tests/entries-api/support/upload/subdir/2.txt: Added.
  • web-platform-tests/entries-api/support/upload/subdir/3.txt: Added.
  • web-platform-tests/entries-api/support/upload/subdir/w3c-import.log: Added.
  • web-platform-tests/entries-api/support/upload/w3c-import.log: Added.
  • web-platform-tests/entries-api/support/w3c-import.log: Added.
  • web-platform-tests/entries-api/w3c-import.log: Added.
7:16 PM Changeset in webkit [270007] by Megan Gardner
  • 2 edits in trunk/Source/WebKit

Menu Bar support for app highlights in book.
https://bugs.webkit.org/show_bug.cgi?id=219117

Reviewed by Wenson Hsieh.

Add menu stubs in iOS to support highlights for books in modern webkit.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setUpInteraction]):
(-[WKContentView canPerformAction:withSender:]):
(-[WKContentView setupAppHighlightMenus]):
(-[WKContentView createHighlightInCurrentGroupWithRange:]):
(-[WKContentView createHighlightInNewGroupWithRange:]):

6:53 PM Changeset in webkit [270006] by Wenson Hsieh
  • 13 edits in trunk

Rename MetaCommandSwitchTo to MetaCommandSwitchToItemBuffer
https://bugs.webkit.org/show_bug.cgi?id=219130

Reviewed by Tim Horton.

Source/WebCore:

Rename MetaCommandSwitchTo to MetaCommandSwitchToItemBuffer. The new name helps to clarify that this item is
about changing or swapping between display list item buffers, rather than image buffers.

  • platform/graphics/displaylists/DisplayList.cpp:

(WebCore::DisplayList::DisplayList::append):

  • platform/graphics/displaylists/DisplayListItemBuffer.cpp:

(WebCore::DisplayList::ItemHandle::apply):
(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::copyTo const):
(WebCore::DisplayList::ItemBuffer::swapWritableBufferIfNeeded):

  • platform/graphics/displaylists/DisplayListItemType.cpp:

(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):

  • platform/graphics/displaylists/DisplayListItemType.h:
  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::operator<<):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::MetaCommandSwitchToItemBuffer::MetaCommandSwitchToItemBuffer):
(WebCore::DisplayList::MetaCommandSwitchTo::MetaCommandSwitchTo): Deleted.
(WebCore::DisplayList::MetaCommandSwitchTo::identifier const): Deleted.

Source/WebKit:

  • GPUProcess/graphics/RemoteImageBuffer.h:
  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::decodeItem):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

Tools:

  • TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:

(TestWebKitAPI::TEST):

6:32 PM Changeset in webkit [270005] by Ross Kirsling
  • 7 edits in trunk

[JSC] Reinstate String#at
https://bugs.webkit.org/show_bug.cgi?id=219124

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/at-method.js: Re-add tests.
  • test262/config.yaml: Re-enable feature.
  • test262/expectations.yaml:

"at/prop-desc.js" failures are due to a typo; will be fixed in https://github.com/tc39/test262/pull/2908.

Source/JavaScriptCore:

At this week's TC39 meeting, consensus was achieved on renaming item() *and* keeping it for strings too.
Accordingly, this patch reinstates String.prototype.at behind the existing useAtMethod runtime option.

  • builtins/StringPrototype.js:

(at):

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::finishCreation):

5:42 PM Changeset in webkit [270004] by Jonathan Bedard
  • 4 edits in trunk/Tools

[webitscmpy] Branch point incorrect for Git checkouts
https://bugs.webkit.org/show_bug.cgi?id=219132
<rdar://problem/71561569>

Reviewed by Dewei Zhu.

  • Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.commit): Banca-point is the distance from the primordial commit minus the distance from
the default branch.

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
5:37 PM Changeset in webkit [270003] by ap@apple.com
  • 4 edits
    14 deletes in trunk/Tools

Remove IRC bots from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=219111

Reviewed by Jonathan Bedard and Aakash Jain.

We haven't been running any IRC bots for a while, this is dead code.

  • Scripts/webkitpy/common/net/irc: Removed.
  • Scripts/webkitpy/thirdparty/irc: Removed.
  • Scripts/webkitpy/tool/bot/irc_command.py: Removed.
  • Scripts/webkitpy/tool/bot/irc_command_unittest.py: Removed.
  • Scripts/webkitpy/tool/bot/ircbot.py: Removed.
  • Scripts/webkitpy/tool/bot/ircbot_unittest.py: Removed.
  • Scripts/webkitpy/tool/bot/sheriff.py: Removed.
  • Scripts/webkitpy/tool/bot/sheriff_unittest.py: Removed.
  • Scripts/webkitpy/tool/commands/init.py:
  • Scripts/webkitpy/tool/commands/newcommitbot.py: Removed.
  • Scripts/webkitpy/tool/commands/newcommitbot_unittest.py: Removed.
  • Scripts/webkitpy/tool/commands/perfalizer.py: Removed.
  • Scripts/webkitpy/tool/commands/perfalizer_unittest.py: Removed.
  • Scripts/webkitpy/tool/commands/sheriffbot.py: Removed.
  • Scripts/webkitpy/tool/commands/sheriffbot_unittest.py: Removed.
  • Scripts/webkitpy/tool/main.py:

(WebKitPatch):
(WebKitPatch.init):
(WebKitPatch.path):
(WebKitPatch.command_completed):
(WebKitPatch.handle_global_options):
(WebKitPatch.ensure_irc_connected): Deleted.
(WebKitPatch.irc): Deleted.

  • Scripts/webkitpy/tool/mocktool.py:

(MockTool.init):
(MockTool.path):
(MockTool.ensure_irc_connected): Deleted.
(MockTool.irc): Deleted.

5:20 PM Changeset in webkit [270002] by Wenson Hsieh
  • 15 edits
    2 adds in trunk

[Concurrent display lists] Add a way for display lists to partially replay
https://bugs.webkit.org/show_bug.cgi?id=219067

Reviewed by Simon Fraser.

Source/WebCore:

Make it possble for a display list replayer to stop early in the middle of processing a display list. This
capability is a prerequisite to three items:

  • Allow display list processing in the GPU process to pause when encountering missing cached resources.
  • Allow the GPU process to replay display list item buffers that contain display list data targeting different

destination image buffers.

  • Allow the GPU process to prematurely halt display list processing and perform a MESSAGE_CHECK to terminate

the web content process, in the case of an invalid display list item (e.g. decoding failure).

See below for more details.

Test: DisplayListTests.ReplayWithMissingResource

  • platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::flushDrawingContextAndCommit):
(WebCore::ImageBuffer::submitDisplayList): Deleted.

Remove the generic submitDisplayList method on ImageBuffer; instead, call directly into
RemoteImageBuffer::submitDisplayList to replay display lists.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::platformCALayerPaintContents):

Adjust several call sites of replay() to grab the tracked display list from the ReplayResult.

  • platform/graphics/displaylists/DisplayList.cpp:

(WebCore::DisplayList::DisplayList::asText const):
(WebCore::DisplayList::DisplayList::dump const):

  • platform/graphics/displaylists/DisplayList.h:

(WebCore::DisplayList::DisplayList::iterator::operator* const):

Pull the iterator value out into a separate Value struct, and include the size of the current display list
item in the item buffer.

  • platform/graphics/displaylists/DisplayListDrawingContext.cpp:

(WebCore::DisplayList::DrawingContext::replayDisplayList):

  • platform/graphics/displaylists/DisplayListReplayer.cpp:

(WebCore::DisplayList::applyImageBufferItem):
(WebCore::DisplayList::applyNativeImageItem):
(WebCore::DisplayList::Replayer::applyItem):

Make this private helper method return an optional flag indicating whether display list replay should stop.

(WebCore::DisplayList::Replayer::replay):

Make replay() return a ReplayResult, which contains the tracked display list (if tracking is enabled), as well
as the number of bytes of display list item data that were consumed, and the reason why display list replay
stopped (the default reason being ReplayedAllItems).

  • platform/graphics/displaylists/DisplayListReplayer.h:

(WebCore::DisplayList::Replayer::replay):

Source/WebKit:

See WebCore ChangeLog for more details.

  • GPUProcess/graphics/RemoteImageBuffer.h:

Make submitDisplayList on RemoteImageBuffer return a ReplayResult.

(WebKit::RemoteImageBuffer::submitDisplayList):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::applyDisplayListsFromHandle):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::submitDisplayList):

Tools:

Add a test that exercises partial display list replay.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp: Added.

(TestWebKitAPI::TEST):

4:31 PM Changeset in webkit [270001] by Chris Dumez
  • 7 edits
    1 copy
    1 move
    3 adds
    1 delete in trunk/LayoutTests/imported/w3c

Resync web-platform-tests/WebIDL tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=219120

Reviewed by Alex Christensen.

Resync web-platform-tests/WebIDL tests from upstream dd35c2b21b76772123f.

  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any-expected.txt:
  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js:

(test):

  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.worker-expected.txt:
  • web-platform-tests/WebIDL/ecmascript-binding/legacy-callback-interface-object.html:
  • web-platform-tests/WebIDL/ecmascript-binding/w3c-import.log:
  • web-platform-tests/WebIDL/idlharness.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebIDL/idlharness-expected.txt.
  • web-platform-tests/WebIDL/idlharness.any.html: Added.
  • web-platform-tests/WebIDL/idlharness.any.js: Added.
  • web-platform-tests/WebIDL/idlharness.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebIDL/idlharness-expected.txt.
  • web-platform-tests/WebIDL/idlharness.any.worker.html: Added.
  • web-platform-tests/WebIDL/idlharness.html: Removed.
  • web-platform-tests/WebIDL/w3c-import.log:
4:27 PM Changeset in webkit [270000] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r269895): Google Maps expanded route options are missing background color
https://bugs.webkit.org/show_bug.cgi?id=219119
<rdar://problem/71510412>

Reviewed by Said Abou-Hallawa.

No new tests, yet. Test is pending.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawPlatformImage):
r199071 removed the state save/restore around the CG implementation of
drawNativeImage, explicitly saving and restoring the few things it knew
that the implementation would change. However, it failed to save/restore
the composite operator.

This was mostly not a problem, because e.g. canvas always hands down the
global op. However, in r269895, I added code that passes in a /different/
compositing operator, and it gets stuck on the context.

Save and restore the composite operator and blend mode like we do for other properties.

4:15 PM Changeset in webkit [269999] by Aditya Keerthi
  • 7 edits
    1 move in trunk/Source/WebCore

[iOS][FCR] Rename UA style sheet to follow naming convention
https://bugs.webkit.org/show_bug.cgi?id=219108

Reviewed by Tim Horton.

  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • css/formControlsIOS.css: Renamed from Source/WebCore/css/iOSFormControlRefresh.css.
  • style/InspectorCSSOMWrappers.cpp:

(WebCore::Style::InspectorCSSOMWrappers::collectDocumentWrappers):

  • style/UserAgentStyle.cpp:

(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement):

  • style/UserAgentStyle.h:
3:50 PM Changeset in webkit [269998] by ysuzuki@apple.com
  • 16 edits in trunk

[JSC] Improve Wasm binary test coverage
https://bugs.webkit.org/show_bug.cgi?id=204843

Reviewed by Darin Adler.

JSTests:

  • wasm/function-tests/grow-memory.js:

(binaryShouldNotParse):

  • wasm/spec-tests/binary-leb128.wast.js:
  • wasm/spec-tests/binary.wast.js:
  • wasm/wasm.json:

Source/JavaScriptCore:

This patch fixes some of bugs in wasm parser so that we validate malformed wasm modules more strictly.

  1. current_memory / grow_memory should have uint8 flag, not varuint32 flag.
  2. global section should have uint8 mutability information, not varuint32.
  3. memory section should have varuint32 memory count.
  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):

  • wasm/WasmSectionParser.cpp:

(JSC::Wasm::SectionParser::parseResizableLimits):
(JSC::Wasm::SectionParser::parseMemory):
(JSC::Wasm::SectionParser::parseGlobalType):

  • wasm/wasm.json:

Source/WTF:

LEBDecoder should have more strict validation. One thing is that, we should reject pattern that includes ignored bits.
For example, in uint32_t, we can represent UINT32_MAX in 5 bytes like this.

0xff, 0xff, 0xff, 0xff, 0x0f
0b1111111_1111111_1111111_1111111_1111

Leading bytes has 0x80 trailing marker. And they includes each 7 bit slice. And the last byte includes 0b1111 part.
But we can also make it in the following form

0xff, 0xff, 0xff, 0xff, 0xff
0b1111111_1111111_1111111_1111111_1111

In the above case, the last byte's upper 4 bits are ignored in the result, and this is wrong in LEB128 encoding.
We should reject this input since the last byte includes overflown bits.
This patch adds this validation to WTF.

  • wtf/LEBDecoder.h:

(WTF::LEBDecoder::maxByteLength):
(WTF::LEBDecoder::lastByteMask):
(WTF::LEBDecoder::decodeUInt):
(WTF::LEBDecoder::decodeInt):

Tools:

We add more tests for LEBDecoder. In particular, the added tests focus on the case which overflow bits.

  • TestWebKitAPI/Tests/WTF/LEBDecoder.cpp:

(TestWebKitAPI::toString):
(TestWebKitAPI::testUInt32LEBDecode):
(TestWebKitAPI::TEST):
(TestWebKitAPI::testUInt64LEBDecode):
(TestWebKitAPI::testInt32LEBDecode):
(TestWebKitAPI::testInt64LEBDecode):

3:38 PM Changeset in webkit [269997] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

REGRESSION (r269227?): Flaky crash in WebCore::DOMPromiseProxy seen with imported/w3c/web-platform-tests/service-workers/service-worker/referrer-toplevel-script-fetch.https.html
https://bugs.webkit.org/show_bug.cgi?id=219009
<rdar://problem/71464073>

Reviewed by Geoffrey Garen.

The lambda in ServiceWorkerContainer::ready() was dereferencing m_readyPromise unconditionally.
This is not correct and we need a null-check since ServiceWorkerContainer::stop() nulls out
m_readyPromise.

No new tests, already covered by existing test that is flakily crashing.

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::ready):

3:26 PM Changeset in webkit [269996] by Chris Dumez
  • 2 edits
    2 deletes in trunk/LayoutTests/imported/w3c

Unreviewed, drop manual test in web-platform-tests/notifications.

  • web-platform-tests/notifications/shownotification-resolve-manual.https-expected.txt: Removed.
  • web-platform-tests/notifications/shownotification-resolve-manual.https.html: Removed.
  • web-platform-tests/notifications/w3c-import.log:
3:25 PM Changeset in webkit [269995] by Alan Coon
  • 1 copy in tags/Safari-610.4.1

Tag Safari-610.4.1.

3:22 PM Changeset in webkit [269994] by Alan Coon
  • 1 copy in tags/Safari-610.3.7.1.5

Tag Safari-610.3.7.1.5.

3:01 PM Changeset in webkit [269993] by Chris Dumez
  • 6 edits in trunk/Source/WebKit

Drop redundant code that tries to bump the QoS of the WebContent main thread of UserInteractive when handling a sync IPC
https://bugs.webkit.org/show_bug.cgi?id=219110

Reviewed by Alex Christensen.

Drop redundant code that tries to bump the QoS of the WebContent main thread of UserInteractive when
handling a sync IPC. Nowadays, we always run the main thread of the WebContent at UserInteractive QoS
(see WTF::Thread::setCurrentThreadIsUserInteractive() call in WebProcess::initializeWebProcess()) so
there is no need to boost the QoS during a sync IPC.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::processIncomingMessage):

  • Platform/IPC/Connection.h:

(IPC::Connection::setShouldBoostMainThreadOnSyncMessage): Deleted.

  • Platform/IPC/Decoder.h:

(IPC::Decoder::setQOSClassOverride): Deleted.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):

2:50 PM Changeset in webkit [269992] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Add timeout to network requests
https://bugs.webkit.org/show_bug.cgi?id=218994

Reviewed by Jonathan Bedard.

  • CISupport/ews-build/steps.py:

(BugzillaMixin.fetch_data_from_url_with_authentication): Added timeout to requests.get() call.
(BugzillaMixin.fetch_data_from_url): Ditto.
(ValidateCommiterAndReviewer.load_contributors_from_trac): Ditto.
(CheckPatchStatusOnEWSQueues.get_patch_status): Ditto.

2:48 PM Changeset in webkit [269991] by Keith Rollin
  • 2 edits in trunk/Tools

Extend check-for-inappropriate-files-in-framework to check for .tmp files
https://bugs.webkit.org/show_bug.cgi?id=219064
<rdar://problem/71519010>

Reviewed by Alexey Proskuryakov.

Some *.tmp files that were generated from post-processing header files
were appearing in *.framework/Headers directories. The problem doesn't
seem to be occurring any more, but update
check-for-inappropriate-files-in-framework to catch it if it does
again.

  • Scripts/check-for-inappropriate-files-in-framework:
2:44 PM Changeset in webkit [269990] by Jonathan Bedard
  • 2 edits in trunk/Tools

[webkitpy] Respect --result-report-flavor on device ports
https://bugs.webkit.org/show_bug.cgi?id=219112
<rdar://problem/71553965>

Reviewed by Dewei Zhu.

  • Scripts/webkitpy/port/device_port.py:

(DevicePort.configuration_for_upload): Add flavor to the configuration, if flag passed.

2:42 PM Changeset in webkit [269989] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

[LFC][Integration] Line::enclosingRect should only include the border box (exclude vertical margins)
https://bugs.webkit.org/show_bug.cgi?id=219106

Reviewed by Antti Koivisto.

LineIteratorPath::top/bottom expects border box enclosing values (and not margin box values).
(and while we are here, let's just compute the vertical enclosing values and ignore the horizontal aspect of it as the line box always
encloses all the inline level boxes on the line anyway)

  • layout/inlineformatting/InlineFormattingContext.cpp:

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

  • layout/inlineformatting/InlineLineBox.cpp:

(WebCore::Layout::LineBox::logicalMarginRectForInlineLevelBox const):
(WebCore::Layout::LineBox::logicalRectForInlineLevelBox const): Deleted.

  • layout/inlineformatting/InlineLineBox.h:
  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

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

  • layout/integration/LayoutIntegrationLine.h:

(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::enclosingContentTop const):
(WebCore::LayoutIntegration::Line::enclosingContentBottom const):
(WebCore::LayoutIntegration::Line::enclosingContentRect const): Deleted.

  • layout/integration/LayoutIntegrationLineIteratorModernPath.h:

(WebCore::LayoutIntegration::LineIteratorModernPath::top const):
(WebCore::LayoutIntegration::LineIteratorModernPath::bottom const):

  • layout/integration/LayoutIntegrationPagination.cpp:

(WebCore::LayoutIntegration::makeAdjustedContent):

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::selectionRect const):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::showInlineTreeAndRuns):

2:41 PM Changeset in webkit [269988] by Matt Lewis
  • 2 edits in trunk/Tools

Big Sur testers failing to download build products
https://bugs.webkit.org/show_bug.cgi?id=219095

Reviewed by Aakash Jain.

Fixing the url parsing to deal with special characters. Also
reworking the imports to help with transition to python3.

  • CISupport/download-built-product:

(main):

2:34 PM Changeset in webkit [269987] by Chris Dumez
  • 4 edits in trunk/LayoutTests

REGRESSION (r269598): [ Mac ] imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-network-error.sub.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=219008
<rdar://problem/71463894>

LayoutTests/imported/w3c:

Unreviewed, rebaseline test.

  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-network-error.sub-expected.txt:

LayoutTests:

Unreviewed, address flakiness by silencing JS CONSOLE messages.

2:26 PM Changeset in webkit [269986] by Ross Kirsling
  • 7 edits
    13 copies
    23 adds
    3 deletes in trunk/JSTests

Update test262 (2020.11.18)
https://bugs.webkit.org/show_bug.cgi?id=219109

Reviewed by Yusuke Suzuki.

  • test262/config.yaml:
  • test262/expectations.yaml:
  • test262/latest-changes-summary.txt:
  • test262/test/:
  • test262/test262-Revision.txt:
2:04 PM Changeset in webkit [269985] by Darin Adler
  • 6 edits
    2 deletes in trunk

Remove advanced plug-in feature: small plug-in blocking
https://bugs.webkit.org/show_bug.cgi?id=219101

Reviewed by Anders Carlsson.

Source/WebKit:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::pluginIsSmall): Deleted.
(WebKit::WebPage::createPlugin): Removed code that blocks small plug-ins.

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml: Removed BlockingOfSmallPluginsEnabled.

LayoutTests:

  • platform/mac-wk1/TestExpectations: Removed small-plugin-blocked.html.
  • plugins/small-plugin-blocked-expected.txt: Removed.
  • plugins/small-plugin-blocked.html: Removed.
2:04 PM Changeset in webkit [269984] by graouts@webkit.org
  • 7 edits
    3 moves
    1 add in trunk/Source/WebCore

Move <model> code under Modules/model-element
https://bugs.webkit.org/show_bug.cgi?id=219104

Reviewed by Dean Jackson.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • Headers.cmake:
  • Modules/model-element/HTMLModelElement.cpp: Renamed from Source/WebCore/html/HTMLModelElement.cpp.
  • Modules/model-element/HTMLModelElement.h: Renamed from Source/WebCore/html/HTMLModelElement.h.
  • Modules/model-element/HTMLModelElement.idl: Renamed from Source/WebCore/html/HTMLModelElement.idl.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
1:57 PM Changeset in webkit [269983] by Chris Dumez
  • 5 edits in trunk

[iOS] beforeunload event does not fire in MobileSafari
https://bugs.webkit.org/show_bug.cgi?id=219102
<rdar://problem/70550655>

Reviewed by Geoff Garen.

Source/WebCore:

MobileSafari on iOS does not implement WKUIDelegate's runJavaScriptAlertPanelWithMessage because
it never shows any before unload prompt. When the client does not implement this delegate,
Chrome::canRunBeforeUnloadConfirmPanel() returns false and this was causing
FrameLoader::shouldClose() to return early, before even firing the beforeunload event in each
frame. I updated our logic so that we now fire the beforeunload events no matter what and we
merely do not attempt to show the beforeunload prompt when Chrome::canRunBeforeUnloadConfirmPanel()
return false, similarly to what we do when the document does not have a user gesture.

Note that we already fire the pagehide and unload events on iOS so this is not a significant
change in policy.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::shouldClose):
(WebCore::FrameLoader::dispatchBeforeUnloadEvent):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKit/beforeunload.html:
  • TestWebKitAPI/Tests/WebKitCocoa/ModalAlerts.mm:

(-[UIDelegateWithoutRunBeforeUnload webViewDidClose:]):
(-[BeforeUnloadMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):

1:47 PM Changeset in webkit [269982] by Ryan Haddad
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[iOS] Rebaseline two tests once EWS is updated to iOS 14.2

Unreviewed test gardening.

  • platform/ios/TestExpectations:

Temporarily mark two tests as failing so we don't see false positives on iOS EWS bots
while they are in the process of being updated. We can revert this and rebaseline the
tests once all bots are updated to the newest SDK.

1:38 PM Changeset in webkit [269981] by Kocsen Chung
  • 1 copy in tags/Safari-611.1.5.2

Tag Safari-611.1.5.2.

1:24 PM Changeset in webkit [269980] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, unskip more webaudio tests on Rosetta.

Those tests are still failing on Apple Silicon but not with Rosetta.

  • platform/mac/TestExpectationsRosetta:
1:19 PM Changeset in webkit [269979] by Chris Dumez
  • 4 edits
    2 deletes in trunk/LayoutTests

Drop outdated webaudio/convolution-mono-mono.html test
https://bugs.webkit.org/show_bug.cgi?id=219107

Reviewed by Geoffrey Garen.

Drop outdated webaudio/convolution-mono-mono.html test.

An updated version is already present at:
imported/w3c/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolution-mono-mono.html

  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/TestExpectationsRosetta:
  • webaudio/convolution-mono-mono-expected.txt: Removed.
  • webaudio/convolution-mono-mono.html: Removed.
1:09 PM Changeset in webkit [269978] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, unskip several webaudio tests on Apple Silicon.

Those tests are no longer failing or flaky on this platform.

  • platform/mac/TestExpectations:
12:50 PM Changeset in webkit [269977] by Aditya Keerthi
  • 2 edits in trunk/Source/WebCore

[iOS][FCR] Use new glyph for -webkit-list-button
https://bugs.webkit.org/show_bug.cgi?id=219040
<rdar://problem/71493560>

Reviewed by Wenson Hsieh.

This updates the appearance of the disclosure button used to view
datalist options for text inputs.

  • css/iOSFormControlRefresh.css:

(input::-webkit-list-button): The glyph is taken from SF Symbols.

12:45 PM Changeset in webkit [269976] by Russell Epstein
  • 8 edits in branches/safari-611.1.5-branch/Source

Versioning.

WebKit-7611.1.5.2

12:28 PM Changeset in webkit [269975] by Aditya Keerthi
  • 5 edits
    11 adds in trunk

[iOS][FCR] Add new look for radio buttons
https://bugs.webkit.org/show_bug.cgi?id=219046
<rdar://problem/71498263>

Reviewed by Wenson Hsieh.

Source/WebCore:

Tests: fast/forms/ios/form-control-refresh/radio/border.html

fast/forms/ios/form-control-refresh/radio/checked-appearance.html
fast/forms/ios/form-control-refresh/radio/disabled-appearance.html
fast/forms/ios/form-control-refresh/radio/ignored-properties.html
fast/forms/ios/form-control-refresh/radio/width-height.html

  • css/iOSFormControlRefresh.css:

(input:matches([type="checkbox"], [type="radio"])):

Use "border: initial" and "box-sizing: border-box" to match macOS, now
that the native radio button styles on macOS and iOS are similar. This
also aligns with the new iOS checkbox style.

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintRadioDecorations):

Move away from using paintRadioDecorations to paintRadio for the new
design. This is necessary to avoid painting custom borders and backgrounds
for native checkboxes, matching macOS. Painting both a CSS background as
well as the native checkbox can lead to background bleeding. Customizations
can still be made using "-webkit-appearance: none".

(WebCore::RenderThemeIOS::paintRadio):

A new implementation for painting radio buttons to match the updated
design. If the button is unchecked, a single circle is painted.
Otherwise, an inner and outer circle are painted.

LayoutTests:

Added tests to verify the stylability of native radio buttons and to
verify that different states are painted with a different appearance.

  • fast/forms/ios/form-control-refresh/radio/border-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/radio/border.html: Added.
  • fast/forms/ios/form-control-refresh/radio/checked-appearance-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/radio/checked-appearance.html: Added.
  • fast/forms/ios/form-control-refresh/radio/disabled-appearance-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/radio/disabled-appearance.html: Added.
  • fast/forms/ios/form-control-refresh/radio/ignored-properties-expected.html: Added.
  • fast/forms/ios/form-control-refresh/radio/ignored-properties.html: Added.
  • fast/forms/ios/form-control-refresh/radio/width-height-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/radio/width-height.html: Added.
12:22 PM Changeset in webkit [269974] by ysuzuki@apple.com
  • 75 edits
    17 adds in trunk

Unreviewed, relanding r269940
https://bugs.webkit.org/show_bug.cgi?id=219076

JSTests:

  • wasm/function-tests/trap-load-shared.js: Added.

(wasmFrameCountFromError):

  • wasm/function-tests/trap-store-shared.js: Added.
  • wasm/js-api/test_memory.js:

(binaryShouldNotParse):

  • wasm/stress/shared-memory-errors.js: Added.

(assert.throws):

  • wasm/stress/shared-wasm-memory-buffer.js: Added.

LayoutTests/imported/w3c:

  • web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-success.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/constructor.any-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/constructor.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/grow.any-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/grow.any.worker-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-copy-channel-expected.txt:

Source/JavaScriptCore:

ARM64E clang optimizer is broken and optimizing forever if Wasm::MemoryHandle::memory() is inlined.
Putting NEVER_INLINE onto this function for now (unfortunate).

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • llint/LLIntPCRanges.h:

(JSC::LLInt::isWasmLLIntPC):

  • llint/LowLevelInterpreter.asm:
  • llint/WebAssembly.asm:
  • runtime/JSArrayBuffer.h:

(JSC::JSArrayBuffer::toWrappedAllowShared):

  • runtime/JSArrayBufferView.h:
  • runtime/JSArrayBufferViewInlines.h:

(JSC::JSArrayBufferView::toWrappedAllowShared):

  • runtime/JSGenericTypedArrayView.h:

(JSC::JSGenericTypedArrayView<Adaptor>::toWrappedAllowShared):

  • runtime/Options.cpp:

(JSC::overrideDefaults):
(JSC::Options::initialize):

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::AirIRGenerator::addCurrentMemory):
(JSC::Wasm::AirIRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::AirIRGenerator::addCall):
(JSC::Wasm::AirIRGenerator::addCallIndirect):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::B3IRGenerator::addCurrentMemory):
(JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::B3IRGenerator::addCall):
(JSC::Wasm::B3IRGenerator::addCallIndirect):

  • wasm/WasmBinding.cpp:

(JSC::Wasm::wasmToWasm):

  • wasm/WasmFaultSignalHandler.cpp:

(JSC::Wasm::trapHandler):
(JSC::Wasm::enableFastMemory):
(JSC::Wasm::prepareFastMemory):

  • wasm/WasmInstance.h:

(JSC::Wasm::Instance::cachedMemory const):
(JSC::Wasm::Instance::cachedBoundsCheckingSize const):
(JSC::Wasm::Instance::updateCachedMemory):
(JSC::Wasm::Instance::offsetOfCachedBoundsCheckingSize):
(JSC::Wasm::Instance::cachedMemorySize const): Deleted.
(JSC::Wasm::Instance::offsetOfCachedMemorySize): Deleted.

  • wasm/WasmMemory.cpp:

(JSC::Wasm::MemoryHandle::MemoryHandle):
(JSC::Wasm::MemoryHandle::~MemoryHandle):
(JSC::Wasm::MemoryHandle::memory const):
(JSC::Wasm::Memory::Memory):
(JSC::Wasm::Memory::create):
(JSC::Wasm::Memory::tryCreate):
(JSC::Wasm::Memory::addressIsInGrowableOrFastMemory):
(JSC::Wasm::Memory::growShared):
(JSC::Wasm::Memory::grow):
(JSC::Wasm::Memory::dump const):
(JSC::Wasm::Memory::~Memory): Deleted.
(JSC::Wasm::Memory::addressIsInActiveFastMemory): Deleted.

  • wasm/WasmMemory.h:

(JSC::Wasm::Memory::addressIsInGrowableOrFastMemory):
(JSC::Wasm::Memory::operator bool const): Deleted.
(JSC::Wasm::Memory::memory const): Deleted.
(JSC::Wasm::Memory::size const): Deleted.
(JSC::Wasm::Memory::sizeInPages const): Deleted.
(JSC::Wasm::Memory::initial const): Deleted.
(JSC::Wasm::Memory::maximum const): Deleted.
(JSC::Wasm::Memory::mode const): Deleted.
(JSC::Wasm::Memory::check): Deleted.
(JSC::Wasm::Memory::offsetOfMemory): Deleted.
(JSC::Wasm::Memory::offsetOfSize): Deleted.
(JSC::Wasm::Memory::addressIsInActiveFastMemory): Deleted.

  • wasm/WasmMemoryInformation.cpp:

(JSC::Wasm::PinnedRegisterInfo::get):
(JSC::Wasm::PinnedRegisterInfo::PinnedRegisterInfo):

  • wasm/WasmMemoryInformation.h:

(JSC::Wasm::PinnedRegisterInfo::toSave const):

  • wasm/WasmMemoryMode.cpp:

(JSC::Wasm::makeString):

  • wasm/WasmMemoryMode.h:
  • wasm/js/JSToWasm.cpp:

(JSC::Wasm::createJSToWasmWrapper):

  • wasm/js/JSWebAssemblyInstance.cpp:

(JSC::JSWebAssemblyInstance::tryCreate):

  • wasm/js/JSWebAssemblyMemory.cpp:

(JSC::JSWebAssemblyMemory::buffer):
(JSC::JSWebAssemblyMemory::growSuccessCallback):

  • wasm/js/JSWebAssemblyMemory.h:
  • wasm/js/WebAssemblyFunction.cpp:

(JSC::WebAssemblyFunction::jsCallEntrypointSlow):

  • wasm/js/WebAssemblyMemoryConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • wasm/js/WebAssemblyMemoryPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • wasm/js/WebAssemblyModuleRecord.cpp:

(JSC::WebAssemblyModuleRecord::evaluate):

Source/WebCore:

Tests: js/dom/webassembly-memory-normal-fail.html

js/dom/webassembly-memory-shared-basic.html
js/dom/webassembly-memory-shared-fail.html
storage/indexeddb/shared-memory-structured-clone.html

  • Headers.cmake:
  • Modules/indexeddb/server/IDBSerializationContext.cpp:

(WebCore::IDBServer::IDBSerializationContext::initializeVM):

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/IDLTypes.h:
  • bindings/js/CommonVM.cpp:

(WebCore::commonVMSlow):

  • bindings/js/JSDOMConvertBufferSource.h:

(WebCore::Detail::BufferSourceConverter::convert):
(WebCore::Converter<IDLArrayBuffer>::convert):
(WebCore::Converter<IDLDataView>::convert):
(WebCore::Converter<IDLInt8Array>::convert):
(WebCore::Converter<IDLInt16Array>::convert):
(WebCore::Converter<IDLInt32Array>::convert):
(WebCore::Converter<IDLUint8Array>::convert):
(WebCore::Converter<IDLUint16Array>::convert):
(WebCore::Converter<IDLUint32Array>::convert):
(WebCore::Converter<IDLUint8ClampedArray>::convert):
(WebCore::Converter<IDLFloat32Array>::convert):
(WebCore::Converter<IDLFloat64Array>::convert):
(WebCore::Converter<IDLArrayBufferView>::convert):
(WebCore::Converter<IDLAllowSharedAdaptor<T>>::convert):

  • bindings/js/JSDOMConvertUnion.h:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):
(WebCore::CloneSerializer::CloneSerializer):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::deserialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::computeMemoryCost const):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):

  • bindings/js/SerializedScriptValue.h:
  • bindings/js/WebCoreJSClientData.cpp:

(WebCore::JSVMClientData::initNormalWorld):

  • bindings/js/WebCoreJSClientData.h:
  • bindings/js/WebCoreTypedArrayController.cpp:

(WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController):
(WebCore::WebCoreTypedArrayController::isAtomicsWaitAllowedOnCurrentThread):

  • bindings/js/WebCoreTypedArrayController.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(IsAnnotatedType):
(GetAnnotatedIDLType):

  • bindings/scripts/IDLAttributes.json:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjDOMConstructor::construct):
(WebCore::jsTestObjPrototypeFunction_encodeIntoBody):
(WebCore::JSC_DEFINE_HOST_FUNCTION):

  • bindings/scripts/test/TestObj.idl:
  • dom/TextDecoder.idl:
  • dom/TextDecoderStreamDecoder.idl:
  • dom/TextEncoder.idl:
  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::WorkerGlobalScope):

  • workers/WorkerGlobalScope.h:
  • workers/WorkerOrWorkletGlobalScope.cpp:

(WebCore::WorkerOrWorkletGlobalScope::WorkerOrWorkletGlobalScope):

  • workers/WorkerOrWorkletGlobalScope.h:
  • workers/WorkerOrWorkletScriptController.cpp:

(WebCore::WorkerOrWorkletScriptController::WorkerOrWorkletScriptController):

  • workers/WorkerOrWorkletScriptController.h:
  • workers/WorkerThreadType.h: Added.
  • workers/service/ServiceWorkerGlobalScope.cpp:

(WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):

  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::WorkletGlobalScope):

Source/WTF:

  • wtf/PlatformEnable.h:

LayoutTests:

  • js/dom/resources/webassembly-memory-normal-fail-worker.js: Added.
  • js/dom/resources/webassembly-memory-shared-worker.js: Added.

(onmessage):

  • js/dom/webassembly-memory-normal-fail-expected.txt: Added.
  • js/dom/webassembly-memory-normal-fail.html: Added.
  • js/dom/webassembly-memory-shared-basic-expected.txt: Added.
  • js/dom/webassembly-memory-shared-basic.html: Added.
  • js/dom/webassembly-memory-shared-fail-expected.txt: Added.
  • js/dom/webassembly-memory-shared-fail.html: Added.
  • platform/win/TestExpectations:
  • storage/indexeddb/resources/shared-memory-structured-clone.js: Added.

(prepareDatabase):
(async startTests):
(testSharedWebAssemblyMemory):

  • storage/indexeddb/shared-memory-structured-clone-expected.txt: Added.
  • storage/indexeddb/shared-memory-structured-clone.html: Added.
12:14 PM Changeset in webkit [269973] by Simon Fraser
  • 36 edits
    2 adds in trunk

Propagate wheel event handling back to the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=219050

Reviewed by Chris Dumez.
Source/WebCore:

Prepare to fix webkit.org/b/218764 by adding a way for the main thread to communicate back
to the scrolling thread information about whether the wheel event was dispatched to JS,
and whether preventDefault() was called on it.

The EventHandling enum has bits that are set when the event is dispatched to JS,
when it's canceled, and if default handling happened. These values are filled in
Element::dispatchWheelEvent(). They propagate back to the scrolling thread via
EventHandler::wheelEventWasProcessedByMainThread(), whose macOS implementation
calls into the ScrollingCoordinator, which will set state on the ScrollingTree in
a future patch.

WheelEventTestMonitor gains a "reason" flag to track the async propagation of
wheelEventWasProcessedByMainThread() back to the scrolling thread.

This patch also adds infrastructure for the scrolling thread to specify that wheel events
sent to the main thread will be uncancelable; WheelEventProcessingSteps gains
MainThreadForNonBlockingDOMEventDispatch and MainThreadForBlockingDOMEventDispatch,
and if MainThreadForNonBlockingDOMEventDispatch is set, then we create
WheelEvents with IsCancelable::No. This will be the case for wheel events in
the passive event region.

Rename ScrollingCoordinator::handleWheelEvent() to performDefaultWheelEventHandling()
for clarity, and stop passing the FrameView* which was unused.

Add a missing lock in ThreadedScrollingTree::handleWheelEventAfterMainThread().

  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent):

  • dom/Element.h:
  • dom/WheelEvent.cpp:

(WebCore::WheelEvent::WheelEvent):
(WebCore::WheelEvent::create):

  • dom/WheelEvent.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::wheelEventWasProcessedByMainThread):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::handleWheelEventInternal):

  • page/EventHandler.h:
  • page/FrameView.cpp:

(WebCore::FrameView::wheelEvent):

  • page/PointerLockController.cpp:

(WebCore::PointerLockController::dispatchLockedWheelEvent):

  • page/WheelEventTestMonitor.cpp:

(WebCore::operator<<):

  • page/WheelEventTestMonitor.h:
  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::wheelEvent):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::wheelEvent):
(WebCore::EventHandler::wheelEventWasProcessedByMainThread):

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::performDefaultWheelEventHandling):
(WebCore::ScrollingCoordinator::wheelEventWasProcessedByMainThread):
(WebCore::ScrollingCoordinator::handleWheelEvent): Deleted.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::determineWheelEventProcessing):
(WebCore::ScrollingTree::handleWheelEvent):

  • page/scrolling/ScrollingTree.h:

(WebCore::WheelEventHandlingResult::needsMainThreadProcessing const):

  • page/scrolling/ScrollingTreeLatchingController.cpp:

(WebCore::ScrollingTreeLatchingController::receivedWheelEvent): Send in WheelEventProcessingSteps which
a future patch will use.

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

(WebCore::ThreadedScrollingTree::handleWheelEventAfterMainThread): There was a missing lock here.
(WebCore::ThreadedScrollingTree::wheelEventWasProcessedByMainThread):

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

(WebCore::ScrollingCoordinatorMac::performDefaultWheelEventHandling):
(WebCore::nextDeferIdentifier):
(WebCore::ScrollingCoordinatorMac::wheelEventWasProcessedByMainThread):
(WebCore::ScrollingCoordinatorMac::handleWheelEvent): Deleted.

  • page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:

(WebCore::ScrollingTreeOverflowScrollingNodeMac::handleWheelEvent):

  • page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp:

(WebCore::ScrollingCoordinatorNicosia::performDefaultWheelEventHandling):
(WebCore::ScrollingCoordinatorNicosia::wheelEventWasProcessedByMainThread):
(WebCore::ScrollingCoordinatorNicosia::handleWheelEvent): Deleted.

  • page/scrolling/nicosia/ScrollingCoordinatorNicosia.h:
  • platform/PlatformEvent.h:
  • platform/PlatformWheelEvent.cpp:

(WebCore::operator<<): Add dumping of EventHandling.

  • platform/PlatformWheelEvent.h:

Source/WebKit:

For now, use MainThreadForBlockingDOMEventDispatch for the default steps (used by non-macOS platforms).

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::handleWheelEvent):

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):

Source/WebKitLegacy/win:

Use MainThreadForBlockingDOMEventDispatch.

  • WebView.cpp:

(WebView::mouseWheel):

LayoutTests:

  • fast/events/wheel/wheel-event-in-passive-region-non-cancelable-expected.txt: Added.
  • fast/events/wheel/wheel-event-in-passive-region-non-cancelable.html: Added.
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
12:02 PM Changeset in webkit [269972] by Chris Dumez
  • 11 edits in trunk/LayoutTests

[Rosetta] webaudio/BiquadFilter/tail-time-*.html tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=219096

Reviewed by Geoffrey Garen.

  • platform/mac/TestExpectationsRosetta:

Unskip tests as they should no longer be flaky.

  • resources/testharnessreport.js:

(self.testRunner.add_completion_callback):
Strip some text from tests output that tends to cause flakiness.

  • webaudio/BiquadFilter/tail-time-allpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-bandpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-highpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-highshelf-expected.txt:
  • webaudio/BiquadFilter/tail-time-lowpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-lowshelf-expected.txt:
  • webaudio/BiquadFilter/tail-time-notch-expected.txt:
  • webaudio/BiquadFilter/tail-time-peaking-expected.txt:

Rebaseline WPT tests now that their output has been simplified.

11:31 AM Changeset in webkit [269971] by Alan Coon
  • 2 edits in branches/safari-611.1.6-branch/Source/WebKit

Cherry-pick r269966. rdar://problem/71547830

[macOS] Fix message filter sandbox violation
https://bugs.webkit.org/show_bug.cgi?id=219090
<rdar://problem/71522043>

Reviewed by Geoffrey Garen.

The message filter in the WebContent process on macOS needs to allow some additional messages.

  • WebProcess/com.apple.WebProcess.sb.in:

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

11:31 AM Changeset in webkit [269970] by Alan Coon
  • 2 edits in branches/safari-611.1.6-branch/Source/WebCore

Cherry-pick r269944. rdar://problem/71547824

REGRESSION(r269614): [iOS] WebContent crashes when entering Full Screen video with text captions
https://bugs.webkit.org/show_bug.cgi?id=219065

Reviewed by Tim Horton.

Pass a CGImageRef of the video caption to CALayer instead of passing a
NativeImage which is now a WebCore class.

  • platform/graphics/cocoa/TextTrackRepresentationCocoa.mm: (WebCore::TextTrackRepresentationCocoa::update):

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

10:42 AM Changeset in webkit [269969] by Wenson Hsieh
  • 6 edits in trunk/Source/WebKit

Clean up some code in SharedDisplayListHandle
https://bugs.webkit.org/show_bug.cgi?id=219089

Reviewed by Geoff Garen.

Currently, reservedCapacityAtStart is defined as a constant 16 bytes, which is enough to encompass the
contents of the header structure in a shared display list handle (i.e. an 8-byte atomic for the lock, and
another 8 bytes for the unread count).

Instead of hard-coding this, we could simply make this a constexpr function that returns the size of
DisplayListSharedMemoryHeader (rounded up to ensure alignment of all display list item data).

No change in behavior.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayList):
(WebKit::RemoteRenderingBackend::didCreateSharedDisplayListHandle):

  • Shared/SharedDisplayListHandle.h:

(WebKit::SharedDisplayListHandle::headerSize):

  • WebProcess/GPU/graphics/DisplayListWriterHandle.cpp:

(WebKit::DisplayListWriterHandle::resetWritableOffsetIfPossible):

  • WebProcess/GPU/graphics/DisplayListWriterHandle.h:

(WebKit::DisplayListWriterHandle::DisplayListWriterHandle):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::createItemBuffer):

Also add a static assert that the size of a newly allocated buffer is larger than the reserved header capacity.

10:35 AM Changeset in webkit [269968] by graouts@webkit.org
  • 4 edits
    4 copies
    1 add
    1 delete in trunk/LayoutTests

Tests for the <model> element should be in a dedicated top-level directory
https://bugs.webkit.org/show_bug.cgi?id=219077

Reviewed by Dean Jackson.

Move the tests for the <model> element from system-preview/model to the top-level model-element directory.
Tests under this directory run only on macOS and iOS following where the ENABLE_MODEL_ELEMENT is defined.

  • TestExpectations:
  • model-element/model-element-expected.txt: Renamed from LayoutTests/system-preview/model/model-element-expected.txt.
  • model-element/model-element-source-expected.txt: Renamed from LayoutTests/system-preview/model/model-element-source-expected.txt.
  • model-element/model-element-source.html: Renamed from LayoutTests/system-preview/model/model-element-source.html.
  • model-element/model-element.html: Renamed from LayoutTests/system-preview/model/model-element.html.
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
10:14 AM Changeset in webkit [269967] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unskip a few WebAudio tests that are no longer failing on Rosetta since r269853.

  • platform/mac/TestExpectationsRosetta:
10:06 AM Changeset in webkit [269966] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS] Fix message filter sandbox violation
https://bugs.webkit.org/show_bug.cgi?id=219090
<rdar://problem/71522043>

Reviewed by Geoffrey Garen.

The message filter in the WebContent process on macOS needs to allow some additional messages.

  • WebProcess/com.apple.WebProcess.sb.in:
10:02 AM Changeset in webkit [269965] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk/JSTests

[JSC] Import V8 private instance fields tests
https://bugs.webkit.org/show_bug.cgi?id=219075

Patch by Xan Lopez <Xan Lopez> on 2020-11-18
Reviewed by Yusuke Suzuki.

  • stress/class-fields-private-harmony.js: Added.
9:59 AM Changeset in webkit [269964] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION (r269774): [ Mac WK2 ] fast/lists/001.html and fast/lists/001-vertical.html are flaky crashing
https://bugs.webkit.org/show_bug.cgi?id=218995

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:51 AM Changeset in webkit [269963] by graouts@webkit.org
  • 3 edits
    2 adds in trunk

[Web Animations] Ensure we don't schedule animation udpates when there are no styles to update
https://bugs.webkit.org/show_bug.cgi?id=219071

Reviewed by Simon Fraser.

Source/WebCore:

Test: webanimations/scheduling-of-animation-without-keyframes.html

For keyframe effects that don't interpolate any CSS property, run the same logic that we already run
to determine when to schedule the next animation update in the case where we are running accelerated
animations.

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::timeToNextTick const):

LayoutTests:

Add a test that creates animations with various empty keyframes parameters to check that we don't
schedule animation update for them.

  • webanimations/scheduling-of-animation-without-keyframes-expected.txt: Added.
  • webanimations/scheduling-of-animation-without-keyframes.html: Added.
9:45 AM Changeset in webkit [269962] by graouts@webkit.org
  • 6 edits
    2 adds in trunk

Support <source> as a child of <model> to specify the current source
https://bugs.webkit.org/show_bug.cgi?id=219080

Reviewed by Dean Jackson.

Source/WebCore:

Test: system-preview/model/model-element-source.html

  • html/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::sourcesChanged):
(WebCore::HTMLModelElement::setSourceURL):
(WebCore::HTMLModelElement::didMoveToNewDocument):

  • html/HTMLModelElement.h:
  • html/HTMLModelElement.idl:
  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::insertedIntoAncestor):
(WebCore::HTMLSourceElement::removedFromAncestor):
(WebCore::HTMLSourceElement::parseAttribute):

LayoutTests:

Add a series of tests for the HTMLModelElement.currentSrc property and its relationship with <source> elements.

  • system-preview/model/model-element-source-expected.txt: Added.
  • system-preview/model/model-element-source.html: Added.
8:58 AM Changeset in webkit [269961] by Russell Epstein
  • 3 edits in branches/safari-610.3.7.1-branch/Source/JavaScriptCore

Cherry-pick r269931. rdar://problem/71540532

Add more info to the RELEASE_ASSERT inside Parser::parseInner
https://bugs.webkit.org/show_bug.cgi?id=219054
<rdar://problem/71506453>

Reviewed by Mark Lam.

We have some crashes here, and it'll be helpful for the crashlogs to have
more info in the register state.

  • parser/Lexer.h: (JSC::Lexer::codeLength):
  • parser/Parser.cpp: (JSC::Parser<LexerType>::parseInner):

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

8:39 AM Changeset in webkit [269960] by Chris Dumez
  • 4 edits in trunk

navigator.clipboard is not exposed on *.localhost pages
https://bugs.webkit.org/show_bug.cgi?id=219020

Reviewed by Wenson Hsieh.

Source/WebCore:

Make sure that if the host falls within ".localhost", the security origin is treated as
potentially trustworthy, as per:

This makes sure that API that are exposed only to secure context (such as navigator.clipboad)
are exposed on subdomains of localhost.

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::isLocalHostOrLoopbackIPAddress):

Tools:

Extend API test coverage.

  • TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:

(TestWebKitAPI::TEST_F):

8:13 AM Changeset in webkit [269959] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Update RunPerlTests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219083

Reviewed by Jonathan Bedard.

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

(RunPerlTests):
(RunPerlTests.start): Initialized log observer.
(RunPerlTests.parseOutputLine): Parse each log line as they come.
(RunPerlTests.countFailures): Updated to return failedTestCount.

8:05 AM Changeset in webkit [269958] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Update RunPythonTests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219082

Reviewed by Jonathan Bedard.

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

(RunPythonTests):
(RunPythonTests.start): Initialized log observer.
(RunPythonTests.parseOutputLine): Parse each log line as they come.
(RunPythonTests.countFailures): Updated to return failedTestCount.

8:03 AM Changeset in webkit [269957] by Chris Lord
  • 13 edits
    2 adds in trunk

Make CSS font shorthands parsable within a worker (i.e. without CSSValuePool)
https://bugs.webkit.org/show_bug.cgi?id=202794

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/html/canvas/element/text-styles/2d.text.font.parse.invalid-expected.txt:

Source/WebCore:

Add functions to make it possible to parse CSS font shorthand
properties without using CSS values, so it can be done safely off of
the main thread. To support and test this, also add functions to make
it possible to resolve those properties into a style without
StyleBuilder and use that within CanvasRenderingContext2D.

No new tests, covered by existing tests.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseFontWorkerSafe):

  • css/parser/CSSParser.h:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeFontWeight):
(WebCore::consumeFontStretchKeywordValue):
(WebCore::consumeFontStyle):
(WebCore::consumeFamilyName):

  • css/parser/CSSPropertyParser.h:
  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::CalcParser::consumePercentRaw):
(WebCore::CSSPropertyParserHelpers::CalcParser::consumeAngleRaw):
(WebCore::CSSPropertyParserHelpers::CalcParser::consumeLengthRaw):
(WebCore::CSSPropertyParserHelpers::CalcParser::consumeLengthOrPercentRaw):
(WebCore::CSSPropertyParserHelpers::consumeNumberRaw):
(WebCore::CSSPropertyParserHelpers::consumeNumber):
(WebCore::CSSPropertyParserHelpers::consumeFontWeightNumberRaw):
(WebCore::CSSPropertyParserHelpers::consumeFontWeightNumber):
(WebCore::CSSPropertyParserHelpers::consumeLengthRaw):
(WebCore::CSSPropertyParserHelpers::consumeLength):
(WebCore::CSSPropertyParserHelpers::consumePercent):
(WebCore::CSSPropertyParserHelpers::consumeLengthOrPercentRaw):
(WebCore::CSSPropertyParserHelpers::consumeLengthOrPercent):
(WebCore::CSSPropertyParserHelpers::consumeAngleRaw):
(WebCore::CSSPropertyParserHelpers::consumeIdentRaw):
(WebCore::CSSPropertyParserHelpers::consumeIdent):
(WebCore::CSSPropertyParserHelpers::consumeIdentRangeRaw):
(WebCore::CSSPropertyParserHelpers::consumeFontVariantCSS21Raw):
(WebCore::CSSPropertyParserHelpers::consumeFontWeightKeywordValueRaw):
(WebCore::CSSPropertyParserHelpers::consumeFontWeightRaw):
(WebCore::CSSPropertyParserHelpers::consumeFontStretchKeywordValueRaw):
(WebCore::CSSPropertyParserHelpers::consumeFontStyleKeywordValueRaw):
(WebCore::CSSPropertyParserHelpers::consumeFontStyleRaw):
(WebCore::CSSPropertyParserHelpers::concatenateFamilyName):
(WebCore::CSSPropertyParserHelpers::consumeFamilyNameRaw):
(WebCore::CSSPropertyParserHelpers::consumeGenericFamilyRaw):
(WebCore::CSSPropertyParserHelpers::consumeFontFamilyRaw):
(WebCore::CSSPropertyParserHelpers::consumeFontSizeRaw):
(WebCore::CSSPropertyParserHelpers::consumeLineHeightRaw):
(WebCore::CSSPropertyParserHelpers::consumeFontWorkerSafe):
(WebCore::CSSPropertyParserHelpers::genericFontFamilyFromValueID):

  • css/parser/CSSPropertyParserHelpers.h:

(WebCore::CSSPropertyParserHelpers::consumeIdentRaw):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont):

  • style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyValueFontFamily):

  • style/StyleResolveForFontRaw.cpp: Added.

(WebCore::Style::resolveForFontRaw):

  • style/StyleResolveForFontRaw.h: Added.
7:36 AM Changeset in webkit [269956] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

[GPUProcess] Main thread of the GPUProcess should have same priority as main thread of the WebContent
https://bugs.webkit.org/show_bug.cgi?id=219057

Reviewed by Simon Fraser.

Main thread of the GPUProcess should have same priority as main thread of the WebContent since it
is doing rendering on its behalf.

For now, this means that on macOS, the main threads of the GPU and WebContent processes with both
get UserInteractive QoS. On iOS, they will both still get UserInitiated QoS until our RunningBoard
foreground process assertion get fixed to get the right priority (<rdar://problem/71499731>).

  • GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-OSX.plist:

Use _ProcessType=App, similarly as what we do for the WebContent process. If we don't do
this, the process is an adaptive daemon and its QoS can never be higher than UserInitiated.
We need its priority to go to UserInteractive to match the WebContent process.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::initializeGPUProcess):
Request UserInteractive QoS for the main thread of the GPUProcess, similarly to what we do
for the main thread of the WebContent process already in WebProcess::InitializeWebProcess().

7:21 AM WebKitGTK/2.30.x edited by Michael Catanzaro
(diff)
7:11 AM Changeset in webkit [269955] by commit-queue@webkit.org
  • 4 edits in trunk

[WPE][GTK] Update Outlook user agent quirk
https://bugs.webkit.org/show_bug.cgi?id=219049

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-11-18
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Users report that our user agent quirk for Outlook no longer works. Problem is
outlook.live.com has moved to outlook.office.com. Thanks to Adrian Vovk for rebuilding
WebKit to confirm that this patch fixes the issue.

  • platform/UserAgentQuirks.cpp:

(WebCore::urlRequiresMacintoshPlatform):

Tools:

  • TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:

(TestWebKitAPI::TEST):

7:03 AM Changeset in webkit [269954] by svillar@igalia.com
  • 2 edits in trunk/Source/WebCore

RenderTreeBuilderBlock using an incorrect anonymous parent to attach a new renderer
https://bugs.webkit.org/show_bug.cgi?id=218505

Reviewed by Antti Koivisto.

Let's consider the following simplified render tree:

PARENT
|_beforeChildAnonymousContainer

|_hierarchy of anonymous blocks

|_beforeChild

When RenderTreeBuilderBlock is attaching a new renderer given PARENT and beforeChild, it first tries to attach it to the PARENT
if beforeChild is a direct child of PARENT. Otherwise it assumes that beforeChild is the direct child of an anonymous block which is
in between PARENT and beforeChild. However in some cases, as the one presented above, beforeChild might have a whole hierarchy of
anonymous blocks in between. That's why we cannot assume that beforeChild->parent() is a direct child of PARENT. Instead we should use
beforeChildAnonymousContainer as the parent of the new renderer.

  • rendering/updating/RenderTreeBuilderBlock.cpp:

(WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation): Use beforeChildAnonymousContainer instead of beforeChild->parent().

7:01 AM Changeset in webkit [269953] by weinig@apple.com
  • 21 edits
    1 move in trunk/Source

Address additional feedback from https://bugs.webkit.org/show_bug.cgi?id=218960
https://bugs.webkit.org/show_bug.cgi?id=219044

Reviewed by Alex Christensen.

Source/WebCore:

Address post-review feedback from Darin.

  • WebCore.xcodeproj/project.pbxproj:
  • editing/cocoa/DataDetectorType.h: Added.
  • editing/cocoa/DataDetectorTypes.h: Removed.
  • editing/cocoa/DataDetection.h:
  • editing/cocoa/DataDetection.mm:
  • loader/FrameLoader.cpp:
  • page/SettingsBase.h:
  • page/Settings.yaml:

Rename DataDetectorTypes to DataDetectorType.

  • accessibility/ForcedAccessibilityValue.h:

Put the definition all on one line for easier reading.

  • bindings/scripts/CodeGenerator.pm:

(WK_ucfirst):

  • editing/EditingBehaviorType.h:

Special case "ios" so that it doesn't become "Ios" but rather "iOS".

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::setActive):
Fixup comment adding period and making it all one line.

  • page/FrameView.cpp:
  • page/FrameView.h:

Use forward declaration for FrameFlattening enum.

  • page/PDFImageCachingPolicy.h:
  • platform/graphics/cg/PDFDocumentImage.h:

Remove default value enumeration value and replace it with a standalone constexpr.

Source/WebKit:

  • Shared/API/Cocoa/WKDataDetectorTypesInternal.h:

(fromWKDataDetectorTypes):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::detectDataInAllFrames):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):
(WebKit::WebPage::detectDataInAllFrames):
Update for rename of WebCore::DataDetectionTypes to WebCore::DataDetectionType.

4:25 AM Changeset in webkit [269952] by commit-queue@webkit.org
  • 23 edits in trunk/Source/WebCore

GraphicsContextGL should have robust multivalue getters
https://bugs.webkit.org/show_bug.cgi?id=218976

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-11-18
Reviewed by Simon Fraser.

Change getter calls that are used to obtain single values so that the
value is a normal function return value. This reduces the risk of having
uninitialized out parameter receive location.

Change the getters that are only used to obtain single values so that
the getter itself has the return value. Add a single-value getter for
getters that are used to obtain also multiple values.

Add GCGLSpan type that is used to communicate pair: ptr, number of
elements. This is similar type to std::span in C++20. The type will be
used to receive the multi-value getter results. Use of WTF::Vector as
the return value would be problematic because the call semantics need
the length. Thus the length would be needed to be specified by either
passing in the resized vector or passing in the length. Both of the
options contain redunancy and resizable vector type would still open
interpretation to how the result value would behave. Using std::array
would be problematic because it cannot have dynamic length. GCGLSpan is
not a return value since it does not carry its data. A span is only a
view to existing data store.

The type GCGLSpan will be used to simplify the GPU process
implementation, since the bufSize will be explicitly associated in the
passed data value type, inside the GCGLSpan type.

In subsequent patches GCGLSpan will be used also for multivalue setters,
i.e. arbitrary buffer stores, i.e. const GLtype ptrs.

Use the RobustANGLE variants of the GL API implementation to obtain the
values.

Remove the corresponding RobustANGLE variants from ExtensionsGL, they
are dead code and unused.

Removes requiresRestrictedMaximumTextureSize workaround from ANGLE
GraphicsContextGLOpenGL code, it was dead code (i.e flag always false).
This should be done in ANGLE level.

Fixes cosmetic bugs where uninitialized value was used to store the
location of the gotten property. This value would be unwritten in
edge-cases like GL errors, and thus the read would touch unuinitialized
value.

Fixes a cosmetic bug where uniform block variables code would pass in
too large buffer size to the RobustANGLE call. The bufSize refers to the
number of elements, but the code passed in the size of the buffer (i.e.
number of elements * size of element).

No new tests, a refactor.

  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::transferToImageBitmap):

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::initializeNewContext):
(WebCore::WebGL2RenderingContext::getInt64Parameter):
(WebCore::WebGL2RenderingContext::getTexParameter):
(WebCore::WebGL2RenderingContext::getIndexedParameter):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockParameter):
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGL2RenderingContext::getMaxDrawBuffers):
(WebCore::WebGL2RenderingContext::getMaxColorAttachments):

  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::initializeAttachments):

  • html/canvas/WebGLProgram.cpp:

(WebCore::WebGLProgram::cacheActiveAttribLocations):
(WebCore::WebGLProgram::cacheInfoIfNeeded):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getMaxDrawBuffers):
(WebCore::WebGLRenderingContext::getMaxColorAttachments):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::compileShader):
(WebCore::WebGLRenderingContextBase::getBufferParameter):
(WebCore::WebGLRenderingContextBase::getProgramParameter):
(WebCore::WebGLRenderingContextBase::getRenderbufferParameter):
(WebCore::WebGLRenderingContextBase::getShaderParameter):
(WebCore::WebGLRenderingContextBase::getTexParameter):
(WebCore::WebGLRenderingContextBase::getUniformLocation):
(WebCore::WebGLRenderingContextBase::getBooleanParameter):
(WebCore::WebGLRenderingContextBase::getFloatParameter):
(WebCore::WebGLRenderingContextBase::getIntParameter):
(WebCore::WebGLRenderingContextBase::getUnsignedIntParameter):
(WebCore::WebGLRenderingContextBase::getMaxDrawBuffers):
(WebCore::WebGLRenderingContextBase::getMaxColorAttachments):

  • platform/graphics/ExtensionsGL.h:
  • platform/graphics/GraphicsContextGL.h:

(WebCore::GraphicsContextGL::getFloat):
(WebCore::GraphicsContextGL::getBoolean):
(WebCore::GraphicsContextGL::getInteger):
(WebCore::GraphicsContextGL::getActiveUniformBlocki):

  • platform/graphics/GraphicsTypesGL.h:

(GCGLSpan::GCGLSpan):
(GCGLSpan::operator[]):
(GCGLSpan::operator*):
(std::numeric_limits<size_t>::max):
(makeGCGLSpan):

  • platform/graphics/angle/ExtensionsGLANGLE.cpp:

(WebCore::ExtensionsGLANGLE::getTranslatedShaderSourceANGLE):
(WebCore::ExtensionsGLANGLE::getBooleanvRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getBufferParameterivRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getFloatvRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getFramebufferAttachmentParameterivRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getIntegervRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getProgramivRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getRenderbufferParameterivRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getShaderivRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getTexParameterfvRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getTexParameterivRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getUniformfvRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getUniformivRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getVertexAttribfvRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getVertexAttribivRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getVertexAttribPointervRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getIntegeri_vRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getActiveUniformBlockivRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getInteger64vRobustANGLE): Deleted.
(WebCore::ExtensionsGLANGLE::getInteger64i_vRobustANGLE): Deleted.

  • platform/graphics/angle/ExtensionsGLANGLE.h:
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLOpenGL::getIntegerv):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformImpl):
(WebCore::GraphicsContextGLOpenGL::getBooleanv):
(WebCore::GraphicsContextGLOpenGL::getBufferParameteri):
(WebCore::GraphicsContextGLOpenGL::getFloatv):
(WebCore::GraphicsContextGLOpenGL::getInteger64):
(WebCore::GraphicsContextGLOpenGL::getInteger64i):
(WebCore::GraphicsContextGLOpenGL::getFramebufferAttachmentParameteri):
(WebCore::GraphicsContextGLOpenGL::getProgrami):
(WebCore::GraphicsContextGLOpenGL::getRenderbufferParameteri):
(WebCore::GraphicsContextGLOpenGL::getShaderi):
(WebCore::GraphicsContextGLOpenGL::getTexParameterf):
(WebCore::GraphicsContextGLOpenGL::getTexParameteri):
(WebCore::GraphicsContextGLOpenGL::getUniformfv):
(WebCore::GraphicsContextGLOpenGL::getUniformiv):
(WebCore::GraphicsContextGLOpenGL::getUniformuiv):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribfv):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribiv):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribOffset):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockiv):
(WebCore::GraphicsContextGLOpenGL::getIntegeri_v): Deleted.
(WebCore::GraphicsContextGLOpenGL::getBufferParameteriv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInteger64v): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInteger64i_v): Deleted.
(WebCore::GraphicsContextGLOpenGL::getFramebufferAttachmentParameteriv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getProgramiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getRenderbufferParameteriv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getShaderiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getTexParameterfv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getTexParameteriv): Deleted.

  • platform/graphics/cv/GraphicsContextGLCVANGLE.cpp:

(WebCore::GraphicsContextGLCVANGLE::initializeUVContextObjects):

  • platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp:

(WebCore::ExtensionsGLOpenGLCommon::ensureEnabled):
(WebCore::ExtensionsGLOpenGLCommon::getTranslatedShaderSourceANGLE):
(WebCore::ExtensionsGLOpenGLCommon::getBooleanvRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getBufferParameterivRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getFloatvRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getFramebufferAttachmentParameterivRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getIntegervRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getProgramivRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getRenderbufferParameterivRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getShaderivRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getTexParameterfvRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getTexParameterivRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getUniformfvRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getUniformivRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getVertexAttribfvRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getVertexAttribivRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getVertexAttribPointervRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getIntegeri_vRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getInteger64vRobustANGLE): Deleted.
(WebCore::ExtensionsGLOpenGLCommon::getInteger64i_vRobustANGLE): Deleted.

  • platform/graphics/opengl/ExtensionsGLOpenGLCommon.h:
  • platform/graphics/opengl/ExtensionsGLOpenGLES.cpp:

(WebCore::ExtensionsGLOpenGLES::isEnabled):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:

(WebCore::GraphicsContextGLOpenGL::getIntegerv):

  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:

(WebCore::GraphicsContextGLOpenGL::getBooleanv):
(WebCore::GraphicsContextGLOpenGL::getFloatv):
(WebCore::GraphicsContextGLOpenGL::getInteger64):
(WebCore::GraphicsContextGLOpenGL::getInteger64i):
(WebCore::GraphicsContextGLOpenGL::getFramebufferAttachmentParameteri):
(WebCore::GraphicsContextGLOpenGL::getProgrami):
(WebCore::GraphicsContextGLOpenGL::getRenderbufferParameteri):
(WebCore::GraphicsContextGLOpenGL::getShaderi):
(WebCore::GraphicsContextGLOpenGL::getTexParameterf):
(WebCore::GraphicsContextGLOpenGL::getTexParameteri):
(WebCore::GraphicsContextGLOpenGL::getUniformfv):
(WebCore::GraphicsContextGLOpenGL::getUniformiv):
(WebCore::GraphicsContextGLOpenGL::getUniformuiv):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribf):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribiv):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockiv):
(WebCore::GraphicsContextGLOpenGL::getIntegeri_v): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInteger64v): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInteger64i_v): Deleted.
(WebCore::GraphicsContextGLOpenGL::getFramebufferAttachmentParameteriv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getProgramiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getRenderbufferParameteriv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getShaderiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getTexParameterfv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getTexParameteriv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getVertexAttribfv): Deleted.

  • platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp:

(WebCore::GraphicsContextGLOpenGL::getIntegerv):
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

3:15 AM Changeset in webkit [269951] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

REGRESSION(r269435): [Debug][GStreamer] Several tests are crashing
https://bugs.webkit.org/show_bug.cgi?id=218735
<rdar://problem/71469947>

Patch by Philippe Normand <pnormand@igalia.com> on 2020-11-18
Reviewed by Carlos Garcia Campos.

Cache the referrer value from the main thread before using it in the GStreamer secondary
thread.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::sourceSetup):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcMakeRequest):
(webKitWebSrcSetMediaPlayer):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
2:55 AM Changeset in webkit [269950] by commit-queue@webkit.org
  • 75 edits
    15 deletes in trunk

Unreviewed, reverting r269940.
https://bugs.webkit.org/show_bug.cgi?id=219076

caused seemingly-infinite build time regression

Reverted changeset:

"[JSC] Implement WebAssembly.Memory with shared"
https://bugs.webkit.org/show_bug.cgi?id=218693
https://trac.webkit.org/changeset/269940

2:44 AM Changeset in webkit [269949] by clopez@igalia.com
  • 2 edits in trunk/Tools

[FlatPak] update-webkitgtk-libs fails after a clean build
https://bugs.webkit.org/show_bug.cgi?id=218724

Reviewed by Philippe Normand.

The issue was caused because when adding a new flatpak repository
via the method FlatpakRepos.add() that repository is not added to
the internal list of available repositories inside the object FlatpakRepos.
So then the check on setup_builddir() added in r268542 failed because
the internal list of repositories on the object FlatpakRepos() was
empty on the first run (after a clean build).
To fix this we ensure to re-generate the internal list of flatpak
repositories any time that a new reporistory is added by calling
FlatpakRepos.update() after FlatpakRepos.add()

On top of that fix, we add another fix to make the code more robust.
Now it allows the generation of toolchains to fail without causing
a fatal error. Also a new check is added in order to retry to generate
the toolchains in the next run if is detected that they were not
correctly generated.

  • flatpak/flatpakutils.py:

(FlatpakRepos.add):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.main):
(WebkitFlatpak.check_toolchains_generated):
(WebkitFlatpak.pack_toolchain):

1:31 AM Changeset in webkit [269948] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix the build with GCC 10

Add a temporary workaround for a GCC 10 bug.

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::sanitizeHTTPHeaderFieldsAccordingToTainting):

12:39 AM Changeset in webkit [269947] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WPE][GTK] Update Safari version in user agent header for Safari 14
https://bugs.webkit.org/show_bug.cgi?id=219048

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-11-18
Reviewed by Carlos Garcia Campos.

See: https://webkit.org/blog/11340/new-webkit-features-in-safari-14/

  • platform/glib/UserAgentGLib.cpp:

(WebCore::buildUserAgentString):

12:28 AM Changeset in webkit [269946] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Release assertion failure in Optional<WebCore::SimpleRange>::operator* via CompositeEditCommand::moveParagraphs
https://bugs.webkit.org/show_bug.cgi?id=218494

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-11-18
Reviewed by Ryosuke Niwa.

Source/WebCore:

This is happening when insert list command is called for a list item containing a body element as a child. When
the tree is iterated looking for the end position, the body element selected as candidate, but a null position
is returned because it's considered to be in a different editing element. This happens because
Node::rootEditableElement() always returns the node itseld for body elements, but it should actually check that
the node is the document body.

Test: editing/inserting/insert-list-with-body-child-crash.html

  • dom/Node.cpp:

(WebCore::Node::isRootEditableElement const): Check node is the document body, not just a body element.
(WebCore::Node::rootEditableElement const): Ditto.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::moveParagraphs): Add an assert to ensure it's not called with a null endOfParagraphToMove.

LayoutTests:

  • editing/inserting/insert-list-with-body-child-crash-expected.txt: Added.
  • editing/inserting/insert-list-with-body-child-crash.html: Added.
Note: See TracTimeline for information about the timeline view.