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

Timeline



Jul 27, 2020:

11:55 PM Changeset in webkit [264965] by Carlos Garcia Campos
  • 5 edits
    48 adds in trunk

REGRESSION(r230479): [TextureMapper] replica layer is not rendered
https://bugs.webkit.org/show_bug.cgi?id=214827

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Since r230479 the replica layer transform is not applied because m_layerTransforms.localTransform is never set
for the replica layer. We need to call applyAnimationsRecursively() on the replica layer to initialize the
localTransform (even when we know the replica layer won't have animations).

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::applyAnimationsRecursively):

LayoutTests:

Add missing expectations for compositing/reflections tests and rebaseline the existing ones.

  • platform/gtk/TestExpectations:
  • platform/gtk/compositing/reflections/animation-inside-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/animation-inside-reflection-expected.txt: Added.
  • platform/gtk/compositing/reflections/backface-hidden-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/become-simple-composited-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/compositing-change-inside-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/compositing-change-inside-reflection-expected.txt: Added.
  • platform/gtk/compositing/reflections/deeply-nested-reflections-expected.png: Added.
  • platform/gtk/compositing/reflections/deeply-nested-reflections-expected.txt: Added.
  • platform/gtk/compositing/reflections/direct-image-object-fit-reflected-expected.txt: Added.
  • platform/gtk/compositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/load-video-in-reflection-expected.txt: Added.
  • platform/gtk/compositing/reflections/masked-reflection-on-composited-expected.png: Added.
  • platform/gtk/compositing/reflections/masked-reflection-on-composited-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-anchor-point-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-anchor-point-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-animated-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-animated-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-mask-change-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-mask-change-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-on-overflow-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-on-overflow-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-opacity-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-opacity-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-size-change-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-size-change-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transformed-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transformed-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transformed2-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transformed2-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transition-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transition-expected.txt: Added.
  • platform/gtk/compositing/reflections/reflection-in-composited-expected.png:
  • platform/gtk/compositing/reflections/reflection-on-composited-expected.png: Added.
  • platform/gtk/compositing/reflections/reflection-on-composited-expected.txt: Added.
  • platform/gtk/compositing/reflections/reflection-opacity-expected.png: Added.
  • platform/gtk/compositing/reflections/reflection-opacity-expected.txt: Added.
  • platform/gtk/compositing/reflections/reflection-ordering-expected.png: Added.
  • platform/gtk/compositing/reflections/reflection-ordering-expected.txt: Added.
  • platform/gtk/compositing/reflections/reflection-positioning-expected.png: Added.
  • platform/gtk/compositing/reflections/reflection-positioning-expected.txt: Added.
  • platform/gtk/compositing/reflections/reflection-positioning2-expected.png: Added.
  • platform/gtk/compositing/reflections/reflection-positioning2-expected.txt: Added.
  • platform/gtk/compositing/reflections/remove-add-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/simple-composited-reflections-expected.png: Added.
  • platform/gtk/compositing/reflections/simple-composited-reflections-expected.txt: Added.
  • platform/gtk/compositing/reflections/transform-inside-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/transform-inside-reflection-expected.txt: Added.
11:18 PM Changeset in webkit [264964] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

Test landed flaky: [ iOS ] fast/visual-viewport/scroll-event-fired-during-scroll-alone.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=214324
<rdar://problem/65566127>

Reviewed by Simon Fraser.

Use UIHelper.ensureStablePresentationUpdate() and an additional animation frame to determine that
scroll has completed after the call to window.scrollTo().

  • fast/visual-viewport/scroll-event-fired-during-scroll-alone.html:
  • platform/ios-simulator-wk2/TestExpectations:
8:53 PM Changeset in webkit [264963] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null check inlineStyle in StyledElement::invalidateStyleAttribute
https://bugs.webkit.org/show_bug.cgi?id=214782
<rdar://problem/66052987>

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

Source/WebCore:

This fixes a reachable crash.

Test: fast/dom/null-inline-style.html

  • dom/StyledElement.cpp:

(WebCore::StyledElement::invalidateStyleAttribute):

LayoutTests:

  • fast/dom/null-inline-style-expected.txt: Added.
  • fast/dom/null-inline-style.html: Added.
5:52 PM Changeset in webkit [264962] by Wenson Hsieh
  • 6 edits in trunk

[iOS] Drag and drop does not preserve file names that contain periods
https://bugs.webkit.org/show_bug.cgi?id=214701
<rdar://problem/66014009>

Reviewed by Tim Horton.

Source/WebCore:

Cocoa documentation does not make it clear whether the -suggestedName property on NSItemProvider should or
should not include the file extension. To avoid adding a redundant file extension, logic in
WebItemProviderPasteboard attempts to deduce whether the suggested name already contains an extension, and
only appends a file extension (taken from name of the original file) if the suggested name does not have one.

Unfortunately, since this logic only checks whether or not there is a period in the filename, it will
incorrectly avoid adding a file extension when the suggested name contains a period. To fix this, instead of
checking for the presence of a period, check to see whether the file extension of the suggested name is the
same, and append the extension if it isn't.

Test: DragAndDropTests.SuggestedNameContainsDot

  • platform/ios/WebItemProviderPasteboard.mm:

(linkTemporaryItemProviderFilesToDropStagingDirectory):

Tools:

Add an API test to exercise both scenarios where the suggested name does and does not contain the extension.

  • TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:

Rebaseline an existing API test.

  • TestWebKitAPI/Tests/WebKitCocoa/gif-and-file-input.html:

Adjust this test case to support handling multiple uploaded files.

  • TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:

(TestWebKitAPI::TEST):

5:36 PM Changeset in webkit [264961] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

Handle full browser apps that try to use prohibited Info.plist strings
https://bugs.webkit.org/show_bug.cgi?id=214852
<rdar://problem/66023860>

Reviewed by Brent Fulgham.

Full-web browsing applications which also use prohibited Info.plist
strings should be restricted from using certain powerful APIs like
JavaScript injection. These apps will have the equivalent privileges
of an app that opts into App-Bound Domains with an empty
WKAppBoundDomains key.

No new tests. Writing a test for this would require being able to
change TestWebKitAPI's Info.plist between tests, which we do not
support. I manually tested this by adding a prohibited
string to the TestWebKitAPI Info.plist then verified that restricted APIs,
like JS injection, were blocked.

  • UIProcess/WebPageProxy.cpp:

(isFullWebBrowser):
(hasProhibitedUsageStrings):
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomainAndCheckIfPermitted):
We do not need to set m_isNavigatingToAppBoundDomain in the case where
a full web browser does not use prohibited strings. In this case, we
want m_isNavigatingToAppBoundDomain to stay as WTF::nullopt so no API
restriction is enabled.

5:30 PM Changeset in webkit [264960] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Extension is sized incorrectly, content is cut off.
https://bugs.webkit.org/show_bug.cgi?id=214858
<rdar://problem/64135680>

Reviewed by Simon Fraser.

Source/WebCore:

Autosizing uses an 1px tall viewport to layout the content initially. When the document renderer's height is set to a percent value, this
1px tall viewport will drive the available height for the descendants and we pretty much end up with overflow content.
Autosizing takes the overflow into account when computing the final content size, however this overflow depends on the type of the layout context (e.g. flex vs. block).

Let's replace percent height values on the document renderer with the initial "height: auto".

Test: fast/dynamic/size-to-content-autosize-with-percent-document-height.html

  • page/FrameView.cpp:

(WebCore::FrameView::performSizeToContentAutoSize):

LayoutTests:

  • fast/dynamic/size-to-content-autosize-with-percent-document-height-expected.html: Added.
  • fast/dynamic/size-to-content-autosize-with-percent-document-height.html: Added.
5:05 PM Changeset in webkit [264959] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Change default tab order to display most commonly used tabs first
https://bugs.webkit.org/show_bug.cgi?id=212189
<rdar://problem/62267309>

Reviewed by Timothy Hatcher.

Changet the default tab order to:
Elements, Console, Sources, Network, Timelines, Storage, Graphics, Layers, Audit.

  • UserInterface/Base/Main.js:

(WI.loaded):

5:05 PM Changeset in webkit [264958] by Chris Dumez
  • 7 edits in trunk

Update release*() functions on ExceptionOr() to always release the member
https://bugs.webkit.org/show_bug.cgi?id=214835

Reviewed by Darin Adler.

Source/WebCore:

Update release*() functions on ExceptionOr() to always release the member instead of
simply doing a cast to an rvalue reference and leaving it up to the caller.

Also add assertions to make sure we don't release those members more than once and to
make sure we don't try to access the member after releasing it.

  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::doOpenCursor):
(WebCore::IDBIndex::doOpenKeyCursor):
(WebCore::IDBIndex::doGetAll):
(WebCore::IDBIndex::doGetAllKeys):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::doOpenCursor):
(WebCore::IDBObjectStore::doOpenKeyCursor):
(WebCore::IDBObjectStore::doDelete):
(WebCore::IDBObjectStore::doGetAll):
(WebCore::IDBObjectStore::doGetAllKeys):
Fix issues found in existing code by new assertions.

  • dom/ExceptionOr.h:

(WebCore::ExceptionOr<ReturnType>::exception const):
(WebCore::ExceptionOr<ReturnType>::releaseException):
(WebCore::ExceptionOr<ReturnType>::returnValue const):
(WebCore::ExceptionOr<ReturnType>::releaseReturnValue):
(WebCore::>::releaseException):
(WebCore::ExceptionOr<void>::exception const):
(WebCore::ExceptionOr<void>::releaseException):

  • dom/TreeWalker.cpp:

Fix issues found in existing code by new assertions.

Tools:

  • TestWebKitAPI/Tests/WebCore/LoggedInStatus.cpp:

(TestWebKitAPI::TEST):
Fix unsafe code in API test which was storing a raw pointer to something held inside an ExpectedOr,
after calling releaseReturnValue().

5:02 PM Changeset in webkit [264957] by ddkilzer@apple.com
  • 11 edits
    1 delete in trunk

WebKit::setCrashReportApplicationSpecificInformation() should also log to WTFLogAlways()
<https://webkit.org/b/214756>
<rdar://problem/66085705>

Reviewed by Darin Adler.

This also makes the following changes:
Source/WebKit:

  • Renames setCrashReportApplicationSpecificInformation() to logAndSetCrashLogMessage().
  • Replaces _WKSetCrashReportApplicationSpecificInformation() with WebKit::logAndSetCrashLogMessage().
  • Calls WTF::setCrashLogMessage() in DumpRenderTree and WebKitTestRunner to avoid new WTFLogAlways() calls, which broke internal tests and caused the first patch to be rolled out.
  • Changes WebKit::logAndSetCrashLogMessage() to take a const char* argument instead of CFStringRef.
  • Platform/IPC/cocoa/ConnectionCocoa.mm:

(IPC::Connection::sendMessage):
(IPC::readFromMachPort):

  • Update call to logAndSetCrashLogMessage() to pass const char* value.
  • Platform/cocoa/WKCrashReporter.h:

(WebKit::logAndSetCrashLogMessage):

  • Rename from setCrashReportApplicationSpecificInformation().
  • Update function signature to use const char*.
  • Platform/cocoa/WKCrashReporter.mm:

(WebKit::logAndSetCrashLogMessage):

  • Rename from setCrashReportApplicationSpecificInformation().
  • Update function signature to use const char*.
  • Call WTFLogAlways() in addition to setting the Application Specific Information.
  • Shared/Cocoa/AuxiliaryProcessCocoa.mm:

(WebKit::AuxiliaryProcess::didReceiveInvalidMessage):

  • Update call to logAndSetCrashLogMessage() to pass const char* value.
  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceMain):

  • Update call to logAndSetCrashLogMessage() instead of both WTFLogAlways() and _WKSetCrashReportApplicationSpecificInformation().
  • WebKit.xcodeproj/project.pbxproj:
  • Remove WebProcessCocoa.h from the project.
  • WebProcess/cocoa/WebProcessCocoa.h: Remove.
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::_WKSetCrashReportApplicationSpecificInformation): Delete.

Tools:

  • Replaces _WKSetCrashReportApplicationSpecificInformation() with WebKit::setCrashReportApplicationSpecificInformation().
  • Calls WTF::setCrashLogMessage() in DumpRenderTree and WebKitTestRunner to avoid new WTFLogAlways() calls, which broke internal tests and caused the first patch to be rolled out.
  • Changes WebKit::setCrashReportApplicationSpecificInformation() to take a const char* argument instead of CFStringRef.
  • DumpRenderTree/mac/DumpRenderTree.mm:

(changeWindowScaleIfNeeded):

  • Drive-by fix for misspelling in parameter name.

(runTest):

  • WebKitTestRunner/cocoa/CrashReporterInfo.mm:

(WTR::setCrashReportApplicationSpecificInformationToURL):

  • Switch from calling WebKit::setCrashReportApplicationSpecificInformation() to calling WTF::setCrashLogMessage() directly.
4:50 PM Changeset in webkit [264956] by Alan Coon
  • 3 edits in branches/safari-610.1.23.1-branch/Source/WebKit

Cherry-pick r264945. rdar://problem/66187995

Occasional crashes under PDFPlugin::createScrollbar and PDFPlugin::updateScrollbars
https://bugs.webkit.org/show_bug.cgi?id=214845
<rdar://problem/59293598>

Reviewed by Brady Eidson.

No new tests; timing is such that I can't reproduce without inserting
intentional delays into the main thread hops, which is further than
I'm willing to go for a test.

This is a speculative fix due to the aforementioned reproducibility issue.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::destroy): Keep track of when destroy() has been called.

(WebKit::PDFPlugin::receivedNonLinearizedPDFSentinel):
(WebKit::PDFPlugin::threadEntry):
If the PDFPlugin is destroyed (explicit destroy(), not the destructor, which won't run since we're protecting this)
during the window in which the PDF thread is dispatching to the main thread, just ignore
the callback. We don't want to run it, because many of the things we depend on (like PluginView)
are disconnected at this point.

(WebKit::PDFPlugin::scrollbarStyleChanged):
It appears that in some much rarer case, even before the PDF thread existed, WebScrollerImpPairDelegate could
call us back after being destroy()'d but before being deallocated. Use the new bit to guard scrollbarStyleChanged().

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

4:48 PM Changeset in webkit [264955] by ggaren@apple.com
  • 4 edits in trunk/Source

WebCoreResourceHandleAsOperationQueueDelegate can use RunLoop::dispatch
https://bugs.webkit.org/show_bug.cgi?id=214771

Reviewed by Darin Adler.

Source/WebCore:

Use the new helper function for consistency, and to remove a bit of code.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(scheduledWithCustomRunLoopMode): Deleted.
(-[WebCoreResourceHandleAsOperationQueueDelegate callFunctionOnMainThread:]): Deleted.

Source/WTF:

  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::dispatch): Migrated the optimization from
WebCoreResourceHandleAsOperationQueueDelegate. All Cocoa WebViews begin
life with a single SchedulePair scheduled in kCFRunLoopCommonModes, so
this optimization is the common case.

(Note that I did not copy the kCFRunLoopDefaultMode clause from
the WebCoreResourceHandleAsOperationQueueDelegate optimization. That's
because it's not the common case, and also because it's not correct to
do a vanilla disptach() in the case of kCFRunLoopDefaultMode because a
vanilla dispatch() would use kCFRunLoopCommonModes.)

4:40 PM Changeset in webkit [264954] by Alan Coon
  • 8 edits in branches/safari-610.1.23.1-branch/Source

Versioning.

WebKit-610.1.23.1.3

4:40 PM Changeset in webkit [264953] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[ MacOS Debug ] Layout Test webgl/2.0.0/conformance2/textures/misc/tex-unpack-params.html is flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=190892

Unreviewed test gardening.

  • platform/mac/TestExpectations: Remove slow expectation since the test doesn't appear to be taking

that long to run, and this expectation is overriding the one for webkit.org/b/214763

4:37 PM Changeset in webkit [264952] by Alan Coon
  • 8 edits in branches/safari-610.1.23.0-branch/Source

Versioning.

WebKit-610.1.23.0.2

4:27 PM Changeset in webkit [264951] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Add output directory option to WebGL conformance import script
https://bugs.webkit.org/show_bug.cgi?id=214856

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

Add an -o / --ouptut-dir option to support revising the
LayoutTests/webgl/2.0.0 snapshot.

  • webgl/generate-webgl-tests.py:

(main):

3:40 PM Changeset in webkit [264950] by Ryan Haddad
  • 14 edits
    7 copies
    72 adds in trunk

Add test expectations and baselines for iOS 14
https://bugs.webkit.org/show_bug.cgi?id=214709

Reviewed by Jonathan Bedard.

Tools:

Change current version to 14 and update unit tests.

  • Scripts/webkitpy/port/ios.py:

(IOSPort):

  • Scripts/webkitpy/port/ios_device_unittest.py:
  • Scripts/webkitpy/port/ios_simulator_unittest.py:

(IOSSimulatorTest.make_port):
(IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions):
(IOSSimulatorTest.test_layout_test_searchpath_without_apple_additions):
(IOSSimulatorTest.test_layout_searchpath_wih_device_type):

  • Scripts/webkitpy/port/ios_testcase.py:

(IOSTest.make_port):

LayoutTests:

  • platform/ios-13/TestExpectations: Added.
  • platform/ios-13/fast/backgrounds/body-generated-image-propagated-to-root-expected.txt: Added.
  • platform/ios-13/fast/forms/input-double-click-selection-gap-bug-expected.txt: Added.
  • platform/ios-13/fast/forms/slider-thumb-shared-style-expected.txt: Added.
  • platform/ios-13/fast/inline/br-text-decoration-expected.txt: Added.
  • platform/ios-13/fast/layers/inline-dirty-z-order-lists-expected.txt: Added.
  • platform/ios-13/fast/replaced/percent-height-in-anonymous-block-widget-expected.txt: Added.
  • platform/ios-13/fast/text/international/bidi-LDB-2-CSS-expected.txt: Added.
  • platform/ios-13/fast/text/international/bidi-LDB-2-HTML-expected.txt: Added.
  • platform/ios-13/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: Copied from LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt.
  • platform/ios-13/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/xhr/send-entity-body-empty-expected.txt: Copied from LayoutTests/platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-empty-expected.txt.
  • platform/ios-13/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-async-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/xhr/send-entity-body-none-expected.txt: Copied from LayoutTests/platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-none-expected.txt.
  • platform/ios-13/platform/TestExpectations: Added.
  • platform/ios-13/platform/ios/ios/fast/text/opticalFont-expected.txt: Copied from LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFont-expected.txt.
  • platform/ios-13/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt: Copied from LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt.
  • platform/ios-13/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt: Copied from LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt.
  • platform/ios/TestExpectations:
  • platform/ios/http/tests/xmlhttprequest/methods-async-expected.txt: Added.
  • platform/ios/http/tests/xmlhttprequest/methods-expected.txt: Added.
  • platform/ios/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Added.
  • platform/ios/http/tests/xmlhttprequest/workers/methods-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/encoding/eof-shift_jis-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-empty-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-async-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-none-expected.txt:
  • platform/ios/platform/ios/ios/fast/text/opticalFont-expected.txt:
  • platform/ios/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt:
  • platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt:
  • platform/ipad-13/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt: Copied from LayoutTests/platform/ipad/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt.
  • platform/ipad/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/encoding/eof-shift_jis-expected.txt: Added.
3:11 PM Changeset in webkit [264949] by Jonathan Bedard
  • 73 edits in trunk/Tools

[webkitcorepy] Add string_utils (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=214405

Reviewed by Dewei Zhu.

Use webkitcorepy.string_utils instead of unicode_compatibility for unicode conversions.

  • Scripts/webkitpy/api_tests/runner.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/bindings/main.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/checkout/changelog.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/checkout/changelog_unittest.py: Make imports explicit.
  • Scripts/webkitpy/common/checkout/checkout.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/checkout/checkout_unittest.py: Replace unicode_compatibility with

string_utils, remove unused imports

  • Scripts/webkitpy/common/checkout/diff_parser_unittest.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/checkout/scm/git.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/checkout/scm/scm.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/checkout/scm/svn.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/config/committers.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: Replace unicode_compatibility with

string_utils, remove unused imports.

  • Scripts/webkitpy/common/net/buildbot/buildbot.py: Ditto.
  • Scripts/webkitpy/common/net/ewsserver.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/net/web_mock.py: Ditto.
  • Scripts/webkitpy/common/prettypatch.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/read_checksum_from_png.py: Ditto.
  • Scripts/webkitpy/common/read_checksum_from_png_unittest.py: Ditto
  • Scripts/webkitpy/common/system/abstractexecutive.py: Ditto.
  • Scripts/webkitpy/common/system/crashlogs.py: Ditto.
  • Scripts/webkitpy/common/system/crashlogs_unittest.py: Ditto.
  • Scripts/webkitpy/common/system/executive.py: Ditto.
  • Scripts/webkitpy/common/system/executive_mock.py: Ditto.
  • Scripts/webkitpy/common/system/executive_unittest.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/system/filesystem.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/system/filesystem_mock.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/system/outputcapture.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/system/outputtee_unittest.py: Ditto.
  • Scripts/webkitpy/common/wavediff.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: Replace unicode_compatibility with

string_utils, remove unused imports.

  • Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py: Replace unicode_compatibility with

string_utils.

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Ditto.
  • Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py: Replace unicode_compatibility with

string_utils, remove unused imports.

  • Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py: Replace unicode_compatibility with

string_utils.

  • Scripts/webkitpy/layout_tests/views/printing_unittest.py: Replace unicode_compatibility with

string_utils, remove unused imports.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py: Remove unused imports.
  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py: Ditto.
  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Replace unicode_compatibility with

string_utils, remove unused imports.

  • Scripts/webkitpy/port/base.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/port/driver.py: Replace unicode_compatibility with string_utils, remove unused imports.
  • Scripts/webkitpy/port/image_diff.py: Ditto.
  • Scripts/webkitpy/port/leakdetector.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/port/leakdetector_valgrind.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Ditto.
  • Scripts/webkitpy/port/linux_get_crash_log.py: Ditto.
  • Scripts/webkitpy/port/mock_drt.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/port/mock_drt_unittest.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/port/server_process.py: Ditto.
  • Scripts/webkitpy/port/server_process_mock.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/port/test.py: Ditto.
  • Scripts/webkitpy/results/upload_unittest.py: Ditto.
  • Scripts/webkitpy/style/checkers/cpp.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/style/checkers/python.py: Ditto.
  • Scripts/webkitpy/style/patchreader.py: Ditto.
  • Scripts/webkitpy/test/main.py: Replace unicode_compatibility with string_utils, remove unused imports.
  • Scripts/webkitpy/test/main_unittest.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/test/printer.py: Ditto.
  • Scripts/webkitpy/test/runner_unittest.py: Ditto.
  • Scripts/webkitpy/test/skip_unittest.py: Ditto.
  • Scripts/webkitpy/tool/bot/irc_command.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py: Ditto.
  • Scripts/webkitpy/tool/commands/queues.py: Remove unused imports.
  • Scripts/webkitpy/tool/commands/queues_unittest.py: Ditto.
  • Scripts/webkitpy/tool/steps/haslanded.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/w3c/test_converter_unittest.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/w3c/test_exporter.py: Replace unicode_compatibility with string_utils, remove unused

imports.

  • Scripts/webkitpy/w3c/wpt_github.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/w3c/wpt_github_unittest.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/xcode/simulated_device_unittest.py: Replace unicode_compatibility with string_utils.
3:06 PM Changeset in webkit [264948] by Chris Dumez
  • 5 edits in trunk

thisValue is not always set correctly when calling JS callbacks
https://bugs.webkit.org/show_bug.cgi?id=214847

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Import layout test coverage from upstream WPT. We were failing this new subtest
before my fix.

  • web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter-expected.txt:
  • web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html:

Source/WebCore:

thisValue was not always set correctly when calling JS callbacks.

This was causing us to fail the last subtest on:
http://w3c-test.org/dom/traversal/TreeWalker-acceptNode-filter.html

The specification for TreeWalker is here:

Step 6 refers to [call a user object’s operation] in the WebIDL specification:

Step 10.5 says:
"Set thisArg to O (overriding the provided value)."

We were missing this step in our implementation so thisValue ended up being undefined
(as per earlier step 2).

No new tests, resync'd existing test.

  • bindings/js/JSCallbackData.cpp:

(WebCore::JSCallbackData::invokeCallback):

3:02 PM Changeset in webkit [264947] by commit-queue@webkit.org
  • 4 edits in trunk

Text manipulation should not extract non-breaking spaces
https://bugs.webkit.org/show_bug.cgi?id=214839
<rdar://problem/64113531>

Patch by Sihui Liu <sihui_liu@appe.com> on 2020-07-27
Reviewed by Wenson Hsieh.

Source/WebCore:

Spaces are very likely to be dropped during translation. And non-breaking space, if dropped, is likely to affect
layout of web page.

API test: TextManipulation.StartTextManipulationIgnoresSpaces

  • editing/TextManipulationController.cpp:

(WebCore::isNotSpace):
(WebCore::TextManipulationController::parse):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:

(TestWebKitAPI::TEST):

2:59 PM Changeset in webkit [264946] by Jonathan Bedard
  • 2 edits in trunk/Source/WebCore/PAL

[Big Sur] Wrap SPI in feature guards
https://bugs.webkit.org/show_bug.cgi?id=214844
<rdar://problem/66178527>

Reviewed by Darin Adler.

  • pal/spi/mac/NSImageSPI.h:
2:57 PM Changeset in webkit [264945] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit

Occasional crashes under PDFPlugin::createScrollbar and PDFPlugin::updateScrollbars
https://bugs.webkit.org/show_bug.cgi?id=214845
<rdar://problem/59293598>

Reviewed by Brady Eidson.

No new tests; timing is such that I can't reproduce without inserting
intentional delays into the main thread hops, which is further than
I'm willing to go for a test.

This is a speculative fix due to the aforementioned reproducibility issue.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::destroy):
Keep track of when destroy() has been called.

(WebKit::PDFPlugin::receivedNonLinearizedPDFSentinel):
(WebKit::PDFPlugin::threadEntry):
If the PDFPlugin is destroyed (explicit destroy(), not the destructor, which won't run since we're protecting this)
during the window in which the PDF thread is dispatching to the main thread, just ignore
the callback. We don't want to run it, because many of the things we depend on (like PluginView)
are disconnected at this point.

(WebKit::PDFPlugin::scrollbarStyleChanged):
It appears that in some much rarer case, even before the PDF thread existed, WebScrollerImpPairDelegate could
call us back after being destroy()'d but before being deallocated. Use the new bit to guard scrollbarStyleChanged().

2:30 PM Changeset in webkit [264944] by Alan Coon
  • 1 copy in tags/Safari-610.1.23.0.1

Tag Safari-610.1.23.0.1.

1:58 PM Changeset in webkit [264943] by Chris Dumez
  • 6 edits
    2 adds in trunk

ASSERT([filteredCookies.get() count] <= 1) on imported/w3c/web-platform-tests/websockets/cookies/third-party-cookie-accepted.https.html
https://bugs.webkit.org/show_bug.cgi?id=214222
<rdar://problem/65587120>

Reviewed by Alex Christensen.

Source/WebCore:

Per the HTML specification [1], upon setting document.cookie, we should act as we would when receiving a Set-Cookie string [2].
This means that you can only set one cookie at a time (you cannot comma-separate several cookies).

We were behaving correctly on macOS because we were using the [NSHTTPCookie _parsedCookiesWithResponseHeaderFields] SPI that was
made specifically for this purpose. However, we would set multiple cookies (in release), and crash in debug on iOS because iOS
was using a different API to parse the cookies ([NSHTTPCookie cookiesWithResponseHeaderFields:).

Note that [NSHTTPCookie _parsedCookiesWithResponseHeaderFields] was deprecated in CFNetwork, in favor of
[NSHTTPCookie _cookieForSetCookieString:]. As a result, I updated both macOS and iOS to use the same new CFNetwork SPI, which
gives us the standard behavior.

[1] https://html.spec.whatwg.org/#dom-document-cookie
[2] https://tools.ietf.org/html/rfc6265#section-4.1

Test: http/tests/cookies/document-cookie-multiple-cookies.html

  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::parseDOMCookie):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Replace deprecated _parsedCookiesWithResponseHeaderFields with newer _cookieForSetCookieString alternative.

LayoutTests:

  • http/tests/cookies/document-cookie-multiple-cookies-expected.txt: Added.
  • http/tests/cookies/document-cookie-multiple-cookies.html: Added.

Add better layout test coverage.

  • platform/ios-wk2/TestExpectations:

Unskip tests that is no longer crashing on iOS.

1:50 PM WPTExportProcess edited by clopez@igalia.com
(diff)
1:30 PM Changeset in webkit [264942] by ysuzuki@apple.com
  • 2 edits in trunk/Source/WTF

[JSC] Disable BIGINT32 optimization temporarily because of SP2 / JS2 regression
https://bugs.webkit.org/show_bug.cgi?id=214776

Reviewed by Darin Adler.

We disable BIGINT32 optimization because it causes 1% regression in JetStream2 and Speedometer2.
We should enable it after we fix the cause of regression.

  • wtf/PlatformUse.h:
1:25 PM Changeset in webkit [264941] by commit-queue@webkit.org
  • 25 edits
    4 copies in trunk

Added Constructor method to OscillatorNode
https://bugs.webkit.org/show_bug.cgi?id=214746

Patch by Clark Wang <clark_wang@apple.com> on 2020-07-27
Reviewed by Chris Dumez.

Re-baselined existing tests that now pass, or fail further along.

LayoutTests/imported/w3c:

  • web-platform-tests/webaudio/idlharness.https.window-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/processing-model/cycle-without-delay-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/active-processing.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/active-processing.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/ctor-oscillator-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping-expected.txt:

Source/WebCore:

Added ctor to OscillatorNode, added OscillatorOptions, OscillatorType files all according to spec:
https://www.w3.org/TR/webaudio/#OscillatorNode-constructors. Updated createOscillator() method in
BaseAudioContext.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/webaudio/AudioContextOptions.h:
  • Modules/webaudio/BaseAudioContext.cpp:

(WebCore::BaseAudioContext::createOscillator):

  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::create):
(WebCore::OscillatorNode::OscillatorNode):
(WebCore::OscillatorNode::setType):
(WebCore::OscillatorNode::setPeriodicWave):

  • Modules/webaudio/OscillatorNode.h:

(WTF::LogArgument<WebCore::OscillatorType>::toString):
(WTF::LogArgument<WebCore::OscillatorNode::Type>::toString): Deleted.

  • Modules/webaudio/OscillatorNode.idl:
  • Modules/webaudio/OscillatorOptions.h: Copied from Source/WebCore/Modules/webaudio/PeriodicWaveConstraints.h.
  • Modules/webaudio/OscillatorOptions.idl: Copied from Source/WebCore/Modules/webaudio/PeriodicWaveConstraints.h.
  • Modules/webaudio/OscillatorType.h: Copied from Source/WebCore/Modules/webaudio/PeriodicWaveConstraints.h.
  • Modules/webaudio/OscillatorType.idl: Copied from Source/WebCore/Modules/webaudio/PeriodicWaveConstraints.h.
  • Modules/webaudio/PannerOptions.h:
  • Modules/webaudio/PeriodicWave.cpp:
  • Modules/webaudio/PeriodicWaveConstraints.h:
  • Modules/webaudio/PeriodicWaveOptions.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
1:11 PM Changeset in webkit [264940] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Unreviewed, reverting r264926.

Test is failing on macOS Debug WK1 bots

Reverted changeset:

"Test landed flaky: [ iOS ] fast/visual-viewport/scroll-event-
fired-during-scroll-alone.html is a flakey failure"
https://bugs.webkit.org/show_bug.cgi?id=214324
https://trac.webkit.org/changeset/264926

1:06 PM Changeset in webkit [264939] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/PAL

Remove definition of NSImageSymbolScale, which is part of the beta 3 SDK
https://bugs.webkit.org/show_bug.cgi?id=214707

Patch by Saagar Jha <saagar@saagarjha.com> on 2020-07-27
Reviewed by Jonathan Bedard.

  • pal/spi/mac/NSImageSPI.h: Remove NSImageSymbolScale.
1:05 PM Changeset in webkit [264938] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

ews email notification should include bot name and link to results database
https://bugs.webkit.org/show_bug.cgi?id=214841

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(AnalyzeCompileWebKitResults.send_email_for_build_failure):
(ReRunWebKitTests.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure):

11:50 AM Changeset in webkit [264937] by mark.lam@apple.com
  • 7 edits
    2 adds in trunk

DisallowVMEntry needs a copy assignment operator, detected by gcc's -Wdeprecated-copy warning
https://bugs.webkit.org/show_bug.cgi?id=214809

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

According to https://en.cppreference.com/w/cpp/language/copy_assignment,
"The generation of the implicitly-defined copy assignment operator is deprecated
(since C++11) if T has a user-declared destructor or user-declared copy constructor."
DisallowVMEntry has both a user-declared destructor and a user-declared copy
constructor. Hence, it needs to define its own copy assignment operator to placate
the compiler.

This patch also adds back WTF_FORBID_HEAP_ALLOCATION to DisallowVMEntry.
DisallowVMEntry should always have forbid heap allocation. It was accidentally
removed in a prior patch.

  • runtime/DisallowVMEntry.h:

(JSC::DisallowVMEntryImpl::operator=):

Source/WebCore:

Added handling of a possible VMInquiry failure in JSDOMWindow::getOwnPropertySlot()
after returning from Base::getOwnPropertySlot(). If a VMInquiry is requested and
Base::getOwnPropertySlot() returns false with slot.isTaintedByOpaqueObject() set,
then it means that Base::getOwnPropertySlot() failed to execute the VMInquiry,
not that it successfully determined that the property doesn't exist.

This issue was noticed while studying how JSDOMWindow::getOwnPropertySlot() uses
copy assignment of JSC::PropertySlots.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

Tools:

Added test case for JSC's DisallowVMEntry and PropertySlot mainly for the copy
assignment operation used in JSDOMWindow::getOwnPropertySlot().

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/JavaScriptCore/DisallowVMEntry.cpp: Added.

(TestWebKitAPI::enterScope):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/JavaScriptCore/PropertySlot.cpp: Added.

(TestWebKitAPI::TEST):

11:41 AM Changeset in webkit [264936] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/canvas/draw-focus-if-needed-with-path.html is passing and expectations need to be removed
https://bugs.webkit.org/show_bug.cgi?id=214838

Unreviewed test gardening.

Patch by Hector Lopez <Hector Lopez> on 2020-07-27

  • platform/ios/TestExpectations:
11:33 AM Changeset in webkit [264935] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/canvas/canvas-ellipse-zero-lineto.html is passing and expectations need to be removed
https://bugs.webkit.org/show_bug.cgi?id=214836

Unreviewed test gardening.

Patch by Hector Lopez <Hector Lopez> on 2020-07-27

  • platform/ios-simulator/TestExpectations:
11:22 AM Changeset in webkit [264934] by Diego Pino Garcia
  • 6 edits
    1 move in trunk/LayoutTests

[WPE] Update test expectations. Update baselines after r263855.

  • platform/glib/tables/mozilla/bugs/bug222336-expected.txt: Renamed from LayoutTests/platform/gtk/tables/mozilla/bugs/bug222336-expected.txt.
  • platform/wpe/fast/css/acid2-expected.txt:
  • platform/wpe/fast/css/acid2-pixel-expected.txt:
  • platform/wpe/http/tests/misc/acid2-expected.txt:
  • platform/wpe/http/tests/misc/acid2-pixel-expected.txt:
  • platform/wpe/http/tests/misc/acid3-expected.txt:
11:10 AM Changeset in webkit [264933] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/canvas/canvas-blending-global-alpha.html is passing and expectations need to be removed
https://bugs.webkit.org/show_bug.cgi?id=214833

Unreviewed test gardening.

Patch by Hector Lopez <Hector Lopez> on 2020-07-27

  • platform/ios-simulator/TestExpectations:
11:07 AM Changeset in webkit [264932] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION: (r264492) Broke 4 WebRTC tests and 1 webrtc tests
https://bugs.webkit.org/show_bug.cgi?id=214730

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
10:58 AM Changeset in webkit [264931] by dino@apple.com
  • 3 edits
    2 adds in trunk

Repeatable WebContent crash: WebCore::jsWebGLRenderingContextPrototypeFunctionGetError
https://bugs.webkit.org/show_bug.cgi?id=214814
rdar://59290537

Reviewed by Anders Carlsson.

Source/WebCore:

If a WebGL context was killed due to too many contexts
in the page, we would get a null pointer crash if
the page called getError() more than once on it.
This is an edge case not covered by the WebGL conformance
suite since the recyling behaviour is specific to our
implementation.

Test: fast/canvas/webgl/recycle-contexts.html

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getError): Add a null check.

LayoutTests:

  • fast/canvas/webgl/recycle-contexts-expected.html: Added.
  • fast/canvas/webgl/recycle-contexts.html: Added.
10:31 AM Changeset in webkit [264930] by youenn@apple.com
  • 5 edits in trunk

scaleResolutionDownBy has no effect on RTCRtpSender
https://bugs.webkit.org/show_bug.cgi?id=214783
<rdar://problem/66108346>

Reviewed by Eric Carlson.

Source/WebCore:

Covered by updated test.

  • Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:

(WebCore::updateRTCRtpSendParameters):
Allow to change scaleResolutionDownBy.

LayoutTests:

  • webrtc/video-expected.txt:
  • webrtc/video.html:
10:26 AM Changeset in webkit [264929] by Caio Lima
  • 2 edits in trunk/Source/JavaScriptCore

DoesGC failures in debug mode in 32bits
https://bugs.webkit.org/show_bug.cgi?id=214449

Reviewed by Mark Lam.

Adding the DoesGC update code into OSRExit::compileExit for 32-bits.

  • dfg/DFGOSRExit.cpp:

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

10:03 AM Changeset in webkit [264928] by Megan Gardner
  • 4 edits in trunk/Source

Trying to lookup when WebView is in a popover causes process to hang.
https://bugs.webkit.org/show_bug.cgi?id=214773
<rdar://problem/52317762>

Reviewed by Devin Rousso.

Source/WebCore/PAL:

  • pal/spi/mac/NSWindowSPI.h:

Source/WebKit:

The Lookup framework does not populate the menus that it vends with the option to 'lookup'
words that are selected in popovers. WebKit should follow the pattern and not put the
item in the menu as Lookup is not able to handle this situation. Also if Lookup is disabled
via defaults, we should not show it in the menu.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):

9:57 AM Changeset in webkit [264927] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[ iOS ] css3/font-variant-small-caps-synthesis-coverage.html is passing and needs expectations removed
https://bugs.webkit.org/show_bug.cgi?id=214831

Unreviewed test gardening.

Patch by Hector Lopez <Hector Lopez> on 2020-07-27

  • platform/ios-simulator/TestExpectations:
  • platform/ios-wk1/TestExpectations:
9:35 AM Changeset in webkit [264926] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

Test landed flaky: [ iOS ] fast/visual-viewport/scroll-event-fired-during-scroll-alone.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=214324
<rdar://problem/65566127>

Reviewed by Simon Fraser.

Use UIHelper.ensureStablePresentationUpdate() to determine that scroll has completed after the call to window.scrollTo().

  • fast/visual-viewport/scroll-event-fired-during-scroll-alone.html:
  • platform/ios-simulator-wk2/TestExpectations:
9:00 AM Changeset in webkit [264925] by Kate Cheney
  • 9 edits
    8 deletes in trunk/Source/WebKit

Remove API::Object::Type::RenderLayer and API::Object::Type::RenderObject
https://bugs.webkit.org/show_bug.cgi?id=214772
<rdar://problem/52734803>

Reviewed by Simon Fraser.

These APIs are no longer used, so we should remove them.

  • Shared/API/APIObject.h:
  • Shared/API/c/WKBase.h:
  • Shared/API/c/WKRenderLayer.cpp: Removed.
  • Shared/API/c/WKRenderLayer.h: Removed.
  • Shared/API/c/WKRenderObject.cpp: Removed.
  • Shared/API/c/WKRenderObject.h: Removed.
  • Shared/UserData.cpp:

(WebKit::UserData::encode):
(WebKit::UserData::decode):

  • Shared/WebRenderLayer.cpp: Removed.
  • Shared/WebRenderLayer.h: Removed.
  • Shared/WebRenderObject.cpp: Removed.
  • Shared/WebRenderObject.h: Removed.
  • Sources.txt:
  • UIProcess/API/C/WKAPICast.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageCopyRenderTree): Deleted.
(WKBundlePageCopyRenderLayerTree): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
8:58 AM Changeset in webkit [264924] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[ iOS ] compositing/contents-scale/non-decomposable-matrix.html is passing and needs expectations removed
https://bugs.webkit.org/show_bug.cgi?id=214829

Unreviewed test gardening.

Patch by Hector Lopez <Hector Lopez> on 2020-07-27

  • platform/ios-device/TestExpectations:
  • platform/ios/TestExpectations:
8:44 AM Changeset in webkit [264923] by berto@igalia.com
  • 2 edits in trunk

[GTK] Default to OpenGL ES in arm
https://bugs.webkit.org/show_bug.cgi?id=214828

Reviewed by Carlos Garcia Campos.

  • Source/cmake/OptionsGTK.cmake:
8:09 AM Changeset in webkit [264922] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Check m_connection in NetworkRTCProvider::createResolver/stopResolver
https://bugs.webkit.org/show_bug.cgi?id=214818

Reviewed by Eric Carlson.

We need to check for m_connection when hopping to main thread as the NetworkRTCProvider might already be closed.

  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::createResolver):
(WebKit::NetworkRTCProvider::stopResolver):

8:09 AM Changeset in webkit [264921] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK build with GLib < 2.62

Do not use g_date_time_format_iso8601(), use g_date_time_format() instead with a format string.

  • MiniBrowser/gtk/main.c:

(gotITPSummaryCallback):

8:05 AM Changeset in webkit [264920] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebKit

[GTK] GeoclueGeolocationProvider uses very low accuracy setting (city) as default geolocation API
https://bugs.webkit.org/show_bug.cgi?id=214566

Reviewed by Carlos Garcia Campos.

No new tests needed.

  • UIProcess/geoclue/GeoclueGeolocationProvider.cpp:

(WebKit::GeoclueGeolocationProvider::requestAccuracyLevel): Use
GeoclueAccuracySteetLevel when high accuracy was not requested.

6:16 AM Changeset in webkit [264919] by Karl Rackler
  • 3 edits in trunk/LayoutTests

[ iOS Mac debug wk2 ] js/throw-large-string-oom.html is a constant timeout
https://bugs.webkit.org/show_bug.cgi?id=214824

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
5:07 AM Changeset in webkit [264918] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS debug wk2 ] imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-events.html is a consistant crash.
https://bugs.webkit.org/show_bug.cgi?id=214661

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
3:48 AM Changeset in webkit [264917] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r263455 - Style resolution sometimes fails to create all style resolvers for shadow trees.
https://bugs.webkit.org/show_bug.cgi?id=212946
<rdar://problem/60916215>>

Reviewed by Anders Carlsson.

This can cause problems later.

  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::Scope::Scope):

Ensure all style resolvers are constructed before traversing.

3:48 AM Changeset in webkit [264916] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.28

Merge r263141 - Make ReadableStream robust against user code
https://bugs.webkit.org/show_bug.cgi?id=212915
<rdar://problem/64133221>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

We now get pull/cancel only once from the source.

  • web-platform-tests/streams/readable-streams/bad-underlying-sources-expected.txt:
  • web-platform-tests/streams/readable-streams/bad-underlying-sources.dedicatedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/bad-underlying-sources.serviceworker.https-expected.txt:

Source/WebCore:

Create tee source with private slots instead of public ones.
When source has one of this private slot, we directly go to the creation of a ReadableStream.
Covered by existing tests.

  • Modules/streams/ReadableStream.js:

(initializeReadableStream):

  • Modules/streams/ReadableStreamInternals.js:

(setupReadableStreamDefaultController):
(readableStreamTee):
(readableStreamDefaultControllerCallPullIfNeeded):
(readableStreamDefaultControllerCancel):

  • Modules/streams/StreamInternals.js:

(promiseInvokeOrNoopMethodNoCatch):
(promiseInvokeOrNoopNoCatch):
(promiseInvokeOrNoopMethod):
(promiseInvokeOrNoop):

  • bindings/js/WebCoreBuiltinNames.h:
3:48 AM Changeset in webkit [264915] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r262739 - Use usual promise in readableStreamTee
https://bugs.webkit.org/show_bug.cgi?id=212715

Reviewed by Mark Lam.

The spec[1] is organized to be OK to use usual promises here. This patch uses usual promises instead of internal ones.

[1]: https://streams.spec.whatwg.org/#readable-stream-tee

  • Modules/streams/ReadableStreamInternals.js:

(readableStreamTee):

3:48 AM Changeset in webkit [264914] by Carlos Garcia Campos
  • 6 edits
    1 copy
    1 add in releases/WebKitGTK/webkit-2.28

Merge r262870 - Improve CSP compliance under PSON
https://bugs.webkit.org/show_bug.cgi?id=212995
<rdar://problem/62996186>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Rebaseline an existing test, since CSP is now checked before any navigations performed by a form action.

  • web-platform-tests/content-security-policy/form-action/form-action-src-blocked.sub-expected.txt:

Source/WebCore:

Tests: http/tests/security/contentSecurityPolicy/1.1/form-action-src-self-blocked.html

The form submission logic was only considering CSP if the form
action was a JavaScript URL. This is incorrect, as CSP might
apply to any URL.

This is also covered by the existing form-action CSP tests.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::submitForm): All URLs should be evaluted for
compliance with CSP.

LayoutTests:

Add a new test to confirm that CSP rules are honored for form-action operations during process swap.
This also rebaselines an existing test, since CSP is now checked before any navigations performed by
a form action.

  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked-expected.txt: Rebaselined.
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-self-blocked-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked-expected.txt.
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-self-blocked.html: Added.
3:48 AM Changeset in webkit [264913] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r262594 - HTMLAppletElement::updateWidget should check for renderer after the overlapping test.
https://bugs.webkit.org/show_bug.cgi?id=212789
<rdar://problem/61854614>

Reviewed by Simon Fraser.

createJavaAppletWidget needs to check if the plugin(replacement) is obscured.
Since the overlapping test requires up-to-date geometry, it initiates a top level style recalc/layout.
We need to check if the apple element still has a renderer after the style recalc.

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::updateWidget):

3:48 AM Changeset in webkit [264912] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.28

Merge r261217 - Fix animation ordering to make imported/w3c/web-platform-tests/css/css-animations/Element-getAnimations.tentative.html pass
https://bugs.webkit.org/show_bug.cgi?id=211468
<rdar://problem/62732578>

Reviewed by David Kilzer.

LayoutTests/imported/w3c:

Mark the final two failures in imported/w3c/web-platform-tests/css/css-animations/Element-getAnimations.tentative.html as PASS.

  • web-platform-tests/css/css-animations/Element-getAnimations.tentative-expected.txt:

Source/WebCore:

The "Animation composite order" section of the CSS Animations Level 2 specification (https://drafts.csswg.org/css-animations-2/#animation-composite-order)
defines the relative composite order of animations. We bake this into compareAnimationsByCompositeOrder(), but this function would not yield consistent
results if it is called in a non-stable sort, because if both CSSAnimation objects passed to this function have the same backing Animation object, they
would not return the same value if passed in a different order. The Web Animations spec always ensures that procedures that sort using the composite
order are called as part of a stable sort. So we change all call sites to use std::stable_sort and add an assertion in case we have two CSSAnimation
objects with the same backing Animation objects to catch cases like this in the future.

Finally, since we already know only relevant animations can find their way into the output of Document::getAnimations(), we also ensure we iterate over
m_animations (which holds only relevant animations) rather than m_allAnimations (which may not).

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::getAnimations const):

  • animation/KeyframeEffectStack.cpp:

(WebCore::KeyframeEffectStack::ensureEffectsAreSorted):

  • animation/WebAnimationUtilities.cpp:

(WebCore::compareAnimationsByCompositeOrder):

3:47 AM Changeset in webkit [264911] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.28

Merge r259141 - Web Inspector: should also escape the method when Copy as cURL
https://bugs.webkit.org/show_bug.cgi?id=209665
<rdar://problem/58432154>

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.generateCURLCommand):
(WI.Resource.prototype.generateCURLCommand.escapeStringPosix):
The method could be maliciously crafted, so we should also escape it (if needed).

LayoutTests:

  • http/tests/inspector/network/copy-as-curl.html:
1:35 AM Changeset in webkit [264910] by Carlos Garcia Campos
  • 13 edits in trunk

[WPE][GTK] Add API to support "Privacy Report"
https://bugs.webkit.org/show_bug.cgi?id=213493

Reviewed by Adrian Perez de Castro.

Source/WebKit:

Add WebKitITPFirstParty and WebKitITPThirdParty boxed types to expose the data returned by the ITP summary.

  • UIProcess/API/glib/WebKitWebsiteDataManager.cpp:

(_WebKitITPFirstParty::_WebKitITPFirstParty):
(webkitITPFirstPartyCreate):
(webkit_itp_first_party_ref):
(webkit_itp_first_party_unref):
(webkit_itp_first_party_get_domain):
(webkit_itp_first_party_get_website_data_access_allowed):
(webkit_itp_first_party_get_last_update_time):
(_WebKitITPThirdParty::_WebKitITPThirdParty):
(_WebKitITPThirdParty::~_WebKitITPThirdParty):
(webkitITPThirdPartyCreate):
(webkit_itp_third_party_ref):
(webkit_itp_third_party_unref):
(webkit_itp_third_party_get_domain):
(webkit_itp_third_party_get_first_parties):
(webkit_website_data_manager_get_itp_summary):
(webkit_website_data_manager_get_itp_summary_finish):

  • UIProcess/API/gtk/WebKitAutocleanups.h:
  • UIProcess/API/gtk/WebKitWebsiteDataManager.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/wpe/WebKitAutocleanups.h:
  • UIProcess/API/wpe/WebKitWebsiteDataManager.h:
  • UIProcess/API/wpe/docs/wpe-1.0-sections.txt:

Source/WTF:

Add support for using GRefPtr with GDateTime.

  • wtf/glib/GRefPtr.cpp:

(WTF::refGPtr):
(WTF::derefGPtr):

  • wtf/glib/GRefPtr.h:

Tools:

Add about:itp to show the ITP summary.

  • MiniBrowser/gtk/main.c:

(aboutITPRequestNew):
(aboutITPRequestFree):
(gotITPSummaryCallback):
(aboutITPHandleRequest):
(aboutURISchemeRequestCallback):

12:49 AM Changeset in webkit [264909] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Fix null pointer crash in NetworkRTCProvider::createServerTCPSocket
https://bugs.webkit.org/show_bug.cgi?id=214796

Reviewed by Darin Adler.

In case of creating a TCP socket, NetworkRTCProvider will hop to the main thread before creating the socket.
In that case, NetworkRTCProvider may actually be closed between the time of receiving the message and hoping to the main thread.
Protect from this by adding nullptr checks.

  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::createServerTCPSocket):
(WebKit::NetworkRTCProvider::createClientTCPSocket):

Jul 26, 2020:

7:03 PM Changeset in webkit [264908] by Simon Fraser
  • 14 edits
    3 copies
    11 adds in trunk

Scroll Snap broken when using RTL layout
https://bugs.webkit.org/show_bug.cgi?id=193671
<rdar://problem/47457471>

Reviewed by Wenson Hsieh.

Source/WebCore:

There were various places in the scroll snapping code which confused scroll offsets (zero-based)
with scroll positions (relative to scroll origin, can be negative). This broke snapping in
direction: rtl content.

The computation of snap locations in updateSnapOffsetsForScrollableArea() was also broken
in RTL; we need to snap the right edge of boxes to the right edge of the scroller for the 'start'
alignment. (Snapping for LTR boxes in an RTL scroller is poorly defined; for now, follow Gecko.)

Tests: css3/scroll-snap/scroll-snap-2d-change-axis-type-rtl.html

css3/scroll-snap/scroll-snap-2d-offsets-computed-independently.rtl.html
css3/scroll-snap/scroll-snap-elements-container-larger-than-children-rtl.html
css3/scroll-snap/scroll-snap-iframe-rtl.html
css3/scroll-snap/scroll-snap-offsets-mixed-rtl.html
css3/scroll-snap/scroll-snap-offsets-rtl.html

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::computeScrollSnapAlignOffset):
(WebCore::updateSnapOffsetsForScrollableArea):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::scrollOffset const):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::updateActiveScrollSnapIndexForOffset):
(WebCore::ScrollAnimator::scrollOffset const):

  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::updateScrollSnapPoints):

Source/WebKit:

There were various places in the scroll snapping code which confused scroll offsets (zero-based)
with scroll positions (relative to scroll origin, can be negative). This broke snapping in
direction: rtl content.

The computation of snap locations in updateSnapOffsetsForScrollableArea() was also broken
in RTL; we need to snap the right edge of boxes to the right edge of the scroller for the 'start'
alignment. (Snapping for LTR boxes in an RTL scroller is poorly defined; for now, follow Gecko.)

  • Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::dump):

  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _updateVisibleContentRects]):

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::shouldSnapForMainFrameScrolling const):
(WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling const):
(WebKit::RemoteScrollingCoordinatorProxy::hasActiveSnapPoint const):
(WebKit::RemoteScrollingCoordinatorProxy::nearestActiveContentInsetAdjustedSnapOffset const):
(WebKit::RemoteScrollingCoordinatorProxy::nearestActiveContentInsetAdjustedSnapPoint const): Deleted.

LayoutTests:

  • css3/scroll-snap/resources/iframe-content-rtl.html: Added.
  • css3/scroll-snap/scroll-snap-2d-change-axis-type-rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-2d-change-axis-type-rtl.html: Copied from LayoutTests/css3/scroll-snap/scroll-snap-2d-change-axis-type.html.
  • css3/scroll-snap/scroll-snap-2d-change-axis-type.html:
  • css3/scroll-snap/scroll-snap-2d-offsets-computed-independently.html:
  • css3/scroll-snap/scroll-snap-2d-offsets-computed-independently.rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-2d-offsets-computed-independently.rtl.html: Copied from LayoutTests/css3/scroll-snap/scroll-snap-2d-offsets-computed-independently.html.
  • css3/scroll-snap/scroll-snap-elements-container-larger-than-children-rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-elements-container-larger-than-children-rtl.html: Copied from LayoutTests/css3/scroll-snap/scroll-snap-elements-container-larger-than-children.html.
  • css3/scroll-snap/scroll-snap-elements-container-larger-than-children.html:
  • css3/scroll-snap/scroll-snap-iframe-rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-iframe-rtl.html: Added.
  • css3/scroll-snap/scroll-snap-offsets-mixed-rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-offsets-mixed-rtl.html: Added.
  • css3/scroll-snap/scroll-snap-offsets-rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-offsets-rtl.html: Added.
  • fast/scrolling/home-end-keys-scroll-in-rtl-document-expected.txt: Added.
12:25 PM Changeset in webkit [264907] by Wenson Hsieh
  • 20 edits in trunk

REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>

Reviewed by Darin Adler.

Source/WebCore/PAL:

Remove logging added in r264882, r264890, r264892, and r264896.

  • pal/spi/ios/GraphicsServicesSPI.h:

Source/WebKit:

Remove logging added in r264882, r264890, r264892, and r264896.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _singleTapIdentified:]):
(-[WKContentView _singleTapRecognized:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::commitPotentialTap):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):

Tools:

Attempt another speculative fix for this flaky test, motivated by logging introduced in r264896. This recently
introduced telemetry would suggest that this test fails when the act of handling a synthetic modifier keydown
fails to update GSKeyboardRef's live modifier flags if the keyboard layout changes mid-event, forcing the
existing GSKeyboardRef to be destroyed and rebuilt.

In this case, the keyboard layout changes from "Hebrew" to "US" when this test fails. There is only one (sane)
explanation for this, which is that one of the editing/input/ios/rtl-keyboard-input-*.html tests switch to an
RTL keyboard ("he_IL" in both cases) by swizzling out -currentInputMode and -currentInputModeInPreference on
UIKeyboardInputModeController. While the swizzling is torn down in between test runs via logic in
TestController::platformResetStateToConsistentValues, it's possible that this change hasn't propagated to
the UIKit or GraphicsServices layers -- in other words, UIApplication's GSKeyboardRef remains stuck in the
Hebrew layout until the next time -GSKeyboardForHWLayout:forceRebuild:createIfNeeded: forces the keyboard to
be rebuilt, which (in this case) seems to happen while running shift-click-includes-existing-selection.html.

For reasons that are still unclear, this lazy regeneration of the GSKeyboardRef causes GraphicsServices' live
modifier state to not update when handling a shift key down HID event. However, we might be able to fix this by
forcing UIKit to sync the default (unswizzled) keyboard layout back to its GSKeyboardRef immediately when we
stop swizzling UIKeyboardInputModeController after running a test that attempts to simulate changing keyboard
input modes.

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetStateToConsistentValues):

Call -prepareKeyboardInputModeFromPreferences: to force the UIApp to update its hardware keyboard state (i.e.
GSKeyboardRef).

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):

Also, restore this method to how it was prior to r264890, as it doesn't seem like waiting for the HID marker
event after synthesizing a keydown had any effect.

  • WebKitTestRunner/ios/mainIOS.mm:

(-[WebKitTestRunnerApp handleKeyHIDEvent:]): Deleted.

WebKitLibraries:

Remove logging added in r264882, r264890, r264892, and r264896.

  • WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd:

LayoutTests:

Remove the failing test expectation.

  • platform/ios-simulator-wk2/TestExpectations:
12:22 PM Changeset in webkit [264906] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

-Wunused-parameter in FilterEffectRenderer.cpp
https://bugs.webkit.org/show_bug.cgi?id=214808

Unreviewed.

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-07-26

  • platform/graphics/filters/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::tryCreate):

12:12 PM Changeset in webkit [264905] by Darin Adler
  • 23 edits
    1 add
    2 deletes in trunk

Stop using live ranges in SpellChecker.h and TextCheckingHelper.h
https://bugs.webkit.org/show_bug.cgi?id=214648

Reviewed by Sam Weinig.

Source/WebCore:

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

Removed unneeded include of TextCheckingHelper.h.

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::removeMarkers): Updated for change
to the argument type name.
(WebCore::DocumentMarkerController::filterMarkers): Ditto.
(WebCore::addMarker): Added. Convenience so call doesn't have to get
the document to call this.
(WebCore::removeMarkers): Ditto.

  • dom/DocumentMarkerController.h: Moved RemovePartiallyOverlappingMarker

out of the DocumentMarkerController class, tweaked its name and changed
it into an enum class. Added conveniences functions for add/removeMarker.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
Use convenience versions of removeMarkers and addMarker.
(WebCore::AlternativeTextController::handleAlternativeTextUIResult): Ditto.
(WebCore::AlternativeTextController::respondToUnappliedEditing): Ditto.
(WebCore::AlternativeTextController::markReversed): Ditto.
(WebCore::AlternativeTextController::markCorrection): Ditto.
(WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection): Ditto.
(WebCore::AlternativeTextController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand): Ditto.
(WebCore::AlternativeTextController::applyAlternativeTextToRange): Ditto.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers): Ditto.

  • editing/Editor.cpp:

(WebCore::Editor::ignoreSpelling): Ditto.
(WebCore::Editor::learnSpelling): Ditto.
(WebCore::Editor::advanceToNextMisspelling): Rewrote to not use a live
range and for the changes to the TextCheckingHelper.
(WebCore::Editor::isSelectionUngrammatical): Deleted.
(WebCore::Editor::guessesForMisspelledOrUngrammatical): Changed to use a
return value instead of out arguments.
(WebCore::Editor::clearMisspellingsAndBadGrammar): Use convenience
versions of removeMarkers.
(WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
(WebCore::Editor::markMisspellingsOrBadGrammar): Updated for change to
TextCheckingHelper.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Do not use
live ranges.
(WebCore::correctSpellcheckingPreservingTextCheckingParagraph): Take a
range that isn't a live range.
(WebCore::Editor::markAndReplaceFor): Tweak for changes to text checking
and to use convenience version of addMarker.
(WebCore::Editor::changeBackToReplacedString): Use convenience versions of
removeMarkers and addMarker.
(WebCore::Editor::updateMarkersForWordsAffectedByEditing): Ditto.
(WebCore::Editor::countMatchesForText): Ditto.
(WebCore::Editor::scanSelectionForTelephoneNumbers): Ditto.
(WebCore::Editor::editorUIUpdateTimerFired): Ditto.
(WebCore::Editor::handleAcceptedCandidate): Ditto.

  • editing/Editor.h: Update for the above.
  • editing/SpellChecker.cpp:

(WebCore::SpellCheckRequest::SpellCheckRequest): No longer take live ranges.
(WebCore::SpellCheckRequest::create): Ditto.
(WebCore::SpellChecker::canCheckAsynchronously const): Ditto.
(WebCore::SpellChecker::isCheckable const): Ditto.
(WebCore::SpellChecker::didCheckSucceed): Use convenience versions of
removeMarkers.

  • editing/SpellChecker.h: Remove the use of live ranges. Removed many

unneeded includes and forward declarations.

  • editing/TextCheckingHelper.cpp:

(WebCore::expandToParagraphBoundary): Take and return non-live ranges.
(WebCore::TextCheckingParagraph::TextCheckingParagraph): Ditto.
(WebCore::TextCheckingParagraph::expandRangeToNextEnd): Updated to use
non-live ranges.
(WebCore::TextCheckingParagraph::invalidateParagraphRangeValues): Ditto.
(WebCore::TextCheckingParagraph::paragraphRange const): Ditto.
(WebCore::TextCheckingParagraph::subrange const): Ditto.
(WebCore::TextCheckingParagraph::offsetTo const): Ditto.
(WebCore::TextCheckingParagraph::offsetAsRange const): Ditto.
(WebCore::TextCheckingParagraph::automaticReplacementStart const): Ditto.
(WebCore::TextCheckingParagraph::automaticReplacementLength const): Ditto.
(WebCore::TextCheckingHelper::~TextCheckingHelper): Deleted.
(WebCore::TextCheckingHelper::findMispelledWords const): Renamed from
findFirstMispelling, and made this private function since it has confusing
argument and return types. Reimplemented to use non-live ranges and to use
return values and the addMarker convenience function. Also changed this to
not mark when called just to find the first mispelled word. The old version
always marked, which didn't make logical sense, but was harmless because
the caller always marked the same way. Now this does what it says.
(WebCore::TextCheckingHelper::findFirstMisspelledWord const): Added.
Replaces findFirstMispelling as a public function, and returns a structure
instead of using out arguments.
(WebCore::TextCheckingHelper::findFirstMisspelledWordOrUngrammaticalPhrase const):
Renamed from findFirstMisspellingOrBadGrammar and changed to return a structure
instead of using out arguments.
(WebCore::TextCheckingHelper::findUngrammaticalPhrases const): Renamed from
findFirstGrammarDetail and findFirstBadGrammar. Both functions are now private
and use the new Operation enum class to distinguish the "find first" from
"mark all" usage. Also use the convience version of addMarker and return results
in a structure instead of using out arguments.
(WebCore::TextCheckingHelper::findFirstUngrammaticalPhrase const): Added.
Replaces findFirstBadGrammar as a public function, returns a structure
instead of using out arguments.
(WebCore::TextCheckingHelper::guessesForMisspelledWordOrUngrammaticalPhrase const):
Renamed from guessesForMisspelledOrUngrammaticalRange and changed to return
a structure instead of out arguments.
(WebCore::TextCheckingHelper::markAllMisspelledWords const): Renamed from
markAllMisspellings and changed to use a return value instead of an out argument.
(WebCore::TextCheckingHelper::markAllUngrammaticalPhrases const): Renamed
from markAllBadGrammar.

  • editing/TextCheckingHelper.h: Removed unneed include of "EditorClient.h".

Use non-live ranges. Updated for the other changes above.

  • editing/ios/DictationCommandIOS.cpp:

(WebCore::DictationCommandIOS::doApply): Use the convenience version of addMarker.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::setDictationPhrasesAsChildOfElement): Ditto.

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::populate): Updated for the change to
Editor::guessesForMisspelledOrUngrammatical.

  • platform/text/TextChecking.h: Added a TextCheckingGuesses structure here

used both by Editor and TextCheckingHelper.

Source/WebKit:

  • WebProcess/WebCoreSupport/WebEditorClient.cpp: Added an include

of Range.h, no longer pulled in indirectly by another header.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::requestCheckingOfString): Pass the specific types of
results we expect, rather than NSTextCheckingAllSystemTypes.

LayoutTests:

  • editing/spelling/design-mode-spellcheck-off-expected.txt: Updated to use the misspelling

"tyop" instead of "asdf", otherwise spell checking thinks the text is in Romanian,
rather than misspelled US English.

  • editing/spelling/design-mode-spellcheck-off.html: Ditto.
  • platform/mac/editing/pasteboard/drop-text-without-selection-expected.html: Added.

Changed this test into a reference test.

  • platform/mac/editing/pasteboard/drop-text-without-selection-expected.png: Removed.
  • platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt: Removed.
12:10 PM Changeset in webkit [264904] by commit-queue@webkit.org
  • 7 edits in trunk/Source/ThirdParty/libwebrtc

libwebrtc uint64_t build fixes
https://bugs.webkit.org/show_bug.cgi?id=214806

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-07-26
Reviewed by Darin Adler.

WebKitGTK currently fails to build with -DENABLE_EXPERIMENTAL_FEATURES=ON because a bunch of
libwebrtc headers use integer typedefs without declaring them:

  • Source/webrtc/call/rtx_receive_stream.h:
  • Source/webrtc/common_video/h264/pps_parser.h:
  • Source/webrtc/common_video/h264/sps_parser.h:
  • Source/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:
  • Source/webrtc/modules/include/module_common_types_public.h:
  • Source/webrtc/modules/video_coding/decoding_state.h:
12:08 PM Changeset in webkit [264903] by Diego Pino Garcia
  • 2 edits in trunk/Tools

[WPE] Unreviewed test gardening. Update API test expectations.

  • TestWebKitAPI/glib/TestExpectations.json:
11:24 AM Changeset in webkit [264902] by Diego Pino Garcia
  • 12 edits
    1 copy
    1 move
    2 adds
    1 delete in trunk/LayoutTests

[WPE] Unreviewed test gardening. Update test expectations and baselines after r264899.

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt.
  • platform/glib/mathml/opentype/opentype-stretchy-expected.txt: Renamed from LayoutTests/platform/gtk/mathml/opentype/opentype-stretchy-expected.txt.
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
  • platform/wpe/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/wpe/fast/table/cell-absolute-child-expected.txt:
  • platform/wpe/fast/table/empty-cells-expected.txt:
  • platform/wpe/fast/table/prepend-in-anonymous-table-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug10633-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1302-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug16012-expected.txt:
10:38 AM Changeset in webkit [264901] by youenn@apple.com
  • 6 edits in trunk

Update capture MediaStreamTrack frameRate and aspectRatio capabilities
https://bugs.webkit.org/show_bug.cgi?id=214741

Reviewed by Eric Carlson.

Source/WebCore:

We support frame decimation to decrease the frame rate.
This allows to get a frame rate down to 1.
We support resizing up to max width/height resolution.
This allows very wide aspect ratios.
Covered by updated tests.

  • platform/mediastream/RealtimeVideoCaptureSource.cpp:

(WebCore::RealtimeVideoCaptureSource::updateCapabilities):

LayoutTests:

  • fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt:
  • fast/mediastream/apply-constraints-video-expected.txt:
  • fast/mediastream/apply-constraints-video.html:
10:20 AM Changeset in webkit [264900] by Diego Pino Garcia
  • 2 edits in trunk/Tools

[GTK] Unreviewed test gardening. Update API tests expectations.

  • TestWebKitAPI/glib/TestExpectations.json:
8:35 AM Changeset in webkit [264899] by Wenson Hsieh
  • 4 edits in trunk

Unreviewed, partially revert r264896.
https://bugs.webkit.org/show_bug.cgi?id=214688

This logging is no longer needed.

Source/WebKit:

  • Platform/spi/ios/UIKitSPI.h:

Tools:

  • WebKitTestRunner/ios/mainIOS.mm:

(-[WebKitTestRunnerApp GSKeyboardForHWLayout:forceRebuild:createIfNeeded:]): Deleted.

7:08 AM Changeset in webkit [264898] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Garden flaky failures after r264897.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
5:03 AM Changeset in webkit [264897] by Diego Pino Garcia
  • 1 edit
    2 adds in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Added baseline for WebGL test after r264845.

  • platform/glib/webgl/1.0.3/conformance/renderbuffers/framebuffer-object-attachment-expected.txt: Added.
1:17 AM Changeset in webkit [264896] by Wenson Hsieh
  • 13 edits in trunk

Unreviewed, add even more logging to try and diagnose a flaky test
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>

Source/WebCore/PAL:

Add more GraphicsServices SPI declarations.

  • pal/spi/ios/GraphicsServicesSPI.h:

Source/WebKit:

Add another IPI declaration on UIApplication.

  • Platform/spi/ios/UIKitSPI.h:

Tools:

Evidence so far suggests that this test fails when the process of dispatching a keydown event for a modifier
(in this case, the shift key) causes the UIApplication's hardware keyboard (GSKeyboardRef) to be regenerated.
This may happen in one of two ways: either a rebuild is forced by logic in -[UIApplication handleKeyHIDEvent:],
or forceRebuild is NO, but the keyboard is rebuilt anyways due to a mismatched layout and/or keyboard type.

  • WebKitTestRunner/ios/mainIOS.mm:

(-[WebKitTestRunnerApp GSKeyboardForHWLayout:forceRebuild:createIfNeeded:]):
(-[WebKitTestRunnerApp handleKeyHIDEvent:]):

WebKitLibraries:

Add symbol stubs for non-internal builds.

  • WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd:
Note: See TracTimeline for information about the timeline view.