Timeline



Nov 16, 2020:

9:23 PM Changeset in webkit [269893] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source/WebCore

Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
https://bugs.webkit.org/show_bug.cgi?id=218637
<rdar://problem/71102126>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-11-16
Reviewed by Eric Carlson.

Patch by Jer Noble.

Treat internal compressed YUV pixel formats
kCVPixelFormatType_AGX_420YpCbCr8BiPlanarVideoRange and
kCVPixelFormatType_AGX_420YpCbCr8BiPlanarFullRange as
kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange and
kCVPixelFormatType_420YpCbCr8BiPlanarFullRange when
using the OpenGL shader to convert video IOSurface to a WebGL
texture.

Fixes cases where the decoder outputs the compressed formats.

No new tests, adding more comprehensive test content suite is tracked
in another bug.

Source/WebCore:

  • platform/graphics/cv/GraphicsContextGLCVANGLE.cpp:

(WebCore::pixelRangeFromPixelFormat):
(WebCore::GraphicsContextGLCVANGLE::copyPixelBufferToTexture):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/cf/CoreVideoSPI.h: Added.
8:33 PM Changeset in webkit [269892] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

BuildbotTriggerable should not process a completed build request from a completed test group.
https://bugs.webkit.org/show_bug.cgi?id=219016

Reviewed by Ryosuke Niwa.

BuildBotTriggerable._pullBuildbotOnAllSyncers relies on buildReqeustsByGroup to contain all build requests found by
BuildRequest.findById. However, since re-use root change is landed, above assumption is no longer valid. BuildRequest.all()
may includes build requests under same analysis task. Thus, _pullBuildbotOnAllSyncers will fail due to 'info' is undefined.

  • server-tests/tools-buildbot-triggerable-tests.js: Added a unit test.
  • tools/js/buildbot-triggerable.js:

(BuildbotTriggerable.prototype._pullBuildbotOnAllSyncers): Added logic to stop processing the build request if it's not
from incomplete build requests under a triggerable.

7:15 PM Changeset in webkit [269891] by Jonathan Bedard
  • 4 edits
    1 copy in trunk/Tools

[webkitscmpy] Generalize parts of local.Scm class
https://bugs.webkit.org/show_bug.cgi?id=218935
<rdar://problem/71395688>

Rubber-stamped by Aakash Jain.

  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:

(Scm):
(Scm.Exception): Moved to ScmBase.
(Scm.init): Move branches logic to ScmBase.
(Scm.is_svn): Moved to ScmBase.
(Scm.is_git): Ditto.
(Scm.default_branch): Ditto.
(Scm.branches): Ditto.
(Scm.tags): Ditto.
(Scm.find): Ditto.
(Scm.commit): Ditto.
(Scm.prioritize_branches): Ditto.
(Scm.log): Ditto.

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

(Svn.commit): Passing branch to self.info is redundant.

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/init.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py: Added.

(ScmBase): Base class for all local and remote Scm objects.
(ScmBase.Exception): Moved from local.Scm.
(ScmBase.init): Ditto.
(ScmBase.is_svn): Ditto.
(ScmBase.is_git): Ditto.
(ScmBase.default_branch): Ditto.
(ScmBase.branches): Ditto.
(ScmBase.tags): Ditto.
(ScmBase.commit): Ditto.
(ScmBase.prioritize_branches): Ditto.
(ScmBase.find): Ditto.
(ScmBase.log): Ditto.

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
7:05 PM Changeset in webkit [269890] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[macOS] Remove access to the unused AppleIntelMEUserClient IOKit class
https://bugs.webkit.org/show_bug.cgi?id=219012
<rdar://problem/70462796>

Reviewed by Eric Carlson.

Although we originally thought this was needed for H.264 decoding, testing shows that
this class is never used in WebKit flows, and is not needed. We should remove it.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
6:39 PM Changeset in webkit [269889] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[macOS] Create sandbox extension for the power log service on internal installs
https://bugs.webkit.org/show_bug.cgi?id=218984
<rdar://problem/58488936>

Reviewed by Brent Fulgham.

Create a sandbox extension for the WebContent process for the power log service on macOS internal installs.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::diagnosticServices):

  • WebProcess/com.apple.WebProcess.sb.in:
5:34 PM Changeset in webkit [269888] by weinig@apple.com
  • 116 edits
    1 copy
    1 move
    12 adds in trunk

Source/WebCore:
Standardize enums that are used by Settings in preperation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=218960

Reviewed by Tim Horton.

Move each enum type used by Settings to its own header and make them all scoped
enums in preparation for using them in the generated settings code.

Also converted enums used in Settings that are used as flags to use OptionSet,
adding the necessary EnumTraits to make it to work. In the change, Settings still
generates with getters/setters that work on the raw enum, but in subsequent changes
the generation will work directly with OptionSets.

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:

Add new headers, adjust for renames.

  • Scripts/GenerateSettings.rb:

Add special case for HTML prefix to keep renamed HTMLParserScriptingFlagPolicy
setting using WebCore consistent capitalization.

  • accessibility/ForcedAccessibilityValue.h: Added.
  • css/FontLoadTimingOverride.h: Added.
  • editing/EditableLinkBehavior.h: Added.
  • editing/cocoa/DataDetectorTypes.h: Added.
  • html/parser/HTMLParserScriptingFlagPolicy.h: Added.
  • page/FrameFlattening.h: Added.
  • page/PDFImageCachingPolicy.h: Added.
  • page/DebugOverlayRegions.h: Added.
  • page/StorageBlockingPolicy.h: Added.
  • page/TextDirectionSubmenuInclusionBehavior.h: Added.
  • page/UserInterfaceDirectionPolicy.h: Added.
  • platform/text/FontRenderingMode.h: Added.
  • platform/text/TextDirection.h: Added.

Add new headers.

  • editing/EditingBehaviorType.h: Added.
  • editing/EditingBehaviorTypes.h: Removed.

Renamed header to match enum name.

  • css/CSSFontFace.cpp:

(WebCore::fontLoadTimingOverride):
(WebCore::CSSFontFace::fontLoadTiming const):
Update uses of FontLoadTimingOverride to remove Settings scoping.

  • css/MediaQueryEvaluator.cpp:

(WebCore::monochromeEvaluate):
(WebCore::invertedColorsEvaluate):
(WebCore::dynamicRangeEvaluate):
(WebCore::prefersReducedMotionEvaluate):
Update uses of ForcedAccessibilityValue to remove Settings scoping.

  • dom/Document.cpp:

(WebCore::Document::applyQuickLookSandbox):
Update uses of StorageBlockingPolicy to remove SecurityOrigin scoping.

  • editing/EditingBehavior.h:

Update use of EditingBehaviorType to use scoped syntax.

  • editing/Editor.cpp:

(WebCore::Editor::behavior const):
Remove unnecessary duplication of EditingBehavior construction.

  • editing/cocoa/DataDetection.h:
  • editing/cocoa/DataDetection.mm:

Switch to using OptionSet<DataDetectorTypes> rather than raw DataDetectorTypes.

  • editing/markup.cpp:

(WebCore::createPageForSanitizingWebContent):
Update for renamed setter now called setHTMLParserScriptingFlagPolicy to make it clear
it is about the HTML parser.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::setActive):
(WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType const):
Update use of EditableLinkBehavior to use scoped syntax.

  • html/parser/HTMLParserOptions.cpp:

(WebCore::HTMLParserOptions::HTMLParserOptions):
Update for renamed setting now called HTMLParserScriptingFlagPolicy to make it clear
it is about the HTML parser and no longer scoped to Settings.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
Switch to using OptionSet<DataDetectorTypes> rather than raw DataDetectorTypes.

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::populate):
Update use of TextDirectionSubmenuInclusionBehavior to use scoped syntax.

  • page/DebugPageOverlays.cpp:

(WebCore::DebugPageOverlays::updateOverlayRegionVisibility):
(WebCore::DebugPageOverlays::settingsChanged):

  • page/DebugPageOverlays.h:

Switch to using OptionSet<DebugOverlayRegions> rather than raw DebugOverlayRegions.

  • page/EventHandler.cpp:

(WebCore::EventHandler::useHandCursor):
Update use of EditableLinkBehavior to use scoped syntax.

  • page/FrameView.h:

Switch to #including FrameFlattening.h since it is such a trivial include now.

  • page/Page.cpp:

(WebCore::Page::shouldBuildEditableRegion const):
Switch to using OptionSet<DebugOverlayRegions> rather than raw DebugOverlayRegions.

  • page/SecurityOrigin.cpp:
  • page/SecurityOrigin.h:

Update to now include StorageBlockingPolicy.h and switch to use scoped syntax.

  • page/Settings.yaml:

Update setting defaults to use new scoped names where appropriate and rename
ParserScriptingFlagPolicy to HTMLParserScriptingFlagPolicy to make it clear which
parser it is for.

  • page/SettingsBase.h:

Replace enum definitions with #includes for the new headers. In future changes,
these will be automatically included in the generated code and this won't be necessary
anymore.

  • platform/DragImage.h:
  • platform/graphics/FontDescription.h:

Update #includes to keep things building.

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):

  • platform/graphics/cg/PDFDocumentImage.h:

Update use of PDFImageCachingPolicy to use scoped syntax.

  • platform/text/TextFlags.h:

Extract FontRenderingMode into its own header.

  • platform/text/WritingMode.h:

Extract TextDirection into its own header. Also replace some macros with constexprs while
I was here.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintDebugOverlays):
(WebCore::RenderLayerBacking::paintContents):
Switch to using OptionSet<DebugOverlayRegions> rather than raw DebugOverlayRegions.

  • testing/InternalSettings.cpp:
  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Use new enums rather than redeclaring them. Updates EditingBehaviorType to use the
value "windows" rather than "win" which requires test changes as does changes to
capitalization of PDFImageCachingPolicy enum values.

  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::createPageForServiceWorker):
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):

  • workers/service/context/ServiceWorkerThreadProxy.h:

Update for extracted StorageBlockingPolicy enum.

Source/WebKit:
Standardize enums that are used by Settings in preperation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=218960

Reviewed by Tim Horton.

Update enum uses for renames and scoped syntax use.

  • UIProcess/API/C/WKAPICast.h:

(WebKit::toAPI):
(WebKit::toEditableLinkBehavior):
(WebKit::toStorageBlockingPolicy):

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetEditableLinkBehavior):
(WKPreferencesSetStorageBlockingPolicy):
(WKPreferencesGetStorageBlockingPolicy):

  • UIProcess/API/Cocoa/WKPreferences.mm:

(toStorageBlockingPolicy):
(toAPI):
(-[WKPreferences _storageBlockingPolicy]):
(-[WKPreferences _setStorageBlockingPolicy:]):
(toEditableLinkBehavior):
(-[WKPreferences _setEditableLinkBehavior:]):

  • UIProcess/WebPreferences.cpp:

(WebKit::WebPreferences::createWithLegacyDefaults):

  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::updatePreferencesStore):

  • WebProcess/Storage/WebSWContextManagerConnection.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):
(WebKit::WebPage::detectDataInAllFrames):

Source/WebKitLegacy/mac:
Standardize enums that are used by Settings in preperation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=218960

Reviewed by Tim Horton.

Update enum uses for renames and scoped syntax use.

  • WebView/WebFrame.mm:
  • WebView/WebView.mm:

Source/WTF:
Standardize enums that are used by Settings in preperation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=218960

Reviewed by Tim Horton.

Update enum uses in default WebPreferences values for renames and scoped syntax use.

  • Scripts/Preferences/WebPreferences.yaml:

LayoutTests:
Standardize enums that are used by Settings in preparation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=218960

Reviewed by Tim Horton.

Update tests and results for change in EditingBahavior enum value "win" -> "windows".

  • editing/deleting/delete-ligature-003-expected.txt:
  • editing/deleting/delete-ligature-003.html:
  • editing/deleting/paragraph-in-preserveNewline-expected.txt:
  • editing/deleting/paragraph-in-preserveNewline.html:
  • editing/deleting/smart-editing-disabled-win.html:
  • editing/deleting/whitespace-pre-1-expected.txt:
  • editing/deleting/whitespace-pre-1.html:
  • editing/execCommand/query-command-state-expected.txt:
  • editing/execCommand/query-command-state.html:
  • editing/execCommand/query-text-alignment-expected.txt:
  • editing/execCommand/query-text-alignment.html:
  • editing/execCommand/remove-format-multiple-elements-win.html:
  • editing/execCommand/toggle-compound-styles-expected.txt:
  • editing/execCommand/toggle-compound-styles.html:
  • editing/execCommand/toggle-link-win.html:
  • editing/execCommand/toggle-unlink-win.html:
  • editing/selection/5195166-1.html:
  • editing/selection/5354455-1.html:
  • editing/selection/click-in-margins-inside-editable-div.html:
  • editing/selection/click-in-padding-with-multiple-line-boxes.html:
  • editing/selection/context-menu-text-selection-lookup.html:
  • editing/selection/context-menu-text-selection.html:
  • editing/selection/extend-after-mouse-selection.html:
  • editing/selection/extend-selection-after-double-click.html:
  • editing/selection/extend-selection-enclosing-block-win.html:
  • editing/selection/move-by-word-visually-crash-test-1.html:
  • editing/selection/move-by-word-visually-crash-test-2.html:
  • editing/selection/move-by-word-visually-crash-test-3.html:
  • editing/selection/move-by-word-visually-crash-test-4.html:
  • editing/selection/move-by-word-visually-crash-test-5.html:
  • editing/selection/move-by-word-visually-crash-test-css-generated-content.html:
  • editing/selection/move-by-word-visually-crash-test-textarea.html:
  • editing/selection/move-by-word-visually-inline-block-positioned-element.html:
  • editing/selection/move-by-word-visually-multi-line.html:
  • editing/selection/move-by-word-visually-multi-space.html:
  • editing/selection/move-by-word-visually-null-box.html:
  • editing/selection/move-by-word-visually-single-space-inline-element.html:
  • editing/selection/move-by-word-visually-single-space-one-element.html:
  • editing/selection/move-by-word-visually-textarea.html:
  • editing/selection/move-by-word-visually-wrong-left-right.html:
  • editing/selection/programmatic-selection-on-mac-is-directionless-expected.txt:
  • editing/selection/programmatic-selection-on-mac-is-directionless.html:
  • editing/selection/rtl-move-selection-right-left.html:
  • editing/selection/selection-extend-should-not-move-across-caret-on-mac-expected.txt:
  • editing/selection/selection-extend-should-not-move-across-caret-on-mac.html:
  • editing/selection/shift-click.html:
  • editing/selection/user-select-all-with-shift-expected.txt:
  • editing/selection/user-select-all-with-shift.html:
  • editing/spelling/copy-paste-crash.html:
  • editing/style/iframe-onload-crash-win.html:
  • editing/style/make-text-writing-direction-inline-win.html:
  • editing/style/push-down-font-styles-win.html:
  • editing/style/push-down-implicit-styles-around-list-win.html:
  • editing/style/toggle-style-bold-italic-expected.txt:
  • editing/style/toggle-style-bold-italic-mixed-editability-expected.txt:
  • editing/style/toggle-style-bold-italic-mixed-editability.html:
  • editing/style/toggle-style-bold-italic.html:
  • fast/events/backspace-navigates-back.html:
  • fast/forms/selection-direction-expected.txt:
  • fast/forms/selection-direction.html:
5:09 PM Changeset in webkit [269887] by lingho@apple.com
  • 3 edits in trunk/Tools

Updated contributors.json to remove inactive committers and reviewers.
Removed irc user "Adam Barth" from IRCCommand in webkitpy unittest.
https://bugs.webkit.org/show_bug.cgi?id=219006

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest.test_whois):

4:00 PM Changeset in webkit [269886] by wilander@apple.com
  • 28 edits in trunk

PCM: Change attribute and JSON key names according to the W3C conversation
https://bugs.webkit.org/show_bug.cgi?id=218967

Reviewed by Brent Fulgham.

We've discussed extensively with Google and others on naming for the link
attributes and JSON key names in these issues:
https://github.com/privacycg/private-click-measurement/issues/30
https://github.com/privacycg/private-click-measurement/issues/56

This patch changes PCM accordingly.

Source/WebCore:

No new tests. Exiting tests updated.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parsePrivateClickMeasurement const):

  • html/HTMLAnchorElement.idl:
  • html/HTMLAttributeNames.in:
  • loader/PrivateClickMeasurement.cpp:

(WebCore::PrivateClickMeasurement::json const):

Tools:

  • TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:

(TestWebKitAPI::TEST):

LayoutTests:

  • http/tests/contentextensions/block-private-click-measurement.html:
  • http/tests/privateClickMeasurement/anchor-tag-attributes-reflect-expected.txt:
  • http/tests/privateClickMeasurement/anchor-tag-attributes-reflect.html:
  • http/tests/privateClickMeasurement/anchor-tag-attributes-validation-expected.txt:
  • http/tests/privateClickMeasurement/anchor-tag-attributes-validation.html:
  • http/tests/privateClickMeasurement/attribution-conversion-through-cross-site-image-redirect.html:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-in-new-window.html:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-with-priority.html:
  • http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-without-priority.html:
  • http/tests/privateClickMeasurement/clear-through-website-data-removal.html:
  • http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session.html:
  • http/tests/privateClickMeasurement/expired-attributions-removed.html:
  • http/tests/privateClickMeasurement/second-attribution-converted-with-higher-priority.html:
  • http/tests/privateClickMeasurement/second-attribution-converted-with-lower-priority.html:
  • http/tests/privateClickMeasurement/second-conversion-with-higher-priority.html:
  • http/tests/privateClickMeasurement/second-conversion-with-lower-priority.html:
  • http/tests/privateClickMeasurement/send-attribution-conversion-request-expected.txt:
  • http/tests/privateClickMeasurement/send-attribution-conversion-request.html:
  • http/tests/privateClickMeasurement/store-disabled-in-ephemeral-session.html:
  • http/tests/privateClickMeasurement/store-private-click-measurement.html:
3:51 PM Changeset in webkit [269885] by wilander@apple.com
  • 2 edits in trunk/Source/WebKit

NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking() redacts the cookie name in log output on customer builds
https://bugs.webkit.org/show_bug.cgi?id=218997
<rdar://problem/71460604>

Unreviewed minor change to logging.

NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking() redacts the
cookie name in log output on customer builds. This patch changes the format
specifier from %s to %{public}s.

Note that this logging is just for ITP Debug Mode which is off by default, logs
in-memory only, and is disabled again on browser quit.

No new tests. This just changes log output on customer builds.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking):

3:49 PM Changeset in webkit [269884] by Russell Epstein
  • 8 edits in branches/safari-611.1.6-branch/Source

Versioning.

WebKit-7611.1.6

3:45 PM Changeset in webkit [269883] by Russell Epstein
  • 1 copy in branches/safari-611.1.6-branch

New branch.

3:38 PM Changeset in webkit [269882] by Russell Epstein
  • 8 edits in trunk/Source

Versioning.

WebKit-7611.1.7

3:12 PM Changeset in webkit [269881] by Alan Coon
  • 5 edits in branches/safari-610.3.7.0-branch/Source

Revert r268979. rdar://problem/71446619

2:40 PM Changeset in webkit [269880] by graouts@webkit.org
  • 15 edits
    6 adds in trunk

Add an experimental <model> element
https://bugs.webkit.org/show_bug.cgi?id=218991

Reviewed by Dean Jackson.

Source/WebCore:

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

Add the basis for a new <model> element.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • html/HTMLModelElement.cpp: Added.

(WebCore::HTMLModelElement::HTMLModelElement):
(WebCore::HTMLModelElement::~HTMLModelElement):
(WebCore::HTMLModelElement::create):

  • html/HTMLModelElement.h: Added.
  • html/HTMLModelElement.idl: Added.
  • html/HTMLTagNames.in:

Source/WTF:

Add a new build ENABLE(MODEL_ELEMENT) flag, enabled only on Cocoa platforms, and a new experimental feature
backed by a setting, currently disabled on all platforms except engineering builds and Safari Technology Preview.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/PlatformEnableCocoa.h:

LayoutTests:

Add a new system-preview/model subdirectory for <model> tests, which we run on macOS and iOS.

  • platform/mac/TestExpectations:
  • system-preview/model/model-element-expected.txt: Added.
  • system-preview/model/model-element.html: Added.
2:17 PM Changeset in webkit [269879] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

[GPUProcess] Update GPUProcess process assertion based on active WebProcesses
https://bugs.webkit.org/show_bug.cgi?id=219002

Reviewed by Simon Fraser.

Update GPUProcess process assertion based on active WebProcesses, similarly to what
we do for the network process. Previously, we would never release the GPUProcess
process assertion and it would time out after 30 seconds in the background.

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::updateProcessAssertion):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::updateProcessAssertions):

2:14 PM Changeset in webkit [269878] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Modify expectations for webgpu/whlsl/dont-crash-parsing-enum.html
https://bugs.webkit.org/show_bug.cgi?id=215247

unreviewed test gardening.

  • platform/mac/TestExpectations:
2:07 PM Changeset in webkit [269877] by Brent Fulgham
  • 4 edits in trunk/Source/WebKit

[macOS] Remove remote tcp capability from WebContent Sandbox
https://bugs.webkit.org/show_bug.cgi?id=218999
<rdar://problem/70355789>

Reviewed by Per Arne Vollan.

Since we have moved all network activity (aside from some syslog use) out of the WebContent
process, we do not need the ability to open remote tcp connections. We should deny this
capability from our non-Network sandboxes.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
1:58 PM Changeset in webkit [269876] by Alan Coon
  • 5 edits in branches/safari-610.3.7.1-branch/Source

Revert r268979. rdar://problem/71446624

1:45 PM Changeset in webkit [269875] by commit-queue@webkit.org
  • 8 edits in trunk

FileReaderLoader::convertToDataURL should use application/octet-stream if MIME type is empty
https://bugs.webkit.org/show_bug.cgi?id=218993

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

LayoutTests/imported/w3c:

  • web-platform-tests/FileAPI/reading-data-section/filereader_readAsDataURL-expected.txt:

Source/WebCore:

This matches Chrome and Firefox, and is covered by a web platform test.

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::convertToDataURL):

LayoutTests:

  • fast/files/read-blob-async-expected.txt:
  • fast/files/workers/worker-read-blob-async-expected.txt:
  • fast/files/workers/worker-read-blob-sync-expected.txt:
1:27 PM Changeset in webkit [269874] by Matt Lewis
  • 4 edits in trunk/Tools

Bring up Big Sur Builders and Testers
https://bugs.webkit.org/show_bug.cgi?id=218917

Reviewed by Aakash Jain.

  • CISupport/build-webkit-org/config.json:
  • CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

1:21 PM Changeset in webkit [269873] by Megan Gardner
  • 2 edits in trunk/Source/WebCore

Speculative fix for localizableStrings.string in WebCore
https://bugs.webkit.org/show_bug.cgi?id=219003

Unreviewed build fix.

  • WebCore.xcodeproj/project.pbxproj:
1:17 PM Changeset in webkit [269872] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unreviewed test gardening, land expectations for rdar://71039166.

  • platform/mac/TestExpectations:
12:32 PM Changeset in webkit [269871] by Dewei Zhu
  • 12 edits in trunk/Websites/perf.webkit.org

Performance dashboard should avoid building same configuration under one analysis task.
https://bugs.webkit.org/show_bug.cgi?id=218413

Reviewed by Ryosuke Niwa.

Add logic in syncing script to reuse already built roots from same build request under current analysis task.
If there is another same build request scheduled/running, will defer scheduling current build request.

  • public/admin/platforms.php: Fixed newer version of PHP warns on accessing invalid key in an array.
  • public/admin/tests.php: Added a null check against $selected_parent.
  • public/api/build-requests.php: Extended this API to allow reusing roots from existing build request.
  • public/v3/models/build-request.js:

(BuildRequest.prototype.async findBuildRequestWithSameRoots): Find build type build request with same commit set
which can/will be reused under current analysis task.

  • public/v3/models/commit-set.js:

(CommitSet.prototype.equalsIgnoringRoot): Added a helper function which checks commit set equality ignoring the root.
(CommitSet.prototype.equals): Use '_equalsOptionallyIgnoringRoot' as underlying implementation.
(CommitSet.prototype._equalsOptionallyIgnoringRoot): Implementation for both equals and equalsIngnoringRoot.

  • server-tests/api-build-requests-tests.js: Added unit tests.
  • server-tests/resources/mock-data.js: Added new mock data for new unit tests.

(MockData.addMockConfiguration):
(MockData.addMockData):
(MockData.set addMockBuildRequestsWithRoots):
(MockData.set addTwoMockTestGroupWithOwnedCommits):
(MockData.mockTestSyncConfigWithPatchAcceptingBuilder):

  • server-tests/tools-buildbot-triggerable-tests.js: Added unit tests.
  • tools/js/buildbot-triggerable.js:

(BuildbotTriggerable.prototype.async syncOnce):
(BuildbotTriggerable.prototype.async _scheduleRequest): A helper function to reuse the roots if there are built
roots available for same build type build request. If there is another build scheduled for same build request,
will defer scheduling the build request.

  • unit-tests/build-request-tests.js: Add unit tests.
12:25 PM Changeset in webkit [269870] by Russell Epstein
  • 5 edits in branches/safari-610-branch/Source

Cherry-pick r268979. rdar://problem/71446613

Use a WeakHashSet for Document::m_captionPreferencesChangedElements
https://bugs.webkit.org/show_bug.cgi?id=218170

Reviewed by Eric Carlson.

Source/WebCore:

Refactoring to move from raw pointer to weak pointer.
For that purpose, we use WeakHashSet and WeakHashSet::forEach for extra safety.
No observable change of behavior.

  • dom/Document.cpp: (WebCore::Document::registerForCaptionPreferencesChangedCallbacks): (WebCore::Document::unregisterForCaptionPreferencesChangedCallbacks): (WebCore::Document::captionPreferencesChanged):
  • dom/Document.h:

Source/WTF:

  • wtf/WeakHashSet.h: Add a static cast for classes inheriting CanMakeWeakPtr like done for the set iterator. Update code to compile in WinCairo.

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

12:14 PM Changeset in webkit [269869] by Devin Rousso
  • 35 edits in trunk/Source

Ignore deprecation warnings for the uniform types C API
https://bugs.webkit.org/show_bug.cgi?id=218989

Reviewed by Tim Horton.

These should eventually be replaced with the ObjC API UniformTypeIdentifiers.framework.
See <https://developer.apple.com/documentation/uniformtypeidentifiers>.

Source/WebCore:

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::mimeTypeFromContentType):
(WebCore::attachmentForFilePath):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::dataSelectionForPasteboard):

  • fileapi/FileCocoa.mm:

(WebCore::File::shouldReplaceFile):

  • page/mac/DragControllerMac.mm:

(WebCore::DragController::updateSupportedTypeIdentifiersForDragHandlingMethod const):

  • platform/cocoa/DragDataCocoa.mm:

(WebCore::rtfPasteboardType):
(WebCore::rtfdPasteboardType):
(WebCore::stringPasteboardType):
(WebCore::urlPasteboardType):
(WebCore::htmlPasteboardType):
(WebCore::pdfPasteboardType):
(WebCore::tiffPasteboardType):
(WebCore::DragData::containsCompatibleContent const):

  • platform/cocoa/MIMETypeRegistryCocoa.mm:

(WebCore::extensionsForMIMETypeMap):

  • platform/cocoa/PasteboardCocoa.mm:

(WebCore::cocoaTypeToImageType):
(WebCore::Pasteboard::fileContentState):

  • platform/cocoa/PlatformPasteboardCocoa.mm:

(WebCore::PlatformPasteboard::urlStringSuitableForLoading):

  • platform/graphics/cg/ImageBufferUtilitiesCG.cpp:

(WebCore::jpegUTI):
(WebCore::utiFromImageBufferMIMEType):

  • platform/graphics/cg/ImageSourceCGMac.mm:

(WebCore::preferredExtensionForImageType):

  • platform/graphics/mac/ImageMac.mm:

(WebCore::BitmapImage::tiffRepresentation):

  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::read):
(WebCore::supportedImageTypes):
(WebCore::isTypeAllowedByReadingPolicy):
(WebCore::Pasteboard::readPasteboardWebContentDataForType):
(WebCore::readURLAlongsideAttachmentIfNecessary):
(WebCore::prefersAttachmentRepresentation):
(WebCore::Pasteboard::supportedWebContentPasteboardTypes):
(WebCore::Pasteboard::supportedFileUploadPasteboardTypes):
(WebCore::utiTypeFromCocoaType):
(WebCore::Pasteboard::readPlatformValuesAsStrings):
(WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType):

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
(WebCore::webSafeTypes):
(WebCore::PlatformPasteboard::informationForItemAtIndex):
(WebCore::PlatformPasteboard::stringForType const):
(WebCore::PlatformPasteboard::platformPasteboardTypeForSafeTypeForDOMToReadAndWrite):
(WebCore::addRepresentationsForPlainText):
(WebCore::PlatformPasteboard::allowReadingURLAtIndex const):
(WebCore::PlatformPasteboard::write):
(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
(WebCore::createItemProviderRegistrationList):
(WebCore::PlatformPasteboard::readString const):
(WebCore::PlatformPasteboard::readURL const):
(WebCore::PlatformPasteboard::containsURLStringSuitableForLoading):

  • platform/ios/WebItemProviderPasteboard.mm:

(typeConformsToTypes):
(-[NSItemProvider web_containsFileURLAndFileUploadContent]):
(-[NSItemProvider web_fileUploadContentTypes]):
(-[WebItemProviderPasteboard _preLoadedDataConformingToType:forItemProviderAtIndex:]):
(classForTypeIdentifier):
(linkTemporaryItemProviderFilesToDropStagingDirectory):
(-[WebItemProviderPasteboard typeIdentifiersToLoad:]):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::write):
(WebCore::Pasteboard::read):
(WebCore::cocoaTypeFromHTMLClipboardType):
(WebCore::utiTypeFromCocoaType):
(WebCore::Pasteboard::writeString):

  • platform/mac/PasteboardWriter.mm:

(WebCore::toUTI):
(WebCore::toUTIUnlessAlreadyUTI):
(WebCore::createPasteboardWriter):

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::canWritePasteboardType):
(WebCore::urlStringsFromPasteboard):
(WebCore::typeIdentifierForPasteboardType):
(WebCore::PlatformPasteboard::allStringsForType const):
(WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
(WebCore::PlatformPasteboard::setStringForType):

  • platform/network/ios/WebCoreURLResponseIOS.mm:

(WebCore::adjustMIMETypeIfNecessary):

  • platform/network/mac/UTIUtilities.mm:

(WebCore::MIMETypeFromUTI):
(WebCore::MIMETypeFromUTITree):
(WebCore::UTIFromMIMETypeCachePolicy::createValueForKey):
(WebCore::isDeclaredUTI):
(WebCore::UTIFromTag):

  • platform/network/mac/WebCoreURLResponse.mm:

(WebCore::adjustMIMETypeIfNecessary):

  • rendering/RenderThemeMac.mm:

(WebCore::iconForAttachment):

Source/WebKit:

  • Shared/ios/WebIconUtilities.mm:

(WebKit::iconForFile):

  • Shared/mac/PasteboardTypes.mm:

(WebKit::PasteboardTypes::forEditing):
(WebKit::PasteboardTypes::forSelection):

  • UIProcess/API/Cocoa/APIAttachmentCocoa.mm:

(API::isDeclaredOrDynamicTypeIdentifier):
(API::Attachment::mimeType const):
(API::Attachment::utiType const):
(API::Attachment::setFileWrapperAndUpdateContentType):

  • UIProcess/Automation/cocoa/WebAutomationSessionCocoa.mm:

(WebKit::WebAutomationSession::platformGetBase64EncodedPNGData):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setPromisedDataForImage):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _commonInitializationWithProcessPool:configuration:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView supportedPasteboardTypesForCurrentSelection]):

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView actionSheetAssistant:performAction:]):

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel currentAvailableActionTitles]):
(-[WKFileUploadPanel contextMenuInteraction:configurationForMenuAtLocation:]):
(-[WKFileUploadPanel showFilePickerMenu]):
(-[WKFileUploadPanel showDocumentPickerMenu]):
(-[WKFileUploadPanel _uploadItemFromMediaInfo:successBlock:failureBlock:]):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::setupServicesMenu):

Source/WebKitLegacy/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
(+[WebHTMLView _insertablePasteboardTypes]):
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):

12:05 PM Changeset in webkit [269868] by don.olmstead@sony.com
  • 6 edits in trunk/Source

Non-unified build fixes, mid November 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=218911

Unreviewed build fix.

Source/WebCore:

  • display/css/DisplayBoxFactory.h:
  • page/Quirks.cpp:
  • rendering/style/GridPosition.cpp:

Source/WebKit:

  • UIProcess/SpeechRecognitionServer.cpp:

(WebKit::SpeechRecognitionServer::start):
(WebKit::SpeechRecognitionServer::requestPermissionForRequest):
(WebKit::SpeechRecognitionServer::sendUpdate):

11:52 AM Changeset in webkit [269867] by pvollan@apple.com
  • 4 edits in trunk/Source

[macOS] The WebContent sandbox does not apply for open source builds
https://bugs.webkit.org/show_bug.cgi?id=218982

Reviewed by Alexey Proskuryakov.

Source/WebKit:

The WebContent sandbox does not apply for open source builds on macOS, since it has enabled message filtering,
which requires a private entitlement.

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

Source/WTF:

Add HAVE define for sandbox message filtering.

  • wtf/PlatformHave.h:
11:46 AM Changeset in webkit [269866] by ysuzuki@apple.com
  • 35 edits
    12 copies
    193 adds in trunk/LayoutTests

Import latest wpt/wasm tests
https://bugs.webkit.org/show_bug.cgi?id=218953

Reviewed by Saam Barati.

LayoutTests/imported/w3c:

This patch just imports and rebaselines wpt/wasm tests.

  • resources/import-expectations.json:
  • web-platform-tests/wasm/META.yml: Added.
  • web-platform-tests/wasm/compile_worker.js: Added.

(onmessage):

  • web-platform-tests/wasm/create_multiple_memory.worker-expected.txt: Added.
  • web-platform-tests/wasm/create_multiple_memory.worker.html: Added.
  • web-platform-tests/wasm/create_multiple_memory.worker.js: Added.

(test):

  • web-platform-tests/wasm/incrementer.wasm: Added.
  • web-platform-tests/wasm/jsapi/bad-imports.js:

(test_bad_imports.value_type):
(test_bad_imports):

  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any-expected.txt:
  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/constructor/instantiate.any-expected.txt:
  • web-platform-tests/wasm/jsapi/constructor/instantiate.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/constructor/toStringTag.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/constructor/toStringTag.any.html: Added.
  • web-platform-tests/wasm/jsapi/constructor/toStringTag.any.js: Added.

(test):
(test.t.t.add_cleanup):

  • web-platform-tests/wasm/jsapi/constructor/toStringTag.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/constructor/toStringTag.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/constructor/w3c-import.log:
  • web-platform-tests/wasm/jsapi/functions/entry-different-function-realm-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/functions/entry-different-function-realm.html: Added.
  • web-platform-tests/wasm/jsapi/functions/entry-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/functions/entry.html: Added.
  • web-platform-tests/wasm/jsapi/functions/helper.js: Added.

(call_later):

  • web-platform-tests/wasm/jsapi/functions/incumbent-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/functions/incumbent.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/README.md: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/current/current.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/current/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/current/resources/window-to-open.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/current/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/entry-incumbent.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/function/function.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/function/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/function/resources/window-to-open.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/function/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/incumbent-incumbent.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/relevant/relevant.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/relevant/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/relevant/resources/window-to-open.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/relevant/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/resources/window-to-open.html: Added.
  • web-platform-tests/wasm/jsapi/functions/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/functions/resources/window-to-open.html: Added.
  • web-platform-tests/wasm/jsapi/functions/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/jsapi/global/constructor.any-expected.txt:
  • web-platform-tests/wasm/jsapi/global/constructor.any.js:

(test):
(string_appeared_here.toString):
(string_appeared_here.valueOf):
(string_appeared_here.test):
(toString):
(valueOf):
(name.format_value):
(const.invalidBigint.of.invalidBigints.test):

  • web-platform-tests/wasm/jsapi/global/constructor.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/global/value-get-set.any-expected.txt:
  • web-platform-tests/wasm/jsapi/global/value-get-set.any.js:

(string_appeared_here.name.of.immutableOptions.test):
(string_appeared_here.name.of.mutableOptions.test):
(test):

  • web-platform-tests/wasm/jsapi/global/value-get-set.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/idlharness.any-expected.txt:
  • web-platform-tests/wasm/jsapi/idlharness.any.js:

(async idl_array):
(promise_test.async const): Deleted.
(promise_test): Deleted.

  • web-platform-tests/wasm/jsapi/idlharness.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any-expected.txt:
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/instance/constructor.any-expected.txt:
  • web-platform-tests/wasm/jsapi/instance/constructor.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/instanceTestFactory.js:

(const.imports.string_appeared_here.string_appeared_here):

  • web-platform-tests/wasm/jsapi/memory/assertions.js: Added.

(assert_ArrayBuffer):

  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any.js: Added.

(test):
(test.t.new.WebAssembly.Memory.get maximum):
(test.t.new.WebAssembly.Memory.get initial):
(test.t.new.WebAssembly.Memory.get shared):

  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-shared.tentative.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor.any-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/constructor.any.js:

(test.get assert_array_equals):
(test):
(assert_Memory): Deleted.
(test.t.get assert_array_equals): Deleted.

  • web-platform-tests/wasm/jsapi/memory/constructor.any.worker-expected.txt:
  • web-platform-tests/wasm/jsapi/memory/grow.any.js:

(assert_ArrayBuffer): Deleted.

  • web-platform-tests/wasm/jsapi/memory/w3c-import.log:
  • web-platform-tests/wasm/jsapi/prototypes.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/prototypes.any.html: Added.
  • web-platform-tests/wasm/jsapi/prototypes.any.js: Added.

(setup):
(test):

  • web-platform-tests/wasm/jsapi/prototypes.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/prototypes.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/assertions.js:
  • web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/constructor.any.js:

(assert_Table): Deleted.

  • web-platform-tests/wasm/jsapi/table/w3c-import.log:
  • web-platform-tests/wasm/jsapi/w3c-import.log:
  • web-platform-tests/wasm/jsapi/wasm-module-builder.js:

(WasmModuleBuilder.prototype.addTable):
(WasmModuleBuilder.prototype.toBuffer):
(wasmF32Const):
(wasmF64Const):

  • web-platform-tests/wasm/resources/load_wasm.js: Added.

(createWasmModule):

  • web-platform-tests/wasm/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/serialization/arraybuffer/transfer.window-expected.txt: Added.
  • web-platform-tests/wasm/serialization/arraybuffer/transfer.window.html: Added.
  • web-platform-tests/wasm/serialization/arraybuffer/transfer.window.js: Added.

(test):

  • web-platform-tests/wasm/serialization/arraybuffer/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/serialization/module/broadcastchannel-success-and-failure-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/broadcastchannel-success-and-failure.html: Added.
  • web-platform-tests/wasm/serialization/module/broadcastchannel-success-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/broadcastchannel-success.html: Added.
  • web-platform-tests/wasm/serialization/module/identity-not-preserved-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/identity-not-preserved.html: Added.
  • web-platform-tests/wasm/serialization/module/incrementer.wasm: Added.
  • web-platform-tests/wasm/serialization/module/nested-worker-success.any.js: Added.
  • web-platform-tests/wasm/serialization/module/nested-worker-success.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/nested-worker-success.any.worker.html: Added.
  • web-platform-tests/wasm/serialization/module/no-transferring-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/no-transferring.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/blank.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/broadcastchannel-iframe.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/broadcastchannel-sharedworker.js: Added.

(channel.onmessageerror):

  • web-platform-tests/wasm/serialization/module/resources/broadcastchannel-worker.js: Added.

(channel.onmessage):

  • web-platform-tests/wasm/serialization/module/resources/create-empty-wasm-module.js: Added.

(createEmptyWasmModule):

  • web-platform-tests/wasm/serialization/module/resources/echo-iframe.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/echo-worker.js: Added.

(self.onmessage):

  • web-platform-tests/wasm/serialization/module/resources/incrementer-iframe-domain.sub.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/incrementer-iframe.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/incrementer-popup.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/incrementer-worker-with-channel.js: Added.

(self.onmessage):

  • web-platform-tests/wasm/serialization/module/resources/incrementer-worker.js: Added.
  • web-platform-tests/wasm/serialization/module/resources/incrementer.wasm: Added.
  • web-platform-tests/wasm/serialization/module/resources/nested-iframe-1.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/nested-iframe-2.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/nested-iframe-3.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/nested-iframe-4-incrementer.html: Added.
  • web-platform-tests/wasm/serialization/module/resources/serviceworker-failure.js: Added.

(self.onmessage.e.else):

  • web-platform-tests/wasm/serialization/module/resources/sharedworker-failure.js: Added.
  • web-platform-tests/wasm/serialization/module/resources/test-incrementer.js: Added.

(createWasmModule):
(testModule):
(self.testSharingViaIncrementerScript):
(self.setupDestinationIncrementer):

  • web-platform-tests/wasm/serialization/module/resources/w3c-import.log: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-history-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-history.html: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-idb.any-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-idb.any.html: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-idb.any.js: Added.

(createEmptyWasmModule):
(async_test.t.openReq.onupgradeneeded.e.store.put.property.get x):
(async_test.t.openReq.onupgradeneeded.e.store.put.createEmptyWasmModule.get x):
(async_test.t.openReq.onupgradeneeded.e.store.put.createEmptyWasmModule):

  • web-platform-tests/wasm/serialization/module/serialization-via-idb.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-idb.any.worker.html: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.html: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.js: Added.

(createEmptyWasmModule):
(test):

  • web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.worker.html: Added.
  • web-platform-tests/wasm/serialization/module/w3c-import.log: Added.
  • web-platform-tests/wasm/serialization/module/window-domain-success.sub-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-domain-success.sub.html: Added.
  • web-platform-tests/wasm/serialization/module/window-messagechannel-success-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-messagechannel-success.html: Added.
  • web-platform-tests/wasm/serialization/module/window-serviceworker-failure.https-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-serviceworker-failure.https.html: Added.
  • web-platform-tests/wasm/serialization/module/window-sharedworker-failure-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-sharedworker-failure.html: Added.
  • web-platform-tests/wasm/serialization/module/window-similar-but-cross-origin-success.sub-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-similar-but-cross-origin-success.sub.html: Added.
  • web-platform-tests/wasm/serialization/module/window-simple-success-expected.txt: Added.
  • web-platform-tests/wasm/serialization/module/window-simple-success.html: Added.
  • web-platform-tests/wasm/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/w3c-import.log.
  • web-platform-tests/wasm/webapi/abort.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/abort.any.html: Added.
  • web-platform-tests/wasm/webapi/abort.any.js: Added.

(const.method.of.methods.promise_test.async t):
(const.method.of.methods.return.promise_rejects_dom):

  • web-platform-tests/wasm/webapi/abort.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/abort.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/body.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/body.any.html: Added.
  • web-platform-tests/wasm/webapi/body.any.js: Added.

(string_appeared_here.WebAssembly.method):
(string_appeared_here.return.promise_rejects_js):

  • web-platform-tests/wasm/webapi/body.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/body.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/contenttype.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/contenttype.any.html: Added.
  • web-platform-tests/wasm/webapi/contenttype.any.js: Added.

(const.contenttype.of.validContentTypes.promise_test.async t):

  • web-platform-tests/wasm/webapi/contenttype.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/contenttype.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/empty-body.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/empty-body.any.html: Added.
  • web-platform-tests/wasm/webapi/empty-body.any.js: Added.

(string_appeared_here.name.of.invalidArguments.WebAssembly.method):

  • web-platform-tests/wasm/webapi/empty-body.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/empty-body.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/historical.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/historical.any.html: Added.
  • web-platform-tests/wasm/webapi/historical.any.js: Added.

(promise_test.async t.):
(promise_test.async t):

  • web-platform-tests/wasm/webapi/historical.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/historical.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/idlharness.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/idlharness.any.html: Added.
  • web-platform-tests/wasm/webapi/idlharness.any.js: Added.
  • web-platform-tests/wasm/webapi/idlharness.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/idlharness.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.html: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.js: Added.

(test_bad_imports):

  • web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming.any.html: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming.any.js: Added.

(setup):
(fn.of.instanceTestFactory.promise_test.async const):
(fn.of.instanceTestFactory.promise_test):
(promise_test.async const):
(promise_test.const.imports.get module.return.get global):
(promise_test.const.imports.get module):
(promise_test):

  • web-platform-tests/wasm/webapi/instantiateStreaming.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/instantiateStreaming.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/invalid-args.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/invalid-args.any.html: Added.
  • web-platform-tests/wasm/webapi/invalid-args.any.js: Added.

(string_appeared_here.name.format_value):

  • web-platform-tests/wasm/webapi/invalid-args.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/invalid-args.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/invalid-code.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/invalid-code.any.html: Added.
  • web-platform-tests/wasm/webapi/invalid-code.any.js: Added.

(setup):

  • web-platform-tests/wasm/webapi/invalid-code.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/invalid-code.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/origin.sub.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/origin.sub.any.html: Added.
  • web-platform-tests/wasm/webapi/origin.sub.any.js: Added.
  • web-platform-tests/wasm/webapi/origin.sub.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/origin.sub.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/rejected-arg.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/rejected-arg.any.html: Added.
  • web-platform-tests/wasm/webapi/rejected-arg.any.js: Added.

(string_appeared_here.WebAssembly.method):

  • web-platform-tests/wasm/webapi/rejected-arg.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/rejected-arg.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/status.any-expected.txt: Added.
  • web-platform-tests/wasm/webapi/status.any.html: Added.
  • web-platform-tests/wasm/webapi/status.any.js: Added.
  • web-platform-tests/wasm/webapi/status.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/webapi/status.any.worker.html: Added.
  • web-platform-tests/wasm/webapi/status.py: Added.

(main):

  • web-platform-tests/wasm/webapi/w3c-import.log: Added.

LayoutTests:

11:32 AM Changeset in webkit [269865] by Megan Gardner
  • 20 edits in trunk/Source

Add menu support for app highlights for books
https://bugs.webkit.org/show_bug.cgi?id=218879
<rdar://problem/71352113>

Reviewed by Alex Christensen.

Source/WebCore:

Add menu items and associated plubling for support for books highlights in modern webkit.

  • WebCore.xcodeproj/project.pbxproj:
  • page/ContextMenuController.cpp:

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

  • platform/ContextMenuItem.cpp:

(WebCore::isValidContextMenuAction):

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

(WebCore::contextMenuItemTagAddHighlightToCurrentGroup):
(WebCore::contextMenuItemTagAddHighlightToNewGroup):

Source/WebKit:

Add menu items and associated plumbing for support for books highlights in modern WebKit.

  • FeatureFlags/WebKit.plist:
  • Shared/API/c/WKContextMenuItemTypes.h:
  • Shared/API/c/WKSharedAPICast.h:

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

  • Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:

(WebKit::isFeatureFlagEnabled):

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultAppHighlightsEnabled):

  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
  • UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::menuItemIdentifier):

Source/WebKitLegacy/mac:

  • WebView/WebHTMLView.mm:

(toTag):

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:
10:59 AM Changeset in webkit [269864] by Russell Epstein
  • 5 edits in branches/safari-610.3.7.0-branch/Source

Cherry-pick r268979. rdar://problem/71446619

Use a WeakHashSet for Document::m_captionPreferencesChangedElements
https://bugs.webkit.org/show_bug.cgi?id=218170

Reviewed by Eric Carlson.

Source/WebCore:

Refactoring to move from raw pointer to weak pointer.
For that purpose, we use WeakHashSet and WeakHashSet::forEach for extra safety.
No observable change of behavior.

  • dom/Document.cpp: (WebCore::Document::registerForCaptionPreferencesChangedCallbacks): (WebCore::Document::unregisterForCaptionPreferencesChangedCallbacks): (WebCore::Document::captionPreferencesChanged):
  • dom/Document.h:

Source/WTF:

  • wtf/WeakHashSet.h: Add a static cast for classes inheriting CanMakeWeakPtr like done for the set iterator. Update code to compile in WinCairo.

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

10:58 AM Changeset in webkit [269863] by Russell Epstein
  • 8 edits in branches/safari-610.3.7.0-branch/Source

Versioning.

WebKit-7610.3.7.0.3

10:58 AM Changeset in webkit [269862] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Add CSS aspect ratio to feature status page
https://bugs.webkit.org/show_bug.cgi?id=218979

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

Add status entry for CSS aspect ratio as well as
a css-sizing category for CSS properties.

  • css/CSSProperties.json:
  • features.json:
10:41 AM Changeset in webkit [269861] by Russell Epstein
  • 5 edits in branches/safari-610.3.7.1-branch/Source

Cherry-pick r268979. rdar://problem/71446624

Use a WeakHashSet for Document::m_captionPreferencesChangedElements
https://bugs.webkit.org/show_bug.cgi?id=218170

Reviewed by Eric Carlson.

Source/WebCore:

Refactoring to move from raw pointer to weak pointer.
For that purpose, we use WeakHashSet and WeakHashSet::forEach for extra safety.
No observable change of behavior.

  • dom/Document.cpp: (WebCore::Document::registerForCaptionPreferencesChangedCallbacks): (WebCore::Document::unregisterForCaptionPreferencesChangedCallbacks): (WebCore::Document::captionPreferencesChanged):
  • dom/Document.h:

Source/WTF:

  • wtf/WeakHashSet.h: Add a static cast for classes inheriting CanMakeWeakPtr like done for the set iterator. Update code to compile in WinCairo.

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

10:40 AM Changeset in webkit [269860] by Russell Epstein
  • 8 edits in branches/safari-610.3.7.1-branch/Source

Versioning.

WebKit-7610.3.7.1.5

10:12 AM Changeset in webkit [269859] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

Add logging of AXCoreObject outerHTML to AXLogger.
https://bugs.webkit.org/show_bug.cgi?id=218958

Reviewed by Chris Fleizach.

No change in functionality, debugging code.

  • accessibility/AXLogger.cpp:

(WebCore::operator<<):

  • Added logging of the outerHTML of the corresponding Element for AXCoreObjects.
  • Added logging of the platform wrapper address for AXCoreObjects.
10:08 AM Changeset in webkit [269858] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Add didReceiveResponseForResource to WKWebProcessPlugInLoadDelegate
https://bugs.webkit.org/show_bug.cgi?id=218925

Patch by Trevor Stevenson <trevor_s@apple.com> on 2020-11-16
Reviewed by Alex Christensen.

Expose the callback for didReceiveResponseForResource in WKWebProcessPlugInLoadDelegate
for use in the injected bundle.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(didReceiveResponseForResource):
(setUpResourceLoadClient):

9:33 AM Changeset in webkit [269857] by Chris Dumez
  • 4 edits in trunk/Tools

Fix several leaks of CGContext in API tests
https://bugs.webkit.org/show_bug.cgi?id=218988

Reviewed by Wenson Hsieh.

Make sure we adopt the value returned by CGBitmapContextCreate().

  • TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:

(TestWebKitAPI::TEST):

9:30 AM Changeset in webkit [269856] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebKit

Cherry-pick r269651. rdar://problem/71442660

[macOS] Allow IOGLESBundleName for Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218774
<rdar://problem/67473780>

Unreviewed follow-up fix to r269649.

Two additional keys are needed: MetalPluginClassName and MetalPluginName

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

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

9:29 AM Changeset in webkit [269855] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebKit

Cherry-pick r269649. rdar://problem/71442660

[macOS] Allow IOGLESBundleName for Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218774
<rdar://problem/67473780>

Reviewed by Tim Horton.

The WebContent should be able to read the IOGLESBundleName IOKit property on
Apple Silicon Macs. This will help the OpenGL stack make better choices about
which bundles to load when processing WebGL content.

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

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

9:04 AM Changeset in webkit [269854] by weinig@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Remove and re-add fast/forms/selection-direction.html without CRs
https://bugs.webkit.org/show_bug.cgi?id=218966

  • fast/forms/selection-direction.html:

Re add test back without the CRs.

8:40 AM Changeset in webkit [269853] by Chris Dumez
  • 32 edits in trunk/LayoutTests

WebAudio tests may give slightly different outputs on different platforms
https://bugs.webkit.org/show_bug.cgi?id=218929

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that their output has changed.

  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audiobuffersource-connections-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet-connections.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-biquad-connection-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-biquad-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-constant-source-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-delay-connections-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-delay-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-gain-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-oscillator-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-stereo-panner-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-cascade-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-4-chan-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/maxdelay-rounding-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/automation-changes-expected.txt:

LayoutTests:

WebAudio tests may give slightly different outputs on different platforms, causing what looks like flakiness.
This is due to the "(contains X different values)" because X may differ from one platform to another
(usually +/- 1).

  • resources/testharnessreport.js:

(self.testRunner.add_completion_callback):
Strip the "(contains X different values)" strings from output lines.

  • webaudio/AudioNode/tail-connections-expected.txt:
  • webaudio/AudioNode/tail-processing-expected.txt:
  • webaudio/BiquadFilter/biquad-829349-expected.txt:
  • webaudio/BiquadFilter/tail-time-allpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-bandpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-highpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-highshelf-expected.txt:
  • webaudio/BiquadFilter/tail-time-lowpass-expected.txt:
  • webaudio/BiquadFilter/tail-time-lowshelf-expected.txt:
  • webaudio/BiquadFilter/tail-time-notch-expected.txt:
  • webaudio/BiquadFilter/tail-time-peaking-expected.txt:
  • webaudio/IIRFilter/iir-tail-time-expected.txt:

Rebaseline tests accordingly.

6:51 AM Changeset in webkit [269852] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

[LFC][Integration] Remove isLastTextRunOnLine/isLastTextRun from run iterator
https://bugs.webkit.org/show_bug.cgi?id=218978

Reviewed by Zalan Bujtas.

Use the line interface instead. This both more readable and more generic.

  • dom/Position.cpp:

(WebCore::Position::upstream const):
(WebCore::Position::downstream const):

  • layout/integration/LayoutIntegrationLineIterator.cpp:

(WebCore::LayoutIntegration::LineIterator::operator== const):

Also use Variant default operator==.

  • layout/integration/LayoutIntegrationRunIterator.cpp:

(WebCore::LayoutIntegration::RunIterator::operator== const):

  • layout/integration/LayoutIntegrationRunIterator.h:

(WebCore::LayoutIntegration::PathTextRun::isLastTextRunOnLine const): Deleted.
(WebCore::LayoutIntegration::PathTextRun::isLastTextRun const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:

Also use RefCountedArray instead of Vector to avoid unnecessary copies of the order cache.

(WebCore::LayoutIntegration::RunIteratorLegacyPath::isLastTextRunOnLine const): Deleted.
(WebCore::LayoutIntegration::RunIteratorLegacyPath::isLastTextRun const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::isLastTextRunOnLine const): Deleted.
(WebCore::LayoutIntegration::RunIteratorModernPath::isLastTextRun const): Deleted.

6:05 AM Changeset in webkit [269851] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

WebDriver: do not focus the main frame when switching to a window
https://bugs.webkit.org/show_bug.cgi?id=218383

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-11-16
Reviewed by Brian Burg.

The spec doesn't say we should focus the main frame. This is confusing WPT test
infrastructure/testdriver/actions/crossOrigin.sub.html that first focuses an input in an iframe and then it send
keyboard events to the window (after switching to the window again even when it's already the current one, that
causes the iframe focus to be lost).

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::switchToBrowsingContext):

  • WebProcess/Automation/WebAutomationSessionProxy.cpp:
  • WebProcess/Automation/WebAutomationSessionProxy.h:
  • WebProcess/Automation/WebAutomationSessionProxy.messages.in:
4:57 AM Changeset in webkit [269850] by commit-queue@webkit.org
  • 78 edits in trunk/Source

Final refactor for WebGL implementation to use only GraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=218333

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

Source/WebCore:

Change WebGL implementation to use GraphicsContextGL abstract class
instead of GraphicsContextGLOpenGL concrete class. This allows
implementation of WebGL in GpuProcess, where the remote implementation
is one GraphicsContextGL subclass and the actual drawing is done,
either in GPUP and non-GPUP cases by the old GraphicsContextGLOpenGL.

The GPUP supports only ANGLE flavor of the WebGL implementation. This is
because ANGLE contains the functions that are designed to be more secure
for the cross-process environment. This is why GraphicsContextGL
interface is modified to contain only functions that make sense for
ANGLE. Functions unimplemeted by ANGLE are removed from the interface.
Calling WebGL code inside #ifdef !USE(ANGLE) will downcast the interface
to GraphicsContextGLOpenGL to call the functions that do not make sense
to exist in the ANGLE version.

Small amount of functions in GraphicsContextGL interface are re-ordered
to enable later IPC auto-generation from the interface.

ExtensionsGL.h is reformatted according to WebKit style to enable later
IPC auto-generation from the interface.

No new tests, a refactor.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::rendererIsNeeded):
(WebCore::HTMLVideoElement::parseAttribute):
(WebCore::HTMLVideoElement::supportsFullscreen const):
(WebCore::HTMLVideoElement::paintCurrentFrameInContext):
(WebCore::HTMLVideoElement::copyVideoTextureToPlatformTexture):
(WebCore::HTMLVideoElement::hasAvailableVideoFrame const):
(WebCore::HTMLVideoElement::webkitEnterFullscreen):

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

(WebCore::WebGL2RenderingContext::create):
(WebCore::WebGL2RenderingContext::WebGL2RenderingContext):
(WebCore::WebGL2RenderingContext::getBufferSubData):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::bindSampler):
(WebCore::WebGL2RenderingContext::clientWaitSync):
(WebCore::WebGL2RenderingContext::deleteTransformFeedback):
(WebCore::WebGL2RenderingContext::beginTransformFeedback):
(WebCore::WebGL2RenderingContext::endTransformFeedback):
(WebCore::WebGL2RenderingContext::transformFeedbackVaryings):
(WebCore::WebGL2RenderingContext::getActiveUniforms):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLActiveInfo.h:
  • html/canvas/WebGLBuffer.cpp:

(WebCore::WebGLBuffer::deleteObjectImpl):

  • html/canvas/WebGLBuffer.h:
  • html/canvas/WebGLContextGroup.cpp:

(WebCore::WebGLContextGroup::getAGraphicsContextGL):

  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLContextObject.cpp:

(WebCore::WebGLContextObject::getAGraphicsContextGL const):

  • html/canvas/WebGLContextObject.h:
  • html/canvas/WebGLDepthTexture.cpp:

(WebCore::WebGLDepthTexture::supported):

  • html/canvas/WebGLDepthTexture.h:
  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::onAccess):
(WebCore::WebGLFramebuffer::deleteObjectImpl):
(WebCore::WebGLFramebuffer::initializeAttachments):

  • html/canvas/WebGLFramebuffer.h:
  • html/canvas/WebGLObject.cpp:

(WebCore::WebGLObject::deleteObject):

  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLProgram.cpp:

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

  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLQuery.cpp:

(WebCore::WebGLQuery::deleteObjectImpl):

  • html/canvas/WebGLQuery.h:
  • html/canvas/WebGLRenderbuffer.cpp:

(WebCore::WebGLRenderbuffer::deleteObjectImpl):

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

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

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

(WebCore::isHighPerformanceContext):
(WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::compressedTexImage2D):
(WebCore::WebGLRenderingContextBase::validateElementArraySize):
(WebCore::WebGLRenderingContextBase::validateIndexArrayPrecise):
(WebCore::WebGLRenderingContextBase::validateDrawElements):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::texImageSourceHelper):
(WebCore::WebGLRenderingContextBase::texImage2DBase):
(WebCore::WebGLRenderingContextBase::validateTexFuncFormatAndType):
(WebCore::WebGLRenderingContextBase::copyTexImage2D):
(WebCore::WebGLRenderingContextBase::isTexInternalFormatColorBufferCombinationValid):
(WebCore::WebGLRenderingContextBase::vertexAttribfvImpl):
(WebCore::WebGLRenderingContextBase::initVertexAttrib0):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::drawElementsInstanced):

  • html/canvas/WebGLRenderingContextBase.h:

(WebCore::WebGLRenderingContextBase::graphicsContextGL const):

  • html/canvas/WebGLSampler.cpp:

(WebCore::WebGLSampler::deleteObjectImpl):

  • html/canvas/WebGLSampler.h:
  • html/canvas/WebGLShader.cpp:

(WebCore::WebGLShader::deleteObjectImpl):

  • html/canvas/WebGLShader.h:
  • html/canvas/WebGLShaderPrecisionFormat.h:
  • html/canvas/WebGLSharedObject.cpp:

(WebCore::WebGLSharedObject::getAGraphicsContextGL const):

  • html/canvas/WebGLSharedObject.h:
  • html/canvas/WebGLSync.cpp:

(WebCore::WebGLSync::deleteObjectImpl):

  • html/canvas/WebGLSync.h:
  • html/canvas/WebGLTexture.cpp:

(WebCore::WebGLTexture::deleteObjectImpl):

  • html/canvas/WebGLTexture.h:
  • html/canvas/WebGLTransformFeedback.cpp:

(WebCore::WebGLTransformFeedback::deleteObjectImpl):

  • html/canvas/WebGLTransformFeedback.h:
  • html/canvas/WebGLVertexArrayObject.cpp:

(WebCore::WebGLVertexArrayObject::deleteObjectImpl):

  • html/canvas/WebGLVertexArrayObject.h:
  • html/canvas/WebGLVertexArrayObjectBase.h:
  • html/canvas/WebGLVertexArrayObjectOES.cpp:

(WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):

  • html/canvas/WebGLVertexArrayObjectOES.h:
  • inspector/InspectorShaderProgram.cpp:
  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/ExtensionsGL.h:
  • platform/graphics/FormatConverter.cpp:

(WebCore::FormatConverter::convert):

  • platform/graphics/FormatConverter.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextGL.cpp:
  • platform/graphics/GraphicsContextGL.h:

(WebCore::GraphicsContextGL::contextAttributes const):
(WebCore::GraphicsContextGL::setContextAttributes):

  • platform/graphics/GraphicsTypesGL.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::copyToPlatformTexture const):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::bestMediaEngineForSupportParameters):
(WebCore::MediaPlayer::nextMediaEngine):
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::MediaPlayer::cancelLoad):
(WebCore::MediaPlayer::setSize):
(WebCore::MediaPlayer::copyVideoTextureToPlatformTexture):
(WebCore::MediaPlayer::supportsType):
(WebCore::MediaPlayer::getSupportedTypes):
(WebCore::MediaPlayer::languageOfPrimaryAudioTrack const):
(WebCore::MediaPlayer::fileSize const):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::hasClosedCaptions const):
(WebCore::MediaPlayerPrivateInterface::copyVideoTextureToPlatformTexture):

  • platform/graphics/angle/ExtensionsGLANGLE.cpp:

(WebCore::ExtensionsGLANGLE::compressedTexImage2DRobustANGLE):
(WebCore::ExtensionsGLANGLE::compressedTexSubImage2DRobustANGLE):

  • platform/graphics/angle/ExtensionsGLANGLE.h:
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCache):
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
(WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenGravity):
(WebCore::MediaPlayerPrivateAVFoundationObjC::accessLog const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformSetVisible):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoLayerGravity):
(WebCore::determineChangedTracksFromNewTracksAndOldItems):
(WebCore::MediaPlayerPrivateAVFoundationObjC::copyVideoTextureToPlatformTexture):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
(WebCore::MediaPlayerPrivateAVFoundationObjC::flushCues):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setBufferingPolicy):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::copyVideoTextureToPlatformTexture):

  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::optionsForBiplanarSurface):
(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::convertToFormat):

  • platform/graphics/egl/GLContextEGL.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::copyVideoTextureToPlatformTexture):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:

(WebCore::GraphicsContextGLOpenGL::possibleFormatAndTypeForInternalFormat):

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

(WebCore::GraphicsContextGLOpenGL::reshape):
(WebCore::GraphicsContextGLOpenGL::blendFunc):
(WebCore::GraphicsContextGLOpenGL::compileShader):
(WebCore::GraphicsContextGLOpenGL::getActiveAttribImpl):
(WebCore::GraphicsContextGLOpenGL::getActiveAttrib):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformImpl):
(WebCore::GraphicsContextGLOpenGL::getActiveUniform):
(WebCore::GraphicsContextGLOpenGL::originalSymbolName):
(WebCore::GraphicsContextGLOpenGL::mappedSymbolName):
(WebCore::GraphicsContextGLOpenGL::deleteVertexArray):
(WebCore::GraphicsContextGLOpenGL::isVertexArray):
(WebCore::GraphicsContextGLOpenGL::getNonBuiltInActiveSymbolCount):
(WebCore::GraphicsContextGLOpenGL::getUnmangledInfoLog):
(WebCore::GraphicsContextGLOpenGL::getProgramInfoLog):
(WebCore::GraphicsContextGLOpenGL::getShaderiv):
(WebCore::GraphicsContextGLOpenGL::getShaderInfoLog):
(WebCore::GraphicsContextGLOpenGL::getShaderSource):

Source/WebKit:

Change MediaPlayerPrivate to use GraphicsContextGL abstract class
instead of GraphicsContextGLOpenGL concrete class, since the
calling code is doing the same change.

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::copyVideoTextureToPlatformTexture):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
4:46 AM Changeset in webkit [269849] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

[GStreamer] Clean-up Audio{Data,StreamDescription} implementations
https://bugs.webkit.org/show_bug.cgi?id=218957

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

Refactor the GStreamerAudioData and GStreamerStreamDescription implementations in order to
avoid un-necessary copies. The call-sites were adapted accordingly. Some usage of the latter
class was removed because it was simpler to use the GstAudioInfo API directly.

  • Modules/webaudio/MediaStreamAudioSourceGStreamer.cpp:

(WebCore::MediaStreamAudioSource::consumeAudio):

  • platform/audio/gstreamer/GStreamerAudioData.h:
  • platform/audio/gstreamer/GStreamerAudioStreamDescription.h:
  • platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:

(WebCore::GStreamerAudioCaptureSource::newSampleCallback):

  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

(webkitMediaStreamSrcPushAudioSample):

  • platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.cpp:

(WebCore::MockRealtimeAudioSourceGStreamer::render):

  • platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp:

(WebCore::RealtimeIncomingAudioSourceLibWebRTC::OnData):

  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:

(WebCore::libwebrtcAudioFormat):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):

  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h:
4:29 AM Changeset in webkit [269848] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

Optimization for AccessibilityNodeObject::accessibilityDescription.
https://bugs.webkit.org/show_bug.cgi?id=218959

Reviewed by Darin Adler.

No change in functionality, optimization.

AccessibilityObject::title() can be an expensive operations because it
can invoke textUnderElement which causes text extraction for all
descendants of the object. Thus, rewrote this snippet in a more
efficient way.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::accessibilityDescription const):

4:17 AM Changeset in webkit [269847] by youenn@apple.com
  • 5 edits
    2 adds in trunk

TextEncoderStreamEncoder should not be exposed
https://bugs.webkit.org/show_bug.cgi?id=218956

Reviewed by Yusuke Suzuki.

Source/WebCore:

Binding generator correctly handles private identifiers and runtime settings, but not when combined for interfaces.

Test: fast/encoding/stream-visibility.html

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:

(WebCore::JSTestEnabledBySettingDOMConstructor::prototypeForStructure):
(WebCore::JSTestEnabledBySetting::finishCreation):
(WebCore::jsTestEnabledBySetting_TestSubObjEnabledBySettingPrivateConstructorGetter):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
(WebCore::setJSTestEnabledBySetting_TestSubObjEnabledBySettingPrivateConstructorSetter):
(WebCore::JSC_DEFINE_CUSTOM_SETTER):
(WebCore::jsTestEnabledBySetting_TestSubObjEnabledBySettingPrivatePublicConstructorGetter):
(WebCore::setJSTestEnabledBySetting_TestSubObjEnabledBySettingPrivatePublicConstructorSetter):

  • bindings/scripts/test/TestEnabledBySetting.idl:

LayoutTests:

  • fast/encoding/stream-visibility-expected.txt: Added.
  • fast/encoding/stream-visibility.html: Added.
3:28 AM Changeset in webkit [269846] by Devin Rousso
  • 4 edits in trunk/Source

[iPad] nhl.com cannot select new video to play while video is playing with desktop UA
https://bugs.webkit.org/show_bug.cgi?id=218868
<rdar://problem/67823088>

Reviewed by Antoine Quint.

The desktop "version" of this site uses custom media controls that don't work well on iOS
because they rely on mouse events (which is why it was quirked in r255592). The mobile
"version" uses the default/native media controls, so there is no issue.

Currently, when tapping on another video with a desktop UA, the site uses its touch event
handlers for mouse events. These handlers call Event.prototype.preventDefault if the event
is not a touch event, meaning that "click" is not fired. This prevents new videos from
being played.

Rather than limit the quirk based on some DOM state (which is fragile if the site changes),
just have the entire site default to a mobile UA.

Source/WebCore:

  • page/Quirks.cpp:

(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):

Source/WebKit:

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::desktopClassBrowsingRecommendedForRequest):

3:16 AM Changeset in webkit [269845] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.30/Source

[GTK][WPE] Build broken in stable 2.30.x releases with ENABLE_VIDEO=OFF
https://bugs.webkit.org/show_bug.cgi?id=218921

Reviewed by Carlos Garcia Campos.

Source/WebCore:

No new tests needed.

  • Modules/webaudio/AudioContext.cpp: Add missing Document.h include.

Source/WebKit:

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Use ENABLE(VIDEO)
guard to prevent usage of function which does not get compiled in when video support
disabled

2:35 AM Changeset in webkit [269844] by Philippe Normand
  • 1 edit
    1 add in trunk/Tools/buildstream

[Flatpak SDK] Update rr
https://bugs.webkit.org/show_bug.cgi?id=218973

Reviewed by Žan Doberšek.

  • elements/sdk/rr.bst: Update for new git repository location and bump to version 5.4.x.
2:08 AM Changeset in webkit [269843] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

Re-disable async overflow scrolling for USE(NICOSIA)
https://bugs.webkit.org/show_bug.cgi?id=218974

Async overflow scrolling was accidentally enabled for ports using the
Nicosia platform layering infrastructure during the preference migration
done in r267775. This patch again disables it until it can be properly
supported.

  • Scripts/Preferences/WebPreferencesInternal.yaml:
2:06 AM Changeset in webkit [269842] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit

[CoordinatedGraphics] Adjust client resizing, render-scope notifying in ThreadedCompositor::renderLayerTree()
https://bugs.webkit.org/show_bug.cgi?id=218701

Reviewed by Carlos Garcia Campos.

Rework the client operations in ThreadedCompositor::renderLayerTree() so
that client resizing is done before the will-render client notification
is dispatched. This ensures everything in the will-render-to-did-render
scope is done for a well-specified size from the client's point of view.

Similar to this change, the GL viewport update is split from the client
resize operation and moved into the aforementioned rendering scope. This
change is mostly cosmetic, but it's done to neatly package all the GL
operations into that scope.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::renderLayerTree):

2:05 AM Changeset in webkit [269841] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

PlatformDisplayLibWPE: use eglGetPlatformDisplay when possible
https://bugs.webkit.org/show_bug.cgi?id=218941

Reviewed by Carlos Garcia Campos.

Use the existing wpe_renderer_backend_egl API to detect any desired
EGL platform that should be used to retrieve the global EGLDisplay
object. If such a platform is specified, the eglGetPlatformDisplay
entrypoing from the EGL_EXT_platform_base extension should be used
to retrieve the corresponding EGLDisplay.

If the API or the extension is not available, or if the EGLDisplay is
not retrieved this way, we fall back to eglGetDisplay.

  • platform/graphics/libwpe/PlatformDisplayLibWPE.cpp:

(WebCore::PlatformDisplayLibWPE::initialize):

1:50 AM Changeset in webkit [269840] by svillar@igalia.com
  • 3 edits in trunk/Source/WebCore

[css-flex] Better naming from some methods
https://bugs.webkit.org/show_bug.cgi?id=218745

Reviewed by Javier Fernandez.

This patch improves the naming of several confusing methods.

  • hasOrthogonalFlow(): was too generic. It was basically checking that the flexbox container main size was not the child's inline size. So we renamed

it to mainAxisIsChildInlineAxis() reverting the output. For most of the cases it was enough to negate the output of the method to have the same
check, but in other cases we decided to swap the if-else blocks as it was more convenient.

  • {main|cross}AxisLengthIsDefinite(): the name was misleading because you don't know whether the method is evaluating the child's length

or the container's (the flexbox). Replaced by child{Main|Cross}SizeIsDefinite().

  • setOverrideMainAxisContentSizeForChild(): this had 2 problems. First it should use overriding instead of override. Second the size which is

overriden is not the content size, it used to be but not anymore.

No new tests as there is no change in functionality.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::firstLineBaseline const):
(WebCore::RenderFlexibleBox::mainAxisIsChildInlineAxis const): Renamed from hasOrthogonalFlow(). Also the behaviour
is now reversed from the original function.
(WebCore::RenderFlexibleBox::childIntrinsicLogicalHeight const):
(WebCore::RenderFlexibleBox::childIntrinsicLogicalWidth const):
(WebCore::RenderFlexibleBox::crossAxisIntrinsicExtentForChild const):
(WebCore::RenderFlexibleBox::mainAxisContentExtent): Early return instead of if-else block.
(WebCore::RenderFlexibleBox::useChildAspectRatio const):
(WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): Use a single line for division operators.
(WebCore::RenderFlexibleBox::childMainSizeIsDefinite const): Renamed from mainAxisLengthIsDefinite.
(WebCore::RenderFlexibleBox::childCrossSizeIsDefinite const): Renamed from crossAxisLengthIsDefinite.
(WebCore::RenderFlexibleBox::cacheChildMainSize):
(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
(WebCore::RenderFlexibleBox::crossSizeForPercentageResolution):
(WebCore::RenderFlexibleBox::mainSizeForPercentageResolution):
(WebCore::RenderFlexibleBox::childLogicalHeightForPercentageResolution):
(WebCore::RenderFlexibleBox::adjustChildSizeForAspectRatioCrossAxisMinAndMax):
(WebCore::RenderFlexibleBox::setOverridingMainSizeForChild): Renamed from setOverrideMainAxisContentSizeForChild.
(WebCore::RenderFlexibleBox::alignmentForChild const):
(WebCore::RenderFlexibleBox::childHasIntrinsicMainAxisSize const):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
(WebCore::RenderFlexibleBox::hasOrthogonalFlow const): Deleted.
(WebCore::RenderFlexibleBox::mainAxisLengthIsDefinite const): Deleted.
(WebCore::RenderFlexibleBox::crossAxisLengthIsDefinite const): Deleted.
(WebCore::RenderFlexibleBox::setOverrideMainAxisContentSizeForChild): Deleted.

  • rendering/RenderFlexibleBox.h:
1:27 AM Changeset in webkit [269839] by Philippe Normand
  • 3 edits in trunk/Source/WebCore

[GStreamer] Switch the ImageDecoder to decodebin3
https://bugs.webkit.org/show_bug.cgi?id=218246

Reviewed by Xabier Rodriguez-Calvar.

Rely on the decodebin3 select-stream to ensure that at most one video stream is selected for
decoding. Thus we don't need to plug a fakesink to streams we don't need anymore.

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::InnerDecoder::decodebinSelectStreamCallback):
(WebCore::ImageDecoderGStreamer::InnerDecoder::selectStream):
(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):
(WebCore::ImageDecoderGStreamer::InnerDecoder::preparePipeline):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.h:
12:27 AM Changeset in webkit [269838] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[WinCairo][GraphicsLayerTextureMapper] Support rounded rect clipping for backdrop-filter
https://bugs.webkit.org/show_bug.cgi?id=218962

Reviewed by Carlos Garcia Campos.

r269772 (Bug 215445) added rounded rect clipping support for
backdrop-filter for TextureMapper and CoordinatedGraphics. Add the
feature to GraphicsLayerTextureMapper.

Existing tests cover this change:
css3/filters/backdrop/backdrop-filter-uneven-corner-radii.html
css3/filters/backdrop/backdrop-filter-with-border-radius-value-change.html
css3/filters/backdrop/backdrop-filter-with-border-radius

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::commitLayerChanges): Call setBackdropFiltersRect.

12:19 AM Changeset in webkit [269837] by Fujii Hironori
  • 4 edits
    1 add in trunk

[TextureMapper] The edges of blur backdrop-filter look gradient tranparent
https://bugs.webkit.org/show_bug.cgi?id=218645
<rdar://problem/71356999>

Reviewed by Carlos Garcia Campos.

Source/WebCore:

The blur backdrop-filter needs a larger input image than an output
image. However, it's not easy to get a larger input image in the
edges of the windows. Cocoa port is doing extrapolation by
duplicating edges pixels of the input image which has the same
size with the output image (Bug 146215). Take the same approach.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::computeOverlapRegions): Don't
inflate the local bounding rect by the outsets for backdrop
layers.

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp:

(sampleColorAtRadius): Don't clamp 'coord'.

LayoutTests:

  • platform/glib/css3/filters/backdrop/blur-input-bounds-expected.png: Added.

Nov 15, 2020:

8:53 PM Changeset in webkit [269836] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Disable modern line layout for fieldset children.
https://bugs.webkit.org/show_bug.cgi?id=218963

Reviewed by Sam Weinig.

Fieldsets don't follow the standard CSS box model. They require special handling.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):

5:15 PM Changeset in webkit [269835] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Minor RenderStyle boxShadow cleanup
https://bugs.webkit.org/show_bug.cgi?id=218952

Reviewed by Sam Weinig.

Rename getBoxShadowExtent() to boxShadowExtent() and have it return a LayoutBoxExtent.

Make shadow-related functions static that can be, and private that can be.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::applyVisualEffectOverflow const):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::repaintAfterLayoutIfNeeded):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::shadowExtent):
(WebCore::RenderStyle::shadowInsetExtent):
(WebCore::RenderStyle::getShadowHorizontalExtent):
(WebCore::RenderStyle::getShadowVerticalExtent):
(WebCore::RenderStyle::getShadowExtent const): Deleted.
(WebCore::RenderStyle::getShadowInsetExtent const): Deleted.
(WebCore::RenderStyle::getShadowHorizontalExtent const): Deleted.
(WebCore::RenderStyle::getShadowVerticalExtent const): Deleted.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::boxShadowExtent const):
(WebCore::RenderStyle::boxShadowInsetExtent const):
(WebCore::RenderStyle::getBoxShadowExtent const): Deleted.
(WebCore::RenderStyle::getBoxShadowInsetExtent const): Deleted.

4:33 PM Changeset in webkit [269834] by weinig@apple.com
  • 1 edit
    1 delete in trunk/LayoutTests

Remove and re-add fast/forms/selection-direction.html without CRs
https://bugs.webkit.org/show_bug.cgi?id=218966

Reviewed by Darin Adler.

  • fast/forms/selection-direction.html: Removed.

Temporarily remove test. Will add back without CRs in next commit.

1:03 PM Changeset in webkit [269833] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

Fix for infinite recursion crash in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=218961

Reviewed by Chris Fleizach.

Covered by existing tests.

[WebAccessibilityObjectWrapper attachmentView] can cause the
initialization of a new AXIsolatedObject which in turn can invoke
indirectly AccessibilityObject::accessibilityIgnoreAttachment, thus
creating an infinite recursion. This change avoids this problem and
makes this method more efficient even in those cases where there was no
infinite recursion.

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::accessibilityIgnoreAttachment const):

11:58 AM Changeset in webkit [269832] by ysuzuki@apple.com
  • 7 edits in trunk

[JSC] Wasm should get byte length from source typed array
https://bugs.webkit.org/show_bug.cgi?id=218955

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/wasm/jsapi/constructor/validate.any-expected.txt:
  • web-platform-tests/wasm/jsapi/constructor/validate.any.worker-expected.txt:

Source/JavaScriptCore:

WebAssembly's module source should be read with byteLength instead of length of typed-array.

  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::byteLength const):
(JSC::JSArrayBufferView::slowDownAndWasteMemory):

  • runtime/JSArrayBufferView.h:
  • wasm/js/JSWebAssemblyHelpers.h:

(JSC::getWasmBufferFromValue):

10:55 AM Changeset in webkit [269831] by commit-queue@webkit.org
  • 26 edits
    1 move
    4 adds
    9 deletes in trunk/JSTests

[JSC] Update wasm spec tests
https://bugs.webkit.org/show_bug.cgi?id=218940

Patch by Sergey Rubanov <Sergey Rubanov> on 2020-11-15
Reviewed by Yusuke Suzuki.

Spec test commit revision number: 5475b7015684a07ba69762f8438e3bcff2647686

  • wasm.yaml:
  • wasm/spec-tests/address.wast.js:
  • wasm/spec-tests/binary-leb128.wast.js:
  • wasm/spec-tests/binary.wast.js:
  • wasm/spec-tests/block.wast.js:
  • wasm/spec-tests/br.wast.js:
  • wasm/spec-tests/break-drop.wast.js: Removed.
  • wasm/spec-tests/call.wast.js:
  • wasm/spec-tests/call_indirect.wast.js:
  • wasm/spec-tests/const.wast.js:
  • wasm/spec-tests/conversions.wast.js:
  • wasm/spec-tests/custom_section.wast.js: Removed.
  • wasm/spec-tests/data.wast.js:
  • wasm/spec-tests/f32.wast.js:
  • wasm/spec-tests/f64.wast.js:
  • wasm/spec-tests/fac.wast.js:
  • wasm/spec-tests/float_exprs.wast.js:
  • wasm/spec-tests/float_misc.wast.js:
  • wasm/spec-tests/func.wast.js:
  • wasm/spec-tests/get_local.wast.js: Removed.
  • wasm/spec-tests/global.wast.js: Renamed from JSTests/wasm/spec-tests/globals.wast.js.
  • wasm/spec-tests/harness/async_index.js: Added.

(let.testNum):
(uniqueTest):
(assertThrows):
(binary):
(module):
(assert_invalid):
(instance):
(exports):
(reinitializeRegistry.get promise_test):
(reinitializeRegistry):
(catch):
(assert_exhaustion):
(get const):

  • wasm/spec-tests/harness/sync_index.js: Added.

(let.testNum):
(assertThrows):
(_assert):
(ValueResult):
(ErrorResult):
(Result.prototype.isError):
(reinitializeRegistry.let.handler.get return):
(binary):
(module):

  • wasm/spec-tests/i32.wast.js:
  • wasm/spec-tests/i64.wast.js:
  • wasm/spec-tests/if.wast.js:
  • wasm/spec-tests/imports.wast.js:
  • wasm/spec-tests/jsapi.js: Removed.
  • wasm/spec-tests/loop.wast.js:
  • wasm/spec-tests/memory.wast.js:
  • wasm/spec-tests/resizing.wast.js: Removed.
  • wasm/spec-tests/set_local.wast.js: Removed.
  • wasm/spec-tests/stack.wast.js:
  • wasm/spec-tests/store_retval.wast.js: Removed.
  • wasm/spec-tests/table.wast.js: Added.
  • wasm/spec-tests/tee_local.wast.js: Removed.
  • wasm/spec-tests/type.wast.js:
  • wasm/spec-tests/typecheck.wast.js: Removed.
9:59 AM Changeset in webkit [269830] by youenn@apple.com
  • 18 edits
    4 copies
    7 adds in trunk

Add a WebRTC SFrame transform
https://bugs.webkit.org/show_bug.cgi?id=218752

Reviewed by Eric Carlson.

Source/WebCore:

Introduce a RTCRtpSFrameTransform that implements the SFrame format.
RTCRtpSFrameTransform is a RTCRtpTransform that can be set to RTCRtp sender and receiver objects.
API supports setting encryption key.
Minor refactoring to reuse WebCrypto routines for encryption/decryption.

Test: webrtc/audio-sframe.html

  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/mediastream/RTCRtpSFrameTransform.cpp: Added.

(WebCore::RTCRtpSFrameTransform::RTCRtpSFrameTransform):
(WebCore::RTCRtpSFrameTransform::~RTCRtpSFrameTransform):
(WebCore::RTCRtpSFrameTransform::setEncryptionKey):
(WebCore::RTCRtpSFrameTransform::initializeTransformer):
(WebCore::RTCRtpSFrameTransform::initializeBackendForReceiver):
(WebCore::RTCRtpSFrameTransform::initializeBackendForSender):
(WebCore::RTCRtpSFrameTransform::willClearBackend):

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

(WebCore::writeUInt64):
(WebCore::lengthOfUInt64):
(WebCore::computeFirstHeaderByte):
(WebCore::computeIV):
(WebCore::parseSFrameHeader):
(WebCore::RTCRtpSFrameTransformer::create):
(WebCore::RTCRtpSFrameTransformer::RTCRtpSFrameTransformer):
(WebCore::RTCRtpSFrameTransformer::~RTCRtpSFrameTransformer):
(WebCore::RTCRtpSFrameTransformer::setEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::decryptFrame):
(WebCore::RTCRtpSFrameTransformer::encryptFrame):
(WebCore::RTCRtpSFrameTransformer::transform):
(WebCore::RTCRtpSFrameTransformer::computeSaltKey):
(WebCore::RTCRtpSFrameTransformer::computeAuthenticationKey):
(WebCore::RTCRtpSFrameTransformer::computeEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::decryptData):
(WebCore::RTCRtpSFrameTransformer::encryptData):
(WebCore::RTCRtpSFrameTransformer::computeEncryptedDataSignature):

  • Modules/mediastream/RTCRtpSFrameTransformer.h: Added.

(WebCore::RTCRtpSFrameTransformer::setIsSending):
(WebCore::RTCRtpSFrameTransformer::setIsProcessingAudio):

  • Modules/mediastream/RTCRtpSFrameTransformerCocoa.cpp: Added.

(WebCore::deriveHDKFSHA256Bits):
(WebCore::transformAES_CTR):
(WebCore::RTCRtpSFrameTransformer::computeSaltKey):
(WebCore::RTCRtpSFrameTransformer::computeAuthenticationKey):
(WebCore::RTCRtpSFrameTransformer::computeEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::decryptData):
(WebCore::RTCRtpSFrameTransformer::encryptData):
(WebCore::RTCRtpSFrameTransformer::computeEncryptedDataSignature):

  • Sources.txt:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • crypto/mac/CryptoAlgorithmAES_CTRMac.cpp:

(WebCore::CryptoAlgorithmAES_CTR::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CTR::platformDecrypt):
(WebCore::transformAES_CTR): Deleted.

  • crypto/mac/CryptoAlgorithmHKDFMac.cpp:

(WebCore::CryptoAlgorithmHKDF::platformDeriveBits):

  • crypto/mac/CryptoUtilitiesCocoa.cpp: Added.

(WebCore::transformAES_CTR):
(WebCore::deriveHDKFSHA256Bits):

  • crypto/mac/CryptoUtilitiesCocoa.h: Added.
  • bindings/js/WebCoreBuiltinNames.h:

Tools:

Add unit tests that validate SFrame generation and parsing.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp: Added.

(TestWebKitAPI::getRawKey):
(TestWebKitAPI::createVideoTransformer):
(TestWebKitAPI::checkVectorsAreEqual):
(TestWebKitAPI::TEST):

LayoutTests:

  • webrtc/audio-sframe-expected.txt: Added.
  • webrtc/audio-sframe.html: Added.
9:47 AM Changeset in webkit [269829] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

AudioSampleDataSource::pullSamplesInternal does not need to pass its sampleCount parameter as in/out
https://bugs.webkit.org/show_bug.cgi?id=218899

Reviewed by Eric Carlson.

pullSamplesInternal sets sampleCount to zero in some cases where pullSamplesInternal returns false.
pullSamplesInternal callers do not use the sampleCount parameter if pullSamplesInternal returns false.
Pass sampleCount by value to clarify the behavior and remove setting sampleCount to zero in pullSamplesInternal return false case.

No change of behavior.

  • platform/audio/cocoa/AudioSampleDataSource.h:
  • platform/audio/cocoa/AudioSampleDataSource.mm:

(WebCore::AudioSampleDataSource::pullSamplesInternal):

8:03 AM Changeset in webkit [269828] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

"Typo" in r269821 (by std::numeric_limits<>::min I really meant std::numeric_limits<>::lowest (got tricked by the floating-point type behavior))

Unreviewed.

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndalignInlineLevelBoxesVertically):

7:38 AM Changeset in webkit [269827] by Philippe Normand
  • 7 edits
    2 moves
    1 add in trunk

[GStreamer] WebAudio to MediaStream support
https://bugs.webkit.org/show_bug.cgi?id=218335

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Provide audio samples coming from the WebAudio bus to the MediaStreamAudioSource node, using
GStreamer. This patch also moves a couple files from platform/mediastream to platform/audio,
because this is where the virtual parent classes are defined.

  • Modules/webaudio/MediaStreamAudioSource.cpp:
  • Modules/webaudio/MediaStreamAudioSource.h:
  • Modules/webaudio/MediaStreamAudioSourceGStreamer.cpp: Added.

(WebCore::copyBusData):
(WebCore::MediaStreamAudioSource::consumeAudio):

  • platform/GStreamer.cmake:
  • platform/audio/gstreamer/GStreamerAudioData.h: Renamed from Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioData.h.

(isType):

  • platform/audio/gstreamer/GStreamerAudioStreamDescription.h: Renamed from Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioStreamDescription.h.
  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:

(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData):

LayoutTests:

  • platform/gtk/TestExpectations: webrtc/peer-connection-createMediaStreamDestination.html is now passing.
6:25 AM Changeset in webkit [269826] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC] Do not use RenderStyle's logical margin API
https://bugs.webkit.org/show_bug.cgi?id=218948

Reviewed by Antti Koivisto.

https://www.w3.org/TR/css-writing-modes-4/#logical-direction-layout

"Flow-relative directions are calculated with respect to the writing mode of the containing block of the box
and used to abstract layout rules related to the box properties (margins, borders, padding)
and any properties related to positioning the box within its containing block
(float, clear, top, bottom, left, right, caption-side).
For inline-level boxes, the writing mode of the parent box is used instead."

RenderStyle::marginStart/End/Before/After flips these values based on the box's own writing mode.

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::usedWritingMode):
(WebCore::Layout::FormattingContext::Geometry::computedHorizontalMargin const):
(WebCore::Layout::FormattingContext::Geometry::computedVerticalMargin const):

6:23 AM Changeset in webkit [269825] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][Geometry] Add support for horizontal/vertical scrollbar spacing
https://bugs.webkit.org/show_bug.cgi?id=218950

Reviewed by Antti Koivisto.

Let's make room for visible scrollbars between the border and the padding box.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

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

  • layout/layouttree/LayoutBoxGeometry.cpp:

(WebCore::Layout::BoxGeometry::BoxGeometry):
(WebCore::Layout::BoxGeometry::paddingBox const):

  • layout/layouttree/LayoutBoxGeometry.h:

(WebCore::Layout::BoxGeometry::borderBoxHeight const):
(WebCore::Layout::BoxGeometry::borderBoxWidth const):
(WebCore::Layout::BoxGeometry::verticalScrollbarWidth const):
(WebCore::Layout::BoxGeometry::horizontalScrollbarHeight const):
(WebCore::Layout::BoxGeometry::setVerticalScrollbarWidth):
(WebCore::Layout::BoxGeometry::setHorizontalScrollbarHeight):

1:30 AM Changeset in webkit [269824] by timothy_horton@apple.com
  • 27 edits in trunk/Source

Initial implementation of DOM rendering via the GPU process
https://bugs.webkit.org/show_bug.cgi?id=218928

Reviewed by Simon Fraser.

Source/WebCore:

No new tests; will be covered by all existing DOM rendering tests in GPU process mode.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::isInUse const):
(WebCore::ImageBufferBackend::releaseGraphicsContext):
(WebCore::ImageBufferBackend::setVolatile):
(WebCore::ImageBufferBackend::releaseBufferToPool):
(WebCore::ImageBufferBackend::createFlusher):

  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::takeSurface):
(WebCore::IOSurfacePool::markOlderSurfacesPurgeable):

  • platform/graphics/cg/ImageBufferCGBackend.cpp:

(WebCore::ThreadSafeImageBufferFlusherCG::ThreadSafeImageBufferFlusherCG):
(WebCore::ImageBufferCGBackend::contextColorSpace):
(WebCore::ImageBufferCGBackend::setupContext const):
(WebCore::ImageBufferCGBackend::createFlusher):
(WebCore::ImageBufferCGBackend::setupContext): Deleted.

  • platform/graphics/cg/ImageBufferCGBackend.h:
  • platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:

(WebCore::ImageBufferIOSurfaceBackend::context const):
(WebCore::ImageBufferIOSurfaceBackend::isInUse const):
(WebCore::ImageBufferIOSurfaceBackend::releaseGraphicsContext):
(WebCore::ImageBufferIOSurfaceBackend::setVolatile):
(WebCore::ImageBufferIOSurfaceBackend::releaseBufferToPool):

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.h:

Add isInUse, setVolatile, and releaseGraphicsContext to ImageBuffer,
to manage volatile surfaces; they're only implemented for in-process
IOSurface right now, in order to keep RemoteLayerBackingStore working
after transitioning it to ImageBuffer. A future patch will determine
how to implement this mechanism for remote IOSurfaces.

Add createFlusher to ImageBuffer, which returns an object that can
be tossed to a background queue, and has one method: flush(), which
blocks until the ImageBuffer's oustanding painting is flushed. This is
currently implemented for CG just by calling CGContextFlush. This
is used to abstract out RemoteLayerBackingStore's background-thread
flush of all surfaces.

  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::state const):
(WebCore::IOSurface::setVolatile):
(WebCore::operator<<):
(WebCore::IOSurface::setIsVolatile): Deleted.
Make use of VolatilityState instead of SurfaceState.

Source/WebKit:

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.h:

(WebKit::RemoteLayerBackingStore::hasFrontBuffer const):
(WebKit::RemoteLayerBackingStore::Buffer::operator bool const):

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::encode const):
(WebKit::RemoteLayerBackingStore::decode):
(WebKit::RemoteLayerBackingStore::pixelFormat const):
(WebKit::RemoteLayerBackingStore::bytesPerPixel const):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
(WebKit::RemoteLayerBackingStore::takePendingFlusher):
(WebKit::RemoteLayerBackingStore::setBufferVolatility):
(WebKit::RemoteLayerBackingStore::Buffer::discard):
(WebKit::RemoteLayerBackingStore::drawInContext): Deleted.
(WebKit::RemoteLayerBackingStore::takeFrontContextPendingFlush): Deleted.
(WebKit::RemoteLayerBackingStore::surfaceBufferFormat const): Deleted.
Reimplement RemoteLayerBackingStore in terms of ImageBuffer instead of
using ShareableBitmap + IOSurface explicitly.
We use ConcreteImageBuffer versions of the shareable backends in the WebContent process
in the non-GPU-process case, and normal DisplayList-backed RemoteImageBufferProxies
in the GPU process case.

  • UIProcess/ViewSnapshotStore.h:
  • UIProcess/mac/ViewSnapshotStoreMac.mm:

(WebKit::ViewSnapshot::setVolatile):
(WebKit::ViewSnapshot::asLayerContents):

  • WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::ThreadSafeRemoteImageBufferFlusher::ThreadSafeRemoteImageBufferFlusher):
Add a hack to emulate ThreadSafeRemoteImageBufferFlusher; right now,
we'll synchronously flush on the main thread when creating the flusher;
a future patch will move this into the flush() method so that RemoteLayerBackingStore
can do it on a secondary queue.

(WebKit::RemoteImageBufferProxy::createImageBufferBackendHandle):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createImageBuffer const):
(WebKit::WebChromeClient::ensureRemoteRenderingBackendProxy const): Deleted.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::ensureRemoteRenderingBackendProxy):

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

(WebKit::RemoteLayerTreeDrawingArea::updateRendering):
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::BackingStoreFlusher):
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::flush):
Reimplement BackingStoreFlusher in terms of the abstract ThreadSafeImageBufferFlusher.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::ensureRemoteRenderingBackendProxy):

  • WebProcess/WebPage/WebPage.h:

Move RemoteRenderingBackendProxy from WebChromeClient to WebPage, so that
other non-WebCore clients can use it without having to think about WebChromeClient.

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

Font::platformBoundsForGlyph() should provide a boundingRect pointer to CTFontGetBoundingRectsForGlyphs()
https://bugs.webkit.org/show_bug.cgi?id=218812

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2020-11-15
Reviewed by Ryosuke Niwa.

Provide a zero CGRect boundingRect pointer in two places where the count argument
to CTFontGetBoundingRectsForGlyphs() is already 1.

No new tests, no behavior changes.

  • platform/graphics/coretext/FontCoreText.cpp:

(WebCore::Font::platformBoundsForGlyph const):
(WebCore::Font::isProbablyOnlyUsedToRenderIcons const):

Nov 14, 2020:

5:38 PM Changeset in webkit [269822] by Simon Fraser
  • 9 edits in trunk/Source/WebCore

[LFC Display] Implement propagation background style from body to root
https://bugs.webkit.org/show_bug.cgi?id=218947

Reviewed by Zalan Bujtas.

The root display box needs to get its background style from the document element box,
if it has one, otherwise the body box. If the body background style is propagated
to the root, then the body box needs to not paint its background.

Implement by adding BoxFactory::determineRootBackgroundPropagation(), and consulting
the result when creating the display boxes for the root and body. This is complicated
slightly by the need to pass the correct style to constructBoxDecorationData(),
which deals with both backgrounds and other (non-propagating) properties.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::build):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
(WebCore::Display::TreeBuilder::build const): Deleted.

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

(WebCore::Display::BoxFactory::determineRootBackgroundPropagation):
(WebCore::Display::BoxFactory::displayBoxForRootBox const):
(WebCore::Display::BoxFactory::displayBoxForBodyBox const):
(WebCore::Display::BoxFactory::displayBoxForLayoutBox const):
(WebCore::Display::BoxFactory::constructBoxDecorationData const):
(WebCore::Display::BoxFactory::setupBoxModelBox const):
(WebCore::Display::BoxFactory::documentElementBoxFromRootBox):
(WebCore::Display::BoxFactory::bodyBoxFromRootBox):

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

(WebCore::Display::calculateFillLayerImageGeometry):

  • display/css/DisplayFillLayerImageGeometry.h:
  • display/css/DisplayStyle.cpp:

(WebCore::Display::Style::Style):
(WebCore::Display::Style::setupBackground):

  • display/css/DisplayStyle.h:
1:43 PM Changeset in webkit [269821] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Negative margin before (>border box height value) completely pulls the inline level box out of the line box
https://bugs.webkit.org/show_bug.cgi?id=218945

Reviewed by Antti Koivisto.

maximumTopOffsetFromRootInlineBoxBaseline could very well be negative e.g
<div><div style="display: inline-block; height: 10px; margin-top: -20px"></div></div>.

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndalignInlineLevelBoxesVertically):

11:46 AM Changeset in webkit [269820] by commit-queue@webkit.org
  • 23 edits
    5 deletes in trunk

Remove -webkit-aspect-ratio support
https://bugs.webkit.org/show_bug.cgi?id=218384

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

LayoutTests/imported/w3c:

Remove tests for -webkit-aspect-ratio.

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:

Source/WebCore:

Remove -webkit-aspect-ratio support since it is superseded
by aspect-ratio (https://www.w3.org/TR/css-sizing-4/).

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSProperties.json:
  • css/CSSValueKeywords.in:
  • css/StyleProperties.cpp:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::consumeWebkitAspectRatio): Deleted.

  • layout/layouttree/LayoutReplacedBox.cpp:

(WebCore::Layout::ReplacedBox::hasAspectRatio const):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::layout):
(WebCore::RenderReplaced::setNeedsLayoutIfNeededAfterIntrinsicSizeChange):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::aspectRatioType const):
(WebCore::RenderStyle::setAspectRatioType):
(WebCore::RenderStyle::initialAspectRatioType):
(WebCore::RenderStyle::aspectRatioDenominator const): Deleted.
(WebCore::RenderStyle::aspectRatioNumerator const): Deleted.
(WebCore::RenderStyle::setAspectRatioDenominator): Deleted.
(WebCore::RenderStyle::setAspectRatioNumerator): Deleted.
(WebCore::RenderStyle::initialAspectRatioDenominator): Deleted.
(WebCore::RenderStyle::initialAspectRatioNumerator): Deleted.

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):

  • rendering/style/StyleRareNonInheritedData.h:
  • style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyInitialWebkitAspectRatio): Deleted.
(WebCore::Style::BuilderCustom::applyInheritWebkitAspectRatio): Deleted.
(WebCore::Style::BuilderCustom::applyValueWebkitAspectRatio): Deleted.

LayoutTests:

Remove tests for -webkit-aspect-ratio.

  • fast/css/aspect-ratio-inheritance-expected.txt: Removed.
  • fast/css/aspect-ratio-inheritance.html: Removed.
  • fast/css/aspect-ratio-parsing-tests-expected.txt: Removed.
  • fast/css/aspect-ratio-parsing-tests.html: Removed.
  • fast/css/aspect-ratio/badchess-tall.png: Removed.
  • fast/css/aspect-ratio/badchess-wide.png: Removed.
  • fast/css/aspect-ratio/columns-expected.html: Removed.
  • fast/css/aspect-ratio/columns.html: Removed.
  • fast/css/aspect-ratio/containers-expected.html: Removed.
  • fast/css/aspect-ratio/containers.html: Removed.
  • fast/css/aspect-ratio/simple-expected.html: Removed.
  • fast/css/aspect-ratio/simple.html: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/ios-13/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
10:25 AM Changeset in webkit [269819] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GTK] Gardening imported/w3c/web-platform-tests/css/css-color/composited-filters-under-opacity.html

Unreviewed test gardening.

  • platform/gtk/TestExpectations:
9:38 AM Changeset in webkit [269818] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][Integration] Use the physical size when setting the pre-computed width/height on ReplacedBox
https://bugs.webkit.org/show_bug.cgi?id=218915

Reviewed by Antti Koivisto.

This is where the logical vs. physical coordinate flip happens on the integration level.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::updateReplacedDimensions):
(WebCore::LayoutIntegration::LineLayout::updateInlineBlockDimensions):

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

(WebCore::RenderBlockFlow::layoutModernLines):

7:26 AM Changeset in webkit [269817] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Display runs generated by boxes should have border box geometries
https://bugs.webkit.org/show_bug.cgi?id=218932

Reviewed by Antti Koivisto.

Layout::Runs/InlineBoxes have margin box geometries, but the Display::Runs should preserve border box instead.
This is mostly interesting in the context of negative vertical margins where such margin values could make the run "empty".

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

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

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::constructContent):

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

[LFC][IFC] Inline level box with negative vertical margin should not be considered empty
https://bugs.webkit.org/show_bug.cgi?id=218933

Reviewed by Antti Koivisto.

While in practice when the negative vertical margin makes the layout bounds empty (e.g: height: 100px; margin-top: -100px;),
and the inline level box contributes 0px to the line box height, it should not be considered empty.

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):

3:59 AM Changeset in webkit [269815] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit

Unreviewed, suppressing GCC compilation warnings.

  • UIProcess/API/wpe/ScrollGestureController.cpp:

(WebKit::ScrollGestureController::handleEvent):
Explicitly store the std::abs() results as uint32_t values. This avoids
comparison between the otherwise-signed return values and the unsigned
constants.

2:28 AM Changeset in webkit [269814] by don.olmstead@sony.com
  • 12 edits in trunk/Source

[clang-tidy] Run modernize-use-override through JSC
https://bugs.webkit.org/show_bug.cgi?id=218916

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorScriptProfilerAgent.h:
  • inspector/agents/InspectorTargetAgent.h:
  • inspector/agents/JSGlobalObjectAuditAgent.h:
  • inspector/agents/JSGlobalObjectDebuggerAgent.h:
  • inspector/agents/JSGlobalObjectRuntimeAgent.h:
  • inspector/remote/socket/RemoteInspectorConnectionClient.h:
  • inspector/remote/socket/RemoteInspectorServer.h:
  • runtime/JSGlobalObjectDebuggable.h:

Source/WTF:

  • wtf/RunLoop.h:
1:01 AM Changeset in webkit [269813] by graouts@webkit.org
  • 18 edits in trunk

Support animations on more pseudo-elements
https://bugs.webkit.org/show_bug.cgi?id=218792
<rdar://problem/71274485>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Add PASS results for WPT tests running animations on ::marker pseudo-elements.

  • web-platform-tests/css/css-animations/Document-getAnimations.tentative-expected.txt:
  • web-platform-tests/css/css-animations/animationevent-marker-pseudoelement-expected.txt:
  • web-platform-tests/css/css-animations/event-order.tentative-expected.txt:
  • web-platform-tests/css/css-pseudo/marker-animate-expected.txt:
  • web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation-expected.txt:
  • web-platform-tests/css/css-transitions/Document-getAnimations.tentative-expected.txt:

Source/WebCore:

We used to only support animations for pseudo-elements that were represented by PseudoElement (::before and ::after).
With this patch, we can now animate any public pseudo-element, such as ::marker.

  • animation/KeyframeEffect.cpp:

(WebCore::elementOrPseudoElementForStyleable): For pseudo-elements other than ::before or ::after, return the Styleable's
element since a PseudoElement is only accessible for the aforementioned pseudo-elements.
(WebCore::KeyframeEffect::targetElementOrPseudoElement const): For pseudo-elements other than ::before or ::after, return
the animation target as the target element.

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::rendererIsNeeded): Refactor what was originally isTargetedByKeyframeEffectRequiringPseudoElement()
into this method since isTargetedByKeyframeEffectRequiringPseudoElement() was removed.
(WebCore::PseudoElement::isTargetedByKeyframeEffectRequiringPseudoElement): Remove this method from PseudoElement since
pseudo-elements that are not represented by a PseudoElement need similar logic, which is now available through the static
function elementIsTargetedByKeyframeEffectRequiringPseudoElement() in RenderTreeUpdaterGeneratedContent.cpp.

  • dom/PseudoElement.h:
  • rendering/updating/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateRenderTree): Pass the entire set of ElementUpdates instead of just the ElementUpdate to
updateElementRenderer() such that it may process the new pseudoElementUpdates member.
(WebCore::RenderTreeUpdater::updateBeforeDescendants): Pass the entire set of ElementUpdates and a PseudoId to
updatePseudoElement() such that it may use the new pseudoElementUpdates member in combination with the PseudoId
to determine what ElementUpdate to use.
(WebCore::RenderTreeUpdater::updateAfterDescendants): Pass the entire set of ElementUpdates and a PseudoId to
updatePseudoElement() such that it may use the new pseudoElementUpdates member in combination with the PseudoId
to determine what ElementUpdate to use.
(WebCore::RenderTreeUpdater::updateElementRenderer): Use the new pseudoElementUpdates member in ElementUpdates to set the
pseudo-element styles.

  • rendering/updating/RenderTreeUpdater.h:
  • rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:

(WebCore::elementIsTargetedByKeyframeEffectRequiringPseudoElement): New static method meant to replace the removed
PseudoElement::isTargetedByKeyframeEffectRequiringPseudoElement() such that we may use this method regardless of whether
the pseudo-element is represented by PseudoElement.
(WebCore::createContentRenderers): Use elementIsTargetedByKeyframeEffectRequiringPseudoElement() instead of the removed
PseudoElement::isTargetedByKeyframeEffectRequiringPseudoElement().
(WebCore::RenderTreeUpdater::GeneratedContent::updatePseudoElement): Look up all ElementUpdate for the provided PseudoId
in the new pseudoElementUpdates member in ElementUpdates in order to determine what ElementUpdate to process. Also, use
elementIsTargetedByKeyframeEffectRequiringPseudoElement() instead of the removed
PseudoElement::isTargetedByKeyframeEffectRequiringPseudoElement().
(WebCore::RenderTreeUpdater::GeneratedContent::needsPseudoElement):

  • rendering/updating/RenderTreeUpdaterGeneratedContent.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::resolveElement): Resolve any public pseudo-element instead of just ::before and ::after
and save those in the new ElementUpdates pseudoElementUpdates member.
(WebCore::Style::TreeResolver::resolvePseudoStyle): Resolve any pseudo-element set on an element that either has animations
set on it, either set by Web Animations, as seen on the KeyframeEffectStack, or yet to be applied through a CSS Animation or
CSS Transition, as seen on the RenderStyle.

  • style/StyleTreeResolver.h:
  • style/StyleUpdate.h: Add a new pseudoElementUpdates member on ElementUpdates.
12:52 AM Changeset in webkit [269812] by graouts@webkit.org
  • 17 edits
    1 add in trunk

Add support for discrete animations of many CSS properties
https://bugs.webkit.org/show_bug.cgi?id=218902

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

By virtue of animation a host of new properties, we run an extra 551 tests and pass 518 of them.

  • web-platform-tests/css/css-logical/animations/float-interpolation-expected.txt:
  • web-platform-tests/css/css-position/animations/position-interpolation-expected.txt:
  • web-platform-tests/css/css-transitions/properties-value-003-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

Add support for discrete animation of the following properties:

-webkit-backface-visibility, -webkit-box-decoration-break, -webkit-hyphens, -webkit-initial-letter,
-webkit-print-color-adjust, -webkit-ruby-position, -webkit-text-emphasis-color, -webkit-text-emphasis-position,
border-bottom-style, border-collapse, border-left-style, border-right-style, border-top-style, box-sizing,
caption-side, clear, column-fill, column-rule-style, column-rule-style, cursor, empty-cells, flex-direction,
flex-wrap, float, grid-auto-columns, grid-auto-flow, grid-auto-rows, grid-column-end, grid-column-start,
grid-row-end, grid-row-start, image-orientation, isolation, justify-content, justify-items, justify-self,
list-style-position, list-style-type, mix-blend-mode, object-fit, outline-style, overflow-wrap, overflow-x,
overflow-y, page-break-after, page-break-before, page-break-inside, paint-order, pointer-events, position,
resize, table-layout, text-align, text-decoration-color, text-decoration-line, text-decoration-style,
text-overflow, text-transform, touch-action, transform-box, transform-style, white-space, word-break.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/style/GridPosition.cpp:

(WebCore::operator<<):

  • rendering/style/GridPosition.h:
  • rendering/style/GridTrackSize.cpp: Added.

(WebCore::operator<<):

  • rendering/style/GridTrackSize.h:

Nov 13, 2020:

8:04 PM Changeset in webkit [269811] by Lauro Moura
  • 3 edits in trunk/LayoutTests

[GLIB] Gardening some failures

Unreviewed test gardening.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
6:16 PM Changeset in webkit [269810] by sihui_liu@apple.com
  • 50 edits
    4 copies
    11 adds in trunk

Implement basic permission check for SpeechRecognition
https://bugs.webkit.org/show_bug.cgi?id=218476
<rdar://problem/71222638>

Reviewed by Youenn Fablet.

Source/WebCore:

Tests: fast/speechrecognition/permission-error.html

fast/speechrecognition/start-recognition-in-removed-iframe.html

  • Modules/speech/SpeechRecognition.cpp:

(WebCore::SpeechRecognition::startRecognition):

  • Modules/speech/SpeechRecognitionConnection.h:
  • Modules/speech/SpeechRecognitionRequest.cpp:

(WebCore::SpeechRecognitionRequest::create): Deleted.

  • Modules/speech/SpeechRecognitionRequest.h:

(WebCore::SpeechRecognitionRequest::clientOrigin const):

  • Modules/speech/SpeechRecognitionRequestInfo.h:

(WebCore::SpeechRecognitionRequestInfo::encode const):
(WebCore::SpeechRecognitionRequestInfo::decode):

  • Modules/speech/SpeechRecognitionUpdate.cpp:

(WebCore::SpeechRecognitionUpdate::create):
(WebCore::SpeechRecognitionUpdate::error const):
(WebCore::SpeechRecognitionUpdate::result const):

  • Modules/speech/SpeechRecognitionUpdate.h:
  • page/DummySpeechRecognitionProvider.h:

Source/WebKit:

Introduce SpeechRecognitionPermissionManager, which checks and requests speech recognition permissions before
we actually start capturing audio and perform recognition. SpeechRecognitionPermissionManager is per-page, like
SpeechRecognitionServer. The checks include:

  1. Sandbox requirement for microphone
  2. TCC check for microphone
  3. TCC check for SFSpeechRecognizer
  4. User permission on speech recognition for origin

Add a delegate function for requesting user permission. By default, user permission is not granted.

API test: WebKit2.SpeechRecognitionUserPermissionPersistence

  • Headers.cmake:
  • Shared/API/APIObject.h:
  • Shared/API/c/WKBase.h:
  • Sources.txt:
  • SourcesCocoa.txt:
  • UIProcess/API/APIUIClient.h:

(API::UIClient::decidePolicyForSpeechRecognitionPermissionRequest):

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/C/WKPageUIClient.h:
  • UIProcess/API/C/WKSpeechRecognitionPermissionCallback.cpp: Added.

(WKSpeechRecognitionPermissionCallbackGetTypeID):
(WKSpeechRecognitionPermissionCallbackComplete):

  • UIProcess/API/C/WKSpeechRecognitionPermissionCallback.h: Added.
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _speechRecognitionEnabled]):
(-[WKPreferences _setSpeechRecognitionEnabled:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/Cocoa/MediaPermissionUtilities.mm: Added.

(WebKit::checkSandboxRequirementForType):
(WebKit::checkUsageDescriptionStringForType):
(WebKit::checkUsageDescriptionStringForSpeechRecognition):
(WebKit::requestAVCaptureAccessForType):
(WebKit::checkAVCaptureAccessForType):
(WebKit::requestSpeechRecognitionAccess):
(WebKit::checkSpeechRecognitionServiceAccess):

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

(WebKit::UIDelegate::UIClient::decidePolicyForSpeechRecognitionPermissionRequest):

  • UIProcess/Cocoa/UserMediaPermissionRequestManagerProxy.mm:

(WebKit::UserMediaPermissionRequestManagerProxy::permittedToCaptureAudio):
(WebKit::UserMediaPermissionRequestManagerProxy::permittedToCaptureVideo):
(WebKit::UserMediaPermissionRequestManagerProxy::requestSystemValidation):
(WebKit::requestAVCaptureAccessForMediaType): Deleted.

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:
  • UIProcess/MediaPermissionUtilities.h: Copied from Added.
  • UIProcess/SpeechRecognitionPermissionManager.cpp: Added.

(WebKit::computeMicrophoneAccess):
(WebKit::computeSpeechRecognitionServiceAccess):
(WebKit::SpeechRecognitionPermissionManager::SpeechRecognitionPermissionManager):
(WebKit::SpeechRecognitionPermissionManager::~SpeechRecognitionPermissionManager):
(WebKit::SpeechRecognitionPermissionManager::request):
(WebKit::SpeechRecognitionPermissionManager::startNextRequest):
(WebKit::SpeechRecognitionPermissionManager::startProcessingRequest):
(WebKit::SpeechRecognitionPermissionManager::continueProcessingRequest):
(WebKit::SpeechRecognitionPermissionManager::completeCurrentRequest):
(WebKit::SpeechRecognitionPermissionManager::requestSpeechRecognitionServiceAccess):
(WebKit::SpeechRecognitionPermissionManager::requestMicrophoneAccess):
(WebKit::SpeechRecognitionPermissionManager::requestUserPermission):

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

(WebKit::SpeechRecognitionPermissionRequest::create):
(WebKit::SpeechRecognitionPermissionRequest::complete):
(WebKit::SpeechRecognitionPermissionRequest::origin const):
(WebKit::SpeechRecognitionPermissionRequest::SpeechRecognitionPermissionRequest):
(WebKit::SpeechRecognitionPermissionCallback::create):
(WebKit::SpeechRecognitionPermissionCallback::complete):
(WebKit::SpeechRecognitionPermissionCallback::SpeechRecognitionPermissionCallback):

  • UIProcess/SpeechRecognitionServer.cpp:

(WebKit::SpeechRecognitionServer::SpeechRecognitionServer):
(WebKit::SpeechRecognitionServer::start):
(WebKit::SpeechRecognitionServer::requestPermissionForRequest):
(WebKit::SpeechRecognitionServer::stop):
(WebKit::SpeechRecognitionServer::abort):
(WebKit::SpeechRecognitionServer::invalidate):
(WebKit::SpeechRecognitionServer::handleRequest):
(WebKit::SpeechRecognitionServer::stopRequest):
(WebKit::SpeechRecognitionServer::abortRequest):
(WebKit::SpeechRecognitionServer::sendUpdate):
(WebKit::SpeechRecognitionServer::processNextPendingRequestIfNeeded): Deleted.
(WebKit::SpeechRecognitionServer::removePendingRequest): Deleted.
(WebKit::SpeechRecognitionServer::startPocessingRequest): Deleted.
(WebKit::SpeechRecognitionServer::stopProcessingRequest): Deleted.

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

(WebKit::WebPageProxy::didChangeMainDocument):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::requestSpeechRecognitionPermission):

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

(WebKit::WebProcessProxy::createSpeechRecognitionServer):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebSpeechRecognitionConnection.cpp:

(WebKit::WebSpeechRecognitionConnection::start):
(WebKit::WebSpeechRecognitionConnection::didReceiveUpdate):

  • WebProcess/WebCoreSupport/WebSpeechRecognitionConnection.h:

Source/WTF:

  • wtf/PlatformHave.h:

Tools:

  • MiniBrowser/mac/Info.plist:
  • MobileMiniBrowser/MobileMiniBrowser/Info.plist:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm: Added.

(-[SpeechRecognitionPermissionUIDelegate _webView:requestSpeechRecognitionPermissionForOrigin:decisionHandler:]):
(-[SpeechRecognitionMessageHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/speechrecognition-user-permission-persistence.html: Added.
  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setIsSpeechRecognitionPermissionGranted):

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

(WTR::decidePolicyForSpeechRecognitionPermissionRequest):
(WTR::TestController::completeSpeechRecognitionPermissionCheck):
(WTR::TestController::setIsSpeechRecognitionPermissionGranted):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::resetStateToConsistentValues):

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

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

  • TestExpectations:
  • fast/speechrecognition/permission-error-expected.txt: Added.
  • fast/speechrecognition/permission-error.html: Added.
  • fast/speechrecognition/resources/removed-iframe.html: Added.
  • fast/speechrecognition/start-recognition-in-removed-iframe-expected.txt: Added.
  • fast/speechrecognition/start-recognition-in-removed-iframe.html: Added.
  • platform/wk2/TestExpectations:
6:11 PM Changeset in webkit [269809] by Chris Dumez
  • 7 edits in trunk

[GPUProcess] Add basic GPUProcess crash handling for canvas
https://bugs.webkit.org/show_bug.cgi?id=218924

Reviewed by Simon Fraser.

Source/WebKit:

Update RemoteRenderingBackendProxy to be a GPUProcessConnection::Client so that it
gets notified when the IPC connection to the GPUProcess gets severed. When this
happens, RemoteRenderingBackendProxy clears all its SharedMemory handles and
sends IPC messages to the GPU process to recreate all the ImageBuffers we had.

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::create):
(WebKit::RemoteImageBufferProxy::clearBackend):
(WebKit::RemoteImageBufferProxy::size const):
(WebKit::RemoteImageBufferProxy::renderingMode const):
(WebKit::RemoteImageBufferProxy::colorSpace const):
(WebKit::RemoteImageBufferProxy::pixelFormat const):
(WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::RemoteRenderingBackendProxy):
(WebKit::RemoteRenderingBackendProxy::connectToGPUProcess):
(WebKit::recreateImage):
(WebKit::RemoteRenderingBackendProxy::gpuProcessConnectionDidClose):
(WebKit::RemoteRenderingBackendProxy::createImageBuffer):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:

(WebKit::RemoteResourceCacheProxy::imageBuffers const):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:

(convertToCGImage):
(getPixelIndex):
(TEST):

5:09 PM Changeset in webkit [269808] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

[GPUProcess] Add basic low memory handling in the GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=218926
<rdar://problem/70300888>

Reviewed by Geoffrey Garen.

Add basic low memory handling in the GPUProcess. For now, the GPUProcess only calls
WTF::releaseFastMallocFreeMemory() on low memory warning.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::initializeGPUProcess):

4:55 PM Changeset in webkit [269807] by Kate Cheney
  • 25 edits in trunk/Source

Can't login to Microsoft Teams
https://bugs.webkit.org/show_bug.cgi?id=218778
<rdar://problem/36331568>

Reviewed by John Wilander.

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

Create a quirk to call the Storage Access API on behalf of Microsoft.

Source/WebCore:

No new tests, site-specific quirk.

  • dom/Element.cpp:

(WebCore::Element::dispatchMouseEvent):
Pass additional parameters to be able to dispatch a synthetic click
if storage access is granted.

  • loader/ResourceLoadObserver.h:

(WebCore::ResourceLoadObserver::setDomainsWithCrossPageStorageAccess):
(WebCore::ResourceLoadObserver::hasCrossPageStorageAccess const):
Store domains in the web process to avoid async calls to the network
process.

(WebCore::isMicrosoftLoginElement):
(WebCore::isMicrosoftDomain):

  • page/Quirks.cpp:

(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):
This is the quirk.

  • page/Quirks.h:
  • platform/network/NetworkStorageSession.cpp:

(WebCore::NetworkStorageSession::setDomainsWithCrossPageStorageAccess):
(WebCore::NetworkStorageSession::grantCrossPageStorageAccess):
(WebCore::NetworkStorageSession::hasStorageAccess const):
(WebCore::NetworkStorageSession::grantStorageAccess):
(WebCore::NetworkStorageSession::removeAllStorageAccess):
(WebCore::NetworkStorageSession::storageAccessQuirks):
(WebCore::NetworkStorageSession::canRequestStorageAccessForLoginPurposesWithoutPriorUserInteraction):
(WebCore::NetworkStorageSession::loginDomainForFirstParty):
(WebCore::NetworkStorageSession::mapToTopDomain):
The user might go directly to login.live.com to sign in to Microsoft
Teams, but may not have seen the Storage Access prompt. In this case,
we should map live.com to microsoft.com and request storage access for
microsoftonline.com under microsoft.com. Since login.live.com is used
for other Microsoft login flows besides Teams, a user may have to
grant storage access to microsoftonline.com even when it is not needed
to complete the login. But this guarantees they will always be
successfully logged into all Microsoft accounts.

  • platform/network/NetworkStorageSession.h:

In order for the user to stay logged in between sessions, we should
update NetworkStorageSession to grant storage access based on values
stored in the ITP database for quirk domains.

Source/WebKit:

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccessInternal):
Relax the requirement for user interaction for a specific third party
needing cookies for authentication purposes.

(WebKit::ResourceLoadStatisticsDatabaseStore::clear):
(WebKit::ResourceLoadStatisticsDatabaseStore::cookieAccess):
Relax the requirement for user interaction for a specific third party
needing cookies for authentication purposes.

(WebKit::ResourceLoadStatisticsDatabaseStore::domainsWithStorageAccess const):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateCookieBlocking):

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::clear):
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookieBlocking):

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::requestStorageAccessEphemeral):
Relax user interaction for reasons above.

(WebKit::WebResourceLoadStatisticsStore::callUpdatePrevalentDomainsToBlockCookiesForHandler):

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:

(WebKit::RegistrableDomainsToBlockCookiesFor::isolatedCopy const):

  • Shared/WebProcessDataStoreParameters.h:

(WebKit::WebProcessDataStoreParameters::encode const):
(WebKit::WebProcessDataStoreParameters::decode):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::setDomainsWithCrossPageStorageAccess):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::webProcessDataStoreParameters):
(WebKit::WebProcessPool::setDomainsWithCrossPageStorageAccess):

  • UIProcess/WebProcessPool.h:
  • WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:

(WebKit::WebResourceLoadObserver::hasCrossPageStorageAccess const):
(WebKit::WebResourceLoadObserver::setDomainsWithCrossPageStorageAccess):

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

(WebKit::WebProcess::setWebsiteDataStoreParameters):
(WebKit::WebProcess::setDomainsWithCrossPageStorageAccess):
Add quirk'd domains to have page level storage access to be able to
use document.cookie.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

Forward domains with the storage access quirk to the web process to
avoid an async call to the network process.

4:20 PM Changeset in webkit [269806] by Brian Burg
  • 2 edits in trunk/Source/WebCore

REGRESSION(r269701): inspector/console/webcore-logging.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=218840
<rdar://problem/71310952>

Reviewed by Devin Rousso.

This test is triggering a bizarre backtrace that fails the assertion ASSERT(m_frontendLoaded)
in the frontend dispatcher. The sequence of events present in the stack trace is as follows:

  1. Test.html finishes loading.
  2. DOMContentLoaded event listener eventually calls InspectorFrontendHost::loaded().
  3. InspectorFrontendClient::frontendLoaded() calls -[NSWindow showWindow:] on the inspector window, which makes the inspected webpage window unfocus and resign first responder.
  4. Unfocusing causes an activity state change and style recalc. Script is unsafe to execute under this.
  5. Synchronously under the style recalc, inspector instrumentation is triggered when layers change.
  6. The backend sends a protocol event, which is synchronously dispatched to the frontend.
  7. Due to script evaluation being unsafe in (4), the frontend dispatcher tries to suspend. This hits the assertion because the frontend dispatcher hasn't been notified that the frontend finished loading as part of (3).

This only affects WebKitLegacy clients, where events 1-7 happen synchronously from top to bottom
due to the single process architecture. In the multiprocess case, frontendLoaded is an async
IPC message and frontend evaluations are not affected by the state of the inspected page.

  • inspector/InspectorFrontendAPIDispatcher.cpp:

(WebCore::InspectorFrontendAPIDispatcher::frontendLoaded): Dispatch messages iff not suspended.

(WebCore::InspectorFrontendAPIDispatcher::suspend): Remove the assertion that is incorrect.
Allow clients of this class to call suspend() before frontendLoaded().

(WebCore::InspectorFrontendAPIDispatcher::unsuspend): Using a similar argument as above, it
is possible that WebKitLegacy may unsuspend the dispatcher before the frontend has fully loaded.

4:02 PM Changeset in webkit [269805] by weinig@apple.com
  • 17 edits in trunk/Source

Move some more WebKit and WebKitLegacy preferences bound to Settings to WebPreferences.yaml
https://bugs.webkit.org/show_bug.cgi?id=218914

Reviewed by Tim Horton.

Source/WebCore:

Moves AppleMailPaginationQuirkEnabled, ContentDispositionAttachmentSandboxEnabled and
UseImageDocumentForSubframePDF from Settings.yaml to WebPreferences.yaml and merges in
WebCore values for ScrollingPerformanceLoggingEnabled.

  • page/Settings.yaml:

Source/WebKit:

  • Shared/WebPageCreationParameters.cpp:

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

  • Shared/WebPageCreationParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::appleMailPaginationQuirkEnabled): Deleted.
(WebKit::WebPageProxy::appleMailLinesClampEnabled): Deleted.
Removes appleMailPaginationQuirkEnabled and appleMailLinesClampEnabled.
appleMailPaginationQuirkEnabled is now handled via the preferences infrastructure
and appleMailLinesClampEnabled was unused.

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultAppleMailPaginationQuirkEnabled):

  • Shared/WebPreferencesDefaultValues.h:

Adds default value for AppleMailPaginationQuirkEnabled, which is now in WebPreferences.yaml.
Moved from WebPageProxyMac.mm

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):
Removes explicit setting of setAppleMailPaginationQuirkEnabled, setContentDispositionAttachmentSandboxEnabled,
setScrollingPerformanceLoggingEnabled and setUseImageDocumentForSubframePDF which are all generated now.
LayoutViewportHeightExpansionFactor was already generated so this call was just redundant.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::setScrollingPerformanceLoggingEnabled): Deleted.
It's also no longer necessary to store m_scrollingPerformanceLoggingEnabled as the value
can be extracted directly from the store in the one place it was read. setScrollingPerformanceLoggingEnabled
was never called, so has been removed.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
Extract scrollingPerformanceLoggingEnabled directly from the store rather than having the page
set it just for this one place to read it.

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
Remove explicit setting of Settings::setContentDispositionAttachmentSandboxEnabled as
it is now handled by the generated code. Merge together a few sequential #ifdefs while
in the area.

Source/WTF:

Moves AppleMailPaginationQuirkEnabled, ContentDispositionAttachmentSandboxEnabled and
UseImageDocumentForSubframePDF from Settings.yaml to WebPreferences.yaml. Merges in
WebCore values from ScrollingPerformanceLoggingEnabled and removes binding override
since it can now be fully generated.

  • Scripts/Preferences/WebPreferences.yaml:
3:46 PM Changeset in webkit [269804] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

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

Reviewed by Jonathan Bedard.

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

(CompileWebKit.start): Initialize logobserver.
(CompileWebKit.parseOutputLine): Method to process each line.
(CompileWebKit._addToLog): Method to add to the log which is displayed in UI.
(CompileWebKit.createSummary):

2:56 PM Changeset in webkit [269803] by Ryan Haddad
  • 3 edits
    2 deletes in trunk

Unreviewed, reverting r269776.

The test added with this change is asserting

Reverted changeset:

"Null check anchorNode of endingSelection start"
https://bugs.webkit.org/show_bug.cgi?id=218492
https://trac.webkit.org/changeset/269776

2:38 PM Changeset in webkit [269802] by ggaren@apple.com
  • 7 edits in trunk/Source

Removed DeferrableTaskTimer
https://bugs.webkit.org/show_bug.cgi?id=218874

Reviewed by Chris Dumez.

It was (mostly) redundant.

Source/WebCore:

  • platform/Timer.h:

(WebCore::Timer::schedule): This helper function does the same job
that DeferrableTaskTimer used to do.

(WebCore::DeferrableTaskTimer::fired): Deleted.
(WebCore::DeferrableTaskTimer::doTask): Deleted.
(WebCore::DeferrableTaskTimer::cancel): Deleted.

  • platform/mediarecorder/MediaRecorderPrivateMock.cpp:

(WebCore::MediaRecorderPrivateMock::fetchData): Use the new helper function.

  • platform/mediarecorder/MediaRecorderPrivateMock.h: No need for a data

member anymore since we can use the schedule() convenience function instead.

Source/WebKit:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateReportedMediaCaptureState):

  • UIProcess/WebPageProxy.h: Use WTF::RunLoop::Timer instead of

WebCore::Timer because WebCore::Timer for WebKit code in the UI process
is a no-no, which can crash if the UI process also uses WebThread.

2:32 PM Changeset in webkit [269801] by commit-queue@webkit.org
  • 15 edits in trunk

[JSC] Use symbols as identifiers for class fields computed names storage
https://bugs.webkit.org/show_bug.cgi?id=216172

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

Use private symbols for the property keys of the class fields with
computed names. This is cleaner than using raw numeric identifiers and
will be less cumbersome when we add static fields. It also prevents
potential collisions if other features want to store data in the class
scope.

JSTests:

  • stress/class-fields-harmony.js: new test, make sure

setFunctionName works properly with computed fields.

Source/JavaScriptCore:

  • bytecompiler/NodesCodegen.cpp:

(JSC::PropertyListNode::emitSaveComputedFieldName): adapt a comment.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass): use private identifiers for computed fields property keys.
(JSC::Parser<LexerType>::parseInstanceFieldInitializerSourceElements): ditto.

  • parser/ParserArena.cpp:

(JSC::IdentifierArena::makePrivateIdentifier): method to create a private identifier.

  • parser/ParserArena.h:
  • runtime/CachedTypes.cpp:

(JSC::CachedUniquedStringImplBase::encode): consider registered symbols, they are used by the parser now.
(JSC::CachedUniquedStringImplBase::decode const): ditto.

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

(JSC::VM::privateSymbolRegistry): create a private symbol registry too.

Source/WTF:

  • wtf/text/SymbolImpl.cpp:

(WTF::RegisteredSymbolImpl::createPrivate): add a method to create a registered private symbol from a string key.

  • wtf/text/SymbolImpl.h:
  • wtf/text/SymbolRegistry.cpp:

(WTF::SymbolRegistry::symbolForKey): consider that we can hold private symbols now too.

  • wtf/text/SymbolRegistry.h:

(WTF::SymbolRegistry::SymbolRegistry): new enum type for public/private symbols.

2:29 PM Changeset in webkit [269800] by Alan Coon
  • 1 copy in tags/Safari-610.3.7.1.4

Tag Safari-610.3.7.1.4.

2:22 PM Changeset in webkit [269799] by Russell Epstein
  • 1 edit in branches/safari-610-branch/Source/ThirdParty/libwebrtc/Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_indata.c

Apply patch. rdar://problem/71378194

2:17 PM Changeset in webkit [269798] by Russell Epstein
  • 3 edits
    2 adds in branches/safari-610-branch

Cherry-pick r269384. rdar://problem/71381924

REGRESSION (r257839): Miscomputed style due to computed 'rem' value in matched declaration cache
https://bugs.webkit.org/show_bug.cgi?id=218561
<rdar://problem/70074191>

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/dom/focus-rem-style-update.html

Call to focus() causes computed style update for the element’s ancestor chain before the the document
has otherwise been styled (using the shortcut mechanism introduced in r257839). This style, which uses ‘rem’
unit and so depends on root element font size, gets cached in MatchedDeclarationsCache. The root font size
then changes but during the resulting style update we use this cached value, failing to re-resolve ‘rem’.

  • style/StyleTreeResolver.cpp: (WebCore::Style::TreeResolver::resolveElement):

Invalidate matched declarations cache also when there is no existing document element style.

LayoutTests:

  • fast/dom/focus-rem-style-update-expected.html: Added.
  • fast/dom/focus-rem-style-update.html: Added.

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

2:17 PM Changeset in webkit [269797] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebCore

Cherry-pick r269321. rdar://problem/71083861

Protect against HTMLMediaElement being destroyed during disptachEvent().
https://bugs.webkit.org/show_bug.cgi?id=218398
<rdar://problem/67613836>

Reviewed by Chris Dumez.

Make the MainThreadGenericEventQueue protect the target as well as the owner of the queue.

Drive-by fix: Create the scoped eventFiringScope object after the protect object, to ensure
that the member variable set by the first scope will safely occur.

Drive-by fix #2: Also null-check the result of document().page() within HTMLMediaElement::dispatchEvent().

  • dom/GenericEventQueue.cpp: (WebCore::MainThreadGenericEventQueue::dispatchOneEvent):
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::dispatchEvent):

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

2:17 PM Changeset in webkit [269796] by Russell Epstein
  • 7 edits
    1 add in branches/safari-610-branch/Source

Cherry-pick r269208. rdar://problem/71378171

AX: Incorrect list of voices being displayed on iOS
https://bugs.webkit.org/show_bug.cgi?id=218293

Reviewed by Per Arne Vollan.

Source/WebCore:

Limit the voices that we display in WebSpeech to only built-in system voices. This was the intention of the "compact"
decision, but some mobile assets have compact voices, which are not available WebContent.

  • platform/ios/PlatformSpeechSynthesizerIOS.mm: (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/PlatformMac.cmake:
  • pal/spi/cocoa/AXSpeechManagerSPI.h: Added.

Source/WTF:

  • wtf/PlatformHave.h:

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

2:16 PM Changeset in webkit [269795] by Russell Epstein
  • 6 edits
    2 adds in branches/safari-610-branch

Cherry-pick r269121. rdar://problem/71381839

[MSE] Handle trackId changing across Initialization Segments
https://bugs.webkit.org/show_bug.cgi?id=218294
<rdar://problem/70771306>

Reviewed by Eric Carlson.

Source/WebCore:

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

When appending an initialization segment after the receivedFirstInitializationSegment flag is
true, and when the number of video or audio tracks is 1, the trackId is allowed to change across
initialiaztion segments. When this occurs, move the TrackBuffer inside the trackBufferMap to
refer to the new trackId, so that when MediaSamples are parsed, they're put into the correct
TrackBuffer.

  • Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
  • html/track/AudioTrack.cpp: (WebCore::AudioTrack::setPrivate):
  • html/track/InbandTextTrack.cpp: (WebCore::InbandTextTrack::setPrivate):
  • html/track/VideoTrack.cpp: (WebCore::VideoTrack::setPrivate):

LayoutTests:

  • media/media-source/media-source-trackid-change-expected.txt: Added.
  • media/media-source/media-source-trackid-change.html: Added.

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

2:16 PM Changeset in webkit [269794] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebCore

Cherry-pick r268782. rdar://problem/71381941

Release assert in ~Node due to render element of pseudo element not getting removed in time
https://bugs.webkit.org/show_bug.cgi?id=217996

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2020-10-20
Reviewed by Ryosuke Niwa.

When attaching a shadow root to an element, remember to tear down renderers not only if
one exists on the element, but also if it uses display: contents.

  • dom/Element.cpp: (WebCore::Element::addShadowRoot):

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

2:16 PM Changeset in webkit [269793] by Russell Epstein
  • 7 edits in branches/safari-610-branch

Cherry-pick r266052. rdar://problem/71378190

RTCRtpSynchronizationSource.rtpTimestamp is not present
https://bugs.webkit.org/show_bug.cgi?id=215722

Patch by Justin Uberti <justin@uberti.name> on 2020-08-24
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Updated expectations file to indicate that tests checking for .rtpTimestamp now pass.

  • LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpReceiver-getSynchronizationSources.https-expected.txt:

Source/WebCore:

Updated expected results in LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpReceiver-getSynchronizationSources.https-expected.txt.

  • Modules/mediastream/RTCRtpContributingSource.idl:
  • Modules/mediastream/RTCRtpContributingSource.idl:
  • Modules/mediastream/RTCRtpSynchronizationSource.idl: Minor modification to ensure JSRTCRtpSynchronizationSource.cpp gets regenerated.
  • Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp: (WebCore::fillRTCRtpContributingSource):

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

2:13 PM Changeset in webkit [269792] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[macOS] Issue sandbox extension to the WebContent process for com.apple.lskdd
https://bugs.webkit.org/show_bug.cgi?id=218920
<rdar://problem/69168801>

Reviewed by Geoffrey Garen.

This is a Media related service, and a sandbox extension should be issued to the WebContent process based on GPU runtime settings.

No new tests, covered by existing tests.

  • UIProcess/WebPageProxy.cpp:

(WebKit::mediaRelatedMachServices):

  • WebProcess/com.apple.WebProcess.sb.in:
1:49 PM Changeset in webkit [269791] by ysuzuki@apple.com
  • 8 edits in trunk/JSTests

Unreviewed, skip new ICU related tests in MIPS and ARMv7 and adjust it for ICU 65
https://bugs.webkit.org/show_bug.cgi?id=213822

  • stress/intl-datetimeformat-formatrange-relevant-extensions.js:
  • stress/intl-datetimeformat-formatrange-should-not-handle-gregorian-change-date.js:
  • stress/intl-datetimeformat-formatrange.js:

(test):

  • stress/intl-datetimeformat-formatrangetoparts-relevant-extensions-ja.js:
  • stress/intl-datetimeformat-formatrangetoparts-relevant-extensions.js:
  • stress/intl-datetimeformat-formatrangetoparts-should-not-handle-gregorian-change-date.js:
  • stress/intl-datetimeformat-formatrangetoparts.js:
1:39 PM Changeset in webkit [269790] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk

WebAssembly: opcodes for table.grow and table.size are mixed up
https://bugs.webkit.org/show_bug.cgi?id=218644

Patch by Sergey Rubanov <Sergey Rubanov> on 2020-11-13
Reviewed by Yusuke Suzuki.

JSTests:

  • wasm/stress/table-grow-table-size.js: Added.

(async test):

  • wasm/wasm.json:

Source/JavaScriptCore:

  • wasm/wasm.json:

LayoutTests:

  • workers/wasm-references/test.js:
1:19 PM Changeset in webkit [269789] by Claudio Saavedra
  • 17 edits in trunk/Source

Non-unified build fixes.
https://bugs.webkit.org/show_bug.cgi?id=218905

Unreviewed.

Source/WebCore:

  • Modules/mediarecorder/MediaRecorder.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverTransformBackend.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderTransformBackend.h:
  • animation/WebAnimationUtilities.h:
  • display/css/DisplayBoxDecorationData.h:
  • dom/BoundaryPoint.cpp:
  • dom/EventDispatcher.cpp:
  • html/HTMLFrameOwnerElement.h:
  • layout/integration/LayoutIntegrationInlineContentBuilder.h:
  • loader/DocumentWriter.h:
  • page/FrameTree.h:
  • platform/encryptedmedia/CDMPrivate.cpp:
  • rendering/InlineTextBox.cpp:

Source/WebKit:

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:
  • GPUProcess/graphics/RemoteResourceCache.h:
1:11 PM Changeset in webkit [269788] by commit-queue@webkit.org
  • 4 edits
    1 delete in trunk/Source/WebKit

Remove more SecItemShim leftovers
https://bugs.webkit.org/show_bug.cgi?id=218919

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

  • Configurations/SecItemShim.xcconfig: Removed.
  • NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkServiceEntryPoint.mm:

(NETWORK_SERVICE_INITIALIZER):

  • PlatformMac.cmake:
  • WebKit.xcodeproj/project.pbxproj:
1:09 PM Changeset in webkit [269787] by Jonathan Bedard
  • 2 edits in trunk/Tools

REGRESSION: r269514 Reset server port before restarting webserver
https://bugs.webkit.org/show_bug.cgi?id=218918
<rdar://problem/71380345>

Reviewed by Stephanie Lewis.

  • Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:

(SimpleHTTPServerDriver.serve): Reset server port.
(SimpleHTTPServerDriver.kill_server): Ditto.

10:22 AM Changeset in webkit [269786] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

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

Reviewed by Jonathan Bedard.

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

(TestWithFailureCount.getText): Added FIXME to remove this method after switching to buildbot v2.
(TestWithFailureCount.getText2): Added FIXME to remove this method after switching to buildbot v2.
(TestWithFailureCount.getResultSummary): Method to generate custom step summary.
(RunWebKitTests.getResultSummary): Removed unnecessary u, python3 defaults to unicode anyways.
(RunAPITests):
(RunAPITests.start): Use ParseByLineLogObserver.
(RunAPITests.countFailures):
(RunAPITests.parseOutputLine): Method to process each line.

9:51 AM Changeset in webkit [269785] by Darin Adler
  • 92 edits
    14 deletes in trunk

Remove unused advanced plug-in features: snapshotting and plug-in load policy
https://bugs.webkit.org/show_bug.cgi?id=218835

Reviewed by Tim Horton.

LayoutTests/imported/w3c:

  • LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:

Updated for progression.

Source/WebCore:

  • Headers.cmake: Removed some headers.
  • Sources.txt: Removed some source files.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • css/CSSPrimitiveValueMappings.h: Removed SnapshottedPluginOverlayPart.
  • css/CSSValueKeywords.in: Removed snapshotted-plugin-overlay.
  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::HTMLPlugInElement): Moved member initialization to
the class definition.
(WebCore::HTMLPlugInElement::canProcessDrag const): Deleted.
(WebCore::HTMLPlugInElement::defaultEventHandler): Removed snapshot-specific code.
(WebCore::HTMLPlugInElement::swapRendererTimerFired): Removed code to handle
DisplayingSnapshot state.
(WebCore::HTMLPlugInElement::setDisplayState): Ditto.

  • html/HTMLPlugInElement.h: Removed WaitingForSnapshot, DisplayingSnapshot,

Restarting and RestartingWithPendingMouseClick states, updateSnapshot,
dispatchPendingMouseClick, isRestartedPlugin, and canProcessDrag. Marked some
more functions final, made a couple non-virtual, and moved some things from
public to protected and protected to private.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::titleText): Deleted.
(WebCore::subtitleText): Deleted.
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Removed a few data
members.
(WebCore::HTMLPlugInImageElement::setDisplayState): Deleted.
(WebCore::HTMLPlugInImageElement::createElementRenderer): Removed code to handle
the DisplayingSnapshot case.
(WebCore::HTMLPlugInImageElement::childShouldCreateRenderer const): Removed code
to handle a snapshotted plug-in.
(WebCore::HTMLPlugInImageElement::willRecalcStyle): Removed check for
the DisplayingSnapshot case.
(WebCore::HTMLPlugInImageElement::updateSnapshot): Deleted.
(WebCore::plugInImageElementIsolatedWorld): Deleted.
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Deleted.
(WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay const): Deleted.
(WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): Deleted.
(WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): Deleted.
(WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Deleted.
(WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Deleted.
(WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn): Deleted.
(WebCore::HTMLPlugInImageElement::dispatchPendingMouseClick): Deleted.
(WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired): Deleted.
(WebCore::documentHadRecentUserGesture): Deleted.
(WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): Deleted.
(WebCore::is100Percent): Deleted.
(WebCore::isSmallerThanTinySizingThreshold): Deleted.
(WebCore::HTMLPlugInImageElement::isTopLevelFullPagePlugin const): Deleted.
(WebCore::HTMLPlugInImageElement::checkSnapshotStatus): Deleted.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Deleted.
(WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Deleted.
(WebCore::HTMLPlugInImageElement::defaultEventHandler): Deleted.

  • html/HTMLPlugInImageElement.h: Removed the functions mentioned above.

Also loadedUrl, snapshotImage, needsCheckForSizeChange, setNeedsCheckForSizeChange,
snapshotDecision, isRestartedPlugin, m_loadedUrl, m_pendingClickEventFromSnapshot,
m_simulatedMouseClickTimer, m_removeSnapshotTimer, m_snapshotImage,
m_createdDuringUserGesture, m_isRestartedPlugin, m_needsCheckForSizeChange,
m_plugInWasCreated, m_deferredPromotionToPrimaryPlugIn, m_sizeWhenSnapshotted,
m_snapshotDecision, and m_plugInDimensionsSpecified.

  • loader/SubframeLoader.cpp:

(WebCore::FrameLoader::SubframeLoader::loadPlugin): Removed calls to
subframeLoaderWillCreatePlugIn/DidCreatePlugIn.

  • page/DragController.cpp:

(WebCore::DragController::canProcessDrag): Removed special case for plug-ins.

  • page/FrameView.cpp:

(WebCore::FrameView::addEmbeddedObjectToUpdate): Removed call to
needsCheckForSizeChange.
(WebCore::FrameView::updateEmbeddedObject): Removed special case for
snapshotted plug-in and call to needsCheckForSizeChange.

  • page/Page.cpp:

(WebCore::Page::Page): Removed m_plugInClient.

  • page/Page.h: Ditto.
  • page/PageConfiguration.cpp: Removed PlugInClient.h.
  • page/PageConfiguration.h: Removed plugInClient.
  • page/PlugInClient.h: Removed.
  • page/Settings.yaml: Removed MaximumPlugInSnapshotAttempts.
  • platform/ThemeTypes.cpp:

(WebCore::operator<<): Removed SnapshottedPluginOverlayPart.

  • platform/ThemeTypes.h: Ditto.
  • plugins/PluginViewBase.h: Removed canProcessDrag, shouldAlwaysAutoStart,

and beginSnapshottingRunningPlugin.

  • rendering/RenderBoxModelObject.h: Added an export because the linker failed.

Not sure what triggered this.

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::paintSnapshotImage): Deleted.
(WebCore::RenderEmbeddedObject::paintContents): Deleted.
(WebCore::RenderEmbeddedObject::layout): Removed code that was only for
snahpshotted plug-ins, guarded both by an explicit check for snapshot state
and by a check of canHaveChildren (now always false).
(WebCore::RenderEmbeddedObject::canHaveChildren const): Deleted.

  • rendering/RenderEmbeddedObject.h: Marked the class final, made everything

private that was protected, removed functions mentioned above, and virtual
canHaveWidget function.

  • rendering/RenderLayerBacking.cpp:

(WebCore::isRestartedPlugin): Deleted.
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer const):
Removed call to isRestartedPlugin.

  • rendering/RenderObject.h: Removed isSnapshottedPlugIn.
  • rendering/RenderSnapshottedPlugIn.cpp: Removed.
  • rendering/RenderSnapshottedPlugIn.h: Removed.
  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint): Removed SnapshottedPluginOverlayPart.

  • rendering/RenderTheme.h: Removed paintSnapshottedPluginOverlay.
  • rendering/RenderThemeMac.h: Ditto.
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay): Deleted.

  • testing/Internals.cpp:

(WebCore::Internals::isPluginSnapshotted): Always return false.

Source/WebKit:

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::muteAudio): Deleted.
(WebKit::PluginProcess::platformInitializePluginProcess):

  • Scripts/webkit/messages.py: Remove PluginProcessType.
  • Shared/Plugins/PluginProcessAttributes.h: Ditto.
  • Shared/Plugins/PluginProcessCreationParameters.cpp:

(WebKit::PluginProcessCreationParameters::encode const): Ditto.
(WebKit::PluginProcessCreationParameters::decode): Ditto.

  • Shared/Plugins/PluginProcessCreationParameters.h: Ditto.
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const): Remove plugInAutoStartOrigins
and pluginLoadClientPolicies.
(WebKit::WebProcessCreationParameters::decode): Ditto.

  • Shared/WebProcessCreationParameters.h: Ditto.
  • Shared/WebProcessDataStoreParameters.h:

(WebKit::WebProcessDataStoreParameters::encode const): Remove plugInAutoStartOriginHashes.
(WebKit::WebProcessDataStoreParameters::decode): Ditto.

  • Sources.txt: Remove PlugInAutoStartProvider.cpp and WebPlugInClient.cpp.
  • UIProcess/API/C/WKContext.cpp:

(WKContextCopyPlugInAutoStartOriginHashes): Return nullptr.
(WKContextSetPlugInAutoStartOriginHashes): Do nothing.
(WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime): Ditto.
(WKContextSetPlugInAutoStartOrigins): Ditto.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageNavigationClient): Remove decidePolicyForPluginLoad.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetPlugInSnapshottingEnabled): Do nothing.
(WKPreferencesGetPlugInSnapshottingEnabled): Return false.
(WKPreferencesSetSnapshotAllPlugIns): Do nothing.
(WKPreferencesGetSnapshotAllPlugIns): Return false.
(WKPreferencesSetAutostartOriginPlugInSnapshottingEnabled): Do nothing.
(WKPreferencesGetAutostartOriginPlugInSnapshottingEnabled): Return false.
(WKPreferencesSetPrimaryPlugInSnapshotDetectionEnabled): Do nothing.
(WKPreferencesGetPrimaryPlugInSnapshotDetectionEnabled): Return false.

  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(WKContextIsPlugInUpdateAvailable): Return false.
(WKContextSetPluginLoadClientPolicy): Do nothing.
(WKContextClearPluginClientPolicies): Do nothing.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _setPlugInSnapshottingEnabled:]): Do nothing.
(-[WKPreferences _plugInSnapshottingEnabled]): Return NO.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(toPluginLoadClientPoliciesHashMap): Deleted.
(policiesHashMapToDictionary): Deleted.
(-[WKProcessPool _resetPluginLoadClientPolicies:]): Do nothing.
(-[WKProcessPool _pluginLoadClientPolicies]): Return an empty dictionary.

  • UIProcess/Cocoa/NavigationState.h: Remove didFailToInitializePlugIn,

didBlockInsecurePluginVersion, decidePolicyForPluginLoad,
webViewDidFailToInitializePlugInWithInfo,
webViewDidBlockInsecurePluginVersionWithInfo, and
webViewDecidePolicyForPluginLoadWithCurrentPolicyPluginInfoCompletionHandler.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate): Updated for abvoe removals.
(WebKit::NavigationState::NavigationClient::didFailToInitializePlugIn): Deleted.
(WebKit::NavigationState::NavigationClient::didBlockInsecurePluginVersion): Deleted.
(WebKit::pluginModuleLoadPolicy): Deleted.
(WebKit::wkPluginModuleLoadPolicy): Deleted.
(WebKit::NavigationState::NavigationClient::decidePolicyForPluginLoad): Deleted.

  • UIProcess/Plugins/PlugInAutoStartProvider.cpp: Removed.
  • UIProcess/Plugins/PlugInAutoStartProvider.h: Removed.
  • UIProcess/Plugins/PluginProcessManager.cpp:

(WebKit::PluginProcessManager::pluginProcessToken): Removed the
pluginProcessType argument.
(WebKit::PluginProcessManager::fetchWebsiteData): Ditto.
(WebKit::PluginProcessManager::deleteWebsiteData): Ditto.
(WebKit::PluginProcessManager::deleteWebsiteDataForHostNames): Ditto.

  • UIProcess/Plugins/PluginProcessManager.h: Ditto.
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didFinishLaunching): Removed the code to
handle PluginProcessType::Snapshot.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::findPlugin): Removed the processType argument.

  • UIProcess/WebPageProxy.h: Ditto.
  • UIProcess/WebPageProxy.messages.in: Ditto.
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::webProcessDataStoreParameters): Removed
plugInAutoStartOriginHashes.
(WebKit::WebProcessPool::initializeNewWebProcess): Removed
plugInAutoStartOrigins and pluginLoadClientPolicies.
(WebKit::WebProcessPool::plugInAutoStartOriginHashes const): Deleted.
(WebKit::WebProcessPool::setPlugInAutoStartOriginHashes): Deleted.
(WebKit::WebProcessPool::setPlugInAutoStartOrigins): Deleted.
(WebKit::WebProcessPool::setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime): Deleted.
(WebKit::WebProcessPool::setPluginLoadClientPolicy): Deleted.
(WebKit::WebProcessPool::resetPluginLoadClientPolicies): Deleted.
(WebKit::WebProcessPool::clearPluginClientPolicies): Deleted.

  • UIProcess/WebProcessPool.h: Removed setPluginLoadClientPolicy,

resetPluginLoadClientPolicies, clearPluginClientPolicies,
pluginLoadClientPolicies, plugInAutoStartOriginHashes,
setPlugInAutoStartOriginHashes, setPlugInAutoStartOrigins,
setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime,
plugInAutoStartProvider, m_plugInAutoStartProvider, and
m_pluginLoadClientPolicies.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addPlugInAutoStartOriginHash): Deleted.
(WebKit::WebProcessProxy::plugInDidReceiveUserInteraction): Deleted.

  • UIProcess/WebProcessProxy.h: Ditto.
  • UIProcess/WebProcessProxy.messages.in: Ditto.
  • WebKit.xcodeproj/project.pbxproj: Removed PlugInAutoStartProvider.cpp/h

and WebPlugInClient.cpp/h.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:

Removed include of RenderSnapshottedPlugIn.h.

  • WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:

(WebKit::PluginProxy::pluginLayer): Removed code to handle
m_isRestartedProcess.

  • WebProcess/Plugins/PDF/PDFPlugin.h: Removed shouldAlwaysAutoStart.
  • WebProcess/Plugins/Plugin.h: Ditto.
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::create): Removed isRestartedProcess argument.
(WebKit::PluginProxy::PluginProxy): Ditto. Also moved initialization
to the class definition.

  • WebProcess/Plugins/PluginProxy.h: Updated for the above changes.
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::PluginView): Removed m_pluginSnapshotTimer.
(WebKit::PluginView::recreateAndInitialize): Removed code to manage
m_pluginSnapshotTimer.
(WebKit::PluginView::initializePlugin): Removed code to set
m_didPlugInStartOffScreen.
(WebKit::PluginView::didInitializePlugin): Removed code to handle
restarting plug-ins.
(WebKit::PluginView::paint): Ditto.
(WebKit::PluginView::handleEvent): Removed calls to
pluginDidReceiveUserInteraction.
(WebKit::PluginView::shouldNotAddLayer const): Return false.
(WebKit::PluginView::invalidateRect): Removed code to handle
restarting plug-ins.
(WebKit::PluginView::isAcceleratedCompositingEnabled): Removed
some Flash-specific code.
(WebKit::isAlmostSolidColor): Deleted.
(WebKit::PluginView::pluginSnapshotTimerFired): Deleted.
(WebKit::PluginView::beginSnapshottingRunningPlugin): Deleted.
(WebKit::PluginView::shouldAlwaysAutoStart const): Deleted.
(WebKit::PluginView::pluginDidReceiveUserInteraction): Deleted.

  • WebProcess/Plugins/PluginView.h: Removed pluginSnapshotTimerFired,

pluginDidReceiveUserInteraction, shouldAlwaysAutoStart,
beginSnapshottingRunningPlugin, m_didPlugInStartOffScreen,
m_pluginSnapshotTimer, m_countSnapshotRetries, m_didReceiveUserInteraction.

  • WebProcess/Plugins/WebPluginInfoProvider.cpp:

(WebKit::WebPluginInfoProvider::setPluginLoadClientPolicy): Deleted.
(WebKit::WebPluginInfoProvider::clearPluginClientPolicies): Deleted.
(WebKit::WebPluginInfoProvider::populatePluginCache): Do not call
pluginLoadClientPolicyForHost.
(WebKit::WebPluginInfoProvider::pluginLoadClientPolicyForHost const): Deleted.
(WebKit::WebPluginInfoProvider::longestMatchedWildcardHostForHost const): Deleted.
(WebKit::WebPluginInfoProvider::replaceHostWithMatchedWildcardHost const): Deleted.

  • WebProcess/Plugins/WebPluginInfoProvider.h: Removed setPluginLoadClientPolicy,

clearPluginClientPolicies, pluginLoadClientPolicyForHost,
longestMatchedWildcardHostForHost, replaceHostWithMatchedWildcardHost,
PluginLoadClientPoliciesByBundleVersion, PluginPolicyMapsByIdentifier, and
m_hostsToPluginIdentifierData.

  • WebProcess/WebCoreSupport/WebPlugInClient.cpp: Removed.
  • WebProcess/WebCoreSupport/WebPlugInClient.h: Removed.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Removed code to initialize
m_determinePrimarySnapshottedPlugInTimer, plugInClient, and processType.
(WebKit::WebPage::createPlugin): Removed isRestartedProcess.
(WebKit::WebPage::close): Removed m_determinePrimarySnapshottedPlugInTimer code.
(WebKit::WebPage::addPluginView): Ditto.
(WebKit::WebPage::removePluginView): Ditto.
(WebKit::WebPage::canPluginHandleResponse): Removed plug-in process type.
(WebKit::WebPage::didCommitLoad): Removed call to resetPrimarySnapshottedPlugIn.
(WebKit::WebPage::didFinishLoad): Removed m_determinePrimarySnapshottedPlugInTimer
code.
(WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired): Deleted.
(WebKit::WebPage::determinePrimarySnapshottedPlugIn): Deleted.
(WebKit::WebPage::resetPrimarySnapshottedPlugIn): Deleted.
(WebKit::WebPage::matchesPrimaryPlugIn const): Deleted.
(WebKit::WebPage::plugInIntersectsSearchRect): Deleted.
(WebKit::WebPage::plugInIsPrimarySize): Deleted.

  • WebProcess/WebPage/WebPage.h: Removed determinePrimarySnapshottedPlugIn,

determinePrimarySnapshottedPlugInTimerFired, resetPrimarySnapshottedPlugIn,
matchesPrimaryPlugIn, plugInIntersectsSearchRect, plugInIsPrimarySize,
m_readyToFindPrimarySnapshottedPlugin, m_didFindPrimarySnapshottedPlugin,
m_numberOfPrimarySnapshotDetectionAttempts, m_primaryPlugInPageOrigin,
m_primaryPlugInOrigin, m_primaryPlugInMimeType, and
m_determinePrimarySnapshottedPlugInTimer.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Removed code to set
m_plugInAutoStartOrigins and call to resetPluginLoadClientPolicies.
(WebKit::WebProcess::setWebsiteDataStoreParameters): Removed call
to resetPlugInAutoStartOriginHashes.
(WebKit::addCaseFoldedCharacters): Deleted.
(WebKit::hashForPlugInOrigin): Deleted.
(WebKit::WebProcess::isPlugInAutoStartOriginHash): Deleted.
(WebKit::WebProcess::shouldPlugInAutoStartFromOrigin): Deleted.
(WebKit::WebProcess::plugInDidStartFromOrigin): Deleted.
(WebKit::WebProcess::didAddPlugInAutoStartOriginHash): Deleted.
(WebKit::WebProcess::resetPlugInAutoStartOriginHashes): Deleted.
(WebKit::WebProcess::plugInDidReceiveUserInteraction): Deleted.
(WebKit::WebProcess::setPluginLoadClientPolicy): Deleted.
(WebKit::WebProcess::resetPluginLoadClientPolicies): Deleted.
(WebKit::WebProcess::clearPluginClientPolicies): Deleted.

  • WebProcess/WebProcess.h: Removed shouldPlugInAutoStartFromOrigin,

plugInDidStartFromOrigin, plugInDidReceiveUserInteraction,
setPluginLoadClientPolicy, resetPluginLoadClientPolicies,
clearPluginClientPolicies, isPlugInAutoStartOriginHash,
didAddPlugInAutoStartOriginHash, resetPlugInAutoStartOriginHashes,
m_plugInAutoStartOriginHashes, and m_plugInAutoStartOrigins.

  • WebProcess/WebProcess.messages.in: Removed

DidAddPlugInAutoStartOriginHash, ResetPlugInAutoStartOriginHashes,
SetPluginLoadClientPolicy, ResetPluginLoadClientPolicies, and
ClearPluginClientPolicies.

Source/WebKitLegacy/mac:

  • WebView/WebPreferences.mm:

(-[WebPreferences plugInSnapshottingEnabled]): Return NO.
(-[WebPreferences setPlugInSnapshottingEnabled:]): Do nothing.

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml: Removed

AutostartOriginPlugInSnapshottingEnabled, PlugInSnapshottingEnabled,
PrimaryPlugInSnapshotDetectionEnabled, and SnapshotAllPlugIns.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Removed

PluginLoadClientPolicies.mm.

  • TestWebKitAPI/Tests/WebKitCocoa/PluginLoadClientPolicies.mm: Removed.

This tested a feature that is now removed.

LayoutTests:

  • http/tests/plugins/plugin-allow-then-reload-expected.txt: Removed.
  • http/tests/plugins/plugin-allow-then-reload.html: Removed.

This was testing a behavior that's no longer supported, blocking a plug-in so
completely that it doesn't show up in the plug-in list.

  • platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:

Updated for progression.

  • platform/mac-wk1/TestExpectations: Removed snapshotting expectations.
  • platform/mac-wk2/TestExpectations: Ditto.
  • platform/win/TestExpectations: Ditto.
  • platform/wincairo/TestExpectations: Ditto.
  • platform/mac-wk2/plugins/snapshotting: Removed.
  • plugins/snapshotting: Removed.
9:46 AM Changeset in webkit [269784] by weinig@apple.com
  • 68 edits in trunk

Cleanup InternalSettings
https://bugs.webkit.org/show_bug.cgi?id=218881

Reviewed by Darin Adler.

Source/WebCore:

Cleanup InternalSettings by removing all the functions that duplicated functionality
already implemented by InternalSettingsGenerated, sorting the remaining functions by
setting class, and replacing string parameters with proper IDL enums.

  • testing/InternalSettings.cpp:
  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Remove duplicate functions and add enums for EditingBehavior, PDFImageCachingPolicy,
StorageBlockingPolicy, SystemLayoutDirection, TrackKind, and UserInterfaceDirectionPolicy.
Most of these map directly to existing WebCore enums (and FontLoadTimingOverride was easily
updated to match the WebCore enum), but new enums were needed for EditingBehavior, PDFImageCachingPolicy
and StorageBlockingPolicy to keep existing tests working. The UserInterfaceDirectionPolicy enum
is different than what the tests expect (tests used "View" rather then "System") but were updated
to match.

  • testing/Internals.cpp:

(WebCore::Internals::Internals):
(WebCore::Internals::setMediaCaptureRequiresSecureConnection): Deleted.

  • testing/Internals.h:

Remove now unused function setMediaCaptureRequiresSecureConnection. This should
be done by the test runner or individual tests as needed.

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::setAllowsAnySSLCertificate):
Switch to calling DeprecatedGlobalSettings directly rather than hopping
through InternalSettings. This allows us to remove the InternalSettings
function.

LayoutTests:

Update tests to work with update InternalSettings related enum values.

  • Platforms passed to internals.settings.setEditingBehavior now must be all lowercase.
  • The value "View" has been renamed to "System" for internals.settings.setUserInterfaceDirectionPolicy
  • editing/mac/selection/double-click-and-drag-over-anchor-to-select.html:
  • editing/selection/shift-click-includes-existing-selection.html:
  • editing/selection/user-select-all-with-shift-expected.txt:
  • editing/selection/user-select-all-with-shift.html:
  • fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-2-expected.html:
  • fast/scrolling/rtl-scrollbars-alternate-iframe-body-dir-attr-does-not-update-scrollbar-placement-expected.html:
  • fast/scrolling/rtl-scrollbars-animation-property.html:
  • fast/scrolling/rtl-scrollbars-elementFromPoint-static.html:
  • fast/scrolling/rtl-scrollbars-elementFromPoint.html:
  • fast/scrolling/rtl-scrollbars-expected.html:
  • fast/scrolling/rtl-scrollbars-iframe-offset-expected.html:
  • fast/scrolling/rtl-scrollbars-iframe-offset.html:
  • fast/scrolling/rtl-scrollbars-iframe-position-absolute.html:
  • fast/scrolling/rtl-scrollbars-iframe-scrolled-expected.html:
  • fast/scrolling/rtl-scrollbars-iframe-scrolled.html:
  • fast/scrolling/rtl-scrollbars-iframe.html:
  • fast/scrolling/rtl-scrollbars-listbox-scroll-expected.html:
  • fast/scrolling/rtl-scrollbars-listbox-scroll.html:
  • fast/scrolling/rtl-scrollbars-listbox-select-left-expected.html:
  • fast/scrolling/rtl-scrollbars-listbox-select-left.html:
  • fast/scrolling/rtl-scrollbars-listbox-select-right-expected.html:
  • fast/scrolling/rtl-scrollbars-listbox-select-right.html:
  • fast/scrolling/rtl-scrollbars-listbox-simple.html:
  • fast/scrolling/rtl-scrollbars-listbox.html:
  • fast/scrolling/rtl-scrollbars-overflow-contents.html:
  • fast/scrolling/rtl-scrollbars-overflow-dir-rtl.html:
  • fast/scrolling/rtl-scrollbars-overflow-elementFromPoint.html:
  • fast/scrolling/rtl-scrollbars-overflow-expected.html:
  • fast/scrolling/rtl-scrollbars-overflow-padding.html:
  • fast/scrolling/rtl-scrollbars-overflow-position-absolute-expected.html:
  • fast/scrolling/rtl-scrollbars-overflow-position-absolute.html:
  • fast/scrolling/rtl-scrollbars-overflow-simple.html:
  • fast/scrolling/rtl-scrollbars-overflow-text-selection-scrolled.html:
  • fast/scrolling/rtl-scrollbars-overflow.html:
  • fast/scrolling/rtl-scrollbars-overlay-no-push-contents-expected.html:
  • fast/scrolling/rtl-scrollbars-overlay-no-push-contents.html:
  • fast/scrolling/rtl-scrollbars-position-absolute-expected.html:
  • fast/scrolling/rtl-scrollbars-position-absolute.html:
  • fast/scrolling/rtl-scrollbars-position-fixed-expected.html:
  • fast/scrolling/rtl-scrollbars-position-fixed.html:
  • fast/scrolling/rtl-scrollbars-positioning-expected.html:
  • fast/scrolling/rtl-scrollbars-positioning.html:
  • fast/scrolling/rtl-scrollbars-simple.html:
  • fast/scrolling/rtl-scrollbars-sticky-document-2-expected.html:
  • fast/scrolling/rtl-scrollbars-sticky-document-2.html:
  • fast/scrolling/rtl-scrollbars-sticky-document-expected.html:
  • fast/scrolling/rtl-scrollbars-sticky-document.html:
  • fast/scrolling/rtl-scrollbars-sticky-iframe-2-expected.html:
  • fast/scrolling/rtl-scrollbars-sticky-iframe-2.html:
  • fast/scrolling/rtl-scrollbars-sticky-iframe-expected.html:
  • fast/scrolling/rtl-scrollbars-sticky-iframe.html:
  • fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-2-expected.html:
  • fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-2.html:
  • fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-expected.html:
  • fast/scrolling/rtl-scrollbars-sticky-overflow-scroll.html:
  • fast/scrolling/rtl-scrollbars-text-selection-expected.html:
  • fast/scrolling/rtl-scrollbars-text-selection-scrolled-expected.html:
  • fast/scrolling/rtl-scrollbars-text-selection-scrolled.html:
  • fast/scrolling/rtl-scrollbars-text-selection.html:
  • fast/scrolling/rtl-scrollbars.html:
9:44 AM Changeset in webkit [269783] by Adrian Perez de Castro
  • 5 edits in releases/WebKitGTK/webkit-2.30/Source/JavaScriptCore

Merge r265891 - B3 IntRange is incorrect for negative masks
https://bugs.webkit.org/show_bug.cgi?id=215536
<rdar://problem/67130430>

Reviewed by Michael Saboff and Robin Morisset.

In the B3 ReduceStrength phase, we compute rangeForMask as (0, mask). This is correct for
positive values, but incorrect when negative. To fix it, we use (INT_MIN & mask, INT_MAX & mask)
as the range for negative masks.

  • b3/B3ReduceStrength.cpp:
  • b3/testb3.h:
  • b3/testb3_1.cpp:

(run):

  • b3/testb3_5.cpp:

(testCheckSubBitAnd):

9:22 AM Changeset in webkit [269782] by youenn@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Remote encoder should set its encoder frame callback to nullptr when being released
https://bugs.webkit.org/show_bug.cgi?id=218906

Reviewed by Eric Carlson.

  • Source/webrtc/sdk/WebKit/WebKitEncoder.mm:

(webrtc::RemoteVideoEncoder::Release):
We need to reset the callback at Release call time so that WebKit will take a lock to set it back to null.
That way, we ensure to not call this callback while libwebrtc expects not to be called.

9:21 AM Changeset in webkit [269781] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Use python3 to run transfer-to-s3 script
https://bugs.webkit.org/show_bug.cgi?id=218904

Reviewed by Jonathan Bedard.

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

(TransferToS3.start):

8:46 AM Changeset in webkit [269780] by Simon Fraser
  • 15 edits
    8 adds in trunk

Force wheel event listeners on the root to be passive
https://bugs.webkit.org/show_bug.cgi?id=218842
<rdar://problem/71312668>

Reviewed by Chris Dumez.

Following Blink (https://www.chromestatus.com/feature/6662647093133312) force 'wheel' and
'mousewheel' event listeners on root objects (window, document and body) to be passive if
they were not explicitly registered as non-passive.

This behavior is controlled by an experimental feature flag, and a linked-on-or-after check
to avoid changing behavior for apps that embed WebKit until they link against new SDKs.

Source/WebCore:

Tests: fast/events/wheel/wheel-event-listeners-on-body-made-passive.html

fast/events/wheel/wheel-event-listeners-on-document-made-passive.html
fast/events/wheel/wheel-event-listeners-on-window-left-active.html
fast/events/wheel/wheel-event-listeners-on-window-made-passive.html

  • page/Quirks.cpp:

(WebCore::Quirks::shouldMakeEventListenerPassive):

  • platform/cocoa/VersionChecks.h:

Source/WebKit:

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultCSSOMViewScrollingAPIEnabled):
(WebKit::defaultPassiveWheelListenersAsDefaultOnDocument):

  • Shared/WebPreferencesDefaultValues.h:

Source/WebKitLegacy/mac:

  • WebView/WebPreferencesDefaultValues.h:
  • WebView/WebPreferencesDefaultValues.mm:

(WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
(WebKit::defaultPassiveWheelListenersAsDefaultOnDocument):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

  • fast/events/wheel/wheel-event-listeners-on-body-made-passive-expected.txt: Added.
  • fast/events/wheel/wheel-event-listeners-on-body-made-passive.html: Added.
  • fast/events/wheel/wheel-event-listeners-on-document-made-passive-expected.txt: Added.
  • fast/events/wheel/wheel-event-listeners-on-document-made-passive.html: Added.
  • fast/events/wheel/wheel-event-listeners-on-window-left-active-expected.txt: Added.
  • fast/events/wheel/wheel-event-listeners-on-window-left-active.html: Added.
  • fast/events/wheel/wheel-event-listeners-on-window-made-passive-expected.txt: Added.
  • fast/events/wheel/wheel-event-listeners-on-window-made-passive.html: Added.
8:08 AM Changeset in webkit [269779] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Tighten inline-block coverage conditions
https://bugs.webkit.org/show_bug.cgi?id=218901

Reviewed by Zalan Bujtas.

The current ones allow some non-inline-blocks.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):

8:04 AM Changeset in webkit [269778] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Crash in ReplaceSelectionCommand::moveNodeOutOfAncestor
https://bugs.webkit.org/show_bug.cgi?id=218878

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2020-11-13
Reviewed by Alex Christensen.

Source/WebCore:

Add a missing null check inside moveNodeOutOfAncestor, as splitTreeToNode()
can return nullptr.

Test: editing/execCommand/crash-deleting-after-inserting-text-horizontal-rule.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::moveNodeOutOfAncestor):

LayoutTests:

Add simple test that selects elements, and using execCommand() inserts text
and a horizontal rule, and performs a deletion.

  • editing/execCommand/crash-deleting-after-inserting-text-horizontal-rule-expected.txt: Added.
  • editing/execCommand/crash-deleting-after-inserting-text-horizontal-rule.html: Added.
8:01 AM Changeset in webkit [269777] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebKit

Add _STAttributionDisplayName to macOS WebContent Info.plist
https://bugs.webkit.org/show_bug.cgi?id=218900

Reviewed by Youenn Fablet.

  • WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-OSX.plist:
8:00 AM Changeset in webkit [269776] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null check anchorNode of endingSelection start
https://bugs.webkit.org/show_bug.cgi?id=218492

Patch by Rob Buis <rbuis@igalia.com> on 2020-11-13
Reviewed by Alex Christensen.

Source/WebCore:

Null check anchorNode of endingSelection start.

Test: editing/deleting/delete-contenteditable-crash.html

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::mergeParagraphs):

LayoutTests:

Add testcase.

  • editing/deleting/delete-contenteditable-crash-expected.txt: Added.
  • editing/deleting/delete-contenteditable-crash.html: Added.
7:30 AM Changeset in webkit [269775] by Aditya Keerthi
  • 11 edits
    1 add in trunk/Source

[iOS][FCR] Add an internal feature flag to enable the new appearance
https://bugs.webkit.org/show_bug.cgi?id=218873
<rdar://problem/71345270>

Reviewed by Tim Horton.

Source/WebCore:

Add a feature flag for the iOS form control refresh, so that the
feature can be tested.

A new user-agent stylesheet is introduced for the refresh so that
the new styles can be opted in to at runtime. Only styles which
differ from the existing stylesheet will be added to the new one.

  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • css/iOSFormControlRefresh.css: Added.
  • style/InspectorCSSOMWrappers.cpp:

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

  • style/UserAgentStyle.cpp:

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

  • style/UserAgentStyle.h:

Source/WTF:

Enable the feature at build time on PLATFORM(IOS_FAMILY) and disable
the feature at runtime.

  • Scripts/Preferences/WebPreferencesInternal.yaml:
  • wtf/PlatformEnable.h:
  • wtf/PlatformEnableCocoa.h:
6:32 AM Changeset in webkit [269774] by graouts@webkit.org
  • 6 edits in trunk

Support more properties on ::marker
https://bugs.webkit.org/show_bug.cgi?id=218894
<rdar://problem/71368343>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Mark some WPT progressions.

  • web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-expected.txt:

Source/WebCore:

In preparation for the support of animations on ::marker and other pseudo-elements, we add support for animation and transition
properties and add more rules to the user-agent stylesheet as defined by https://drafts.csswg.org/css-lists-3/#marker-properties.

  • css/html.css:

(::marker):

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::computeMarkerStyle const):

  • style/PropertyCascade.cpp:

(WebCore::Style::isValidMarkerStyleProperty):

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

[LFC][Integration] Add initial bidi support
https://bugs.webkit.org/show_bug.cgi?id=218884

Reviewed by Antti Koivisto.

In this patch, we introduce the Bidi Run and the Iterator and use the BidiResolver to compute
the bidi boundaries.
Currently only single direction content is passed in to the BidiResolver which meas that we always
end up with one and only one Bidi run.

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::Iterator::offset const):
(WebCore::LayoutIntegration::Iterator::currentRun const):
(WebCore::LayoutIntegration::Iterator::runOffset const):
(WebCore::LayoutIntegration::Iterator::operator== const):
(WebCore::LayoutIntegration::Iterator::operator!= const):
(WebCore::LayoutIntegration::Iterator::atEnd const):
(WebCore::LayoutIntegration::Iterator::Iterator):
(WebCore::LayoutIntegration::Iterator::direction const):
(WebCore::LayoutIntegration::Iterator::increment):
(WebCore::LayoutIntegration::BidiRun::start const):
(WebCore::LayoutIntegration::BidiRun::end const):
(WebCore::LayoutIntegration::BidiRun::level const):
(WebCore::LayoutIntegration::BidiRun::next const):
(WebCore::LayoutIntegration::BidiRun::setNext):
(WebCore::LayoutIntegration::BidiRun::takeNext):
(WebCore::LayoutIntegration::BidiRun::BidiRun):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):

5:12 AM Changeset in webkit [269772] by magomez@igalia.com
  • 9 edits in trunk

[GTK][WPE] CSS backdrop overlay corners are not rounded on results.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=215445

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Pass the backdropFiltersRect from CoordinatedGraphicsLayer through Nicosia to TextureMapperLayer. The
latter will use this value to clip when painting the backdrop layer.

Based on a patch created by Carlos Garcia Campos <cgarcia@igalia.com>.

  • platform/graphics/nicosia/NicosiaPlatformLayer.h:

(Nicosia::CompositionLayer::flushState):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintSelfAndChildren):
(WebCore::TextureMapperLayer::setBackdropFiltersRect):

  • platform/graphics/texmap/TextureMapperLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setBackdropFilters):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):

Source/WebKit:

Pass the backdropFiltersRect from the state to TextureMapperLayer.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::updateSceneState):

LayoutTests:

Update expectations for passing tests.

  • platform/glib/TestExpectations:
4:41 AM Changeset in webkit [269771] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Remove SecItemShim.dylib from network service link
https://bugs.webkit.org/show_bug.cgi?id=218892

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-11-13
Reviewed by Antti Koivisto.

Fixes a build failure after
https://bugs.webkit.org/show_bug.cgi?id=218862

  • Configurations/NetworkService.xcconfig:
4:18 AM Changeset in webkit [269770] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][Integration] Minor rename and cleanup in InlineContentBuilder
https://bugs.webkit.org/show_bug.cgi?id=218883

Reviewed by Antti Koivisto.

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::build const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
(WebCore::LayoutIntegration::InlineContentBuilder::constructDisplayLineRuns const): Deleted.
(WebCore::LayoutIntegration::InlineContentBuilder::constructDisplayLines const): Deleted.

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

(WebCore::LayoutIntegration::LineLayout::constructContent):

4:07 AM Changeset in webkit [269769] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Decouple box and text run construction
https://bugs.webkit.org/show_bug.cgi?id=218882

Reviewed by Antti Koivisto.

This is in preparation for adding bidi support where we may need to split a run on bidi boundaries.

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::constructDisplayLineRuns const):

1:53 AM Changeset in webkit [269768] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

Remove uses of MakeCurrent from WebGL implementation
https://bugs.webkit.org/show_bug.cgi?id=218178
<rdar://problem/70714561>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-11-13
Reviewed by Dean Jackson.

Work towards WebGL implementation which uses
GraphicsContextGL abstract base class instead of
GraphicsContextGLOpenGL concrete class.

Move GraphicsContextGLOpenGL::makeContextCurrent() to
private section, as it is an implementation detail of
the class. The function is intended to be called at the
start of all public functions that might call into OpenGL
to ensure that OpenGL uses the right context.

Check all return values of makeCurrentContext(). We
should not call into OpenGL if the context is not current,
as that can lead to corruption, crashes or incorrect results.
Add a compile-time warning if the return value is not used.
Non-EWS compiled flavors of GraphicsContextGLOpenGL are changed
only in best effort manner.

Ensure that all functions actually call the makeCurrentContext()
function before calling into OpenGL. Non-ANGLE flavors of
GraphicsContextGLOpenGL are ensured only in best effort manner.

ANGLE flavor of GraphicsContextGLOpenGL function implementations
should call directly the ANGLE functions instead of calling them
through getExtensions() interface. There is no conditional code
inside and the implementation knows exactly which function to
call in all situations. There is no abstraction between
GraphicsContextGLOpenGL and ExtensionsGL, rather they are
in practice the same object currently, semi-artificially split to
two. This is true of other flavors of GraphicsContextGLOpenGL,
but those are left unchanged in this regard.

No new tests, a refactor.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::create):
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::validateElementArraySize):
(WebCore::WebGLRenderingContextBase::validateIndexArrayPrecise):
(WebCore::WebGLRenderingContextBase::validateDrawElements):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::vertexAttribfvImpl):
(WebCore::WebGLRenderingContextBase::initVertexAttrib0):

  • platform/graphics/angle/ExtensionsGLANGLE.cpp:

(WebCore::ExtensionsGLANGLE::supports):
(WebCore::ExtensionsGLANGLE::ensureEnabled):
(WebCore::ExtensionsGLANGLE::getTranslatedShaderSourceANGLE):
(WebCore::ExtensionsGLANGLE::blitFramebuffer):
(WebCore::ExtensionsGLANGLE::renderbufferStorageMultisample):
(WebCore::ExtensionsGLANGLE::createVertexArrayOES):
(WebCore::ExtensionsGLANGLE::deleteVertexArrayOES):
(WebCore::ExtensionsGLANGLE::isVertexArrayOES):
(WebCore::ExtensionsGLANGLE::bindVertexArrayOES):
(WebCore::ExtensionsGLANGLE::drawBuffersEXT):
(WebCore::ExtensionsGLANGLE::drawArraysInstanced):
(WebCore::ExtensionsGLANGLE::drawElementsInstanced):
(WebCore::ExtensionsGLANGLE::vertexAttribDivisor):
(WebCore::ExtensionsGLANGLE::getBooleanvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getBufferParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getFloatvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getFramebufferAttachmentParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getIntegervRobustANGLE):
(WebCore::ExtensionsGLANGLE::getProgramivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getRenderbufferParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getShaderivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexParameterfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getUniformfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getUniformivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getVertexAttribfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getVertexAttribivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getVertexAttribPointervRobustANGLE):
(WebCore::ExtensionsGLANGLE::readPixelsRobustANGLE):
(WebCore::ExtensionsGLANGLE::texImage2DRobustANGLE):
(WebCore::ExtensionsGLANGLE::texParameterfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::texParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::texSubImage2DRobustANGLE):
(WebCore::ExtensionsGLANGLE::compressedTexImage2DRobustANGLE):
(WebCore::ExtensionsGLANGLE::compressedTexSubImage2DRobustANGLE):
(WebCore::ExtensionsGLANGLE::compressedTexImage3DRobustANGLE):
(WebCore::ExtensionsGLANGLE::compressedTexSubImage3DRobustANGLE):
(WebCore::ExtensionsGLANGLE::texImage3DRobustANGLE):
(WebCore::ExtensionsGLANGLE::texSubImage3DRobustANGLE):
(WebCore::ExtensionsGLANGLE::getQueryivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getQueryObjectuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getBufferPointervRobustANGLE):
(WebCore::ExtensionsGLANGLE::getIntegeri_vRobustANGLE):
(WebCore::ExtensionsGLANGLE::getInternalformativRobustANGLE):
(WebCore::ExtensionsGLANGLE::getVertexAttribIivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getVertexAttribIuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getUniformuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getActiveUniformBlockivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getInteger64vRobustANGLE):
(WebCore::ExtensionsGLANGLE::getInteger64i_vRobustANGLE):
(WebCore::ExtensionsGLANGLE::getBufferParameteri64vRobustANGLE):
(WebCore::ExtensionsGLANGLE::samplerParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::samplerParameterfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getSamplerParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getSamplerParameterfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getFramebufferParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getProgramInterfaceivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getBooleani_vRobustANGLE):
(WebCore::ExtensionsGLANGLE::getMultisamplefvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexLevelParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexLevelParameterfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getPointervRobustANGLERobustANGLE):
(WebCore::ExtensionsGLANGLE::readnPixelsRobustANGLE):
(WebCore::ExtensionsGLANGLE::getnUniformfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getnUniformivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getnUniformuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::texParameterIivRobustANGLE):
(WebCore::ExtensionsGLANGLE::texParameterIuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexParameterIivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexParameterIuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::samplerParameterIivRobustANGLE):
(WebCore::ExtensionsGLANGLE::samplerParameterIuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getSamplerParameterIivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getSamplerParameterIuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getQueryObjectivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getQueryObjecti64vRobustANGLE):
(WebCore::ExtensionsGLANGLE::getQueryObjectui64vRobustANGLE):

  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
(WebCore::GraphicsContextGLOpenGL::renderbufferStorage):
(WebCore::GraphicsContextGLOpenGL::getIntegerv):
(WebCore::GraphicsContextGLOpenGL::getIntegeri_v):
(WebCore::GraphicsContextGLOpenGL::getShaderPrecisionFormat):
(WebCore::GraphicsContextGLOpenGL::depthRange):
(WebCore::GraphicsContextGLOpenGL::clearDepth):
(WebCore::GraphicsContextGLOpenGL::readPixels):
(WebCore::GraphicsContextGLOpenGL::prepareTexture):
(WebCore::GraphicsContextGLOpenGL::readRenderingResults):
(WebCore::GraphicsContextGLOpenGL::reshape):
(WebCore::GraphicsContextGLOpenGL::activeTexture):
(WebCore::GraphicsContextGLOpenGL::attachShader):
(WebCore::GraphicsContextGLOpenGL::bindAttribLocation):
(WebCore::GraphicsContextGLOpenGL::bindBuffer):
(WebCore::GraphicsContextGLOpenGL::bindFramebuffer):
(WebCore::GraphicsContextGLOpenGL::bindRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::bindTexture):
(WebCore::GraphicsContextGLOpenGL::blendColor):
(WebCore::GraphicsContextGLOpenGL::blendEquation):
(WebCore::GraphicsContextGLOpenGL::blendEquationSeparate):
(WebCore::GraphicsContextGLOpenGL::blendFunc):
(WebCore::GraphicsContextGLOpenGL::blendFuncSeparate):
(WebCore::GraphicsContextGLOpenGL::bufferData):
(WebCore::GraphicsContextGLOpenGL::bufferSubData):
(WebCore::GraphicsContextGLOpenGL::mapBufferRange):
(WebCore::GraphicsContextGLOpenGL::unmapBuffer):
(WebCore::GraphicsContextGLOpenGL::copyBufferSubData):
(WebCore::GraphicsContextGLOpenGL::getInternalformativ):
(WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample):
(WebCore::GraphicsContextGLOpenGL::texStorage2D):
(WebCore::GraphicsContextGLOpenGL::texStorage3D):
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms):
(WebCore::GraphicsContextGLOpenGL::checkFramebufferStatus):
(WebCore::GraphicsContextGLOpenGL::clearColor):
(WebCore::GraphicsContextGLOpenGL::clear):
(WebCore::GraphicsContextGLOpenGL::clearStencil):
(WebCore::GraphicsContextGLOpenGL::colorMask):
(WebCore::GraphicsContextGLOpenGL::compileShader):
(WebCore::GraphicsContextGLOpenGL::compileShaderDirect):
(WebCore::GraphicsContextGLOpenGL::copyTexImage2D):
(WebCore::GraphicsContextGLOpenGL::copyTexSubImage2D):
(WebCore::GraphicsContextGLOpenGL::cullFace):
(WebCore::GraphicsContextGLOpenGL::depthFunc):
(WebCore::GraphicsContextGLOpenGL::depthMask):
(WebCore::GraphicsContextGLOpenGL::detachShader):
(WebCore::GraphicsContextGLOpenGL::disable):
(WebCore::GraphicsContextGLOpenGL::disableVertexAttribArray):
(WebCore::GraphicsContextGLOpenGL::drawArrays):
(WebCore::GraphicsContextGLOpenGL::drawElements):
(WebCore::GraphicsContextGLOpenGL::enable):
(WebCore::GraphicsContextGLOpenGL::enableVertexAttribArray):
(WebCore::GraphicsContextGLOpenGL::finish):
(WebCore::GraphicsContextGLOpenGL::flush):
(WebCore::GraphicsContextGLOpenGL::framebufferRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::framebufferTexture2D):
(WebCore::GraphicsContextGLOpenGL::frontFace):
(WebCore::GraphicsContextGLOpenGL::generateMipmap):
(WebCore::GraphicsContextGLOpenGL::getActiveAttribImpl):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformImpl):
(WebCore::GraphicsContextGLOpenGL::getAttachedShaders):
(WebCore::GraphicsContextGLOpenGL::getAttribLocation):
(WebCore::GraphicsContextGLOpenGL::moveErrorsToSyntheticErrorList):
(WebCore::GraphicsContextGLOpenGL::getError):
(WebCore::GraphicsContextGLOpenGL::getString):
(WebCore::GraphicsContextGLOpenGL::hint):
(WebCore::GraphicsContextGLOpenGL::isBuffer):
(WebCore::GraphicsContextGLOpenGL::isEnabled):
(WebCore::GraphicsContextGLOpenGL::isFramebuffer):
(WebCore::GraphicsContextGLOpenGL::isProgram):
(WebCore::GraphicsContextGLOpenGL::isRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::isShader):
(WebCore::GraphicsContextGLOpenGL::isTexture):
(WebCore::GraphicsContextGLOpenGL::lineWidth):
(WebCore::GraphicsContextGLOpenGL::linkProgram):
(WebCore::GraphicsContextGLOpenGL::pixelStorei):
(WebCore::GraphicsContextGLOpenGL::polygonOffset):
(WebCore::GraphicsContextGLOpenGL::sampleCoverage):
(WebCore::GraphicsContextGLOpenGL::scissor):
(WebCore::GraphicsContextGLOpenGL::shaderSource):
(WebCore::GraphicsContextGLOpenGL::stencilFunc):
(WebCore::GraphicsContextGLOpenGL::stencilFuncSeparate):
(WebCore::GraphicsContextGLOpenGL::stencilMask):
(WebCore::GraphicsContextGLOpenGL::stencilMaskSeparate):
(WebCore::GraphicsContextGLOpenGL::stencilOp):
(WebCore::GraphicsContextGLOpenGL::stencilOpSeparate):
(WebCore::GraphicsContextGLOpenGL::texParameterf):
(WebCore::GraphicsContextGLOpenGL::texParameteri):
(WebCore::GraphicsContextGLOpenGL::uniform1f):
(WebCore::GraphicsContextGLOpenGL::uniform1fv):
(WebCore::GraphicsContextGLOpenGL::uniform2f):
(WebCore::GraphicsContextGLOpenGL::uniform2fv):
(WebCore::GraphicsContextGLOpenGL::uniform3f):
(WebCore::GraphicsContextGLOpenGL::uniform3fv):
(WebCore::GraphicsContextGLOpenGL::uniform4f):
(WebCore::GraphicsContextGLOpenGL::uniform4fv):
(WebCore::GraphicsContextGLOpenGL::uniform1i):
(WebCore::GraphicsContextGLOpenGL::uniform1iv):
(WebCore::GraphicsContextGLOpenGL::uniform2i):
(WebCore::GraphicsContextGLOpenGL::uniform2iv):
(WebCore::GraphicsContextGLOpenGL::uniform3i):
(WebCore::GraphicsContextGLOpenGL::uniform3iv):
(WebCore::GraphicsContextGLOpenGL::uniform4i):
(WebCore::GraphicsContextGLOpenGL::uniform4iv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4fv):
(WebCore::GraphicsContextGLOpenGL::useProgram):
(WebCore::GraphicsContextGLOpenGL::validateProgram):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribPointer):
(WebCore::GraphicsContextGLOpenGL::vertexAttribIPointer):
(WebCore::GraphicsContextGLOpenGL::viewport):
(WebCore::GraphicsContextGLOpenGL::createVertexArray):
(WebCore::GraphicsContextGLOpenGL::deleteVertexArray):
(WebCore::GraphicsContextGLOpenGL::isVertexArray):
(WebCore::GraphicsContextGLOpenGL::bindVertexArray):
(WebCore::GraphicsContextGLOpenGL::getBooleanv):
(WebCore::GraphicsContextGLOpenGL::getBufferParameteriv):
(WebCore::GraphicsContextGLOpenGL::getFloatv):
(WebCore::GraphicsContextGLOpenGL::getInteger64v):
(WebCore::GraphicsContextGLOpenGL::getInteger64i_v):
(WebCore::GraphicsContextGLOpenGL::getFramebufferAttachmentParameteriv):
(WebCore::GraphicsContextGLOpenGL::getProgramiv):
(WebCore::GraphicsContextGLOpenGL::getProgramInfoLog):
(WebCore::GraphicsContextGLOpenGL::getRenderbufferParameteriv):
(WebCore::GraphicsContextGLOpenGL::getShaderiv):
(WebCore::GraphicsContextGLOpenGL::getShaderInfoLog):
(WebCore::GraphicsContextGLOpenGL::getTexParameterfv):
(WebCore::GraphicsContextGLOpenGL::getTexParameteriv):
(WebCore::GraphicsContextGLOpenGL::getUniformfv):
(WebCore::GraphicsContextGLOpenGL::getUniformiv):
(WebCore::GraphicsContextGLOpenGL::getUniformuiv):
(WebCore::GraphicsContextGLOpenGL::getUniformLocation):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribfv):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribiv):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribOffset):
(WebCore::GraphicsContextGLOpenGL::texSubImage2D):
(WebCore::GraphicsContextGLOpenGL::compressedTexImage2D):
(WebCore::GraphicsContextGLOpenGL::compressedTexSubImage2D):
(WebCore::GraphicsContextGLOpenGL::createBuffer):
(WebCore::GraphicsContextGLOpenGL::createFramebuffer):
(WebCore::GraphicsContextGLOpenGL::createProgram):
(WebCore::GraphicsContextGLOpenGL::createRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::createShader):
(WebCore::GraphicsContextGLOpenGL::createTexture):
(WebCore::GraphicsContextGLOpenGL::deleteBuffer):
(WebCore::GraphicsContextGLOpenGL::deleteFramebuffer):
(WebCore::GraphicsContextGLOpenGL::deleteProgram):
(WebCore::GraphicsContextGLOpenGL::deleteRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::deleteShader):
(WebCore::GraphicsContextGLOpenGL::deleteTexture):
(WebCore::GraphicsContextGLOpenGL::texImage2DDirect):
(WebCore::GraphicsContextGLOpenGL::drawArraysInstanced):
(WebCore::GraphicsContextGLOpenGL::drawElementsInstanced):
(WebCore::GraphicsContextGLOpenGL::vertexAttribDivisor):
(WebCore::GraphicsContextGLOpenGL::getUniformBlockIndex):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockName):
(WebCore::GraphicsContextGLOpenGL::uniformBlockBinding):
(WebCore::GraphicsContextGLOpenGL::createQuery):
(WebCore::GraphicsContextGLOpenGL::beginQuery):
(WebCore::GraphicsContextGLOpenGL::endQuery):
(WebCore::GraphicsContextGLOpenGL::getQueryObjectuiv):
(WebCore::GraphicsContextGLOpenGL::createTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::deleteTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::isTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::bindTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::beginTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::endTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::transformFeedbackVaryings):
(WebCore::GraphicsContextGLOpenGL::getTransformFeedbackVarying):
(WebCore::GraphicsContextGLOpenGL::bindBufferBase):
(WebCore::GraphicsContextGLOpenGL::blitFramebuffer):
(WebCore::GraphicsContextGLOpenGL::framebufferTextureLayer):
(WebCore::GraphicsContextGLOpenGL::invalidateFramebuffer):
(WebCore::GraphicsContextGLOpenGL::invalidateSubFramebuffer):
(WebCore::GraphicsContextGLOpenGL::readBuffer):
(WebCore::GraphicsContextGLOpenGL::copyTexSubImage3D):
(WebCore::GraphicsContextGLOpenGL::getFragDataLocation):
(WebCore::GraphicsContextGLOpenGL::uniform1ui):
(WebCore::GraphicsContextGLOpenGL::uniform2ui):
(WebCore::GraphicsContextGLOpenGL::uniform3ui):
(WebCore::GraphicsContextGLOpenGL::uniform4ui):
(WebCore::GraphicsContextGLOpenGL::uniform1uiv):
(WebCore::GraphicsContextGLOpenGL::uniform2uiv):
(WebCore::GraphicsContextGLOpenGL::uniform3uiv):
(WebCore::GraphicsContextGLOpenGL::uniform4uiv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x3fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x4fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x4fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x3fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4i):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4iv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4ui):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4uiv):
(WebCore::GraphicsContextGLOpenGL::drawRangeElements):
(WebCore::GraphicsContextGLOpenGL::drawBuffers):
(WebCore::GraphicsContextGLOpenGL::clearBufferiv):
(WebCore::GraphicsContextGLOpenGL::clearBufferuiv):
(WebCore::GraphicsContextGLOpenGL::clearBufferfv):
(WebCore::GraphicsContextGLOpenGL::clearBufferfi):
(WebCore::GraphicsContextGLOpenGL::deleteQuery):
(WebCore::GraphicsContextGLOpenGL::isQuery):
(WebCore::GraphicsContextGLOpenGL::getQuery):
(WebCore::GraphicsContextGLOpenGL::createSampler):
(WebCore::GraphicsContextGLOpenGL::deleteSampler):
(WebCore::GraphicsContextGLOpenGL::isSampler):
(WebCore::GraphicsContextGLOpenGL::bindSampler):
(WebCore::GraphicsContextGLOpenGL::samplerParameteri):
(WebCore::GraphicsContextGLOpenGL::samplerParameterf):
(WebCore::GraphicsContextGLOpenGL::getSamplerParameterfv):
(WebCore::GraphicsContextGLOpenGL::getSamplerParameteriv):
(WebCore::GraphicsContextGLOpenGL::fenceSync):
(WebCore::GraphicsContextGLOpenGL::isSync):
(WebCore::GraphicsContextGLOpenGL::deleteSync):
(WebCore::GraphicsContextGLOpenGL::clientWaitSync):
(WebCore::GraphicsContextGLOpenGL::waitSync):
(WebCore::GraphicsContextGLOpenGL::getSynciv):
(WebCore::GraphicsContextGLOpenGL::pauseTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::resumeTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::bindBufferRange):
(WebCore::GraphicsContextGLOpenGL::getUniformIndices):

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::~GraphicsContextGLOpenGL):
(WebCore::GraphicsContextGLOpenGL::updateCGLContext):

  • platform/graphics/opengl/ExtensionsGLOpenGL.cpp:

(WebCore::ExtensionsGLOpenGL::blitFramebuffer):
(WebCore::ExtensionsGLOpenGL::renderbufferStorageMultisample):
(WebCore::ExtensionsGLOpenGL::createVertexArrayOES):
(WebCore::ExtensionsGLOpenGL::deleteVertexArrayOES):
(WebCore::ExtensionsGLOpenGL::isVertexArrayOES):
(WebCore::ExtensionsGLOpenGL::bindVertexArrayOES):
(WebCore::ExtensionsGLOpenGL::supportsExtension):
(WebCore::ExtensionsGLOpenGL::drawBuffersEXT):
(WebCore::ExtensionsGLOpenGL::drawArraysInstanced):
(WebCore::ExtensionsGLOpenGL::drawElementsInstanced):
(WebCore::ExtensionsGLOpenGL::vertexAttribDivisor):

  • platform/graphics/opengl/ExtensionsGLOpenGLES.cpp:

(WebCore::ExtensionsGLOpenGLES::framebufferTexture2DMultisampleIMG):
(WebCore::ExtensionsGLOpenGLES::renderbufferStorageMultisampleIMG):
(WebCore::ExtensionsGLOpenGLES::renderbufferStorageMultisample):
(WebCore::ExtensionsGLOpenGLES::createVertexArrayOES):
(WebCore::ExtensionsGLOpenGLES::deleteVertexArrayOES):
(WebCore::ExtensionsGLOpenGLES::isVertexArrayOES):
(WebCore::ExtensionsGLOpenGLES::bindVertexArrayOES):
(WebCore::ExtensionsGLOpenGLES::getGraphicsResetStatusARB):
(WebCore::ExtensionsGLOpenGLES::readnPixelsEXT):
(WebCore::ExtensionsGLOpenGLES::getnUniformfvEXT):
(WebCore::ExtensionsGLOpenGLES::getnUniformivEXT):
(WebCore::ExtensionsGLOpenGLES::drawArraysInstanced):
(WebCore::ExtensionsGLOpenGLES::drawElementsInstanced):
(WebCore::ExtensionsGLOpenGLES::vertexAttribDivisor):

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

(WebCore::GraphicsContextGLOpenGL::renderbufferStorage):
(WebCore::GraphicsContextGLOpenGL::getIntegerv):
(WebCore::GraphicsContextGLOpenGL::getShaderPrecisionFormat):
(WebCore::GraphicsContextGLOpenGL::depthRange):
(WebCore::GraphicsContextGLOpenGL::clearDepth):
(WebCore::GraphicsContextGLOpenGL::readPixels):

  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:

(WebCore::GraphicsContextGLOpenGL::prepareTexture):
(WebCore::GraphicsContextGLOpenGL::readRenderingResults):
(WebCore::GraphicsContextGLOpenGL::reshape):
(WebCore::GraphicsContextGLOpenGL::activeTexture):
(WebCore::GraphicsContextGLOpenGL::attachShader):
(WebCore::GraphicsContextGLOpenGL::bindAttribLocation):
(WebCore::GraphicsContextGLOpenGL::bindBuffer):
(WebCore::GraphicsContextGLOpenGL::bindFramebuffer):
(WebCore::GraphicsContextGLOpenGL::bindRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::bindTexture):
(WebCore::GraphicsContextGLOpenGL::blendColor):
(WebCore::GraphicsContextGLOpenGL::blendEquation):
(WebCore::GraphicsContextGLOpenGL::blendEquationSeparate):
(WebCore::GraphicsContextGLOpenGL::blendFunc):
(WebCore::GraphicsContextGLOpenGL::blendFuncSeparate):
(WebCore::GraphicsContextGLOpenGL::bufferData):
(WebCore::GraphicsContextGLOpenGL::bufferSubData):
(WebCore::GraphicsContextGLOpenGL::checkFramebufferStatus):
(WebCore::GraphicsContextGLOpenGL::clearColor):
(WebCore::GraphicsContextGLOpenGL::clear):
(WebCore::GraphicsContextGLOpenGL::clearStencil):
(WebCore::GraphicsContextGLOpenGL::colorMask):
(WebCore::GraphicsContextGLOpenGL::compileShader):
(WebCore::GraphicsContextGLOpenGL::compileShaderDirect):
(WebCore::GraphicsContextGLOpenGL::copyTexImage2D):
(WebCore::GraphicsContextGLOpenGL::copyTexSubImage2D):
(WebCore::GraphicsContextGLOpenGL::cullFace):
(WebCore::GraphicsContextGLOpenGL::depthFunc):
(WebCore::GraphicsContextGLOpenGL::depthMask):
(WebCore::GraphicsContextGLOpenGL::detachShader):
(WebCore::GraphicsContextGLOpenGL::disable):
(WebCore::GraphicsContextGLOpenGL::disableVertexAttribArray):
(WebCore::GraphicsContextGLOpenGL::drawArrays):
(WebCore::GraphicsContextGLOpenGL::drawElements):
(WebCore::GraphicsContextGLOpenGL::enable):
(WebCore::GraphicsContextGLOpenGL::enableVertexAttribArray):
(WebCore::GraphicsContextGLOpenGL::finish):
(WebCore::GraphicsContextGLOpenGL::flush):
(WebCore::GraphicsContextGLOpenGL::framebufferRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::framebufferTexture2D):
(WebCore::GraphicsContextGLOpenGL::frontFace):
(WebCore::GraphicsContextGLOpenGL::generateMipmap):
(WebCore::GraphicsContextGLOpenGL::getActiveAttribImpl):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformImpl):
(WebCore::GraphicsContextGLOpenGL::getAttachedShaders):
(WebCore::GraphicsContextGLOpenGL::getAttribLocation):
(WebCore::GraphicsContextGLOpenGL::getAttribLocationDirect):
(WebCore::GraphicsContextGLOpenGL::moveErrorsToSyntheticErrorList):
(WebCore::GraphicsContextGLOpenGL::getError):
(WebCore::GraphicsContextGLOpenGL::getString):
(WebCore::GraphicsContextGLOpenGL::hint):
(WebCore::GraphicsContextGLOpenGL::isBuffer):
(WebCore::GraphicsContextGLOpenGL::isEnabled):
(WebCore::GraphicsContextGLOpenGL::isFramebuffer):
(WebCore::GraphicsContextGLOpenGL::isProgram):
(WebCore::GraphicsContextGLOpenGL::isRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::isShader):
(WebCore::GraphicsContextGLOpenGL::isTexture):
(WebCore::GraphicsContextGLOpenGL::lineWidth):
(WebCore::GraphicsContextGLOpenGL::linkProgram):
(WebCore::GraphicsContextGLOpenGL::pixelStorei):
(WebCore::GraphicsContextGLOpenGL::polygonOffset):
(WebCore::GraphicsContextGLOpenGL::sampleCoverage):
(WebCore::GraphicsContextGLOpenGL::scissor):
(WebCore::GraphicsContextGLOpenGL::shaderSource):
(WebCore::GraphicsContextGLOpenGL::stencilFunc):
(WebCore::GraphicsContextGLOpenGL::stencilFuncSeparate):
(WebCore::GraphicsContextGLOpenGL::stencilMask):
(WebCore::GraphicsContextGLOpenGL::stencilMaskSeparate):
(WebCore::GraphicsContextGLOpenGL::stencilOp):
(WebCore::GraphicsContextGLOpenGL::stencilOpSeparate):
(WebCore::GraphicsContextGLOpenGL::texParameterf):
(WebCore::GraphicsContextGLOpenGL::texParameteri):
(WebCore::GraphicsContextGLOpenGL::uniform1f):
(WebCore::GraphicsContextGLOpenGL::uniform1fv):
(WebCore::GraphicsContextGLOpenGL::uniform2f):
(WebCore::GraphicsContextGLOpenGL::uniform2fv):
(WebCore::GraphicsContextGLOpenGL::uniform3f):
(WebCore::GraphicsContextGLOpenGL::uniform3fv):
(WebCore::GraphicsContextGLOpenGL::uniform4f):
(WebCore::GraphicsContextGLOpenGL::uniform4fv):
(WebCore::GraphicsContextGLOpenGL::uniform1i):
(WebCore::GraphicsContextGLOpenGL::uniform1iv):
(WebCore::GraphicsContextGLOpenGL::uniform2i):
(WebCore::GraphicsContextGLOpenGL::uniform2iv):
(WebCore::GraphicsContextGLOpenGL::uniform3i):
(WebCore::GraphicsContextGLOpenGL::uniform3iv):
(WebCore::GraphicsContextGLOpenGL::uniform4i):
(WebCore::GraphicsContextGLOpenGL::uniform4iv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4fv):
(WebCore::GraphicsContextGLOpenGL::useProgram):
(WebCore::GraphicsContextGLOpenGL::validateProgram):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribPointer):
(WebCore::GraphicsContextGLOpenGL::viewport):
(WebCore::GraphicsContextGLOpenGL::createVertexArray):
(WebCore::GraphicsContextGLOpenGL::deleteVertexArray):
(WebCore::GraphicsContextGLOpenGL::isVertexArray):
(WebCore::GraphicsContextGLOpenGL::bindVertexArray):
(WebCore::GraphicsContextGLOpenGL::getBooleanv):
(WebCore::GraphicsContextGLOpenGL::getBufferParameteriv):
(WebCore::GraphicsContextGLOpenGL::getFloatv):
(WebCore::GraphicsContextGLOpenGL::getIntegeri_v):
(WebCore::GraphicsContextGLOpenGL::getInteger64v):
(WebCore::GraphicsContextGLOpenGL::getInteger64i_v):
(WebCore::GraphicsContextGLOpenGL::getFramebufferAttachmentParameteriv):
(WebCore::GraphicsContextGLOpenGL::getProgramiv):
(WebCore::GraphicsContextGLOpenGL::getNonBuiltInActiveSymbolCount):
(WebCore::GraphicsContextGLOpenGL::getProgramInfoLog):
(WebCore::GraphicsContextGLOpenGL::getRenderbufferParameteriv):
(WebCore::GraphicsContextGLOpenGL::getShaderiv):
(WebCore::GraphicsContextGLOpenGL::getShaderInfoLog):
(WebCore::GraphicsContextGLOpenGL::getShaderSource):
(WebCore::GraphicsContextGLOpenGL::getTexParameterfv):
(WebCore::GraphicsContextGLOpenGL::getTexParameteriv):
(WebCore::GraphicsContextGLOpenGL::getUniformfv):
(WebCore::GraphicsContextGLOpenGL::getUniformiv):
(WebCore::GraphicsContextGLOpenGL::getUniformLocation):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribfv):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribiv):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribOffset):
(WebCore::GraphicsContextGLOpenGL::texSubImage2D):
(WebCore::GraphicsContextGLOpenGL::compressedTexImage2D):
(WebCore::GraphicsContextGLOpenGL::compressedTexSubImage2D):
(WebCore::GraphicsContextGLOpenGL::createBuffer):
(WebCore::GraphicsContextGLOpenGL::createFramebuffer):
(WebCore::GraphicsContextGLOpenGL::createProgram):
(WebCore::GraphicsContextGLOpenGL::createRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::createShader):
(WebCore::GraphicsContextGLOpenGL::createTexture):
(WebCore::GraphicsContextGLOpenGL::deleteBuffer):
(WebCore::GraphicsContextGLOpenGL::deleteFramebuffer):
(WebCore::GraphicsContextGLOpenGL::deleteProgram):
(WebCore::GraphicsContextGLOpenGL::deleteRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::deleteShader):
(WebCore::GraphicsContextGLOpenGL::deleteTexture):
(WebCore::GraphicsContextGLOpenGL::texImage2DDirect):
(WebCore::GraphicsContextGLOpenGL::primitiveRestartIndex):
(WebCore::GraphicsContextGLOpenGL::copyBufferSubData):
(WebCore::GraphicsContextGLOpenGL::mapBufferRange):
(WebCore::GraphicsContextGLOpenGL::unmapBuffer):
(WebCore::GraphicsContextGLOpenGL::getInternalformativ):
(WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample):
(WebCore::GraphicsContextGLOpenGL::texStorage2D):
(WebCore::GraphicsContextGLOpenGL::texStorage3D):
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms):

  • platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp:

(WebCore::GraphicsContextGLOpenGL::readPixels):
(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
(WebCore::GraphicsContextGLOpenGL::renderbufferStorage):
(WebCore::GraphicsContextGLOpenGL::getIntegerv):
(WebCore::GraphicsContextGLOpenGL::getShaderPrecisionFormat):
(WebCore::GraphicsContextGLOpenGL::depthRange):
(WebCore::GraphicsContextGLOpenGL::clearDepth):
(WebCore::GraphicsContextGLOpenGL::create):
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
(WebCore::GraphicsContextGLOpenGL::~GraphicsContextGLOpenGL):

  • platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:

(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
(WebCore::GraphicsContextGLOpenGL::~GraphicsContextGLOpenGL):

1:31 AM Changeset in webkit [269767] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add Kimmo Kinnunen as committer
https://bugs.webkit.org/show_bug.cgi?id=218888

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-11-13
Reviewed by Antti Koivisto.

  • Scripts/webkitpy/common/config/contributors.json:
12:36 AM Changeset in webkit [269766] by commit-queue@webkit.org
  • 18 edits in trunk/JSTests

WebAssembly: update wabt.js
https://bugs.webkit.org/show_bug.cgi?id=218876

Patch by Sergey Rubanov <Sergey Rubanov> on 2020-11-13
Reviewed by Yusuke Suzuki.

  • wasm/libwabt.js:

(WabtModule): Deleted.

  • wasm/regress/llint-callee-saves-with-fast-memory.js:

(async test):

  • wasm/regress/llint-callee-saves-without-fast-memory.js:

(async test):

  • wasm/regress/regression-with-loop.js:

(async test):

  • wasm/regress/stack-consistency.js:

(async test):

  • wasm/stress/js-wasm-call-many-return-types-on-stack-no-args.js:

(async buildWat):
(async test):
(buildWat): Deleted.

  • wasm/stress/js-wasm-js-varying-arities.js:

(async paramForwarder):
(async test):
(paramForwarder): Deleted.

  • wasm/stress/local-ref.js:

(async test):

  • wasm/stress/loop-more-args-than-results.js:

(async test):

  • wasm/stress/set-local-enclosed-stack.js:

(async test):
(assert.eq.instance.exports.foo): Deleted.
(assert.eq): Deleted.

  • wasm/stress/top-most-enclosing-stack.js:

(async test):

  • wasm/stress/trunc-int-min-minus-one.js:

(async test):

  • wasm/stress/wasm-js-call-many-return-types-on-stack-no-args.js:

(async buildWat):
(async test):
(buildWat): Deleted.

  • wasm/stress/wasm-js-multi-value-exception-in-iterator.js:

(async buildWat):
(async test):
(buildWat.throwError): Deleted.
(buildWat.throwErrorInIterator): Deleted.
(buildWat.tooManyValues): Deleted.
(buildWat.tooFewValues): Deleted.
(buildWat): Deleted.

  • wasm/stress/wasm-wasm-call-indirect-many-return-types-on-stack.js:

(async buildWat):
(async test):
(buildWat): Deleted.

  • wasm/stress/wasm-wasm-call-many-return-types-on-stack-no-args.js:

(async buildWat):
(async test):
(buildWat): Deleted.

  • wasm/wabt-wrapper.js:

(export.async compile):
(export.compile): Deleted.

12:22 AM Changeset in webkit [269765] by magomez@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK][WPE] FilterInfo must cleared when reusing BitmapTextureGL
https://bugs.webkit.org/show_bug.cgi?id=218854

Reviewed by Carlos Garcia Campos.

Clear the FilterInfo attribute when reusing a BitmapTextureGL.

  • platform/graphics/texmap/BitmapTextureGL.cpp:

(WebCore::BitmapTextureGL::didReset):

Nov 12, 2020:

11:20 PM Changeset in webkit [269764] by youenn@apple.com
  • 34 edits
    7 copies
    14 adds in trunk

Add infrastructure for WebRTC transforms
https://bugs.webkit.org/show_bug.cgi?id=218750

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Make sure buffer is owned by the encoded image object.

  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/WebKitEncoder.h:
  • Source/webrtc/sdk/WebKit/WebKitEncoder.mm:

(webrtc::encoderVideoTaskComplete):

Source/WebCore:

Introduce RTCRtpTransform behind a preference.
Add binding code with libwebrtc to be able to process encoded content in sender and receiver sides.
Add a mock transform to validate the infrastructure is working.

Test: webrtc/webrtc-transform.html

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/mediastream/RTCRtpReceiver+Transform.idl: Added.
  • Modules/mediastream/RTCRtpReceiver.cpp:

(WebCore::RTCRtpReceiver::~RTCRtpReceiver):
(WebCore::RTCRtpReceiver::stop):
(WebCore::RTCRtpReceiver::setTransform):

  • Modules/mediastream/RTCRtpReceiver.h:
  • Modules/mediastream/RTCRtpReceiverBackend.h:
  • Modules/mediastream/RTCRtpReceiverWithTransform.h: Added.

(WebCore::RTCRtpReceiverWithTransform::transform):
(WebCore::RTCRtpReceiverWithTransform::setTransform):

  • Modules/mediastream/RTCRtpSender+Transform.idl: Added.
  • Modules/mediastream/RTCRtpSender.cpp:

(WebCore::RTCRtpSender::~RTCRtpSender):
(WebCore::RTCRtpSender::stop):
(WebCore::RTCRtpSender::setTransform):

  • Modules/mediastream/RTCRtpSender.h:
  • Modules/mediastream/RTCRtpSenderBackend.h:
  • Modules/mediastream/RTCRtpSenderWithTransform.h: Added.

(WebCore::RTCRtpSenderWithTransform::transform):
(WebCore::RTCRtpSenderWithTransform::setTransform):

  • Modules/mediastream/RTCRtpTransform.cpp: Added.

(WebCore::RTCRtpTransform::~RTCRtpTransform):
(WebCore::RTCRtpTransform::attachToReceiver):
(WebCore::RTCRtpTransform::attachToSender):
(WebCore::RTCRtpTransform::detachFromReceiver):
(WebCore::RTCRtpTransform::detachFromSender):

  • Modules/mediastream/RTCRtpTransform.h: Added.
  • Modules/mediastream/RTCRtpTransform.idl: Added.
  • Modules/mediastream/RTCRtpTransformBackend.h: Added.
  • Modules/mediastream/RTCRtpTransformableFrame.h: Added.
  • Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp:

(WebCore::LibWebRTCRtpReceiverBackend::createRTCRtpTransformBackend):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverTransformBackend.cpp: Added.

(WebCore::mediaTypeFromReceiver):
(WebCore::LibWebRTCRtpReceiverTransformBackend::LibWebRTCRtpReceiverTransformBackend):
(WebCore::LibWebRTCRtpReceiverTransformBackend::~LibWebRTCRtpReceiverTransformBackend):
(WebCore::LibWebRTCRtpReceiverTransformBackend::setTransformableFrameCallback):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverTransformBackend.h: Added.
  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp:

(WebCore::LibWebRTCRtpSenderBackend::createRTCRtpTransformBackend):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderTransformBackend.cpp: Added.

(WebCore::mediaTypeFromSender):
(WebCore::LibWebRTCRtpSenderTransformBackend::LibWebRTCRtpSenderTransformBackend):
(WebCore::LibWebRTCRtpSenderTransformBackend::~LibWebRTCRtpSenderTransformBackend):
(WebCore::LibWebRTCRtpSenderTransformBackend::setTransformableFrameCallback):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderTransformBackend.h: Added.
  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransformBackend.cpp: Added.

(WebCore::LibWebRTCRtpTransformBackend::setInputCallback):
(WebCore::LibWebRTCRtpTransformBackend::clearTransformableFrameCallback):
(WebCore::LibWebRTCRtpTransformBackend::setOutputCallback):
(WebCore::LibWebRTCRtpTransformBackend::processTransformedFrame):
(WebCore::LibWebRTCRtpTransformBackend::Transform):
(WebCore::LibWebRTCRtpTransformBackend::RegisterTransformedFrameCallback):
(WebCore::LibWebRTCRtpTransformBackend::RegisterTransformedFrameSinkCallback):
(WebCore::LibWebRTCRtpTransformBackend::UnregisterTransformedFrameCallback):
(WebCore::LibWebRTCRtpTransformBackend::UnregisterTransformedFrameSinkCallback):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransformBackend.h: Added.

(WebCore::LibWebRTCRtpTransformBackend::LibWebRTCRtpTransformBackend):
(WebCore::LibWebRTCRtpTransformBackend::Release const):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransformableFrame.h: Added.

(WebCore::LibWebRTCRtpTransformableFrame::LibWebRTCRtpTransformableFrame):
(WebCore::LibWebRTCRtpTransformableFrame::toRTCFrame):
(WebCore::LibWebRTCRtpTransformableFrame::data const):

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • bindings/scripts/test/JS/JSTestInterface.h:
  • testing/Internals.cpp:

(WebCore::Internals::createMockRTCRtpTransform):

  • testing/Internals.h:
  • testing/Internals.idl:
  • testing/MockRTCRtpTransform.cpp: Added.

(WebCore::MockRTCRtpTransformer::create):
(WebCore::MockRTCRtpTransformer::clear):
(WebCore::MockRTCRtpTransformer::transform):
(WebCore::MockRTCRtpTransformer::isProcessing const):
(WebCore::MockRTCRtpTransformer::MockRTCRtpTransformer):
(WebCore::MockRTCRtpTransform::MockRTCRtpTransform):
(WebCore::MockRTCRtpTransform::~MockRTCRtpTransform):
(WebCore::MockRTCRtpTransform::isProcessing const):
(WebCore::MockRTCRtpTransform::initializeBackendForReceiver):
(WebCore::MockRTCRtpTransform::initializeBackendForSender):
(WebCore::MockRTCRtpTransform::willClearBackend):

  • testing/MockRTCRtpTransform.h: Added.
  • testing/MockRTCRtpTransform.idl: Added.

Source/WebKit:

Remove no longer needed const casting.

  • Configurations/WebKit.xcconfig:
  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:

(WebKit::LibWebRTCCodecs::completedEncoding):

Source/WTF:

Add an experimental preference for WebRTC transforms.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

  • webrtc/webrtc-transform-expected.txt: Added.
  • webrtc/webrtc-transform.html: Added.
8:50 PM Changeset in webkit [269763] by commit-queue@webkit.org
  • 3 edits
    1 delete in trunk/Source/WebKit

Remove SecItemShim.dylib
https://bugs.webkit.org/show_bug.cgi?id=218862

Patch by Alex Christensen <achristensen@webkit.org> on 2020-11-12
Reviewed by Alexey Proskuryakov.

This is dead code since r269697.

  • Shared/mac/SecItemShim.cpp:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/mac/SecItemShimLibrary.h: Removed.
  • WebProcess/mac/SecItemShimLibrary.mm: Removed.
7:15 PM Changeset in webkit [269762] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix the build warning below since r269753.
warning: unused parameter ‘spacing’ [-Wunused-parameter]

No new tests, no new behaviors.

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::drawPlatformPattern):

4:34 PM Changeset in webkit [269761] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac wk2 ] webrtc/captureCanvas-webrtc-software-h264-baseline.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=218875

unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:20 PM Changeset in webkit [269760] by weinig@apple.com
  • 11 edits in trunk

Move more WebKitLegacy specific settings usage to WebPreferences.yaml
https://bugs.webkit.org/show_bug.cgi?id=218852

Reviewed by Tim Horton.

Source/WebCore:

This batch focuses on settings with defaults based on SDK/host app conditions.

  • page/Settings.yaml:

Source/WebKitLegacy/mac:

This batch focuses on settings with defaults based on SDK/host app conditions.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

  • WebView/WebPreferencesDefaultValues.h:
  • WebView/WebPreferencesDefaultValues.mm:

(WebKit::defaultAllowContentSecurityPolicySourceStarToMatchAnyProtocol):
(WebKit::defaultLoadDeferringEnabled):
(WebKit::defaultWindowFocusRestricted):
(WebKit::defaultUsePreHTML5ParserQuirks):
(WebKit::defaultNeedsAdobeFrameReloadingQuirk):
(WebKit::defaultTreatsAnyTextCSSLinkAsStylesheet):
(WebKit::defaultNeedsFrameNameFallbackToIdQuirk):
(WebKit::defaultNeedsKeyboardEventDisambiguationQuirks):
(WebKit::defaultEnforceCSSMIMETypeInNoQuirksMode):
(WebKit::defaultNeedsIsLoadingInAPISenseQuirk):
(WebKit::defaultUseLegacyBackgroundSizeShorthandBehavior):
(WebKit::defaultAllowDisplayOfInsecureContent):
(WebKit::defaultAllowRunningOfInsecureContent):
(WebKit::defaultShouldConvertInvalidURLsToBlank):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(needsSelfRetainWhileLoadingQuirk):
(-[WebView _preferencesChanged:]):
(-[WebView dealloc]):
(-[WebView setFrameLoadDelegate:]):
(shouldEnableLoadDeferring): Deleted.
(shouldRestrictWindowFocus): Deleted.
(shouldUseLegacyBackgroundSizeShorthandBehavior): Deleted.
(shouldAllowDisplayAndRunningOfInsecureContent): Deleted.
(shouldAllowContentSecurityPolicySourceStarToMatchAnyProtocol): Deleted.
(shouldConvertInvalidURLsToBlank): Deleted.
(-[WebView _needsAdobeFrameReloadingQuirk]): Deleted.
(-[WebView _needsLinkElementTextCSSQuirk]): Deleted.
(-[WebView _needsFrameNameFallbackToIdQuirk]): Deleted.
(-[WebView _needsIsLoadingInAPISenseQuirk]): Deleted.
(-[WebView _needsKeyboardEventDisambiguationQuirks]): Deleted.
(-[WebView _needsPreHTML5ParserQuirks]): Deleted.

Source/WTF:

This batch focuses on settings with defaults based on SDK/host app conditions.

  • Scripts/Preferences/WebPreferences.yaml:

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):
Remove unnecessary call of [WebPreferences setUsePreHTML5ParserQuirks:NO] as this is the default.

3:59 PM Changeset in webkit [269759] by Simon Fraser
  • 10 edits
    44 moves
    3 adds in trunk/LayoutTests

Move tests in fast/events that dispatch platform wheel events to their own directory
https://bugs.webkit.org/show_bug.cgi?id=218869

Reviewed by Tim Horton.

Move tests in fast/events that rely on dispatching wheel events via eventSender to their own directory for
easier skipping on particular platforms.

Tests that synthesize DOM events remain in fast/events, since they are cross-platform.

Fix up some linter and sorting errors in TestExpectations.

  • fast/events/wheel/continuous-platform-wheelevent-in-scrolling-div-expected.txt: Renamed from LayoutTests/fast/events/continuous-platform-wheelevent-in-scrolling-div-expected.txt.
  • fast/events/wheel/continuous-platform-wheelevent-in-scrolling-div.html: Renamed from LayoutTests/fast/events/continuous-platform-wheelevent-in-scrolling-div.html.
  • fast/events/wheel/platform-wheelevent-in-scrolling-div-expected.txt: Renamed from LayoutTests/fast/events/platform-wheelevent-in-scrolling-div-expected.txt.
  • fast/events/wheel/platform-wheelevent-in-scrolling-div.html: Renamed from LayoutTests/fast/events/platform-wheelevent-in-scrolling-div.html.
  • fast/events/wheel/platform-wheelevent-paging-x-in-non-scrolling-div-expected.txt: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-x-in-non-scrolling-div-expected.txt.
  • fast/events/wheel/platform-wheelevent-paging-x-in-non-scrolling-div.html: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-x-in-non-scrolling-div.html.
  • fast/events/wheel/platform-wheelevent-paging-x-in-non-scrolling-page-expected.txt: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-x-in-non-scrolling-page-expected.txt.
  • fast/events/wheel/platform-wheelevent-paging-x-in-non-scrolling-page.html: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-x-in-non-scrolling-page.html.
  • fast/events/wheel/platform-wheelevent-paging-x-in-scrolling-div-expected.txt: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-x-in-scrolling-div-expected.txt.
  • fast/events/wheel/platform-wheelevent-paging-x-in-scrolling-div.html: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-x-in-scrolling-div.html.
  • fast/events/wheel/platform-wheelevent-paging-x-in-scrolling-page-expected.txt: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-x-in-scrolling-page-expected.txt.
  • fast/events/wheel/platform-wheelevent-paging-x-in-scrolling-page.html: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-x-in-scrolling-page.html.
  • fast/events/wheel/platform-wheelevent-paging-xy-in-scrolling-div-expected.txt: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-xy-in-scrolling-div-expected.txt.
  • fast/events/wheel/platform-wheelevent-paging-xy-in-scrolling-div.html: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html.
  • fast/events/wheel/platform-wheelevent-paging-xy-in-scrolling-page-expected.txt: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-xy-in-scrolling-page-expected.txt.
  • fast/events/wheel/platform-wheelevent-paging-xy-in-scrolling-page.html: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html.
  • fast/events/wheel/platform-wheelevent-paging-y-in-non-scrolling-div-expected.txt: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-y-in-non-scrolling-div-expected.txt.
  • fast/events/wheel/platform-wheelevent-paging-y-in-non-scrolling-div.html: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-y-in-non-scrolling-div.html.
  • fast/events/wheel/platform-wheelevent-paging-y-in-non-scrolling-page-expected.txt: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-y-in-non-scrolling-page-expected.txt.
  • fast/events/wheel/platform-wheelevent-paging-y-in-non-scrolling-page.html: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-y-in-non-scrolling-page.html.
  • fast/events/wheel/platform-wheelevent-paging-y-in-scrolling-div-expected.txt: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-div-expected.txt.
  • fast/events/wheel/platform-wheelevent-paging-y-in-scrolling-div.html: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-div.html.
  • fast/events/wheel/platform-wheelevent-paging-y-in-scrolling-page-expected.txt: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-page-expected.txt.
  • fast/events/wheel/platform-wheelevent-paging-y-in-scrolling-page.html: Renamed from LayoutTests/fast/events/platform-wheelevent-paging-y-in-scrolling-page.html.
  • fast/events/wheel/wheel-event-destroys-frame-expected.txt: Renamed from LayoutTests/fast/events/wheel-event-destroys-frame-expected.txt.
  • fast/events/wheel/wheel-event-destroys-frame.html: Renamed from LayoutTests/fast/events/wheel-event-destroys-frame.html.
  • fast/events/wheel/wheel-event-destroys-overflow-expected.txt: Renamed from LayoutTests/fast/events/wheel-event-destroys-overflow-expected.txt.
  • fast/events/wheel/wheel-event-destroys-overflow.html: Renamed from LayoutTests/fast/events/wheel-event-destroys-overflow.html.
  • fast/events/wheel/wheel-event-outside-body-expected.txt: Renamed from LayoutTests/fast/events/wheel-event-outside-body-expected.txt.
  • fast/events/wheel/wheel-event-outside-body.html: Renamed from LayoutTests/fast/events/wheel-event-outside-body.html.
  • fast/events/wheel/wheelevent-basic-expected.txt: Renamed from LayoutTests/fast/events/wheelevent-basic-expected.txt.
  • fast/events/wheel/wheelevent-basic.html: Renamed from LayoutTests/fast/events/wheelevent-basic.html.
  • fast/events/wheel/wheelevent-direction-inverted-from-device-expected.txt: Renamed from LayoutTests/fast/events/wheelevent-direction-inverted-from-device-expected.txt.
  • fast/events/wheel/wheelevent-direction-inverted-from-device.html: Renamed from LayoutTests/fast/events/wheelevent-direction-inverted-from-device.html.
  • fast/events/wheel/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt: Renamed from LayoutTests/fast/events/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt.
  • fast/events/wheel/wheelevent-in-horizontal-scrollbar-in-rtl.html: Renamed from LayoutTests/fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html.
  • fast/events/wheel/wheelevent-in-text-node-expected.txt: Renamed from LayoutTests/fast/events/wheelevent-in-text-node-expected.txt.
  • fast/events/wheel/wheelevent-in-text-node.html: Renamed from LayoutTests/fast/events/wheelevent-in-text-node.html.
  • fast/events/wheel/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt: Renamed from LayoutTests/fast/events/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt.
  • fast/events/wheel/wheelevent-in-vertical-scrollbar-in-rtl.html: Renamed from LayoutTests/fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html.
  • fast/events/wheel/wheelevent-mousewheel-interaction-expected.txt: Renamed from LayoutTests/fast/events/wheelevent-mousewheel-interaction-expected.txt.
  • fast/events/wheel/wheelevent-mousewheel-interaction.html: Renamed from LayoutTests/fast/events/wheelevent-mousewheel-interaction.html.
  • fast/scrolling/mac/wheel-event-listener-region-inside-overflow-expected.txt: Added.
  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/events/wheel/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt: Renamed from LayoutTests/platform/gtk/fast/events/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt.
  • platform/gtk/fast/events/wheel/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt: Renamed from LayoutTests/platform/gtk/fast/events/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt.
  • platform/ios/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wk2/TestExpectations:
  • platform/wpe/TestExpectations:
3:45 PM Changeset in webkit [269758] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

canvas-createPattern-video-modify-crash-log.txt asserts on debug GPUProcess bots
https://bugs.webkit.org/show_bug.cgi?id=218872

Reviewed by Simon Fraser.

  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:

(WebKit::ImageBufferShareableBitmapBackend::create):
This assertion is wrong; make it the same as the one in ImageBufferCGBitmapBackend.

3:11 PM November 2020 Meeting edited by Jon Davis
(diff)
3:11 PM November 2020 Meeting edited by Jon Davis
(diff)
3:07 PM November 2020 Meeting created by Jon Davis
2:54 PM Changeset in webkit [269757] by Devin Rousso
  • 27 edits in trunk

Web Inspector: ensure that JSON::ArrayOf<T> doesn't allow addItem to be called with a type other than T
https://bugs.webkit.org/show_bug.cgi?id=218686

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/scripts/codegen/cpp_generator_templates.py:
  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:

(CppBackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_large_dispatcher_switch_implementation_for_domain):

  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
  • inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:

(CppProtocolTypesImplementationGenerator._generate_enum_mapping):
(CppProtocolTypesImplementationGenerator._generate_open_field_names):
Use ASCIILiteral, makeString, and _s instead of inlined char* to ensure that the
String function overload is used.

  • inspector/scripts/tests/expected/command-targetType-matching-domain-debuggableType.json-result:
  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/definitions-with-mac-platform.json-result:
  • inspector/scripts/tests/expected/domain-debuggableTypes.json-result:
  • inspector/scripts/tests/expected/domain-targetType-matching-domain-debuggableType.json-result:
  • inspector/scripts/tests/expected/domain-targetTypes.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/event-targetType-matching-domain-debuggableType.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • inspector/scripts/tests/expected/type-with-open-parameters.json-result:

Source/WTF:

  • wtf/JSONValues.h:

(WTF::JSONImpl::Value::Value):
(WTF::JSONImpl::Value::Value):
(WTF::JSONImpl::ArrayOf::addItem):

  • wtf/JSONValues.cpp:

(WTF::JSONImpl::Value::create):
Right now, JSON::ArrayOf<T> always has addItem overloads for int, double, String,
and Ref<T> (even when T is not a JSON::Value). This means that a JSON::ArrayOf<int>
can call addItem(42.0) or addItem("foo"_s) and it would work. This doesn't really match
the intention of JSON::ArrayOf<T>, so add some template std::enable_if to ensure that
the only addItem overload that exists is the one that matches T.

Tools:

  • TestWebKitAPI/Tests/WTF/JSONValue.cpp:

(TestWebKitAPI::TEST):
Use _s and makeString to ensure that the String function overload is used.

2:52 PM Changeset in webkit [269756] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception: TypeError: undefined is not an object (evaluating 'target.DOMAgent.hideHighlight')
https://bugs.webkit.org/show_bug.cgi?id=218836

Reviewed by Brian Burg.

  • UserInterface/Controllers/DOMManager.js:

(WI.DOMManager.prototype.hideDOMNodeHighlight):
Some views eagerly call this when detached, possibly even before the WI.mainTarget has
been established (i.e. it's still a WI.MultiplexingBackendTarget). Rather than add a
specific check for the WI.mainTarget, just iterate over WI.targets and check each target
since that's eventually what's going to need to be done anyways.

2:49 PM Changeset in webkit [269755] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(?): Graphics: cannot click on recording icon more than once
https://bugs.webkit.org/show_bug.cgi?id=218834

Reviewed by Brian Burg.

  • UserInterface/Views/ContextMenuUtilities.js:

(WI.addMouseDownContextMenuHandlers):
Only ignore future "mousedown" events if the WI.ContextMenu actually has items.

2:44 PM Changeset in webkit [269754] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(?): Sources: WebSocket status not shown when organized By Path
https://bugs.webkit.org/show_bug.cgi?id=218679

Reviewed by Brian Burg.

  • UserInterface/Views/SourcesNavigationSidebarPanel.js:

(WI.SourcesNavigationSidebarPanel.prototype._addResource):
Make sure to use WI.WebSocketResourceTreeElement for WI.WebSocketResource.

2:31 PM Changeset in webkit [269753] by Said Abou-Hallawa
  • 24 edits in trunk/Source

[GPU Process] GraphicsContext::drawPattern() should take a NativeImage argument
https://bugs.webkit.org/show_bug.cgi?id=218865

Reviewed by Simon Fraser.

Source/WebCore:

When recording the DisplayList item DrawPattern, the renderingResourceIdentifier
of the NativeImage will be recorded. When replaying it back, the
renderingResourceIdentifier will be resolved to a NativeImage and the
item will be applied the same way we for DrawNativeImage.

DrawPattern will be inline DisplayList item and should not need encoding
or decoding when sending it to the GPU.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawPattern):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::drawPlatformImage): Deleted.

  • platform/graphics/GraphicsContextImpl.h:
  • platform/graphics/Image.cpp:

(WebCore::Image::drawPattern):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::drawPlatformPattern):
(WebCore::GraphicsContext::drawPattern): Deleted.

  • platform/graphics/cairo/GraphicsContextImplCairo.cpp:

(WebCore::GraphicsContextImplCairo::drawPattern):

  • platform/graphics/cairo/GraphicsContextImplCairo.h:
  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawPlatformPattern):
(WebCore::GraphicsContext::drawPattern): Deleted.

  • platform/graphics/displaylists/DisplayListItemBuffer.cpp:

(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::copyTo const):

  • platform/graphics/displaylists/DisplayListItemType.cpp:

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

  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::DrawPattern::DrawPattern):
(WebCore::DisplayList::DrawPattern::apply const):
(WebCore::DisplayList::operator<<):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::DrawPattern::DrawPattern):
(WebCore::DisplayList::DrawPattern::imageIdentifier const):
(WebCore::DisplayList::DrawPattern::imageSize const):
(WebCore::DisplayList::DrawPattern::tileRect const):
(WebCore::DisplayList::DrawPattern::patternTransform const):
(WebCore::DisplayList::DrawPattern::image const): Deleted.
(WebCore::DisplayList::DrawPattern::encode const): Deleted.
(WebCore::DisplayList::DrawPattern::decode): Deleted.

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::drawPattern):

  • platform/graphics/displaylists/DisplayListRecorder.h:
  • platform/graphics/displaylists/DisplayListReplayer.cpp:

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

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:

(Nicosia::CairoOperationRecorder::drawPattern):

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
  • platform/graphics/win/GraphicsContextDirect2D.cpp:

(WebCore::GraphicsContext::drawPlatformPattern):
(WebCore::GraphicsContext::drawPattern): Deleted.

  • platform/graphics/win/GraphicsContextImplDirect2D.cpp:

(WebCore::GraphicsContextImplDirect2D::drawPattern):

  • platform/graphics/win/GraphicsContextImplDirect2D.h:

Source/WebKit:

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::decodeItem):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
2:18 PM Changeset in webkit [269752] by ajuma@chromium.org
  • 2 edits in trunk/Tools

configure-xcode-for-embedded-development breaks @available in Swift files
https://bugs.webkit.org/show_bug.cgi?id=218850

Reviewed by Jonathan Bedard.

The changes applied by configure-xcode-for-embedded-development
for AvailabilityProhibitedInternal.h cause API_AVAILABLE to be ignored
in Objective-C, but @available is not ignored in Swift. As a result,
if an Objective-C method marked with API_AVAILABLE makes a call
into a Swift class marked with @available, this can lead to an
availability warning even when the calling method is only available
when the callee is available.

To fix this, ensure that @available is also ignored in Swift.

  • Scripts/configure-xcode-for-embedded-development:
2:12 PM Changeset in webkit [269751] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] IOKit sandbox violation when enabling all GPU runtime flags
https://bugs.webkit.org/show_bug.cgi?id=218820
<rdar://problem/71296116>

Reviewed by Brent Fulgham.

When enabling all GPU runtime flags on iOS, there is an iokit-open sandbox violation for the IOKit class AGXDeviceUserClient
in the WebContent process. When all GPU runtime flags are enabled, IOKit extensions are not provided to the WebContent process,
which should then fall back to a set of rules allowing use of these IOKit classes, with logging. There seems to be a problem
with the fallback for this specific IOKit class, which this patch addresses by adding an extra requirement to the rule. The
extra requirement is that IOKit extensions have not been provided for these IOKit classes.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
2:10 PM Changeset in webkit [269750] by Chris Dumez
  • 10 edits in trunk

[GPUProcess] Add basic GPUProcess crash handling for media playback
https://bugs.webkit.org/show_bug.cgi?id=218825

Reviewed by Eric Carlson.

Source/WebCore:

Add utility function to MediaPlayer to reload the media engine and resume
playback if necessary. This is called after the GPU process has crashed
so that the playback picks up where it left off.

Also add a new seekWhenPossible() function that only attempts to seek
once we've received the metadata. Any attempt to seek before the metadata
has been received gets ignored otherwise.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::reloadAndResumePlaybackIfNeeded):
(WebCore::MediaPlayer::seekWhenPossible):
(WebCore::MediaPlayer::readyStateChanged):

  • platform/graphics/MediaPlayer.h:

Source/WebKit:

When the GPU process crashes and there are pending media players, we
now relaunch the GPU process and ask those media players to reconstuct
their private media players, reload the file and resume playback if
necessary. This ensures that in case of a GPU process crash while the
user is playing a video, the video just seamlessly keeps playing from
where it was before the crash.

Before this patch, we would end up busy looping and the WebContent process
would use 100% CPU after a GPU process crash.

  • WebProcess/GPU/GPUProcessConnection.h:

(WebKit::GPUProcessConnection::addClient):
(WebKit::GPUProcessConnection::removeClient):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:

(WebKit::proxyConfigurationForPlayer):
(WebKit::RemoteMediaPlayerManager::gpuProcessConnection const):
(WebKit::RemoteMediaPlayerManager::gpuProcessConnectionDidClose):

  • WebProcess/GPU/media/RemoteMediaPlayerManager.h:

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:

(TEST):

2:01 PM Changeset in webkit [269749] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

ASSERTION FAILED: isValidIdentifier(m_identifier) seen with TestWebKitAPI.GPUProcess.WebProcessTerminationAfterTooManyGPUProcessCrashes
https://bugs.webkit.org/show_bug.cgi?id=218856
<rdar://problem/71331809>

Reviewed by Tim Horton.

The API test is repeatedly killing the GPU process. As a result, it is possible for the
GPUProcess to crash while RemoteAudioDestinationProxy::connectToGPUProcess() is in the
middle of its RemoteAudioDestinationManager::CreateAudioDestination() synchronous IPC.
The function would fail to check if the IPC was successful and proceed with an invalid
destinationID in such cases, causing the crash.

We now check if the sendSync() was successful. If it wasn't we now log an error and
return early. RemoteAudioDestinationManager::gpuProcessConnectionDidClose() will get
called later on to notify us that the GPU Process crashed and it will call
connectToGPUProcess() again.

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

  • WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:

(WebKit::RemoteAudioDestinationProxy::connectToGPUProcess):

1:53 PM Changeset in webkit [269748] by Alan Coon
  • 8 edits in branches/safari-610.3.7.1-branch/Source

Versioning.

WebKit-7610.3.7.1.4

1:24 PM Changeset in webkit [269747] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

[LFC][Integration] VisiblePosition::absoluteSelectionBoundsForLine should use iterator
https://bugs.webkit.org/show_bug.cgi?id=218866

Reviewed by Zalan Bujtas.

  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::absoluteSelectionBoundsForLine const):

Also fix confused logical->physical mapping. The client wants physical position.

  • editing/VisiblePosition.h:

(WebCore::VisiblePosition::inlineBoxAndOffset const): Deleted.

12:54 PM Changeset in webkit [269746] by Caio Lima
  • 2 edits in trunk/JSTests

[Intl][ARMv7][MIPS] Skip stress/intl-datetimeformat-formatrange.js
https://bugs.webkit.org/show_bug.cgi?id=218867

Unreviewed test gardening.

  • stress/intl-datetimeformat-formatrange.js:
12:25 PM Changeset in webkit [269745] by Alan Bujtas
  • 15 edits in trunk

[LFC][Integration] Enable inline replaced support
https://bugs.webkit.org/show_bug.cgi?id=218514
<rdar://problem/71239028>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/html/browsers/sandboxing/sandbox-parse-noscript-expected.txt:

Source/WebCore:

  • layout/integration/LayoutIntegrationCoverage.cpp:

LayoutTests:

Progressions (mostly trimmable trailing whitespace).

  • accessibility/mac/attachment-element-replacement-character-expected.txt:
  • compositing/canvas/accelerated-canvas-compositing-size-limit-expected.txt:
  • platform/mac/fast/block/basic/013-expected.txt:
  • platform/mac/fast/frames/iframe-scrolling-attribute-expected.txt:
10:46 AM Changeset in webkit [269744] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] FormattingContext::Geometry::computedHeightValue should handle min, max and fit-content
https://bugs.webkit.org/show_bug.cgi?id=218853

Reviewed by Antti Koivisto.

This is not an actual support for those height values (that's something the caller needs to implement),
it's just avoiding the assertion in valueForLength.

  • layout/FormattingContextGeometry.cpp:

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

10:38 AM Changeset in webkit [269743] by Alan Coon
  • 1 copy in tags/Safari-611.1.4.0.2

Tag Safari-611.1.4.0.2.

10:35 AM Changeset in webkit [269742] by Alan Coon
  • 1 edit in branches/safari-611.1.4.0-branch/Source/WebCore/DerivedSources.make

Unreviewed build fix. rdar://71019899

Remove SpeechRecognition IDL files from WebCore/DerivedSources.make

10:31 AM Changeset in webkit [269741] by Alan Coon
  • 8 edits in branches/safari-611.1.4.0-branch/Source

Versioning.

WebKit-7611.1.4.0.2

10:29 AM Changeset in webkit [269740] by Alan Coon
  • 1 copy in tags/Safari-611.1.5

Tag Safari-611.1.5.

10:26 AM Changeset in webkit [269739] by youenn@apple.com
  • 5 edits in trunk/Source/WebKit

WebProcess should process WebRTC codecs IPC messages from the GPU Process in a background thread
https://bugs.webkit.org/show_bug.cgi?id=218790

Reviewed by Eric Carlson.

Use a WorkQueue to process GPU WebRTC codec IPC messages.
For that reason, handle encoder and decoder map within that queue.

Covered by existing tests.

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:

(WebKit::LibWebRTCCodecsProxy::setEncodeRates):

  • WebProcess/GPU/GPUProcessConnection.cpp:

(WebKit::GPUProcessConnection::dispatchMessage):

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:

(WebKit::LibWebRTCCodecs::LibWebRTCCodecs):
(WebKit::LibWebRTCCodecs::~LibWebRTCCodecs):
(WebKit::LibWebRTCCodecs::setConnection):
(WebKit::LibWebRTCCodecs::createDecoder):
(WebKit::LibWebRTCCodecs::releaseDecoder):
(WebKit::LibWebRTCCodecs::failedDecoding):
(WebKit::LibWebRTCCodecs::completedDecoding):
(WebKit::LibWebRTCCodecs::createEncoder):
(WebKit::LibWebRTCCodecs::releaseEncoder):
(WebKit::LibWebRTCCodecs::initializeEncoder):
(WebKit::LibWebRTCCodecs::setEncodeRates):
(WebKit::LibWebRTCCodecs::completedEncoding):
(WebKit::LibWebRTCCodecs::dispatchToThread):

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
10:00 AM Changeset in webkit [269738] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] configure buildbot not to send Usage Data to buildbot developers
https://bugs.webkit.org/show_bug.cgi?id=218821

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/master_buildbot2.cfg:
9:57 AM Changeset in webkit [269737] by ysuzuki@apple.com
  • 44 edits
    9 moves
    21 adds
    3 deletes in trunk/JSTests

[JSC] Upgrade test262
https://bugs.webkit.org/show_bug.cgi?id=218845

Reviewed by Alexey Shvayka.

One failing test is test262 bug and tracked in https://github.com/tc39/test262/pull/2898.

  • test262/expectations.yaml:
  • test262/harness/atomicsHelper.js:
  • test262/latest-changes-summary.txt:
  • test262/test/built-ins/Atomics/waitAsync/bigint/true-for-timeout.js:
  • test262/test/built-ins/Atomics/waitAsync/returns-result-object-value-is-promise-resolves-to-timed-out.js:
  • test262/test/built-ins/Atomics/waitAsync/true-for-timeout.js:
  • test262/test/built-ins/Object/seal/configurable-attribute-all-own-properties-set-from-true-to-false-property-are-unaltered.js: Renamed from JSTests/test262/test/built-ins/Object/seal/object-seal-the-configurable-attribute-of-all-own-properties-of-o-are-set-from-true-to-false-and-other-attributes-of-the-property-are-unaltered.js.
  • test262/test/built-ins/Object/seal/configurable-attribute-own-accessor-property-set-from-true-to-false-property-are-unaltered.js: Renamed from JSTests/test262/test/built-ins/Object/seal/object-seal-the-configurable-attribute-of-own-accessor-property-of-o-is-set-from-true-to-false-and-other-attributes-of-the-property-are-unaltered.js.
  • test262/test/built-ins/Object/seal/seal-finalizationregistry.js:
  • test262/test/built-ins/Object/seal/seal-weakref.js:
  • test262/test/built-ins/String/prototype/split/arguments-are-objects-and-instance-is-string-first-object-have-overrided-to-string-function-and-value-of-function-that-throw-exception-second-object-have-overrided-value-of-function-that-throw-exception.js: Removed.
  • test262/test/built-ins/String/prototype/split/separator-override-tostring-limit-override-valueof-throws.js: Renamed from JSTests/test262/test/built-ins/String/prototype/split/arguments-are-objects-and-instance-is-string-first-object-have-overrided-to-string-function-second-object-have-overrided-value-of-function-that-throw-exception.js.
  • test262/test/built-ins/String/prototype/split/separator-override-tostring-limit-override-valueof-tostring-throws.js: Renamed from JSTests/test262/test/built-ins/String/prototype/split/arguments-are-objects-and-instance-is-string-first-object-have-overrided-to-string-function-second-object-have-overrided-value-of-function-and-to-string-function-that-throw-exception.js.
  • test262/test/built-ins/String/prototype/split/separator-override-tostring-limit-override-valueof-tostring.js: Renamed from JSTests/test262/test/built-ins/String/prototype/split/arguments-are-objects-and-instance-is-string-first-object-have-overrided-to-string-function-second-object-have-overrided-value-of-and-to-string-functions.js.
  • test262/test/built-ins/String/prototype/split/separator-override-tostring-limit-override-valueof.js: Renamed from JSTests/test262/test/built-ins/String/prototype/split/arguments-are-objects-and-instance-is-string-first-object-have-overrided-to-string-function-second-object-have-overrided-value-of-function.js.
  • test262/test/built-ins/String/prototype/split/separator-override-tostring-throws-limit-override-valueof-throws.js: Renamed from JSTests/test262/test/built-ins/String/prototype/split/arguments-are-objects-and-instance-is-string-first-object-have-overrided-to-string-function-that-throw-exception-second-object-have-overrided-value-of-function-that-throw-exception.js.
  • test262/test/built-ins/String/prototype/split/separator-override-valueof.js: Renamed from JSTests/test262/test/built-ins/String/prototype/split/argument-is-function-and-instance-is-string-object-object-have-overrided-to-string-and-value-of-functions.js.
  • test262/test/built-ins/String/prototype/split/transferred-to-custom.js: Added.

(Splittable.this.toString):
(Splittable.this.valueOf):
(Splittable):

  • test262/test/built-ins/String/prototype/split/transferred-to-number-separator-override-tostring-returns-regexp.js: Renamed from JSTests/test262/test/built-ins/String/prototype/split/argument-is-object-and-instance-is-number-object-have-overrided-to-string-function-that-return-regexp.js.
  • test262/test/built-ins/String/prototype/split/valueOf-is-called-for-limit-argument.js: Added.

(let.limit.toString):
(let.limit.valueOf):

  • test262/test/built-ins/TypedArray/prototype/every/BigInt/callbackfn-detachbuffer.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/every/callbackfn-detachbuffer.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/filter/BigInt/callbackfn-detachbuffer.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/filter/callbackfn-detachbuffer.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/find/BigInt/predicate-may-detach-buffer.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/find/predicate-may-detach-buffer.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/findIndex/predicate-may-detach-buffer.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/forEach/BigInt/callbackfn-detachbuffer.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/forEach/callbackfn-detachbuffer.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/map/BigInt/callbackfn-detachbuffer.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/map/callbackfn-detachbuffer.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/reduce/BigInt/callbackfn-detachbuffer.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/reduce/callbackfn-detachbuffer.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/reduceRight/BigInt/callbackfn-detachbuffer.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/reduceRight/callbackfn-detachbuffer.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/slice/BigInt/detached-buffer-custom-ctor-other-targettype.js:

(testWithBigIntTypedArrayConstructors.get sample): Deleted.

  • test262/test/built-ins/TypedArray/prototype/slice/detached-buffer-custom-ctor-other-targettype.js:

(testWithTypedArrayConstructors.get sample): Deleted.

  • test262/test/built-ins/TypedArray/prototype/some/BigInt/callbackfn-detachbuffer.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/some/callbackfn-detachbuffer.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/detached-buffer-realm.js:
  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-configurable.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-configurable.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/GetOwnProperty/BigInt/index-prop-desc.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/GetOwnProperty/index-prop-desc.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/Set/BigInt/detached-buffer-realm.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/Set/BigInt/detached-buffer.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/Set/BigInt/tonumber-value-detached-buffer.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/Set/detached-buffer-realm.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/Set/detached-buffer.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/Set/tonumber-value-detached-buffer.js:

(testWithTypedArrayConstructors):

  • test262/test/intl402/DateTimeFormat/intl-legacy-constructed-symbol-on-unwrap.js: Added.

(try.get target):
(catch):

  • test262/test/intl402/DateTimeFormat/intl-legacy-constructed-symbol.js: Added.
  • test262/test/intl402/NumberFormat/intl-legacy-constructed-symbol-on-unwrap.js: Added.

(try.get target):
(catch):

  • test262/test/intl402/NumberFormat/intl-legacy-constructed-symbol.js: Added.
  • test262/test/language/eval-code/direct/arrow-fn-body-cntns-arguments-fn-decl-params-cntns-dflt-assignment-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js: Removed.
  • test262/test/language/eval-code/direct/arrow-fn-body-cntns-arguments-fn-decl-params-cntns-dflt-assignment-arrow-func-declare-arguments-assign.js: Removed.
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-1-strict-explicit-pragma.js: Added.

(invalid):

  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-2-strict-explicit-pragma.js: Added.

(invalid):

  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-3-strict-explicit-pragma.js: Added.

(invalid):

  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-4-strict-explicit-pragma.js: Added.

(invalid):

  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-5-strict-explicit-pragma.js: Added.

(invalid):

  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-6-strict-explicit-pragma.js: Added.

(invalid):

  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-7-strict-explicit-pragma.js: Added.

(invalid):

  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-strict-explicit-pragma.js: Added.

(invalid):

  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-strict-explicit-pragma.js: Added.

(invalid):

  • test262/test/language/module-code/export-expname-binding-string.js:
  • test262/test/language/module-code/export-expname-from-as-unpaired-surrogate.js: Added.
  • test262/test/language/module-code/export-expname-from-star-unpaired-surrogate.js: Added.
  • test262/test/language/module-code/export-expname-from-unpaired-surrogate.js: Added.
  • test262/test/language/module-code/export-expname-import-unpaired-surrogate.js: Added.
  • test262/test/language/module-code/export-expname-string-binding.js: Added.

(foo):

  • test262/test/language/module-code/export-expname-unpaired-surrogate.js: Added.

(Foo):

  • test262/test/language/module-code/export-expname_FIXTURE.js:
  • test262/test262-Revision.txt:
9:43 AM Changeset in webkit [269736] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Remove obsolete buildHorizon, eventHorizon and logHorizon properties from master_buildbot2.cfg
https://bugs.webkit.org/show_bug.cgi?id=218818

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/master_buildbot2.cfg:
9:41 AM Changeset in webkit [269735] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Replace status with www in master.cfg
https://bugs.webkit.org/show_bug.cgi?id=218822

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/master_buildbot2.cfg:
9:37 AM Changeset in webkit [269734] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] vertical-align: super and sub values are not supported yet.
https://bugs.webkit.org/show_bug.cgi?id=218851

Reviewed by Antti Koivisto.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):

9:03 AM Changeset in webkit [269733] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] replace cslavePortnum? with cprotocols? in master_buildbot2.cfg
https://bugs.webkit.org/show_bug.cgi?id=218819

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/master_buildbot2.cfg:
8:40 AM Changeset in webkit [269732] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

[LFC][IFC] Use inline iterator in VisiblePosition::left/rightVisuallyDistinctCandidate
https://bugs.webkit.org/show_bug.cgi?id=218848

Reviewed by Zalan Bujtas.

Less direct InlineBox access.

The patch also simplifies the iterator by removing separate LineRunIterator. Base RunIterator
is used instead and the incompatible traversal functions are explicitly hidden in TextRunIterator.

  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::leftVisuallyDistinctCandidate const):
(WebCore::VisiblePosition::rightVisuallyDistinctCandidate const):

  • editing/VisibleUnits.cpp:

(WebCore::startPositionForLine):
(WebCore::endPositionForLine):

  • layout/integration/LayoutIntegrationLineIterator.cpp:

(WebCore::LayoutIntegration::LineIterator::firstRun const):
(WebCore::LayoutIntegration::LineIterator::lastRun const):
(WebCore::LayoutIntegration::LineIterator::logicalStartRunWithNode const):
(WebCore::LayoutIntegration::LineIterator::logicalEndRunWithNode const):
(WebCore::LayoutIntegration::LineIterator::closestRunForPoint):
(WebCore::LayoutIntegration::LineIterator::closestRunForLogicalLeftPosition):

  • layout/integration/LayoutIntegrationLineIterator.h:
  • layout/integration/LayoutIntegrationRunIterator.cpp:

(WebCore::LayoutIntegration::RunIterator::nextOnLine const):
(WebCore::LayoutIntegration::RunIterator::previousOnLine const):
(WebCore::LayoutIntegration::RunIterator::nextOnLineIgnoringLineBreak const):
(WebCore::LayoutIntegration::RunIterator::previousOnLineIgnoringLineBreak const):
(WebCore::LayoutIntegration::RunIterator::traverseNextOnLine):
(WebCore::LayoutIntegration::RunIterator::traversePreviousOnLine):
(WebCore::LayoutIntegration::RunIterator::traverseNextOnLineIgnoringLineBreak):
(WebCore::LayoutIntegration::RunIterator::traversePreviousOnLineIgnoringLineBreak):
(WebCore::LayoutIntegration::LineRunIterator::LineRunIterator): Deleted.
(WebCore::LayoutIntegration::LineRunIterator::traverseNextOnLine): Deleted.
(WebCore::LayoutIntegration::LineRunIterator::traversePreviousOnLine): Deleted.
(WebCore::LayoutIntegration::LineRunIterator::traverseNextOnLineIgnoringLineBreak): Deleted.
(WebCore::LayoutIntegration::LineRunIterator::traversePreviousOnLineIgnoringLineBreak): Deleted.
(WebCore::LayoutIntegration::lineRun): Deleted.

  • layout/integration/LayoutIntegrationRunIterator.h:

(WebCore::LayoutIntegration::TextRunIterator::get const):
(WebCore::LayoutIntegration::LineRunIterator::LineRunIterator): Deleted.
(WebCore::LayoutIntegration::LineRunIterator::operator++): Deleted.

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

[build.webkit.org] Update CheckOutSource step for new buildbot (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=218802
<rdar://problem/71295484>

Unreviewed minor follow-up fix.

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

(CheckOutSource):

4:18 AM Changeset in webkit [269730] by commit-queue@webkit.org
  • 10 edits
    1 add in trunk/LayoutTests

Simplify mainframe tests tiled-drawing/scrolling/scroll-snap
https://bugs.webkit.org/show_bug.cgi?id=218757

Patch by Martin Robinson <mrobinson@igalia.com> on 2020-11-12
Reviewed by Simon Fraser.

  • tiled-drawing/scrolling/scroll-snap/resources/mainframe-scroll-snap-test.js: Added. Allows

sharing the mainframe scroll testing code between tests and reimplements them with Promises.

  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-legacy.html:
  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-margin.html:
  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal.html:
  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal.html:
  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical.html:
  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-legacy.html:
  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-then-horizontal.html:
  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-margin.html:
  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical.html:
3:59 AM Changeset in webkit [269729] by commit-queue@webkit.org
  • 21 edits in trunk

[WASM-References] Support imm for ref.null
https://bugs.webkit.org/show_bug.cgi?id=218744

Patch by Dmitry Bezhetskov <dbezhetskov@igalia.com> on 2020-11-12
Reviewed by Yusuke Suzuki.

JSTests:

Updated the Builder DSL and spec tests for ref.null extern/funcref.
Spec is here - https://webassembly.github.io/reference-types/core/.

  • wasm/Builder.js:

(export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):

  • wasm/Builder_WebAssemblyBinary.js:

(const.putInitExpr):

  • wasm/LowLevelBinary.js:

(export.default.LowLevelBinary.prototype.ref_type):

  • wasm/WASM.js:
  • wasm/references-spec-tests/ref_is_null.js:
  • wasm/references-spec-tests/ref_null.js:
  • wasm/references/externref_globals.js:
  • wasm/references/externref_modules.js:
  • wasm/references/externref_table.js:
  • wasm/references/externref_table_import.js:

(makeImport):
(string_appeared_here.fullGC.assert.eq.1.exports.get_tbl.makeImport):
(string_appeared_here.fullGC.assert.eq.1.exports.get_tbl):

  • wasm/references/func_ref.js:

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

  • wasm/references/is_null.js:

(checkRefNullWithI32ImmType):

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

Source/JavaScriptCore:

Updated ref.null according to the ref-types spec:
https://github.com/WebAssembly/reference-types/.

  • wasm/WasmFormat.h:

(JSC::Wasm::isRefType):

  • wasm/WasmFunctionParser.h:

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

  • wasm/WasmParser.h:

(JSC::Wasm::Parser<SuccessType>::parseRefType):

  • wasm/WasmSectionParser.cpp:

(JSC::Wasm::SectionParser::parseInitExpr):

  • wasm/wasm.json:
3:25 AM Changeset in webkit [269728] by svillar@igalia.com
  • 3 edits
    2 adds in trunk

Crash in RenderBox::overrideContainingBlockContentHeight()
https://bugs.webkit.org/show_bug.cgi?id=218504
<rdar://problem/70989103>

Reviewed by Zalan Bujtas.

Source/WebCore:

It should check the overriding widths map for vertical writing modes because it deals with logical sizes. Instead it was always checking the
overriding heights map and thus giving incorrect results.

Test: fast/flexbox/flex-column-vertical-rl-dynamic-child-crash.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::hasOverridingContainingBlockContentHeight const): Check gOverridingContainingBlockContentLogicalWidthMap
for vertical writing modes.

LayoutTests:

  • fast/flexbox/flex-column-vertical-rl-dynamic-child-crash-expected.txt: Added.
  • fast/flexbox/flex-column-vertical-rl-dynamic-child-crash.html: Added.
3:10 AM Changeset in webkit [269727] by Diego Pino Garcia
  • 2 edits in trunk/Source/WebKit

[GTK] Unreviewed, non-unified build fix.

  • WebProcess/Gamepad/WebGamepadProvider.cpp: Add missing Logging.h header.
2:50 AM Changeset in webkit [269726] by Alan Bujtas
  • 39 edits
    1 copy
    1 delete in trunk

Show legacy line layout visual coverage instead of "simple line" layout.
https://bugs.webkit.org/show_bug.cgi?id=218695

Reviewed by Antti Koivisto.

Source/WebCore:

Paint legacy line layout content with the debug shadow instead of the modern one (and use red instead of blue).

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::LineLayout::debugTextShadow): Deleted.

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

(WebCore::InlineTextBox::paintMarkedTextForeground):
(WebCore::InlineTextBox::debugTextShadow):

  • rendering/InlineTextBox.h:

Source/WebKit:

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetLegacyLineLayoutVisualCoverageEnabled):
(WKPreferencesGetLegacyLineLayoutVisualCoverageEnabled):
(WKPreferencesSetSimpleLineLayoutDebugBordersEnabled): Deleted.
(WKPreferencesGetSimpleLineLayoutDebugBordersEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _legacyLineLayoutVisualCoverageEnabled]):
(-[WKPreferences _setLegacyLineLayoutVisualCoverageEnabled:]):
(-[WKPreferences _simpleLineLayoutDebugBordersEnabled]): Deleted.
(-[WKPreferences _setSimpleLineLayoutDebugBordersEnabled:]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences legacyLineLayoutVisualCoverageEnabled]):
(-[WebPreferences setLegacyLineLayoutVisualCoverageEnabled:]):
(-[WebPreferences simpleLineLayoutDebugBordersEnabled]): Deleted.
(-[WebPreferences setSimpleLineLayoutDebugBordersEnabled:]): Deleted.

  • WebView/WebPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesDebug.yaml:

Tools:

  • MiniBrowser/mac/SettingsController.h:
  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleLegacyLineLayoutVisualCoverageEnabled:]):
(-[SettingsController legacyLineLayoutVisualCoverageEnabled]):
(-[SettingsController toggleSimpleLineLayoutDebugBordersEnabled:]): Deleted.
(-[SettingsController simpleLineLayoutDebugBordersEnabled]): Deleted.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController didChangeSettings]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController didChangeSettings]):

LayoutTests:

  • fast/inline/simple-line-layout-16bit-content-expected-mismatch.html: Removed.
  • fast/inline/simple-line-layout-16bit-content.html:
  • fast/text/simple-line-layout-do-not-support-unicode-range-expected.html:
  • fast/text/simple-line-layout-do-not-support-unicode-range.html:
  • fast/text/simple-line-layout-line-box-contain-glyphs-expected.html:
  • fast/text/simple-line-layout-line-box-contain-glyphs.html:
  • fast/text/simple-line-layout-no-surrogate-pairs-expected.html:
  • fast/text/simple-line-layout-no-surrogate-pairs.html:
  • fast/text/simple-line-layout-simple-text-but-complex-font-path-expected.html:
  • fast/text/simple-line-layout-simple-text-but-complex-font-path.html:
  • fast/text/simple-line-layout-with-text-underline-position-expected.html:
  • fast/text/simple-line-layout-with-text-underline-position.html:
  • fast/text/simple-lines-float-expected.html:
  • fast/text/simple-lines-float.html:
  • fast/text/simple-lines-hover-expected.html:
  • fast/text/simple-lines-hover.html:
  • fast/text/simple-lines-multiple-renderers-expected.html:
  • fast/text/simple-lines-multiple-renderers.html:
1:26 AM Changeset in webkit [269725] by Lauro Moura
  • 2 edits in trunk/Tools

[WPE][TestWebKitAPI] Wait for RenderingState::Started to avoid flakiness
https://bugs.webkit.org/show_bug.cgi?id=218841

Reviewed by Adrian Perez de Castro.

The external audio rendering test asked JS to play the video but
checked the condition right away. As with other tests, the full side
effects of the JS call might not have propagated, causing the
assertion to fail. This became especially visible after the build with
r269579.

So, like the other conditions in the test, add a method to wait for
the condition.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:

(AudioRenderingWebViewTest::waitUntilStarted): Added

1:09 AM Changeset in webkit [269724] by Said Abou-Hallawa
  • 25 edits in trunk/Source

[GPU Process] Implement DisplayList::ClipToImageBuffer item
https://bugs.webkit.org/show_bug.cgi?id=218843

Reviewed by Tim Horton.

Source/WebCore:

Record the renderingResourceIdentifier of the ImageBuffer. At replaying
time, the renderingResourceIdentifier of the ClipToImageBuffer will be
resolved to an ImageBuffer. The actual clipping will be moved to an new
function named ImageBuffer::clipToMask().

  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::clipToImageBuffer):

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::clipToMask):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::clipToImageBuffer): Deleted.

  • platform/graphics/cairo/ImageBufferCairoBackend.cpp:

(WebCore::ImageBufferCairoBackend::clipToMask):

  • platform/graphics/cairo/ImageBufferCairoBackend.h:
  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::clipToImageBuffer): Deleted.

  • platform/graphics/cg/ImageBufferCGBackend.cpp:

(WebCore::ImageBufferCGBackend::clipToMask):

  • platform/graphics/cg/ImageBufferCGBackend.h:
  • platform/graphics/displaylists/DisplayList.cpp:

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

  • platform/graphics/displaylists/DisplayListItemBuffer.cpp:

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

  • platform/graphics/displaylists/DisplayListItemType.cpp:

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

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

(WebCore::DisplayList::ClipToImageBuffer::apply const):
(WebCore::DisplayList::operator<<):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::ClipToImageBuffer::ClipToImageBuffer):
(WebCore::DisplayList::ClipToImageBuffer::imageBufferIdentifier const):
(WebCore::DisplayList::ClipToImageBuffer::destinationRect const):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::clipToImageBuffer):

  • platform/graphics/displaylists/DisplayListReplayer.cpp:

(WebCore::DisplayList::Replayer::applyItem):

  • platform/graphics/win/GraphicsContextDirect2D.cpp:

(WebCore::GraphicsContext::clipToImageBuffer): Deleted.

  • platform/graphics/win/ImageBufferDirect2DBackend.cpp:

(WebCore::ImageBufferDirect2DBackend::clipToMask):

  • platform/graphics/win/ImageBufferDirect2DBackend.h:

Source/WebKit:

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::decodeItem):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
1:03 AM Changeset in webkit [269723] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit

Unreviewed follow-up to r268965.

  • UIProcess/API/glib/WebKitSettings.cpp:

(webkit_settings_get_enable_accelerated_2d_canvas):
Use the FALSE identifier, following GLib styling guidelines.

12:56 AM Changeset in webkit [269722] by commit-queue@webkit.org
  • 2 edits in trunk/JSTests

[JSC] Skip stress/lars-sab-workers.js on arm32
https://bugs.webkit.org/show_bug.cgi?id=218797

Patch by Angelos Oikonomopoulos <Angelos Oikonomopoulos> on 2020-11-12
Reviewed by Žan Doberšek.

The test is currently flaky on arm32 when run in bytecode-cache mode.
Skip pending further investigation.

  • stress/lars-sab-workers.js:
12:47 AM Changeset in webkit [269721] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK] Swipe navigation shadow is blurry on hidpi
https://bugs.webkit.org/show_bug.cgi?id=218800

Patch by Alexander Mikhaylenko <exalm7659@gmail.com> on 2020-11-12
Reviewed by Carlos Garcia Campos.

  • UIProcess/gtk/ViewGestureControllerGtk.cpp:

(WebKit::createElementPattern): Scale surface size and set its scale factor.
(WebKit::ViewGestureController::beginSwipeGesture): Pass scale factor to createElementPattern().

12:21 AM Changeset in webkit [269720] by ysuzuki@apple.com
  • 2 edits in trunk/JSTests

Unreviewed, rebaseline test262's config.yaml part 2

test262 bot is using Catalina, it should use Big Sur. filed in [1].

[1]: https://bugs.webkit.org/show_bug.cgi?id=218844

  • test262/config.yaml:
Note: See TracTimeline for information about the timeline view.