Timeline
Apr 4, 2020:
- 11:17 PM Changeset in webkit [259545] by
-
- 2 edits in trunk/Source/JavaScriptCore
copy jsc CLI into JavaScriptCore.framework earlier
https://bugs.webkit.org/show_bug.cgi?id=210018
Reviewed by Mark Lam.
Some of our test scripts only copy the JavaScriptCore.framework
into the test directory and try to run jsc from there. We should
copy the jsc CLI ASAP so we don't need to build all the other test
binaries unless we actually need them.
- JavaScriptCore.xcodeproj/project.pbxproj:
- 10:09 PM Changeset in webkit [259544] by
-
- 3 edits in trunk/Source/WebCore
Remove LockHistory parameter from loadWithNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=210007
Patch by Rob Buis <rbuis@igalia.com> on 2020-04-04
Reviewed by Darin Adler.
Remove LockHistory parameter from loadWithNavigationAction since NavigationAction
has a member for this. Where needed explicitly set the LockHistory on the actions.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::loadDifferentDocumentItem):
- loader/FrameLoader.h:
- 9:16 PM Changeset in webkit [259543] by
-
- 2 edits in trunk/Source/WebCore
Build fix v2: HTMLFormElement should use WeakPtr to keep track of its FormNamedItem
https://bugs.webkit.org/show_bug.cgi?id=209925
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::elementFromPastNamesMap const):
(WebCore::HTMLFormElement::addToPastNamesMap):
- 8:44 PM Changeset in webkit [259542] by
-
- 3 edits in trunk/LayoutTests
[GTK] Update test baseline after r259438 and garden crashes
Unreviewed test gardening.
- platform/gtk/TestExpectations:
- platform/gtk/accessibility/menu-list-sends-change-notification-expected.txt:
- 5:42 PM Changeset in webkit [259541] by
-
- 7 edits in trunk
Add a fourth round of logging to help diagnose <webkit.org/b/209685>
https://bugs.webkit.org/show_bug.cgi?id=210011
Reviewed by Darin Adler.
Source/WebCore:
Augment logging in WebItemProviderPasteboard to additionally dump a backtrace when registering item providers
when initiating a drag on iOS. Logging thus far suggests that this is due to an IPC dispatch race when sending
the following messages to the UI process:WebPasteboardProxy::writeCustomDataand
WebPasteboardProxy::writeStringToPasteboard. WhilewriteCustomDatais dispatched synchronously,
writeStringToPasteboardis dispatched asynchronously; this means that it is possible for the call to
writeCustomDatato be dispatched beforewriteStringToPasteboardeven if the web process sends the
writeCustomDatamessage later, due to the UI-process-side mechanism for immediately dispatching incoming sync
IPC if it is currently processing sync IPC itself.
A backtrace here should help to confirm this theory.
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderPasteboard stageRegistrationLists:]):
Source/WebKit:
Remove all logging previously added to WKContentView and DragDropInteractionState.
- UIProcess/ios/DragDropInteractionState.mm:
(WebKit::DragDropInteractionState::stageDragItem):
(WebKit::DragDropInteractionState::clearStagedDragSource):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didHandleDragStartRequest:]):
Tools:
Remove all logging previously added to DragAndDropSimulator.
- TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
- 5:03 PM Changeset in webkit [259540] by
-
- 20 edits in trunk
[iOS] Simplify ProcessAssertion class in preparation for switch to RunningBoard
https://bugs.webkit.org/show_bug.cgi?id=209984
<rdar://problem/61273941>
Reviewed by Darin Adler.
Source/WebKit:
Simplify ProcessAssertion class in preparation for switch to RunningBoard. There
is a slight mismatch between the way BKS and RunningBoard process assertion API.
This refactoring makes it so that we can use the same ProcessAssertion class in
WebKit to work with either BKS or RunningBoard. Support for RunningBoard will
come later.
In particular, the following changes were made:
- Replace AssertionState & AssertionReason enums with a single ProcessAssertionType one since RunningBoard does not have 2 separate concepts.
- Drop ProcessAssertion::setState() since it is not possible to change the flags on an existing RunningBoard assertion. Instead, we are expected to create a brand new process assertion of the expected type.
- NetworkProcess/Downloads/DownloadMap.cpp:
(WebKit::DownloadMap::add):
- Platform/IPC/cocoa/ConnectionCocoa.mm:
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _setAssertionTypeForTesting:]):
(-[WKWebView _setAssertionStateForTesting:]): Deleted.
- UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::createDownloadProxy):
- UIProcess/GPU/GPUProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::sendProcessDidResume):
(WebKit::NetworkProcessProxy::takeUploadAssertion):
(WebKit::NetworkProcessProxy::didSetAssertionState): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/ProcessAssertion.cpp:
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::setState): Deleted.
- UIProcess/ProcessAssertion.h:
(WebKit::ProcessAssertion::type const):
(WebKit::ProcessAssertion::state const): Deleted.
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::expectedAssertionType):
(WebKit::ProcessThrottler::updateAssertionTypeNow):
(WebKit::ProcessThrottler::setAssertionType):
(WebKit::ProcessThrottler::updateAssertionIfNeeded):
(WebKit::ProcessThrottler::didConnectToProcess):
(WebKit::ProcessThrottler::prepareToSuspendTimeoutTimerFired):
(WebKit::ProcessThrottler::processReadyToSuspend):
(WebKit::ProcessThrottler::sendPrepareToSuspendIPC):
(WebKit::ProcessThrottler::expectedAssertionState): Deleted.
(WebKit::ProcessThrottler::updateAssertionStateNow): Deleted.
(WebKit::ProcessThrottler::setAssertionState): Deleted.
- UIProcess/ProcessThrottler.h:
- UIProcess/ProcessThrottlerClient.h:
(WebKit::ProcessThrottlerClient::didSetAssertionType):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::setWebProcessHasUploads):
(WebKit::WebProcessPool::setWebProcessIsPlayingAudibleMedia):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didSetAssertionType):
(WebKit::WebProcessProxy::didSetAssertionState): Deleted.
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::setAssertionTypeForTesting):
(WebKit::WebProcessProxy::setAssertionStateForTesting): Deleted.
- UIProcess/ios/ProcessAssertionIOS.mm:
(WebKit::flagsForAssertionType):
(WebKit::toBKSProcessAssertionReason):
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAndUIAssertion::updateRunInBackgroundCount):
(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):
(WebKit::flagsForState): Deleted.
(WebKit::reasonForState): Deleted.
(WebKit::ProcessAssertion::setState): Deleted.
(WebKit::ProcessAndUIAssertion::setState): Deleted.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- 4:44 PM Changeset in webkit [259539] by
-
- 4 edits in trunk/Source/WebKit
[GPUP] Remove unnecessary RemoteCDMInstanceSessionIdentifier argument from RemoteCDMFactory::addSession()
<https://webkit.org/b/210006>
Reviewed by Darin Adler.
- WebProcess/GPU/media/RemoteCDMFactory.cpp:
(WebKit::RemoteCDMFactory::addSession):
- Remove argument. Use
sessionparameter to retrieve the ID. - WebProcess/GPU/media/RemoteCDMFactory.h:
(WebKit::RemoteCDMFactory::addSession):
- Remove argument.
- WebProcess/GPU/media/RemoteCDMInstance.cpp:
(WebKit::RemoteCDMInstance::createSession):
- Remove argument.
- 3:39 PM Changeset in webkit [259538] by
-
- 2 edits in trunk/Source/WebCore
Additional sanity checks in compareAnimationsByCompositeOrder()
https://bugs.webkit.org/show_bug.cgi?id=209996
Reviewed by Geoffrey Garen.
compareAnimationsByCompositeOrder() is used by std::sort() which requires strict weak ordering.
This adds additional checks to ensure strict weak ordering is maintained, first by ensuring
the transitionProperty string is different before returning that comparison, then by only using
if the animation is a CSSTransition or CSSAnimation if the left hand and right hand sides differ.
This should leave all remaining cases to sort by the global animation list.
No new tests; this should be covered by existing tests and should not change functionality
otherwise.
- animation/WebAnimationUtilities.cpp:
(WebCore::compareAnimationsByCompositeOrder):
- 2:42 PM Changeset in webkit [259537] by
-
- 3 edits in trunk/Source/WTF
[Clang 10] Fix -Wimplicit-int-float-conversion compilation warnings in WTF
https://bugs.webkit.org/show_bug.cgi?id=209955
Reviewed by Darin Adler.
Clang 10 reports a compilation warning for int to float
conversions losing the precision. The warning is often reported
for code converting a floating point value to an integer value.
For example:
Optional<int> positive_float_to_int(float f) {
if (f > INT_MAX)
return nullopt;
return static_cast<int>(f);
}
INT_MAX is implicitly converted float, but float can't keep the
precision of such large value. And, C++ spec doesn't specify
whether it would be rounded up or down. Above code should be
rewritten to:
Optional<int> positive_float_to_int(float f) {
if (f >= pow(2, 31))
return nullopt;
return static_cast<int>(f);
}
Instead of using pow, this change added a template variable
maxPlusOne<T>.
- wtf/MathExtras.h:
(powerOfTwo): Added.
(doubleToInteger): Added.
(maxPlusOne): Added.
- wtf/MediaTime.cpp:
(WTF::MediaTime::createWithFloat):
(WTF::MediaTime::createWithDouble):
- 12:36 PM Changeset in webkit [259536] by
-
- 10 edits in trunk
'\u' should throw an early SyntaxError exception, but instead evaluates to 'u'
https://bugs.webkit.org/show_bug.cgi?id=198790
Reviewed by Yusuke Suzuki.
JSTests:
- mozilla/ecma/Array/15.4.5.1-1.js:
- mozilla/ecma/LexicalConventions/7.7.4.js:
- test262/expectations.yaml: Mark 4 test cases as passing.
Source/JavaScriptCore:
This change removes special-case for '\u', invoking parseUnicodeEscape() right away,
aligning string literals with ES6 template literals. parseComplexEscape() method
signature is greatly simplified, JSC is aligned with V8 and SpiderMonkey.
Grammar: https://tc39.es/ecma262/#prod-UnicodeEscapeSequence
(Hex4Digits or '{' is required, otherwise parsing fails)
- parser/Lexer.cpp:
(JSC::Lexer<T>::parseComplexEscape):
(JSC::Lexer<T>::parseStringSlowCase):
(JSC::Lexer<T>::parseTemplateLiteral):
- parser/Lexer.h:
LayoutTests:
- js/script-tests/unicode-escape-sequences.js:
- js/unicode-escape-sequences-expected.txt:
- 11:56 AM Changeset in webkit [259535] by
-
- 2 edits in trunk/JSTests
Unreviewed, skip stress/typed-array-subarray-can-throw-oom-error.js on memory-limited archs, and mark it slow
https://bugs.webkit.org/show_bug.cgi?id=209974
- stress/typed-array-subarray-can-throw-oom-error.js:
- 11:52 AM Changeset in webkit [259534] by
-
- 7 edits in trunk
Add even more logging to try and diagnose <webkit.org/b/209685>
https://bugs.webkit.org/show_bug.cgi?id=210008
Reviewed by Tim Horton.
Source/WebCore:
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderPasteboard stageRegistrationLists:]):
Source/WebKit:
Revert all (except one) of the logging statements added in r259518, and add several new ones. This last logging
pass demonstrated that DragController had failed to start a drag, since -[WKContentView _didHandleDragStartRequest:]
receives word that the drag has started, yet there are no staged drag items.
- UIProcess/ios/DragDropInteractionState.mm:
(WebKit::DragDropInteractionState::stageDragItem):
(WebKit::DragDropInteractionState::clearStagedDragSource):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didHandleAdditionalDragItemsRequest:]):
(-[WKContentView cleanUpDragSourceSessionState]):
(-[WKContentView _didPerformDragOperation:]):
(-[WKContentView _prepareToDragPromisedAttachment:]):
(-[WKContentView _dragInteraction:prepareForSession:completion:]):
(-[WKContentView dragInteraction:itemsForBeginningSession:]):
(-[WKContentView dragInteraction:willAnimateLiftWithAnimator:session:]):
(-[WKContentView dragInteraction:sessionWillBegin:]):
(-[WKContentView dragInteraction:session:didEndWithOperation:]):
(-[WKContentView dragInteraction:item:willAnimateCancelWithAnimator:]):
(-[WKContentView dropInteraction:canHandleSession:]):
(-[WKContentView dropInteraction:sessionDidEnter:]):
(-[WKContentView dropInteraction:sessionDidExit:]):
(-[WKContentView dropInteraction:performDrop:]):
(-[WKContentView dropInteraction:sessionDidEnd:]):
Tools:
Replace old logging with new logging (in different places).
- TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]):
(-[DragAndDropSimulator _advanceProgress]):
(-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
Rule out the possibility that the WebKit client (in this case, the drag and drop simulator) is overriding the
list of drag items by logging the given NSItemProvider that will be used to start the drag.
- 11:38 AM Changeset in webkit [259533] by
-
- 2 edits in trunk/Source/WebCore
Ahom text is busted
https://bugs.webkit.org/show_bug.cgi?id=209898
<rdar://problem/60571257>
Reviewed by Tim Horton.
https://en.wikipedia.org/wiki/Ahom_language
The Ahom language, U+11700 - U+1173F, requires the complex text codepath.
This patch also makes some languages adjacent in codepoint-space (Dogra,
Dives Akuru, Nandinagari, Zanabazar Square, Soyombo, Warang Citi, and
Pau Cin Hau) use the complex path too.
At some point, we really need to make the fast text codepath opt-in instead
of opt-out. This patch is a simple band-aid fix until we can do that.
No new tests because I can't find an appropriately licenced font.
There is Noto Serif Ahom, but that's licenced under SIL OFL, and I'm
not sure if that's an acceptable license to be committed to WebKit.
https://github.com/googlefonts/noto-fonts/tree/master/hinted/NotoSerifAhom
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::characterRangeCodePath):
- 11:16 AM Changeset in webkit [259532] by
-
- 20 edits1 copy8 deletes in trunk
Implement the css-color-4 behavior for inheritance of currentColor
https://bugs.webkit.org/show_bug.cgi?id=193171
<rdar://problem/47287516>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-text-decor/parsing/text-decoration-color-computed-expected.txt:
- web-platform-tests/css/css-transitions/currentcolor-animation-001-expected.txt:
- web-platform-tests/svg/pservers/scripted/stop-color-inheritance-currentcolor-expected.txt:
Source/WebCore:
In CSS3/4 'currentcolor' inherits as 'currentcolor' instead of as a resolved color value.
Value 'currentcolor' is represented in RenderStyle as invalid Color object. This has been true
even before the explicit property value for it was added. Fallback to 'color' has always been
the default behavior of most color properties.
As a result the correct behavior falls pretty easily from WebKit code. It essentially amounts to allowing
color properties to inherit normally even when they are invalid/currentcolor.
In future we might want to wrap RenderStyle color values into a type that makes 'currentcolor' more explicit.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::gradientWithStylesResolved):
- css/CSSProperties.json:
- Remove 'no-default-color' which triggered to old inheritance behavior.
- Rename initial value invalidColor to currentColor for clarity.
- css/makeprop.pl:
Code for 'no-default-color' generation is not needed anymore.
(generateInheritValueSetter):
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::colorIncludingFallback const):
Resolve 'background-color' like the rest so setting it to 'currentcolor' works correctly.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::currentColor):
(WebCore::RenderStyle::invalidColor): Deleted.
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyTextOrBoxShadowValue):
- style/StyleBuilderState.cpp:
(WebCore::Style::BuilderState::createFilterOperations):
(WebCore::Style::BuilderState::colorFromPrimitiveValue const):
Don't resolve 'currentcolor', instead return it as a value.
(WebCore::Style::BuilderState::colorFromPrimitiveValueWithResolvedCurrentColor const):
Helper for a few cases where we still resolve current color during style building time. It is
used for filters and generated images.
- style/StyleBuilderState.h:
- svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::stopColorIncludingOpacity const):
Resolve 'currentcolor' during use time for svg color stops.
LayoutTests:
- TestExpectations:
- fast/borders/border-color-inherit-expected.html: Copied from LayoutTests/fast/borders/border-color-inherit.html.
- fast/borders/border-color-inherit.html:
Fix for the new behavior and make it a reftest.
- fast/css/webkit-text-fill-color-inherit.html:
- platform/gtk/fast/borders/border-color-inherit-expected.png: Removed.
- platform/gtk/fast/borders/border-color-inherit-expected.txt: Removed.
- platform/ios/fast/borders/border-color-inherit-expected.txt: Removed.
- platform/mac/fast/borders/border-color-inherit-expected.png: Removed.
- platform/mac/fast/borders/border-color-inherit-expected.txt: Removed.
- platform/win/fast/borders/border-color-inherit-expected.txt: Removed.
- platform/wincairo/fast/borders/border-color-inherit-expected.txt: Removed.
- platform/wpe/fast/borders/border-color-inherit-expected.txt: Removed.
- 10:06 AM Changeset in webkit [259531] by
-
- 10 edits2 adds in trunk
REGRESSION (r259095): ASSERTION FAILED: m_videoFullscreenMode != VideoFullscreenModeNone seen with TestWebKitAPI.WebKitLegacy.AudioSessionCategoryIOS
https://bugs.webkit.org/show_bug.cgi?id=209680
Reviewed by Jer Noble.
Source/WebCore:
API test: WebKitLegacy.PreemptVideoFullscreen
Call fullscreenModeChanged(VideoFullscreenModeNone) right before calling the
functions of ChromeClient to make sure the state (m_videoFullscreenMode)
has the expected value when some callbacks come back to the video element.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::dispatchEvent):
(WebCore::HTMLMediaElement::exitFullscreen):
Add null pointer checkings to fix two crashes found in stress tests.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::requestVideoContentLayer):
(VideoFullscreenControllerContext::returnVideoContentLayer):
Source/WebKitLegacy/mac:
With this patch, the WebKit-Legacy can support multiple video elements request
to enter video fullscreen almost at the same time, and only the last one will succeed.
Also, this patch fixes webkit.org/b/209610 for WebKit-Legacy.
- WebView/WebView.mm:
- WebView/WebViewData.h:
Tools:
Add an API test for the video fullscreen support of WebKitLegacy on iOS.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitLegacy/ios/PreemptVideoFullscreen.mm: Added.
(-[VideoFullscreenStressUIWebViewDelegate webViewDidFinishLoad:]):
(-[VideoFullscreenStressUIWebViewDelegate uiWebView:didCommitLoadForFrame:]):
(-[VideoFullscreenStressUIWebViewDelegate handleEvent:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitLegacy/ios/two-videos.html: Added.
LayoutTests:
Remove the crashing expectation for media/media-fullscreen-return-to-inline.html
- platform/mac/TestExpectations:
- 9:14 AM Changeset in webkit [259530] by
-
- 2 edits in trunk/JSTests
Gardening: skip test for ARMv7 and MIPS to green the bots until the failure can be investigated.
https://bugs.webkit.org/show_bug.cgi?id=210003
Not reviewed.
- stress/typed-array-subarray-can-throw-oom-error.js:
Apr 3, 2020:
- 11:13 PM Changeset in webkit [259529] by
-
- 16 edits4 moves139 adds8 deletes in trunk/JSTests
Update test262 to commit 62b8fce38971
https://bugs.webkit.org/show_bug.cgi?id=209979
Reviewed by Ross Kirsling.
- .gitattributes: Added.
- test262/config.yaml: Skip "logical-assignment-operators" and "Promise.any" features.
- test262/expectations.yaml:
- test262/harness/*: Updated.
- test262/latest-changes-summary.txt:
- test262/test/*: Updated.
- test262/test262-Revision.txt:
- 10:22 PM Changeset in webkit [259528] by
-
- 2 edits in trunk/Source/WebKit
WebPlatformStrategies::{readBufferFromPasteboard,bufferForType} should validate their
sizeparameter
<https://webkit.org/b/209997>
<rdar://problem/60890565>
Reviewed by Wenson Hsieh.
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::bufferForType):
(WebKit::WebPlatformStrategies::readBufferFromPasteboard):
- Validate the
sizeparameter.
- 10:06 PM Changeset in webkit [259527] by
-
- 2 edits in trunk/Source/WebCore
Build fix: HTMLFormElement should use WeakPtr to keep track of its FormNamedItem
https://bugs.webkit.org/show_bug.cgi?id=209925
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::elementFromPastNamesMap const):
- Apply macros consistently. Regressed in r259513.
- 7:42 PM Changeset in webkit [259526] by
-
- 3 edits in trunk/Source/WebKit
The IPC message “registerAttachmentsFromSerializedData" should be capitalized
https://bugs.webkit.org/show_bug.cgi?id=209995
<rdar://problem/61283172>
Reviewed by Tim Horton.
Tweak the name of this IPC message so that it begins with a capital letter. No change in behavior.
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::registerAttachments):
- 6:04 PM Changeset in webkit [259525] by
-
- 3 edits in trunk/Source/WebCore
Protect contentFrame in SubframeLoader::loadOrRedirectSubframe with RefPtr.
https://bugs.webkit.org/show_bug.cgi?id=127096
<rdar://problem/61221941>
Reviewed by Alex Christensen.
ContentFrame is used throughout loadOrRedirectSubframe so it needs to be protected with RefPtr.
And if loader changes frame in SubframeLoader::loadSubframe, return nullptr to notify the caller.
No new tests, covered by existing test.
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadOrRedirectSubframe):
(WebCore::SubframeLoader::loadSubframe):
- loader/SubframeLoader.h:
- 6:01 PM Changeset in webkit [259524] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Sources: disclosure arrows should be shown if a folder is added to the navigation sidebar
https://bugs.webkit.org/show_bug.cgi?id=209937
Reviewed by Timothy Hatcher.
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel.prototype.treeElementForRepresentedObject):
(WI.SourcesNavigationSidebarPanel.prototype._addStyleSheet):
(WI.SourcesNavigationSidebarPanel.prototype._addScript):
- 5:44 PM Changeset in webkit [259523] by
-
- 47 edits in trunk
Add SPI to make WKUserScripts wait for a notification
https://bugs.webkit.org/show_bug.cgi?id=209845
<rdar://problem/60342299>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-04-03
Reviewed by Chris Dumez.
Source/WebCore:
There's also SPI on WKWebView to provide this notification, and on WKWebViewConfiguration to start out with this notification.
- dom/ExtensionStyleSheets.cpp:
(WebCore::ExtensionStyleSheets::updateInjectedStyleSheetCache const):
- html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure):
- html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):
- html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
- html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedParsing):
- page/Frame.cpp:
(WebCore::Frame::injectUserScripts):
(WebCore::Frame::injectUserScriptImmediately):
- page/Page.cpp:
(WebCore::m_deviceOrientationUpdateProvider):
(WebCore::Page::notifyToInjectUserScripts):
(WebCore::Page::addUserScriptAwaitingNotification):
(WebCore::Page::injectUserStyleSheet):
(WebCore::Page::removeInjectedUserStyleSheet):
- page/Page.h:
(WebCore::Page::hasBeenNotifiedToInjectUserScripts const):
- page/PageConfiguration.h:
- page/UserContentTypes.h:
(): Deleted.
- page/UserScript.h:
(WebCore::UserScript::UserScript):
(WebCore::UserScript::waitForNotificationBeforeInjecting const):
(WebCore::UserScript::encode const):
(WebCore::UserScript::decode):
- page/UserScriptTypes.h:
(): Deleted.
- page/UserStyleSheet.h:
(WebCore::UserStyleSheet::UserStyleSheet):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):
Source/WebKit:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toUserScriptInjectionTime):
(WebKit::toWKUserScriptInjectionTime):
(WebKit::toUserContentInjectedFrames):
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/WebUserContentControllerDataTypes.cpp:
(WebKit::WebUserScriptData::decode):
- UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::userScriptsShouldWaitUntilNotification const):
(API::PageConfiguration::setUserScriptsShouldWaitUntilNotification):
- UIProcess/API/APIUserScript.h:
- UIProcess/API/C/WKPageGroup.cpp:
(WKPageGroupAddUserScript):
- UIProcess/API/C/WKUserScriptRef.cpp:
(WKUserScriptCreateWithSource):
(WKUserScriptGetMainFrameOnly):
- UIProcess/API/Cocoa/WKUserScript.mm:
(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
(-[WKUserScript isForMainFrameOnly]):
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]):
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:userContentWorld:]):
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:contentWorld:]):
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:contentWorld:]):
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:contentWorld:waitForNotification:]):
- UIProcess/API/Cocoa/WKUserScriptInternal.h:
(API::toWebCoreUserScriptInjectionTime):
(API::toWKUserScriptInjectionTime):
- UIProcess/API/Cocoa/WKUserScriptPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _notifyUserScripts]):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _userScriptsShouldWaitUntilNotification]):
(-[WKWebViewConfiguration _setUserScriptsShouldWaitUntilNotification:]):
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/_WKUserStyleSheet.mm:
(-[_WKUserStyleSheet initWithSource:forMainFrameOnly:]):
(-[_WKUserStyleSheet initWithSource:forWKWebView:forMainFrameOnly:userContentWorld:]):
(-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]):
(-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:baseURL:userContentWorld:]):
(-[_WKUserStyleSheet isForMainFrameOnly]):
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
- WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::addUserScriptInternal):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_processDisplayName):
(WebKit::WebPage::notifyUserScripts):
(WebKit::WebPage::addUserScript):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _injectOutlookQuirksScript]):
Source/WebKitLegacy/win:
- WebView.cpp:
(WebView::addUserScriptToGroup):
(WebView::addUserStyleSheetToGroup):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST):
- 5:16 PM Changeset in webkit [259522] by
-
- 2 edits in trunk/Source/WebCore
Use-after-move of
formStatein WebCore::PolicyChecker::checkNavigationPolicy()
https://bugs.webkit.org/show_bug.cgi?id=209987
Patch by Alex Christensen <achristensen@webkit.org> on 2020-04-03
Reviewed by Chris Dumez.
Use std::exchange because formState is used later.
No change in behavior, but this will allow use-after-move hunts to continue.
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
- 4:45 PM Changeset in webkit [259521] by
-
- 8 edits in trunk/Source/WebKit
Use AuthenticationChallenge instead of AuthenticationChallengeProxy for ResourceLoadDelegate
https://bugs.webkit.org/show_bug.cgi?id=207639
Patch by Alex Christensen <achristensen@webkit.org> on 2020-04-03
Reviewed by David Kilzer.
In r254345 my younger and more naive self used AuthenticationChallengeProxy instead of AuthenticationChallenge
because he didn't know about the WebCore::mac function, which is called by AuthenticationChallengeProxy, and it's
all I needed to get an NSURLAuthenticationChallenge. Skipping the AuthenticationChallengeProxy step cleans up
AuthenticationChallengeProxy by removing the unnecessary ability to have a null CompletionHandler.
Covered by existing tests.
- UIProcess/API/APIResourceLoadClient.h:
- UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
(WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
(): Deleted.
- UIProcess/Cocoa/ResourceLoadDelegate.h:
- UIProcess/Cocoa/ResourceLoadDelegate.mm:
(WebKit::ResourceLoadDelegate::ResourceLoadClient::didReceiveChallenge const):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::resourceLoadDidReceiveChallenge):
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
- 4:39 PM Changeset in webkit [259520] by
-
- 8 edits in trunk
Prevent non app-bound domain cookies from being read or set using API calls
https://bugs.webkit.org/show_bug.cgi?id=209926
<rdar://problem/61071428>
Reviewed by Brady Eidson.
Source/WebKit:
This patch filters out setting and fetching of cookies via API call
to only set or return app-bound cookies.
- UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::filterAppBoundCookies):
This function queries the websiteDataStore for the WKAppBoundDomains
entries and filters out non app-bound domains.
(API::HTTPCookieStore::cookies):
(API::HTTPCookieStore::cookiesForURL):
(API::HTTPCookieStore::setCookies):
These functions were updated to set/return the cookies after they've
been filtered through the WKAppBoundDomains.
- UIProcess/API/APIHTTPCookieStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _appBoundDomains:]):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::getAppBoundDomains const):
(WebKit::WebsiteDataStore::appBoundDomainsForTesting const): Deleted.
Utilize a function formerly used for testing only to be used in the
HTTPCookieStore.
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
Added 3 new API tests to test that non app-bound cookies are not being
set or returned via API calls. Also added a function to reset state
between tests for internal debugging.
- TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(setUpCookieTest):
(TEST):
- 3:55 PM Changeset in webkit [259519] by
-
- 2 edits in trunk/Source/WebCore
ASSERTION FAILED: objectStoreInfo in SQLiteIDBBackingStore::getRecord
https://bugs.webkit.org/show_bug.cgi?id=209976
<rdar://problem/55005363>
Reviewed by Geoffrey Garen.
Return error if objectStoreInfo is null in SQLiteIDBBackingStore::getRecord, because there is a possibility
SQLiteIDBBackingStore does not have requested objectStoreInfo.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
- 3:45 PM Changeset in webkit [259518] by
-
- 7 edits in trunk
Add more logging to help diagnose <webkit.org/b/209685>
https://bugs.webkit.org/show_bug.cgi?id=209988
Reviewed by Timothy Hatcher.
Source/WebCore:
Remove logging that was previously added in r259465.
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderPasteboard updateSupportedTypeIdentifiers:]):
Source/WebKit:
Replace logging that was previously added in r259465 with different logging. The fact that the prior logging
never showed up in the failing tests suggests that the problem happens earlier than I had expected, so we need
to ensure that codepaths for preparing and beginning a drag session are logged instead.
This turns several existing
RELEASE_LOGs in WKContentView intoNSLogs, so that they will show up in test
failure output when run on the bots.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didHandleAdditionalDragItemsRequest:]):
(-[WKContentView _didHandleDragStartRequest:]):
(-[WKContentView cleanUpDragSourceSessionState]):
(-[WKContentView _didPerformDragOperation:]):
(-[WKContentView _prepareToDragPromisedAttachment:]):
(-[WKContentView _dragInteraction:prepareForSession:completion:]):
(-[WKContentView dragInteraction:itemsForBeginningSession:]):
(-[WKContentView dragInteraction:willAnimateLiftWithAnimator:session:]):
(-[WKContentView dragInteraction:sessionWillBegin:]):
(-[WKContentView dragInteraction:session:didEndWithOperation:]):
(-[WKContentView dragInteraction:item:willAnimateCancelWithAnimator:]):
(-[WKContentView dropInteraction:canHandleSession:]):
(-[WKContentView dropInteraction:sessionDidEnter:]):
(-[WKContentView dropInteraction:sessionDidUpdate:]):
(-[WKContentView dropInteraction:sessionDidExit:]):
(-[WKContentView dropInteraction:performDrop:]):
(-[WKContentView dropInteraction:sessionDidEnd:]):
Tools:
- TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
Fix a few stray style mistakes (unnecessary
.get()s).
- TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]):
(-[DragAndDropSimulator _advanceProgress]):
- 3:14 PM Changeset in webkit [259517] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Give RunningBoard entitlement to all our child processes
https://bugs.webkit.org/show_bug.cgi?id=209986
<rdar://problem/61275270>
Reviewed by Geoffrey Garen.
Give RunningBoard entitlement to all our child processes on iOS. As we are
transitioning to RunningBoard process assertions, it is important for the
target process of those assertion to have the
com.apple.runningboard.assertions.webkit entitlement.
- Scripts/process-entitlements.sh:
- 3:04 PM Changeset in webkit [259516] by
-
- 20 edits4 deletes in trunk
Unreviewed, reverting r259440.
Introduced 2 failing tests on Mac and iOS
Reverted changeset:
"Add SPI to configure WebsiteDataStores with a URL for
standalone web applications and use it to disable first-party
website data removal in ITP"
https://bugs.webkit.org/show_bug.cgi?id=209634
https://trac.webkit.org/changeset/259440
- 2:11 PM Changeset in webkit [259515] by
-
- 1 copy in tags/Safari-610.1.8.2
Tag Safari-610.1.8.2.
- 2:09 PM Changeset in webkit [259514] by
-
- 2 edits in branches/safari-610.1.8-branch/Source/ThirdParty/libwebrtc
Cherry-pick r259397. rdar://problem/61273057
Build fix after r259385.
Reviewed by David Kilzer, Youenn Fablet.
Convert isStandardFrameSize() into a lambda function since it only has one call site.
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm: (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]): (isStandardFrameSize): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:05 PM Changeset in webkit [259513] by
-
- 3 edits in trunk/Source/WebCore
HTMLFormElement should use WeakPtr to keep track of its FormNamedItem
https://bugs.webkit.org/show_bug.cgi?id=209925
Reviewed by Wenson Hsieh.
Like r259393, this patch replaces the HashMap of AtomString to the raw pointer of a FormNamedItem
by a HashMap of AtomString to WeakPtr of a FormNamedItem.
It also replaces a bunch of ASSERT_WITH_SECURITY_IMPLICATIONs with ASSERTs since there are no more
security implications left after this patch.
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::formElementIndex):
(WebCore::HTMLFormElement::removeFormElement):
(WebCore::HTMLFormElement::assertItemCanBeInPastNamesMap const):
(WebCore::HTMLFormElement::elementFromPastNamesMap const):
(WebCore::HTMLFormElement::addToPastNamesMap):
(WebCore::HTMLFormElement::removeFromPastNamesMap):
- html/HTMLFormElement.h:
- 1:55 PM Changeset in webkit [259512] by
-
- 9 edits2 adds in trunk/Source
Add a visual debug indicator for locating and identifying all kinds of WebViews
https://bugs.webkit.org/show_bug.cgi?id=209982
<rdar://problem/60339870>
Reviewed by Simon Fraser.
Source/WebCore:
Add a debug overlay that can be enabled with a single switch for all
*WebView variants, which indicates the type of *WebView in an unmissable,
gaudy fashion.
This is intended to address some shortcomings of existing mechanisms
that people use to answer the "what kind of web view is X app using?"
question. Specifically:
- it will appear even if the Web Content process does not launch or crashes
- it will appear even if a custom content view is being used (e.g. PDF)
- it will appear even if compositing is not enabled (e.g. in a legacy WebView on macOS)
- it explicitly states in written text the class name of the web view, with no need for interpreting colors
- it covers the entire web view, so cannot be accidentally obscured
No new tests, just debugging UI.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- testing/cocoa/WebViewVisualIdentificationOverlay.h: Added.
- testing/cocoa/WebViewVisualIdentificationOverlay.mm: Added.
(+[WebViewVisualIdentificationOverlay shouldIdentifyWebViews]):
Use a single default across all kinds of WebViews, instead of using
WebPreferences and friends, in order to make it extremely easy to turn on,
and because it's intended to be set globally, and is not useful on a
per-view basis.
(+[WebViewVisualIdentificationOverlay installForWebViewIfNeeded:kind:deprecated:]):
(-[WebViewVisualIdentificationOverlay initWithWebView:kind:deprecated:]):
(-[WebViewVisualIdentificationOverlay dealloc]):
(-[WebViewVisualIdentificationOverlay observeValueForKeyPath:ofObject:change:context:]):
(-[WebViewVisualIdentificationOverlay drawLayer:inContext:]):
Draw a wash and the class name over the entire face of the web view.
The wash is blue for WKWebView and red for all of the deprecated web views (WKView, WebView, UIWebView).
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:processPool:configuration:]):
Adopt in WKWebView and WKView.
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Adopt for WebView on macOS (UIWebView will install it itself on iOS).
- WebView/WebViewPrivate.h:
Expose _installVisualIdentificationOverlayForViewIfNeeded:kind: for UIWebView's use.
It is slightly unfortunate to expose SPI that uses UIView from a framework
underneath UIKit, but there is no other single place where this code can live
and not be a minor layering problem. Since it's debug UI, it seems passable.
- 1:40 PM Changeset in webkit [259511] by
-
- 2 edits in branches/safari-609-branch/Source/WebCore
Cherry-pick r259378. rdar://problem/61269720
Crash in WebCore::HTMLDocumentParser::insert
https://bugs.webkit.org/show_bug.cgi?id=209892
Reviewed by Darin Adler.
Speculative fix to check that the parser hasn't been detached before running preload scanner.
No new tests since there is no reproduction and I couldn't come up with one.
- html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::pumpTokenizer): (WebCore::HTMLDocumentParser::insert):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:40 PM Changeset in webkit [259510] by
-
- 70 edits in branches/safari-609-branch/Source
Cherry-pick r259355. rdar://problem/61269744
Bindings that override getOwnPropertySlotByIndex need to say they MayHaveIndexedAccessors
https://bugs.webkit.org/show_bug.cgi?id=209762
Reviewed by Darin Adler.
Source/JavaScriptCore:
Change indexingType to indexingModeIncludingHistory to more
clearly indicate the expected range of possible valid values.
- runtime/StructureInlines.h: (JSC::Structure::create):
Source/WebCore:
There may be places where we rely on this for semantic
correctness. I couldn't find any right now but we might as
well be conservative since this isn't a performance regression.
- bindings/js/JSDOMWindowProperties.h:
- bindings/scripts/CodeGeneratorJS.pm: (GenerateHeader):
- bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::JSInterfaceName::createStructure):
- bindings/scripts/test/JS/JSMapLike.h: (WebCore::JSMapLike::createStructure):
- bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::JSReadOnlyMapLike::createStructure):
- bindings/scripts/test/JS/JSReadOnlySetLike.h: (WebCore::JSReadOnlySetLike::createStructure):
- bindings/scripts/test/JS/JSSetLike.h: (WebCore::JSSetLike::createStructure):
- bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::JSTestActiveDOMObject::createStructure):
- bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::JSTestCEReactions::createStructure):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::JSTestCEReactionsStringifier::createStructure):
- bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::JSTestCallTracer::createStructure):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::JSTestClassWithJSBuiltinConstructor::createStructure):
- bindings/scripts/test/JS/JSTestDOMJIT.h: (WebCore::JSTestDOMJIT::createStructure):
- bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::JSTestEnabledBySetting::createStructure):
- bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::JSTestEnabledForContext::createStructure):
- bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::JSTestEventConstructor::createStructure):
- bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::JSTestEventTarget::createStructure):
- bindings/scripts/test/JS/JSTestException.h: (WebCore::JSTestException::createStructure):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::JSTestGenerateIsReachable::createStructure):
- bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::JSTestGlobalObject::createStructure):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::JSTestIndexedSetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::JSTestIndexedSetterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::JSTestIndexedSetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::JSTestInterfaceLeadingUnderscore::createStructure):
- bindings/scripts/test/JS/JSTestIterable.h: (WebCore::JSTestIterable::createStructure):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: (WebCore::JSTestJSBuiltinConstructor::createStructure):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::JSTestMediaQueryListListener::createStructure):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::JSTestNamedAndIndexedSetterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::JSTestNamedConstructor::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::JSTestNamedDeleterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::JSTestNamedDeleterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::JSTestNamedDeleterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::JSTestNamedDeleterWithIndexedGetter::createStructure):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::JSTestNamedGetterCallWith::createStructure):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::JSTestNamedGetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::JSTestNamedGetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::JSTestNamedSetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::JSTestNamedSetterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::JSTestNamedSetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::JSTestNamedSetterWithIndexedGetter::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::JSTestNamedSetterWithOverrideBuiltins::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::JSTestNamedSetterWithUnforgableProperties::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::createStructure):
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestObj.h: (WebCore::JSTestObj::createStructure):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::JSTestOverloadedConstructors::createStructure):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::JSTestOverloadedConstructorsWithSequence::createStructure):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::JSTestOverrideBuiltins::createStructure):
- bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::JSTestPluginInterface::createStructure):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::JSTestPromiseRejectionEvent::createStructure):
- bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::JSTestSerialization::createStructure):
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.h: (WebCore::JSTestSerializationIndirectInheritance::createStructure):
- bindings/scripts/test/JS/JSTestSerializationInherit.h: (WebCore::JSTestSerializationInherit::createStructure):
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: (WebCore::JSTestSerializationInheritFinal::createStructure):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::JSTestSerializedScriptValueInterface::createStructure):
- bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::JSTestStringifier::createStructure):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::JSTestStringifierAnonymousOperation::createStructure):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::JSTestStringifierNamedOperation::createStructure):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::JSTestStringifierOperationImplementedAs::createStructure):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::JSTestStringifierOperationNamedToString::createStructure):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::JSTestStringifierReadOnlyAttribute::createStructure):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::JSTestStringifierReadWriteAttribute::createStructure):
- bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::JSTestTypedefs::createStructure):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:39 PM Changeset in webkit [259509] by
-
- 2 edits in branches/safari-609-branch/Source/WebKit
Cherry-pick r257209. rdar://problem/61269710
Protect from null session in NetworkDataTaskCocoa::restrictRequestReferrerToOriginIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=208127
rdar://problem/57937917
Reviewed by Chris Dumez.
In case of a data task whose session is destroyed, do not follow redirection early on.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: (WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:39 PM Changeset in webkit [259508] by
-
- 16 edits in branches/safari-609-branch/Source
Cherry-pick r256900. rdar://problem/61269733
SWServer::claim should check for the service worker to be active
https://bugs.webkit.org/show_bug.cgi?id=207739
<rdar://problem/45441129>
Reviewed by Alex Christensen.
Source/WebCore:
claim is only working for service workers that are active.
But there might be a time when a service worker is active in its web process but redundant in networking process.
Thus, we need to move the check from WebProcess to NetworkProcess.
- workers/service/ServiceWorkerClients.cpp: (WebCore::ServiceWorkerClients::claim):
- workers/service/context/SWContextManager.h:
- workers/service/server/SWServer.cpp: (WebCore::SWServer::claim):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerToContextConnection.cpp: (WebCore::SWServerToContextConnection::claim):
- workers/service/server/SWServerToContextConnection.h:
- workers/service/server/SWServerWorker.cpp: (WebCore::SWServerWorker::claim): Deleted.
- workers/service/server/SWServerWorker.h: (WebCore::SWServerWorker::isActive const):
Source/WebKit:
Use Async Reply to remove the need for a map and passing integers around.
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp: (WebKit::WebSWServerToContextConnection::claimCompleted): Deleted.
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
- WebProcess/Storage/WebSWContextManagerConnection.cpp: (WebKit::WebSWContextManagerConnection::claim): (WebKit::WebSWContextManagerConnection::claimCompleted): Deleted.
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:33 PM Changeset in webkit [259507] by
-
- 11 edits in trunk
Remove _setIsNavigatingToAppBoundDomain testing SPI
https://bugs.webkit.org/show_bug.cgi?id=209973
<rdar://problem/61264350>
Reviewed by David Kilzer.
This SPI is no longer needed to set a webView as navigating to an
app-bound domain. We can now load a local file instead.
Source/WebKit:
No new tests, confirmed behavior by existing tests.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setIsNavigatingToAppBoundDomain:completionHandler:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomainTesting): Deleted.
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setIsNavigatingToAppBoundDomainTesting): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/in-app-browser-privacy-local-file.html:
- 1:28 PM Changeset in webkit [259506] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed sandbox compile fix.
- WebProcess/com.apple.WebProcess.sb.in:
- 1:13 PM Changeset in webkit [259505] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] Update MESSAGE_CHECK macros used in WebProcessProxy::didCreateSleepDisabler/WebProcessProxy::didDestroySleepDisabler
<https://webkit.org/b/209981>
<rdar://problem/61237674>
Reviewed by Darin Adler.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didCreateSleepDisabler):
- Remove MESSAGE_CHECK for
identifiersince decoding detects invalid values. - Add MESSAGE_CHECK for
reasonsince a NULL string would cause CFStringCreateWithCString() to crash later.
(WebKit::WebProcessProxy::didDestroySleepDisabler):
- Remove MESSAGE_CHECK for
identifiersince decoding detects invalid values.
- 1:12 PM Changeset in webkit [259504] by
-
- 8 edits in branches/safari-609-branch/Source
Versioning.
- 1:06 PM Changeset in webkit [259503] by
-
- 8 edits in branches/safari-610.1.8-branch/Source
Versioning.
- 12:58 PM Changeset in webkit [259502] by
-
- 70 edits in branches/safari-609.2.1.2-branch/Source
Cherry-pick r259355. rdar://problem/61269741
Bindings that override getOwnPropertySlotByIndex need to say they MayHaveIndexedAccessors
https://bugs.webkit.org/show_bug.cgi?id=209762
Reviewed by Darin Adler.
Source/JavaScriptCore:
Change indexingType to indexingModeIncludingHistory to more
clearly indicate the expected range of possible valid values.
- runtime/StructureInlines.h: (JSC::Structure::create):
Source/WebCore:
There may be places where we rely on this for semantic
correctness. I couldn't find any right now but we might as
well be conservative since this isn't a performance regression.
- bindings/js/JSDOMWindowProperties.h:
- bindings/scripts/CodeGeneratorJS.pm: (GenerateHeader):
- bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::JSInterfaceName::createStructure):
- bindings/scripts/test/JS/JSMapLike.h: (WebCore::JSMapLike::createStructure):
- bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::JSReadOnlyMapLike::createStructure):
- bindings/scripts/test/JS/JSReadOnlySetLike.h: (WebCore::JSReadOnlySetLike::createStructure):
- bindings/scripts/test/JS/JSSetLike.h: (WebCore::JSSetLike::createStructure):
- bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::JSTestActiveDOMObject::createStructure):
- bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::JSTestCEReactions::createStructure):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::JSTestCEReactionsStringifier::createStructure):
- bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::JSTestCallTracer::createStructure):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::JSTestClassWithJSBuiltinConstructor::createStructure):
- bindings/scripts/test/JS/JSTestDOMJIT.h: (WebCore::JSTestDOMJIT::createStructure):
- bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::JSTestEnabledBySetting::createStructure):
- bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::JSTestEnabledForContext::createStructure):
- bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::JSTestEventConstructor::createStructure):
- bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::JSTestEventTarget::createStructure):
- bindings/scripts/test/JS/JSTestException.h: (WebCore::JSTestException::createStructure):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::JSTestGenerateIsReachable::createStructure):
- bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::JSTestGlobalObject::createStructure):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::JSTestIndexedSetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::JSTestIndexedSetterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::JSTestIndexedSetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::JSTestInterfaceLeadingUnderscore::createStructure):
- bindings/scripts/test/JS/JSTestIterable.h: (WebCore::JSTestIterable::createStructure):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: (WebCore::JSTestJSBuiltinConstructor::createStructure):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::JSTestMediaQueryListListener::createStructure):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::JSTestNamedAndIndexedSetterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::JSTestNamedConstructor::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::JSTestNamedDeleterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::JSTestNamedDeleterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::JSTestNamedDeleterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::JSTestNamedDeleterWithIndexedGetter::createStructure):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::JSTestNamedGetterCallWith::createStructure):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::JSTestNamedGetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::JSTestNamedGetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::JSTestNamedSetterNoIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::JSTestNamedSetterThrowingException::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::JSTestNamedSetterWithIdentifier::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::JSTestNamedSetterWithIndexedGetter::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::JSTestNamedSetterWithOverrideBuiltins::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::JSTestNamedSetterWithUnforgableProperties::createStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::createStructure):
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestObj.h: (WebCore::JSTestObj::createStructure):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::JSTestOverloadedConstructors::createStructure):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::JSTestOverloadedConstructorsWithSequence::createStructure):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::JSTestOverrideBuiltins::createStructure):
- bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::JSTestPluginInterface::createStructure):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::JSTestPromiseRejectionEvent::createStructure):
- bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::JSTestSerialization::createStructure):
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.h: (WebCore::JSTestSerializationIndirectInheritance::createStructure):
- bindings/scripts/test/JS/JSTestSerializationInherit.h: (WebCore::JSTestSerializationInherit::createStructure):
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: (WebCore::JSTestSerializationInheritFinal::createStructure):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::JSTestSerializedScriptValueInterface::createStructure):
- bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::JSTestStringifier::createStructure):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::JSTestStringifierAnonymousOperation::createStructure):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::JSTestStringifierNamedOperation::createStructure):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::JSTestStringifierOperationImplementedAs::createStructure):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::JSTestStringifierOperationNamedToString::createStructure):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::JSTestStringifierReadOnlyAttribute::createStructure):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::JSTestStringifierReadWriteAttribute::createStructure):
- bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::JSTestTypedefs::createStructure):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:58 PM Changeset in webkit [259501] by
-
- 3 edits in branches/safari-609.2.1.2-branch/Source/WebCore
Cherry-pick r259305. rdar://problem/61231978
Invalid memory access @ WebCore::FrameLoader::dispatchDidCommitLoad
https://bugs.webkit.org/show_bug.cgi?id=209786
Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-03-31
Reviewed by Ryosuke Niwa.
No new tests. Reduced test would be added later. Currently issue is verified with the original testcase in associated radar-58416328.
Webkit1 only issue, where m_client.dispatchDidCommitLoad in FrameLoader::dispatchDidCommitLoad could cause the frame
to be destroyed, and m_frame still being accessed outside. Changes made to protect the DocumentLoader and Frame.
- loader/DocumentLoader.cpp: (WebCore::DocumentLoader::finishedLoading): (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
- loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedFirstData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:58 PM Changeset in webkit [259500] by
-
- 2 edits in branches/safari-609.2.1.2-branch/Source/WebCore
Cherry-pick r259244. rdar://problem/61231864
Assertion failure in HTMLFormElement::formElementIndex
https://bugs.webkit.org/show_bug.cgi?id=209643
Reviewed by Darin Adler.
The bug was caused by FormAssociatedElement::findAssociatedForm finding a wrong form element
when it's called on an element which appears later in the removed subtree.
When we find the new form element to associate this element with, check to make sure its root
element is that of the tree scope. This condition will be false if this element is in in the midst
of being removed.
- html/FormAssociatedElement.cpp: (WebCore::FormAssociatedElement::findAssociatedForm):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:58 PM Changeset in webkit [259499] by
-
- 2 edits in branches/safari-609.2.1.2-branch/Source/WebKit
Cherry-pick r259056. rdar://problem/61231908
Force Touch preview on file:/// URL works while clicking on the URL is blocked
https://bugs.webkit.org/show_bug.cgi?id=209589
<rdar://57687893>
Reviewed by Antoine Quint.
The immediate action for links should never trigger on file: URLs.
- UIProcess/mac/WKImmediateActionController.mm: (-[WKImmediateActionController _defaultAnimationController]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259056 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:58 PM Changeset in webkit [259498] by
-
- 3 edits in branches/safari-609.2.1.2-branch/Source/WebKit
Cherry-pick r258902. rdar://problem/61231866
IPC::Decoder::decodeFixedLengthData() should be marked WARN_UNUSED_RETURN
<https://webkit.org/b/209448>
<rdar://problem/60797998>
Reviewed by Chris Dumez.
- Platform/IPC/ArgumentCoders.h: (struct VectorArgumentCoder::decode):
- Check the return value of Decoder::decodeFixedLengthData().
- Platform/IPC/Decoder.h: (IPC::Decoder::decodeFixedLengthData): Add WARN_UNUSED_RETURN.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258902 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:58 PM Changeset in webkit [259497] by
-
- 8 edits in branches/safari-609.2.1.2-branch/Source/JavaScriptCore
Cherry-pick r258901. rdar://problem/61231922
HasIndexedProperty should know about sane chain
https://bugs.webkit.org/show_bug.cgi?id=209457
Reviewed by Saam Barati.
This patch makes it so HasIndexedProperty is aware of
sane chain. This is useful because, most of the time we do an
indexed in it is on an array. If the array has a sane chain (i.e.
no indexed properties on it's prototypes and has the default
prototype chain) then we can just test for the index being a hole.
Note, we could also just convert OOB indices into false but that
should happen in another patch.
https://bugs.webkit.org/show_bug.cgi?id=209456
I didn't add any tests because it turns out we already have a ton.
I know this because I broke most of them repeatedly... >.>
- dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h: (JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): (JSC::DFG::FixupPhase::setSaneChainIfPossible): (JSC::DFG::FixupPhase::convertToHasIndexedProperty):
- dfg/DFGNodeType.h:
- dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty):
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::speculateAndJump):
- jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::isEmpty):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:58 PM Changeset in webkit [259496] by
-
- 2 edits in branches/safari-609.2.1.2-branch/Source/WebKit
Cherry-pick r258814. rdar://problem/61231972
decodeSharedBuffer() in WebCoreArgumentCoders.cpp should validate
bufferSize
<https://webkit.org/b/209373>
<rdar://problem/60610919>
Reviewed by Darin Adler.
- Shared/WebCoreArgumentCoders.cpp: (IPC::decodeSharedBuffer):
- Return early if
bufferSizeis too big.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259495] by
-
- 5 edits2 adds in branches/safari-609.2.1.2-branch
Cherry-pick r258799. rdar://problem/61231946
Content-Type & Nosniff Ignored on XML External Entity Resources
<https://webkit.org/b/191171>
<rdar://problem/45763222>
Reviewed by Darin Adler.
Source/WebCore:
Test: http/tests/security/contentTypeOptions/nosniff-xml-external-entity.xhtml
- platform/MIMETypeRegistry.cpp: (WebCore::MIMETypeRegistry::isXMLEntityMIMEType): Add.
- platform/MIMETypeRegistry.h: (WebCore::MIMETypeRegistry::isXMLEntityMIMEType): Add.
- Checks for XML external entity MIME types.
- xml/parser/XMLDocumentParserLibxml2.cpp: (WebCore::externalEntityMimeTypeAllowedByNosniff): Add.
- Checks whether the MIME type is valid based on the presence of the "X-Content-Type-Options: nosniff" header. (WebCore::openFunc):
- Drop the contents of the resource that was returned and print an error message to the Web Inspector console if externalEntityMimeTypeAllowedByNosniff() says the MIME type is not allowed.
LayoutTests:
- http/tests/security/contentTypeOptions/nosniff-xml-external-entity-expected.txt: Add.
- http/tests/security/contentTypeOptions/nosniff-xml-external-entity.xhtml: Add.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259494] by
-
- 5 edits in branches/safari-609.2.1.2-branch
Cherry-pick r258741. rdar://problem/61231885
Sanitize suggested download filename received from web process
https://bugs.webkit.org/show_bug.cgi?id=209300
<rdar://problem/59487723>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-03-19
Reviewed by Chris Dumez.
Source/WebKit:
- UIProcess/Downloads/DownloadProxy.cpp: (WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):
LayoutTests:
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-backslash-expected.txt:
- fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-backslash.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259493] by
-
- 3 edits in branches/safari-609.2.1.2-branch/Source/ThirdParty/libwebrtc
Cherry-pick r258690. rdar://problem/61231915
Cherry pick usrsctp commit 790a7a2555aefb392a5a69923f1e9d17b4968467
https://bugs.webkit.org/show_bug.cgi?id=209204
<rdar://problem/59362671>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-03-19
Reviewed by Youenn Fablet.
- Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_auth.c:
- Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259492] by
-
- 2 edits in branches/safari-609.2.1.2-branch/Source/WebKit
Cherry-pick r258559. rdar://problem/61231877
Terminate the WebContent process when receiving invalid IPC from a WebInspector session
https://bugs.webkit.org/show_bug.cgi?id=209157
<rdar://problem/58961055>
Reviewed by Chris Dumez.
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::backForwardGoToItemShared): Add a message check that we are not receiving the request from a WebInspector page. (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Switch to a release assert.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259491] by
-
- 3 edits in branches/safari-609.2.1.2-branch/Source/WebCore
Cherry-pick r258464. rdar://problem/61231891
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259490] by
-
- 4 edits2 adds in branches/safari-609.2.1.2-branch
Cherry-pick r258459. rdar://problem/61231983
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259489] by
-
- 2 edits in branches/safari-609.2.1.2-branch/Source/WebKit
Cherry-pick r258401. rdar://problem/61231940
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259488] by
-
- 5 edits in branches/safari-609.2.1.2-branch/Source/WebCore
Cherry-pick r258278. rdar://problem/61231870
SVG filter triggers unstable layout.
https://bugs.webkit.org/show_bug.cgi?id=207444
rdar://problem/59297004
Reviewed by Simon Fraser.
SVG filter code marks DOM nodes dirty and schedules style recalc outside of the SVG root
while in layout. This could lead to unstable layout and cause battery drain.
(See webkit.org/b/208903)
- rendering/RenderLayer.cpp: Remove filterNeedsRepaint(). It's a dangerously misleading name and should not be part of RenderLayer. (WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayer.h:
- rendering/RenderLayerFilters.cpp: (WebCore::RenderLayerFilters::notifyFinished):
- rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation): (WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259487] by
-
- 3 edits1 add in branches/safari-609.2.1.2-branch
Cherry-pick r256766. rdar://problem/61231942
[Wasm] REGRESSION(r256665): Wasm->JS call IC needs to save memory size register
https://bugs.webkit.org/show_bug.cgi?id=207849
Reviewed by Mark Lam.
JSTests:
- wasm/regress/regress-256665.js: Added. (f):
Source/JavaScriptCore:
When generating the call IC, we should select the callee saves using BoundsChecking mode in order
to obey to the calling conventions described in r256665. Currently, we won't restore the memory size
register when calling the Wasm LLInt through the call IC.
- wasm/js/WebAssemblyFunction.cpp: (JSC::WebAssemblyFunction::calleeSaves const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259486] by
-
- 3 edits in branches/safari-609.2.1.2-branch/JSTests
Cherry-pick r256698. rdar://problem/61231902
Unreviewed: fix broken tests added in r256665
https://bugs.webkit.org/show_bug.cgi?id=207727
Our inline WAT doesn't seem to like named blocks/branch targets.
- wasm/regress/llint-callee-saves-with-fast-memory.js:
- wasm/regress/llint-callee-saves-without-fast-memory.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259485] by
-
- 9 edits2 adds in branches/safari-609.2.1.2-branch
Cherry-pick r256665. rdar://problem/61231902
[WASM] Wasm interpreter's calling convention doesn't match Wasm JIT's convention.
https://bugs.webkit.org/show_bug.cgi?id=207727
JSTests:
Reviewed by Mark Lam.
- wasm/regress/llint-callee-saves-with-fast-memory.js: Added.
- wasm/regress/llint-callee-saves-without-fast-memory.js: Added.
Source/JavaScriptCore:
Reviewed by Mark Lam.
The Wasm JIT has unusual calling conventions, which were further complicated by the addition
of the interpreter, and the interpreter did not correctly follow these conventions (by incorrectly
saving and restoring the callee save registers used for the memory base and size). Here's a summary
of the calling convention:
- When entering Wasm from JS, the wrapper must:
- Preserve the base and size when entering LLInt regardless of the mode. (Prior to this patch we only preserved the base in Signaling mode)
- Preserve the memory base in either mode, and the size for BoundsChecking.
- Both tiers must preserve every *other* register they use. e.g. the LLInt must preserve PB and wasmInstance, but must *not* preserve memoryBase and memorySize.
- Changes to memoryBase and memorySize are visible to the caller. This means that:
- Intra-module calls can assume these registers are up-to-date even if the memory was resized. The only exception here is if the LLInt calls a signaling JIT, in which case the JIT will not update the size register, since it won't be using it.
- Inter-module and JS calls require the caller to reload these registers. These calls may result in memory changes (e.g. the callee may call memory.grow).
- A Signaling JIT caller must be aware that the LLInt may trash the size register, since it always bounds checks.
- llint/WebAssembly.asm:
- wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::addCall):
- wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::addCall):
- wasm/WasmCallee.cpp: (JSC::Wasm::LLIntCallee::calleeSaveRegisters):
- wasm/WasmCallingConvention.h:
- wasm/WasmLLIntPlan.cpp: (JSC::Wasm::LLIntPlan::didCompleteCompilation):
- wasm/WasmMemoryInformation.cpp: (JSC::Wasm::PinnedRegisterInfo::get): (JSC::Wasm::getPinnedRegisters): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:57 PM Changeset in webkit [259484] by
-
- 2 edits in branches/safari-609.2.1.2-branch/Source/WebKit
Cherry-pick r254724. rdar://problem/61231960
IPC hardening for WebPageProxy::SetPromisedDataForImage message
https://bugs.webkit.org/show_bug.cgi?id=206380
<rdar://problem/58625196>
Reviewed by Geoffrey Garen.
IPC hardening for WebPageProxy::SetPromisedDataForImage message. Make sure the shared memory handle sent over IPC is not null
and null check the SharedMemory object after calling SharedMemory::map().
- UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::setPromisedDataForImage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254724 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:50 PM Changeset in webkit [259483] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r8412): Use RetainPtr<> for NSMutableAttributedString in -[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]
<https://webkit.org/b/209980>
Reviewed by Darin Adler.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]):
Make use of RetainPtr<>.
- 12:25 PM Changeset in webkit [259482] by
-
- 5 edits in trunk/Source
Fix bugs related to VideoTextureCopierCV and ANGLE roll script
https://bugs.webkit.org/show_bug.cgi?id=209943
Patch by Kenneth Russell <kbr@chromium.org> on 2020-04-03
Reviewed by Dean Jackson.
Source/ThirdParty/ANGLE:
Update the update-angle.sh script to take into account the new
procedure for generating ANGLE's commit ID header file. This
enables ANGLE rolls into WebKit again.
- update-angle.sh:
Source/WebCore:
Fixed longstanding preexisting bugs related to creation and
deletion of OpenGL objects inside VideoTextureCopierCV, including
in which context its internal framebuffer was created. Unbind the
output texture after hooking it up to the framebuffer to avoid any
appearance of rendering feedback loops.
Stop setting the WebGL compatibility context creation attribute
for VideoTextureCopier's context.
Covered by preexisting layout tests.
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
- platform/graphics/cv/VideoTextureCopierCV.cpp:
(WebCore::VideoTextureCopierCV::VideoTextureCopierCV):
(WebCore::VideoTextureCopierCV::~VideoTextureCopierCV):
(WebCore::VideoTextureCopierCV::copyImageToPlatformTexture):
(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture):
- 11:40 AM Changeset in webkit [259481] by
-
- 3 edits1 add in trunk
[JSC] canonicalizeLocaleList should gracefully throw OOM error if input + error message is too large
https://bugs.webkit.org/show_bug.cgi?id=209971
<rdar://problem/61258621>
Reviewed by Mark Lam.
JSTests:
- stress/intl-canonicalize-locale-list-error-oom.js: Added.
(shouldThrow):
Source/JavaScriptCore:
canonicalizeLocaleList generates error-message with input. If input is too large, error-message string
generation could fail due to OOM. We should gracefully throw OOM error instead of crashing. This strategy
follows tocreateError's error-message generation: if error-message generation fails, throwing OOM error.
- runtime/IntlObject.cpp:
(JSC::canonicalizeLocaleList):
- 11:34 AM Changeset in webkit [259480] by
-
- 8 edits13 adds39 deletes in trunk
Move Intl tests from LayoutTests to JSTests
https://bugs.webkit.org/show_bug.cgi?id=209922
Reviewed by Yusuke Suzuki.
JSTests:
Intl doesn't depend on WebCore, so these tests shouldn't be layout tests.
(They do, however, require one method to be added to $vm.)
Since LayoutTests/js has its own test harness, I've also migrated each test case to use simpler assertions.
- stress/array-to-locale-string.js: Removed -- subsumed by the following test.
- stress/array-toLocaleString.js: Added.
- stress/date-toLocaleString.js: Added.
- stress/intl-collator.js: Added.
- stress/intl-datetimeformat.js: Added.
- stress/intl-default-locale.js: Added.
- stress/intl-numberformat-format-to-parts.js: Added.
- stress/intl-numberformat.js: Added.
- stress/intl-object.js: Added.
- stress/intl-pluralrules.js: Added.
- stress/number-toLocaleString.js: Added.
- stress/string-localeCompare.js: Added.
- stress/string-toLocaleLowerCase.js: Added.
- stress/string-toLocaleUpperCase.js: Added.
Source/JavaScriptCore:
- tools/JSDollarVM.cpp:
(JSC::functionSetUserPreferredLanguages):
(JSC::JSDollarVM::finishCreation):
Add $vm.setUserPreferredLanguages, as needed by stress/intl-default-locale.js.
LayoutTests:
- js/array-toLocaleString-expected.txt: Removed.
- js/array-toLocaleString.html: Removed.
- js/date-toLocaleString-expected.txt: Removed.
- js/date-toLocaleString.html: Removed.
- js/intl-collator-expected.txt: Removed.
- js/intl-collator.html: Removed.
- js/intl-datetimeformat-expected.txt: Removed.
- js/intl-datetimeformat.html: Removed.
- js/intl-default-locale-expected.txt: Removed.
- js/intl-default-locale.html: Removed.
- js/intl-expected.txt: Removed.
- js/intl-numberformat-expected.txt: Removed.
- js/intl-numberformat-format-to-parts-expected.txt: Removed.
- js/intl-numberformat-format-to-parts.html: Removed.
- js/intl-numberformat.html: Removed.
- js/intl-pluralrules-expected.txt: Removed.
- js/intl-pluralrules.html: Removed.
- js/intl.html: Removed.
- js/number-toLocaleString-expected.txt: Removed.
- js/number-toLocaleString.html: Removed.
- js/script-tests/array-toLocaleString.js: Removed.
- js/script-tests/date-toLocaleString.js: Removed.
- js/script-tests/intl-collator.js: Removed.
- js/script-tests/intl-datetimeformat.js: Removed.
- js/script-tests/intl-numberformat-format-to-parts.js: Removed.
- js/script-tests/intl-numberformat.js: Removed.
- js/script-tests/intl-pluralrules.js: Removed.
- js/script-tests/intl.js: Removed.
- js/script-tests/number-toLocaleString.js: Removed.
- js/script-tests/string-localeCompare.js: Removed.
- js/script-tests/string-toLocaleLowerCase.js: Removed.
- js/script-tests/string-toLocaleUpperCase.js: Removed.
- js/string-localeCompare-expected.txt: Removed.
- js/string-localeCompare.html: Removed.
- js/string-toLocaleLowerCase-expected.txt: Removed.
- js/string-toLocaleLowerCase.html: Removed.
- js/string-toLocaleUpperCase-expected.txt: Removed.
- js/string-toLocaleUpperCase.html: Removed.
- platform/ios-simulator/TestExpectations: Removed expectations.
- platform/ios/TestExpectations: Removed expectations.
- platform/mac/TestExpectations: Removed expectations.
- platform/win/TestExpectations: Removed expectations.
- 11:30 AM Changeset in webkit [259479] by
-
- 2 edits in trunk/Source/JavaScriptCore
Web Inspector: increase the auto-inspect debugger timeout delay to account for slower networks/devices
https://bugs.webkit.org/show_bug.cgi?id=209940
<rdar://problem/61120919>
Reviewed by Joseph Pecoraro.
- inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::updateAutomaticInspectionCandidate):
- 11:29 AM Changeset in webkit [259478] by
-
- 3 edits1 add in trunk
[JSC] TypedArray#subarray should throw OOM error gracefully
https://bugs.webkit.org/show_bug.cgi?id=209974
<rdar://problem/61253901>
Reviewed by Mark Lam.
JSTests:
- stress/typed-array-subarray-can-throw-oom-error.js: Added.
(foo):
(canThrow):
(bar):
(get bar):
Source/JavaScriptCore:
After r259069 change, possiblySharedBuffer can return nullptr if OOM happens.
However, TypedArray#subarray didn't handle this case properly. This patch throws
an OOM error appropriately if possiblySharedBuffer returns nullptr in TypedArray#subarray.
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
- 11:22 AM Changeset in webkit [259477] by
-
- 3 edits2 adds in trunk
Filter some capture device names
https://bugs.webkit.org/show_bug.cgi?id=209941
<rdar://problem/59141886>
Reviewed by Youenn Fablet.
Source/WebCore:
Test: fast/mediastream/anonymize-device-name.html
- platform/mediastream/CaptureDevice.h:
(WebCore::CaptureDevice::label const):
LayoutTests:
- fast/mediastream/anonymize-device-name-expected.txt: Added.
- fast/mediastream/anonymize-device-name.html: Added.
- 11:06 AM Changeset in webkit [259476] by
-
- 2 edits in trunk/Source/WebKit
Color Form Control does not come up on second selection in macCatalyst
https://bugs.webkit.org/show_bug.cgi?id=209939
<rdar://problem/61131345>
Reviewed by Wenson Hsieh.
On selection and manual dismissal of the form, we need to also call accessoryDone,
as the UIKit callbacks are not called on manual dismissal.
- UIProcess/ios/forms/WKFormColorPicker.mm:
(-[WKColorPicker colorMatrixView:didTapColorButton:]):
- 11:00 AM Changeset in webkit [259475] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
Do not link with OpenGL on Apple platforms
https://bugs.webkit.org/show_bug.cgi?id=209946
<rdar://problem/61237956>
Reviewed by Sam Weinig.
OpenGL is not used in our build of ANGLE. Attempting to link with it
causes warnings, which can turn into errors in some cases (in
particular, when building with Xcode's "new" build system).
- ANGLE.xcodeproj/project.pbxproj:
- 10:55 AM Changeset in webkit [259474] by
-
- 3 edits in trunk/Source/WebKit
[macOS] Update sandbox rules for correct sanitizer paths in current OS releases
https://bugs.webkit.org/show_bug.cgi?id=209818
<rdar://problem/58422996>
Unreviewed follow-up based on feedback from the sanitizer team.
The change in r259317 left the original, incorrect, 'literal' form of the path, rather
than the correct 'subpath' form. This corrects that issue.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 10:54 AM Changeset in webkit [259473] by
-
- 1 copy in tags/Safari-610.1.8.1
Tag Safari-610.1.8.1.
- 10:53 AM Changeset in webkit [259472] by
-
- 2 edits1 delete in branches/safari-610.1.8-branch/Source/ThirdParty/libwebrtc
Cherry-pick r259458. rdar://problem/61265583
Remove rtpplay.exe from the libwebrtc source folder
https://bugs.webkit.org/show_bug.cgi?id=209957
Reviewed by Eric Carlson.
- .gitignore:
- Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:53 AM Changeset in webkit [259471] by
-
- 8 edits in branches/safari-610.1.8-branch/Source
Versioning.
- 10:43 AM Changeset in webkit [259470] by
-
- 3 edits in trunk/Source/WebKit
Remove unneeded sandbox access to some file paths
https://bugs.webkit.org/show_bug.cgi?id=209938
<rdar://problem/59529620>
Reviewed by Per Arne Vollan.
Remove unnecessary access to some locations in /etc. These may have been needed in
the past, but the WebContent process no longer requires this access. We should
remove it.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 10:37 AM Changeset in webkit [259469] by
-
- 5 edits in trunk
[iOS] Deny mach lookup access to the runningboard service in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=209933
Source/WebKit:
<rdar://problem/56995639>
Reviewed by Brent Fulgham.
On iOS, after <https://trac.webkit.org/changeset/258180/webkit>, mach lookup access to "com.apple.runningboard"
can be denied in the WebContent process.
Test: fast/sandbox/ios/sandbox-mach-lookup.html
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
LayoutTests:
Reviewed by Brent Fulgham.
- fast/sandbox/ios/sandbox-mach-lookup-expected.txt:
- fast/sandbox/ios/sandbox-mach-lookup.html:
- 9:54 AM Changeset in webkit [259468] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r259401): [GTK] Check surroundingRange is not null
https://bugs.webkit.org/show_bug.cgi?id=209966
Reviewed by Darin Adler & Philippe Normand.
- WebProcess/WebPage/glib/WebPageGLib.cpp:
(WebKit::WebPage::getPlatformEditorState const):
- 9:53 AM Changeset in webkit [259467] by
-
- 3 edits in trunk/Source/WebCore
Remove unused parameter from loadWithNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=209959
Patch by Rob Buis <rbuis@igalia.com> on 2020-04-03
Reviewed by Darin Adler.
Remove unused parameter from loadWithNavigationAction.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::loadDifferentDocumentItem):
- loader/FrameLoader.h:
- 9:51 AM Changeset in webkit [259466] by
-
- 36 edits in trunk
[Xcode] Replace ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS with $(inherited)
<https://webkit.org/b/209963>
<rdar://problem/61257504>
Reviewed by Alexey Proskuryakov.
Source/bmalloc:
- Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
Source/JavaScriptCore:
- Configurations/Base.xcconfig:
- Configurations/ToolExecutable.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
Source/ThirdParty:
- gtest/xcode/Config/General.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
Source/ThirdParty/ANGLE:
- ANGLE.xcodeproj/project.pbxproj:
- Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
Source/ThirdParty/libwebrtc:
- Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
Source/WebCore:
- Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
Source/WebCore/PAL:
- Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
Source/WebInspectorUI:
- Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
Source/WebKit:
- Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
Source/WebKitLegacy/mac:
- Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
Source/WTF:
- Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
Tools:
- asan/asan.xcconfig:
- Use $(inherited) to get rid of custom ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS. Note that ASAN_OTHER_LDFLAGS had been previously removed in r179312, but not in the other *.xcconfig files.
- ContentExtensionTester/Configurations/Base.xcconfig:
- DumpRenderTree/mac/Configurations/Base.xcconfig:
- ImageDiff/cg/Configurations/Base.xcconfig:
- MiniBrowser/Configurations/Base.xcconfig:
- MobileMiniBrowser/Configurations/Base.xcconfig:
- TestWebKitAPI/Configurations/Base.xcconfig:
- WebEditingTester/Configurations/Base.xcconfig:
- WebKitLauncher/Configurations/Base.xcconfig:
- WebKitTestRunner/Configurations/Base.xcconfig:
- lldb/lldbWebKitTester/Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS.
- 9:43 AM Changeset in webkit [259465] by
-
- 4 edits in trunk/Source
Add logging to help diagnose <webkit.org/b/209685>
https://bugs.webkit.org/show_bug.cgi?id=209967
Reviewed by Darin Adler.
Source/WebCore:
Add logging to try and diagnose a handful of API test failures on iOS 13.4 test runners. The failures seem to
only reproduce in release builds on one particular bot; even then, the problem still doesn't reproduce when
running the API tests on this failing bot.
As such, add some logging to try and verify whether...
(1) the UI process is even attempting to update its supported item provider types, which should happen after
each drag session update.
(2) WKContentView is receiving calls to update the drag session in the first place.
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderPasteboard updateSupportedTypeIdentifiers:]):
Source/WebKit:
See WebCore/ChangeLog.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView dropInteraction:sessionDidUpdate:]):
- 9:26 AM Changeset in webkit [259464] by
-
- 3 edits in trunk/Tools
[ews] Improve error message when patch fails to apply to trunk
https://bugs.webkit.org/show_bug.cgi?id=209965
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(ApplyPatch.getResultSummary): Improved error message.
(ApplyPatch.evaluateCommand): Ditto.
- BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
- 8:58 AM Changeset in webkit [259463] by
-
- 28 edits in trunk/Source/JavaScriptCore
Unreviewed, partially reverting Structure change due to Speedometer2 regression
https://bugs.webkit.org/show_bug.cgi?id=207827
Not reverting WTF changes.
- bytecode/AccessCase.cpp:
(JSC::AccessCase::createTransition):
(JSC::AccessCase::createDelete):
(JSC::AccessCase::propagateTransitions const):
- bytecode/AccessCase.h:
(JSC::AccessCase::structure const):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCheckSubClass):
(JSC::DFG::SpeculativeJIT::compileObjectKeys):
(JSC::DFG::SpeculativeJIT::compileCreateThis):
(JSC::DFG::SpeculativeJIT::compileCreatePromise):
(JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys):
(JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):
(JSC::FTL::DFG::LowerDFGToB3::loadStructureClassInfo): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::loadStructureCachedPrototypeChainOrRareData): Deleted.
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitLoadClassInfoFromStructure): Deleted.
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_create_this):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_create_this):
- jit/Repatch.cpp:
(JSC::tryCachePutByID):
(JSC::tryCacheDeleteBy):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createStructure):
- runtime/ConcurrentJSLock.h:
(JSC::ConcurrentJSLockerBase::ConcurrentJSLockerBase):
(JSC::GCSafeConcurrentJSLocker::GCSafeConcurrentJSLocker):
(JSC::GCSafeConcurrentJSLocker::~GCSafeConcurrentJSLocker):
(JSC::ConcurrentJSLocker::ConcurrentJSLocker):
(JSC::GCSafeConcurrentJSLockerImpl::GCSafeConcurrentJSLockerImpl): Deleted.
(JSC::GCSafeConcurrentJSLockerImpl::~GCSafeConcurrentJSLockerImpl): Deleted.
(JSC::ConcurrentJSLockerImpl::ConcurrentJSLockerImpl): Deleted.
- runtime/JSCell.h:
- runtime/JSObject.cpp:
(JSC::JSObject::deleteProperty):
(JSC::JSObject::shiftButterflyAfterFlattening):
- runtime/JSObject.h:
(JSC::JSObject::getDirectConcurrently const):
- runtime/JSObjectInlines.h:
(JSC::JSObject::prepareToPutDirectWithoutTransition):
- runtime/JSType.cpp:
(WTF::printInternal):
- runtime/JSType.h:
- runtime/Structure.cpp:
(JSC::StructureTransitionTable::contains const):
(JSC::StructureTransitionTable::get const):
(JSC::StructureTransitionTable::add):
(JSC::Structure::dumpStatistics):
(JSC::Structure::Structure):
(JSC::Structure::create):
(JSC::Structure::findStructuresAndMapForMaterialization):
(JSC::Structure::materializePropertyTable):
(JSC::Structure::addPropertyTransitionToExistingStructureImpl):
(JSC::Structure::addPropertyTransitionToExistingStructureConcurrently):
(JSC::Structure::addNewPropertyTransition):
(JSC::Structure::removePropertyTransitionFromExistingStructureConcurrently):
(JSC::Structure::removeNewPropertyTransition):
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::takePropertyTableOrCloneIfPinned):
(JSC::Structure::nonPropertyTransitionSlow):
(JSC::Structure::flattenDictionaryStructure):
(JSC::Structure::pin):
(JSC::Structure::pinForCaching):
(JSC::Structure::allocateRareData):
(JSC::Structure::ensurePropertyReplacementWatchpointSet):
(JSC::Structure::copyPropertyTableForPinning):
(JSC::Structure::add):
(JSC::Structure::remove):
(JSC::Structure::visitChildren):
(JSC::Structure::canCachePropertyNameEnumerator const):
- runtime/Structure.h:
- runtime/StructureInlines.h:
(JSC::Structure::get):
(JSC::Structure::forEachPropertyConcurrently):
(JSC::Structure::transitivelyTransitionedFrom):
(JSC::Structure::prototypeChain const):
(JSC::Structure::propertyReplacementWatchpointSet):
(JSC::Structure::checkOffsetConsistency const):
(JSC::Structure::add):
(JSC::Structure::remove):
(JSC::Structure::removePropertyWithoutTransition):
(JSC::Structure::setPropertyTable):
(JSC::Structure::setPreviousID):
(JSC::Structure::ruleOutUnseenProperty const): Deleted.
(JSC::Structure::seenProperties const): Deleted.
(JSC::Structure::addPropertyHashAndSeenProperty): Deleted.
(JSC::Structure::cachedPrototypeChain const): Deleted.
(JSC::Structure::setCachedPrototypeChain): Deleted.
(JSC::Structure::clearPropertyTable): Deleted.
(JSC::Structure::setOutOfLineTypeFlags): Deleted.
(JSC::Structure::setInlineCapacity): Deleted.
(JSC::Structure::setClassInfo): Deleted.
(JSC::Structure::clearPreviousID): Deleted.
- runtime/StructureRareData.cpp:
(JSC::StructureRareData::createStructure):
(JSC::StructureRareData::create):
(JSC::StructureRareData::StructureRareData):
(JSC::StructureRareData::visitChildren):
- runtime/StructureRareData.h:
- runtime/StructureRareDataInlines.h:
(JSC::StructureRareData::setPreviousID):
(JSC::StructureRareData::clearPreviousID):
(JSC::StructureRareData::setCachedPrototypeChain): Deleted.
- runtime/StructureTransitionTable.h:
- tools/JSDollarVM.cpp:
(JSC::JSDollarVMHelper::functionGetStructureTransitionList):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
- 8:50 AM Changeset in webkit [259462] by
-
- 4 edits in trunk/LayoutTests
Flaky Test: storage/indexeddb/cursor-request-cycle.html
https://bugs.webkit.org/show_bug.cgi?id=209796
<rdar://problem/60171737>
Reviewed by Geoffrey Garen.
gc() does not guarantee all objects to be collected in our current implementation. So, instead of verifying all
cursor and request objects are released, we now only check if any of them is collected, which is enough to show
there is no ref cycle.
- storage/indexeddb/cursor-request-cycle-expected.txt:
- storage/indexeddb/cursor-request-cycle-private-expected.txt:
- storage/indexeddb/resources/cursor-request-cycle.js:
(checkCursor):
(isAnyCollected):
(onOpen.otherRequest.onsuccess.otherRequestSuccess.finalRequest.onsuccess):
(onOpen.otherRequest.onsuccess):
(onOpen):
(onOpen.cursorRequest.onsuccess): Deleted.
(onOpen.otherRequest.onsuccess.otherRequestSuccess.cursorRequest.onsuccess): Deleted.
- 8:43 AM Changeset in webkit [259461] by
-
- 5 edits2 adds in trunk
ASSERTION FAILED: m_delegate in IDBConnectionToClient::identifier()
https://bugs.webkit.org/show_bug.cgi?id=209891
<rdar://problem/59293891>
Reviewed by Geoffrey Garen.
Source/WebCore:
IDBConnectionToClient::connectionToClientClosed() can lead UniqueIDBDatabase to start processing new requests,
and we should make sure it ignores the requests from the closed connection. Otherwise, the connection can be
held alive by the request being processed. We can do that by marking connection closed before calling
connectionToClientClosed on UniqueIDBDatabaseConnection.
API Test: IndexedDB.KillWebProcessWithOpenConnection
- Modules/indexeddb/server/IDBConnectionToClient.cpp:
(WebCore::IDBServer::IDBConnectionToClient::connectionToClientClosed):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/KillWebProcessWithOpenConnection-1.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/KillWebProcessWithOpenConnection-2.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/WebProcessKillIDBCleanup.mm:
(TEST):
- 8:21 AM Changeset in webkit [259460] by
-
- 2 edits in trunk/Source/WebKit
ServiceWorkerFetchTask::timeoutTimerFired should not call contextClosed
https://bugs.webkit.org/show_bug.cgi?id=209906
<rdar://problem/61207801>
Reviewed by Chris Dumez.
Covered by http/tests/workers/service/basic-timeout.https.html no longer crashing.
- NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::timeoutTimerFired):
We should not call contextClosed now that we are nullying m_swServerConnection in contextClosed.
Instead, we should just call cannotHandle since the timer can only fire if we have not yet received any response.
- 7:57 AM Changeset in webkit [259459] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed fix after r259382
Rubber-stamped by Carlos Garcia Campos.
No new tests needed.
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkit_web_context_register_uri_scheme): Change g_return_if_fail()
calls to actually check that the passed scheme is not one of the
special ones.
- 7:35 AM Changeset in webkit [259458] by
-
- 2 edits1 delete in trunk/Source/ThirdParty/libwebrtc
Remove rtpplay.exe from the libwebrtc source folder
https://bugs.webkit.org/show_bug.cgi?id=209957
Reviewed by Eric Carlson.
- .gitignore:
- Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.
- 7:17 AM Changeset in webkit [259457] by
-
- 2 edits in trunk/Tools
[ews] Display list of test failures along-with the layout-test build step
https://bugs.webkit.org/show_bug.cgi?id=209912
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests._addToLog):
(RunWebKitTests.commandComplete): Add list of test failures to 'test-failures' log which is displayed in UI.
(ReRunWebKitTests.commandComplete): Ditto.
(RunWebKitTestsWithoutPatch.commandComplete): Ditto.
- 7:11 AM Changeset in webkit [259456] by
-
- 2 edits in trunk/Tools
REGRESSION(r259453): [Flatpak SDK] Build directory no longer bind-mounted when running tests
https://bugs.webkit.org/show_bug.cgi?id=209960
Reviewed by Carlos Alberto Lopez Perez.
The bind-mount is always needed, not only when running build-webkit.
- flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
- 6:56 AM Changeset in webkit [259455] by
-
- 3 edits2 adds in trunk
[MultiColumn] Infinite loop in RenderBlockFlow::pushToNextPageWithMinimumLogicalHeight
https://bugs.webkit.org/show_bug.cgi?id=209948
<rdar://problem/59331899>
Reviewed by Antti Koivisto.
Source/WebCore:
pushToNextPageWithMinimumLogicalHeight is supposed to find the next page/column with enough space for the content.
However we keep finding the same column because it is not balanced properly yet (while in layout, they have the initial height of LayoutUnit::max).
Test: fast/multicol/infinite-loop-with-unbalanced-column.html
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::pushToNextPageWithMinimumLogicalHeight const):
LayoutTests:
- fast/multicol/infinite-loop-with-unbalanced-column-expected.txt: Added.
- fast/multicol/infinite-loop-with-unbalanced-column.html: Added.
- 5:09 AM Changeset in webkit [259454] by
-
- 9 edits in trunk/JSTests
Re-enable previously skipped arm tests
https://bugs.webkit.org/show_bug.cgi?id=209958
Patch by Paulo Matos <Paulo Matos> on 2020-04-03
Reviewed by Adrian Perez de Castro.
In the past year, some arm tests were skipped to keep the bots green.
All known issues affecting these tests were fixed and now can be unskipped.
- stress/JSArrayBufferView-byteOffset-is-racy-from-compiler-thread.js:
- stress/dont-range-based-iterate-vector-that-is-mutated.js:
- stress/generator-cell-with-type.js:
- stress/incremental-marking-should-not-dead-lock-in-new-property-transition.js:
- stress/racy-slow-put-cloned-arguments-when-having-a-bad-time.js:
- stress/sampling-profiler-should-not-sample-beyond-stack-bounds.js:
- stress/symbol-is-destructed-before-refing-underlying-symbol-impl.js:
- stress/toctou-having-a-bad-time-new-array.js:
- 4:10 AM Changeset in webkit [259453] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] Create platform/Release directory only when build-webkit is called
https://bugs.webkit.org/show_bug.cgi?id=209954
Reviewed by Philippe Normand.
- flatpak/flatpakutils.py:
(WebkitFlatpak.clean_args): Remove creation of self.build_path.
(WebkitFlatpak.run_in_sandbox): Create self.build_path if command is
build-webkit.
- 3:46 AM Changeset in webkit [259452] by
-
- 55 edits4 copies25 adds in trunk
Add initial support for WebRTC HEVC
https://bugs.webkit.org/show_bug.cgi?id=204283
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
Add H265 packetization/depacketization and ObjC H265 encoder/decoder.
Support is switchable using a boolean given to the decoder/encoder factories.
- Source/webrtc/api/video/video_codec_type.h:
- Source/webrtc/api/video_codecs/video_codec.cc:
- Source/webrtc/api/video_codecs/video_codec.h:
(webrtc::VideoCodecH265::operator!= const):
- Source/webrtc/api/video_codecs/video_encoder.cc:
- Source/webrtc/api/video_codecs/video_encoder.h:
- Source/webrtc/api/video_codecs/video_encoder_config.cc:
- Source/webrtc/api/video_codecs/video_encoder_config.h:
- Source/webrtc/build_overrides/build.gni:
- Source/webrtc/call/rtp_payload_params.cc:
- Source/webrtc/common_video/BUILD.gn:
- Source/webrtc/common_video/h265/h265_common.cc: Added.
- Source/webrtc/common_video/h265/h265_common.h: Added.
- Source/webrtc/common_video/h265/h265_pps_parser.cc: Added.
- Source/webrtc/common_video/h265/h265_pps_parser.h: Added.
- Source/webrtc/common_video/h265/h265_sps_parser.cc: Added.
- Source/webrtc/common_video/h265/h265_sps_parser.h: Added.
- Source/webrtc/common_video/h265/h265_vps_parser.cc: Added.
- Source/webrtc/common_video/h265/h265_vps_parser.h: Added.
- Source/webrtc/media/base/media_constants.cc:
- Source/webrtc/media/base/media_constants.h:
- Source/webrtc/modules/rtp_rtcp/BUILD.gn:
- Source/webrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc:
- Source/webrtc/modules/rtp_rtcp/source/h265_sps_parser.cc: Added.
- Source/webrtc/modules/rtp_rtcp/source/h265_sps_parser.h: Added.
(webrtc::H265SpsParser::width):
(webrtc::H265SpsParser::height):
- Source/webrtc/modules/rtp_rtcp/source/rtp_format.cc:
- Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.cc: Added.
- Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.h: Added.
(webrtc::RtpPacketizerH265::Packet::Packet):
(webrtc::RtpPacketizerH265::PacketUnit::PacketUnit):
(webrtc::VideoRtpDepacketizerH265::~VideoRtpDepacketizerH265):
- Source/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc:
- Source/webrtc/modules/rtp_rtcp/source/rtp_video_header.h:
- Source/webrtc/modules/video_coding/BUILD.gn:
- Source/webrtc/modules/video_coding/codecs/h265/include/h265_globals.h: Added.
- Source/webrtc/modules/video_coding/encoded_frame.cc:
- Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc: Added.
- Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.h: Added.
- Source/webrtc/modules/video_coding/include/video_codec_interface.h:
- Source/webrtc/modules/video_coding/jitter_buffer_common.h:
- Source/webrtc/modules/video_coding/packet.cc:
- Source/webrtc/modules/video_coding/packet_buffer.cc:
- Source/webrtc/modules/video_coding/session_info.cc:
- Source/webrtc/modules/video_coding/session_info.h:
- Source/webrtc/rtc_base/experiments/min_video_bitrate_experiment.cc:
- Source/webrtc/sdk/WebKit/WebKitUtilities.h:
- Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::createWebKitEncoderFactory):
(webrtc::createWebKitDecoderFactory):
- Source/webrtc/sdk/objc/components/video_codec/RTCCodecSpecificInfoH265+Private.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
- Source/webrtc/sdk/objc/components/video_codec/RTCCodecSpecificInfoH265.h: Added.
- Source/webrtc/sdk/objc/components/video_codec/RTCCodecSpecificInfoH265.mm: Added.
(-[RTCCodecSpecificInfoH265 nativeCodecSpecificInfo]):
- Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h:
- Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:
(-[RTCDefaultVideoDecoderFactory initWithH265:]):
(-[RTCDefaultVideoDecoderFactory supportedCodecs]):
(-[RTCDefaultVideoDecoderFactory createDecoder:]):
- Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.h:
- Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:
(-[RTCDefaultVideoEncoderFactory initWithH265:]):
(+[RTCDefaultVideoEncoderFactory supportedCodecs]):
(-[RTCDefaultVideoEncoderFactory createEncoder:]):
(-[RTCDefaultVideoEncoderFactory supportedCodecs]):
- Source/webrtc/sdk/objc/components/video_codec/RTCH265ProfileLevelId.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
- Source/webrtc/sdk/objc/components/video_codec/RTCH265ProfileLevelId.mm: Added.
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm: Added.
(RTCH265FrameDecodeParams::RTCH265FrameDecodeParams):
(h265DecompressionOutputCallback):
(-[RTCVideoDecoderH265 init]):
(-[RTCVideoDecoderH265 dealloc]):
(-[RTCVideoDecoderH265 startDecodeWithNumberOfCores:]):
(-[RTCVideoDecoderH265 decode:missingFrames:codecSpecificInfo:renderTimeMs:]):
(-[RTCVideoDecoderH265 setCallback:]):
(-[RTCVideoDecoderH265 releaseDecoder]):
(-[RTCVideoDecoderH265 resetDecompressionSession]):
(-[RTCVideoDecoderH265 configureDecompressionSession]):
(-[RTCVideoDecoderH265 destroyDecompressionSession]):
(-[RTCVideoDecoderH265 setVideoFormat:]):
(-[RTCVideoDecoderH265 implementationName]):
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.mm: Added.
(-[RTCVideoEncoderH265 initWithCodecInfo:]):
(-[RTCVideoEncoderH265 dealloc]):
(-[RTCVideoEncoderH265 startEncodeWithSettings:numberOfCores:]):
(-[RTCVideoEncoderH265 encode:codecSpecificInfo:frameTypes:]):
(-[RTCVideoEncoderH265 setCallback:]):
(-[RTCVideoEncoderH265 setBitrate:framerate:]):
(-[RTCVideoEncoderH265 releaseEncoder]):
(-[RTCVideoEncoderH265 resetCompressionSession]):
(-[RTCVideoEncoderH265 configureCompressionSession]):
(-[RTCVideoEncoderH265 destroyCompressionSession]):
(-[RTCVideoEncoderH265 implementationName]):
(-[RTCVideoEncoderH265 setBitrateBps:]):
(-[RTCVideoEncoderH265 setEncoderBitrateBps:]):
(-[RTCVideoEncoderH265 frameWasEncoded:flags:sampleBuffer:width:height:renderTimeMs:timestamp:rotation:]):
(-[RTCVideoEncoderH265 scalingSettings]):
- Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.cc:
- Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.h:
- Source/webrtc/sdk/objc/native/src/objc_video_decoder_factory.mm:
(webrtc::ObjCVideoDecoderFactory::CreateVideoDecoder):
- Source/webrtc/sdk/objc/native/src/objc_video_encoder_factory.mm:
(webrtc::ObjCVideoEncoderFactory::CreateVideoEncoder):
- Source/webrtc/video/rtp_video_stream_receiver.cc:
- Source/webrtc/video/rtp_video_stream_receiver.h:
- Source/webrtc/video/send_statistics_proxy.cc:
- Source/webrtc/video/video_receive_stream.cc:
- Source/webrtc/video/video_stream_encoder.cc:
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
Add a runtime flag for H265 in lieu of VP8 and pipe it to libwebrtc factories.
Test: webrtc/h265.html
- page/Page.cpp:
(WebCore::m_deviceOrientationUpdateProvider):
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webRTCH265CodecEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCH265CodecEnabled):
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
- platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:
(WebCore::LibWebRTCProviderCocoa::createDecoderFactory):
(WebCore::LibWebRTCProviderCocoa::createEncoderFactory):
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
Source/WebKit:
Remove VP8 runtime flag and add a H365 runtime flag instead.
- Shared/WebPreferences.yaml:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
LayoutTests:
- TestExpectations:
- webrtc/h265-expected.txt: Added.
- webrtc/h265.html: Added.
- 2:21 AM Changeset in webkit [259451] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] build-webkit --flatpak-cmakeargs option is ignored
https://bugs.webkit.org/show_bug.cgi?id=209648
Reviewed by Žan Doberšek.
This patch removes redundant options from webkit-flatpak,
correctly handles the cmakeargs option and reduces the amount of
flatpak listcalls performed.
- flatpak/flatpakutils.py:
(check_flatpak):
(FlatpakPackages.init):
(FlatpakPackage.is_installed):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.init):
(WebkitFlatpak.clean_args):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.setup_dev_env):
(WebkitFlatpak.run_gdb):
- 2:13 AM Changeset in webkit [259450] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] Call setup_icecc only if use_icecream is defined
https://bugs.webkit.org/show_bug.cgi?id=209956
Reviewed by Philippe Normand.
- flatpak/flatpakutils.py:
(WebkitFlatpak.setup_dev_env):
- 1:38 AM Changeset in webkit [259449] by
-
- 4 edits in trunk/Source
FileSystem handle leaks in CurlCacheManager and NetworkCacheData when failed to open a file
https://bugs.webkit.org/show_bug.cgi?id=209949
Reviewed by Fujii Hironori.
A file handle of FileSystem is not closed when the file handle doesn't
return its status. The handle should be released before returning.
No new tests, no behavior change.
Source/WebCore:
- platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::loadIndex):
Source/WebKit:
- NetworkProcess/cache/NetworkCacheData.cpp:
(WebKit::NetworkCache::mapFile):
- 12:24 AM Changeset in webkit [259448] by
-
- 2 edits in trunk/JSTests
stress/ftl-gettypedarrayoffset-wasteful.js times out on arm/linux
https://bugs.webkit.org/show_bug.cgi?id=198754
Patch by Paulo Matos <Paulo Matos> on 2020-04-03
Reviewed by Žan Doberšek.
Unskip test.
- stress/ftl-gettypedarrayoffset-wasteful.js:
- 12:21 AM Changeset in webkit [259447] by
-
- 6 edits in trunk/Source
WebCore::HTMLMediaElement::mediaCanStart crashes
https://bugs.webkit.org/show_bug.cgi?id=209950
Reviewed by Jer Noble.
Source/WebCore:
Use WeakHashSet instead of HashSet to record MediaCanStartListeners in Document.
- dom/Document.cpp:
(WebCore::Document::addMediaCanStartListener):
(WebCore::Document::removeMediaCanStartListener):
(WebCore::Document::takeAnyMediaCanStartListener):
- dom/Document.h:
- page/MediaCanStartListener.h:
Source/WebKit:
UserMediaPermissionRequestManager does not need to inherit from
CanMakeWeakPtr<UserMediaPermissionRequestManager> because its
parent class MediaCanStartListener supports WeakPtr now.
- WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
- 12:08 AM Changeset in webkit [259446] by
-
- 3 edits in trunk/Tools
[Windows] Ignore render tree dump based results on Windows
https://bugs.webkit.org/show_bug.cgi?id=209897
Reviewed by Darin Adler.
Render tree dumps are port specific and so difficult to maintain. They are mostly very old and
have been superseded by more modern ref and text dump tests. They rarely reveal any port specific bugs.
This patch adds --ignore-render-tree-dump-results option to run-webkit-tests and enables it by
default on Apple Windows port.
With the option set the render tree dump tests are still run (so crashes are detected) but their
output is treated as if it always passed. Missing results are not written to disk.
- Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_text):
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
(_set_up_derived_options):
- 12:04 AM Changeset in webkit [259445] by
-
- 4 edits in trunk/Source/WebCore
Flesh out enclosingScrollableArea() implementations
https://bugs.webkit.org/show_bug.cgi?id=209953
Reviewed by Timothy Hatcher.
enclosingScrollableArea() is a virtual function on ScrollableArea. It's currently
only called in an unused iOS WebKit1 code path, but will soon be used for scroll
latching, so flesh out implementations.
Will be tested by future scroll latching tests.
- page/FrameView.cpp:
(WebCore::FrameView::enclosingScrollableArea const):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::enclosingScrollableArea const):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::enclosingScrollableArea const):