Timeline
Mar 14, 2020:
- 8:40 PM Changeset in webkit [258477] by
-
- 3 edits in trunk/Source/WebKit
Fix the "deliver cached ranges" logic in PDFPlugin (and other small cleanups)
https://bugs.webkit.org/show_bug.cgi?id=209097
Reviewed by Tim Hatcher.
Streaming in data always appended to the buffer instead of first growing the buffer.
This wasn't noticed earlier because we often did not grow the buffer for successful range request completion.
But now we often do!
So this cleans that all up.
At the same time it revealed other interactions with PDFKit that force us to handle data requests on the main
thread after the document load is complete - Which is fine!
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::dataProviderGetBytesAtPositionCallback): If on the main thread (and the document load is complete)
handle the request directly!
(WebKit::PDFPlugin::getResourceBytesAtPositionMainThread):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData):
(WebKit::PDFPlugin::ensureDataBufferLength):
(WebKit::PDFPlugin::didFail):
(WebKit::PDFPlugin::maybeClearHighLatencyDataProviderFlag):
(WebKit::PDFPlugin::documentDataDidFinishLoading):
(WebKit::PDFPlugin::installPDFDocument):
(WebKit::PDFPlugin::manualStreamDidReceiveData): Grow the buffer instead of append.
- 5:14 PM Changeset in webkit [258476] by
-
- 8 edits in trunk/Source
Add missing checks needed for AppBound Quirk
https://bugs.webkit.org/show_bug.cgi?id=209117
<rdar://problem/60460097>
Reviewed by John Wilander.
The checks for the 'NeedsInAppBrowserPrivacyQuirks' flag added in r258101 was incomplete.
Source/WebCore:
Two additional call sites need to check the state of the flag.
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeScriptInWorld): Add missing check for the quirk.
- loader/FrameLoaderClient.h: Add new API for the 'NeedsInAppBrowserPrivacyQuirks'
debug flag.
- page/Frame.cpp:
(WebCore::Frame::injectUserScriptImmediately): Ditto.
Source/WebKit:
These changes let the WebFrameLoaderClient report the quirk state to WebCore code.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::needsInAppBrowserPrivacyQuirks): Added.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::needsInAppBrowserPrivacyQuirks const): Added.
- 3:59 PM Changeset in webkit [258475] by
-
- 20 edits in trunk/Source
Change all return values in TextIterator header from live ranges to SimpleRange
https://bugs.webkit.org/show_bug.cgi?id=208906
Reviewed by Antti Koivisto.
Source/WebCore:
This is another step in moving off of live ranges for WebKit internals.
- Change return values of remaining functions that were returning live ranges in the TextIterator header to return SimpleRange.
- Change some arguments from live ranges to SimpleRange.
- At some call sites, use createLiveRange to convert the SimpleRange into a live range (for now), but at others update the code to use SimpleRange.
- Renamed a version of findPlainText that returns a boolean to containsPlainText.
- Convert call sites that were using createLiveRange just to use the Range::startPosition and Range::endPosition functions to instead use a new overload of the createLegacyEditingPosition function that can be used with SimpleRange::start and SimpleRange::end because it takes a BoundaryPoint.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::rangeMatchesTextNearRange): Return Optional<SimpleRange>
and take SimpleRange argument.
(WebCore::AXObjectCache::previousBoundary): Updated since
SimplifiedBackwardsTextIterator::range now returns SimpleRange.
- accessibility/AXObjectCache.h: Updated for the above.
- accessibility/AccessibilityObjectInterface.h:
(WebCore::AXCoreObject::containsText const): Updated for name change.
Now containsPlainText instead of findPlainText.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
Use createLegacyEditingPosition instead of createLiveRange.
(-[WebAccessibilityObjectWrapper rangeFromMarkers:withText:]): Use createLiveRange.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]):
Use createLegacyEditingPosition instead of createLiveRange.
- dom/Position.cpp:
(WebCore::createLegacyEditingPosition): Added an overload that takes a BoundaryPoint.
- dom/Position.h: Updated for the above, also removed unneeded includes and forward
declarations.
- editing/Editing.cpp:
(WebCore::visiblePositionForIndexUsingCharacterIterator): Updated since
CharacterIterator::range is now a SimpleRange, use createLegacyEditingPosition.
- editing/Editor.cpp:
(WebCore::Editor::advanceToNextMisspelling): Updated since CharacterIterator::range
is now a SimpleRange.
(WebCore::Editor::rangeOfString): Updated since findPlainText now returns a
SimpleRange; use createLiveRange.
(WebCore::Editor::countMatchesForText): Ditto.
- editing/TextIterator.cpp:
(WebCore::SimplifiedBackwardsTextIterator::range const): Return a SimpleRange.
(WebCore::CharacterIterator::range const): Ditto.
(WebCore::characterSubrange): Updated since CharacterIterator::range returns
a SimpleRange. Use createLiveRange.
(WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator): Cut down
code here by initializing data members in the class definition.
(WebCore::BackwardsCharacterIterator::range const): Return a SimpleRange.
(WebCore::WordAwareIterator::WordAwareIterator): Cut down code here by
initializing data members in the class definition.
(WebCore::hasAnyPlainText): Take a SimpleRange, use createLiveRange.
(WebCore::plainTextUsingBackwardsTextIteratorForTesting): Take a SimpleRange,
use createLiveRange.
(WebCore::collapsedToBoundary): Take and return a SimpleRange.
(WebCore::findPlainTextMatches): Take a SimpleRange, use createLiveRange.
(WebCore::rangeForMatch): Take and return a SimpleRange.
(WebCore::findClosestPlainText): Ditto.
(WebCore::findPlainText): Ditto.
(WebCore::containsPlainText): Renamed from findPlainText since this returns
a boolean, not a found location of some text.
- editing/TextIterator.h: Updated for the above. Also changed some data
members to use unsigned for offsets rather than int.
- editing/TextManipulationController.cpp:
(WebCore::ParagraphContentIterator::startPosition): Use
createLegacyEditingPosition instead of createLiveRange.
(WebCore::ParagraphContentIterator::endPosition): Ditto.
- editing/VisiblePosition.h: Added a forward declaration here since Position.h
no longer forward declares it.
- editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::appendTrailingWhitespace): Updated since
CharacterIterator::range is now a SimpleRange, use createLegacyEditingPosition.
- editing/VisibleUnits.cpp:
(WebCore::previousBoundary): Ditto.
(WebCore::nextBoundary): Ditto.
- testing/Internals.cpp:
(WebCore::Internals::rangeOfStringNearLocation): Updated since
findClosestPlainText now returns a SimpleRange, use createLiveRange.
Source/WebKit:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm: Removed unneeded include of
TextIterator.h.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::rangeNearPositionMatchesText): Removed unused originalRange argument,
changed return type to Optional<SimpleRange> since findClosestPlainText now
returns a SimpleRange.
(WebKit::WebPage::getRectsAtSelectionOffsetWithText): Updated since
rangeNearPositionMatchesText now returns Optional<SimpleRange>, use createLiveRange.
(WebKit::WebPage::requestDocumentEditingContext): Updated since
CharacterIterator::range returns SimpleRange, use createLiveRange.
- 3:17 PM Changeset in webkit [258474] by
-
- 3 edits in trunk/Source/WebKit
Gather PDF scripts to run on a background thread.
https://bugs.webkit.org/show_bug.cgi?id=209063
Reviewed by Geoff Garen.
In incremental loading mode, gathering document scripts will sometimes require PDFKit/CG
to lock and wait on data loads from our data provider.
So if we gather them on the main thread, we will hang the main thread and therefore deadlock
with our data provider thread/queue.
So let's gather those scripts on a background thread!
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::threadEntry):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData):
(WebKit::PDFPlugin::documentDataDidFinishLoading):
(WebKit::PDFPlugin::installPDFDocument):
(WebKit::PDFPlugin::streamDidFinishLoading):
(WebKit::PDFPlugin::manualStreamDidFinishLoading):
(WebKit::PDFPlugin::tryRunScriptsInPDFDocument): Only actually gathers scripts to execute if there
is a m_pdfDocument and the entire document data finished loading.
(WebKit::PDFPlugin::pdfDocumentDidLoad): Deleted.
(WebKit::PDFPlugin::runScriptsInPDFDocument): Deleted.
- 3:04 PM Changeset in webkit [258473] by
-
- 3 edits2 adds in trunk
[LFC][TFC] Fill in the gaps with anonymous table cell boxes
https://bugs.webkit.org/show_bug.cgi?id=209114
<rdar://problem/60458806>
Reviewed by Antti Koivisto.
Source/WebCore:
17.5 Visual layout of table contents
A "missing cell" is a cell in the row/column grid that is not
occupied by an element or pseudo-element. Missing cells are rendered
as if an anonymous table-cell box occupied their position in the grid.
(https://www.w3.org/TR/CSS22/tables.html)
This helps to keep TableGrid an actual grid.
Test: fast/layoutformattingcontext/table-missing-cells-simple.html
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::buildTableStructure):
LayoutTests:
- fast/layoutformattingcontext/table-missing-cells-simple-expected.html: Added.
- fast/layoutformattingcontext/table-missing-cells-simple.html: Added.
- 12:53 PM Changeset in webkit [258472] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.26
Merge r257720 - ASSERT(m_column != unsetColumnIndex) in RenderTable::cellBefore
https://bugs.webkit.org/show_bug.cgi?id=208397
Patch by Doug Kelly <Doug Kelly> on 2020-03-02
Reviewed by Zalan Bujtas.
Source/WebCore:
When inserting a cell into a table row which is not visible, this can lead to attempting to compute the repaint
rects during tree building. Instead, mark the layer as dirty using dirtyVisibleContentStatus(), and the visibility
will be recomputed at a later time.
Test: fast/table/insert-cell-invisible-parent.html
- rendering/RenderElement.cpp:
(WebCore::RenderElement::insertedIntoTree):
LayoutTests:
- fast/table/insert-cell-invisible-parent-expected.txt: Added.
- fast/table/insert-cell-invisible-parent.html: Added.
- 12:53 PM Changeset in webkit [258471] by
-
- 3 edits4 adds in releases/WebKitGTK/webkit-2.26
Merge r257897 - Crash in SVGElement::removeEventListener with symbol element
https://bugs.webkit.org/show_bug.cgi?id=207920
Patch by Doug Kelly <Doug Kelly> on 2020-03-04
Reviewed by Ryosuke Niwa.
Source/WebCore:
Resolves a crash in SVGElement::removeEventListener by only attaching the events to the window if the SVG element is both the outermost
SVG element, in addition to ensuring the SVG element is attached to the tree. The symbol element's behavior when referenced by a use
tag actually creates an svg tag instead, so the SVGSVGElement's special behavior for copying attributes is vital.
Note that Chrome and Firefox have a similar behavior for detached SVG elements as to what this change creates: in both other browsers,
onerror is not fired for a detached svg element, and in Firefox, onresize is not fired for a detached svg element (it is however fired
in Chrome).
Tests: fast/events/detached-svg-parent-window-events.html
fast/events/onerror-svg-symbol.html
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::parseAttribute):
LayoutTests:
- fast/events/detached-svg-parent-window-events-expected.txt: Added.
- fast/events/detached-svg-parent-window-events.html: Added.
- fast/events/onerror-svg-symbol-expected.txt: Added.
- fast/events/onerror-svg-symbol.html: Added.
- 12:52 PM Changeset in webkit [258470] by
-
- 2 edits in releases/WebKitGTK/webkit-2.26/Source/bmalloc
Merge r258142 - Build failure on ppc64le if unix is undefined
https://bugs.webkit.org/show_bug.cgi?id=207906
Patch by Mike Gorse <mgorse@suse.com> on 2020-03-09
Reviewed by Yusuke Suzuki.
- bmalloc/BPlatform.h: Check for unix along with unix.
- 12:19 PM Changeset in webkit [258469] by
-
- 10 edits2 deletes in trunk
Cleanup RenderMediaControls.cpp and RenderMediaControlElements.cpp
https://bugs.webkit.org/show_bug.cgi?id=209008
Reviewed by Daniel Bates.
Source/WebCore:
Merge RenderMediaControls.[h|cpp] and RenderMediaControlElements.[h|cpp].
Remove class RenderMediaVolumeSliderContainer because we can use RenderBlockFlow
to render MediaControlTextTrackContainerElement.
No new tests, no functional change.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/shadow/MediaControlElementTypes.cpp:
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::createElementRenderer):
- rendering/RenderMediaControlElements.cpp: Removed.
- rendering/RenderMediaControlElements.h: Removed.
- rendering/RenderMediaControls.cpp:
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaVolumeSliderContainer::layout):
(WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer):
(WebCore::RenderMediaControlTimelineContainer::layout):
- rendering/RenderMediaControls.h:
- rendering/RenderThemeMac.mm:
LayoutTests:
Remove unused code in a test.
- media/track/track-cue-rendering-rtl.html:
- 12:01 PM Changeset in webkit [258468] by
-
- 3 edits in trunk/Source/WebCore
Share HitTestResult::addNodeToListBasedTestResult() impl for LayoutRect and FloatRect overloads
https://bugs.webkit.org/show_bug.cgi?id=209107
Reviewed by Brady Eidson.
Remove code duplication for adding a node to the result set.
- rendering/HitTestResult.cpp:
(WebCore::HitTestResult::addNodeToListBasedTestResultCommon): Added.
(WebCore::HitTestResult::addNodeToListBasedTestResult): Write in terms of addNodeToListBasedTestResultCommon().
- rendering/HitTestResult.h:
- 9:10 AM Changeset in webkit [258467] by
-
- 2 edits in trunk
[CMake] Warning when ccache is not installed
https://bugs.webkit.org/show_bug.cgi?id=208952
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-14
Reviewed by Daniel Bates.
Change the warning when ccache is not installed to a status message. We shouldn't be
printing warnings except when there is an actual problem.
- Source/cmake/WebKitCCache.cmake:
- 5:57 AM Changeset in webkit [258466] by
-
- 3 edits2 adds in trunk
[Tree building] Reset the fragmented flow status before calling child.willBeRemovedFromTree.
https://bugs.webkit.org/show_bug.cgi?id=209100
<rdar://problem/60434672>
Reviewed by Simon Fraser.
Source/WebCore:
::willBeRemovedFromTree() assumes all the cleanup has happened and it's the final step before calling d'tor.
It clears m_fragmentList that resetFragmentedFlowStateOnRemoval() later checks for consistency (m_fragmentList.contains(fragment)).
Test: fast/multicol/reparent-fragment-flow-content.html
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::detachFromRenderElement):
LayoutTests:
- fast/multicol/reparent-fragment-flow-content-expected.txt: Added.
- fast/multicol/reparent-fragment-flow-content.html: Added.
- 3:22 AM Changeset in webkit [258465] by
-
- 10 edits in trunk
Set Origin header value to null rather than omitting it
https://bugs.webkit.org/show_bug.cgi?id=186030
Patch by Rob Buis <rbuis@igalia.com> on 2020-03-14
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Update improved test result.
- web-platform-tests/fetch/origin/assorted.window-expected.txt:
Source/WebCore:
For every redirect, addHTTPOriginIfNeeded should be called to
make sure that the tainted origin logic is applied [1, Step 10] and
thus the request after redirect has the correct Origin header.
Make AppleWin treat 308 redirects like 307 and so keeping http
methods across redirects. This is similar to
https://bugs.webkit.org/show_bug.cgi?id=154348.
[1] https://fetch.spec.whatwg.org/#concept-http-network-or-cache-fetch
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::addHTTPOriginIfNeeded):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):
- platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):
LayoutTests:
Update improved test result.
- http/tests/security/cors-post-redirect-307-expected.txt:
- http/tests/security/cors-post-redirect-307-pson-expected.txt:
- http/tests/security/cors-post-redirect-308-expected.txt:
- 12:15 AM Changeset in webkit [258464] by
-
- 3 edits in trunk/Source/WebCore
Call SVGTRefElement::buildPendingResource in SVGElement::didFinishInsertingNode
https://bugs.webkit.org/show_bug.cgi?id=208981
Reviewed by Antti Koivisto.
This patch moves the call to SVGTRefElement::buildPendingResource from SVGElement::insertedIntoAncestor
to SVGElement::didFinishInsertingNode.
- svg/SVGElement.cpp:
(WebCore::SVGElement::insertedIntoAncestor): Return true when the element has a pending resource ID.
(WebCore::SVGElement::didFinishInsertingNode): Added. Calls buildPendingResourcesIfNeeded.
- svg/SVGElement.h:
- 12:03 AM Changeset in webkit [258463] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed. Fix windows build by making configSizeToProtect stay 4KB.
- runtime/JSCConfig.h:
Mar 13, 2020:
- 11:43 PM Changeset in webkit [258462] by
-
- 3 edits in trunk/LayoutTests
PROGRESSION: webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205736
Unreviewed test expectation update.
- TestExpectations:
- webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats-expected.txt:
- 11:16 PM Changeset in webkit [258461] by
-
- 4 edits in trunk/LayoutTests
PROGRESSION (r253926): webgl/1.0.3/conformance/renderbuffers/feedback-loop.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205738
Unreviewed test expectation updates.
- TestExpectations:
- platform/ios/TestExpectations:
- webgl/1.0.3/conformance/renderbuffers/feedback-loop-expected.txt:
- 9:11 PM Changeset in webkit [258460] by
-
- 5 edits in trunk/Source
configSizeToProtect should be 16KB
https://bugs.webkit.org/show_bug.cgi?id=209068
Reviewed by Keith Miller.
Source/bmalloc:
- bmalloc/Gigacage.h:
Source/JavaScriptCore:
- runtime/JSCConfig.h:
- 8:11 PM Changeset in webkit [258459] by
-
- 4 edits2 adds in trunk
SVGMatrix should have the access right of its owner SVGTransform always
https://bugs.webkit.org/show_bug.cgi?id=207462
Reviewed by Simon Fraser.
Source/WebCore:
The SVGMatrix needs to be reattached to its owner SVGTransform when the
access right of this owner changes. The access right of the owner changes
when it gets attached to or detached from a higher level owner.
Test: svg/dom/SVGTransformList-anim-read-only.html
- svg/SVGTransform.h:
- svg/properties/SVGProperty.h:
(WebCore::SVGProperty::attach):
(WebCore::SVGProperty::detach):
(WebCore::SVGProperty::reattach):
LayoutTests:
- svg/dom/SVGTransformList-anim-read-only-expected.txt: Added.
- svg/dom/SVGTransformList-anim-read-only.html: Added.
- 7:10 PM Changeset in webkit [258458] by
-
- 17 edits in trunk
WKWebView._negotiatedLegacyTLS should be correct after back/forward navigations
https://bugs.webkit.org/show_bug.cgi?id=209011
<rdar://problem/59370588>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-03-13
Reviewed by Youenn Fablet.
Source/WebCore:
This is basically r258343 but for legacy TLS negotiation instead of plaintext HTTP use.
- dom/SecurityContext.h:
(WebCore::SecurityContext::usedLegacyTLS const):
(WebCore::SecurityContext::setUsedLegacyTLS):
- history/CachedFrame.cpp:
(WebCore::CachedFrame::usedLegacyTLS const):
(WebCore::CachedFrame::setUsedLegacyTLS): Deleted.
- history/CachedFrame.h:
(WebCore::CachedFrame::usedLegacyTLS const): Deleted.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::includeCertificateInfo const):
- platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::setUsedLegacyTLS):
Source/WebKit:
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::didReceiveResponse):
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::notifyDidReceiveResponse):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::usedLegacyTLS): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResponse):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::savePlatformDataToCachedFrame):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
- 7:01 PM Changeset in webkit [258457] by
-
- 6 edits in trunk
[watchOS] Don’t display empty text suggestions in Quickboard when editing input fields
https://bugs.webkit.org/show_bug.cgi?id=209089
Reviewed by Tim Horton.
Source/WebKit:
Handle text suggestions that lack
displayTextgracefully in Quickboard by not showing them as AutoFill
candidates. Currently, they are presented as blank collection view cells in Quickboard, which leads to a
confusing user experience.
Test: WKWebViewAutoFillTests.DoNotShowBlankTextSuggestions
- UIProcess/ios/forms/WKFocusedFormControlView.mm:
(-[WKFocusedFormControlView setSuggestions:]):
Tools:
Add an API test for watchOS. Also rename a few occurrences of "Autofill" to "AutoFill", to reflect the official
marketing name for the feature.
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(runUntilReceivesAutoplayEvent):
Additionally fix the watchOS engineering build for arm64_32, which was failing due to comparisons between 64-bit
and 32-bit integers. This is because this function took aWKAutoplayEvent(a 32-bit integer), but compared
against the_WKAutoplayEventtype (an NSInteger that is 64 bits on this architecture). There didn't seem to
be any compelling reason to compare against different types here (especially since we only set
receivedAutoplayEventunder the Objective-C delegate method that provides a_WKAutoplayEvent), so I changed
these all to be_WKAutoplayEvent.
- TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
(-[AutoFillTestView _autofillInputView]):
(-[AutoFillTestView textInputHasAutoFillContext]):
(TestWebKitAPI::TEST):
(-[AutofillTestView initWithFrame:]): Deleted.
(-[AutofillTestView _autofillInputView]): Deleted.
(-[AutofillTestView textInputHasAutofillContext]): Deleted.
- TestWebKitAPI/ios/UIKitSPI.h:
- 6:43 PM Changeset in webkit [258456] by
-
- 3 edits in trunk/Source/WebKit
Clean up sandbox violations found during testing
https://bugs.webkit.org/show_bug.cgi?id=209096
<rdar://problem/59931477>
Reviewed by Geoffrey Garen.
Remove telemetry from some items, and allow access to some IOKit properties
needed for media playback on macOS and iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 6:43 PM Changeset in webkit [258455] by
-
- 3 edits2 adds in trunk
[Tree building] Block::attachIgnoringContinuation should allow inline tables as before child container
https://bugs.webkit.org/show_bug.cgi?id=209095
<rdar://problem/59837588>
Reviewed by Simon Fraser.
Source/WebCore:
It's perfectly valid to have an inline table as the anonymous container for the before child.
It'll get wrapped inside an anonymous block right before we insert the block box candidate, so
the final result will be something like:
new block level child (this is the child we are inserting)
anonymous block wrapper
inline table (this is the before child's inline container)
before child
Test: fast/table/before-child-is-inline-table.html
- rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation):
LayoutTests:
- fast/table/before-child-is-inline-table-expected.txt: Added.
- fast/table/before-child-is-inline-table.html: Added.
- 6:27 PM Changeset in webkit [258454] by
-
- 2 edits in trunk/Source/WebCore
[GPU Process] GraphicsContextStateChange::apply() should process ShadowsIgnoreTransformsChange before processing ShadowChange
https://bugs.webkit.org/show_bug.cgi?id=209071
Reviewed by Darin Adler.
Ensure GraphicsContextStateChange::apply() calls shadowsIgnoreTransforms()
before calling setLegacyShadow() or setShadow().
Test: This patch fixes the following tests when running:
"run-webkit-tests --internal-feature RenderCanvasInGPUProcessEnabled"
fast/canvas/canvas-image-shadow.html
fast/canvas/canvas-scale-drawImage-shadow.html
fast/canvas/canvas-scale-fillPath-shadow.html
fast/canvas/canvas-scale-fillRect-shadow.html
fast/canvas/canvas-scale-shadowBlur.html
fast/canvas/canvas-transforms-fillRect-shadow.html
fast/canvas/fillText-shadow.html
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContextStateChange::apply const):
- 6:01 PM Changeset in webkit [258453] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix JSC / test262 tests
https://bugs.webkit.org/show_bug.cgi?id=209033
<rdar://problem/58946936>
Follow-up change for DisallowGC causes crash because CodeBlock is nullptr when function call is non JS calls.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
- 5:19 PM Changeset in webkit [258452] by
-
- 2 edits in trunk/Source/JavaScriptCore
Missing arithMode for ArithAbs and ArithNegate in DFGClobberize
https://bugs.webkit.org/show_bug.cgi?id=208685
<rdar://problem/60115088>
Reviewed by Saam Barati.
In the pure case of ArithNegate and ArithAbs in DFGClobberize, their PureValues did not include their
respective ArithMode. That means that e.g. a CheckOverflow ArithNegate/Abs could be considered equivalent
to an Unchecked version of the same node.
Thanks to Samuel Groß of Google Project Zero for identifying this bug.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- 5:05 PM Changeset in webkit [258451] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, reverting r258446.
These expectations are no longer needed.
Reverted changeset:
"[ Mac ] http/tests/security/mixedContent/insecure-worker-
global-scope.html is flaky failing."
https://bugs.webkit.org/show_bug.cgi?id=209093
https://trac.webkit.org/changeset/258446
- 4:59 PM Changeset in webkit [258450] by
-
- 2 edits5 deletes in trunk/LayoutTests
Unreviewed, reverting r258431.
These tests are flaky failing.
Reverted changeset:
"Add mixed content block test for imported scripts in worker
global scope"
https://bugs.webkit.org/show_bug.cgi?id=209075
https://trac.webkit.org/changeset/258431
- 4:57 PM Changeset in webkit [258449] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, drop unused variable in WebPageProxy::backForwardGoToItem().
- UIProcess/WebPageProxy.cpp:
- 4:35 PM Changeset in webkit [258448] by
-
- 10 edits in trunk/Source
Remove unused code related to removePrevalentDomains()
https://bugs.webkit.org/show_bug.cgi?id=209078
<rdar://problem/59681984>
Reviewed by Brent Fulgham.
The various removePrevalentDomains() functions and its IPC endpoint are unused and should be removed.
Source/WebCore:
No new tests. Just dead code removal.
- platform/network/NetworkStorageSession.cpp:
(WebCore::NetworkStorageSession::removePrevalentDomains): Deleted.
- platform/network/NetworkStorageSession.h:
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::clearBlockingStateForDomains): Deleted.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::removePrevalentDomains): Deleted.
(WebKit::WebResourceLoadStatisticsStore::callRemoveDomainsHandler): Deleted.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::removePrevalentDomains): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- 4:33 PM Changeset in webkit [258447] by
-
- 16 edits2 adds in trunk/Source
[Cocoa] Push applicationSDKVersion() down from WebCore into WTF
https://bugs.webkit.org/show_bug.cgi?id=209030
Reviewed by Simon Fraser.
Source/JavaScriptCore:
dyld_get_program_sdk_version() gives you the wrong answer in the Web Process (or at least
not the answer you actually want). There are already facilities for the UI Process to tell
the Web Process what the real value is, but those functions are currently in WebCore,
which is inaccessible to WTF. This patch is in preparation for
https://bugs.webkit.org/show_bug.cgi?id=208969 which needs to know this information in WTF.
I also found a few places which were calling dyld_get_program_sdk_version() in JavaScriptCore
and WebCore (which is wrong because those libraries exist in the Web Process), and have fixed
them up to use applicationSDKVersion() instead.
- API/JSWrapperMap.mm:
(supportsInitMethodConstructors):
Source/WebCore:
- html/HTMLObjectElement.cpp:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::requiresFullscreenForVideoPlayback const):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
- platform/RuntimeApplicationChecks.h:
- platform/Timer.cpp:
(WebCore::shouldSuppressThreadSafetyCheck):
- platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::applicationSDKVersionOverride): Deleted.
(WebCore::setApplicationSDKVersion): Deleted.
(WebCore::applicationSDKVersion): Deleted.
Source/WebKit:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultCSSOMViewScrollingAPIEnabled):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/PlatformMac.cmake:
- wtf/cocoa/RuntimeApplicationChecksCocoa.cpp: Added.
- wtf/cocoa/RuntimeApplicationChecksCocoa.h: Added.
(WTF::applicationSDKVersionOverride):
(WTF::setApplicationSDKVersion):
(WTF::applicationSDKVersion):
- 4:33 PM Changeset in webkit [258446] by
-
- 2 edits in trunk/LayoutTests
[ Mac ] http/tests/security/mixedContent/insecure-worker-global-scope.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209093
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 4:29 PM Changeset in webkit [258445] by
-
- 4 edits in trunk/Source/WebKit
Remove unused IPC function UserMediaCaptureManagerProxy::SetMuted
https://bugs.webkit.org/show_bug.cgi?id=209087
<rdar://problem/59658963>
Reviewed by Eric Carlson.
Remove the unused UserMediaCaptureManagerProxy message 'SetMuted'.
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::setMuted): Deleted.
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
- 4:21 PM Changeset in webkit [258444] by
-
- 3 edits in trunk/Source/WebKit
Remove unused GetNetworkLoadInformationRequest call
https://bugs.webkit.org/show_bug.cgi?id=209081
<rdar://problem/59659064>
Reviewed by Geoffrey Garen.
Remove dead code associated with an unused IPC message.
- NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::getNetworkLoadInformationRequest): Deleted.
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- 4:20 PM Changeset in webkit [258443] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC] Reload CodeBlock or suppress GC while setting up calls
https://bugs.webkit.org/show_bug.cgi?id=209033
<rdar://problem/58946936>
Reviewed by Saam Barati.
The sequence of Interpreter::execute is the following.
- Getting CodeBlock from Executable
- Doing a lot of setups
- Setting (1)'s CodeBlock to ProtoFrame
- Calling code through Executable
During (2), it would be possible that GC happens and it replaces CodeBlock in Executable.
Then, when executing JITCode with CodeBlock in (4), we use new JITCode with old CodeBlock.
In this patch,
For ProgramExecutable, FunctionExecutable, ModuleProgramExecutable, we ensure that no GC happens
after getting CodeBlock by placing DisallowGC. For EvalExecutable, we reload CodeBlock after setting
up environment. It is possible that FunctionExecutable* stored in CodeBlock can be different when
executing a new CodeBlock, but this is OK since this different does not appear and we do not rely on
this: we are touchingnameof FunctionExecutable* which is retrieved from CodeBlock. But this name
will not be changed since this is derived from UnlinkedFunctionExecutable which is shared by multiple
CodeBlocks. And FunctionExecutable* generation ordering must be the same for every CodeBlock generation
from the same UnlinkedCodeBlock.
- bytecode/CodeBlock.h:
(JSC::ScriptExecutable::prepareForExecution):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):
- interpreter/InterpreterInlines.h:
(JSC::Interpreter::execute):
- runtime/DisallowScope.h:
(JSC::DisallowScope::disable):
- runtime/StringPrototype.cpp:
- 4:15 PM Changeset in webkit [258442] by
-
- 11 edits in trunk/Source
[WebAuthn] Customize a bit more on the macOS LocalAuthentication prompt
https://bugs.webkit.org/show_bug.cgi?id=208703
<rdar://problem/60136974>
Reviewed by Darin Adler.
Source/WebCore:
- en.lproj/Localizable.strings:
- platform/LocalizedStrings.cpp:
(WebCore::touchIDPromptTitle):
- platform/LocalizedStrings.h:
Adds a new formatted UI string to help with RP ID.
Source/WebKit:
On macOS, LocalAuthentication prompt can be shown anywhere that is probably not on top of
our UI clients. Therefore, add a RP ID to the dialog to help users to identify what has
happened. In addition, it removes the password fallback button.
- Platform/spi/Cocoa/LocalAuthenticationSPI.h:
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::continueMakeCredentialAfterDecidePolicy):
(WebKit::LocalAuthenticator::continueGetAssertionAfterResponseSelected):
- UIProcess/WebAuthentication/Cocoa/LocalConnection.h:
- UIProcess/WebAuthentication/Cocoa/LocalConnection.mm:
(WebKit::LocalConnection::verifyUser const):
- UIProcess/WebAuthentication/Mock/MockLocalConnection.h:
- UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:
(WebKit::MockLocalConnection::verifyUser const):
- 4:04 PM Changeset in webkit [258441] by
-
- 4 edits in trunk/Source/WebKit
Remove Unused IPC message PlaybackSessionManagerProxy::PictureInPictureActiveChanged
https://bugs.webkit.org/show_bug.cgi?id=209085
<rdar://problem/59658916>
Reviewed by Geoffrey Garen.
Remove the unused PlaybackSessionManagerProxy message 'PictureInPictureActiveChanged'.
- UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.messages.in:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionManagerProxy::pictureInPictureActiveChanged): Deleted.
- 3:35 PM Changeset in webkit [258440] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: (r256232) [ Mac wk1 Release ] resize-observer/delete-observers-in-callbacks.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207847
<rdar://problem/59516099>
Unreviewed, unskip test now that is should no longer be flaky after r258438.
- platform/mac-wk1/TestExpectations:
- 3:33 PM Changeset in webkit [258439] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (257844): fast/scrolling/scroll-container-horizontally.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=209083
Also changed expectations for a test that is now timing out.
Unreviewwd test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-wk2/TestExpectations:
- 3:32 PM Changeset in webkit [258438] by
-
- 2 edits in trunk/Tools
Unreviewed, reverting r256232.
Caused ResizeObserver tests to become flaky
Reverted changeset:
"[DRT] InternalSettingsGenerated::resetToConsistentState() may
override TestOptions"
https://bugs.webkit.org/show_bug.cgi?id=207481
https://trac.webkit.org/changeset/256232
- 3:18 PM Changeset in webkit [258437] by
-
- 2 edits in trunk/LayoutTests
[ Mac Release ] css3/selectors3/xml/css3-modsel-d4.xml is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209084
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 2:56 PM Changeset in webkit [258436] by
-
- 11 edits in trunk
[ iOS and Mac wk2 ] http/tests/in-app-browser-privacy/ tests failing
https://bugs.webkit.org/show_bug.cgi?id=209016
<rdar://problem/60329530>
Reviewed by Chris Dumez.
Source/WebKit:
This patch adds a function to re-initialize app bound domains for
in-app-browser-privacy tests, since they are only initialized once
when the WebsiteDataStore is created. This causes issues if the tests
are run in parallel with other tests with different app-bound domains.
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreReinitializeAppBoundDomains):
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::clearAppBoundDomains):
(WebKit::WebsiteDataStore::reinitializeAppBoundDomains):
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
Re-initialize the app-bound domains when the correct
TestOptions parameter is set.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::reinitializeAppBoundDomains):
- WebKitTestRunner/TestController.h:
LayoutTests:
Use TestOptions to trigger the re-initialization of app-bound domains.
- http/tests/in-app-browser-privacy/app-bound-domain.html:
- http/tests/in-app-browser-privacy/switch-session-on-navigation-to-app-bound-domain.html:
- 2:51 PM Changeset in webkit [258435] by
-
- 2 edits in trunk/LayoutTests
[ Mac ] fast/animation/request-animation-frame-timestamps.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209079
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 2:49 PM Changeset in webkit [258434] by
-
- 14 edits in trunk/Source/WebCore
Safari sometimes crashes when switch video into PiP mode
https://bugs.webkit.org/show_bug.cgi?id=208904
Reviewed by Simon Fraser.
With this patch, MediaControlTextTrackContainerElement won't paint its subtree
to an image buffer (for the captions in video fullscreen or picture-in-picture mode)
when the cues are updated. Instead, it only sets the flag m_needsGenerateTextTrackRepresentation
to true after running layout based on the new cues. After that, it paints its subtree
to an image buffer if needed at the end of Page::updateRendering() when the layout is clean.
TextTrackRepresentationCocoa will use the image buffer to set the content of the layer
for captions in video fullscreen or picture-in-picture mode.
MediaControlTextTrackContainerElement class is responsible for rendering the captions in both:
1) a video player in the inline mode.
2) a video player in "video fullscreen" or picture-in-picture mode.
This patch refactors some functions to make their responsibilities clear.
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::updateTextTrackRepresentationImageIfNeeded):
- Modules/mediacontrols/MediaControlsHost.h:
- dom/Document.cpp:
(WebCore::Document::setMediaElementShowingTextTrack):
(WebCore::Document::clearMediaElementShowingTextTrack):
(WebCore::Document::updateTextTrackRepresentationImageIfNeeded):
- dom/Document.h:
Functions textTracksAreReady(), textTrackReadyStateChanged() and configureTextTrackDisplay()
should be wrapped with "#if ENABLE(VIDEO_TRACK)".
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setTextTrackRepresentation):
(WebCore::HTMLMediaElement::textTracksAreReady const):
(WebCore::HTMLMediaElement::textTrackReadyStateChanged):
(WebCore::HTMLMediaElement::configureTextTrackDisplay):
(WebCore::HTMLMediaElement::updateTextTrackRepresentationImageIfNeeded):
- html/HTMLMediaElement.h:
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::createElementRenderer):
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
(WebCore::MediaControlTextTrackContainerElement::updateTextTrackRepresentationImageIfNeeded):
(WebCore::MediaControlTextTrackContainerElement::updateTextTrackRepresentationIfNeeded):
(WebCore::MediaControlTextTrackContainerElement::clearTextTrackRepresentation):
(WebCore::MediaControlTextTrackContainerElement::updateTextTrackStyle):
(WebCore::MediaControlTextTrackContainerElement::enteredFullscreen):
(WebCore::MediaControlTextTrackContainerElement::updateVideoDisplaySize):
(WebCore::MediaControlTextTrackContainerElement::updateSizes):
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
(WebCore::MediaControlTextTrackContainerElement::textTrackRepresentationBoundsChanged):
(WebCore::MediaControlTextTrackContainerElement::updateTextTrackRepresentation): Deleted.
(WebCore::MediaControlTextTrackContainerElement::updateTextTrackRepresentationStyle): Deleted.
(WebCore::MediaControlTextTrackContainerElement::layoutIfNecessary): Deleted.
(WebCore::MediaControlTextTrackContainerElement::updateCueStyles): Deleted.
- html/shadow/MediaControlElements.h:
- html/shadow/MediaControls.cpp:
(WebCore::MediaControls::updateTextTrackRepresentationImageIfNeeded):
- html/shadow/MediaControls.h:
- page/Page.cpp:
(WebCore::Page::updateRendering):
- rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaControlTextTrackContainer::RenderMediaControlTextTrackContainer):
(WebCore::RenderMediaControlTextTrackContainer::layout):
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): Deleted.
(WebCore::RenderTextTrackContainerElement::layout): Deleted.
- rendering/RenderMediaControlElements.h:
- 2:47 PM Changeset in webkit [258433] by
-
- 1 copy in tags/Safari-609.2.1.2.1
Tag Safari-609.2.1.2.1.
- 2:39 PM Changeset in webkit [258432] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ Mac wk2 ] svg/custom/object-sizing-explicit-width.xhtml is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=209077
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 2:32 PM Changeset in webkit [258431] by
-
- 2 edits5 adds in trunk/LayoutTests
Add mixed content block test for imported scripts in worker global scope
https://bugs.webkit.org/show_bug.cgi?id=209075
<rdar://problem/27483005>
Reviewed by Brent Fulgham.
- http/tests/security/mixedContent/insecure-worker-global-scope-expected.txt: Added.
- http/tests/security/mixedContent/insecure-worker-global-scope.html: Added.
- http/tests/security/mixedContent/resources/worker-importing-insecure-script.js: Added.
- http/tests/security/mixedContent/resources/worker-importing-secure-script.js: Added.
- http/tests/security/mixedContent/resources/worker-sending-message.js: Added.
- platform/mac-wk1/TestExpectations:
Test for some reason fails on Mojave Debug WK1 but not on Mojave Release WK1 or other bots.
Therefore skipped.
- 2:25 PM Changeset in webkit [258430] by
-
- 1 copy in tags/Safari-610.1.7.3
Tag Safari-610.1.7.3.
- 1:56 PM Changeset in webkit [258429] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r257840): [ iOS ] fast/backgrounds/hidpi-bitmap-background-on-subpixel-position.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208601
Fixing test expectations.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 1:38 PM Changeset in webkit [258428] by
-
- 1 copy in tags/Safari-609.2.1
Tag Safari-609.2.1.
- 1:37 PM Changeset in webkit [258427] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Delete IC creation should check mayNeedToCheckCell/canCacheDeleteIC regardless of Structure::outOfLineCapacity
https://bugs.webkit.org/show_bug.cgi?id=209027
Reviewed by Saam Barati.
Delete IC code generation assumes that mayNeedToCheckCell (it is replaced with canCacheDeleteIC) is false
while we are looking into this status only if Structure::outOfLineCapacity meets a certain condition. We should avoid
create Delete IC when mayNeedToCheckCell/canCacheDeleteIC is true regardless of Structure::outOfLineCapacity
- bytecode/AccessCase.cpp:
(JSC::AccessCase::createDelete):
(JSC::AccessCase::generateImpl):
- runtime/Structure.h:
- runtime/StructureInlines.h:
(JSC::Structure::mayHaveIndexingHeader const):
(JSC::Structure::canCacheDeleteIC const):
- 1:31 PM Changeset in webkit [258426] by
-
- 2 edits in branches/safari-609.2.1.2-branch/Source/WebCore
Cherry-pick r257640. rdar://problem/60260332
updateCSSTransitionsForElementAndProperty should clone RenderStyles
https://bugs.webkit.org/show_bug.cgi?id=208356
rdar://59869560
Reviewed by Antti Koivisto.
Make ownership of the local variable clear by cloning the RenderStyles
used in updateCSSTransitionsForElementAndProperty rather than referencing
different versions.
- animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::updateCSSTransitionsForElementAndProperty):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:31 PM Changeset in webkit [258425] by
-
- 2 edits in branches/safari-609.2.1.2-branch/Source/WebCore
Cherry-pick r257746. rdar://problem/60260331
ScriptController::executeIfJavaScriptURL() uses wrong JSGlobalObject.
https://bugs.webkit.org/show_bug.cgi?id=208290
<rdar://problem/59839476>
Reviewed by Chris Dumez.
The call to executeScriptIgnoringException() may have changed the current global
object of the window. We should be using the original global object that produced
the result string.
Also added a missing exception check needed after a potential rope resolution.
- bindings/js/ScriptController.cpp: (WebCore::ScriptController::executeIfJavaScriptURL):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:22 PM Changeset in webkit [258424] by
-
- 14 edits2 deletes in trunk
Unreviewed, reverting r258391.
Breaks internal builds.
Reverted changeset:
"Apply rotation at source level if WebRTC sink ask so"
https://bugs.webkit.org/show_bug.cgi?id=205645
https://trac.webkit.org/changeset/258391
- 1:19 PM Changeset in webkit [258423] by
-
- 4 edits in trunk/LayoutTests
[Mac wk2 ] fast/dom/attr_dead_doc.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207668
<rdar://problem/59404606>
Reviewed by Geoffrey Garen.
The test was doing a navigation to about:blank and relying on a 100ms timer to update the src
attribute of the img element. We now remove the frame from the document instead since it
detaches the document synchronously. It gets rid of the 100ms timer and replaces it with a
0 timer which will reliably give the same output.
- fast/dom/attr_dead_doc-expected.txt:
- fast/dom/attr_dead_doc.html:
- platform/mac-wk2/TestExpectations:
- 1:07 PM Changeset in webkit [258422] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk1 Debug] inspector/injected-script/avoid-getter-invocation.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209073
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 12:43 PM Changeset in webkit [258421] by
-
- 32 edits1 copy1 add3 deletes in trunk
Report all third party loads on a per-page basis
https://bugs.webkit.org/show_bug.cgi?id=209032
<rdar://problem/60397323>
Reviewed by Chris Dumez.
Source/WebCore:
Test: http/tests/resourceLoadStatistics/loaded-registrable-domains-get-reported.html
Rename this function to more accurately reflect its purpose of sending
loaded registrable domains to the WebPage.
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
- loader/FrameLoaderClient.h:
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequestInternal):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
Source/WebKit:
Test: http/tests/resourceLoadStatistics/loaded-registrable-domains-get-reported.html
Removed IPC to the Network Process asking if a resource load is from
a prevalent domain. This now stores and sends all loaded registrable
domains. This patch is mostly updating naming to reflect this and
deleting the unnecessary code to communicate with the
ResourceLoadStatisticsStore.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::requestStorageAccessUnderOpener):
(WebKit::NetworkConnectionToWebProcess::isPrevalentSubresourceLoad): Deleted.
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _loadedThirdPartyDomainsFor:completionHandler:]):
(-[WKWebsiteDataStore _clearLoadedThirdPartyDomainsFor:]):
(-[WKWebsiteDataStore _getPrevalentDomainsFor:completionHandler:]): Deleted.
(-[WKWebsiteDataStore _clearPrevalentDomainsFor:]): Deleted.
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::didLoadFromRegistrableDomain):
(WebKit::WebFrameLoaderClient::addLoadedRegistrableDomain): Deleted.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
(WebKit::WebPage::didLoadFromRegistrableDomain):
Add a check that this is a third party by comparing the target domain
to the main frame domain.
(WebKit::WebPage::loadedThirdPartyDomains):
(WebKit::WebPage::clearLoadedThirdPartyDomains):
(WebKit::WebPage::addLoadedRegistrableDomain): Deleted.
(WebKit::WebPage::getPrevalentDomains): Deleted.
(WebKit::WebPage::clearPrevalentDomains): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Mostly naming updates to reflect the change in use for this SPI call.
It now returns all loaded third party domains, not just prevalent ones.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::getLoadedThirdPartyDomains):
(WTR::TestRunner::callDidReceiveLoadedThirdPartyDomainsCallback):
(WTR::TestRunner::getPrevalentDomains): Deleted.
(WTR::TestRunner::callDidReceivePrevalentDomainsCallback): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::getLoadedThirdPartyDomains):
(WTR::TestController::clearLoadedThirdPartyDomains):
(WTR::TestController::getPrevalentDomains): Deleted.
(WTR::TestController::clearPrevalentDomains): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveLoadedThirdPartyDomains):
(WTR::TestInvocation::didReceivePrevalentDomains): Deleted.
- WebKitTestRunner/TestInvocation.h:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::getLoadedThirdPartyDomains):
(WTR::TestController::clearLoadedThirdPartyDomains):
(WTR::TestController::getPrevalentDomains): Deleted.
(WTR::TestController::clearPrevalentDomains): Deleted.
LayoutTests:
Now that we report all loaded third party domains, we no longer need
ITP to test this call. We can eliminate the dual testing for
memory/database setup and any logic related to setting a resource
as prevalent.
- http/tests/resourceLoadStatistics/loaded-registrable-domains-get-reported-expected.txt: Copied from LayoutTests/http/tests/websocket/web-socket-loads-captured-in-per-page-domains-expected.txt.
- http/tests/resourceLoadStatistics/loaded-registrable-domains-get-reported.html: Added.
- http/tests/resourceLoadStatistics/prevalent-domains-per-page-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-domains-per-page-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-domains-per-page.html: Removed.
- http/tests/websocket/web-socket-loads-captured-in-per-page-domains-expected.txt:
- http/tests/websocket/web-socket-loads-captured-in-per-page-domains.html:
- platform/ios/TestExpectations:
Since this test no longer uses UIHelper.activateAt, it can be
unskipped in iOS
- 12:33 PM Changeset in webkit [258420] by
-
- 3 edits in trunk/Tools
[ews] run FindModifiedChangeLogs early in the build
https://bugs.webkit.org/show_bug.cgi?id=209060
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/factories.py:
- BuildSlaveSupport/ews-build/factories_unittest.py: Updated unit-test.
- 12:19 PM Changeset in webkit [258419] by
-
- 2 edits in trunk/JSTests
skip wasm/function-tests/grow-memory-cause-gc.js on memory limited devices
https://bugs.webkit.org/show_bug.cgi?id=209069
<rdar://problem/59954558>
Reviewed by Yusuke Suzuki.
- wasm/function-tests/grow-memory-cause-gc.js:
- 12:07 PM Changeset in webkit [258418] by
-
- 6 edits in trunk/Tools
[GTK] Add EWS testers to run GTK layout tests
https://bugs.webkit.org/show_bug.cgi?id=207648
Reviewed by Carlos Alberto Lopez Perez and Aakash Jain.
Queue 'GTK-Webkit2-EWS' was renamed to 'GTK-Build-EWS'.
A new queue, named 'GTK-WK2-Tests-EWS', was added for WK2
tests (layout tests).
- BuildSlaveSupport/ews-build/config.json: Added new queue for
WK2 tests.
- BuildSlaveSupport/ews-build/factories.py:
(GTKTestsFactory):
- BuildSlaveSupport/ews-build/factories_unittest.py:
(TestCommitQueueFactory.test_commit_queue_factory):
(TestGTKFactory): Added unit-test.
(TestGTKFactory.test_gtk_factory):
- BuildSlaveSupport/ews-build/loadConfig.py:
- BuildSlaveSupport/ews-build/loadConfig_unittest.py:
(TagsForBuilderTest.test_getTagsForBuilder):
- 11:57 AM Changeset in webkit [258417] by
-
- 2 edits in trunk/LayoutTests
[ Mac Debug ] http/tests/css/shared-stylesheet-mutation-preconstruct.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209072
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 11:55 AM Changeset in webkit [258416] by
-
- 18 edits in trunk/Source/WebCore
Remove AffectedByDrag style flag
https://bugs.webkit.org/show_bug.cgi?id=209054
Reviewed by Simon Fraser.
As a followup to r258321, remove the last remaining user action related AffectedBy flag.
This also cleans out a bunch of scetchy, risky code from render tree (style invalidation!).
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne const):
- dom/DataTransfer.cpp:
(WebCore::DataTransfer::createDragImage const):
- dom/Element.cpp:
(WebCore::Element::isUserActionElementDragged const):
(WebCore::Element::setBeingDragged):
Move dragged state for render tree to Element where it belongs.
(WebCore::Element::hasFlagsSetDuringStylingOfChildren const):
- dom/Element.h:
(WebCore::Element::isBeingDragged const):
(WebCore::Element::descendantsAffectedByPreviousSibling const):
(WebCore::Element::setDescendantsAffectedByPreviousSibling):
(WebCore::Element::childrenAffectedByDrag const): Deleted.
(WebCore::Element::setChildrenAffectedByDrag): Deleted.
- dom/Node.h:
- dom/UserActionElementSet.h:
(WebCore::UserActionElementSet::isBeingDragged):
(WebCore::UserActionElementSet::setBeingDragged):
Invalidate using PseudoClassChangeInvalidation that doesn't require any flags.
- platform/DragImage.cpp:
(WebCore::ScopedNodeDragEnabler::ScopedNodeDragEnabler):
(WebCore::ScopedNodeDragEnabler::~ScopedNodeDragEnabler):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateDragState): Deleted.
- rendering/RenderBlock.h:
- rendering/RenderInline.cpp:
(WebCore::RenderInline::updateDragState): Deleted.
- rendering/RenderInline.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::updateDragState): Deleted.
(WebCore::RenderObject::setIsDragging): Deleted.
- rendering/RenderObject.h:
(WebCore::RenderObject::RenderObjectRareData::RenderObjectRareData):
(WebCore::RenderObject::isDragging const): Deleted.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
(WebCore::RenderStyle::affectedByDrag const): Deleted.
(WebCore::RenderStyle::setAffectedByDrag): Deleted.
- style/StyleRelations.cpp:
(WebCore::Style::commitRelationsToRenderStyle):
(WebCore::Style::commitRelations):
- style/StyleRelations.h:
- 11:52 AM Changeset in webkit [258415] by
-
- 2 edits1 add in trunk/Tools
Add API endpoint in EWS django app to provide patch status in json format
https://bugs.webkit.org/show_bug.cgi?id=208940
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-app/ews/urls.py: Added url for new api endpoint.
- BuildSlaveSupport/ews-app/ews/views/status.py: Added.
- 11:36 AM Changeset in webkit [258414] by
-
- 2 edits in trunk/Tools
WebKit2UseRemoteLayerTreeDrawingArea should be reset to NO between layout tests
https://bugs.webkit.org/show_bug.cgi?id=209055
<rdar://problem/60272692>
Reviewed by Simon Fraser.
Now that WebKitTestRunner has a bundleID, its' user default values
persist between tests. This patch resets WebKit2UseRemoteLayerTreeDrawingArea
to NO before running tests. It will be set to YES in PlatformWebView
if specified by the test.
- WebKitTestRunner/mac/main.mm:
(setDefaultsToConsistentValuesForTesting):
- 11:24 AM Changeset in webkit [258413] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk1 ] http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209067
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 11:10 AM Changeset in webkit [258412] by
-
- 10 edits3 moves in trunk
[CMake] Eleminate mismatches between Find* module names and variables they set
https://bugs.webkit.org/show_bug.cgi?id=208948
Reviewed by Michael Catanzaro.
.:
- Source/cmake/FindLibseccomp.cmake:
- Source/cmake/FindWPEBackend_fdo.cmake: Renamed from Source/cmake/FindWPEBackend-fdo.cmake.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/ThirdParty/libwebrtc:
- CMakeLists.txt:
- cmake/FindAlsaLib.cmake:
- cmake/FindLibEvent.cmake:
- cmake/FindLibOpus.cmake: Renamed from Source/ThirdParty/libwebrtc/cmake/FindOpus.cmake.
- cmake/FindLibVpx.cmake: Renamed from Source/ThirdParty/libwebrtc/cmake/FindVpx.cmake.
Tools:
- wpe/backends/CMakeLists.txt:
- 10:56 AM Changeset in webkit [258411] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
[iOS] 9 imported/w3c/web-platform-tests/pointerevents/pointerevent tests are failing since import in r253630
https://bugs.webkit.org/show_bug.cgi?id=209064
<rdar://problem/60330378>
Reviewed by Simon Fraser.
In r253630 we imported a host of new and updated WPT tests and these included changes to testdriver.js that our testdriver-vendor.js
implementation didn't know to handle. Specifically, pauses are now added after each pointer action to add a 16ms delay.
It was a mistake to use a stationary touch for pauses, instead we shuld just increase the time offset with the value set in the pause
and avoid changing any other state, so no resetting the last known x and y values, or adding a new touch into the event stream that
will be passed to UIScriptController.
And since there is now a built-in pause between pointer actions, there is also no need to set a harcoded value for a default
timeoffset, this is now provided directly by the action input.
- web-platform-tests/resources/testdriver-vendor.js:
- 10:51 AM Changeset in webkit [258410] by
-
- 4 edits in trunk
Bound functions should pass correct NewTarget value
https://bugs.webkit.org/show_bug.cgi?id=209057
Reviewed by Keith Miller.
JSTests:
- test262/expectations.yaml: Mark 4 test cases as passing.
Source/JavaScriptCore:
This change implements steps 5-6 of bound function's Construct method [1],
fixing bound function subclasses and aligning JSC with V8 and SpiderMonkey.
[1]: https://tc39.es/ecma262/#sec-bound-function-exotic-objects-construct-argumentslist-newtarget
- runtime/JSBoundFunction.cpp:
(JSC::boundThisNoArgsFunctionConstruct):
(JSC::boundFunctionConstruct):
- 10:44 AM Changeset in webkit [258409] by
-
- 4 edits in branches/safari-610.1.7-branch
Cherry-pick r258399. rdar://problem/60422524
Crash in TextIterator::node via TextManipulationController::replace
https://bugs.webkit.org/show_bug.cgi?id=209048
Reviewed by Wenson Hsieh.
Source/WebCore:
The crash was caused by item.start being null in TextManipulationController::replace for a paragraph
consisting of just an image because TextManipulationController::observeParagraphs never may never set
startOfCurrentParagraph in such a case (content.isTextContent can be false for an image!).
Fixed the bug by setting startOfCurrentParagraph to a position before the current content's node
when inserting a token for a RenderReplaced if it's null.
Test: TextManipulation.CompleteTextManipulationShouldReplaceContentsAroundParagraphWithJustImage
- editing/TextManipulationController.cpp: (WebCore::TextManipulationController::observeParagraphs):
Tools:
Added a regression test.
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: (TextManipulation.CompleteTextManipulationShouldReplaceContentsAroundParagraphWithJustImage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:44 AM Changeset in webkit [258408] by
-
- 2 edits in branches/safari-610.1.7-branch/Source/WebKitLegacy/ios
Cherry-pick r258383. rdar://problem/60408777
rdar://problem/60359230 Mark locationManager:didChangeAuthorizationStatus: as deprecated.
- Misc/WebGeolocationCoreLocationProvider.mm: (-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:40 AM Changeset in webkit [258407] by
-
- 2 edits in trunk/Tools
[ews-app] reduce logging
https://bugs.webkit.org/show_bug.cgi?id=209062
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-app/ews/common/bugzilla.py:
(BugzillaBeautifulSoup.authenticate):
(BugzillaBeautifulSoup._load_query):
- 10:16 AM Changeset in webkit [258406] by
-
- 2 edits in trunk/LayoutTests
[iOS WK2] Some pointerevents tests time out
https://bugs.webkit.org/show_bug.cgi?id=209026
<rdar://problem/60338691>
Reviewed by Wenson Hsieh.
Pointerevents tests that used ui.* functions threw errors in the UI-side script because ui._run() bungled
the callbacks. Fix ui._run() to take two arguments, the command name and all arguments except the callback,
which it adds.
The tests are skipped in Open Source because most of them require touch events.
- pointerevents/utils.js:
(const.ui.new.UIController.prototype.swipe):
(const.ui.new.UIController.prototype.tap):
(const.ui.new.UIController.prototype.doubleTap):
(const.ui.new.UIController.prototype.doubleTapToZoom):
(const.ui.new.UIController.prototype.tapStylus):
(const.ui.new.UIController.prototype._runEvents):
(const.ui.new.UIController.prototype._run):
(const.ui.new.UIController):
(const.ui.new.UIController.prototype._run.): Deleted.
(const.ui.new.UIController.prototype._run.return.new.Promise): Deleted.
- 10:14 AM Changeset in webkit [258405] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] fast/frames/sandboxed-iframe-navigation-allowed.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206680
<rdar://problem/58840416>
Reviewed by Sam Weinig.
Make sure both iframes have finished loading before running the test. Previously, it was waiting for one of the
iframes to be loaded before doing the checks on both iframes. In some cases, the second iframe would not have
finished loading yet.
- fast/frames/sandboxed-iframe-navigation-allowed.html:
- 10:05 AM Changeset in webkit [258404] by
-
- 8 edits in branches/safari-609.2.1.2-branch/Source
Versioning.
- 9:50 AM Changeset in webkit [258403] by
-
- 4 edits in trunk/Source/WebKit
Remove unused SmartMagnificationController Magnify message
https://bugs.webkit.org/show_bug.cgi?id=209036
<rdar://problem/59678060>
Reviewed by Tim Horton.
Remove the unused Magnify message from the SmartMagnificationController, since this is dead code.
- UIProcess/ios/SmartMagnificationController.h:
- UIProcess/ios/SmartMagnificationController.messages.in:
- UIProcess/ios/SmartMagnificationController.mm:
(WebKit::SmartMagnificationController::magnify): Deleted.
- 9:35 AM Changeset in webkit [258402] by
-
- 2 edits in trunk/Source/WebCore
[WebAccessibilityObjectWrapper renderWidgetChildren] does not need to run on main thread.
https://bugs.webkit.org/show_bug.cgi?id=209053
<rdar://problem/60349440>
Reviewed by Chris Fleizach.
Since we are caching the platform widget in IsolatedMode (NSView),
there is no need to dispatch renderWidgetChildren to the main thread.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper renderWidgetChildren]):
- 9:22 AM Changeset in webkit [258401] by
-
- 2 edits in trunk/Source/WebKit
WebPageProxy::SetPromisedDataForImage should validate its
imageSizeandarchiveSizeparameters
<https://webkit.org/b/209029>
<rdar://problem/60181394>
Reviewed by Youenn Fablet.
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::setPromisedDataForImage):
- Validate
imageSizeandarchiveSizeusing MESSAGE_CHECK(). - Add static_cast<size_t>() to
imageSizeandarchiveSizeparameters to denote type change. - Add nullptr check for SharedMemory::map() result with
archiveHandle.
- 9:11 AM Changeset in webkit [258400] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] webgpu/whlsl/uint-bitwise.html is flaky crashing
https://bugs.webkit.org/show_bug.cgi?id=209056
Unreviewed test gardening
- platform/mac/TestExpectations:
- 8:20 AM Changeset in webkit [258399] by
-
- 4 edits in trunk
Crash in TextIterator::node via TextManipulationController::replace
https://bugs.webkit.org/show_bug.cgi?id=209048
Reviewed by Wenson Hsieh.
Source/WebCore:
The crash was caused by item.start being null in TextManipulationController::replace for a paragraph
consisting of just an image because TextManipulationController::observeParagraphs never may never set
startOfCurrentParagraph in such a case (content.isTextContent can be false for an image!).
Fixed the bug by setting startOfCurrentParagraph to a position before the current content's node
when inserting a token for a RenderReplaced if it's null.
Test: TextManipulation.CompleteTextManipulationShouldReplaceContentsAroundParagraphWithJustImage
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::observeParagraphs):
Tools:
Added a regression test.
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TextManipulation.CompleteTextManipulationShouldReplaceContentsAroundParagraphWithJustImage):
- 7:55 AM Changeset in webkit [258398] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=209047
Unreviewed gardening.
- platform/gtk/TestExpectations:
- 7:53 AM WebKitGTK/2.26.x edited by
- Marked 2.26.5 merges as done (diff)
- 7:51 AM Changeset in webkit [258397] by
-
- 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebCore
Merge r257292 - PS-2019-006: [GTK] WebKit - AXObjectCache - m_deferredFocusedNodeChange - UaF
https://bugs.webkit.org/show_bug.cgi?id=204342
Reviewed by Carlos Garcia Campos.
m_deferredFocusedNodeChange keeps pairs of a old node and a new one
to update a focused node later. When a node is removed in the document,
it is also removed from the pair vector. The problem is only comparing
the new node in each pair with a removed node decides the removal.
In the case where the removed node lives in m_deferredFocusedNodeChange
as an old node, a crash happens while we get a renderer of the removed node
to handle focused elements. To fix this, we find all entries of which old node
is matched to the removed node, and set their first value null.
No new tests since no functionality changed.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::remove):
- 7:51 AM Changeset in webkit [258396] by
-
- 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit
Merge r256703 - [Geoclue] Avoid usage of provider in callbacks after it has been destroyed
https://bugs.webkit.org/show_bug.cgi?id=207420
GeoclueGeolocationProvider was making non-cancelable g_dbus_proxy_call(s) with
bare |this| pointer.
Patch by Pavel Feldman <pavel.feldman@gmail.com> on 2020-02-15
Reviewed by Carlos Garcia Campos.
- UIProcess/geoclue/GeoclueGeolocationProvider.cpp:
(WebKit::GeoclueGeolocationProvider::start):
(WebKit::GeoclueGeolocationProvider::stop):
(WebKit::GeoclueGeolocationProvider::setupManager):
(WebKit::GeoclueGeolocationProvider::createClient):
(WebKit::GeoclueGeolocationProvider::startClient):
(WebKit::GeoclueGeolocationProvider::didFail):
- UIProcess/geoclue/GeoclueGeolocationProvider.h:
- 7:51 AM Changeset in webkit [258395] by
-
- 3 edits1 add in releases/WebKitGTK/webkit-2.26
Merge r258143 - Tail calls are broken on ARM_THUMB2 and MIPS
https://bugs.webkit.org/show_bug.cgi?id=197797
Reviewed by Yusuke Suzuki.
JSTests:
- stress/tail-call-with-spilled-registers.js: Added.
Source/JavaScriptCore:
prepareForTailCalloperation expects that header size + parameters
size is aligned with stack (alignment is 16-bytes for every architecture).
This means that headerSizeInBytes + argumentsIncludingThisInBytes needs
to be multiple of 16. This was not being preserved during getter IC code
for 32-bits. The code generated was taking in account only
headerSizeInRegisters (it is 4 on 32-bits) and argumentsIncludingThis
(that is always 1 for getters) and allocating 32-bytes when applying
operation(headerSize + argumentsIncludingThis) * 8 - sizeof(CallerFrameAndPC).
This results in a stack frame with size of 40 bytes (after we push
lrandsp). SinceprepareForTailCallexpects frames to be
16-bytes aligned, it will then calculate the top of such frame
considering it is 48 bytes, cloberring values of previous frame and
causing unexpected behavior. This patch is fixing how this IC code
calculates the stack frame usingroundArgumentCountToAlignFrame(numberOfParameters)
aligning with what we do on code without IC installed.
This was not a problem for getter and setter IC on 64-bits because
roundArgumentCountToAlignFrame(1) == 1androundArgumentCountToAlignFrame(2) == 3
while it isroundArgumentCountToAlignFrame(1) == 2and
roundArgumentCountToAlignFrame(2) == 2for MIPS and ARMv7.
- bytecode/AccessCase.cpp:
(JSC::AccessCase::generateImpl):
- 5:01 AM Changeset in webkit [258394] by
-
- 4 edits in releases/WebKitGTK/webkit-2.26/Source/WebCore
Merge r254680 - Do not detect the stopped animations in Nicosia::Animation to avoid flashback
https://bugs.webkit.org/show_bug.cgi?id=206280
Patch by Tomoki Imai <Tomoki Imai> on 2020-01-16
Reviewed by Carlos Garcia Campos.
This fixes the animation flashback issue found in https://webkit.org/blog-files/3d-transforms/morphing-cubes.html.
The flashback was caused by using the old layer transform matrix saved when the animation has been started.
The root cause is an inconsistency of animation state in Nicosia::Animation and CoordinatedGraphicsLayer.
For Nicosia::Animation, ThreadedCompositor increases MonitonicTime for animation every frame, and calls Nicosia::Animation::apply.
For CoordinatedGraphicsLayer, CSSAnimationController updates animations list and if the animation has been finished it updates CSS value.
There is a chance to use old layer state while the Nicosia::Animation stopped, but CoordinatedGraphicsLayer still obtains old CSS value and animations.
In this patch, all the Nicosia::Animation is considered to have "AnimationFillMode::Forwards" or "AnimationFillMode::Both",
which means they are active and use the last position when the animation is stopped.
Stopping and removing animations should be only done by CSSAnimationController and CoordinatedGraphicsScene
as they can remove the animation from the list and update the CSS value at the same time.
Mac implementation GraphicsLayerCA has a similar logic, it replaces AnimationFillMode with Forwards or Both.
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp?rev=254502#L3248
Tested manually with https://webkit.org/blog-files/3d-transforms/morphing-cubes.html
- platform/graphics/nicosia/NicosiaAnimation.cpp:
(Nicosia::Animation::apply): Return the last value for stopped animations to avoid flickering
(Nicosia::Animation::isActive const): Removed. It should always return true because
all the animations are considered as fillsForwards in Nicosia::Animation to avoid flashback.
(Nicosia::Animations::hasActiveAnimationsOfType const): Remove isActive check.
(Nicosia::Animations::getActiveAnimations() const): Removed. It returns whole animations list because all the animations are active.
- platform/graphics/nicosia/NicosiaAnimation.h:
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
- 3:37 AM Changeset in webkit [258393] by
-
- 3 edits in trunk/Source/WebKit
[SOUP] Notify web process about WebSocket handshake request and response
https://bugs.webkit.org/show_bug.cgi?id=208994
Reviewed by Youenn Fablet.
This makes WebSockets appear again in web inspector.
- NetworkProcess/soup/WebSocketTaskSoup.cpp:
(WebKit::WebSocketTask::WebSocketTask): Save the handshake message and notify the channel when the request is sent.
(WebKit::WebSocketTask::didConnect): Notify the channel that handshake response has been received.
(WebKit::WebSocketTask::didFail): Notify the channel that handshake response has been received if handshake
failed.
- NetworkProcess/soup/WebSocketTaskSoup.h:
- 3:31 AM Changeset in webkit [258392] by
-
- 2 edits in trunk/Source/WebCore
-Wredundant-move in CSSPropertyParserHelpers.cpp
https://bugs.webkit.org/show_bug.cgi?id=209019
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-13
Reviewed by Youenn Fablet.
Silence compiler warning by removing improper WTFMove().
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedRadialGradient):
- 3:13 AM Changeset in webkit [258391] by
-
- 14 edits2 adds in trunk
Apply rotation at source level if WebRTC sink ask so
https://bugs.webkit.org/show_bug.cgi?id=205645
Reviewed by Eric Carlson.
Source/WebCore:
Add a virtual method to RealtimeMediaSource to pass the information that the sink prefers the frames to be rotated before sending them.
Source/WebKit:
Implement RealtimeMediaSource setShouldApplyRotation by sending IPC to capture process.
In capture process, if rotation should be applied, use an ImageRotationSessionVT session to apply it before sending the video frame.
This allows WebProcess to no longer need an ImageRotationSessionVT for WebRTC.
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::setShouldApplyRotation):
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::rotatePixelBuffer):
(WebKit::UserMediaCaptureManagerProxy::setShouldApplyRotation):
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::Source::setShouldApplyRotation):
LayoutTests:
- webrtc/video-rotation-no-cvo-expected.txt: Added.
- webrtc/video-rotation-no-cvo.html: Added.
- 3:10 AM Changeset in webkit [258390] by
-
- 13 edits in trunk/Source
Remove use of PlatformMediaSession types in AudioSession
https://bugs.webkit.org/show_bug.cgi?id=208995
Reviewed by Eric Carlson.
Source/WebCore:
Remove type for beginInterruption since AudioSession always trigger system interruptions.
Have a dedicated type for endInterruption.
No change of behavior.
- platform/audio/AudioSession.cpp:
(WebCore::AudioSession::beginInterruption):
(WebCore::AudioSession::endInterruption):
- platform/audio/AudioSession.h:
- platform/audio/ios/AudioSessionIOS.mm:
(-[WebInterruptionObserverHelper interruption:]):
(WebCore::AudioSession::beginInterruption):
(WebCore::AudioSession::endInterruption):
- platform/audio/ios/MediaSessionManagerIOS.h:
Source/WebKit:
Update code according WebCore API changes.
Make use of AudioSession current code path to make RemoteAudioSession notify its observers.
- GPUProcess/media/RemoteAudioSessionProxy.cpp:
(WebKit::RemoteAudioSessionProxy::setCategory):
(WebKit::RemoteAudioSessionProxy::beginInterruption):
(WebKit::RemoteAudioSessionProxy::endInterruption):
- GPUProcess/media/RemoteAudioSessionProxy.h:
- GPUProcess/media/RemoteAudioSessionProxyManager.cpp:
(WebKit::RemoteAudioSessionProxyManager::tryToSetActiveForProcess):
(WebKit::RemoteAudioSessionProxyManager::beginAudioSessionInterruption):
(WebKit::RemoteAudioSessionProxyManager::endAudioSessionInterruption):
- GPUProcess/media/RemoteAudioSessionProxyManager.h:
- WebProcess/GPU/media/RemoteAudioSession.cpp:
(WebKit::RemoteAudioSession::beginInterruption): Deleted.
(WebKit::RemoteAudioSession::endInterruption): Deleted.
- WebProcess/GPU/media/RemoteAudioSession.h:
- WebProcess/GPU/media/RemoteAudioSession.messages.in:
- 2:46 AM Changeset in webkit [258389] by
-
- 2 edits in trunk/Source/WebKit
Release build fix after r258384.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::threadEntry):
(WebKit::PDFPlugin::ByteRangeRequest::maybeComplete):
- 1:33 AM Changeset in webkit [258388] by
-
- 11 edits in trunk/Source/WebCore
Remove unused affectedBy style flags
https://bugs.webkit.org/show_bug.cgi?id=209009
Reviewed by Antoine Quint.
These flags are unused after r258321. Remove the flags and the code that generates them.
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne const):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addStyleRelationFunction):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasFocusWithin):
- dom/Element.cpp:
(WebCore::Element::hasFlagsSetDuringStylingOfChildren const):
(WebCore::Element::resetStyleRelations):
- dom/Element.h:
(WebCore::Element::styleAffectedByEmpty const):
(WebCore::Element::descendantsAffectedByPreviousSibling const):
(WebCore::Element::setStyleAffectedByEmpty):
(WebCore::Element::setDescendantsAffectedByPreviousSibling):
(WebCore::Element::styleAffectedByActive const): Deleted.
(WebCore::Element::styleAffectedByFocusWithin const): Deleted.
(WebCore::Element::childrenAffectedByHover const): Deleted.
(WebCore::Element::setStyleAffectedByFocusWithin): Deleted.
(WebCore::Element::setChildrenAffectedByHover): Deleted.
(WebCore::Element::setStyleAffectedByActive): Deleted.
- dom/Node.h:
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::affectedByDrag const):
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
(WebCore::RenderStyle::affectedByHover const): Deleted.
(WebCore::RenderStyle::affectedByActive const): Deleted.
(WebCore::RenderStyle::setAffectedByHover): Deleted.
(WebCore::RenderStyle::setAffectedByActive): Deleted.
- style/StyleRelations.cpp:
(WebCore::Style::commitRelationsToRenderStyle):
(WebCore::Style::commitRelations):
- style/StyleRelations.h:
- style/StyleSharingResolver.cpp:
(WebCore::Style::SharingResolver::canShareStyleWithElement const):
Compare the hasFocusWithin bit instead.
- 12:57 AM Changeset in webkit [258387] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, change ASSERT to ASSERT_WITH_SECURITY_IMPLICATION since it is now enabled under ENABLE(SECURITY_ASSERTIONS)
https://bugs.webkit.org/show_bug.cgi?id=209041
<rdar://problem/59705631>
- runtime/JSCast.h:
(JSC::jsCast):
- 12:53 AM Changeset in webkit [258386] by
-
- 9 edits in trunk/Source
Report crashed cell in jsCast in debug builds
https://bugs.webkit.org/show_bug.cgi?id=209041
<rdar://problem/59705631>
Reviewed by Mark Lam.
Source/JavaScriptCore:
To collect more information when crashing with jsCast, we attempt to use reportZappedCellAndCrash.
If it succeeds, we can get more information in registers. We enable this only for ASSERT_ENABLED
build. For non ASSERT_ENABLED, we keep the original assertion since this assertion can be enabled
via ENABLE(SECURITY_ASSERTIONS).
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::appendToMarkStack):
(JSC::SlotVisitor::visitChildren):
(JSC::SlotVisitor::reportZappedCellAndCrash): Deleted.
- heap/SlotVisitor.h:
- runtime/JSCast.h:
(JSC::jsCast):
- runtime/JSCell.cpp:
(JSC::reportZappedCellAndCrash):
- runtime/JSCell.h:
Source/WebCore:
We should take JSLock when touching JSC::VM.
- page/MemoryRelease.cpp:
(WebCore::logMemoryStatisticsAtTimeOfDeath):
- page/PerformanceLogging.cpp:
(WebCore::PerformanceLogging::memoryUsageStatistics):
- 12:24 AM Changeset in webkit [258385] by
-
- 2 edits in trunk/Tools
Pull in JS tests from "Internal" when there are "Internal" tests in an adjacent directory
https://bugs.webkit.org/show_bug.cgi?id=209038
Reviewed by Keith Miller.
This allows us to automatically pull in some tests that are in non open sourced Apple
checkouts.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests):