Timeline
Mar 3, 2021:
- 11:22 PM Changeset in webkit [273875] by
-
- 6 edits in trunk
WKRemoteObjectCoder should be able to handle NSErrors from TLS failures
https://bugs.webkit.org/show_bug.cgi?id=222401
Source/WebKit:
<rdar://problem/72103865>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-03-03
Reviewed by Chris Dumez.
NSErrors from TLS failures contain values like a SecTrustRef or a SecCertificateRef,
which are not ObjC objects, and they don't like it when you call encodeWithCoder: on them.
Until r273141 it would crash when we do, but even after that we just decode a nil NSError.
Add a special case like we did in encodeNSError to successfully encode and decode these errors.
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(decodeObjCObject):
(transformCertificatesToData):
(transformTrustToData):
(encodeError):
(transformDataToCertificates):
(transformDataToTrust):
(decodeError):
(encodeObject):
(decodeObject):
Tools:
Patch by Alex Christensen <achristensen@webkit.org> on 2021-03-03
Reviewed by Chris Dumez.
- TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
- TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm:
(-[RemoteObjectRegistryPlugIn sendError:completionHandler:]):
- 10:13 PM Changeset in webkit [273874] by
-
- 7 edits1 copy4 adds1 delete in trunk/JSTests
[JSC] Update test262
https://bugs.webkit.org/show_bug.cgi?id=222710
Reviewed by Ross Kirsling.
Update test262. New failure is due to the spec change, tracked in https://bugs.webkit.org/show_bug.cgi?id=222526.
- test262/expectations.yaml:
- test262/latest-changes-summary.txt:
- test262/test/built-ins/Array/prototype/sort/call-with-primitive.js: Added.
- test262/test/built-ins/Function/internals/Call/class-ctor-realm.js:
- test262/test/language/expressions/object/dstr/object-rest-proxy-get-not-called-on-dontenum-keys.js: Added.
(getOwnPropertyDescriptor):
(ownKeys):
- test262/test/language/expressions/object/dstr/object-rest-proxy-gopd-not-called-on-excluded-keys.js: Added.
(getOwnPropertyDescriptor):
(ownKeys):
- test262/test/language/expressions/object/object-spread-proxy-get-not-called-on-dontenum-keys.js: Added.
(getOwnPropertyDescriptor):
(ownKeys):
- test262/test/language/expressions/object/object-spread-proxy-no-excluded-keys.js: Copied from JSTests/test262/test/language/expressions/object/object-spread-proxy-ownkeys-returned-keys-order.js.
(getOwnPropertyDescriptor):
(ownKeys):
- test262/test/language/expressions/object/object-spread-proxy-ownkeys-returned-keys-order.js:
- test262/test/language/statements/class/constructor-inferred-observable-iteration.js: Removed.
- test262/test/language/statements/class/subclass/default-constructor-spread-override.js:
(Array.prototype.Symbol.iterator):
(Base):
- test262/test262-Revision.txt:
- 9:59 PM Changeset in webkit [273873] by
-
- 4 edits2 moves2 deletes in trunk/Source/WebCore
Remove RemoteCommandListenerIOS in favor of a common RemoteCommandListenerCocoa
https://bugs.webkit.org/show_bug.cgi?id=222342
rdar://problem/74773837
Patch by Jean-Yves Avenard <Jean-Yves Avenard> on 2021-03-03
Reviewed by Eric Carlson.
There is no change in behavior with this commit.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/RemoteCommandListener.cpp:
(WebCore::RemoteCommandListener::resetCreationFunction):
- platform/cocoa/RemoteCommandListenerCocoa.h: Renamed from Source/WebCore/platform/mac/RemoteCommandListenerMac.h.
- platform/cocoa/RemoteCommandListenerCocoa.mm: Renamed from Source/WebCore/platform/mac/RemoteCommandListenerMac.mm.
(WebCore::RemoteCommandListenerCocoa::create):
(WebCore::RemoteCommandListenerCocoa::defaultCommands):
(WebCore::RemoteCommandListenerCocoa::updateSupportedCommands):
(WebCore::RemoteCommandListenerCocoa::RemoteCommandListenerCocoa):
(WebCore::RemoteCommandListenerCocoa::~RemoteCommandListenerCocoa):
- platform/ios/RemoteCommandListenerIOS.h: Removed.
- platform/ios/RemoteCommandListenerIOS.mm: Removed.
- 9:00 PM Changeset in webkit [273872] by
-
- 9 edits in trunk/Source
Limit HashTable entry size to 500 bytes
https://bugs.webkit.org/show_bug.cgi?id=222658
Patch by Alex Christensen <achristensen@webkit.org> on 2021-03-03
Reviewed by Yusuke Suzuki.
Source/WebCore:
Moving large structures inside HashTables is slower than just moving a pointer.
There is a point at which it becomes more efficient to add a separate allocation
rather than have gigantic HashTables that use all that memory for each empty slot
and use all those read and write operations to move when rehashing. I'm not sure
exactly where that point is, but I'm pretty sure it's less than 500 bytes. This
introduces a limit and removes the two largest HashTables in WebKit, replacing their
values with std::unique_ptr to save memory and time.
- Modules/cache/DOMCacheEngine.h:
- platform/network/NetworkLoadInformation.h:
Source/WebKit:
- NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::getNetworkLoadInformationResponse):
(WebKit::NetworkConnectionToWebProcess::getNetworkLoadIntermediateInformation):
(WebKit::NetworkConnectionToWebProcess::takeNetworkLoadInformationMetrics):
(WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformation):
(WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformationMetrics):
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::readRecord):
- NetworkProcess/cache/CacheStorageEngineCaches.h:
Source/WTF:
- wtf/HashTable.h:
(WTF::KeyTraits>::inlineLookup):
- 8:35 PM Changeset in webkit [273871] by
-
- 2 edits in trunk/LayoutTests
[ Catalina wk1 ews ] media/remote-control-command-seek.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215325
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations: Update test expectations since EWS moved to Catalina.
- 8:19 PM Changeset in webkit [273870] by
-
- 2 edits in trunk/Source/WTF
[JSC] ENABLE(JIT_CAGE) requires HAVE(JIT_CAGE)
https://bugs.webkit.org/show_bug.cgi?id=222695
Reviewed by Saam Barati.
HAVE(JIT_CAGE) is internally defined. We use HAVE(JIT_CAGE) when defining ENABLE(JIT_CAGE).
- wtf/PlatformEnable.h:
- 6:31 PM Changeset in webkit [273869] by
-
- 9 edits in trunk
Replace the multiple WebAccessibilityObjectWrapperIOS postXXXNotification methods with a single postNotification method.
https://bugs.webkit.org/show_bug.cgi?id=221707
Reviewed by Chris Fleizach.
Source/WebCore:
Instead of having a postXXXNotification method per notification in the
iOS WebAccessibilitObjectWrapper implementation, we now have a single
method that takes the name of the notification. This cleans up the
existing notification posting code and simplifies adding new notifications.
- accessibility/AXLogger.cpp:
(WebCore::operator<<): Added a new notification constant AXPageScrolled.
- accessibility/AXObjectCache.h:
- accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::notificationPlatformName):
Handles all notifications used on iOS.
(WebCore::AXObjectCache::postPlatformNotification):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityScroll:]):
Uses the helper AXObjectCache::notificationPlatformName to get page scrolled notification name.
(-[WebAccessibilityObjectWrapper postFocusChangeNotification]): Deleted.
(-[WebAccessibilityObjectWrapper postSelectedTextChangeNotification]): Deleted.
(-[WebAccessibilityObjectWrapper postLayoutChangeNotification]): Deleted.
(-[WebAccessibilityObjectWrapper postLiveRegionChangeNotification]): Deleted.
(-[WebAccessibilityObjectWrapper postLiveRegionCreatedNotification]): Deleted.
(-[WebAccessibilityObjectWrapper postLoadCompleteNotification]): Deleted.
(-[WebAccessibilityObjectWrapper postChildrenChangedNotification]): Deleted.
(-[WebAccessibilityObjectWrapper postInvalidStatusChangedNotification]): Deleted.
(-[WebAccessibilityObjectWrapper postValueChangedNotification]): Deleted.
(-[WebAccessibilityObjectWrapper postExpandedChangedNotification]): Deleted.
(-[WebAccessibilityObjectWrapper postScrollStatusChangeNotification]): Deleted.
(-[WebAccessibilityObjectWrapper postCurrentStateChangedNotification]): Deleted.
LayoutTests:
The name of the notification is now "AXPageScrolled". Adjusted the script
and the expected output accordingly.
- accessibility/ios-simulator/scroll-in-overflow-div-expected.txt:
- accessibility/ios-simulator/scroll-in-overflow-div.html:
- 6:13 PM Changeset in webkit [273868] by
-
- 2 edits in trunk/Source/WebCore
Crash in removeSymbolElementsFromSubtree()
https://bugs.webkit.org/show_bug.cgi?id=222397
Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2021-03-03
Reviewed by Ryosuke Niwa.
Skip children in removeSymbolElementsFromSubtree(), so that
we don't see nodes that have been removed in disassociateAndRemoveClones.
Thanks to Darin Adler for the initial version of this patch
and Ryosuke Niwa for refinements.
- svg/SVGUseElement.cpp:
(WebCore::removeSymbolElementsFromSubtree):
- 5:49 PM Changeset in webkit [273867] by
-
- 11 edits in trunk
Unreviewed, reverting r273851.
Caused some tests failures on macOS Big Sur
Reverted changeset:
"[macOS][WK2] Changing the system language does not update
navigator.language"
https://bugs.webkit.org/show_bug.cgi?id=222619
https://commits.webkit.org/r273851
- 5:48 PM Changeset in webkit [273866] by
-
- 2 edits in trunk/Source/WebCore
Nulllptr crash in DeleteSelectionCommand::handleGeneralDelete()
https://bugs.webkit.org/show_bug.cgi?id=222681
Reviewed by Wenson Hsieh.
Skip the loop when m_downstreamEnd.isNull() or im_downstreamEnd.isOrphan() is true
to avoid dereferencing a nullptr.
No new tests since we don't have any reproduction for this crash,
and it's not obvious how we're getting into that state.
- editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
- 5:34 PM Changeset in webkit [273865] by
-
- 38 edits2 moves1 add2 deletes in trunk
Web Inspector:
RecordCanvasActionVariantcauses a huge symbol to be created in WebCore
https://bugs.webkit.org/show_bug.cgi?id=222639
<rdar://problem/73728057>
Reviewed by Tim Horton and Brian Burg.
Source/JavaScriptCore:
- inspector/protocol/Recording.json:
Drive-by: Add info about
snapshotto the"description"of"actions"in"Frame".
Source/WebCore:
The only reason that
RecordCanvasActionVariantexists is so that the generated IDL code
can pass all arguments at once to the function defined byCallTracingCallback. Instead,
changeCallTracingCallback(which expects astaticfunction onCallTracer) to be
CallTracer(which expects aclass) so that more than one function can be used in the
generated IDL code (and so that not every usage has to be part of `CallTracer). These new
functions are:
processArgument, which is used to convert the argument to a more generic typerecordAction, which is basically whatCallTracingCallbackused to be
In the case of
InspectorCanvasCallTracer(which is whatrecordCanvasActionused to be),
processArgumentconverts to astructofJSON::ValueandRecordingSwizzleType, which
used to happen way later inInspectorCanvas::buildAction(which is why there used to be
RecordCanvasActionVariantas there was no other good way of handling all the various
arguments of all the various functions). The only effect that this change has is that now
the deduplicateddatain theRecordingpayload might have a different order, as
arguments are deduplicated before action names, but this shouldn't have any noticable effect
as the Web Inspector frontend handles the "unpacking" of the deduplicateddatain the same
way (and the tests confirm it).
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributeGetterBodyDefinition):
(GenerateAttributeSetterBodyDefinition):
(GenerateImplementationFunctionCall):
(GenerateCallTracer):
- bindings/scripts/IDLAttributes.json:
- bindings/scripts/test/TestCallTracer.idl:
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
Replace
CallTracingCallbackwithCallTracer
- inspector/InspectorCanvasCallTracer.h: Added.
(WebCore::InspectorCanvasCallTracer::recordAction):
- inspector/InspectorCanvasCallTracer.cpp: Added.
(WebCore::enabledCanvasAgent):
(WebCore::InspectorCanvasCallTracer::recordAction):
(WebCore::InspectorCanvasCallTracer::processArgument):
- bindings/js/CallTracer.h: Removed.
- bindings/js/CallTracer.cpp: Removed.
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::recordCanvasAction): Deleted.
(WebCore::InspectorInstrumentation::recordCanvasActionImpl): Deleted.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::recordCanvasActionImpl): Deleted.
Rather than piping throughInspectorInstrumentation(which would require adding#include
for all the argument types in the.h), just pull out theInspectorCanvasAgentand use it
locally here.
- inspector/InspectorCanvas.h:
- inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::canvasChanged):
(WebCore::InspectorCanvas::resetRecordingData):
(WebCore::InspectorCanvas::processArgument):
(WebCore::InspectorCanvas::recordAction):
(WebCore::InspectorCanvas::valueIndexForData): Added.
(WebCore::InspectorCanvas::buildAction):
- inspector/agents/InspectorCanvasAgent.h:
- inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::startRecording):
(WebCore::InspectorCanvasAgent::stopRecording):
(WebCore::InspectorCanvasAgent::didFinishRecordingCanvasFrame):
(WebCore::InspectorCanvasAgent::recordAction): Added.
(WebCore::InspectorCanvasAgent::recordCanvasAction): Deleted.
Create individualprocessArgumentmember function for each type used by the various canvas
contexts instead of having one giantWTF::switchOnforRecordCanvasActionVariant.
- html/HTMLCanvasElement.idl:
- html/canvas/CanvasRenderingContext2D.idl:
- html/canvas/ImageBitmapRenderingContext.idl:
- html/canvas/OffscreenCanvasRenderingContext2D.idl:
- html/canvas/WebGL2RenderingContext.idl:
- html/canvas/WebGLRenderingContext.idl:
Replace
CallTracingCallback=recordCanvasActionwithCallTracer=InspectorCanvasCallTracer.
- html/CanvasBase.h:
- html/CanvasBase.cpp:
(WebCore::CanvasBase::hasActiveInspectorCanvasCallTracer const): Added.
(WebCore::CanvasBase::callTracingActive const): Deleted.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
- html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::hasActiveInspectorCanvasCallTracer const): Added.
(WebCore::CanvasRenderingContext::setHasActiveInspectorCanvasCallTracer): Added.
(WebCore::CanvasRenderingContext::callTracingActive const): Deleted.
(WebCore::CanvasRenderingContext::setCallTracingActive): Deleted.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::didComposite):
ReplacecallTracingActivewithhasActiveInspectorCanvasCallTracer.
- inspector/RecordingSwizzleType.h: Renamed from Source/WebCore/inspector/RecordingSwizzleTypes.h.
Drive-by: Rename
RecordingSwizzleTypestoRecordingSwizzleType.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/canvas/WebGL2RenderingContext.cpp:
- html/canvas/WebGLRenderingContext.cpp:
- loader/DocumentThreadableLoader.cpp:
- loader/ImageLoader.cpp:
- loader/TextTrackLoader.cpp:
- page/Page.cpp:
Drive-by: unified sources include fixes
Source/WebInspectorUI:
- UserInterface/Models/RecordingAction.js:
(WI.RecordingAction):
Don't use||for the fallback of_payloadSnapshotas it can be0.
- UserInterface/Models/Recording.js:
Drive-by: Rename
RecordingSwizzleTypestoRecordingSwizzleType.
LayoutTests:
- inspector/canvas/resources/recording-webgl2.js:
- inspector/canvas/recording-webgl2-full-expected.txt:
Use an actual
uniformname instead of a random test string.
- 5:19 PM Changeset in webkit [273864] by
-
- 1 copy in tags/Safari-611.1.21.0.3
Tag Safari-611.1.21.0.3.
- 5:00 PM Changeset in webkit [273863] by
-
- 4 edits in branches/safari-612.1.5-branch/Source/WebCore
Cherry-pick r273839. rdar://problem/75009410
REGRESSION (r273154): Speedometer 2 is 1-2% regressed on iOS
https://bugs.webkit.org/show_bug.cgi?id=222663
<rdar://problem/74715929>
Reviewed by Ryosuke Niwa.
A 1-2% regression was observed in Speedometer 2 after enabling the iOS
Form Control Refresh (FCR). Traces indicated an increased amount of time
spent in style resolution. Note that currently the FCR styles are
appended to the base UA stylesheet at runtime, to apply the necessary
changes for the new appearance, while making it possible to toggle the
feature.
To fix, the FCR stylesheet is merged into the base UA stylesheet. This
avoids ruleset duplication, which made it more expensive to resolve
styles. To preserve the old appearance when the feature is runtime
disabled, the old styles are moved into a separate stylesheet, appended
at runtime.
The fix was verified as an equivalent progression using internal A/B
testing infrastructure.
Note that this solution means that disabling the FCR will result in a
Speedometer regression, due to ruleset duplication. However, this should
not be a concern since the feature is controlled by an internal switch,
is enabled by default, and is not intended to be disabled.
- css/formControlsIOS.css:
- css/html.css:
- style/UserAgentStyle.cpp: (WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:00 PM Changeset in webkit [273862] by
-
- 4 edits2 adds in branches/safari-612.1.5-branch
Cherry-pick r273821. rdar://problem/75009461
REGRESSION (r266288): Web Inspector: ::marker shows on every element now
https://bugs.webkit.org/show_bug.cgi?id=222384
Reviewed by Devin Rousso.
Source/WebCore:
Test: inspector/css/getMatchedStylesForNodeMarkerPseudoId.html
Add filtering of the
::markerCSS rule for elements that are not list items, as they do no apply to the
element.
- inspector/agents/InspectorCSSAgent.cpp: (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
- Added filtering for
*::markerrules on non-display:list-itemelements. (WebCore::InspectorCSSAgent::buildObjectForRule): - Drive-by refactoring to reduce code duplication.
LayoutTests:
Added test for the filtering of
*::markerselector from the rule results ofCSS.getMatchedStyleForNodeon
elements that don't support::marker.
- inspector/css/getMatchedStylesForNode-expected.txt:
- Updated expectations to account for the abscence of the
::markerrule on non-list elements. - inspector/css/getMatchedStylesForNodeMarkerPseudoId-expected.txt: Added.
- inspector/css/getMatchedStylesForNodeMarkerPseudoId.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:00 PM Changeset in webkit [273861] by
-
- 4 edits2 adds in branches/safari-612.1.5-branch
Cherry-pick r273764. rdar://problem/75009398
The layout of SVGImage should force the layout for its clients
https://bugs.webkit.org/show_bug.cgi?id=221253
<rdar://problem/74138641>
Reviewed by Simon Fraser.
Source/WebCore:
Unlike the bitmap image, the intrinsic size of SVGImage can only be known
after running its layout. Because SVGImage can be used by multiple clients,
CachedImage maintains an SVGImageCache which maps a client to an
SVGImageForContainer. SVGImageForContainer is just a wrapper of SVGImage
with the intrinsic size of the client. Because we may set an entry for
the renderer in SVGImageCache early before running a layout for SVGImage
and because the renderer intrinsic size depends on the intrinsic size of
SVGImage, SVGImageForContainer may have an empty intrinsic size.
So basically it is a race condition: knowing the intrinsic size of the
SVGImage client depends on the intrinsic size of SVGImage itself. And the
intrinsic size of SVGImageForContainer depends on the intrinsic size of
the client. This may lead to not rendering the clients because their sizes
are empty. To fix this issue we need to force calculateBackgroundImageGeometry()
once we finish the layout of the SVGImage which happens after receiving all
its data and calling RenderBox::imageChanged().
Test: fast/css/background-svg-image-loading.html
- loader/cache/CachedImage.cpp: (WebCore::CachedImage::finishLoading):
- rendering/RenderBox.cpp: (WebCore::RenderBox::repaintLayerRectsForImage):
LayoutTests:
- fast/css/background-svg-image-loading-expected.html: Added.
- fast/css/background-svg-image-loading.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:00 PM Changeset in webkit [273860] by
-
- 2 edits in branches/safari-612.1.5-branch
Cherry-pick r273699. rdar://problem/75009467
[Win] Fix build failure
https://bugs.webkit.org/show_bug.cgi?id=222576
<rdar://problem/74590803>
Reviewed by Brent Fulgham.
It appears a recent change has unintentionally enabled WebInspectorUI on Apple Win. Address this by explicitly disabling it.
- Source/cmake/OptionsAppleWin.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:49 PM Changeset in webkit [273859] by
-
- 9 edits in trunk/Source
Unreviewed, reverting r273832.
26 inspector tests failing a new assert added with this change
Reverted changeset:
"Limit HashTable entry size to 500 bytes"
https://bugs.webkit.org/show_bug.cgi?id=222658
https://commits.webkit.org/r273832
- 4:41 PM Changeset in webkit [273858] by
-
- 1 copy in tags/Safari-611.1.21.1.4
Tag Safari-611.1.21.1.4.
- 4:40 PM Changeset in webkit [273857] by
-
- 1 delete in tags/Safari-611.1.21.1.4
Delete tag.
- 4:39 PM Changeset in webkit [273856] by
-
- 8 edits in branches/safari-611.1.21.1-branch/Source
Versioning.
WebKit-7611.1.21.1.4
- 4:29 PM Changeset in webkit [273855] by
-
- 1 copy in tags/Safari-611.1.21.1.4
Tag Safari-611.1.21.1.4.
- 4:15 PM Changeset in webkit [273854] by
-
- 7 edits1 add in trunk/Tools
Make LayoutTestFinder.find_tests/find_tests_by_path return List[Test]
https://bugs.webkit.org/show_bug.cgi?id=222662
Patch by Sam Sneddon <Sam Sneddon> on 2021-03-03
Reviewed by Jonathan Bedard.
This introduces a Test class, to later be able to migrate finding
expectations to LayoutTestFinder.
- Scripts/open-layout-test:
(main):
- Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.find_tests):
(LayoutTestFinder.find_tests_by_path):
- Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py:
(LayoutTestFinderTests.test_find_with_skipped_directories):
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):
(Manager.print_expectations):
- Scripts/webkitpy/layout_tests/models/test.py: Added.
(Test):
(Test.init):
(Test.repr):
(Test.eq):
- Scripts/webkitpy/layout_tests/models/test_input.py:
(TestInput):
- Scripts/webkitpy/tool/commands/queries.py:
(PrintExpectations.execute):
- 3:54 PM Changeset in webkit [273853] by
-
- 7 edits in trunk/LayoutTests
[GPUP] Two tests related to media element state are flaky when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=221688
Reviewed by Jer Noble.
This patch fixes two flaky tests by updating the expected value of a media element's "networkState"
in a "loadstart" event handler.
A video/audio element's network state may have changed from LOADING to IDLE before the "loadstart"
event handler executes. That will happen when the media player notifies the element with a network
state change (by calling HTMLMediaElement::setNetworkState()) from LOADING to LOADED quickly.
The code snippet is below:
`
void HTMLMediaElement::setNetworkState(MediaPlayer::NetworkState state)
{
...
if (state == MediaPlayer::NetworkState::Loaded) {
if (m_networkState != NETWORK_IDLE)
changeNetworkStateFromLoadingToIdle();
m_completelyLoaded = true;
}
}
`
- media/W3C/audio/networkState/networkState_during_loadstart-expected.txt:
- media/W3C/audio/networkState/networkState_during_loadstart.html:
- media/W3C/video/networkState/networkState_during_loadstart-expected.txt:
- media/W3C/video/networkState/networkState_during_loadstart.html:
- platform/mac/TestExpectations:
- platform/wk2/TestExpectations:
- 3:46 PM Changeset in webkit [273852] by
-
- 2 edits in trunk/Tools
Send console.log() etc. to stdout in MiniBrowser on macOS
https://bugs.webkit.org/show_bug.cgi?id=222629
Patch by Cameron McCormack <Cameron McCormack> on 2021-03-03
Reviewed by Tim Horton.
- MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate defaultConfiguration]):
- 3:46 PM Changeset in webkit [273851] by
-
- 11 edits in trunk
[macOS][WK2] Changing the system language does not update navigator.language
https://bugs.webkit.org/show_bug.cgi?id=222619
Reviewed by Per Arne Vollan.
Source/WebKit:
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::setAppleLanguagesPreference):
- When ENABLE(CFPREFS_DIRECT_MODE), we don't need to set the AppleLanguages
in a volatile domain. This does not change behavior but I made this change
so that I don't need to set AppleLanguages in the volatile domain in
WebProcessCocoa when the preference changes.
- Also fix a memory leak for newArguments.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
If CFPREFS_DIRECT_MODE is not enabled, we need to listen for AppleLanguagePreferencesChangedNotification
inside the WebProcess. This used to happen implicitly inside WTF::platformUserPreferredLanguages() but
it is now explicit since we don't want/need it when using CFPREFS_DIRECT_MODE.
(WebKit::setPreferenceValue):
- Call CFPreferencesSetAppValue() instead of CFPreferencesSetValue(). Without this change
trying to set AppleLanguages here would have no effect and CFLocaleCopyPreferredLanguages()
would keep returning outdated languages.
- Call WTF::languageDidChange() when the AppleLanguages preference gets updated so that language change listeners get notified of the language change (e.g. we fire a languagechange event at the Window).
Source/WebKitLegacy/mac:
We need to listen for AppleLanguagePreferencesChangedNotification on mac WK1.
This used to happen implicitly inside WTF::platformUserPreferredLanguages() but
it is now explicit since we don't want/need it when using CFPREFS_DIRECT_MODE in WK2.
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Source/WTF:
Update WTF::languageDidChange() to clear preferredLanguages() on Cocoa platforms
so that we get updated values from the system the next time
platformUserPreferredLanguages() is called.
platformUserPreferredLanguages() used to implicitly register a AppleLanguagePreferencesChangedNotification
listener. We've now made this registering opt-in by moving it to a separate
listenForLanguageChangeNotifications() function. This function is getting called
on Mac WK1 and WK2 when CFPREFS_DIRECT_MODE is disabled (legacy).
When CFPREFS_DIRECT_MODE is enabled in WK2, we don't want/need to listen for this
notification because the AppleLanguages preference gets pushed by the UIProcess
down to the WebProcesses. Even though we could listen for this notification,
the WebProcess would not have the latest AppleLanguages preference when receiving
the notification. This would cause us to fire the languagechange event at the
Window too early and navigator.language would keep returning the old language.
For WK2 with CFPREFS_DIRECT_MODE enabled, we now explicitly call
WTF::languageDidChange() when the "AppleLanguages" preference gets sync'd from
the UIProcess instead.
- wtf/Language.cpp:
(WTF::languageDidChange):
(WTF::platformLanguageDidChange):
- wtf/Language.h:
- wtf/cf/LanguageCF.cpp:
(WTF::languagePreferencesDidChange):
(WTF::platformLanguageDidChange):
(WTF::listenForLanguageChangeNotifications):
(WTF::platformUserPreferredLanguages):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
(TEST):
- 3:38 PM Changeset in webkit [273850] by
-
- 2 edits in trunk/LayoutTests
[BigSur WK1 Release] media/video-aspect-ratio.html is a flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=222693
Unreviewed test gardening.
Patch by Amir Mark Jr <Amir Mark Jr.> on 2021-03-03
- platform/mac-wk1/TestExpectations:
- 3:31 PM Changeset in webkit [273849] by
-
- 2 edits in trunk/Source/WTF
[WTF] Add System.framework PrivateHeaders to header path of WTF
https://bugs.webkit.org/show_bug.cgi?id=222688
Reviewed by Tim Horton.
The other non-third-party components excluding WTF have System.framework PrivateHeaders in their header search path.
This causes the problem that we cannot use some system headers (e.g.<machine/cpu_capabilities.h>) in WTF while it is
usable in JavaScriptCore and the other components. This patch adds it as the other components did.
- Configurations/Base.xcconfig:
- 3:07 PM Changeset in webkit [273848] by
-
- 17 edits in trunk
Use adoptNS() right away after calling [obj copy] / [obj mutableCopy]
https://bugs.webkit.org/show_bug.cgi?id=222634
Reviewed by Darin Adler.
Use adoptNS() right away after calling [obj copy] / [obj mutableCopy] to minimize the chance of leaks.
Source/WebCore:
- editing/cocoa/HTMLConverter.mm:
(defaultParagraphStyle):
- platform/cocoa/SystemVersion.mm:
(WebCore::createSystemMarketingVersion):
(WebCore::systemMarketingVersion):
Source/WebKit:
- Shared/ApplePay/ApplePayPaymentSetupFeatures.mm:
(WebKit::PaymentSetupFeatures::decode):
- Shared/ApplePay/PaymentSetupConfiguration.mm:
(WebKit::PaymentSetupConfiguration::decode):
- Shared/ApplePay/cocoa/PaymentSetupConfiguration.mm:
(WebKitAdditions::PaymentSetupConfiguration::decode):
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::systemDirectoryPath):
- UIProcess/mac/ServicesController.mm:
(WebKit::ServicesController::refreshExistingServices):
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::temporaryPDFDirectoryPath):
Source/WebKitLegacy/mac:
- Misc/WebNSPasteboardExtras.mm:
(_writableTypesForImageWithArchive):
- WebCoreSupport/WebApplicationCache.mm:
(overrideBundleIdentifier):
(+[WebApplicationCache initializeWithBundleIdentifier:]):
(applicationCacheBundleIdentifier):
- WebView/WebPreferences.mm:
(classIBCreatorID):
(+[WebPreferences _setIBCreatorID:]):
(+[WebPreferences _IBCreatorID]):
Tools:
- TestWebKitAPI/Tests/WebKit/mac/ContextMenuMouseEvents.mm:
(TestWebKitAPI::runTest):
- TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST):
- 3:00 PM Changeset in webkit [273847] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Refine CSS Grid overlay options
https://bugs.webkit.org/show_bug.cgi?id=222428
<rdar://problem/74751569>
Patch by Razvan Caliman <Razvan Caliman> on 2021-03-03
Reviewed by BJ Burg.
Move CSS Grid overlay settings above node list, simplify labels, reorder and set default values.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Setting.js:
- UserInterface/Views/CSSGridSection.js:
(WI.CSSGridSection.prototype.initialLayout):
- UserInterface/Views/LayoutDetailsSidebarPanel.css:
(.details-section.layout-css-grid.collapsed > .content):
Drive-by: Fix a bug which prevented the contents from being hidden when the section is collapsed.
- 3:00 PM Changeset in webkit [273846] by
-
- 3 edits1 add in trunk
[ESNext] Private methods can't be named as '#constructor'
https://bugs.webkit.org/show_bug.cgi?id=222680
Reviewed by Yusuke Suzuki.
JSTests:
- stress/private-method-and-field-named-constructor.js: Added.
Source/JavaScriptCore:
It's a
SyntaxErrorwhen we try to use#constructoras private name
for methods, accessors, and fields. This patch is fixing such bug for
methods and accessors.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseGetterSetter):
- 2:57 PM Changeset in webkit [273845] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Enable simplified vertical alignment for non-empty inline boxes
https://bugs.webkit.org/show_bug.cgi?id=222666
Reviewed by Antti Koivisto.
This patch enables the simplified vertical alignment for cases when the line has non-stretching, baseline aligned non-empty inline boxes
even when the inline box spans multiple lines.
e.g.
<div><span>text content</span></div>
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::canUseSimplifiedAlignment):
- 2:55 PM Changeset in webkit [273844] by
-
- 3 edits in trunk/Tools
Move LayoutTestFinder.skip_tests to Manager._skip_tests
https://bugs.webkit.org/show_bug.cgi?id=222661
Patch by Sam Sneddon <Sam Sneddon> on 2021-03-03
Reviewed by Jonathan Bedard.
This has nothing to do with finding tests, and everything to do about
test selection depending on the CLI.
Additionally, this removes the unused LayoutTestFinder.skip_tests
all_tests_list argument.
- Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder._skip_tests):
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._skip_tests):
(Manager._prepare_lists):
- 2:39 PM Changeset in webkit [273843] by
-
- 3 edits2 deletes in trunk
Unreviewed, reverting r273727.
https://bugs.webkit.org/show_bug.cgi?id=222689
Landed broken test
Reverted changeset:
"Null check platformData when decoding"
https://bugs.webkit.org/show_bug.cgi?id=221442
https://trac.webkit.org/changeset/273727
- 2:37 PM Changeset in webkit [273842] by
-
- 2 edits in trunk/Source/WebCore
Crash under SubresourceLoader::notifyDone()
https://bugs.webkit.org/show_bug.cgi?id=222683
<rdar://70342402>
Reviewed by Geoffrey Garen.
We were crashing doing a null-dereference of m_documentLoader under
SubresourceLoader::notifyDone(). This adds null checks for m_documentLoader
similarly to what is already done elsewhere in ResourceLoader.
No new tests, I do not know how to reproduce this.
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::notifyDone):
- 2:33 PM WebKitGTK/2.32.x edited by
- (diff)
- 2:23 PM Changeset in webkit [273841] by
-
- 2 edits in trunk/Source/WTF
std::is_literal_type causes -Wdeprecated-declarations warning with GCC 11
https://bugs.webkit.org/show_bug.cgi?id=220662
<rdar://problem/73509470>
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-03-03
Reviewed by Darin Adler.
Ignore the warning. It would be better to not use the deprecated std::is_literal_type, but
this works for now.
- wtf/Variant.h:
- 2:23 PM Changeset in webkit [273840] by
-
- 2 edits in trunk/LayoutTests
[ macOS Wk2 ] inspector/model/auditTestCase.html is a flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=222677
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Updating test expectations to Pass Timeout until test is fixed.
- 2:16 PM WebKitGTK/2.32.x edited by
- (diff)
- 2:04 PM Changeset in webkit [273839] by
-
- 4 edits in trunk/Source/WebCore
REGRESSION (r273154): Speedometer 2 is 1-2% regressed on iOS
https://bugs.webkit.org/show_bug.cgi?id=222663
<rdar://problem/74715929>
Reviewed by Ryosuke Niwa.
A 1-2% regression was observed in Speedometer 2 after enabling the iOS
Form Control Refresh (FCR). Traces indicated an increased amount of time
spent in style resolution. Note that currently the FCR styles are
appended to the base UA stylesheet at runtime, to apply the necessary
changes for the new appearance, while making it possible to toggle the
feature.
To fix, the FCR stylesheet is merged into the base UA stylesheet. This
avoids ruleset duplication, which made it more expensive to resolve
styles. To preserve the old appearance when the feature is runtime
disabled, the old styles are moved into a separate stylesheet, appended
at runtime.
The fix was verified as an equivalent progression using internal A/B
testing infrastructure.
Note that this solution means that disabling the FCR will result in a
Speedometer regression, due to ruleset duplication. However, this should
not be a concern since the feature is controlled by an internal switch,
is enabled by default, and is not intended to be disabled.
- css/formControlsIOS.css:
- css/html.css:
- style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement):
- 2:00 PM Changeset in webkit [273838] by
-
- 2 edits in trunk/Tools
[ews] Add python 3 support - part 4
https://bugs.webkit.org/show_bug.cgi?id=222672
Reviewed by Jonathan Bedard.
- CISupport/ews-build/events.py:
(JSONProducer): Use implementer (python 3 compatible) instead of implements.
(JSONProducer.init): Encode data as utf-8 explicitly.
(Events):
(Events.sendData):
- 1:56 PM Changeset in webkit [273837] by
-
- 2 edits in trunk/Tools
Adding myself as a committer in the contributors file.
N/A
N/A
- Scripts/webkitpy/common/config/contributors.json: Added myself as a committer.
- 1:29 PM Changeset in webkit [273836] by
-
- 26 edits in trunk
Unreviewed, reverting r273814.
https://bugs.webkit.org/show_bug.cgi?id=222676
Unresolved types in JavaScriptCore-4.0.gir
Reverted changeset:
"[CMake] JavaScriptCore GLib headers should be copies"
https://bugs.webkit.org/show_bug.cgi?id=222625
https://trac.webkit.org/changeset/273814
- 1:23 PM Changeset in webkit [273835] by
-
- 3 edits in trunk/Tools
Remove LayoutTestFinder.touched_tests, which is now dead code
https://bugs.webkit.org/show_bug.cgi?id=222660
Patch by Sam Sneddon <Sam Sneddon> on 2021-03-03
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.find_touched_tests): Removed.
- Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py:
Remove related tests.
- 1:05 PM Changeset in webkit [273834] by
-
- 6 edits in trunk/Tools
[resultsdbpy] Make testing compatible with Python 3.8
https://bugs.webkit.org/show_bug.cgi?id=222678
<rdar://problem/74997936>
Rubber-stamped by Aakash Jain.
- Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Bump version.
- Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_test_context.py:
(FlaskTestContext):
(FlaskTestContext.start_webserver): Make function pickle able.
(FlaskTestContext.init): Pass class to owning webserver setup.
(FlaskTestContext.enter):
- Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_testcase.py:
(FlaskTestCase.run_with_real_webserver.decorator.real_method):
- Scripts/libraries/resultsdbpy/resultsdbpy/model/cassandra_context.py:
(filter_for_argument): Style fix.
- Scripts/libraries/resultsdbpy/setup.py: Bump version.
- 1:04 PM Changeset in webkit [273833] by
-
- 13 edits2 adds2 deletes in trunk/Source
Modernize WebKit2 PDFKit softlinking
https://bugs.webkit.org/show_bug.cgi?id=222643
Reviewed by Alex Christensen.
Source/WebKit:
WebKit2 has long had an unusual way of softlinking PDFKit, using NSBundle.
It has caused much trouble in the past, because it means that running
WebKit against a custom PDFKit requires either installing it into
the system, or changing the hardcoded path.
Instead of this, just use the normal softlinking macros that the rest
of WebKit uses.
- Shared/Cocoa/PDFKitSoftLink.h: Added.
- Shared/Cocoa/PDFKitSoftLink.mm: Added.
- Shared/mac/PDFKitImports.h: Removed.
- Shared/mac/PDFKitImports.mm: Removed.
- SourcesCocoa.txt:
- UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView _drawPDFDocument:page:atPoint:]):
(-[WKPrintingView drawRect:]):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::receivedNonLinearizedPDFSentinel):
(WebKit::PDFPlugin::threadEntry):
(WebKit::PDFPlugin::documentDataDidFinishLoading):
(WebKit::PDFPlugin::setActiveAnnotation):
(WebKit::PDFPlugin::nextMatchForString):
(WebKit:: const):
- WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
(WebKit::PDFPluginAnnotation::create):
- WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
- WebProcess/Plugins/PDF/PDFPluginPasswordField.mm:
- WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::shouldUsePDFPlugin const):
(WebKit::drawPDFPage):
Source/WTF:
- wtf/PlatformHave.h:
- 12:54 PM Changeset in webkit [273832] by
-
- 9 edits in trunk/Source
Limit HashTable entry size to 500 bytes
https://bugs.webkit.org/show_bug.cgi?id=222658
Patch by Alex Christensen <achristensen@webkit.org> on 2021-03-03
Reviewed by Yusuke Suzuki.
Source/WebCore:
Moving large structures inside HashTables is slower than just moving a pointer.
There is a point at which it becomes more efficient to add a separate allocation
rather than have gigantic HashTables that use all that memory for each empty slot
and use all those read and write operations to move when rehashing. I'm not sure
exactly where that point is, but I'm pretty sure it's less than 500 bytes. This
introduces a limit and removes the two largest HashTables in WebKit, replacing their
values with std::unique_ptr to save memory and time.
- Modules/cache/DOMCacheEngine.h:
- platform/network/NetworkLoadInformation.h:
Source/WebKit:
- NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::getNetworkLoadInformationResponse):
(WebKit::NetworkConnectionToWebProcess::getNetworkLoadIntermediateInformation):
(WebKit::NetworkConnectionToWebProcess::takeNetworkLoadInformationMetrics):
(WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformation):
(WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformationMetrics):
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::readRecord):
- NetworkProcess/cache/CacheStorageEngineCaches.h:
Source/WTF:
- wtf/HashTable.h:
(WTF::KeyTraits>::inlineLookup):
- 12:19 PM Changeset in webkit [273831] by
-
- 4 edits2 adds in branches/safari-611.1.21.1-branch
Cherry-pick r273764. rdar://problem/74992878
The layout of SVGImage should force the layout for its clients
https://bugs.webkit.org/show_bug.cgi?id=221253
<rdar://problem/74138641>
Reviewed by Simon Fraser.
Source/WebCore:
Unlike the bitmap image, the intrinsic size of SVGImage can only be known
after running its layout. Because SVGImage can be used by multiple clients,
CachedImage maintains an SVGImageCache which maps a client to an
SVGImageForContainer. SVGImageForContainer is just a wrapper of SVGImage
with the intrinsic size of the client. Because we may set an entry for
the renderer in SVGImageCache early before running a layout for SVGImage
and because the renderer intrinsic size depends on the intrinsic size of
SVGImage, SVGImageForContainer may have an empty intrinsic size.
So basically it is a race condition: knowing the intrinsic size of the
SVGImage client depends on the intrinsic size of SVGImage itself. And the
intrinsic size of SVGImageForContainer depends on the intrinsic size of
the client. This may lead to not rendering the clients because their sizes
are empty. To fix this issue we need to force calculateBackgroundImageGeometry()
once we finish the layout of the SVGImage which happens after receiving all
its data and calling RenderBox::imageChanged().
Test: fast/css/background-svg-image-loading.html
- loader/cache/CachedImage.cpp: (WebCore::CachedImage::finishLoading):
- rendering/RenderBox.cpp: (WebCore::RenderBox::repaintLayerRectsForImage):
LayoutTests:
- fast/css/background-svg-image-loading-expected.html: Added.
- fast/css/background-svg-image-loading.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:18 PM Changeset in webkit [273830] by
-
- 2 edits in branches/safari-611.1.21.1-branch
Cherry-pick r273699. rdar://problem/74992920
[Win] Fix build failure
https://bugs.webkit.org/show_bug.cgi?id=222576
<rdar://problem/74590803>
Reviewed by Brent Fulgham.
It appears a recent change has unintentionally enabled WebInspectorUI on Apple Win. Address this by explicitly disabling it.
- Source/cmake/OptionsAppleWin.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:42 AM Changeset in webkit [273829] by
-
- 2 edits in trunk/LayoutTests
imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html fails for mac wk1 debug
https://bugs.webkit.org/show_bug.cgi?id=221819
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 11:10 AM Changeset in webkit [273828] by
-
- 3 edits1 add1 delete in trunk/LayoutTests
[LayoutTests] Convert http/tests/dom convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=222656
<rdar://problem/74984539>
Reviewed by Jonathan Bedard.
- http/tests/dom/document-contentType-xhr.html:
- http/tests/dom/document-contentType.html:
- http/tests/dom/resources/send-mime-type.php: Removed.
- http/tests/dom/resources/send-mime-type.py: Added.
- 11:08 AM Changeset in webkit [273827] by
-
- 8 edits in branches/safari-611.1.21.0-branch/Source
Versioning.
WebKit-7611.1.21.0.3
- 10:54 AM Changeset in webkit [273826] by
-
- 26 edits in trunk/Source
Preserve information about the origin of the app highlight request
https://bugs.webkit.org/show_bug.cgi?id=222223
Reviewed by Wenson Hsieh.
Source/WebCore:
- Modules/highlight/AppHighlight.h:
(WebCore::AppHighlight::encode const):
(WebCore::AppHighlight::decode):
- Modules/highlight/AppHighlightStorage.cpp:
(WebCore::AppHighlightStorage::storeAppHighlight):
- Modules/highlight/AppHighlightStorage.h:
- loader/EmptyClients.cpp:
(WebCore::EmptyChromeClient::storeAppHighlight const):
- loader/EmptyClients.h:
- page/Chrome.cpp:
(WebCore::Chrome::storeAppHighlight const):
- page/Chrome.h:
- page/ChromeClient.h:
Source/WebKit:
- Scripts/webkit/messages.py:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _storeAppHighlight:]):
(-[WKWebView _addAppHighlight]):
- UIProcess/API/Cocoa/_WKAppHighlightDelegate.h:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::createAppHighlightInSelectedRange):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView createHighlightInCurrentGroupWithRange:]):
(-[WKContentView createHighlightInNewGroupWithRange:]):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::storeAppHighlight const):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createAppHighlightInSelectedRange):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::highlightIsNewGroup const):
(WebKit::WebPage::highlightRequestOriginatedInApp const):
- WebProcess/WebPage/WebPage.messages.in:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::storeAppHighlight const):
- 10:47 AM Changeset in webkit [273825] by
-
- 19 edits23 adds12 deletes in trunk/LayoutTests
[css-flexbox] Import latest WPT tests
https://bugs.webkit.org/show_bug.cgi?id=222651
Reviewed by Rob Buis.
LayoutTests/imported/w3c:
Synced flex tests to 5b5efcee.
- resources/resource-files.json:
- web-platform-tests/css/css-flexbox/canvas-contain-size-expected.html: Added.
- web-platform-tests/css/css-flexbox/canvas-contain-size.html: Added.
- web-platform-tests/css/css-flexbox/css-flexbox-column-expected.html: Removed.
- web-platform-tests/css/css-flexbox/css-flexbox-column-reverse-expected.html: Removed.
- web-platform-tests/css/css-flexbox/css-flexbox-column-reverse-wrap-expected.html: Removed.
- web-platform-tests/css/css-flexbox/css-flexbox-column-reverse-wrap-reverse-expected.html: Removed.
- web-platform-tests/css/css-flexbox/css-flexbox-column-reverse-wrap-reverse.html: Removed.
- web-platform-tests/css/css-flexbox/css-flexbox-column-reverse-wrap.html: Removed.
- web-platform-tests/css/css-flexbox/css-flexbox-column-reverse.html: Removed.
- web-platform-tests/css/css-flexbox/css-flexbox-column-wrap-expected.html: Removed.
- web-platform-tests/css/css-flexbox/css-flexbox-column-wrap-reverse-expected.html: Removed.
- web-platform-tests/css/css-flexbox/css-flexbox-column-wrap-reverse.html: Removed.
- web-platform-tests/css/css-flexbox/css-flexbox-column-wrap.html: Removed.
- web-platform-tests/css/css-flexbox/css-flexbox-column.html: Removed.
- web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001-expected.xhtml:
- web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001.xhtml:
- web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001v-expected.xhtml:
- web-platform-tests/css/css-flexbox/flexbox-basic-canvas-vert-001v.xhtml:
- web-platform-tests/css/css-flexbox/flexbox-basic-iframe-vert-001-expected.xhtml:
- web-platform-tests/css/css-flexbox/flexbox-basic-iframe-vert-001.xhtml:
- web-platform-tests/css/css-flexbox/flexbox-basic-img-vert-001-expected.xhtml:
- web-platform-tests/css/css-flexbox/flexbox-basic-img-vert-001.xhtml:
- web-platform-tests/css/css-flexbox/flexbox-basic-textarea-vert-001-expected.xhtml:
- web-platform-tests/css/css-flexbox/flexbox-basic-textarea-vert-001.xhtml:
- web-platform-tests/css/css-flexbox/flexbox-basic-video-vert-001-expected.xhtml:
- web-platform-tests/css/css-flexbox/flexbox-basic-video-vert-001.xhtml:
- web-platform-tests/css/css-flexbox/frameset-crash.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-1-expected.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-1.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2-expected.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-1-expected.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-1.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-2-expected.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-2.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-narrow-content-2-expected.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-narrow-content-2.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-specified-height-expected.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-specified-height.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-specified-width.html:
- web-platform-tests/css/css-flexbox/table-as-item-stretch-cross-size-2-expected.xht: Added.
- web-platform-tests/css/css-flexbox/table-as-item-stretch-cross-size-2.html: Added.
- web-platform-tests/css/css-flexbox/table-as-item-stretch-cross-size-3-expected.xht: Added.
- web-platform-tests/css/css-flexbox/table-as-item-stretch-cross-size-3.html: Added.
- web-platform-tests/css/css-flexbox/table-item-flex-percentage-min-width-expected.html: Added.
- web-platform-tests/css/css-flexbox/table-item-flex-percentage-min-width.html: Added.
- web-platform-tests/css/css-flexbox/w3c-import.log:
LayoutTests:
Imported latest changes in the test suite.
- TestExpectations:
- imported/w3c/web-platform-tests/css/css-flexbox/frameset-crash-expected.txt: Added.
- platform/ios/imported/w3c/web-platform-tests/css/css-flexbox/frameset-crash-expected.txt: Added.
- 10:37 AM Changeset in webkit [273824] by
-
- 1 edit in trunk/Source/ThirdParty/ANGLE/ChangeLog
Add bug link to previous commit
- 10:33 AM Changeset in webkit [273823] by
-
- 3 edits in trunk/Source/ThirdParty/ANGLE
Support Depth24_Stencil8 simulation in the MTLSimulator
Patch by Kyle Piddington <Kyle Piddington> on 2021-03-03
Reviewed by Dean Jackson.
Fixes the following tests:
fast/canvas/webgl/context-creation-attributes.html
fast/canvas/webgl/webgl-depth-texture.html
webgl/1.0.3/conformance/misc/webgl-specific.html
webgl/1.0.3/conformance/renderbuffers/framebuffer-object-attachment.html
- src/libANGLE/renderer/metal/mtl_format_map.json:
- src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
(rx::mtl::Format::init):
- 10:11 AM Changeset in webkit [273822] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, reverting r273809.
Caused assertion failure on debug WK2 bots
Reverted changeset:
"Crash in removeSymbolElementsFromSubtree()"
https://bugs.webkit.org/show_bug.cgi?id=222397
https://commits.webkit.org/r273809
- 9:59 AM Changeset in webkit [273821] by
-
- 4 edits2 adds in trunk
REGRESSION (r266288): Web Inspector: ::marker shows on every element now
https://bugs.webkit.org/show_bug.cgi?id=222384
Reviewed by Devin Rousso.
Source/WebCore:
Test: inspector/css/getMatchedStylesForNodeMarkerPseudoId.html
Add filtering of the
::markerCSS rule for elements that are not list items, as they do no apply to the
element.
- inspector/agents/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
- Added filtering for
*::markerrules on non-display:list-itemelements.
(WebCore::InspectorCSSAgent::buildObjectForRule):
- Drive-by refactoring to reduce code duplication.
LayoutTests:
Added test for the filtering of
*::markerselector from the rule results ofCSS.getMatchedStyleForNodeon
elements that don't support::marker.
- inspector/css/getMatchedStylesForNode-expected.txt:
- Updated expectations to account for the abscence of the
::markerrule on non-list elements. - inspector/css/getMatchedStylesForNodeMarkerPseudoId-expected.txt: Added.
- inspector/css/getMatchedStylesForNodeMarkerPseudoId.html: Added.
- 9:51 AM Changeset in webkit [273820] by
-
- 15 edits1 move7 adds in trunk
Report the correct document uri in the case of a ContentSecurityPolicyClient
https://bugs.webkit.org/show_bug.cgi?id=222489
<rdar://problem/73774118>
Reviewed by Brent Fulgham.
Source/WebCore:
Tests: http/tests/security/contentSecurityPolicy/report-document-uri-after-blocked-redirect.html
http/tests/security/contentSecurityPolicy/report-document-uri-blob.html
Previously we were setting the document URI to be the blocked URI in
the case where we were using a ContentSecurityPolicyClient and didn't
have access to the document URL. This patch passes the document URL
to the network process when loading a resource so we can properly set
the document URI in this case.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::shouldReportProtocolOnly):
(WebCore::ContentSecurityPolicy::deprecatedURLForReporting const):
(WebCore::ContentSecurityPolicy::reportViolation const):
Follow spec guidelines https://www.w3.org/TR/CSP2/#violation-reports
and set the document URI to be the URI's scheme if it is a globally
unique identifier.
In the case where we are using a client and don't have the document
URL, we should at least strip the blocked URL before reporting to align
with the spec.
- page/csp/ContentSecurityPolicy.h:
(WebCore::ContentSecurityPolicy::setDocumentURL):
Source/WebKit:
Pass the document URL from the Network Process when we schedule a load
in case we need to report a CSP violation in NetworkLoadChecker.
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::NetworkLoadChecker):
(WebKit::NetworkLoadChecker::contentSecurityPolicy):
The regular toString() method sets file:// URLs to null. We should use
toRawString() so we can report the scheme if the source origin is a
local file, as per the W3C spec.
- NetworkProcess/NetworkLoadChecker.h:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoadParameters.h:
- NetworkProcess/NetworkResourceLoader.cpp:
- NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::PingLoad):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
Tools:
Rename OverrideContentSecurityPolicy.mm to ContentSecurityPolicy.mm
so we can use it for more general purpose CSP testing.
Add a test for document-uri reporting for file:, data: and about: protocols.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/ContentSecurityPolicy.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/OverrideContentSecurityPolicy.mm.
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/csp-document-uri-report.html: Added.
LayoutTests:
Layout test coverage for redirects using a ContentSecurityPolicyClient
and blob files.
- http/tests/security/contentSecurityPolicy/report-document-uri-blob-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/report-document-uri-blob.html: Added.
- http/tests/security/contentSecurityPolicy/report-document-uri-after-blocked-redirect-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/report-document-uri-after-blocked-redirect.html: Added.
- platform/mac-wk1/http/tests/security/contentSecurityPolicy/report-document-uri-after-blocked-redirect-expected.txt: Added.
- platform/win/http/tests/security/contentSecurityPolicy/report-document-uri-after-blocked-redirect-expected.txt: Added.
- platform/win/TestExpectations:
Blob URLs timeout on win.
- 9:14 AM Changeset in webkit [273819] by
-
- 74 edits57 adds57 deletes in trunk/LayoutTests
[LayoutTests] Convert http/tests/misc convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=221981
<rdar://problem/74399686>
Reviewed by Jonathan Bedard.
- http/tests/fetch/fetch-in-worker.js:
- http/tests/misc/401-alternative-content-expected.txt:
- http/tests/misc/401-alternative-content.php: Removed.
- http/tests/misc/401-alternative-content.py: Added.
- http/tests/misc/async-script-removed.html:
- http/tests/misc/async-script.html:
- http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt:
- http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin.html:
- http/tests/misc/authentication-redirect-1/resources/auth-echo.php: Removed.
- http/tests/misc/authentication-redirect-1/resources/auth-echo.py: Added.
- http/tests/misc/authentication-redirect-1/resources/auth-then-redirect.php: Removed.
- http/tests/misc/authentication-redirect-1/resources/auth-then-redirect.py: Added.
- http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt:
- http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin.html:
- http/tests/misc/authentication-redirect-2/resources/auth-echo.php: Removed.
- http/tests/misc/authentication-redirect-2/resources/auth-echo.py: Added.
- http/tests/misc/authentication-redirect-2/resources/auth-then-redirect.php: Removed.
- http/tests/misc/authentication-redirect-2/resources/auth-then-redirect.py: Added.
- http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials-expected.txt:
- http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html:
- http/tests/misc/authentication-redirect-3/resources/auth-echo.php: Removed.
- http/tests/misc/authentication-redirect-3/resources/auth-echo.py: Added.
- http/tests/misc/authentication-redirect-3/resources/auth-then-redirect-with-url-credentials.php: Removed.
- http/tests/misc/authentication-redirect-3/resources/auth-then-redirect-with-url-credentials.py: Added.
- http/tests/misc/authentication-redirect-3/resources/auth-then-redirect.php: Removed.
- http/tests/misc/authentication-redirect-3/resources/auth-then-redirect.py: Added.
- http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt:
- http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url.html:
- http/tests/misc/authentication-redirect-4/resources/auth-echo.php: Removed.
- http/tests/misc/authentication-redirect-4/resources/auth-echo.py: Added.
- http/tests/misc/authentication-redirect-4/resources/auth-then-redirect.php: Removed.
- http/tests/misc/authentication-redirect-4/resources/auth-then-redirect.py: Added.
- http/tests/misc/bad-charset-alias.html:
- http/tests/misc/before-unload-load-image.html:
- http/tests/misc/char-encoding-bocu-1-blocklisted.html:
- http/tests/misc/char-encoding-in-hidden-charset-field-default.html:
- http/tests/misc/char-encoding-in-hidden-charset-field-with-Big5.html:
- http/tests/misc/char-encoding-in-hidden-charset-field-with-EUC-JP.html:
- http/tests/misc/char-encoding-in-hidden-charset-field-with-ISO-2022-JP.html:
- http/tests/misc/char-encoding-in-hidden-charset-field-with-Shift_JIS.html:
- http/tests/misc/char-encoding-in-hidden-charset-field-with-accept-charset.html:
- http/tests/misc/char-encoding-in-hidden-charset-field-with-get-method.html:
- http/tests/misc/char-encoding-in-hidden-charset-field-with-one-field.html:
- http/tests/misc/char-encoding-in-text-charset-field-with-value.html:
- http/tests/misc/char-encoding-scsu-blocklisted.html:
- http/tests/misc/char-encoding-without-charset-field.html:
- http/tests/misc/charset-sniffer-end-sniffing.html:
- http/tests/misc/css-reject-any-type-in-strict-mode-expected.txt:
- http/tests/misc/css-reject-any-type-in-strict-mode.html:
- http/tests/misc/dns-prefetch-control.html:
- http/tests/misc/embed-image-load-outlives-gc-without-crashing.html:
- http/tests/misc/empty-file-formdata.html:
- http/tests/misc/extract-http-content-language-against-equiv.php: Removed.
- http/tests/misc/extract-http-content-language-against-equiv.py: Added.
- http/tests/misc/extract-http-content-language-malformed.php: Removed.
- http/tests/misc/extract-http-content-language-malformed.py: Added.
- http/tests/misc/extract-http-content-language-multiple.php: Removed.
- http/tests/misc/extract-http-content-language-multiple.py: Added.
- http/tests/misc/extract-http-content-language.php: Removed.
- http/tests/misc/extract-http-content-language.py: Added.
- http/tests/misc/form-blob-challenge.html:
- http/tests/misc/form-post-textplain-cross-site.html:
- http/tests/misc/form-post-textplain.html:
- http/tests/misc/form-submit-file-cross-site-redirect.html:
- http/tests/misc/form-submit-file-cross-site.html:
- http/tests/misc/image-checks-for-accept.html:
- http/tests/misc/image-error.html:
- http/tests/misc/image-input-type-outlives-gc-without-crashing.html:
- http/tests/misc/image-load-outlives-gc-without-crashing.html:
- http/tests/misc/javascript-url-stop-loaders.html:
- http/tests/misc/large-js-program.php: Removed.
- http/tests/misc/large-js-program.py: Added.
- http/tests/misc/location-with-space.php: Removed.
- http/tests/misc/location-with-space.py: Added.
- http/tests/misc/mask-image-accept.html:
- http/tests/misc/object-image-error.html:
- http/tests/misc/object-image-load-outlives-gc-without-crashing.html:
- http/tests/misc/redirect-to-about-blank.html:
- http/tests/misc/redirect-to-external-url-expected.txt:
- http/tests/misc/redirect-with-quotes.php: Removed.
- http/tests/misc/redirect-with-quotes.py: Added.
- http/tests/misc/redirect.php: Removed.
- http/tests/misc/redirect.py: Added.
- http/tests/misc/referrer.html:
- http/tests/misc/refresh-headers.php: Removed.
- http/tests/misc/refresh-headers.py: Added.
- http/tests/misc/resources/3rd-level-iframe-with-blocking-resource.php: Removed.
- http/tests/misc/resources/3rd-level-iframe-with-blocking-resource.py: Added.
- http/tests/misc/resources/404image.php: Removed.
- http/tests/misc/resources/404image.py: Added.
- http/tests/misc/resources/SVGFont-delayed-loader.svg:
- http/tests/misc/resources/bad-charset-alias.php: Removed.
- http/tests/misc/resources/bad-charset-alias.py: Added.
- http/tests/misc/resources/basic-echo-post.php: Removed.
- http/tests/misc/resources/basic-echo-post.py: Added.
- http/tests/misc/resources/bocu-1-cyrillic.php: Removed.
- http/tests/misc/resources/bocu-1-cyrillic.py: Added.
- http/tests/misc/resources/char-encoding-in-hidden-charset-field.php: Removed.
- http/tests/misc/resources/char-encoding-in-hidden-charset-field.py: Added.
- http/tests/misc/resources/charset-sniffer-end-sniffing.php: Removed.
- http/tests/misc/resources/charset-sniffer-end-sniffing.py: Added.
- http/tests/misc/resources/check-keygen-post.php: Removed.
- http/tests/misc/resources/check-keygen-post.py: Added.
- http/tests/misc/resources/check-test-file.php: Removed.
- http/tests/misc/resources/check-test-file.py: Added.
- http/tests/misc/resources/check-unnamed-file-included-in-formdata.php: Removed.
- http/tests/misc/resources/check-unnamed-file-included-in-formdata.py: Added.
- http/tests/misc/resources/delayed-log.php: Removed.
- http/tests/misc/resources/delayed-log.py: Added.
- http/tests/misc/resources/dns-prefetch-control.php: Removed.
- http/tests/misc/resources/dns-prefetch-control.py: Added.
- http/tests/misc/resources/echo-query-param.php: Removed.
- http/tests/misc/resources/echo-query-param.py: Added.
- http/tests/misc/resources/form-post-textplain.php: Removed.
- http/tests/misc/resources/form-post-textplain.py: Added.
- http/tests/misc/resources/hang-connection.php: Removed.
- http/tests/misc/resources/hang-connection.py: Added.
- http/tests/misc/resources/image-checks-for-accept.php: Removed.
- http/tests/misc/resources/image-checks-for-accept.py: Added.
- http/tests/misc/resources/nested-iframe-loading-another-iframe.html:
- http/tests/misc/resources/protected/protected-image.php: Removed.
- http/tests/misc/resources/protected/protected-image.py: Added.
- http/tests/misc/resources/random-no-store.php: Removed.
- http/tests/misc/resources/random-no-store.py: Added.
- http/tests/misc/resources/redirect-result.php: Removed.
- http/tests/misc/resources/redirect-result.py: Added.
- http/tests/misc/resources/redirect-step2.php: Removed.
- http/tests/misc/resources/redirect-step2.py: Added.
- http/tests/misc/resources/redirect-step3.php: Removed.
- http/tests/misc/resources/redirect-step3.py: Added.
- http/tests/misc/resources/redirect-step4.php: Removed.
- http/tests/misc/resources/redirect-step4.py: Added.
- http/tests/misc/resources/redirect-to-about-blank.php: Removed.
- http/tests/misc/resources/redirect-to-about-blank.py: Added.
- http/tests/misc/resources/redirect-to-external-url-iframe.html:
- http/tests/misc/resources/redirect-to-external-url.php: Removed.
- http/tests/misc/resources/redirect-to-external-url.py: Added.
- http/tests/misc/resources/referrer-main-resource.php: Removed.
- http/tests/misc/resources/referrer-main-resource.py: Added.
- http/tests/misc/resources/referrer-result.php: Removed.
- http/tests/misc/resources/referrer-result.py: Added.
- http/tests/misc/resources/script-500.php: Removed.
- http/tests/misc/resources/script-500.py: Added.
- http/tests/misc/resources/scsu-cyrillic.php: Removed.
- http/tests/misc/resources/scsu-cyrillic.py: Added.
- http/tests/misc/resources/send-async-xhr.html:
- http/tests/misc/resources/slowimage.php: Removed.
- http/tests/misc/resources/slowimage.py: Added.
- http/tests/misc/resources/stylesheet-bad-mime-type.php: Removed.
- http/tests/misc/resources/stylesheet-bad-mime-type.py: Added.
- http/tests/misc/resources/webtiming-cross-origin-and-back-redirect1.php: Removed.
- http/tests/misc/resources/webtiming-cross-origin-and-back-redirect1.py: Added.
- http/tests/misc/resources/webtiming-cross-origin-and-back-redirect2.php: Removed.
- http/tests/misc/resources/webtiming-cross-origin-and-back-redirect2.py: Added.
- http/tests/misc/script-500.html:
- http/tests/misc/script-no-store.html:
- http/tests/misc/submit-post-keygen.html:
- http/tests/misc/svg-image-load-outlives-gc-without-crashing.html:
- http/tests/misc/timer-vs-loading.html:
- http/tests/misc/url-in-utf16be.html:
- http/tests/misc/url-in-utf16le.html:
- http/tests/misc/video-poster-image-load-outlives-gc-without-crashing.html:
- http/tests/misc/webtiming-cross-origin-and-back1.html:
- http/tests/misc/webtiming-cross-origin-redirect.php: Removed.
- http/tests/misc/webtiming-cross-origin-redirect.py: Added.
- http/tests/misc/webtiming-one-redirect.php: Removed.
- http/tests/misc/webtiming-one-redirect.py: Added.
- http/tests/misc/webtiming-slow-load.php: Removed.
- http/tests/misc/webtiming-slow-load.py: Added.
- http/tests/misc/webtiming-ssl.php: Removed.
- http/tests/misc/webtiming-ssl.py: Added.
- http/tests/misc/webtiming-two-redirects.php: Removed.
- http/tests/misc/webtiming-two-redirects.py: Added.
- http/tests/misc/xhtml.php: Removed.
- http/tests/misc/xhtml.py: Added.
- http/tests/xmlhttprequest/on-network-timeout-error-during-preflight.html:
- http/tests/xmlhttprequest/resetting-timeout-to-zero.html:
- http/tests/xmlhttprequest/timeout-greater-than-default-network-timeout.html:
- platform/gtk/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
- platform/win/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt:
- platform/wk2/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt:
- platform/wk2/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt:
- platform/wk2/http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials-expected.txt:
- platform/wk2/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt:
- 9:11 AM Changeset in webkit [273818] by
-
- 2 edits in trunk/LayoutTests
[GPUP] imported/w3c/web-platform-tests/webrtc/RTCRtpSender-replaceTrack.https.html times out with GPU Process enabled
https://bugs.webkit.org/show_bug.cgi?id=222505
<rdar://problem/74814573>
Unreviewed.
- gpu-process/TestExpectations:
Test is no longer timing out on GPUProcess bot.
- 8:55 AM Changeset in webkit [273817] by
-
- 6 edits in trunk
WebKitLegacy needs to keep JSDOMWindow even though it is used while its origin is not set
https://bugs.webkit.org/show_bug.cgi?id=222589
<rdar://problem/74258258>
Reviewed by Geoffrey Garen.
Source/WebCore:
Use the new flag to allow reuse of JSDOMWindow objects even though they are created at a time where its SecurityOrigin is not set yet.
This allows keeping WebKitLegacy existing functionality.
Covered by API test.
- bindings/js/JSWindowProxy.cpp:
(WebCore::JSWindowProxy::setWindow):
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Introduce a flag, on for WebKit and off for WebKitLegacy.
Tools:
- TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm:
(TestWebKitAPI::TEST):
- 8:37 AM Changeset in webkit [273816] by
-
- 4 edits2 adds in trunk
Add JSModuleNamespaceObject::deletePropertyByIndex() method
https://bugs.webkit.org/show_bug.cgi?id=222611
Reviewed by Yusuke Suzuki.
JSTests:
- modules/arbitrary-module-names-indexed.js: Added.
- modules/arbitrary-module-names/export-indexed.js: Added.
Source/JavaScriptCore:
r270923 introduced arbitrary module namespace identifiers, enabling indexed identifiers
to be exported. While they were already handled by getOwnPropertySlotByIndex(), indexed
Delete override was absent, which prevented TypeError from being thrown.
This patch adds the missing method, aligning JSC with the spec [1].
[1]: https://tc39.es/ecma262/#sec-module-namespace-exotic-objects-delete-p
- runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::deleteProperty):
(JSC::JSModuleNamespaceObject::deletePropertyByIndex):
- runtime/JSModuleNamespaceObject.h:
- 8:34 AM Changeset in webkit [273815] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Enable simplified vertical alignment for empty inline boxes
https://bugs.webkit.org/show_bug.cgi?id=222630
Reviewed by Antti Koivisto.
This patch enables the simplified vertical alignment for cases when the line has non-stretching empty inline boxes.
e.g.
<div>text<span></span>content</div>
but not
<div>text<span style="font-size: 100px"></span>content</div> (in standards mode the empty inline box starts with a strut, so this would be stretching the root inline box to ~100px).
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::canUseSimplifiedAlignment):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::align):
- layout/inlineformatting/InlineLineBox.h:
(WebCore::Layout::LineBox::InlineLevelBox::LayoutBounds::operator== const):
- 8:02 AM Changeset in webkit [273814] by
-
- 26 edits in trunk
[CMake] JavaScriptCore GLib headers should be copies
https://bugs.webkit.org/show_bug.cgi?id=222625
Reviewed by Michael Catanzaro.
.:
Specify the directories for JavaScriptCore GLib headers and derived sources.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/JavaScriptCore:
Copy the headers rather than creating a symbolic link to structure the JavaScriptCore Glib
headers into a jsc directory. This follows the convention used in JavaScriptCore where
there are public and private headers.
The public JavaScriptCore GLib headers are copied before building JavaScriptCore. The
private JavaScriptCore were modified to include the public GLib headers through
<jsc/Header.h> rather than "Header.h" which is convention for the private C APIs in
JavaScriptCore.
APICast.h was being erroneously included in JSCClassPrivate.h because its not a
JavaScriptCore GLib header. Instead forward declarations were added to the private headers
and APICast.h was used as necessary in the .cpp files.
- API/glib/JSCClassPrivate.h:
- API/glib/JSCContext.cpp:
- API/glib/JSCContextPrivate.h:
- API/glib/JSCExceptionPrivate.h:
- API/glib/JSCValuePrivate.h:
- API/glib/JSCVirtualMachine.cpp:
- API/glib/JSCVirtualMachinePrivate.h:
- API/glib/JSCWrapperMap.cpp:
- GLib.cmake:
- PlatformGTK.cmake:
Source/WebKit:
Update the includes for the GLib ports.
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMNode.cpp:
- WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp:
Tools:
Update the includes for the GLib ports.
- MiniBrowser/wpe/CMakeLists.txt:
- TestWebKitAPI/PlatformGTK.cmake:
- TestWebKitAPI/PlatformWPE.cmake:
- TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
- TestWebKitAPI/glib/CMakeLists.txt:
- TestWebKitAPI/glib/PlatformGTK.cmake:
- 4:20 AM Changeset in webkit [273813] by
-
- 24 edits in trunk/Source/JavaScriptCore
[WASM-Function-References] Extend wasm type with type index
https://bugs.webkit.org/show_bug.cgi?id=222351
Patch by Dmitry Bezhetskov <dbezhetskov> on 2021-03-03
Reviewed by Keith Miller.
Extend wasm type with type index to represent
new reference types from typed function references
proposal: https://github.com/WebAssembly/function-references/blob/master/proposals/function-references/Overview.md.
- bytecode/BytecodeDumper.cpp:
(JSC::Wasm::BytecodeDumper::dumpConstants):
(JSC::Wasm::BytecodeDumper::formatConstant const):
- bytecode/BytecodeDumper.h:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::TypedTmp::TypedTmp):
(JSC::Wasm::TypedTmp::dump const):
(JSC::Wasm::AirIRGenerator::g32):
(JSC::Wasm::AirIRGenerator::g64):
(JSC::Wasm::AirIRGenerator::gExternref):
(JSC::Wasm::AirIRGenerator::gFuncref):
(JSC::Wasm::AirIRGenerator::f32):
(JSC::Wasm::AirIRGenerator::f64):
(JSC::Wasm::AirIRGenerator::tmpForType):
(JSC::Wasm::AirIRGenerator::emitCCall):
(JSC::Wasm::AirIRGenerator::moveOpForValueType):
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::addLocal):
(JSC::Wasm::AirIRGenerator::addConstant):
(JSC::Wasm::AirIRGenerator::addRefIsNull):
(JSC::Wasm::AirIRGenerator::addRefFunc):
(JSC::Wasm::AirIRGenerator::addTableGet):
(JSC::Wasm::AirIRGenerator::addTableSet):
(JSC::Wasm::AirIRGenerator::addTableInit):
(JSC::Wasm::AirIRGenerator::addElemDrop):
(JSC::Wasm::AirIRGenerator::addTableSize):
(JSC::Wasm::AirIRGenerator::addTableGrow):
(JSC::Wasm::AirIRGenerator::addTableFill):
(JSC::Wasm::AirIRGenerator::addTableCopy):
(JSC::Wasm::AirIRGenerator::addGrowMemory):
(JSC::Wasm::AirIRGenerator::addCurrentMemory):
(JSC::Wasm::AirIRGenerator::addMemoryFill):
(JSC::Wasm::AirIRGenerator::addMemoryCopy):
(JSC::Wasm::AirIRGenerator::addMemoryInit):
(JSC::Wasm::AirIRGenerator::addDataDrop):
(JSC::Wasm::AirIRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::AirIRGenerator::sanitizeAtomicResult):
(JSC::Wasm::AirIRGenerator::appendGeneralAtomic):
(JSC::Wasm::AirIRGenerator::appendStrongCAS):
(JSC::Wasm::AirIRGenerator::emitAtomicLoadOp):
(JSC::Wasm::AirIRGenerator::atomicLoad):
(JSC::Wasm::AirIRGenerator::emitAtomicStoreOp):
(JSC::Wasm::AirIRGenerator::emitAtomicBinaryRMWOp):
(JSC::Wasm::AirIRGenerator::atomicBinaryRMW):
(JSC::Wasm::AirIRGenerator::emitAtomicCompareExchange):
(JSC::Wasm::AirIRGenerator::atomicCompareExchange):
(JSC::Wasm::AirIRGenerator::atomicWait):
(JSC::Wasm::AirIRGenerator::atomicNotify):
(JSC::Wasm::AirIRGenerator::truncSaturated):
(JSC::Wasm::AirIRGenerator::addReturn):
(JSC::Wasm::AirIRGenerator::addSwitch):
(JSC::Wasm::AirIRGenerator::emitModOrDiv):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I32TruncSF64>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I32TruncSF32>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I32TruncUF64>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I32TruncUF32>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64TruncSF64>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64TruncUF64>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64TruncSF32>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64TruncUF32>):
(JSC::Wasm::AirIRGenerator::addShift):
(JSC::Wasm::AirIRGenerator::addFloatingPointBinOp):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Min>):
(JSC::Wasm::AirIRGenerator::addFloatingPointMinOrMax):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Max>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Mul>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Div>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Div>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Neg>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64Rotr>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64Rotl>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I32ShrU>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I32ShrS>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I32Shl>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Min>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Sub>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64ShrS>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64ShrU>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64Shl>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I32Rotl>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I32Rotr>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Neg>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Max>):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addTableGet):
(JSC::Wasm::B3IRGenerator::addRefFunc):
(JSC::Wasm::B3IRGenerator::addTableInit):
(JSC::Wasm::B3IRGenerator::addTableSize):
(JSC::Wasm::B3IRGenerator::addTableGrow):
(JSC::Wasm::B3IRGenerator::addTableFill):
(JSC::Wasm::B3IRGenerator::addTableCopy):
(JSC::Wasm::B3IRGenerator::addMemoryFill):
(JSC::Wasm::B3IRGenerator::addMemoryInit):
(JSC::Wasm::B3IRGenerator::addMemoryCopy):
(JSC::Wasm::B3IRGenerator::sanitizeAtomicResult):
(JSC::Wasm::B3IRGenerator::atomicLoad):
(JSC::Wasm::B3IRGenerator::emitAtomicStoreOp):
(JSC::Wasm::B3IRGenerator::emitAtomicBinaryRMWOp):
(JSC::Wasm::B3IRGenerator::atomicBinaryRMW):
(JSC::Wasm::B3IRGenerator::emitAtomicCompareExchange):
(JSC::Wasm::B3IRGenerator::atomicCompareExchange):
- wasm/WasmCallingConvention.h:
(JSC::Wasm::WasmCallingConvention::marshallLocation const):
(JSC::Wasm::WasmCallingConvention::callInformationFor const):
(JSC::Wasm::JSCallingConvention::marshallLocation const):
- wasm/WasmFormat.h:
(JSC::Wasm::isValueType):
(JSC::Wasm::isRefType):
(JSC::Wasm::TableInformation::wasmType const):
- wasm/WasmFunctionCodeBlock.h:
- wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser::TypedExpression::TypedExpression):
(JSC::Wasm::FunctionParser<Context>::load):
(JSC::Wasm::FunctionParser<Context>::store):
(JSC::Wasm::FunctionParser<Context>::atomicLoad):
(JSC::Wasm::FunctionParser<Context>::atomicStore):
(JSC::Wasm::FunctionParser<Context>::atomicBinaryRMW):
(JSC::Wasm::FunctionParser<Context>::atomicCompareExchange):
(JSC::Wasm::FunctionParser<Context>::atomicWait):
(JSC::Wasm::FunctionParser<Context>::atomicNotify):
(JSC::Wasm::FunctionParser<Context>::checkBranchTarget):
(JSC::Wasm::FunctionParser<Context>::unify):
(JSC::Wasm::FunctionParser<Context>::parseExpression):
- wasm/WasmGlobal.cpp:
(JSC::Wasm::Global::get const):
(JSC::Wasm::Global::set):
(JSC::Wasm::Global::visitAggregateImpl):
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::jsNullConstant):
(JSC::Wasm::LLIntGenerator::zeroConstant):
(JSC::Wasm::LLIntGenerator::callInformationForCaller):
(JSC::Wasm::LLIntGenerator::callInformationForCallee):
(JSC::Wasm::LLIntGenerator::addArguments):
(JSC::Wasm::LLIntGenerator::addLocal):
- wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- wasm/WasmParser.h:
(JSC::Wasm::Parser<SuccessType>::parseBlockSignature):
(JSC::Wasm::Parser<SuccessType>::parseValueType):
- wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseType):
(JSC::Wasm::SectionParser::parseTableHelper):
(JSC::Wasm::SectionParser::parseGlobal):
(JSC::Wasm::SectionParser::parseElement):
(JSC::Wasm::SectionParser::parseInitExpr):
(JSC::Wasm::SectionParser::parseI32InitExpr):
(JSC::Wasm::SectionParser::parseElementSegmentVectorOfExpressions):
- wasm/WasmSignature.cpp:
(JSC::Wasm::Signature::dump const):
(JSC::Wasm::computeHash):
(JSC::Wasm::SignatureInformation::SignatureInformation):
- wasm/WasmSignature.h:
(JSC::Wasm::SignatureInformation::thunkFor const):
- wasm/WasmTable.cpp:
(JSC::Wasm::Table::wasmType const):
- wasm/generateWasmOpsHeader.py:
(TypeKind):
- wasm/js/JSToWasm.cpp:
(JSC::Wasm::marshallJSResult):
(JSC::Wasm::createJSToWasmWrapper):
- wasm/js/JSWebAssemblyHelpers.h:
(JSC::defaultValueForReferenceType):
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJS):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
- wasm/js/WebAssemblyGlobalConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::linkImpl):
Mar 2, 2021:
- 10:43 PM Changeset in webkit [273812] by
-
- 25 edits1 copy in trunk
[selectors] :focus-visible implementation
https://bugs.webkit.org/show_bug.cgi?id=222028
<rdar://problem/74679243>
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update expectations, most of the :focus-visible tests are passing now.
- web-platform-tests/css/selectors/focus-in-focus-event-001-expected.txt:
- web-platform-tests/css/selectors/focus-in-focusin-event-001-expected.txt:
- web-platform-tests/css/selectors/focus-visible-001-expected.txt:
- web-platform-tests/css/selectors/focus-visible-002-expected.txt:
- web-platform-tests/css/selectors/focus-visible-006-expected.txt:
- web-platform-tests/css/selectors/focus-visible-007-expected.txt:
- web-platform-tests/css/selectors/focus-visible-007.html: Import last changes on this test
- web-platform-tests/css/selectors/focus-visible-008-expected.txt:
(see https://github.com/web-platform-tests/wpt/pull/27656).
- web-platform-tests/css/selectors/focus-visible-011-expected.txt:
- web-platform-tests/css/selectors/focus-visible-011.html: Import last changes on this test
(see https://github.com/web-platform-tests/wpt/pull/27700).
- web-platform-tests/css/selectors/focus-visible-013-expected.txt:
- web-platform-tests/css/selectors/focus-visible-014-expected.txt:
- web-platform-tests/css/selectors/focus-visible-016-expected.txt:
Source/WebCore:
Add basic :focus-visible implementation behind the FocusVisibleEnabled experimental feature flag.
This patch implements the heuristics defined in the spec (https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo),
except the ones related to script focus.
Test: imported/w3c/web-platform-tests/css/selectors/focus-visible-*
- css/SelectorCheckerTestFunctions.h:
(WebCore::matchesFocusVisiblePseudoClass): Check element.hasFocusVisible().
- dom/Element.cpp:
(WebCore::Element::setFocus): When an element loses focus it always call setHasFocusVisible(false). When an element gets focused
it calls setHasFocusVisible(true) for elements that support keyboard input (as they always match :focus-visible).
(WebCore::Element::setHasFocusVisible): New method gated behind the experimental flag.
- dom/Element.h:
(WebCore::Element::hasFocusVisible const): Add new method.
- dom/Node.h:
(WebCore::Node::flagHasFocusVisible): Add new flag for :focus-visible matching.
- page/EventHandler.cpp:
(WebCore::EventHandler::internalKeyEvent): If the user interacts with the page via keyboard, call setHasFocusVisible(true).
Avoid that for modifier keys.
- page/FocusController.cpp:
(WebCore::FocusController::advanceFocusInDocumentOrder): Call setHasFocusVisible(true) for keyboard focus.
- page/FrameView.cpp:
(WebCore::FrameView::scrollToFragmentInternal): Call setHasFocusVisible(true) for anchor focus.
- style/StyleSharingResolver.cpp:
(WebCore::Style::SharingResolver::canShareStyleWithElement const): Add check for hasFocusVisible().
LayoutTests:
- platform/ios/TestExpectations: Skip focus-visible-008.html and focus-visible-011.html as they timeout in iOS.
- platform/mac/imported/w3c/web-platform-tests/css/selectors/focus-visible-008-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/css/selectors/focus-visible-008-expected.txt.
- 9:05 PM Changeset in webkit [273811] by
-
- 6 edits in trunk/LayoutTests
[GLIB] Rebaseline and update expectations
Unreviewed test gardening.
Some tests are not crashing anymore.
- platform/glib/TestExpectations:
- platform/gtk-wayland/TestExpectations:
- platform/gtk/TestExpectations:
- platform/gtk/css1/formatting_model/height_of_lines-expected.txt:
- platform/wpe/TestExpectations:
- 8:56 PM Changeset in webkit [273810] by
-
- 1 copy in tags/Safari-612.1.5.2.1
Tag Safari-612.1.5.2.1.
- 8:52 PM Changeset in webkit [273809] by
-
- 2 edits in trunk/Source/WebCore
Crash in removeSymbolElementsFromSubtree()
https://bugs.webkit.org/show_bug.cgi?id=222397
Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2021-03-02
Reviewed by Ryosuke Niwa.
Skip children in removeSymbolElementsFromSubtree(), so that
we don't see nodes that have been removed.
Thanks to Darin Adler for the initial version of this patch
and Ryosuke Niwa for refinements.
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::updateShadowTree):
(WebCore::removeSymbolElementsFromSubtree):
- 8:49 PM Changeset in webkit [273808] by
-
- 8 edits in branches/safari-612.1.5.2-branch/Source
Versioning.
WebKit-7612.1.5.2.1
- 8:38 PM Changeset in webkit [273807] by
-
- 1 copy in branches/safari-612.1.5.2-branch
New branch.
- 8:35 PM Changeset in webkit [273806] by
-
- 5 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo/TestExpectations:
- platform/wincairo/css1/text_properties/text_decoration-expected.txt:
- platform/wincairo/css1/text_properties/vertical_align-expected.txt:
- platform/wincairo/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
- 8:29 PM Changeset in webkit [273805] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Enable simplified vertical alignment for hard line breaks
https://bugs.webkit.org/show_bug.cgi?id=222606
Reviewed by Antti Koivisto.
This patch enables the simplified vertical alignment for cases when the line ends with a non-stretching hard line break.
e.g.
<div>text<br>content</div>
<div>text<span><br></span>content</div>
but not when
<div>text<span style="font-size: 100px;"><br></span>content</div>
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::canUseSimplifiedAlignment):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::align):
- 7:09 PM Changeset in webkit [273804] by
-
- 9 edits in branches/safari-612.1.5-branch/Source/JavaScriptCore
Cherry-pick r273751. rdar://problem/74953144
[Cocoa] REGRESSION(r272752): fix some internal builds that use WTFString::WTFString(NSString *)
https://bugs.webkit.org/show_bug.cgi?id=222610
<rdar://74938249>
Unreviewed build fix.
Patch by BJ Burg <BJ Burg> on 2021-03-02
- inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py: (ObjCProtocolTypeConversionsImplementationGenerator._generate_type_factory_method_implementation): Some builders seem to find the new version of the header (without the exported NSString constructor) whereas others don't find the new version (expecting the symbol to be exported), causing a linker error later on.
As a workaround, force usage of the CFStringRef constructor, which is always exported.
- inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
- inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
- inspector/scripts/tests/expected/enum-values.json-result:
- inspector/scripts/tests/expected/type-declaration-array-type.json-result:
- inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
- inspector/scripts/tests/expected/type-declaration-object-type.json-result:
- inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result: Rebaseline generator test results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273751 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:09 PM Changeset in webkit [273803] by
-
- 2 edits in branches/safari-612.1.5-branch/Source/WebCore
Cherry-pick r273721. rdar://problem/74952690
Make DictionaryLookup::rangeAtHitTestResult more robust
https://bugs.webkit.org/show_bug.cgi?id=222301
<rdar://problem/74529831>
Patch by Alex Christensen <achristensen@webkit.org> on 2021-03-01
Reviewed by Brent Fulgham.
This may be related to r265084 but something is crashing and I'm not sure what.
Adding some Optional checks might fix something, but this is still puzzling to me.
- editing/cocoa/DictionaryLookup.mm: (WebCore::DictionaryLookup::rangeAtHitTestResult):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:09 PM Changeset in webkit [273802] by
-
- 3 edits2 adds in branches/safari-612.1.5-branch
Cherry-pick r273656. rdar://problem/74952887
REGRESSION(r272004): transform transition with delay doesn't behave correctly
https://bugs.webkit.org/show_bug.cgi?id=222545
<rdar://problem/74865413>
Reviewed by Dean Jackson.
Source/WebCore:
To support accelerated animations of individual transform properties, we introduced the notion of
non-interpolating animations to apply the underlying value for a given property before applying
the actual animations for this property with additivity set to true.
These non-interpolating animations were meant to last between the time at which animations were
committed and the effective start of the first animation for that property, accounting for any
delay.
However, we neglected to handle the case where that first animation had a fill mode that would
make it fill backwards, such as CSS Transitions. In that situation, the animation would have
its first keyframe applied on top of the underlying value, effectively applying the underlying
value twice with additivity.
We now only add these non-interpolating animations if the first animation has a delay and does
not fill backwards.
Test: webanimations/transform-transition-with-delay-on-forced-layer-with-transform.html
- platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::updateAnimations):
LayoutTests:
Add a new test where an element with a non-identity transform starts a transform transition with a
long delay. Prior to this patch, this test failed because, while in the delay phase, the transition
would mean the underlying transform was applied twice: once by the non-interpolating animation
generated for the underlying "transform" value, and once by the first keyframe of the transition
since it fills backwards.
- webanimations/transform-transition-with-delay-on-forced-layer-with-transform-expected.html: Added.
- webanimations/transform-transition-with-delay-on-forced-layer-with-transform.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:09 PM Changeset in webkit [273801] by
-
- 4 edits in branches/safari-612.1.5-branch
Cherry-pick r273583. rdar://problem/74953376
Add AXTextMarkerRangeForNSRange attribute so that Mac clients can access this functionality.
https://bugs.webkit.org/show_bug.cgi?id=222477
Source/WebCore:
<rdar://problem/74793445>
Reviewed by Chris Fleizach.
This is a follow up to: https://bugs.webkit.org/show_bug.cgi?id=222154.
As Chris Fleizach pointed out in the above review, it is necessary to
add a handler in accessibilityAttributeValue:forParameter: for a new AX
attribute in order for clients to access this functionality.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): (-[WebAccessibilityObjectWrapper textMarkerRangeForNSRange:]): Deleted.
Tools:
Reviewed by Chris Fleizach.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::textMarkerRangeForRange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273583 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:09 PM Changeset in webkit [273800] by
-
- 20 edits in branches/safari-612.1.5-branch/Source
Cherry-pick r273568. rdar://problem/74952680
[GPUP] Allow painting of GPUP hosted video from the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=222461
Reviewed by Eric Carlson.
Source/WebCore:
- Change the return type of pixelBufferForCurrentTime() to return a RetainPtr<> rather than just a raw pointer.
- Add utility methods on IOSurface to retrieve an IOSurface from a CVPixelBuffer and to reconstitute a CVPixelBuffer from an IOSurface.
- platform/cocoa/CoreVideoSoftLink.cpp:
- platform/cocoa/CoreVideoSoftLink.h:
- platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::pixelBufferForCurrentTime):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h: (WebCore::MediaPlayerPrivateInterface::pixelBufferForCurrentTime):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::pixelBufferForCurrentTime):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pixelBufferForCurrentTime):
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm: (WebCore::IOSurface::createFromPixelBuffer): (WebCore::IOSurface::createPixelBuffer):
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp: (WebCore::GraphicsContextGLOpenGL::copyTextureFromMedia):
Source/WebKit:
Add Cocoa implementations for nativeImageForCurrentTime() and pixelBufferForCurrentTime().
Use those methods to implement paintCurrentFrameInContext().
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm: (WebKit::RemoteMediaPlayerProxy::nativeImageForCurrentTime): (WebKit::RemoteMediaPlayerProxy::pixelBufferForCurrentTime):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp: (WebKit::MediaPlayerPrivateRemote::paint): (WebKit::MediaPlayerPrivateRemote::paintCurrentFrameInContext): (WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm: (WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime): (WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:09 PM Changeset in webkit [273799] by
-
- 4 edits6 adds in branches/safari-612.1.5-branch
Cherry-pick r273513. rdar://problem/74953307
[Cocoa] Appending a partial segment of a WebM audio file results in no additional samples
https://bugs.webkit.org/show_bug.cgi?id=222407
<rdar://74610383>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-webm-vorbis-partial.html
When appending a partial WebM segment, it can occur that the parser is mid-way through
parsing a Block or SimpleBlock, and is waiting for enough data to be appended to construct a
full sample. However, previous appends are not accounted for when calculated the amount of
data to be requested from the reader, which both results in too much data read and a
miscalculation of thebytesRemainingout-param. This causes all subsequent appends to
generate no samples, leading to an apparent stall in playback.
Add a new ivar to track the number of partial bytes read, and use that value to calculate
the number of bytes yet to be parsed.
- platform/graphics/cocoa/SourceBufferParserWebM.cpp: (WebCore::SourceBufferParserWebM::VideoTrackData::createSampleBuffer):
- platform/graphics/cocoa/SourceBufferParserWebM.h:
LayoutTests:
- platform/mac-bigsur/media/media-source/content/test-48kHz-vorbis-manifest.json: Added.
- platform/mac-bigsur/media/media-source/content/test-48kHz-vorbis.webm: Added.
- platform/mac-bigsur/media/media-source/media-source-webm-vorbis-partial-expected.txt: Added.
- platform/mac-bigsur/media/media-source/media-source-webm-vorbis-partial.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:09 PM Changeset in webkit [273798] by
-
- 5 edits4 adds in branches/safari-612.1.5-branch
Cherry-pick r273512. rdar://problem/74953022
REGRESSION(r269957): Empty font names passed to canvas2d cause all text routines to crash
https://bugs.webkit.org/show_bug.cgi?id=222402
<rdar://problem/72621268>
Reviewed by Darin Adler and Chris Lord.
Source/WebCore:
It looks like it was simply an oversight from that patch. If the font name is empty,
CanvasRenderingContext2D::setFont() will set the font object to one that doesn't have
its internal FontCascadeFonts pointer set.
Tests: fast/text/canvas-font-resolution-2.html
fast/text/canvas-font-resolution.html
- html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setFont):
- html/canvas/CanvasRenderingContext2DBase.h: (WebCore::CanvasRenderingContext2DBase::FontProxy::isPopulated const):
- style/StyleResolveForFontRaw.cpp: (WebCore::Style::resolveForFontRaw):
LayoutTests:
- fast/text/canvas-font-resolution-2-expected.html: Added.
- fast/text/canvas-font-resolution-2.html: Added.
- fast/text/canvas-font-resolution-expected.txt: Added.
- fast/text/canvas-font-resolution.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273797] by
-
- 2 edits in branches/safari-612.1.5-branch/Source/WebCore
Cherry-pick r273499. rdar://problem/74952752
Avoid setting page muted state if unchanged
https://bugs.webkit.org/show_bug.cgi?id=222395
Reviewed by Brent Fulgham.
Return early in Page::setMuted if muted state did not change.
No new tests, covered by existing tests.
- page/Page.cpp: (WebCore::Page::setMuted):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273796] by
-
- 11 edits in branches/safari-612.1.5-branch/Source/WebCore
Cherry-pick r273477. rdar://problem/74952824
Avoid heap allocation for EventContexts
https://bugs.webkit.org/show_bug.cgi?id=222095
<rdar://problem/74586915>
Reviewed by Simon Fraser.
This patch merges all subclasses of EventContext into itself to avoid heap allocation for each
EventContext in EventPath::m_path. It also merges Node::handleLocalEvents into EventContext's
handleLocalEvents to avoid the extra virtual function call.
No new tests since there should be no observable behavioral differences.
- dom/EventContext.cpp: (WebCore::EventContext::EventContext): Moved to the header to be inlined. (WebCore::EventContext::handleLocalEvents const): Merged handleLocalEvents of HTMLFormElement and Node. Moved the code to handle related target and touch targets from MouseOrFocusEventContext and TouchEventContext as they have been merged into this class. Also special case dispatching an event on window to preserve the behavior of WindowEventContext. (WebCore::EventContext::initializeTouchLists): Added. Creates TouchList objects. (WebCore::EventContext::isUnreachableNode const): Moved from the header. (WebCore::EventContext::isMouseOrFocusEventContext const): Deleted. (WebCore::EventContext::isTouchEventContext const): Deleted. (WebCore::MouseOrFocusEventContext::MouseOrFocusEventContext): Deleted. (WebCore::MouseOrFocusEventContext::handleLocalEvents const): Deleted. (WebCore::MouseOrFocusEventContext::isMouseOrFocusEventContext const): Deleted. (WebCore::TouchEventContext::TouchEventContext): Deleted. (WebCore::TouchEventContext::handleLocalEvents const): Deleted. (WebCore::TouchEventContext::isTouchEventContext const): Deleted. (WebCore::TouchEventContext::checkReachability const): Deleted. Merged into handleLocalEvents.
- dom/EventContext.h: (WebCore::EventContext::isMouseOrFocusEventContext const): Now simply checks m_type. (WebCore::EventContext::isTouchEventContext const): Ditto. (WebCore::EventContext::isWindowContext const): Ditto. (WebCore::EventContext::relatedTarget const): Moved from MouseOrFocusEventContext. (WebCore::EventContext::setRelatedTarget): Ditto. (WebCore::EventContext::touchList): Moved from TouchEventContext. (WebCore::m_contextNodeIsFormElement): Added. Caching this state here instead of checking it at every event context during dispatching in EventContext::handleLocalEvents seems to be important to get a speed up in Intel processors. Apple silicons don't seem to be affected by this. (WebCore::m_type): Added. (WebCore::MouseOrFocusEventContext): Deleted. (WebCore::MouseOrFocusEventContext::relatedTarget const): Deleted. (WebCore::TouchEventContext): Deleted. (WebCore::EventContext::EventContext): Moved from cpp file to be inlined here. (WebCore::EventContext::isUnreachableNode const): Moved into cpp as this is only used for asserting shadow DOM related conditions. (WebCore::EventContext::touchList): Renamed from TouchEventContext::touchList. (isType): Deleted.
- dom/EventDispatcher.cpp: (WebCore::EventDispatcher::dispatchEvent): Deleted the variant that takes a vector of elements since it's not used anywhere.
- dom/EventDispatcher.h:
- dom/EventPath.cpp: (WebCore::WindowEventContext): Deleted. (WebCore::EventPath::EventPath): Avoid calling setRelatedTarget if related target is not a node or the path is empty. These were early return conditions in setRelatedTarget before this patch. (WebCore::EventPath::buildPath): Always create EventContext. Dramatically simplifies the code. (WebCore::EventPath::setRelatedTarget): Moved the early exit to EventPath::EventPath. (WebCore::EventPath::retargetTouch): (WebCore::EventPath::retargetTouchList): (WebCore::EventPath::retargetTouchLists): (WebCore::EventPath::EventPath): Deleted the variant which takes a vector of elements as it's not used anywhere.
- dom/EventPath.h: (WebCore::EventPath::contextAt const): (WebCore::EventPath::contextAt): (WebCore::EventPath::m_path): Now allocates EventContext in place. The size of the inline buffer has been reduced to 16 entries for EventContext from 32 entries for std::unique_ptr<EventContext> since the former is considerably larger than the latter.
- dom/Node.cpp: (WebCore::Node::handleLocalEvents): Deleted. Merged into EventContext::handleLocalEvents.
- dom/Node.h:
- html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::handleLocalEvents): Ditto.
- html/HTMLFormElement.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273795] by
-
- 5 edits in branches/safari-612.1.5-branch/Source/WebCore
Cherry-pick r273442. rdar://problem/74952740
Regression(r269481) Kugou Music: Can not leave "MV" category after selecting it
https://bugs.webkit.org/show_bug.cgi?id=222380
<rdar://74602294>
Reviewed by Geoffrey Garen.
The new behavior in r269481 aligns us with the specification and with Blink so I
am adding a linked-on-after to maintain pre-r269481 behavior until Apps get
rebuilt against the new SDK.
- html/HTMLDocument.cpp: (WebCore::HTMLDocument::supportedPropertyNames const):
- page/Quirks.cpp: (WebCore::Quirks::shouldOmitHTMLDocumentSupportedPropertyNames):
- page/Quirks.h:
- platform/cocoa/VersionChecks.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273794] by
-
- 6 edits3 adds in branches/safari-612.1.5-branch
Cherry-pick r273438. rdar://problem/74953033
Regression(r268700) postMessage changes prototype of basic types
https://bugs.webkit.org/show_bug.cgi?id=222228
<rdar://problem/74612853>
Reviewed by Geoffrey Garen.
Source/WebCore:
r268700 updated ScriptExecutionContext::globalObject() to call:
WebCore::globalObject(mainThreadNormalWorld(), downcast<Document>(*this).page())
instead of
frame ? frame->script().globalObject(mainThreadNormalWorld()) : nullptr
This was not right for subframes because globalObject() gets the globalObject from
the page's main frame instead of the document's frame.
This patch gets rid of the error-prone WebCore::globalObject() taking in a Page*
and replaces it with one taking in a Frame* to avoid such issues in the future.
Test: fast/dom/Window/postMessage-Object-prototype.html
- bindings/js/ScriptState.cpp: (WebCore::globalObject):
- bindings/js/ScriptState.h:
- dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::globalObject):
- inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu):
LayoutTests:
Add layout test coverage.
- fast/dom/Window/postMessage-Object-prototype-expected.txt: Added.
- fast/dom/Window/postMessage-Object-prototype.html: Added.
- fast/dom/Window/resources/postMessage-Object-prototype-frame.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273793] by
-
- 3 edits in branches/safari-612.1.5-branch/Source/WebCore
Cherry-pick r273415. rdar://problem/74953177
Move PostResolutionCallbackDisabler to resolveComputedStyle
https://bugs.webkit.org/show_bug.cgi?id=222350
Reviewed by Ryosuke Niwa.
It can be constructed and deleted repeatedly in styleForElementIgnoringPendingStylesheets when
resolveComputedStyle calls it in a loop.
- dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets):
- dom/Element.cpp: (WebCore::Element::resolveComputedStyle): (WebCore::Element::resolvePseudoElementStyle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273415 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273792] by
-
- 7 edits4 adds in branches/safari-612.1.5-branch
Cherry-pick r273385. rdar://problem/74953186
Runtime-disabled CSS features still appear enabled via CSS.supports()
https://bugs.webkit.org/show_bug.cgi?id=222280
rdar://74595641
Reviewed by Sam Weinig.
Source/WebCore:
When parsing CSS.supports() for a runtime-disabled property, we'd successfully
parse a CSS-wide keyword like "inherit" and report that the property is supported.
We need to explicitly check for runtime-disabled properties.
Tests: css3/color-filters/color-filter-exposed-if-disabled.html
fast/css/scroll-behavior-exposed-if-disabled.html
- css/parser/CSSParserImpl.cpp: (WebCore::CSSParserImpl::isPropertyRuntimeDisabled const): (WebCore::CSSParserImpl::consumeDeclaration):
- css/parser/CSSParserImpl.h:
LayoutTests:
- css3/color-filters/color-filter-exposed-if-disabled-expected.txt: Added. Fails tracked in webkit.org/b/217626
- css3/color-filters/color-filter-exposed-if-disabled.html: Added.
- fast/css/overscroll-behavior-invalidate-if-disabled-expected.txt:
- fast/css/overscroll-behavior-invalidate-if-disabled.html:
- fast/css/scroll-behavior-exposed-if-disabled-expected.txt: Added.
- fast/css/scroll-behavior-exposed-if-disabled.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273791] by
-
- 6 edits2 adds in branches/safari-612.1.5-branch
Cherry-pick r273314. rdar://problem/74953186
aspect-ratio shows in computed style when disabled
https://bugs.webkit.org/show_bug.cgi?id=222286
Patch by Rob Buis <rbuis@igalia.com> on 2021-02-23
Reviewed by Simon Fraser.
Source/WebCore:
Make aspect-ratio invisible from style when disabled.
Test: fast/css/aspect-ratio-invalidate-if-disabled.html
- css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSProperties.json:
Tools:
Add support for disabling aspect-ratio in wk1.
- DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults):
LayoutTests:
Add test.
- fast/css/aspect-ratio-invalidate-if-disabled-expected.txt: Added.
- fast/css/aspect-ratio-invalidate-if-disabled.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273790] by
-
- 2 edits in branches/safari-612.1.5-branch/Source/WebKit
Cherry-pick r273304. rdar://problem/74953207
[macOS] Crash under AuxiliaryProcess::initializeSandbox
https://bugs.webkit.org/show_bug.cgi?id=222233
Unreviewed, address additional review feedback.
Add comment and logging when the WebKit client is setting the user directory suffix.
- Shared/mac/AuxiliaryProcessMac.mm: (WebKit::initializeSandboxParameters):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273789] by
-
- 2 edits in branches/safari-612.1.5-branch/Source/WebKit
Cherry-pick r273289. rdar://problem/74953476
UserMediaPermissionRequestManagerProxy may be released while computing capture device list
https://bugs.webkit.org/show_bug.cgi?id=222236
<rdar://74480265>
Unreviewed, address post-review comment.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::computeFilteredDeviceList): Use
captured
this.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273788] by
-
- 2 edits in branches/safari-612.1.5-branch/Source/WebKit
Cherry-pick r273271. rdar://problem/74953207
[macOS] Crash under AuxiliaryProcess::initializeSandbox
https://bugs.webkit.org/show_bug.cgi?id=222233
<rdar://problem/74261611>
Reviewed by Brent Fulgham.
When a WebKit client provides a user directory suffix in the process initialization parameters, confstr with the new
user suffix applied will fail to create the full directory path if it does not exist, and return an empty result.
This will lead to empty paths in the sandbox parameters, which will cause the sandbox to fail to compile, which will
eventually crash the WebKit process. This patch addresses this by making sure the new user directory suffix does not
represent a path, since confstr is not able to handle user directory suffixes containing paths that do not exist.
Additionally, this patch reverts r271417, which was the first attempt at fixing this crash, but was unsuccessful in
doing so.
- Shared/mac/AuxiliaryProcessMac.mm: (WebKit::initializeSandboxParameters): (WebKit::AuxiliaryProcess::initializeSandbox):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273271 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273787] by
-
- 4 edits in branches/safari-612.1.5-branch/Source
Cherry-pick r273270. rdar://problem/74953268
[macOS] Disabling relaunch on login for the WebContent process is racy
https://bugs.webkit.org/show_bug.cgi?id=222074
<rdar://problem/74230216>
Reviewed by Geoffrey Garen.
Source/WebCore/PAL:
Declare Launch Services key to disable relaunch on login.
- pal/spi/cocoa/LaunchServicesSPI.h:
Source/WebKit:
When NSApplication is being intialized, the method -[NSApplication disableRelaunchOnLogin] is dispatched on a non-main thread, which is in a race
with the revocation of the Launch Services sandbox extension. This patch addresses this by setting this information synchronously with Launch
Services while the sandbox extension is being held. Additionally, accessibility related code under WebPage::platformInitialize may reach out to
the Launch Services daemon once during the lifetime of the WebContent process. Make sure that call succeeds by making a synchronous call while
a sandbox extension to the Launch Services daemon is being held.
- WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273270 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273786] by
-
- 2 edits in branches/safari-612.1.5-branch/Source/WebKit
Cherry-pick r273265. rdar://problem/74953476
UserMediaPermissionRequestManagerProxy may be released while computing capture device list
https://bugs.webkit.org/show_bug.cgi?id=222236
<rdar://74480265>
Reviewed by Youenn Fablet.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::computeFilteredDeviceList): Return early
if
weakThisis NULL.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273265 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:08 PM Changeset in webkit [273785] by
-
- 5 edits1 add in branches/safari-612.1.5-branch
Cherry-pick r273264. rdar://problem/74952900
REGRESSION (r266695): twitch.tv: when in fullscreen, WebKit continually does 350ms layouts. Firefox and Chrome do not
https://bugs.webkit.org/show_bug.cgi?id=222202
<rdar://problem/74537782>
Reviewed by Simon Fraser.
PerformanceTests:
New performance test for nested column flexboxes with percentage heights.
- Layout/nested-column-flexboxes-relative-height.html: Added.
Source/WebCore:
The problem was that we were doing the initial layout for the children of the flex container twice in those cases where
the child inline axis was not the main axis (for example with column flex containers in horizontal writing modes).
Refactored the code (specially the way we clear overriding sizes) so that we only do it once. This saves tons of layouts
in pages with nested column flexboxes with relative heights.
No new tests as there is no change in functionality, we're removing duplicate extra layouts. We're however adding a new
performance test for column flexboxes with percentage heights. With this patch we go from 3.5 layout/s to 145 layout/s
which is ~4000% better.
Inspired by Blink's crrev.com/c/1614058 by <cbiesinger@chromium.org>.
- rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): Do not unconditionally clear overriding sizes. Also removed relayoutChildren which is now unused. Do not layout the item, that should have been done in computeInnerFlexBaseSizeForChild() before. Added ASSERTs to verify that child's intrinsic main size was cached as a consequence of the previous layout. (WebCore::RenderFlexibleBox::constructFlexItem): Do not pass relayoutChildren to computeInnerFlexBaseSizeForChild. Also no need to update it after laying out the child.
- rendering/RenderFlexibleBox.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:05 PM Changeset in webkit [273784] by
-
- 16 edits1 copy in trunk
REGRESSION(r270691): It's impossible to use MobileAsset fonts on macOS
https://bugs.webkit.org/show_bug.cgi?id=222582
<rdar://problem/74877450>
Reviewed by Per Arne Vollan.
Source/WebKit:
Simply apply the iOS codepath to macOS.
There is also an additional change here to the Mac sandbox.
On Big Sur and earlier, before this patch, com.apple.mobileassetd was allowed,
and com.apple.mobileassetd.v2 was disallowed. After this patch, they both are
allowed, but only with the com.apple.webkit.extension.mach extension.
On other OSes, before this patch, nothing was allowed, whereas after this patch,
only com.apple.mobileassetd.v2 is allowed with the com.apple.webkit.extension.mach
extension.
Test: WebKit.MobileAssetSandboxCheck
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _grantAccessToAssetServices]):
(-[WKWebView _revokeAccessToAssetServices]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _grantAccessToAssetServices]): Deleted.
(-[WKWebView _revokeAccessToAssetServices]): Deleted.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::grantAccessToAssetServices):
(WebKit::WebPageProxy::revokeAccessToAssetServices):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::grantAccessToAssetServices): Deleted.
(WebKit::WebPageProxy::revokeAccessToAssetServices): Deleted.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::revokeAccessToAssetServices):
- WebProcess/com.apple.WebProcess.sb.in:
- WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::grantAccessToAssetServices):
(WebKit::WebProcess::revokeAccessToAssetServices):
- WebProcess/playstation/WebProcessPlayStation.cpp:
(WebKit::WebProcess::grantAccessToAssetServices):
(WebKit::WebProcess::revokeAccessToAssetServices):
- WebProcess/win/WebProcessWin.cpp:
(WebKit::WebProcess::grantAccessToAssetServices):
(WebKit::WebProcess::revokeAccessToAssetServices):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/MobileAssetSandboxCheck.mm: Copied from Source/WebKit/WebProcess/win/WebProcessWin.cpp.
(TEST):
- 6:30 PM Changeset in webkit [273783] by
-
- 6 edits4 adds4 deletes in trunk/LayoutTests
[LayoutTests] Convert http/tests/download convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=222618
<rdar://problem/74949253>
Reviewed by Jonathan Bedard.
- http/tests/download/anchor-download-attribute-content-disposition-no-extension-octet-stream.html:
- http/tests/download/anchor-download-attribute-content-disposition-no-extension-text-plain.html:
- http/tests/download/anchor-download-attribute-content-disposition.html:
- http/tests/download/basic-ascii-expected.txt:
- http/tests/download/basic-ascii.html:
- http/tests/download/resources/basic-ascii.php: Removed.
- http/tests/download/resources/basic-ascii.py: Added.
- http/tests/download/resources/content-disposition-pass-no-extension-octet-stream.php: Removed.
- http/tests/download/resources/content-disposition-pass-no-extension-octet-stream.py: Added.
- http/tests/download/resources/content-disposition-pass-no-extension-text-plain.php: Removed.
- http/tests/download/resources/content-disposition-pass-no-extension-text-plain.py: Added.
- http/tests/download/resources/content-disposition-pass.php: Removed.
- http/tests/download/resources/content-disposition-pass.py: Added.
- 6:23 PM Changeset in webkit [273782] by
-
- 7 edits3 adds3 deletes in trunk/LayoutTests
[LayoutTests] Convert http/tests/history convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=222614
<rdar://problem/74946423>
Reviewed by Jonathan Bedard.
- http/tests/history/popstate-fires-with-pending-requests.html:
- http/tests/history/replacestate-post-to-get-2.html:
- http/tests/history/replacestate-post-to-get.html:
- http/tests/history/resources/replacestate-current.php: Removed.
- http/tests/history/resources/replacestate-current.py: Added.
- http/tests/history/resources/replacestate-forward-back.php: Removed.
- http/tests/history/resources/replacestate-forward-back.py: Added.
- http/tests/history/resources/slow-image.php: Removed.
- http/tests/history/resources/slow-image.py: Added.
- http/tests/inspector/page/resources/slow-test-page.html:
- http/tests/navigation/page-cache-pending-image-load-cache-partition.html:
- http/tests/navigation/page-cache-pending-image-load.html:
- 6:20 PM Changeset in webkit [273781] by
-
- 30 edits36 adds36 deletes in trunk/LayoutTests
[LayoutTests] Convert http/tests/navigation convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=222418
<rdar://problem/74744523>
Reviewed by Jonathan Bedard.
- TestExpectations:
- http/tests/navigation/back-send-referrer.html:
- http/tests/navigation/https-in-page-cache.html:
- http/tests/navigation/page-cache-fragment-referrer.html:
- http/tests/navigation/post-goback-repost-policy-expected.txt:
- http/tests/navigation/post-goback-repost-policy.html:
- http/tests/navigation/post-goback-same-url-expected.txt:
- http/tests/navigation/post-goback-same-url.html:
- http/tests/navigation/post-redirect-get-reload-expected.txt:
- http/tests/navigation/post-redirect-get-reload.php: Removed.
- http/tests/navigation/post-redirect-get-reload.py: Added.
- http/tests/navigation/pushstate-at-unique-origin-denied.php: Removed.
- http/tests/navigation/pushstate-at-unique-origin-denied.py: Added.
- http/tests/navigation/redirect-on-back-updates-history-item.html:
- http/tests/navigation/redirect-on-reload-updates-history-item.html:
- http/tests/navigation/redirect-preserves-fragment-expected.txt:
- http/tests/navigation/redirect-preserves-fragment.html:
- http/tests/navigation/redirect-to-fragment-expected.txt:
- http/tests/navigation/redirect-to-fragment.html:
- http/tests/navigation/redirect-to-fragment2-expected.txt:
- http/tests/navigation/redirect-to-fragment2.html:
- http/tests/navigation/redirect-to-invalid-url-expected.txt:
- http/tests/navigation/redirect-to-invalid-url.html:
- http/tests/navigation/redirect-to-random-url-versus-memory-cache.html:
- http/tests/navigation/resources/back-send-referrer-helper.php: Removed.
- http/tests/navigation/resources/back-send-referrer-helper.py: Added.
- http/tests/navigation/resources/goback-with-policydelegate.php: Removed.
- http/tests/navigation/resources/goback-with-policydelegate.py: Added.
- http/tests/navigation/resources/https-in-page-cache-1.php: Removed.
- http/tests/navigation/resources/https-in-page-cache-1.py: Added.
- http/tests/navigation/resources/https-in-page-cache-2.php: Removed.
- http/tests/navigation/resources/https-in-page-cache-2.py: Added.
- http/tests/navigation/resources/https-no-store-subframe-in-page-cache.html:
- http/tests/navigation/resources/keyboard-events-test.js:
(waitForProvisionalNavigation):
- http/tests/navigation/resources/never-respond.php: Removed.
- http/tests/navigation/resources/never-respond.py: Added.
- http/tests/navigation/resources/no-store-frame.php: Removed.
- http/tests/navigation/resources/no-store-frame.py: Added.
- http/tests/navigation/resources/post-goback-same-url.php: Removed.
- http/tests/navigation/resources/post-goback-same-url.py: Added.
- http/tests/navigation/resources/post-target-policy-test.php: Removed.
- http/tests/navigation/resources/post-target-policy-test.py: Added.
- http/tests/navigation/resources/randomredirects/0.php: Removed.
- http/tests/navigation/resources/randomredirects/0.py: Added.
- http/tests/navigation/resources/randomredirects/1.php: Removed.
- http/tests/navigation/resources/randomredirects/1.py: Added.
- http/tests/navigation/resources/randomredirects/2.php: Removed.
- http/tests/navigation/resources/randomredirects/2.py: Added.
- http/tests/navigation/resources/randomredirects/3.php: Removed.
- http/tests/navigation/resources/randomredirects/3.py: Added.
- http/tests/navigation/resources/randomredirects/4.php: Removed.
- http/tests/navigation/resources/randomredirects/4.py: Added.
- http/tests/navigation/resources/randomredirects/5.php: Removed.
- http/tests/navigation/resources/randomredirects/5.py: Added.
- http/tests/navigation/resources/randomredirects/6.php: Removed.
- http/tests/navigation/resources/randomredirects/6.py: Added.
- http/tests/navigation/resources/randomredirects/7.php: Removed.
- http/tests/navigation/resources/randomredirects/7.py: Added.
- http/tests/navigation/resources/randomredirects/8.php: Removed.
- http/tests/navigation/resources/randomredirects/8.py: Added.
- http/tests/navigation/resources/randomredirects/9.php: Removed.
- http/tests/navigation/resources/randomredirects/9.py: Added.
- http/tests/navigation/resources/randomredirects/randomredirect.php: Removed.
- http/tests/navigation/resources/randomredirects/randomredirect.py: Added.
- http/tests/navigation/resources/redirect-on-back-updates-history-item.php: Removed.
- http/tests/navigation/resources/redirect-on-back-updates-history-item.py: Added.
- http/tests/navigation/resources/redirect-on-reload-updates-history-item-statistics.php: Removed.
- http/tests/navigation/resources/redirect-on-reload-updates-history-item-statistics.py: Added.
- http/tests/navigation/resources/redirect-on-reload-updates-history-item.php: Removed.
- http/tests/navigation/resources/redirect-on-reload-updates-history-item.py: Added.
- http/tests/navigation/resources/redirect-preserves-fragment.php: Removed.
- http/tests/navigation/resources/redirect-preserves-fragment.py: Added.
- http/tests/navigation/resources/redirect-to-cookie.php: Removed.
- http/tests/navigation/resources/redirect-to-cookie.py: Added.
- http/tests/navigation/resources/redirect-to-fragment.php: Removed.
- http/tests/navigation/resources/redirect-to-fragment.py: Added.
- http/tests/navigation/resources/redirect-to-fragment2.php: Removed.
- http/tests/navigation/resources/redirect-to-fragment2.py: Added.
- http/tests/navigation/resources/redirect-to-invalid-url-frame.php: Removed.
- http/tests/navigation/resources/redirect-to-invalid-url-frame.py: Added.
- http/tests/navigation/resources/referrer.php: Removed.
- http/tests/navigation/resources/referrer.py: Added.
- http/tests/navigation/resources/target-blank-opener-post-window.php: Removed.
- http/tests/navigation/resources/target-blank-opener-post-window.py: Added.
- http/tests/navigation/resources/target-blank-opener-window.php: Removed.
- http/tests/navigation/resources/target-blank-opener-window.py: Added.
- http/tests/navigation/resources/user-agent-script.php: Removed.
- http/tests/navigation/resources/user-agent-script.py: Added.
- http/tests/navigation/slow-loading-page-with-slow-script.php: Removed.
- http/tests/navigation/slow-loading-page-with-slow-script.py: Added.
- http/tests/navigation/statistics.html:
- http/tests/navigation/target-blank-opener-post.html:
- http/tests/navigation/target-blank-opener.html:
- http/tests/navigation/useragent-reload.php: Removed.
- http/tests/navigation/useragent-reload.py: Added.
- http/tests/navigation/useragent.php: Removed.
- http/tests/navigation/useragent.py: Added.
- platform/wk2/TestExpectations:
- platform/wk2/http/tests/navigation/redirect-preserves-fragment-expected.txt:
- platform/wk2/http/tests/navigation/redirect-to-fragment-expected.txt:
- platform/wk2/http/tests/navigation/redirect-to-invalid-url-expected.txt:
- 6:12 PM Changeset in webkit [273780] by
-
- 8 edits in branches/safari-612.1.5-branch/Source
Versioning.
WebKit-7612.1.5.4
- 6:02 PM Changeset in webkit [273779] by
-
- 2 edits in trunk/Source/JavaScriptCore
Flaky JSC test: stress/shared-array-buffer-sort-while-different-thread-is-modifying.js.default
https://bugs.webkit.org/show_bug.cgi?id=221129
Reviewed by Saam Barati.
Speculative fix for JSC shell's termination handling change.
- jsc.cpp:
(CommandLine::CommandLine):
(jscmain):
- 5:56 PM Changeset in webkit [273778] by
-
- 8 edits2 adds in trunk/Source/WebKit
[iOS] Image extraction should install image overlay content
https://bugs.webkit.org/show_bug.cgi?id=222621
Reviewed by Tim Horton.
Take some initial steps towards refactoring image extraction on iOS. See WebKitAdditions for more details.
- Platform/cocoa/ImageExtractionUtilities.h: Added.
- Platform/cocoa/ImageExtractionUtilities.mm: Added.
Add a new file to contain image-extraction-related functionality; see WebKitAdditions.
- SourcesCocoa.txt:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateWithImageExtractionResult):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateWithImageExtractionResult):
Add IPC plumbing between
WebPageProxy(in the UI process) andWebPageto allow clients to push image
extraction results down to a given element on the page.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 5:37 PM Changeset in webkit [273777] by
-
- 13 edits in trunk/Source
[JSC] Remove ImpureProxyType
https://bugs.webkit.org/show_bug.cgi?id=222626
Reviewed by Alexey Shvayka.
Source/JavaScriptCore:
ImpureProxyType is no longer used. This patch just removes it.
- API/tests/JSObjectGetProxyTargetTest.cpp:
(testJSObjectGetProxyTarget):
- runtime/HasOwnPropertyCache.h:
(JSC::HasOwnPropertyCache::tryAdd):
- runtime/JSCast.h:
- runtime/JSCellInlines.h:
(JSC::JSCell::isProxy const):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::resetPrototype):
(JSC::JSGlobalObject::finishCreation):
- runtime/JSProxy.h:
(JSC::JSProxy::createStructure):
- runtime/JSType.cpp:
(WTF::printInternal):
- runtime/JSType.h:
- runtime/Structure.h:
(JSC::Structure::isProxy const):
- tools/JSDollarVM.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
Source/WebCore:
- workers/WorkerOrWorkletScriptController.cpp:
(WebCore::WorkerOrWorkletScriptController::initScriptWithSubclass):
- 5:25 PM Changeset in webkit [273776] by
-
- 16 edits2 deletes in trunk
Reduce the size of extended colors by storing the color space in free bits of the owning Color
https://bugs.webkit.org/show_bug.cgi?id=222584
Reviewed by Darin Adler.
Source/WebCore:
Reduce the size of non-SRBGA<uint8_t> colors by moving the color space from the ref counted
out-of-line bit into the free bits of the Color itself.
Also, take the opertunity to move and rename the out of line bit from it's own file named
ExtendedColor to a private nested type called OutOfLineComponents.
Color now encodes the following data:
| 8 bits | 8 bits | 48 (or 32) bits |
| ColorSpace | Flags | InlineColorDataOrOutOfLinePtr |
ColorSpace actually only uses 4 bits, so if we need more room for flags
in the future, we could pack things even more tightly.
Additionally, take the opportunity to remove the isInline/isExtended and
asInline/asExtended functions. The functionality of isInline/asInline
is still necessary in some places, but can be replaced by a single
tryGetAsSRGBABytes which returns an Optional<SRGBA<uint8_t>> with a
valid value when the stored value is inline.
Since ExtendedColor is no longer accessible, a few tests that checked things like
the ref count of the ExtendedColor had to be changed.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/Color.cpp:
(WebCore::Color::Color):
(WebCore::Color::operator=):
(WebCore::Color::semanticColor const):
(WebCore::Color::colorSpaceAndComponents const):
- platform/graphics/Color.h:
(WebCore::Color::Color):
(WebCore::Color::isOpaque const):
(WebCore::Color::isVisible const):
(WebCore::Color::alphaByte const):
(WebCore::Color::alphaAsFloat const):
(WebCore::Color::OutOfLineComponents::create):
(WebCore::Color::OutOfLineComponents::alpha const):
(WebCore::Color::OutOfLineComponents::components const):
(WebCore::Color::OutOfLineComponents::OutOfLineComponents):
(WebCore::Color::setOutOfLineComponents):
(WebCore::operator==):
(WebCore::outOfLineComponentsEqual):
(WebCore::outOfLineComponentsEqualIgnoringSemanticColor):
(WebCore::equalIgnoringSemanticColor):
(WebCore::Color::~Color):
(WebCore::Color::hash const):
(WebCore::Color::colorSpace const):
(WebCore::Color::callOnUnderlyingType const):
(WebCore::Color::isOutOfLine const):
(WebCore::Color::isInline const):
(WebCore::Color::asOutOfLine const):
(WebCore::Color::asOutOfLineRef const):
(WebCore::Color::tryGetAsSRGBABytes const):
(WebCore::Color::encodedFlags):
(WebCore::Color::encodedColorSpace):
(WebCore::Color::encodedOutOfLineComponents):
(WebCore::Color::decodedFlags):
(WebCore::Color::decodedColorSpace):
(WebCore::Color::decodedOutOfLineComponents):
(WebCore::Color::setColor):
(WebCore::Color::encode const):
(WebCore::Color::decode):
(WebCore::Color::setExtendedColor): Deleted.
(WebCore::extendedColorsEqual): Deleted.
(WebCore::extendedColorsEqualIgnoringSemanticColor): Deleted.
(WebCore::Color::isExtended const): Deleted.
(WebCore::Color::asExtended const): Deleted.
(WebCore::Color::asExtendedRef const): Deleted.
(WebCore::Color::encodedExtendedColor): Deleted.
(WebCore::Color::decodedExtendedColor): Deleted.
- platform/graphics/ColorSerialization.cpp:
- platform/graphics/ExtendedColor.h: Removed.
- platform/graphics/cg/ColorCG.cpp:
(WebCore::cachedCGColor):
- platform/graphics/cg/GradientCG.cpp:
(WebCore::Gradient::createCGGradient):
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::SetInlineFillGradient::SetInlineFillGradient):
(WebCore::DisplayList::SetInlineFillGradient::isInline):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::containsOnlyInlineStateChanges):
(WebCore::DisplayList::Recorder::appendStateChangeItem):
- platform/graphics/mac/ColorMac.mm:
(WebCore::nsColor):
Tools:
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::makeColor):
- TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp: Removed.
Update tests to account for removal of the ExtendedColor class.
Merge ExtendedColorTests.cpp that still make sense into ColorTests.cpp
- 5:12 PM Changeset in webkit [273775] by
-
- 2 edits in trunk/Source/WebKit
[ BigSur Debug Wk 2 ] ASSERT NOT REACHED in WebCore::DisplayList::PaintFrameForMedia::apply
https://bugs.webkit.org/show_bug.cgi?id=221989
<rdar://problem/74403030>
Reviewed by Jer Noble.
No new tests, this will fix a crash on debug bots.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::applyMediaItem): When we cannot get the player, the player
with the given identifier must have been destroyed. This function can return true to indicate
that the item has been applied.
- 4:56 PM Changeset in webkit [273774] by
-
- 4 edits in trunk/Tools
[git-webkit] Better logging when attempting to convert tag to identifier
https://bugs.webkit.org/show_bug.cgi?id=222482
<rdar://problem/74797495>
Reviewed by Aakash Jain.
- Scripts/libraries/webkitcorepy/setup.py: Bug version.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn._commit_count):
- 4:39 PM Changeset in webkit [273773] by
-
- 11 edits in trunk
Rename ForcePageRenderingUpdatesAt60FPSEnabled preference to PreferPageRenderingUpdatesNear60FPSEnabled
https://bugs.webkit.org/show_bug.cgi?id=222580.
Reviewed by Tim Horton.
Source/WebCore:
The new setting has the inverse sense of the (confusingly named) older one.
Keep the setting off for now to avoid a behavior change.
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::preferredScriptedAnimationInterval const): Use new Setting name.
- page/Page.cpp:
(WebCore::Page::preferredRenderingUpdateInterval const): If the pref is set, pass in the actual display FPS
so the code uses that in its fps computation (potentially reducing, say, 144fps to 72fps).
- page/RenderingUpdateScheduler.cpp:
(WebCore::RenderingUpdateScheduler::adjustRenderingUpdateFrequency): Renamed preferredFramesPerSecond() to preferredFramesPerSecondFromInterval()
(WebCore::RenderingUpdateScheduler::scheduleRenderingUpdate):
- platform/graphics/AnimationFrameRate.h:
(WebCore::preferredFramesPerSecondFromInterval): Renamed to avoid future name collisions.
(WebCore::preferredFramesPerSecond): Deleted.
- platform/graphics/mac/DisplayRefreshMonitorMac.h:
Source/WTF:
PreferPageRenderingUpdatesNear60FPSEnabled is a better description of what the preference does.
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
- TestWebKitAPI/Tests/WebCore/AnimationFrameRate.cpp:
(TestWebKitAPI::TEST): Function rename.
- 4:38 PM Changeset in webkit [273772] by
-
- 1 delete in tags/Safari-611.1.18.3.1
Delete tag.
- 4:38 PM Changeset in webkit [273771] by
-
- 1 delete in tags/Safari-611.1.18.2.1
Delete tag.
- 4:21 PM Changeset in webkit [273770] by
-
- 1 copy in tags/Safari-611.1.21.0.2
Tag Safari-611.1.21.0.2.
- 4:20 PM Changeset in webkit [273769] by
-
- 1 copy in tags/Safari-611.1.21.1.3
Tag Safari-611.1.21.1.3.
- 4:01 PM Changeset in webkit [273768] by
-
- 2 edits in trunk/Source/JavaScriptCore
Improve logging of OSR availability analysis validation failures
https://bugs.webkit.org/show_bug.cgi?id=222612
Reviewed by Yusuke Suzuki.
- dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
- 3:47 PM Changeset in webkit [273767] by
-
- 6 edits in trunk/Source
Allow IDL
Dateto be parsed from a string in addition to a number and actual JSDate
https://bugs.webkit.org/show_bug.cgi?id=222605
<rdar://problem/74502335>
Reviewed by Yusuke Suzuki.
JS
Datecan be stringified into JSON, but cannot be parsed back into a JSDatewithout
additional logic since the stringified value is indistinguishable from a regular string.
Source/JavaScriptCore:
- runtime/JSDateMath.h:
Export
DateCache::parseDateso it can be used in WebCore bindings code.
Source/WebCore:
- bindings/js/JSDOMConvertDate.h:
(WebCore::Converter<IDLDate>::convert):
Pass theJSGlobalObjectinstead of theVM.
- bindings/js/JSDOMConvertDate.cpp:
(WebCore::valueToDate):
Check ifvalue.isString()and if so useDateCache::parseDate(same as JSDate.parse).
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
Pass theJSGlobalObjectinstead of theVM. Should have no behavioral change since the
valueToDatecall is already guarded by avalue.inherits<DateInstance>(vm)check.
- 3:33 PM Changeset in webkit [273766] by
-
- 10 edits in trunk/Source/JavaScriptCore
[JSC] Optimize getEnumerableLength
https://bugs.webkit.org/show_bug.cgi?id=222539
Reviewed by Alexey Shvayka.
Now getEnumerableLength is only overridden by JSProxy. And this is called in the critical path of propertyNameEnumerator.
We should not use indirect call for getEnumerableLength. We remove indirect functions for getEnumerableLength. For JSProxy,
any results is OK since anyway JSProxy does not utilize the result of this function since it cannot use fast index enumerator.
We also avoid calling holesMustForwardToPrototype in getEnumerableLength when it is meaningless. For example,
if the object is ALL_BLANK_INDEXING_TYPES, then regardless of the condition of holesMustForwardToPrototype, the result of
getEnumerableLength is zero.
- runtime/ClassInfo.h:
- runtime/JSCast.h:
- runtime/JSCell.cpp:
(JSC::JSCell::getEnumerableLength): Deleted.
- runtime/JSCell.h:
- runtime/JSObject.cpp:
(JSC::JSObject::getEnumerableLength):
- runtime/JSObject.h:
- runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):
- runtime/JSProxy.cpp:
(JSC::JSProxy::getEnumerableLength): Deleted.
- runtime/JSProxy.h:
- 3:27 PM Changeset in webkit [273765] by
-
- 13 edits in trunk/Tools
[webkitscmpy] Add UUID
https://bugs.webkit.org/show_bug.cgi?id=222602
<rdar://problem/74931488>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit):
(Commit.Encoder.default): Add order member.
(Commit.init): Ditto.
(Commit.uuid): Compute UUID from timestamp and order.
(Commit.cmp): Use UUID instead of timestamp for comparison.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.commit): Compute commit order.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/git-repo.json: Add "order" to colliding commit.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Correct case where comparison fails.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.commit): Compute commit order.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.commit): Compute commit order.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
- Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
- Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_order): Added.
(TestGitHub.test_order): Added.
(TestBitBucket.test_order): Added.
- 3:22 PM Changeset in webkit [273764] by
-
- 4 edits2 adds in trunk
The layout of SVGImage should force the layout for its clients
https://bugs.webkit.org/show_bug.cgi?id=221253
<rdar://problem/74138641>
Reviewed by Simon Fraser.
Source/WebCore:
Unlike the bitmap image, the intrinsic size of SVGImage can only be known
after running its layout. Because SVGImage can be used by multiple clients,
CachedImage maintains an SVGImageCache which maps a client to an
SVGImageForContainer. SVGImageForContainer is just a wrapper of SVGImage
with the intrinsic size of the client. Because we may set an entry for
the renderer in SVGImageCache early before running a layout for SVGImage
and because the renderer intrinsic size depends on the intrinsic size of
SVGImage, SVGImageForContainer may have an empty intrinsic size.
So basically it is a race condition: knowing the intrinsic size of the
SVGImage client depends on the intrinsic size of SVGImage itself. And the
intrinsic size of SVGImageForContainer depends on the intrinsic size of
the client. This may lead to not rendering the clients because their sizes
are empty. To fix this issue we need to force calculateBackgroundImageGeometry()
once we finish the layout of the SVGImage which happens after receiving all
its data and calling RenderBox::imageChanged().
Test: fast/css/background-svg-image-loading.html
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::finishLoading):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::repaintLayerRectsForImage):
LayoutTests:
- fast/css/background-svg-image-loading-expected.html: Added.
- fast/css/background-svg-image-loading.html: Added.
- 3:06 PM Changeset in webkit [273763] by
-
- 6 edits2 deletes in trunk/Tools
Remove the ability to run tests via webkit-patch
https://bugs.webkit.org/show_bug.cgi?id=222617
Patch by Sam Sneddon <Sam Sneddon> on 2021-03-02
Reviewed by Jonathan Bedard.
Also removes the build-and-test and build-and-test-attachment commands, as these are now
equivalent to build and build-attachment with --test support gone.
- Scripts/webkitpy/tool/bot/layouttestresultsreader.py: Unused import
- Scripts/webkitpy/tool/commands/download.py:
(BuildAndTest):
(Land):
(LandCowhand):
(BuildAndTestAttachment):
(AbstractPatchLandingCommand):
- Scripts/webkitpy/tool/commands/download_unittest.py:
(test_build_and_test):
(test_land):
(test_land_red_builders):
(test_land_no_close):
(test_land_no_comment):
(test_land_no_comment_no_close):
- Scripts/webkitpy/tool/steps/init.py:
- Scripts/webkitpy/tool/steps/runtests.py: Removed.
- Scripts/webkitpy/tool/steps/runtests_unittest.py: Removed.
- Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest.test_runtests_args):
(StepsTest.test_runtests_debug_args):
(StepsTest.test_runtests_jsc):
(StepsTest.test_runtests_jsc_debug):
- 2:53 PM Changeset in webkit [273762] by
-
- 7 edits in trunk/Tools
[run-webkit-tests] Use webkitscmpy when reporting results
https://bugs.webkit.org/show_bug.cgi?id=222432
<rdar://problem/74755765>
Rubber-stamped by Aakash Jain.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git): The root directory should be treated as if it does not exist.
- Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
(SummarizedResultsTest.test_svn_revision): Use webkitscmpy's mock repository.
(SummarizedResultsTest.test_svn_revision_git): Added.
- Scripts/webkitpy/port/base.py:
(Port.commits_for_upload): Use webkitscmpy instead of webkitpy for repository manipulation.
- Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_commits_for_upload): Use webkitscmpy's mock repository.
(PortTest.test_commits_for_upload_git_svn): Added.
- 2:51 PM Changeset in webkit [273761] by
-
- 9 edits1 add in trunk/LayoutTests
[GLIB] Rebaseline and update expectations
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/gtk/css1/text_properties/text_decoration-expected.txt: After r273554
- platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.txt: After r271110
- platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.txt: Ditto
- platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt: Ditto
- platform/wpe/css1/text_properties/text_decoration-expected.txt: After r273554
- platform/wpe/scrollingcoordinator/scrolling-tree/absolute-in-nested-overflow-scroll-expected.txt: Added. After r271651
- platform/wpe/tables/mozilla_expected_failures/bugs/bug89315-expected.txt: After r271616
- 2:38 PM Changeset in webkit [273760] by
-
- 2 edits in trunk/Tools
[WPE] Support sending key modifiers after r272572
https://bugs.webkit.org/show_bug.cgi?id=222615
Reviewed by Adrian Perez de Castro.
- WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::wpeKeySymForKeyRef):
- 2:11 PM Changeset in webkit [273759] by
-
- 5 edits in trunk
Unconditionally return information in _autofillContext SPI when a field is focused
https://bugs.webkit.org/show_bug.cgi?id=221828
rdar://74211237
Patch by Ricky Mondello <Ricky Mondello> on 2021-03-02
Reviewed by Darin Adler.
Source/WebKit:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _autofillContext]): Change the contract of _autofillContext to return information for any focused
text field. Add a "version" key. Explicitly indicate whether we're in a login context. This SPI remains stringly
typed for flexibility.
Tools:
Tests updated by Wenson Hsieh.
Rebaseline tests.
- TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
(-[AutoFillTestView acceptsAutoFillLoginCredentials]): Renamed in line with the Password AutoFill-related
contract these tests are about.
- 1:31 PM Changeset in webkit [273758] by
-
- 5 edits1 copy in trunk/Source/WebCore
Move AnimationFrameRate code into a .cpp file
https://bugs.webkit.org/show_bug.cgi?id=222609
Reviewed by Zalan Bujtas.
AnimationFrameRate code is getting larger. It should not all be inline.
Add ANGLEWebKitBridge.* to the project; they were missing.
Sort the Xcode project, deal with unified sources fallout.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/AnimationFrameRate.cpp: Copied from Source/WebCore/platform/graphics/AnimationFrameRate.h.
(WebCore::framesPerSecondNearestFullSpeed):
(WebCore::preferredFrameInterval):
(WebCore::preferredFramesPerSecond):
(WebCore::operator<<):
- platform/graphics/AnimationFrameRate.h:
(WebCore::framesPerSecondNearestFullSpeed): Deleted.
(WebCore::preferredFrameInterval): Deleted.
(WebCore::preferredFramesPerSecond): Deleted.
(WebCore::operator<<): Deleted.
- platform/graphics/cg/ImageUtilitiesCG.cpp:
- 1:23 PM BuildingCairoOnWindows edited by
- (diff)
- 1:13 PM Changeset in webkit [273757] by
-
- 59 edits in branches/safari-611.1.21.1-branch/Source/WebCore
Apply patch. rdar://problem/74944301
- 1:12 PM Changeset in webkit [273756] by
-
- 59 edits in branches/safari-611.1.21.0-branch/Source/WebCore
Apply patch. rdar://problem/74944257
- 1:05 PM Changeset in webkit [273755] by
-
- 1 copy in tags/Safari-612.1.5.3
Tag Safari-612.1.5.3.
- 12:35 PM Changeset in webkit [273754] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Enable simplified vertical alignment for non-empty root inline box
https://bugs.webkit.org/show_bug.cgi?id=222604
Reviewed by Antti Koivisto.
This patch enables the simplified vertical alignment for cases when the root inline box has text content.
e.g. <div>this is text only</div>
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):
- 12:23 PM Changeset in webkit [273753] by
-
- 7 edits in trunk
Take box-sizing into account in replaced element intrinsic sizing
https://bugs.webkit.org/show_bug.cgi?id=221671
Patch by Rob Buis <rbuis@igalia.com> on 2021-03-02
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Sync test.
- web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-032.html:
Source/WebCore:
Take box-sizing into account in replaced element intrinsic sizing when
using aspect-ratio, but keep using content-box when resolving
width/height when no aspect-ratio is set.
Tests: imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-031.html
imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-032.html
imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-033.html
- rendering/RenderReplaced.cpp:
(WebCore::resolveWidthForRatio):
(WebCore::RenderReplaced::computeReplacedLogicalWidth const):
(WebCore::resolveHeightForRatio):
(WebCore::RenderReplaced::computeReplacedLogicalHeight const):
LayoutTests:
Enable some tests that pass now.
- 12:08 PM Changeset in webkit [273752] by
-
- 2 edits in trunk/Source/WebCore
Crash under KeyframeEffect::setTarget()
https://bugs.webkit.org/show_bug.cgi?id=222591
<rdar://problem/74281295>
Reviewed by David Kilzer.
The Styleable returned by targetStyleable() holds a reference to the Element that at
this point is m_target (assuming it's non-null). However, once we set the new value
for m_target, if the only reference to the original target was held by this KeyframeEffect,
then that element will be deallocated and by the time we call didChangeTargetStyleable()
it will be gone.
To address, we create a RefPtr<Element> in the scope of KeyframeEffect::setTarget()
protecting the Styleable's element while didChangeTargetStyleable() is called.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::setTarget):
- 12:03 PM Changeset in webkit [273751] by
-
- 9 edits in trunk/Source/JavaScriptCore
[Cocoa] REGRESSION(r272752): fix some internal builds that use WTFString::WTFString(NSString *)
https://bugs.webkit.org/show_bug.cgi?id=222610
<rdar://74938249>
Unreviewed build fix.
Patch by BJ Burg <BJ Burg> on 2021-03-02
- inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:
(ObjCProtocolTypeConversionsImplementationGenerator._generate_type_factory_method_implementation):
Some builders seem to find the new version of the header (without the exported NSString constructor)
whereas others don't find the new version (expecting the symbol to be exported), causing a linker error later on.
As a workaround, force usage of the CFStringRef constructor, which is always exported.
- inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
- inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
- inspector/scripts/tests/expected/enum-values.json-result:
- inspector/scripts/tests/expected/type-declaration-array-type.json-result:
- inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
- inspector/scripts/tests/expected/type-declaration-object-type.json-result:
- inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
Rebaseline generator test results.
- 12:00 PM Changeset in webkit [273750] by
-
- 8 edits1 add in trunk
TypedArray's DefineOwnProperty should throw in case of failure
https://bugs.webkit.org/show_bug.cgi?id=220492
Reviewed by Darin Adler.
JSTests:
- stress/array-species-config-array-constructor.js:
- stress/put-direct-index-broken-2.js:
Update assertions, which are most certainly incorrect, partly aligning JSC with V8.
- stress/typedarray-access-monomorphic-neutered.js:
- stress/typedarray-access-neutered.js:
- stress/typedarray-defineOwnProperty-error.js: Added.
- test262/expectations.yaml:
Incorrect tests are being updated at https://github.com/tc39/test262/pull/2958.
Source/JavaScriptCore:
While web reality [1] requires failures of the most TypeArray internal methods to be
silent, DefineOwnProperty can fail loudly if called via Object.defineProperty.
With this patch, TypeError is thrown for detached buffer, out-of-bounds index, and
non-index canonical numeric string key. Aligns JSC with the spec [2], V8, and SM.
[1]: https://github.com/tc39/ecma262/pull/2164
[2]: https://tc39.es/ecma262/#sec-integer-indexed-exotic-objects-defineownproperty-p-desc (step 3.b)
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
- 11:51 AM Changeset in webkit [273749] by
-
- 6 edits in branches/safari-611.1.21.1-branch
Cherry-pick r273695. rdar://problem/74940739
Crash under WebProcessPool::pageBeginUsingWebsiteDataStore()
https://bugs.webkit.org/show_bug.cgi?id=222574
<rdar://68340471>
Reviewed by Geoffrey Garen.
Source/WebKit:
The issue was that when WebProcessProxy::requestTermination() was called (e.g. process is killed by WebKit
for using too much memory), we would fail to remove the process from the WebProcessCache. Because the
terminated would stay in the cache (even though WebProcessProxy::shutDown() was called), we could potentially
try and use it later on for a navigation to the same domain. This would lead to crashes because
WebProcessProxy::shutDown() has already been called.
Note that we were previously correctly removing the process from the cache in case of a proper crash, inside
WebProcessProxy::processDidTerminateOrFailedToLaunch(). I have moved the logic to remove from the cache
from processDidTerminateOrFailedToLaunch() to shutDown() to avoid similar issues in the future.
- UIProcess/API/Cocoa/WKProcessPool.mm: (-[WKProcessPool _requestWebProcessTermination:]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::shutDown): (WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:41 AM Changeset in webkit [273748] by
-
- 8 edits in branches/safari-611.1.21.1-branch/Source
Versioning.
WebKit-7611.1.21.1.3
- 11:27 AM Changeset in webkit [273747] by
-
- 8 edits in branches/safari-611.1.18.3-branch/Source
Versioning
WebKit-7611.1.18.3.1
- 11:23 AM Changeset in webkit [273746] by
-
- 8 edits in branches/safari-611.1.18.2-branch/Source
Versioning
WebKit-7611.1.18.2.1
- 11:19 AM Changeset in webkit [273745] by
-
- 6 edits3 adds3 deletes in trunk/LayoutTests
[LayoutTests] Convert http/tests/uri convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=222599
<rdar://problem/74929709>
Reviewed by Jonathan Bedard.
- http/tests/uri/css-href.php: Removed.
- http/tests/uri/css-href.py: Added.
- http/tests/uri/curly-braces-escaping-expected.txt:
- http/tests/uri/curly-braces-escaping.html:
- http/tests/uri/intercept/.htaccess:
- http/tests/uri/resources/echo-uri.php: Removed.
- http/tests/uri/resources/echo-uri.py: Added.
- http/tests/uri/resources/print-uri.php: Removed.
- http/tests/uri/resources/print-uri.py: Added.
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- 11:19 AM Changeset in webkit [273744] by
-
- 1 copy in branches/safari-611.1.18.3-branch
New branch.
- 11:18 AM Changeset in webkit [273743] by
-
- 1 copy in branches/safari-611.1.18.2-branch
New branch.
- 11:18 AM Changeset in webkit [273742] by
-
- 5 edits in trunk/Tools
Make build.webkit.org loadconfig similar to EWS
https://bugs.webkit.org/show_bug.cgi?id=222597
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/loadConfig.py:
(loadBuilderConfig):
(checkValidWorker): Method to validate worker.
(checkValidBuilder): Method to validate builder.
(checkValidSchedulers): Method to validate schedulers.
(doesTriggerExist):
(isTriggerUsedByAnyBuilder):
(checkWorkersAndBuildersForConsistency):
- CISupport/build-webkit-org/loadConfig_unittest.py: Added unit-tests.
(ConfigDotJSONTest.test_configuration):
(TestcheckValidWorker):
(TestcheckValidWorker.test_invalid_worker):
(TestcheckValidWorker.test_worker_with_missing_name):
(TestcheckValidWorker.test_worker_with_missing_platName):
(TestcheckValidWorker.test_valid_worker):
(TestcheckValidBuilder):
(TestcheckValidBuilder.test_invalid_builder):
(TestcheckValidBuilder.test_builder_with_missing_name):
(TestcheckValidBuilder.test_builder_with_invalid_identifier):
(TestcheckValidBuilder.test_builder_with_extra_long_name):
(TestcheckValidBuilder.test_builder_with_invalid_configuration):
(TestcheckValidBuilder.test_builder_with_missing_factory):
(TestcheckValidBuilder.test_builder_with_missing_scheduler):
(TestcheckValidBuilder.test_builder_with_missing_platform):
(TestcheckValidBuilder.test_valid_builder):
(TestcheckWorkersAndBuildersForConsistency):
(TestcheckWorkersAndBuildersForConsistency.test_checkWorkersAndBuildersForConsistency):
(TestcheckWorkersAndBuildersForConsistency.test_checkWorkersAndBuildersForConsistency1):
(TestcheckWorkersAndBuildersForConsistency.test_duplicate_worker):
(TestcheckWorkersAndBuildersForConsistency.test_success):
- CISupport/ews-build/loadConfig.py:
(checkWorkersAndBuildersForConsistency): Added double-quotes in error message for better readability.
- CISupport/ews-build/loadConfig_unittest.py:
(TestcheckWorkersAndBuildersForConsistency.test_checkWorkersAndBuildersForConsistency1):
- 11:16 AM Changeset in webkit [273741] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix -Wreturn-type warnings after r273550
- Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:
(WebCore::fromRTCPriorityType):
(WebCore::toRTCPriorityType):
(WebCore::toWebRTCBitRatePriority):
- 11:14 AM Changeset in webkit [273740] by
-
- 1 delete in branches/safari-611.1.18.3-branch
Delete branch.
- 11:14 AM Changeset in webkit [273739] by
-
- 1 delete in branches/safari-611.1.18.2-branch
Delete branch.
- 11:09 AM Changeset in webkit [273738] by
-
- 3 edits2 adds in branches/safari-611.1.21.0-branch
Cherry-pick r273656. rdar://problem/74883345
REGRESSION(r272004): transform transition with delay doesn't behave correctly
https://bugs.webkit.org/show_bug.cgi?id=222545
<rdar://problem/74865413>
Reviewed by Dean Jackson.
Source/WebCore:
To support accelerated animations of individual transform properties, we introduced the notion of
non-interpolating animations to apply the underlying value for a given property before applying
the actual animations for this property with additivity set to true.
These non-interpolating animations were meant to last between the time at which animations were
committed and the effective start of the first animation for that property, accounting for any
delay.
However, we neglected to handle the case where that first animation had a fill mode that would
make it fill backwards, such as CSS Transitions. In that situation, the animation would have
its first keyframe applied on top of the underlying value, effectively applying the underlying
value twice with additivity.
We now only add these non-interpolating animations if the first animation has a delay and does
not fill backwards.
Test: webanimations/transform-transition-with-delay-on-forced-layer-with-transform.html
- platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::updateAnimations):
LayoutTests:
Add a new test where an element with a non-identity transform starts a transform transition with a
long delay. Prior to this patch, this test failed because, while in the delay phase, the transition
would mean the underlying transform was applied twice: once by the non-interpolating animation
generated for the underlying "transform" value, and once by the first keyframe of the transition
since it fills backwards.
- webanimations/transform-transition-with-delay-on-forced-layer-with-transform-expected.html: Added.
- webanimations/transform-transition-with-delay-on-forced-layer-with-transform.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:08 AM Changeset in webkit [273737] by
-
- 8 edits in branches/safari-611.1.21.0-branch/Source
Versioning.
WebKit-7611.1.21.0.2
- 10:48 AM Changeset in webkit [273736] by
-
- 8 edits in branches/safari-612.1.5-branch/Source
Versioning.
WebKit-7612.1.5.3
- 10:25 AM Changeset in webkit [273735] by
-
- 10 edits in trunk
REGRESSION(r263094): [GTK][WPE] API test /webkit/WebKitWebContext/languages is failing
https://bugs.webkit.org/show_bug.cgi?id=188111
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-03-02
Reviewed by Michael Catanzaro.
Source/WebKit:
The GLib API allows to change the user preferred languages after the web process is created. Since r263094 we
are no loner sending the new overrides to the web process. Instead of calling overrideUserPreferredLanguages()
we now set the overrides in the WebProcessPool configuration, so that we can remove the language observer.
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkit_web_context_set_preferred_languages): Use WebProcessPool::setOverrideLanguages() instead of
overrideUserPreferredLanguages().
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::WebProcessPool) Remove the language observer registration.
(WebKit::WebProcessPool::~WebProcessPool): Remove the language observer unregistration.
(WebKit::WebProcessPool::setOverrideLanguages): Update the language overrides in the configuration and notify
all processes.
(WebKit::WebProcessPool::languageChanged): Deleted.
- UIProcess/WebProcessPool.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::userPreferredLanguagesChanged const): Call overrideUserPreferredLanguages() again here.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
Tools:
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextLanguages): Invalid locale is ignored now instead of throwing a exception.
- TestWebKitAPI/glib/TestExpectations.json: Remove test expectation now that it passes again.
- 10:22 AM Changeset in webkit [273734] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Enable grid view
https://bugs.webkit.org/show_bug.cgi?id=222369
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/master_buildbot2.cfg:
- 9:57 AM Changeset in webkit [273733] by
-
- 5 edits in trunk/Source/WebCore
Eliminate ScrollAnimatorGeneric::m_smoothAnimation
https://bugs.webkit.org/show_bug.cgi?id=222588
Patch by Martin Robinson <mrobinson@igalia.com> on 2021-03-02
Reviewed by Simon Fraser.
No new tests. This change should not change behavior.
Eliminate the extra ScrollAnimationSmooth in ScrollAnimatorGeneric. The base
class already knows how to do scroll animations for programmatic scrolls,
so we can reuse that animation for doing ScrollAnimator::scroll(...). This
makes the code easier to understand and should simplify managing interactions
between the different animations in the future.
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::ScrollAnimator): Renamed m_animationProgrammaticScroll
to m_scrollAnimation. The more generic name reflects the fact that it is also
used for doing scrolling from UI interaction now.
(WebCore::ScrollAnimator::scroll): Use the ScrollAnimationSmooth member to do
animated scrolls when necessary.
(WebCore::ScrollAnimator::scrollToPositionWithoutAnimation): Make sure the animation
is up to date with the current position when scrolling without it. This is
how ScrollAnimatorGeneric treated its ScrollAnimationSmooth.
(WebCore::ScrollAnimator::scrollToPositionWithAnimation): Rename member.
(WebCore::ScrollAnimator::cancelAnimations): Ditto.
(WebCore::ScrollAnimator::willEndLiveResize): Ditto.
(WebCore::ScrollAnimator::didAddVerticalScrollbar): Ditto.
(WebCore::ScrollAnimator::didAddHorizontalScrollbar): Ditto.
- platform/ScrollAnimator.h: Ditto.
- platform/generic/ScrollAnimatorGeneric.cpp:
(WebCore::ScrollAnimatorGeneric::ScrollAnimatorGeneric): Eliminate ScrollAnimationSmooth.
(WebCore::ScrollAnimatorGeneric::scrollToPositionWithoutAnimation): Ditto.
(WebCore::ScrollAnimatorGeneric::didAddVerticalScrollbar): Ditto.
(WebCore::ScrollAnimatorGeneric::didAddHorizontalScrollbar): Ditto.
(WebCore::ScrollAnimatorGeneric::ensureSmoothScrollingAnimation): Deleted.
(WebCore::ScrollAnimatorGeneric::scroll): Deleted.
(WebCore::ScrollAnimatorGeneric::willEndLiveResize): Deleted.
- platform/generic/ScrollAnimatorGeneric.h:
- 9:16 AM Changeset in webkit [273732] by
-
- 8 edits in trunk
Use capture settings after recovering capture from GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=221126
<rdar://problem/73744819>
Reviewed by Eric Carlson.
Source/WebKit:
When updating constraints, store the constraints so that, on crash recovery,
we recreate the remote source and reapply the last constraints.
Manually tested and partially covered by API test.
- WebProcess/cocoa/RemoteRealtimeAudioSource.cpp:
(WebKit::RemoteRealtimeAudioSource::applyConstraints):
(WebKit::RemoteRealtimeAudioSource::gpuProcessConnectionDidClose):
- WebProcess/cocoa/RemoteRealtimeAudioSource.h:
- WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:
(WebKit::RemoteRealtimeVideoSource::setFrameRateWithPreset):
(WebKit::RemoteRealtimeVideoSource::gpuProcessConnectionDidClose):
- WebProcess/cocoa/RemoteRealtimeVideoSource.h:
Tools:
- TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/getUserMedia.html:
- 8:31 AM Changeset in webkit [273731] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Error instead of asserting on the player in the source
https://bugs.webkit.org/show_bug.cgi?id=222108
Reviewed by Philippe Normand.
The release assert can be hit in some cases in smoothstreaming
with already invalid pipelines so better to just error out instead
of assert on release.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcCreate):
- 7:37 AM Changeset in webkit [273730] by
-
- 24 edits1 add in trunk
Enable MEDIA_SOURCE in IOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=222041
Source/WebCore:
<rdar://problem/74433510>
Reviewed by Eric Carlson.
MediaSource IDLs were protected by MEDIA_SOURCE but not by MediaSource runtime flag.
Update IDLs accordingly.
Covered by existing tests.
- Modules/mediasource/AudioTrack+MediaSource.idl:
- Modules/mediasource/DOMURL+MediaSource.idl:
- Modules/mediasource/SourceBuffer.idl:
- Modules/mediasource/SourceBufferList.idl:
- Modules/mediasource/TextTrack+MediaSource.idl:
- Modules/mediasource/VideoTrack+MediaSource.idl:
- bindings/js/WebCoreBuiltinNames.h:
- html/HTMLMediaElement.idl:
Minor change to kick in binding generator.
- html/track/AudioTrack.idl:
- html/track/TextTrack.idl:
- html/track/VideoTrack.idl:
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::mediaEngine):
If AVStreamDataParser is not available, MSE backend will not be available.
Update assertion accordingly.
Source/WebCore/PAL:
Reviewed by Eric Carlson.
Add missing header declarations in AVStreamDataParserSPI.h and use it for simulator.
- PAL.xcodeproj/project.pbxproj:
- pal/spi/cocoa/AVFoundationSPI.h:
- pal/spi/cocoa/AVStreamDataParserSPI.h: Added.
Source/WTF:
Reviewed by Eric Carlson.
- Scripts/Preferences/WebPreferences.yaml:
Move this settings out of ENABLE(MEDIA_SOURCE) to allow existing binding code to compile.
- wtf/PlatformEnableCocoa.h:
Tools:
<rdar://problem/74433510>
Reviewed by Eric Carlson.
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
Disable MediaSource runtime flag on simulator since it lacks implementation of AVStreamDataParser.
LayoutTests:
Reviewed by Eric Carlson.
- fast/mediastream/MediaStream-video-element.html:
Update to sort properties lexicographically.
- fast/mediastream/MediaStream-video-element-expected.txt:
- 7:12 AM Changeset in webkit [273729] by
-
- 2 edits in trunk/Tools
Move WebGL test bot to Big Sur (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=222501
rdar://73900538
Unreviewed infrastructure fix.
- CISupport/build-webkit-org/config.json: Fixed a typo.
- 6:44 AM Changeset in webkit [273728] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Merge SimplifiedVerticalAlignment and m_useSimplifiedVerticalAlignment
https://bugs.webkit.org/show_bug.cgi?id=222586
Reviewed by Antti Koivisto.
Let's have SimplifiedVerticalAlignment track if simplified alignment can be applied on the current content.
Also decouple the actual alignment and whether the inline level box can be (simplified)aligned.
(see SimplifiedVerticalAlignment::align and SimplifiedVerticalAlignment::canUseSimplifiedAlignment)
This is in preparation for supporting non-atomic inline level boxes.
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::rootInlineBoxLogicalTop const):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::lineBoxHeight const):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::isEnabled const):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::setEnabled):
(WebCore::Layout::LineBoxBuilder::LineBoxBuilder):
(WebCore::Layout::LineBoxBuilder::build):
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::SimplifiedVerticalAlignment):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::canUseSimplifiedAlignment):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::align):
(WebCore::Layout::LineBoxBuilder::SimplifiedVerticalAlignment::adjust):
(WebCore::Layout::SimplifiedVerticalAlignment::SimplifiedVerticalAlignment): Deleted.
(WebCore::Layout::SimplifiedVerticalAlignment::rootInlineBoxLogicalTop const): Deleted.
(WebCore::Layout::SimplifiedVerticalAlignment::lineBoxHeight const): Deleted.
(WebCore::Layout::SimplifiedVerticalAlignment::alignInlineLevelBoxIfApplicable): Deleted.
(WebCore::Layout::SimplifiedVerticalAlignment::adjust): Deleted.
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes): Deleted.
- 2:15 AM Changeset in webkit [273727] by
-
- 3 edits2 adds in trunk
Null check platformData when decoding
https://bugs.webkit.org/show_bug.cgi?id=221442
Patch by Rob Buis <rbuis@igalia.com> on 2021-03-02
Reviewed by Ryosuke Niwa.
Source/WebKit:
Null check platformData when decoding.
Test: ipc/pasteboard-write-custom-data.html
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<PasteboardCustomData::Entry>::decode):
LayoutTests:
Add test for this.
- ipc/pasteboard-write-custom-data-expected.txt: Added.
- ipc/pasteboard-write-custom-data.html: Added.
- 2:13 AM Changeset in webkit [273726] by
-
- 7 edits in trunk/Source/WebCore
Remove document accessor on CSSFontSelector
https://bugs.webkit.org/show_bug.cgi?id=222550
Reviewed by Darin Adler.
Replace FontSelector::document() with FontSelector::scriptExecutionContext().
No new tests because there is no behavior change.
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::appendSources):
(WebCore::CSSFontFace::create):
(WebCore::CSSFontFace::CSSFontFace):
- css/CSSFontFace.h:
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::ensureLocalFontFacesForFamilyRegistered):
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::scriptExecutionContext const):
(WebCore::CSSFontSelector::fontStyleUpdateNeeded):
- css/CSSFontSelector.h:
- css/FontFace.cpp:
(WebCore::FontFace::FontFace):
- 1:18 AM Changeset in webkit [273725] by
-
- 3 edits in trunk/Source/WebKit
Camera capture in iOS with GPUProcess enabled does not always handle orientation well at start up
https://bugs.webkit.org/show_bug.cgi?id=222167
<rdar://problem/74520496>
Reviewed by Eric Carlson.
Before the patch, GPU process orientation monitors were only getting updates after creation of the web process connection.
The initial value was therefore sometimes wrong.
Update this by storing the orientation value in GPU process and initializing it for every web process connection.
Manually tested.
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::createGPUConnectionToWebProcess):
(WebKit::GPUProcess::setOrientationForMediaCapture):
- GPUProcess/GPUProcess.h: