Timeline
Aug 14, 2020:
- 8:58 PM Changeset in webkit [265727] by
-
- 4 edits in trunk/Source/WebKit
Revert r263551
https://bugs.webkit.org/show_bug.cgi?id=215530
<rdar://problem/66961066>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-14
Reviewed by Geoffrey Garen.
I was hoping to fix many developers' bugs, but it caused hangs and more hangs, so back to the status quo.
https://bugs.webkit.org/show_bug.cgi?id=203547 will fix this the right way in the hopefully-not-too-distant future.
- UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::setCookies):
(API::HTTPCookieStore::registerForNewProcessPoolNotifications):
(API::HTTPCookieStore::flushDefaultUIProcessCookieStore):
- UIProcess/API/APIHTTPCookieStore.h:
- UIProcess/API/Cocoa/APIHTTPCookieStoreCocoa.mm:
(API::HTTPCookieStore::flushDefaultUIProcessCookieStore):
- 8:15 PM Changeset in webkit [265726] by
-
- 1 edit6 adds in trunk/LayoutTests
[GTK][WPE] Add platform baselines after r265701
Unreviewed test gardening.
- platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-tail-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-basic-expected.txt: Added.
- 6:46 PM Changeset in webkit [265725] by
-
- 31 edits in trunk/Source/WebKit
Convert remaining SharedMemory::Handle to SharedMemory::IPCHandle
https://bugs.webkit.org/show_bug.cgi?id=215471
<rdar://problem/67024177>
Reviewed by David Kilzer.
Use the new struct for sending SharedMemory::Handle objects via IPC, so
we can include the exact size of data (SharedMemory::Handle::size()
rounds up to the nearest page), and verify these sizes match when decoding.
In many cases, the size is not sent as a separate argument via IPC, so
we can initialize the IPCHandle object with SharedMemory::Handle::size().
We can remove the additional size parameter when it exists, because
we are now passing IPCHandle which should include the size value.
- GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp:
(WebKit::RemoteAudioMediaStreamTrackRenderer::audioSamplesStorageChanged):
- GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h:
- GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in:
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::audioSamplesStorageChanged):
- GPUProcess/webrtc/RemoteMediaRecorder.h:
- GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
Send SharedMemory::IPCHandle object instead of SharedMemory::Handle
over IPC.
- NetworkProcess/ServiceWorker/WebSWOriginStore.cpp:
(WebKit::WebSWOriginStore::sendStoreHandle):
Since no additional size parameter is being sent in this function, we
can use handle.size() as the IPCHandle::dataSize parameter.
- Platform/SharedMemory.h:
Remove encode/decode functions in SharedMemory::Handle.
- Platform/cocoa/SharedMemoryCocoa.cpp:
(WebKit::SharedMemory::Handle::encode const): Deleted.
(WebKit::SharedMemory::Handle::decode): Deleted.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::IPCHandle::encode const):
(WebKit::SharedMemory::IPCHandle::decode):
- Platform/win/SharedMemoryWin.cpp:
(WebKit::SharedMemory::IPCHandle::encode const):
(WebKit::SharedMemory::IPCHandle::decode):
(WebKit::SharedMemory::Handle::encode const): Deleted.
(WebKit::SharedMemory::Handle::decode): Deleted.
Remove SharedMemory::Handle encode/decode functions so we will not
ever send a SharedMemory::Handle object over IPC accidentally in the future.
- Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::Handle::encode const):
(WebKit::ShareableBitmap::Handle::decode):
Keep m_size here because it is an IntSize object and is useful to
check width/height parameters in the SharableBitmap object.
- Shared/ShareableResource.cpp:
(WebKit::ShareableResource::Handle::encode const):
(WebKit::ShareableResource::Handle::decode):
- Shared/WebCompiledContentRuleListData.cpp:
(WebKit::WebCompiledContentRuleListData::encode const):
(WebKit::WebCompiledContentRuleListData::decode):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::encodeSharedBuffer):
(IPC::decodeSharedBuffer):
- Shared/WebHitTestResultData.cpp:
(WebKit::WebHitTestResultData::encode const):
(WebKit::WebHitTestResultData::decode):
More cases of converting between SharedMemory::Handle and
SharedMemory::IPCHandle when encoding/decoding.
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
- UIProcess/VisitedLinkStore.cpp:
(WebKit::VisitedLinkStore::sendStoreHandleToProcess):
- WebProcess/GPU/media/RemoteAudioBusData.h:
(WebKit::RemoteAudioBusData::encode const):
(WebKit::RemoteAudioBusData::decode):
Since no additional size parameter is being sent in this function, we
can use handle.size() as the IPCHandle::dataSize parameter.
- WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp:
(WebKit::AudioMediaStreamTrackRenderer::storageChanged):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::storageChanged):
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::setSWOriginTableSharedMemory):
- WebProcess/Storage/WebSWClientConnection.h:
- WebProcess/Storage/WebSWClientConnection.messages.in:
- WebProcess/WebPage/VisitedLinkTableController.cpp:
(WebKit::VisitedLinkTableController::setVisitedLinkTable):
- WebProcess/WebPage/VisitedLinkTableController.h:
- WebProcess/WebPage/VisitedLinkTableController.messages.in:
- WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
(WebKit::RemoteCaptureSampleManager::audioStorageChanged):
- WebProcess/cocoa/RemoteCaptureSampleManager.h:
- WebProcess/cocoa/RemoteCaptureSampleManager.messages.in:
More cases of converting between SharedMemory::Handle and
SharedMemory::IPCHandle when encoding/decoding.
- 6:24 PM Changeset in webkit [265724] by
-
- 4 edits3 adds in trunk
Web Inspector: Assertion Failed: Appended a string with newlines. This breaks the source map.
https://bugs.webkit.org/show_bug.cgi?id=215494
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
- UserInterface/Workers/Formatter/JSFormatter.js:
(JSFormatter.prototype._insertComment):
C-style comments can contain newlines, so useappendStringWithPossibleNewlines.
LayoutTests:
- inspector/formatting/resources/javascript-source-map-tests/2.js: Added.
- inspector/formatting/source-map-javascript-2.html: Added.
- inspector/formatting/source-map-javascript-2-expected.txt: Added.
With
appendStringWithPossibleNewlinesthe source map properly indents the comment inside
the function body so that the*all line up.
- 5:35 PM Changeset in webkit [265723] by
-
- 2 edits in trunk/Source/WebCore
Crash inside FrameLoader::defaultRequestCachingPolicy (null DocumentLoader)
<rdar://problem/42167093> and https://bugs.webkit.org/show_bug.cgi?id=215527
Reviewed by Darin Adler.
We have CrashTracer data, but despite my best efforts no way of reproducing.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::defaultRequestCachingPolicy): If a PingLoader is sending a CSP violation
report sometime after part of the Document's lifecycle, the FrameLoader as a null DocumentLoader here.
Like everywhere else in FrameLoader, null check it.
- 5:28 PM Changeset in webkit [265722] by
-
- 2 edits in trunk/Source/WebCore
RenderTextControlSingleLine::scroll* functions should not call Element::scroll* on the inner text content
https://bugs.webkit.org/show_bug.cgi?id=215516
<rdar://problem/64739768>
Reviewed by Simon Fraser.
Normally the RenderBox::content*, border*, padding* and scroll* functions grab the geometry information from the renderer itself.
The clients of these functions expect the geometry data to be consistent with the rest of the rendering context
(e.g coordinates are in the coordinate system of the containing block, paint time operations are not applied etc).
Also these functions are supposed to be const. They should not mutate the geometry or the render tree itself.
Forwarding ::scroll* calls to Element::scroll* can't guarantee neither of these above.
- rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::scrollWidth const):
(WebCore::RenderTextControlSingleLine::scrollHeight const):
(WebCore::RenderTextControlSingleLine::scrollLeft const):
(WebCore::RenderTextControlSingleLine::scrollTop const):
- 5:17 PM Changeset in webkit [265721] by
-
- 8 edits in branches/safari-610.1-branch
Cherry-pick r265709. rdar://problem/67106107
RTL: volume slider and icons are backwards
https://bugs.webkit.org/show_bug.cgi?id=215482
<rdar://problem/65730749>
Reviewed by Eric Carlson.
Source/WebCore:
- Modules/modern-media-controls/controls/inline-media-controls.js: (InlineMediaControls.prototype.layout): Flip the inline volume button when not in LTR.
- Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js: (MacOSFullscreenMediaControls.prototype.layout): (MacOSFullscreenMediaControls.prototype._volumeControlsForCurrentDirection): Added. Reverse the order of the fullscreen volume controls when not in LTR.
- Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css: (.media-controls.mac.fullscreen:not(.uses-ltr-user-interface-layout-direction) :is(.volume-down, .volume.slider, .volume-up)): Added. (.media-controls.mac.fullscreen:not(.uses-ltr-user-interface-layout-direction) .volume.slider): Deleted. Also flip the fullscreen volume up and volume down buttons.
LayoutTests:
MacOSFullscreenMediaControlsdefaults to havingusesLTRUserInterfaceLayoutDirectionbe
false, so flip the order of the volume controls to match the non-LTR UI.
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265709 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:16 PM Changeset in webkit [265720] by
-
- 17 edits in branches/safari-610.1-branch/Source/WebKit
Cherry-pick r265702. rdar://problem/67106079
Convert SharedMemory::Handle to SharedMemory::IPCHandle WebPage image/pasteboard functions
https://bugs.webkit.org/show_bug.cgi?id=215478
<rdar://problem/67024582>
Reviewed by Chris Dumez.
Convert SharedMemory::Handle objects to SharedMemory::IPCHandle
objects which automatically verify the size of data being sent.
We can remove the additional size parameter being sent in many IPC
messages along with the handle, now that both are stored in the
IPCHandle struct.
- UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::setPromisedDataForImage):
- UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: (WebKit::WebPasteboardProxy::getPasteboardBufferForType): No longer need size check, this is done in the IPCHandle::decode() function. (WebKit::WebPasteboardProxy::setPasteboardBufferForType): (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebPasteboardProxy.cpp: (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
- UIProcess/WebPasteboardProxy.h:
- UIProcess/WebPasteboardProxy.messages.in:
- UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::saveImageToLibrary):
- UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::dataSelectionForPasteboard): No longer need size check, this is done in the IPCHandle::decode() function. (WebKit::WebPageProxy::setPromisedDataForImage):
- WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::writeItemsToPasteboard):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::WebPlatformStrategies::bufferForType): (WebKit::WebPlatformStrategies::setBufferForType): (WebKit::WebPlatformStrategies::readBufferFromPasteboard): No longer need size check, this is done in the IPCHandle::decode() function.
- WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: (WebKit::WebDragClient::declareAndWriteDragImage):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::getDataSelectionForPasteboard): (WebKit::WebPage::performActionOnElement):
- WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getDataSelectionForPasteboard):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:16 PM Changeset in webkit [265719] by
-
- 2 edits in branches/safari-610.1-branch/Source/WebCore
Cherry-pick r265690. rdar://problem/67100613
The PiP button on the fullscreen youtube player disappears after starting a new video in a playlist
https://bugs.webkit.org/show_bug.cgi?id=215488
Reviewed by Eric Carlson.
When a fullscreen video player (e.g., YouTube.com) completes the current video and starts
the next one in a playlist, it may reuse the video element, so m_mediaElement of the
PlaybackSessionModelMediaElement instance won't change. However, the video element
will exit video fullscreen standby and then enter video fullscreen standby. Those
transitions are invisible to users. But the corresponding PlaybackSessionModelContext
instance will be destroyed and a new instance will be created.
By default, the member variable m_pictureInPictureSupported of the PlaybackSessionModelContext
instance is "false". After a new video starts to play, the function
PlaybackSessionModelMediaElement::setMediaElement() won't ask the PlaybackSessionManager
to send a PlaybackSessionManagerProxy::PictureInPictureSupportedChanged message
(because we don't change m_mediaElement) to notify the PlaybackSessionModelContext
instance in the UI process that m_pictureInPictureSupported should be "true". Therefore,
the PlaybackSessionModelContext instance will tell the WKFullScreenViewController instance
that picture-in-picture is not supported, which in turn will hide the picture-in-picture button.
With this patch, PlaybackSessionModelMediaElement::setMediaElement() will ask the
PlaybackSessionManager instance to send an IPC message if m_mediaElement is not nullptr
even we don't change the media element. So that the PlaybackSessionModelContext instance
in the UI process will always have a consistent state as the PlaybackSessionModelMediaElement
instance in the Web process.
- platform/cocoa/PlaybackSessionModelMediaElement.mm: (WebCore::PlaybackSessionModelMediaElement::setMediaElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:16 PM Changeset in webkit [265718] by
-
- 8 edits1 add in branches/safari-610.1-branch
Cherry-pick r265685. rdar://problem/67106093
OSRAvailabilityAnalysis shouldn't mark GetStack nodes directly as valid places for recovery
https://bugs.webkit.org/show_bug.cgi?id=215434
Reviewed by Saam Barati.
JSTests:
- stress/for-of-post-sinking-osr-availability.js: Added. (foo):
Source/JavaScriptCore:
It's somewhat subtle why we cannot use the node for the GetStack
itself in the Availability's node field. The reason is that if we
did we would need to make any phase that converts nodes to
GetStack availability aware. For instance, a place where this
could come up is in constant folding if you had a graph like the
following, which could arise from PutStack sinking:
BB#1:
@1: NewObject()
@2: MovHint(@1, inline-arg1)
@3: Jump(#2, #3)
BB#2:
@4: PutStack(@1, inline-arg1)
@5: GetMyArgumentByVal(inline-arg1)
@6: Jump(#3)
BB#3:
@7: InvalidationPoint()
If constant folding converts @5 to a GetStack then at @7
inline-arg1 won't be available since at the end of BB#1 our
availability is (@1, DeadFlush) and (@5,
FlushedAt(inline-arg1)). When that gets merged at BB#3 then the
availability will be (nullptr, ConflictingFlush).
This patch also makes validation check that availability is sane
at each pontential exit site if
Options::validateFTLOSRExitLiveness() is set. Since this is
actually a Phase we also need to make sure that we don't infinite
loop, so there is now a m_isValidating field on m_graph. The
validateOSRExitAvailability phase is also careful not to modify
the Graph, in order to avoid masking bugs when validating.
In a followup patch I intend to look into why MovHint elimination
will convert:
@2: MovHint(@0, loc1, bc#1, ExitInvalid)
@3: KillStack(loc1, bc#2, ExitValid)
@4: MovHint(@1 loc1, bc#2, ExitInvalid)
into
@2: ZombieHint(@0, loc1, bc#1, ExitInvalid)
@3: KillStack(loc1, bc#2, ExitValid)
@4: MovHint(@1 loc1, bc#2, ExitInvalid)
when loc1 is live in the bytecode at bc#2. But for now, the
validation rule works around this by only checking when mayExit
and the nodes exitOK agree exiting is possible.
- dfg/DFGGraph.h:
- dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::OSRAvailabilityAnalysisPhase): (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::performOSRAvailabilityAnalysis): (JSC::DFG::validateOSRExitAvailability): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):
- dfg/DFGOSRAvailabilityAnalysisPhase.h:
- dfg/DFGPhase.h: (JSC::DFG::runPhase):
- dfg/DFGValidate.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:16 PM Changeset in webkit [265717] by
-
- 14 edits in branches/safari-610.1-branch/Source
Cherry-pick r265623. rdar://problem/67100650
REGRESSION (r260684): Messages YouTube inline video: after Multitasking away and Back, Audio is heard but icon indicates "muted"
https://bugs.webkit.org/show_bug.cgi?id=215453
<rdar://problem/66136673>
Reviewed by Tim Horton.
Source/WebCore:
r260684 silenced all JS events during the snapshot sequence that occurs whenever the user homes out of Safari.
This was meant to address compatibility with websites that did not expect various resize/orientationchange
events when homing out. However, the snapshot sequence is fairly long and this was causing us to silence JS
events which have nothing to do with the snapshot sequence, like window.postMessage()'s message events. This is
what caused this regression.
To address the issue, this patch basically reverts r260684 and deals with websites-compatibility issues via
less risky site-specific and event-specific quirks:
- We silence Window resize events on nytimes.com to address <rdar://problem/59763843>.
- We silence Window resize events and MediaQueryList change events on twitter.com to address <rdar://problem/58804852> and <rdar://problem/61731801>.
- css/MediaQueryMatcher.cpp: (WebCore::MediaQueryMatcher::evaluateAll):
- dom/EventTarget.cpp: (WebCore::EventTarget::fireEventListeners):
- page/FrameView.cpp: (WebCore::FrameView::sendResizeEventIfNeeded):
- page/Page.h: (WebCore::Page::isTakingSnapshotsForApplicationSuspension const): (WebCore::Page::setIsTakingSnapshotsForApplicationSuspension): (WebCore::Page::shouldFireEvents const): Deleted. (WebCore::Page::setShouldFireEvents): Deleted.
- page/Quirks.cpp: (WebCore::Quirks::shouldSilenceWindowResizeEvents const): (WebCore::Quirks::shouldSilenceMediaQueryListChangeEvents const):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setIsDoingSnapshotSequence): (WebKit::WebPageProxy::setShouldFireEvents): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKApplicationStateTrackingView.mm: (-[WKApplicationStateTrackingView _willBeginSnapshotSequence]): (-[WKApplicationStateTrackingView _didCompleteSnapshotSequence]):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setIsDoingSnapshotSequence): (WebKit::WebPage::setShouldFireEvents): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:28 PM Changeset in webkit [265716] by
-
- 2 edits in trunk/Tools
[webkitcorepy] Add a NullHandler to logger
https://bugs.webkit.org/show_bug.cgi?id=215524
<rdar://problem/67102367>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Add default logging handler to webkitcorepy.log.
- 4:27 PM Changeset in webkit [265715] by
-
- 6 edits2 adds in trunk/Source/WebKit
[Cocoa] Avoid changing XPC target queue inside XPC event handler
https://bugs.webkit.org/show_bug.cgi?id=215460
Reviewed by Darin Adler.
In WebProcess::handleXPCEndpointMessages we currently change the XPC target queue for the XPC bootstrap connection while
under the XPC event handler. This sometimes causes simulated crashes on iOS and should be avoided. According to the
documentation in https://developer.apple.com/documentation/xpc/1448786-xpc_connection_set_target_queue?language=objc,
there does not seem to be anything saying this is a programming error, but the simulated crash claims otherwise. This
patch addresses this issue by changing the initial target queue for the XPC bootstrap connection from the main thread
queue to a queue on a secondary thread. The WebKit initializer function needs to be called on the main thread, which
is done by synchronously dispatching the call on the main thread. This patch also stops changing the event handler for
the bootstrap connection, but instead adds the additional XPC handling to the current event handler.
No new tests, since this is covered by existing tests. The handling of the Launch Services XPC endpoint message that
this patch changes, is used to receive the Launch Services database from the Networking process. The Launch Services
database is used in MIME type mapping APIs, and many tests would fail if this database was not received in the
WebContent process.
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::platformDidReceiveLoadParameters):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
- WebProcess/WebProcess.h:
- WebProcess/cocoa/HandleXPCEndpointMessages.h: Added.
- WebProcess/cocoa/HandleXPCEndpointMessages.mm: Added.
(WebKit::handleXPCEndpointMessages):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::handleXPCEndpointMessages const): Deleted.
- 4:09 PM Changeset in webkit [265714] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Assertion Failed: removeEventListener cannot remove css-manager-style-sheet-added because it doesn't exist.
https://bugs.webkit.org/show_bug.cgi?id=215495
Reviewed by Joseph Pecoraro.
- UserInterface/Views/FrameTreeElement.js:
(WI.FrameTreeElement.prototype.ondetach):
Checkthis.listItemElement, which is equivalent toWI.View.prototype.didInitialLayoutforWI.TreeElement.
- 3:54 PM Changeset in webkit [265713] by
-
- 16 edits in trunk
OfflineAudioContext.destination has incorrect number of channels & channel count mode
https://bugs.webkit.org/show_bug.cgi?id=215522
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more checks are passing.
Note that some tests are now failing when checking the audio channels on the OfflineAudioContext's destination.
Previously, there were no such channels to check since the channel count was always 0.
- web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-scheduling-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-biquad-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-constant-source-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-delay-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-gain-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-oscillator-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-2-chan-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/gain-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/ctor-offlineaudiocontext-expected.txt:
Source/WebCore:
OfflineAudioContext.destination currently always has a number of channels that is 0, no
matter the numberOfChannels provided when constructing the OfflineAudioContext. The
channel count mode is also "max" instead of "explicit" (as per [1]).
[1] https://www.w3.org/TR/webaudio/#AudioDestinationNode
No new tests, rebaselined existing tests.
- Modules/webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::maxChannelCount const):
- Modules/webaudio/OfflineAudioDestinationNode.h:
- 3:42 PM Changeset in webkit [265712] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Assertion Failed: removeEventListener cannot remove frame-main-resource-did-change because it doesn't exist.
https://bugs.webkit.org/show_bug.cgi?id=215496
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ChangesDetailsSidebarPanel.js:
(WI.ChangesDetailsSidebarPanel.prototype.shown):
(WI.ChangesDetailsSidebarPanel.prototype.attached): Added.
(WI.ChangesDetailsSidebarPanel.prototype.detached):
Move event listener toattach, which is guaranteed to be called beforedetach.
- 3:33 PM Changeset in webkit [265711] by
-
- 19 edits in trunk
[WebGL2] releaseShaderCompiler is not allowed to be supported in WebGL
https://bugs.webkit.org/show_bug.cgi?id=215432
Patch by James Darpinian <James Darpinian> on 2020-08-14
Reviewed by Dean Jackson.
Source/WebCore:
Fixes WebGL conformance tests methods.html and methods-2.html
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::releaseShaderCompiler): Deleted.
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLRenderingContextBase.idl:
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::releaseShaderCompiler): Deleted.
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:
(WebCore::GraphicsContextGLOpenGL::releaseShaderCompiler): Deleted.
- platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp:
(WebCore::GraphicsContextGLOpenGL::releaseShaderCompiler): Deleted.
LayoutTests:
- webgl/1.0.3/conformance/context/methods-expected.txt:
- webgl/2.0.0/conformance/context/methods-expected.txt:
- webgl/2.0.0/conformance2/context/methods-2-expected.txt:
- 3:30 PM Changeset in webkit [265710] by
-
- 2 edits in trunk/LayoutTests
[WebGL2] Skip buggy conformance tests
https://bugs.webkit.org/show_bug.cgi?id=215466
Patch by James Darpinian <James Darpinian> on 2020-08-14
Reviewed by Dean Jackson.
- webgl/TestExpectations:
- 3:14 PM Changeset in webkit [265709] by
-
- 8 edits in trunk
RTL: volume slider and icons are backwards
https://bugs.webkit.org/show_bug.cgi?id=215482
<rdar://problem/65730749>
Reviewed by Eric Carlson.
Source/WebCore:
- Modules/modern-media-controls/controls/inline-media-controls.js:
(InlineMediaControls.prototype.layout):
Flip the inline volume button when not in LTR.
- Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:
(MacOSFullscreenMediaControls.prototype.layout):
(MacOSFullscreenMediaControls.prototype._volumeControlsForCurrentDirection): Added.
Reverse the order of the fullscreen volume controls when not in LTR.
- Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css:
(.media-controls.mac.fullscreen:not(.uses-ltr-user-interface-layout-direction) :is(.volume-down, .volume.slider, .volume-up)): Added.
(.media-controls.mac.fullscreen:not(.uses-ltr-user-interface-layout-direction) .volume.slider): Deleted.
Also flip the fullscreen volume up and volume down buttons.
LayoutTests:
MacOSFullscreenMediaControlsdefaults to havingusesLTRUserInterfaceLayoutDirectionbe
false, so flip the order of the volume controls to match the non-LTR UI.
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html:
- 3:06 PM Changeset in webkit [265708] by
-
- 57 edits in trunk
[WebGL2] expando-loss and expando-loss-2 conformance tests are failing
https://bugs.webkit.org/show_bug.cgi?id=214765
Patch by Kenneth Russell <kbr@chromium.org> on 2020-08-14
Reviewed by Yusuke Suzuki.
Re-land with locking fixes ysuzuki@ pointed out as necessary, and
advised heavily on.
Source/WebCore:
Use JSWebGLRenderingContext's and JSWebGL2RenderingContext's
existing visitAdditionalChildren hook, via JSCustomMarkFunction in
their IDL, to add opaque roots for all WebGLObjects latched in to
the context state, and all WebGLObjects they refer to. Extensions
were already previously handled.
In order to support JSC's concurrent marking, grab a
per-WebGL-context lock in visitAdditionalChildren, and in all
WebGL context- and object-related methods which modify compound
data structures like HashMaps and Vectors that are traversed by
visitAdditionalChildren and its callees. Add "const
AbstractLocker&" throughout WebGL's call hierarchy to guarantee
that this lock is held where needed. Add needed exception in
WebGLObjects' destructors to avoid recursive locking, and in
WebGLContextGroup destruction to avoid mutating objects that GC
might be traversing when a lock is no longer available on the
application's thread.
Add "GenerateIsReachable=Impl" to the IDL files of needed WebGL
objects (WebGLBuffer, WebGLTexture, etc.) so that they pay
attention to the opaque root state when determining liveness of
their JavaScript wrappers. Add a FIXME to objectGraphLock in
WebGLRenderingContextBase to consider rewriting this in a
lock-free manner.
Covered by existing WebGL conformance tests.
- bindings/js/JSWebGL2RenderingContextCustom.cpp:
(WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
- bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::visitAdditionalChildren):
- html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::deleteVertexArrayOES):
(WebCore::OESVertexArrayObject::bindVertexArrayOES):
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::validateAndCacheBufferBinding):
(WebCore::WebGL2RenderingContext::bindFramebuffer):
(WebCore::WebGL2RenderingContext::deleteFramebuffer):
(WebCore::WebGL2RenderingContext::deleteQuery):
(WebCore::WebGL2RenderingContext::beginQuery):
(WebCore::WebGL2RenderingContext::endQuery):
(WebCore::WebGL2RenderingContext::deleteSampler):
(WebCore::WebGL2RenderingContext::bindSampler):
(WebCore::WebGL2RenderingContext::deleteSync):
(WebCore::WebGL2RenderingContext::deleteTransformFeedback):
(WebCore::WebGL2RenderingContext::bindTransformFeedback):
(WebCore::WebGL2RenderingContext::beginTransformFeedback):
(WebCore::WebGL2RenderingContext::setIndexedBufferBinding):
(WebCore::WebGL2RenderingContext::deleteVertexArray):
(WebCore::WebGL2RenderingContext::bindVertexArray):
(WebCore::WebGL2RenderingContext::addMembersToOpaqueRoots):
(WebCore::WebGL2RenderingContext::uncacheDeletedBuffer):
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::~WebGLBuffer):
(WebCore::WebGLBuffer::deleteObjectImpl):
- html/canvas/WebGLBuffer.h:
- html/canvas/WebGLBuffer.idl:
- html/canvas/WebGLContextGroup.cpp:
(WebCore::WebGLContextGroup::hasAContext const):
(WebCore::WebGLContextGroup::objectGraphLockForAContext):
(WebCore::WebGLContextGroup::detachAndRemoveAllObjects):
- html/canvas/WebGLContextGroup.h:
- html/canvas/WebGLContextObject.cpp:
(WebCore::WebGLContextObject::detachContext):
(WebCore::WebGLContextObject::objectGraphLockForContext):
- html/canvas/WebGLContextObject.h:
- html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::~WebGLFramebuffer):
(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
(WebCore::WebGLFramebuffer::deleteObjectImpl):
(WebCore::WebGLFramebuffer::initializeAttachments):
(WebCore::WebGLFramebuffer::addMembersToOpaqueRoots):
(WebCore::WebGLFramebuffer::setAttachmentInternal):
(WebCore::WebGLFramebuffer::removeAttachmentInternal):
- html/canvas/WebGLFramebuffer.h:
- html/canvas/WebGLFramebuffer.idl:
- html/canvas/WebGLObject.cpp:
(WebCore::WebGLObject::runDestructor):
(WebCore::WebGLObject::deleteObject):
- html/canvas/WebGLObject.h:
- html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::~WebGLProgram):
(WebCore::WebGLProgram::deleteObjectImpl):
(WebCore::WebGLProgram::attachShader):
(WebCore::WebGLProgram::detachShader):
(WebCore::WebGLProgram::addMembersToOpaqueRoots):
- html/canvas/WebGLProgram.h:
- html/canvas/WebGLProgram.idl:
- html/canvas/WebGLQuery.cpp:
(WebCore::WebGLQuery::~WebGLQuery):
(WebCore::WebGLQuery::deleteObjectImpl):
- html/canvas/WebGLQuery.h:
- html/canvas/WebGLQuery.idl:
- html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::~WebGLRenderbuffer):
(WebCore::WebGLRenderbuffer::deleteObjectImpl):
- html/canvas/WebGLRenderbuffer.h:
- html/canvas/WebGLRenderbuffer.idl:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::attachShader):
(WebCore::WebGLRenderingContextBase::validateAndCacheBufferBinding):
(WebCore::WebGLRenderingContextBase::bindBuffer):
(WebCore::WebGLRenderingContextBase::bindFramebuffer):
(WebCore::WebGLRenderingContextBase::bindRenderbuffer):
(WebCore::WebGLRenderingContextBase::bindTexture):
(WebCore::WebGLRenderingContextBase::deleteObject):
(WebCore::WebGLRenderingContextBase::uncacheDeletedBuffer):
(WebCore::WebGLRenderingContextBase::setBoundVertexArrayObject):
(WebCore::WebGLRenderingContextBase::deleteBuffer):
(WebCore::WebGLRenderingContextBase::deleteFramebuffer):
(WebCore::WebGLRenderingContextBase::deleteProgram):
(WebCore::WebGLRenderingContextBase::deleteRenderbuffer):
(WebCore::WebGLRenderingContextBase::deleteShader):
(WebCore::WebGLRenderingContextBase::deleteTexture):
(WebCore::WebGLRenderingContextBase::detachShader):
(WebCore::WebGLRenderingContextBase::useProgram):
(WebCore::WebGLRenderingContextBase::vertexAttribPointer):
(WebCore::WebGLRenderingContextBase::detachAndRemoveAllObjects):
(WebCore::WebGLRenderingContextBase::setFramebuffer):
(WebCore::WebGLRenderingContextBase::addMembersToOpaqueRoots):
(WebCore::WebGLRenderingContextBase::objectGraphLock):
- html/canvas/WebGLRenderingContextBase.h:
(WebCore::WebGLRenderingContextBase::setBoundVertexArrayObject): Deleted.
- html/canvas/WebGLSampler.cpp:
(WebCore::WebGLSampler::~WebGLSampler):
(WebCore::WebGLSampler::deleteObjectImpl):
- html/canvas/WebGLSampler.h:
- html/canvas/WebGLSampler.idl:
- html/canvas/WebGLShader.cpp:
(WebCore::WebGLShader::~WebGLShader):
(WebCore::WebGLShader::deleteObjectImpl):
- html/canvas/WebGLShader.h:
- html/canvas/WebGLShader.idl:
- html/canvas/WebGLSharedObject.cpp:
(WebCore::WebGLSharedObject::detachContextGroup):
(WebCore::WebGLSharedObject::detachContextGroupWithoutDeletingObject):
(WebCore::WebGLSharedObject::hasGroupOrContext const):
(WebCore::WebGLSharedObject::objectGraphLockForContext):
- html/canvas/WebGLSharedObject.h:
- html/canvas/WebGLSync.cpp:
(WebCore::WebGLSync::~WebGLSync):
(WebCore::WebGLSync::deleteObjectImpl):
- html/canvas/WebGLSync.h:
- html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::~WebGLTexture):
(WebCore::WebGLTexture::deleteObjectImpl):
- html/canvas/WebGLTexture.h:
- html/canvas/WebGLTexture.idl:
- html/canvas/WebGLTransformFeedback.cpp:
(WebCore::WebGLTransformFeedback::~WebGLTransformFeedback):
(WebCore::WebGLTransformFeedback::deleteObjectImpl):
(WebCore::WebGLTransformFeedback::setProgram):
(WebCore::WebGLTransformFeedback::setBoundIndexedTransformFeedbackBuffer):
(WebCore::WebGLTransformFeedback::addMembersToOpaqueRoots):
(WebCore::WebGLTransformFeedback::unbindBuffer):
- html/canvas/WebGLTransformFeedback.h:
- html/canvas/WebGLTransformFeedback.idl:
- html/canvas/WebGLVertexArrayObject.cpp:
(WebCore::WebGLVertexArrayObject::~WebGLVertexArrayObject):
(WebCore::WebGLVertexArrayObject::deleteObjectImpl):
- html/canvas/WebGLVertexArrayObject.h:
- html/canvas/WebGLVertexArrayObject.idl:
- html/canvas/WebGLVertexArrayObjectBase.cpp:
(WebCore::WebGLVertexArrayObjectBase::setElementArrayBuffer):
(WebCore::WebGLVertexArrayObjectBase::setVertexAttribState):
(WebCore::WebGLVertexArrayObjectBase::unbindBuffer):
(WebCore::WebGLVertexArrayObjectBase::addMembersToOpaqueRoots):
- html/canvas/WebGLVertexArrayObjectBase.h:
- html/canvas/WebGLVertexArrayObjectOES.cpp:
(WebCore::WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES):
(WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
- html/canvas/WebGLVertexArrayObjectOES.h:
- html/canvas/WebGLVertexArrayObjectOES.idl:
LayoutTests:
Rebaseline expando-loss.html and expando-loss-2.html, which are
now fully passing.
Add a hook to js-test-pre.js which allows these tests to be run
correctly in the MiniBrowser by setting the following environment
variables:
export JSC_useDollarVM=1
export XPC_JSC_useDollarVM=1
- webgl/2.0.0/conformance/misc/expando-loss-expected.txt:
- webgl/2.0.0/conformance2/misc/expando-loss-2-expected.txt:
- webgl/2.0.0/resources/webgl_test_files/js/js-test-pre.js:
- 3:00 PM Changeset in webkit [265707] by
-
- 8 edits in trunk/Source/WebInspectorUI
Web Inspector: use
WI.DropZoneViewinstead ofhandleFileDrop
https://bugs.webkit.org/show_bug.cgi?id=215493
Reviewed by Joseph Pecoraro.
WI.DropZoneViewindicates that things can be dropped, whereashandleFileDrophas no UI.
- UserInterface/Base/Main.js:
(WI.contentLoaded):
(WI._handleDrop): Deleted.
- UserInterface/Views/AuditTabContentView.js:
(WI.AuditTabContentView.prototype.dropZoneShouldAppearForDragEvent): Added.
(WI.AuditTabContentView.prototype.dropZoneHandleDrop): Added.
(WI.AuditTabContentView.prototype.initialLayout):
(WI.AuditTabContentView.prototype.async handleFileDrop): Deleted.
- UserInterface/Views/GraphicsTabContentView.js:
(WI.GraphicsTabContentView.prototype.dropZoneShouldAppearForDragEvent): Added.
(WI.GraphicsTabContentView.prototype.dropZoneHandleDrop): Added.
(WI.GraphicsTabContentView.prototype.initialLayout):
(WI.GraphicsTabContentView.prototype.async handleFileDrop): Deleted.
- UserInterface/Views/NetworkTabContentView.js:
(WI.NetworkTabContentView.prototype.initialLayout):
(WI.NetworkTabContentView.prototype.dropZoneShouldAppearForDragEvent): Added.
(WI.NetworkTabContentView.prototype.dropZoneHandleDrop): Added.
(WI.NetworkTabContentView.prototype.async handleFileDrop): Deleted.
- UserInterface/Views/TimelineTabContentView.js:
(WI.TimelineTabContentView.prototype.dropZoneShouldAppearForDragEvent): Added.
(WI.TimelineTabContentView.prototype.dropZoneHandleDrop): Added.
(WI.TimelineTabContentView.prototype.initialLayout):
(WI.TimelineTabContentView.prototype.async handleFileDrop): Deleted.
- UserInterface/Views/GraphicsOverviewContentView.js:
(WI.GraphicsOverviewContentView.prototype.initialLayout):
(WI.GraphicsOverviewContentView.prototype.dropZoneShouldAppearForDragEvent): Deleted.
(WI.GraphicsOverviewContentView.prototype.dropZoneHandleDrop): Deleted.
Remove thisWI.DropZoneViewas it's now handled byWI.GraphicsTabContentView.
- Localizations/en.lproj/localizedStrings.js:
- 2:56 PM Changeset in webkit [265706] by
-
- 3 edits in trunk/LayoutTests
Unreviewed, clean up some test expectations after r265639
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 2:55 PM Changeset in webkit [265705] by
-
- 2 edits in trunk/Source/WebCore
Crash in WebCore::AXObjectCache::rangeMatchesTextNearRange.
https://bugs.webkit.org/show_bug.cgi?id=215521
<rdar://problem/64773177>
Reviewed by Chris Fleizach.
The test accessibility/ios-simulator/text-marker-range-matches-text.html
exercises this code path, but doesn't reproduce this crash.
Added a check for nullity of the VisiblePositions before creating the
SimpleRange.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::rangeMatchesTextNearRange):
- 2:42 PM Changeset in webkit [265704] by
-
- 1 copy in tags/Safari-610.2.1
Tag Safari-610.2.1.
- 1:47 PM Changeset in webkit [265703] by
-
- 2 edits in trunk/Tools
Gamepad.GCFVersusHID fails on Big Sur.
<rdar://problem/66948608> and https://bugs.webkit.org/show_bug.cgi?id=215520
Reviewed by Tim Horton.
- TestWebKitAPI/Tests/mac/HIDGamepads.mm: Accept two different names for the virtual Xbox One controller
- 1:41 PM Changeset in webkit [265702] by
-
- 17 edits in trunk/Source/WebKit
Convert SharedMemory::Handle to SharedMemory::IPCHandle WebPage image/pasteboard functions
https://bugs.webkit.org/show_bug.cgi?id=215478
<rdar://problem/67024582>
Reviewed by Chris Dumez.
Convert SharedMemory::Handle objects to SharedMemory::IPCHandle
objects which automatically verify the size of data being sent.
We can remove the additional size parameter being sent in many IPC
messages along with the handle, now that both are stored in the
IPCHandle struct.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::setPromisedDataForImage):
- UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::getPasteboardBufferForType):
No longer need size check, this is done in the IPCHandle::decode()
function.
(WebKit::WebPasteboardProxy::setPasteboardBufferForType):
(WebKit::WebPasteboardProxy::readBufferFromPasteboard):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebPasteboardProxy.cpp:
(WebKit::WebPasteboardProxy::readBufferFromPasteboard):
- UIProcess/WebPasteboardProxy.h:
- UIProcess/WebPasteboardProxy.messages.in:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::saveImageToLibrary):
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::dataSelectionForPasteboard):
No longer need size check, this is done in the IPCHandle::decode()
function.
(WebKit::WebPageProxy::setPromisedDataForImage):
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::writeItemsToPasteboard):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::bufferForType):
(WebKit::WebPlatformStrategies::setBufferForType):
(WebKit::WebPlatformStrategies::readBufferFromPasteboard):
No longer need size check, this is done in the IPCHandle::decode()
function.
- WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::declareAndWriteDragImage):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getDataSelectionForPasteboard):
(WebKit::WebPage::performActionOnElement):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::getDataSelectionForPasteboard):
- 1:27 PM Changeset in webkit [265701] by
-
- 33 edits12 adds in trunk
Add support for suspending / resuming an OfflineAudioContext
https://bugs.webkit.org/show_bug.cgi?id=215417
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more checks are passing.
- web-platform-tests/webaudio/idlharness.https.window-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-suspend-resume-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/suspend-after-construct-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-disconnect-audioparam-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-channel-count.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/suspended-context-messageport.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/no-dezippering-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-disconnect-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-4-chan-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/no-dezippering-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/no-dezippering-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/current-time-block-size-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/automation-changes-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-basic-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-copy-curve-expected.txt:
Source/WebCore:
Add support for suspending / resuming an OfflineAudioContext, as per:
- https://www.w3.org/TR/webaudio/#dom-offlineaudiocontext-suspend
- https://www.w3.org/TR/webaudio/#dom-offlineaudiocontext-resume
Tests: webaudio/offlineaudiocontext-suspend-resume-basic.html
webaudio/offlineaudiocontext-suspend-resume-eventhandler.html
webaudio/offlineaudiocontext-suspend-resume-graph-manipulation.html
webaudio/offlineaudiocontext-suspend-resume-promise.html
webaudio/offlineaudiocontext-suspend-resume-sequence.html
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::didSuspendRendering):
- Modules/webaudio/BaseAudioContext.h:
(WebCore::BaseAudioContext::shouldSuspend):
- Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::uninitialize):
(WebCore::OfflineAudioContext::startOfflineRendering):
(WebCore::OfflineAudioContext::suspendOfflineRendering):
(WebCore::OfflineAudioContext::resumeOfflineRendering):
(WebCore::OfflineAudioContext::shouldSuspend):
(WebCore::OfflineAudioContext::didSuspendRendering):
(WebCore::OfflineAudioContext::didFinishOfflineRendering):
- Modules/webaudio/OfflineAudioContext.h:
- Modules/webaudio/OfflineAudioContext.idl:
- Modules/webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::startRendering):
(WebCore::OfflineAudioDestinationNode::offlineRender):
- Modules/webaudio/OfflineAudioDestinationNode.h:
LayoutTests:
Import tests for this feature from Blink since the WPT coverage is not great.
- webaudio/offlineaudiocontext-suspend-resume-basic-expected.txt: Added.
- webaudio/offlineaudiocontext-suspend-resume-basic.html: Added.
- webaudio/offlineaudiocontext-suspend-resume-eventhandler-expected.txt: Added.
- webaudio/offlineaudiocontext-suspend-resume-eventhandler.html: Added.
- webaudio/offlineaudiocontext-suspend-resume-graph-manipulation-expected.txt: Added.
- webaudio/offlineaudiocontext-suspend-resume-graph-manipulation.html: Added.
- webaudio/offlineaudiocontext-suspend-resume-promise-expected.txt: Added.
- webaudio/offlineaudiocontext-suspend-resume-promise.html: Added.
- webaudio/offlineaudiocontext-suspend-resume-sequence-expected.txt: Added.
- webaudio/offlineaudiocontext-suspend-resume-sequence.html: Added.
- webaudio/resources/audit-util.js: Added.
(compareBuffersWithConstraints):
(createImpulseBuffer):
(createLinearRampBuffer):
(createConstantBuffer):
(createStereoImpulseBuffer):
(timeToSampleFrame):
(grainLengthInSampleFrames):
(isValidNumber):
- webaudio/resources/audit.js: Added.
(_logError):
(_logPassed):
(_logFailed):
(_throwException):
(_generateDescription):
(_formatFailureEntry):
(_closeToThreshold):
(Should):
(Should.prototype._processArguments):
(Should.prototype._buildResultText):
(Should.prototype._finalize):
(Should.prototype._assert):
(Should.prototype.get result):
(Should.prototype.get detail):
(Should.prototype.exist):
(Should.prototype.throw):
(Should.prototype.notThrow):
(Should.prototype.beResolved):
(Should.prototype.beRejected):
(Should.prototype.beRejectedWith):
(Should.prototype.beTrue):
(Should.prototype.beFalse):
(Should.prototype.beEqualTo):
(Should.prototype.notBeEqualTo):
(Should.prototype.beNaN):
(Should.prototype.notBeNaN):
(Should.prototype.beGreaterThan):
(Should.prototype.beGreaterThanOrEqualTo):
(Should.prototype.beLessThan):
(Should.prototype.beLessThanOrEqualTo):
(Should.prototype.beConstantValueOf):
(Should.prototype.notBeConstantValueOf):
(Should.prototype.beEqualToArray):
(Should.prototype.containValues):
(Should.prototype.notGlitch):
(Should.prototype.beCloseTo):
(Should.prototype.beCloseToArray):
(Should.prototype.message):
(Should.prototype.haveOwnProperty):
(Should.prototype.notHaveOwnProperty):
(Should.prototype.inheritFrom):
(Task):
(Task.prototype.get label):
(Task.prototype.get state):
(Task.prototype.get result):
(Task.prototype.should):
(Task.prototype.run):
(Task.prototype.update):
(Task.prototype.done):
(Task.prototype.timeout):
(Task.prototype.isPassed):
(Task.prototype.toString):
(TaskRunner):
(TaskRunner.prototype._finish):
(TaskRunner.prototype.define):
(TaskRunner.prototype.run):
(loadFileFromUrl):
(return.createTaskRunner):
(window.Audit):
- 12:48 PM Changeset in webkit [265700] by
-
- 6 edits3 adds in branches/safari-610.1-branch
Cherry-pick r265603. rdar://problem/67084483
Font loads quickly followed by navigations may fail indefinitely
https://bugs.webkit.org/show_bug.cgi?id=215435
<rdar://problem/65560550>
Reviewed by Darin Adler.
Source/WebCore:
Font loads are coalesced using a zero-delay timer. However, that zero-delay timer
can fire while the page is in the middle of a navigation, which will cause the font
loads to fail. Then, the second page can request those same fonts, which are marked
as failed, and as such will never actually load/use the desired web font.
This patch just stops the zero-delay timer during navigations, and resumes it
when resuming the document. This means:
- The second page in the above story will not see that the font has failed, or even started, and will then re-request the font and load it successfully
- If the user goes "back" to the previous page, the zero-delay timer is restarted, the CachedFont realizes it's already succeeded, and the previous page is rendered as expected.
Test: fast/loader/font-load-timer.html
- css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::suspendFontLoadingTimer): (WebCore::CSSFontSelector::restartFontLoadingTimer):
- css/CSSFontSelector.h:
- dom/Document.cpp: (WebCore::Document::resume):
- loader/DocumentLoader.cpp: (WebCore::DocumentLoader::stopLoading):
LayoutTests:
1) The page has some content that has “font-family: WebFont” but there are no @font-face blocks on the page
2) In script, after the page has loaded, add an @font-face rule to the page with “font-family: WebFont” and some valid font URL
3) Synchronously, within the same turn of the run loop, trigger a synchronous layout of the element (using offsetWidth or something). This will add the font to the 0-delay time work list.
4) Synchronously, within the same turn of the run loop, navigate to a second page that doesn’t use the web font.
5) The second page waits some small-but-positive amount of time. This will cause the 0-delay timer to fire, but because the page is in the middle of navigating, the font load should fail.
6) The second page adds the same @font-face rule to itself using script. This should pull the same (failed) CachedResource object out of the memory cache.
7) Use the CSS Font Loading API to wait for the font load to complete
8) Make sure that the font is used on the second page (as a reference test). Today, the second page’s font load will fail because it pulled the failed font out of the memory cache. The test makes sure the second page’s font load succeeds.
- fast/loader/font-load-timer-expected.html: Added.
- fast/loader/font-load-timer.html: Added.
- fast/loader/resources/font-load-timer-navigation-destination.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:48 PM Changeset in webkit [265699] by
-
- 2 edits in branches/safari-610.1-branch/Source/WebInspectorUI
Cherry-pick r265597. rdar://problem/67084522
Web Inspector: REGRESSION(r259170): text inputs in box-shadow editor push sliders offscreen
https://bugs.webkit.org/show_bug.cgi?id=215436
Reviewed by Darin Adler.
- UserInterface/Views/BoxShadowEditor.js:
(WI.BoxShadowEditor.createInputRow):
Make sure the inputs are
type="text"so that CSS is able to distinguish them from sliders.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:48 PM Changeset in webkit [265698] by
-
- 2 edits in branches/safari-610.1-branch/Source/WebCore
Cherry-pick r265581. rdar://problem/67083937
First search on Google Maps shows black bar at top of map and blank strips through the middle
https://bugs.webkit.org/show_bug.cgi?id=214945
<rdar://problem/63374422>
Reviewed by Tim Horton.
On iOS with an attached keyboard, Google Maps appears to calculate
the viewport it will use for map display at a time when the Unified
Control Bar (keyboard accessories) is visible. If it then changes the
map location via the user submitting a search form, the resulting map
will be using the incorrect viewport as the control bar has disappeared.
This causes parts of the map display to get the wrong stencil masks, leaving
blank strips. This fixes itself as soon as you force the map to recalculate
its viewport (e.g. by rotating the device).
Rather than have Google Maps update its code to detect these viewport changes,
we're adding a Quirk to not use the control bar in these calculations.
- page/Quirks.cpp: (WebCore::Quirks::shouldAvoidResizingWhenInputViewBoundsChange const): Return true for "*.google.com/maps/".
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:48 PM Changeset in webkit [265697] by
-
- 4 edits in branches/safari-610.1-branch
Cherry-pick r265573. rdar://problem/67083969
Fail preconnect requests to deprecated TLS instead of allowing application to show warning
https://bugs.webkit.org/show_bug.cgi?id=215424
<rdar://problem/66784116>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-12
Reviewed by Geoffrey Garen.
Source/WebKit:
Preconnecting is just a suggestion, so if the content really wants to load something from the deprecated TLS server,
we will see the warning when the load actually happens.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm: (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::TEST): (TestWebKitAPI::webViewWithNavigationDelegate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:48 PM Changeset in webkit [265696] by
-
- 2 edits in branches/safari-610.1-branch/Source/WebKit
Cherry-pick r265560. rdar://problem/67084214
WebPageProxy::registerEditCommand should be robust against invalid undo step identifiers
https://bugs.webkit.org/show_bug.cgi?id=215412
<rdar://problem/66296820>
Reviewed by Tim Horton.
Add a
MESSAGE_CHECKto avoid ever creating aWebEditCommandProxywith an invalid command identifier.
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::registerEditCommand):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:48 PM Changeset in webkit [265695] by
-
- 8 edits in branches/safari-610.1-branch
Cherry-pick r265510. rdar://problem/67084518
Deferred WKUserScripts are exponentially injected on preloaded pages with frames.
https://bugs.webkit.org/show_bug.cgi?id=215382
rdar://problem/66837802
Reviewed by Sam Weinig.
Source/WebCore:
When defering a script in a frame it was previously added to a vector per-page.
Later when notified to inject the defered scripts, the page would iterate over all
the frames and evaluate the scripts on each frame. Since this vector had all the
frame's scripts the evaluations would be multiplied by the number of frames.
Now the defered scripts are stored per-frame and the page asks each frame to
inject the defered scripts.
- page/Frame.cpp: (WebCore::Frame::injectUserScripts): (WebCore::Frame::addUserScriptAwaitingNotification): (WebCore::Frame::injectUserScriptsAwaitingNotification):
- page/Frame.h:
- page/Page.cpp: (WebCore::Page::notifyToInjectUserScripts): (WebCore::Page::addUserScriptAwaitingNotification): Deleted.
- page/Page.h:
- page/Quirks.cpp: (WebCore::Quirks::triggerOptionalStorageAccessQuirk const):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm: (TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265510 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:48 PM Changeset in webkit [265694] by
-
- 6 edits2 adds in branches/safari-610.1-branch
Cherry-pick r265499. rdar://problem/67084446
[AutoTableLayout] REGRESSION(r263855) Paypal email is rendered right aligned on Safari
https://bugs.webkit.org/show_bug.cgi?id=215340
<rdar://problem/66540254>
Reviewed by Simon Fraser.
Source/WebCore:
Prior to r263855, these zero-length, non-empty columns had the preferred width value of 1px and the available space got distributed based on this made-up 1px value.
In this patch, we distribute the available horizontal space evenly among these zero-length, 'width: auto' columns.
Test: fast/table/zero-length-non-empty-columns-with-auto-width.html
- rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::layout):
LayoutTests:
- fast/table/zero-length-non-empty-columns-with-auto-width-expected.html: Added.
- fast/table/zero-length-non-empty-columns-with-auto-width.html: Added.
- platform/mac/fast/table/empty-cells-expected.txt: progression
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:48 PM Changeset in webkit [265693] by
-
- 7 edits in branches/safari-610.1-branch
Cherry-pick r265420. rdar://problem/67083903
REGRESSION (r260831): Web process crashes under Editor::setComposition() after navigating with marked text
https://bugs.webkit.org/show_bug.cgi?id=215315
<rdar://problem/64740092>
Reviewed by Darin Adler.
Source/WebCore:
To address a variety of crashes due to frames changing (or otherwise losing) their document while executing
editing commands, r260831 refactored the Editor class such that it extends the functionality of the Document
class, rather than the Frame class. In nearly all scenarios, this either leads to no behavior change or prevents
null pointer crashes, since a document is almost always attached to a frame when applying any editing commands.
However, there is one scenario where a document that has not yet been attached to its frame (and therefore does
not have a browsing context) will cause a null deref when trying to confirm an existing IME composition. The
logic added in <https://trac.webkit.org/r150291> will try and confirm any existing composition range on a
document right before committing provisional navigation. In the case where we are navigating back to a
previously visited page,m_frame's document inFrameLoader::commitProvisionalLoad()will not be attached
until the cached page's mainframe is opened underneathCachedPage::restore(). Since the call to
Editor::confirmComposition()currently happens before this step, we end up crashing while attempting to create
aUserTypingGestureIndicator. Note that even if we avoid this with a null check, we'll still end up crashing
shortly thereafter, underneathEditor::insertTextForConfirmedComposition. And even if this second crash is
avoided with another null check, we'll just end up with some version of webkit.org/b/59121, where the
composition range is present after navigation, but is out of sync with platform UI.
To fix the crash (and also not bring back bug #59121), we refactor this composition confirmation logic so that
it lives in Editor, and is also robust against the case where the document is not attached to a frame; we then
invoke this call after we're done committing the provisional load, so that any frame that is not yet attached
before commiting the load still has a chance to confirm its composition.
Test: WKWebViewMacEditingTests.ProcessSwapAfterSettingMarkedText
- editing/Editor.cpp: (WebCore::Editor::confirmCompositionAndNotifyClient):
Move functionality from
willTransitionToCommittedtoconfirmCompositionAndNotifyClient, a helper method that
will bail if the document is not attached, but otherwise confirm the active composition (if it exists).
- editing/Editor.h:
- loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad):
Add a call to confirm the editor's current composition after we're done committing the load. Note that in the
case where we had a composition before committing the load, we'll end up confirming the composition earlier (in
the first call site), rather than confirming after the load has been committed. This means that this second call
will be a no-op, due to the editor not having any composition.
(WebCore::FrameLoader::willTransitionToCommitted): Deleted.
- loader/FrameLoader.h:
Tools:
Add a new API that exercises the crash by:
- Enabling PSON.
- Navigating to page A and inserting some marked text.
- Navigating to page B with a process swap (without confirming the marked text).
- Navigating back to page A, and verifying that the previoulsy marked text is now committed.
- TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:13 PM Changeset in webkit [265692] by
-
- 2 edits in trunk/Source/JavaScriptCore
[ARMv7][JSC] Conservative GC is not considering
r7as a root
https://bugs.webkit.org/show_bug.cgi?id=215512
Reviewed by Yusuke Suzuki.
Since
r7is a callee-saved register on ARMv7
we need to consider it as a conservative root.
See the statement "A subroutine must preserve
the contents of the registers r4-r8, r10, r11
and SP (and r9 in PCS variants that designate
r9 as v6) form page 15 of
https://developer.arm.com/documentation/ihi0042/f/.
- heap/RegisterState.h:
- 11:58 AM Changeset in webkit [265691] by
-
- 3 edits in trunk/Tools
Move WebGL bot from debug to release builds
https://bugs.webkit.org/show_bug.cgi?id=215509
Rubber-stamped by Darin Adler.
Make the switch to release builds since many of the tests are already slow, and running in debug configuration makes them even slower
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
- 11:57 AM Changeset in webkit [265690] by
-
- 2 edits in trunk/Source/WebCore
The PiP button on the fullscreen youtube player disappears after starting a new video in a playlist
https://bugs.webkit.org/show_bug.cgi?id=215488
Reviewed by Eric Carlson.
When a fullscreen video player (e.g., YouTube.com) completes the current video and starts
the next one in a playlist, it may reuse the video element, so m_mediaElement of the
PlaybackSessionModelMediaElement instance won't change. However, the video element
will exit video fullscreen standby and then enter video fullscreen standby. Those
transitions are invisible to users. But the corresponding PlaybackSessionModelContext
instance will be destroyed and a new instance will be created.
By default, the member variable m_pictureInPictureSupported of the PlaybackSessionModelContext
instance is "false". After a new video starts to play, the function
PlaybackSessionModelMediaElement::setMediaElement() won't ask the PlaybackSessionManager
to send a PlaybackSessionManagerProxy::PictureInPictureSupportedChanged message
(because we don't change m_mediaElement) to notify the PlaybackSessionModelContext
instance in the UI process that m_pictureInPictureSupported should be "true". Therefore,
the PlaybackSessionModelContext instance will tell the WKFullScreenViewController instance
that picture-in-picture is not supported, which in turn will hide the picture-in-picture button.
With this patch, PlaybackSessionModelMediaElement::setMediaElement() will ask the
PlaybackSessionManager instance to send an IPC message if m_mediaElement is not nullptr
even we don't change the media element. So that the PlaybackSessionModelContext instance
in the UI process will always have a consistent state as the PlaybackSessionModelMediaElement
instance in the Web process.
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::setMediaElement):
- 11:56 AM Changeset in webkit [265689] by
-
- 52 edits5 adds in trunk
Introduce ConstantSourceNode Interface
https://bugs.webkit.org/show_bug.cgi?id=215377
Patch by Clark Wang <clark_wang@apple.com> on 2020-08-14
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Re-baselined existing tests. Some fail further, mainly due to lack of support for automation rate in AudioParam.
- web-platform-tests/webaudio/idlharness.https.window-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-minimum-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/adding-events-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-close-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/automation-rate-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/cancel-scheduled-values-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/event-insertion-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audiobuffersource-connections-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet-connections.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-connections-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-constant-source-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-delay-connections-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-dynamics-compressor-connections-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-oscillator-connections-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-exponentialRampToValueAtTime-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-linearRampToValueAtTime-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setTargetAtTime-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setValueAtTime-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setValueCurveAtTime-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/set-target-conv-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-process-frozen-array.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/constant-source-basic-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/constant-source-onended-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/constant-source-output-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/ctor-constantsource-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/test-constantsourcenode-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/realtime-conv-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-channel-count-1-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/maxdelay-rounding-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-azimuth-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-stereopanner-interface/no-dezippering-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/silent-inputs-expected.txt:
Source/WebCore:
Introduced new ConstantSourceNode interface according to spec:
https://www.w3.org/TR/webaudio/#ConstantSourceNode and with
guidance from Chromium implementation:
https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/modules/webaudio/constant_source_node.cc.
Re-baselined existing tests. Some fail further, mainly due to lack of support for automation rate in AudioParam.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/AudioNode.cpp:
(WebCore::convertEnumerationToString):
- Modules/webaudio/AudioNode.h:
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::createConstantSource):
- Modules/webaudio/BaseAudioContext.h:
- Modules/webaudio/BaseAudioContext.idl:
- Modules/webaudio/ConstantSourceNode.cpp: Added.
(WebCore::ConstantSourceNode::create):
(WebCore::ConstantSourceNode::ConstantSourceNode):
(WebCore::ConstantSourceNode::~ConstantSourceNode):
(WebCore::ConstantSourceNode::process):
(WebCore::ConstantSourceNode::propagatesSilence const):
- Modules/webaudio/ConstantSourceNode.h: Added.
- Modules/webaudio/ConstantSourceNode.idl: Added.
- Modules/webaudio/ConstantSourceOptions.h: Added.
- Modules/webaudio/ConstantSourceOptions.idl: Added.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
LayoutTests:
Added flaky tests.
- 11:56 AM Changeset in webkit [265688] by
-
- 7 edits in trunk
Unreviewed, revert r265213 and r265441
https://bugs.webkit.org/show_bug.cgi?id=215089
Source/WebKit:
This logging is no longer needed, since the test seems to be passing reliably in internal automation now.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView selectAllForWebView:]):
Tools:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::keyDown):
LayoutTests:
- editing/selection/ios/select-all-non-editable-text-using-keyboard-expected.txt:
- editing/selection/ios/select-all-non-editable-text-using-keyboard.html:
- 11:55 AM Changeset in webkit [265687] by
-
- 2 edits in trunk/Source/WebCore
Simplify FrameLoader::open
https://bugs.webkit.org/show_bug.cgi?id=215505
Patch by Rob Buis <rbuis@igalia.com> on 2020-08-14
Reviewed by Darin Adler.
There is no need to set m_isComplete to false since the started() call
a few lines below does the same thing.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::open):
- 11:53 AM Changeset in webkit [265686] by
-
- 2 edits in trunk/Source/WebCore
Simplify HTMLFrameElementBase::openURL
https://bugs.webkit.org/show_bug.cgi?id=215504
Patch by Rob Buis <rbuis@igalia.com> on 2020-08-14
Reviewed by Darin Adler.
The expression effectively uses the indirection document -> frame -> document, but
we can just use the document directly.
- html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::openURL):
- 11:42 AM Changeset in webkit [265685] by
-
- 8 edits1 add in trunk
OSRAvailabilityAnalysis shouldn't mark GetStack nodes directly as valid places for recovery
https://bugs.webkit.org/show_bug.cgi?id=215434
Reviewed by Saam Barati.
JSTests:
- stress/for-of-post-sinking-osr-availability.js: Added.
(foo):
Source/JavaScriptCore:
It's somewhat subtle why we cannot use the node for the GetStack
itself in the Availability's node field. The reason is that if we
did we would need to make any phase that converts nodes to
GetStack availability aware. For instance, a place where this
could come up is in constant folding if you had a graph like the
following, which could arise from PutStack sinking:
BB#1:
@1: NewObject()
@2: MovHint(@1, inline-arg1)
@3: Jump(#2, #3)
BB#2:
@4: PutStack(@1, inline-arg1)
@5: GetMyArgumentByVal(inline-arg1)
@6: Jump(#3)
BB#3:
@7: InvalidationPoint()
If constant folding converts @5 to a GetStack then at @7
inline-arg1 won't be available since at the end of BB#1 our
availability is (@1, DeadFlush) and (@5,
FlushedAt(inline-arg1)). When that gets merged at BB#3 then the
availability will be (nullptr, ConflictingFlush).
This patch also makes validation check that availability is sane
at each pontential exit site if
Options::validateFTLOSRExitLiveness() is set. Since this is
actually a Phase we also need to make sure that we don't infinite
loop, so there is now a m_isValidating field on m_graph. The
validateOSRExitAvailability phase is also careful not to modify
the Graph, in order to avoid masking bugs when validating.
In a followup patch I intend to look into why MovHint elimination
will convert:
@2: MovHint(@0, loc1, bc#1, ExitInvalid)
@3: KillStack(loc1, bc#2, ExitValid)
@4: MovHint(@1 loc1, bc#2, ExitInvalid)
into
@2: ZombieHint(@0, loc1, bc#1, ExitInvalid)
@3: KillStack(loc1, bc#2, ExitValid)
@4: MovHint(@1 loc1, bc#2, ExitInvalid)
when loc1 is live in the bytecode at bc#2. But for now, the
validation rule works around this by only checking when mayExit
and the nodes exitOK agree exiting is possible.
- dfg/DFGGraph.h:
- dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::OSRAvailabilityAnalysisPhase::OSRAvailabilityAnalysisPhase):
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
(JSC::DFG::performOSRAvailabilityAnalysis):
(JSC::DFG::validateOSRExitAvailability):
(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):
- dfg/DFGOSRAvailabilityAnalysisPhase.h:
- dfg/DFGPhase.h:
(JSC::DFG::runPhase):
- dfg/DFGValidate.cpp:
- 11:39 AM Changeset in webkit [265684] by
-
- 8 edits in trunk
Make sure OfflineAudioContext::startOfflineRendering() does lazy initialization
https://bugs.webkit.org/show_bug.cgi?id=215481
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more checks are passing.
- web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-channel-count.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/suspended-context-messageport.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/current-time-block-size-expected.txt:
Source/WebCore:
Make sure OfflineAudioContext::startOfflineRendering() does lazy initialization before
actually starting rendering. If lazy initialization has not happened yet (because no
audio nodes were created for this context yet), then rendering would fail with an
InvalidStateError, due to lack on initialization.
No new tests, rebaselined existing tests.
- Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::startOfflineRendering):
- Modules/webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::offlineRender):
- 11:27 AM Changeset in webkit [265683] by
-
- 15 edits in trunk
Fix bad check in AudioBufferSourceNode::renderFromBuffer()
https://bugs.webkit.org/show_bug.cgi?id=215513
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more checks are passing.
- web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-gain-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-one-sample-loop-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-connect-method-chaining-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-disconnect-audioparam-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-method-chaining-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-setValueCurve-exceptions-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/setTargetAtTime-after-event-within-block-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/setValueAtTime-within-block-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-tail-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-disconnect-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-basic-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-position-expected.txt:
Source/WebCore:
Fix bad check in AudioBufferSourceNode::renderFromBuffer() that is causing us to incorrectly output silence
and failing many WPT tests.
No new tests, rebaselined existing tests.
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::renderFromBuffer):
- 11:24 AM Changeset in webkit [265682] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: add aria-label for [>>] overflow tab picker
https://bugs.webkit.org/show_bug.cgi?id=215342
<rdar://problem/66804113>
Patch by Patrick Angle <Patrick Angle> on 2020-08-14
Reviewed by Devin Rousso.
- UserInterface/Views/TabBar.js: Moved title for
tabPickerTabBarItemtotitleattribute instead of the unuseddisplayNameargument
(WI.TabBar):
- 11:19 AM Changeset in webkit [265681] by
-
- 6 edits in trunk
AudioBufferSourceNode.buffer setter should throw when the buffer was already set
https://bugs.webkit.org/show_bug.cgi?id=215510
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline WPT test now that all checks are passing.
- web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-channels-expected.txt:
Source/WebCore:
AudioBufferSourceNode.buffer setter should throw when the buffer was already set:
Note that the setter for the WebKit-prefixed AudioBufferSourceNode still does not throw,
to ensure backward-compatibility.
No new tests, rebaselined existing test.
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::setBuffer):
- Modules/webaudio/AudioBufferSourceNode.h:
(WebCore::AudioBufferSourceNode::isWebKitAudioBufferSourceNode const):
- Modules/webaudio/WebKitAudioBufferSourceNode.h:
- 10:54 AM Changeset in webkit [265680] by
-
- 3 edits in trunk/LayoutTests
[ macOS iOS ] imported/w3c/web-platform-tests/user-timing/measure_navigation_timing.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215515
Unreviewed test gardening.
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 10:49 AM Changeset in webkit [265679] by
-
- 4 edits2 moves in branches/safari-610.1-branch/Tools
Cherry-pick r265271. rdar://problem/66945210
Move poseAsClass() into the TestRunnerShared directory
https://bugs.webkit.org/show_bug.cgi?id=215147
Reviewed by Tim Horton.
Move the duplicated implementations of
poseAsClass()out of WebKitTestRunner and DumpRenderTree,
and into helper files in TestRunnerShared instead.
No change in behavior.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- DumpRenderTree/mac/DumpRenderTree.mm: (poseAsClass): Deleted. (setPersistentUserStyleSheetLocation): Deleted.
- TestRunnerShared/cocoa/PoseAsClass.h: Renamed from Tools/WebKitTestRunner/mac/PoseAsClass.h.
- TestRunnerShared/cocoa/PoseAsClass.mm: Renamed from Tools/WebKitTestRunner/mac/PoseAsClass.mm. (swizzleAllMethods): (poseAsClass):
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265271 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:38 AM Changeset in webkit [265678] by
-
- 5 edits in trunk
REGRESSION (r259184): Typing -- then Return into an email moves the selection by two lines
https://bugs.webkit.org/show_bug.cgi?id=215491
<rdar://problem/66938121>
Reviewed by Darin Adler.
Source/WebCore:
When inserting a newline after text that is about to be replaced (e.g. using smart dashes, or a system-wide text
replacement), logic inEditor::markAndReplaceForattempts to detect the fact that we've just inserted a new
paragraph (settingadjustSelectionForParagraphBoundariestotrue), and subsequently causes us to advance
the selection forward by 1 character after we're done handling the text replacement.
This logic appears to have been added to deal with the fact that prior to r259184,
TextIterator::subrange()
with a range that ended in a line break would not include the line break as a part of the resulting subrange.
For instance, suppose we're inserting a newline after "--", text replacement has just run and replaced the
two hyphens with a single dash (—), and there is a newline after the dash. The extended paragraph range consists
of the dash, followed by the line break after it ("—\n"), with aselectionOffsetof 2. The following code:
auto selectionRange = extendedParagraph.subrange({ 0, selectionOffset });
...would compute a
selectionRangethat encompasses only the "—", despite a selection offset of 2, causing the
following code to only move the selection to the end of the "—":
m_document.selection().moveTo(createLegacyEditingPosition(selectionRange.end), DOWNSTREAM);
This requires the logic in the
adjustSelectionForParagraphBoundariesto subsequently move the selection to the
line break, as the user would expect. However, after the changes in r259184, the subrange now (correctly)
returns a range that starts before the "—" and ends at the following line break. However, this also means that
the subsequent adjustment logic will cause us to advance unnecessarily!
To fix this, we remove the
adjustSelectionForParagraphBoundariescase altogether, since its only (apparent)
purpose is to work around the fact thatTextIterator::subrangedidn't include trailing line breaks before
r259184.
Test: editing/spelling/text-replacement-after-typing-to-word.html
- editing/Editor.cpp:
(WebCore::Editor::markAndReplaceFor):
LayoutTests:
Tweaks an existing layout test so that it additionally exercises this bug. The erroneous code was already hit
during this test, but it currently does not result in any behavioral difference because after inserting the
newline, the caret is already at the end of the editable root; this means that the redundant call to advance
the selection forward by 1 character ends up being a no-op, and the test passes.
To adjust the test so that it fails, we simply start the root editable container off with two lines instead of
just one, such that the test (without this fix) will cause the selection to end up at the very end of the root
editable container instead of the first line after the "?".
To check that the selection ends up in the right place, we also use
dump-as-markup.jsto dump the caret
position after inserting the newline.
- editing/spelling/text-replacement-after-typing-to-word-expected.txt:
- editing/spelling/text-replacement-after-typing-to-word.html:
- 10:34 AM Changeset in webkit [265677] by
-
- 7 edits in trunk
@font-face font-weight descriptor should reject bolder and lighter
https://bugs.webkit.org/show_bug.cgi?id=215359
Patch by Takeshi Kurosawa <taken.spc@gmail.com> on 2020-08-14
Reviewed by Darin Adler.
Both bolder and lighter are not allowed in font-weight descriptor. This patch splits
font-weight descriptor parsers from font-weight property parsers.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-fonts/variations/at-font-face-descriptors-expected.txt:
Source/WebCore:
Tested by existing (formerly failing) test: web-platform-tests/css/css-fonts/variations/at-font-face-descriptors.html:
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeFontWeightAbsoluteKeywordValue):
(WebCore::consumeFontWeightAbsoluteRange):
(WebCore::consumeFontWeightAbsolute):
(WebCore::CSSPropertyParser::parseFontFaceDescriptor):
(WebCore::consumeFontWeightRange): Deleted.
LayoutTests:
- fast/text/font-face-javascript-expected.txt:
- fast/text/font-face-javascript.html:
- 10:26 AM Changeset in webkit [265676] by
-
- 13 edits in trunk
WritableStreamDefaultWriterEnsureReadyPromiseRejected should create a new readPromise if the current readyPromise is not pending
https://bugs.webkit.org/show_bug.cgi?id=215500
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
- web-platform-tests/streams/writable-streams/aborting.any-expected.txt:
- web-platform-tests/streams/writable-streams/aborting.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/bad-underlying-sinks.any-expected.txt:
- web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/close.any-expected.txt:
- web-platform-tests/streams/writable-streams/close.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/general.any-expected.txt:
- web-platform-tests/streams/writable-streams/general.any.worker-expected.txt:
- web-platform-tests/streams/writable-streams/reentrant-strategy.any-expected.txt:
- web-platform-tests/streams/writable-streams/reentrant-strategy.any.worker-expected.txt:
Source/WebCore:
Create new promise if current is not pending.
Also mark it as handled so that it does not end up call onunhandledrejection.
Covered by rebased tests.
- Modules/streams/WritableStreamInternals.js:
(writableStreamDefaultWriterEnsureClosedPromiseRejected):
- 10:22 AM Changeset in webkit [265675] by
-
- 9 edits in trunk/Source/WebInspectorUI
REGRESSION (r265224): Web Inspector: LOCALIZED STRING NOT FOUND next to the Image checkbox in the Sources prefs panel
https://bugs.webkit.org/show_bug.cgi?id=215387
<rdar://problem/66855263>
Patch by Patrick Angle <Patrick Angle> on 2020-08-14
Reviewed by Devin Rousso.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/LoadLocalizedStrings.js:
(WI.repeatedUIString.showTransparencyGridTooltip):
- UserInterface/Views/CanvasContentView.js:
(WI.CanvasContentView):
- UserInterface/Views/GraphicsOverviewContentView.js:
(WI.GraphicsOverviewContentView):
- UserInterface/Views/ImageResourceContentView.js:
- UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView):
- UserInterface/Views/ResourceCollectionContentView.js:
(WI.ResourceCollectionContentView):
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createSourcesSettingsView):
- 9:47 AM Changeset in webkit [265674] by
-
- 1 edit1 delete in trunk/LayoutTests
rdar://66995964 (REGRESSION (r265358): [ Win10 wk1 ] animations/steps-transform-rendering-updates.html is a constant failure (215454))
Rebaseline Test - Remore html file.
Unreviewed test gardening.
- platform/wincairo/animations/steps-transform-rendering-updates.html: Removed.
- 9:39 AM Changeset in webkit [265673] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] imported/w3c/web-platform-tests/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-onerror.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215506
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 9:33 AM Changeset in webkit [265672] by
-
- 5 edits in trunk/LayoutTests
[WPE] Gardening
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- platform/wpe/fast/text/basic/013-expected.txt: Rebaselined.
- 8:33 AM Changeset in webkit [265671] by
-
- 1 edit2 adds in trunk/LayoutTests
rdar://66995964 (REGRESSION (r265358): [ Win10 wk1 ] animations/steps-transform-rendering-updates.html is a constant failure (215454))
Rebaseline Test - Remore test expectation.
Unreviewed test gardening.
- platform/wincairo/animations/steps-transform-rendering-updates-expected.txt: Added.
- platform/wincairo/animations/steps-transform-rendering-updates.html: Added.
- 8:27 AM Changeset in webkit [265670] by
-
- 2 edits in trunk/LayoutTests
rdar://66995964 (REGRESSION (r265358): [ Win10 wk1 ] animations/steps-transform-rendering-updates.html is a constant failure (215454))
Rebaseline Test - Remore test expectation.
Unreviewed test gardening.
- platform/wincairo/TestExpectations:
- 3:59 AM Changeset in webkit [265669] by
-
- 1 copy in releases/WebKitGTK/webkit-2.29.91
WebKitGTK 2.29.91
- 3:58 AM Changeset in webkit [265668] by
-
- 4 edits in releases/WebKitGTK/webkit-2.30
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.29.91 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.29.91.
- 3:58 AM Changeset in webkit [265667] by
-
- 5 edits2 deletes in releases/WebKitGTK/webkit-2.30/Source/WebCore
Revert r265658 - Merge r265630 - REGRESSION(r254506): [Freetype] Spektra variable font does not work properly
https://bugs.webkit.org/show_bug.cgi?id=215214
<rdar://problem/66984524>
Reviewed by Adrian Perez de Castro.
This regressed in r254506, when a font smoothing mode is passed to drawGlyphsToContext() a new cairo font
options is set, using the default font options and changing the antialiasing. This means the font options from
the font (the ones containing the variation settings) set in the context by cairo_set_scaled_font() are
lost. We should copy the scaled font options instead, then set the antialiasing and apply them.
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawGlyphsToContext): Use cairo_scaled_font_get_font_options() instead of getDefaultCairoFontOptions().
- 3:08 AM Changeset in webkit [265666] by
-
- 3 edits in trunk/Tools
[Flatpak SK] Enable GNOME keyring support in subversion
https://bugs.webkit.org/show_bug.cgi?id=215498
Patch by Philippe Normand <pnormand@igalia.com> on 2020-08-14
Reviewed by Sergio Villar Senin.
- buildstream/elements/sdk/subversion.bst: Enable GNOME Keyring support, which pulls into libsecret.
- flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Allow session dbus access to the host secret service.
- 1:24 AM Changeset in webkit [265665] by
-
- 12 edits2 adds in trunk
[WebXR] Implement WebXRSession::updateRenderState()
https://bugs.webkit.org/show_bug.cgi?id=213555
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
New expectations.
- web-platform-tests/webxr/render_state_update.https-expected.txt: Added.
- web-platform-tests/webxr/render_state_vertical_fov_immersive.https-expected.txt: Added.
Source/WebCore:
Added an implementation which matches the current specs. The updateRenderState() is specially useful to set
the base layer in the session where WebXR contents would be rendered. Authors would normally do:
glCanvas.getContext("webgl").makeXRCompatible().then(() => {
xrSession.updateRenderState({ baseLayer: new XRWebGLLayer(xrSession, gl) });
});
The XRRenderStateInit has also been updated to the latest version of specs.
- Modules/webxr/WebXRRenderState.cpp:
(WebCore::WebXRRenderState::WebXRRenderState):
(WebCore::WebXRRenderState::depthNear const): Inlined.
(WebCore::WebXRRenderState::depthFar const): Ditto.
(WebCore::WebXRRenderState::inlineVerticalFieldOfView const): Ditto.
(WebCore::WebXRRenderState::baseLayer const): Ditto.
- Modules/webxr/WebXRRenderState.h:
(WebCore::WebXRRenderState::depthNear const): Inlined.
(WebCore::WebXRRenderState::setDepthNear): Ditto.
(WebCore::WebXRRenderState::depthFar const): Ditto.
(WebCore::WebXRRenderState::setDepthFar): Ditto.
(WebCore::WebXRRenderState::inlineVerticalFieldOfView const): Added.
(WebCore::WebXRRenderState::setInlineVerticalFieldOfView): Ditto.
(WebCore::WebXRRenderState::baseLayer const): Ditto.
(WebCore::WebXRRenderState::setBaseLayer): Ditto.
- Modules/webxr/WebXRSession.cpp:
(WebCore::isImmersive):
(WebCore::WebXRSession::updateRenderState): Implemented.
(WebCore::WebXRSession::referenceSpaceIsSupported const):
- Modules/webxr/WebXRSession.h: updateRenderState may throw exception.
- Modules/webxr/WebXRSession.idl: Ditto.
- Modules/webxr/WebXRWebGLLayer.h:
(WebCore::WebXRWebGLLayer::session): Added.
- Modules/webxr/XRRenderStateInit.h: Added layers and made many attributes optional.
- Modules/webxr/XRRenderStateInit.idl: Ditto.
LayoutTests:
- platform/wpe/TestExpectations: Added a couple of tests that pass now.
- 1:17 AM Changeset in webkit [265664] by
-
- 1 copy in releases/WebKitGTK/webkit-2.29.90
WebKitGTK 2.29.90
- 1:15 AM Changeset in webkit [265663] by
-
- 4 edits in releases/WebKitGTK/webkit-2.30
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.29.90 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.29.90.
Aug 13, 2020:
- 11:39 PM Changeset in webkit [265662] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit
Merge r265650 - [GTK4] Notify the web process on drag leave
https://bugs.webkit.org/show_bug.cgi?id=215373
Reviewed by Adrian Perez de Castro.
We missed this when implemented drag and drop support for GTK4.
- UIProcess/API/gtk/DropTargetGtk4.cpp:
(WebKit::DropTarget::leave): Call dragExited() and resetCurrentDragInformation() on WebPageProxy.
- 11:39 PM Changeset in webkit [265661] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit
Merge r265649 - [GTK] Do not accept drag operations when the matched target list is empty
https://bugs.webkit.org/show_bug.cgi?id=215372
Reviewed by Adrian Perez de Castro.
Do not initialize m_selectionData if we don't have valid targets.
- UIProcess/API/gtk/DropTargetGtk3.cpp:
(WebKit::DropTarget::accept):
(WebKit::DropTarget::leaveTimerFired):
- 11:39 PM Changeset in webkit [265660] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore
Merge r265648 - REGRESSION(r254506): [Freetype] Spektra variable font does not work properly
https://bugs.webkit.org/show_bug.cgi?id=215214
<rdar://problem/66984524>
Reviewed by Adrian Perez de Castro.
This regressed in r254506, when a font smoothing mode is passed to drawGlyphsToContext() a new cairo font
options is set, using the default font options and changing the antialiasing. This means the font options from
the font (the ones containing the variation settings) set in the context by cairo_set_scaled_font() are
lost. We should copy the scaled font options instead, then set the antialiasing and apply them.
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawGlyphsToContext): Use cairo_scaled_font_get_font_options() instead of getDefaultCairoFontOptions().
- 11:39 PM Changeset in webkit [265659] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.30
Merge r265647 - Crash in WebCore::StyledMarkupAccumulator::traverseNodesForSerialization
https://bugs.webkit.org/show_bug.cgi?id=199224
Reviewed by Michael Catanzaro.
Source/WebCore:
The crash happens in StyledMarkupAccumulator::traverseNodesForSerialization() when we can't enter the node and
nextSkippingChildren() returns nullptr.
Test: editing/pasteboard/copy-across-shadow-boundaries-crash.html
- editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): Set next to pastEnd if nextSkippingChildren()
returns nullptr.
LayoutTests:
- editing/pasteboard/copy-across-shadow-boundaries-crash-expected.txt: Added.
- editing/pasteboard/copy-across-shadow-boundaries-crash.html: Added.
- 11:39 PM Changeset in webkit [265658] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.30/Source/WebCore
Merge r265630 - Add RenderTreeMutationDisallowedScope to track intrusive render tree mutations
https://bugs.webkit.org/show_bug.cgi?id=215463
<rdar://problem/67012831>
Reviewed by Simon Fraser.
RenderLayer::enclosingScrollableLayer should not mutate the render tree accidentally.
This is related to <rdar://problem/64739768>.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderTreeMutationDisallowedScope.cpp: Added.
- rendering/RenderTreeMutationDisallowedScope.h: Added.
(WebCore::RenderTreeMutationDisallowedScope::RenderTreeMutationDisallowedScope):
(WebCore::RenderTreeMutationDisallowedScope::~RenderTreeMutationDisallowedScope):
(WebCore::RenderTreeMutationDisallowedScope::isMutationAllowed):
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::destroy):
- 11:39 PM Changeset in webkit [265657] by
-
- 6 edits3 adds in releases/WebKitGTK/webkit-2.30
Merge r265603 - Font loads quickly followed by navigations may fail indefinitely
https://bugs.webkit.org/show_bug.cgi?id=215435
<rdar://problem/65560550>
Reviewed by Darin Adler.
Source/WebCore:
Font loads are coalesced using a zero-delay timer. However, that zero-delay timer
can fire while the page is in the middle of a navigation, which will cause the font
loads to fail. Then, the second page can request those same fonts, which are marked
as failed, and as such will never actually load/use the desired web font.
This patch just stops the zero-delay timer during navigations, and resumes it
when resuming the document. This means:
- The second page in the above story will not see that the font has failed, or
even started, and will then re-request the font and load it successfully
- If the user goes "back" to the previous page, the zero-delay timer is restarted,
the CachedFont realizes it's already succeeded, and the previous page is rendered
as expected.
Test: fast/loader/font-load-timer.html
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::suspendFontLoadingTimer):
(WebCore::CSSFontSelector::restartFontLoadingTimer):
- css/CSSFontSelector.h:
- dom/Document.cpp:
(WebCore::Document::resume):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoading):
LayoutTests:
1) The page has some content that has “font-family: WebFont” but there are no @font-face blocks on the page
2) In script, after the page has loaded, add an @font-face rule to the page with “font-family: WebFont” and some valid font URL
3) Synchronously, within the same turn of the run loop, trigger a synchronous layout of the element (using offsetWidth or something). This will add the font to the 0-delay time work list.
4) Synchronously, within the same turn of the run loop, navigate to a second page that doesn’t use the web font.
5) The second page waits some small-but-positive amount of time. This will cause the 0-delay timer to fire, but because the page is in the middle of navigating, the font load should fail.
6) The second page adds the same @font-face rule to itself using script. This should pull the same (failed) CachedResource object out of the memory cache.
7) Use the CSS Font Loading API to wait for the font load to complete
8) Make sure that the font is used on the second page (as a reference test). Today, the second page’s font load will fail because it pulled the failed font out of the memory cache. The test makes sure the second page’s font load succeeds.
- fast/loader/font-load-timer-expected.html: Added.
- fast/loader/font-load-timer.html: Added.
- fast/loader/resources/font-load-timer-navigation-destination.html: Added.
- 11:39 PM Changeset in webkit [265656] by
-
- 6 edits22 deletes in releases/WebKitGTK/webkit-2.30
Merge r265599 - Highpass Biquads use old formulas
https://bugs.webkit.org/show_bug.cgi?id=181191
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
*
web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highpass-expected.txt:
Rebaselined
Source/WebCore:
Like r265517, but for the highpass filter.
Spec: https://www.w3.org/TR/webaudio/#dom-biquadfiltertype-highpass
Covered by existing tests
- platform/audio/Biquad.cpp:
(WebCore::Biquad::setHighpassParams):
LayoutTests:
Gardening r265517 (lowpass) showed our test failing for GStreamer due
to a different threshold than used by the imported WPT biquad tests.
As they test the same functionality, remove the old webaudio/biquad
tests and keep using the imported WPT ones with the detailed
thresholds.
- platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highpass-expected.txt: Removed.
- platform/mac-wk2/TestExpectations: Removed expectation regarding
deleted file.
- webaudio/biquad-allpass-expected.txt: Removed.
- webaudio/biquad-allpass.html: Removed.
- webaudio/biquad-bandpass-expected.txt: Removed.
- webaudio/biquad-bandpass.html: Removed.
- webaudio/biquad-getFrequencyResponse-expected.txt: Removed.
- webaudio/biquad-getFrequencyResponse.html: Removed.
- webaudio/biquad-highpass-expected.txt: Removed.
- webaudio/biquad-highpass.html: Removed.
- webaudio/biquad-highshelf-expected.txt: Removed.
- webaudio/biquad-highshelf.html: Removed.
- webaudio/biquad-lowpass-expected.txt: Removed.
- webaudio/biquad-lowpass.html: Removed.
- webaudio/biquad-lowshelf-expected.txt: Removed.
- webaudio/biquad-lowshelf.html: Removed.
- webaudio/biquad-notch-expected.txt: Removed.
- webaudio/biquad-notch.html: Removed.
- webaudio/biquad-peaking-expected.txt: Removed.
- webaudio/biquad-peaking.html: Removed.
- webaudio/biquadfilternode-basic-expected.txt: Removed.
- webaudio/biquadfilternode-basic.html: Removed.
- webaudio/resources/biquad-testing.js: Removed.
- 11:39 PM Changeset in webkit [265655] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebInspectorUI
Merge r265597 - Web Inspector: REGRESSION(r259170): text inputs in box-shadow editor push sliders offscreen
https://bugs.webkit.org/show_bug.cgi?id=215436
Reviewed by Darin Adler.
- UserInterface/Views/BoxShadowEditor.js:
(WI.BoxShadowEditor.createInputRow):
Make sure the inputs aretype="text"so that CSS is able to distinguish them from sliders.
- 11:38 PM Changeset in webkit [265654] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore
Merge r265564 - [PlayStation] Build fix for !ENABLE(ACCESSIBILITY) after r265514
https://bugs.webkit.org/show_bug.cgi?id=215426
AXObjectCache::getOrCreate(AccessibilityRole) changed names
in the above, but the short definition for
!ENABLE(ACCESSIBILITY) didn't update.
Unreviewed build fix.
- accessibility/AXObjectCache.h: Update name to match new name
- 11:38 PM Changeset in webkit [265653] by
-
- 4 edits in releases/WebKitGTK/webkit-2.30
Merge r265561 - Broken formatting in price table on yandex.ru after translating to English
https://bugs.webkit.org/show_bug.cgi?id=215416
<rdar://problem/66354018>
Reviewed by Tim Horton.
Source/WebCore:
Extend the behavior added in r265188 so that it applies to all elements that have
display: table-cell;, rather
than only table data cell elements.
- editing/TextManipulationController.cpp:
(WebCore::isEnclosingItemBoundaryElement):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- 11:38 PM Changeset in webkit [265652] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit
Merge r265560 - WebPageProxy::registerEditCommand should be robust against invalid undo step identifiers
https://bugs.webkit.org/show_bug.cgi?id=215412
<rdar://problem/66296820>
Reviewed by Tim Horton.
Add a
MESSAGE_CHECKto avoid ever creating aWebEditCommandProxywith an invalid command identifier.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::registerEditCommand):
- 11:38 PM Changeset in webkit [265651] by
-
- 4 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore
Merge r265559 - Unreviewed non-unified build fix.
No new tests needed.
- accessibility/AccessibilityMenuListOption.cpp: Add missing inclusion of
HTMLSelectElement.h.
- page/Quirks.h: Add mising forward declaration of HTMLVideoElement.
- page/UndoItem.cpp: Add missing inclusion of Document.h.
- 11:01 PM Changeset in webkit [265650] by
-
- 2 edits in trunk/Source/WebKit
[GTK4] Notify the web process on drag leave
https://bugs.webkit.org/show_bug.cgi?id=215373
Reviewed by Adrian Perez de Castro.
We missed this when implemented drag and drop support for GTK4.
- UIProcess/API/gtk/DropTargetGtk4.cpp:
(WebKit::DropTarget::leave): Call dragExited() and resetCurrentDragInformation() on WebPageProxy.
- 11:00 PM Changeset in webkit [265649] by
-
- 2 edits in trunk/Source/WebKit
[GTK] Do not accept drag operations when the matched target list is empty
https://bugs.webkit.org/show_bug.cgi?id=215372
Reviewed by Adrian Perez de Castro.
Do not initialize m_selectionData if we don't have valid targets.
- UIProcess/API/gtk/DropTargetGtk3.cpp:
(WebKit::DropTarget::accept):
(WebKit::DropTarget::leaveTimerFired):
- 10:59 PM Changeset in webkit [265648] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r254506): [Freetype] Spektra variable font does not work properly
https://bugs.webkit.org/show_bug.cgi?id=215214
<rdar://problem/66984524>
Reviewed by Adrian Perez de Castro.
This regressed in r254506, when a font smoothing mode is passed to drawGlyphsToContext() a new cairo font
options is set, using the default font options and changing the antialiasing. This means the font options from
the font (the ones containing the variation settings) set in the context by cairo_set_scaled_font() are
lost. We should copy the scaled font options instead, then set the antialiasing and apply them.
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawGlyphsToContext): Use cairo_scaled_font_get_font_options() instead of getDefaultCairoFontOptions().
- 10:57 PM Changeset in webkit [265647] by
-
- 3 edits2 adds in trunk
Crash in WebCore::StyledMarkupAccumulator::traverseNodesForSerialization
https://bugs.webkit.org/show_bug.cgi?id=199224
Reviewed by Michael Catanzaro.
Source/WebCore:
The crash happens in StyledMarkupAccumulator::traverseNodesForSerialization() when we can't enter the node and
nextSkippingChildren() returns nullptr.
Test: editing/pasteboard/copy-across-shadow-boundaries-crash.html
- editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): Set next to pastEnd if nextSkippingChildren()
returns nullptr.
LayoutTests:
- editing/pasteboard/copy-across-shadow-boundaries-crash-expected.txt: Added.
- editing/pasteboard/copy-across-shadow-boundaries-crash.html: Added.
- 10:42 PM Changeset in webkit [265646] by
-
- 1 edit1 add in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Add baseline for css3/filters/backdrop/blur-input-bounds.html.
- platform/glib/css3/filters/backdrop/blur-input-bounds-expected.txt: Added.
- 10:33 PM Changeset in webkit [265645] by
-
- 5 edits in trunk
VoiceOver not able to invoke play button on some web sites.
https://bugs.webkit.org/show_bug.cgi?id=215484
<rdar://problem/62729643>
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/ios-simulator/has-touch-event-listener.html.
We were checking for the presence of listeners for touchstart and touchend
events only. Now we check for the presence of any touch-related event listener.
- accessibility/ios/AccessibilityObjectIOS.mm:
(WebCore::AccessibilityObject::hasTouchEventListener const):
LayoutTests:
Expanded this test to check for all touch-related event listeners.
- accessibility/ios-simulator/has-touch-event-listener-expected.txt:
- accessibility/ios-simulator/has-touch-event-listener.html:
- 10:01 PM Changeset in webkit [265644] by
-
- 9 edits in trunk
(WK2 only) gamepad mapping stops being reported as “standard” in new tabs.
rdar://problem/66946505 and https://bugs.webkit.org/show_bug.cgi?id=215486
Reviewed by Tim Horton.
Source/WebKit:
Covered by new API test.
Get rid of the premature optimization that was "full gamepaddata" vs "condensed gamepaddata"
In practice, the actual button and axis values are larger than the mapping and id, so
not much IPC was being saved.
- Shared/Gamepad/GamepadData.cpp:
- Shared/Gamepad/GamepadData.h:
- UIProcess/Gamepad/UIGamepad.cpp:
(WebKit::UIGamepad::gamepadData const):
(WebKit::UIGamepad::condensedGamepadData const): Deleted.
(WebKit::UIGamepad::fullGamepadData const): Deleted.
- UIProcess/Gamepad/UIGamepad.h:
- UIProcess/Gamepad/UIGamepadProvider.cpp:
(WebKit::UIGamepadProvider::snapshotGamepads):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::gamepadConnected):
Tools:
- TestWebKitAPI/Tests/mac/HIDGamepads.mm:
- 9:31 PM Changeset in webkit [265643] by
-
- 3 edits in trunk/LayoutTests
[GTK] Gardening
Unreviewed test gardening.
- platform/glib/TestExpectations: Missing debug guard.
- platform/gtk/TestExpectations:
- 9:11 PM Changeset in webkit [265642] by
-
- 6 edits1 add in trunk
Cache Structure::attributeChangeTransition()
https://bugs.webkit.org/show_bug.cgi?id=214890
Reviewed by Yusuke Suzuki.
JSTests:
- microbenchmarks/redefine-property-previous-attributes.js: Added.
Source/JavaScriptCore:
With this change, a non-dictionary structure adds attribute-change transitions
to transition table, making redefinition to previous atttributes a fast path.
After too many transitions, the structure becomes a dictionary, firing the
transition watchpoint. Attribute-change transitions pin their property tables,
preventing forEachPropertyConcurrently() traversal.
This patch advances provided microbenchmark by ~90% and progresses
Speedometer2/EmberJS-Debug-TodoMVC by ~12% (~5% over r264573).
No behavior change.
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::getRegExpPrototypeProperty):
- runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectInternal):
- runtime/Structure.cpp:
(JSC::Structure::materializePropertyTable):
(JSC::Structure::removeNewPropertyTransition):
(JSC::Structure::attributeChangeTransition):
- runtime/Structure.h:
- 7:01 PM Changeset in webkit [265641] by
-
- 1 copy in tags/Safari-610.1.25.1.3
Tag Safari-610.1.25.1.3.
- 6:56 PM Changeset in webkit [265640] by
-
- 7 edits in trunk/Source/JavaScriptCore
Rework StructureTransitionTable::Hash::Key encoding
https://bugs.webkit.org/show_bug.cgi?id=215483
Reviewed by Yusuke Suzuki.
This patch implements new encoding of StructureTransitionTable::Hash::Key
to enable storing attribute change transitions in a transition table.
Since PropertyMapEntry attributes are always uint8_t, the remaining 8 bits
are used for TransitionKind, which also accommodates non-property transitions,
removing a bit hacky toAttributes() and utilization of unused pointer bits.
This change also introduces TransitionKind::Unknown we can validate against,
preventing addition transition from being a default, which could be unsafe.
No behavior change.
- runtime/JSObject.cpp:
(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::createInitialUndecided):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToContiguous):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToContiguous):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::convertFromCopyOnWrite):
(JSC::JSObject::switchToSlowPutArrayStorage):
(JSC::JSObject::suggestedArrayStorageTransition const):
- runtime/JSObject.h:
- runtime/Structure.cpp:
(JSC::StructureTransitionTable::contains const):
(JSC::StructureTransitionTable::get const):
(JSC::StructureTransitionTable::add):
(JSC::Structure::Structure):
(JSC::Structure::addPropertyTransitionToExistingStructureImpl):
(JSC::Structure::addNewPropertyTransition):
(JSC::Structure::removePropertyTransitionFromExistingStructureImpl):
(JSC::Structure::removeNewPropertyTransition):
(JSC::Structure::sealTransition):
(JSC::Structure::freezeTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::nonPropertyTransitionSlow):
- runtime/Structure.h:
- runtime/StructureInlines.h:
(JSC::Structure::nonPropertyTransition):
- runtime/StructureTransitionTable.h:
(JSC::changesIndexingType):
(JSC::newIndexingType):
(JSC::preventsExtensions):
(JSC::setsDontDeleteOnAllProperties):
(JSC::setsReadOnlyOnNonAccessorProperties):
(JSC::StructureTransitionTable::Hash::Key::Key):
(JSC::StructureTransitionTable::Hash::Key::attributes const):
(JSC::StructureTransitionTable::Hash::Key::transitionKind const):
(JSC::StructureTransitionTable::Hash::hash):
(JSC::toAttributes): Deleted.
(JSC::StructureTransitionTable::Hash::Key::isAddition const): Deleted.
- 5:25 PM Changeset in webkit [265639] by
-
- 5 edits142 adds11 deletes in trunk/LayoutTests
Migrate some Apple internal Mac expectations here into WebKit sources
https://bugs.webkit.org/show_bug.cgi?id=215459
Reviewed by Jonathan Bedard.
- platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-disconnect-audioparam-expected.txt: Removed.
- platform/ios-wk2/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-en-US-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-en-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-es-ES-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-es-MX-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-es-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-fr-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-hi-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-pt-BR-expected.txt: Removed.
- platform/ios/fast/text/international/system-language/navigator-language/navigator-language-ru-expected.txt: Removed.
These expected files were identical to the ones that will be used otherwise.
- platform/ios/TestExpectations: Removed expectations for test that have been removed.
- platform/mac-bigsur-wk1/editing/pasteboard/drop-text-without-selection-expected.txt: Added.
- platform/mac-bigsur-wk1/editing/selection/select-across-readonly-input-4-expected.txt: Added.
- platform/mac-bigsur-wk1/editing/selection/select-across-readonly-input-5-expected.txt: Added.
- platform/mac-bigsur-wk1/http/tests/cookies/js-get-and-set-http-only-cookie-expected.txt: Added.
- platform/mac-bigsur/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
- platform/mac-bigsur/editing/pasteboard/drop-text-without-selection-expected.txt: Added.
- platform/mac-bigsur/editing/pasteboard/pasting-tabs-expected.txt: Added.
- platform/mac-bigsur/editing/selection/3690703-2-expected.txt: Added.
- platform/mac-bigsur/editing/selection/3690703-expected.txt: Added.
- platform/mac-bigsur/editing/selection/3690719-expected.txt: Added.
- platform/mac-bigsur/editing/selection/select-from-textfield-outwards-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-br-mixed-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-p-mixed-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-br-mixed-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt: Added.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-p-mixed-expected.txt: Added.
- platform/mac-bigsur/fast/block/float/float-avoidance-expected.txt: Added.
- platform/mac-bigsur/fast/block/margin-collapse/103-expected.txt: Added.
- platform/mac-bigsur/fast/css/apple-system-control-colors-expected.txt: Added.
- platform/mac-bigsur/fast/css/rtl-ordering-expected.txt: Added.
- platform/mac-bigsur/fast/css/text-overflow-input-expected.txt: Added.
- platform/mac-bigsur/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt: Added.
- platform/mac-bigsur/fast/forms/basic-inputs-expected.txt: Added.
- platform/mac-bigsur/fast/forms/basic-textareas-quirks-expected.txt: Added.
- platform/mac-bigsur/fast/forms/box-shadow-override-expected.txt: Added.
- platform/mac-bigsur/fast/forms/button-sizes-expected.txt: Added.
- platform/mac-bigsur/fast/forms/button-table-styles-expected.txt: Added.
- platform/mac-bigsur/fast/forms/form-element-geometry-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-appearance-preventDefault-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-appearance-spinbutton-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-appearance-spinbutton-up-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-placeholder-visibility-1-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-placeholder-visibility-3-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-table-expected.txt: Added.
- platform/mac-bigsur/fast/forms/input-value-expected.txt: Added.
- platform/mac-bigsur/fast/forms/listbox-bidi-align-expected.txt: Added.
- platform/mac-bigsur/fast/forms/listbox-width-change-expected.txt: Added.
- platform/mac-bigsur/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Added.
- platform/mac-bigsur/fast/forms/option-text-clip-expected.txt: Added.
- platform/mac-bigsur/fast/forms/search-rtl-expected.txt: Added.
- platform/mac-bigsur/fast/forms/search/search-size-with-decorations-expected.txt: Added.
- platform/mac-bigsur/fast/forms/select-change-listbox-to-popup-expected.txt: Added.
- platform/mac-bigsur/fast/forms/select-visual-hebrew-expected.txt: Added.
- platform/mac-bigsur/fast/forms/textAreaLineHeight-expected.txt: Added.
- platform/mac-bigsur/fast/forms/textarea-placeholder-visibility-1-expected.txt: Added.
- platform/mac-bigsur/fast/forms/textarea-placeholder-visibility-2-expected.txt: Added.
- platform/mac-bigsur/fast/forms/textfield-outline-expected.txt: Added.
- platform/mac-bigsur/fast/forms/visual-hebrew-text-field-expected.txt: Added.
- platform/mac-bigsur/fast/parser/entity-comment-in-textarea-expected.txt: Added.
- platform/mac-bigsur/fast/parser/open-comment-in-textarea-expected.txt: Added.
- platform/mac-bigsur/fast/text/backslash-to-yen-sign-euc-expected.txt: Added.
- platform/mac-bigsur/fast/text/drawBidiText-expected.txt: Added.
- platform/mac-bigsur/fast/text/international/danda-space-expected.txt: Added.
- platform/mac-bigsur/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Added.
- platform/mac-bigsur/fast/text/international/system-language/system-font-punctuation-expected.txt: Added.
- platform/mac-bigsur/fast/text/justify-ideograph-leading-expansion-expected.txt: Added.
- platform/mac-bigsur/fast/text/vertical-rl-rtl-linebreak-expected.txt: Added.
- platform/mac-bigsur/fast/text/vertical-rl-rtl-linebreak-mixed-expected.txt: Added.
- platform/mac-bigsur/http/tests/navigation/javascriptlink-frames-expected.txt: Added.
- platform/mac-bigsur/http/tests/xmlhttprequest/methods-async-expected.txt: Added.
- platform/mac-bigsur/http/tests/xmlhttprequest/methods-expected.txt: Added.
- platform/mac-bigsur/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Added.
- platform/mac-bigsur/http/tests/xmlhttprequest/workers/methods-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/fetch/redirect-navigate/preserve-fragment-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/xhr/send-entity-body-empty-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-async-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/xhr/send-entity-body-none-expected.txt: Added.
- platform/mac-bigsur/media/controls-after-reload-expected.txt: Added.
- platform/mac-bigsur/media/video-display-toggle-expected.txt: Added.
- platform/mac-bigsur/media/video-no-audio-expected.txt: Added.
- platform/mac-bigsur/media/video-volume-slider-expected.txt: Added.
- platform/mac-bigsur/platform/mac/fast/text/international/bidi-fallback-font-weight-expected.txt: Added.
- platform/mac-bigsur/svg/custom/svg-fonts-without-missing-glyph-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug18359-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug2479-3-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug30692-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug33855-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug60749-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla/bugs/bug7342-expected.txt: Added.
- platform/mac-bigsur/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: Added.
- platform/mac-bigsur/transforms/2d/zoom-menulist-expected.txt: Added.
Copied these expectation files here.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-en-US-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-en-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-ES-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-fr-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-hi-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-pt-BR-expected.txt: Removed.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-ru-expected.txt: Removed.
These expectations files were all the same as the ones that would be used otherwise.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
Copied expectations here.
- 5:02 PM Changeset in webkit [265638] by
-
- 5 edits in trunk/Source/WebKit
Create SharedMemory::IPCHandle object to validate the size of SharedMemory::Handle objects sent over IPC
https://bugs.webkit.org/show_bug.cgi?id=215288
<rdar://problem/60870795>
Reviewed by David Kilzer.
Part 1 of a multi-patch plan to convert all SharedMemory::Handle
objects being sent over IPC to use SharedMemory::IPCHandle objects instead.
- Platform/SharedMemory.h:
(WebKit::SharedMemory::IPCHandle::IPCHandle):
- Platform/cocoa/SharedMemoryCocoa.cpp:
(WebKit::SharedMemory::IPCHandle::encode const):
(WebKit::SharedMemory::IPCHandle::decode):
Validate the size of the data sent in the IPCHandle::decode()
function.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::IPCHandle::encode const):
(WebKit::SharedMemory::IPCHandle::decode):
- Platform/win/SharedMemoryWin.cpp:
Implement IPCHandle encode and decode for all platforms for when we remove
SharedMemory::Handle encode/decode functions.
- 4:29 PM Changeset in webkit [265637] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 Release ] imported/w3c/eb-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-long-crash.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215480
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:09 PM Changeset in webkit [265636] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 Release ] imported/w3c/web-platform-tests/css/css-grid/abspos/empty-grid-001.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215476
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:59 PM Changeset in webkit [265635] by
-
- 2 edits in trunk/Source/WebCore
Pocket City game play area is blank (WebGL is broken in Catalyst)
https://bugs.webkit.org/show_bug.cgi?id=215251
Follow-up review comments from Darin Adler.
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
- 3:50 PM Changeset in webkit [265634] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed non-unified build fix.
No new tests needed.
- WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::requestEnterFullScreen): Add missing WebCore:: namespace
prefix to usage of WebCore::FullscreenManager.
- 3:46 PM Changeset in webkit [265633] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 Release ] media/modern-media-controls/scrubber-support/scrubber-support-drag.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215468
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:41 PM Changeset in webkit [265632] by
-
- 2 edits in trunk/LayoutTests
[ Win10 wk1 ews ] imported/blink/compositing/squashing/squashing-reflection-disallowed.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=215467
Unreviewed test gardening.
- platform/win/TestExpectations:
- 3:29 PM Changeset in webkit [265631] by
-
- 2 edits in trunk/LayoutTests
WebGL conformance: Failures and Timeouts in suite 2.0.0/conformance2
https://bugs.webkit.org/show_bug.cgi?id=189672
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:28 PM Changeset in webkit [265630] by
-
- 5 edits2 adds in trunk/Source/WebCore
Add RenderTreeMutationDisallowedScope to track intrusive render tree mutations
https://bugs.webkit.org/show_bug.cgi?id=215463
<rdar://problem/67012831>
Reviewed by Simon Fraser.
RenderLayer::enclosingScrollableLayer should not mutate the render tree accidentally.
This is related to <rdar://problem/64739768>.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderTreeMutationDisallowedScope.cpp: Added.
- rendering/RenderTreeMutationDisallowedScope.h: Added.
(WebCore::RenderTreeMutationDisallowedScope::RenderTreeMutationDisallowedScope):
(WebCore::RenderTreeMutationDisallowedScope::~RenderTreeMutationDisallowedScope):
(WebCore::RenderTreeMutationDisallowedScope::isMutationAllowed):
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::destroy):
- 3:20 PM Changeset in webkit [265629] by
-
- 4 edits in branches/safari-610.1-branch/Source/WebCore
Cherry-pick r265280. rdar://problem/66945503
Update AudioSampleDataSource offset computation
https://bugs.webkit.org/show_bug.cgi?id=215127
<rdar://problem/65938265>
Reviewed by Eric Carlson.
As per logs, it sometimes happens that the offset is so big that the timestamp is below the start of the window.
In that case, our logic is not able to catch up and reduce the offset.
To handle this, we special case if the timestamp is below the start frame and do as if we were starting from scratch.
Otherwise, we continue our logic to fine tune the offset by slowly making it bigger to not hit the end of the window but still be close to it.
Updated logging to help further debugging this issue if needed.
- platform/audio/mac/AudioSampleDataSource.h:
- platform/audio/mac/AudioSampleDataSource.mm: (WebCore::AudioSampleDataSource::pushSamplesInternal): (WebCore::computeOffsetDelay): (WebCore::AudioSampleDataSource::pullSamplesInternal): (WebCore::AudioSampleDataSource::pullAvalaibleSamplesAsChunks):
- platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp: (WebCore::RealtimeIncomingAudioSourceCocoa::OnData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:20 PM Changeset in webkit [265628] by
-
- 4 edits in branches/safari-610.1-branch/Source/WebCore
Cherry-pick r265244. rdar://problem/66945503
Remove AudioSampleDataSource::setPaused
https://bugs.webkit.org/show_bug.cgi?id=215125
Reviewed by Geoffrey Garen.
m_paused is unused except for setting m_transitioningFromPaused.
setPaused is only used in AudioMediaStreamTrackRenderCocoa at creation of the source.
We can remove the call for setPaused(true) and remove setPaused/m_paused.
- platform/audio/mac/AudioSampleDataSource.h:
- platform/audio/mac/AudioSampleDataSource.mm: (WebCore::AudioSampleDataSource::setPaused): Deleted.
- platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp: (WebCore::AudioMediaStreamTrackRendererCocoa::pushSamples):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:19 PM Changeset in webkit [265627] by
-
- 4 edits in branches/safari-610.1-branch/Source/WebCore
Revert "Cherry-pick r265280 and Unreviewed build fix. rdar://problem/66945503"
- 3:19 PM Changeset in webkit [265626] by
-
- 2 edits in trunk/Source/WebKitLegacy/ios
macCatalyst: Granting location permission doesn't allow geolocation access
https://bugs.webkit.org/show_bug.cgi?id=215464
<rdar://problem/64719458>
Reviewed by Wenson Hsieh.
- Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
Un-ifdef this code that was ifdeffed in r229963 during macCatalyst
bring-up and doesn't need to be anymore.
- 3:09 PM Changeset in webkit [265625] by
-
- 2 edits1 copy1 add1 delete in trunk/LayoutTests
Unreviewed test gardening, rebaseline test after r265613.
- fast/forms/search/search-zoom-computed-style-height-expected.txt:
- platform/mac-bigsur/fast/forms/search/search-zoom-computed-style-height-expected.txt: Copied from LayoutTests/fast/forms/search/search-zoom-computed-style-height-expected.txt.
- platform/mac-mojave/fast/forms/search/search-zoom-computed-style-height-expected.txt: Removed.
- 3:05 PM Changeset in webkit [265624] by
-
- 4 edits1 add in trunk/LayoutTests
[GTK][WPE] Gardening and adding baseline
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/gtk/fast/forms/search/search-zoom-computed-style-height-expected.txt: Added.
- platform/wpe/TestExpectations:
- 2:50 PM Changeset in webkit [265623] by
-
- 14 edits in trunk/Source
REGRESSION (r260684): Messages YouTube inline video: after Multitasking away and Back, Audio is heard but icon indicates "muted"
https://bugs.webkit.org/show_bug.cgi?id=215453
<rdar://problem/66136673>
Reviewed by Tim Horton.
Source/WebCore:
r260684 silenced all JS events during the snapshot sequence that occurs whenever the user homes out of Safari.
This was meant to address compatibility with websites that did not expect various resize/orientationchange
events when homing out. However, the snapshot sequence is fairly long and this was causing us to silence JS
events which have nothing to do with the snapshot sequence, like window.postMessage()'s message events. This is
what caused this regression.
To address the issue, this patch basically reverts r260684 and deals with websites-compatibility issues via
less risky site-specific and event-specific quirks:
- We silence Window resize events on nytimes.com to address <rdar://problem/59763843>.
- We silence Window resize events and MediaQueryList change events on twitter.com to address <rdar://problem/58804852> and <rdar://problem/61731801>.
- css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::evaluateAll):
- dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
- page/FrameView.cpp:
(WebCore::FrameView::sendResizeEventIfNeeded):
- page/Page.h:
(WebCore::Page::isTakingSnapshotsForApplicationSuspension const):
(WebCore::Page::setIsTakingSnapshotsForApplicationSuspension):
(WebCore::Page::shouldFireEvents const): Deleted.
(WebCore::Page::setShouldFireEvents): Deleted.
- page/Quirks.cpp:
(WebCore::Quirks::shouldSilenceWindowResizeEvents const):
(WebCore::Quirks::shouldSilenceMediaQueryListChangeEvents const):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setIsDoingSnapshotSequence):
(WebKit::WebPageProxy::setShouldFireEvents): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKApplicationStateTrackingView.mm:
(-[WKApplicationStateTrackingView _willBeginSnapshotSequence]):
(-[WKApplicationStateTrackingView _didCompleteSnapshotSequence]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setIsDoingSnapshotSequence):
(WebKit::WebPage::setShouldFireEvents): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 2:42 PM Changeset in webkit [265622] by
-
- 3 edits in trunk/LayoutTests
[ macOS iOS wk2 Debug ] http/tests/security/no-indexeddb-from-sandbox.html is a constant crash
https://bugs.webkit.org/show_bug.cgi?id=215465
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 2:00 PM Changeset in webkit [265621] by
-
- 19 edits2 deletes in branches/safari-610.2.1-branch
Revert r265115. rdar://problem/67015032
- 1:52 PM Changeset in webkit [265620] by
-
- 1 copy in tags/Safari-610.1.25.5.1
Tag Safari-610.1.25.5.1.
- 1:49 PM Changeset in webkit [265619] by
-
- 3 edits in trunk/LayoutTests
Unreviewed, reverting r265612.
Commit fixed wincairo, but broke ios/mac
Reverted changeset:
"rdar://66995964 (REGRESSION (r265358): [ Win10 wk1 ]
animations/steps-transform-rendering-updates.html is a
constant failure (215454))"
https://trac.webkit.org/changeset/265612
- 1:33 PM Changeset in webkit [265618] by
-
- 10 edits in trunk/LayoutTests/imported/w3c
Unreviewed, rebaseline WPT tests that are currently marked as flaky.
- web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/suspend-after-construct-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-getFrequencyResponse-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/no-dezippering-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/no-dezippering-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/no-dezippering-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-scriptprocessornode-interface/simple-input-output-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-copy-curve-expected.txt:
- 1:06 PM Changeset in webkit [265617] by
-
- 1 edit in branches/safari-610.1-branch/Source/WebCore/platform/audio/mac/AudioSampleDataSource.h
Unreviewed build fix. rdar://problem/66945503
Missing identifier m_paused.
- 11:45 AM Changeset in webkit [265616] by
-
- 2 edits in trunk/Tools
Regression(r265580): apply-watchlist is broken
https://bugs.webkit.org/show_bug.cgi?id=215457
Unreviewed infrastructure fix.
- Scripts/webkitpy/common/config/watchlist:
- 11:38 AM Changeset in webkit [265615] by
-
- 1 edit in branches/safari-610.1-branch/Source/WebCore/platform/graphics/ImageUtilities.h
Unreviewed build fix, rdar://problem/66945359
unknown type name "WorkQueue"
- 11:16 AM Changeset in webkit [265614] by
-
- 2 edits in trunk/Tools
[ews] email notifications should include Bugzilla link to the patch
https://bugs.webkit.org/show_bug.cgi?id=215455
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(Bugzilla):
(Bugzilla.patch_url): Method to generate patch url.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Added link to the patch id.
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Ditto.
(ConfigureBuild.add_patch_id_url):
(ConfigureBuild.getPatchURL): Deleted.
- 10:56 AM Changeset in webkit [265613] by
-
- 3 edits7 adds in trunk
[macOS] Zoomed-in search field is clipped out
https://bugs.webkit.org/show_bug.cgi?id=215428
<rdar://problem/66161781>
Reviewed by Darin Adler.
Source/WebCore:
r257150 added support for painting large form controls using NSControlSizeLarge.
However, RenderThemeMac::searchFieldSizes() still returned a height
corresponding to NSControlSizeRegular rather than NSControlSizeLarge. This
behavior causes the height of the layout rect to be smaller than the height
of the painted cell, resulting in clipping.
Returning the correct height in searchFieldSizes is not enough to solve the
issue. Currently, the height of the layout rect is set before adjusting the font
size of the corresponding RenderStyle. This is problematic as the initial font
size could correspond to NSControlSizeRegular, but when adjusted for zoom, the
font size could correspond to NSControlSizeLarge. To ensure that the font size
and height correspond to the same control size, the font size is now adjusted
prior to adjusting the height.
Test: fast/forms/search/search-zoom-computed-style-height.html
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::searchFieldSizes const): Correct height for NSControlSizeLarge.
(WebCore::RenderThemeMac::adjustSearchFieldStyle const):
LayoutTests:
Added a test to verify the computed style height of a zoomed-in search field.
- fast/forms/search/search-zoom-computed-style-height-expected.txt: Added.
- fast/forms/search/search-zoom-computed-style-height.html: Added.
- platform/ios/fast/forms/search/search-zoom-computed-style-height-expected.txt: Added.
- platform/mac-mojave/fast/forms/search/search-zoom-computed-style-height-expected.txt: Added.
- platform/win/fast/forms/search/search-zoom-computed-style-height-expected.txt: Added.
- 10:27 AM Changeset in webkit [265612] by
-
- 3 edits in trunk/LayoutTests
rdar://66995964 (REGRESSION (r265358): [ Win10 wk1 ] animations/steps-transform-rendering-updates.html is a constant failure (215454))
Rebaseline Test - Remore test expectation.
Unreviewed test gardening.
- animations/steps-transform-rendering-updates-expected.txt:
- 9:47 AM Changeset in webkit [265611] by
-
- 2 edits in trunk/LayoutTests
Win10 wk1 ] animations/steps-transform-rendering-updates.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=215454
Unreviewed test gardening.
- platform/wincairo/TestExpectations:
- 9:01 AM Changeset in webkit [265610] by
-
- 2 edits in trunk/Tools
[ews] test names in ews notification email should be in sorted order
https://bugs.webkit.org/show_bug.cgi?id=215446
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
- 8:59 AM Changeset in webkit [265609] by
-
- 3 edits in trunk/Tools
[ews] Improve wording for test failure email
https://bugs.webkit.org/show_bug.cgi?id=215449
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Pluralize 'test failure' accordingly.
- BuildSlaveSupport/ews-build/send_email.py:
(send_email): Drive-by fix.
- 8:50 AM Changeset in webkit [265608] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk1 Debug ] imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-002.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215452
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 8:42 AM Changeset in webkit [265607] by
-
- 6 edits in trunk/Tools
[webkitpy] Use webkitcorepy's auto installer for coverage
https://bugs.webkit.org/show_bug.cgi?id=215419
<rdar://problem/66922400>
Reviewed by Stephanie Lewis.
- Scripts/webkitpy/init.py: Add coverage and it's dependencies.
- Scripts/webkitpy/test/main.py:
(Tester._run_tests): Stop relying on webkitpy's autoinstaller.
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook.find_module): Remove _install_coverage, _install_toml.
(AutoinstallImportHook._install_coverage): Deleted.
(AutoinstallImportHook._install_toml): Deleted.
- Scripts/webkitpy/thirdparty/init_unittest.py:
(ThirdpartyTest.test_imports): Remove coverage.
- flatpak/flatpakutils.py: Stop relying on webkitpy's autoinstaller.
- 8:35 AM Changeset in webkit [265606] by
-
- 3 edits1 add1 delete in trunk/Tools
[GTK][WPE] Add a script for generating MiniBrowser bundles
https://bugs.webkit.org/show_bug.cgi?id=215266
Reviewed by Carlos Garcia Campos.
This converts the previous generate-jsc-bundle into a new script
that is now able to do the following:
- generate a jsc bundle
- generate a MiniBrowse bundle
- generate an all bundle (jsc+MiniBrowser)
The bundle can include all the system-libraries from the system,
so that way (in theory) the bundle would run on any other distribution
or it can generate an install-dependencies script so it generates
a lightweight bundle with only the minimum libraries included that
would run only on the distribution where it has been created
(after running the install-dependencies script)
We already have a bot generating the jsc bundle and we plan to also
have bots for generating the MiniBrowser bundles as well.
- BuildSlaveSupport/build.webkit.org-config/steps.py: Update the step for the new command.
(GenerateJSCBundle):
- Scripts/generate-bundle: Added.
- Scripts/generate-jsc-bundle: Removed.
- jhbuild/jhbuildutils.py:
(enter_jhbuild_environment_if_available): Unicode argument not longer available on python3's gettext.install()
- 8:23 AM Changeset in webkit [265605] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] imported/w3c/web-platform-tests/media-source/mediasource-changetype-play-negative.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215450
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 6:23 AM Changeset in webkit [265604] by
-
- 4 edits in trunk/Source/WebKit
Unreviewed, reverting r265520.
Invalid sandbox change
Reverted changeset:
"[macOS] Deny access to directory for compiled WebKit
sandboxes"
https://bugs.webkit.org/show_bug.cgi?id=215384
https://trac.webkit.org/changeset/265520
- 1:13 AM Changeset in webkit [265603] by
-
- 6 edits3 adds in trunk
Font loads quickly followed by navigations may fail indefinitely
https://bugs.webkit.org/show_bug.cgi?id=215435
<rdar://problem/65560550>
Reviewed by Darin Adler.
Source/WebCore:
Font loads are coalesced using a zero-delay timer. However, that zero-delay timer
can fire while the page is in the middle of a navigation, which will cause the font
loads to fail. Then, the second page can request those same fonts, which are marked
as failed, and as such will never actually load/use the desired web font.
This patch just stops the zero-delay timer during navigations, and resumes it
when resuming the document. This means:
- The second page in the above story will not see that the font has failed, or
even started, and will then re-request the font and load it successfully
- If the user goes "back" to the previous page, the zero-delay timer is restarted,
the CachedFont realizes it's already succeeded, and the previous page is rendered
as expected.
Test: fast/loader/font-load-timer.html
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::suspendFontLoadingTimer):
(WebCore::CSSFontSelector::restartFontLoadingTimer):
- css/CSSFontSelector.h:
- dom/Document.cpp:
(WebCore::Document::resume):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoading):
LayoutTests:
1) The page has some content that has “font-family: WebFont” but there are no @font-face blocks on the page
2) In script, after the page has loaded, add an @font-face rule to the page with “font-family: WebFont” and some valid font URL
3) Synchronously, within the same turn of the run loop, trigger a synchronous layout of the element (using offsetWidth or something). This will add the font to the 0-delay time work list.
4) Synchronously, within the same turn of the run loop, navigate to a second page that doesn’t use the web font.
5) The second page waits some small-but-positive amount of time. This will cause the 0-delay timer to fire, but because the page is in the middle of navigating, the font load should fail.
6) The second page adds the same @font-face rule to itself using script. This should pull the same (failed) CachedResource object out of the memory cache.
7) Use the CSS Font Loading API to wait for the font load to complete
8) Make sure that the font is used on the second page (as a reference test). Today, the second page’s font load will fail because it pulled the failed font out of the memory cache. The test makes sure the second page’s font load succeeds.
- fast/loader/font-load-timer-expected.html: Added.
- fast/loader/font-load-timer.html: Added.
- fast/loader/resources/font-load-timer-navigation-destination.html: Added.