Timeline
Sep 7, 2018:
- 11:29 PM Changeset in webkit [235827] by
-
- 14 edits2 adds in trunk
Ensure that handleIntrinsicCall() is only applied on op_call shaped instructions.
https://bugs.webkit.org/show_bug.cgi?id=189317
<rdar://problem/44152198>
Reviewed by Filip Pizlo.
JSTests:
- stress/regress-189317.js: Added.
(testGetter):
(testSetter):
Source/JavaScriptCore:
handleIntrinsicCall() is normally used for checking if an op_call is a call to
an intrinsic function, and inlining it if it's a match.
However, getter and setter functions also does calls, and uses handleCall()
to implement the call. handleCall() eventually calls handleIntrinsicCall() to
check for intrinsics. This results in a bug because handleIntrinsicCall()
sometimes relies on the ArrayProfile* of the instruction, and is always assuming
that the instruction is op_call shaped. This turns out to be not true: getters
and setters can get there with op_get_by_val and op_put_by_val instead.
Since the intrinsic functions handled by handleIntrinsicCall() are never
intended to be used as getter / setter functions anyway, we can prevent this
whole class of bugs by having handleIntrinsicCall() fail early if the
instruction is not op_call shaped.
To implement this fix, we did the following:
- Introduced the OpcodeShape enum.
- Introduced isOpcodeShape<OpcodeShape>() for testing if a instruction of the shape of the specified OpcodeShape.
- Introduced arrayProfileFor<OpcodeShape>() for fetching the ArrayProfile* from the instruction given the OpcodeShape.
Using this arrayProfileFor template has the following benefits:
- Centralizes the definition of which instructions has an ArrayProfile* operand.
- Centralizes the definition of which operand is the ArrayProfile*.
- Asserts that the instruction is of the expected shape when retrieving the ArrayProfile*.
- Added ArrayProfile::m_typeName and ArrayProfile::s_typeName which are used in ArrayProfile::isValid() as a sanity check that a retrieved ArrayProfile* indeed does point to an ArrayProfile.
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/ArrayProfile.cpp:
- bytecode/ArrayProfile.h:
(JSC::ArrayProfile::isValid const):
- bytecode/OpcodeInlines.h: Added.
(JSC::isOpcodeShape):
(JSC::arrayProfileFor):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::parseBlock):
- jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
- jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_has_indexed_property):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_has_indexed_property):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitGenericContiguousPutByVal):
(JSC::JIT::emitArrayStoragePutByVal):
(JSC::JIT::emitIntTypedArrayPutByVal):
(JSC::JIT::emitFloatTypedArrayPutByVal):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitGenericContiguousPutByVal):
(JSC::JIT::emitArrayStoragePutByVal):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::getByVal):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- 7:17 PM Changeset in webkit [235826] by
-
- 2 edits in trunk/Source/WebKit
Try to fix the build
- Shared/mac/SandboxExtensionMac.mm:
- 5:41 PM Changeset in webkit [235825] by
-
- 2 edits in trunk/Source/WebCore
[Win][Clang] exceptionShouldTerminateProgram of StructuredExceptionHandlerSuppressor.cpp should take DWORD
https://bugs.webkit.org/show_bug.cgi?id=189402
Reviewed by Alex Christensen.
Clang reports compilation errors like following:
StructuredExceptionHandlerSuppressor.cpp(38,10): error: case value evaluates to 2147483650, which cannot be narrowed to type 'int' [-Wc++11-narrowing]
case EXCEPTION_DATATYPE_MISALIGNMENT:
No new tests (no behavioral change).
- platform/win/StructuredExceptionHandlerSuppressor.cpp:
(exceptionShouldTerminateProgram): Changed the type of argument from int to DWORD.
- 5:37 PM Changeset in webkit [235824] by
-
- 3 edits in trunk/Tools
[WinCairo][MiniBrowser][WebKit] REGRESSION(r235398): ASSERTION FAILED: !m_client.didReceiveTitleForFrame
https://bugs.webkit.org/show_bug.cgi?id=189336
Reviewed by Alex Christensen.
WKPageSetPageLoaderClient is deprecated. Replaced it with
WKPageSetPageNavigationClient.
- MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::WebKitBrowserWindow):
Call WKPageSetPageNavigationClient instead of WKPageSetPageLoaderClient.
(WebKitBrowserWindow::didFinishNavigation):
Copied from didReceiveTitleForFrame. Use WKPageCopyTitle to get the title.
(WebKitBrowserWindow::didCommitNavigation):
Copied from didCommitLoadForFrame. Use WKPageCopyCommittedURL to get the URL.
(WebKitBrowserWindow::didReceiveTitleForFrame): Deleted.
(WebKitBrowserWindow::didCommitLoadForFrame): Deleted.
- MiniBrowser/win/WebKitBrowserWindow.h: Renamed the class methods.
- 5:36 PM Changeset in webkit [235823] by
-
- 14 edits in trunk/Source/WebKit
Unify most of the WebKit C API sources
https://bugs.webkit.org/show_bug.cgi?id=189400
Reviewed by Alex Christensen.
Unify and fix errors (mostly API:String vs. WTF::String mismatches).
- Shared/APIWebArchiveResource.h:
- Sources.txt:
- SourcesCocoa.txt:
- UIProcess/API/APIContentRuleListStore.cpp:
(API::constructedPathPrefix):
(API::constructedPathFilter):
(API::constructedPath):
(API::encodeContentRuleListMetaData):
(API::decodeContentRuleListMetaData):
(API::openAndMapContentRuleList):
(API::writeDataToFile):
(API::compiledToFile):
(API::createExtension):
(API::ContentRuleListStore::lookupContentRuleList):
(API::ContentRuleListStore::getAvailableContentRuleListIdentifiers):
(API::ContentRuleListStore::compileContentRuleList):
(API::ContentRuleListStore::getContentRuleListSource):
- UIProcess/API/APINavigation.cpp:
(API::Navigation::loggingString const):
- UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::defaultMediaCacheDirectory):
(API::WebsiteDataStore::defaultJavaScriptConfigurationDirectory):
- UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
(API::WebsiteDataStore::defaultApplicationCacheDirectory):
(API::WebsiteDataStore::defaultCacheStorageDirectory):
(API::WebsiteDataStore::defaultNetworkCacheDirectory):
(API::WebsiteDataStore::defaultMediaCacheDirectory):
(API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
(API::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory):
(API::WebsiteDataStore::defaultLocalStorageDirectory):
(API::WebsiteDataStore::defaultMediaKeysStorageDirectory):
(API::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
(API::WebsiteDataStore::defaultResourceLoadStatisticsDirectory):
(API::WebsiteDataStore::defaultJavaScriptConfigurationDirectory):
(API::WebsiteDataStore::legacyDefaultApplicationCacheDirectory):
(API::WebsiteDataStore::legacyDefaultNetworkCacheDirectory):
(API::WebsiteDataStore::legacyDefaultWebSQLDatabaseDirectory):
(API::WebsiteDataStore::legacyDefaultIndexedDBDatabaseDirectory):
(API::WebsiteDataStore::legacyDefaultLocalStorageDirectory):
(API::WebsiteDataStore::legacyDefaultMediaCacheDirectory):
(API::WebsiteDataStore::legacyDefaultMediaKeysStorageDirectory):
(API::WebsiteDataStore::legacyDefaultJavaScriptConfigurationDirectory):
(API::WebsiteDataStore::tempDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
- UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp:
(API::WebsiteDataStore::defaultApplicationCacheDirectory):
(API::WebsiteDataStore::defaultNetworkCacheDirectory):
(API::WebsiteDataStore::defaultCacheStorageDirectory):
(API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
(API::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory):
(API::WebsiteDataStore::defaultLocalStorageDirectory):
(API::WebsiteDataStore::defaultMediaKeysStorageDirectory):
(API::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
(API::WebsiteDataStore::defaultResourceLoadStatisticsDirectory):
(API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::legacyDefaultApplicationCacheDirectory):
(API::WebsiteDataStore::legacyDefaultNetworkCacheDirectory):
(API::WebsiteDataStore::legacyDefaultWebSQLDatabaseDirectory):
(API::WebsiteDataStore::legacyDefaultIndexedDBDatabaseDirectory):
(API::WebsiteDataStore::legacyDefaultLocalStorageDirectory):
(API::WebsiteDataStore::legacyDefaultMediaCacheDirectory):
(API::WebsiteDataStore::legacyDefaultMediaKeysStorageDirectory):
(API::WebsiteDataStore::legacyDefaultJavaScriptConfigurationDirectory):
- WebKit.xcodeproj/project.pbxproj:
- 5:36 PM Changeset in webkit [235822] by
-
- 1 edit5 adds in trunk/LayoutTests
[LayoutTests] Add digest access authentication test.
https://bugs.webkit.org/show_bug.cgi?id=189286
Reviewed by Alex Christensen.
Add digest auth tests
- http/tests/resources/digest-auth/authorize.php: Added.
- http/tests/resources/digest-auth/digest.php: Added.
- http/tests/xmlhttprequest/digest-auth-expected.txt: Added.
- http/tests/xmlhttprequest/digest-auth.html: Added.
- 5:32 PM Changeset in webkit [235821] by
-
- 5 edits3 adds in trunk
[Curl] Stop sending request with credential if no authorization requested.
https://bugs.webkit.org/show_bug.cgi?id=189057
Reviewed by Alex Christensen.
Source/WebCore:
When 401 response returns without 'www-authenticate' header, suppress another request with credential.
Test: http/tests/xmlhttprequest/unauthorized-without-authenticate-header.html
- platform/network/curl/CurlResourceHandleDelegate.cpp:
(WebCore::CurlResourceHandleDelegate::curlDidReceiveResponse):
Source/WebKit:
When 401 response returns without 'www-authenticate' header, suppress another request with credential.
Same fix for proxy authentication.
- NetworkProcess/curl/NetworkDataTaskCurl.cpp:
(WebKit::NetworkDataTaskCurl::curlDidReceiveResponse):
LayoutTests:
- http/tests/xmlhttprequest/resources/no-authenticate-header-401.php: Added.
- http/tests/xmlhttprequest/unauthorized-without-authenticate-header-expected.txt: Added.
- http/tests/xmlhttprequest/unauthorized-without-authenticate-header.html: Added.
- 4:47 PM Changeset in webkit [235820] by
-
- 2 edits in trunk/Source/WebCore
[Win][Clang] duplicated variable name
advancein UniscribeController::shapeAndPlaceItem
https://bugs.webkit.org/show_bug.cgi?id=189399
Reviewed by Myles C. Maxfield.
Clang reports the following compilation error:
UniscribeController.cpp(372,56): error: invalid operands to binary expression ('float' and 'WebCore::GlyphBufferAdvance' (aka 'WebCore::FloatSize'))
GlyphBufferAdvance advance(-origin.width() + advance, -origin.height());
~~
No new tests (No behavior change).
- platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::shapeAndPlaceItem): Replaced the second variable named
advancewithglyphAdvance.
- 4:13 PM Changeset in webkit [235819] by
-
- 5 edits1 copy2 adds in trunk/LayoutTests
Tests checking document GC in case of ActiveDOMObjects are flaky
https://bugs.webkit.org/show_bug.cgi?id=189413
Reviewed by Eric Carlson.
Instead of calling parent.done() use postMessage.
The assumption is that GC might not always collect 'parent' as it is in the call stack.
With postMessage, no flakiness is observed locally.
Added a related MediaDevices test that was missing from r235438.
- http/tests/IndexedDB/collect-IDB-objects.https.html:
- http/tests/IndexedDB/resources/myidbframe.htm:
- http/tests/media/clearkey/collect-webkit-media-session.html:
- http/tests/media/clearkey/resources/mywebkitmediasessionframe.htm:
- http/tests/media/media-stream/collect-media-devices.https-expected.txt: Added.
- http/tests/media/media-stream/collect-media-devices.https.html: Added.
- http/tests/media/media-stream/resources/mymediadevicesframe.htm: Added.
- 4:08 PM Changeset in webkit [235818] by
-
- 3 edits2 adds in trunk
[iOS] uiController.typeCharacterUsingHardwareKeyboard("`", ...) dispatches DOM key events for ~
https://bugs.webkit.org/show_bug.cgi?id=189325
Reviewed by Wenson Hsieh.
Tools:
Fixes an issue where the test infrastructure would incorrectly synthesized a shift key press followed
by akey press (i.e. type '~') when instructed to simulate typing a grave accent (). Typing a
grave accent does not require holding the shift key.
- WebKitTestRunner/ios/HIDEventGenerator.mm:
(shouldWrapWithShiftKeyEventForCharacter):
LayoutTests:
Add a test to ensure that we dispatch the correct DOM key events when using uiController.typeCharacterUsingHardwareKeyboard("`")
(by way of UIHelper.typeCharacter()).
- fast/events/ios/keypress-grave-accent-expected.txt: Added.
- fast/events/ios/keypress-grave-accent.html: Added.
- 4:07 PM Changeset in webkit [235817] by
-
- 10 edits1 delete in trunk/Source/WebCore
RTCRtpReceiver::track should return a MediaStreamTrack reference
https://bugs.webkit.org/show_bug.cgi?id=189420
Reviewed by Eric Carlson.
As per spec, a receiver always has a track.
Remove unneeded RTCRtpSenderReceiverBase and make RTCRtpReceiver have a Ref<MediaStreamTrack>.
RTCRtpSender keeps having a RefPtr<MediaStreamTrack>.
Update call sites accordingly.
No change of behavior.
- Modules/mediastream/RTCRtpReceiver.cpp:
(WebCore::RTCRtpReceiver::RTCRtpReceiver):
(WebCore::RTCRtpReceiver::stop):
- Modules/mediastream/RTCRtpReceiver.h:
(WebCore::RTCRtpReceiver::track):
- Modules/mediastream/RTCRtpReceiver.idl:
- Modules/mediastream/RTCRtpSender.cpp:
(WebCore::RTCRtpSender::RTCRtpSender):
- Modules/mediastream/RTCRtpSender.h:
(WebCore::RTCRtpSender::track):
- Modules/mediastream/RTCRtpSender.idl:
- Modules/mediastream/RTCRtpSenderReceiverBase.h: Removed.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addRemoteTrack):
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::LibWebRTCPeerConnectionBackend::videoReceiver):
(WebCore::LibWebRTCPeerConnectionBackend::audioReceiver):
- WebCore.xcodeproj/project.pbxproj:
- 4:00 PM Changeset in webkit [235816] by
-
- 3 edits in trunk/Source/WebCore
Cleanup: Remove extraneous "using namespace" and scope WebCore::LogThreading
https://bugs.webkit.org/show_bug.cgi?id=189381
Reviewed by Simon Fraser.
- platform/ios/wak/WKGraphics.mm:
- platform/ios/wak/WebCoreThread.mm:
(WebThreadEnable):
- 3:56 PM Changeset in webkit [235815] by
-
- 1 copy in tags/Safari-606.2.10
Tag Safari-606.2.10.
- 3:53 PM Changeset in webkit [235814] by
-
- 4 edits in trunk/Source/WebCore
Clean up FontAttributeChanges.cpp after r235748
https://bugs.webkit.org/show_bug.cgi?id=189394
Reviewed by Tim Horton.
- Sources.txt: Move FontAttributeChanges.cpp into unified sources.
- WebCore.xcodeproj/project.pbxproj:
- editing/FontAttributeChanges.cpp: Replace
#imports with#includes.
- 3:50 PM Changeset in webkit [235813] by
-
- 3 edits5 adds in trunk
[Curl][WebKitLegacy] Stop sending credential embedded in the url via XHR.
https://bugs.webkit.org/show_bug.cgi?id=189198
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Because sync XHR of Curl port uses passed request directly, the credential information in
url is not removed. Use ResourceHandleInternal's firstRequest because those are
already takne out.
Test: http/tests/xmlhttprequest/url-with-credentials.html
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
LayoutTests:
- http/tests/xmlhttprequest/resources/url-with-credentials/authenticate.php: Added.
- http/tests/xmlhttprequest/resources/url-with-credentials/authorize.php: Added.
- http/tests/xmlhttprequest/url-with-credentials-expected.txt: Added.
- http/tests/xmlhttprequest/url-with-credentials.html: Added.
- 3:40 PM Changeset in webkit [235812] by
-
- 7 edits in branches/safari-606.1.36.10-branch/Source
Versioning.
- 3:36 PM Changeset in webkit [235811] by
-
- 7 edits in branches/safari-606-branch/Source
Versioning.
- 3:28 PM Changeset in webkit [235810] by
-
- 4 edits in trunk/Source/WebCore
RealtimeOutgoingVideoSourceCocoa should use VTImageRotationSession to rotate CVPixelBuffers
https://bugs.webkit.org/show_bug.cgi?id=189427
Reviewed by Eric Carlson.
Previously, we were relying on libwebrtc utils to do the rotation.
This is inefficient compared to VTImageRotateSession and also induces additional memory cost
since libwebrtc is rotating using its own buffers and the encoder will convert this buffer back to a CVPixelBuffer.
Instead use VTImageRotationSession when rotation must be done at sending side.
Covered by webrtc/video-rotation.html.
- platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
(WebCore::RealtimeOutgoingVideoSourceCocoa::sampleBufferUpdated):
- platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.h:
- platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:
(WebCore::computeRotatedWidthAndHeight):
(WebCore::RealtimeOutgoingVideoSourceCocoa::rotatePixelBuffer):
- 2:57 PM Changeset in webkit [235809] by
-
- 53 edits1 copy1 add in trunk
Add support for unified plan transceivers
https://bugs.webkit.org/show_bug.cgi?id=189390
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/webrtc/RTCDTMFSender-insertDTMF.https-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-addTrack.https-expected.txt:
Regression comes from the fact that the sender was never used but transceiver direction is sendrecv.
This might need further clarification in the spec or implementation of libwebrtc.
- web-platform-tests/webrtc/RTCPeerConnection-addTransceiver-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-setDescription-transceiver-expected.txt:
- web-platform-tests/webrtc/RTCRtpTransceiver-setDirection-expected.txt:
Source/ThirdParty/libwebrtc:
Expose more symbols.
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
Source/WebCore:
Keep previous transceiver behavior when unified plan flag is off.
Otherwise, use the libwebrtc transceiver API to create and use unified plan transceivers.
Fuel the implementation of transceivers through a dedicated backend.
Update transceiver IDL and make some smaller fixes at the same time:
- Make sure remote sources have a proper name as per https://w3c.github.io/webrtc-pc/#dfn-create-an-rtcrtpreceiver.
- Add support for transceiver.currentDirection.
Our mock peer connections are only supporting plan B APIs at the moment.
We therefore mandate plan B when using such mocks until we can upgrade mocks to support unified plan APIs.
Covered by modified and rebased tests.
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::addTrack):
- Modules/mediastream/PeerConnectionBackend.h:
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::addTrack):
(WebCore::RTCPeerConnection::addTransceiver):
- Modules/mediastream/RTCRtpSender.cpp:
(WebCore::RTCRtpSender::RTCRtpSender):
- Modules/mediastream/RTCRtpTransceiver.cpp:
(WebCore::RTCRtpTransceiver::mid const):
(WebCore::RTCRtpTransceiver::currentDirection const):
- Modules/mediastream/RTCRtpTransceiver.h:
(WebCore::RTCRtpTransceiver::backend):
- Modules/mediastream/RTCRtpTransceiver.idl:
- Modules/mediastream/RTCRtpTransceiverBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addTrack):
(WebCore::LibWebRTCMediaEndpoint::newTransceiver):
(WebCore::LibWebRTCMediaEndpoint::addTransceiver):
(WebCore::LibWebRTCMediaEndpoint::transceiverBackendFromSender):
(WebCore::LibWebRTCMediaEndpoint::OnAddTrack):
(WebCore::LibWebRTCMediaEndpoint::OnTrack):
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::createReceiverForSource):
(WebCore::LibWebRTCPeerConnectionBackend::createReceiver):
(WebCore::LibWebRTCPeerConnectionBackend::videoReceiver):
(WebCore::LibWebRTCPeerConnectionBackend::audioReceiver):
(WebCore::LibWebRTCPeerConnectionBackend::addTrack):
(WebCore::LibWebRTCPeerConnectionBackend::addTransceiver):
(WebCore::backendFromRTPTransceiver):
(WebCore::LibWebRTCPeerConnectionBackend::existingTransceiver):
(WebCore::LibWebRTCPeerConnectionBackend::newTransceiver):
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp:
(WebCore::LibWebRTCRtpSenderBackend::replaceTrack):
- Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.cpp: Added.
(WebCore::LibWebRTCRtpTransceiverBackend::createReceiverBackend):
(WebCore::LibWebRTCRtpTransceiverBackend::createSenderBackend):
(WebCore::LibWebRTCRtpTransceiverBackend::direction const):
(WebCore::LibWebRTCRtpTransceiverBackend::currentDirection const):
(WebCore::LibWebRTCRtpTransceiverBackend::setDirection):
(WebCore::LibWebRTCRtpTransceiverBackend::mid):
(WebCore::LibWebRTCRtpTransceiverBackend::stop):
- Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.h: Added.
- Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:
(WebCore::toRTCRtpTransceiverDirection):
(WebCore::fromRTCRtpTransceiverDirection):
(WebCore::fromRtpTransceiverInit):
- Modules/mediastream/libwebrtc/LibWebRTCUtils.h:
- WebCore.xcodeproj/project.pbxproj:
- platform/mediastream/RealtimeIncomingAudioSource.cpp:
(WebCore::RealtimeIncomingAudioSource::RealtimeIncomingAudioSource):
- platform/mediastream/RealtimeIncomingVideoSource.cpp:
(WebCore::RealtimeIncomingVideoSource::RealtimeIncomingVideoSource):
- platform/mediastream/RealtimeMediaSource.h:
- testing/Internals.cpp:
(WebCore::Internals::useMockRTCPeerConnectionFactory):
LayoutTests:
Update tests using mock to enforce plan B for now until unified plan mocks are supported.
- fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt:
- fast/mediastream/RTCPeerConnection-icecandidate-event.html:
- fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event.html:
- fast/mediastream/RTCPeerConnection-inspect-answer.html:
- fast/mediastream/RTCPeerConnection-inspect-offer.html:
- fast/mediastream/RTCPeerConnection-media-setup-single-dialog.html:
- fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html:
- fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid.html:
- fast/mediastream/RTCPeerConnection-setLocalDescription-offer.html:
- fast/mediastream/RTCPeerConnection-setRemoteDescription-offer.html:
- webrtc/calling-peerconnection-once-closed.html:
Once closed, addTransceiver is expected to throw.
- webrtc/libwebrtc/release-while-creating-offer.html:
- webrtc/libwebrtc/release-while-getting-stats.html:
- webrtc/libwebrtc/release-while-setting-local-description.html:
- webrtc/video-getParameters.html: sender and receiver parameters are no longer the same.
Testing them individually.
- webrtc/video-with-receiver.html:
Test is working only with legacy mode.
- 2:43 PM Changeset in webkit [235808] by
-
- 5 edits in trunk
XMLHttpRequest: open() does not throw a SYNTAX_ERR exception if method is empty or url cannot be resolved
https://bugs.webkit.org/show_bug.cgi?id=46008
Patch by Rob Buis <rbuis@igalia.com> on 2018-09-07
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/xhr/open-url-bogus-expected.txt:
- web-platform-tests/xhr/open-url-multi-window-6-expected.txt:
Source/WebCore:
Check if passed URL is valid as specified here [1].
Test: web-platform-tests/xhr/open-url-bogus.htm
[1] https://xhr.spec.whatwg.org/#the-open()-method Step 7
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::open):
- 2:29 PM Changeset in webkit [235807] by
-
- 3 edits in trunk/Source/WebKit
Allow WebContent access to AVCSupported IOKit property in sandbox
https://bugs.webkit.org/show_bug.cgi?id=189429
<rdar://problem/43612229>
Reviewed by Eric Carlson.
Allow access to the IOKit properties AVCSupported and HEVCSupported to allow the WebContent process
to check for efficient video codecs.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 2:12 PM Changeset in webkit [235806] by
-
- 41 edits1 add1 delete in trunk
[CSSOM View] Handle the scrollingElement in Element::scroll(Left/Top/Width/Height/To)
https://bugs.webkit.org/show_bug.cgi?id=182230
Patch by Frederic Wang <fwang@igalia.com> on 2018-09-07
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
This commit updates expectations for some WPT tests so that they have only PASS results.
Note that css/cssom-view/scrollingElement-quirks-dynamic-*.html still fail for now (bug 182292).
- web-platform-tests/css/cssom-view/HTMLBody-ScrollArea_quirksmode-expected.txt:
- web-platform-tests/css/cssom-view/scrolling-quirks-vs-nonquirks-expected.txt:
- web-platform-tests/css/cssom-view/scrollingElement-expected.txt: Added.
Source/WebCore:
This commit moves the special logic for "scrolling element" body from the
HtmlBodyElement::scroll(Left/Top/Width/Height/To) functions to the Element class. The code
is executed when the element is the scrolling element which includes the case of body
in Quirks mode and of documentElement in standard mode. This makes the behavior closer to
the CSSOM View spec (bug 5991) while not deviating too much from the current implementation.
Finally, CSSOMViewScrollingAPI is now enabled for running tests and some adjustments are made
to existing tests. Further improvements will be performed in dependencies of bug 5991.
No new tests, already covered by existing tests.
- dom/Document.cpp: Split scrollingElement into two functions so that one can be called
internally without updating the layout.
(WebCore::Document::scrollingElement):
(WebCore::Document::scrollingElementForAPI):
- dom/Document.h: Ditto.
- dom/Document.idl: Use the version updating the layout for API calls.
- dom/Element.cpp: Add include to call DOMWindow::ScrollTo
(WebCore::Element::scrollTo): Moved some logic from HtmlBodyElement to handle the case of
the scrolling element. Also skip special handling of documentElement() when
CSSOMViewScrollingAPI is disabled.
(WebCore::adjustContentsScrollPositionOrSizeForZoom): Moved some logic from HtmlBodyElement
to handle the case of the scrolling element. Also add a FIXME for improving these kinds of
helper functions. Renamed to make more explicit the semantic of the value argument.
(WebCore::Element::scrollLeft): Moved some logic from HtmlBodyElement to handle the case of
the scrolling element. Use the new documentFrameWithNonNullView() helper function.
(WebCore::Element::scrollTop): Ditto.
(WebCore::Element::setScrollLeft): Ditto
(WebCore::Element::setScrollTop): Ditto.
(WebCore::Element::scrollWidth): Ditto.
(WebCore::Element::scrollHeight): Ditto.
- dom/Element.h:
(WebCore::Document::documentFrameWithNonNullView): New helper function to retrieve the
frame and ensure a view is available.
- html/HTMLBodyElement.cpp: Remove code that is now in Element.
- html/HTMLBodyElement.h: Ditto.
Source/WebKit:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp:
(webkit_dom_document_get_scrolling_element): Use the new name.
Source/WebKitLegacy/mac:
- DOM/DOMDocument.mm:
(-[DOMDocument scrollingElement]): Use the new name.
Tools:
This patch enables CSSOMViewScrollingAPI during test execution.
- DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
- DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
LayoutTests:
This commit updates some tests to work when CSSOMViewScrollingAPI is enabled.
- TestExpectations: Enable web-platform-tests/cssom-view/scrollingElement.html.
- fast/dom/Document/scrollingElement-quirks-mode.html: Do not enable explictly enable
CSSOMViewScrollingAPI.
- fast/dom/Document/scrollingElement-standards-mode.html: Ditto.
- fast/dom/Element/body-scrollLeft-expected.txt: Updated to follow the CSSOMView spec.
- fast/dom/Element/body-scrollLeft.html: Ditto.
- fast/dom/Element/body-scrollTop-expected.txt: Ditto.
- fast/dom/Element/body-scrollTop.html: Ditto.
- fast/dom/Element/documentElement-scrollLeft-expected.txt: Ditto.
- fast/dom/Element/documentElement-scrollLeft.html: Ditto.
- fast/dom/Element/documentElement-scrollTop-expected.txt: Ditto.
- fast/dom/Element/documentElement-scrollTop.html: Ditto.
- fast/dom/Element/scrollLeft-expected.txt: Ditto.
- fast/dom/Element/scrollLeft.html: Ditto.
- fast/dom/Element/scrollTop-expected.txt: Ditto.
- fast/dom/Element/scrollTop.html: Ditto.
- fast/dom/Element/scrolling-funtions-on-body-expected.txt: Ditto.
- fast/dom/Element/scrolling-funtions-on-body.html: Ditto.
- platform/ios/TestExpectations: Add expectation for one WPT test that was already failing
on iOS.
- platform/ios/ios/fast/coordinates/page-offsets-expected.txt: Use documentElement instead
of body for this test when running in standard mode.
- platform/ios/ios/fast/coordinates/resources/helpers.js: Ditto.
(verifyScrollOffsets):
- tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html: Use
document.scrollingElement instead of document.body to access viewport scroll offset.
- 1:58 PM Changeset in webkit [235805] by
-
- 3 edits in trunk/Tools
resultsjsonparser needs to handle leak failures
https://bugs.webkit.org/show_bug.cgi?id=189430
Reviewed by Alexey Proskuryakov.
Teach resultsjsonparser how to handle LEAK failures, building a FailureDocumentLeak
with a list of the leaked URLs.
- Scripts/webkitpy/common/net/resultsjsonparser.py:
(JSONTestResult._failure_types_from_actual_result):
- Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
(ParsedJSONResultsTest):
(test_basic):
- 1:44 PM Changeset in webkit [235804] by
-
- 2 edits in trunk/Source/WebCore
[AX] Fix compile error in AXObjectCache constructor when !HAVE(ACCESSIBILITY)
https://bugs.webkit.org/show_bug.cgi?id=189423
<rdar://problem/44231775>
Reviewed by Yusuke Suzuki.
No new tests. Compilation fix.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::AXObjectCache):
- 1:08 PM Changeset in webkit [235803] by
-
- 2 edits in branches/safari-606-branch/Source/WebKit
Cherry-pick r235506. rdar://problem/44169670
[macOS] Whitelist Network process features for VPN
https://bugs.webkit.org/show_bug.cgi?id=189023
<rdar://problem/43310000>
Reviewed by Eric Carlson.
CFNetwork needs access to some VPN preference files to configure networking, and
need to be allowed to communicate with the VPN process from the Network Process
sandbox.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:08 PM Changeset in webkit [235802] by
-
- 10 edits in branches/safari-606-branch
Cherry-pick r235754. rdar://problem/44210305
[Apple Pay] Rename the -apple-pay-button-type value "checkout" to "check-out"
https://bugs.webkit.org/show_bug.cgi?id=189366
<rdar://problem/44193218>
Reviewed by Sam Weinig.
Source/WebCore:
The button title is "Check out with Apple Pay", so we should use the verb phrase "check out"
rather than the noun "checkout" for naming this value.
Updated http/tests/ssl/applepay/ApplePayButtonV4.html.
- css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator ApplePayButtonType const):
- css/CSSValueKeywords.in:
- css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- rendering/RenderThemeCocoa.mm: (WebCore::toPKPaymentButtonType):
- rendering/style/RenderStyleConstants.h:
Source/WebInspectorUI:
- UserInterface/Models/CSSKeywordCompletions.js:
LayoutTests:
- http/tests/ssl/applepay/ApplePayButtonV4.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:08 PM Changeset in webkit [235801] by
-
- 2 edits in branches/safari-606-branch/Source/WebInspectorUI
Cherry-pick r235406. rdar://problem/44210305
Teach Web Inspector how to complete keywords for -apple-pay-button-style and -apple-pay-button-type
https://bugs.webkit.org/show_bug.cgi?id=189001
Reviewed by Devin Rousso.
- UserInterface/Models/CSSKeywordCompletions.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:08 PM Changeset in webkit [235800] by
-
- 15 edits2 copies1 add in branches/safari-606-branch
Cherry-pick r235349. rdar://problem/44209834
[Apple Pay] Introduce new values for -apple-pay-button-type
https://bugs.webkit.org/show_bug.cgi?id=188949
<rdar://problem/39992228>
Reviewed by Anders Carlsson.
Source/WebCore:
Added "in-store", "checkout", "book", and "subscribe" keywords for -apple-pay-button-type,
and mapped those values to their equivalent PKPaymentButtonTypes.
Tests: http/tests/ssl/applepay/ApplePayButton.html
http/tests/ssl/applepay/ApplePayButtonV4.html
- css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator ApplePayButtonType const):
- css/CSSValueKeywords.in:
- css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- rendering/RenderThemeCocoa.mm: (WebCore::toPKPaymentButtonType):
- rendering/style/RenderStyleConstants.h:
Source/WebCore/PAL:
- pal/spi/cocoa/PassKitSPI.h:
LayoutTests:
- http/tests/ssl/applepay/ApplePayButton.html: Added.
- http/tests/ssl/applepay/ApplePayButtonV4.html: Added.
- platform/mac-highsierra/http/tests/ssl/applepay/ApplePayButton-expected.png:
- platform/mac-highsierra/http/tests/ssl/applepay/ApplePayButton-expected.txt:
- platform/mac/http/tests/ssl/applepay/ApplePayButton-expected.png: Added.
- platform/mac/http/tests/ssl/applepay/ApplePayButton-expected.txt: Added.
- platform/mac/http/tests/ssl/applepay/ApplePayButtonV4-expected.png: Added.
- platform/mac/http/tests/ssl/applepay/ApplePayButtonV4-expected.txt: Added.
- platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:08 PM Changeset in webkit [235799] by
-
- 1 edit9 adds in branches/safari-606-branch/LayoutTests
Cherry-pick r235341. rdar://problem/44209834
[Apple Pay] Add a test for rendering Apple Pay buttons
https://bugs.webkit.org/show_bug.cgi?id=188947
Reviewed by Sam Weinig.
- http/tests/ssl/applepay/ApplePayButton.html: Added.
- platform/mac-sierra/http/tests/ssl/applepay/ApplePayButton-expected.png: Added.
- platform/mac-sierra/http/tests/ssl/applepay/ApplePayButton-expected.txt: Added.
- platform/mac/http/tests/ssl/applepay/ApplePayButton-expected.png: Added.
- platform/mac/http/tests/ssl/applepay/ApplePayButton-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235341 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:08 PM Changeset in webkit [235798] by
-
- 11 edits2 copies2 moves in branches/safari-606-branch
Cherry-pick r235569. rdar://problem/44169479
Storage Access API: Maintain access through same-site navigations
https://bugs.webkit.org/show_bug.cgi?id=188564
<rdar://problem/43445160>
Reviewed by Alex Christensen.
Source/WebCore:
Tests: http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access.html
http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access.html
- dom/Document.h:
Removed unused member variable m_hasFrameSpecificStorageAccess.
- loader/DocumentLoader.cpp: (WebCore::DocumentLoader::willSendRequest):
- loader/FrameLoaderClient.h:
Source/WebKit:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchWillChangeDocument):
Now takes the current URL and the new URL as parameters
and only clears out storage access if the navigation is
cross-site, i.e. with differing eTLD+1s.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
LayoutTests:
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-expected.txt:
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame.html:
Added both a same-site and a cross-site navigation to the sub frame to test maintained and cleared access.
- http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-expected.txt: Copied from LayoutTests/http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access-expected.txt.
- http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access.html: Copied from LayoutTests/http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access.html.
- http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access-expected.txt.
- http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access.html.
- http/tests/storageAccess/resources/get-cookies.php:
Support for the new test scenarios.
- http/tests/storageAccess/resources/self-navigating-frame-after-granted-access.html:
Support for the new test scenarios.
- platform/mac-wk2/TestExpectations:
Marked the new and the renamed tests as [ Pass ].
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:07 PM Changeset in webkit [235797] by
-
- 11 edits in branches/safari-606-branch
Cherry-pick r235318. rdar://problem/44209848
[Apple Pay] Allow $0 totals
https://bugs.webkit.org/show_bug.cgi?id=185150
<rdar://problem/39212331>
Reviewed by Dan Bernstein.
Source/WebCore:
Relaxed payment request validation to allow $0 totals. This matches PassKit behavior.
Updated test cases in http/tests/ssl/applepay/.
- Modules/applepay/PaymentRequestValidator.mm: (WebCore::PaymentRequestValidator::validateTotal):
LayoutTests:
- http/tests/ssl/applepay/ApplePaySession-expected.txt:
- http/tests/ssl/applepay/ApplePaySession.html:
- http/tests/ssl/applepay/ApplePaySessionV3-expected.txt:
- http/tests/ssl/applepay/ApplePaySessionV3.html:
- http/tests/ssl/applepay/ApplePaySessionV4-expected.txt:
- http/tests/ssl/applepay/ApplePaySessionV4.html:
- http/tests/ssl/applepay/PaymentRequest.https-expected.txt:
- http/tests/ssl/applepay/PaymentRequest.https.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:07 PM Changeset in webkit [235796] by
-
- 20 edits2 adds in branches/safari-606-branch
Cherry-pick r235251. rdar://problem/44209840
[Apple Pay] Introduce Apple Pay JS v4 on iOS 12 and macOS Mojave
https://bugs.webkit.org/show_bug.cgi?id=188829
Reviewed by Tim Horton.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Test: http/tests/ssl/applepay/ApplePaySessionV4.html
- Configurations/FeatureDefines.xcconfig:
- testing/MockPaymentCoordinator.cpp: (WebCore::MockPaymentCoordinator::supportsVersion):
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
- WebProcess/ApplePay/WebPaymentCoordinator.cpp: (WebKit::WebPaymentCoordinator::supportsVersion):
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
- http/tests/ssl/applepay/ApplePaySession-expected.txt:
- http/tests/ssl/applepay/ApplePaySession.html:
- http/tests/ssl/applepay/ApplePaySessionV3-expected.txt:
- http/tests/ssl/applepay/ApplePaySessionV3.html:
- http/tests/ssl/applepay/ApplePaySessionV4-expected.txt: Added.
- http/tests/ssl/applepay/ApplePaySessionV4.html: Added.
- platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:07 PM Changeset in webkit [235795] by
-
- 2 edits in branches/safari-606-branch/Source/WebKit
Cherry-pick r235209. rdar://problem/44169451
The Storage Access API prompt should show the eTLD+1s, not the full host names
https://bugs.webkit.org/show_bug.cgi?id=188830
<rdar://problem/43380645>
Reviewed by Brent Fulgham.
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::requestStorageAccess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:07 PM Changeset in webkit [235794] by
-
- 2 edits in branches/safari-606-branch/Source/WebKit
Cherry-pick r235145. rdar://problem/44169453
Storage Access API: The call to ResourceLoadStatisticsMemoryStore::grantStorageAccessInternal() should send eTLD+1s, not full host names
https://bugs.webkit.org/show_bug.cgi?id=188783
<rdar://problem/43559215>
Reviewed by Alex Christensen.
- UIProcess/ResourceLoadStatisticsMemoryStore.cpp: (WebKit::ResourceLoadStatisticsMemoryStore::grantStorageAccess):
Now sends the eTLD+1 for the top frame and sub frame.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:07 PM Changeset in webkit [235793] by
-
- 2 edits in branches/safari-606-branch/Source/WebKit
Cherry-pick r234719. rdar://problem/44169456
Yet more crashes in MobileSafari under -[WKFormInputSession setSuggestions:]
https://bugs.webkit.org/show_bug.cgi?id=188427
<rdar://problem/43064672>
Reviewed by Wenson Hsieh.
Speculatively fix more crashes seen under setSuggestions.
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKFormInputSession isValid]): (-[WKFormInputSession setSuggestions:]): (-[WKFormInputSession invalidate]): Belt-and-suspenders fix: use WeakObjCPtr for WKFormInputSession's WKContentView reference.
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]):
Invalidate the WKFormInputSession before replacing it; we theorize that
there is a path in which we get here without having previously called stopAssistingNode.
Most of the code is OK with this, but this leaves WKFormInputSession
with a raw reference to WKContentView which can later become stale.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:07 PM Changeset in webkit [235792] by
-
- 7 edits3 adds in branches/safari-606-branch
Cherry-pick r234504. rdar://problem/44209851
[iOS] Keyboard becomes unresponsive after pressing delete while pressing down on a character key with accents
https://bugs.webkit.org/show_bug.cgi?id=188251
<rdar://problem/37842108>
Reviewed by Tim Horton.
Source/WebKit:
Fixes a bug in key event handling where invoking -handleKeyWebEvent:withCompletionHandler: from within the
completion callback of a previous call to -handleKeyWebEvent:withCompletionHandler: would cause the completion
callback to be cleared out prematurely. In some cases (as described in the title of this bug), UIKit exercises
this codepath and subsequently hangs due to their completion block never getting invoked by WebKit.
Test: KeyboardInputTests.CanHandleKeyEventInCompletionHandler
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView handleKeyWebEvent:withCompletionHandler:]): (-[WKContentView _didHandleKeyEvent:eventWasHandled:]):
Tools:
Adds a new API test to verify that clients (in this case, UIKit) is allowed to invoke
-handleKeyWebEvent:withCompletionHandler: within the completion block of a prior invocation.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: Added. (TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/ios/TestInputDelegate.h: Added.
Pull some logic used to force an input session to start out from an existing API test file
(WKWebViewAutofillTests) and into a separate helper class that is used by both the existing API tests and the
new keyboard input test.
- TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: (-[AutofillTestView initWithFrame:]): (TestWebKitAPI::TEST): (-[TestInputDelegate init]): Deleted. (-[TestInputDelegate _webView:focusShouldStartInputSession:]): Deleted.
- TestWebKitAPI/ios/UIKitSPI.h:
Add some UIKit SPI utilized by the new API test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:50 PM Changeset in webkit [235791] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Remove unused XPC service from sandbox
https://bugs.webkit.org/show_bug.cgi?id=189406
<rdar://problem/43015423>
Reviewed by Youenn Fablet.
The API surface exposed by "com.apple.systemstats.analysis" is no longer used by the
WebContent process. Since there is no need for this sandbox opening, we should remove it.
- WebProcess/com.apple.WebProcess.sb.in:
- 12:44 PM Changeset in webkit [235790] by
-
- 21 edits6 adds in trunk
[DFG] DFG should handle String#toString
https://bugs.webkit.org/show_bug.cgi?id=189151
Reviewed by Saam Barati.
JSTests:
The error message in String#toString and String#valueOf is poor, which will be
handled in a separate bug[1].
[1]: https://bugs.webkit.org/show_bug.cgi?id=189357
- microbenchmarks/string-object-to-string.js: Added.
(test):
- microbenchmarks/string-object-value-of.js: Added.
(test):
- stress/string-to-string-error.js: Added.
(shouldThrow):
(test):
- stress/string-to-string.js: Added.
(shouldBe):
(test1):
(test2):
(test3):
- stress/string-value-of-error.js: Added.
(shouldThrow):
(test):
- stress/string-value-of.js: Added.
(shouldBe):
(test1):
(test2):
(test3):
Source/JavaScriptCore:
We handle String#toString and String#valueOf in DFG by introducing StringValueOf node.
In the fixup phase, we attempt to lower StringValueOf to the existing ToString or Identity
nodes. If we fail to lower it, we have StringValueOf(UntypedUse), which may raise an error
if an argument is neither String nor StringObject. The error message in String#toString and
String#valueOf is poor, which will be handled in a separate bug[1].
It improves simple microbenchmarks by 53.4 - 67.6%.
baseline patched
string-object-to-string 21.7308+-3.3147 12.9655+-0.0527 definitely 1.6760x faster
string-object-value-of 20.1122+-0.0691 13.1134+-0.2482 definitely 1.5337x faster
[1]: https://bugs.webkit.org/show_bug.cgi?id=189357
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupStringValueOf):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToToString):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf):
(JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructor): Deleted.
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf):
(JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructor): Deleted.
- 11:49 AM Changeset in webkit [235789] by
-
- 3 edits in trunk/Tools
[ews-build] API tests should output result summary in json
https://bugs.webkit.org/show_bug.cgi?id=189417
Reviewed by Lucas Forschler.
- BuildSlaveSupport/ews-build/steps.py:
(RunAPITests): Passed --json-output parameter to run-api-tests.
- BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
- 11:15 AM Changeset in webkit [235788] by
-
- 4 edits in trunk
Unreviewed, rolling out r235784.
https://bugs.webkit.org/show_bug.cgi?id=189421
RunLoopCF does not agree to the fix (Requested by yusukesuzuki
on #webkit).
Reverted changeset:
"[RunLoopGeneric] OneShotTimer should be inactive when fired."
https://bugs.webkit.org/show_bug.cgi?id=189335
https://trac.webkit.org/changeset/235784
- 10:50 AM Changeset in webkit [235787] by
-
- 7 edits in trunk/Source/WebCore
[LFC] Replace "computed" value with "used" value to match spec language
https://bugs.webkit.org/show_bug.cgi?id=189414
Reviewed by Antti Koivisto.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
- layout/FormattingContext.h:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin const):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin const):
- layout/blockformatting/BlockFormattingContext.h:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):
- 10:29 AM Changeset in webkit [235786] by
-
- 19 edits1 move in trunk/Source/JavaScriptCore
[WebAssembly] Optimize JS to Wasm call by using pointer of Signature as SignatureIndex
https://bugs.webkit.org/show_bug.cgi?id=189401
Reviewed by Mark Lam.
SignatureInformation is a global repository for Signature to make Signature atomic.
It takes Ref<Signature>&& and generates SignatureIndex. And we get const Signature&
by using this SignatureIndex. However, converting SignatureIndex to const Signature&
always looks up a hash table. This is costly since JS to Wasm calls always use
Signature& to check types of arguments.
Instead of using this hash table, this patch uses a pointer of Signature as SignatureIndex.
This allows us to convert SignatureIndex to Signature by just casting it.
We also optimize SignatureInformation::singleton by making an accessor function inlined.
And we move ProtoCallFrame::init to the header since it's just setting values.
This change significantly optimizes JS to wasm calls (1e7 times) from 600ms to 320ms.
In the future, we can remove SignatureIndex by directly handling Ref<Signature>: adding
deref() of Signature which unregisters itself from SignatureInformation carefully. Or we can
make SignatureIndex uint32_t by introducing a mechanism similar to StructureID.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- interpreter/ProtoCallFrame.h:
(JSC::ProtoCallFrame::init):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addCallIndirect):
- wasm/WasmBBQPlan.cpp:
- wasm/WasmFormat.h:
(JSC::Wasm::WasmToWasmImportableFunction::offsetOfSignatureIndex):
- wasm/WasmFunctionParser.h:
- wasm/WasmModule.h:
- wasm/WasmOMGPlan.cpp:
- wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseType):
- wasm/WasmSignature.cpp:
(JSC::Wasm::SignatureInformation::adopt):
(JSC::Wasm::SignatureInformation::tryCleanup):
(JSC::Wasm::SignatureInformation::singleton): Deleted.
(JSC::Wasm::SignatureInformation::get): Deleted.
- wasm/WasmSignature.h:
(JSC::Wasm::Signature::index const):
(JSC::Wasm::SignatureHash::SignatureHash):
(JSC::Wasm::SignatureHash::hash):
(JSC::Wasm::SignatureHash::isHashTableDeletedValue const):
(JSC::Wasm::SignatureHash::empty): Deleted.
(JSC::Wasm::SignatureHash::deleted): Deleted.
- wasm/WasmSignatureInlines.h: Renamed from Source/JavaScriptCore/interpreter/ProtoCallFrame.cpp.
(JSC::Wasm::SignatureInformation::singleton):
(JSC::Wasm::SignatureInformation::get):
- wasm/js/JSToWasm.cpp:
- wasm/js/JSWebAssemblyModule.h:
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJS):
- wasm/js/WebAssemblyFunction.cpp:
- wasm/js/WebAssemblyModuleRecord.cpp:
- wasm/js/WebAssemblyWrapperFunction.cpp:
- 9:57 AM Changeset in webkit [235785] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Put .throwStackOverflow code after the fast path in LLInt doVMEntry
https://bugs.webkit.org/show_bug.cgi?id=189410
Reviewed by Mark Lam.
Put .throwStackOverflow code after the fast path in LLInt doVMEntry to
make doVMEntry code tight.
- llint/LLIntThunks.cpp:
(JSC::vmEntryToWasm): Deleted.
- llint/LLIntThunks.h:
(JSC::vmEntryToWasm):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- 9:27 AM Changeset in webkit [235784] by
-
- 4 edits in trunk
[RunLoopGeneric] OneShotTimer should be inactive when fired.
https://bugs.webkit.org/show_bug.cgi?id=189335
Reviewed by Yusuke Suzuki.
Source/WTF:
- wtf/generic/RunLoopGeneric.cpp:
(WTF::RunLoop::TimerBase::ScheduledTask::fired):
(WTF::RunLoop::TimerBase::isActive const):
Deactivate one-shot timer before invoking its callback.
Tools:
- TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
Add test expectations about timer's active state.
Add a new test to restart a one-shot timer within
its fired callback.
- 8:51 AM Changeset in webkit [235783] by
-
- 2 edits in trunk/LayoutTests
[iOS] Unreviewed test gardening.
- platform/ios/TestExpectations:
- 8:38 AM Changeset in webkit [235782] by
-
- 4 edits in trunk/Source/WebKit
Unreviewed syntax fix after r235781
Don't use hash-quote syntax for these non-regex inputs.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Storage.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 5:28 AM Changeset in webkit [235781] by
-
- 4 edits in trunk/Source/WebKit
[iOS] Move default mach-lookup deny to after common.sb is imported
https://bugs.webkit.org/show_bug.cgi?id=189385
<rdar://problem/43624193>
Reviewed by Eric Carlson.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Move the 'deny mach-lookup' call later in the file.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Storage.sb: Ditto.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Ditto.
Sep 6, 2018:
- 10:55 PM Changeset in webkit [235780] by
-
- 3 edits in trunk/Source/WebCore
ShadowRoot should have its own node flag
https://bugs.webkit.org/show_bug.cgi?id=189392
Reviewed by Antti Koivisto.
Added IsShadowRootFlag and IsDocumentNodeFlag, and removed IsDocumentFragmentFlag and IsStyledElementFlag.
Also re-ordered flags to group flags used by subclasses below ones directly used by Node in
accordinate with the comment.
No new tests since there should be no behavioral change.
- dom/ContainerNode.h:
(WebCore::Node::isTreeScope const): Deleted.
- dom/Node.h:
(WebCore::Node::isStyledElement const): Check if this is a HTML, SVG, or MathML element instead.
(WebCore::Node::isDocumentNode const): Simply check IsDocumentNodeFlag.
(WebCore::Node::isTreeScope const): Check if this is a document or a shadow root Instead of comparing
the tree scope to this.
(WebCore::Node::isDocumentFragment const): Check if this is a container node which is neither document,
element, nor shadow root.
(WebCore::Node::isShadowRoot const): Simply check IsShadowRootFlag. This is the change needed to fix
the blockign bug 166748.
(WebCore::Node::flagIsShadowRoot): Added. Will be used in the bug 166748.
- 10:54 PM Changeset in webkit [235779] by
-
- 7 edits2 adds in branches/safari-606-branch
Cherry-pick r235721. rdar://problem/44212406
Source/WebCore:
The width of an empty or nullptr TextRun should be zero
https://bugs.webkit.org/show_bug.cgi?id=189154
<rdar://problem/43685926>
Reviewed by Zalan Bujtas.
If a page has an empty TextRun and attempts to paint it we can crash with a nullptr.
This patch recognizes that an empty TextRun should always produce a zero width, rather than
attempt to compute this value from font data. It also prevents ListBox from attempting to
paint a null string.
Test: fast/text/null-string-textrun.html
- platform/graphics/FontCascade.cpp: (WebCore::FontCascade::widthOfTextRange const): An empty TextRun has zero width. (WebCore::FontCascade::width const): Ditto.
- platform/graphics/TextRun.h: (WebCore::TextRun::TextRun): ASSERT that the supplied String is non-null. (WebCore::TextRun::setText): Ditto.
- rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground): Don't attempt to paint a null string.
Source/WTF:
The width of an empty or nullptr TextRun should be zero
https://bugs.webkit.org/show_bug.cgi?id=189154
<rdar://problem/43685926>
Reviewed by Zalan Bujtas.
Most accessors in WTFString.cpp, such as isAllASCII(), hash(), etc., perform a nullptr check
before using m_impl, but is8Bit() does not.
This patch adds a check in the is8Bit() implementation to be consistent with other methods,
and to address a small number of crashes observed in testing.
- wtf/text/WTFString.h: (WTF::String::is8Bit const):
LayoutTests:
The width of a nullptr TextRun should be zero
https://bugs.webkit.org/show_bug.cgi?id=189154
<rdar://problem/43685926>
Reviewed by Zalan Bujtas.
- fast/text/null-string-textrun-expected.txt: Added.
- fast/text/null-string-textrun.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:40 PM Changeset in webkit [235778] by
-
- 3 edits in trunk/Source/JavaScriptCore
[WebAssembly] Optimize JS to Wasm call by removing Vector allocation
https://bugs.webkit.org/show_bug.cgi?id=189353
Reviewed by Mark Lam.
JS to Wasm call always allocates Vector for the arguments. This is really costly if the wasm function is small.
This patch adds an initial size parameter to the Vector to avoid allocations for small sized arguments.
- runtime/ArgList.h:
- wasm/js/WebAssemblyFunction.cpp:
(JSC::callWebAssemblyFunction):
- 9:24 PM Changeset in webkit [235777] by
-
- 2 edits in trunk/Source/WebCore
[LFC] Inline replaced height calculation should use "used value"
https://bugs.webkit.org/show_bug.cgi?id=189395
Reviewed by Antti Koivisto.
Use the already assigned width value (aka used value) instead of the computed value when computing the inline's height.
see https://www.w3.org/TR/CSS22/cascade.html#value-stages for "used" and "computed" value.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
- 9:24 PM Changeset in webkit [235776] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Clean up StructureStubClearingWatchpoint
https://bugs.webkit.org/show_bug.cgi?id=189156
Reviewed by Saam Barati.
Cleaning up StructureStubClearingWatchpoint by holding StructureStubClearingWatchpoint in Bag
in WatchpointsOnStructureStubInfo. This removes hacky linked list code for StructureStubClearingWatchpoint.
- bytecode/StructureStubClearingWatchpoint.cpp:
(JSC::WatchpointsOnStructureStubInfo::addWatchpoint):
(JSC::StructureStubClearingWatchpoint::~StructureStubClearingWatchpoint): Deleted.
(JSC::StructureStubClearingWatchpoint::push): Deleted.
(JSC::WatchpointsOnStructureStubInfo::~WatchpointsOnStructureStubInfo): Deleted.
- bytecode/StructureStubClearingWatchpoint.h:
(JSC::StructureStubClearingWatchpoint::StructureStubClearingWatchpoint):
- 8:04 PM Changeset in webkit [235775] by
-
- 43 edits in trunk/Source
Refactor WebCore::EditAction to be an 8-bit enum class
https://bugs.webkit.org/show_bug.cgi?id=189383
Reviewed by Dan Bernstein.
Source/WebCore:
Currently, EditAction.h defines an EditAction as an enum. This patch changes EditAction to instead be an 8-bit-
wide enum class, and renames all EditAction values from EditAction(*) to EditAction::(*).
No change in behavior.
- editing/ApplyStyleCommand.h:
(WebCore::ApplyStyleCommand::create):
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::apply):
(WebCore::deleteSelectionEditingActionForEditingAction):
- editing/CompositeEditCommand.h:
(WebCore::EditCommandComposition::wasCreateLinkCommand const):
- editing/CreateLinkCommand.h:
- editing/DeleteFromTextNodeCommand.h:
(WebCore::DeleteFromTextNodeCommand::create):
- editing/DeleteSelectionCommand.h:
(WebCore::DeleteSelectionCommand::create):
- editing/DictationCommand.cpp:
(WebCore::DictationCommand::insertTextRunWithoutNewlines):
(WebCore::DictationCommand::insertParagraphSeparator):
- editing/EditAction.h:
(): Deleted.
- editing/EditCommand.cpp:
(WebCore::inputTypeNameForEditingAction):
- editing/EditCommand.h:
- editing/Editor.cpp:
(WebCore::inputEventDataForEditingStyleAndAction):
(WebCore::ClearTextCommand::editingAction const):
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::performCutOrCopy):
(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::transpose):
- editing/Editor.h:
- editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame):
(WebCore::executeInsertFragment):
(WebCore::executeBackColor):
(WebCore::executeFontName):
(WebCore::executeFontSize):
(WebCore::executeFontSizeDelta):
(WebCore::executeForeColor):
(WebCore::executeJustifyCenter):
(WebCore::executeJustifyFull):
(WebCore::executeJustifyLeft):
(WebCore::executeJustifyRight):
(WebCore::executeMakeTextWritingDirectionLeftToRight):
(WebCore::executeMakeTextWritingDirectionNatural):
(WebCore::executeMakeTextWritingDirectionRightToLeft):
(WebCore::executeStrikethrough):
(WebCore::executeSubscript):
(WebCore::executeSuperscript):
(WebCore::executeToggleBold):
(WebCore::executeToggleItalic):
(WebCore::executeUnderline):
(WebCore::executeUnscript):
- editing/FormatBlockCommand.h:
- editing/IndentOutdentCommand.h:
- editing/InsertIntoTextNodeCommand.h:
(WebCore::InsertIntoTextNodeCommand::create):
- editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::editingAction const):
- editing/InsertNodeBeforeCommand.h:
(WebCore::InsertNodeBeforeCommand::create):
- editing/InsertParagraphSeparatorCommand.h:
(WebCore::InsertParagraphSeparatorCommand::create):
- editing/InsertTextCommand.h:
(WebCore::InsertTextCommand::create):
(WebCore::InsertTextCommand::createWithMarkerSupplier):
- editing/MoveSelectionCommand.cpp:
(WebCore::MoveSelectionCommand::doApply):
(WebCore::MoveSelectionCommand::editingAction const):
- editing/RemoveFormatCommand.h:
- editing/RemoveNodeCommand.h:
(WebCore::RemoveNodeCommand::create):
- editing/ReplaceRangeWithTextCommand.cpp:
(WebCore::ReplaceRangeWithTextCommand::ReplaceRangeWithTextCommand):
(WebCore::ReplaceRangeWithTextCommand::doApply):
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
(WebCore::ReplaceSelectionCommand::performTrivialReplace):
- editing/ReplaceSelectionCommand.h:
(WebCore::ReplaceSelectionCommand::create):
- editing/SpellingCorrectionCommand.cpp:
(WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):
(WebCore::SpellingCorrectionCommand::doApply):
- editing/TextInsertionBaseCommand.h:
- editing/TypingCommand.cpp:
(WebCore::editActionForTypingCommand):
(WebCore::editActionIsDeleteByTyping):
(WebCore::TypingCommand::isBeforeInputEventCancelable const):
(WebCore::TypingCommand::inputEventData const):
(WebCore::TypingCommand::inputEventDataTransfer const):
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
(WebCore::TypingCommand::insertParagraphSeparator):
- editing/UnlinkCommand.h:
- editing/ios/DictationCommandIOS.cpp:
(WebCore::DictationCommandIOS::DictationCommandIOS):
- editing/ios/EditorIOS.mm:
(WebCore::Editor::removeUnchangeableStyles):
- page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
Source/WebKit:
- UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::nameForEditAction):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::changeFontAttributes):
(WebKit::WebPage::changeFont):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebEditorClient.mm:
(undoNameForEditAction):
- WebView/WebHTMLView.mm:
(-[WebHTMLView pasteFont:]):
(-[WebHTMLView changeFont:]):
(-[WebHTMLView changeAttributes:]):
(-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
(-[WebHTMLView changeColor:]):
- WebView/WebView.mm:
(-[WebView setTypingStyle:]):
Source/WebKitLegacy/win:
- WebCoreSupport/WebEditorClient.cpp:
(undoNameForEditAction):
- 7:36 PM Changeset in webkit [235774] by
-
- 3 edits in trunk/Source/WebCore
Fix the build for non-Cocoa platforms after r235772.
- platform/graphics/cairo/GradientCairo.cpp:
(WebCore::Gradient::createPlatformGradient):
- platform/graphics/win/GradientDirect2D.cpp:
(WebCore::Gradient::generateGradient):
(WebCore::Gradient::fill):
- 7:27 PM Changeset in webkit [235773] by
-
- 8 edits2 adds in trunk
[LFC] Add support for min/max-height percentage values.
https://bugs.webkit.org/show_bug.cgi?id=189391
Reviewed by Antti Koivisto.
Source/WebCore:
The percentage is calculated with respect to the height of the generated box's containing block.
If the height of the containing block is not specified explicitly (i.e., it depends on content height), and this element
is not absolutely positioned, the percentage value is treated as '0' (for 'min-height') or 'none' (for 'max-height').
Test: fast/block/block-only/min-max-height-percentage.html
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::computedValueIfNotAuto):
(WebCore::Layout::FormattingContext::Geometry::computedMaxHeight):
(WebCore::Layout::FormattingContext::Geometry::computedMinHeight):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin const):
Tools:
- LayoutReloaded/misc/LFC-passing-tests.txt:
LayoutTests:
- fast/block/block-only/min-max-height-percentage-expected.txt: Added.
- fast/block/block-only/min-max-height-percentage.html: Added.
- 6:36 PM Changeset in webkit [235772] by
-
- 17 edits10 adds in trunk
Add Support for Conic Gradients
https://bugs.webkit.org/show_bug.cgi?id=189329
<rdar://problem/21444701>
Reviewed by Simon Fraser.
Source/WebCore:
Add support for rendering CSS conic gradients.
The parsing work was already done, this just hooks up the data we have
with the CG functionality for conic gradients. Add the needed plumbing
to allow for this additional type and fill in the creation of
a conic gradient.
Tests: fast/gradients/conic-repeating.html
fast/gradients/conic.html
- css/CSSGradientValue.cpp:
(WebCore::createGradient):
(WebCore::LinearGradientAdapter::gradientLength const):
(WebCore::RadialGradientAdapter::gradientLength const):
(WebCore::ConicGradientAdapter::ConicGradientAdapter):
(WebCore::ConicGradientAdapter::gradientLength const):
(WebCore::ConicGradientAdapter::maxExtent const):
(WebCore::ConicGradientAdapter::normalizeStopsAndEndpointsOutsideRange):
Compute what the color stops should be if they extend past 0-1
(WebCore::CSSGradientValue::computeStops):
(WebCore::CSSConicGradientValue::createGradient):
(WebCore::LinearGradientAdapter::startPoint const): Deleted.
(WebCore::LinearGradientAdapter::endPoint const): Deleted.
(WebCore::RadialGradientAdapter::startPoint const): Deleted.
(WebCore::RadialGradientAdapter::endPoint const): Deleted.
Start and End points weren't very universal. All we really need from these
gradientAdapters is their length, so just ask for that instead.
- inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::buildArrayForCanvasGradient):
- platform/graphics/Gradient.cpp:
(WebCore::Gradient::create):
(WebCore::Gradient::Gradient):
(WebCore::Gradient::type const):
(WebCore::Gradient::adjustParametersForTiledDrawing):
(WebCore::Gradient::isZeroSize const):
(WebCore::Gradient::hash const):
- platform/graphics/Gradient.h:
- platform/graphics/cg/GradientCG.cpp:
(WebCore::Gradient::paint):
Source/WebCore/PAL:
Define the CG functionality for conic gradients.
- pal/spi/cg/CoreGraphicsSPI.h:
Source/WebKit:
Connect up web preferences to allow conic gradients to be turned on in the
experimental features menu.
- Shared/WebPreferences.yaml:
LayoutTests:
Simple tests to see if conic gradients are rendered properly.
- fast/gradients/conic-expected.html: Added.
- fast/gradients/conic-repeating-expected.html: Added.
- fast/gradients/conic-repeating.html: Added.
- fast/gradients/conic.html: Added.
- 5:24 PM Changeset in webkit [235771] by
-
- 4 edits in trunk/Tools
Log when leak detection changes the test result
https://bugs.webkit.org/show_bug.cgi?id=189293
Reviewed by Jon Lee.
When you have an "Leak" expectation in TestExpectations, it's confusing to see a test unexpectedly pass,
but then show up as an expected fail at the end (because leak detection happens at the end of a shard).
So log when leak detection changes a test result.
- Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner._annotate_results_with_additional_failures):
- Scripts/webkitpy/layout_tests/models/test_expectations.py:
- 5:21 PM Changeset in webkit [235770] by
-
- 1 copy in releases/WPE WebKit/webkit-2.21.92
Release WPE WebKit 2.21.92
- 5:05 PM Changeset in webkit [235769] by
-
- 17 edits2 adds in trunk
[macOS] [WK2] Support changing attributes for selected text (text shadow, underline, strike-through)
https://bugs.webkit.org/show_bug.cgi?id=189356
<rdar://problem/44185674>
Reviewed by Tim Horton.
Source/WebCore:
Add support for encoding and decoding FontAttributeChanges, so that we can send FontAttributeChanges over IPC in
WebKit2. Also change m_verticalAlign to a new VerticalAlignChange enum type, so that it's no longer tied to the
CSS property values of "vertical-align", and can be encoded/decoded separately from VerticalAlign in
RenderStyleConstants.
Test: FontManagerTests.ChangeAttributesWithFontEffectsBox
- editing/FontAttributeChanges.cpp:
(WebCore::FontAttributeChanges::createEditingStyle const):
- editing/FontAttributeChanges.h:
(WebCore::FontAttributeChanges::setVerticalAlign):
(WebCore::FontShadow::encode const):
(WebCore::FontShadow::decode):
(WebCore::FontAttributeChanges::encode const):
(WebCore::FontAttributeChanges::decode):
- platform/mac/WebCoreNSFontManagerExtras.mm:
(WebCore::computedFontAttributeChanges):
Source/WebKit:
Implement -[WKWebView changeAttributes:], so that WKWebView can carry out more types of font style changes via
NSFontPanel. This patch makes it possible to (1) change text shadow, (2) add or remove strike-through, and (3)
add or remove underlines from selected text using the font panel.
This builds on the mechanisms introduced in r235748 to compute font attribute changes in the UI process and
propagate this information to the web process, where we're able to create and apply an EditingStyle to the
current selection.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView changeAttributes:]):
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::changeFontAttributesFromSender):
- UIProcess/WebPageProxy.h:
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::changeFontAttributes):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Add boilerplate IPC support.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::changeFontAttributes):
Tools:
Adds a new API test to verify that some font attributes (text shadow, underline, and strike-through) can be
added and removed using NSFontPanel.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/mac/FontManagerTests.mm:
Add the new API test.
(TestWebKitAPI::TEST):
- TestWebKitAPI/cocoa/TestWKWebView.h:
- TestWebKitAPI/mac/NSFontPanelTesting.h: Added.
- TestWebKitAPI/mac/NSFontPanelTesting.mm: Added.
Introduce a new file that extends NSFontPanel with some additional testing functionality. This includes the
ability to interact with the text shadow toggle button, choose the text shadow blur radius and opacity, and
change underline and strike-through styles.
(findSubviewOfClass):
(findMenuItemWithTitle):
(-[NSFontPanel fontEffectsBox]):
NSFontEffectsBox (an internal AppKit class) is the sender in the case where -changeAttributes: is invoked
through interaction with the font panel. To simulate this for testing, grab this font effects box and pass it
directory to -changeAttributes:.
(-[NSFontPanel chooseUnderlineMenuItemWithTitle:]):
(-[NSFontPanel chooseStrikeThroughMenuItemWithTitle:]):
The supported values for these menu items are "none" and "single", which adds a single underline or
strike-through to selected text. We grab these menu items by asking for the font panel's NSToolbar, and finding
the relevant menu items via toolbar item identifiers.
(-[NSFontPanel _didChangeAttributes]):
(-[NSFontPanel shadowBlurSlider]):
(-[NSFontPanel shadowOpacitySlider]):
(-[NSFontPanel shadowToggleButton]):
(-[NSFontPanel toggleShadow]):
(-[NSFontPanel shadowOpacity]):
(-[NSFontPanel setShadowOpacity:]):
(-[NSFontPanel shadowBlur]):
(-[NSFontPanel setShadowBlur:]):
(-[NSFontPanel _toolbarItemWithIdentifier:]):
- 4:52 PM Changeset in webkit [235768] by
-
- 7 edits in branches/safari-606-branch/Source
Versioning.
- 4:50 PM Changeset in webkit [235767] by
-
- 1 copy in tags/Safari-606.2.1
Tag Safari-606.2.1.
- 4:47 PM Changeset in webkit [235766] by
-
- 4 edits in releases/WebKitGTK/webkit-2.22
Unreviewed. Update OptionsWPE.cmake and NEWS for 2.21.92 release.
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.21.92.
- 4:44 PM Changeset in webkit [235765] by
-
- 3 edits1 add in trunk
Improper speculation type for Math.pow(NaN, 0) in Abstract Interpreter
https://bugs.webkit.org/show_bug.cgi?id=189380
Reviewed by Saam Barati.
JSTests:
New test.
- stress/math-pow-nan-to-zero-spec-type.js: Added.
(func):
(test):
Source/JavaScriptCore:
Account for the case where in Math.pow(NaN, y) where y could be 0.
- bytecode/SpeculatedType.cpp:
(JSC::typeOfDoublePow):
- 4:25 PM Changeset in webkit [235764] by
-
- 10 edits in trunk/Tools
run-webkit-tests prints confusing messages when test expectations list results that are not compatible with the run options
https://bugs.webkit.org/show_bug.cgi?id=189219
Reviewed by Jon Lee.
If you call run-webkit-tests without --pixel-tests, and a non-ref test is marked as ImageOnlyFailure,
it will be reported as unexpectedly passing. This is more confusing if you run without --world-leaks, yet
tests are marked as [ Leak ] in TestExpectations.
Fix by filtering out expectations that don't apply given the run options. So without --pixel-tests,
a non-ref ImageOnlyFailure becomes a Pass, and without --world-leaks, a Leak becomes a Pass.
Add various unit tests to test the various combinations.
- Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner._update_summary_with_result):
(LayoutTestRunner._annotate_results_with_additional_failures):
- Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(LayoutTestRunnerTests.test_update_summary_with_result):
- Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationsModel.get_expectations_or_pass):
(TestExpectationsModel):
(TestExpectationsModel.expectations_to_string):
(TestExpectationsModel.get_expectations_string):
(TestExpectations.filtered_expectations_for_test):
(TestExpectations):
(TestExpectations.matches_an_expected_result):
- Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
- Scripts/webkitpy/layout_tests/models/test_run_results.py:
(summarize_results):
- Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
(summarized_results):
(SummarizedResultsTest.setUp):
(SummarizedResultsTest.test_summarized_results_include_passes):
(SummarizedResultsTest):
(SummarizedResultsTest.test_summarized_results_world_leaks_disabled):
- Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
- Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
(BuildBotPrinterTests.test_print_unexpected_results):
(BuildBotPrinterTests.test_print_unexpected_results_with_options):
(BuildBotPrinterTests.test_print_results):
- Scripts/webkitpy/port/test.py:
(unit_test_list):
- 3:39 PM Changeset in webkit [235763] by
-
- 10 edits6 adds in trunk
[LFC][BFC] Add support for min(max)-height
https://bugs.webkit.org/show_bug.cgi?id=189377
Reviewed by Antti Koivisto.
Source/WebCore:
See https://www.w3.org/TR/CSS22/visudet.html#min-max-heights for details.
Tests: fast/block/block-only/absolute-position-min-max-height.html
fast/block/block-only/float-min-max-height.html
fast/block/block-only/inflow-min-max-height.html
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
- layout/FormattingContext.h:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin):
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin const):
- layout/blockformatting/BlockFormattingContext.h:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
Tools:
- LayoutReloaded/misc/LFC-passing-tests.txt:
LayoutTests:
- fast/block/block-only/absolute-position-min-max-height-expected.txt: Added.
- fast/block/block-only/absolute-position-min-max-height.html: Added.
- fast/block/block-only/float-min-max-height-expected.txt: Added.
- fast/block/block-only/float-min-max-height.html: Added.
- fast/block/block-only/inflow-min-max-height-expected.txt: Added.
- fast/block/block-only/inflow-min-max-height.html: Added.
- 3:32 PM Changeset in webkit [235762] by
-
- 3 edits in trunk/Tools
BenchmarkResults.format should support specifying depth of tests to show.
https://bugs.webkit.org/show_bug.cgi?id=189135
Reviewed by Ryosuke Niwa.
Added the option to specify the depth of tests to show.
- Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults):
(BenchmarkResults.format): Added 'max_depth' option.
(BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
- 3:25 PM Changeset in webkit [235761] by
-
- 3 edits in trunk/Tools
An EWS run that has leak test failures does not correctly add bugzilla comments showing the failures
https://bugs.webkit.org/show_bug.cgi?id=189368
Reviewed by Alexey Proskuryakov.
Include FailureDocumentLeak in ALL_FAILURE_CLASSES (with a fairly redundant test),
which should fix EWS showing leaks in Bugzilla.
- Scripts/webkitpy/layout_tests/models/test_failures.py:
(FailureDocumentLeak.init):
- Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:
(TestFailuresTest.test_all_failure_classes):
- 3:10 PM Changeset in webkit [235760] by
-
- 12 edits in trunk/Source/WebCore
[MediaStream] Include supported frame rates in video capture presets
https://bugs.webkit.org/show_bug.cgi?id=189351
<rdar://problem/44188917>
Reviewed by Youenn Fablet.
No new tests, no functionality changed.
Include frame rates as well as width/height in video capture presets, so the mock video
capture devices model real camera devices more closely.
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::setSizeAndFrameRate): Renamed from applySizeAndFrameRate. Use
setSize instead of setWidth and setHeight.
(WebCore::RealtimeMediaSource::applyConstraints): applySizeAndFrameRate -> setSizeAndFrameRate.
(WebCore::RealtimeMediaSource::applySizeAndFrameRate): Deleted.
(WebCore::RealtimeMediaSource::setWidth): Deleted.
(WebCore::RealtimeMediaSource::setHeight): Deleted.
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/RealtimeVideoSource.cpp:
(WebCore::RealtimeVideoSource::setSupportedPresets): New.
(WebCore::updateMinMax):
(WebCore::RealtimeVideoSource::addSupportedCapabilities const): Calculate capabilities from
presets.
(WebCore::RealtimeVideoSource::supportsSizeAndFrameRate): Use bestSupportedSizeAndFrameRate.
(WebCore::RealtimeVideoSource::bestSupportedSizeAndFrameRate):
(WebCore::RealtimeVideoSource::setSizeAndFrameRate):
(WebCore::RealtimeVideoSource::setSupportedFrameRates): Deleted.
(WebCore::RealtimeVideoSource::bestSupportedCaptureSizeForWidthAndHeight): Deleted.
(WebCore::RealtimeVideoSource::applySizeAndFrameRate): Deleted.
(WebCore::RealtimeVideoSource::supportsFrameRate): Deleted.
- platform/mediastream/RealtimeVideoSource.h:
(WebCore::RealtimeVideoSource::setSupportedCaptureSizes): Deleted.
- platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:
(WebCore::GStreamerVideoCaptureSource::stopProducingData):
- platform/mediastream/mac/AVVideoCaptureSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::setSizeAndFrameRate):
(WebCore::AVVideoCaptureSource::applySizeAndFrameRate): Deleted.
- platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:
(WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream):
- platform/mock/MockMediaDevice.h:
(WebCore::MockCameraProperties::encode const):
(WebCore::MockCameraProperties::decode):
(WebCore::MockDisplayProperties::encode const):
(WebCore::MockDisplayProperties::decode):
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::defaultDevices):
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):
(WebCore::MockRealtimeVideoSource::capabilities const):
(WebCore::MockRealtimeVideoSource::settings const):
- 2:52 PM WebKitGTK/StableRelease edited by
- Add link to the 2.22.x releases wiki page (diff)
- 2:48 PM Changeset in webkit [235759] by
-
- 2 edits2 adds in trunk/LayoutTests
[iOS] Add a test to ensure that DOM keyup events have the correct details
https://bugs.webkit.org/show_bug.cgi?id=189327
Reviewed by Wenson Hsieh.
Until we fix <rdar://problem/35282761> DOM keyup events will have incorrect details on iOS
when dispatched in response to a hardware keyboard press. For now, land expected failure results.
- fast/events/ios/keyup-expected.txt: Added.
- fast/events/ios/keyup.html: Added.
- resources/ui-helper.js:
(window.UIHelper.typeCharacter): Escape backslash characters in order to build up
a well-formed UI script to evaluate.
- 2:37 PM Changeset in webkit [235758] by
-
- 11 edits2 adds in trunk/Source
Actively prewarm processes created for prewarm pool
https://bugs.webkit.org/show_bug.cgi?id=189364
Reviewed by Chris Dumez.
Source/WebCore:
Do some basic prewarming for newly created processes.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
- css/CSSDefaultStyleSheets.h:
- page/Frame.cpp:
(WebCore::Frame::Frame):
- page/ProcessWarming.cpp: Added.
(WebCore::ProcessWarming::initializeNames):
Factor name initialization into a function.
(WebCore::ProcessWarming::prewarm):
Prewarm
- names
- settings (system fonts)
- user agent stylesheet
- JavaScript VM
- telephone number detection
- page/ProcessWarming.h: Added.
Source/WebKit:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::prewarm):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 2:14 PM Changeset in webkit [235757] by
-
- 9 edits in trunk/Source/WebCore
Move replaceTrack logic to RTCRtpSender backend
https://bugs.webkit.org/show_bug.cgi?id=189359
Reviewed by Eric Carlson.
Move replaceTrack handling from LibWebRTCPeerConnectionBackend to LibWebRTCRtpSenderBackend.
This will allow using SetTrack when fully implementing unified plan.
No change of behavior.
- Modules/mediastream/RTCRtpSender.cpp:
(WebCore::RTCRtpSender::replaceTrack):
- Modules/mediastream/RTCRtpSender.h:
- Modules/mediastream/RTCRtpSender.idl:
- Modules/mediastream/RTCRtpSenderBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::LibWebRTCPeerConnectionBackend::replaceTrack): Deleted.
(WebCore::LibWebRTCPeerConnectionBackend::enqueueReplaceTrackTask): Deleted.
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp:
(WebCore::updateTrackSource):
(WebCore::LibWebRTCRtpSenderBackend::replaceTrack):
- Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.h:
- 2:09 PM Changeset in webkit [235756] by
-
- 3 edits in trunk/Tools
Unreviewed, rolling out r235755.
https://bugs.webkit.org/show_bug.cgi?id=189367
Didn't address the review comment (Requested by rniwa on
#webkit).
Reverted changeset:
"BenchmarkResults.format should support specifying depth of
tests to show."
https://bugs.webkit.org/show_bug.cgi?id=189135
https://trac.webkit.org/changeset/235755
- 1:47 PM Changeset in webkit [235755] by
-
- 3 edits in trunk/Tools
BenchmarkResults.format should support specifying depth of tests to show.
https://bugs.webkit.org/show_bug.cgi?id=189135
Reviewed by Ryosuke Niwa.
Added the option to specify the depth of tests to show.
- Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults):
(BenchmarkResults.format): Added 'max_depth' option.
(BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
- 1:42 PM Changeset in webkit [235754] by
-
- 10 edits in trunk
[Apple Pay] Rename the -apple-pay-button-type value "checkout" to "check-out"
https://bugs.webkit.org/show_bug.cgi?id=189366
<rdar://problem/44193218>
Reviewed by Sam Weinig.
Source/WebCore:
The button title is "Check out with Apple Pay", so we should use the verb phrase "check out"
rather than the noun "checkout" for naming this value.
Updated http/tests/ssl/applepay/ApplePayButtonV4.html.
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ApplePayButtonType const):
- css/CSSValueKeywords.in:
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- rendering/RenderThemeCocoa.mm:
(WebCore::toPKPaymentButtonType):
- rendering/style/RenderStyleConstants.h:
Source/WebInspectorUI:
- UserInterface/Models/CSSKeywordCompletions.js:
LayoutTests:
- http/tests/ssl/applepay/ApplePayButtonV4.html:
- 1:36 PM Changeset in webkit [235753] by
-
- 3 edits in trunk/Tools
[WHLSL] Call arguments should be copied as soon as they are evaluated
https://bugs.webkit.org/show_bug.cgi?id=189360
Patch by Thomas Denney <tdenney@apple.com> on 2018-09-06
Reviewed by Myles C. Maxfield.
Previously all call arguments were evaluated and then their results were
copied into new buffers for the call. However, the results are not
necessarily independent, so the result should be copied immediately
after evaluation.
- WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitCallExpression): Move location of copy.
(Evaluator):
- WebGPUShadingLanguageRI/Test.js: Add new test to verify correct
behavior.
- 12:59 PM Changeset in webkit [235752] by
-
- 17 edits in trunk/Source
Don't pause playback when locking screen if video is being displayed on second screen.
https://bugs.webkit.org/show_bug.cgi?id=189321
Reviewed by Eric Carlson.
Source/WebCore:
Expand the existing behavior when AirPlaying to an external device to playing to a local
external screen. Don't pause when the screen locks, and don't stop buffering in that mode either.
Add a KVO-observer to the WebAVPlayerController's playingOnSecondScreen property, and pass
that observed value on to the media element.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setShouldPlayToPlaybackTarget):
(WebCore::HTMLMediaElement::setPlayingOnSecondScreen):
(WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction const):
(WebCore::HTMLMediaElement::processingUserGestureForMedia const):
(WebCore::HTMLMediaElement::mediaState const):
(WebCore::HTMLMediaElement::purgeBufferedDataIfPossible):
(WebCore::HTMLMediaElement::shouldOverrideBackgroundLoadingRestriction const):
(WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless const): Deleted.
(WebCore::HTMLMediaElement::canPlayToWirelessPlaybackTarget const): Deleted.
(WebCore::HTMLMediaElement::isPlayingToWirelessPlaybackTarget const): Deleted.
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless const):
(WebCore::HTMLMediaElement::isPlayingToExternalTarget const):
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canPlayToWirelessPlaybackTarget const): Deleted.
- html/MediaElementSession.h:
- platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSessionClient::setWirelessPlaybackTarget):
(WebCore::PlatformMediaSessionClient::isPlayingOnSecondScreen const):
(WebCore::PlatformMediaSession::canPlayToWirelessPlaybackTarget const): Deleted.
(WebCore::PlatformMediaSessionClient::canPlayToWirelessPlaybackTarget const): Deleted.
- platform/cocoa/PlaybackSessionModel.h:
- platform/cocoa/PlaybackSessionModelMediaElement.h:
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::setPlayingOnSecondScreen):
- platform/ios/WebAVPlayerController.mm:
(-[WebAVPlayerController init]):
(-[WebAVPlayerController dealloc]):
(-[WebAVPlayerController observeValueForKeyPath:ofObject:change:context:]):
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::setPlayingOnSecondScreen):
Source/WebKit:
Pass the "isPlayingOnSecondScreen" value across the process boundary.
- UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionModelContext::setPlayingOnSecondScreen):
(WebKit::PlaybackSessionManagerProxy::setPlayingOnSecondScreen):
- WebProcess/cocoa/PlaybackSessionManager.h:
- WebProcess/cocoa/PlaybackSessionManager.messages.in:
- WebProcess/cocoa/PlaybackSessionManager.mm:
(WebKit::PlaybackSessionManager::setPlayingOnSecondScreen):
- 12:58 PM Changeset in webkit [235751] by
-
- 1 edit1 move in trunk/JSTests
Gardening: Move regress-189185.js under JSTests/wasm.
https://bugs.webkit.org/show_bug.cgi?id=189347
Unreviewed.
- stress/regress-189185.js: Removed.
- wasm/regress/regress-189185.js: Copied from JSTests/stress/regress-189185.js.
- 12:58 PM Changeset in webkit [235750] by
-
- 2 edits in trunk/Tools
[WHLSL] The test suite should log the compile time for the standard library
https://bugs.webkit.org/show_bug.cgi?id=189354
Patch by Thomas Denney <tdenney@apple.com> on 2018-09-06
Reviewed by Myles C. Maxfield.
The test suite previously only logged the time for test execution, and
not the compile time for the standard library.
- WebGPUShadingLanguageRI/Test.js:
- 12:48 PM Changeset in webkit [235749] by
-
- 11 edits in trunk/Source
Group options of scrollRectToVisible into a struct
https://bugs.webkit.org/show_bug.cgi?id=189352
Patch by Frederic Wang <fwang@igalia.com> on 2018-09-06
Reviewed by Simon Fraser.
Source/WebCore:
RenderLayer::scrollRectToVisible and RenderObject::scrollRectToVisible have several
parameters to configure the type of scrolling. This patch groups the const options into a
single struct to make easier to handle them in the future. For example, an #ifdefed scroll
behavior option will be added in bug 188043. This refactoring can maybe help too for other
scroll extensions (e.g. bug 176454 and bug 161611).
No new tests, behavior unchanged.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::scrollToMakeVisible const): Pass options via a struct.
- dom/Element.cpp:
(WebCore::Element::scrollIntoView): Ditto.
(WebCore::Element::scrollIntoViewIfNeeded): Ditto.
(WebCore::Element::scrollIntoViewIfNotVisible): Ditto.
- editing/FrameSelection.cpp: Include RenderLayer.h in all WebKit ports in order to define
ScrollRectToVisibleOptions.
(WebCore::FrameSelection::revealSelection): Pass options via a struct.
- page/FrameView.cpp:
(WebCore::FrameView::scrollToFocusedElementInternal): Ditto.
(WebCore::FrameView::scrollToAnchor): Ditto.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible): Pass options via a struct. Note that
absoluteRect and insideFixed are modified in this function.
(WebCore::RenderLayer::autoscroll): Pass options via a struct.
- rendering/RenderLayer.h: Add ScrollRectToVisibleOptions and use it in order to pass
scrollRectToVisible options.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::scrollRectToVisible): Pass options via a struct
- rendering/RenderObject.h: Forward-declare ScrollRectToVisibleOptions and use in order to
pass scrollRectToVisible options.
Source/WebKitLegacy/mac:
- WebView/WebFrame.mm: Add header to use ScrollRectToVisibleOptions.
(-[WebFrame _scrollDOMRangeToVisible:]): Pass options via a struct.
(-[WebFrame _scrollDOMRangeToVisible:withInset:]): Ditto.
- 12:46 PM Changeset in webkit [235748] by
-
- 20 edits6 adds in trunk
[macOS] Cannot change font size at selection until font panel is shown
https://bugs.webkit.org/show_bug.cgi?id=189295
<rdar://problem/35593389>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Currently, attempting to alter the font size of currently selected editable text in WKWebView via menu items
will fail if the font panel has never been shown. This is because WebViewImpl::changeFontFromFontPanel, which is
responsible for converting the current font at the selection to the new font using -[NSFontManager convertFont:]
bails as a result of NSFontManager's currently selected font always being nil.
WKWebView is responsible for keeping NSFontManager up-to-date with the currently selected font; in fact, this
was initially the case in r180465, which introduced NSFontManager support in WebKit2 by propagating EditorState
updates that contained font information for the current selection. However, this regressed performance due to
selected font computation triggering extra layout passes; r180768 addressed this by introducing a mechanism for
requesting the font at the current selection, and only updating NSFontManager with the new selected font when
the shared font panel is visible (determined by KVO on NSFontPanel). However, this again regressed WKWebView
launch performance, due to KVO registration always forcing the shared NSFontPanel to be created. r182037
addressed this by only registering for KVO on the font panel if the WKWebView has been made editable (SPI on
WKWebView).
This leads to two issues when attempting to alter font attributes using macOS UI: (1) in web views that have not
been made editable using SPI, showing the font panel and attempting to change the font fails due to the selected
font staying nil, because we've never begun registering for KVO notifications on the font panel so we don't try
to keep the font manager up to date. (2) Even if the web view is made editable, if the font panel is never
shown, then the font manager still won't be kept up to date with the current selection, so changing fonts using
menu items still does not work.
We fix both of these problems by refactoring font manager support on WebKit2 such that an up-to-date selected
font in the UI process is no longer necessary in order to alter the font at the current selection. To do this,
we figure out what changes the NSFontManager would've made to the currently selected font in the UI process, and
then propagate this information to the web process, where we convert this information into an EditingStyle which
we apply to the current selection.
The code to both determine the attributes changed by NSFontManager and to convert these attributes into editing
styles to be applied via Editor already exists in WebKitLegacy, in WebHTMLView.mm. This patch moves this
existing logic into WebCore and teases it apart into two portions: the first portion probes NSFontManager to
determine which aspects of the font changed and constructs FontChanges, which captures these differences. The
second portion maps FontChanges to an EditingStyle, which can then be applied to the current selection. In
WebKitLegacy, we construct FontChanges using the font manager, and then immediately use it to create and apply
an EditingStyle. In WebKit, we construct FontChanges in the UI process using the font manager, and then send
this over to the web process via WebPage::changeFont, which then creates and applies the EditingStyle.
Note that this patch also introduces FontAttributeChanges, which is similar in concept to FontChanges, but
captures a broader range of changes possible via NSFontPanel. This was done so that we can eliminate all of the
font manager probing code (along with the two specimen fonts) from WebHTMLView, but is also necessary in order
to allow changing font shadow, strikethrough, and underlines via the font panel to work in WebKit2. This will be
fixed in a followup, by making FontAttributeChanges IPC encodable and by making WKWebView/WKView respond to the
-changeAttributes: selector.
Changes in behavior to WebKit2 are covered by new API tests; legacy WebKit behavior should remain unchanged.
Tests: FontManagerTests.ChangeFontSizeWithMenuItems
FontManagerTests.ChangeFontWithPanel
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- editing/Editor.h:
Remove applyFontStyles.
- editing/FontAttributeChanges.cpp: Added.
(WebCore::FontChanges::platformFontFamilyNameForCSS const):
Given a font family name and a font name, returns the string to use as the "font-family" style property value.
Originally from WebHTMLView.mm.
(WebCore::FontChanges::createEditingStyle const):
Converts font changes to an EditingStyle that can be used to apply these changes.
(WebCore::FontChanges::createStyleProperties const):
Introduce FontChanges, which encapsulates changes which are to be applied to the font in the current selection.
(WebCore::cssValueListForShadow):
(WebCore::FontAttributeChanges::createEditingStyle const):
Converts font attribute changes to an EditingStyle that can be used to apply these changes.
- editing/FontAttributeChanges.h: Added.
Introduce FontAttributeChanges, which encapsulates changes which are to be applied to the font attributes in the
current selection. This includes a set of FontChanges, as well as additional attributes such as strike-through
and underlines.
(WebCore::FontChanges::setFontName):
(WebCore::FontChanges::setFontFamily):
(WebCore::FontChanges::setFontSize):
(WebCore::FontChanges::setFontSizeDelta):
(WebCore::FontChanges::setBold):
(WebCore::FontChanges::setItalic):
(WebCore::FontAttributeChanges::setVerticalAlign):
(WebCore::FontAttributeChanges::setBackgroundColor):
(WebCore::FontAttributeChanges::setForegroundColor):
(WebCore::FontAttributeChanges::setShadow):
(WebCore::FontAttributeChanges::setStrikeThrough):
(WebCore::FontAttributeChanges::setUnderline):
(WebCore::FontAttributeChanges::setFontChanges):
Setters for FontChanges and FontAttributeChanges. Initially, most of these values are optional, indicating that
there should be no change.
(WebCore::FontChanges::encode const):
(WebCore::FontChanges::decode):
Add encoding/decoding support to FontChanges, so that it can be sent over IPC for WebKit2.
- editing/cocoa/FontAttributeChangesCocoa.mm: Added.
(WebCore::FontChanges::platformFontFamilyNameForCSS const):
Helper method to determine whether the font family or the font name should be used, by looking up the PostScript
font name using a FontDescriptor and comparing it against the result of -[NSFont fontName]. This logic was
originally in WebHTMLView.mm.
- editing/mac/EditorMac.mm:
(WebCore::Editor::applyFontStyles): Deleted.
- platform/mac/WebCoreNSFontManagerExtras.h: Added.
- platform/mac/WebCoreNSFontManagerExtras.mm: Added.
Add helper functions to compute FontChanges and FontAttributeChanges from NSFontManager.
(WebCore::firstFontConversionSpecimen):
(WebCore::secondFontConversionSpecimen):
Two "specimen fonts" used to determine what changes NSFontManager or NSFontPanel makes when performing font or
font attribute conversion. Moved from WebHTMLView.mm.
(WebCore::computedFontChanges):
(WebCore::computedFontAttributeChanges):
Moved here from WebHTMLView.mm. Instead of converting font attributes to NSStrings and setting properties on
DOMCSSStyleDeclaration, we instead specify properties on MutableStyleProperties using CSSValues.
Source/WebKit:
Refactors NSFontManager support in WebKit2. See WebCore ChangeLog for more details.
- Scripts/webkit/messages.py:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView changeFont:]):
- UIProcess/API/mac/WKView.mm:
(-[WKView changeFont:]):
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::changeFontFromFontManager):
(WebKit::WebViewImpl::changeFontFromFontPanel): Deleted.
Renamed this from changeFontFromFontPanel to changeFontFromFontManager. This new name is more accurate in the
case where a menu item is used to alter the font, which doesn't involve NSFontPanel at all.
- UIProcess/WebPageProxy.h:
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::changeFont):
(WebKit::WebPageProxy::setFont): Deleted.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::changeFont):
(WebKit::WebPage::setFont): Deleted.
Source/WebKitLegacy/mac:
Remove code in WebKitLegacy for diffing NSFonts to figure out which style properties need to be changed. See
WebCore ChangeLog for more details.
- WebView/WebHTMLView.mm:
(-[WebHTMLView changeFont:]):
(-[WebHTMLView changeAttributes:]):
(-[WebHTMLView _originalFontA]): Deleted.
(-[WebHTMLView _originalFontB]): Deleted.
(fontNameForDescription): Deleted.
(-[WebHTMLView _addToStyle:fontA:fontB:]): Deleted.
(-[WebHTMLView _styleFromFontManagerOperation]): Deleted.
(-[WebHTMLView _styleForAttributeChange:]): Deleted.
Tools:
Add API tests to simulate using menu items to increase or decrease font size, and also simulate using
NSFontPanel to specify the font family, font size, and other traits.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/mac/FontManagerTests.mm: Added.
(-[TestWKWebView selectedText]):
(-[TestWKWebView selectNextWord]):
(-[TestWKWebView stylePropertyAtSelectionStart:]):
(-[TestWKWebView stylePropertyAtSelectionEnd:]):
(webViewForFontManagerTesting):
(menuItemCellForFontAction):
(TestWebKitAPI::TEST):
- 11:58 AM WebKitGTK/2.22.x edited by
- (diff)
- 11:52 AM Changeset in webkit [235747] by
-
- 7 edits in tags/Safari-607.1.5.2/Source
Versioning.
- 11:49 AM Changeset in webkit [235746] by
-
- 1 copy in tags/Safari-607.1.5.2
Tag Safari-607.1.5.2.
- 11:07 AM Changeset in webkit [235745] by
-
- 2 edits in branches/safari-606-branch/Source/JavaScriptCore
Cherry-pick r235742. rdar://problem/44169344
Gardening: only visit m_cachedStructureID if it's not null.
https://bugs.webkit.org/show_bug.cgi?id=189124
<rdar://problem/43863605>
Not reviewed.
- runtime/JSPropertyNameEnumerator.cpp: (JSC::JSPropertyNameEnumerator::visitChildren):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:03 AM Changeset in webkit [235744] by
-
- 10 edits6 adds in trunk
[LFC][BFC] Add support for min(max)-width
https://bugs.webkit.org/show_bug.cgi?id=189358
Reviewed by Antti Koivisto.
Source/WebCore:
See https://www.w3.org/TR/CSS22/visudet.html#min-max-widths for details.
Tests: fast/block/block-only/absolute-position-min-max-width.html
fast/block/block-only/float-min-max-width.html
fast/block/block-only/inflow-min-max-width.html
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
- layout/FormattingContext.h:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::computedValueIfNotAuto):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin const):
- layout/blockformatting/BlockFormattingContext.h:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):
Tools:
- LayoutReloaded/misc/LFC-passing-tests.txt:
LayoutTests:
- fast/block/block-only/absolute-position-min-max-width-expected.txt: Added.
- fast/block/block-only/absolute-position-min-max-width.html: Added.
- fast/block/block-only/float-min-max-width-expected.txt: Added.
- fast/block/block-only/float-min-max-width.html: Added.
- fast/block/block-only/inflow-min-max-width-expected.txt: Added.
- fast/block/block-only/inflow-min-max-width.html: Added.
- 10:59 AM Changeset in webkit [235743] by
-
- 2 edits in trunk/Source/WebCore
[MediaStream] Initialize AVVideoCapture video presets
https://bugs.webkit.org/show_bug.cgi?id=189355
Reviewed by Youenn Fablet.
No new tests, no functionality changed.
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::AVVideoCaptureSource): Don't try to load symbols if they
aren't available.
- 10:46 AM Changeset in webkit [235742] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: only visit m_cachedStructureID if it's not null.
https://bugs.webkit.org/show_bug.cgi?id=189124
<rdar://problem/43863605>
Not reviewed.
- runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::visitChildren):
- 9:56 AM Changeset in webkit [235741] by
-
- 12 edits in trunk/Source/WebKit
Use more generic names than "overflow" for functions that can be used for subframes
https://bugs.webkit.org/show_bug.cgi?id=179125
Patch by Frederic Wang <fwang@igalia.com> on 2018-09-06
Reviewed by Simon Fraser..
Some functions will be used by subframes when iframe scrolling is implemented on iOS (see
bug 149264). Currently they are only used for "overflow" nodes. This patch renames them to
use a more generic "scrolling node" name.
- UIProcess/PageClient.h:
- UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll):
- UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeWillStartPanGesture):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeWillStartScroll):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidEndScroll):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::scrollingNodeScrollViewWillStartPanGesture):
(WebKit::PageClientImpl::scrollingNodeScrollViewDidScroll):
(WebKit::PageClientImpl::scrollingNodeScrollWillStartScroll):
(WebKit::PageClientImpl::scrollingNodeScrollDidEndScroll):
(WebKit::PageClientImpl::overflowScrollViewWillStartPanGesture): Deleted.
(WebKit::PageClientImpl::overflowScrollViewDidScroll): Deleted.
(WebKit::PageClientImpl::overflowScrollWillStartScroll): Deleted.
(WebKit::PageClientImpl::overflowScrollDidEndScroll): Deleted.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _scrollingNodeScrollingWillBegin]):
(-[WKContentView _scrollingNodeScrollingDidEnd]):
(-[WKContentView _overflowScrollingWillBegin]): Deleted.
(-[WKContentView _overflowScrollingDidEnd]): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::scrollingNodeScrollViewWillStartPanGesture):
(WebKit::WebPageProxy::scrollingNodeScrollViewDidScroll):
(WebKit::WebPageProxy::scrollingNodeScrollWillStartScroll):
(WebKit::WebPageProxy::scrollingNodeScrollDidEndScroll):
(WebKit::WebPageProxy::overflowScrollViewWillStartPanGesture): Deleted.
(WebKit::WebPageProxy::overflowScrollViewDidScroll): Deleted.
(WebKit::WebPageProxy::overflowScrollWillStartScroll): Deleted.
(WebKit::WebPageProxy::overflowScrollDidEndScroll): Deleted.
- WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::didStartOverflowScroll):
(WebKit::WebChromeClient::didEndOverflowScroll):
- 9:41 AM Changeset in webkit [235740] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Build broken after r234975 on s390x, ppc64le, armv7hl
https://bugs.webkit.org/show_bug.cgi?id=189078
Reviewed by Mark Lam.
Caused by the GCC bug - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70124.
Using the ternary operator instead of std::max() fixes it.
- heap/RegisterState.h:
- 9:12 AM Changeset in webkit [235739] by
-
- 3 edits in trunk/Source/WebKit
WebKit/Platform/IPC/mac/ConnectionMac.mm:222: _dispatch_bug_kevent_vanished
https://bugs.webkit.org/show_bug.cgi?id=189314
<rdar://problem/41248286>
Reviewed by Anders Carlsson.
There is a short period in time when m_isServer is true, after open() has been
called, but before we've receive the InitializeConnection IPC, where m_receiveSource
has been initialized but m_isConnected is still false. If platformInvalidate() gets
called during this period of time, we would fail to cancel / release m_receiveSource
and we would forcefully deallocate m_receivePort, leading to the libdispatch simulated
crashes.
To address the issue, platformInvalidate() now properly cancels / releases
m_receiveSource if present, and only deallocates m_receivePort manually if m_receiveSource
has not been initialized (i.e. open() has not been called yet).
- Platform/IPC/Connection.h:
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::platformInvalidate):
(IPC::Connection::clearReceiveSource):
- 9:01 AM Changeset in webkit [235738] by
-
- 11 edits1 copy in trunk/Tools
[WHLSL] The parser is too slow
https://bugs.webkit.org/show_bug.cgi?id=189014
Reviewed by Filip Pizlo.
This patch includes three changes:
- Migrate from using try/catch to simply returning the WSyntaxError. This means that each parser call has to check for this sentinel value. The lexer still can throw if it encounters an unknown token or an unmatched "/*" token (which is rare).
- After removing try/catch, making the sentinel values not inherit from Error (the Error constructor was taking lots of time)
- Previously, every time the parser failed (which is many times per expression) it was running a regex over the entire source text to figure out where the error occurred. Instead, we can preprocess the text string to find these line numbers ahead of time.
Together, these make the parser 75x faster. Parsing the standard library goes from 2.5
hours down to 2 minutes. Because it's now a reasonable length, this patch uncomments
the bulk of the standard library.
- WebGPUShadingLanguageRI/All.js:
- WebGPUShadingLanguageRI/Lexer.js:
(Lexer):
(Lexer.prototype.lineNumberForIndex):
- WebGPUShadingLanguageRI/Parse.js:
(fail):
(backtrackingScope):
(testScope):
(genericConsume):
(consumeEndOfTypeArgs):
(parseTerm):
(parseConstexpr):
(parseTypeArguments):
(parseType.getAddressSpace):
(parseType):
(parseTypeDef):
(genericParseLeft):
(parseCallExpression.let.parseArguments):
(isCallExpression):
(parseSuffixOperator):
(parsePossibleSuffix):
(parsePreIncrement):
(parsePossiblePrefix):
(parsePossibleTernaryConditional):
(parsePossibleAssignment):
(parsePostIncrement):
(parseEffectfulExpression):
(genericParseCommaExpression):
(parseEffectfulStatement):
(parseReturn):
(parseBreak):
(parseContinue):
(parseIfStatement):
(parseWhile):
(parseFor):
(parseDo):
(parseVariableDecls):
(parseSwitchCase):
(parseSwitchStatement):
(parseStatement):
(parseBlockBody):
(parseBlock):
(parseParameter):
(parseFuncName):
(parseFuncDecl):
(parseFuncDef):
(parseField):
(parseStructType):
(parseNativeFunc):
(parseNative):
(parseRestrictedFuncDef):
(parseEnumMember):
(parseEnumType):
(parse):
- WebGPUShadingLanguageRI/SPIRV.html:
- WebGPUShadingLanguageRI/StandardLibrary.js:
(let.standardLibrary):
- WebGPUShadingLanguageRI/Test.html:
- WebGPUShadingLanguageRI/Test.js:
(checkFail.doPrep): Deleted.
- WebGPUShadingLanguageRI/WLexicalError.js: Added.
(WLexicalError):
- WebGPUShadingLanguageRI/index.html:
- 8:00 AM Changeset in webkit [235737] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening after r235732.
- platform/gtk/TestExpectations:
- 6:51 AM Changeset in webkit [235736] by
-
- 8 edits6 adds in trunk
IntersectionObserver leaks documents
https://bugs.webkit.org/show_bug.cgi?id=189128
Reviewed by Simon Fraser.
Source/WebCore:
Currently, Documents own IntersectionObservers while IntersectionObservers own callbacks
that have strong references to Documents. To break this cycle, make Documents only have
weak pointers to IntersectionObservers. Instead, manage the lifetime of an
IntersectionObserver as an ActiveDOMObject, overriding hasPendingActivity to keep
the observer alive while there are ongoing observations.
However, there is a still a potential reference cycle. The callback keeps global
references alive, so if there's a global reference to the observer in JavaScript,
we have an observer->callback->observer cycle, keeping the callback (and hence the Document)
alive. To break this cycle, make IntersectionObserver release the callback when its
Document is stopped.
With these changes, there are no longer any leaks reported with run-webkit-tests --world-leaks
on LayoutTests/intersection-observer and LayoutTests/imported/w3c/web-platform-tests/intersection-observer.
Tests: intersection-observer/no-document-leak.html
intersection-observer/observer-and-callback-without-js-references.html
- dom/Document.cpp:
(WebCore::Document::addIntersectionObserver):
(WebCore::Document::removeIntersectionObserver):
- dom/Document.h:
- dom/Element.cpp:
(WebCore::Element::didMoveToNewDocument):
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::IntersectionObserver):
(WebCore::IntersectionObserver::~IntersectionObserver):
(WebCore::IntersectionObserver::observe):
(WebCore::IntersectionObserver::rootDestroyed):
(WebCore::IntersectionObserver::createTimestamp const):
(WebCore::IntersectionObserver::notify):
(WebCore::IntersectionObserver::hasPendingActivity const):
(WebCore::IntersectionObserver::activeDOMObjectName const):
(WebCore::IntersectionObserver::canSuspendForDocumentSuspension const):
(WebCore::IntersectionObserver::stop):
- page/IntersectionObserver.h:
(WebCore::IntersectionObserver::trackingDocument const):
(WebCore::IntersectionObserver::trackingDocument): Deleted.
- page/IntersectionObserver.idl:
LayoutTests:
- intersection-observer/no-document-leak-expected.txt: Added.
- intersection-observer/no-document-leak.html: Added.
- intersection-observer/observer-and-callback-without-js-references-expected.txt: Added.
- intersection-observer/observer-and-callback-without-js-references.html: Added.
- intersection-observer/resources/no-document-leak-frame.html: Added.
- 6:40 AM Changeset in webkit [235735] by
-
- 11 edits in trunk/Source/WebCore
[LFC] Adapt to the new const WeakPtr<>
https://bugs.webkit.org/show_bug.cgi?id=189334
Reviewed by Antti Koivisto.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::FormattingContext):
- layout/FormattingContext.h:
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::initializeRoot):
- layout/LayoutContext.h:
- layout/floats/FloatAvoider.cpp:
(WebCore::Layout::FloatAvoider::FloatAvoider):
- layout/floats/FloatAvoider.h:
- layout/floats/FloatingState.cpp:
(WebCore::Layout::FloatingState::FloatItem::FloatItem):
(WebCore::Layout::FloatingState::FloatingState):
- layout/floats/FloatingState.h:
- layout/layouttree/LayoutContainer.cpp:
(WebCore::Layout::Container::addOutOfFlowDescendant):
- layout/layouttree/LayoutContainer.h:
(WebCore::Layout::Container::outOfFlowDescendants const):
- 6:27 AM Changeset in webkit [235734] by
-
- 2 edits in trunk/Tools
[test262] Do not call keys on a reference
https://bugs.webkit.org/show_bug.cgi?id=189301
Patch by Xan Lopez <Xan Lopez> on 2018-09-06
Reviewed by Keith Miller.
- Scripts/test262/Runner.pm:
(UpdateResults):
- 5:38 AM Changeset in webkit [235733] by
-
- 3 edits1 add in trunk/Tools
svn-create-patch fails when svn mv is used on directory trees
<https://webkit.org/b/14590>
Reviewed by Daniel Bates.
- Scripts/VCSUtils.pm: Export parseSvnDiffStartLine() for
svn-create-patch.
(parseDiffStartLine): Use parseSvnDiffStartLine().
(parseGitDiffStartLine): Document a prerequisite. Fix a bug
when parsing git patches usinggit diff --no-prefixnon-native
line endings. Found by new tests written for
Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl.
(parseSvnDiffStartLine): Add. Extract logic from
parseDiffStartLine() for use with svn-create-patch.
- Scripts/svn-create-patch: Update copyright and license.
(generateDiff): Return early for moved directories since
individual files within the directory are handled separately.
(generateFileList): Keep track of moved directories in the
@additionWithHistoryDirectories array, then process this array
in reverse order to create delete/add patches for each file in
a moved directory. This also prevents duplicate patches.
(manufacturePatchForAdditionWithHistory): Fix a long-standing
bug where the path used to describe property changes contained
the original (moved-from) path instead of the new (moved-to)
path. This could cause svn-apply to fail mysteriously when
trying to apply an empty patch created by the property change
containing the moved-from path.
- Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl: Add.
Tests for parseDiffStartLine(), parseGitDiffStartLine() and
parseSvnDiffStartLine().
- 3:50 AM Changeset in webkit [235732] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Extra ASSERTs at MainThreadNotifier
https://bugs.webkit.org/show_bug.cgi?id=188786
Reviewed by Carlos Garcia Campos.
We add a couple of checks in debug mode: there is only one bit on
per notification and ensure a notifier was invalidated before
being destroyed.
- platform/graphics/gstreamer/MainThreadNotifier.h:
- 2:36 AM Changeset in webkit [235731] by
-
- 57 edits3 copies2 deletes in branches/safari-606-branch
Cherry-pick r235254, r235419, r235666. rdar://problem/44169332
JSTests:
2018-08-27 Mark Lam <mark.lam@apple.com>
Fix exception throwing code so that topCallFrame and topEntryFrame stay true to their names.
https://bugs.webkit.org/show_bug.cgi?id=188577
<rdar://problem/42985684>
Reviewed by Saam Barati.
- stress/regress-188577.js: Added.
Source/JavaScriptCore:
2018-08-23 Mark Lam <mark.lam@apple.com>
Move vmEntryGlobalObject() to VM from CallFrame.
https://bugs.webkit.org/show_bug.cgi?id=188900
<rdar://problem/43655753>
Reviewed by Michael Saboff.
Also introduced CallFrame::isGlobalExec() which makes use of one property of
GlobalExecs to identify them i.e. GlobalExecs have null callerFrame and returnPCs.
CallFrame::initGlobalExec() ensures this.
In contrast, normal CallFrames always have a callerFrame (because they must at
least be preceded by a VM EntryFrame) and a returnPC (at least return to the
VM entry glue).
- API/APIUtils.h: (handleExceptionIfNeeded): (setException):
- API/JSBase.cpp: (JSEvaluateScript): (JSCheckScriptSyntax):
- API/JSContextRef.cpp: (JSGlobalContextRetain): (JSGlobalContextRelease): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController):
- API/JSValue.mm: (reportExceptionToInspector):
- API/glib/JSCClass.cpp: (jscContextForObject):
- API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object):
- debugger/Debugger.cpp: (JSC::Debugger::pauseIfNeeded):
- debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::vmEntryGlobalObject const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension):
- interpreter/CallFrame.cpp: (JSC::CallFrame::vmEntryGlobalObject): Deleted.
- interpreter/CallFrame.h: (JSC::ExecState::scope const): (JSC::ExecState::noCaller): (JSC::ExecState::isGlobalExec const):
- interpreter/Interpreter.cpp: (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::debug):
- runtime/CallData.cpp: (JSC::profiledCall):
- runtime/Completion.cpp: (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule):
- runtime/ConstructData.cpp: (JSC::profiledConstruct):
- runtime/Error.cpp: (JSC::getStackTrace):
- runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::vmEntryGlobalObject const):
- runtime/VM.h:
2018-08-27 Mark Lam <mark.lam@apple.com>
Fix exception throwing code so that topCallFrame and topEntryFrame stay true to their names.
https://bugs.webkit.org/show_bug.cgi?id=188577
<rdar://problem/42985684>
Reviewed by Saam Barati.
- Introduced CallFrame::convertToStackOverflowFrame() which converts the current (top) CallFrame (which may not have a valid callee) into a StackOverflowFrame.
The StackOverflowFrame is a sentinel frame that the low level code (exception
throwing code, stack visitor, and stack unwinding code) will know to skip
over. The StackOverflowFrame will also have a valid JSCallee so that client
code can compute the globalObject or VM from this frame.
As a result, client code that throws StackOverflowErrors no longer need to
compute the caller frame to throw from: it just converts the top frame into
a StackOverflowFrame and everything should *Just Work*.
- NativeCallFrameTracerWithRestore is now obsolete.
Instead, client code should always call convertToStackOverflowFrame() on the
frame before instantiating a NativeCallFrameTracer with it.
This means that topCallFrame will always point to the top CallFrame (which
may be a StackOverflowFrame), and topEntryFrame will always point to the top
EntryFrame. We'll never temporarily point them to the previous EntryFrame
(which we used to do with NativeCallFrameTracerWithRestore).
- genericUnwind() and Interpreter::unwind() will now always unwind from the top CallFrame, and will know how to handle a StackOverflowFrame if they see one.
This obsoletes the UnwindStart flag.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- debugger/Debugger.cpp: (JSC::Debugger::pauseIfNeeded):
- interpreter/CallFrame.cpp: (JSC::CallFrame::callerFrame const): (JSC::CallFrame::unsafeCallerFrame const): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::CallFrame::callerFrame): Deleted. (JSC::CallFrame::unsafeCallerFrame): Deleted.
- interpreter/CallFrame.h: (JSC::ExecState::iterate):
- interpreter/CallFrameInlines.h: Added. (JSC::CallFrame::isStackOverflowFrame const): (JSC::CallFrame::isWasmFrame const):
- interpreter/EntryFrame.h: Added. (JSC::EntryFrame::vmEntryRecordOffset): (JSC::EntryFrame::calleeSaveRegistersBufferOffset):
- interpreter/FrameTracers.h: (JSC::NativeCallFrameTracerWithRestore::NativeCallFrameTracerWithRestore): Deleted. (JSC::NativeCallFrameTracerWithRestore::~NativeCallFrameTracerWithRestore): Deleted.
- interpreter/Interpreter.cpp: (JSC::Interpreter::unwind):
- interpreter/Interpreter.h:
- interpreter/StackVisitor.cpp: (JSC::StackVisitor::StackVisitor):
- interpreter/StackVisitor.h: (JSC::StackVisitor::visit): (JSC::StackVisitor::topEntryFrameIsEmpty const):
- interpreter/VMEntryRecord.h: (JSC::VMEntryRecord::callee const): (JSC::EntryFrame::vmEntryRecordOffset): Deleted. (JSC::EntryFrame::calleeSaveRegistersBufferOffset): Deleted.
- jit/AssemblyHelpers.h:
- jit/JITExceptions.cpp: (JSC::genericUnwind):
- jit/JITExceptions.h:
- jit/JITOperations.cpp:
- llint/LLIntOffsetsExtractor.cpp:
- llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/CallData.cpp:
- runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL):
- runtime/CommonSlowPathsExceptions.cpp: Removed.
- runtime/CommonSlowPathsExceptions.h: Removed.
- runtime/Completion.cpp: (JSC::evaluateWithScopeExtension):
- runtime/JSGeneratorFunction.h:
- runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h: (JSC::JSGlobalObject::stackOverflowFrameCallee const):
- runtime/VM.cpp: (JSC::VM::throwException):
- runtime/VM.h:
- runtime/VMInlines.h: (JSC::VM::topJSCallFrame const):
2018-09-05 David Kilzer <ddkilzer@apple.com>
REGRESSION (r235419): DFGCFG.h is missing from JavaScriptCore Xcode project
Found using
tidy-Xcode-project-file --missing(see Bug
188754). Fix was made manually.
- JavaScriptCore.xcodeproj/project.pbxproj:
(dfg/DFGCFG.h): Revert accidental change in r235419 by restoring
nameandpathvalues to file reference.
Source/WebCore:
2018-08-23 Mark Lam <mark.lam@apple.com>
Move vmEntryGlobalObject() to VM from CallFrame.
https://bugs.webkit.org/show_bug.cgi?id=188900
<rdar://problem/43655753>
Reviewed by Michael Saboff.
No new tests needed because this patch does not introduce new functionality.
- bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create):
- bindings/js/JSDOMGlobalObject.cpp: (WebCore::callerGlobalObject): (WebCore::toJSDOMGlobalObject): Deleted.
- bindings/js/JSDOMWindowBase.cpp: (WebCore::firstDOMWindow):
- bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant):
- bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole):
- bridge/objc/objc_instance.mm: (ObjcInstance::moveGlobalExceptionToExecState):
- bridge/objc/objc_runtime.mm: (JSC::Bindings::convertValueToObjcObject):
- bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue):
- testing/Internals.cpp: (WebCore::Internals::cloneArrayBuffer):
Source/WebKitLegacy/mac:
2018-08-23 Mark Lam <mark.lam@apple.com>
Move vmEntryGlobalObject() to VM from CallFrame.
https://bugs.webkit.org/show_bug.cgi?id=188900
<rdar://problem/43655753>
Reviewed by Michael Saboff.
- WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed):
LayoutTests:
2018-08-27 Mark Lam <mark.lam@apple.com>
Fix exception throwing code so that topCallFrame and topEntryFrame stay true to their names.
https://bugs.webkit.org/show_bug.cgi?id=188577
<rdar://problem/42985684>
Reviewed by Saam Barati.
- http/tests/misc/large-js-program-expected.txt:
- 1:11 AM Changeset in webkit [235730] by
-
- 3 edits1 add in branches/safari-606-branch
Cherry-pick r235715. rdar://problem/44169344
JSPropertyNameEnumerator::visitChildren() needs to visit its m_cachedStructureID.
https://bugs.webkit.org/show_bug.cgi?id=189124
<rdar://problem/43863605>
Reviewed by Filip Pizlo.
JSTests:
- stress/regress-189124.js: Added.
Source/JavaScriptCore:
It is assumed that the Structure for the m_cachedStructureID will remain alive
while the m_cachedStructureID is in use. This prevents the structureID from being
re-used for a different Structure.
- runtime/JSPropertyNameEnumerator.cpp: (JSC::JSPropertyNameEnumerator::visitChildren):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235715 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:11 AM Changeset in webkit [235729] by
-
- 3 edits2 adds in branches/safari-606-branch
Cherry-pick r235537. rdar://problem/44169516
CounterMaps should hold a unique_ptr of CounterMap.
https://bugs.webkit.org/show_bug.cgi?id=189174
<rdar://problem/43686458>
Reviewed by Ryosuke Niwa.
Source/WebCore:
In certain cases calls to CounterMaps might lead to unexpected deletion of the CounterMap object.
Test: fast/css/counters/crash-when-cloning-body.html
- rendering/RenderCounter.cpp: (WebCore::makeCounterNode): (WebCore::destroyCounterNodeWithoutMapRemoval): (WebCore::RenderCounter::destroyCounterNodes): (WebCore::RenderCounter::destroyCounterNode): (WebCore::updateCounters): (showCounterRendererTree):
LayoutTests:
- fast/css/counters/crash-when-cloning-body-expected.txt: Added.
- fast/css/counters/crash-when-cloning-body.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:11 AM Changeset in webkit [235728] by
-
- 4 edits1 add in branches/safari-606-branch
Cherry-pick r235177. rdar://problem/44169333
The DFG CFGSimplification phase shouldn’t jettison a block when it’s the target of both branch directions.
https://bugs.webkit.org/show_bug.cgi?id=188298
<rdar://problem/42888427>
Reviewed by Saam Barati.
JSTests:
- stress/bug-188298.js: Added.
Source/JavaScriptCore:
In the event that both targets of a Branch is the same block, then even if we'll
always take one path of the branch, the other target is not unreachable because
it is the same target as the one in the taken path. Hence, it should not be
jettisoned.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Added DFGCFG.h which is in use and should have been added to the project.
- dfg/DFGCFGSimplificationPhase.cpp: (JSC::DFG::CFGSimplificationPhase::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:11 AM Changeset in webkit [235727] by
-
- 1 edit2 adds in branches/safari-606-branch/LayoutTests
Cherry-pick r233902. rdar://problem/44168991
Rebaseline imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker.html for Sierra after r233898.
Unreviewed test gardening.
- platform/mac-sierra/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233902 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:11 AM Changeset in webkit [235726] by
-
- 6 edits in branches/safari-606-branch/LayoutTests
Cherry-pick r233900. rdar://problem/44168991
Unreviewed, test gardening after r233898.
- TestExpectations:
- platform/gtk/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- platform/wpe/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:11 AM Changeset in webkit [235725] by
-
- 62 edits60 adds in branches/safari-606-branch
Cherry-pick r233898. rdar://problem/44168991
[WebCrypto] Crypto operations should copy their parameters before hoping to another thread
https://bugs.webkit.org/show_bug.cgi?id=187501
<rdar://problem/41438160>
Reviewed by Youenn Fablet.
Source/WebCore:
This patch aims at making all captured variables in all crypto lambdas that need to be passed
to a worker thread thread safe, which includes:
1) changing ref counted objects to thread safe ref counted object.
2) adding isolatedCopy methods to non ref counted classes, so they can be called by CrossThreadCopy().
In addition to above changes, this patch also does the following things:
1) change the name CryptoAlgorithm::dispatchOperation => CryptoAlgorithm::dispatchOperationInWorkQueue
to make it clear that lambdas will be passed to a secondary thread.
2) make CryptoAlgorithmParameters as const parameters for all methods.
3) add null checks on BufferSource.length() and .data().
Tests: crypto/subtle/aes-gcm-import-key-unwrap-ec-raw-key.html
http/wpt/crypto/aes-cbc-crash.any.html
http/wpt/crypto/aes-cbc-crash.any.worker.html
http/wpt/crypto/aes-ctr-crash.any.html
http/wpt/crypto/aes-ctr-crash.any.worker.html
http/wpt/crypto/aes-gcm-crash.any.html
http/wpt/crypto/aes-gcm-crash.any.worker.html
http/wpt/crypto/derive-hmac-key-crash.any.html
http/wpt/crypto/derive-hmac-key-crash.any.worker.html
http/wpt/crypto/ecdsa-crash.any.html
http/wpt/crypto/ecdsa-crash.any.worker.html
http/wpt/crypto/hkdf-crash.any.html
http/wpt/crypto/hkdf-crash.any.worker.html
http/wpt/crypto/pbkdf2-crash.any.html
http/wpt/crypto/pbkdf2-crash.any.worker.html
http/wpt/crypto/rsa-oaep-crash.any.html
http/wpt/crypto/rsa-oaep-crash.any.worker.html
http/wpt/crypto/rsa-pss-crash.any.html
http/wpt/crypto/rsa-pss-crash.any.worker.html
http/wpt/crypto/unwrap-ec-key-crash.any.html
http/wpt/crypto/unwrap-ec-key-crash.any.worker.html
http/wpt/crypto/unwrap-rsa-key-crash.any.html
http/wpt/crypto/unwrap-rsa-key-crash.any.worker.html
- bindings/js/BufferSource.h: (WebCore::BufferSource::data const): (WebCore::BufferSource::length const):
- crypto/CryptoAlgorithm.cpp: (WebCore::CryptoAlgorithm::encrypt): (WebCore::CryptoAlgorithm::decrypt): (WebCore::CryptoAlgorithm::sign): (WebCore::CryptoAlgorithm::verify): (WebCore::CryptoAlgorithm::deriveBits): (WebCore::CryptoAlgorithm::importKey): (WebCore::dispatchAlgorithmOperation): (WebCore::CryptoAlgorithm::dispatchOperationInWorkQueue): (WebCore::CryptoAlgorithm::dispatchOperation): Deleted.
- crypto/CryptoAlgorithm.h:
- crypto/SubtleCrypto.cpp: (WebCore::crossThreadCopyImportParams): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey):
- crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: (WebCore::CryptoAlgorithmAES_CBC::encrypt): (WebCore::CryptoAlgorithmAES_CBC::decrypt): (WebCore::CryptoAlgorithmAES_CBC::importKey):
- crypto/algorithms/CryptoAlgorithmAES_CBC.h:
- crypto/algorithms/CryptoAlgorithmAES_CFB.cpp: (WebCore::CryptoAlgorithmAES_CFB::encrypt): (WebCore::CryptoAlgorithmAES_CFB::decrypt): (WebCore::CryptoAlgorithmAES_CFB::importKey):
- crypto/algorithms/CryptoAlgorithmAES_CFB.h:
- crypto/algorithms/CryptoAlgorithmAES_CTR.cpp: (WebCore::parametersAreValid): (WebCore::CryptoAlgorithmAES_CTR::encrypt): (WebCore::CryptoAlgorithmAES_CTR::decrypt): (WebCore::CryptoAlgorithmAES_CTR::importKey):
- crypto/algorithms/CryptoAlgorithmAES_CTR.h:
- crypto/algorithms/CryptoAlgorithmAES_GCM.cpp: (WebCore::CryptoAlgorithmAES_GCM::encrypt): (WebCore::CryptoAlgorithmAES_GCM::decrypt): (WebCore::CryptoAlgorithmAES_GCM::importKey):
- crypto/algorithms/CryptoAlgorithmAES_GCM.h:
- crypto/algorithms/CryptoAlgorithmAES_KW.cpp: (WebCore::CryptoAlgorithmAES_KW::importKey):
- crypto/algorithms/CryptoAlgorithmAES_KW.h:
- crypto/algorithms/CryptoAlgorithmECDH.cpp: (WebCore::CryptoAlgorithmECDH::deriveBits): (WebCore::CryptoAlgorithmECDH::importKey):
- crypto/algorithms/CryptoAlgorithmECDH.h:
- crypto/algorithms/CryptoAlgorithmECDSA.cpp: (WebCore::CryptoAlgorithmECDSA::sign): (WebCore::CryptoAlgorithmECDSA::verify): (WebCore::CryptoAlgorithmECDSA::importKey):
- crypto/algorithms/CryptoAlgorithmECDSA.h:
- crypto/algorithms/CryptoAlgorithmHKDF.cpp: (WebCore::CryptoAlgorithmHKDF::deriveBits): (WebCore::CryptoAlgorithmHKDF::importKey):
- crypto/algorithms/CryptoAlgorithmHKDF.h:
- crypto/algorithms/CryptoAlgorithmHMAC.cpp: (WebCore::CryptoAlgorithmHMAC::sign): (WebCore::CryptoAlgorithmHMAC::verify): (WebCore::CryptoAlgorithmHMAC::importKey):
- crypto/algorithms/CryptoAlgorithmHMAC.h:
- crypto/algorithms/CryptoAlgorithmPBKDF2.cpp: (WebCore::CryptoAlgorithmPBKDF2::deriveBits): (WebCore::CryptoAlgorithmPBKDF2::importKey):
- crypto/algorithms/CryptoAlgorithmPBKDF2.h:
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp: (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt): (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt): (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp: (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign): (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify): (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp: (WebCore::CryptoAlgorithmRSA_OAEP::encrypt): (WebCore::CryptoAlgorithmRSA_OAEP::decrypt): (WebCore::CryptoAlgorithmRSA_OAEP::importKey):
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
- crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp: (WebCore::CryptoAlgorithmRSA_PSS::sign): (WebCore::CryptoAlgorithmRSA_PSS::verify): (WebCore::CryptoAlgorithmRSA_PSS::importKey):
- crypto/algorithms/CryptoAlgorithmRSA_PSS.h:
- crypto/gcrypt/CryptoAlgorithmAES_CBCGCrypt.cpp: (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt): (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
- crypto/gcrypt/CryptoAlgorithmAES_CFBGCrypt.cpp: (WebCore::CryptoAlgorithmAES_CFB::platformEncrypt): (WebCore::CryptoAlgorithmAES_CFB::platformDecrypt):
- crypto/gcrypt/CryptoAlgorithmAES_CTRGCrypt.cpp: (WebCore::CryptoAlgorithmAES_CTR::platformEncrypt): (WebCore::CryptoAlgorithmAES_CTR::platformDecrypt):
- crypto/gcrypt/CryptoAlgorithmAES_GCMGCrypt.cpp: (WebCore::CryptoAlgorithmAES_GCM::platformEncrypt): (WebCore::CryptoAlgorithmAES_GCM::platformDecrypt):
- crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp: (WebCore::CryptoAlgorithmHKDF::platformDeriveBits):
- crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp: (WebCore::CryptoAlgorithmPBKDF2::platformDeriveBits):
- crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp: (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt): (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
- crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp: (WebCore::CryptoAlgorithmRSA_PSS::platformSign): (WebCore::CryptoAlgorithmRSA_PSS::platformVerify):
- crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt): (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
- crypto/mac/CryptoAlgorithmAES_CFBMac.cpp: (WebCore::CryptoAlgorithmAES_CFB::platformEncrypt): (WebCore::CryptoAlgorithmAES_CFB::platformDecrypt):
- crypto/mac/CryptoAlgorithmAES_CTRMac.cpp: (WebCore::CryptoAlgorithmAES_CTR::platformEncrypt): (WebCore::CryptoAlgorithmAES_CTR::platformDecrypt):
- crypto/mac/CryptoAlgorithmAES_GCMMac.cpp: (WebCore::CryptoAlgorithmAES_GCM::platformEncrypt): (WebCore::CryptoAlgorithmAES_GCM::platformDecrypt):
- crypto/mac/CryptoAlgorithmHKDFMac.cpp: (WebCore::CryptoAlgorithmHKDF::platformDeriveBits):
- crypto/mac/CryptoAlgorithmPBKDF2Mac.cpp: (WebCore::CryptoAlgorithmPBKDF2::platformDeriveBits):
- crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt): (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
- crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp: (WebCore::CryptoAlgorithmRSA_PSS::platformSign): (WebCore::CryptoAlgorithmRSA_PSS::platformVerify):
- crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h:
- crypto/parameters/CryptoAlgorithmAesCtrParams.h:
- crypto/parameters/CryptoAlgorithmAesGcmParams.h:
- crypto/parameters/CryptoAlgorithmEcKeyParams.h:
- crypto/parameters/CryptoAlgorithmEcdsaParams.h:
- crypto/parameters/CryptoAlgorithmHkdfParams.h:
- crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
- crypto/parameters/CryptoAlgorithmPbkdf2Params.h:
- crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h:
- crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
- crypto/parameters/CryptoAlgorithmRsaPssParams.h:
LayoutTests:
crypto/subtle/aes-gcm-import-key-unwrap-ec-raw-key.html is an exception of this series of tests as
it only aims to test the correct behavoir of suggested algorithms. This patch aslo does some test
gardening.
- TestExpectations:
- crypto/subtle/aes-gcm-import-key-unwrap-ec-raw-key-expected.txt: Added.
- crypto/subtle/aes-gcm-import-key-unwrap-ec-raw-key.html: Added.
- http/wpt/crypto/aes-cbc-crash.any-expected.txt: Added.
- http/wpt/crypto/aes-cbc-crash.any.html: Added.
- http/wpt/crypto/aes-cbc-crash.any.js: Added.
- http/wpt/crypto/aes-cbc-crash.any.worker-expected.txt: Added.
- http/wpt/crypto/aes-cbc-crash.any.worker.html: Added.
- http/wpt/crypto/aes-ctr-crash.any-expected.txt: Added.
- http/wpt/crypto/aes-ctr-crash.any.html: Added.
- http/wpt/crypto/aes-ctr-crash.any.js: Added.
- http/wpt/crypto/aes-ctr-crash.any.worker-expected.txt: Added.
- http/wpt/crypto/aes-ctr-crash.any.worker.html: Added.
- http/wpt/crypto/aes-gcm-crash.any-expected.txt: Added.
- http/wpt/crypto/aes-gcm-crash.any.html: Added.
- http/wpt/crypto/aes-gcm-crash.any.js: Added.
- http/wpt/crypto/aes-gcm-crash.any.worker-expected.txt: Added.
- http/wpt/crypto/aes-gcm-crash.any.worker.html: Added.
- http/wpt/crypto/derive-hmac-key-crash.any-expected.txt: Added.
- http/wpt/crypto/derive-hmac-key-crash.any.html: Added.
- http/wpt/crypto/derive-hmac-key-crash.any.js: Added.
- http/wpt/crypto/derive-hmac-key-crash.any.worker-expected.txt: Added.
- http/wpt/crypto/derive-hmac-key-crash.any.worker.html: Added.
- http/wpt/crypto/ecdsa-crash.any-expected.txt: Added.
- http/wpt/crypto/ecdsa-crash.any.html: Added.
- http/wpt/crypto/ecdsa-crash.any.js: Added.
- http/wpt/crypto/ecdsa-crash.any.worker-expected.txt: Added.
- http/wpt/crypto/ecdsa-crash.any.worker.html: Added.
- http/wpt/crypto/hkdf-crash.any-expected.txt: Added.
- http/wpt/crypto/hkdf-crash.any.html: Added.
- http/wpt/crypto/hkdf-crash.any.js: Added.
- http/wpt/crypto/hkdf-crash.any.worker-expected.txt: Added.
- http/wpt/crypto/hkdf-crash.any.worker.html: Added.
- http/wpt/crypto/pbkdf2-crash.any-expected.txt: Added.
- http/wpt/crypto/pbkdf2-crash.any.html: Added.
- http/wpt/crypto/pbkdf2-crash.any.js: Added.
- http/wpt/crypto/pbkdf2-crash.any.worker-expected.txt: Added.
- http/wpt/crypto/pbkdf2-crash.any.worker.html: Added.
- http/wpt/crypto/resources/common.js: Added.
- http/wpt/crypto/rsa-oaep-crash.any-expected.txt: Added.
- http/wpt/crypto/rsa-oaep-crash.any.html: Added.
- http/wpt/crypto/rsa-oaep-crash.any.js: Added.
- http/wpt/crypto/rsa-oaep-crash.any.worker-expected.txt: Added.
- http/wpt/crypto/rsa-oaep-crash.any.worker.html: Added.
- http/wpt/crypto/rsa-pss-crash.any-expected.txt: Added.
- http/wpt/crypto/rsa-pss-crash.any.html: Added.
- http/wpt/crypto/rsa-pss-crash.any.js: Added.
- http/wpt/crypto/rsa-pss-crash.any.worker-expected.txt: Added.
- http/wpt/crypto/rsa-pss-crash.any.worker.html: Added.
- http/wpt/crypto/unwrap-ec-key-crash.any-expected.txt: Added.
- http/wpt/crypto/unwrap-ec-key-crash.any.html: Added.
- http/wpt/crypto/unwrap-ec-key-crash.any.js: Added.
- http/wpt/crypto/unwrap-ec-key-crash.any.worker-expected.txt: Added.
- http/wpt/crypto/unwrap-ec-key-crash.any.worker.html: Added.
- http/wpt/crypto/unwrap-rsa-key-crash.any-expected.txt: Added.
- http/wpt/crypto/unwrap-rsa-key-crash.any.html: Added.
- http/wpt/crypto/unwrap-rsa-key-crash.any.js: Added.
- http/wpt/crypto/unwrap-rsa-key-crash.any.worker.html: Added.
- http/wpt/crypto/unwrap-rsa-key-crash.any.worker-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:28 AM Changeset in webkit [235724] by
-
- 7 edits in tags/Safari-607.1.5.1/Source
Versioning.
- 12:25 AM Changeset in webkit [235723] by
-
- 1 copy in tags/Safari-607.1.5.1
Tag Safari-607.1.5.1.