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

Timeline



Dec 7, 2020:

11:50 PM Changeset in webkit [270530] by Fujii Hironori
  • 5 edits in trunk

Unreviewed sort-Xcode-project-file

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Tools:

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
8:14 PM Changeset in webkit [270529] by Said Abou-Hallawa
  • 6 edits in trunk/Source

[GPU Process] Ensure the backend of ImageBuffer is created before getting its handle
https://bugs.webkit.org/show_bug.cgi?id=219623

Reviewed by Tim Horton.

Source/WebCore:

Remove the ImageBuffer::backend() method and move ensureBackendCreated()
from ConcreteImageBuffer to ImageBuffer. Clients should ensure the backend
is created before accessing its method. ensureBackendCreated() is only
overridden by RemoteImageBufferProxy.

  • platform/graphics/ConcreteImageBuffer.h:

(WebCore::ConcreteImageBuffer::ensureBackendCreated const): Deleted.

  • platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::backend const): Deleted.

Source/WebKit:

In r270458 and in RemoteLayerBackingStore::encode(), casting the ImageBuffer
and calling the overriding createImageBufferBackendHandle() of the superclass
was replaced by casting the backend and calling its createImageBufferBackendHandle()
directly.

This may lead to crash if the backend was not created when calling its
createImageBufferBackendHandle(). The createImageBufferBackendHandle()
of the ImageBuffer superclass calls ensureBackendCreated() before calling
createImageBufferBackendHandle() of the backend.

So we need to replace to call backend() to ensureBackendCreated().

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::encode const):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
5:09 PM Changeset in webkit [270528] by Ryan Haddad
  • 2 edits in trunk/Tools

Unreviewed API test gardening, disable failing tests on Big Sur.

  • TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:

(TEST):

3:49 PM Changeset in webkit [270527] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION (r269359): [ Mac ] http/tests/inspector/dom/disconnect-dom-tree-after-main-frame-navigation.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=219225

unreviewed test gardening.

  • platform/mac/TestExpectations:
3:43 PM Changeset in webkit [270526] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Parse content after # in data URLs with HLS mime types
https://bugs.webkit.org/show_bug.cgi?id=219612
<rdar://problem/71039282>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-07
Reviewed by Darin Adler.

Source/WebCore:

r267995 made us conform to the behavior of Chrome and Firefox by removing fragments from data URLs before parsing.
While this is desirable, there is content in Safari-specific HLS data URLs that needs the content including and after #.
So, to fix this, wait until after we know the mime type and remove the fragment if it's not HLS.

Test: fast/url/data-url-mediatype.html

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::loadDataURL):
(WebCore::shouldStripFragmentIdentifier): Deleted.

  • platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::shouldRemoveFragmentIdentifier):
(WebCore::DataURLDecoder::DecodeTask::DecodeTask):
(WebCore::DataURLDecoder::DecodeTask::process):
(WebCore::DataURLDecoder::createDecodeTask):

LayoutTests:

  • fast/url/data-url-mediatype-expected.txt: Added.
  • fast/url/data-url-mediatype.html: Added.
3:33 PM Changeset in webkit [270525] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Check if RenderInline style is supported
https://bugs.webkit.org/show_bug.cgi?id=219611

Reviewed by Antti Koivisto.

At this point it's insufficient to check for block style only. Inline boxes may have unsupported styles as well.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):

2:26 PM Changeset in webkit [270524] by commit-queue@webkit.org
  • 22 edits
    1 add in trunk

[WASM-References] Add support for table.copy
https://bugs.webkit.org/show_bug.cgi?id=219427

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

Add support for table.copy from reference types proposal:
https://webassembly.github.io/reference-types/core/syntax/instructions.html#table-instructions.
JSTests:

Add the tests from above spec.

  • wasm/references-spec-tests/table_copy.js: Added.

(hostref):
(is_hostref):
(is_funcref):
(eq_ref):
(let.handler.get target):
(register):
(module):
(instance):
(call):
(get instance):
(exports):
(run):
(assert_malformed):
(assert_invalid):
(assert_unlinkable):
(assert_uninstantiable):
(assert_trap):
(try.f):
(catch):
(assert_exhaustion):
(assert_return):
(assert_return_canonical_nan):
(assert_return_arithmetic_nan):
(assert_return_ref):
(assert_return_func):

  • wasm/references/element_parsing.js:
  • wasm/wasm.json:

Source/JavaScriptCore:

The table.copy instruction accepts three stack arguments (destination
offset, source offset, length) and two immediates for table indexes
and copies items from one wasm table to another.

  • bytecode/BytecodeList.rb:
  • llint/WebAssembly.asm:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::addTableFill):
(JSC::Wasm::AirIRGenerator::addTableCopy):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::addTableFill):
(JSC::Wasm::B3IRGenerator::addTableCopy):

  • wasm/WasmFunctionParser.h:

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

  • wasm/WasmInstance.cpp:

(JSC::Wasm::Instance::tableCopy):

  • wasm/WasmInstance.h:
  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::LLIntGenerator::addTableCopy):

  • wasm/WasmOperations.cpp:

(JSC::Wasm::isSumOverflow):
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):

  • wasm/WasmOperations.h:
  • wasm/WasmSectionParser.cpp:

(JSC::Wasm::SectionParser::parseElement):

  • wasm/WasmSlowPaths.cpp:

(JSC::LLInt::WASM_SLOW_PATH_DECL):

  • wasm/WasmSlowPaths.h:
  • wasm/WasmTable.cpp:

(JSC::Wasm::Table::copy):
(JSC::Wasm::FuncRefTable::copyFunction):

  • wasm/WasmTable.h:
  • wasm/wasm.json:
1:59 PM Changeset in webkit [270523] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

Add check to ensure that the size of the result of AXTextMarkerGetBytePtr is equal to the size of TextMarkerData.
https://bugs.webkit.org/show_bug.cgi?id=219601

Reviewed by Simon Fraser.

Covered by existing tests.

This is a follow up change to the patch for
https://bugs.webkit.org/show_bug.cgi?id=219491
per Simon Fraser's comment.

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::getBytesFromAXTextMarker):
Added a check to ensure that the memory block returned by AXTextMarkerGetBytePtr
is the same size as TextMarkerData. This doesn't guaranty that the
underlying binary structures are the same, but it is a sanity check that
may catch flagrant discrepancies.

1:55 PM Changeset in webkit [270522] by Brent Fulgham
  • 4 edits in trunk/Source/WebKit

Add sandbox telemetry for likely unused features
https://bugs.webkit.org/show_bug.cgi?id=219544
<rdar://71985678>

Reviewed by Per Arne Vollan.

Add telemetry to confirm the results of our manual review of the sandbox. Add 'hw.memsize' to
the allowed sysctl's for the Network process on macOS, since it is needed by CFNetwork, and is
already permitted on iOS.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: Allow the 'hw.memsize' sysctl,

which is needed by CFNetwork, and is already allowed on iOS.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Add logging to confirm we

do not need file-read-metadata for syslog.

  • WebProcess/com.apple.WebProcess.sb.in: Add logging to confirm BluetoothServices is not

needed.

1:29 PM Changeset in webkit [270521] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GLIB] Skip remaining sframe tests

Unreviewed test gardening.

  • platform/glib/TestExpectations:
1:12 PM Changeset in webkit [270520] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Ensure that DisplayListSharedMemoryHeader is never explicitly created or destroyed at compile-time
https://bugs.webkit.org/show_bug.cgi?id=219609

Reviewed by Tim Horton.

Make sure that a DisplayListSharedMemoryHeader is never created or destroyed by marking the constructor and
destructor as deleted. A DisplayListSharedMemoryHeader should only ever be reinterpret_cast-ed from the
first few bytes of a shared display list handle.

  • Shared/SharedDisplayListHandle.h:
12:56 PM Changeset in webkit [270519] by Adrian Perez de Castro
  • 7 edits in trunk/Source/WebCore

Non-unified build fixes, early December 2020 edition (bis)
https://bugs.webkit.org/show_bug.cgi?id=219607

Unreviewed non-unified build fixes.

  • contentextensions/ImmutableNFA.h:
  • contentextensions/SerializedNFA.cpp:
  • contentextensions/SerializedNFA.h:
  • loader/DocumentLoader.cpp:
  • platform/audio/MultiChannelResampler.h:
  • platform/audio/SincResampler.h:
12:48 PM Changeset in webkit [270518] by Ryan Haddad
  • 9 edits
    2 deletes in trunk

Unreviewed, reverting r270507.

Caused some WebRTC tests to assert

Reverted changeset:

"Allow RTCRtpSFrameTransform to handle multiple keys"
https://bugs.webkit.org/show_bug.cgi?id=219598
https://trac.webkit.org/changeset/270507

12:43 PM Changeset in webkit [270517] by pvollan@apple.com
  • 7 edits in trunk

[macOS] Deny mach-lookup to the service 'com.apple.audio.SystemSoundServer-OSX' in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=219590
<rdar://problem/69019399>

Reviewed by Brent Fulgham.

Source/WebKit:

After r269593, mach-lookup to the service 'com.apple.audio.SystemSoundServer-OSX' in the WebContent process can be denied.

Test: fast/sandbox/mac/sandbox-mach-lookup.html

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

LayoutTests:

  • fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
  • fast/sandbox/mac/sandbox-mach-lookup.html:
  • platform/mac-catalina/fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
  • platform/mac-mojave/fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
12:27 PM Changeset in webkit [270516] by don.olmstead@sony.com
  • 17 edits in trunk

[CMake] Remove WEBKIT_WRAP_SOURCELIST
https://bugs.webkit.org/show_bug.cgi?id=196916

Reviewed by Michael Catanzaro.

.:

WEBKIT_WRAP_SOURCELIST macro is used only to adjust source groups in Visual Studio
projects without any impact on build process. Its references variable specific to
particular targets (WebCore) which contradicts our goal of having target-oriented
CMake project. It can be reintroduced later in a more clean way, in case anyone needs
to have such grouping.

  • Source/cmake/WebKitMacros.cmake:

PerformanceTests:

  • MallocBench/MallocBench/CMakeLists.txt:

Source/bmalloc:

  • CMakeLists.txt:

Source/JavaScriptCore:

  • CMakeLists.txt:

Source/WebCore:

  • CMakeLists.txt:

Source/WebCore/PAL:

  • pal/CMakeLists.txt:

Source/WebKit:

  • PlatformFTW.cmake:
  • PlatformWin.cmake:

Source/WTF:

  • wtf/CMakeLists.txt:
12:20 PM Changeset in webkit [270515] by Russell Epstein
  • 8 edits in trunk/Source

Versioning.

WebKit-7611.1.9

12:19 PM Changeset in webkit [270514] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[LFC][IFC] Overflowing text content should not break at inline box boundary
https://bugs.webkit.org/show_bug.cgi?id=219605

Reviewed by Antti Koivisto.

Source/WebCore:

Wrap the overflowing content on the inline box boundary when possible.
<span>fits</span><span>overflows</span>
When the text "overflows" completely overflows, let's wrap the content after '</span>'.

Test: fast/layoutformattingcontext/overflow-at-inline-box-boundary-simple.html

  • layout/inlineformatting/InlineContentBreaker.cpp:

(WebCore::Layout::InlineContentBreaker::processOverflowingTextContent const):

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::commitPartialContent):

LayoutTests:

  • fast/layoutformattingcontext/overflow-at-inline-box-boundary-simple-expected.html: Added.
  • fast/layoutformattingcontext/overflow-at-inline-box-boundary-simple.html: Added.
12:14 PM Changeset in webkit [270513] by Russell Epstein
  • 1 copy in branches/safari-611.1.8-branch

New branch.

12:02 PM Changeset in webkit [270512] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit

Fix incorrect capitalization of ClearWheelEventTestMonitor IPC message name
https://bugs.webkit.org/show_bug.cgi?id=219606

Reviewed by Wenson Hsieh.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::clearWheelEventTestMonitor):

  • WebProcess/WebPage/WebPage.messages.in:
10:53 AM Changeset in webkit [270511] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

[iOS] Add basic GPUProcess crash recovery logic to RemoteMediaSessionHelper
https://bugs.webkit.org/show_bug.cgi?id=219494

Reviewed by Eric Carlson.

  • WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp:

(WebKit::RemoteMediaSessionHelper::RemoteMediaSessionHelper):
(WebKit::RemoteMediaSessionHelper::connectToGPUProcess):
(WebKit::RemoteMediaSessionHelper::gpuProcessConnectionDidClose):

  • WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h:
10:44 AM Changeset in webkit [270510] by Ryan Haddad
  • 4 edits in trunk/Tools

Unreviewed API test gardening, disable failing tests on Big Sur.

  • TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
10:36 AM Changeset in webkit [270509] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GStreamer] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/active-processing.https.html is flaky failing

Unreviewed test gardening.

  • platform/glib/TestExpectations:
9:50 AM Changeset in webkit [270508] by don.olmstead@sony.com
  • 9 edits in trunk/Source/WebCore

Non-unified build fixes, early December 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=219552

Unreviewed non-unified build fixes.

  • display/css/DisplayBoxModelBox.cpp:
  • display/css/DisplayStackingItem.cpp:
  • display/css/DisplayStackingItem.h:
  • html/HTMLIFrameElement.cpp:
  • layout/inlineformatting/InlineLineBox.cpp:
  • loader/DocumentLoader.cpp:
  • platform/mediacapabilities/ColorGamut.h:
  • platform/mediacapabilities/HdrMetadataType.h:
9:22 AM Changeset in webkit [270507] by youenn@apple.com
  • 9 edits
    2 adds in trunk

Allow RTCRtpSFrameTransform to handle multiple keys
https://bugs.webkit.org/show_bug.cgi?id=219598

Reviewed by Eric Carlson.

Source/WebCore:

Keep a map of ID to Key material when setEncryptionKey is called.
Use that map on decryption side to get key material from key ID.
Add internals API to validate key retrieval is done correctly.
If setEncryptionKey key ID is not set, we use the map size which allows to use 0, 1, 2 and so on...

Test: webrtc/sframe-keys.html

  • Modules/mediastream/RTCRtpSFrameTransform.cpp:

(WebCore::RTCRtpSFrameTransform::keyIdForTesting const):

  • Modules/mediastream/RTCRtpSFrameTransform.h:
  • Modules/mediastream/RTCRtpSFrameTransformer.cpp:

(WebCore::RTCRtpSFrameTransformer::setEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::updateEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::decryptFrame):

  • Modules/mediastream/RTCRtpSFrameTransformer.h:

(WebCore::RTCRtpSFrameTransformer::keyId const):

  • testing/Internals.cpp:

(WebCore::Internals::sframeKeyId):

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

LayoutTests:

  • webrtc/sframe-keys-expected.txt: Added.
  • webrtc/sframe-keys.html: Added.
8:59 AM Changeset in webkit [270506] by youenn@apple.com
  • 14 edits
    1 copy
    3 adds in trunk

Add a SFrame H264 experimental compatibility mode
https://bugs.webkit.org/show_bug.cgi?id=219532

Reviewed by Eric Carlson.

Source/WebCore:

Add an SFrame compatibility mode for H.264.
To do so, the encryptor generates an SFrame and prefixes it with either a delta frame prefix or a key frame prefix.
The SFrame content is escaped so that it is considered as one big IDR or Slice nalu.
The decoder on the other hand, unescapes the content, removes the prefix and decrypts the SFrame content.

Test: webrtc/video-sframe.html

  • Modules/mediastream/H264Utils.cpp: Added.

(WebCore::isSliceNALU):
(WebCore::isSPSNALU):
(WebCore::isPPSNALU):
(WebCore::isIDRNALU):
(WebCore::findNalus):
(WebCore::computePrefixOffset):
(WebCore::needsRbspUnescaping):
(WebCore::fromRbsp):
(WebCore::computePrefixBuffer):
(WebCore::findEscapeRbspPatterns):
(WebCore::toRbsp):

  • Modules/mediastream/H264Utils.h: Added.
  • Modules/mediastream/MediaStreamTrack.cpp:
  • Modules/mediastream/RTCRtpSFrameTransform.cpp:

(WebCore::RTCRtpSFrameTransform::RTCRtpSFrameTransform):

  • Modules/mediastream/RTCRtpSFrameTransform.h:
  • Modules/mediastream/RTCRtpSFrameTransform.idl:
  • Modules/mediastream/RTCRtpSFrameTransformer.cpp:

(WebCore::RTCRtpSFrameTransformer::create):
(WebCore::RTCRtpSFrameTransformer::RTCRtpSFrameTransformer):
(WebCore::RTCRtpSFrameTransformer::decryptFrame):
(WebCore::RTCRtpSFrameTransformer::encryptFrame):

  • Modules/mediastream/RTCRtpSFrameTransformer.h:
  • Modules/mediastream/RTCRtpScriptTransformer.cpp:
  • Modules/mediastream/RTCRtpScriptTransformer.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Tools:

  • TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp:

(TestWebKitAPI::TEST):

LayoutTests:

  • webrtc/video-sframe-expected.txt: Added.
  • webrtc/video-sframe.html: Added.
8:29 AM Changeset in webkit [270505] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Reduce memory copying in MultiChannelResampler::provideInputForChannel()
https://bugs.webkit.org/show_bug.cgi?id=219561

Reviewed by Eric Carlson.

Reduce memory copying in MultiChannelResampler::provideInputForChannel() by using
the passed-in buffer as memory for the first channel in the AudioBus.
This way we avoid having to memcpy() the data for the first channel.

Chromium's MultiChannelResampler has the same optimization.

  • platform/audio/MultiChannelResampler.cpp:

(WebCore::MultiChannelResampler::MultiChannelResampler):
(WebCore::MultiChannelResampler::provideInputForChannel):

  • platform/audio/MultiChannelResampler.h:
8:14 AM Changeset in webkit [270504] by Simon Fraser
  • 8 edits in trunk/Source/WebCore

[LFC Display] Keep track of the painted bounds of StackingItems
https://bugs.webkit.org/show_bug.cgi?id=219583

Reviewed by Zalan Bujtas.

Display::StackingItems will need to know their painted bounds for various reasons like
transparency layer extent, composited layer bounds, repaint etc. We can compute this cheaply
at tree building time. In fact, two bounds are useful: first, the bounds of the in-flow
content of that stacking item, and second the bounds of that stacking item and all its
stacking descendants.

We don't have a good way to know the painted extent of a Display::Box yet, so just use its
bounds as a proxy. BoxModelBox extends this by looking at box-shadow style.

While building the display tree, keep track of two extents rectangles:

  • currentStackingItemPaintedContentExtent starts with the bounds of the stack item's box,

and is unioned with the bounds of all the in-flow content for that stacking item as we
build the tree downwards.

  • currentStackingItemPaintingExtent starts empty, and accumulates the union of all

the descendant stacking items' painting extent in post-order traversal as we pop
stacking items off the currentState stack.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::BuildingState::inFlowContainingBlockBox const):
(WebCore::Display::TreeBuilder::build):
(WebCore::Display::TreeBuilder::pushStateForBoxDescendants):
(WebCore::Display::TreeBuilder::popState):
(WebCore::Display::TreeBuilder::accountForBoxPaintingExtent):
(WebCore::Display::TreeBuilder::currentState):
(WebCore::Display::TreeBuilder::positioningContext):
(WebCore::Display::TreeBuilder::insertIntoTree):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree):
(WebCore::Display::outputStackingTree):
(WebCore::Display::TreeBuilder::currentState const): Deleted.
(WebCore::Display::TreeBuilder::positioningContext const): Deleted.

  • display/DisplayTreeBuilder.h:
  • display/css/DisplayBox.h:

(WebCore::Display::Box::absolutePaintingExtent const):

  • display/css/DisplayBoxModelBox.cpp:

(WebCore::Display::BoxModelBox::absolutePaintingExtent const):

  • display/css/DisplayBoxModelBox.h:
  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::applyEffects):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):

  • display/css/DisplayStackingItem.h:

(WebCore::Display::StackingItem::paintedContentBounds const):
(WebCore::Display::StackingItem::paintedBoundsIncludingDescendantItems const):
(WebCore::Display::StackingItem::setPaintedContentBounds):
(WebCore::Display::StackingItem::setPaintedBoundsIncludingDescendantItems):

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

[LFC][Integration] Check if RenderInline's text children are supported
https://bugs.webkit.org/show_bug.cgi?id=219585

Reviewed by Antti Koivisto.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForFontAndText):
(WebCore::LayoutIntegration::canUseForChild):

5:45 AM Changeset in webkit [270502] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Automatically delete old buildbot logs
https://bugs.webkit.org/show_bug.cgi?id=218817

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/master_buildbot2.cfg: Configured JanitorConfigurator to delete logs older than six months, and

configured to run every morning.

3:29 AM Changeset in webkit [270501] by Chris Lord
  • 2 edits in trunk/Source/WebCore

[GTK][WPE] Overflow/iframe scrolling with async scrolling enabled sometimes doesn't work
https://bugs.webkit.org/show_bug.cgi?id=219594

Reviewed by Žan Doberšek.

Scrollable layers can occur outside of the bounds of ancestor layers,
so remove bounds checking early-exit in nicosia
collectDescendantLayersAtPoint().

  • page/scrolling/nicosia/ScrollingTreeNicosia.cpp:

(WebCore::collectDescendantLayersAtPoint):

3:10 AM Changeset in webkit [270500] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r270498.
https://bugs.webkit.org/show_bug.cgi?id=219596

Broke the build as it landed simultaneously with a more
complete fix

Reverted changeset:

"Unreviewed. Add the switch case handling missed out from
r270415."
https://trac.webkit.org/changeset/270498

2:13 AM Changeset in webkit [270499] by Lauro Moura
  • 3 edits in trunk/Source/WebKit

Fix warnings when GPUProcess is disabled
https://bugs.webkit.org/show_bug.cgi?id=219587

Reviewed by Žan Doberšek.

  • UIProcess/API/glib/WebKitNavigationClient.cpp: Handle new enum value

in switch after r270415.

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::supportsGPUProcessRendering): Default returning
false when GPUProcess is disabled.

2:09 AM Changeset in webkit [270498] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebKit

Unreviewed. Add the switch case handling missed out from r270415.

This change removes the build warning below.
warning: enumeration value ‘RequestedByGPUProcess’ not handled in switch [-Wswitch]

No new tests, no new behaviors.

  • UIProcess/API/glib/WebKitNavigationClient.cpp:
1:38 AM Changeset in webkit [270497] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

[JSC] Bundle non-native libs in run-jsc-stress-tests
https://bugs.webkit.org/show_bug.cgi?id=219485

Patch by Angelos Oikonomopoulos <Angelos Oikonomopoulos> on 2020-12-07
Reviewed by Carlos Alberto Lopez Perez.

run-jsc-stress-tests already tries to bundle library dependencies
(on linux) when using the --remote functionality; this ensures
that we don't need to depend on the remote environment exactly
matching the build environment. However, this breaks when
cross-building; run-jsc-stress-tests uses ldd, which relies on
code execution to get the shared object paths.

This patch extends generate-bundle to be able to handle the output
from a cross ldd (specifically, xldd from crosstool-NG) and
changes run-jsc-stress-tests to use generate-bundle for bundling
the libraries for the remotes.

  • Scripts/generate-bundle:
  • Scripts/run-javascriptcore-tests:

(runJSCStressTests):

  • Scripts/run-jsc-stress-tests:
1:19 AM Changeset in webkit [270496] by commit-queue@webkit.org
  • 5 edits in trunk

[GLib] Leaked RunLoop objects on worker threads
https://bugs.webkit.org/show_bug.cgi?id=219232
<rdar://problem/71772277>

Patch by Zan Dobersek <zdobersek@igalia.com> on 2020-12-07
Reviewed by Geoffrey Garen.

Source/WTF:

During the thread-local RunLoop::Holder destruction, explicitly clear out
the iteration Deque objects on the held RunLoop, destroying any Function
objects that never got to execute on this thread. Generally, this allows
for any RunLoop reference stored in these objects to be released.

Specifically, this would allow for destruction of the RunLoop::Timer
object that's queued up in the JSRunLoopTimer::Manager::PerVMData
destructor but never gets dispatched because the thread (a JS worker) is
shut down before that happens. Destruction of the timer will release the
reference of the RunLoop that's held by the RunLoop::Holder, finally
enabling the RunLoop object itself be destroyed once the RunLoop::Holder
reference is let go.

  • wtf/RunLoop.cpp:

(WTF::RunLoop::Holder::~Holder):
(WTF::RunLoop::threadWillExit):

  • wtf/RunLoop.h:

Tools:

Add a unit test covering proper RunLoop teardown upon thread destruction
even if RunLoop references are stored in the dispatch queues.

  • TestWebKitAPI/Tests/WTF/RunLoop.cpp:

(TestWebKitAPI::TEST):

Dec 6, 2020:

9:43 PM Changeset in webkit [270495] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[WPE] Unreviewed test gardening. Follow-up r270469, media-source timeouts.

Also gardened flaky failure in imported/w3c/web-platform-tests/xhr/event-timeout.any.html.

  • platform/glib/TestExpectations:
  • platform/wpe/TestExpectations:
8:54 PM Changeset in webkit [270494] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Remove the build warning below since r270414.
warning: redundant move in return statement [-Wredundant-move]

No new tests, no new behaviors.

  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::NFAToDFA::convert):

8:31 PM Changeset in webkit [270493] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Remove the build warnings below since r270400.
warning: unused parameter ‘foo’ [-Wunused-parameter]

No new tests, no new behaviors.

  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:

(WebCore::GraphicsContextGLOpenGL::getActiveUniforms):

7:03 PM Changeset in webkit [270492] by Lauro Moura
  • 3 edits in trunk/LayoutTests

[GLIB] Gardening wheel and webgl failures

Unreviewed test gardening.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
4:49 PM Changeset in webkit [270491] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Use WTF_MAKE_FAST_ALLOCATED for some scrolling-related objects
https://bugs.webkit.org/show_bug.cgi?id=219567

Reviewed by Tim Horton.

Make ScrollingCoordinator, ScrollingTree and ScrollingTreeNode be fast-allocated.

  • page/scrolling/ScrollingCoordinator.h:
  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeNode.h:
4:35 PM Changeset in webkit [270490] by Simon Fraser
  • 5 edits
    2 moves
    1 add in trunk/Source/WebCore

[LFC Display] Move DisplayLayerController to display/compositing
https://bugs.webkit.org/show_bug.cgi?id=219584

Reviewed by Anders Carlsson.

Make a display/compositing directory and move DisplayLayerController.* into it.

  • CMakeLists.txt:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • display/compositing/DisplayLayerController.cpp: Renamed from Source/WebCore/display/DisplayLayerController.cpp.
  • display/compositing/DisplayLayerController.h: Renamed from Source/WebCore/display/DisplayLayerController.h.
1:42 PM Changeset in webkit [270489] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[WebKit] Fix use of std::max_align_t
https://bugs.webkit.org/show_bug.cgi?id=219579

Patch by Samuel Thibault <samuel.thibault@ens-lyon.org> on 2020-12-06
Reviewed by Fujii Hironori.

Standard says that it's alignof(std::max_align_t) that should be used,
not its size, e.g.
https://en.cppreference.com/w/cpp/types/max_align_t
and indeed at least with gcc 10's stddef.h, max_align_t is a structure
containing a long long, a long double, and a float18, thus not a power
of two.

  • Shared/SharedDisplayListHandle.h:

(WebKit::SharedDisplayListHandle::headerSize): Use
alignof(std::max_align_t) instead of sizeof(std::max_align_t).

1:31 PM Changeset in webkit [270488] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

[WTF] Add Unix-generic way of determining the available RAM
https://bugs.webkit.org/show_bug.cgi?id=219570
sysconf(_SC_PHYS_PAGES) and sysconf(_SC_PAGE_SIZE) are a very generic way to get

Patch by Samuel Thibault <samuel.thibault@ens-lyon.org> on 2020-12-06
Reviewed by Fujii Hironori.

  • wtf/RAMSize.cpp:

(WTF::computeRAMSize): Fallback to sysconf to determine RAM size.

12:41 PM Changeset in webkit [270487] by ysuzuki@apple.com
  • 4 edits
    2 adds in trunk

[JSC] get / set for object literal and class should not be escaped
https://bugs.webkit.org/show_bug.cgi?id=219576

Reviewed by Alexey Shvayka.

JSTests:

  • stress/escaped-getter-setter-in-class.js: Added.

(testSyntaxError):
(testSyntaxError.String.raw.A.prototype.u0067.u0065.u0074.m):
(testSyntaxError.String.raw.A):
(testSyntaxError.String.raw.A.prototype.u0073.u0065.u0074.m):

  • stress/escaped-getter-setter-in-object.js: Added.

(testSyntaxError):
(testSyntaxError.String.raw.u0067.u0065.u0074.m):
(testSyntaxError.String.raw.u0073.u0065.u0074.m):

  • test262/expectations.yaml:

Source/JavaScriptCore:

"get" and "set" for getter and setter should not be escaped one.
Terminal symbols of the lexical grammars are shown in fixed width font [1],
and are to appear in a script exactly as written.

[1]: https://tc39.es/ecma262/#sec-method-definitions

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseProperty):

11:21 AM Changeset in webkit [270486] by youenn@apple.com
  • 14 edits in trunk

Add support for RTCRtpSender::setStreams
https://bugs.webkit.org/show_bug.cgi?id=219542

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback-expected.txt:
  • web-platform-tests/webrtc/RTCRtpSender-setStreams.https-expected.txt:

Source/WebCore:

Pipe stream IDs from WebCore sender to libqebrtc backend sender.
A follow-up patch should handle creation of remote streams in case of renegotiation.
Covered by updated and rebased tests.

  • Modules/mediastream/RTCRtpSender.cpp:

(WebCore::RTCRtpSender::create):
(WebCore::RTCRtpSender::RTCRtpSender):
(WebCore::RTCRtpSender::setStreams):
(WebCore::RTCRtpSender::setMediaStreamIds):

  • Modules/mediastream/RTCRtpSender.h:
  • Modules/mediastream/RTCRtpSender.idl:
  • Modules/mediastream/RTCRtpSenderBackend.h:
  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::LibWebRTCPeerConnectionBackend::addTrack):
(WebCore::LibWebRTCPeerConnectionBackend::addTransceiverFromTrackOrKind):
(WebCore::LibWebRTCPeerConnectionBackend::newRemoteTransceiver):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp:

(WebCore::LibWebRTCRtpSenderBackend::setMediaStreamIds):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.h:

LayoutTests:

  • webrtc/video.html:
10:58 AM Changeset in webkit [270485] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] BoxGeometry should provide an enclosing rect for multiline inline boxes
https://bugs.webkit.org/show_bug.cgi?id=219574

Reviewed by Antti Koivisto.

This patch add support for multiline inline box geometry (e.g. <span>first<br>second</span>)
In such cases we turn the content box into the enclosing rect (border and padding do not make too much sense in multiline case)
This is not to be confused with Element.getClientRects() which returns a list of rects where border and padding start making sense.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
set the box geometry depending on whether this is the first line where the inline box shows or we are processing an in-between or end line.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::enclosingBorderBoxRectFor const):

  • layout/layouttree/LayoutGeometryRect.h:

(WebCore::Layout::Rect::moveBy):
(WebCore::Layout::Rect::expandToContain):

10:47 AM Changeset in webkit [270484] by Simon Fraser
  • 10 edits in trunk/Source/WebCore

[LFC Display] Move border radii to BoxRareGeometry
https://bugs.webkit.org/show_bug.cgi?id=219581

Reviewed by Zalan Bujtas.

Border radius is not a box decoration, since it affects rendering (e.g. clipping)
when there are no decorations, so move it to BoxRareGeometry.

  • display/css/DisplayBoxDecorationData.cpp:

(WebCore::Display::roundedRectWithIncludedRadii): Deleted.
(WebCore::Display::roundedInsetBorderForRect): Deleted.
(WebCore::Display::BoxDecorationData::hasBorderRadius const): Deleted.

  • display/css/DisplayBoxDecorationData.h:

(WebCore::Display::BoxDecorationData::borderRadii const): Deleted.
(WebCore::Display::BoxDecorationData::setBorderRadii): Deleted.

  • display/css/DisplayBoxDecorationPainter.cpp:

(WebCore::Display::BoxDecorationPainter::BoxDecorationPainter):
(WebCore::Display::BoxDecorationPainter::paintBoxShadow const):
(WebCore::Display::BoxDecorationPainter::paintBackground const):
(WebCore::Display::BoxDecorationPainter::determineBackgroundBleedAvoidance):
(WebCore::Display::BoxDecorationPainter::computeBorderRect): Deleted.

  • display/css/DisplayBoxDecorationPainter.h:
  • display/css/DisplayBoxFactory.cpp:

(WebCore::Display::BoxFactory::constructBoxDecorationData const):
(WebCore::Display::BoxFactory::constructBoxRareGeometry const):

  • display/css/DisplayBoxModelBox.cpp:

(WebCore::Display::BoxModelBox::hasBorderRadius const):
(WebCore::Display::BoxModelBox::borderRoundedRect const):
(WebCore::Display::BoxModelBox::innerBorderRoundedRect const):
(WebCore::Display::BoxModelBox::clipForDescendants const):

  • display/css/DisplayBoxModelBox.h:
  • display/css/DisplayBoxRareGeometry.cpp:

(WebCore::Display::BoxRareGeometry::hasBorderRadius const):
(WebCore::Display::roundedRectWithIncludedRadii):
(WebCore::Display::roundedInsetBorderForRect):

  • display/css/DisplayBoxRareGeometry.h:

(WebCore::Display::BoxRareGeometry::borderRadii const):
(WebCore::Display::BoxRareGeometry::setBorderRadii):

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

[LFC][Integration] Disable RenderCounter content
https://bugs.webkit.org/show_bug.cgi?id=219573

Reviewed by Antti Koivisto.

RenderCounters are not supported yet.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):

5:38 AM Changeset in webkit [270482] by Lauro Moura
  • 3 edits in trunk/Source/WebKit

Unreviewed. Add missing GPU_PROCESS guards around RemoteMediaEngineConfigurationFactory after r270462
https://bugs.webkit.org/show_bug.cgi?id=219578

Was breaking the Ubuntu LTS/Debian builds.

  • WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp:
  • WebProcess/WebProcess.cpp:
12:41 AM Changeset in webkit [270481] by ysuzuki@apple.com
  • 8 edits
    1 add in trunk

[JSC] Accept escaped keywords for class and object property names
https://bugs.webkit.org/show_bug.cgi?id=219575

Reviewed by Alexey Shvayka.

JSTests:

  • stress/syntax-error-if-escaped-keyword-used-as-target-object-pattern.js: Added.

(testSyntaxError):

  • test262/expectations.yaml:

Source/JavaScriptCore:

In this patch, we accept escaped keywords for class, object, and object pattern property names.

var object = {

bre\u0061k: 42

};

When escaped keyword appears, we produce ESCAPED_KEYWORD with CanBeErrorTokenFlag. Now CanBeErrorTokenFlag
represents "when this token appears in an error condition, possibly this is error token and special message will appear",
instead of saying this token is definitely an error. So we can just use ESCAPED_KEYWORD token to handle this case.

  • parser/Lexer.cpp:

(JSC::Lexer<CharacterType>::parseIdentifierSlowCase):
(JSC::Lexer<T>::lexWithoutClearingLineTerminator):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::printUnexpectedTokenText):

  • parser/Parser.h:

(JSC::Parser<LexerType>::parse):

  • parser/ParserTokens.h:
Note: See TracTimeline for information about the timeline view.