Timeline
Mar 8, 2019:
- 10:28 PM Changeset in webkit [242671] by
-
- 7 edits in branches/safari-607.1.40.0-branch/Source
Versioning.
- 9:43 PM SVG properties edited by
- (diff)
- 7:02 PM SVG properties edited by
- (diff)
- 6:59 PM SVG properties edited by
- (diff)
- 6:35 PM Changeset in webkit [242670] by
-
- 5 edits in trunk/Source/WebCore
Make it clearer which data is protected by the two locks in ScrollingTree
https://bugs.webkit.org/show_bug.cgi?id=195501
Reviewed by Tim Horton.
Gather ScrollingTree member variables into two structs, and name the struct
members and the locks to make it clear which data is protected by each lock.
We only need to protect data read by multiple threads; these are the scrolling
thread, the event handling thread (which runs ThreadedScrollingTree::tryToHandleWheelEvent()),
and the main thread, which pokes various bits of pin/rubber-banding state.
Ideally the main thread would always push data to the scrolling thread via a commit,
but that's not what happens now.
Suspiciously, ScrollingTree::shouldHandleWheelEventSynchronously() uses the root node,
so should probably hold a lock shared with the scrolling thread (webkit.org/b/195502).
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
(WebCore::ScrollingTree::commitTreeState):
(WebCore::ScrollingTree::setAsyncFrameOrOverflowScrollingEnabled):
(WebCore::ScrollingTree::setMainFrameScrollPosition):
(WebCore::ScrollingTree::eventTrackingTypeForPoint):
(WebCore::ScrollingTree::isRubberBandInProgress):
(WebCore::ScrollingTree::setMainFrameIsRubberBanding):
(WebCore::ScrollingTree::isScrollSnapInProgress):
(WebCore::ScrollingTree::setMainFrameIsScrollSnapping):
(WebCore::ScrollingTree::setMainFramePinState):
(WebCore::ScrollingTree::setCanRubberBandState):
(WebCore::ScrollingTree::setScrollPinningBehavior):
(WebCore::ScrollingTree::scrollPinningBehavior):
(WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
(WebCore::ScrollingTree::latchedNode):
(WebCore::ScrollingTree::setLatchedNode):
(WebCore::ScrollingTree::clearLatchedNode):
(WebCore::ScrollingTree::scrollingTreeAsText):
(WebCore::ScrollingTree::touchActionDataAtPoint const):
(WebCore::ScrollingTree::mainFrameScrollPosition): Deleted.
(WebCore::ScrollingTree::mainFrameLayoutViewport): Deleted.
(WebCore::ScrollingTree::rubberBandsAtLeft): Deleted.
(WebCore::ScrollingTree::rubberBandsAtRight): Deleted.
(WebCore::ScrollingTree::rubberBandsAtBottom): Deleted.
(WebCore::ScrollingTree::rubberBandsAtTop): Deleted.
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::hasLatchedNode const):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::stretchAmount):
- platform/graphics/FloatPoint.h:
(WebCore::FloatPoint::isZero const):
- 6:35 PM Changeset in webkit [242669] by
-
- 5 edits in trunk/Source/WebCore
Share some code that sets CALayer positions
https://bugs.webkit.org/show_bug.cgi?id=195485
Reviewed by Zalan Bujtas.
Share some code between ScrollingTreeStickyNode and ScrollingTreeFixedNode that sets the position
of a CALayer given the top-left location.
- page/scrolling/cocoa/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::relatedNodeScrollPositionDidChange):
(WebCore::ScrollingTreeFixedNodeInternal::operator*): Deleted.
- page/scrolling/cocoa/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::relatedNodeScrollPositionDidChange):
(WebCore::ScrollingTreeStickyNodeInternal::operator*): Deleted.
- platform/graphics/cocoa/WebCoreCALayerExtras.h:
- platform/graphics/cocoa/WebCoreCALayerExtras.mm:
(-[CALayer _web_setLayerTopLeftPosition:]):
- 6:14 PM Changeset in webkit [242668] by
-
- 1 copy in tags/Safari-607.1.40.0.7
Tag Safari-607.1.40.0.7.
- 5:10 PM Changeset in webkit [242667] by
-
- 3 edits1 add in trunk
Stack overflow crash in JSC::JSObject::hasInstance.
https://bugs.webkit.org/show_bug.cgi?id=195458
<rdar://problem/48710195>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/stack-overflow-in-custom-hasInstance.js: Added.
Source/JavaScriptCore:
- runtime/JSObject.cpp:
(JSC::JSObject::hasInstance):
- 4:59 PM Changeset in webkit [242666] by
-
- 4 edits in trunk/Source/WebKit
Enable ProcessAssertions on iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=195479
Reviewed by Alexey Proskuryakov.
Enable ProcessAssertions on iOS Simulator. We have some layout tests timing out in the
iOS Simulator due to the WebContent process suspending. Turning on ProcessAssertions in
the iOS Simulator seems to make those tests pass.
- UIProcess/ProcessAssertion.cpp:
- UIProcess/ProcessAssertion.h:
- UIProcess/ios/ProcessAssertionIOS.mm:
- 4:53 PM Changeset in webkit [242665] by
-
- 2 edits in trunk/LayoutTests
[ iOS Simulator ] REGRESSION (r237087) Layout Test fast/viewport/ios/*-width-viewport-after-changing-view-scale.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=195341
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:30 PM Changeset in webkit [242664] by
-
- 57 edits20 adds in trunk
Add support for Device Orientation / Motion permission API
https://bugs.webkit.org/show_bug.cgi?id=195329
<rdar://problem/47645367>
Reviewed by Geoffrey Garen.
Source/WebCore:
Add support for Device Orientation / Motion permission API:
Pages can add event listeners for 'deviceorientation' / 'devicemotion' events but
such events will not be fired until the page's JavaScript calls
DeviceOrientationEvent.requestPermission() / DeviceMotionEvent.requestPermission()
and the user grants the request.
The feature is currently behind an experimental feature flag, off by default.
Tests: fast/device-orientation/device-motion-request-permission-denied.html
fast/device-orientation/device-motion-request-permission-granted.html
fast/device-orientation/device-motion-request-permission-user-gesture.html
fast/device-orientation/device-orientation-request-permission-denied.html
fast/device-orientation/device-orientation-request-permission-granted.html
fast/device-orientation/device-orientation-request-permission-user-gesture.html
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/DeviceMotionEvent.h:
- dom/DeviceMotionEvent.idl:
- dom/DeviceOrientationAndMotionAccessController.cpp: Added.
(WebCore::DeviceOrientationAndMotionAccessController::DeviceOrientationAndMotionAccessController):
(WebCore::DeviceOrientationAndMotionAccessController::shouldAllowAccess):
(WebCore::DeviceOrientationAndMotionAccessController::setAccessState):
- dom/DeviceOrientationAndMotionAccessController.h: Added.
(WebCore::DeviceOrientationAndMotionAccessController::accessState const):
- dom/DeviceOrientationEvent.h:
- dom/DeviceOrientationEvent.idl:
- dom/DeviceOrientationOrMotionEvent.cpp: Added.
(WebCore::DeviceOrientationOrMotionEvent::requestPermission):
- dom/DeviceOrientationOrMotionEvent.h: Added.
- dom/DeviceOrientationOrMotionEvent.idl: Added.
- dom/DeviceOrientationOrMotionPermissionState.h: Added.
- dom/DeviceOrientationOrMotionPermissionState.idl: Added.
- dom/Document.cpp:
(WebCore::Document::deviceOrientationAndMotionAccessController):
- dom/Document.h:
- dom/Event.cpp:
- dom/MessagePort.cpp:
- dom/Microtasks.cpp:
- page/ChromeClient.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::deviceOrientationController const):
(WebCore::DOMWindow::deviceMotionController const):
(WebCore::DOMWindow::isAllowedToUseDeviceMotionOrientation const):
(WebCore::DOMWindow::isAllowedToAddDeviceMotionOrientationListener const):
(WebCore::DOMWindow::startListeningForDeviceOrientationIfNecessary):
(WebCore::DOMWindow::stopListeningForDeviceOrientationIfNecessary):
(WebCore::DOMWindow::startListeningForDeviceMotionIfNecessary):
(WebCore::DOMWindow::stopListeningForDeviceMotionIfNecessary):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):
- page/DOMWindow.h:
- page/DeviceController.cpp:
(WebCore::DeviceController::hasDeviceEventListener const):
- page/DeviceController.h:
- page/Settings.yaml:
Source/WebKit:
Add support for Device Orientation / Motion permission API:
This adds new SPI to WKUIDelegatePrivate, until we can make this API.
- Shared/WebPreferences.yaml:
- UIProcess/API/APIUIClient.h:
(API::UIClient::shouldAllowDeviceOrientationAndMotionAccess):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/C/WKPageUIClient.h:
- UIProcess/API/Cocoa/WKUIDelegate.h:
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::shouldAllowDeviceOrientationAndMotionAccess):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestDeviceOrientationAndMotionAccess):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::shouldAllowDeviceOrientationAndMotionAccess):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::nextDeviceOrientationAndMotionPermissionCallbackID):
(WebKit::WebPage::shouldAllowDeviceOrientationAndMotionAccess):
(WebKit::WebPage::didReceiveDeviceOrientationAndMotionAccessDecision):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Add test infrastructure to help test the Device Orientation / Motion permission API.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setShouldAllowDeviceOrientationAndMotionAccess):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::shouldAllowDeviceOrientationAndMotionAccess):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::handleDeviceOrientationAndMotionAccessRequest):
- WebKitTestRunner/TestController.h:
(WTR::TestController::setShouldAllowDeviceOrientationAndMotionAccess):
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
LayoutTests:
Add layout test coverage.
- TestExpectations:
- fast/device-orientation/device-motion-request-permission-denied-expected.txt: Added.
- fast/device-orientation/device-motion-request-permission-denied.html: Added.
- fast/device-orientation/device-motion-request-permission-granted-expected.txt: Added.
- fast/device-orientation/device-motion-request-permission-granted.html: Added.
- fast/device-orientation/device-motion-request-permission-user-gesture-expected.txt: Added.
- fast/device-orientation/device-motion-request-permission-user-gesture.html: Added.
- fast/device-orientation/device-orientation-request-permission-denied-expected.txt: Added.
- fast/device-orientation/device-orientation-request-permission-denied.html: Added.
- fast/device-orientation/device-orientation-request-permission-granted-expected.txt: Added.
- fast/device-orientation/device-orientation-request-permission-granted.html: Added.
- fast/device-orientation/device-orientation-request-permission-user-gesture-expected.txt: Added.
- fast/device-orientation/device-orientation-request-permission-user-gesture.html: Added.
- http/tests/events/device-orientation-motion-non-secure-context.html:
- http/tests/events/device-orientation-motion-secure-context-expected.txt:
- http/tests/events/device-orientation-motion-secure-context.html:
- platform/ios-wk2/TestExpectations:
- platform/ios/http/tests/events/device-orientation-motion-non-secure-context-expected.txt:
- platform/ios/http/tests/events/device-orientation-motion-secure-context-expected.txt:
- 4:17 PM Changeset in webkit [242663] by
-
- 2 edits in trunk/Source/JavaScriptCore
IntegerCheckCombiningPhase::Range can be shrunk by 8 bytes
https://bugs.webkit.org/show_bug.cgi?id=195487
Reviewed by Saam Barati.
- dfg/DFGIntegerCheckCombiningPhase.cpp:
- 3:58 PM Changeset in webkit [242662] by
-
- 3 edits in trunk/Source/WebKit
Have the UIProcess take the UnboundedNetworking assertion when downloads are in progress.
https://bugs.webkit.org/show_bug.cgi?id=195468
Reviewed by Andy Estes.
- UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::DownloadProxyMap):
(WebKit::DownloadProxyMap::createDownloadProxy): If this is the first download, and the process has the entitlement,
take the assertion.
(WebKit::DownloadProxyMap::downloadFinished):
(WebKit::DownloadProxyMap::processDidClose):
- UIProcess/Downloads/DownloadProxyMap.h:
- 3:51 PM Changeset in webkit [242661] by
-
- 4 edits2 adds in trunk
[ContentChangeObserver] Expand "isConsideredClickable" to descendants
https://bugs.webkit.org/show_bug.cgi?id=195478
<rdar://problem/48724935>
Reviewed by Simon Fraser.
Source/WebCore:
In StyleChangeScope we try to figure out whether newly visible content should stick (menu panes etc) by checking if it is clickable.
This works fine as long as all the visible elements are gaining new renderers through this style update processs.
However when an element becomes visible by a change other than display: (not)none, it's not sufficient to just check the element itself,
since it might not respond to click at all, while its descendants do.
A concrete example is a max-height value change on usps.com, where the max-height is on a container (menu pane).
This container itself is not clickable while most of its children are (menu items).
Test: fast/events/touch/ios/content-observation/clickable-content-is-inside-a-container.html
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::StyleChangeScope::StyleChangeScope):
(WebCore::ContentChangeObserver::StyleChangeScope::~StyleChangeScope):
(WebCore::ContentChangeObserver::StyleChangeScope::isConsideredHidden const):
(WebCore::ContentChangeObserver::StyleChangeScope::isConsideredClickable const):
(WebCore::isConsideredHidden): Deleted.
- page/ios/ContentChangeObserver.h:
LayoutTests:
- fast/events/touch/ios/content-observation/clickable-content-is-inside-a-container-expected.txt: Added.
- fast/events/touch/ios/content-observation/clickable-content-is-inside-a-container.html: Added.
- 3:31 PM Changeset in webkit [242660] by
-
- 2 edits in trunk/Source/JavaScriptCore
TypeLocation can be shrunk by 8 bytes
https://bugs.webkit.org/show_bug.cgi?id=195483
Reviewed by Mark Lam.
- bytecode/TypeLocation.h:
(JSC::TypeLocation::TypeLocation):
- 3:24 PM Changeset in webkit [242659] by
-
- 3 edits in trunk/Source/JavaScriptCore
GetByIdStatus can be shrunk by 16 bytes
https://bugs.webkit.org/show_bug.cgi?id=195480
Reviewed by Saam Barati.
8 bytes from reordering fields
8 more bytes by making the enum State only use 1 byte.
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::GetByIdStatus):
- bytecode/GetByIdStatus.h:
- 3:20 PM Changeset in webkit [242658] by
-
- 1 edit1 add in trunk/Tools
Add a compare-results script to compare benchmark results
https://bugs.webkit.org/show_bug.cgi?id=195486
<rdar://problem/48723397>
Reviewed by Geoffrey Garen.
This patch adds a script to compare benchmark results using Welch's two-tailed t test.
Initially, this patch only reasons about PLT5/JetStream2/Speedometer2. It will be easy
to extend it to learn about our other benchmarks.
- Scripts/compare-results: Added.
(readJSONFile):
(detectJetStream2):
(JetStream2Results):
(detectSpeedometer2):
(Speedometer2Results):
(detectPLT5):
(PLT5Results):
(detectBenchmark):
(biggerIsBetter):
(ttest):
(getOptions):
(main):
- 3:19 PM Changeset in webkit [242657] by
-
- 2 edits in trunk/Source/JavaScriptCore
PutByIdVariant can be shrunk by 8 bytes
https://bugs.webkit.org/show_bug.cgi?id=195482
Reviewed by Mark Lam.
- bytecode/PutByIdVariant.h:
(JSC::PutByIdVariant::PutByIdVariant):
- 2:12 PM Changeset in webkit [242656] by
-
- 3 edits in trunk/Source/WebCore
[ContentChangeObserver] Cleanup adjustObservedState
https://bugs.webkit.org/show_bug.cgi?id=195470
<rdar://problem/48717823>
Reviewed by Simon Fraser.
This is in preparation for introducing an observation window from touchStart -> mouseMoved.
- Cancel pending activities (future timers, pending stylesheet recalcs) when visible content change is detected.
- The fixed time window takes care of notifying the client -timers, style recalcs during the window should not signal themselves.
- Reset m_isObservingPendingStyleRecalc at StartedStyleRecalc instead of EndedStyleRecalc.
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::domTimerExecuteDidFinish):
(WebCore::ContentChangeObserver::styleRecalcDidStart):
(WebCore::ContentChangeObserver::styleRecalcDidFinish):
(WebCore::ContentChangeObserver::adjustObservedState):
- page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::hasPendingActivity const):
(WebCore::ContentChangeObserver::isObservationTimeWindowActive const):
- 1:59 PM Changeset in webkit [242655] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, follow-up after r242568
Robin pointed that calculation of
numberOfChildrenandnonEmptyIndexis unnecessary.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- 1:11 PM Changeset in webkit [242654] by
-
- 3 edits in trunk/Source/WebCore
[ContentChangeObserver] Add StartedDOMTimerExecution and StartedStyleRecalc
https://bugs.webkit.org/show_bug.cgi?id=195463
<rdar://problem/48714762>
Reviewed by Simon Fraser.
This is in preparation for introducing m_isObservingContentChanges flag to track observing state across events (touchStart -> mouseMoved).
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::domTimerExecuteDidStart):
(WebCore::ContentChangeObserver::styleRecalcDidStart):
(WebCore::ContentChangeObserver::styleRecalcDidFinish):
(WebCore::ContentChangeObserver::setShouldObserveNextStyleRecalc):
(WebCore::ContentChangeObserver::adjustObservedState):
- page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::isObservingPendingStyleRecalc const):
(WebCore::ContentChangeObserver::isObservingStyleRecalc const): Deleted.
- 12:52 PM Changeset in webkit [242653] by
-
- 5 edits in trunk/Tools
Ensure old tab state is cleared between iterations of run-benchmark
https://bugs.webkit.org/show_bug.cgi?id=195393
<rdar://problem/46885583>
Reviewed by Dewei Zhu.
a) ensure the default to restore state is not set
b) terminate Safari correctly
c) Set the system default to ignore Persistent State in Safari
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver): fix terminate processes to call terminate before killing.
(OSXBrowserDriver.prepare_env):
(OSXBrowserDriver.restore_env):
(OSXBrowserDriver.close_browsers):
(OSXBrowserDriver._terminate_processes):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: add bundle id
(OSXChromeDriver):
(OSXChromeCanaryDriver):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py: ditto
(OSXFirefoxDriver):
(OSXFirefoxNightlyDriver):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: add preferences to not restore state, bundle id
(OSXSafariDriver):
(OSXSafariDriver.prepare_env):
- 11:54 AM Changeset in webkit [242652] by
-
- 3 edits in trunk/Source/WebKit
Add assertions to help debug a WebProcessCache crash
https://bugs.webkit.org/show_bug.cgi?id=195469
Reviewed by Brady Eidson.
I suspect the process's registrableDomain in null when evictProcess() gets
called, thus crashing when lookup it up in the HashMap. Confirm this and
how this could happen via assertions.
- UIProcess/WebProcessCache.cpp:
(WebKit::WebProcessCache::evictProcess):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didStartProvisionalLoadForMainFrame):
- 11:51 AM Changeset in webkit [242651] by
-
- 2 edits in trunk/Source/WebCore
AX: AOM accessibleclick does not work on iOS
https://bugs.webkit.org/show_bug.cgi?id=195423
<rdar://problem/48682110>
Reviewed by Joanmarie Diggs.
Return this value of this method so it can be surfaced to a higher level.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityActivate]):
- 11:33 AM Changeset in webkit [242650] by
-
- 52 edits in trunk/Source/JavaScriptCore
[JSC] We should have more WithoutTransition functions which are usable for JSGlobalObject initialization
https://bugs.webkit.org/show_bug.cgi?id=195447
Reviewed by Filip Pizlo.
This patch reduces # of unnecessary structure transitions in JSGlobalObject initialization to avoid unnecessary allocations
caused by Structure transition. One example is WeakBlock allocation for StructureTransitionTable.
To achieve this, we (1) add putDirectNonIndexAccessorWithoutTransition and putDirectNativeIntrinsicGetterWithoutTransition
to add accessor properties without transition, and (2) add NameAdditionMode::WithoutStructureTransition mode to InternalFunction::finishCreation
to useputDirectWithoutTransitioninstead ofputDirect.
- inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::JSInjectedScriptHostPrototype::finishCreation):
- inspector/JSJavaScriptCallFramePrototype.cpp:
(Inspector::JSJavaScriptCallFramePrototype::finishCreation):
- runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::finishCreation):
- runtime/AsyncFunctionConstructor.cpp:
(JSC::AsyncFunctionConstructor::finishCreation):
- runtime/AsyncGeneratorFunctionConstructor.cpp:
(JSC::AsyncGeneratorFunctionConstructor::finishCreation):
- runtime/BigIntConstructor.cpp:
(JSC::BigIntConstructor::finishCreation):
- runtime/BooleanConstructor.cpp:
(JSC::BooleanConstructor::finishCreation):
- runtime/DateConstructor.cpp:
(JSC::DateConstructor::finishCreation):
- runtime/ErrorConstructor.cpp:
(JSC::ErrorConstructor::finishCreation):
- runtime/FunctionConstructor.cpp:
(JSC::FunctionConstructor::finishCreation):
- runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::finishCreation):
(JSC::FunctionPrototype::addFunctionProperties):
(JSC::FunctionPrototype::initRestrictedProperties):
- runtime/FunctionPrototype.h:
- runtime/GeneratorFunctionConstructor.cpp:
(JSC::GeneratorFunctionConstructor::finishCreation):
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::finishCreation):
- runtime/InternalFunction.h:
- runtime/IntlCollatorConstructor.cpp:
(JSC::IntlCollatorConstructor::finishCreation):
- runtime/IntlDateTimeFormatConstructor.cpp:
(JSC::IntlDateTimeFormatConstructor::finishCreation):
- runtime/IntlNumberFormatConstructor.cpp:
(JSC::IntlNumberFormatConstructor::finishCreation):
- runtime/IntlPluralRulesConstructor.cpp:
(JSC::IntlPluralRulesConstructor::finishCreation):
- runtime/JSArrayBufferConstructor.cpp:
(JSC::JSGenericArrayBufferConstructor<sharingMode>::finishCreation):
- runtime/JSArrayBufferPrototype.cpp:
(JSC::JSArrayBufferPrototype::finishCreation):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::JSGenericTypedArrayViewConstructor<ViewClass>::finishCreation):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSObject.cpp:
(JSC::JSObject::putDirectNonIndexAccessorWithoutTransition):
(JSC::JSObject::putDirectNativeIntrinsicGetterWithoutTransition):
- runtime/JSObject.h:
- runtime/JSPromiseConstructor.cpp:
(JSC::JSPromiseConstructor::finishCreation):
- runtime/JSTypedArrayViewConstructor.cpp:
(JSC::JSTypedArrayViewConstructor::finishCreation):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::JSTypedArrayViewPrototype::finishCreation):
- runtime/MapConstructor.cpp:
(JSC::MapConstructor::finishCreation):
- runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
- runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructorBase::finishCreation):
- runtime/NullGetterFunction.h:
- runtime/NullSetterFunction.h:
- runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::finishCreation):
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation):
- runtime/ProxyConstructor.cpp:
(JSC::ProxyConstructor::finishCreation):
- runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::finishCreation):
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
- runtime/SetConstructor.cpp:
(JSC::SetConstructor::finishCreation):
- runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
- runtime/StringConstructor.cpp:
(JSC::StringConstructor::finishCreation):
- runtime/SymbolConstructor.cpp:
(JSC::SymbolConstructor::finishCreation):
- runtime/WeakMapConstructor.cpp:
(JSC::WeakMapConstructor::finishCreation):
- runtime/WeakSetConstructor.cpp:
(JSC::WeakSetConstructor::finishCreation):
- wasm/js/WebAssemblyCompileErrorConstructor.cpp:
(JSC::WebAssemblyCompileErrorConstructor::finishCreation):
- wasm/js/WebAssemblyInstanceConstructor.cpp:
(JSC::WebAssemblyInstanceConstructor::finishCreation):
- wasm/js/WebAssemblyLinkErrorConstructor.cpp:
(JSC::WebAssemblyLinkErrorConstructor::finishCreation):
- wasm/js/WebAssemblyMemoryConstructor.cpp:
(JSC::WebAssemblyMemoryConstructor::finishCreation):
- wasm/js/WebAssemblyModuleConstructor.cpp:
(JSC::WebAssemblyModuleConstructor::finishCreation):
- wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:
(JSC::WebAssemblyRuntimeErrorConstructor::finishCreation):
- wasm/js/WebAssemblyTableConstructor.cpp:
(JSC::WebAssemblyTableConstructor::finishCreation):
- 11:18 AM Changeset in webkit [242649] by
-
- 3 edits1 add in trunk
op_check_tdz does not def its argument
https://bugs.webkit.org/show_bug.cgi?id=192880
<rdar://problem/46221598>
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/let-for-in.js: Added.
(foo):
Source/JavaScriptCore:
This prevented the for-in loop optimization in the bytecode generator, since
the analysis sees a redefinition of the loop variable.
- bytecode/BytecodeUseDef.h:
(JSC::computeDefsForBytecodeOffset):
- 11:15 AM Changeset in webkit [242648] by
-
- 2 edits in branches/safari-607.1.40.0-branch/Source/WebKit
Cherry-pick r242629. rdar://problem/48716549
Crash under RemoteLayerTreePropertyApplier::applyProperties
https://bugs.webkit.org/show_bug.cgi?id=195448
<rdar://problem/48588226>
Reviewed by Simon Fraser.
- UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm: (WebKit::RemoteLayerTreeHost::updateLayerTree): Under some currently-unknown circumstances, the UI process is receiving commits referring to layers that it does not know about. One understood case of this was fixed in r241899, but there seem to be cases remaining that are not understood. Also, add a release log so that we can identify any downstream effects.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:12 AM Changeset in webkit [242647] by
-
- 7 edits in branches/safari-607.1.40.0-branch/Source
Versioning.
- 11:01 AM Changeset in webkit [242646] by
-
- 5 edits in trunk/Source/WebKit
Rename AssertionState::Download.
https://bugs.webkit.org/show_bug.cgi?id=195465
Reviewed by Andy Estes.
It's (currently) about uploads and downloads.
Let's call it "UnboundedNetworking"
- NetworkProcess/Downloads/DownloadMap.cpp:
(WebKit::DownloadMap::add):
- UIProcess/ProcessAssertion.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didSetAssertionState):
- UIProcess/ios/ProcessAssertionIOS.mm:
(WebKit::flagsForState):
(WebKit::reasonForState):
- 10:34 AM Changeset in webkit [242645] by
-
- 2 edits in trunk/Source/WebKit
[macOS UI-side compositing] Mouse handling can trigger a crash before we have a scrolling tree root
https://bugs.webkit.org/show_bug.cgi?id=195467
Reviewed by Antti Koivisto.
When launching MiniBrowser with UI-side compositing enabled in a state where the window
appears under the mouse, we can hit RemoteScrollingTree::handleMouseEvent() for a mouseEnter
event before we have a scrolling tree root node, so add a null check.
- UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::handleMouseEvent):
- 10:24 AM Changeset in webkit [242644] by
-
- 2 edits in trunk/LayoutTests
(r242595) Layout Tests in imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/* are failing
https://bugs.webkit.org/show_bug.cgi?id=195466
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 10:13 AM Changeset in webkit [242643] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r242624): [GTK] New rAF code path assumes AC mode
https://bugs.webkit.org/show_bug.cgi?id=195459
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-03-08
Reviewed by Žan Doberšek.
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::scheduleCompositingLayerFlush):
The refresh monitor now calls scheduleLayerFlush() but when AC
mode is disabled this method does nothing, so setNeedsDisplay()
needs to be called instead.
- 9:32 AM Changeset in webkit [242642] by
-
- 2 edits in trunk/LayoutTests
Layout Test http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http.html is failing
https://bugs.webkit.org/show_bug.cgi?id=195461
Unreviewed test gardening.
- platform/win/TestExpectations:
- 9:02 AM Changeset in webkit [242641] by
-
- 3 edits in trunk/Source/WebCore
imported/w3c/web-platform-tests/FileAPI/reading-data-section/filereader_error.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=195441
<rdar://problem/43437394>
Reviewed by Alexey Proskuryakov.
FileReader is an ActiveDOMObject, which means that FileReader::stop() gets called when
its script execution context is about to get destroyed. FileReader::stop() sets m_state
to DONE. FileReader::abort() would schedule an asynchronous task and then ASSERT that
m_state is not DONE, which would hit if FileReader::stop() had been called in between
the task being scheduled and its execution. To address the issue, have the task abort
early if isContextStopped() returns true.
Also replace calls to setPendingActivity() / unsetPendingActivity() with a
PendingActivity data member as mismatched call to those can lead to leaks.
- fileapi/FileReader.cpp:
(WebCore::FileReader::canSuspendForDocumentSuspension const):
No reason not to suspend if there is no pending read.
(WebCore::FileReader::stop):
(WebCore::FileReader::readInternal):
(WebCore::FileReader::abort):
(WebCore::FileReader::didFinishLoading):
(WebCore::FileReader::didFail):
- fileapi/FileReader.h:
- 3:57 AM Changeset in webkit [242640] by
-
- 2 edits in trunk/Source/WebCore
GLContextEGL: desired EGL config should search for 8-bit components by default
https://bugs.webkit.org/show_bug.cgi?id=195413
Reviewed by Carlos Garcia Campos.
The EGL config search in GLContextEGL should by default look for
RGBA8888 configurations while allowing RGB565 as an alternative.
This prevents from accidentally landing on an RGBA1010102
configuration that is available with some graphics stacks, and which is
not expected in e.g. window snapshotting that's done for layout test
output comparison.
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::getEGLConfig): EGL config search should by
default request 8-bit color channels.
- 3:26 AM Changeset in webkit [242639] by
-
- 2 edits in trunk/Source/WebCore
Use a thread safe refcounter for FilterOperation.
https://bugs.webkit.org/show_bug.cgi?id=194149
Reviewed by Carlos Garcia Campos.
Use a thread safe refcounter for FilterOperation.
- platform/graphics/filters/FilterOperation.h:
- 2:18 AM Changeset in webkit [242638] by
-
- 2 edits in trunk/Tools
[GTK] Several InputMethodFilter tests are failing
https://bugs.webkit.org/show_bug.cgi?id=195408
Reviewed by Carlos Garcia Campos.
- TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp:
Regressed in r241751.
Hexadecimal values of keycodes are expressed now in upper letters.
Composited characters should be cast to UTF8 strings.
(TestWebKitAPI::TEST):
Mar 7, 2019:
- 11:11 PM Changeset in webkit [242637] by
-
- 3 edits in trunk/Tools
[GTK] Make Tools/gtkdoc python3 compatible
https://bugs.webkit.org/show_bug.cgi?id=195359
Reviewed by Carlos Garcia Campos.
- gtkdoc/generate-gtkdoc:
ConfigParser was reworked in Python 3.2 so we have adapt the code to
work with Python 2 and 3.
(get_gtkdoc_module_paths):
The iteritems() was removed in Python 3, so let's use items() that's
available in Python 2 and 3.
(get_generator_for_config):
- gtkdoc/gtkdoc.py:
(GTKDoc._run_command):
The sys.stdout.write() is expecting str in Python 3 and not bytes
(that are coming from stdout.encode()). Use sys.stdout.buffer.write()
for passing the bytes there.
- 10:17 PM Changeset in webkit [242636] by
-
- 12 edits in trunk/Source
[JSC] Make more fields lazy in JSGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=195449
Reviewed by Mark Lam.
Source/JavaScriptCore:
This patch makes more fields lazy-allocated in JSGlobalObject to save memory.
- Some minor structures like moduleRecordStructure.
- Some functions like parseInt / parseFloat. While they are eagerly created in JIT mode anyway to materialize NumberConstructor, we can lazily allocate them in non JIT mode.
- ArrayBuffer constructor. While it is eagerly allocated in WebCore, we can make lazily allocated in JSC.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
- runtime/JSArrayBufferPrototype.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::parseIntFunction const):
(JSC::JSGlobalObject::parseFloatFunction const):
(JSC::JSGlobalObject::evalFunction const):
(JSC::JSGlobalObject::strictEvalActivationStructure const):
(JSC::JSGlobalObject::moduleRecordStructure const):
(JSC::JSGlobalObject::moduleNamespaceObjectStructure const):
(JSC::JSGlobalObject::proxyObjectStructure const):
(JSC::JSGlobalObject::callableProxyObjectStructure const):
(JSC::JSGlobalObject::proxyRevokeStructure const):
(JSC::JSGlobalObject::arrayBufferConstructor const):
(JSC::JSGlobalObject::arrayBufferPrototype const):
(JSC::JSGlobalObject::arrayBufferStructure const):
- runtime/ProxyObject.h:
- runtime/StrictEvalActivation.cpp:
(JSC::StrictEvalActivation::StrictEvalActivation):
- runtime/StrictEvalActivation.h:
- wasm/js/JSWebAssemblyMemory.cpp:
(JSC::JSWebAssemblyMemory::buffer):
- wasm/js/WebAssemblyModuleConstructor.cpp:
(JSC::webAssemblyModuleCustomSections):
Source/WebCore:
Use arrayBufferConstructor() since getDirect does not work with lazy property.
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):
- 10:11 PM Changeset in webkit [242635] by
-
- 4 edits2 adds in trunk
Source/WebCore:
[ContentChangeObserver][REGRESSION] Check if visibility change happens while dispatching mouseMoved
https://bugs.webkit.org/show_bug.cgi?id=195421
<rdar://problem/48682004>
Reviewed by Simon Fraser.
Visibility change might be triggered synchronously while dispatching mouseMoved event.
Test: fast/events/touch/ios/content-observation/visibility-change-happens-while-in-mousemoved.html
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::mouseMovedDidStart):
(WebCore::ContentChangeObserver::mouseMovedDidFinish):
(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const):
- page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::isObservingContentChanges const):
LayoutTests:
[ContentChangeObserver] Check if visibility change happens while dispatching mouseMoved
https://bugs.webkit.org/show_bug.cgi?id=195421
<rdar://problem/48682004>
Reviewed by Simon Fraser.
- fast/events/touch/ios/content-observation/visibility-change-happens-while-in-mousemoved-expected.txt: Added.
- fast/events/touch/ios/content-observation/visibility-change-happens-while-in-mousemoved.html: Added.
- 10:08 PM Changeset in webkit [242634] by
-
- 4 edits2 adds in trunk
[ContentChangeObserver] Check if max-height change triggers visible content change.
https://bugs.webkit.org/show_bug.cgi?id=195417
<rdar://problem/48680631>
Reviewed by Simon Fraser.
Source/WebCore:
A fixed max-height non-zero value could indicate visible content change. usps.com uses this technique to show menu panes.
Test: fast/events/touch/ios/content-observation/visibility-change-is-max-height-change.html
- page/ios/ContentChangeObserver.cpp:
(WebCore::isConsideredHidden):
(WebCore::ContentChangeObserver::StyleChangeScope::StyleChangeScope):
(WebCore::ContentChangeObserver::StyleChangeScope::~StyleChangeScope):
(WebCore::elementImplicitVisibility): Deleted.
- page/ios/ContentChangeObserver.h:
LayoutTests:
- fast/events/touch/ios/content-observation/visibility-change-is-max-height-change-expected.txt: Added.
- fast/events/touch/ios/content-observation/visibility-change-is-max-height-change.html: Added.
- 8:51 PM Changeset in webkit [242633] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix failing EWS build for ios-sim
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::touchEventDidStart):
- 8:39 PM Changeset in webkit [242632] by
-
- 2 edits in trunk/Tools
[Win] Remove -DUCHAR_TYPE=wchar_t stopgap and learn to live with char16_t.
https://bugs.webkit.org/show_bug.cgi?id=195346
<rdar://problem/48667048>
Unreviewed build fix for clang-cl.
- DumpRenderTree/win/DumpRenderTree.cpp:
(setApplicationId): Replaced calling String::charactersWithNullTermination with String::wideCharacters to get wchar_t.
- 8:28 PM Changeset in webkit [242631] by
-
- 2 edits in trunk/Source/WebCore
[MSE] Adopt new AVSampleBufferDisplayLayer SPI
https://bugs.webkit.org/show_bug.cgi?id=195445
<rdar://problem/48480516>
Reviewed by Jer Noble.
No new tests, no functional change.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): Only register for
kCMSampleBufferConsumerNotification_BufferConsumed notiication when
-[AVSampleBufferDisplayLayer prerollDecodeWithCompletionHandler:] isn't available.
(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC): Ditto, for unregistering.
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Use
-[AVSampleBufferDisplayLayer prerollDecodeWithCompletionHandler:] when possible.
- 8:24 PM Changeset in webkit [242630] by
-
- 4 edits2 adds in trunk
[ContentChangeObserver] Click event fires immediately on hover menu at Ebbets.com
https://bugs.webkit.org/show_bug.cgi?id=195397
Reviewed by Simon Fraser.
Source/WebCore:
This patch introduces TouchEventScope to track changes triggered by touch start.
Test: fast/events/touch/ios/content-observation/visibility-change-on-touch-start-simple.html
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::touchEventDidStart):
(WebCore::ContentChangeObserver::touchEventDidFinish):
(WebCore::ContentChangeObserver::mouseMovedDidStart):
(WebCore::ContentChangeObserver::mouseMovedDidFinish):
(WebCore::ContentChangeObserver::adjustObservedState):
(WebCore::ContentChangeObserver::TouchEventScope::TouchEventScope):
(WebCore::ContentChangeObserver::TouchEventScope::~TouchEventScope):
- page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::isObservingContentChanges const):
LayoutTests:
- fast/events/touch/ios/content-observation/visibility-change-on-touch-start-simple-expected.txt: Added.
- fast/events/touch/ios/content-observation/visibility-change-on-touch-start-simple.html: Added.
- 7:26 PM Changeset in webkit [242629] by
-
- 2 edits in trunk/Source/WebKit
Crash under RemoteLayerTreePropertyApplier::applyProperties
https://bugs.webkit.org/show_bug.cgi?id=195448
<rdar://problem/48588226>
Reviewed by Simon Fraser.
- UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
Under some currently-unknown circumstances, the UI process is receiving
commits referring to layers that it does not know about.
One understood case of this was fixed in r241899, but there seem to be
cases remaining that are not understood.
Also, add a release log so that we can identify any downstream effects.
- 7:21 PM Changeset in webkit [242628] by
-
- 6 edits2 adds in trunk
[ContentChangeObserver] Introduce fixed duration content observation
https://bugs.webkit.org/show_bug.cgi?id=195295
<rdar://problem/48579913>
Reviewed by Simon Fraser.
Source/WebCore:
Some pages have a runloop-like scheduling setup where the content triggering change happens at a nested timer firing.
This patch helps finding cases like that using a 32ms long fixed window. Currently nested timers get dropped on the floor and
we stop observing for content changes before they even get fired.
Test: fast/events/touch/ios/content-observation/visibility-change-happens-on-timer-hops.html
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::ContentChangeObserver):
(WebCore::ContentChangeObserver::startContentObservationForDuration):
(WebCore::ContentChangeObserver::completeDurationBasedContentObservation):
(WebCore::ContentChangeObserver::didInstallDOMTimer):
(WebCore::ContentChangeObserver::didRemoveDOMTimer):
(WebCore::ContentChangeObserver::domTimerExecuteDidStart):
(WebCore::ContentChangeObserver::domTimerExecuteDidFinish):
(WebCore::ContentChangeObserver::styleRecalcDidStart):
(WebCore::ContentChangeObserver::styleRecalcDidFinish):
(WebCore::ContentChangeObserver::cancelPendingActivities):
(WebCore::ContentChangeObserver::didSuspendActiveDOMObjects):
(WebCore::ContentChangeObserver::willDetachPage):
(WebCore::ContentChangeObserver::contentVisibilityDidChange):
(WebCore::ContentChangeObserver::setShouldObserveNextStyleRecalc):
(WebCore::ContentChangeObserver::adjustObservedState):
(WebCore::ContentChangeObserver::StyleChangeScope::StyleChangeScope):
(WebCore::ContentChangeObserver::StyleChangeScope::~StyleChangeScope):
(WebCore::ContentChangeObserver::clearTimersAndReportContentChange): Deleted.
- page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::clearObservedDOMTimers):
(WebCore::ContentChangeObserver::isObservingContentChanges const):
(WebCore::ContentChangeObserver::hasPendingActivity const):
Source/WebKit:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):
LayoutTests:
- fast/events/touch/ios/content-observation/visibility-change-happens-on-timer-hops-expected.txt: Added.
- fast/events/touch/ios/content-observation/visibility-change-happens-on-timer-hops.html: Added.
- 6:54 PM Changeset in webkit [242627] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Remove merging must handle values into proven types in CFA
https://bugs.webkit.org/show_bug.cgi?id=195444
Reviewed by Saam Barati.
Previously, we are merging must handle values as a proven constant in CFA. This is OK as long as this proven AbstractValue is blurred by merging the other legit AbstractValues
from the successors. But let's consider the following code, this is actually generated DFG graph from the attached test in r242626.
Block #2 (loop header) succ #3, #4
...
1: ForceOSRExit
...
2: JSConstant(0)
3: SetLocal(@2, loc6)
...
4: Branch(#3, #4)
Block #3 (This is OSR entry target) pred #2, #3, must handle value for loc6 => JSConstant(Int32, 31)
...
5: GetLocal(loc6)
6: StringFromCharCode(@5)
...
Block #3 is OSR entry target. So we have must handle value for loc6 and it is Int32 constant 31. Then we merge this constant as a proven value in #3's loc6 AbstractValue.
If the value from #2 blurs the value, it is OK. However, #2 has ForceOSRExit. So must handle value suddenly becomes the only source of loc6 in #3. Then we use this constant
as a proven value. But this is not expected behavior since must handle value is just a snapshot of the locals when we kick off the concurrent compilation. In the above example,
we assume that loop index is an constant 31, but it is wrong, and OSR entry fails. Because there is no strong assumption that the must handle value is the proven type or value,
we should not merge it in CFA.
Since (1) this is just an optimization, (2) type information is already propagated in prediction injection phase, and (3) the must handle value does not show the performance
progression in r211461 and we no longer see type misprediction in marsaglia-osr-entry.js, this patch simply removes must handle value type widening in CFA.
- dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::run):
(JSC::DFG::CFAPhase::performBlockCFA):
(JSC::DFG::CFAPhase::injectOSR): Deleted.
- 5:53 PM Changeset in webkit [242626] by
-
- 4 edits2 adds in trunk
[JSC] StringFromCharCode fast path should accept 0xff in DFG and FTL
https://bugs.webkit.org/show_bug.cgi?id=195429
Reviewed by Saam Barati.
JSTests:
- stress/must-handled-values-should-not-be-used-as-proven-constants-in-cfa.js: Added.
(foo):
- stress/string-from-char-code-255.js: Added.
Source/JavaScriptCore:
We can create single characters without allocation up to 0xff character code. But currently, DFGSpeculativeJIT and FTLLowerDFGToB3 go to the slow path
for 0xff case. On the other hand, DFG DoesGC phase says GC won't happen if the child is int32 constant and it is <= 0xff. So, if you haveString.fromCharCode(0xff),
this breaks the assumption in DFG DoesGC. The correct fix is changing the check in DFGSpeculativeJIT and FTLLowerDFGToB3 from AboveOrEqual to Above.
Note that ThunkGenerators's StringFromCharCode thunk was correct.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileFromCharCode):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode):
- 5:35 PM Changeset in webkit [242625] by
-
- 2 edits in trunk/Source/WebKit
[WinCairo][WebKit] Nothing is drawn after Web process crashed
https://bugs.webkit.org/show_bug.cgi?id=195399
Reviewed by Alex Christensen.
PageClientImpl::viewSize returned 0x0 size after Web process
crashed. Restored the original implementation using GetClientRect
(Bug 52175).
- UIProcess/win/PageClientImpl.cpp:
(WebKit::PageClientImpl::viewSize):
- 4:52 PM Changeset in webkit [242624] by
-
- 38 edits1 move1 add1 delete in trunk
requestAnimationFrame should execute before the next frame
https://bugs.webkit.org/show_bug.cgi?id=177484
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-03-07
Reviewed by Simon Fraser.
Source/WebCore:
This change fixes two issues with animation timing:
- Calling the requestAnimationFrame callbacks would have happened when the DisplayLink fires. This may have happened even if the frame is missed and no display is committed.
- Style changes and layout triggered by script could trigger painting at more than 60fps. CoreAnimation commits could happen at more than 60fps, although WindowServer will throttle those, and only some will be shown on the screen.
This change introduces a new paint scheduling model where painting is
driven by a "RenderingUpdateScheduler", which only triggers paints once
per 16.7ms frame.
Code that previously scheduled a compositing layer flush now schedules a
"RenderingUpdate", and that update is driven by a DisplayRefreshMonitor
callback. When the render happens, we service requestAnimationFrame callbacks,
Web Animations and intersection observations per the "Update the rendering"
step of the HTML Event Loop specification
<https://html.spec.whatwg.org/multipage/webappapis.html#update-the-rendering>.
In the future, more rendering steps will be added to this code.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/mac/AXObjectCacheMac.mm:
Fix layout tests by adding null check.
- animation/DocumentAnimationScheduler.cpp: Removed.
- animation/DocumentAnimationScheduler.h: Removed.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::DocumentTimeline):
(WebCore::DocumentTimeline::updateThrottlingState):
(WebCore::DocumentTimeline::resumeAnimations):
(WebCore::DocumentTimeline::liveCurrentTime const):
(WebCore::DocumentTimeline::currentTime):
(WebCore::DocumentTimeline::animationTimingDidChange):
(WebCore::DocumentTimeline::scheduleAnimationResolution):
(WebCore::DocumentTimeline::unscheduleAnimationResolution):
(WebCore::DocumentTimeline::updateAnimationsAndSendEvents):
(WebCore::DocumentTimeline::internalUpdateAnimationsAndSendEvents):
(WebCore::DocumentTimeline::scheduleNextTick):
(WebCore::DocumentTimeline::updateListOfElementsWithRunningAcceleratedAnimationsForElement):
Simplify this function by handling the case of no-animations separately.
(WebCore::DocumentTimeline::resolveAnimationsForElement):
Simplify the loop and delete hasPendingAcceleratedAnimations because it
is initialized to true and is not changed inside the loop.
(WebCore::DocumentTimeline::scheduleAnimationResolutionIfNeeded): Deleted.
(WebCore::DocumentTimeline::animationResolutionTimerFired): Deleted.
- animation/DocumentTimeline.h:
- dom/Document.cpp:
(WebCore::Document::resolveStyle):
There is no need to force update in resolveStyle(). notifyFlushRequired()
will be called eventually which will scheduleRenderingUpdate().
(WebCore::Document::prepareForDestruction):
(WebCore::Document::updateAnimationsAndSendEvents):
(WebCore::Document::serviceRequestAnimationFrameCallbacks):
(WebCore::Document::windowScreenDidChange):
(WebCore::Document::updateIntersectionObservations):
(WebCore::Document::scheduleForcedIntersectionObservationUpdate): Deleted.
(WebCore::Document::animationScheduler): Deleted.
- dom/Document.h:
(WebCore::Document::numberOfIntersectionObservers const):
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::serviceRequestAnimationFrameCallbacks):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::ScriptedAnimationController::animationTimerFired):
(WebCore::ScriptedAnimationController::serviceScriptedAnimations): Deleted.
(WebCore::ScriptedAnimationController::documentAnimationSchedulerDidFire): Deleted.
- dom/ScriptedAnimationController.h:
- page/FrameView.cpp:
(WebCore::FrameView::viewportContentsChanged):
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::observe):
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::layoutIfNeeded):
(WebCore::Page::renderingUpdate):
(WebCore::Page::renderingUpdateScheduler):
(WebCore::Page::willDisplayPage): Deleted.
(WebCore::Page::addDocumentNeedingIntersectionObservationUpdate): Deleted.
(WebCore::Page::updateIntersectionObservations): Deleted.
(WebCore::Page::scheduleForcedIntersectionObservationUpdate): Deleted.
- page/Page.h:
- page/PageOverlayController.cpp:
(WebCore::PageOverlayController::didChangeViewExposedRect):
(WebCore::PageOverlayController::notifyFlushRequired):
- page/ResourceUsageData.h:
Include header files that become missing because of adding
RenderingUpdateScheduler.cpp.
- page/RenderingUpdateScheduler.cpp: Added.
(WebCore::RenderingUpdateScheduler::RenderingUpdateScheduler):
(WebCore::RenderingUpdateScheduler::scheduleRenderingUpdate):
(WebCore::RenderingUpdateScheduler::startTimer):
(WebCore::RenderingUpdateScheduler::clearTimer):
(WebCore::RenderingUpdateScheduler::windowScreenDidChange):
(WebCore::RenderingUpdateScheduler::createDisplayRefreshMonitor const):
(WebCore::RenderingUpdateScheduler::displayRefreshFired):
- page/RenderingUpdateScheduler.h: Added.
(WebCore::RenderingUpdateScheduler::create):
- page/ios/ContentChangeObserver.h:
Include header files that become missing because of adding
RenderingUpdateScheduler.cpp.
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::notifyFlushRequired):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::scheduleLayerFlushNow):
Source/WebKit:
Replace the calls to Page::layoutIfNeeded() and willDisplayPage() by
a single call to Page::renderingUpdate(). This new function implements
"Update the rendering" step of the HTML Event Loop specification
<https://html.spec.whatwg.org/multipage/webappapis.html#update-the-rendering>.
- WebProcess/WebPage/AcceleratedDrawingArea.cpp:
(WebKit::AcceleratedDrawingArea::updateBackingStoreState):
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::layerFlushTimerFired):
- WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::display):
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::layoutIfNeeded):
(WebKit::WebPage::renderingUpdate):
(WebKit::WebPage::willDisplayPage): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _viewWillDrawInternal]):
Call Page::renderingUpdate() which implements "Update the rendering"
step of the HTML Event Loop specification.
Source/WebKitLegacy/win:
- WebView.cpp:
(WebView::updateBackingStore):
(WebView::flushPendingGraphicsLayerChangesSoon):
(WebView::flushPendingGraphicsLayerChanges):
Call Page::renderingUpdate() which implements "Update the rendering"
step of the HTML Event Loop specification.
Source/WTF:
Add trace points for the page RenderingUpdate.
- wtf/SystemTracing.h:
Tools:
Add trace points for the page RenderingUpdate.
- Tracing/SystemTracePoints.plist:
LayoutTests:
There is a slight difference between the actual DRT and the expected DRT
due to animation timing change. But these two tests are not animating
correctly if they are opened in Safari with web animation turned on.
- animations/animation-multiple-callbacks-timestamp.html:
Fix variable names used by an error message.
- animations/no-style-recalc-during-accelerated-animation-expected.txt:
- animations/no-style-recalc-during-accelerated-animation.html:
One extra styleReclc was incurred due to the document styleRecalcTimer.
I think this timer is not needed anymore. I will look at removing it in
a separate patch.
- 4:44 PM Changeset in webkit [242623] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Skip compilation of unused audio device files for Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=195412
Reviewed by Eric Carlson.
Stop compiling audio_device_mac.cc, audio_mixer_manager_mac.cc and voice_processing_audio_unit.mm
as unused in WebKit.
- libwebrtc.xcodeproj/project.pbxproj:
- 4:40 PM Changeset in webkit [242622] by
-
- 11 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles: overridden CSS property should have go-to button to jump to effective property
https://bugs.webkit.org/show_bug.cgi?id=185930
<rdar://problem/40506252>
Reviewed by Matt Baker.
Introduce a new experimental jump to effective property button. The button is a small arrow button
next to an overridden CSS property. Clicking the button scrolls to the effective CSS property and
selects it.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Setting.js:
- UserInterface/Models/CSSProperty.js:
(WI.CSSProperty):
(WI.CSSProperty.prototype.update):
(WI.CSSProperty.prototype.get overridingProperty):
(WI.CSSProperty.prototype.set overridingProperty):
- UserInterface/Models/DOMNodeStyles.js:
(WI.DOMNodeStyles.prototype._markOverriddenProperties):
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
- UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.spreadsheet-style-declaration-editor .property.overridden .select-effective-property):
(.spreadsheet-style-declaration-editor .property.overridden:hover .select-effective-property,):
(.spreadsheet-style-declaration-editor .property.overridden:hover .select-effective-property::after,):
(@media (prefers-color-scheme: dark)):
- UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertySelectByProperty):
- UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorSelectProperty):
- UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
(WI.SpreadsheetRulesStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationSectionSelectProperty):
- UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype.updateStatus):
- 4:36 PM Changeset in webkit [242621] by
-
- 21 edits10 moves1 add in trunk
[ContentChangeObserver] Add a setting to be able to turn content change observation on/off
https://bugs.webkit.org/show_bug.cgi?id=195353
<rdar://problem/48626394>
Reviewed by Simon Fraser.
Source/WebCore:
Move content observation tests to a dedicated directory.
Tests: fast/events/touch/ios/content-observation/click-instead-of-hover-simple.html
fast/events/touch/ios/content-observation/hover-when-style-change-is-async.html
fast/events/touch/ios/content-observation/stuck-with-hover-state.html
fast/events/touch/ios/content-observation/style-recalc-schedule-and-force-relalc.html
fast/events/touch/ios/content-observation/visibility-change-happens-at-the-second-timer.html
- page/Settings.yaml:
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::didInstallDOMTimer):
(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const):
- page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const): Deleted.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::resetToConsistentState):
Source/WebKit:
- Shared/WebPreferences.yaml:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetContentChangeObserverEnabled):
(WKPreferencesGetContentChangeObserverEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _contentChangeObserverEnabled]):
(-[WKPreferences _setContentChangeObserverEnabled:]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleSyntheticClick):
Source/WebKitLegacy/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences contentChangeObserverEnabled]):
(-[WebPreferences setContentChangeObserverEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Tools:
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
LayoutTests:
- fast/events/touch/ios/content-observation/click-instead-of-hover-simple-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/click-instead-of-hover-simple-expected.txt.
- fast/events/touch/ios/content-observation/click-instead-of-hover-simple.html: Renamed from LayoutTests/fast/events/touch/ios/click-instead-of-hover-simple.html.
- fast/events/touch/ios/content-observation/hover-when-style-change-is-async-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/hover-when-style-change-is-async-expected.txt.
- fast/events/touch/ios/content-observation/hover-when-style-change-is-async.html: Renamed from LayoutTests/fast/events/touch/ios/hover-when-style-change-is-async.html.
- fast/events/touch/ios/content-observation/stuck-with-hover-state-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/stuck-with-hover-state-expected.txt.
- fast/events/touch/ios/content-observation/stuck-with-hover-state.html: Renamed from LayoutTests/fast/events/touch/ios/stuck-with-hover-state.html.
- fast/events/touch/ios/content-observation/style-recalc-schedule-and-force-relalc-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/style-recalc-schedule-and-force-relalc-expected.txt.
- fast/events/touch/ios/content-observation/style-recalc-schedule-and-force-relalc.html: Renamed from LayoutTests/fast/events/touch/ios/style-recalc-schedule-and-force-relalc.html.
- fast/events/touch/ios/content-observation/visibility-change-happens-at-the-second-timer-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/visibility-change-happens-at-the-second-timer-expected.txt.
- fast/events/touch/ios/content-observation/visibility-change-happens-at-the-second-timer.html: Renamed from LayoutTests/fast/events/touch/ios/visibility-change-happens-at-the-second-timer.html.
- 4:23 PM Changeset in webkit [242620] by
-
- 2 edits in trunk/Source/WebCore
Make sure an empty host matches the internal representation "nullOrigin" in WebCore::RegistrableDomain::matches()
https://bugs.webkit.org/show_bug.cgi?id=195435
Reviewed by Brent Fulgham.
No new tests. Tests are currently failing and will pass again with
this patch.
WebCore::RegistrableDomain::matches() is a quick way to compare a
RegistrableDomain with a URL. Since RegistrableDomain represents the
empty host as "nullOrigin," a URL with an empty host needs to match
that representation in WebCore::RegistrableDomain::matches().
Failure to do so caused debug assertions in fast/ layout tests after
https://trac.webkit.org/changeset/242603/webkit.
- platform/RegistrableDomain.h:
(WebCore::RegistrableDomain::matches const):
- 4:18 PM Changeset in webkit [242619] by
-
- 5 edits in trunk/Source/WebCore
Unreviewed build fixes since MTLClampToBorderColor is only supported on macOS.
- Modules/webgpu/GPUSamplerDescriptor.idl:
- platform/graphics/gpu/GPUSamplerDescriptor.h:
- platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm: Forgot include.
- platform/graphics/gpu/cocoa/GPUSamplerMetal.mm:
(WebCore::mtlAddressModeForAddressMode):
(WebCore::tryCreateMtlSamplerState):
(WebCore::mtlBorderColorForBorderColor): Deleted.
- 4:10 PM Changeset in webkit [242618] by
-
- 5 edits in tags/Safari-608.1.8/Source/WebCore
Cherry-pick r242601. rdar://problem/48518959
[iOS WK] REGRESSION (r242132): Fixed position banners flicker and move when scrolling (Apple, Tesla, YouTube, Reddit)
https://bugs.webkit.org/show_bug.cgi?id=195396
rdar://problem/48518959
Reviewed by Antti Koivisto.
r242132 introduced two issues that contributed to jumpiness of position:fixed layers when scrolling.
First, ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling() would early return if the scroll position
hadn't changed. It also needs to check the supplied layoutViewport (if any), but in some cases running the
notifyRelatedNodesAfterScrollPositionChange() code is necessary even without a scroll position change:
if the web process has committed new scrolling tree state (e.g. with new fixed constraints) since
the last call, we have to run the layer positioning code to have fixed layers re-adjust their position relative
to the root. This was the primary bug fix.
Secondly, a layer tree commit can give ScrollingTreeFrameScrollingNode a new layout viewport, but we need to
adjust this by the scrolling tree's current scroll position in case it gets used before the next scroll.
Currently no way to test this, as it's very timing-dependent.
- page/scrolling/ScrollingTreeFrameScrollingNode.cpp: (WebCore::ScrollingTreeFrameScrollingNode::commitStateBeforeChildren): (WebCore::ScrollingTreeFrameScrollingNode::scrollPositionAndLayoutViewportMatch):
- page/scrolling/ScrollingTreeFrameScrollingNode.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::scrollPositionAndLayoutViewportMatch): (WebCore::ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling):
- page/scrolling/ScrollingTreeScrollingNode.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:50 PM Changeset in webkit [242617] by
-
- 2 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening.
- platform/wincairo/TestExpectations:
- 3:30 PM Changeset in webkit [242616] by
-
- 14 edits6 adds in trunk/Source
[Apple Pay] Untangle PKPaymentAuthorizationViewController from WebPaymentCoordinatorProxy
https://bugs.webkit.org/show_bug.cgi?id=195349
<rdar://problem/48625510>
Reviewed by Alex Christensen.
Source/WebCore/PAL:
Moved soft-linking of PKPaymentErrorDomain from WebPaymentCoordinatorProxy to here and used
a more descriptive platform macro.
- pal/cocoa/PassKitSoftLink.h:
- pal/cocoa/PassKitSoftLink.mm:
Source/WebKit:
Introduced PaymentAuthorizationPresenter and WKPaymentAuthorizationDelegate to encapsulate
PKPaymentAuthorizationViewController and its delegate. Taught WebPaymentCoordinatorProxy to
interact with PaymentAuthorizationPresenter rather than PKPAVC directly.
These changes will allow us to swap out PKPaymentAuthorizationViewController with PKPaymentAuthorizationController in a follow-on patch.
- Platform/cocoa/PaymentAuthorizationPresenter.h: Added. Defined the abstract interface for
payment authorization presenters that use PKPA(V)C.
- Platform/cocoa/PaymentAuthorizationPresenter.mm: Added.
(WebKit::toPKPaymentAuthorizationStatus): Moved from WebPaymentCoordinatorProxyCocoa.mm.
(WebKit::toPKPaymentErrorCode): Ditto.
(WebKit::toNSError): Ditto.
(WebKit::toNSErrors): Ditto.
(WebKit::toPKShippingMethods): Ditto.
(WebKit::PaymentAuthorizationPresenter::completeMerchantValidation): Added. Implements the
logic previously in WebPaymentCoordinatorProxy::platformCompleteMerchantValidation.
(WebKit::PaymentAuthorizationPresenter::completePaymentMethodSelection): Ditto for
WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection.
(WebKit::PaymentAuthorizationPresenter::completePaymentSession): Ditto for
(WebKit::PaymentAuthorizationPresenter::completeShippingContactSelection): Ditto for
WebPaymentCoordinatorProxy::platformCompletePaymentSession.
(WebKit::PaymentAuthorizationPresenter::completeShippingMethodSelection): Ditto for
WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection.
- Platform/cocoa/PaymentAuthorizationViewController.h: Added. Defined a subclass of PaymentAuthorizationPresenter for PKPaymentAuthorizationViewController.
- Platform/cocoa/PaymentAuthorizationViewController.mm: Added.
(-[WKPaymentAuthorizationViewControllerDelegate initWithPresenter:]): Added a PKPAVC
delegate that's a subclass of WKPaymentAuthorizationDelegate.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewControllerDidFinish:]):
Called -[WKPaymentAuthorizationDelegate _didFinish].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:handler:]): Called
-[WKPaymentAuthorizationDelegate _didAuthorizePayment:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]): Called
-[WKPaymentAuthorizationDelegate _didSelectShippingMethod:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]): Called
-[WKPaymentAuthorizationDelegate _didSelectShippingContact:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]): Called
-[WKPaymentAuthorizationDelegate _didSelectPaymentMethod:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:willFinishWithError:]):
Called -[WKPaymentAuthorizationDelegate _willFinishWithError:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didRequestMerchantSession:]): Called
-[WKPaymentAuthorizationDelegate _didRequestMerchantSession:].
- Platform/cocoa/WKPaymentAuthorizationDelegate.h: Added.
- Platform/cocoa/WKPaymentAuthorizationDelegate.mm: Added.
(-[WKPaymentAuthorizationDelegate summaryItems]): Added a summaryItems getter.
(-[WKPaymentAuthorizationDelegate shippingMethods]): Ditto for shippingMethods.
(-[WKPaymentAuthorizationDelegate completeMerchantValidation:error:]): Called
_didRequestMerchantSessionCompletion then set it to nil.
(-[WKPaymentAuthorizationDelegate completePaymentMethodSelection:]): Ditto for
_didSelectPaymentMethodCompletion.
(-[WKPaymentAuthorizationDelegate completePaymentSession:errors:didReachFinalState:]): Ditto
for _didAuthorizePaymentCompletion.
(-[WKPaymentAuthorizationDelegate completeShippingContactSelection:summaryItems:shippingMethods:errors:]):
Ditto for _didSelectShippingContactCompletion.
(-[WKPaymentAuthorizationDelegate completeShippingMethodSelection:]): Ditto for
_didSelectShippingMethodCompletion.
(-[WKPaymentAuthorizationDelegate invalidate]): If there's an outstanding authorization
callback, called -completePaymentSession:errors:didReachFinalState: with a state of
PKPaymentAuthorizationStatusFailure.
(-[WKPaymentAuthorizationDelegate _initWithPresenter:]):
(-[WKPaymentAuthorizationDelegate _didAuthorizePayment:completion:]): Added. Implements the
logic previously in WKPaymentAuthorizationViewControllerDelegate.
(-[WKPaymentAuthorizationDelegate _didFinish]): Ditto.
(-[WKPaymentAuthorizationDelegate _didRequestMerchantSession:]): Ditto.
(-[WKPaymentAuthorizationDelegate _didSelectPaymentMethod:completion:]): Ditto.
(-[WKPaymentAuthorizationDelegate _didSelectShippingContact:completion:]): Ditto.
(toShippingMethod): Moved from WebPaymentCoordinatorProxyCocoa.mm.
(-[WKPaymentAuthorizationDelegate _didSelectShippingMethod:completion:]): Added. Implements
the logic previously in WKPaymentAuthorizationViewControllerDelegate.
(-[WKPaymentAuthorizationDelegate _willFinishWithError:]): Ditto.
- Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::presenterWillValidateMerchant): To conform to
PaymentAuthorizationPresenter::Client, renamed from validateMerchant.
(WebKit::WebPaymentCoordinatorProxy::presenterDidAuthorizePayment): Renamed from
didAuthorizePayment.
(WebKit::WebPaymentCoordinatorProxy::presenterDidFinish): Moved logic here that previously
existed in WKPaymentAuthorizationViewControllerDelegate.
(WebKit::WebPaymentCoordinatorProxy::presenterDidSelectShippingMethod): Renamed from
didSelectShippingMethod.
(WebKit::WebPaymentCoordinatorProxy::presenterDidSelectShippingContact): Renamed from
didSelectShippingContact.
(WebKit::WebPaymentCoordinatorProxy::presenterDidSelectPaymentMethod): Renamed from
didSelectPaymentMethod.
(WebKit::WebPaymentCoordinatorProxy::validateMerchant): Renamed to
presenterWillValidateMerchant.
(WebKit::WebPaymentCoordinatorProxy::didAuthorizePayment): Renamed to
presenterDidAuthorizePayment.
(WebKit::WebPaymentCoordinatorProxy::didSelectShippingMethod): Renamed to
presenterDidSelectShippingMethod.
(WebKit::WebPaymentCoordinatorProxy::didSelectShippingContact): Renamed to
presenterDidSelectShippingContact.
(WebKit::WebPaymentCoordinatorProxy::didSelectPaymentMethod): Renamed to
didSelectPaymentMethod.
- Shared/ApplePay/WebPaymentCoordinatorProxy.h: Changed WebPaymentCoordinatorProxy to
subclass PaymentAuthorizationPresenter::Client.
- Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h: Removed WKPaymentAuthorizationViewControllerDelegate interface and declared some helper functions
needed by PaymentAuthorizationPresenter.
- Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::toPKPaymentSummaryItemType): Removed static keyword.
(WebKit::toDecimalNumber): Ditto.
(WebKit::toPKPaymentSummaryItem): Ditto.
(WebKit::toPKPaymentSummaryItems): Ditto.
(WebKit::toPKShippingMethod): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformPaymentRequest): Changed to call
m_authorizationPresenter.
(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentSession): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompleteMerchantValidation): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection): Ditto.
(-[WKPaymentAuthorizationViewControllerDelegate initWithPaymentCoordinatorProxy:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate invalidate]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:willFinishWithError:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didRequestMerchantSession:]): Deleted.
(toShippingMethod): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewControllerDidFinish:]): Deleted.
(WebKit::toPKPaymentAuthorizationStatus): Moved to PaymentAuthorizationPresenter.mm.
(WebKit::toPKPaymentErrorCode): Ditto.
(WebKit::toNSError): Ditto.
(WebKit::toNSErrors): Ditto.
- Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI): Changed to present a
PaymentAuthorizationPresenter rather than a PKPAVC.
(WebKit::WebPaymentCoordinatorProxy::hidePaymentUI): Changed to dismiss a
PaymentAuthorizationPresenter rather than a PKPAVC.
- Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI): Ditto.
(WebKit::WebPaymentCoordinatorProxy::hidePaymentUI): Ditto.
- SourcesCocoa.txt:
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::paymentCoordinatorAuthorizationPresenter): Added. Returns a new
PaymentAuthorizationViewController.
- WebKit.xcodeproj/project.pbxproj:
- 3:03 PM Changeset in webkit [242615] by
-
- 30 edits6 copies1 add in trunk
[Web GPU] GPUSampler implementation
https://bugs.webkit.org/show_bug.cgi?id=195427
<rdar://problem/48686011>
Reviewed by Dean Jackson.
Source/WebCore:
Implement ability to create GPUSamplers and use them as pipeline resource bindings.
Test: texture-triangle-strip.html updated.
Add symbols to project:
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
GPUSampler creation:
- Modules/webgpu/GPUSamplerDescriptor.idl: Added.
- Modules/webgpu/WebGPUDevice.cpp:
(WebCore::WebGPUDevice::createSampler const): Added.
- Modules/webgpu/WebGPUDevice.h:
- Modules/webgpu/WebGPUDevice.idl:
- Modules/webgpu/WebGPUSampler.cpp: Added.
(WebCore::WebGPUSampler::create):
(WebCore::WebGPUSampler::WebGPUSampler):
- Modules/webgpu/WebGPUSampler.h: Added.
(WebCore::WebGPUSampler::sampler const):
- Modules/webgpu/WebGPUSampler.idl: Added.
- platform/graphics/gpu/GPUDevice.cpp:
(WebCore::GPUDevice::tryCreateSampler const): Added.
- platform/graphics/gpu/GPUDevice.h:
- platform/graphics/gpu/GPUSampler.h: Added.
(WebCore::GPUSampler::platformSampler const):
- platform/graphics/gpu/GPUSamplerDescriptor.h: Added.
- platform/graphics/gpu/cocoa/GPUSamplerMetal.mm: Added.
(WebCore::mtlAddressModeForAddressMode):
(WebCore::mtlBorderColorForBorderColor):
(WebCore::mtlMinMagFilterForFilterMode):
(WebCore::mtlMipFilterForFilterMode):
(WebCore::tryCreateMtlSamplerState):
(WebCore::GPUSampler::tryCreate):
(WebCore::GPUSampler::GPUSampler):
Move GPUCompareFunction to Utils for shared use.
- platform/graphics/gpu/GPUCompareFunction.h:
- platform/graphics/gpu/GPUUtils.h:
- platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm:
(WebCore::tryCreateMtlDepthStencilState):
(WebCore::validateAndConvertDepthCompareFunctionToMtl): Deleted.
- platform/graphics/gpu/cocoa/GPUUtilsMetal.mm:
(WebCore::platformTextureFormatForGPUTextureFormat):
(WebCore::platformCompareFunctionForGPUCompareFunction):
Expand bind groups to accept GPUSamplers:
- Modules/webgpu/WebGPUBindGroupBinding.h:
- Modules/webgpu/WebGPUBindGroupBinding.idl:
- Modules/webgpu/WebGPUBindGroupDescriptor.cpp:
(WebCore::WebGPUBindGroupDescriptor::asGPUBindGroupDescriptor const):
- platform/graphics/gpu/GPUBindGroupBinding.h:
- platform/graphics/gpu/GPUProgrammablePassEncoder.h:
- platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm:
(WebCore::GPUProgrammablePassEncoder::setBindGroup):
(WebCore::GPUProgrammablePassEncoder::setResourceAsBufferOnEncoder):
(WebCore::GPUProgrammablePassEncoder::setResourceAsSamplerOnEncoder): Added.
(WebCore::GPUProgrammablePassEncoder::setResourceAsTextureOnEncoder):
Misc:
- Modules/webgpu/WebGPUTexture.cpp: Missing includes.
- Modules/webgpu/WebGPUTexture.h:
- Modules/webgpu/WebGPUSwapChain.cpp: Removed extra include.
LayoutTests:
Update texture-triangle-strip to use a GPUSampler provided through bindings instead of creating one in shader.
- webgpu/texture-triangle-strip.html:
- 3:01 PM Changeset in webkit [242614] by
-
- 3 edits in trunk/Source/JavaScriptCore
Follow up refactoring in try-finally code after r242591.
https://bugs.webkit.org/show_bug.cgi?id=195428
Reviewed by Saam Barati.
- Added some comments in emitFinallyCompletion() to describe each completion case.
- Converted CatchEntry into a struct.
- Renamed variable hasBreaksOrContinuesNotCoveredByJumps to hasBreaksOrContinuesThatEscapeCurrentFinally to be more clear about its purpose.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::emitOutOfLineExceptionHandler):
(JSC::BytecodeGenerator::emitFinallyCompletion):
- bytecompiler/BytecodeGenerator.h:
- 2:41 PM Changeset in webkit [242613] by
-
- 3 edits in trunk/Source/JavaScriptCore
CompactVariableMap::Handle's copy operator= leaks the previous data
https://bugs.webkit.org/show_bug.cgi?id=195398
Reviewed by Yusuke Suzuki.
The copy constructor was just assigning |this| to the new value,
forgetting to decrement the ref count of the thing pointed to by
the |this| handle. Based on Yusuke's suggestion, this patch refactors
the move constructor, move operator=, and copy operator= to use the
swap() primitive and the copy constructor primitive.
- parser/VariableEnvironment.cpp:
(JSC::CompactVariableMap::Handle::Handle):
(JSC::CompactVariableMap::Handle::swap):
(JSC::CompactVariableMap::Handle::operator=): Deleted.
- parser/VariableEnvironment.h:
(JSC::CompactVariableMap::Handle::Handle):
(JSC::CompactVariableMap::Handle::operator=):
- 2:17 PM Changeset in webkit [242612] by
-
- 4 edits2 adds in trunk/LayoutTests
REGRESSION: ( r231040 ) Layout Test http/tests/security/xss-DENIED-xsl-external-entity.xml is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189724
<rdar://problem/48422520>
Reviewed by Geoffrey Garen.
Copy the flaky test into a new test for which we use DumpJSConsoleLogInStdErr.
This should make the new test no longer flaky in WK1.
Run this new test for WK1 only and run the original test for WK2 only.
- TestExpectations:
- http/tests/security/xss-DENIED-xsl-external-entity-no-logging-expected.txt: Added.
- http/tests/security/xss-DENIED-xsl-external-entity-no-logging.xml: Added.
- platform/ios-wk1/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/wk2/TestExpectations:
- 1:50 PM Changeset in webkit [242611] by
-
- 2 edits in trunk/Source/WebKit
Regression(r242580) WebKit.NetworkProcessCrashWithPendingConnection API is crashing on iOS debug
https://bugs.webkit.org/show_bug.cgi?id=195416
Reviewed by Antti Koivisto.
Drop ASSERT_NOT_REACHED() in WebPage::didCompletePageTransition() when the tree is still frozen due to
LayerTreeFreezeReason::ProcessSuspended. As demonstrated by this API test, nothing prevents a load from
completing and WebPage::didCompletePageTransition() to get called *after* WebProcess::prepareToSuspend()
has been called. From the logging during the test, I can tell that WebProcess::processDidResume() gets
called later on and the LayerTreeFreezeReason::ProcessSuspended freezing reason gets dropped, as expected.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCompletePageTransition):
- 1:49 PM Changeset in webkit [242610] by
-
- 7 edits in trunk/Source/WebKit
Clean up / simplify ProcessAssertion code
https://bugs.webkit.org/show_bug.cgi?id=195394
Reviewed by Geoffrey Garen.
Clean up / simplify ProcessAssertion code to facilitate its maintenance and make it
less error-prone.
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
- UIProcess/ProcessAssertion.cpp:
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::setState):
- UIProcess/ProcessAssertion.h:
(WebKit::ProcessAssertion::Client::~Client):
(WebKit::ProcessAssertion::setClient):
(WebKit::ProcessAssertion::client):
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::didConnectToProcess):
- UIProcess/ProcessThrottler.h:
- UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager dealloc]):
(-[WKProcessAssertionBackgroundTaskManager addAssertionNeedingBackgroundTask:]):
(-[WKProcessAssertionBackgroundTaskManager removeAssertionNeedingBackgroundTask:]):
(-[WKProcessAssertionBackgroundTaskManager _notifyAssertionsOfImminentSuspension]):
(-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::processAssertionWasInvalidated):
(WebKit::ProcessAssertion::setState):
(WebKit::ProcessAndUIAssertion::updateRunInBackgroundCount):
(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::~ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::processAssertionWasInvalidated):
(WebKit::ProcessAndUIAssertion::setState):
(WebKit::ProcessAndUIAssertion::uiAssertionWillExpireImminently):
- 1:46 PM SVG properties edited by
- (diff)
- 1:44 PM Changeset in webkit [242609] by
-
- 4 edits in trunk/Source
Unreviewed, rolling out r242297.
https://bugs.webkit.org/show_bug.cgi?id=195430
Broke Microsoft Visio. (Requested by dydz on #webkit).
Reverted changeset:
"[iOS] Turn mouse event simulation on by default"
https://bugs.webkit.org/show_bug.cgi?id=195218
https://trac.webkit.org/changeset/242297
- 1:43 PM Changeset in webkit [242608] by
-
- 2 edits in trunk/Source/WebCore
Crash in com.apple.WebCore: WebCore::IDBTransaction::pendingOperationTimerFired + 72
https://bugs.webkit.org/show_bug.cgi?id=195214
<rdar://problem/48461116>
Reviewed by Geoffrey Garen.
When IDBTransaction is ready to commit, a commit operation would be schedule to
m_pendingTransactionOperationQueue. If connection to IDBServer is lost, pending operations are moved to
m_transactionOperationsInProgressQueue and will be completed with TransactionOperation::doComplete. doComplete
executes complete function of the operation, clears the complete function, and then removes the operation from
m_transactionOperationsInProgressQueue. In doComplete, we do early return when complete function is null,
since the doComplete could be invoked twice due to the race conditions between receiving "operation complete"
message from server and client-side abort.
However, commit operation does not have a complete function because it should be the last operation of
transaction and it gets removed from queue in its perform function. A commit operation would not be removed from
m_transactionOperationsInProgressQueue because of the early return. It would be removed from
m_transactionOperationMap, which may hold the last ref to the commit operation, in
IDBTransaction::connectionClosedFromServer. In this case, when pendingOperationTimerFired is called later, the
commit operation left in m_transactionOperationsInProgressQueue would be used and found to be freed. We should
not use null check of complete function to decide whether an operation is completed.
- Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::doComplete):
- 1:42 PM SVG properties edited by
- (diff)
- 1:41 PM SVG properties edited by
- (diff)
- 1:35 PM Changeset in webkit [242607] by
-
- 4 edits in tags/Safari-608.1.8/Source
Revert r242297. rdar://problem/48686655
- 1:34 PM SVG properties edited by
- (diff)
- 1:25 PM SVG properties edited by
- (diff)
- 12:40 PM Changeset in webkit [242606] by
-
- 5 edits in trunk
Web Inspector: Protocol: add type checking when commands are called via invoke
https://bugs.webkit.org/show_bug.cgi?id=195310
<rdar://problem/48588679>
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Command.prototype.invoke.deliverFailure): Added.
(InspectorBackend.Command.prototype.invoke):
(InspectorBackend.Command.prototype._invokeWithArguments):
LayoutTests:
- inspector/protocol/inspector-backend-invocation-return-value.html:
- inspector/protocol/inspector-backend-invocation-return-value-expected.txt:
- 12:19 PM SVG properties created by
- 12:18 PM WikiStart edited by
- (diff)
- 12:17 PM WikiStart edited by
- (diff)
- 11:43 AM Changeset in webkit [242605] by
-
- 5 edits in trunk/Source/JavaScriptCore
Lazily decode cached bytecode
https://bugs.webkit.org/show_bug.cgi?id=194810
Reviewed by Saam Barati.
Like lazy parsing, we should pause at code block boundaries. Instead
of always eagerly decoding UnlinkedFunctionExecutable's UnlinkedCodeBlocks,
we store their offsets in the executable and lazily decode them on the next
call tounlinkedCodeBlockFor.
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::~UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::visitChildren):
(JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor):
(JSC::UnlinkedFunctionExecutable::decodeCachedCodeBlocks):
- bytecode/UnlinkedFunctionExecutable.h:
- runtime/CachedTypes.cpp:
(JSC::Decoder::Decoder):
(JSC::Decoder::~Decoder):
(JSC::Decoder::create):
(JSC::Decoder::offsetOf):
(JSC::Decoder::cacheOffset):
(JSC::Decoder::ptrForOffsetFromBase):
(JSC::Decoder::handleForEnvironment const):
(JSC::Decoder::setHandleForEnvironment):
(JSC::Decoder::addFinalizer):
(JSC::VariableLengthObject::isEmpty const):
(JSC::CachedWriteBarrier::isEmpty const):
(JSC::CachedFunctionExecutable::unlinkedCodeBlockForCall const):
(JSC::CachedFunctionExecutable::unlinkedCodeBlockForConstruct const):
(JSC::CachedFunctionExecutable::decode const):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::decodeCodeBlockImpl):
(JSC::isCachedBytecodeStillValid):
(JSC::decodeFunctionCodeBlock):
- runtime/CachedTypes.h:
(JSC::Decoder::vm):
- 11:24 AM Changeset in webkit [242604] by
-
- 9 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r242118): WI.ScopeBar missing background
https://bugs.webkit.org/show_bug.cgi?id=195299
Reviewed by Joseph Pecoraro.
Rework the way
color,background-color, andborder-colorare set forWI.ScopeBarto
use CSS variables instead. Divides the variables into three categories:
- default: these are the values that the
WI.ScopeBarwould use normally - override: these are values that take precidence over the default (e.g. set by other elements)
- falls back to default when no value is set
- actual: this is the resulting value that will be used when displaying
- this way, other elements can "mirror" the styling of the
WI.ScopeBar
- this way, other elements can "mirror" the styling of the
- UserInterface/Views/ScopeBar.css:
(.scope-bar):
(.scope-bar > li):
(.scope-bar > li::before):
(.scope-bar > li:matches(.selected, :hover)):
(.scope-bar > li:not(.selected):hover::after):
(.scope-bar > li.selected:active::after):
(.scope-bar > li.multiple > select):
(body[dir=ltr] .scope-bar > li.multiple > select):
(body[dir=rtl] .scope-bar > li.multiple > select):
(.scope-bar > li.multiple:not(.selected) > select): Added.
(.scope-bar > li.multiple > .arrows):
(.scope-bar > li::before): Deleted.
(.scope-bar.default-item-selected > li.multiple.selected::before): Deleted.
(.scope-bar > li:matches(.selected, :hover)::before): Deleted.
(.scope-bar > li.selected:active::before): Deleted.
(.scope-bar > li.multiple.selected > select): Deleted.
(body[dir=ltr] .scope-bar > li.multiple > .arrows): Deleted.
(body[dir=rtl] .scope-bar > li.multiple > .arrows): Deleted.
(.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows): Deleted.
(.scope-bar > li:matches(.selected, :active)): Deleted.
(@media (prefers-color-scheme: dark)): Deleted.
Switch to using::aftersince::beforeis more commonly used.
- UserInterface/Views/MultipleScopeBarItem.js:
(WI.MultipleScopeBarItem.prototype._handleMouseDown):
Drive-by: fix the <select> alignment by re-firing the "mousedown" event on it.
- UserInterface/Views/AuditTestGroupContentView.js:
(WI.AuditTestGroupContentView.prototype.layout):
- UserInterface/Views/AuditTestGroupContentView.css:
(.content-view.audit-test-group > header > nav > .scope-bar > li):
(.content-view.audit-test-group > header > nav > .scope-bar > li:not(:hover, .selected)):
(.content-view.audit-test-group > header > nav > .scope-bar > li > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.pass > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.warn > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.fail > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.error > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.unsupported > img): Added.
(.content-view.audit-test-group > section > .audit-test-case:first-child, .content-view.audit-test-group > section > .audit-test-case.filtered ~ .audit-test-case:not(.filtered), .content-view.audit-test-group > section > .audit-test-group + .audit-test-case, .content-view.audit-test-group > section > .audit-test-case + .audit-test-group): Added.
(.content-view.audit-test-group > section > .audit-test-case:not(.filtered) ~ .audit-test-case:not(.filtered)): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.pass::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.warn::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.fail::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.error::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.unsupported::before): Deleted.
(.content-view.audit-test-group > section > .audit-test-case:first-child, .content-view.audit-test-group > section > .audit-test-group + .audit-test-case, .content-view.audit-test-group > section > .audit-test-case + .audit-test-group): Deleted.
Replace the::beforeimage with an actual<img>now that theWI.ScopeBaritself uses
a pseudo-element for the background styling.
- UserInterface/Views/LogContentView.js:
(WI.LogContentView):
- UserInterface/Views/LogContentView.css:
(.log-scope-bar > li:not(.unread) > .indicator): Added.
(.log-scope-bar > li.unread > .indicator): Added.
(.log-scope-bar > li.unread:hover > .indicator): Added.
(.log-scope-bar > li.unread.errors > .indicator): Added.
(.log-scope-bar > li.unread.warnings > .indicator): Added.
(.log-scope-bar > li.unread.logs > .indicator): Added.
(.log-scope-bar > li.unread::before): Deleted.
(body[dir=ltr] .log-scope-bar > li.unread::before): Deleted.
(body[dir=rtl] .log-scope-bar > li.unread::before): Deleted.
(.log-scope-bar > li.unread:hover::before): Deleted.
(.log-scope-bar > li.unread.errors::before): Deleted.
(.log-scope-bar > li.unread.warnings::before): Deleted.
(.log-scope-bar > li.unread.logs::before): Deleted.
Replace the::beforeunread indicator with an actual<div>now that theWI.ScopeBar
itself uses a pseudo-element for the background styling.
- UserInterface/Views/TimelineRecordingContentView.css:
(.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected):
(.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple): Deleted.
(.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows): Deleted.
- UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
Drive-by: fix typo.
- 11:16 AM Changeset in webkit [242603] by
-
- 20 edits2 adds in trunk
Resource Load Statistics: Log first-party navigations with link decoration
https://bugs.webkit.org/show_bug.cgi?id=195301
<rdar://problem/48569971>
Reviewed by Brent Fulgham.
Source/WebCore:
Test: http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration.html
This patch adds two new members to WebCore::ResourceLoadStatistics:
- topFrameLinkDecorationsFrom, a set of domains
- gotLinkDecorationFromPrevalentResource, a boolean state
- loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::encode const):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::ResourceLoadStatistics::merge):
- loader/ResourceLoadStatistics.h:
Source/WebKit:
This patch adds a call to the network process' resource load statistics to
log cross-site navigations with link decoration. The logging checks if the
source of the navigation is a prevalent resource and if so, sets the
appropriate flag for the destination.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::createSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::logSubresourceRedirect):
(WebKit::ResourceLoadStatisticsDatabaseStore::logCrossSiteLoadWithLinkDecoration):
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::logCrossSiteLoadWithLinkDecoration):
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::logCrossSiteLoadWithLinkDecoration):
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::committedCrossSiteLoadWithLinkDecoration):
This now receives a completion handler. This is in preparation for
test cases where we need to log such an event and wait for it to
finish before continuing.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::committedCrossSiteLoadWithLinkDecoration):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::committedCrossSiteLoadWithLinkDecoration):
- UIProcess/WebProcessPool.h:
LayoutTests:
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-expected.txt: Added.
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration.html: Added.
- 11:11 AM Changeset in webkit [242602] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: CSS: there should be a way to inline-replace a variable with it's value
https://bugs.webkit.org/show_bug.cgi?id=195335
Reviewed by Joseph Pecoraro.
- UserInterface/Views/InlineSwatch.js:
(WI.InlineSwatch):
(WI.InlineSwatch.prototype.didDismissPopover):
(WI.InlineSwatch.prototype._swatchElementClicked):
(WI.InlineSwatch.prototype._swatchElementClicked.optionsForType): Added.
Shift-clicking a variable swatch replaces the text with the variable's value.
Drive-by: try to create a readonly swatch for the variable's value (e.g. a color indicator).
- UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
If the value of a variable swatch changes, re-render the value.
- UserInterface/Views/CodeMirrorTextMarkers.js:
(createCodeMirrorTextMarkers):
(createCodeMirrorColorTextMarkers):
(createCodeMirrorGradientTextMarkers):
(createCodeMirrorBezierTextMarkers):
(createCodeMirrorSpringTextMarkers):
Refactor function parameters for more flexibility.
- Localizations/en.lproj/localizedStrings.js:
- 10:03 AM Changeset in webkit [242601] by
-
- 5 edits in trunk/Source/WebCore
[iOS WK] REGRESSION (r242132): Fixed position banners flicker and move when scrolling (Apple, Tesla, YouTube, Reddit)
https://bugs.webkit.org/show_bug.cgi?id=195396
rdar://problem/48518959
Reviewed by Antti Koivisto.
r242132 introduced two issues that contributed to jumpiness of position:fixed layers when scrolling.
First, ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling() would early return if the scroll position
hadn't changed. It also needs to check the supplied layoutViewport (if any), but in some cases running the
notifyRelatedNodesAfterScrollPositionChange() code is necessary even without a scroll position change:
if the web process has committed new scrolling tree state (e.g. with new fixed constraints) since
the last call, we have to run the layer positioning code to have fixed layers re-adjust their position relative
to the root. This was the primary bug fix.
Secondly, a layer tree commit can give ScrollingTreeFrameScrollingNode a new layout viewport, but we need to
adjust this by the scrolling tree's current scroll position in case it gets used before the next scroll.
Currently no way to test this, as it's very timing-dependent.
- page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNode::scrollPositionAndLayoutViewportMatch):
- page/scrolling/ScrollingTreeFrameScrollingNode.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::scrollPositionAndLayoutViewportMatch):
(WebCore::ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling):
- page/scrolling/ScrollingTreeScrollingNode.h:
- 9:46 AM Changeset in webkit [242600] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Disable permissive call logging in sandbox
https://bugs.webkit.org/show_bug.cgi?id=195288
<rdar://problem/47683804>
Reviewed by Brent Fulgham.
As on macOS, we should enable strict call filtering in sandbox on iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 9:40 AM Changeset in webkit [242599] by
-
- 13 edits3 adds in trunk/Source
Introduce a quota manager for Cache API/Service Worker/IDB storage
https://bugs.webkit.org/show_bug.cgi?id=195283
Reviewed by Chris Dumez.
Source/WebCore:
Introduce a generic quota manager and quota users to be used in Network Process.
Quota manager/users are scoped by client origin.
Quota manager is used to check for quota by an entity wanting to execute a storage task of a given taskSize.
Quota manager will check the current space used by all its quota users.
If the size + taskSize is above quota, it will call a function to try extend the quota.
In the meantime, the task (and all tasks that may be added) are queued.
Once the new quota is received, the quota manager will either allow or disallow the first task in the queue.
The quota manager will try to execute as many tasks as possible with the provided quota.
If some tasks are remaining and quota limit is hit, the quota manager will compute the space needed for all remaining requests
and do another quota extension request.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- page/ClientOrigin.h:
- storage/StorageQuotaManager.cpp: Added.
(WebCore::StorageQuotaManager::~StorageQuotaManager):
(WebCore::StorageQuotaManager::spaceUsage const):
(WebCore::StorageQuotaManager::requestSpace):
(WebCore::StorageQuotaManager::askForMoreSpace):
(WebCore::StorageQuotaManager::processPendingRequests):
- storage/StorageQuotaManager.h: Added.
(WebCore::StorageQuotaManager::StorageQuotaManager):
(WebCore::StorageQuotaManager::addUser):
(WebCore::StorageQuotaManager::removeUser):
- storage/StorageQuotaUser.h: Added.
Source/WebKit:
Remove quota handling from Cache API storage and use StorageQuotaManager/StorageQuotaUser.
CacheStorage::Caches becomes a quota user and has a StorageQuotaManager to check for space for any cache API write task.
NetworkProcess is responsible to manage the quota managers.
Quota managers will go through network process to ask UIProcess for quota extension.
Remove pending callback handling from CacheStorage since they are queued in QuotaManager now.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::~NetworkProcess):
(WebKit::NetworkProcess::destroySession):
(WebKit::NetworkProcess::cacheStorageRootPath):
(WebKit::NetworkProcess::setCacheStorageParameters):
(WebKit::NetworkProcess::storageQuotaManager):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::from):
(WebKit::CacheStorage::Engine::Engine):
(WebKit::CacheStorage::Engine::readCachesFromDisk):
- NetworkProcess/cache/CacheStorageEngine.h:
- NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::Cache::put):
- NetworkProcess/cache/CacheStorageEngineCache.h:
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::Caches):
(WebKit::CacheStorage::Caches::~Caches):
(WebKit::CacheStorage::Caches::requestSpace):
(WebKit::CacheStorage::Caches::writeRecord):
- NetworkProcess/cache/CacheStorageEngineCaches.h:
- 9:22 AM Changeset in webkit [242598] by
-
- 29 edits3 adds in trunk
Resource Load Statistics: Make it possible to purge only script-accessible cookies
https://bugs.webkit.org/show_bug.cgi?id=195383
<rdar://problem/48570136>
Reviewed by Brent Fulgham.
Source/WebCore:
Test: http/tests/resourceLoadStatistics/delete-script-accessible-cookies.html
This patch provides the ability to purge all script-accessible cookies while leaving
HttpOnly cookies in place.
- loader/CookieJar.h:
Added boolean enum IncludeHttpOnlyCookies for use as function parameter.
- platform/network/NetworkStorageSession.h:
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
Support for the new IncludeHttpOnlyCookies flag.
- platform/network/curl/NetworkStorageSessionCurl.cpp:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
Stubbed out the new function and added a FIXME comment.
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
Stubbed out the new function and added a FIXME comment.
Source/WebKit:
This patch provides the ability to purge all script-accessible cookies while leaving
HttpOnly cookies in place.
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::removeDataRecords):
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):
Support for a new boolean flag on whether or not to include HttpOnly Cookies.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):
Support for a new boolean flag on whether or not to include HttpOnly Cookies.
(WebKit::NetworkProcess::deleteCookiesForTesting):
Test infrastructure.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):
Support for a new boolean flag on whether or not to include HttpOnly Cookies.
- NetworkProcess/NetworkSession.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreStatisticsDeleteCookiesForTesting):
Test infrastructure.
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::deleteCookiesForTesting):
Test infrastructure.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::deleteCookiesForTesting):
Test infrastructure.
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
This patch adds test infrastructure to purge only script-accessible cookies,
including a new testRunner function called statisticsDeleteCookiesForHost().git a
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsDeleteCookiesForHost):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsDeleteCookiesForHost):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
- http/tests/cookies/resources/set-http-only-cookie.php: Added.
- http/tests/resourceLoadStatistics/delete-script-accessible-cookies-expected.txt: Added.
- http/tests/resourceLoadStatistics/delete-script-accessible-cookies.html: Added.
- 9:17 AM Changeset in webkit [242597] by
-
- 4 edits in trunk/Source/WebKit
REGRESSION(r242364): [WPE] Do not stop the compositing run loop update timer on suspend
https://bugs.webkit.org/show_bug.cgi?id=195410
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-03-07
Reviewed by Žan Doberšek.
Calling CompositingRunLoop::stopUpdates() on suspend is leaving the threaded compositor in an inconsistent
state, failing to resume and stopping the updates forever. This is causing timeouts in WPE layout tests. Instead
of calling stopUpdates(), a new suspend() is called, that stops the update timer, without changing the current
updae tha compositing state. A new method resume() is also added to schedule an update if needed.
- Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
(WebKit::CompositingRunLoop::suspend): Set state as suspended and stop the update timer.
(WebKit::CompositingRunLoop::resume): Set state as not suspended and start the update timer if it was scheduled
while suspended.
(WebKit::CompositingRunLoop::scheduleUpdate): Do not start the update timer when suspended.
(WebKit::CompositingRunLoop::compositionCompleted): Ditto.
(WebKit::CompositingRunLoop::updateCompleted): Ditto.
(WebKit::CompositingRunLoop::updateTimerFired): Add an assert to ensure the update timer is not fired while suspended.
- Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::suspend): Call CompositingRunLoop::suspend() instead of stopUpdates().
(WebKit::ThreadedCompositor::resume): Call CompositingRunLoop::resume().
- 2:16 AM Changeset in webkit [242596] by
-
- 33 edits in trunk/Source
Exception is a JSCell, not a JSObject.
https://bugs.webkit.org/show_bug.cgi?id=195392
Reviewed by Saam Barati.
Source/JavaScriptCore:
Exception is a VM implementation construct to carry a stack trace for the point
where it is thrown from. As a reminder, an Exception is needed because:
- JS code can throw primitives as well that are non-cells.
- Error objects capture the stack trace at the point where they are constructed, which is not always the same as the point where they are thrown (if they are thrown).
Hence, Exception should not be visible to JS code, and therefore should not be a
JSObject. Hence, it should not inherit from JSDestructibleObject.
This patch changes the following:
- Exception now inherits directly from JSCell instead.
- Places where we return an Exception masquerading as a JSObject* are now updated to return a nullptr when we encounter an exception.
- We still return Exception* as JSValue or EncodedJSValue when we encounter an exception in functions that return JSValue or EncodedJSValue. This is because the number that implements the following pattern is too numerous:
return throw<Some Error>(...)
We'll leave these as is for now.
- bytecode/CodeBlock.h:
(JSC::ScriptExecutable::prepareForExecution):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):
- jit/JITOperations.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall):
- runtime/ConstructData.cpp:
(JSC::construct):
- runtime/Error.cpp:
(JSC::throwConstructorCannotBeCalledAsFunctionTypeError):
(JSC::throwTypeError):
(JSC::throwSyntaxError):
- runtime/Error.h:
(JSC::throwRangeError):
- runtime/Exception.cpp:
(JSC::Exception::createStructure):
- runtime/Exception.h:
- runtime/ExceptionHelpers.cpp:
(JSC::throwOutOfMemoryError):
(JSC::throwStackOverflowError):
(JSC::throwTerminatedExecutionException):
- runtime/ExceptionHelpers.h:
- runtime/FunctionConstructor.cpp:
(JSC::constructFunction):
(JSC::constructFunctionSkippingEvalEnabledCheck):
- runtime/IntlPluralRules.cpp:
(JSC::IntlPluralRules::resolvedOptions):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewWithArguments):
- runtime/JSObject.h:
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
- runtime/ProgramExecutable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
- runtime/RegExpConstructor.cpp:
(JSC::regExpCreate):
(JSC::constructRegExp):
- runtime/ScriptExecutable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::prepareForExecutionImpl):
- runtime/ScriptExecutable.h:
- runtime/ThrowScope.cpp:
(JSC::ThrowScope::throwException):
- runtime/ThrowScope.h:
(JSC::ThrowScope::throwException):
(JSC::throwException):
- runtime/VM.cpp:
(JSC::VM::throwException):
- runtime/VM.h:
Source/WebCore:
- bridge/objc/objc_utility.h:
- bridge/objc/objc_utility.mm:
(JSC::Bindings::throwError):
- bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::throwInvalidAccessError):
- bridge/runtime_object.h:
Source/WebKit:
- WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::throwInvalidAccessError):
- WebProcess/Plugins/Netscape/JSNPObject.h:
- 1:28 AM Changeset in webkit [242595] by
-
- 93 edits14 copies2 moves230 adds1 delete in trunk/LayoutTests
Update WPT tests for embedded content
https://bugs.webkit.org/show_bug.cgi?id=194770
Patch by Frederic Wang <fwang@igalia.com> on 2019-03-07
Reviewed by Rob Buis.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/html/semantics/embedded-content/META.yml: Added.
- web-platform-tests/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html: Added.
- web-platform-tests/html/semantics/embedded-content/image-maps/image-map-processing-model/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/audio_loop_base-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/audio_loop_base.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute-redirect-on-load.https.sub-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute.https.sub-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute.https.sub.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html.headers: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html.headers: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-supported-by-feature-policy-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-supported-by-feature-policy.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-with-broken-track-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-with-broken-track.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/error-codes/error-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/error-codes/error.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/error-codes/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/media-elements/event_canplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_canplay_noautoplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_canplaythrough.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_canplaythrough_noautoplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_loadeddata.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_loadeddata_noautoplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_loadedmetadata.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_loadedmetadata_noautoplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_loadstart.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_loadstart_noautoplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_order_canplay_canplaythrough.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_order_canplay_playing.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_order_loadedmetadata_loadeddata.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_order_loadstart_progress.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_pause.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_pause_noautoplay-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_pause_noautoplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_play.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_play_noautoplay-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_play_noautoplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_playing.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_playing_noautoplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_progress.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_progress_noautoplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_timeupdate.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_timeupdate_noautoplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/crossOrigin-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/crossOrigin.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/activeCues.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/addCue.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackList/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TrackEvent/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/autoplay-overrides-preload.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-removes-queued-error-event-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-removes-queued-error-event.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-moved-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-moved.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-addEventListener.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-no-listener-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-no-listener.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-onerror.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor-no-src-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor-no-src.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-in-sync-event-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-in-sync-event.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-fragment-into-document-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-fragment-into-document.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-document-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-document.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-parent-into-document-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-parent-into-document.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-div-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-div.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-namespace-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-namespace.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-networkState-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-networkState.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-not-in-document-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-not-in-document.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-load-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-load.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-networkState-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-networkState.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-play-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-play.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document-networkState-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document-networkState.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-src-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-src.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-in-namespace-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-in-namespace.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-networkState-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-networkState.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-not-in-document-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-not-in-document.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-control-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-control.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-br-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-br.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-source-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-source.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-text-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-text.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source-after-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source-after.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-text-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-text.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-source-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-source.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-src-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-src.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resources/delayed-broken-video.py: Added.
(main):
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/w3c-import.log: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/media-elements/mime-types/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_loadstart.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_progress-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_progress.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/currentTime-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/currentTime.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/paused_false_during_play.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/paused_true_during_pause-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/paused_true_during_pause.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-remove-from-document-networkState.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/play-in-detached-document.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-hidden.optional.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_canplay.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_canplaythrough.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_loadeddata.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_loadedmetadata.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_playing.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-currentTime-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-currentTime.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-max-value-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-max-value.htm: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-negative-time-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-negative-time.htm: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/seeking/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/media-elements/user-interface/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/resources/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/svg/intrinsicsize/intrinsicsize-svg-image.tentative-expected.html: Added.
- web-platform-tests/html/semantics/embedded-content/svg/intrinsicsize/intrinsicsize-svg-image.tentative.html: Added.
- web-platform-tests/html/semantics/embedded-content/svg/intrinsicsize/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/the-area-element/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/the-area-element/support/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-area-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html:
- web-platform-tests/html/semantics/embedded-content/the-audio-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-embed-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-embed-element/document-getters-return-null-for-cross-origin.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04-expected.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-embed-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-frame-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-frame-element/document-getters-return-null-for-cross-origin.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-frame-element/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/content_document_changes_only_after_load_matures.html:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage.html.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/document-getters-return-null-for-cross-origin.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allow-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allow.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen.html:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-nosrc-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-nosrc.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01.htm:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_remove_src-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-1-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-1.html:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2.html:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-3-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-3.html:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads_without_user_activation.sub.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads_without_user_activation.sub.tentative.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/src-repeated-in-ancestor.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/download_stash.py: Added.
(main):
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe-that-checks-contentDocument.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe_sandbox_download_helper.js: Added.
(StreamDownloadFinishDelay):
(DownloadVerifyDelay):
(VerifyDownload):
(AssertDownloadSuccess):
(AssertDownloadFailure):
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/load-into-the-iframe.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/404-response-with-actual-image-data-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/404-response-with-actual-image-data.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/404-response-with-actual-image-data.py: Added.
(main):
- web-platform-tests/html/semantics/embedded-content/the-img-element/Image-constructor.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/available-images-expected.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/available-images-onload-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/available-images-onload.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/available-images.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-iframe.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-path-changes-svg.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-path-changes-svg.tentative.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-path-changes.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-picture-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-picture.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-svg.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-svg.tentative.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach-svg.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach-svg.tentative.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/decode/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-object-element/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-with-responsive-images.tentative-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-with-responsive-images.tentative.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html.headers: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/the-img-element/invalid-src.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/ismap/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/null-image-source-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/null-image-source.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/resources/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-display-none-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-display-none.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-quirks-mode-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-quirks-mode.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-standards-mode-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-standards-mode.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-width-1000px-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-width-1000px.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html: Removed.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001-expected.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-002-expected.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-002.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/parse-a-sizes-attribute.js: Added.
(check):
(onload):
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/sizes-iframed.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-iframed.sub.html.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/srcset-media-dynamic-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/srcset-media-dynamic.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data/fail-to-resolve-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data/fail-to-resolve.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-object-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-object-element/document-getters-return-null-for-cross-origin.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-object-element/object-events.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-object-element/object-setcustomvalidity-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-object-element/object-setcustomvalidity.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-object-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes.htm: Added.
- web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html.headers: Added.
- web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsicsize/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/resources/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/the-video-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
LayoutTests:
- TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative-expected.txt: Added.
- tests-options.json:
- 12:41 AM Changeset in webkit [242594] by
-
- 10 edits in trunk/Source/WebCore
Web Inspector: Canvas: lazily create the agent
https://bugs.webkit.org/show_bug.cgi?id=195241
Reviewed by Joseph Pecoraro.
No functionality change.
- html/canvas/CanvasRenderingContext.h:
- html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::instances): Added.
(WebCore::CanvasRenderingContext::instancesMutex): Added.
(WebCore::CanvasRenderingContext::CanvasRenderingContext):
(WebCore::CanvasRenderingContext::~CanvasRenderingContext):
- html/canvas/WebGLProgram.h:
- html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::instances): Added.
(WebCore::WebGLProgram::instancesMutex): Added.
(WebCore::WebGLProgram::WebGLProgram):
(WebCore::WebGLProgram::~WebGLProgram):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::~WebGLRenderingContextBase):
- inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::createLazyAgents):
- inspector/agents/InspectorCanvasAgent.h:
- inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::disable):
(WebCore::InspectorCanvasAgent::frameNavigated):
(WebCore::InspectorCanvasAgent::didCreateCanvasRenderingContext):
(WebCore::InspectorCanvasAgent::canvasDestroyed):
(WebCore::InspectorCanvasAgent::didCreateProgram):
(WebCore::InspectorCanvasAgent::willDeleteProgram):
(WebCore::InspectorCanvasAgent::bindCanvas): Added.
(WebCore::InspectorCanvasAgent::canvasDestroyedTimerFired):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didCreateCanvasRenderingContext):
(WebCore::InspectorInstrumentation::didCreateProgram):
(WebCore::InspectorInstrumentation::willDeleteProgram):
- 12:06 AM Changeset in webkit [242593] by
-
- 10 edits1 delete in trunk
Unreviewed, rolling out r242354.
https://bugs.webkit.org/show_bug.cgi?id=195402
breaks layout tests in all configurations (Requested by
zdobersek on #webkit).
Reverted changeset:
"[WPE] Enable web process sandbox"
https://bugs.webkit.org/show_bug.cgi?id=195169
https://trac.webkit.org/changeset/242354