Timeline



Jul 3, 2020:

11:42 PM Changeset in webkit [263930] by ysuzuki@apple.com
  • 3 edits
    1 add in trunk

[JSC] Promise should check whether a user-provided function is set by using @isUndefinedOrNull
https://bugs.webkit.org/show_bug.cgi?id=213951

Reviewed by Ross Kirsling.

JSTests:

  • stress/masquerader-as-function-in-promise.js: Added.

Source/JavaScriptCore:

If a user-provided function is masquerade-as-undefined value, if (!xxx.@onRejected) returns wrong
value since this function object is considered as undefined in this context. We should use @isUndefinedOrNull
here instead since this if-branch is checking whether this property is null/undefined actually.
And if (@isUndefinedOrNull(...)) is efficient since we have jundefined_or_null / jnundefined_or_null bytecodes.

  • builtins/PromiseOperations.js:

(globalPrivate.promiseReactionJob):

11:38 PM Changeset in webkit [263929] by Wenson Hsieh
  • 2 edits in trunk/Tools

[macOS] Tests that show system menu popups may fail when run concurrently
https://bugs.webkit.org/show_bug.cgi?id=213950
<rdar://problem/64551566>

Reviewed by Darin Adler.

Make it possible to run tests that present system modal popups simultaneously, without the possibility of these
tests interfering with each other. Examples include context menus, select menus, and the DOM paste popup. To do
this, we swizzle out codepaths for showing and dimissing popups, and instead dispatch notifications and the
appropriate NSMenuDelegate methods ourselves.

This change has the side effect of fixing several layout tests that are currently timing out only on arm64e
macOS, due to reasons detailed in <rdar://problem/65084503>.

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::setSwizzledPopUpMenu):
(WTR::swizzledPopUpContextMenu):
(WTR::swizzledPopUpMenu):
(WTR::swizzledCancelTracking):
(WTR::TestController::platformInitialize):

10:15 PM Changeset in webkit [263928] by youenn@apple.com
  • 25 edits
    3 copies
    23 adds in trunk

MediaRecorder should support peer connection remote video tracks
https://bugs.webkit.org/show_bug.cgi?id=213924

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Resync to WPT ToT.

  • resources/resource-files.json:
  • web-platform-tests/mediacapture-record/BlobEvent-constructor.html:
  • web-platform-tests/mediacapture-record/MediaRecorder-bitrate.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-bitrate.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-creation.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-creation.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-detached-context-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-detached-context.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-disabled-tracks.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-disabled-tracks.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-error.html:
  • web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-mimetype-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-mimetype.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-no-sink.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-no-sink.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-pause-resume-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-pause-resume.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-stop-expected.txt:
  • web-platform-tests/mediacapture-record/MediaRecorder-stop.html:
  • web-platform-tests/mediacapture-record/idlharness.window-expected.txt:
  • web-platform-tests/mediacapture-record/idlharness.window.js:
  • web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https.html: Added.
  • web-platform-tests/mediacapture-record/passthrough/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/w3c-import.log.
  • web-platform-tests/mediacapture-record/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/w3c-import.log.
  • web-platform-tests/mediacapture-record/utils/peerconnection.js: Added.

(async exchangeOfferAnswer):
(setTransceiverCodecPreference):
(async startConnection):
(async waitForReceivedFrames):
(async waitForReceivedCodec):

  • web-platform-tests/mediacapture-record/utils/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/w3c-import.log.
  • web-platform-tests/mediacapture-record/w3c-import.log:

Source/WebCore:

Previsouly we were checking whether width and height are given for a video track.
This is not always available, for instance for remote tracks.
And this can change over time.
Instead, pass a simple boolean (whether there is a video track or not).
Minor simplifications to stop storing unneeded members.

Tests: imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-bitrate.https.html

imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-creation.https.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-detached-context.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-disabled-tracks.https.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-mimetype.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-no-sink.https.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-pause-resume.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https.html
imported/w3c/web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https.html

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:

(WebCore::MediaRecorderPrivateAVFImpl::create):
(WebCore::MediaRecorderPrivateAVFImpl::MediaRecorderPrivateAVFImpl):

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::create):

Source/WebKit:

Pass a boolean instead of width/height for the video track.

  • GPUProcess/webrtc/RemoteMediaRecorder.cpp:

(WebKit::RemoteMediaRecorder::create):

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

(WebKit::RemoteMediaRecorderManager::createRecorder):

  • GPUProcess/webrtc/RemoteMediaRecorderManager.h:
  • GPUProcess/webrtc/RemoteMediaRecorderManager.messages.in:
  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::startRecording):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.h:

LayoutTests:

9:56 PM Changeset in webkit [263927] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/PAL

Fix a build error by forward declaring _NSHTTPAlternativeServicesStorage
https://bugs.webkit.org/show_bug.cgi?id=213911

Patch by Saagar Jha <saagar@saagarjha.com> on 2020-07-03
Reviewed by Darin Adler.

The public 10.16 SDK does not define _NSHTTPAlternativeServicesStorage, and the interface
declaration comes after it is used. Forward declare it to fix the error.

  • pal/spi/cf/CFNetworkSPI.h: Forward declare _NSHTTPAlternativeServicesStorage.
7:33 PM Changeset in webkit [263926] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove all remaining #if (ENABLE_WEBGL and ENABLE_WEBXR)
https://bugs.webkit.org/show_bug.cgi?id=213946

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_WEBGL and ENABLE_WEBXR items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove all remaining #if, and sort files, getting rid of paragraphing

per directory to just turn this into three sorted lists of filenames (separate ones for
derived sources and generated bindings at the end). The source files themselves have the
appropriate conditionals and soon we will not need to support #if in Sources.txt files.

7:07 PM Changeset in webkit [263925] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GStreamer] Garden media/vp9.html failure

Unreviewed test gardening.

  • platform/glib/TestExpectations:
6:51 PM Changeset in webkit [263924] by Lauro Moura
  • 4 edits in trunk/LayoutTests

[GTK][WPE] Rebaseline imported dom/idlharness tests after r263903

Unreviewed test gardening.

  • platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
5:42 PM Changeset in webkit [263923] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed stack-overflow crash fix for r263890
https://bugs.webkit.org/show_bug.cgi?id=213912
<rdar://problem/65069686>

Renamed mimeTypeForExtension to mimeTypeForExtensionFromRegistry.

  • platform/win/MIMETypeRegistryWin.cpp:

(WebCore::mimeTypeForExtensionFromRegistry):
(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::mimeTypeForExtension): Deleted.

5:30 PM Changeset in webkit [263922] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix for r263913
https://bugs.webkit.org/show_bug.cgi?id=213939
<rdar://problem/65084185>

  • CMakeLists.txt: Process encrypted media IDL files even if ENABLE_ENCRYPTED_MEDIA is off.
5:16 PM Changeset in webkit [263921] by Kocsen Chung
  • 1 copy in tags/Safari-610.1.20.3

Tag Safari-610.1.20.3.

5:12 PM Changeset in webkit [263920] by Kocsen Chung
  • 2 edits in branches/safari-610.1.20-branch/Source/WebKit

Revert r263781. rdar://problem/65085169

5:12 PM Changeset in webkit [263919] by Kocsen Chung
  • 3 edits in branches/safari-610.1.20-branch/Source/WebKit

Revert r263793. rdar://problem/65085169

4:56 PM Changeset in webkit [263918] by Darin Adler
  • 4 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_WIRELESS_PLAYBACK_TARGET
https://bugs.webkit.org/show_bug.cgi?id=213945

Reviewed by Sam Weinig.

  • CMakeLists.txt: Moved items from the pictureinpicture and remoteplayback module here

from PlatformMac.cmake. Even if these are currently only implemented on Mac, they are
not intrinsically Mac-specific, so they belong here.

  • PlatformMac.cmake: Ditto.
  • Sources.txt: Remove #if ENABLE_WIRELESS_PLAYBACK_TARGET and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

4:51 PM Changeset in webkit [263917] by Kocsen Chung
  • 8 edits in branches/safari-610.1.20-branch/Source

Versioning.

WebKit-610.1.20.3

4:43 PM Changeset in webkit [263916] by weinig@apple.com
  • 32 edits
    2 deletes in trunk

Remove support for ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE
https://bugs.webkit.org/show_bug.cgi?id=213932

Reviewed by Darin Adler.

Removes support for non-standard <input type="datetime">, currently being
guarded by the macro ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE. This macro, was
added back in 2013 as a temporary measure to support some engines who shipped
support for <input type="datetime">. It is currently not enabled for any
ports so now seems like as good a time as any to remove it.

.:

  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmake/tools/vsprops/FeatureDefines.props:
  • Source/cmake/tools/vsprops/FeatureDefinesCairo.props:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/html.css:

(#endif):

  • html/DateTimeInputType.cpp: Removed.
  • html/DateTimeInputType.h: Removed.
  • html/InputType.cpp:

(WebCore::createInputTypeFactoryMap):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::inputTypeDateTimeEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setInputTypeDateTimeEnabled): Deleted.

  • platform/DateComponents.cpp:

(WebCore::DateComponents::setMillisecondsSinceEpochForDateTimeLocal):
(WebCore::DateComponents::millisecondsSinceEpoch const):
(WebCore::DateComponents::toString const):
(WebCore::DateComponents::fromParsingDateTime): Deleted.
(WebCore::DateComponents::parseDateTime): Deleted.
(WebCore::DateComponents::fromMillisecondsSinceEpochForDateTime): Deleted.
(WebCore::DateComponents::setMillisecondsSinceEpochForDateTime): Deleted.

  • platform/DateComponents.h:
  • platform/text/PlatformLocale.cpp:

(WebCore::Locale::formatDateTime):

  • platform/text/ios/LocalizedDateCache.mm:

(WebCore::LocalizedDateCache::createFormatterForType):

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/PlatformEnable.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4:25 PM Changeset in webkit [263915] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_USER_MESSAGE_HANDLERS
https://bugs.webkit.org/show_bug.cgi?id=213944

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_USER_MESSAGE_HANDLERS items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_USER_MESSAGE_HANDLERS and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

4:23 PM Changeset in webkit [263914] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/SourcesCocoa.txt: Remove #if ENABLE_APPLE_PAY
https://bugs.webkit.org/show_bug.cgi?id=213943

Reviewed by Sam Weinig.

  • SourcesCocoa.txt: Remove #if ENABLE_APPLE_PAY and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.
Also, sort the files and remove the separate per-directory paragraphs, making this closer
to just a sorted list of filenames with less "editorial" content. Also added comments
about the USE_INTERNAL_SDK part of the file.

3:17 PM Changeset in webkit [263913] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_ENCRYPTED_MEDIA
https://bugs.webkit.org/show_bug.cgi?id=213939

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_ENCRYPTED_MEDIA items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_LEGACY_ENCRYPTED_MEDIA and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:50 PM Changeset in webkit [263912] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_LEGACY_ENCRYPTED_MEDIA
https://bugs.webkit.org/show_bug.cgi?id=213937

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_LEGACY_ENCRYPTED_MEDIA items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_LEGACY_ENCRYPTED_MEDIA and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:45 PM Changeset in webkit [263911] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_QUOTA
https://bugs.webkit.org/show_bug.cgi?id=213941

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_QUOTA items out of "if (ENABLE_QUOTA)".

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_QUOTA and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:43 PM Changeset in webkit [263910] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_GAMEPAD
https://bugs.webkit.org/show_bug.cgi?id=213936

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_GAMEPAD items out of "if (ENABLE_GAMEPAD)".

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_GAMEPAD and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:40 PM Changeset in webkit [263909] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_MEDIA_SOURCE
https://bugs.webkit.org/show_bug.cgi?id=213940

Reviewed by Sam Weinig.

  • Sources.txt: Remove #if ENABLE_MEDIA_SOURCE and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:27 PM Changeset in webkit [263908] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

[WPE] Fix build with clang after r263898
https://bugs.webkit.org/show_bug.cgi?id=213942

Unreviewed build fix.

  • loader/appcache/ApplicationCacheManifestParser.cpp:
2:16 PM Changeset in webkit [263907] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_APPLICATION_MANIFEST
https://bugs.webkit.org/show_bug.cgi?id=213935

Reviewed by Sam Weinig.

  • Sources.txt: Remove #if ENABLE_APPLICATION_MANIFEST and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

1:30 PM Changeset in webkit [263906] by weinig@apple.com
  • 17 edits in trunk/Source

Add "-Wliteral-conversion" warning to Xcode based builds and fix the issues it finds
https://bugs.webkit.org/show_bug.cgi?id=213931

Reviewed by Darin Adler.

  • Configurations/Base.xcconfig:

Add -Wliteral-conversion.
Source/WebCore:

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::draw):
Fix error due to passing a double when a uint8_t was expected. This probably means
that the debug borders looked wrong for a little bit, but should now be back to
their transparent splendor.

1:06 PM Changeset in webkit [263905] by ysuzuki@apple.com
  • 7 edits
    1 add in trunk

[JSC] Add exception checks before and after viewWithUnderlyingString
https://bugs.webkit.org/show_bug.cgi?id=213923
<rdar://problem/65068473>

Reviewed by Sam Weinig.

JSTests:

  • stress/exception-checks-before-and-after-viewwithunderlyingstring.js: Added.

(shouldThrow):

Source/JavaScriptCore:

This patch inserts missing exception checks before and after viewWithUnderlyingString.

  • jsc.cpp:

(printInternal):
(functionDebug):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncParseFloat):

  • runtime/JSONObject.cpp:

(JSC::JSONProtoFuncParse):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):

12:59 PM Changeset in webkit [263904] by commit-queue@webkit.org
  • 24 edits in trunk/Source

Unreviewed, reverting r263882.
https://bugs.webkit.org/show_bug.cgi?id=213933

Broke the build

Reverted changeset:

"Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to
replace _WKProcessPoolConfiguration.hstsStorageDirectory"
https://bugs.webkit.org/show_bug.cgi?id=213048
https://trac.webkit.org/changeset/263882

11:54 AM Changeset in webkit [263903] by Chris Dumez
  • 48 edits
    5 copies
    3 moves
    29 adds
    9 deletes in trunk/LayoutTests

Resync web-platform-tests/html/dom & web-platform-tests/html/infrastructure from upstream
https://bugs.webkit.org/show_bug.cgi?id=213908

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Resync web-platform-tests/html/dom & web-platform-tests/html/infrastructure from upstream 145839c323ba1ec8b.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/html/dom/*: Updated.
  • web-platform-tests/html/infrastructure/*: Updated.

LayoutTests:

  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/usvstring-reflection.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
11:32 AM Changeset in webkit [263902] by Alan Bujtas
  • 10 edits
    3 adds in trunk

[LFC][TFC][Quirk] Inflow child box quirk vertical margins should collapse with table cell.
https://bugs.webkit.org/show_bug.cgi?id=213926

Reviewed by Antti Koivisto.

Source/WebCore:

The BFC rootd (table cell box in this case) nornally do not collapse their margins with the first/last inflow child.
However in quirks mode, cell boxes collapse their (non-existing)margins with inflow quirk margins.

<table><tr><td><p>text content</td></tr></table> <- <p> box's top position is at 0px in quirks mode, while at 16px (1em) in strict mode.

This patch ensures that we collapse the quirk margins and take them into account when computing the cell's content height.

Test: fast/layoutformattingcontext/table-quirk-vertical-margin-simple.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingContextQuirks.cpp:

(WebCore::Layout::BlockFormattingContext::Quirks::shouldCollapseMarginBeforeWithParentMarginBefore const):
(WebCore::Layout::BlockFormattingContext::Quirks::shouldCollapseMarginAfterWithParentMarginAfter const):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeCollapsesWithParentMarginBefore const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginAfterCollapsesWithParentMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedVerticalValues):

  • layout/tableformatting/TableFormattingContext.h:

(WebCore::Layout::TableFormattingContext::Quirks::Quirks):

  • layout/tableformatting/TableFormattingContextGeometry.cpp:

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

  • layout/tableformatting/TableFormattingContextQuirks.cpp: Added.

(WebCore::Layout::TableFormattingContext::Quirks::shouldIgnoreChildContentVerticalMargin const):

LayoutTests:

  • fast/layoutformattingcontext/table-quirk-vertical-margin-simple-expected.html: Added.
  • fast/layoutformattingcontext/table-quirk-vertical-margin-simple.html: Added.
9:55 AM Changeset in webkit [263901] by weinig@apple.com
  • 22 edits
    2 copies in trunk

Split color conversion functions out of ColorUtilities.h/cpp into their own file.
https://bugs.webkit.org/show_bug.cgi?id=213803

Reviewed by Simon Fraser.

Source/WebCore:

Moves color conversion functions (both between color spaces like toDisplayP3(const SRGBA&)
and between different representations like toHSLA(const SRGBA&)) to their own files.

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

Add new files.

  • css/parser/CSSPropertyParserHelpers.cpp:
  • editing/cocoa/DataDetection.mm:
  • html/canvas/CanvasRenderingContext2DBase.cpp:
  • html/canvas/CanvasStyle.cpp:

Add include of ColorConversion.h

  • platform/graphics/ColorConversion.cpp: Added.
  • platform/graphics/ColorConversion.h: Added.
  • platform/graphics/ColorUtilities.cpp:
  • platform/graphics/ColorUtilities.h:

Move functions to the new files.

  • platform/graphics/ExtendedColor.cpp:
  • platform/graphics/cairo/ImageBufferCairoBackend.cpp:
  • platform/graphics/filters/FELighting.cpp:

Add include of ColorConversion.h, remove unncessary include of ColorUtilities.h

  • platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp:
  • platform/graphics/filters/FEDisplacementMap.cpp:
  • platform/graphics/filters/FEMorphology.cpp:
  • platform/graphics/filters/FilterOperations.cpp:

Remove unncessary include of ColorUtilities.h

  • platform/graphics/filters/FilterOperation.cpp:

Add include of ColorConversion.h and ColorTypes.h, remove unncessary include of ColorUtilities.h.

  • platform/graphics/gtk/ColorGtk.cpp:
  • platform/graphics/win/ColorDirect2D.cpp:

Remove unncessary include of ColorUtilities.h. Update to use standard float -> SimpleColor idiom
using SRGBA<float>.

Tools:

  • TestWebKitAPI/Tests/WebCore/ColorTests.cpp:

Update to include ColorConversion.h and ColorTypes.h rather than ColorUtilities.h

9:45 AM Changeset in webkit [263900] by weinig@apple.com
  • 21 edits in trunk/Source/WebCore

Convert DateComponents parsing code to use Optional based return values rather than out-parameters
https://bugs.webkit.org/show_bug.cgi?id=213440

Reviewed by Darin Adler.

Rework DateComponents and Date/Time related InputTypes to use Optional based programming
for parsing results. Also take the opportunity to remove unicode upconversion from
DateComponent parsing and instead separate UChar and LChar variants via templates.

  • html/BaseDateAndTimeInputType.cpp:
  • html/BaseDateAndTimeInputType.h:
  • html/DateInputType.cpp:
  • html/DateInputType.h:
  • html/DateTimeInputType.cpp:
  • html/DateTimeInputType.h:
  • html/DateTimeLocalInputType.cpp:
  • html/DateTimeLocalInputType.h:
  • html/HTMLInputElement.cpp:
  • html/HTMLInputElement.h:
  • html/InputType.cpp:
  • html/InputType.h:
  • html/MonthInputType.cpp:
  • html/MonthInputType.h:
  • html/TimeInputType.cpp:
  • html/TimeInputType.h:
  • html/WeekInputType.cpp:
  • html/WeekInputType.h:
    • Removes parseToDateComponentsInternal. No need it and parseToDateComponents.
    • Makes parseToDateComponents pure virtual. The old code had a default implementations down in InputType, but it had no callers.
    • Remove iOS vs. non-iOS difference for dateType(). It is now available on InputType on all platforms.
    • Make setMillisecondToDateComponents and parseToDateComponents return an Optional.
  • platform/DateComponents.cpp:
  • platform/DateComponents.h:
    • Replace member function based interfaces for parsing/setting explicit time offsets with new factory functions that return Optional<DateComponents>.
    • These factories are implemented using the existing member functions, which are now private.
    • Make max/min constants constexpr.
    • Make parse* member functions templates to allow factory parse functions to call them without upconverting.
    • Replace header guard with #pragma once.
8:19 AM WebKitGTK/2.28.x edited by Michael Catanzaro
(diff)
8:09 AM Changeset in webkit [263899] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[WPE][GTK] Bubblewrap sandbox should not attempt to bind empty paths
https://bugs.webkit.org/show_bug.cgi?id=202880

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-07-03
Reviewed by Carlos Garcia Campos.

If an empty path is set in LD_LIBRARY_PATH (e.g. /foo::/bar), we wind up passing
--ro-bind-try --ro-bind-try to bwrap, where the second --ro-bind-try is treated as the
source path to mount, and the next flag we pass gets treated as the destination path. The
web process crashes with this confusing error:

bwrap: Can't create file at /.flatpak-info: Read-only file system

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp:

(WebKit::bindIfExists):

8:01 AM Changeset in webkit [263898] by weinig@apple.com
  • 3 edits in trunk/Source/WebCore

Cleanup ApplicationCacheManifestParser.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=213844

Reviewed by Alex Christensen.

Address some post review comments.

  • loader/appcache/ApplicationCacheManifestParser.cpp:

(WebCore::parseApplicationCacheManifest):
Fix typos: manfest -> manifest.

  • loader/appcache/ApplicationCacheManifestParser.h:

Stop including ApplicationCache.h, and only include / declare what's needed.

8:00 AM Changeset in webkit [263897] by clopez@igalia.com
  • 2 edits in trunk/Tools

[WPE][webkitpy] Use headless driver instead of wayland driver
https://bugs.webkit.org/show_bug.cgi?id=213914

Reviewed by Philippe Normand.

WPE now supports running tests completely headless, but we are
still using the webkitpy WaylandDriver to run the tests.
This causes an error if the environment doesn't have defined the
WAYLAND_DISPLAY or WAYLAND_SOCKET environment variables.
Switch the driver to HeadlessDriver.

  • Scripts/webkitpy/port/wpe.py:

(WPEPort._driver_class):

7:55 AM Changeset in webkit [263896] by youenn@apple.com
  • 7 edits in trunk

Support MediaRecorder.onstart
https://bugs.webkit.org/show_bug.cgi?id=213720

Reviewed by Darin Adler.

Source/WebCore:

Fire start event if MediaRecorder.start is successful.
Do some WebIDL clean-up, in particular change timeSlice from long to unsigned long, as per spec.
Covered by added test.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::startRecording):

  • Modules/mediarecorder/MediaRecorder.h:
  • Modules/mediarecorder/MediaRecorder.idl:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt:
  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html:
7:31 AM Changeset in webkit [263895] by Carlos Garcia Campos
  • 4 edits in trunk

REGRESSION(r261779): [GTK][WPE] http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral.html is failing
https://bugs.webkit.org/show_bug.cgi?id=212017

Reviewed by Michael Catanzaro.

Tools:

Use the ephemeral data store when useEphemeralSession option is enabled.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::platformInitializeDataStore):

LayoutTests:

Remove expectations for tests that are now passing.

  • platform/gtk/TestExpectations:
7:21 AM Changeset in webkit [263894] by youenn@apple.com
  • 20 edits
    1 copy
    4 adds in trunk

Allow registering VP9 as a VT decoder
https://bugs.webkit.org/show_bug.cgi?id=213837
<rdar://problem/64984881>

Reviewed by Jer Noble.

Source/ThirdParty/libwebrtc:

Implement a method that registers VP9 as a VT decoder.
Implement the binding code between VP9DecoderImpl and VT pluggable codec API.
Restrict this to internal SDK for now.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.mm:

(webrtc::createPixelBufferPool):

  • Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp: Added.

(webrtc::registerWebKitVP9Decoder):
(webrtc::createWebKitVP9Decoder):
(webrtc::invalidateVP9Decoder):
(webrtc::finalizeVP9Decoder):
(webrtc::copyVP9DecoderDebugDescription):
(webrtc::webKitVP9DecoderFromVTDecoder):
(webrtc::startVP9DecoderSession):
(webrtc::decodeVP9DecoderFrameFromContiguousBlock):
(webrtc::decodeVP9DecoderFrame):
(webrtc::WebKitVP9DecoderReceiver::WebKitVP9DecoderReceiver):
(webrtc::WebKitVP9DecoderReceiver::~WebKitVP9DecoderReceiver):
(webrtc::WebKitVP9DecoderReceiver::decoderFailed):
(webrtc::WebKitVP9DecoderReceiver::Decoded):

  • Source/webrtc/sdk/WebKit/WebKitVP9Decoder.h: Added.
  • libwebrtc.xcodeproj/project.pbxproj:

Source/WebKit:

Add a runtime flag to enable registration of VP9 as a VT decoder.
Register conditionally this decoder on creation of page based on this flag.

Test: media/vp9.html

  • Scripts/GeneratePreferences.rb:
  • Shared/WebPageCreationParameters.cpp:

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

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

(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_limitsNavigationsToAppBoundDomains):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::enableVP9Decoder):

  • WebProcess/WebProcess.h:

LayoutTests:

  • media/content/bipbop-vp9.mp4: Added.
  • media/vp9-expected.txt: Added.
  • media/vp9.html: Added.
6:12 AM Changeset in webkit [263893] by Lauro Moura
  • 81 edits
    1 copy
    3 adds
    5 deletes in trunk/WebDriverTests

[WebDriver][WPE] Update imported selenium to a version that enables WPE WebDriver tests
https://bugs.webkit.org/show_bug.cgi?id=213916

Reviewed by Carlos Garcia Campos.

Also updated the importer.json file with more paths to be skipped.

  • imported/selenium/common/.classpath: Removed.
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_222222_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_228ef1_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_ef8c08_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_ffd27a_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_ffffff_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/jquery-ui-1.12.1.min.css: Added.
  • imported/selenium/common/src/web/css/ui-lightness/jquery-ui-1.8.10.custom.css: Removed.
  • imported/selenium/common/src/web/draggableLists.html:
  • imported/selenium/common/src/web/droppableItems.html:
  • imported/selenium/common/src/web/jquery-1.3.2.js: Removed.
  • imported/selenium/common/src/web/js/jquery-1.4.4.min.js: Removed.
  • imported/selenium/common/src/web/js/jquery-3.5.1.min.js: Added.
  • imported/selenium/common/src/web/js/jquery-ui-1.12.1.min.js: Added.
  • imported/selenium/common/src/web/js/jquery-ui-1.8.10.custom.min.js: Removed.
  • imported/selenium/common/src/web/mousePositionTracker.html:
  • imported/selenium/common/src/web/selectableItems.html:
  • imported/selenium/importer.json:
  • imported/selenium/py/conftest.py:
  • imported/selenium/py/selenium/init.py:
  • imported/selenium/py/selenium/webdriver/init.py:
  • imported/selenium/py/selenium/webdriver/common/action_chains.py:
  • imported/selenium/py/selenium/webdriver/common/actions/action_builder.py:
  • imported/selenium/py/selenium/webdriver/common/actions/pointer_actions.py:
  • imported/selenium/py/selenium/webdriver/common/actions/pointer_input.py:
  • imported/selenium/py/selenium/webdriver/common/desired_capabilities.py:
  • imported/selenium/py/selenium/webdriver/common/html5/application_cache.py:
  • imported/selenium/py/selenium/webdriver/common/keys.py:
  • imported/selenium/py/selenium/webdriver/common/options.py:
  • imported/selenium/py/selenium/webdriver/common/service.py:
  • imported/selenium/py/selenium/webdriver/common/timeouts.py:
  • imported/selenium/py/selenium/webdriver/common/window.py:
  • imported/selenium/py/selenium/webdriver/remote/file_detector.py:
  • imported/selenium/py/selenium/webdriver/remote/remote_connection.py:
  • imported/selenium/py/selenium/webdriver/remote/switch_to.py:
  • imported/selenium/py/selenium/webdriver/remote/webdriver.py:
  • imported/selenium/py/selenium/webdriver/remote/webelement.py:
  • imported/selenium/py/selenium/webdriver/support/color.py:
  • imported/selenium/py/selenium/webdriver/support/event_firing_webdriver.py:
  • imported/selenium/py/selenium/webdriver/support/expected_conditions.py:
  • imported/selenium/py/selenium/webdriver/support/relative_locator.py:
  • imported/selenium/py/selenium/webdriver/support/select.py:
  • imported/selenium/py/selenium/webdriver/support/wait.py:
  • imported/selenium/py/selenium/webdriver/wpewebkit/options.py:
  • imported/selenium/py/test/selenium/webdriver/common/alerts_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/api_example_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/appcache_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/children_finding_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/clear_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/click_scrolling_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/cookie_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/correct_event_firing_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/driver_element_finding_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/element_attribute_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/executing_async_javascript_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/executing_javascript_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/form_handling_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/frame_switching_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/google_one_box.py:
  • imported/selenium/py/test/selenium/webdriver/common/implicit_waits_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/interactions_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/page_load_timeout_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/page_loading_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/position_and_size_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/repr_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/results_page.py:
  • imported/selenium/py/test/selenium/webdriver/common/select_class_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/stale_reference_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/takes_screenshots_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/text_handling_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/timeout_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/typing_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/visibility_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/w3c_interaction_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/webdriverwait_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/window_switching_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/window_tests.py:
  • imported/selenium/py/test/selenium/webdriver/remote/remote_hub_connection.py: Copied from WebDriverTests/imported/selenium/py/selenium/webdriver/common/window.py.
  • imported/selenium/py/test/selenium/webdriver/safari/launcher_tests.py:
  • imported/selenium/py/test/selenium/webdriver/support/event_firing_webdriver_tests.py:
  • imported/selenium/py/test/selenium/webdriver/support/relative_by_tests.py:
5:58 AM Changeset in webkit [263892] by youenn@apple.com
  • 4 edits
    2 adds in trunk

MediaRecorder.start() Method is Ignoring the "timeslice" Parameter
https://bugs.webkit.org/show_bug.cgi?id=202233
<rdar://problem/55720555>

Reviewed by Eric Carlson.

Source/WebCore:

Use a timer to implement timeSlice parameter.
Schedule timer either when start is called or as part of requestData callback.
This should ensure that, if requestData is called by the application, the timer will be rescheduled appropriately.

Test: http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::requestData):

  • Modules/mediarecorder/MediaRecorder.h:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt: Added.
  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html: Added.
5:01 AM Changeset in webkit [263891] by youenn@apple.com
  • 16 edits
    2 adds in trunk

MediaRecorder stopRecorder() returns empty Blob after first use
https://bugs.webkit.org/show_bug.cgi?id=212274
<rdar://problem/63601298>

Reviewed by Eric Carlson.

Source/WebCore:

Refactor code to create/destroy MediaRecorderPrivate on MediaRecorder start/stop.
This allows reusing a MediaRecorder after a stop and restarting with a clean state.

We introduce MediaRecorderPrivate::startRecording to do the initialization,
which allows to fix a potential ref cycle as part of the error callback handling.

Make some improvements to the platform implementation, in particular add default initialization to all fields.
Align the code using AudioConverterRef to what is done in AudioSampleDataSource.
Also call VTCompressionSessionInvalidate when destroying the VideoSampleBufferCompressor.

Test: http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::requestData):

  • Modules/mediarecorder/MediaRecorder.h:
  • platform/mediarecorder/MediaRecorderPrivateMock.cpp:

(WebCore::MediaRecorderPrivateMock::fetchData):

  • platform/mediarecorder/MediaRecorderPrivate.h:

(WebCore::MediaRecorderPrivate::startRecording):

  • platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
  • platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:

(WebCore::AudioSampleBufferCompressor::~AudioSampleBufferCompressor):
(WebCore::AudioSampleBufferCompressor::initAudioConverterForSourceFormatDescription):
(WebCore::AudioSampleBufferCompressor::attachPrimingTrimsIfNeeded):
(WebCore::AudioSampleBufferCompressor::gradualDecoderRefreshCount):
(WebCore::AudioSampleBufferCompressor::sampleBufferWithNumPackets):
(WebCore::AudioSampleBufferCompressor::processSampleBuffersUntilLowWaterTime):

  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::stopRecording):

  • platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:

(WebCore::VideoSampleBufferCompressor::~VideoSampleBufferCompressor):

Source/WebKit:

Update implementation to do initialization as part of startRecording.

  • GPUProcess/webrtc/RemoteMediaRecorderManager.cpp:

(WebKit::RemoteMediaRecorderManager::releaseRecorder):
Remove ASSERT as recorder creation in WebProcess is always ok while creation in GPUProcess may fail and m_recorders may not be populated.

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::startRecording):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.h:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-multiple-start-stop-expected.txt: Added.
  • http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html: Added.
2:35 AM Changeset in webkit [263890] by commit-queue@webkit.org
  • 28 edits in trunk/Source

Change the names of MIMETypeRegistry methods to comply with webkit naming style
https://bugs.webkit.org/show_bug.cgi?id=213912

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-07-03
Reviewed by Youenn Fablet.

Source/WebCore:

Remove the verb 'get' from the name of some of the methods of MIMETypeRegistry.

  • editing/cocoa/WebArchiveResourceFromNSAttributedString.mm:

(WebCore::if):

  • fileapi/File.cpp:

(WebCore::File::computeNameAndContentType):

  • html/HTMLPlugInElement.cpp:

(WebCore::pluginReplacementForType):

  • loader/mac/LoaderNSURLExtras.mm:

(suggestedFilenameWithMIMEType):

  • platform/MIMETypeRegistry.cpp:

(WebCore::commonMimeTypesMap):
(WebCore::MIMETypeRegistry::mediaMIMETypeForExtension):
(WebCore::MIMETypeRegistry::mimeTypeForPath):
(WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
(WebCore::MIMETypeRegistry::normalizedMIMEType):
(WebCore::MIMETypeRegistry::appendFileExtensionIfNecessary):
(WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Deleted.
Delete this function since it is not used.

(WebCore::MIMETypeRegistry::getMIMETypeForPath): Deleted.
(WebCore::MIMETypeRegistry::getNormalizedMIMEType): Deleted.

  • platform/MIMETypeRegistry.h:
  • platform/cocoa/MIMETypeRegistryCocoa.mm:

(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::load):

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

(WebCore::ImageDecoderAVFObjC::filenameExtension const):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.h:
  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::invokeDidReceiveResponseForFile):

  • platform/playstation/MIMETypeRegistryPlayStation.cpp:

(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.

  • platform/win/MIMETypeRegistryWin.cpp:

(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.

  • platform/xdg/MIMETypeRegistryXdg.cpp:

(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.

Source/WebKit:

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::didSendRequest):

  • UIProcess/API/Cocoa/APIAttachmentCocoa.mm:

(API::mimeTypeInferredFromFileExtension):
(API::Attachment::setFileWrapperAndUpdateContentType):

  • UIProcess/API/Cocoa/WKOpenPanelParameters.mm:

(-[WKOpenPanelParameters _allowedFileExtensions]):

  • UIProcess/API/glib/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback):

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::fileCanBeAcceptedForUpload):

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::findPlugin):

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel presentWithParameters:resultListener:]):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::objectContentType):

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebMIMETypeRegistry.mm:

(+[WebMIMETypeRegistry mimeTypeForExtension:]):
(+[WebMIMETypeRegistry preferredExtensionForMIMEType:]):

Source/WebKitLegacy/win:

  • WebView.cpp:

(WebView::MIMETypeForExtension):

2:18 AM Changeset in webkit [263889] by ysuzuki@apple.com
  • 4 edits
    1 add in trunk

[JSC] Add exception checks in JSStringBuilder and Array#join
https://bugs.webkit.org/show_bug.cgi?id=213915
<rdar://problem/64878225>

Reviewed by Saam Barati and Mark Lam.

JSTests:

  • stress/out-of-memory-handle-in-join.js: Added.

(shouldThrow):

Source/JavaScriptCore:

This patch adds missing exception checks into Array#join's certain place and JSStringBuilder.

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncToString):

  • runtime/JSStringJoiner.h:

(JSC::JSStringJoiner::append):

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

[GTK4] Enable threaded rendering by default
https://bugs.webkit.org/show_bug.cgi?id=213883

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-07-03
Reviewed by Adrian Perez de Castro.

When building with GTK4 we no longer use the cairo context to render directly, so we can always enable the
threaded rendering. In WPE port threaded rendering is only enabled when env var WEBKIT_NICOSIA_PAINTING_THREADS
is present. This patch changes a bit the meaning of the env var, so that when 0 is passed the feature is
disabled too, instead of setting the number of threads to 4.

  • platform/graphics/nicosia/NicosiaPaintingEngine.cpp:

(Nicosia::PaintingEngine::create):

1:37 AM Changeset in webkit [263887] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

[GTK4] Support kinetic scrolling
https://bugs.webkit.org/show_bug.cgi?id=213791

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-07-03
Reviewed by Carlos Garcia Campos.

GtkEventControllerScroll skips the last event and exposes it in a separate signal.
Normally one would add the KINETIC flag and listen to decelerate signal, but since
WebKit already has code for calculating the velocity for GTK3, just use the same
code path as scroll signal handler.

  • Shared/gtk/NativeWebWheelEventGtk.cpp:

(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebWheelEvent):

  • Shared/gtk/WebEventFactory.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseScrollEnd):
(webkitWebViewBaseConstructed):

12:42 AM Changeset in webkit [263886] by Diego Pino Garcia
  • 25 edits
    6 adds
    4 deletes in trunk/LayoutTests

Unreviewed test gardening. Update test expectations and baselines after r263858.

Baselines need to be updated after r263856. Some PNG images moved to
GLIB as their text output was on GLIB as well.

Filed a test crashing after r263858.

  • platform/glib/TestExpectations:
  • platform/glib/fast/css/percentage-non-integer-expected.png: Added.
  • platform/glib/fast/css/percentage-non-integer-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug100334-expected.png: Added.
  • platform/glib/tables/mozilla/bugs/bug100334-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug3037-1-expected.png: Added.
  • platform/glib/tables/mozilla/bugs/bug3037-1-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/other/empty_cells-expected.png: Added.
  • platform/glib/tables/mozilla_expected_failures/other/empty_cells-expected.txt:
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/css/percentage-non-integer-expected.png: Removed.
  • platform/gtk/fast/dynamic/insert-before-table-part-in-continuation-expected.png:
  • platform/gtk/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/gtk/fast/repaint/table-cell-move-expected.png:
  • platform/gtk/fast/repaint/table-cell-move-expected.txt:
  • platform/gtk/fast/table/cell-absolute-child-expected.png:
  • platform/gtk/fast/table/cell-absolute-child-expected.txt:
  • platform/gtk/fast/table/empty-cells-expected.png:
  • platform/gtk/fast/table/empty-cells-expected.txt:
  • platform/gtk/fast/table/prepend-in-anonymous-table-expected.png:
  • platform/gtk/fast/table/prepend-in-anonymous-table-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug100334-expected.png: Removed.
  • platform/gtk/tables/mozilla/bugs/bug10633-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug10633-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1188-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1302-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug1302-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug16012-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug16012-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug222336-expected.png: Added.
  • platform/gtk/tables/mozilla/bugs/bug222336-expected.txt: Added.
  • platform/gtk/tables/mozilla/bugs/bug3037-1-expected.png: Removed.
  • platform/gtk/tables/mozilla_expected_failures/other/empty_cells-expected.png: Removed.
12:21 AM Changeset in webkit [263885] by Fujii Hironori
  • 3 edits in trunk/Source/JavaScriptCore

Builtin internal wrapper implementation files wrap static global initialization code with incorrect guards
https://bugs.webkit.org/show_bug.cgi?id=213792

Reviewed by Youenn Fablet.

Streams API hadn't worked since r263700 for AppleWin and WinCairo
ports. r263700 removed the unused ENABLE_STREAMS_API.

Before r263700, the static global initialization code was wrapped

by "ENABLE(WEB_RTC)
ENABLE(STREAMS_API)". After r263700, it was

wrapped by "ENABLE(WEB_RTC)". AppleWin and WinCairo doesn't turn
on ENABLE_WEB_RTC. So, builtins for Streams API weren't properly
initialized for them.

  • Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result: Rebaselined.
  • Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py:

(BuiltinsInternalsWrapperImplementationGenerator.generate_initialize_method):
Removed calling wrap_with_guard for the value of _generate_initialize_static_globals().

12:15 AM Changeset in webkit [263884] by Fujii Hironori
  • 7 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/fast/css/acid2-expected.txt:
  • platform/wincairo/fast/css/acid2-pixel-expected.txt:
  • platform/wincairo/fast/css/percentage-non-integer-expected.txt:
  • platform/wincairo/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/wincairo/http/tests/misc/acid2-expected.txt:
  • platform/wincairo/http/tests/misc/acid2-pixel-expected.txt:

Jul 2, 2020:

10:51 PM Changeset in webkit [263883] by mark.lam@apple.com
  • 7 edits in trunk/Source/WebCore

ReadableStream::create() should handle any exceptions that may be thrown during construction.
https://bugs.webkit.org/show_bug.cgi?id=213819

Reviewed by Youenn Fablet and Yusuke Suzuki.

Win EWS detected that ReadableStream::create() can throw exceptions, and we were
failing to handle it. This patch fixes that.

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::put):

  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::readableStream):
(WebCore::FetchBodyOwner::createReadableStream):

  • Modules/fetch/FetchBodyOwner.h:
  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::clone):

  • bindings/js/ReadableStream.cpp:

(WebCore::ReadableStream::create):

  • bindings/js/ReadableStream.h:
9:17 PM Changeset in webkit [263882] by commit-queue@webkit.org
  • 24 edits in trunk/Source

Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to replace _WKProcessPoolConfiguration.hstsStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=213048

Patch by Alex Christensen <achristensen@webkit.org> on 2020-07-02
Reviewed by Youenn Fablet.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

This uses CFNetwork SPI introduced in rdar://problem/50109631 to allow HSTS storage per NSURLSession.
To be complete, I also deprecated our UI process HSTS state removal attempt SPIs, WKContextResetHSTSHosts and
WKContextResetHSTSHostsAddedAfterDate, which had their last use removed in rdar://problem/64220838.

I manually verified that this new SPI puts HSTS data in the specified location, and I also verified that HSTS
state querying and removal works with the new CFNetwork SPI as it did with the old one.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkSessionCreationParameters.cpp:

(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):

  • NetworkProcess/NetworkSessionCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::hostNamesWithHSTSCache const):
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):
(WebKit::NetworkProcess::clearHSTSCache):
(WebKit::NetworkProcess::getHostNamesWithHSTSCache): Deleted.

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::hstsStorage const):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::hostNamesWithHSTSCache const):
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):
(WebKit::NetworkProcess::clearHSTSCache):
(WebKit::NetworkProcess::getHostNamesWithHSTSCache): Deleted.

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(WKContextResetHSTSHosts):
(WKContextResetHSTSHostsAddedAfterDate):

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:

(-[_WKWebsiteDataStoreConfiguration hstsStorageDirectory]):
(-[_WKWebsiteDataStoreConfiguration setHSTSStorageDirectory:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::privateBrowsingSession): Deleted.
(WebKit::WebProcessPool::resetHSTSHosts): Deleted.
(WebKit::WebProcessPool::resetHSTSHostsAddedAfterDate): Deleted.

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::resolvedHSTSStorageDirectory const):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::copy const):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

Source/WTF:

  • wtf/PlatformHave.h:
8:40 PM Changeset in webkit [263881] by achristensen@apple.com
  • 13 edits in trunk

Update Mac CMake build

.:

  • Source/cmake/OptionsMac.cmake:

Source/JavaScriptCore:

  • PlatformMac.cmake:

Source/WebCore:

  • PlatformMac.cmake:

Source/WebKit:

  • PlatformMac.cmake:

Source/WebKitLegacy:

  • PlatformMac.cmake:

Tools:

  • DumpRenderTree/PlatformMac.cmake:
  • WebKitTestRunner/PlatformMac.cmake:
8:19 PM Changeset in webkit [263880] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

MIMETypeRegistry::getExtensionsForMIMEType() needs to handle wildcard MIME types
https://bugs.webkit.org/show_bug.cgi?id=213826

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-07-02
Reviewed by Darin Adler.

Addressing post commit review comments for r263832.

  • platform/cocoa/MIMETypeRegistryCocoa.mm:

(WebCore::extensionsForMIMETypeMap):

7:01 PM Changeset in webkit [263879] by commit-queue@webkit.org
  • 8 edits in trunk

Add testing infrastructure and SPI declaration for HTTP/2 ping
https://bugs.webkit.org/show_bug.cgi?id=213913

Patch by Alex Christensen <achristensen@webkit.org> on 2020-07-02
Reviewed by Jer Noble.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WTF:

This is work towards rdar://problem/64495827

  • wtf/PlatformHave.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:

(-[SessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(TestWebKitAPI::pingPong):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/cocoa/HTTPServer.h:

(TestWebKitAPI::H2::Frame::Frame):
(TestWebKitAPI::H2::Frame::type const):
(TestWebKitAPI::H2::Frame::flags const):
(TestWebKitAPI::H2::Frame::streamID const):
(TestWebKitAPI::H2::Frame::payload const):
(TestWebKitAPI::H2::Connection::create):
(TestWebKitAPI::H2::Connection::Connection):

  • TestWebKitAPI/cocoa/HTTPServer.mm:

(TestWebKitAPI::HTTPServer::listenerParameters):
(TestWebKitAPI::dataFromVector):
(TestWebKitAPI::vectorFromData):
(TestWebKitAPI::HTTPServer::request const):
(TestWebKitAPI::Connection::receiveBytes const):
(TestWebKitAPI::Connection::receiveHTTPRequest const):
(TestWebKitAPI::Connection::send const):
(TestWebKitAPI::H2::Connection::send const):
(TestWebKitAPI::H2::Connection::receive const):

6:05 PM Changeset in webkit [263878] by beidson@apple.com
  • 3 edits
    3 adds in trunk/Source/WebCore

GameController.framework soft linking refactoring
https://bugs.webkit.org/show_bug.cgi?id=213909

Reviewed by Tim Horton.

No new tests (No behavior changes)

  • WebCore.xcodeproj/project.pbxproj:
  • platform/gamepad/cocoa/GameControllerGamepadProvider.mm:

(WebCore::GameControllerGamepadProvider::startMonitoringGamepads):

  • platform/gamepad/cocoa/GameControllerSPI.h: Added.
  • platform/gamepad/cocoa/GameControllerSoftLink.h: Added.
  • platform/gamepad/cocoa/GameControllerSoftLink.mm: Added.
5:22 PM Changeset in webkit [263877] by Kocsen Chung
  • 1 copy in tags/Safari-610.1.20.2

Tag Safari-610.1.20.2.

5:17 PM Changeset in webkit [263876] by Kocsen Chung
  • 16 edits
    2 deletes in branches/safari-610.1.20-branch

Cherry-pick r263854. rdar://problem/65048370

Unreviewed, reverting r263633, r263651, and r263671.

Still seeing MediaRecorder test crashes after re-landing
r263633

Reverted changesets:

"MediaRecorder stopRecorder() returns empty Blob after first
use"
https://bugs.webkit.org/show_bug.cgi?id=212274
https://trac.webkit.org/changeset/263633

"MediaRecorder.start() Method is Ignoring the "timeslice"
Parameter"
https://bugs.webkit.org/show_bug.cgi?id=202233
https://trac.webkit.org/changeset/263651

"Support MediaRecorder.onstart"
https://bugs.webkit.org/show_bug.cgi?id=213720
https://trac.webkit.org/changeset/263671

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

5:08 PM Changeset in webkit [263875] by Kocsen Chung
  • 8 edits in branches/safari-610.1.20-branch/Source

Versioning.

WebKit-610.1.20.2

4:15 PM Changeset in webkit [263874] by Kate Cheney
  • 8 edits in trunk

Custom URL schemes should be treated as app-bound
https://bugs.webkit.org/show_bug.cgi?id=213889
<rdar://problem/64804671>

Reviewed by Brent Fulgham.

Source/WebKit:

For applications which opt-in to App-Bound Domains, allow
specification of app-bound custom URL schemes. All content loaded
using an app-bound scheme will have access to otherwise restricted
APIs. A custom scheme is specified by a colon at the end of a string
in the WKAppBoundDomains list. Custom schemes are included in the
count of 10 app-bound domains.

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _appBoundSchemes:]):

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:

SPI for testing.

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::appBoundSchemes):
(WebKit::WebsiteDataStore::initializeAppBoundDomains):
Change variable name from appBoundDomains to appBoundData now that
more than domains can be specified in the Info.plist.

(WebKit::WebsiteDataStore::ensureAppBoundDomains const):
Return both domains and schemes to avoid code duplication, at the expense
of occasionally returning an unused parameter if only domains or only
schemes are needed.

(WebKit::WebsiteDataStore::beginAppBoundDomainCheck):
(WebKit::WebsiteDataStore::getAppBoundDomains const):
(WebKit::WebsiteDataStore::getAppBoundSchemes const):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

Added custom schemes to TestWebKitAPI's Info.plist for testing
duplicate values and the max of 10 domains/schemes. Added
two API tests to check that schemes are properly read from the
Info.plist and that content loaded using a specified app-bound scheme
has restricted API use.

  • TestWebKitAPI/Info.plist:
  • TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:

(TEST):

3:50 PM Changeset in webkit [263873] by Alan Coon
  • 1 copy in tags/Safari-610.1.20.1

Tag Safari-610.1.20.1.

3:49 PM Changeset in webkit [263872] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Allow selecting text of Response (DOM Tree)
https://bugs.webkit.org/show_bug.cgi?id=213617

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/DOMTreeOutline.css:

(.tree-outline.dom.non-selectable):

3:49 PM Changeset in webkit [263871] by Alan Coon
  • 3 edits in branches/safari-610.1.20-branch/Source/ThirdParty/libwebrtc

Apply patch. rdar://problem/64901603

3:44 PM Changeset in webkit [263870] by Alan Coon
  • 1 delete in tags/Safari-610.1.20.1

Delete tag.

3:43 PM Changeset in webkit [263869] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Crash in +[UIViewController _viewControllerForFullScreenPresentationFromView:] when WKContentView is deallocated
https://bugs.webkit.org/show_bug.cgi?id=213867

Patch by Austin Blackwood <ablackwoood@apple.com> on 2020-07-02
Reviewed by Darin Adler.

+[UIViewController _viewControllerForFullScreenPresentationFromView:]
asserts that the view parameter is non-nil. WKFileUploadPanel
passes its view (a weak pointer to the WKContentView), which may
have already been nil'd out when the content view tries to dismiss
the panel in its own dealloc.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel dismiss]):
Check for nil.

3:42 PM Changeset in webkit [263868] by Alan Coon
  • 3 edits in branches/safari-610.1.20-branch/Source/ThirdParty/libwebrtc

Revert r263828. rdar://problem/64901603

3:37 PM Changeset in webkit [263867] by Alan Coon
  • 1 copy in tags/Safari-610.1.20.1

Tag Safari-610.1.20.1.

3:36 PM Changeset in webkit [263866] by Alan Coon
  • 3 edits in branches/safari-610.1.20-branch/Source/ThirdParty/libwebrtc

Cherry-pick r263828. rdar://problem/64901603

Fix the arm64 iOS simulator build
https://bugs.webkit.org/show_bug.cgi?id=213868
<rdar://problem/64901603>

  • Configurations/libvpx.xcconfig:
  • Configurations/libwebrtc.xcconfig:

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

3:31 PM Changeset in webkit [263865] by Alan Coon
  • 8 edits in branches/safari-610.1.20-branch/Source

Versioning.

WebKit-610.1.20.1

3:31 PM Changeset in webkit [263864] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk1 ] imported/w3c/web-platform-tests/css/css-flexbox/overflow-auto-008.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=213896

Unreviewed test gardening.

Added prefix with bug

Patch by Karl Rackler <Karl Rackler> on 2020-07-02

  • platform/mac-wk1/TestExpectations:
3:30 PM Changeset in webkit [263863] by Alan Coon
  • 16 edits
    2 adds in branches/safari-610.1.20-branch

Revert r263854. rdar://problem/65048370

2:38 PM Changeset in webkit [263862] by Alan Coon
  • 1 copy in tags/Safari-610.1.20

Tag Safari-610.1.20.

2:11 PM Changeset in webkit [263861] by Alan Coon
  • 16 edits
    2 deletes in branches/safari-610.1.20-branch

Cherry-pick r263854. rdar://problem/65048370

Unreviewed, reverting r263633, r263651, and r263671.

Still seeing MediaRecorder test crashes after re-landing
r263633

Reverted changesets:

"MediaRecorder stopRecorder() returns empty Blob after first
use"
https://bugs.webkit.org/show_bug.cgi?id=212274
https://trac.webkit.org/changeset/263633

"MediaRecorder.start() Method is Ignoring the "timeslice"
Parameter"
https://bugs.webkit.org/show_bug.cgi?id=202233
https://trac.webkit.org/changeset/263651

"Support MediaRecorder.onstart"
https://bugs.webkit.org/show_bug.cgi?id=213720
https://trac.webkit.org/changeset/263671

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

2:08 PM Changeset in webkit [263860] by Simon Fraser
  • 3 edits
    2 adds in trunk

REGRESSION(r260276): menu items in footer of https://salo.ai are invisible until you hover or resize
https://bugs.webkit.org/show_bug.cgi?id=213712
<rdar://problem/64893190>

Reviewed by Zalan Bujtas.

Source/WebCore:

A negative z-index child triggers a foreground layer inside overflow scroll. This foreground layer
gets the PaintingOverflowContents flag but not the PaintingCompositingScrollingPhase flag, but we still need
to avoid the clip check that happens in RenderBlock::paint(), so change RenderLayer::paintLayerContents()
to just check for isPaintingOverflowContents.

Test: compositing/scrolling/async-overflow-scrolling/foreground-layer-paint-phase.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):

LayoutTests:

  • compositing/scrolling/async-overflow-scrolling/foreground-layer-paint-phase-expected.html: Added.
  • compositing/scrolling/async-overflow-scrolling/foreground-layer-paint-phase.html: Added.
1:35 PM Changeset in webkit [263859] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk1 ] imported/w3c/web-platform-tests/css/css-flexbox/overflow-auto-008.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=213896

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-07-02

  • platform/mac-wk1/TestExpectations:
1:35 PM Changeset in webkit [263858] by graouts@webkit.org
  • 3 edits
    2 adds in trunk

visualViewport.addEventListener("scroll"* fires permanently after zoom or orientation change
https://bugs.webkit.org/show_bug.cgi?id=211522
<rdar://problem/62939371>

Reviewed by Simon Fraser.

Source/WebCore:

Correctly set the flag indicating that a scroll event has been dispatched on the visual viewport.

Test: fast/visual-viewport/scroll-event-fired-during-scroll-alone.html

  • dom/Document.cpp:

(WebCore::Document::runScrollSteps):

LayoutTests:

Add a test that checks that after a call to scrollTo() no further "scroll" events are dispatched on window.visualViewport.

  • fast/visual-viewport/scroll-event-fired-during-scroll-alone-expected.txt: Added.
  • fast/visual-viewport/scroll-event-fired-during-scroll-alone.html: Added.
1:26 PM Changeset in webkit [263857] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

FloatingPointEnvironment::saveMainThreadEnvironment() is not called for macOS Catalyst apps on Apple Silicon
https://bugs.webkit.org/show_bug.cgi?id=213897
<rdar://problem/64607098>

Reviewed by Darin Adler.

FloatingPointEnvironment::saveMainThreadEnvironment() is not called for macOS Catalyst apps on Apple Silicon
This causes crashes because FloatingPointEnvironment::propagateMainThreadEnvironment() is called for worker
threads for such apps on this platform.

  • Shared/ios/AuxiliaryProcessIOS.mm:

(WebKit::AuxiliaryProcess::initializeSandbox):
Drop some dead code for PLATFORM(MACCATALYST) since the whole file is protected with !PLATFORM(MACCATALYST).
Mac Catalyst uses AuxiliaryProcessMac.mm instead.

  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::AuxiliaryProcess::platformInitialize):
Call FloatingPointEnvironment::saveMainThreadEnvironment() on AuxiliaryProcessMac.mm since this
platformInitialize() is used for Mac Catalyst and Catalyst apps may now run on Apple Silicon / ARM.
Note that FloatingPointEnvironment::saveMainThreadEnvironment() is a no-op on platforms where it is
not needed.

12:54 PM Changeset in webkit [263856] by Chris Dumez
  • 54 edits
    2 copies
    43 adds in trunk/LayoutTests

Resync web-platform-tests/html/browsers from upstream
https://bugs.webkit.org/show_bug.cgi?id=213892

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Resync web-platform-tests/html/browsers from upstream 145839c323ba1ec8b9737.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/html/browsers/*: Updated.

LayoutTests:

  • tests-options.json:
12:45 PM Changeset in webkit [263855] by Alan Bujtas
  • 58 edits in trunk

Overlapping content on earny.co
https://bugs.webkit.org/show_bug.cgi?id=213864
<rdar://problem/61011802>

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-writing-modes/orthogonal-parent-shrink-to-fit-001-expected.txt:
  • web-platform-tests/css/css-writing-modes/orthogonal-parent-shrink-to-fit-001q-expected.txt:
  • web-platform-tests/css/css-writing-modes/orthogonal-parent-shrink-to-fit-001r-expected.txt:
  • web-platform-tests/css/css-writing-modes/orthogonal-parent-shrink-to-fit-001u-expected.txt:
  • web-platform-tests/css/css-writing-modes/orthogonal-parent-shrink-to-fit-001v-expected.txt:

Source/WebCore:

Do not use a 1px value for initial min/max content width.

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
(WebCore::AutoTableLayout::layout): I found 2 places where we rely on the initial 1px value for min/max width. This might cause some "regression".

LayoutTests:

Progressions. Some of them are visually observable and they match Chrome/FF.

  • css2.1/20110323/abspos-containing-block-initial-004e-expected.txt:
  • css2.1/20110323/abspos-containing-block-initial-004f-expected.txt:
  • fast/table/auto-100-percent-width-expected.txt:
  • fast/table/large-shrink-wrapped-width.html:
  • fast/table/table-section-split-with-after-content-expected.txt:
  • platform/mac/fast/css/acid2-expected.txt:
  • platform/mac/fast/css/acid2-pixel-expected.txt:
  • platform/mac/fast/css/percentage-non-integer-expected.txt:
  • platform/mac/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/mac/fast/repaint/table-cell-move-expected.txt:
  • platform/mac/fast/table/cell-absolute-child-expected.txt:
  • platform/mac/fast/table/empty-cells-expected.txt:
  • platform/mac/fast/table/prepend-in-anonymous-table-expected.txt:
  • platform/mac/fast/table/table-cell-split-expected.txt:
  • platform/mac/fast/table/table-insert-before-non-anonymous-block-expected.txt:
  • platform/mac/http/tests/misc/acid2-expected.txt:
  • platform/mac/http/tests/misc/acid2-pixel-expected.txt:
  • platform/mac/http/tests/misc/acid3-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug100334-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug10633-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1302-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug16012-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug222336-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug3037-1-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/other/empty_cells-expected.txt:
12:34 PM Changeset in webkit [263854] by Ryan Haddad
  • 17 edits
    4 deletes in trunk

Unreviewed, reverting r263633, r263651, and r263671.

Still seeing MediaRecorder test crashes after re-landing
r263633

Reverted changesets:

"MediaRecorder stopRecorder() returns empty Blob after first
use"
https://bugs.webkit.org/show_bug.cgi?id=212274
https://trac.webkit.org/changeset/263633

"MediaRecorder.start() Method is Ignoring the "timeslice"
Parameter"
https://bugs.webkit.org/show_bug.cgi?id=202233
https://trac.webkit.org/changeset/263651

"Support MediaRecorder.onstart"
https://bugs.webkit.org/show_bug.cgi?id=213720
https://trac.webkit.org/changeset/263671

12:26 PM adenilson_webkit_contributors_2019.pdf attached to zliboptimizationsforARM by cavalcantii@gmail.com
11:56 AM Changeset in webkit [263853] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION: Comments section at dpreview has overlapping names with comment on phone
https://bugs.webkit.org/show_bug.cgi?id=213890
Source/WebCore:

<rdar://problem/64693599>

Reviewed by Simon Fraser.

Test: fast/text-autosizing/ios/float-miscomputed-line-height.html

  • rendering/TextAutoSizing.cpp:

(WebCore::TextAutoSizingValue::adjustTextNodeSizes):

Negative value is used to indicate unset line-height. We shouldn't make adjustments in this case.
This matches Style::BuilderCustom code.

LayoutTests:

Reviewed by Simon Fraser.

  • fast/text-autosizing/ios/float-miscomputed-line-height-expected.html: Added.
  • fast/text-autosizing/ios/float-miscomputed-line-height.html: Added.
11:45 AM Changeset in webkit [263852] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Crash under WebKit::NetworkProcessProxy::updateProcessAssertion()
https://bugs.webkit.org/show_bug.cgi?id=213891
<rdar://problem/65017909>

Reviewed by Alex Christensen.

The crash was due to NetworkProcessProxy::updateProcessAssertion() re-entering while
in the middle of the m_activityFromWebProcesses = nullptr; assignment. Calling
the ProcessThrottler::BackgroundActivity destructor, could cause updateProcessAssertion()
to get called again, in which case we may dereference m_activityFromWebProcesses and
crash. To address the issue, use std::exchange(m_activityFromWebProcesses, nullptr);
instead, so that m_activityFromWebProcesses becomes null BEFORE the BackgroundActivity
destructor gets called. updateProcessAssertion() will still re-enter but
m_activityFromWebProcesses will be nullptr and updateProcessAssertion() will do the
right thing.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::updateProcessAssertion):

10:56 AM Changeset in webkit [263851] by Chris Dumez
  • 1 edit
    8 deletes in trunk/LayoutTests/imported/w3c

Unreviewed, drop some outdated tests in WebCrypto API.

Those tests failed to get removed during the recent re-sync from upstream in r263598.
They are actually still present but under different names so we have duplicate
copies right now.

  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/getRandomValues.js: Removed.
  • web-platform-tests/WebCryptoAPI/getRandomValues.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/getRandomValues.worker.html: Removed.
  • web-platform-tests/WebCryptoAPI/getRandomValues.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/test_getRandomValues-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/test_getRandomValues.html: Removed.
10:30 AM Changeset in webkit [263850] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for fast/canvas/canvas-radial-gradient-spreadMethod.html as it is passing. Added back imported/w3c/canvas/2d.gradient.radial.cone.bottom.html as it is failing.
https://bugs.webkit.org/show_bug.cgi?id=213840

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-07-02

  • platform/ios/TestExpectations:
10:17 AM Changeset in webkit [263849] by ysuzuki@apple.com
  • 2 edits in trunk/JSTests

Unreviewed, mark JSTests/test262/test/intl402/NumberFormat/prototype/format/numbering-systems.js fail since it requires ICU 66
https://bugs.webkit.org/show_bug.cgi?id=213872

This test in test262 requires ICU 66 while Catalina bot is using ICU 64.

  • test262/config.yaml:
9:31 AM Changeset in webkit [263848] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r263625): run-minibrowser fails on mac
https://bugs.webkit.org/show_bug.cgi?id=213876

Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-02
Reviewed by Darin Adler.

  • Scripts/webkitpy/port/base.py:

(Port.run_minibrowser): _run_script() expects a string as first argument. Command-line args
are passed through a keyword.

9:17 AM Changeset in webkit [263847] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, unskip most webaudio WPT tests in Debug.

7:52 AM Changeset in webkit [263846] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][BFC] Remove redundant margin-border-padding when computing the intrinsic width
https://bugs.webkit.org/show_bug.cgi?id=213882

Reviewed by Antti Koivisto.

Source/WebCore:

The child intrinsic width already includes the margin-border-padding values.

Test: fast/layoutformattingcontext/table-with-margin-content-simple.html

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::intrinsicWidthConstraints):

LayoutTests:

  • fast/layoutformattingcontext/table-with-margin-content-simple-expected.html: Added.
  • fast/layoutformattingcontext/table-with-margin-content-simple.html: Added.
7:52 AM Changeset in webkit [263845] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][IFC] Use <tr> computed height as minimum height for the row
https://bugs.webkit.org/show_bug.cgi?id=213880

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/table-fixed-row-height-simple.html

  • layout/tableformatting/TableLayout.cpp:

(WebCore::Layout::TableFormattingContext::TableLayout::distributedVerticalSpace):

LayoutTests:

  • fast/layoutformattingcontext/table-fixed-row-height-simple-expected.html: Added.
  • fast/layoutformattingcontext/table-fixed-row-height-simple.html: Added.
7:05 AM Changeset in webkit [263844] by youenn@apple.com
  • 11 edits
    2 adds in trunk

getUserMedia returns OverConstrained on Jitsi
https://bugs.webkit.org/show_bug.cgi?id=210932
<rdar://problem/64403675>

Reviewed by Philippe Normand.

Source/WebCore:

We compute the max width, max height and max frame rate across all presets.
In case a preset for the max resolution is different from the preset for the max frame rate,
we were selecting capture parameters that no preset can match.

To fix the issue, in case the frame rate constraint is not mandatory, and we do not find a preset
when starting to capture, we remove the frame rate constraint, pick the preset and choose the max frame rate from that preset.

Update mock sources to have a high resolution preset with low frame rate to enable writing a test.

Test: fast/mediastream/get-user-media-ideal-constraints.html

  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::supportsSizeAndFrameRate):

  • platform/mediastream/RealtimeVideoCaptureSource.cpp:

(WebCore::RealtimeVideoCaptureSource::bestSupportedSizeAndFrameRate):
(WebCore::RealtimeVideoCaptureSource::setSizeAndFrameRate):

  • platform/mediastream/VideoPreset.h:

(WebCore::VideoPreset::maxFrameRate const):

  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::defaultDevices):

LayoutTests:

We bumped the max width/height for mock sources and have to update existing tests according to that.

  • fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt:
  • fast/mediastream/apply-constraints-advanced-expected.txt:
  • fast/mediastream/apply-constraints-advanced.html:
  • fast/mediastream/apply-constraints-video-expected.txt:
  • fast/mediastream/apply-constraints-video.html:
  • fast/mediastream/get-user-media-ideal-constraints-expected.txt: Added.
  • fast/mediastream/get-user-media-ideal-constraints.html: Added.
5:41 AM Changeset in webkit [263843] by Carlos Garcia Campos
  • 8 edits in trunk

Unreviewed. Fix GTK4 build

Source/WebCore:

  • platform/gtk/GtkVersioning.h:

(gtk_scrolled_window_new):

Source/WebKit:

  • UIProcess/API/gtk/WebKitScriptDialogImpl.cpp:

(webkitScriptDialogImplConstructed):

  • UIProcess/gtk/WebDataListSuggestionsDropdownGtk.cpp:

(WebKit::WebDataListSuggestionsDropdownGtk::WebDataListSuggestionsDropdownGtk):

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::createPopupMenu):

Tools:

  • MiniBrowser/gtk/BrowserSettingsDialog.c:

(browser_settings_dialog_init):

5:40 AM Changeset in webkit [263842] by commit-queue@webkit.org
  • 6 edits in trunk/LayoutTests

Remove expectation for fast/events/input-events-forecolor-data.html and fast/events/input-events-ime-composition.html and fast/events/input-events-selection-forecolor-data.html and fast/events/input-events-spell-checking-datatransfer.html and fast/events/offsetX-offsetY.html and fast/events/scale-and-scroll-iframe-body.html and fast/events/scale-and-scroll-iframe-window.html and fast/events/scroll-to-anchor-vertical-lr-writing-mode.html and fast/events/scroll-to-anchor-vertical-writing-mode.html and fast/forms/range/slider-transformed.html and fast/forms/range/slider-zoomed.html and fast/frames/content-opacity-1.html and fast/frames/content-opacity-2.html and fast/frames/iframe-text-contents.html and fast/frames/onlyCommentInIFrame.html and fast/frames/paint-iframe-background.html and fast/frames/sandboxed-iframe-close-top-noclose.html and fast/hidpi/image-srcset-invalid-descriptor.html and fast/hidpi/image-srcset-png-canvas.html and fast/html/listing.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213863

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-07-02

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/ios-wk2/TestExpectations:
  • platform/ios/TestExpectations:
5:38 AM Changeset in webkit [263841] by commit-queue@webkit.org
  • 9 edits
    2 adds
    3 deletes in trunk

Fragment navigation involving fragment identifiers does not match specification
https://bugs.webkit.org/show_bug.cgi?id=83930

Patch by Rob Buis <rbuis@igalia.com> on 2020-07-02
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update improved test results and import scroll-frag-non-utf8-encoded-document.html.

  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/fragment-and-encoding-2-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/fragment-and-encoding-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-frag-non-utf8-encoded-document-expected.txt: Added.
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-frag-non-utf8-encoded-document.html: Added.
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-anchor-name-expected.txt:

Source/WebCore:

Implement step 5 and 6 of [1] to allow fragment identifier lookup
using percent-decoding, after normal lookup failed.

Behavior matches Chrome and Firefox.

[1] https://html.spec.whatwg.org/multipage/browsing-the-web.html#the-indicated-part-of-the-document

Tests: imported/w3c/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-anchor-name.html

imported/w3c/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/fragment-and-encoding-2.html
imported/w3c/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/fragment-and-encoding.html
imported/w3c/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-frag-non-utf8-encoded-document.html

  • page/FrameView.cpp:

(WebCore::FrameView::scrollToFragmentInternal):

LayoutTests:

Replace anchor-frames-gbk.html by scroll-frag-non-utf8-encoded-document.html.

  • http/tests/navigation/anchor-frames-gbk-expected.txt: Removed.
  • http/tests/navigation/anchor-frames-gbk.html: Removed.
  • http/tests/navigation/resources/frame-with-anchor-gbk.html: Removed.
  • platform/ios-wk1/TestExpectations:
  • platform/ios-wk2/TestExpectations:
3:40 AM Changeset in webkit [263840] by eocanha@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK multimedia gardening
https://bugs.webkit.org/show_bug.cgi?id=213877

Crashes in media/context-menu-actions.html are flaky instead of always reproducible.

  • platform/gtk/TestExpectations:
2:26 AM Changeset in webkit [263839] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Tools

[Flatpak SDK] Add perl-term-readkey
https://bugs.webkit.org/show_bug.cgi?id=213787

Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-02
Reviewed by Adrian Perez de Castro.

This is yet another git-svn runtime dependency.

  • buildstream/elements/sdk-platform.bst:
  • buildstream/elements/sdk/perl-term-readkey.bst: Added.
2:19 AM Changeset in webkit [263838] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GTK] Kinetic scrolling is still triggered if you wait before lifting fingers
https://bugs.webkit.org/show_bug.cgi?id=213789

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-07-02
Reviewed by Carlos Garcia Campos.

The intended behavior for kinetic scrolling is that it's possible to not trigger it by
stopping moving fingers before lifting them, as opposed to doing a fling/swipe. However,
right now it's broken and trying to do this triggers kinetic scrolling as well.

Currently, the last scroll event with (0, 0) deltas isn't added to the scroll history for
kinetic scrolling. However, this is wrong, because the last event, or rather the timespan
between it and the previous scroll event, actually determines the kinetic scrolling velocity:
if this event follows the previous one quickly, the velocity is large, but if there was a long
pause, the velocity would be close to 0.

See https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1902 and
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1903 for the equivalent GTK fixes.

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeFrameScrollingNodeNicosia::handleWheelEvent):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::handleWheelEvent):

  • platform/generic/ScrollAnimatorGeneric.cpp:

(WebCore::ScrollAnimatorGeneric::handleWheelEvent):

1:47 AM Changeset in webkit [263837] by ysuzuki@apple.com
  • 4 edits
    1 add in trunk

[JSC] Configure option-offered numberingSystem in Intl.NumberFormat through locale
https://bugs.webkit.org/show_bug.cgi?id=213872

Reviewed by Ross Kirsling.

JSTests:

  • stress/intl-numberformat-nu.js: Added.

(shouldBe):

  • test262/expectations.yaml:

Source/JavaScriptCore:

We need to pass numberingSystem option to ICU through locale when constructing UNumberFormat.
We are passing it when we get "en-US-u-nu-hanidec" locale, but we are not passing it when
we are getting new Intl.NumberFormat("en-US", { numberingSystem: "hanidec" }).

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat):

1:20 AM Changeset in webkit [263836] by Philippe Normand
  • 4 edits in trunk/Source/WebCore

[GStreamer] Rewrite mediastreamsrc element
https://bugs.webkit.org/show_bug.cgi?id=213777

Reviewed by Xabier Rodriguez-Calvar.

The underlying functionality remains the same, design-wise. This is mostly a refactoring
switching to smart pointers as much as possible and trying to comply with WebKit code style
guidelines.

The previous version of this element was leaking pad templates and sticky stream-start
events (in webkitMediaStreamSrcTrackEnded).

The LIBWEBRTC ifdef guards were removed as well, because there's no actual libwebrtc
dependency involved in this code.

No new tests, existing webrtc and fast/mediastream tests cover this patch.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

(mediaStreamTrackPrivateGetTags):
(webkitMediaStreamNew):
(WebKitMediaStreamTrackObserver::WebKitMediaStreamTrackObserver):
(WebKitMediaStreamObserver::WebKitMediaStreamObserver):
(InternalSource::InternalSource):
(InternalSource::~InternalSource):
(InternalSource::src const):
(InternalSource::pushSample):
(webkitMediaStreamSrcUriGetType):
(webkitMediaStreamSrcUriGetProtocols):
(webkitMediaStreamSrcUriGetUri):
(webkitMediaStreamSrcUriSetUri):
(webkitMediaStreamSrcUriHandlerInit):
(webkitMediaStreamSrcSetProperty):
(webkitMediaStreamSrcGetProperty):
(webkitMediaStreamSrcConstructed):
(stopObservingTracks):
(webkitMediaStreamSrcFinalize):
(webkitMediaStreamSrcChangeState):
(webkit_media_stream_src_class_init):
(webkitMediaStreamSrcChain):
(webkitMediaStreamSrcAddPad):
(ProbeData::ProbeData):
(webkitMediaStreamSrcPadProbeCb):
(webkitMediaStreamSrcSetupSrc):
(webkitMediaStreamSrcPostStreamCollection):
(webkitMediaStreamSrcAddTrack):
(webkitMediaStreamSrcRemoveTrackByType):
(webkitMediaStreamSrcSetStream):
(webkitMediaStreamSrcPushVideoSample):
(webkitMediaStreamSrcPushAudioSample):
(webkitMediaStreamSrcTrackEnded):
(webkitMediaStreamSrcNew):

  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.h:
1:14 AM Changeset in webkit [263835] by eocanha@igalia.com
  • 5 edits in trunk/LayoutTests

[GTK] Layout test media/context-menu-actions.html is failing
https://bugs.webkit.org/show_bug.cgi?id=183611

Reviewed by Xabier Rodriguez-Calvar.

Changing to fullscreen is an async operation, so we now use testExpectedEventually() to wait for
the final value.
Simply setting an event handler on video.onwebkitfullscreenchange wouldn't have been enough, since the
event is triggered before the fullscreen operation has been completed and checking for
video.webkitDisplayingFullscreen == true would still fail by then.
Using the 'webkitbeginfullscreen' event isn't possible either, because it's never triggered when
FULLSCREEN_API is enabled.

  • media/context-menu-actions.html: Use asynchronous testing.
  • media/video-test.js:

(testExpectedEventually): Add an optional "timeout" parameter to avoid a test timeout (all the output
would be lost) in case we wait forever for the comparison to evaluate to the expected value.
(reportExpected): Add an optional "explanation" parameter for extra reporting.

  • platform/gtk-wayland/TestExpectations: Unskipped the test.
  • platform/gtk/TestExpectations: Ditto.
12:20 AM Changeset in webkit [263834] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Skip AX tests added in r263823 as they're timing out.

  • platform/glib/TestExpectations:

Jul 1, 2020:

11:00 PM Changeset in webkit [263833] by ysuzuki@apple.com
  • 4 edits
    1 add in trunk

[JSC] Intl.Collator should set usage:"search" option through ICU locale
https://bugs.webkit.org/show_bug.cgi?id=213869

Reviewed by Ross Kirsling.

JSTests:

  • stress/intl-collator-co-extension.js: Added.

(shouldBe):
(shouldBeArray):
(explicitTrueBeforeICU67):

  • test262/expectations.yaml:

Source/JavaScriptCore:

Intl.Collator has usage:"search" option, and it affects on collation. However, UCollator does not have an interface to set this collation option,
and only way to configure UCollator is setting "-u-co-search" unicode extension to passed locale string. This patch adds "-u-co-search" unicode
extension if Usage::Search is specified.

  • runtime/IntlCollator.cpp:

(JSC::IntlCollator::initializeCollator):

10:02 PM Changeset in webkit [263832] by commit-queue@webkit.org
  • 8 edits in trunk/Source

MIMETypeRegistry::getExtensionsForMIMEType() needs to handle wildcard MIME types
https://bugs.webkit.org/show_bug.cgi?id=213826

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-07-01
Reviewed by Darin Adler.

Source/WebCore:

Working towards webkit.org/b/213347, it needs to be possible for WebCore
to get the file extensions for wildcard MIME types, e.g. "image/*" or "video/*".

For Cocoa platforms, we will enumerate the UTIs of the system. Get the
MIMEType and the extensions of each UTI. Add the following pairs to a
singleton HashMap:

{ MIMEType, extension }
{ Type(MIMEType)/*, extension }

Change MIMETypeRegistry::getExtensionsForMIMEType() such that it calls
extensionsForWildcardMIMEType() if the MIMEType ends with "*".

  • platform/MIMETypeRegistry.h:
  • platform/cocoa/MIMETypeRegistryCocoa.mm:

(WebCore::extensionsForMIMETypeMap):
(WebCore::extensionsForWildcardMIMEType):
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType):

  • platform/playstation/MIMETypeRegistryPlayStation.cpp:

(WebCore::MIMETypeRegistry::getExtensionsForMIMEType):

  • platform/win/MIMETypeRegistryWin.cpp:

(WebCore::MIMETypeRegistry::getExtensionsForMIMEType):

  • platform/xdg/MIMETypeRegistryXdg.cpp:

(WebCore::MIMETypeRegistry::getExtensionsForMIMEType):

Source/WebKit:

Replace extensionsForMIMEType() with MIMETypeRegistry::getExtensionsForMIMEType().

  • UIProcess/API/Cocoa/WKOpenPanelParameters.mm:

(-[WKOpenPanelParameters _allowedFileExtensions]):

9:04 PM Changeset in webkit [263831] by Lauro Moura
  • 2 edits in trunk/Source/WebKit

[SOUP] Build fix after r263797 for older soup versions.

Build was failing in LTS distributions due to -fpermissive

Unreviewed build fix.

  • NetworkProcess/soup/WebSocketTaskSoup.cpp:

(WebKit::WebSocketTask::sendString):

8:08 PM Changeset in webkit [263830] by commit-queue@webkit.org
  • 31 edits in trunk/Source

Allow the File object to be created with a replacement file
https://bugs.webkit.org/show_bug.cgi?id=213825

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-07-01
Reviewed by Darin Adler.

Source/WebCore:

Working towards webkit.org/b/213347, it needs to be possible to create
the File object with an optional replacement file. Only the registered
BlobDataFileReference will be created with both the original file path
and the replacement file path. So it can delete the replacement file when
it is destroyed. Otherwise BlobDataFileReference will be created with the
replacement file path.

It is important to create the File object with the replacement file because
it needs to get the meta-data and the bytes of the replacement file not
the original file.

  • fileapi/File.cpp:

(WebCore::File::create):

  • fileapi/File.h:
  • fileapi/ThreadableBlobRegistry.cpp:

(WebCore::ThreadableBlobRegistry::registerFileBlobURL):

  • fileapi/ThreadableBlobRegistry.h:
  • html/DirectoryFileListCreator.cpp:

(WebCore::createFileList):

  • html/FileInputType.cpp:

(WebCore::FileInputType::filesFromFormControlState):
When the Files are created from a FormControlState, they will be created
without replacement files since they might have been deleted.

(WebCore::FileInputType::filesChosen):
(WebCore::FileInputType::receiveDroppedFiles):

  • platform/FileChooser.cpp:

(WebCore::FileChooser::chooseFiles):
(WebCore::FileChooser::chooseMediaFiles):

  • platform/FileChooser.h:

(WebCore::FileChooserFileInfo::isolatedCopy const):
(WebCore::FileChooser::chooseFiles):
(WebCore::FileChooserFileInfo::FileChooserFileInfo): Deleted.

  • platform/network/BlobDataFileReference.cpp:

(WebCore::BlobDataFileReference::BlobDataFileReference):
(WebCore::BlobDataFileReference::~BlobDataFileReference):
(WebCore::BlobDataFileReference::path):
(WebCore::BlobDataFileReference::startTrackingModifications):

  • platform/network/BlobDataFileReference.h:
  • platform/network/BlobRegistry.h:

Source/WebKit:

The UIProcess passes a list of strings which represents the replacement
paths along with a list to the original paths to the WebProcess. The
WebProcess passes these two list to FileChooser which creates the File
objects and register the Blobs.

The WebProcess registers the Blobs in the NetworkProcess which creates
BlobDataFileReference objects with both the original path and the
replacement path.

The WebProcess unregisters the Blobs from the NetworkProcess which deletes
the corresponding BlobDataFileReference from its registry. Upon destroying
the BlobDataFileReference, the replacement file should be deleted.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::registerFileBlobURL):
(WebKit::NetworkConnectionToWebProcess::registerBlobURLOptionallyFileBacked):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkProcessPlatformStrategies.cpp:

(WebKit::NetworkProcessPlatformStrategies::createBlobRegistry):

  • Shared/BlobDataFileReferenceWithSandboxExtension.cpp:

(WebKit::BlobDataFileReferenceWithSandboxExtension::BlobDataFileReferenceWithSandboxExtension):

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

(WebKit::WebPageProxy::didChooseFilesForOpenPanel):

  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::registerFileBlobURL):

  • WebProcess/FileAPI/BlobRegistryProxy.h:
  • WebProcess/WebPage/WebOpenPanelResultListener.cpp:

(WebKit::WebOpenPanelResultListener::didChooseFiles):

  • WebProcess/WebPage/WebOpenPanelResultListener.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didChooseFilesForOpenPanel):

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

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebPlatformStrategies.mm:

Source/WebKitLegacy/win:

  • WebCoreSupport/WebPlatformStrategies.cpp:
7:58 PM Changeset in webkit [263829] by don.olmstead@sony.com
  • 5 edits
    1 add
    1 delete in trunk

[CMake] Add WOFF2 targets
https://bugs.webkit.org/show_bug.cgi?id=213865

Reviewed by Fujii Hironori.

.:

Rework the Find module for WOFF2 to provide targets for libwoff2common and
libwoff2dec. Previously only libwoff2dec was specified in the find module. This
is because pkg-config works on that platform and because shared libraries are
supported. Neither is true for Windows so the module was expanded in anticipation
of support for WinCairo.

  • Source/cmake/FindWOFF2.cmake: Added.
  • Source/cmake/FindWOFF2Dec.cmake: Removed.
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

Source/WebCore:

Use the WOFF:: targets when USE_WOFF2 is set.

  • CMakeLists.txt:
6:26 PM Changeset in webkit [263828] by timothy_horton@apple.com
  • 3 edits in trunk/Source/ThirdParty/libwebrtc

Fix the arm64 iOS simulator build
https://bugs.webkit.org/show_bug.cgi?id=213868
<rdar://problem/64901603>

  • Configurations/libvpx.xcconfig:
  • Configurations/libwebrtc.xcconfig:
5:43 PM Changeset in webkit [263827] by Alan Coon
  • 3 edits in branches/safari-610.1.20-branch/Source/WebKit

Cherry-pick r263793. rdar://problem/65011200

Fix Swift overlay build after r263727.
https://bugs.webkit.org/show_bug.cgi?id=213823.

Unreviewed, follow up build fix.

  • SwiftOverlay/Tests/WebKitTests.swift: (WebKitTests.testAPI): Fix tests to refer to new parameter name.
  • UIProcess/API/Cocoa/WebKitSwiftOverlay.swift: (callAsyncJavaScript(_:arguments:in:in:completionHandler:Error:)): Use the imported ObjC name that the compiler expects. (evaluateJavaScript(_:in:in:completionHandler:Error:)): Ditto.

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

5:43 PM Changeset in webkit [263826] by Alan Coon
  • 2 edits in branches/safari-610.1.20-branch/Source/WebKit

Cherry-pick r263781. rdar://problem/65011200

Fix Swift overlay build after r263727.
<rdar://problem/64962370> and https://bugs.webkit.org/show_bug.cgi?id=213823

Reviewed by Darin Adler.

No new tests (No behavior change).

Adapt the Swift overlay refinemnt to handle the inFrame: argument for these methods.

  • UIProcess/API/Cocoa/WebKitSwiftOverlay.swift: (callAsyncJavaScript(_:arguments:in:in:completionHandler:Error:)): (evaluateJavaScript(_:in:in:completionHandler:Error:)): (callAsyncJavaScript(_:arguments:in:completionHandler:Error:)): Deleted. (evaluateJavaScript(_:in:completionHandler:Error:)): Deleted.

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

5:32 PM Changeset in webkit [263825] by timothy_horton@apple.com
  • 28 edits
    5 adds in trunk

Swipe snapshot is removed too early when swiping away from a page that is still loading
https://bugs.webkit.org/show_bug.cgi?id=213763
<rdar://problem/64576811>

Reviewed by Darin Adler.

Source/WebKit:

Test: http/tests/swipe/swipe-back-with-outstanding-load-cancellation.html

When swiping back from a page that is still loading, when the swipe commits,
and we start navigating back to the previous page, the unfinished forward navigation
is cancelled.

This cancellation resulted in a "didFailLoadForMainFrame" making it to ViewGestureController,
which took it as an indication that the navigation *it* was interested in (the back navigation)
had failed, and immediately removed the snapshot.

Instead of listening to any random navigation's load notifications, keep track of the navigation
started by goToBackForwardItem, and only listen to notifications from it, ignoring the others.

This requires a bunch of plumbing to get the navigation from WebPageProxy to ViewGestureController,
but is otherwise fairly trivial.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::didFinishNavigation):
(WebKit::PageClientImpl::didFailNavigation):
(WebKit::PageClientImpl::didFinishLoadForMainFrame): Deleted.
(WebKit::PageClientImpl::didFailLoadForMainFrame): Deleted.

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDidFinishLoadForMainFrame):
(webkitWebViewBaseDidFailLoadForMainFrame):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/API/ios/WKWebViewIOS.h:
  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _didFinishNavigation:]):
(-[WKWebView _didFailNavigation:]):
(-[WKWebView _didFinishLoadForMainFrame]): Deleted.
(-[WKWebView _didFailLoadForMainFrame]): Deleted.

  • UIProcess/API/wpe/PageClientImpl.cpp:

(WebKit::PageClientImpl::didFinishNavigation):
(WebKit::PageClientImpl::didFailNavigation):
(WebKit::PageClientImpl::didFinishLoadForMainFrame): Deleted.
(WebKit::PageClientImpl::didFailLoadForMainFrame): Deleted.

  • UIProcess/API/wpe/PageClientImpl.h:
  • UIProcess/PageClient.h:
  • UIProcess/ViewGestureController.cpp:

(WebKit::ViewGestureController::didReachNavigationTerminalState):
(WebKit::ViewGestureController::willEndSwipeGesture):
(WebKit::ViewGestureController::didReachMainFrameLoadTerminalState): Deleted.

  • UIProcess/ViewGestureController.h:

(WebKit::ViewGestureController::didFinishNavigation):
(WebKit::ViewGestureController::didFailNavigation):
(WebKit::ViewGestureController::didFinishLoadForMainFrame): Deleted.
(WebKit::ViewGestureController::didFailLoadForMainFrame): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didFinishNavigation):
(WebKit::PageClientImpl::didFailNavigation):
(WebKit::PageClientImpl::didFinishLoadForMainFrame): Deleted.
(WebKit::PageClientImpl::didFailLoadForMainFrame): Deleted.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::willEndSwipeGesture):
(WebKit::ViewGestureController::resetState):

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::didFinishNavigation):
(WebKit::PageClientImpl::didFailNavigation):
(WebKit::PageClientImpl::didFinishLoadForMainFrame): Deleted.
(WebKit::PageClientImpl::didFailLoadForMainFrame): Deleted.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::resetState):

  • UIProcess/playstation/PageClientImpl.cpp:

(WebKit::PageClientImpl::didFinishNavigation):
(WebKit::PageClientImpl::didFailNavigation):
(WebKit::PageClientImpl::didFinishLoadForMainFrame): Deleted.
(WebKit::PageClientImpl::didFailLoadForMainFrame): Deleted.

  • UIProcess/playstation/PageClientImpl.h:
  • UIProcess/win/PageClientImpl.cpp:

(WebKit::PageClientImpl::didFinishNavigation):
(WebKit::PageClientImpl::didFinishLoadForMainFrame): Deleted.

  • UIProcess/win/PageClientImpl.h:

LayoutTests:

  • http/tests/swipe/resources/swipe-test.js: Added.
  • http/tests/swipe/swipe-back-with-outstanding-load-cancellation-expected.txt: Added.
  • http/tests/swipe/swipe-back-with-outstanding-load-cancellation.html: Added.

Add a test that ensures that we don't remove the swipe snapshot before the "back" page is loaded.
Before this fix, this test fails the assertion that we're on the first page in didRemoveSwipeSnapshotCallback.

4:50 PM Changeset in webkit [263824] by keith_miller@apple.com
  • 21 edits in trunk/Source/JavaScriptCore

Rename zeroExtend32ToPtr to zeroExtend32ToWord
https://bugs.webkit.org/show_bug.cgi?id=213866

Reviewed by Saam Barati.

The old name no longer makes sense now that we have configurations
where sizeof(void*) != sizeof(CPURegister).

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::branchTruncateDoubleToInt32):
(JSC::MacroAssemblerARM64::zeroExtend32ToWord):
(JSC::MacroAssemblerARM64::branchMul32):
(JSC::MacroAssemblerARM64::zeroExtend32ToPtr): Deleted.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::zeroExtend32ToWord):
(JSC::MacroAssemblerARMv7::zeroExtend32ToPtr): Deleted.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::zeroExtend32ToWord):
(JSC::MacroAssemblerMIPS::zeroExtend32ToPtr): Deleted.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::add32):
(JSC::MacroAssemblerX86Common::and32):
(JSC::MacroAssemblerX86Common::mul32):
(JSC::MacroAssemblerX86Common::or32):
(JSC::MacroAssemblerX86Common::xor32):
(JSC::MacroAssemblerX86Common::zeroExtend32ToWord):
(JSC::MacroAssemblerX86Common::branchAdd32):
(JSC::MacroAssemblerX86Common::zeroExtend32ToPtr): Deleted.

  • b3/air/AirOpcode.opcodes:
  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateWithGuard):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::compileExit):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStringSlice):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::setIntTypedArrayLoadResult):
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileCreateRest):
(JSC::DFG::SpeculativeJIT::compileArraySlice):
(JSC::DFG::SpeculativeJIT::compileArrayIndexOf):
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):
(JSC::DFG::SpeculativeJIT::emitAllocateButterfly):
(JSC::DFG::SpeculativeJIT::compileWeakMapGet):
(JSC::DFG::SpeculativeJIT::emitInitializeButterfly):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::reboxAccordingToFormat):

  • jit/CallFrameShuffler64.cpp:

(JSC::CallFrameShuffler::emitBox):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_has_indexed_property):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_has_indexed_property):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_put_by_val):

  • jit/JSInterfaceJIT.h:

(JSC::JSInterfaceJIT::emitLoadInt32):

  • wasm/js/JSToWasm.cpp:

(JSC::Wasm::boxWasmResult):

  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::wasmToJS):

  • wasm/js/WebAssemblyFunction.cpp:

(JSC::WebAssemblyFunction::jsCallEntrypointSlow):

  • yarr/YarrJIT.cpp:
4:35 PM Changeset in webkit [263823] by Chris Fleizach
  • 15 edits
    4 adds in trunk

AX: Implement relevant simulated key presses for custom ARIA widgets for increment/decrement
https://bugs.webkit.org/show_bug.cgi?id=213744

Reviewed by Darin Adler.

Source/WebCore:

In order to allow custom ARIA widgets to work, we can post keyboard events for specific ax actions
that are not handled natively.

Spec: https://github.com/WICG/aom/blob/gh-pages/explainer.md#user-action-events-from-assistive-technology

Test: accessibility/keyevents-posted-for-increment-actions.html

accessibility/keyevents-for-increment-actions-with-node-removal.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::postKeyboardKeysForValueChange):
(WebCore::AccessibilityNodeObject::setNodeValue):
(WebCore::AccessibilityNodeObject::changeValueByStep):
(WebCore::AccessibilityNodeObject::changeValueByPercent):

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::setValue):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilityScrollbar.cpp:

(WebCore::AccessibilityScrollbar::setValue):

  • accessibility/AccessibilityScrollbar.h:
  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySlider::setValue):

  • accessibility/AccessibilitySlider.h:
  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::setValue):

  • accessibility/isolatedtree/AXIsolatedObject.h:

LayoutTests:

  • accessibility/keyevents-posted-for-increment-actions-expected.txt: Added.
  • accessibility/keyevents-posted-for-increment-actions.html: Added.
  • accessibility/keyevents-for-increment-actions-with-node-removal-expected.txt: Added.
  • accessibility/keyevents-for-increment-actions-with-node-removal.htmk: Added.
2:46 PM Changeset in webkit [263822] by Chris Dumez
  • 4 edits in trunk/LayoutTests

[ iOS Debug and Mojave Debug ] http/tests/storage/storage-map-leaking.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=213795
<rdar://problem/64937993>

Reviewed by Darin Adler.

Because our GC is conservative, a particular JS wrapper is not guaranteed to go away in a timely fashion.
To try and make the test more reliable, we now use 4 separate Storage wrappers instead of a single one.
We treat the test as passing if any of the 4 storage wrappers go away after removing the 4 subframes from
4 separate origins.

  • http/tests/storage/storage-map-leaking.html:
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
2:04 PM Changeset in webkit [263821] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[iOS] Allow the WebContent sandbox to check the 'hw.product' sysctl
https://bugs.webkit.org/show_bug.cgi?id=213861
<rdar://problem/64988957>

Reviewed by Per Arne Vollan.

Telemetry shows that we need to read the 'hw.product' sysctl in the font subsystem,
primarily to enable certain font features (for various products) in different locales.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
2:01 PM Changeset in webkit [263820] by youenn@apple.com
  • 837 edits
    21 copies
    9 moves
    105 adds
    16 deletes in trunk

Add a functional WebRTC VP9 codec
https://bugs.webkit.org/show_bug.cgi?id=213778

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Update libvpx to synchronize VP9 support with the rest of libwebrtc.
Disable vp9_noop in the build system and use function vp9 encoder/decoder instead.

  • Configurations/libvpx.xcconfig:
  • Source/third_party/libvpx/BUILD.gn:
  • Source/third_party/libvpx/OWNERS:
  • Source/third_party/libvpx/README.chromium:
  • Source/third_party/libvpx/generate_gni.sh:
  • Source/third_party/libvpx/libvpx_srcs.gni:
  • Source/third_party/libvpx/lint_config.sh:
  • Source/third_party/libvpx/run_perl.py:
  • Source/third_party/libvpx/source/config/ios/arm-neon/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/ios/arm-neon/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/ios/arm-neon/vpx_config.asm:
  • Source/third_party/libvpx/source/config/ios/arm-neon/vpx_config.c:
  • Source/third_party/libvpx/source/config/ios/arm-neon/vpx_config.h:
  • Source/third_party/libvpx/source/config/ios/arm-neon/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/ios/arm64/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/ios/arm64/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/ios/arm64/vpx_config.asm:
  • Source/third_party/libvpx/source/config/ios/arm64/vpx_config.c:
  • Source/third_party/libvpx/source/config/ios/arm64/vpx_config.h:
  • Source/third_party/libvpx/source/config/ios/arm64/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.asm:
  • Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.c:
  • Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.h:
  • Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vp8_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h.
  • Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vp9_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h.
  • Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.asm: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm-neon/vpx_config.asm.
  • Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.c: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/ios/arm-neon/vpx_config.c.

(vpx_codec_build_config):

  • Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm-neon/vpx_config.h.
  • Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_dsp_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h.
  • Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_scale_rtcd.h: Added.
  • Source/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm-neon/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm-neon/vpx_config.asm:
  • Source/third_party/libvpx/source/config/linux/arm-neon/vpx_config.c:
  • Source/third_party/libvpx/source/config/linux/arm-neon/vpx_config.h:
  • Source/third_party/libvpx/source/config/linux/arm-neon/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm/vpx_config.asm:
  • Source/third_party/libvpx/source/config/linux/arm/vpx_config.c:
  • Source/third_party/libvpx/source/config/linux/arm/vpx_config.h:
  • Source/third_party/libvpx/source/config/linux/arm/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm64-highbd/vp8_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h.
  • Source/third_party/libvpx/source/config/linux/arm64-highbd/vp9_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h.
  • Source/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.asm: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm64/vpx_config.asm.
  • Source/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.c: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/ios/arm64/vpx_config.c.

(vpx_codec_build_config):

  • Source/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm64/vpx_config.h.
  • Source/third_party/libvpx/source/config/linux/arm64-highbd/vpx_dsp_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h.
  • Source/third_party/libvpx/source/config/linux/arm64-highbd/vpx_scale_rtcd.h: Added.
  • Source/third_party/libvpx/source/config/linux/arm64/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm64/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/arm64/vpx_config.asm:
  • Source/third_party/libvpx/source/config/linux/arm64/vpx_config.c:
  • Source/third_party/libvpx/source/config/linux/arm64/vpx_config.h:
  • Source/third_party/libvpx/source/config/linux/arm64/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/generic/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/generic/vpx_config.asm:
  • Source/third_party/libvpx/source/config/linux/generic/vpx_config.c:
  • Source/third_party/libvpx/source/config/linux/generic/vpx_config.h:
  • Source/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/ia32/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/ia32/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/ia32/vpx_config.asm:
  • Source/third_party/libvpx/source/config/linux/ia32/vpx_config.c:
  • Source/third_party/libvpx/source/config/linux/ia32/vpx_config.h:
  • Source/third_party/libvpx/source/config/linux/ia32/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/mips64el/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/mips64el/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/mips64el/vpx_config.c:
  • Source/third_party/libvpx/source/config/linux/mips64el/vpx_config.h:
  • Source/third_party/libvpx/source/config/linux/mips64el/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/mipsel/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/mipsel/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/mipsel/vpx_config.c:
  • Source/third_party/libvpx/source/config/linux/mipsel/vpx_config.h:
  • Source/third_party/libvpx/source/config/linux/mipsel/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/x64/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/x64/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/linux/x64/vpx_config.asm:
  • Source/third_party/libvpx/source/config/linux/x64/vpx_config.c:
  • Source/third_party/libvpx/source/config/linux/x64/vpx_config.h:
  • Source/third_party/libvpx/source/config/linux/x64/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/mac/ia32/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/mac/ia32/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/mac/ia32/vpx_config.asm:
  • Source/third_party/libvpx/source/config/mac/ia32/vpx_config.c:
  • Source/third_party/libvpx/source/config/mac/ia32/vpx_config.h:
  • Source/third_party/libvpx/source/config/mac/ia32/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd_no_acceleration.h:
  • Source/third_party/libvpx/source/config/mac/x64/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/mac/x64/vpx_config.asm:
  • Source/third_party/libvpx/source/config/mac/x64/vpx_config.c:
  • Source/third_party/libvpx/source/config/mac/x64/vpx_config.h:
  • Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd_no_acceleration.h:
  • Source/third_party/libvpx/source/config/nacl/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/nacl/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/nacl/vpx_config.c:
  • Source/third_party/libvpx/source/config/nacl/vpx_config.h:
  • Source/third_party/libvpx/source/config/nacl/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/vpx_version.h:
  • Source/third_party/libvpx/source/config/win/arm64/vp8_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h.
  • Source/third_party/libvpx/source/config/win/arm64/vp9_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h.
  • Source/third_party/libvpx/source/config/win/arm64/vpx_config.asm: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/ios/arm64/vpx_config.asm.
  • Source/third_party/libvpx/source/config/win/arm64/vpx_config.c: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/mips64el/vpx_config.c.

(vpx_codec_build_config):

  • Source/third_party/libvpx/source/config/win/arm64/vpx_config.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm64/vpx_config.h.
  • Source/third_party/libvpx/source/config/win/arm64/vpx_dsp_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h.
  • Source/third_party/libvpx/source/config/win/arm64/vpx_scale_rtcd.h: Added.
  • Source/third_party/libvpx/source/config/win/ia32/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/win/ia32/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/win/ia32/vpx_config.asm:
  • Source/third_party/libvpx/source/config/win/ia32/vpx_config.c:
  • Source/third_party/libvpx/source/config/win/ia32/vpx_config.h:
  • Source/third_party/libvpx/source/config/win/ia32/vpx_dsp_rtcd.h:
  • Source/third_party/libvpx/source/config/win/x64/vp8_rtcd.h:
  • Source/third_party/libvpx/source/config/win/x64/vp9_rtcd.h:
  • Source/third_party/libvpx/source/config/win/x64/vpx_config.asm:
  • Source/third_party/libvpx/source/config/win/x64/vpx_config.c:
  • Source/third_party/libvpx/source/config/win/x64/vpx_config.h:
  • Source/third_party/libvpx/source/config/win/x64/vpx_dsp_rtcd.h:
  • libwebrtc.xcodeproj/project.pbxproj:

LayoutTests:

  • webrtc/vp9-expected.txt:
  • webrtc/vp9.html:
1:29 PM Changeset in webkit [263819] by timothy_horton@apple.com
  • 15 edits in trunk/Source

Upstream application accent color support
https://bugs.webkit.org/show_bug.cgi?id=213859

Reviewed by Wenson Hsieh.

Source/WebCore/PAL:

  • pal/spi/mac/NSApplicationSPI.h:

Source/WebKit:

  • Shared/WebPageCreationParameters.cpp:

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

  • Shared/WebPageCreationParameters.h:
  • UIProcess/Cocoa/PageClientImplCocoa.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::accentColor):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_limitsNavigationsToAppBoundDomains):

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

(WebKit::WebPage::setAccentColor):
Plumb accent color to the Web Content process so that it is used when
deciding the colors of selection and form controls.

Source/WTF:

  • wtf/PlatformHave.h:
1:16 PM Changeset in webkit [263818] by sbarati@apple.com
  • 4 edits in trunk/PerformanceTests

Make it so JetStream2 can run with the d8 shell
https://bugs.webkit.org/show_bug.cgi?id=213856

Reviewed by Keith Miller.

We use d8's Realm API to create separate global objects for
each test to run in.

  • JetStream2/JetStreamDriver.js:

(Driver.prototype.runCode.globalObject.loadString):
(Driver.prototype.runCode):
(prototype.async run):

  • JetStream2/cli.js:
  • JetStream2/index.html:
1:14 PM Changeset in webkit [263817] by keith_miller@apple.com
  • 2 edits in trunk/Source/WebKit

Add WebXR to WebKit.plist preferences, off by default
https://bugs.webkit.org/show_bug.cgi?id=213860
<rdar://64411568>

Reviewed by Tim Horton.

Right now we look for "WebXR" in the plist, however, it's not in
the file. It so happens that, *I think*, we fall back to false for
missing keys. We should have an entry for readability and
consistency, though.

No tests needed because this shouldn't change behavior.

  • FeatureFlags/WebKit.plist:
10:42 AM Changeset in webkit [263816] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Regression(r259242) WebKit no longer does client navigations at foreground priority for extensions
https://bugs.webkit.org/show_bug.cgi?id=213852
<rdar://problem/63300428>

Reviewed by Alex Christensen.

r259242 tried to address a ASSERT(window) debug assertion hit in applicationType()
by only calling applicationType() when the window is non-null and assuming the
process is an application when the window is null. However, this is not correct
for extensions. The first thing isApplicationVisible() does is call

_UIApplicationIsExtension() to determine if we are an extension. It does not need

the window to make this determination. As a result, I have reverted r259242 and
simply dropped the ASSERT(window) assertion in isApplicationVisible() instead.

This fixes the regression tracked by <rdar://problem/63300428> by reverting the
change that caused it (r259242) and drops the assertion that was hit before r259242.

  • UIProcess/ApplicationStateTracker.mm:

(WebKit::applicationType):

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::isApplicationVisible):

10:26 AM Changeset in webkit [263815] by Devin Rousso
  • 9 edits
    3 adds in trunk/Source/WebInspectorUI

Web Inspector: add back support for 10.3.1
https://bugs.webkit.org/show_bug.cgi?id=213764

Reviewed by Brian Burg.

  • UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.initializeTarget):
(WI.NetworkManager.prototype.webSocketWillSendHandshakeRequest):
(WI.NetworkManager.prototype.markResourceRequestAsServedFromMemoryCache): Added.
(WI.NetworkManager.prototype.resourceRequestDidReceiveResponse):

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.legacyMarkServedFromMemoryCache): Added.
(WI.Resource.prototype.legacyMarkServedFromDiskCache): Added.

  • UserInterface/Models/WebSocketResource.js:

(WI.WebSocketResource.prototype.addFrame):

  • UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js: Added.
  • UserInterface/Protocol/NetworkObserver.js:

(WI.NetworkObserver.prototype.requestServedFromCache): Added.

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView):

  • UserInterface/Views/NetworkTimelineView.js:

(WI.NetworkTimelineView):

  • UserInterface/Views/ResourceDetailsSidebarPanel.js:

(WI.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse):

  • UserInterface/Views/WebSocketContentView.js:

(WI.WebSocketContentView):
(WI.WebSocketContentView.prototype._addRow):

  • Versions/Inspector-iOS-10.3.json: Added.
10:23 AM Changeset in webkit [263814] by Wenson Hsieh
  • 8 edits in trunk

Fix the WebKit build after <rdar://problem/64288191>
https://bugs.webkit.org/show_bug.cgi?id=213832

Reviewed by Tim Horton.

Source/WebCore:

Upcoming changes to <UIKit/UIWebDocumentView.h> will cause the WebKit build to break, due to conflicting
declarations of WKObject in both WebCore (WAK) code and the WebKit API. Avoid this by renaming the WAK version
to WAKObject, rather than WKObject.

Additionally, fix some minor style issues along the way.

  • platform/ios/wak/WKTypes.h:
  • platform/ios/wak/WKUtilities.c:

(WKRetain):
(WKRelease):
(_WAKObjectDealloc):
(WKGetClassInfo):
(_WKObjectDealloc): Deleted.

  • platform/ios/wak/WKUtilities.h:
  • platform/ios/wak/WKView.h:
  • platform/ios/wak/WKView.mm:

(_WKViewDealloc):

Tools:

Additionally, fix a naming conflict that will result from WebArchivePboardType being declared in both
<WebKitLegacy/WebArchive.h> and DumpRenderTree, by making the latter a local variable instead.

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::imageCountInGeneralPasteboard const):

10:08 AM Changeset in webkit [263813] by dbates@webkit.org
  • 8 edits in trunk

[iOS] Implement support for UIWKDocumentRequestSpatialAndCurrentSelection
https://bugs.webkit.org/show_bug.cgi?id=213704
<rdar://problem/59738878>

Reviewed by Wenson Hsieh.

Source/WebKit:

Implement support for the new request type UIWKDocumentRequestSpatialAndCurrentSelection.
Requests of this type return the contents inside the range that covers both the specified
rect and the current selection, if there is one.

The flag UIWKDocumentRequestSpatialAndCurrentSelection was added in <rdar://problem/64867540>.

  • Platform/spi/ios/UIKitSPI.h: Same thing I did in TestWebKitAPI/ios/UIKitSPI.h. See Tools ChangeLog for why.
  • Shared/DocumentEditingContext.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(toWebDocumentRequestOptions):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::requestDocumentEditingContext):

Tools:

Add some tests.

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST):

  • TestWebKitAPI/ios/UIKitSPI.h: Define the enumerator using a macro just like what was done for

UIWKDocumentRequestMarkedTextRects. The reason for the macro instead of modifying the enumeration
definition in this file is to 1) avoid breaking the build for Apple engineers that haven't picked
up <rdar://problem/64867540> and to 2) avoid breaking the OpenSource build.

9:58 AM Changeset in webkit [263812] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for fast/events/before-input-delete-empty-list-target-ranges.html and fast/events/before-input-events-prevent-insert-composition.html and fast/events/before-input-events-prevent-recomposition.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213848

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-07-01

  • platform/ios-simulator/TestExpectations:
9:41 AM Changeset in webkit [263811] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for fast/events/fire-scroll-event.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=213850

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-07-01

  • platform/ios-simulator/TestExpectations:
9:20 AM Changeset in webkit [263810] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Script to copy over testapi.js is redundant in xcodebuild
https://bugs.webkit.org/show_bug.cgi?id=213824

Reviewed by Keith Miller.

We're already copying over the entire testapiScripts directory.
No need to manually copy just one file from it, too.

9:19 AM Changeset in webkit [263809] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Remove unnecessary baseline after r263797.

  • platform/glib/imported/w3c/web-platform-tests/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-unicode-expected.txt:
9:15 AM Changeset in webkit [263808] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for fast/events/before-input-prevent-cut.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213849

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-07-01

  • platform/ios/TestExpectations:
9:14 AM Changeset in webkit [263807] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Crash under IPC::isValidMessageName()
https://bugs.webkit.org/show_bug.cgi?id=213751
<rdar://problem/64773416>

Reviewed by Geoffrey Garen.

This is a speculative fix for the crashes tracked by <rdar://problem/64773416>.
The suspicion is that the compiler optimizes the code for IPC::isValidMessageName()
because its parameter is of type MessageName. It may therefore assume the parameter
is a valid MessageName enum value, which is ironic because the purpose of this
function is to check whether or not the enum value is valid.

To address the issue, I got rid of the #ifdefs in MessageName enum so that the
enum values have an underlying value in the range [0, MessageName::Last]. I then
updated the isValidEnum template specialization to verify that the input integer
is indeed in the range [0, MessageName::Last] before casting it to a MessageName
and calling IPC::isValidMessageName().

  • Scripts/webkit/messages.py:
9:03 AM Changeset in webkit [263806] by Kate Cheney
  • 12 edits in trunk

WKUserScripts injecting into all frames seem to violate app-bound domains
https://bugs.webkit.org/show_bug.cgi?id=213816
<rdar://problem/64872296>

Reviewed by Brady Eidson.

Source/WebKit:

Patch to make app-bound domain checks on a per-frame basis instead
of per-page-based-on-main-frame. This will prevent WKUserScripts from
being injected in subframes when the main frame is app-bound. Now, all
ancestors of a frame must be app-bound in order for a frame to
evaluate user script.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomainAndCheckIfPermitted):
Move 'isMainFrame' check to be inside of the check for
m_limitsNavigationsToAppBoundDomains. The navigation should fail if
the main frame is not app-bound and the WKWebView is marked with the
limitsNavigationToAppBoundDomains flag, but non-app-bound subframe
loads are allowed to continue.

(WebKit::WebPageProxy::decidePolicyForNavigationAction):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::isTopFrameNavigatingToAppBoundDomain const):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::download):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::startPingLoad):
(WebKit::WebLoaderStrategy::preconnectTo):
For reporting loads to the Network Process, we only care if the main
frame is app bound, so we need to store that info in the WebPage and
WebPageProxy.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::shouldEnableInAppBrowserPrivacyProtections const):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):
(WebKit::WebFrame::shouldEnableInAppBrowserPrivacyProtections):
(WebKit::WebFrame::isTopFrameNavigatingToAppBoundDomain const):

  • WebProcess/WebPage/WebFrame.h:

(WebKit::WebFrame::setIsNavigatingToAppBoundDomain):
(WebKit::WebFrame::isNavigatingToAppBoundDomain const):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadRequest):
(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::didReceivePolicyDecision):
(WebKit::WebPage::runJavaScript):
(WebKit::WebPage::setIsNavigatingToAppBoundDomain):
(WebKit::WebPage::shouldEnableInAppBrowserPrivacyProtections): Deleted.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::needsInAppBrowserPrivacyQuirks):
(WebKit::WebPage::isNavigatingToAppBoundDomain const): Deleted.
Move all app-bound domain logic from the WebPage to the WebFrame now
that checks are on a per-frame basis.

Tools:

Added API test coverage. Sets up a tree like so: [app-bound domain,
non-app-bound domain, app-bound domain]. Script injection should only
be successful in the top frame. Since message handlers are disabled for non-
app-bound domains, this test injects script which loads an image using a
custom url scheme. If the load succeeds, we increment a counter, and
expect only one successful script load (the main frame).

  • TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:

(-[InAppBrowserSchemeHandler webView:startURLSchemeTask:]):

8:57 AM Changeset in webkit [263805] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][TFC] Add support for non-baseline aligned cell height
https://bugs.webkit.org/show_bug.cgi?id=213845

Reviewed by Antti Koivisto.

Source/WebCore:

Adjust max ascent/descent only when the cell is basline aligned.

Test: fast/layoutformattingcontext/table-cell-height-middle-align-simple.html

  • layout/tableformatting/TableLayout.cpp:

(WebCore::Layout::TableFormattingContext::TableLayout::distributedVerticalSpace):

LayoutTests:

  • fast/layoutformattingcontext/table-cell-height-middle-align-simple-expected.html: Added.
  • fast/layoutformattingcontext/table-cell-height-middle-align-simple.html: Added.
8:47 AM Changeset in webkit [263804] by graouts@webkit.org
  • 1 edit
    2 moves
    2 adds in trunk/LayoutTests

pointerevents/ios/touch-action-none-on-iframe.html times out
https://bugs.webkit.org/show_bug.cgi?id=213846
<rdar://problem/60393092>

Reviewed by Antti Koivisto.

The test pointerevents/ios/touch-action-none-on-iframe.html was mistakenly assuming that setting touch-action: none on
an <iframe> should prevent scrolling on the outer document with a swipe gesture over the inner document. We're renaming
this test as pointerevents/ios/touch-action-none-on-iframe-outer.html and modifying it to expect scrolling to occur, and
also make it a promise_test to avoid further timeouts due to failures in an async_test.

We also add a new test pointerevents/ios/touch-action-none-on-iframe-inner.html which sets touch-action: none on the
inner document which should indeed prevent scrolling of both the inner and outer documents.

  • pointerevents/ios/touch-action-none-on-iframe-inner-expected.txt: Added.
  • pointerevents/ios/touch-action-none-on-iframe-inner.html: Added.
  • pointerevents/ios/touch-action-none-on-iframe-outer-expected.txt: Renamed from LayoutTests/pointerevents/ios/touch-action-none-on-iframe-expected.txt.
  • pointerevents/ios/touch-action-none-on-iframe-outer.html: Renamed from LayoutTests/pointerevents/ios/touch-action-none-on-iframe.html.
8:40 AM Changeset in webkit [263803] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Remove expectation for fast/dom/Window/open-invalid-url.html and fast/dom/Range/simple-line-layout-getclientrects.html and fast/dom/attr_dead_doc.html and fast/dom/horizontal-scrollbar-when-dir-change.html and fast/dom/vertical-scrollbar-when-dir-change.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213847

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-07-01

  • platform/ios-simulator/TestExpectations:
  • platform/ios/TestExpectations:
8:26 AM Changeset in webkit [263802] by graouts@webkit.org
  • 3 edits
    2 adds in trunk

[Media Controls] Tracks panel can show text tracks with mode "hidden" as selected
https://bugs.webkit.org/show_bug.cgi?id=213839
<rdar://problem/57989325>

Reviewed by Jer Noble.

Source/WebCore:

We only considered text tracks that had their "mode" set to "disabled" as tracks that weren't selected,
but there is also the "hidden" mode which should share the same UI state. We now check for "mode" to
be set to "showing" to consider a text track as selected in the tracks panel.

Test: media/modern-media-controls/tracks-support/tracks-support-hidden-tracks.html

  • Modules/modern-media-controls/media/tracks-support.js:

(TracksSupport.prototype.tracksPanelIsTrackInSectionSelected):

LayoutTests:

Add a new test that dumps the selection state of tracks in the tracks panel when all of media.textTracks
have been set to mode = "hidden".

  • media/modern-media-controls/tracks-support/tracks-support-hidden-tracks-expected.txt: Added.
  • media/modern-media-controls/tracks-support/tracks-support-hidden-tracks.html: Added.
7:49 AM Changeset in webkit [263801] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for fast/css/replaced-element-implicit-size.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213843

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-07-01

  • platform/ios/TestExpectations:
7:31 AM Changeset in webkit [263800] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Regression (r263788): Windows build broken: nameForRenderTreeAsText is not a member of WebCore::Color
https://bugs.webkit.org/show_bug.cgi?id=213841
<rdar://problem/64985276>

Fix Windows build.

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(printColor):

7:28 AM Changeset in webkit [263799] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for fast/canvas/canvas-gradient-addStop-error.html and fast/canvas/canvas-radial-gradient-spreadMethod.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213840

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-07-01

  • platform/ios/TestExpectations:
7:27 AM Changeset in webkit [263798] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for fast/css/font-calculated-value.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=178952

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-07-01

  • platform/ios/TestExpectations:
7:23 AM Changeset in webkit [263797] by youenn@apple.com
  • 19 edits in trunk/Source

Make NetworkSendQueue use CString instead of String for UTF-8 data
https://bugs.webkit.org/show_bug.cgi?id=213714

Reviewed by Darin Adler.

Source/WebCore:

Use CString instead of String in NetworkSendQueue as all data is to be encoded as UTF-8.
This allows converting and allocating the UTF-8 string only once.
Covered by existing tests.

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::createMessageQueue):
(WebCore::RTCDataChannel::send):

  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:

(WebCore::LibWebRTCDataChannelHandler::sendStringData):
(WebCore::LibWebRTCDataChannelHandler::sendRawData):

  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
  • fileapi/NetworkSendQueue.cpp:

(WebCore::NetworkSendQueue::enqueue):
(WebCore::NetworkSendQueue::processMessages):

  • fileapi/NetworkSendQueue.h:
  • platform/mediastream/RTCDataChannelHandler.h:
  • platform/mock/RTCDataChannelHandlerMock.cpp:

(WebCore::RTCDataChannelHandlerMock::sendStringData):

  • platform/mock/RTCDataChannelHandlerMock.h:

Source/WebKit:

Update code to use CString/DataReference to transmit WebSocket text messages.

  • NetworkProcess/NetworkSocketChannel.cpp:

(WebKit::NetworkSocketChannel::sendString):

  • NetworkProcess/NetworkSocketChannel.h:
  • NetworkProcess/NetworkSocketChannel.messages.in:
  • NetworkProcess/WebSocketTask.h:

(WebKit::WebSocketTask::sendString):

  • NetworkProcess/cocoa/WebSocketTaskCocoa.h:
  • NetworkProcess/cocoa/WebSocketTaskCocoa.mm:

(WebKit::WebSocketTask::sendString):

  • NetworkProcess/soup/WebSocketTaskSoup.h:
  • NetworkProcess/soup/WebSocketTaskSoup.cpp:

(WebKit::WebSocketTask::sendString):

  • WebProcess/Network/WebSocketChannel.cpp:

(WebKit::WebSocketChannel::createMessageQueue):
(WebKit::WebSocketChannel::send):

7:16 AM Changeset in webkit [263796] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for fast/block/positioning/rtl-fixed-positioning.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=213838

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-07-01

  • platform/ios-simulator/TestExpectations:
3:49 AM Changeset in webkit [263795] by Alexey Shvayka
  • 4 edits in trunk/Source

Use more efficient makeString() instead of StringBuilder
https://bugs.webkit.org/show_bug.cgi?id=213708

Reviewed by Sam Weinig.

Source/WebCore:

This patch refactors throwRequiredMemberTypeError() and throwArgument*Error()
methods, replacing all StringBuilder usages with more efficient makeString().

Extracts makeArgumentTypeErrorMessage(), similiar to existing helpers,
which can be reused if neccessary.

No new tests, no behavior change.

  • bindings/js/JSDOMExceptionHandling.cpp:

(WebCore::makeArgumentTypeErrorMessage):
(WebCore::throwArgumentMustBeEnumError):
(WebCore::throwArgumentMustBeFunctionError):
(WebCore::throwArgumentMustBeObjectError):
(WebCore::throwArgumentTypeError):
(WebCore::throwRequiredMemberTypeError):
(WebCore::appendArgumentMustBe): Deleted.

Source/WTF:

Introduces StringTypeAdapter<std::tuple> overload, which enables using
makeString() instead of StringBuilder in more cases.

  • wtf/text/StringConcatenate.h:

(WTF::StringTypeAdapter<std::tuple<StringTypes...>, void>): Added.

3:41 AM Changeset in webkit [263794] by svillar@igalia.com
  • 4 edits in trunk

[css-flexbox] Don't include scrollbar extents when computing sizes for percentage resolution
https://bugs.webkit.org/show_bug.cgi?id=213739

Reviewed by Javier Fernandez.

Source/WebCore:

Content override sizes do include scrollbars so they must be substracted when using the override size
to compute percentages.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::crossSizeForPercentageResolution): Remove scrollbars.
(WebCore::RenderFlexibleBox::mainSizeForPercentageResolution): Ditto.

LayoutTests:

3:36 AM Changeset in webkit [263793] by James Savage
  • 3 edits in trunk/Source/WebKit

Fix Swift overlay build after r263727.
https://bugs.webkit.org/show_bug.cgi?id=213823.

Unreviewed, follow up build fix.

  • SwiftOverlay/Tests/WebKitTests.swift:

(WebKitTests.testAPI): Fix tests to refer to new parameter name.

  • UIProcess/API/Cocoa/WebKitSwiftOverlay.swift:

(callAsyncJavaScript(_:arguments:in:in:completionHandler:Error:)): Use
the imported ObjC name that the compiler expects.
(evaluateJavaScript(_:in:in:completionHandler:Error:)): Ditto.

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

[css-flex] Remove death code paths when evaluating percentage resolution
https://bugs.webkit.org/show_bug.cgi?id=213809

Reviewed by Manuel Rego Casasnovas.

Both crossSizeForPercentageResolution() and mainSizeForPercentageResolution() are only called from
childLogicalHeightForPercentageResolution(). The former is called whenever hasOrthogonalFlow(child)
is false and the latter when it's true. However crossSizeForPercentageResolution() has a path for
hasOrthogonalFlow(child)==true which is impossible to reach. The same happens to
mainSizeForPercentageResolution() which has a path for hasOrthogonalFlow(child)==false which is
also impossible to reach.

Remove both death code paths and replace them by assertions. We're also making both methods
private since are not meant to be used from the outside.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::crossSizeForPercentageResolution): Remove death code path.
(WebCore::RenderFlexibleBox::mainSizeForPercentageResolution): Ditto.

  • rendering/RenderFlexibleBox.h: Make both calls private.
3:34 AM Changeset in webkit [263791] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Garden flaky failures in EWS GTK-WK2 queue.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
12:09 AM Changeset in webkit [263790] by commit-queue@webkit.org
  • 11 edits in trunk/Source/JavaScriptCore

Use properly flag names for tests of Tools/Scripts/run-builtins-generator-tests
https://bugs.webkit.org/show_bug.cgi?id=213733

Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-07-01
Reviewed by Youenn Fablet.

Test cases under Source/JavaScriptCore/Scripts/tests/builtins/ uses exist compilation flags.
But they can take an arbitary flag name and don't have to use an exist flag.
I think it's better to rename them to more proper ones.

  • Scripts/tests/builtins/WebCore-ArbitraryConditionalGuard-Separate.js:
  • Scripts/tests/builtins/WebCore-DuplicateKeyValueAnnotation-Separate.js:
  • Scripts/tests/builtins/WebCore-GuardedBuiltin-Separate.js:
  • Scripts/tests/builtins/WebCore-GuardedInternalBuiltin-Separate.js:
  • Scripts/tests/builtins/WebCore-xmlCasingTest-Separate.js:
  • Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result:
12:08 AM Changeset in webkit [263789] by youenn@apple.com
  • 16 edits
    3 deletes in trunk/Source/WebKit

Make NetworkRTCProvider receive IPC messages from a background thread
https://bugs.webkit.org/show_bug.cgi?id=213557

Reviewed by Geoffrey Garen.

To ensure webrtc packets do not get blocked on the main thread,
we process WebProcess IPC message directly in the socket thread.
For new sockets, we still go through the main thread, to check suspension or proxy values.
For sending packets/setting options/closing sockets, we stay in the background thread.

  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):

  • NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:

(WebKit::LibWebRTCSocketClient::sendTo):

  • NetworkProcess/webrtc/LibWebRTCSocketClient.h:
  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::NetworkRTCProvider):
(WebKit::NetworkRTCProvider::close):
(WebKit::NetworkRTCProvider::createSocket):
(WebKit::NetworkRTCProvider::createUDPSocket):
(WebKit::NetworkRTCProvider::createServerTCPSocket):
(WebKit::NetworkRTCProvider::createClientTCPSocket):
(WebKit::NetworkRTCProvider::wrapNewTCPConnection):
(WebKit::NetworkRTCProvider::sendToSocket):
(WebKit::NetworkRTCProvider::closeSocket):
(WebKit::NetworkRTCProvider::setSocketOption):
(WebKit::NetworkRTCProvider::addSocket):
(WebKit::NetworkRTCProvider::takeSocket):
(WebKit::NetworkRTCProvider::newConnection):
(WebKit::NetworkRTCProvider::dispatchToThread):

  • NetworkProcess/webrtc/NetworkRTCProvider.h:

(WebKit::NetworkRTCProvider::didReceiveNetworkRTCMonitorMessage):

  • NetworkProcess/webrtc/NetworkRTCProvider.messages.in:
  • NetworkProcess/webrtc/NetworkRTCSocket.cpp: Removed.
  • NetworkProcess/webrtc/NetworkRTCSocket.h: Removed.
  • NetworkProcess/webrtc/NetworkRTCSocket.messages.in: Removed.
  • SourcesCocoa.txt:
  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/Network/webrtc/LibWebRTCSocket.cpp:

(WebKit::LibWebRTCSocket::SendTo):
(WebKit::LibWebRTCSocket::Close):
(WebKit::LibWebRTCSocket::SetOption):
(WebKit::LibWebRTCSocket::suspend):

Jun 30, 2020:

10:53 PM Changeset in webkit [263788] by weinig@apple.com
  • 40 edits
    2 adds in trunk

Split Color serialization out of Color classes
https://bugs.webkit.org/show_bug.cgi?id=213820

Reviewed by Darin Adler.

Source/WebCore:

Move all color serialization related functions out of the Color family
of classes, and into a standalone ColorSerialization.h

Now all color serialization calls one of the following three functions, depending on need:

  • serializationForCSS(...)
  • serializationForHTML(...)
  • serializationForRenderTreeAsText(...)

These are overload for all three Color classes (Color, SimpleColor and ExtendedColor) to
allow easy use without necessarily needing to construct another type.

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

Add new files.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::inverseTransformColorIfNeeded):
(WebCore::StyleChange::extractTextStyles):

  • editing/cocoa/DataDetection.mm:

(WebCore::DataDetection::detectContentInRange):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::didChooseColor):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::shadowColor const):

  • html/canvas/CanvasStyle.h:

(WebCore::CanvasStyle::color const):

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
(WebCore::TextTrackCueGeneric::toJSON const):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildArrayForCanvasGradient):

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::colorPropertyCSS const):

  • page/DragController.cpp:

(WebCore::DragController::concludeEditDrag):
(WebCore::DragController::insertDroppedImagePlaceholdersAtCaret):

  • platform/graphics/Color.cpp:

(WebCore::operator<<):
(WebCore::Color::serialized const): Deleted.
(WebCore::Color::cssText const): Deleted.
(WebCore::Color::nameForRenderTreeAsText const): Deleted.

  • platform/graphics/Color.h:
  • platform/graphics/ColorSerialization.cpp: Added.

(WebCore::decimalDigit):
(WebCore::fractionDigitsForFractionalAlphaValue):
(WebCore::serializationForCSS):
(WebCore::serializationForHTML):
(WebCore::serializationForRenderTreeAsText):
(WebCore::serialization):

  • platform/graphics/ColorSerialization.h: Added.
  • platform/graphics/ExtendedColor.cpp:

(WebCore::ExtendedColor::cssText const): Deleted.

  • platform/graphics/ExtendedColor.h:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::dumpProperties const):

  • platform/graphics/InbandGenericCue.cpp:

(WebCore::InbandGenericCue::toJSONString const):

  • platform/graphics/SimpleColor.cpp:

(WebCore::SimpleColor::serializationForHTML const): Deleted.
(WebCore::decimalDigit): Deleted.
(WebCore::fractionDigitsForFractionalAlphaValue): Deleted.
(WebCore::SimpleColor::serializationForCSS const): Deleted.
(WebCore::SimpleColor::serializationForRenderTreeAsText const): Deleted.

  • platform/graphics/SimpleColor.h:
  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::externalRepresentation const):

  • platform/graphics/filters/FEFlood.cpp:

(WebCore::FEFlood::externalRepresentation const):

  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeRenderSVGTextBox):

  • svg/properties/SVGPropertyTraits.h:

(WebCore::SVGPropertyTraits<Color>::toString):

  • testing/Internals.cpp:

(WebCore::Internals::viewBaseBackgroundColor):
(WebCore::Internals::highlightPseudoElementColor):
(WebCore::Internals::systemColorForCSSValue):
(WebCore::Internals::focusRingColor):
Adopt new serialization functions.

Source/WebKit:

Adopt ColorSerialization.h serialization functions.

  • UIProcess/API/Cocoa/WKWebView.mm:

(dictionaryRepresentationForEditorState):

  • UIProcess/Cocoa/WebViewImpl.mm:

(-[WKTextTouchBarItemController _wkChangeColor:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _setTextColorForWebView:sender:]):

  • UIProcess/ios/forms/WKFormColorPicker.mm:

(-[WKColorPicker setControlValueFromUIColor:]):

  • WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:

(WebKit::PDFPluginChoiceAnnotation::createAnnotationElement):

  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:

(WebKit::PDFPluginTextAnnotation::createAnnotationElement):

Source/WebKitLegacy/mac:

Adopt ColorSerialization.h serialization functions.

  • WebView/WebView.mm:

(-[WebTextTouchBarItemController _webChangeColor:]):

Tools:

  • TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:

(TestWebKitAPI::TEST):
Update tests to use ColorSerialization.h

10:35 PM Changeset in webkit [263787] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[WPE] Garden some failures and add new section to expectation

Start new sections for triaged tests like GTK and GLib.

Unreviewed test gardening.

  • platform/wpe/TestExpectations:
10:21 PM Changeset in webkit [263786] by ggaren@apple.com
  • 2 edits in trunk/Source/WebKit

[Cocoa] [GTK] RunLoop::Timer::isActive() is incorrect for timers while they are firing
https://bugs.webkit.org/show_bug.cgi?id=213771

Unreviewed assertion fix.

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::AuthenticatorManager::timeOutTimerFired): Removed this ASSERT.
One-shot timers are not active while they are firing.

10:10 PM Changeset in webkit [263785] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[WinCairo] Unreviewed build fix after r263776

WebCore\platform\graphics\ColorUtilities.h(67): error C2039: 'lround': is not a member of 'std'

  • platform/graphics/ColorUtilities.h: Include <cmath> for std::lround.
7:35 PM Changeset in webkit [263784] by Wenson Hsieh
  • 4 edits in trunk

Several key event tests in fast/events/ios are failing after <rdar://problem/62197116>
https://bugs.webkit.org/show_bug.cgi?id=213821
<rdar://problem/64821309>

Reviewed by Megan Gardner.

Source/WebKit:

Add an SPI method declaration.

  • Platform/spi/ios/UIKitSPI.h:

Tools:

After the UIKit changes in <rdar://problem/62197116>, double tapping the Option key now enters dictation mode
by default, and additionally displays a modal popup prompting the user to set up dictation. Both of these
behaviors interfere with layout tests that attempt to press the option key twice in rapid succession, causing
them to time out or fail.

Fix this by setting the default that determines the modifier key to use as the dictation shortcut to -1, which
disables the dictation keyboard shortcut altogether.

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetStateToConsistentValues):

7:17 PM Changeset in webkit [263783] by ggaren@apple.com
  • 5 edits in trunk

[Cocoa] [GTK] RunLoop::Timer::isActive() is incorrect for timers while they are firing
https://bugs.webkit.org/show_bug.cgi?id=213771

Reviewed by Darin Adler.

Source/WTF:

I noticed this because it triggered an assertion failure in
BackgroundProcessResponsivenessTimer::scheduleNextResponsivenessCheck().

In WebKit timer parlance "isActive()" means "will fire again", so a
one-shot timer should report inactive right when it fires. Otherwise,
there's no way to check if it needs to be rescheduled.

  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::TimerBase::timerFired): For one-shot timers, stop our
timer before it fires, so that we know it is not active.

  • wtf/glib/RunLoopGLib.cpp:

(WTF::RunLoop::TimerBase::TimerBase): For repeating timers, reschedule
our timer before it fires, so that we know it is active.

Tools:

  • TestWebKitAPI/Tests/WTF/RunLoop.cpp:

(TestWebKitAPI::DerivedOneShotTimer::fired):
(TestWebKitAPI::DerivedRepeatingTimer::fired):

6:52 PM Changeset in webkit [263782] by jiewen_tan@apple.com
  • 2 edits in trunk/Source/WebKit

[WebAuthn] Remove whitelistedRpId
https://bugs.webkit.org/show_bug.cgi?id=213817
<rdar://problem/60108131>

Reviewed by Geoffrey Garen.

Remove the whitelist such that we can test the attestation service in a wider range.

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticatorInternal::whitelistedRpId): Deleted.

6:08 PM Changeset in webkit [263781] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit

Fix Swift overlay build after r263727.
<rdar://problem/64962370> and https://bugs.webkit.org/show_bug.cgi?id=213823

Reviewed by Darin Adler.

No new tests (No behavior change).

Adapt the Swift overlay refinemnt to handle the inFrame: argument for these methods.

  • UIProcess/API/Cocoa/WebKitSwiftOverlay.swift:

(callAsyncJavaScript(_:arguments:in:in:completionHandler:Error:)):
(evaluateJavaScript(_:in:in:completionHandler:Error:)):
(callAsyncJavaScript(_:arguments:in:completionHandler:Error:)): Deleted.
(evaluateJavaScript(_:in:completionHandler:Error:)): Deleted.

6:06 PM Changeset in webkit [263780] by Kate Cheney
  • 5 edits in trunk/Source/WebKitLegacy/mac

Remove NeedsInAppBrowserPrivacyQuirks flag from WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=213802
<rdar://problem/64945642>

Reviewed by Darin Adler.

This feature is for testing only and is not needed in WebKitLegacy.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences needsInAppBrowserPrivacyQuirks]): Deleted.
(-[WebPreferences setNeedsInAppBrowserPrivacyQuirks:]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

5:41 PM Changeset in webkit [263779] by Alan Coon
  • 1 copy in tags/Safari-610.1.18.20.3

Tag Safari-610.1.18.20.3.

5:15 PM Changeset in webkit [263778] by Alan Coon
  • 8 edits in branches/safari-610.1.18.20-branch/Source

Versioning.

WebKit-610.1.18.20.3

4:11 PM Changeset in webkit [263777] by Andres Gonzalez
  • 5 edits in trunk

Code cleanup in AccessibilityMenuList.cpp and AXIsolatedTree.h.
https://bugs.webkit.org/show_bug.cgi?id=213806

Reviewed by Darin Adler.

.:

  • WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:

Source/WebCore:

No change in functionality.
Minor code cleanup pointed out by Darin Adler in reviews for bug 209169 and bug 213575.

  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::isCollapsed const):

  • accessibility/isolatedtree/AXIsolatedTree.h:
3:50 PM Changeset in webkit [263776] by weinig@apple.com
  • 14 edits
    2 adds in trunk/Source/WebCore

Move Color blending related functions to their own files
https://bugs.webkit.org/show_bug.cgi?id=213742

Reviewed by Dean Jackson.

  • Moves Color::blend(const Color&), Color::blendWithWhite(), blend(const Color&, const Color&, double) and blendWithoutPremultiply(const Color&, const Color&, double) to their own files: ColorBlending.h/cpp
  • Renames Color::blend(const Color&) to blendSourceOver(const Color&, const Color&)
  • Renames Color::blendWithWhite() to blendWithWhite(const Color&).
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • platform/graphics/Color.cpp:

(WebCore::Color::blend const): Deleted.
(WebCore::Color::blendWithWhite const): Deleted.
(WebCore::blend): Deleted.
(WebCore::blendWithoutPremultiply): Deleted.

  • platform/graphics/Color.h:
  • platform/graphics/ColorBlending.cpp: Copied from Source/WebCore/platform/graphics/Color.cpp.
  • platform/graphics/ColorBlending.h: Added.

Move declarations / implementations from Color.h/cpp to ColorBlending.h/cpp.

  • css/CSSGradientValue.cpp:
  • editing/FrameSelection.cpp:

(WebCore::CaretBase::computeCaretColor):

  • page/FrameView.cpp:

(WebCore::FrameView::documentBackgroundColor const):

  • page/TextIndicator.cpp:

(WebCore::estimatedBackgroundColorForRange):

  • page/animation/CSSPropertyAnimation.cpp:
  • platform/graphics/filters/FilterOperation.cpp:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::getItemBackgroundColor const):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::transformSelectionBackgroundColor const):
Update for new signatures and #include ColorBlending.h as neeeded.

3:43 PM Changeset in webkit [263775] by weinig@apple.com
  • 4 edits
    2 moves in trunk/Source/WebCore

Rename ManifestParser.h/cpp to ApplicationCacheManifestParser.h/cpp to make it clear its not the ApplicationManifestParser (a different thing entirely)
https://bugs.webkit.org/show_bug.cgi?id=213815

Reviewed by Darin Adler.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/appcache/ApplicationCacheGroup.cpp:
  • loader/appcache/ApplicationCacheManifestParser.cpp: Copied from Source/WebCore/loader/appcache/ManifestParser.cpp.
  • loader/appcache/ApplicationCacheManifestParser.h: Copied from Source/WebCore/loader/appcache/ManifestParser.h.
  • loader/appcache/ManifestParser.cpp: Removed.
  • loader/appcache/ManifestParser.h: Removed.
3:21 PM Changeset in webkit [263774] by beidson@apple.com
  • 12 edits in trunk

App-bound JavaScript and Navigation failures should have specific error codes.
<rdar://problem/64940268> and https://bugs.webkit.org/show_bug.cgi?id=213808

Reviewed by Tim Hatcher.
(Informally by Kate Cheney)

Source/WebCore:

Covered by API tests.

  • bindings/js/ExceptionDetails.h:

Source/WebKit:

  • UIProcess/API/Cocoa/WKError.h:
  • UIProcess/API/Cocoa/WKError.mm:

(localizedDescriptionForErrorCode):

  • UIProcess/API/Cocoa/WKWebView.mm:

(nsErrorFromExceptionDetails):

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::errorForUnpermittedAppBoundDomainNavigation):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction):

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

(WebKit::WebPage::runJavaScript):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:

(TEST):

3:18 PM Changeset in webkit [263773] by pvollan@apple.com
  • 10 edits in trunk/Source

[macOS] Connections to the preference daemon are established before entering the sandbox
https://bugs.webkit.org/show_bug.cgi?id=213379

Reviewed by Darin Adler.

Source/WebCore/PAL:

Use correct parameter types in _CFPrefsSetDirectModeEnabled and _CFPrefsSetReadOnly, and move
_CFPrefsSetDirectModeEnabled inside an Objective-C guard, since BOOL only seems to be a builtin
type in Objective-C.

  • pal/spi/cf/CFUtilitiesSPI.h:

Source/WebKit:

On macOS, connections to the preference daemon are established before entering the sandbox. These connections also persist
after entering the sandbox and denying access to the preference daemon. There should not be attempts to connect to the
preference daemon before entering the sandbox, since these attempts will not be stopped by the sandbox. This patch moves
code that connects to the preference daemon to be executed after the sandbox has been entered. That includes code to
prevent connections to the Dock and code to initialize WebKit logging. Also, instead of calling [NSBundle bundleForClass:],
call [NSBundle bundleWithIdentifier:], since calling [NSBundle bundleForClass:] will connect to the preference daemon.
Finally, allow the syscall SYS_gethostuuid, since that is needed by CoreFoundation when there is no access to the
preference daemon.

No new tests. This should be covered by existing tests. It would be nice to have a test to make sure that there are no
connections to the preference daemon just before entering the sandbox, but I am not aware of how to implement this.

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::initializeSandbox):

  • Shared/AuxiliaryProcess.cpp:

(WebKit::AuxiliaryProcess::initialize):

  • Shared/Cocoa/WebKit2InitializeCocoa.mm:

(WebKit::runInitializationCode):

  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceMain):

  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::webKit2Bundle):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::initializeSandbox):

  • WebProcess/com.apple.WebProcess.sb.in:
3:01 PM Changeset in webkit [263772] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Partially revert r257135 now that the underlying bug is resolved
https://bugs.webkit.org/show_bug.cgi?id=213814
<rdar://problem/59859573>

Reviewed by Per Arne Vollan.

This patch is a partial revert of the code change in Bug 208033, where a temporary
workaround was added for a bug in an underlying framework. Now that the bug has been
fixed, we can remove this workaround.

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::gpuProcessSessionParameters):

2:17 PM Changeset in webkit [263771] by mark.lam@apple.com
  • 11 edits
    3 adds in trunk

Add handling for a case of OOME in CSSTokenizer and CSSParser.
https://bugs.webkit.org/show_bug.cgi?id=213702
<rdar://problem/64808889>

Reviewed by Darin Adler.

Source/WebCore:

We add a bool* constructionSuccess feedback argument to the private CSSTokenizer
constructor. If construction fails and constructionSuccess is provided, the
constructor will set *constructionSuccess to false. If construction fails and
constructionSuccess is not provided, the constructor will crash with a failed
RELEASE_ASSERT. In other words, the client may opt in to handle the failure to
construct if it doesn't want the default behavior of crashing on failure.

We also provide 2 convenience factory methods for CSSTokenizer which will return
a null std::unique_ptr<CSSTokenizer> if construction fails. This is currently
only used by CSSParserImpl, and ensures that its m_tokenizer is null if we fail to
construct. This ensures that there isn't a pointer to a partially constructed
tokenizer that some code may unknowingly use.

The reason we don't force all clients of CSSTokenizer to use the factory methods
instead is because there are clients that currently use on-stack instantiations
of CSSTokenizer to do their work. We don't want to force them to switch to using
a malloc instance. Currently, the constructors used by those clients do not
provide a constructionSuccess argument to the underlying private constructor.
Hence, for them, the CSSTokenizer constructor will crash if construction fails,
which is how things work in pre-existing code. The only difference is that
the crash is deferred till the client attempts to use the tokenizer instead of at
construction time.

As of this patch, only CSSParser::parseSupportsCondition() makes use of the new
feedback mechanism, and handles OOME during CSSTokenizer construction by
interpreting it as CSS not supporting the passed in condition string.

Test: css3/out-of-memory-in-css-tokenizer.html

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseSupportsCondition):

  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::CSSParserImpl):
(WebCore::CSSParserImpl::failed const):

  • css/parser/CSSParserImpl.h:
  • css/parser/CSSTokenizer.cpp:

(WebCore::CSSTokenizer::CSSTokenizer):

  • css/parser/CSSTokenizer.h:

(WebCore::CSSTokenizer::failed const):

Source/WTF:

  1. Added FailureAction so that we can parameterize how we want to handle failures. In this patch, we're only using this for allocation failures, but we could technically apply this to other types of failures as well.
  1. Apply FailureAction to many methods in Vector (and its super classes) so that we can start de-duplicating code. Previously, we were always duplicating code just to have a "try" version of the same method that reports the failure to allocate instead of crashing. We can now parameterize all these methods on a FailureAction template parameter instead, and avoid the code duplication. This patch also reverses some of the existing code duplication.
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/FailureAction.h: Added.
  • wtf/Vector.h:

(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBuffer::allocateBuffer):
(WTF::VectorBuffer::tryAllocateBuffer):
(WTF::Vector::reserveCapacity):
(WTF::Vector::tryReserveCapacity):
(WTF::Vector::reserveInitialCapacity):
(WTF::Vector::tryReserveInitialCapacity):
(WTF::Vector::append):
(WTF::Vector::tryAppend):
(WTF::Vector::constructAndAppend):
(WTF::Vector::tryConstructAndAppend):
(WTF::Vector::expandCapacity):
(WTF::Vector::resize):
(WTF::Vector::grow):
(WTF::Vector::reserveCapacity):
(WTF::Vector::reserveInitialCapacity):
(WTF::Vector::append):
(WTF::Vector::constructAndAppend):
(WTF::Vector::appendSlowCase):
(WTF::Vector::constructAndAppendSlowCase):
(WTF::Vector::appendVector):
(WTF::Vector::insert):
(WTF::Vector::tryExpandCapacity): Deleted.
(WTF::Vector::tryReserveCapacity): Deleted.
(WTF::Vector::tryAppend): Deleted.
(WTF::Vector::tryConstructAndAppend): Deleted.
(WTF::Vector::tryConstructAndAppendSlowCase): Deleted.

LayoutTests:

  • css3/out-of-memory-in-css-tokenizer-expected.txt: Added.
  • css3/out-of-memory-in-css-tokenizer.html: Added.
1:58 PM Changeset in webkit [263770] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for fast/attachment/attachment-folder-icon.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=213813

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios/TestExpectations:
1:55 PM Changeset in webkit [263769] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for editing/style/push-down-font-styles-win.html and editing/style/push-down-implicit-styles-around-list-win.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213812

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios-wk2/TestExpectations:
1:37 PM Changeset in webkit [263768] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for css3/filters/null-effect-check.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=213810

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios-wk2/TestExpectations:
1:31 PM Changeset in webkit [263767] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for editing/inserting/insert-paragraph-selection-outside-contenteditable.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213811

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios-simulator-wk2/TestExpectations:
1:08 PM Changeset in webkit [263766] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectations for <canvas/philip/tests/2d.gradient.radial.touch1.html and canvas/philip/tests/2d.gradient.radial.touch2.html and canvas/philip/tests/2d.gradient.radial.touch3.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213800

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios/TestExpectations:
12:52 PM Changeset in webkit [263765] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[macOS] Stop blocking two audio-related user client classes
https://bugs.webkit.org/show_bug.cgi?id=213807
<rdar://problem/64874902>

Reviewed by Per Arne Vollan.

Restore IOAudioControlUserClient and IOAudioEngineUserClient since we find them being
actively used on macOS for some media playback purposes.

  • WebProcess/com.apple.WebProcess.sb.in:
12:41 PM Changeset in webkit [263764] by Peng Liu
  • 14 edits in trunk

Enable the support of FULLSCREEN_API in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=213774

Reviewed by Youenn Fablet.

Replace the definition of ENABLE_FULLSCREEN_API in FeatureDefines.xcconfig with
the one in PlatformEnableCocoa.h. We have to do that because WebKitTestRunner
does not have a FeatureDefines.xcconfig but it uses "ENABLE(FULLSCREEN_API)"
to conditionally compile code to test the element fullscreen API.
WebKitTestRunner can use the macro defined in PlatformEnableCocoa.h.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/PlatformEnableCocoa.h:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
12:14 PM Changeset in webkit [263763] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for compositing/contents-scale/rasterization-scale.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213805

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios-wk2/TestExpectations:
12:05 PM Changeset in webkit [263762] by dbates@webkit.org
  • 36 edits
    3 copies
    3 adds in trunk

[iOS] Editable regions causes ~1% slowdown in PLT5
https://bugs.webkit.org/show_bug.cgi?id=213659
<rdar://problem/64361390>

Reviewed by Simon Fraser.

Source/WebCore:

Fix the slowdown by only enabling editable region when Page::editableElementsInRect is called.

There are two parts that make computing the editable region expensive:

  1. Requires traversing descendents during painting when a normal paint may be able to avoid this.
  2. Can cause more event region invalidations because it extends the invalidation criterion to include changes to element editability.

Tests: editing/editable-region/hit-test-basic-without-editable-region.html

editing/editable-region/iframe-without-editable-region.html
editing/editable-region/text-field-basic-without-editable-region.html

Tests: editing/editable-region/hit-test-basic-without-editable-region.html

editing/editable-region/iframe-without-editable-region.html
editing/editable-region/text-field-basic-without-editable-region.html

  • page/Frame.cpp:

(WebCore::Frame::invalidateContentEventRegionsIfNeeded): Check if editable region is enabled.
If it is then do what we do now. Otherwise, don't invalidate the region unless we were going
to do so anyway.

  • page/Page.cpp:

(WebCore::Page::setEditableRegionEnabled): Added. Update state and then invalidate
the event region in all layers.
(WebCore::Page::shouldBuildEditableRegion const): Added. Returns whether to build the
editable region: either when Page::isEditableRegionEnabled() is true or the editable
region debug overlay is enabled.
(WebCore::Page::didFinishLoad): Turn off editable region as it may not be needed on
the new page.

  • page/Page.h:

(WebCore::Page::isEditableRegionEnabled const): Added.

  • rendering/EventRegion.cpp:

(WebCore::EventRegion::unite):
(WebCore::EventRegion::translate):
(WebCore::EventRegion::containsEditableElementsInRect const):
(WebCore::EventRegion::dump const):

  • rendering/EventRegion.h:

(WebCore::EventRegion::hasEditableRegion const):
(WebCore::EventRegion::rectsForEditableElements const):
(WebCore::EventRegion::decode):
(WebCore::EventRegion::ensureEditableRegion):
The editable region is now an Optional<>. There will only be one if ensureEditableRegion
was called, which is only when Page::isEditableRegionEnabled() returns true.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleWillChange):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::maintainsEventRegion const):
Only do what we do now if Page::shouldBuildEditableRegion() returns true.

(WebCore::RenderLayerBacking::updateEventRegion): Instantiate the editable region, if needed.
Painting will then populate it.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::applyToCompositedLayerIncludingDescendants): Added.
(WebCore::RenderLayerCompositor::invalidateEventRegionForAllLayers): Added.
(WebCore::RenderLayerCompositor::clearBackingForAllLayers): Wrote in terms of applyToCompositedLayerIncludingDescendants.
(WebCore::RenderLayerCompositor::clearBackingForLayerIncludingDescendants): Deleted.

  • rendering/RenderLayerCompositor.h:
  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::setEditableRegionEnabled):

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

Add a new internal setting for testing purposes to toggle enabling/disabling editable region.

Source/WebKit:

Fix up RemoteLayerTreeViews now that the editable region is an Optional<>. Have
the UI process message the web process to enable editable region on the first
invocation of _requestTextInputContextsInRect, which is good indicator that there
would be benefit to computing it as a typical client that calls it will call it
many times.

  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:

(WebKit::mayContainEditableElementsInRect): Fix up the logic now that there may
be not be an editable region sent over in the last event region update. If there
isn't one then we don't know if there are editable elements in the rect of not.
So, return true, which could turn out to be a false positive if there aren't any
editable elements in the rect. The caller will have to message the web process
to find out the real answer if they want it. Just to clarify, it's OK for this
function to have false positives, but it must never have false negatives.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::textInputContextsInRect): Enable editable region. If it's already
enabled then doing so again does nothing.

LayoutTests:

Add some tests to ensure the new setting works and the feature can be disabled. Note
that the setting is enabled by default to keep the current behavior. See the WebCore
ChangeLog entry for more details.

Update existings tests that need the editable region enabled to enable it now that it must
be explicitly enabled.

  • editing/editable-region/fixed-and-absolute-contenteditable-scrolled.html:
  • editing/editable-region/float-contenteditable.html:
  • editing/editable-region/hit-test-basic-without-editable-region-expected.txt: Added.
  • editing/editable-region/hit-test-basic-without-editable-region.html: Copied from LayoutTests/editing/editable-region/hit-test-basic.html.
  • editing/editable-region/hit-test-basic.html:
  • editing/editable-region/hit-test-editable-document-element.html:
  • editing/editable-region/hit-test-fixed.html:
  • editing/editable-region/hit-test-overlap.html:
  • editing/editable-region/hit-test-textarea-empty-space.html:
  • editing/editable-region/iframe-without-editable-region-expected.txt: Added.
  • editing/editable-region/iframe-without-editable-region.html: Copied from LayoutTests/editing/editable-region/iframe.html.
  • editing/editable-region/iframe.html:
  • editing/editable-region/out-hanging-child-of-contenteditable.html:
  • editing/editable-region/overflow-scroll-text-field-and-contenteditable.html:
  • editing/editable-region/relative-inside-fixed-contenteditable-scrolled.html:
  • editing/editable-region/relative-inside-transformed-contenteditable.html:
  • editing/editable-region/search-field-basic.html:
  • editing/editable-region/text-field-basic-without-editable-region-expected.txt: Added.
  • editing/editable-region/text-field-basic-without-editable-region.html: Copied from LayoutTests/editing/editable-region/text-field-basic.html.
  • editing/editable-region/text-field-basic.html:
  • editing/editable-region/text-field-inside-composited-negative-z-index-layer.html:
  • editing/editable-region/textarea-basic.html:
  • editing/editable-region/transformed-scrolled-on-top-of-fixed-contenteditables.html:
11:22 AM Changeset in webkit [263761] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

[iOS] Test landed flaky: webanimations/accelerated-animation-with-easing.html
https://bugs.webkit.org/show_bug.cgi?id=213758
<rdar://problem/64911008>

Reviewed by Dean Jackson.

Adding a little tolerance which seems to address the reported flakiness, at least locally.

  • platform/ios/TestExpectations:
  • webanimations/accelerated-animation-with-easing.html:
10:53 AM Changeset in webkit [263760] by Peng Liu
  • 6 edits in trunk/Source

Scrunching a video to PiP can result in broken animation and leave Safari in a bad state
https://bugs.webkit.org/show_bug.cgi?id=213175

Reviewed by Jer Noble.

Source/WebCore:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setVideoFullscreenStandby):
(WebCore::HTMLMediaElement::setVideoFullscreenStandby):
The "standby" state is relevant to a video element only when its presentation mode is VideoFullscreenModeNone.

  • platform/ios/VideoFullscreenInterfaceAVKit.h:
  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(VideoFullscreenInterfaceAVKit::exitFullscreen):
(VideoFullscreenInterfaceAVKit::cleanupFullscreen):
Add a flag m_enteringPictureInPicture. Function exitFullscreen() and cleanupFullscreen() will check
m_enteringPictureInPicture and they will abort the process to exit fullscreen/picture-in-picture if the flag
is true. However, VideoFullscreenManager will retry to exit fullscreen/picture-in-picture after it confirms that
the previous starting picture-in-picture process is completed.

(VideoFullscreenInterfaceAVKit::willStartPictureInPicture):
Set the flag m_enteringPictureInPicture.

(VideoFullscreenInterfaceAVKit::didStartPictureInPicture):
Call m_fullscreenChangeObserver->didEnterFullscreen() if the entering picture-in-picture process is
started by the UI process (e.g., swipe-up gesture).
Clear m_standby and m_enteringPictureInPicture after the video element enters picture-in-picture.

Source/WebKit:

  • UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:

(-[WKFullScreenWindowController _completedExitFullScreen]):
Update _exitRequested after exiting fullscreen to make sure the following
enter fullscreen request can be processed.
(-[WKFullScreenWindowController _dismissFullscreenViewController]):
Make sure _completedExitFullScreen function will always execute.
(-[WKFullScreenWindowController _interactivePinchDismissChanged:]):
Remove a function call which corrupts the state machine under stress test.

10:26 AM Changeset in webkit [263759] by commit-queue@webkit.org
  • 18 edits
    5 deletes in trunk

Remove WTF::MD5
https://bugs.webkit.org/show_bug.cgi?id=213766

Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-30
Reviewed by Youenn Fablet.

Source/WebCore:

  • Modules/websockets/WebSocketHandshake.cpp:
  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::generateBaseFilename):

Source/WTF:

It was only used for CURL's cache file name generation.
If you want to use a broken hash function, use SHA1.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/MD5.cpp: Removed.
  • wtf/MD5.h: Removed.

Tools:

  • DumpRenderTree/PlatformWin.cmake:
  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/MD5.cpp: Removed.
  • WebKitTestRunner/cg/TestInvocationCG.cpp:

(WTR::computeSHA1HashStringForContext):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
(WTR::computeMD5HashStringForContext): Deleted.

10:16 AM Changeset in webkit [263758] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Set runtime flag m_isWebRTCPlatformCodecsInGPUProcessEnabled to false by default
https://bugs.webkit.org/show_bug.cgi?id=213779

Reviewed by Alex Christensen.

No change of behavior since this flag is WebKit 2 only and off by default.
Move off by default WebRTC flags at the end of the section.

  • page/RuntimeEnabledFeatures.h:
9:54 AM Changeset in webkit [263757] by Jason_Lawrence
  • 14 edits
    2 deletes in trunk/Source/WebCore

Unreviewed, reverting r263753.

This commit caused build failures across multiple platforms.

Reverted changeset:

"Move Color blending related functions to their own files"
https://bugs.webkit.org/show_bug.cgi?id=213742
https://trac.webkit.org/changeset/263753

9:36 AM Changeset in webkit [263756] by Alan Coon
  • 1 copy in tags/Safari-610.1.19.1

Tag Safari-610.1.19.1.

9:35 AM Changeset in webkit [263755] by Alan Coon
  • 2 edits in branches/safari-610.1.19-branch/Source/WebKit

Cherry-pick r263462. rdar://problem/64941936

Fix the build once RBSProcessLimitations.h is introduced
https://bugs.webkit.org/show_bug.cgi?id=213562

Reviewed by Wenson Hsieh.

  • Platform/spi/ios/RunningBoardServicesSPI.h: We can't forward-declare Objective-C SPI if it actually exists without inspiring duplicate definition errors.

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

9:34 AM Changeset in webkit [263754] by Alan Coon
  • 8 edits in branches/safari-610.1.19-branch/Source

Versioning.

WebKit-610.1.19.1

9:11 AM Changeset in webkit [263753] by weinig@apple.com
  • 14 edits
    1 copy
    1 add in trunk/Source/WebCore

Move Color blending related functions to their own files
https://bugs.webkit.org/show_bug.cgi?id=213742

Reviewed by Dean Jackson.

  • Moves Color::blend(const Color&), Color::blendWithWhite(), blend(const Color&, const Color&, double) and blendWithoutPremultiply(const Color&, const Color&, double) to their own files: ColorBlending.h/cpp
  • Renames Color::blend(const Color&) to blendSourceOver(const Color&, const Color&)
  • Renames Color::blendWithWhite() to blendWithWhite(const Color&).
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • platform/graphics/Color.cpp:

(WebCore::Color::blend const): Deleted.
(WebCore::Color::blendWithWhite const): Deleted.
(WebCore::blend): Deleted.
(WebCore::blendWithoutPremultiply): Deleted.

  • platform/graphics/Color.h:
  • platform/graphics/ColorBlending.cpp: Copied from Source/WebCore/platform/graphics/Color.cpp.
  • platform/graphics/ColorBlending.h: Added.

Move declarations / implementations from Color.h/cpp to ColorBlending.h/cpp.

  • css/CSSGradientValue.cpp:
  • editing/FrameSelection.cpp:

(WebCore::CaretBase::computeCaretColor):

  • page/FrameView.cpp:

(WebCore::FrameView::documentBackgroundColor const):

  • page/TextIndicator.cpp:

(WebCore::estimatedBackgroundColorForRange):

  • page/animation/CSSPropertyAnimation.cpp:
  • platform/graphics/filters/FilterOperation.cpp:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::getItemBackgroundColor const):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::transformSelectionBackgroundColor const):
Update for new signatures and #include ColorBlending.h as neeeded.

8:56 AM Changeset in webkit [263752] by graouts@webkit.org
  • 2 edits in trunk/Source/WebKit

[iOS] Crash under WebKit::WebPage::getFocusedElementInformation()
https://bugs.webkit.org/show_bug.cgi?id=213798
<rdar://problem/62754594>

Reviewed by Wenson Hsieh.

Since LabelableElement::labels() returns a RefPtr<NodeList>, ensure we get a value before attempting to read data from it.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getFocusedElementInformation):

8:47 AM Changeset in webkit [263751] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectations for canvas/philip/tests/2d.gradient.radial.cone.bottom.html and canvas/philip/tests/2d.gradient.radial.cone.cylinder.html and canvas/philip/tests/2d.gradient.radial.cone.front.html and canvas/philip/tests/2d.gradient.radial.cone.shape1.html and canvas/philip/tests/2d.gradient.radial.cone.top.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213799

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios/TestExpectations:
8:22 AM Changeset in webkit [263750] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for canvas/philip/tests/2d.drawImage.animated.gif.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213797

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios/TestExpectations:
7:48 AM Changeset in webkit [263749] by Jonathan Bedard
  • 2 edits in trunk/Tools

[TestExpectations] Add architecture for Apple's ports
https://bugs.webkit.org/show_bug.cgi?id=213769
<rdar://problem/64920013>

Rubber-stamped by Aakash Jain.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationParser): Add architectures for Apple's ports.

7:48 AM Changeset in webkit [263748] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Gardened failures from EWS GTK-WK2 queue.

  • platform/gtk/TestExpectations:
7:23 AM Changeset in webkit [263747] by Jason_Lawrence
  • 3 edits in trunk/LayoutTests

[ iOS Debug and Mojave Debug ] http/tests/storage/storage-map-leaking.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=213795

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
7:08 AM Changeset in webkit [263746] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for svg/custom/subpaths-moveto-only-rendering.svg as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=213790

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/mac/TestExpectations:
6:59 AM Changeset in webkit [263745] by aestes@apple.com
  • 27 edits in trunk

[Xcode] Enable the "My Mac (Mac Catalyst)" destination in WebKit Xcode projects
https://bugs.webkit.org/show_bug.cgi?id=213740

Reviewed by Darin Adler.

Source/bmalloc:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that

this project supports building for Mac Catalyst.

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WebCore:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WebCore/PAL:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WebInspectorUI:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WebKit:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WebKitLegacy/mac:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WTF:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • ImageDiff/cg/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell

Xcode that these projects support building for Mac Catalyst.

  • MiniBrowser/Configurations/MiniBrowser.xcconfig: Excluded all source files on Mac Catalyst

so that schemes that include MiniBrowser can build for Mac Catalyst.

5:10 AM Changeset in webkit [263744] by Diego Pino Garcia
  • 4 edits in trunk/LayoutTests

[WPE] Unreviewed test gardening. Update test expectations after r263737.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
5:09 AM Changeset in webkit [263743] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

[WPE][GTK] Port API test harness to Python3
https://bugs.webkit.org/show_bug.cgi?id=213784

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-30
Reviewed by Carlos Alberto Lopez Perez.

At least now the import chain starting from run-gtk-tests succeeds when the host Python
version is 3. Within the SDK the harness is still executed under Python2 though, for now.

  • Scripts/run-gtk-tests:

(GtkTestRunner._setup_testing_environment):

  • glib/api_test_runner.py:

(TestRunner._run_test_qt):

  • glib/glib_test_runner.py:

(GLibTestRunner._read_from_pipe):
(GLibTestRunner._read_from_stderr):

  • jhbuild/jhbuildutils.py:
4:52 AM Changeset in webkit [263742] by Jonathan Bedard
  • 3 edits in trunk/Tools

[webkitperl] nativeArchitecture() needs to support remote devices
https://bugs.webkit.org/show_bug.cgi?id=213727
<rdar://problem/64892021>

Reviewed by Aakash Jain.

  • Scripts/run-javascriptcore-tests: Determine the machine actually running tests and pass

that to nativeArchitecture(...).
(runTest): Pass nativeTarget and nativePort.
(runJSCStressTests): Ditto.

  • Scripts/webkitdirs.pm:

(determineNativeArchitecture): Native architecture is dependent on the target device.
(determineArchitecture): Call nativeArchitecture() instead of accessing the variable directly.
(nativeArchitecture): Ensure that we return only the architecture of the specified target.

4:34 AM Changeset in webkit [263741] by Diego Pino Garcia
  • 2 edits in trunk/Tools

[GTK] Unreviewed API test gardening. Update test expectations after r263738.

  • TestWebKitAPI/glib/TestExpectations.json:
4:03 AM Changeset in webkit [263740] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Tools

[Flatpak SDK] Add libserf
https://bugs.webkit.org/show_bug.cgi?id=213682

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-30
Reviewed by Carlos Alberto Lopez Perez.

Subversion depends on SERF, which requires SCons for its build (the SERF CMake support is
incomplete)...

  • buildstream/elements/sdk-build-depends/scons.bst: Added.
  • buildstream/elements/sdk/libserf.bst: Added.
  • buildstream/elements/sdk/subversion.bst:
3:40 AM Changeset in webkit [263739] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Upload test expectations after r263737.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
3:19 AM Changeset in webkit [263738] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WPE][GTK] Update stale comment in UserAgentGLib.cpp
https://bugs.webkit.org/show_bug.cgi?id=213749

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-30
Reviewed by Adrian Perez de Castro.

Remove outdated comment.

  • platform/glib/UserAgentGLib.cpp:

(WebCore::platformVersionForUAString):

2:29 AM Changeset in webkit [263737] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Update test expectations after r263734.

  • platform/glib/TestExpectations:
2:26 AM Changeset in webkit [263736] by commit-queue@webkit.org
  • 24 edits in trunk/Source

Unreviewed, reverting r263724.
https://bugs.webkit.org/show_bug.cgi?id=213781

Reverted changeset:

"Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to
replace _WKProcessPoolConfiguration.hstsStorageDirectory"
https://bugs.webkit.org/show_bug.cgi?id=213048
https://trac.webkit.org/changeset/263724

1:20 AM Changeset in webkit [263735] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Update expectations after r263733.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
12:19 AM Changeset in webkit [263734] by youenn@apple.com
  • 31 edits
    2 adds in trunk

Add VP9 WebRTC codec runtime flag
https://bugs.webkit.org/show_bug.cgi?id=213724

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Update WebKit binding code to switch on/off VP9 encoder/decoder.
We still use vp9_noop for now, so encoder/decoder is not functional.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Configurations/libwebrtc.xcconfig:
  • Configurations/libwebrtcpcrtc.xcconfig:
  • Source/webrtc/modules/video_coding/codecs/vp9/vp9_noop.cc:
  • Source/webrtc/sdk/WebKit/WebKitDecoder.mm:

(webrtc::createWebKitDecoderFactory):

  • Source/webrtc/sdk/WebKit/WebKitEncoder.mm:

(webrtc::createWebKitEncoderFactory):
(webrtc::setH264HardwareEncoderAllowed):
(webrtc::isH264HardwareEncoderAllowed):

  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
  • Source/webrtc/sdk/objc/api/video_codec/RTCVideoDecoderVP9.h:
  • Source/webrtc/sdk/objc/api/video_codec/RTCVideoEncoderVP9.h:
  • Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h:
  • Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:

(-[RTCDefaultVideoDecoderFactory initWithH265:vp9:]):
(-[RTCDefaultVideoDecoderFactory supportedCodecs]):

  • Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.h:
  • Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:

(-[RTCDefaultVideoEncoderFactory initWithH265:vp9:]):
(-[RTCDefaultVideoEncoderFactory supportedCodecs]):

  • libwebrtc.xcodeproj/project.pbxproj:

Source/WebCore:

Add binding code to switch on/off VP9 in WebRTC factories based on runtime flag.

Test: webrtc/vp9.html

  • page/Page.cpp:

(WebCore::m_shouldRelaxThirdPartyCookieBlocking):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::webRTCVP9CodecEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCVP9CodecEnabled):

  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:
  • platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:

(WebCore::LibWebRTCProviderCocoa::createDecoderFactory):
(WebCore::LibWebRTCProviderCocoa::createEncoderFactory):

  • testing/Internals.cpp:

(WebCore::Internals::setWebRTCH265Support):
(WebCore::Internals::setWebRTCVP9Support):

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

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

  • webrtc/h265.html:
  • webrtc/vp9-expected.txt: Added.
  • webrtc/vp9.html: Added.
12:18 AM Changeset in webkit [263733] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Add more OffscreenCanvas flaky failures.

  • platform/glib/TestExpectations:
12:09 AM Changeset in webkit [263732] by Diego Pino Garcia
  • 4 edits in trunk/LayoutTests

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

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:

Jun 29, 2020:

11:17 PM Changeset in webkit [263731] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Failures happening in the EWS GTK-WK2 queue.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
10:59 PM Changeset in webkit [263730] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Dump JS output of several canvas tests in stderr.

  • platform/gtk/TestExpectations:
10:56 PM Changeset in webkit [263729] by graouts@webkit.org
  • 6 edits
    2 adds in trunk

[Web Animations] REGRESSION: Bootstrap Carousel component v4.1 regressed with Web Animations
https://bugs.webkit.org/show_bug.cgi?id=213376
<rdar://problem/64531242>

Reviewed by Dean Jackson.

Source/WebCore:

An older version of the Bootstrap CSS and JS library had a rather odd way to implement a completion callback
for a transition: it would register a "transitionend" event but also set a timeout of the transition's duration
and use whichever came first as a callback to run completion tasks for the transition.

Additionally, in that callback, it would set the transitioned value to the same computed value but using a different
specified value, for instance setting the "transform" CSS property to "translateX(0)" instead of "translateY(0)".

In our implementation this would make the completed transition repeat. Indeed, we would first incorrectly assume that
the transition was still "running" and not "finished", per the CSS Transitions spec terminology as we only update
that status when we update animations under Page::updateRendering(). We now update an existing transition's
status first in AnimationTimeline::updateCSSTransitionsForElementAndProperty().

Another issue is that when we considered the existing transition to be running, even though it was finished, we would
use the "timeline time at creation" to compute its current progress, which would yield situations where we computed
the before-change style to be the existing transition's current computed value, except that transition's progress was
0 since the "timeline time at creation" happens before the transition's resolved start time. We now only use the
"timeline time at creation" in the situations it was designed to be used: either when the transition has not yet had
a resolved start time, or its resolved start time is the current timeline time (ie. it was just set).

To be able to compare the transition's resolved start time and the current timeline time, we also updated the internal
start time getter and setter methods to use Seconds instead of double which is only needed for the JS bindings.

Test: webanimations/css-transition-retargeting-to-same-value-upon-completion-with-timeout.html

  • animation/AnimationTimeline.cpp:

(WebCore::AnimationTimeline::updateCSSTransitionsForElementAndProperty):

  • animation/DeclarativeAnimation.cpp:

(WebCore::DeclarativeAnimation::bindingsStartTime const):
(WebCore::DeclarativeAnimation::setBindingsStartTime):

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::bindingsStartTime const):
(WebCore::WebAnimation::setBindingsStartTime):
(WebCore::WebAnimation::setStartTime):
(WebCore::WebAnimation::startTime const): Deleted.

  • animation/WebAnimation.h:

(WebCore::WebAnimation::startTime const):
(WebCore::WebAnimation::bindingsStartTime const): Deleted.

LayoutTests:

Add a test that uses a timeout instead of a "transitionend" event to retarget a transition upon completion
to the same computed value but not the same specified value to check that we generate a transition that has
no visual effect.

  • webanimations/css-transition-retargeting-to-same-value-upon-completion-with-timeout-expected.txt: Added.
  • webanimations/css-transition-retargeting-to-same-value-upon-completion-with-timeout.html: Added.
10:55 PM Changeset in webkit [263728] by Wenson Hsieh
  • 3 edits in trunk/LayoutTests

REGRESSION (r263624): http/tests/quicklook/submit-form-blocked.html fails consistently
https://bugs.webkit.org/show_bug.cgi?id=213767
<rdar://problem/64893698>

Reviewed by Tim Horton.

This test loads a Word document (.docx) in an iframe, and then taps a JavaScript link in the Word document
that creates a new form element and attempts to submit it. The test requires a particular error message to be
logged to the console in order to pass (i.e. "Blocked form submission to '<URL>' because the form's frame is
sandboxed and the 'allow-forms' permission is not set.").

After r263624, this message is no longer logged, because the form element created by the Word document's
JavaScript link is disconnected from the DOM, and so we bail immediately in HTMLFormElement::submit without
ever getting to the security check.

To fix this and make it exercise what it was originally intended to test, we tweak the JavaScript link contained
within the Word document, such that it additionally appends the newly created form element to the document. This
is the modified (percent-decoded) JavaScript URL:

`
(function() {

var form = document.createElement("form");
document.body.appendChild(form);
form.action = "fail.html";
form.innerHTML = '<input type="hidden" name="secret" value="webkit">';
form.submit();

})();
`

This patch simply adds the third line (with the call to document.body.appendChild).

  • http/tests/quicklook/resources/submit-form-blocked.docx:
  • http/tests/quicklook/submit-form-blocked.html:

Make sure we also hit-test to the link in the Word document by making the link much bigger, and adjusting the
touch location offset to match.

10:43 PM Changeset in webkit [263727] by beidson@apple.com
  • 16 edits in trunk

JavaScript cannot be injected into iframes
<rdar://problem/54168946> and https://bugs.webkit.org/show_bug.cgi?id=213556

Reviewed by Geoff Garen.
Source/WebCore:

Covered by API tests.

  • bindings/js/ExceptionDetails.h: Start a collection of "exception types" that will grow quickly, beginning with the specialized "missing frame" type.

Source/WebKit:

This adds a few mechanisms:

  • Allows for WKUserScripts to have a target content world
  • Allows "evaluateJavaScript" and "callAsyncJavaScript" to target a specific frame
  • Allows for the completion handlers of those methods to be able to distinguish failure-due-to-missing-frame.
  • Shared/WebCoreArgumentCoders.cpp:

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

  • Shared/WebCoreArgumentCoders.h:
  • UIProcess/API/Cocoa/WKError.h:
  • UIProcess/API/Cocoa/WKError.mm:

(localizedDescriptionForErrorCode):

  • UIProcess/API/Cocoa/WKUserScript.h:
  • UIProcess/API/Cocoa/WKUserScript.mm:

(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:inContentWorld:]):

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView evaluateJavaScript:inFrame:inContentWorld:completionHandler:]):
(-[WKWebView callAsyncJavaScript:arguments:inFrame:inContentWorld:completionHandler:]):
(nsErrorFromExceptionDetails):
(-[WKWebView _evaluateJavaScript:asAsyncFunction:withSourceURL:withArguments:forceUserGesture:inFrame:inWorld:completionHandler:]):
(-[WKWebView callAsyncJavaScript:arguments:inContentWorld:completionHandler:]): Deleted.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScript):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:

(TEST):
(-[FramesMessageHandler userContentController:didReceiveScriptMessage:]):

  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[WKWebView objectByCallingAsyncFunction:withArguments:error:]):

10:33 PM Changeset in webkit [263726] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, rolling out an accidental change from r263723.

  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::TimerBase::timerFired):

10:10 PM Changeset in webkit [263725] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Update baseline after r263673.

  • platform/glib/accessibility/aria-hidden-negates-no-visibility-expected.txt:
9:39 PM Changeset in webkit [263724] by commit-queue@webkit.org
  • 24 edits in trunk/Source

Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to replace _WKProcessPoolConfiguration.hstsStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=213048

Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-29
Reviewed by Youenn Fablet.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

This uses CFNetwork SPI introduced in rdar://problem/50109631 to allow HSTS storage per NSURLSession.
To be complete, I also deprecated our UI process HSTS state removal attempt SPIs, WKContextResetHSTSHosts and
WKContextResetHSTSHostsAddedAfterDate, which had their last use removed in rdar://problem/64220838.

I manually verified that this new SPI puts HSTS data in the specified location, and I also verified that HSTS
state querying and removal works with the new CFNetwork SPI as it did with the old one.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkSessionCreationParameters.cpp:

(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):

  • NetworkProcess/NetworkSessionCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::hostNamesWithHSTSCache const):
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):
(WebKit::NetworkProcess::clearHSTSCache):
(WebKit::NetworkProcess::getHostNamesWithHSTSCache): Deleted.

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::hstsStorage const):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::hostNamesWithHSTSCache const):
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):
(WebKit::NetworkProcess::clearHSTSCache):
(WebKit::NetworkProcess::getHostNamesWithHSTSCache): Deleted.

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(WKContextResetHSTSHosts):
(WKContextResetHSTSHostsAddedAfterDate):

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:

(-[_WKWebsiteDataStoreConfiguration hstsStorageDirectory]):
(-[_WKWebsiteDataStoreConfiguration setHSTSStorageDirectory:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::privateBrowsingSession): Deleted.
(WebKit::WebProcessPool::resetHSTSHosts): Deleted.
(WebKit::WebProcessPool::resetHSTSHostsAddedAfterDate): Deleted.

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::resolvedHSTSStorageDirectory const):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::copy const):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

Source/WTF:

  • wtf/PlatformHave.h:
9:25 PM Changeset in webkit [263723] by ggaren@apple.com
  • 5 edits in trunk/Source/WTF

[GTK] [Win] Build callOnMainThread on WTF::RunLoop rather than on a timer
https://bugs.webkit.org/show_bug.cgi?id=213694

Reviewed by Carlos Garcia Campos.

As of https://bugs.webkit.org/show_bug.cgi?id=213063, Darwin platforms
use the RunLoop. Let's match them for consistency, and to delete some
code.

  • wtf/generic/MainThreadGeneric.cpp:

(WTF::scheduleDispatchFunctionsOnMainThread):
(WTF::MainThreadDispatcher::MainThreadDispatcher): Deleted.
(WTF::MainThreadDispatcher::schedule): Deleted.
(WTF::MainThreadDispatcher::fired): Deleted.

  • wtf/glib/RunLoopSourcePriority.h:
  • wtf/win/MainThreadWin.cpp:

(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):
(WTF::ThreadingWindowWndProc): Deleted.

8:52 PM Changeset in webkit [263722] by weinig@apple.com
  • 5 edits in trunk/Source/WebCore

Convert AppCache manifest parser over to using StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=213680

Reviewed by Darin Adler.

  • Renames parseManifest to parseApplicationCacheManifest to differentiate between the manifest for the application cache and the "application manifest", which is a different thing entirely. Also renames the container struct from being called Manifest to ApplicationCacheManifest. (The file should be renamed as well, but will do that in a seperate pass).
  • Update parser to return an Optional<ApplicationCacheManifest> rather than using bool + out parameter.
  • Adopt readCharactersForParsing to replace unnecessary call to StringView::upconvertedCharacters().
  • Adopt StringParsingBuffer and ParsingUtilities along with some refinements to the code to make the intent more clear.
  • html/parser/ParsingUtilities.h:

(WebCore::skipUntil):
Fix formatting, putting the whole signature on one line.

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
Update for new parser function name and Optional return type.

  • loader/appcache/ManifestParser.cpp:

(WebCore::isManifestWhitespace):
(WebCore::isManifestNewline):
(WebCore::isManifestWhitespaceOrNewline):
(WebCore::makeManifestURL):
(WebCore::parseApplicationCacheManifest):

  • loader/appcache/ManifestParser.h:

Update parsing logic to use readCharactersForParsing (to avoid upconvesion) and rework
using StringParsingBuffer/ParsingUtilities to make things more clear.

8:35 PM Changeset in webkit [263721] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Adopt adjusted symbol image names
https://bugs.webkit.org/show_bug.cgi?id=213768
<rdar://problem/64472257>

Reviewed by Andy Estes.

  • UIProcess/API/Cocoa/_WKElementAction.mm:

(+[_WKElementAction imageForElementActionType:]):

8:04 PM Changeset in webkit [263720] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][TFC] Adjust baseline when the table cell itself establishes an IFC
https://bugs.webkit.org/show_bug.cgi?id=213735

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/table-cell-baseline-offset-simple2.html

  • layout/tableformatting/TableFormattingContextGeometry.cpp:

(WebCore::Layout::TableFormattingContext::Geometry::usedBaselineForCell):

LayoutTests:

  • fast/layoutformattingcontext/table-cell-baseline-offset-simple2-expected.html: Added.
  • fast/layoutformattingcontext/table-cell-baseline-offset-simple2.html: Added.
7:32 PM Changeset in webkit [263719] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][TFC] Adjust baseline offset for continuation
https://bugs.webkit.org/show_bug.cgi?id=213732

Reviewed by Antti Koivisto.

Source/WebCore:

Skip empty IFC generated for the "pre" part of the continuation (e.g. <span><div>text content</div></span>).

Test: fast/layoutformattingcontext/table-cell-baseline-offset-simple.html

  • layout/tableformatting/TableFormattingContextGeometry.cpp:

(WebCore::Layout::TableFormattingContext::Geometry::usedBaselineForCell):

LayoutTests:

  • fast/layoutformattingcontext/table-cell-baseline-offset-simple-expected.html: Added.
  • fast/layoutformattingcontext/table-cell-baseline-offset-simple.html: Added.
6:59 PM Changeset in webkit [263718] by commit-queue@webkit.org
  • 9 edits in trunk

Adding Experimental Feature Flags for CoreImage backed SVG/CSS Filters
https://bugs.webkit.org/show_bug.cgi?id=213578

Patch by Guowei Yang <guowei_yang@apple.com> on 2020-06-29
.:

Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield.

Preparing to implement CoreImage backed filter rendering
Needs Compiler guards and experimental feature guard.

  • Source/cmake/WebKitFeatures.cmake: added definition of CoreImage-accelerated filter rendering feature flag, ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER

Source/WebCore:

Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield.

Preparing to implement CoreImage backed filter rendering
Needs Compiler guards and experimental feature guard.

No tests are required because this is just a feature flag set up

  • page/Settings.yaml: added default settings for the feature flag. Default value of the feature switch is off

Source/WebKit:

Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield.

Preparing to implement CoreImage backed filter rendering
Needs Compiler guards and experimental feature guard.

  • Shared/WebPreferences.yaml: added feature flag definition

Source/WTF:

Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield.

Preparing to implement CoreImage backed filter rendering
Needs Compiler guards and experimental feature guard.

  • wtf/PlatformEnableCocoa.h: Added definition of a feature flag, ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER
  • wtf/PlatformUse.h: Added compiler guard #define USE_CORE_IMAGE 1 to indicate whether CoreImage code is visible to the compiler
6:49 PM Changeset in webkit [263717] by stephan.szabo@sony.com
  • 2 edits in trunk/Source/WebCore

Fix build when !ENABLE(ACCESSIBILITY) after r263673
https://bugs.webkit.org/show_bug.cgi?id=213759

Reviewed by Chris Fleizach.

No new tests, build fix.

  • accessibility/AXObjectCache.h:
6:36 PM Changeset in webkit [263716] by Alan Coon
  • 1 copy in tags/Safari-610.1.18.20.2

Tag Safari-610.1.18.20.2.

6:34 PM Changeset in webkit [263715] by Alan Coon
  • 8 edits in branches/safari-610.1.18.20-branch/Source

Versioning.

WebKit-610.1.18.20.2

6:33 PM Changeset in webkit [263714] by Jonathan Bedard
  • 4 edits in trunk/Tools

[TestExpectations] Remove --csv option
https://bugs.webkit.org/show_bug.cgi?id=213762
<rdar://problem/64913762>

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationLine.to_csv): Deleted.

  • Scripts/webkitpy/tool/commands/queries.py:

(PrintExpectations.init): Remove --csv option.
(PrintExpectations._format_lines): Ditto.
(PrintBaselines.init): Ditto.
(PrintBaselines.execute): Ditto.
(PrintBaselines._print_baselines): Ditto.

  • Scripts/webkitpy/tool/commands/queries_unittest.py:

(PrintExpectationsTest.run_test):
(PrintExpectationsTest.test_include):
(PrintBaselinesTest.test_basic):
(PrintBaselinesTest.test_multiple):
(PrintExpectationsTest.test_csv): Deleted.
(PrintBaselinesTest.test_csv): Deleted.

6:32 PM Changeset in webkit [263713] by weinig@apple.com
  • 4 edits in trunk/Source/WebCore

Simplify Color's interface by removing isDark()
https://bugs.webkit.org/show_bug.cgi?id=213707

Reviewed by Darin Adler.

  • Move Color::isDark to RenderThemeIOS.mm, its one client and rename it to useConvexGradient() to indicate what it is actually determining.
  • platform/graphics/Color.cpp:

(WebCore::Color::isDark const): Deleted.

  • platform/graphics/Color.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::useConvexGradient):
(WebCore::RenderThemeIOS::paintPushButtonDecorations):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):

6:12 PM Changeset in webkit [263712] by Tadeu Zagallo
  • 1 edit
    46 adds in trunk/PerformanceTests

New API benchmark
https://bugs.webkit.org/show_bug.cgi?id=213750

Reviewed by Saam Barati.

APIBench is a new benchmark suite to measure the performance of the JavaScriptCore API. It has 4 benchmarks:

  • RichardsJS: This is imported from Octane and used as a reference so we know how fast the pure JS implementation runs.
  • RichardsSwift: a Swift port of the benchmark, also used as reference for how fast the pure Swift implementation is.
  • RichardsMostlyJS: As the name suggests, mostly the same the as the JS benchmark, but here the WorkerTask is implemented in Swift. The API is used to write to the packet being processed and talking to the scheduler.
  • RichardsMostlySwift: inverse of the above. Mostly the same code from the Swift benchark, but here the WorkerTask is implemented in JavaScript. The API is used to run the JS version of the task and marshaling the Packet by using JSExport.

The benchmark can be built and run using the api-bench script, as following:

PerformanceTests/APIBench/api-bench WebKitBuild/Release

By default, it will build each of the benchmarks and run 5 iterations.
The score is calculated as 5000 / geomean([avg of RichardsMostlySwift, avg of RichardsMostlyJS]).
The script prints the average for the references and tests and the final score:

Results for /Volumes/Data/wk2/OpenSource/WebKitBuild/Release (5 iterations)
================================================================================

References:


RichardsJS: 14ms
RichardsSwift: 29ms

Tests:


RichardsMostlyJS: 218ms
RichardsMostlySwift: 315ms

Score: 19.0804

  • APIBench/RichardsJS/RichardsJS.js: Added.

(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(WorkerTask):
(WorkerTask.prototype.run):
(WorkerTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):

  • APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj: Added.
  • APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/xcshareddata/xcschemes/RichardsMostlyJS.xcscheme: Added.
  • APIBench/RichardsMostlyJS/RichardsMostlyJS/main.swift: Added.

(run(_:)):
(toString):
(WorkerTask.toString):
(WorkerTask.run(_:)):

  • APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js: Added.

(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj: Added.
  • APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme: Added.
  • APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift: Added.

(DeviceTask.create(_:device:priority:)):
(DeviceTask.run(_:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/HandlerTask.swift: Added.

(HandlerTask.device):
(HandlerTask.create(_:device:priority:queue:)):
(HandlerTask.run(_:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/IdleTask.swift: Added.

(IdleTask.create(_:priority:)):
(IdleTask.run(_:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/Packet.swift: Added.

(Packet.addTo(_:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/Scheduler.swift: Added.

(waitCurrent):
(handle(_:)):
(Scheduler.schedule):
(Scheduler.add(_:)):
(Scheduler.release_(_:)):
(holdCurrent):
(queue(_:)):
(queueImpl(_:packet:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/Task.swift: Added.

(Task.run(_:)):
(Task.release_):
(Task.hold):
(Task.wait):
(Task.resume):
(Task.takePacket):
(Task.checkPriorityAdd(_:packet:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/WorkerTask.swift: Added.

(WorkerTask.create(_:priority:queue:)):
(WorkerTask.run(_:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/main.swift: Added.
  • APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.js: Added.

(return.prototype.run):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.swift: Added.

(runRichards):

  • APIBench/RichardsSwift/RichardsSwift.xcodeproj/project.pbxproj: Added.
  • APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme: Added.
  • APIBench/RichardsSwift/RichardsSwift/DeviceTask.swift: Added.

(DeviceTask.create(_:device:priority:)):
(DeviceTask.run(_:)):

  • APIBench/RichardsSwift/RichardsSwift/HandlerTask.swift: Added.

(HandlerTask.device):
(HandlerTask.create(_:device:priority:queue:)):
(HandlerTask.run(_:)):

  • APIBench/RichardsSwift/RichardsSwift/IdleTask.swift: Added.

(IdleTask.create(_:priority:)):
(IdleTask.run(_:)):

  • APIBench/RichardsSwift/RichardsSwift/Packet.swift: Added.

(Packet.addTo(_:)):

  • APIBench/RichardsSwift/RichardsSwift/Scheduler.swift: Added.

(Scheduler.schedule):
(Scheduler.add(_:)):
(Scheduler.release(_:)):
(holdCurrent):
(waitCurrent):
(queue(_:)):
(handle(_:)):
(queueImpl(_:packet:)):

  • APIBench/RichardsSwift/RichardsSwift/Task.swift: Added.

(Task.run(_:)):
(Task.release):
(Task.hold):
(Task.wait):
(Task.resume):
(Task.takePacket):
(Task.checkPriorityAdd(_:packet:)):

  • APIBench/RichardsSwift/RichardsSwift/WorkerTask.swift: Added.

(WorkerTask.create(_:priority:queue:)):
(WorkerTask.run(_:)):

  • APIBench/RichardsSwift/RichardsSwift/main.swift: Added.
  • APIBench/RichardsSwift/RichardsSwift/richards.swift: Added.

(runRichards):

  • APIBench/api-bench: Added.
6:06 PM Changeset in webkit [263711] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-ui/text-overflow-005.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=175290

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

6:00 PM Changeset in webkit [263710] by Alan Coon
  • 1 copy in tags/Safari-610.1.18.20.1

Tag Safari-610.1.18.20.1.

5:55 PM Changeset in webkit [263709] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for svg/batik/text/textEffect3.svg as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213760

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
4:58 PM Changeset in webkit [263708] by Wenson Hsieh
  • 5 edits in trunk/LayoutTests

[iOS 14] A couple of tests in editing/selection/ios fail after <rdar://problem/60978283>
https://bugs.webkit.org/show_bug.cgi?id=213746
More work towards <rdar://problem/64808138>

Reviewed by Devin Rousso.

The UIKit change in <rdar://problem/60978283> adjusts text interaction behaviors such that a long press gesture
while editing makes a new caret selection, rather than a new word-granularity selection. Tweak a couple of
layout tests in editing/selection/ios that currently assume that long presses while editing will select a word.

  • editing/selection/ios/select-text-in-existing-selection-expected.txt:
  • editing/selection/ios/select-text-in-existing-selection.html:

This test verifies that the selection can be changed by making a long press inside an existing selection.
However, it now fails after the changes in <rdar://problem/60978283> because it expects the selected text to be
"jumped", but instead, the selection ends up being a caret inside the word "jumped". Tweak this test to verify
that the selection anchors' common ancestor node is the text node with the text "jumped" instead, to handle both
possibilities (where a long press selects a word vs. sets a caret selection).

  • editing/selection/ios/selection-extends-into-overflow-area.html:

This test verifies the position and size of a ranged selection made inside content that visibly overflows its
parent container. It now fails because it tries to long press the word to make a selection; instead, use a
double tap gesture to make the word selection.

  • resources/ui-helper.js:

(window.UIHelper.doubleTapElement):

Add a new helper method that double taps in the middle of the given element.

(window.UIHelper.callFunctionAndWaitForEvent):

Adjust this helper method to wait for the given function to resolve, if the given function returns a Promise.

4:32 PM Changeset in webkit [263707] by Peng Liu
  • 10 edits
    2 adds in trunk

Video spills over PiP screen a little when using Picture in Picture
https://bugs.webkit.org/show_bug.cgi?id=213658

Reviewed by Eric Carlson.

Source/WebCore:

We need to provide video content dimensions instead of video element sizes to
AVPlayerController to make sure that the Picture-in-Picture window will have
the correct aspect ratio.

Test: media/picture-in-picture/picture-in-picture-window-aspect-ratio.html

  • platform/ios/VideoFullscreenInterfaceAVKit.h:
  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(VideoFullscreenInterfaceAVKit::setupFullscreen):

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(VideoFullscreenControllerContext::setUpFullscreen):

Source/WebKit:

Add the video content dimensions to the IPC message VideoFullscreenManagerProxy::SetupFullscreenWithID.

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

(WebKit::VideoFullscreenManagerProxy::setupFullscreenWithID):
(WebKit::VideoFullscreenManagerProxy::setVideoDimensions):
(WebKit::VideoFullscreenManagerProxy::enterFullscreen):

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::VideoFullscreenManager::enterVideoFullscreenForVideoElement):

LayoutTests:

  • media/picture-in-picture/picture-in-picture-window-aspect-ratio-expected.txt: Added.
  • media/picture-in-picture/picture-in-picture-window-aspect-ratio.html: Added.
4:31 PM Changeset in webkit [263706] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for svg/W3C-SVG-1.1/fonts-elem-01-t.svg and svg/W3C-SVG-1.1/fonts-elem-02-t.svg and svg/W3C-SVG-1.1/fonts-elem-03-b.svg and svg/W3C-SVG-1.1/fonts-elem-07-b.svg as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=188729

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
3:55 PM Changeset in webkit [263705] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r262004.
<rdar://problem/64540215>

Revert r262004 as it is not OK to have a data vault in
TMPDIR.

Reverted changeset:

"[WK2] WebKit abandons compiled sandbox profiles"
https://bugs.webkit.org/show_bug.cgi?id=212177
https://trac.webkit.org/changeset/262004

3:50 PM Changeset in webkit [263704] by Alan Coon
  • 2 edits in branches/safari-610.1.18.20-branch/Source/WebKit

Cherry-pick r263699. rdar://problem/64707000

[iOS] Temporarily open up sandbox for mapping of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=213756
<rdar://problem/64707000>

Reviewed by Brent Fulgham.

Address review comments.

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

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

3:50 PM Changeset in webkit [263703] by Alan Coon
  • 2 edits in branches/safari-610.1.18.20-branch/Source/WebKit

Cherry-pick r263698. rdar://problem/64707000

[iOS] Temporarily open up sandbox for mapping of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=213756
<rdar://problem/64707000>

Reviewed by Brent Fulgham.

Temporarily open up sandbox for mapping of Launch Services database in the WebContent process on iOS.
This is just a short term fix, and access to the service will be closed again soon.

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

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

3:47 PM Changeset in webkit [263702] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for media/media-source/media-source-abort-resets-parser.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=213755

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
3:42 PM Changeset in webkit [263701] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[iOS] webanimations/accelerated-animation-with-easing.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213758

Unreviewed test gardening.

  • platform/ios/TestExpectations: Mark test as flaky to speed up EWS.
3:40 PM Changeset in webkit [263700] by commit-queue@webkit.org
  • 69 edits in trunk

Remove ENABLE_STREAMS_API compilation flag
https://bugs.webkit.org/show_bug.cgi?id=213728

Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-29
Reviewed by Sam Weinig.

.:

  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmake/tools/vsprops/FeatureDefines.props:

Source/JavaScriptCore:

test cases under Scripts/tests/builtins/ does not uses
this removed compilation flag. So we don't have to touch them in this change.

But they are confusable so I plan to fix them in bug 213733.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • Modules/fetch/FetchBody.cpp:
  • Modules/fetch/FetchBody.h:
  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::isDisturbed const):
(WebCore::FetchBodyOwner::isDisturbedOrLocked const):
(WebCore::FetchBodyOwner::blobLoadingSucceeded):
(WebCore::FetchBodyOwner::blobLoadingFailed):
(WebCore::FetchBodyOwner::blobChunk):

  • Modules/fetch/FetchBodyOwner.h:

(WebCore::FetchBodyOwner::cancel):

  • Modules/fetch/FetchBodySource.cpp:
  • Modules/fetch/FetchBodySource.h:
  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::BodyLoader::didSucceed):
(WebCore::FetchResponse::BodyLoader::didFail):
(WebCore::FetchResponse::BodyLoader::didReceiveData):

  • Modules/fetch/FetchResponse.h:
  • Modules/streams/ByteLengthQueuingStrategy.idl:
  • Modules/streams/ByteLengthQueuingStrategy.js:
  • Modules/streams/CountQueuingStrategy.idl:
  • Modules/streams/CountQueuingStrategy.js:
  • Modules/streams/ReadableByteStreamController.idl:
  • Modules/streams/ReadableByteStreamController.js:
  • Modules/streams/ReadableByteStreamInternals.js:
  • Modules/streams/ReadableStream.idl:
  • Modules/streams/ReadableStream.js:
  • Modules/streams/ReadableStreamBYOBReader.idl:
  • Modules/streams/ReadableStreamBYOBReader.js:
  • Modules/streams/ReadableStreamBYOBRequest.idl:
  • Modules/streams/ReadableStreamBYOBRequest.js:
  • Modules/streams/ReadableStreamDefaultController.idl:
  • Modules/streams/ReadableStreamDefaultController.js:
  • Modules/streams/ReadableStreamDefaultReader.idl:
  • Modules/streams/ReadableStreamDefaultReader.js:
  • Modules/streams/ReadableStreamInternals.js:
  • Modules/streams/ReadableStreamSink.cpp:
  • Modules/streams/ReadableStreamSink.h:
  • Modules/streams/ReadableStreamSink.idl:
  • Modules/streams/ReadableStreamSource.cpp:
  • Modules/streams/ReadableStreamSource.h:
  • Modules/streams/ReadableStreamSource.idl:
  • Modules/streams/StreamInternals.js:
  • Modules/streams/WritableStream.idl:
  • Modules/streams/WritableStream.js:
  • Modules/streams/WritableStreamInternals.js:
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::isReadableByteStreamAPIEnabled):
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):

  • bindings/js/JSReadableStreamSourceCustom.cpp:
  • bindings/js/ReadableStreamDefaultController.cpp:
  • bindings/js/ReadableStreamDefaultController.h:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::writableStreamAPIEnabled const):

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

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/WebPreferences.yaml:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WTF:

  • wtf/PlatformEnable.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3:31 PM Changeset in webkit [263699] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Temporarily open up sandbox for mapping of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=213756
<rdar://problem/64707000>

Reviewed by Brent Fulgham.

Address review comments.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
3:25 PM Changeset in webkit [263698] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Temporarily open up sandbox for mapping of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=213756
<rdar://problem/64707000>

Reviewed by Brent Fulgham.

Temporarily open up sandbox for mapping of Launch Services database in the WebContent process on iOS.
This is just a short term fix, and access to the service will be closed again soon.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
3:22 PM WebInspectorCodingStyleGuide edited by Devin Rousso
(diff)
2:42 PM Changeset in webkit [263697] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for media/fullscreen-api-enabled-media-with-presentation-mode.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=172998

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac-wk2/TestExpectations:
2:41 PM Changeset in webkit [263696] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Unreviewed, rebaseline messages.py tests.

  • Scripts/MessageNames.cpp:

(IPC::description):
(IPC::receiverName):
(IPC::isValidMessageName):

  • Scripts/MessageNames.h:

(WTF::isValidEnum):

  • Scripts/test-superclassMessagesReplies.h:
2:39 PM Changeset in webkit [263695] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebKit

Crash in NetworkProcessProxy::getNetworkProcessConnection() lambda due to missing Optional<> value check
<https://webkit.org/b/213700>
<rdar://problem/64852903>

Reviewed by Darin Adler.

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::getGPUProcessConnection):

  • Rename connectionIdentifier to identifier.
  • Return early from the lamba if identifier does not contain a value.
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::getNetworkProcessConnection):

  • Ditto.
2:38 PM Changeset in webkit [263694] by Alan Coon
  • 1 copy in tags/Safari-610.1.18.4

Tag Safari-610.1.18.4.

2:26 PM Changeset in webkit [263693] by Wenson Hsieh
  • 4 edits in trunk

[iOS] editing/selection/ios/select-text-after-changing-focus.html sometimes fails
https://bugs.webkit.org/show_bug.cgi?id=213745
Work towards <rdar://problem/64808138>

Reviewed by Tim Horton.

Source/WebKit:

This test first taps an input field to focus it, taps a button below the input field to focus the button and
dismiss the keyboard, and finally long presses to select a word below the button. On recent iOS 14 builds, this
test occasionally fails due to recent changes in UIKit that may cause the callout bar appearance callback to
fire after focusing the input field. If this happens, we end up showing the callout bar with a single option to
"Select All" (despite the field being empty), and the subsequent tap that's intended to hit the button instead
hit-tests to this callout bar item. The tests subsequently times out waiting for the keyboard to dismiss, which
never happens because the input field remains focused.

Showing the "Select All" callout bar option in empty text fields is inconsistent with the rest of the platform
(iOS), and appears to have been unintentionally introduced in iOS 12 by <https://trac.webkit.org/r231726>. While
it's still unknown which exact system changes caused this test to begin timing out, we can at least fix it by
addressing this existing regression in behavior.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView canPerformActionForWebView:withSender:]):

Check -hasContent here, instead of just checking if the selection is a caret. Note that we don't need to check
whether the selection is none separately, since -hasContent will always return NO if there is no selection.

Tools:

See WebKit/ChangeLog for more details. If this test happens to be run after another test that has written
something to the pasteboard, it will still fail due to the callout menu showing up with the option to paste.
Mitigate this by clearing the contents of the system pasteboard between tests, such that content copied from
previous tests doesn't change the behavior of subsequent tests.

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetStateToConsistentValues):

2:12 PM Changeset in webkit [263692] by Russell Epstein
  • 1 copy in tags/Safari-610.1.15.52.2

Tag Safari-610.1.15.52.2.

1:56 PM Changeset in webkit [263691] by Russell Epstein
  • 8 edits in branches/safari-610.1.15.52-branch/Source

Versioning.

WebKit-610.1.15.52.2

1:51 PM Changeset in webkit [263690] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=177319

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
1:48 PM Changeset in webkit [263689] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/webrtc/getstats.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=172521

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

1:31 PM Changeset in webkit [263688] by weinig@apple.com
  • 25 edits in trunk/Source

Remove remaining makeSimpleColorFrom* variants
https://bugs.webkit.org/show_bug.cgi?id=213706

Reviewed by Darin Adler.

Source/WebCore:

Removed makeSimpleColorFromFloats and makeSimpleColorFromCMYKA.

  • Updated callers that need to pass floats to use makeSimpleColor(SRGBA { ... });
  • Updated callers that don't need to pass floats, mostly compile time constant SimpleColors to use makeSimpleColor(...), passing in 0-255 based component values.
  • Updated callers of makeSimpleColorFromCMYKA to use makeSimpleColor(toSRGBA(CMYKA { ... })). This required adding CMYKA type to ColorTypes.h and moving conversion SRGBA to ColorUtilities with the other color conversion code.
  • Added deduction guides for color types to allow component type deduction. This allows us to write:

function(SRGBA { redFloat, greenFloat, blueFloat, alphaFloat })

reather than the more cumbersome:

function(SRGBA<float> { redFloat, greenFloat, blueFloat, alphaFloat })

  • Added operator==/operator!= for each color type. Only used by CMYKA at the moment, but generally useful, so added for all of them. For all types convertable to ColorComponents, the implementation uses the conversion to ColorComponents to avoid redundancy.
  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::setStrokeColor):
(WebCore::CanvasRenderingContext2DBase::setFillColor):
Update to call new typed color based CanvasStyle functions.
(WebCore::CanvasRenderingContext2DBase::setShadow):
Use makeSimpleColor rather than makeSimpleColorFromFloats/makeSimpleColorFromCMYKA.

  • html/canvas/CanvasStyle.cpp:

(WebCore::CanvasStyle::CanvasStyle):
Replace constructors taking raw floats with ones taking typed colors (SRGBA<float>/CMYKA<float>)
to make it more clear what the parameters mean.
(WebCore::CanvasStyle::isEquivalentColor const):
Compare the cmyka components using new operator== implementation for CMYKA<float>.
(WebCore::CanvasStyle::isEquivalent const):
(WebCore::CanvasStyle::isEquivalentRGBA const): Deleted.
(WebCore::CanvasStyle::isEquivalentCMYKA const): Deleted.
Replace isEquivalentRGBA/isEquivalentCMYKA with overloaded isEquivalent.
(WebCore::CanvasStyle::applyStrokeColor const):
(WebCore::CanvasStyle::applyFillColor const):
Update for new names of CMYKA members.

  • html/canvas/CanvasStyle.h:

Use SRGBA<float> and CMYKA<float> to simplify interfaces

  • page/DebugPageOverlays.cpp:
  • page/linux/ResourceUsageOverlayLinux.cpp:

(WebCore::ResourceUsageOverlay::platformInitialize):
Use makeSimpleColor rather than makeSimpleColorFromFloats, allowing for
constant expression creation of SimpleColors.

  • platform/graphics/Color.cpp:

(WebCore::Color::lightened const):
(WebCore::Color::darkened const):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats.

(WebCore::Color::luminance const):
Fix comment.

(WebCore::blendWithoutPremultiply):
Use makeSimpleColor(...) rather than makeSimpleColorFromFloats.

  • platform/graphics/ColorTypes.h:

(WebCore::operator==):
(WebCore::operator!=):

  • Add deduction guides and operator==/operator!= for each color type.
  • Add CMYKA type. No conversion to ColorComponents yet, as ColorComponents only works with 4 component colors, not ones with 5 like CMYKA.
  • platform/graphics/ColorUtilities.cpp:

(WebCore::toSRGBA):
Move conversion from CMYKA to SRGBA from makeSimpleColorFromCMYKA to here.

  • platform/graphics/ColorUtilities.h:

(WebCore::convertPrescaledToComponentByte):
(WebCore::convertToComponentByte):
Use std::round rather than std::lroundf, since it will have the same result
and it reads nicer.

  • platform/graphics/SimpleColor.cpp:

(WebCore::makeSimpleColorFromCMYKA): Deleted.

  • platform/graphics/SimpleColor.h:

(WebCore::makeSimpleColor):
(WebCore::makeSimpleColorFromFloats): Deleted.

  • Removed makeSimpleColorFromFloats and makeSimpleColorFromCMYKA.
  • Added constexpr overload of makeSimpleColor taking a const SRGBA<uint8_t>&.
  • Fixed forward declaration of makeSimpleColor that was taking ColorComponents to actually take an SRGBA<float>, which is what the inline implementation actually takes.
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::makeSimpleColorFromARGBCFArray):

  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::interpolateColorStop):

  • platform/graphics/cg/ColorCG.cpp:

(WebCore::makeSimpleColorFromCGColor):

  • platform/graphics/win/PlatformContextDirect2D.cpp:

(WebCore::PlatformContextDirect2D::brushWithColor):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats.

  • platform/graphics/mac/ColorMac.mm:

(WebCore::makeSimpleColorFromNSColor):

  • platform/ios/ColorIOS.mm:

(WebCore::colorFromUIColor):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats. Casting to
float is needed, as the input types are CGFloat which is double in 64-bit environments
and won't automatically narrow with the new types.

  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::colorForGridTileBorder const):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::beginTransparencyLayers):
Use makeSimpleColor rather than makeSimpleColorFromFloats, allowing for
constant expression creation of SimpleColors.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSystemPreviewBadge):
Use Color::black/Color::white.colorWithAlpha(...) rather than makeSimpleColorFromFloats,
allowing for constant expression creation of SimpleColors.

Source/WebKit:

  • UIProcess/API/wpe/WebKitColor.cpp:

(webkitColorToWebCoreColor):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats.

  • WebProcess/Inspector/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::showPaintRect):

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::drawRect):
Use makeSimpleColor rather than makeSimpleColorFromFloats, allowing for
constant expression creation of SimpleColors.

1:24 PM Changeset in webkit [263687] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-values/ch-unit-004.html and imported/w3c/web-platform-tests/css/css-values/ch-unit-012.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=203333

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

1:18 PM Changeset in webkit [263686] by Alan Coon
  • 5 edits in branches/safari-610.1.18.20-branch

Cherry-pick r263630. rdar://problem/64903618

Revert r262654 because it caused <rdar://problem/64664156>.
Moreover it is no longer necessary as the embedding client
changes selection through a different SPI after focusing.

Source/WebKit:

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView cleanUpInteraction]): (-[WKContentView _didCommitLoadForMainFrame]): (-[WKContentView _focusTextInputContext:placeCaretAt:completionHandler:]):

Tools:

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

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

1:15 PM Changeset in webkit [263685] by Alan Coon
  • 8 edits in branches/safari-610.1.18.20-branch/Source

Versioning.

WebKit-610.1.18.20.1

1:09 PM Changeset in webkit [263684] by Fujii Hironori
  • 2 edits in trunk/Tools

[Win] run-webkit-tests is failing to run DRT and WTR without --architecture x86_64
https://bugs.webkit.org/show_bug.cgi?id=213688

Reviewed by Jonathan Bedard.

  • Scripts/webkitpy/port/win.py:

(WinPort._port_flag_for_scripts):
(WinPort._build_path):
(WinPort._ntsd_location):
Replaced self.get_option('architecture') with self.architecture().

1:05 PM Changeset in webkit [263683] by Alan Coon
  • 1 copy in branches/safari-610.1.18.20-branch

New branch.

12:56 PM Changeset in webkit [263682] by Russell Epstein
  • 1 copy in branches/safari-610.1.20-branch

New branch.

12:38 PM Changeset in webkit [263681] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-010.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213737

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
12:28 PM Changeset in webkit [263680] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-ui/outline-019.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=175288

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

12:15 PM Changeset in webkit [263679] by Russell Epstein
  • 1 copy in tags/Safari-610.1.18.3.2

Tag Safari-610.1.18.3.2.

12:12 PM Changeset in webkit [263678] by Alan Coon
  • 4 edits in branches/safari-610.1.18-branch/Source/ThirdParty/libwebrtc

Cherry-pick r263375. rdar://problem/64901603

libwebrtc fails to build on arm64
https://bugs.webkit.org/show_bug.cgi?id=213476

Reviewed by Maciej Stachowiak.

  • Configurations/libvpx.xcconfig:
  • Configurations/libwebrtc.xcconfig:
  • Configurations/opus.xcconfig: Use architecture conditionals instead of SDK conditionals for code that is architecture-dependent.

Remove an macOS-version-dependent definition of EXCLUDED_SOURCE_FILE_NAMES
which is no longer used after r232665.

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

12:11 PM Changeset in webkit [263677] by Alan Coon
  • 8 edits in branches/safari-610.1.18-branch/Source

Versioning.

WebKit-610.1.18.4

12:11 PM Changeset in webkit [263676] by Russell Epstein
  • 2 edits in branches/safari-610.1.18.3-branch/Source/WebKit

Cherry-pick r263462. rdar://problem/64897984

Fix the build once RBSProcessLimitations.h is introduced
https://bugs.webkit.org/show_bug.cgi?id=213562

Reviewed by Wenson Hsieh.

  • Platform/spi/ios/RunningBoardServicesSPI.h: We can't forward-declare Objective-C SPI if it actually exists without inspiring duplicate definition errors.

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

12:08 PM Changeset in webkit [263675] by Russell Epstein
  • 8 edits in branches/safari-610.1.18.3-branch/Source

Versioning.

WebKit-610.1.18.3.2

12:07 PM Changeset in webkit [263674] by keith_miller@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

ConservativeRoots should mark any cell it finds an interior pointer to
https://bugs.webkit.org/show_bug.cgi?id=213686

Reviewed by Yusuke Suzuki.

Currently, if ConserativeRoots finds an interior pointer to a cell
it will only mark that cell if it's a butterfly of some
kind. However, this can cause problems if the C++ or B3 compilers
pre-compute the offset of some cell member they want to load from
after a call. If this happens and that interior pointer is the
only reference to the cell it can get collected while it is still
"alive".

A naive patch that doesn't return from
findGCObjectPointersForMarking after finding a live non-interior,
non-butterfly cell was a 2% regression on Speedometer2 and
JetStream2. So, this patch immediately returns after
marking some non-butterfly cell, which appears to have fixed the
regression locally. Given this was such a big regression (likely
from running MarkedBlock::isLive) more than once there's possibly
an optimization opportunity here. I filed
https://bugs.webkit.org/show_bug.cgi?id=213687 to investigate
further.

  • heap/HeapCell.cpp:

(WTF::printInternal):

  • heap/HeapCell.h:

(JSC::isJSCellKind):
(JSC::mayHaveIndexingHeader):
(JSC::hasInteriorPointers): Deleted.

  • heap/HeapUtil.h:

(JSC::HeapUtil::findGCObjectPointersForMarking):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::appendJSCellOrAuxiliary):

  • runtime/VM.cpp:

(JSC::VM::VM):

11:54 AM Changeset in webkit [263673] by Chris Fleizach
  • 9 edits
    2 adds in trunk

AX: aria-modal nodes wrapped in aria-hidden are not honored
https://bugs.webkit.org/show_bug.cgi?id=212849
<rdar://problem/64047019>

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: accessibility/aria-modal-in-aria-hidden.html

If aria-modal was wrapped inside aria-hidden, we were still processing that as the modal node.
Fixing that uncovered a host of very finicky issues related to aria-modal.

  1. We were processing modal status immediately instead of after a delay, so visibility requirements were not correct.
  2. In handleModalChange: We were processing multiple modal nodes perhaps incorrectly (the spec doesn't account for multiple modal nodes).
    • had to update a test to turn off modal status before adding a new modal node
  3. Changed the modal node to a WeakPtr
  4. In isNodeAriaVisible: We stopped processing for visibile with aria-hidden as soon as we hit a renderable block, but that means it won't account for nodes higher in the tree with aria-hidden.
  5. In handleAttributeChange: if aria-hidden changes, we should update modal status if needed.
  6. In focusModalNodeTimerFired: we need to verify the element is still live, otherwise it can lead to a crash.
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::findModalNodes):
(WebCore::AXObjectCache::currentModalNode):
(WebCore::AXObjectCache::modalNode):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::deferModalChange):
(WebCore::AXObjectCache::focusModalNodeTimerFired):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::handleModalChange):
(WebCore::AXObjectCache::prepareForDocumentDestruction):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::isNodeAriaVisible):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::handleModalChange):
(WebCore::AXObjectCache::deferModalChange):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::firstChild const):
(WebCore::AccessibilityRenderObject::lastChild const):

LayoutTests:

  • accessibility/aria-hidden-negates-no-visibility-expected.txt:
  • accessibility/aria-hidden-negates-no-visibility.html:
  • accessibility/aria-modal-in-aria-hidden-expected.txt: Added.
  • accessibility/aria-modal-in-aria-hidden.html: Added.
  • accessibility/aria-modal.html:
  • accessibility/mac/aria-modal-auto-focus.html:
11:48 AM Changeset in webkit [263672] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-transitions/before-load-001.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=203416

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
11:32 AM Changeset in webkit [263671] by youenn@apple.com
  • 7 edits in trunk

Support MediaRecorder.onstart
https://bugs.webkit.org/show_bug.cgi?id=213720

Reviewed by Darin Adler.

Source/WebCore:

Fire start event if MediaRecorder.start is successful.
Do some WebIDL clean-up, in particular change timeSlice from long to unsigned long, as per spec.
Covered by added test.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::startRecording):

  • Modules/mediarecorder/MediaRecorder.h:
  • Modules/mediarecorder/MediaRecorder.idl:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt:
  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html:
11:27 AM Changeset in webkit [263670] by youenn@apple.com
  • 5 edits in trunk/Source/WebKit

Send WebRTC packets received from network process to web process from a background thread
https://bugs.webkit.org/show_bug.cgi?id=213548

Reviewed by Eric Carlson.

Make LibWebRTCSocketClient take a ref to an IPC connection at creation time.
Use this connection from the RTC network thread to send received packets to improve performances.
Covered by existing tests.

  • NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:

(WebKit::LibWebRTCSocketClient::LibWebRTCSocketClient):
(WebKit::LibWebRTCSocketClient::signalReadPacket):
(WebKit::LibWebRTCSocketClient::signalSentPacket):
(WebKit::LibWebRTCSocketClient::signalAddressReady):
(WebKit::LibWebRTCSocketClient::signalConnect):
(WebKit::LibWebRTCSocketClient::signalClose):

  • NetworkProcess/webrtc/LibWebRTCSocketClient.h:
  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::createSocket):
(WebKit::NetworkRTCProvider::createUDPSocket):
(WebKit::NetworkRTCProvider::createServerTCPSocket):
(WebKit::NetworkRTCProvider::createClientTCPSocket):
(WebKit::NetworkRTCProvider::wrapNewTCPConnection):

  • NetworkProcess/webrtc/NetworkRTCProvider.h:
11:08 AM Changeset in webkit [263669] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-001.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213736

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

10:53 AM Changeset in webkit [263668] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Garden tests failing on the EWS GTK-WK2 queue.

  • platform/gtk/TestExpectations:
10:51 AM Changeset in webkit [263667] by Ryan Haddad
  • 1 edit
    2 adds in trunk/LayoutTests

REGRESSION(r263626): 2 imported/w3c/web-platform-tests/cors/ tests failing constantly
https://bugs.webkit.org/show_bug.cgi?id=213729

Unreviewed test gardening.

Add baselines for Mojave.

  • platform/mac-mojave/imported/w3c/web-platform-tests/cors/credentials-flag-expected.txt: Added.
  • platform/mac-mojave/imported/w3c/web-platform-tests/cors/origin-expected.txt: Added.
10:30 AM Changeset in webkit [263666] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-lists/counter-increment-inside-display-contents.html and imported/w3c/web-platform-tests/css/css-lists/counter-reset-inside-display-contents.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213734

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

10:23 AM Changeset in webkit [263665] by ysuzuki@apple.com
  • 7 edits
    1 copy in trunk/Source/WTF

[WTF] Add more StringView / ASCIILiteral helper functions and add ICUDeleter
https://bugs.webkit.org/show_bug.cgi?id=209774

Reviewed by Ross Kirsling and Darin Adler.

Add ICUDeleter for cleaner ICU object deletion.
Add ICU::majorVersion and ICU::minorVersion to switch the skeleton string in Intl.NumberFormat.
Add more features for ASCIILiteral.

This patch is part of https://bugs.webkit.org/show_bug.cgi?id=209774. I land it separately from
Intl.NumberFormat change to unlock the further Intl implementations using ICUDeleter.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/text/ASCIILiteral.h:
  • wtf/text/StringView.cpp:

(WTF::codePointCompare):

  • wtf/text/StringView.h:

(WTF::StringView::StringView):

  • wtf/unicode/icu/ICUHelpers.cpp: Copied from Source/WTF/wtf/text/ASCIILiteral.h.

(WTF::ICU::version):
(WTF::ICU::majorVersion):
(WTF::ICU::minorVersion):

  • wtf/unicode/icu/ICUHelpers.h:

(WTF::ICUDeleter::operator()):

10:21 AM Changeset in webkit [263664] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-display/display-contents-button.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213731

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

9:37 AM Changeset in webkit [263663] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/cors/preflight-failure.htm and imported/w3c/web-platform-tests/cors/status-async.htm as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213730

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

9:32 AM Changeset in webkit [263662] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

On load from back/forward cache, call checkCompleted() for ALL frames inside FrameLoader::commitProvisionalLoad()
https://bugs.webkit.org/show_bug.cgi?id=213657

Reviewed by Youenn Fablet.

On load from back/forward cache, call checkCompleted() for ALL frames inside FrameLoader::commitProvisionalLoad().
Previously, we were doing it for the main frame in FrameLoader::commitProvisionalLoad() and for subframes in
FrameLoader::open(). Doing it all in one place results in more understandable code and is less error-prone.

Note that calling checkCompleted() for subframes was new in r262221 and is covered by:
fast/history/multiple-back-forward-navigations.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::open):

7:38 AM Changeset in webkit [263661] by Chris Dumez
  • 3 edits in trunk/LayoutTests/imported/w3c

REGRESSION(r263626): 2 imported/w3c/web-platform-tests/cors/ tests failing constantly
https://bugs.webkit.org/show_bug.cgi?id=213729

Unreviewed, rebaseline a couple of cors tests after upstream resync in r263626.

  • web-platform-tests/cors/credentials-flag-expected.txt:
  • web-platform-tests/cors/origin-expected.txt:
7:22 AM Changeset in webkit [263660] by Jonathan Bedard
  • 2 edits in trunk/Tools

run-javascriptcore-tests: Support Apple Silicon running x86 processes
https://bugs.webkit.org/show_bug.cgi?id=213487
<rdar://problem/64606667>

Unreviewed infrastructure fix.

  • Scripts/webkitdirs.pm:

(architecturesForProducts): Return architecutre(), not determineArchitecture().

5:15 AM Changeset in webkit [263659] by svillar@igalia.com
  • 8 edits in trunk

[css-flexbox] WebKit mistakenly lets pointer events (click/hover/etc) pass through flex items, if they have negative margin
https://bugs.webkit.org/show_bug.cgi?id=185771

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-flexbox/hittest-overlapping-margin-expected.txt: Replaced FAIL by PASS expectation.
  • web-platform-tests/css/css-flexbox/hittest-overlapping-order-expected.txt: Ditto.

Source/WebCore:

When multiple child elements of a flexbox overlap (for example, due to negative margins), the element drawn in the
foreground may not actually capture the hit if the element underneath it is hit-tested despite being occluded.
This is because painting of flexbox children is done in order modified document order instead of raw document order.

In order to achieve this we should inspect flex items in reverse order modified document order. As the OrderIterator
cannot go backwards, we cache the reverse order of items when doing the layout in order to have fast hit testing in
flexbox containers.

As this behaviour is different to the one implemented in RenderBlock a new virtual method to perform hit testing of children
was extracted from RenderBlock:nodeAtPoint() to a new method called RenderBlock::hitTestChildren. The RenderBlock
implementation is identical to the current one but flexbox containers overwrite it.

Two WPT flexbox hittests are passing now thanks to this patch.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::hitTestChildren): Implementation of the new virtual method extracted from nodeAtPoint.
(WebCore::RenderBlock::nodeAtPoint): Moved code to hit test children to hitTestChildren()

  • rendering/RenderBlock.h: Added hitTestChildren new virtual method.
  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::hitTestChildren): Implemented.
(WebCore::RenderFlexibleBox::layoutFlexItems): Cache the reverse of the order iterator to be used by hit testing.

  • rendering/RenderFlexibleBox.h: Added hitTestChildren.
5:06 AM Changeset in webkit [263658] by calvaris@igalia.com
  • 7 edits in trunk

[GStreamer] imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately.https.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=213385

Reviewed by Philippe Normand.

Source/WebCore:

Add a way to release the decryption resources when the player
private is destroyed. That way we can release the secure memory
allocated by libgcrypt and allow for more tests to get, which
caused the crash.

Tests: imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately.https.html.

  • platform/encryptedmedia/CDMProxy.h:

(WebCore::CDMProxy::releaseDecryptionResources):
(WebCore::CDMInstanceSessionProxy::releaseDecryptionResources):
(WebCore::CDMInstanceProxy::releaseDecryptionResources):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):

  • platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp:

(WebCore::CDMProxyClearKey::~CDMProxyClearKey):
(WebCore::CDMProxyClearKey::releaseDecryptionResources):
(WebCore::CDMProxyClearKey::closeGCryptHandle):

  • platform/graphics/gstreamer/eme/CDMProxyClearKey.h:

LayoutTests:

  • platform/glib/TestExpectations: Removed test from expectations.
5:06 AM Changeset in webkit [263657] by calvaris@igalia.com
  • 3 edits
    1 add in trunk

[webkitpy] PHP7.4 support on Debian platforms
https://bugs.webkit.org/show_bug.cgi?id=213721

Reviewed by Carlos Garcia Campos.

Tools:

  • Scripts/webkitpy/port/base.py:

(Port._debian_php_version):

LayoutTests:

  • http/conf/debian-httpd-2.4-php7.4.conf: Added.
4:50 AM Changeset in webkit [263656] by aboya@igalia.com
  • 9 edits
    2 moves in trunk/Source/WebCore

[MSE][GStreamer] Rename MediaSourceGStreamer to MediaSourcePrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=213722

Reviewed by Xabier Rodriguez-Calvar.

It's about time to remove this FIXME:

FIXME: Should this be called MediaSourcePrivateGStreamer?

Yes, it should. Because it's a MediaSourcePrivate, and that is an
important fact. The MSE class diagram is confusing enough already,
let's fix this.

To rebase commits after this change use git format-patch first to
get them in a patch format and then run:

sed -i 's|\<MediaSourceGStreamer\>|MediaSourcePrivateGStreamer|g' *.patch

This patch is a refactor that produces no behavior changes.

  • platform/GStreamer.cmake:
  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:

(WebCore::MediaPlayerPrivateGStreamerMSE::sourceSetup):

  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
  • platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h:
  • platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp: Renamed from Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceGStreamer.cpp.

(WebCore::MediaSourcePrivateGStreamer::open):
(WebCore::MediaSourcePrivateGStreamer::MediaSourcePrivateGStreamer):
(WebCore::MediaSourcePrivateGStreamer::~MediaSourcePrivateGStreamer):
(WebCore::MediaSourcePrivateGStreamer::addSourceBuffer):
(WebCore::MediaSourcePrivateGStreamer::removeSourceBuffer):
(WebCore::MediaSourcePrivateGStreamer::durationChanged):
(WebCore::MediaSourcePrivateGStreamer::markEndOfStream):
(WebCore::MediaSourcePrivateGStreamer::unmarkEndOfStream):
(WebCore::MediaSourcePrivateGStreamer::readyState const):
(WebCore::MediaSourcePrivateGStreamer::setReadyState):
(WebCore::MediaSourcePrivateGStreamer::waitForSeekCompleted):
(WebCore::MediaSourcePrivateGStreamer::seekCompleted):
(WebCore::MediaSourcePrivateGStreamer::sourceBufferPrivateDidChangeActiveState):
(WebCore::MediaSourcePrivateGStreamer::buffered):
(WebCore::MediaSourcePrivateGStreamer::logChannel const):

  • platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.h: Renamed from Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceGStreamer.h.
  • platform/graphics/gstreamer/mse/PlaybackPipeline.h:
  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::create):
(WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):

  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:
  • platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
4:50 AM Changeset in webkit [263655] by youenn@apple.com
  • 9 edits
    2 adds in trunk

RTCDataChannel.bufferedAmount should stay the same even if channel is closed
https://bugs.webkit.org/show_bug.cgi?id=213698

Reviewed by Darin Adler.

Source/WebCore:

bufferedAmount was set back to zero when closing.
Instead, we should keep the value in RTCDataChannel and update it either when sending data
or being notified or some data getting sent.

Test: webrtc/datachannel/bufferedAmount-afterClose.html

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::bufferedAmountIsDecreasing):

  • platform/mock/RTCDataChannelHandlerMock.h:

LayoutTests:

  • webrtc/datachannel/bufferedAmount-afterClose-expected.txt: Added.
  • webrtc/datachannel/bufferedAmount-afterClose.html: Added.
4:31 AM Changeset in webkit [263654] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

checked overflow in WebCore::findClosestFont
https://bugs.webkit.org/show_bug.cgi?id=213719
<rdar://47765225>

Reviewed by David Kilzer.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::findClosestFont):

If indexOfBestCapabilities doesn't find anything it returns notFound and indexing to the vector overflows.

3:54 AM Changeset in webkit [263653] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r262776): Leak of NSMutableURLRequest in -[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]
<https://webkit.org/b/213690>
<rdar://problem/64853619>

Reviewed by Anders Carlsson.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):

  • Use RetainPtr<> for the mutable copy and autorelease the return value.
3:19 AM Changeset in webkit [263652] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK] Dark mode for GTK themes that end with -Dark
https://bugs.webkit.org/show_bug.cgi?id=213465

Patch by Elliot <CheeseEBoi@mailo.com> on 2020-06-29
Reviewed by Carlos Garcia Campos.

WebKitGtk has support for automatic detection of dark mode when it comes to GTK themes with the "-dark" and
":dark" suffixes. However, when using GTK themes that end with "-Dark" or ":Dark", this is not the case. This
affects many themes like "Arc" and "Flat-Remix".

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::effectiveAppearanceIsDark const):
(WebKit::PageClientImpl::themeName const):

3:10 AM Changeset in webkit [263651] by youenn@apple.com
  • 4 edits
    2 adds in trunk

MediaRecorder.start() Method is Ignoring the "timeslice" Parameter
https://bugs.webkit.org/show_bug.cgi?id=202233
<rdar://problem/55720555>

Reviewed by Eric Carlson.

Source/WebCore:

Use a timer to implement timeSlice parameter.
Schedule timer either when start is called or as part of requestData callback.
This should ensure that, if requestData is called by the application, the timer will be rescheduled appropriately.

Test: http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::requestData):

  • Modules/mediarecorder/MediaRecorder.h:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt: Added.
  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html: Added.
2:50 AM Changeset in webkit [263650] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed WPE gardening. Addressing some timeouts and flaky failures.

  • platform/wpe/TestExpectations:
2:38 AM Changeset in webkit [263649] by commit-queue@webkit.org
  • 6 edits in trunk/Tools

REGRESSION(r263625): [WPE][GTK] MiniBrowser output no longer includes stderr and stdout
https://bugs.webkit.org/show_bug.cgi?id=213696

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-29
Reviewed by Žan Doberšek.

This patch adds a new optional argument to Executive.run_command() to control stdout output.
By default the subprocess.PIPE value is used, to keep backward compatibility. Set the stdout
argument to None to display the output on the terminal tty.

The GTK and WPE run_minibrowser() implementations now use this new argument, along with
setting return_stderr to False to indicate we also want stderr displayed on the terminal
tty.

  • Scripts/webkitpy/common/system/abstractexecutive.py:

(AbstractExecutive.run_command):

  • Scripts/webkitpy/common/system/executive.py:

(Executive.run_command):

  • Scripts/webkitpy/common/system/executive_mock.py:

(MockExecutive.run_command):

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.run_minibrowser):

  • Scripts/webkitpy/port/wpe.py:

(WPEPort.run_minibrowser):

2:32 AM Changeset in webkit [263648] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r263625): run-minibrowser --debug/--release options gone
https://bugs.webkit.org/show_bug.cgi?id=213697

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-29
Reviewed by Žan Doberšek.

  • Scripts/webkitpy/minibrowser/run_webkit_app.py:

(main): Explicitely skip the --target option. Previous code was also skipping --release and
--debug options because their dest is the same as with the --target option.

1:04 AM Changeset in webkit [263647] by commit-queue@webkit.org
  • 7 edits in trunk

window.location.replace with invalid urls should throw
https://bugs.webkit.org/show_bug.cgi?id=153121

Patch by Rob Buis <rbuis@igalia.com> on 2020-06-29
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Add a subtest to verify that location.replace throws SyntaxError if
the resulting url is not valid.

  • web-platform-tests/html/browsers/history/the-location-interface/location_replace-expected.txt:
  • web-platform-tests/html/browsers/history/the-location-interface/location_replace.html:

Source/WebCore:

Throw SyntaxError if the url resulting from the
location.replace operation is not valid.

Behavior matches Firefox and Chrome.

Tests: imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location_replace.html

[1] https://html.spec.whatwg.org/multipage/history.html#dom-location-replace

  • page/Location.cpp:

(WebCore::Location::replace):

  • page/Location.h:
  • page/Location.idl:
1:00 AM Changeset in webkit [263646] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests/imported/w3c

Add a new Web Platform Test in LayoutTest/imported/w3c/web-platform-tests/dom/ranges
https://bugs.webkit.org/show_bug.cgi?id=213667

Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-06-29
Reviewed by Darin Adler.

Adding a Web Platfotm Test to test the handling of Ranges, when range is associated with a parentless node, and this parentless node moves to
new document.

This test has been provided by Darin Adler.

  • web-platform-tests/dom/ranges/Range-adopt-test-expected.txt: Added.
  • web-platform-tests/dom/ranges/Range-adopt-test.html: Added.
12:39 AM Changeset in webkit [263645] by Carlos Garcia Campos
  • 8 edits in trunk

[GTK][WPE] Add webkit_authentication_request_get_security_origin
https://bugs.webkit.org/show_bug.cgi?id=213596

Reviewed by Michael Catanzaro.

Source/WebKit:

Returns the security origin for the authentication protection space.

  • UIProcess/API/glib/WebKitAuthenticationRequest.cpp:

(webkit_authentication_request_get_security_origin):

  • UIProcess/API/gtk/WebKitAuthenticationRequest.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/wpe/WebKitAuthenticationRequest.h:
  • UIProcess/API/wpe/docs/wpe-1.0-sections.txt:

Tools:

Update the unit tests to check the new API.

  • TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:

(testWebViewAuthenticationRequest):
(testWebViewAuthenticationProxy):
(testWebViewAuthenticationProxyHTTPS):

12:23 AM Changeset in webkit [263644] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK4] Context menu is misaligned
https://bugs.webkit.org/show_bug.cgi?id=213703

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-06-29
Reviewed by Carlos Garcia Campos.

Set halign on the context menu popover to the same value other context menus in GTK use,
like in GtkEntry.

  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::createMenuWidget): Set halign for the context menu to 'start'.

Note: See TracTimeline for information about the timeline view.