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

Timeline



May 2, 2020:

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

Unreviewed, add myself to some watch lists.

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

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

Reviewed by Wenson Hsieh.

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

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

With this change, the test no longer times out.

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

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

Reviewed by Zalan Bujtas.

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

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

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

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

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

Reviewed by Daniel Bates.

Source/WebCore:

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

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

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

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

  • platform/ScrollAnimator.h:

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

  • platform/ScrollableArea.cpp:

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

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

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

  • testing/Internals.cpp:

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

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

LayoutTests:

New tests, and some helper functions in UIHelper.

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

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

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

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

Not reviewed.

Source/JavaScriptCore:

  • assembler/CPU.h:

Source/WTF:

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

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

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

Reviewed by Simon Fraser.

Source/WebCore:

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

  • page/Page.cpp:

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

Tools:

Add some tests.

  • TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:

(TestWebKitAPI::TEST):

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

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

Reviewed by Zalan Bujtas.

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

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

No behavior change.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::setActiveScrollSnapIndices):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::scrollableAreaForScrollingNodeID const):

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

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

Reviewed by Tim Horton.

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

Will be tested by future overlay scrollbar tests.

Source/WebCore:

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::handleWheelEventPhase):

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

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

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::handleWheelEventPhase):

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

(WebCore::ThreadedScrollingTree::handleWheelEventPhase):

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

(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):

  • page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:

(WebCore::ScrollingTreeOverflowScrollingNodeMac::handleWheelEvent):

  • platform/mac/ScrollAnimatorMac.mm:

Source/WebKit:

  • UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::handleWheelEventPhase):

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

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

Not reviewed.

Landing file missed in last commit.

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

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

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • assembler/CPU.h:

Source/WTF:

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

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

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

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

Unreviewed gardening.

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

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

Reviewed by Adrian Perez de Castro.

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

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::doneWithKeyEvent):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

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

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

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

Reviewed by Carlos Garcia Campos.

No new tests needed.

  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

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

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

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

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

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

Source/WebCore:

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

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

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

Tests: animations/computed-style.html

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

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

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

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::createTimingFunctionValue):

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapAnimationTimingFunction):

  • css/CSSTimingFunctionValue.h:

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

  • css/CSSTimingFunctionValue.cpp:

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

  • platform/animation/TimingFunction.h:

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

  • platform/animation/TimingFunction.cpp:

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

Source/WebInspectorUI:

  • UserInterface/Models/CSSKeywordCompletions.js:

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

Source/WebKit:

  • Shared/WebCoreArgumentCoders.cpp:

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

LayoutTests:

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

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

Unreviewed gardening.

Some tests became flaky under Flatpak.

  • TestWebKitAPI/glib/TestExpectations.json:

May 1, 2020:

9:57 PM Changeset in webkit [261044] by timothy_horton@apple.com
  • 21 edits
    3 adds in trunk

Books sometimes ends up with blank pages, especially after adjusting font size
https://bugs.webkit.org/show_bug.cgi?id=211265
<rdar://problem/59898144>

Reviewed by Darin Adler.

Source/WebCore:

  • page/FrameView.cpp:

(WebCore::FrameView::setViewExposedRect):
Rename "hasRectChanged" because it only tests if the optional-state of the
rect has changed, not the actual value.

Source/WebKit:

A few problems:

  • There is short time during page creation where a WKWebView created

with _clipsToVisibleRect=YES would not yet have sent its viewExposedRect
to the Web Content process, and if we end up constructing tiles during
that time, we can make way too many, bogging down the process (or crashing).

Fix this by always keeping track of the viewExposedRect (on WebPageProxy,
instead of the somewhat-more-transient DrawingAreaProxy) and sending it
to the Web Content process in the WebPage creation parameters, to entirely
remove this window.

  • Even when the viewExposedRect successfully gets to the Web Content

process, it can still end up wildly wrong: the DrawingArea was tasked with
watching scrolling changes, applying the scroll offset to the viewExposedRect,
and pushing it to FrameView in content coordinates.

It turns out that this was all unnecessary, as we need viewExposedRect
in root view coordinates (same space as visibleContentRect, which we
intersect it with), and we just didn't notice because all clients of
_clipsToVisibleRect: expand the view to its layout size and insert
a scrolling view outside the web view, and so don't use our scrolling.

Avoid this conversion and complexity entirely; I tested Mail and Books
where there is no impact (other than fixing the original bug), and also
a custom test app with a scrollable WKWebView inside a NSScrollView,
which improved significantly.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:

Plumb view exposed rect via WebPage creation parameters.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::updateViewExposedRect):
Send viewExposedRect changes to WebPageProxy instead of DrawingAreaProxy.

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::didChangeViewExposedRect):
(WebKit::DrawingAreaProxy::viewExposedRectChangedTimerFired):
(WebKit::DrawingAreaProxy::setViewExposedRect): Deleted.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::viewExposedRect const): Deleted.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::didChangeViewExposedRect):
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation const):
(WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
(WebKit::RemoteLayerTreeDrawingAreaProxy::setViewExposedRect): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setViewExposedRect):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::viewExposedRect const):
Maintain viewExposedRect on WebPageProxy instead of DrawingAreaProxy,
so that we can always store it even if we don't have a DrawingAreaProxy yet
(or change DrawingAreaProxies) and can send it in WebPage creation parameters.

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::setViewExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::updateRendering):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect): Deleted.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::updateRendering):
(WebKit::TiledCoreAnimationDrawingArea::setViewExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::scroll): Deleted.
(WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect): Deleted.
Plumb viewExposedRect directly to FrameView, instead of trying to apply
the root view -> contents mapping ourselves and pushing updates.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/ViewExposedRect.mm: Added.

(forceRepaintCallback):
(TEST):
Add a test for the first problem, which would previously attempt to allocate
~90TB of tiles, spinning and exploding, and now happily just allocates a few.

LayoutTests:

  • tiled-drawing/tile-coverage-scrolled-view-exposed-rect-expected.txt: Added.
  • tiled-drawing/tile-coverage-scrolled-view-exposed-rect.html: Added.

Add a test ensuring that we create the correct tiles with a
scrolled web view that also uses clipsToVisibleRect=YES.

9:21 PM Changeset in webkit [261043] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[WebDriver] Gardening some failures.

Unreviewed test gardening.

7:26 PM Changeset in webkit [261042] by Wenson Hsieh
  • 4 edits in trunk

Text manipulation should observe the value attribute of some input elements
https://bugs.webkit.org/show_bug.cgi?id=211307
<rdar://problem/61568528>

Reviewed by Darin Adler.

Source/WebCore:

Teach TextManipulationController to detect the value attribute in input elements of type "button" and
"submit". To do this, we plumb the element through to isAttributeForTextManipulation and check isTextButton()
if "value" attribute is being considered.

Test: TextManipulation.StartTextManipulationExtractsValuesFromButtonInputs

  • editing/TextManipulationController.cpp:

(WebCore::isAttributeForTextManipulation):
(WebCore::TextManipulationController::observeParagraphs):

Tools:

Add a new API test that covers <input type="submit"> and <input type="button">.

  • TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
5:21 PM Changeset in webkit [261041] by sbarati@apple.com
  • 7 edits in trunk/Source

Have a thread local cache for the Wasm LLInt bytecode buffer
https://bugs.webkit.org/show_bug.cgi?id=211317

Reviewed by Filip Pizlo and Mark Lam.

Source/JavaScriptCore:

One of the main things slowing down Wasm compile times is the banging
on bmalloc's global heap lock. This patch makes it so for the bytecode
instruction buffer, we keep a thread local cache with latest capacity
the thread needed to compile. This makes it so that in the average case,
we only do one malloc at the end of a compile to memcpy the final result.

We clear these thread local caches when the WasmWorklist's automatic threads
underlying machine thread is destroyed.

This is a 15% speedup in zen garden compile times on a 16-core Mac Pro.
This is a 4-5% speedup in zen garden compile times on a 6-core MBP.

  • bytecode/InstructionStream.h:

(JSC::InstructionStreamWriter::setInstructionBuffer):
(JSC::InstructionStreamWriter::finalize):

  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::threadSpecificBuffer):
(JSC::Wasm::clearLLIntThreadSpecificCache):
(JSC::Wasm::LLIntGenerator::LLIntGenerator):
(JSC::Wasm::LLIntGenerator::finalize):

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

Source/WTF:

  • wtf/Vector.h:

(WTF::Vector::sizeInBytes const):

4:44 PM Changeset in webkit [261040] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

[IPC hardening] Refactor createMessageDecoder() for clarity
<https://webkit.org/b/211322>

Reviewed by Darin Adler.

  • Platform/IPC/cocoa/ConnectionCocoa.mm:

(IPC::createMessageDecoder):

  • Rename numDescriptors to numberOfPortDescriptors to match variable name in sendOutgoingMessage().
  • Add new numberOfAttachments variable to make it clear that one port descriptor is left for an out-of-line message body.
  • Add FIXME about another issue.
4:41 PM Changeset in webkit [261039] by pvollan@apple.com
  • 6 edits in trunk

[Win] Fix AppleWin build
https://bugs.webkit.org/show_bug.cgi?id=211324

Reviewed by Don Olmstead.

.:

Use correct target namespace.

  • Source/cmake/target/WebCore.cmake:

Source/JavaScriptCore:

Check if target WTF_CopyHeaders exists before using it.

  • CMakeLists.txt:

Source/WebKitLegacy:

Remove unknown object target and fix link errors.

  • PlatformWin.cmake:
4:38 PM Changeset in webkit [261038] by commit-queue@webkit.org
  • 20 edits in trunk

Add SPI to move localStorage to a different domain
https://bugs.webkit.org/show_bug.cgi?id=209260
<rdar://problem/60285683>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-01
Reviewed by Brady Eidson.

Source/WebKit:

Covered by an API test.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::renameDomainInWebsiteData):
(WebKit::NetworkProcess::getLocalStorageOriginDetails):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/WebStorage/LocalStorageNamespace.cpp:

(WebKit::LocalStorageNamespace::renameDomain):

  • NetworkProcess/WebStorage/LocalStorageNamespace.h:
  • NetworkProcess/WebStorage/StorageArea.cpp:

(WebKit::StorageArea::close):

  • NetworkProcess/WebStorage/StorageArea.h:
  • NetworkProcess/WebStorage/StorageManager.cpp:

(WebKit::StorageManager::renameDomain):

  • NetworkProcess/WebStorage/StorageManager.h:
  • NetworkProcess/WebStorage/StorageManagerSet.cpp:

(WebKit::StorageManagerSet::renameDomain):

  • NetworkProcess/WebStorage/StorageManagerSet.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _renameDomain:to:forDataOfTypes:completionHandler:]):

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::renameDomainInWebsiteData):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::renameDomainInWebsiteData):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:

(TEST):

4:12 PM Changeset in webkit [261037] by Wenson Hsieh
  • 3 edits
    1 add in trunk/Tools

Add a test for webkit.org/b/211311
https://bugs.webkit.org/show_bug.cgi?id=211319
<rdar://problem/62663459>

Reviewed by Tim Horton.

Exercise the crash fixed in r261017 with a new API test that loads a page and then uses
-[WebHTMLView attributedSubstringFromRange:] to try and grab the contents of the page as an attributed string.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/AttributedString.mm:

(TestWebKitAPI::AttributedStringTest_NewlineAtEndOfDocument::didLoadURL):
(TestWebKitAPI::AttributedStringTest_NewlineAtEndOfDocument::url const):
(TestWebKitAPI::AttributedStringTest_NewlineAtEndOfDocument::runSyncTest):

  • TestWebKitAPI/Tests/mac/attributedStringNewlineAtEndOfDocument.html: Added.
4:07 PM Changeset in webkit [261036] by Chris Dumez
  • 11 edits in trunk

Regression(r259036) Unable to post comments on Jira
https://bugs.webkit.org/show_bug.cgi?id=211122
<rdar://problem/62561879>

Unreviewed, revert r259036 as the new behavior does not match other browsers
and broke some Jira instances.

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::populateFrameLoadRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::addHTTPOriginIfNeeded):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::FrameLoader::loadDifferentDocumentItem):

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

(WebCore::PingLoader::sendPing):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::updateReferrerAndOriginHeaders):

  • platform/network/ResourceRequestBase.cpp:

(WebCore::doesRequestNeedHTTPOriginHeader): Deleted.

  • platform/network/ResourceRequestBase.h:
4:00 PM Changeset in webkit [261035] by Russell Epstein
  • 1 copy in tags/Safari-609.2.9.0.5

Tag Safari-609.2.9.0.5.

3:57 PM Changeset in webkit [261034] by Chris Dumez
  • 8 edits in trunk/Source/WebKit

[iOS] ProcessThrottler fails to re-take ProcessAssertion if the previous one was invalidated
https://bugs.webkit.org/show_bug.cgi?id=211297
<rdar://problem/62542463>

Reviewed by Jer Noble.

Our ProcessAssertions may get invalidated upon backgrounding of the app. When the app becomes
foreground and the ProcessThrottler tries to take a Foreground assertion as a result, it would
incorrectly think it already had such assertion and not do anything, even though the previous
one is no longer valid. As a result, the child processes would stay suspended even though the
app was foregrounded.

To address the issue, add a isValid() method to ProcessAssertion() and check it in
ProcessThrottler::setAssertionType() to determine if we need to re-take an assertion or not.
We also invalidate all pending ProcessThrottler activities upon ProcessAssertion invalidation
for good measure. This way, the holders of these activities will be able to rely on
Activity::isValid() to determine if they need to re-take their activities or not.

  • Platform/spi/ios/AssertionServicesSPI.h:
  • Platform/spi/ios/RunningBoardServicesSPI.h:
  • UIProcess/ProcessAssertion.cpp:

(WebKit::ProcessAssertion::isValid const):

  • UIProcess/ProcessAssertion.h:

(WebKit::ProcessAssertion::validity const): Deleted.

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::setAssertionType):
(WebKit::ProcessThrottler::assertionWasInvalidated):

  • UIProcess/ProcessThrottler.h:
  • UIProcess/ios/ProcessAssertionIOS.mm:

(WebKit::ProcessAssertion::processAssertionWasInvalidated):
(WebKit::ProcessAssertion::isValid const):
(WebKit::ProcessAndUIAssertion::updateRunInBackgroundCount):

3:55 PM Changeset in webkit [261033] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Unreviewed, reverting r261015.

Seems to have broken clean builds

Reverted changeset:

"[iOS] Unable to take RunningBoard process assertions in the
iOS Simulator"
https://bugs.webkit.org/show_bug.cgi?id=211254
https://trac.webkit.org/changeset/261015

3:54 PM Changeset in webkit [261032] by Jack Lee
  • 1 edit in trunk/Source/WebCore/ChangeLog

Unreviewed, amend change log entry for r260831.

  • ChangeLog:
3:30 PM Changeset in webkit [261031] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, another build fix after r260962.

  • page/Page.h:
3:28 PM Changeset in webkit [261030] by Alan Coon
  • 1 copy in tags/Safari-610.1.11.6

Tag Safari-610.1.11.6.

3:16 PM Changeset in webkit [261029] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

Avoid unnecessary copying in AnimationTimeline and other clean ups
https://bugs.webkit.org/show_bug.cgi?id=211309

Reviewed by Simon Fraser.

Return animations by const lvalue ref to avoid copying the Vectors.
Default the constructor and destructor implementations. Remove an
unnessary argument name from animationsForElement() and re-arrange
decls to make class definition more idiomatic.

  • animation/AnimationTimeline.cpp:

(WebCore::AnimationTimeline::AnimationTimeline): Deleted.
(WebCore::AnimationTimeline::~AnimationTimeline): Deleted.

  • animation/AnimationTimeline.h:

(WebCore::AnimationTimeline::relevantAnimations const):
(WebCore::AnimationTimeline::allAnimations const):

3:16 PM Changeset in webkit [261028] by dbates@webkit.org
  • 9 edits in trunk/Source/WebCore

Change HitTestResult::NodeSet from set of RefPtrs to set of Refs
https://bugs.webkit.org/show_bug.cgi?id=211306

Reviewed by Simon Fraser.

HitTestResult::listBasedTestResult() never returns a set with nullptrs in it.
So, change the set declaration from ListHashSet<RefPtr<Node>> to ListHashSet<Ref<Node>>.
This way people are not tempted to unnecessarily null check the nodes in the set.

As I made this change to TreeScope::elementsFromPoint() I noticed that retargetToScope(),
which is called by it, returned a Node&. So, I changed it to return a Ref<Node>. That
required me to fix up caretRangeFromPoint(), which lead me to fix up nodeFromPoint() as well.

  • dom/Document.cpp:

(WebCore::Document::caretRangeFromPoint):

  • dom/EventPath.cpp:

(WebCore::RelatedNodeRetargeter::checkConsistency):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::retargetToScope const):
(WebCore::TreeScope::nodeFromPoint):
(WebCore::TreeScope::elementFromPoint):
(WebCore::TreeScope::elementsFromPoint):

  • dom/TreeScope.h:
  • page/Page.cpp:

(WebCore::Page::editableElementsInRect const):

  • rendering/HitTestResult.cpp:

(WebCore::appendToNodeSet):
(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::addNodeToListBasedTestResultCommon):
(WebCore::HitTestResult::append):

  • rendering/HitTestResult.h:
  • testing/Internals.cpp:

(WebCore::Internals::nodesFromRect const):

3:08 PM Changeset in webkit [261027] by Alan Coon
  • 8 edits in branches/safari-610.1.11-branch/Source

Versioning.

3:03 PM Changeset in webkit [261026] by ysuzuki@apple.com
  • 2 edits in trunk/JSTests

Fix stress/big-int-negate-jit.js
https://bugs.webkit.org/show_bug.cgi?id=211321

Reviewed by Saam Barati.

This test is assuming that 100000 iteration of 2 negateBigInt calls makes negateBigInt DFG-compiled.
But this is wrong if BigInt negation is fast enough. We made BigInt faster and now this test starts
failing because running this iteration finishes earlier than DFG compilation finishes. We should use useConcurrentJIT
to ensure this status.

  • stress/big-int-negate-jit.js:
3:00 PM Changeset in webkit [261025] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix after r260962.

  • page/Page.cpp:

(WebCore::Page::setCORSDisablingPatterns):

  • page/Page.h:

(WebCore::Page::setCORSDisablingPatterns): Deleted.

2:59 PM Changeset in webkit [261024] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

[IPC hardening] createMessageDecoder() needs a validity check
<https://webkit.org/b/211260>
<rdar://problem/61914087>

Reviewed by Darin Adler.

  • Platform/IPC/cocoa/ConnectionCocoa.mm:

(IPC::createMessageDecoder):

  • Add validity check and early return for numDescriptors.
2:52 PM Changeset in webkit [261023] by commit-queue@webkit.org
  • 178 edits in trunk

[WebGL2] Refactor texImage2D and texSubImage2D taking ImageBitmap, ImageData, Image, ArrayBufferView
https://bugs.webkit.org/show_bug.cgi?id=210766

Patch by Kenneth Russell <kbr@chromium.org> on 2020-05-01
Reviewed by Dean Jackson.

Source/WebCore:

Refactor the texture upload paths taking DOM sources and
ArrayBuffers so that texImage/texSubImage and 2D/3D textures are
handled with the same entry point. Hook up WebGL 2.0 pixel unpack
parameters for selecting sub-rectangles during texture uploads.
Refactor context initialization to support WebGL 2.0-specific code
paths.

Remove duplicate code validating the type of the ArrayBufferView
passed to readPixels that was added in the patch for Bug 209515,
and validation code subsumed by ANGLE.

With this patch, dozens more texture-related WebGL 2.0 conformance
tests are passing completely, including all of those under the
directories:

webgl/2.0.0/conformance2/textures/

canvas_sub_rectangle/
image_data/

The svg_image/ tests in this directory demonstrate browser
inconsistencies in SVG handling, and are temporarily skipped.
These will be investigated in Bug 211220.

Other conformance tests progress or change results, which is
expected until WebGL2RenderingContext is fully implemented.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::create):
(WebCore::WebGL2RenderingContext::WebGL2RenderingContext):
(WebCore::WebGL2RenderingContext::initializeNewContext):
(WebCore::WebGL2RenderingContext::resetUnpackParameters):
(WebCore::WebGL2RenderingContext::restoreUnpackParameters):
(WebCore::WebGL2RenderingContext::initializeShaderExtensions):
(WebCore::WebGL2RenderingContext::getTextureSourceSubRectangle):
(WebCore::WebGL2RenderingContext::pixelStorei):
(WebCore::WebGL2RenderingContext::texStorage2D):
(WebCore::WebGL2RenderingContext::texImage2D):
(WebCore::WebGL2RenderingContext::texImage3D):
(WebCore::WebGL2RenderingContext::texSubImage2D):
(WebCore::WebGL2RenderingContext::texSubImage3D):
(WebCore::WebGL2RenderingContext::initializeTransformFeedbackBufferCache): Deleted.
(WebCore::WebGL2RenderingContext::initializeSamplerCache): Deleted.
(WebCore::WebGL2RenderingContext::sliceTypedArrayBufferView): Deleted.

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::WebGLRenderingContext):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::ScopedUnpackParametersResetRestore::ScopedUnpackParametersResetRestore):
(WebCore::ScopedUnpackParametersResetRestore::~ScopedUnpackParametersResetRestore):
(WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::resetUnpackParameters):
(WebCore::WebGLRenderingContextBase::restoreUnpackParameters):
(WebCore::WebGLRenderingContextBase::compressedTexImage2D):
(WebCore::WebGLRenderingContextBase::compressedTexSubImage2D):
(WebCore::WebGLRenderingContextBase::validateSettableTexInternalFormat):
(WebCore::WebGLRenderingContextBase::copyTexSubImage2D):
(WebCore::WebGLRenderingContextBase::generateMipmap):
(WebCore::WebGLRenderingContextBase::getTexParameter):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::sentinelEmptyRect):
(WebCore::WebGLRenderingContextBase::safeGetImageSize):
(WebCore::WebGLRenderingContextBase::getImageDataSize):
(WebCore::WebGLRenderingContextBase::getTexImageSourceSize):
(WebCore::WebGLRenderingContextBase::texImageSourceHelper):
(WebCore::WebGLRenderingContextBase::texImageArrayBufferViewHelper):
(WebCore::WebGLRenderingContextBase::texImageImpl):
(WebCore::WebGLRenderingContextBase::texImage2DBase):
(WebCore::WebGLRenderingContextBase::texSubImage2DBase):
(WebCore::WebGLRenderingContextBase::getTexImageFunctionName):
(WebCore::WebGLRenderingContextBase::validateTexFunc):
(WebCore::WebGLRenderingContextBase::texImage2D):
(WebCore::WebGLRenderingContextBase::texSubImage2D):
(WebCore::WebGLRenderingContextBase::validateArrayBufferType):
(WebCore::WebGLRenderingContextBase::validateTexFuncData):
(WebCore::WebGLRenderingContextBase::validateTexFuncParameters):
(WebCore::WebGLRenderingContextBase::addExtensionSupportedFormatsAndTypes):
(WebCore::WebGLRenderingContextBase::addExtensionSupportedFormatsAndTypesWebGL2):
(WebCore::WebGLRenderingContextBase::validateTexImageSourceFormatAndType):
(WebCore::WebGLRenderingContextBase::copyTexImage2D):
(WebCore::WebGLRenderingContextBase::drawImageIntoBuffer):
(WebCore::WebGLRenderingContextBase::texParameter):
(WebCore::WebGLRenderingContextBase::getUnpackPixelStoreParams const):
(WebCore::WebGLRenderingContextBase::validateTextureBinding):
(WebCore::WebGLRenderingContextBase::validateTexImageBinding):
(WebCore::WebGLRenderingContextBase::validateTexture2DBinding):
(WebCore::WebGLRenderingContextBase::validateSize):
(WebCore::WebGLRenderingContextBase::validateImageBitmap):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::texImageSource2D): Deleted.
(WebCore::WebGLRenderingContextBase::texImage2DImpl): Deleted.
(WebCore::WebGLRenderingContextBase::texSubImage2DImpl): Deleted.

  • html/canvas/WebGLRenderingContextBase.h:

(WebCore::WebGLRenderingContextBase::getTextureSourceSize):
(WebCore::WebGLRenderingContextBase::validateTexImageSubRectangle):

  • platform/graphics/IntRect.cpp:

(WebCore::IntRect::isValid const):

  • platform/graphics/IntRect.h:

LayoutTests:

Rebaseline WebGL layout tests affected by this patch.

webgl/2.0.0/conformance2/textures/

canvas_sub_rectangle/
image_data/

are now passing completely. Some of the individual tests in these
directories were skipped in earlier patches and will be re-enabled
in a subsequent patch.

Skip webgl/2.0.0/conformance2/textures/svg_image due to possible
bugs in the tests. These failures will be investigated in Bug
211220.

Fix bug in fast/canvas/webgl/gl-enum-tests.html where
INVALID_OPERATION rather than INVALID_ENUM is possible.

Other conformance tests progress or change results, which is
expected until WebGL2RenderingContext is fully implemented.

  • TestExpectations:
  • fast/canvas/webgl/gl-enum-tests-expected.txt:
  • fast/canvas/webgl/gl-enum-tests.html:
  • webgl/2.0.0/conformance2/misc/views-with-offsets-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r11f_g11f_b10f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r11f_g11f_b10f-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r16f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r16f-red-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r32f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r8-red-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r8ui-red_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rg16f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rg16f-rg-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rg32f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rg8-rg-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rg8ui-rg_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb16f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb16f-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb32f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb565-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb565-rgb-unsigned_short_5_6_5-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb5_a1-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb8-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba16f-rgba-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba16f-rgba-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba32f-rgba-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba4-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba4-rgba-unsigned_short_4_4_4_4-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba8-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-srgb8-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-srgb8_alpha8-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r11f_g11f_b10f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r11f_g11f_b10f-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r16f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r16f-red-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r32f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r8-red-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r8ui-red_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rg16f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rg16f-rg-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rg32f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rg8-rg-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rg8ui-rg_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb16f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb16f-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb32f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb565-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb565-rgb-unsigned_short_5_6_5-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb5_a1-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb8-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb9_e5-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb9_e5-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba16f-rgba-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba16f-rgba-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba32f-rgba-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba4-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba8-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-srgb8-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-srgb8_alpha8-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r16f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r16f-red-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r32f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r8-red-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r8ui-red_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rg16f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rg16f-rg-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rg32f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rg8-rg-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rg8ui-rg_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-r11f_g11f_b10f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-r11f_g11f_b10f-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-r16f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-r16f-red-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-r32f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-r8-red-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-r8ui-red_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rg16f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rg16f-rg-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rg32f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rg8-rg-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rg8ui-rg_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgb16f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgb16f-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgb32f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgb565-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgb565-rgb-unsigned_short_5_6_5-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgb5_a1-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgb8-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgb9_e5-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgb9_e5-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgba16f-rgba-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgba16f-rgba-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgba32f-rgba-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgba4-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgba8-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-srgb8-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-3d-srgb8_alpha8-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-r16f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-r16f-red-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-r32f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-r8-red-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-r8ui-red_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-rg16f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-rg16f-rg-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-rg32f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-rg8-rg-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-rg8ui-rg_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-2d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-r11f_g11f_b10f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-r11f_g11f_b10f-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-r16f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-r16f-red-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-r32f-red-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-r8-red-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-r8ui-red_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rg16f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rg16f-rg-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rg32f-rg-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rg8-rg-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rg8ui-rg_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb16f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb16f-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb32f-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb565-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb565-rgb-unsigned_short_5_6_5-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb5_a1-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb8-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb9_e5-rgb-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb9_e5-rgb-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba16f-rgba-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba16f-rgba-half_float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba32f-rgba-float-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba4-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba8-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-srgb8-rgb-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/image_data/tex-3d-srgb8_alpha8-rgba-unsigned_byte-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/copy-texture-image-webgl-specific-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/gl-get-tex-parameter-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-image-and-sub-image-with-array-buffer-view-sub-source-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-image-with-different-data-source-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-mipmap-levels-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-new-formats-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-unpack-params-expected.txt:
2:50 PM Changeset in webkit [261022] by Russell Epstein
  • 1 copy in tags/Safari-610.1.11.5

Tag Safari-610.1.11.5.

2:43 PM Changeset in webkit [261021] by Russell Epstein
  • 8 edits in branches/safari-610.1.11-branch/Source

Versioning.

2:09 PM Changeset in webkit [261020] by Devin Rousso
  • 2 edits in trunk/Source/WebKit

Web Inspector: Browser: crash when handling disable
https://bugs.webkit.org/show_bug.cgi?id=211251

Reviewed by Daniel Bates.

  • UIProcess/Inspector/Agents/InspectorBrowserAgent.cpp:

(WebKit::InspectorBrowserAgent::disable):
If the inspected page crashed, we won't have a WebInspectorProxy anymore.

1:53 PM Changeset in webkit [261019] by Jack Lee
  • 3 edits
    2 adds in trunk

Source/WebCore:
Nullptr crash in CompositeEditCommand::cloneParagraphUnderNewElement when indent
and align a paragraph.
https://bugs.webkit.org/show_bug.cgi?id=211273
<rdar://problem/61885958>

Reviewed by Geoffrey Garen.

A load event can fire when we clone and append a paragraph. Check if the elements
are removed in the event and bail out.

Test: fast/editing/indent-then-justifyFull-crash.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):

LayoutTests:
Nullptr crash in CompositeEditCommand::cloneParagraphUnderNewElement when indent
and align a paragraph.
https://bugs.webkit.org/show_bug.cgi?id=211273
<rdar://problem/61885958>

Reviewed by Geoffrey Garen.

Added a regression test for the crash.

  • fast/editing/indent-then-justifyFull-crash-expected.txt: Added.
  • fast/editing/indent-then-justifyFull-crash.html: Added.
1:50 PM Changeset in webkit [261018] by Jack Lee
  • 8 edits in trunk

Nullptr crash in EditCommand::EditCommand via CompositeEditCommand::removeNode
https://bugs.webkit.org/show_bug.cgi?id=207600
Source/WebCore:

<rdar://problem/56969450>

Reviewed by Geoffrey Garen.

Second part of the fix. Remove m_frame in FrameSelection so it will not be
inadvertently used and cause this crash.

No new tests, covered by existing test.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::rootViewRectForRange const):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
(WebCore::FrameSelection::setFocusedElementIfNeeded):
(WebCore::FrameSelection::shouldDeleteSelection const):
(WebCore::FrameSelection::shouldDeleteSelection):
(WebCore::FrameSelection::revealSelection):
(WebCore::FrameSelection:: shouldChangeSelection):
(WebCore::FrameSelection::shouldChangeSelection const):

  • editing/FrameSelection.h:
  • editing/atk/FrameSelectionAtk.cpp:

(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):

  • editing/mac/FrameSelectionMac.mm:

(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):

LayoutTests:

Reviewed by Geoffrey Garen.

Reduce run time for this test case.

  • editing/inserting/insert-list-then-edit-command-crash.html:
1:46 PM Changeset in webkit [261017] by Darin Adler
  • 2 edits in trunk/Source/WebCore

REGRESSION (r260739): Crash when pasting into Mail
https://bugs.webkit.org/show_bug.cgi?id=211311

Reviewed by Wenson Hsieh.

Speculative fix. Would be much better to create a test case demonstrating it's correct.

  • editing/cocoa/HTMLConverter.mm:

(WebCore::editingAttributedString): Use container node when TextIterator::node
returns null.

1:30 PM Changeset in webkit [261016] by pvollan@apple.com
  • 8 edits in trunk

[iOS] Every running WebContent process should be granted access to frontboard services when Accessibility is enabled
https://bugs.webkit.org/show_bug.cgi?id=211238

Reviewed by Daniel Bates.

Source/WebKit:

Currently, every WebContent process is granted access to frontboard services if Accessibility is enabled at the
time of startup. However, WebContent processes running at the time when Accessibility is enabled are not granted
access, which is a bug.

API test: WebKit.AccessibilityHasFrontboardServiceAccess

  • UIProcess/AuxiliaryProcessProxy.cpp:

(WebKit::AuxiliaryProcessProxy::sendMessage):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::unblockServicesRequiredByAccessibility):
(WebKit::WebProcess::unblockAccessibilityServer): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:

(TEST):

1:09 PM Changeset in webkit [261015] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

[iOS] Unable to take RunningBoard process assertions in the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=211254
<rdar://problem/62674074>

Reviewed by Tim Horton.

  • Configurations/BaseXPCService.xcconfig:

Use this directive to add our entitlements:

CODE_SIGN_ENTITLEMENTS = $(WK_PROCESSED_XCENT_FILE);

instead of using:

OTHER_CODE_SIGN_FLAGS = --entitlements $(WK_PROCESSED_XCENT_FILE);

This is important because entitlements are added differently for iOS Simulator builds,
so that they only apply inside the simulator (and not for the host system). If we use
CODE_SIGN_ENTITLEMENTS, then XCode does the right thing on all platforms.

  • Scripts/process-entitlements.sh:

Add com.apple.runningboard.assertions.webkit entitlement to iOS Simulator builds.

12:50 PM Changeset in webkit [261014] by don.olmstead@sony.com
  • 29 edits in trunk

[GTK] Add additional exports to support hidden visibility
https://bugs.webkit.org/show_bug.cgi?id=211246

Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

  • API/glib/JSCContextPrivate.h:
  • API/glib/JSCValuePrivate.h:
  • inspector/remote/glib/RemoteInspectorServer.h:
  • inspector/remote/glib/RemoteInspectorUtils.h:

Source/WebCore:

  • platform/ContentType.h:
  • platform/graphics/cairo/RefPtrCairo.h:
  • platform/gtk/GtkUtilities.h:
  • platform/network/soup/CertificateInfo.h:
  • platform/network/soup/SoupNetworkSession.h:

Source/WebKit:

  • WebProcess/InjectedBundle/API/glib/WebKitWebExtensionPrivate.h:

Source/WTF:

  • wtf/ASCIICType.cpp:
  • wtf/DateMath.h:
  • wtf/FileSystem.h:
  • wtf/PrintStream.h:
  • wtf/RunLoop.h:
  • wtf/glib/GLibUtilities.h:
  • wtf/glib/GSocketMonitor.h:
  • wtf/glib/SocketConnection.h:

(WTF::SocketConnection::isClosed const):

  • wtf/linux/CurrentProcessMemoryStatus.h:

Tools:

  • DumpRenderTree/TestNetscapePlugIn/main.cpp:
  • TestWebKitAPI/InjectedBundleMain.cpp:
  • TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:

(webkit_web_extension_initialize_with_user_data):

  • TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:

(webkit_web_extension_initialize):

  • WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp:
12:47 PM Changeset in webkit [261013] by ysuzuki@apple.com
  • 88 edits in trunk/Source

Introduce MainThreadNeverDestroyed / MainThreadLazyNeverDestroyed
https://bugs.webkit.org/show_bug.cgi?id=211264

Reviewed by Mark Lam.

Source/WebCore:

No behavior change. Adding assertions additionally.

  • Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp:

(WebCore::stringForPlaybackTargetAvailability):

  • Modules/encryptedmedia/InitDataRegistry.cpp:

(WebCore::InitDataRegistry::cencName):
(WebCore::InitDataRegistry::keyidsName):
(WebCore::InitDataRegistry::webmName):

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::automaticKeyword):
(WebCore::MediaControlsHost::forcedOnlyKeyword):
(WebCore::alwaysOnKeyword):
(WebCore::manualKeyword):

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::kind const):
(WebCore::MediaStreamTrack::contentHint const):

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::blobKeyword):
(WebCore::arraybufferKeyword):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::liveRegionRelevant const):

  • dom/ConstantPropertyMap.cpp:

(WebCore::ConstantPropertyMap::nameForProperty const):

  • dom/Document.cpp:

(WebCore::Document::validateCustomElementName):

  • dom/InlineStyleSheetOwner.cpp:

(WebCore::isValidCSSContentType):

  • dom/MutationRecord.cpp:
  • dom/make_names.pl:

(printNamesHeaderFile):
(printNamesCppFile):

  • html/Autocapitalize.cpp:

(WebCore::stringForAutocapitalizeType):

  • html/Autofill.cpp:

(WebCore::isContactToken):
(WebCore::AutofillData::createFromHTMLFormControlElement):

  • html/BaseCheckableInputType.cpp:

(WebCore::BaseCheckableInputType::fallbackValue const):

  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::createShadowSubtree):

  • html/FileInputType.cpp:

(WebCore::UploadButtonElement::UploadButtonElement):

  • html/FormController.cpp:

(WebCore::FormKeyGenerator::formKey):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):
(WebCore::HTMLAnchorElement::isSystemPreviewLink const):

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::formControlType const):

  • html/HTMLDetailsElement.cpp:

(WebCore::summarySlotName):

  • html/HTMLElement.cpp:

(WebCore::toValidDirValue):
(WebCore::trueName):
(WebCore::falseName):
(WebCore::plaintextOnlyName):
(WebCore::HTMLElement::setAutocorrect):

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::formControlType const):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::autocomplete const):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::loadingForBindings const):

  • html/HTMLKeygenElement.cpp:

(WebCore::HTMLKeygenElement::formControlType const):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::formControlType const):

  • html/HTMLOutputElement.cpp:

(WebCore::HTMLOutputElement::formControlType const):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay const):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::formControlType const):

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::scope const):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::formControlType const):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::directionString):
(WebCore::HTMLTextFormControlElement::updateInnerTextElementEditability):

  • html/InputMode.cpp:

(WebCore::InputModeNames::none):
(WebCore::InputModeNames::text):
(WebCore::InputModeNames::tel):
(WebCore::InputModeNames::url):
(WebCore::InputModeNames::email):
(WebCore::InputModeNames::numeric):
(WebCore::InputModeNames::decimal):
(WebCore::InputModeNames::search):

  • html/InputTypeNames.cpp:

(WebCore::InputTypeNames::button):
(WebCore::InputTypeNames::checkbox):
(WebCore::InputTypeNames::color):
(WebCore::InputTypeNames::date):
(WebCore::InputTypeNames::datetime):
(WebCore::InputTypeNames::datetimelocal):
(WebCore::InputTypeNames::email):
(WebCore::InputTypeNames::file):
(WebCore::InputTypeNames::hidden):
(WebCore::InputTypeNames::image):
(WebCore::InputTypeNames::month):
(WebCore::InputTypeNames::number):
(WebCore::InputTypeNames::password):
(WebCore::InputTypeNames::radio):
(WebCore::InputTypeNames::range):
(WebCore::InputTypeNames::reset):
(WebCore::InputTypeNames::search):
(WebCore::InputTypeNames::submit):
(WebCore::InputTypeNames::telephone):
(WebCore::InputTypeNames::text):
(WebCore::InputTypeNames::time):
(WebCore::InputTypeNames::url):
(WebCore::InputTypeNames::week):

  • html/MediaController.cpp:

(WebCore::playbackStateWaiting):
(WebCore::playbackStatePlaying):
(WebCore::playbackStateEnded):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::createShadowSubtree):

  • html/SearchInputType.cpp:

(WebCore::updateResultButtonPseudoType):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::createDataListDropdownIndicator):
(WebCore::TextFieldInputType::createContainer):
(WebCore::TextFieldInputType::createAutoFillButton):

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::buildBubbleTree):

  • html/shadow/DetailsMarkerControl.cpp:

(WebCore::DetailsMarkerControl::DetailsMarkerControl):

  • html/shadow/MediaControlTextTrackContainerElement.cpp:

(WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement):

  • html/shadow/ProgressShadowElement.cpp:

(WebCore::ProgressInnerElement::create):
(WebCore::ProgressBarElement::create):
(WebCore::ProgressValueElement::create):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::resolveCustomStyle):
(WebCore::SliderContainerElement::resolveCustomStyle):

  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::SpinButtonElement):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlPlaceholderElement::TextControlPlaceholderElement):
(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):

  • html/shadow/YouTubeEmbedShadowElement.cpp:

(WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement):

  • html/shadow/mac/ImageControlsButtonElementMac.cpp:

(WebCore::ImageControlsButtonElementMac::tryCreate):

  • html/shadow/mac/ImageControlsRootElementMac.cpp:

(WebCore::ImageControlsRootElement::tryCreate):

  • html/track/AudioTrack.cpp:

(WebCore::AudioTrack::alternativeKeyword):
(WebCore::AudioTrack::descriptionKeyword):
(WebCore::AudioTrack::mainKeyword):
(WebCore::AudioTrack::mainDescKeyword):
(WebCore::AudioTrack::translationKeyword):
(WebCore::AudioTrack::commentaryKeyword):

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::subtitlesKeyword):
(WebCore::captionsKeyword):
(WebCore::descriptionsKeyword):
(WebCore::chaptersKeyword):
(WebCore::metadataKeyword):
(WebCore::forcedKeyword):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::cueShadowPseudoId):
(WebCore::TextTrackCue::cueBoxShadowPseudoId):
(WebCore::TextTrackCue::cueBackdropShadowPseudoId):
(WebCore::TextTrackCue::rebuildDisplayTree):

  • html/track/VTTRegion.cpp:

(WebCore::upKeyword):
(WebCore::VTTRegion::textTrackCueContainerScrollingClass):
(WebCore::VTTRegion::textTrackCueContainerShadowPseudoId):
(WebCore::VTTRegion::textTrackRegionShadowPseudoId):

  • html/track/VideoTrack.cpp:

(WebCore::VideoTrack::alternativeKeyword):
(WebCore::VideoTrack::captionsKeyword):
(WebCore::VideoTrack::mainKeyword):
(WebCore::VideoTrack::signKeyword):
(WebCore::VideoTrack::subtitlesKeyword):
(WebCore::VideoTrack::commentaryKeyword):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::initiatorName const):

  • page/EventHandler.cpp:

(WebCore::focusDirectionForKey):

  • page/Quirks.cpp:

(WebCore::Quirks::shouldBypassBackForwardCache const):

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::updateKeyframeAnimations):

  • platform/cocoa/PlaybackSessionModelMediaElement.mm:

(WebCore::PlaybackSessionModelMediaElement::eventNameAll):

  • platform/cocoa/VideoFullscreenModelVideoElement.mm:

(WebCore::VideoFullscreenModelVideoElement::eventNameAll):

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::alternateFamilyName):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::applicationOctetStream):
(WebCore::textPlain):

  • platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:

(WebCore::CDMPrivateFairPlayStreaming::sinfName):
(WebCore::CDMPrivateFairPlayStreaming::skdName):

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

(WebCore::metadataType):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::similarFont):
(WebCore::FontCache::platformAlternateFamilyName):

  • platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:

(WebCore::SystemFontDatabaseCoreText::systemFontParameters):

  • platform/graphics/filters/SourceAlpha.cpp:

(WebCore::SourceAlpha::effectName):

  • platform/graphics/filters/SourceGraphic.cpp:

(WebCore::SourceGraphic::effectName):

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::getCustomFallbackFont):

  • platform/graphics/texmap/TextureMapperShaderProgram.h:
  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::lastResortFallbackFont):
(WebCore::FontCache::platformAlternateFamilyName):

  • platform/network/cocoa/ResourceResponseCocoa.mm:

(WebCore::extractHTTPStatusText):

  • rendering/ComplexLineLayout.cpp:

(WebCore::ComplexLineLayout::checkLinesForTextOverflow):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::hyphenString const):
(WebCore::RenderStyle::textEmphasisMarkString const):

  • style/StyleAdjuster.cpp:

(WebCore::Style::Adjuster::adjustForSiteSpecificQuirks const):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::rotateMode const):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::setCalcMode):
(WebCore::SVGAnimationElement::setAttributeType):
(WebCore::SVGAnimationElement::isAdditive const):
(WebCore::SVGAnimationElement::isAccumulated const):
(WebCore::inheritsFromProperty):

  • svg/SVGStyleElement.cpp:

(WebCore::SVGStyleElement::type const):
(WebCore::SVGStyleElement::media const):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::parseClockValue):
(WebCore::SVGSMILElement::restart const):
(WebCore::SVGSMILElement::fill const):
(WebCore::SVGSMILElement::repeatCount const):

  • svg/properties/SVGAnimationAdditiveValueFunctionImpl.cpp:

(WebCore::SVGAnimationColorFunction::colorFromString):

  • svg/properties/SVGPropertyAnimator.h:

(WebCore::SVGPropertyAnimator::adjustForInheritance const):

Source/WTF:

Since AtomString has thread-affinity, static NeverDestroyed<const AtomString> is basically only safe for the main-thread use.
We should ensure that this is only used in the main-thread. To do that, this patch introduces MainThreadNeverDestroyed and
MainThreadLazyNeverDestroyed. They are NeverDestroyed and LazyNeverDestroyed + main-thread assertions.

  • wtf/Forward.h:
  • wtf/NeverDestroyed.h:

(WTF::AnyThreadsAccessTraits::assertAccess):
(WTF::MainThreadAccessTraits::assertAccess):
(WTF::NeverDestroyed::NeverDestroyed):
(WTF::NeverDestroyed::storagePointer const):
(WTF::LazyNeverDestroyed::construct):
(WTF::LazyNeverDestroyed::storagePointer const):
(WTF::makeNeverDestroyed):

  • wtf/text/AtomString.cpp:
  • wtf/text/AtomString.h:
12:42 PM Changeset in webkit [261012] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

REGRESSION (r260243): [ Mac WK1 ] fast/media/mq-inverted-colors-live-update-for-listener.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=211154
<rdar://problem/62555128>

Reviewed by Darin Adler.

Make MediaQueryList an ActiveDOMObject and make sure its JS wrapper stays alive as long as
it may fire change events and there is at least 1 change event listener.

No new tests, already covered by existing tests.

  • css/MediaQueryList.cpp:

(WebCore::MediaQueryList::MediaQueryList):
(WebCore::MediaQueryList::create):
(WebCore::MediaQueryList::~MediaQueryList):
(WebCore::MediaQueryList::detachFromMatcher):
(WebCore::MediaQueryList::evaluate):
(WebCore::MediaQueryList::setMatches):
(WebCore::MediaQueryList::matches):
(WebCore::MediaQueryList::eventListenersDidChange):
(WebCore::MediaQueryList::activeDOMObjectName const):
(WebCore::MediaQueryList::virtualHasPendingActivity const):

  • css/MediaQueryList.h:
  • css/MediaQueryList.idl:
  • css/MediaQueryMatcher.cpp:

(WebCore::MediaQueryMatcher::documentDestroyed):

12:20 PM Changeset in webkit [261011] by ysuzuki@apple.com
  • 2 edits in trunk/JSTests

REGRESSION (r260990): 8 test262 unicode tests failing
https://bugs.webkit.org/show_bug.cgi?id=211298

Reviewed by Saam Barati.

These unicode identifier tests are marked as PASS in r260990, but they are failing.
Update test262/expectations.yaml by running test262-runner --release --save.

  • test262/expectations.yaml:
12:12 PM Changeset in webkit [261010] by Pablo Saavedra
  • 2 edits in trunk/JSTests

Skip on ARM and MIPS stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js added after r260990
https://bugs.webkit.org/show_bug.cgi?id=211304

Unreviewed Gardening.

  • stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js:
12:09 PM Changeset in webkit [261009] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Update message filtering rules in the WebContent process' sandbox
https://bugs.webkit.org/show_bug.cgi?id=211188
<rdar://problem/60922910>

Reviewed by Brent Fulgham.

Based on telemetry and local testing, update the message filtering rules in the WebContent process' sandbox on iOS.
Messages that have not been observed being in use, should be denied.

No new tests, covered by existing tests.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • UIProcess/AuxiliaryProcessProxy.cpp:

(WebKit::AuxiliaryProcessProxy::sendMessage):

11:29 AM Changeset in webkit [261008] by Alan Coon
  • 8 edits in branches/safari-609.2.9.0-branch/Source

Versioning.

10:48 AM Changeset in webkit [261007] by don.olmstead@sony.com
  • 17 edits in trunk

Use export macros on all platforms
https://bugs.webkit.org/show_bug.cgi?id=211293

Reviewed by Michael Catanzaro.

.:

Remove explicit setting of USE_EXPORT_MACROS from all ports.

Ports that use declspec require no changes. Ports with visibility attributes
need to set that as the default in the CMake. This is already done on the
PlayStation port.

The export macros can also be overridden for different build variants if
required. For example production builds may want to override them.

  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsPlayStation.cmake:

Source/bmalloc:

Always use export macros on all platforms. Remove BUSE_EXPORT_MACROS and always
define macros based on the platform. Allow overriding of BEXPORT if desired
otherwise use the defaults.

  • bmalloc/BExport.h:
  • bmalloc/BPlatform.h:

Source/JavaScriptCore:

Allow overriding of JS_EXPORT_PRIVATE if desired otherwise use the defaults.

  • runtime/JSExportMacros.h:

Source/WebCore:

  • platform/PlatformExportMacros.h:

Source/WebCore/PAL:

Allow overriding of PAL_EXPORT if desired otherwise use the defaults.

  • pal/ExportMacros.h:

Source/WTF:

Always use export macros on all platforms. Remove USE_EXPORT_MACROS and always
define macros based on the platform. Allow overriding of WTF_EXPORT_PRIVATE otherwise
use the defaults.

Remove definition of WTF_HIDDEN_DECLARATION since its not used anywhere.

  • wtf/ExportMacros.h:
  • wtf/PlatformUse.h:

Tools:

Remove uses of USE_EXPORT_MACROS from the DumpRenderTree xcode project. This
is the only xcode project that had any references to this value.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
10:25 AM Changeset in webkit [261006] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed. Non-speculative build fix for watchOS build.

  • runtime/ArrayPrototype.cpp:

(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSplice):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Stringifier):

10:10 AM Changeset in webkit [261005] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Speculative build fix for watchOS build.

  • runtime/ArrayPrototype.cpp:

(JSC::shift):

10:05 AM Changeset in webkit [261004] by eric.carlson@apple.com
  • 7 edits
    2 adds in trunk

[MSE] Audio session category is sometimes not set correctly after changing video source
https://bugs.webkit.org/show_bug.cgi?id=211252
<rdar://problem/61894737>

Reviewed by Jer Noble.

Source/WebCore:

Test: media/media-source/media-source-change-source.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerActiveSourceBuffersChanged): Call checkForAudioAndVideo.
(WebCore::HTMLMediaElement::audioTrackEnabledChanged): Ditto.
(WebCore::HTMLMediaElement::videoTrackSelectedChanged): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::checkForAudioAndVideo): New, update m_hasEverHadAudio and m_hasEverHadVideo
and call m_mediaSession->canProduceAudioChanged.
(WebCore::HTMLMediaElement::mediaType const): Put hasVideo() in a local variable since it
is used more than once.

  • html/HTMLMediaElement.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(WebCore::MediaSessionManagerCocoa::updateSessionState): Iterate over the list of media
sessions once, not five times.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer): Call m_player->characteristicChanged()
rather than m_player->renderingModeChanged().

LayoutTests:

  • platform/mac/media/media-source/media-source-change-source-expected.txt: Added.
  • platform/mac/media/media-source/media-source-change-source.html: Added.
9:30 AM Changeset in webkit [261003] by Russell Epstein
  • 12 edits
    1 delete in branches/safari-610.1.11-branch/Source

Cherry-pick r260888. rdar://problem/62714948

Unreviewed, reverting r260650.
https://bugs.webkit.org/show_bug.cgi?id=211172

It is breaking internal bots (Requested by youenn on #webkit).

Reverted changeset:

"Call STDynamicActivityAttributionPublisher in the WebProcess"
https://bugs.webkit.org/show_bug.cgi?id=210772
https://trac.webkit.org/changeset/260650

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

9:18 AM Changeset in webkit [261002] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ iOS ] compositing/iframes/border-radius-composited-frame.html and compositing/iframes/border-uneven-radius-composited-frame.html are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=211261

Unreviewed test gardening.

  • platform/ios/TestExpectations:
9:17 AM Changeset in webkit [261001] by Peng Liu
  • 12 edits
    1 add in trunk

A PiP window doesn’t actually dismiss after the browser navigates to a different page within the same domain
https://bugs.webkit.org/show_bug.cgi?id=211257

Reviewed by Jer Noble.

Source/WebCore:

When we suspend a video element (this will happen when the browser is navigating to another page
within the same domain), we need to request the corresponding video to exit fullscreen/PiP.
The operation should be done immediately because the video element won't response to events
after it is suspended.

In r259095, we hold the start of exiting video fullscreen/PiP in HTMLMediaElement::exitFullscreen()
until the "webkitendfullscreen" event is dispatched/handled. This behavior does not work if
the video element is going to be suspended because the exiting fullscreen operation will be held
until the video element is resumed. Therefore, we need to handle that case separately by exiting
video fullscreen/PiP immediately.

API test: PictureInPicture.ExitPiPOnSuspendVideoElement

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::exitFullscreen):

  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(VideoFullscreenInterfaceAVKit::exitFullscreen):

Source/WebKit:

Add the support of exitVideoFullscreenToModeWithoutAnimation() in iOS,
so that the Web process can request the UI process to close the PiP window
without exchanging IPC messages back and forth.

  • UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
  • UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in:
  • UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:

(WebKit::VideoFullscreenManagerProxy::exitFullscreenWithoutAnimationToMode):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.h:

Only stop the watchdog timer if it is active.

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::VideoFullscreenManager::exitVideoFullscreenToModeWithoutAnimation):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/AGXCompilerService.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/ExitPiPOnSuspendVideoElement.mm: Added.

(-[ExitPiPOnSuspendVideoElementUIDelegate _webView:hasVideoInPictureInPictureDidChange:]):
(TestWebKitAPI::TEST):

8:34 AM Changeset in webkit [261000] by Jonathan Bedard
  • 3 edits in trunk/Tools

results.webkit.org: Dropped connections when uploading archives shouldn't be fatal
https://bugs.webkit.org/show_bug.cgi?id=211248

Rubber-stamped by Aakash Jain.

  • Scripts/webkitpy/results/upload.py:

(Upload.upload_archive): Dropping a connection when uploading archives shouldn't
be a fatal error.

  • Scripts/webkitpy/results/upload_unittest.py:

(UploadTest.test_archive_upload):

7:52 AM Changeset in webkit [260999] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r260920.
https://bugs.webkit.org/show_bug.cgi?id=211292

Sandbox compile error is no longer an issue (Requested by
perarne on #webkit).

Reverted changeset:

"Unreviewed sandbox compile fix."
https://trac.webkit.org/changeset/260920

7:37 AM Changeset in webkit [260998] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][TFC] Introduce struct RowHeight in TableFormattingContext::computeAndDistributeExtraVerticalSpace
https://bugs.webkit.org/show_bug.cgi?id=211275

Reviewed by Antti Koivisto.

This is in preparation for available space distribution across row spans.

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraVerticalSpace):

7:35 AM Changeset in webkit [260997] by Antti Koivisto
  • 3 edits
    2 adds in trunk

Specific dom node order of Shadow DOM (re)projection causes crash
https://bugs.webkit.org/show_bug.cgi?id=211159
<rdar://problem/62626920>

Reviewed by Zalan Bujtas.

Source/WebCore:

ComposedTreeIterator may traverse to nodes outside its root element if it is constructed
with a starting node that has no next sibling inside a slot.

This leads to miscomputing RenderTreePosition::nextSibling() and eventual nullptr crash in
RenderTreeBuilder when adding a renderer (due to beforeChild renderer being outside the parent renderer).

Test case by Elliott Marquez.

Test: fast/shadow-dom/composed-tree-iterator-escape.html

  • dom/ComposedTreeIterator.cpp:

(WebCore::ComposedTreeIterator::Context::Context):

When findind the end iterator for a tree context we need to look for a sibling in ancestors if
the current node has no siblings.

LayoutTests:

  • fast/shadow-dom/composed-tree-iterator-escape-expected.html: Added.
  • fast/shadow-dom/composed-tree-iterator-escape.html: Added.
5:23 AM Changeset in webkit [260996] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK] Move focus out of the web view when tab is pressed and there isn't a next element to focus
https://bugs.webkit.org/show_bug.cgi?id=211283

Reviewed by Adrian Perez de Castro.

Implement API::UIClient::takeFocus() that is called when WebCore wants to focus the chrome.

  • UIProcess/API/glib/WebKitUIClient.cpp:
4:26 AM Changeset in webkit [260995] by Alexey Shvayka
  • 2 edits in trunk/Source/JavaScriptCore

[WebIDL] Interface prototype objects should define @@toStringTag
https://bugs.webkit.org/show_bug.cgi?id=211020

Unreviewed follow-up to r260992.

  • runtime/JSArrayBufferPrototype.cpp:

(JSC::JSArrayBufferPrototype::finishCreation): Revert change in attempt to fix ARMv7 test.

3:26 AM Changeset in webkit [260994] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

REGRESSION (r260214): Leak of _WKTextInputContext in -[WKContentView _isTextInputContextFocused:]
<https://webkit.org/b/211276>
<rdar://problem/62696724>

Reviewed by Daniel Bates.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _focusTextInputContext:placeCaretAt:completionHandler:]):

  • Use RetainPtr<> to pass the copy of _WKTextInputContext into the block to fix the leak.
3:26 AM Changeset in webkit [260993] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSC::PropertySlot::m_attributes is uninitialized in constructor
<https://webkit.org/b/211267>

Reviewed by Mark Lam.

  • runtime/PropertySlot.h:

(JSC::PropertySlot::PropertySlot):

  • Initialize m_attributes and m_additionalData, and make use of default initializers.
2:48 AM Changeset in webkit [260992] by Alexey Shvayka
  • 148 edits in trunk

[WebIDL] Interface prototype objects should define @@toStringTag
https://bugs.webkit.org/show_bug.cgi?id=211020

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Adjust tests for X.prototype.toString() returning "[object X]"
instead of "[object XPrototype]", where X is WebIDL interface.

  • web-platform-tests/WebIDL/ecmascript-binding/class-string-interface.any-expected.txt:
  • web-platform-tests/WebIDL/ecmascript-binding/class-string-interface.any.worker-expected.txt:
  • web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window-expected.txt:
  • web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt:
  • web-platform-tests/html/browsers/the-window-object/window-prototype-chain.html: WPT revision: 50417942bbfe.
  • web-platform-tests/wasm/jsapi/instance/toString.any-expected.txt:
  • web-platform-tests/wasm/jsapi/instance/toString.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/toString.any-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/toString.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/module/toString.any-expected.txt:
  • web-platform-tests/wasm/jsapi/module/toString.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/table/toString.any-expected.txt:
  • web-platform-tests/wasm/jsapi/table/toString.any.worker-expected.txt:

Source/JavaScriptCore:

WebIDL spec was recently updated [1] to define @@toStringTag on interface prototype objects.
This change aligns WebIDL with ECMA-262 built-ins and Blink's behavior. Gecko have also
expressed implementation commitment.

This patch implements the spec change, making X.prototype.toString() return "[object X]"
instead of "[object XPrototype]", where X is WebIDL interface. This behavior is proven to
be web compatible (shipping in Chrome since Q2 2016) and matches class strings of iterator
prototype objects [2] introduced in r253855.

We define @@toStringTag for all WebAssembly interfaces but Error subclasses since they
are not defined using WebIDL [3].

This change also introduces JSC_TO_STRING_TAG_WITHOUT_TRANSITION() macro that sets up
@@toStringTag using ClassInfo to avoid extra strings creation, ensuring className equality
between prototype and instance classes (fixing a few discrepancies), as well as correct
descriptors. It also ensures using faster jsNontrivialString() and relieves from putting
more code into CodeGeneratorJS.pm.

[1]: https://github.com/heycam/webidl/pull/357
[2]: https://heycam.github.io/webidl/#es-iterator-prototype-object
[3]: https://webassembly.github.io/spec/js-api/#error-objects

Tests: imported/w3c/web-platform-tests/wasm/jsapi/instance/toString.any.js

imported/w3c/web-platform-tests/wasm/jsapi/memory/toString.any.js
imported/w3c/web-platform-tests/wasm/jsapi/module/toString.any.js
imported/w3c/web-platform-tests/wasm/jsapi/table/toString.any.js

  • runtime/ArrayIteratorPrototype.cpp:

(JSC::ArrayIteratorPrototype::finishCreation):

  • runtime/AsyncFunctionPrototype.cpp:

(JSC::AsyncFunctionPrototype::finishCreation):

  • runtime/AsyncGeneratorFunctionPrototype.cpp:

(JSC::AsyncGeneratorFunctionPrototype::finishCreation):

  • runtime/AsyncGeneratorPrototype.cpp:

(JSC::AsyncGeneratorPrototype::finishCreation):

  • runtime/BigIntPrototype.cpp:

(JSC::BigIntPrototype::finishCreation):

  • runtime/GeneratorFunctionPrototype.cpp:

(JSC::GeneratorFunctionPrototype::finishCreation):

  • runtime/GeneratorPrototype.cpp:

(JSC::GeneratorPrototype::finishCreation):

  • runtime/IntlCollatorPrototype.cpp:

(JSC::IntlCollatorPrototype::finishCreation):

  • runtime/IntlDateTimeFormatPrototype.cpp:

(JSC::IntlDateTimeFormatPrototype::finishCreation):

  • runtime/IntlNumberFormatPrototype.cpp:

(JSC::IntlNumberFormatPrototype::finishCreation):

  • runtime/IntlPluralRulesPrototype.cpp:

(JSC::IntlPluralRulesPrototype::finishCreation):

  • runtime/IntlRelativeTimeFormatPrototype.cpp:

(JSC::IntlRelativeTimeFormatPrototype::finishCreation):

  • runtime/JSArrayBufferPrototype.cpp:

(JSC::JSArrayBufferPrototype::finishCreation):

  • runtime/JSDataViewPrototype.cpp:

(JSC::JSDataViewPrototype::finishCreation):

  • runtime/JSONObject.cpp:

(JSC::JSONObject::finishCreation):

  • runtime/JSObject.h:
  • runtime/JSPromisePrototype.cpp:

(JSC::JSPromisePrototype::finishCreation):

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototype::finishCreation):

  • runtime/MapPrototype.cpp:

(JSC::MapPrototype::finishCreation):

  • runtime/MathObject.cpp:

(JSC::MathObject::finishCreation):

  • runtime/RegExpStringIteratorPrototype.cpp:

(JSC::RegExpStringIteratorPrototype::finishCreation):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototype::finishCreation):

  • runtime/SetPrototype.cpp:

(JSC::SetPrototype::finishCreation):

  • runtime/StringIteratorPrototype.cpp:

(JSC::StringIteratorPrototype::finishCreation):

  • runtime/SymbolPrototype.cpp:

(JSC::SymbolPrototype::finishCreation):

  • runtime/WeakMapPrototype.cpp:

(JSC::WeakMapPrototype::finishCreation):

  • runtime/WeakObjectRefPrototype.cpp:

(JSC::WeakObjectRefPrototype::finishCreation):

  • runtime/WeakSetPrototype.cpp:

(JSC::WeakSetPrototype::finishCreation):

  • wasm/js/WebAssemblyInstancePrototype.cpp:

(JSC::WebAssemblyInstancePrototype::finishCreation):

  • wasm/js/WebAssemblyMemoryPrototype.cpp:

(JSC::WebAssemblyMemoryPrototype::finishCreation):

  • wasm/js/WebAssemblyModulePrototype.cpp:

(JSC::WebAssemblyModulePrototype::finishCreation):

  • wasm/js/WebAssemblyTablePrototype.cpp:

(JSC::WebAssemblyTablePrototype::finishCreation):

Source/WebCore:

WebIDL spec was recently updated [1] to define @@toStringTag on interface prototype objects.
This change aligns WebIDL with ECMA-262 built-ins and Blink's behavior. Gecko have also
expressed implementation commitment.

This patch implements the spec change, making X.prototype.toString() return "[object X]"
instead of "[object XPrototype]", where X is WebIDL interface. This behavior is proven to
be web compatible (shipping in Chrome since Q2 2016) and matches class strings of iterator
prototype objects [2] introduced in r253855.

[1]: https://github.com/heycam/webidl/pull/357
[2]: https://heycam.github.io/webidl/#es-iterator-prototype-object

Tests: fast/dom/prototype-chain.html

fast/dom/wrapper-classes.html
fast/workers/DedicatedWorkerGlobalScope-prototype-chain.html
imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/class-string-interface.any.js
imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window.js

  • bindings/js/JSDOMIterator.h:

(WebCore::IteratorTraits>::finishCreation):

  • bindings/js/JSDOMWindowProperties.cpp:

(WebCore::JSDOMWindowProperties::finishCreation):

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

(GenerateImplementation):
(GeneratePrototypeDeclaration):
(GenerateConstructorHelperMethods):

  • bindings/scripts/test/*: Updated.

LayoutTests:

Adjust tests for X.prototype.toString() returning "[object X]"
instead of "[object XPrototype]", where X is WebIDL interface.

  • css3/blending/background-blend-mode-property-parsing-expected.txt:
  • css3/blending/background-blend-mode-property-parsing.html:
  • css3/blending/blend-mode-property-parsing-expected.txt:
  • css3/blending/blend-mode-property-parsing.html:
  • css3/filters/backdrop/backdropfilter-property-parsing-expected.txt:
  • css3/filters/backdrop/backdropfilter-property-parsing.html:
  • css3/filters/filter-property-parsing-expected.txt:
  • css3/filters/filter-property-parsing.html:
  • fast/css/image-set-parsing-expected.txt:
  • fast/css/image-set-parsing-generated-expected.txt:
  • fast/css/image-set-parsing-generated.html:
  • fast/css/image-set-parsing.html:
  • fast/dom/DOMException/prototype-object-expected.txt:
  • fast/dom/DOMException/prototype-object.html:
  • fast/dom/prototype-chain-expected.txt:
  • fast/dom/wrapper-classes-expected.txt:
  • fast/dom/wrapper-classes.html:
  • fast/events/event-view-toString-expected.txt:
  • fast/workers/DedicatedWorkerGlobalScope-prototype-chain-expected.txt:
  • fast/workers/DedicatedWorkerGlobalScope-prototype-chain.html:
  • http/tests/xmlhttprequest/XMLHttpRequestException-expected.txt:
  • inspector/model/remote-object-get-properties-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt:
  • resources/idlharness.js: Remove asserts that are commented out in upstream.
  • svg/dom/svg2-inheritance.html:
  • transforms/2d/transform-value-types-expected.txt:
  • transforms/2d/transform-value-types.html:
2:48 AM Changeset in webkit [260991] by Lauro Moura
  • 2 edits in trunk/Tools

[Flatpak SDK] Honor XDG_RUNTIME_DIR when setting the document path
https://bugs.webkit.org/show_bug.cgi?id=211277

Reviewed by Philippe Normand.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.run_in_sandbox): Prefer using the value of
$XDG_RUNTIME_DIR instead of the hardcoded path when setting the
document portal path mount.

1:45 AM Changeset in webkit [260990] by sbarati@apple.com
  • 26 edits
    1 add in trunk

We can't cast toLength result to unsigned
https://bugs.webkit.org/show_bug.cgi?id=211205
<rdar://problem/62625562>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/array-length-cant-get-casted-to-unsigned.js: Added.

(assert):
(testArrayPop):
(testArrayPush):
(testArrayReverse):
(testArraySplice):
(testArrayUnshift):
(testArrayLastIndexOf):
(shouldThrowTypeError):
(testJSONStringify.get let):
(testJSONStringify):

  • test262/expectations.yaml:

Source/JavaScriptCore:

toLength, according to the spec, returns a 53-bit integer. In our
implementation, we return a double. However, there were many callsites
that did something like:
`
unsigned length = toLength(obj);
`

This is bad for a few reasons:

  • Casting to unsigned from double is undefined behavior when the integer

is greater than UINT_MAX. In practice, this means that we'd have different
engine behavior depending on what architecture we'd be running on. For
example, if the length were UINT_MAX + 1, on x86, we'd treat the
length as zero. On arm64, we'd treat it as UINT_MAX. Both are wrong.

  • We weren't spec compliant. We were just ignoring that these numbers could

be 53-bit integers.

This patch addresses each bad use of the undefined behavior, and by doing so,
makes us more spec compliant.

  • dfg/DFGOperations.cpp:
  • jit/JITOperations.cpp:

(JSC::getByVal):

  • runtime/ArrayPrototype.cpp:

(JSC::getProperty):
(JSC::setLength):
(JSC::argumentClampedIndexFromStartOrEnd):
(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::fastIndexOf):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):

  • runtime/Identifier.h:

(JSC::Identifier::from):

  • runtime/IntlObject.cpp:

(JSC::canonicalizeLocaleList):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Stringifier):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):

  • runtime/JSObject.cpp:

(JSC::JSObject::hasProperty const):

  • runtime/JSObject.h:

(JSC::JSObject::putByIndexInline):
(JSC::JSObject::putDirectIndex):
(JSC::JSObject::canGetIndexQuickly const):
(JSC::JSObject::tryGetIndexQuickly const):

  • runtime/JSObjectInlines.h:

(JSC::JSObject::getPropertySlot):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::get const):

  • runtime/PropertySlot.h:

(JSC::PropertySlot::getValue const):

  • tools/JSDollarVM.cpp:

(JSC::functionSetUserPreferredLanguages):

Source/WebCore:

  • bridge/NP_jsobject.cpp:

Source/WebKit:

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::removeProperty):

LayoutTests:

(ES5Harness.registerTest.test):

  • ietestcenter/Javascript/TestCases/15.4.4.14-3-29.js:

(ES5Harness.registerTest.test):

  • ietestcenter/Javascript/TestCases/15.4.4.15-3-25.js:

(ES5Harness.registerTest.test):

  • ietestcenter/Javascript/TestCases/15.4.4.15-3-28.js:

(ES5Harness.registerTest.test):

1:32 AM Changeset in webkit [260989] by graouts@webkit.org
  • 6 edits in trunk

REGRESSION: MotionMark 1.1 regressed due to r260016
https://bugs.webkit.org/show_bug.cgi?id=211280
<rdar://problem/61898830>

Unreviewed.

Source/WebCore:

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::drawImage):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImage):

LayoutTests:

  • fast/images/image-orientation-none-canvas.html:
1:18 AM Changeset in webkit [260988] by Adrian Perez de Castro
  • 2 edits in trunk/Tools

[GTK] File GtkVersioning.h should be excluded from the style checker
https://bugs.webkit.org/show_bug.cgi?id=211262

Reviewed by Carlos Garcia Campos.

  • Scripts/webkitpy/style/checker.py: Exclude Source/WebCore/platform/gtk/GtkVersioning.h

from style checks.

1:15 AM Changeset in webkit [260987] by Philippe Normand
  • 3 edits
    2 adds in trunk/Source/WebCore

[GStreamer] Move video frame holder to its own file
https://bugs.webkit.org/show_bug.cgi?id=211239

Reviewed by Alex Christensen.

This class implementation is big enough for a new compilation unit, IMHO.

  • platform/GStreamer.cmake:
  • platform/graphics/gstreamer/GStreamerVideoFrameHolder.cpp: Added.

(WebCore::GstVideoFrameHolder::GstVideoFrameHolder):
(WebCore::GstVideoFrameHolder::~GstVideoFrameHolder):
(WebCore::GstVideoFrameHolder::handoffVideoDmaBuf):
(WebCore::GstVideoFrameHolder::waitForCPUSync):
(WebCore::GstVideoFrameHolder::updateTexture):
(WebCore::GstVideoFrameHolder::platformLayerBuffer):

  • platform/graphics/gstreamer/GStreamerVideoFrameHolder.h: Added.

(WebCore::GstVideoFrameHolder::size const):
(WebCore::GstVideoFrameHolder::hasAlphaChannel const):
(WebCore::GstVideoFrameHolder::flags const):
(WebCore::GstVideoFrameHolder::textureID const):
(WebCore::GstVideoFrameHolder::hasMappedTextures const):
(WebCore::GstVideoFrameHolder::videoFrame const):
(WebCore::GstVideoFrameHolder::hasDMABuf const):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::GstVideoFrameHolder::GstVideoFrameHolder): Deleted.
(WebCore::GstVideoFrameHolder::~GstVideoFrameHolder): Deleted.
(WebCore::GstVideoFrameHolder::handoffVideoDmaBuf): Deleted.
(WebCore::GstVideoFrameHolder::waitForCPUSync): Deleted.
(WebCore::GstVideoFrameHolder::size const): Deleted.
(WebCore::GstVideoFrameHolder::hasAlphaChannel const): Deleted.
(WebCore::GstVideoFrameHolder::flags const): Deleted.
(WebCore::GstVideoFrameHolder::textureID const): Deleted.
(WebCore::GstVideoFrameHolder::hasMappedTextures const): Deleted.
(WebCore::GstVideoFrameHolder::videoFrame const): Deleted.
(WebCore::GstVideoFrameHolder::updateTexture): Deleted.
(WebCore::GstVideoFrameHolder::platformLayerBuffer): Deleted.
(WebCore::GstVideoFrameHolder::hasDMABuf const): Deleted.

1:08 AM Changeset in webkit [260986] by Adrian Perez de Castro
  • 4 edits in trunk/Source

[GTK4] Disable arrow on context menu popover
https://bugs.webkit.org/show_bug.cgi?id=211241

Reviewed by Carlos Garcia Campos.

Source/WebCore:

No new tests needed.

  • platform/gtk/GtkVersioning.h:

(gdk_display_get_monitor_at_window): Add no-op stub for GTK3.

Source/WebKit:

  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): Disable the menu popover arrow.

Note: See TracTimeline for information about the timeline view.