⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jan 3, 2020:

11:57 PM Changeset in webkit [254031] by commit-queue@webkit.org
  • 12 edits
    1 add in trunk

Make text track loading set same-origin fallback flag
https://bugs.webkit.org/show_bug.cgi?id=205744

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-03
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Adjust test result to new behavior for text track loading.

  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-data-url-expected.txt:
  • web-platform-tests/service-workers/service-worker/webvtt-cross-origin.https-expected.txt:

Source/WebCore:

Make text track loading set same-origin fallback flag,
which changes text track loading to be same-origin
when the crossorigin attribute is not specified.

The new behavior matches that of Chrome and Firefox.

[1] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:create-a-potential-cors-request

Tests: http/tests/security/text-track-crossorigin.html

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::load):

LayoutTests:

Adjusts test to same-origin fallback behavior for text track
loading by using CORS.

  • http/tests/security/contentSecurityPolicy/resources/track.php: Added.
  • http/tests/security/contentSecurityPolicy/track-redirect-allowed.html:
  • http/tests/security/contentSecurityPolicy/track-redirect-allowed2.html:
  • http/tests/security/contentSecurityPolicy/track-redirect-blocked.html:
  • http/tests/security/text-track-crossorigin-expected.txt:
  • http/tests/security/text-track-crossorigin.html:
11:28 PM Changeset in webkit [254030] by sihui_liu@apple.com
  • 4 edits in trunk/Source/WebCore

IndexedDB: delete index records with ID and IndexKey instead of value in SQLiteIDBackingStore
https://bugs.webkit.org/show_bug.cgi?id=205413

Reviewed by Alex Christensen.

Since we have created an index on key in the IndexRecords table, we should do the deletion by its key, because
looking up a record by index column(s) should be faster than non-index column(s).

This change makes PerformanceTests/IndexedDB/basic/index-cursor-delete.html about 100% faster.

No behavior change.

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteOneIndexRecord):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • Modules/indexeddb/shared/IDBDatabaseInfo.h:

(WebCore::IDBDatabaseInfo::objectStoreMap const):

11:05 PM Changeset in webkit [254029] by Chris Dumez
  • 35 edits
    3 adds in trunk

Add support for DragEvent
https://bugs.webkit.org/show_bug.cgi?id=205758

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

  • web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
  • web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt:

Source/WebCore:

Add support for DragEvent:

Both Blink and Gecko support it. In WebKit, we had no DragEvent and we had added the
dataTransfer attribute to MouseEvent instead.

No new tests, updated / rebaselined existing tests.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::createEvent):

  • dom/DragEvent.cpp: Added.

(WebCore::DragEvent::create):
(WebCore::DragEvent::createForBindings):
(WebCore::DragEvent::DragEvent):
(WebCore::DragEvent::eventInterface const):

  • dom/DragEvent.h: Added.

(WebCore::DragEvent::dataTransfer const):

  • dom/DragEvent.idl: Added.
  • dom/EventNames.in:
  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::initMouseEvent):

  • dom/MouseEvent.h:
  • dom/MouseEvent.idl:
  • dom/SimulatedClick.cpp:
  • dom/WheelEvent.cpp:

(WebCore::WheelEvent::WheelEvent):

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchDragEvent):

Source/WebKit:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):

Source/WebKitLegacy/ios:

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):

Source/WebKitLegacy/mac:

  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

LayoutTests:

Extend test coverage.

  • editing/pasteboard/can-read-in-dragstart-event-expected.txt:
  • editing/pasteboard/can-read-in-dragstart-event.html:
  • editing/pasteboard/data-transfer-is-unique-for-dragenter-and-dragleave-expected.txt:
  • editing/pasteboard/data-transfer-is-unique-for-dragenter-and-dragleave.html:
  • fast/events/constructors/mouse-event-constructor-expected.txt:
  • fast/events/constructors/mouse-event-constructor.html:
  • fast/events/init-events-expected.txt:
  • fast/events/init-events.html:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
7:01 PM Changeset in webkit [254028] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebCore

Crash in com.apple.WebKit.Networking at UniqueIDBDatabase::performCurrentOpenOperation
https://bugs.webkit.org/show_bug.cgi?id=205742

Reviewed by Maciej Stachowiak.

m_databaseInfo may not be set in performCurrentOpenOperation if there is an error in opening backing store, so
we should make an early return to avoid access to m_databaseInfo in this case.

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):

6:44 PM Changeset in webkit [254027] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

IconLoadingClient::getLoadDecisionForIcon() leaks an Objective-C block
https://bugs.webkit.org/show_bug.cgi?id=205750
<rdar://problem/57981723>

Patch by Garrett Davidson <garrett_davidson@apple.com> on 2020-01-03
Reviewed by Wenson Hsieh.

Replace a Block_copy with makeBlockPtr to prevent leaking the ObjC block.

  • UIProcess/Cocoa/IconLoadingDelegate.mm:

(WebKit::IconLoadingDelegate::IconLoadingClient::getLoadDecisionForIcon):

6:15 PM Changeset in webkit [254026] by stephan.szabo@sony.com
  • 4 edits in trunk/Source/WebCore

[WinCairo] Fixing build after "Add a pure virtual base class for GraphicsContext3D"
https://bugs.webkit.org/show_bug.cgi?id=205743

Reviewed by Don Olmstead.

No new tests, build fix.

  • platform/graphics/GraphicsContext3DBase.h: Undefine NO_ERROR on win
  • platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp:

Move functions showing up as undefined out of #ifdef block

  • platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp:

Fix some accesses to m_attrs to use contextAttributes()

5:58 PM Changeset in webkit [254025] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit

Crashes under -[WKWebView _addUpdateVisibleContentRectPreCommitHandler]_block_invoke
https://bugs.webkit.org/show_bug.cgi?id=205749
<rdar://problem/56433624>

Reviewed by Simon Fraser.

Implement a speculative fix for a common crash. We believe that this is due to
a mechanism UIKit uses to bounce -dealloc (in our case, of WKWebView and/or WKContentView)
to the main thread when the last reference is dropped on a background thread.
At that point, deallocation has already begun, -retain cannot revive the object,
but -dealloc has not yet been called (because of the nature of this mechanism).

To avoid this, make PageClientImpl -> WKContentView and WKContentView -> WKWebView
weak instead of raw references. This way, we won't even get to _addUpdateVisibleContentRectPreCommitHandler
with a deallocating WKWebView, nor try (and fail) to retain it for later use in the block.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::viewSize):
(WebKit::PageClientImpl::didPerformDictionaryLookup):
(WebKit::PageClientImpl::createValidationBubble):
(WebKit::PageClientImpl::createDataListSuggestionsDropdown):
(WebKit::PageClientImpl::createDrawingView):

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _commonInitializationWithProcessPool:configuration:]):
(-[WKContentView webView]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:contentInsets:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]):
(-[WKContentView _didCommitLayerTree:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setupInteraction]):
(-[WKContentView _updateLongPressAndHighlightLongPressGestures]):
(-[WKContentView endEditingAndUpdateFocusAppearanceWithReason:]):
(-[WKContentView gestureRecognizerMayPinchToZoomWebView:]):
(-[WKContentView _showAttachmentSheet]):
(-[WKContentView _actionForLongPressFromPositionInformation:]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView hasSelectablePositionAtPoint:]):
(-[WKContentView pointIsNearMarkedText:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
(-[WKContentView _stylusSingleTapRecognized:]):
(-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
(-[WKContentView _updateInteractionTintColor]):
(-[WKContentView canPerformActionForWebView:withSender:]):
(-[WKContentView accessibilityRetrieveSpeakSelectionContent]):
(-[WKContentView requestRectsToEvadeForSelectionCommandsWithCompletionHandler:]):
(-[WKContentView accessoryAutoFill]):
(-[WKContentView _updateAccessory]):
(-[WKContentView _didChangeWebViewEditability]):
(-[WKContentView insertTextSuggestion:]):
(-[WKContentView isScrollableForKeyboardScrollViewAnimator:]):
(-[WKContentView keyboardScrollViewAnimator:distanceForIncrement:inDirection:]):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
(-[WKContentView addFocusedFormControlOverlay]):
(-[WKContentView presentViewControllerForCurrentFocusedElement]):
(-[WKContentView dismissAllInputViewControllers:]):
(-[WKContentView _showShareSheet:inRect:completionHandler:]):
(-[WKContentView actionSheetAssistant:shareElementWithURL:rect:]):
(-[WKContentView actionSheetAssistant:showCustomSheetForElement:]):
(-[WKContentView dataDetectionContextForPositionInformation:]):
(-[WKContentView actionSheetAssistant:getAlternateURLForImage:completion:]):
(-[WKContentView _didChangeDragInteractionPolicy]):
(-[WKContentView dragLiftDelay]):
(-[WKContentView setupDragAndDropInteractions]):
(-[WKContentView _didPerformDragOperation:]):
(-[WKContentView _dragDestinationActionForDropSession:]):
(-[WKContentView _itemsForBeginningOrAddingToSessionWithRegistrationLists:stagedDragSource:]):
(-[WKContentView _handleDropByInsertingImagePlaceholders:session:]):
(-[WKContentView _dragInteraction:dataOwnerForSession:]):
(-[WKContentView dragInteraction:previewForLiftingItem:session:]):
(-[WKContentView dragInteraction:sessionWillBegin:]):
(-[WKContentView dragInteraction:session:didEndWithOperation:]):
(-[WKContentView dragInteraction:previewForCancellingItem:withDefault:]):
(-[WKContentView _dropInteraction:dataOwnerForSession:]):
(-[WKContentView dropInteraction:sessionDidUpdate:]):
(-[WKContentView dropInteraction:performDrop:]):
(-[WKContentView dismissQuickboardViewControllerAndRevealFocusedFormOverlayIfNecessary:]):
(-[WKContentView viewController:inputContextViewHeightForSize:]):
(-[WKContentView inputContextViewForViewController:]):
(-[WKContentView _registerPreview]):
(-[WKContentView assignLegacyDataForContextMenuInteraction]):
(-[WKContentView _contextMenuInteraction:configurationForMenuAtLocation:completion:]):
(-[WKContentView continueContextMenuInteraction:]):
(-[WKContentView _createTargetedPreviewIfPossible]):
(-[WKContentView contextMenuInteraction:willDisplayMenuForConfiguration:animator:]):
(-[WKContentView contextMenuInteraction:willPerformPreviewActionForMenuWithConfiguration:animator:]):
(-[WKContentView contextMenuInteraction:willEndForConfiguration:animator:]):
(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
(-[WKContentView _previewItemController:commitPreview:]):
(-[WKContentView _previewItemController:didDismissPreview:committing:]):

5:03 PM Changeset in webkit [254024] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

REGRESSION: 150+ flaky failures on some bots (color mismatches)
https://bugs.webkit.org/show_bug.cgi?id=205755
<rdar://problem/58248136>

Reviewed by Simon Fraser.

  • DumpRenderTree/mac/LayoutTestHelper.m:

(colorProfileURLForDisplay):
(displayUUIDStrings):
Use CGGetOnlineDisplayList instead of CGGetActiveDisplayList; we want
all attached displays, even if they are sleeping.

4:34 PM Changeset in webkit [254023] by ysuzuki@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

[JSC] MarkedBlock::Handle and BlockDirectory should be shrunk
https://bugs.webkit.org/show_bug.cgi?id=205712

Reviewed by Mark Lam.

This patch shrinks MarkedBlock::Handle and BlockDirectory by leveraging the fact that Vector's size and capacity is unsigned.
In these data structures, we use size_t to hold a index, but this can be converted to unsigned since we guarantee that this
never exceeds unsigned since these numbers are derived from Vector's size / capacity, or index inside MarkedBlock (which is up
to 64KB in some architectures). MarkedBlock::Handle is allocated per MarkedBlock, and in Gmail, it takes 1MB. We can save
some bytes just using unsigned. In addition, this patch removes m_prev and m_next fields in MarkedBlock::Handle since
it is never used.

  • heap/AtomIndices.h:
  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::findBlockForAllocation):
(JSC::BlockDirectory::addBlock):

  • heap/IsoCellSet.cpp:

(JSC::IsoCellSet::addSlow):
(JSC::IsoCellSet::didResizeBits):
(JSC::IsoCellSet::didRemoveBlock):

  • heap/IsoCellSet.h:
  • heap/IsoCellSetInlines.h:

(JSC::IsoCellSet::forEachMarkedCell):
(JSC::IsoCellSet::forEachMarkedCellInParallel):
(JSC::IsoCellSet::forEachLiveCell):

  • heap/IsoSubspace.cpp:

(JSC::IsoSubspace::didResizeBits):
(JSC::IsoSubspace::didRemoveBlock):

  • heap/IsoSubspace.h:
  • heap/LocalAllocator.h:
  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::Handle::didAddToDirectory):
(JSC::MarkedBlock::Handle::didRemoveFromDirectory):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::Handle::index const):

  • heap/Subspace.cpp:

(JSC::Subspace::didResizeBits):
(JSC::Subspace::didRemoveBlock):

  • heap/Subspace.h:
4:29 PM Changeset in webkit [254022] by Chris Dumez
  • 7 edits in trunk

dom/nodes/Document-createElement-namespace.html WPT test is failing
https://bugs.webkit.org/show_bug.cgi?id=205748

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing.

  • web-platform-tests/dom/nodes/Document-createElement-namespace-expected.txt:

Source/WebCore:

dom/nodes/Document-createElement-namespace.html WPT test was failing in WebKit but passing in Blink
and Gecko. The issue was that the MIME type passed to DOMParser.parseFromString() would always be
resolved to "application/xml", no matter which XML MIME type was provided as input (e.g. "text/xml").

No new tests, rebaselined existing test.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):

LayoutTests:

Unskip test as it does not appear to be flaky locally.

4:28 PM Changeset in webkit [254021] by Chris Dumez
  • 4 edits in trunk

Document.createAttribute() should take in a localName, not a qualifiedName
https://bugs.webkit.org/show_bug.cgi?id=205752

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline WPT test now that it is passing. This test was failing in WebKit but passing
in Blink & Gecko.

  • web-platform-tests/dom/nodes/Document-createAttribute-expected.txt:

Source/WebCore:

Document.createAttribute() should take in a localName, not a qualifiedName:

Our behavior does not match the DOM specification or other browser engines.

No new tests, rebaselined existing test.

  • dom/Document.cpp:

(WebCore::Document::createAttribute):

4:13 PM Changeset in webkit [254020] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac ] webgl/1.0.3/conformance/textures/texture-upload-size.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=205757

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:25 PM Changeset in webkit [254019] by commit-queue@webkit.org
  • 11 edits in trunk

Update the RemoteMediaPlayerManagerProxy::Load XPC message to provide the updated RemoteMediaPlayerConfiguration to the web process
https://bugs.webkit.org/show_bug.cgi?id=205740

Patch by Peng Liu <Peng Liu> on 2020-01-03
Reviewed by Eric Carlson.

Source/WebCore:

Covered by existing tests.

  • platform/graphics/MediaPlayer.cpp:

Source/WebKit:

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::load):

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in:
  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::load):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote::load):

LayoutTests:

  • gpu-process/TestExpectations:
3:22 PM Changeset in webkit [254018] by Chris Dumez
  • 4 edits in trunk

Align Range.intersectsNode() with the DOM specification
https://bugs.webkit.org/show_bug.cgi?id=205745

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT test now that it is passing.

  • web-platform-tests/dom/ranges/Range-intersectsNode-2-expected.txt:

Source/WebCore:

Align Range.intersectsNode() with the DOM specification:

This also aligns our behavior with Chrome 79 and Firefox 71.

No new tests, rebaselined existing test.

  • dom/Range.cpp:

(WebCore::Range::intersectsNode const):

3:21 PM Changeset in webkit [254017] by keith_miller@apple.com
  • 242 edits
    209 adds in trunk

Update test262 tests to commit 157b18d
https://bugs.webkit.org/show_bug.cgi?id=205741

Reviewed by Yusuke Suzuki.

JSTests:

  • test262/expectations.yaml:
  • test262/harness/deepEqual.js:

(assert.deepEqual):
(assert.deepEqual.format):
(deepEqual):
(compareEquality):
(compareIf):
(tryCompareStrictEquality):
(tryCompareTypeOfEquality):
(tryCompareToStringTagEquality):
(isOptional):
(compareOptionality):
(isPrimitiveEquatable):
(comparePrimitiveEquality):
(isNaNEquatable):
(compareNaNEquality):
(isObjectEquatable):
(compareObjectEquality):
(isBoxed):
(isValueOfEquatable):
(compareValueOfEquality):
(isToStringEquatable):
(compareToStringEquality):
(isArrayLikeEquatable):
(isStructurallyEquatable):
(isIterableEquatable):
(compareIteratorEquality):
(compareIterableEquality):
(cacheComparison):
(fail):
(setCache):
(getCache):
(assert.deepEqual._compare):

  • test262/latest-changes-summary.txt:
  • test262/test/built-ins/AggregateError: Added.
  • test262/test/built-ins/AggregateError/errors-iterabletolist-failures.js: Added.

(case1.get Symbol):
(case2.get Symbol):
(case3.Symbol.iterator):
(case4.Symbol.iterator):
(case5.Symbol.iterator):
(case6.Symbol.iterator.return.get next):
(case6.Symbol.iterator):
(case7.Symbol.iterator.return.get next):
(case7.Symbol.iterator):
(case8.Symbol.iterator):
(case9.Symbol.iterator):
(case10.Symbol.iterator):
(case11.Symbol.iterator.return.next.return.get done):
(case11.Symbol.iterator):

  • test262/test/built-ins/AggregateError/errors-iterabletolist.js: Added.

(case1.Symbol.iterator.return.next.return.get value):
(case1.Symbol.iterator):

  • test262/test/built-ins/AggregateError/length.js: Added.
  • test262/test/built-ins/AggregateError/message-method-prop-cast.js: Added.

(toString):

  • test262/test/built-ins/AggregateError/message-method-prop.js: Added.
  • test262/test/built-ins/AggregateError/message-tostring-abrupt-symbol.js: Added.

(case2.Symbol.toPrimitive):
(case2.toString):
(case2.valueOf):

  • test262/test/built-ins/AggregateError/message-tostring-abrupt.js: Added.

(case1.Symbol.toPrimitive):
(case1.toString):
(case1.valueOf):
(case2.toString):
(case2.valueOf):
(case3.valueOf):

  • test262/test/built-ins/AggregateError/message-undefined-no-prop.js: Added.
  • test262/test/built-ins/AggregateError/name.js: Added.
  • test262/test/built-ins/AggregateError/newtarget-proto-custom.js: Added.

(newt.new.Proxy):
(newt.new.Proxy.get if):

  • test262/test/built-ins/AggregateError/newtarget-proto-fallback.js: Added.

(ctor):
(const.value.of.values.get t):

  • test262/test/built-ins/AggregateError/newtarget-proto.js: Added.
  • test262/test/built-ins/AggregateError/prop-desc.js: Added.
  • test262/test/built-ins/AggregateError/proto.js: Added.
  • test262/test/built-ins/AggregateError/prototype: Added.
  • test262/test/built-ins/AggregateError/prototype/constructor.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/invoked-as-accessor.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/invoked-as-func.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/length.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/name.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/prop-desc.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/return-from-iterable-errors.js: Added.

(errors.Symbol.iterator.return.next.return.get value):
(errors.Symbol.iterator):

  • test262/test/built-ins/AggregateError/prototype/errors/return-new-array-from-list.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/this-has-no-typedarrayname-internal.js: Added.
  • test262/test/built-ins/AggregateError/prototype/errors/this-is-not-object.js: Added.
  • test262/test/built-ins/AggregateError/prototype/message.js: Added.
  • test262/test/built-ins/AggregateError/prototype/name.js: Added.
  • test262/test/built-ins/AggregateError/prototype/prop-desc.js: Added.
  • test262/test/built-ins/AggregateError/prototype/proto.js: Added.
  • test262/test/built-ins/Array/prototype/copyWithin/coerced-values-start-change-start.js: Added.

(longDenseArray):
(shorten):

  • test262/test/built-ins/Array/prototype/copyWithin/coerced-values-start-change-target.js: Added.

(longDenseArray):
(shorten):

  • test262/test/built-ins/Array/prototype/flatMap/this-value-ctor-object-species-bad-throws.js:
  • test262/test/built-ins/Atomics/add/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/and/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/or/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/store/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Atomics/sub/bigint/nonshared-int-views.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/Error/prototype/toString/invalid-receiver.js: Added.

(Symbol.forEach):

  • test262/test/built-ins/Error/prototype/toString/undefined-props.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanup-prevented-with-unregister.js:

(emptyCells):
(emptyCells.then):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanup-throws-in-callback.js: Added.

(fg.new.FinalizationGroup):
(callback):
(emptyCells):
(emptyCells.then):

  • test262/test/built-ins/FinalizationGroup/prototype/register/holdings-same-as-target.js:
  • test262/test/built-ins/FinalizationGroup/prototype/register/return-undefined-register-itself.js:
  • test262/test/built-ins/FinalizationGroup/prototype/register/unregisterToken-same-as-holdings-and-target.js:
  • test262/test/built-ins/FinalizationGroup/prototype/unregister/unregister-cleaned-up-cell.js: Added.

(fg.new.FinalizationGroup):
(emptyCells):
(emptyCells.then):

  • test262/test/built-ins/FinalizationGroup/target-not-callable-throws.js:
  • test262/test/built-ins/JSON/parse/reviver-array-get-prop-from-prototype.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-array-non-configurable-prop-create.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-array-non-configurable-prop-delete.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-call-order.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-object-get-prop-from-prototype.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-object-non-configurable-prop-create.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-object-non-configurable-prop-delete.js: Added.
  • test262/test/built-ins/JSON/parse/reviver-wrapper.js: Added.
  • test262/test/built-ins/JSON/stringify/property-order.js: Added.
  • test262/test/built-ins/Object/entries/return-order.js: Added.
  • test262/test/built-ins/Object/freeze/throws-when-false.js: Added.

(preventExtensions):

  • test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-absent-not-configurable-symbol-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-duplicate-symbol-entry.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-not-extensible-absent-symbol-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertyNames/proxy-invariant-not-extensible-extra-symbol-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertySymbols/length.js:
  • test262/test/built-ins/Object/getOwnPropertySymbols/name.js:
  • test262/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-with-description.js:
  • test262/test/built-ins/Object/getOwnPropertySymbols/object-contains-symbol-property-without-description.js:
  • test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-absent-not-configurable-string-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-duplicate-string-entry.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-not-extensible-absent-string-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/getOwnPropertySymbols/proxy-invariant-not-extensible-extra-string-key.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/keys/proxy-non-enumerable-prop-invariant-2.js:
  • test262/test/built-ins/Object/keys/proxy-non-enumerable-prop-invariant-3.js: Added.

(ownKeys):

  • test262/test/built-ins/Object/keys/return-order.js: Added.
  • test262/test/built-ins/Object/preventExtensions/throws-when-false.js: Added.

(preventExtensions):

  • test262/test/built-ins/Object/prototype/isPrototypeOf/arg-is-proxy.js: Added.

(handler.allowProxyTraps.getPrototypeOf):

  • test262/test/built-ins/Object/prototype/isPrototypeOf/builtin.js: Added.
  • test262/test/built-ins/Object/prototype/isPrototypeOf/length.js: Added.
  • test262/test/built-ins/Object/prototype/isPrototypeOf/name.js:
  • test262/test/built-ins/Object/prototype/isPrototypeOf/null-this-and-object-arg-throws.js: Added.
  • test262/test/built-ins/Object/prototype/isPrototypeOf/null-this-and-primitive-arg-returns-false.js: Added.
  • test262/test/built-ins/Object/prototype/isPrototypeOf/this-value-is-in-prototype-chain-of-arg.js: Added.

(USER_FACTORY.this.getName):
(USER_FACTORY):
(this.getGrade):
(FORCEDUSER_FACTORY):

  • test262/test/built-ins/Object/prototype/isPrototypeOf/undefined-this-and-object-arg-throws.js: Added.
  • test262/test/built-ins/Object/prototype/isPrototypeOf/undefined-this-and-primitive-arg-returns-false.js: Added.
  • test262/test/built-ins/Object/seal/throws-when-false.js: Added.

(preventExtensions):

  • test262/test/built-ins/Object/values/return-order.js: Added.
  • test262/test/built-ins/Proxy/has/call-in-prototype-index.js: Added.

(handler.allowProxyTraps.has):

  • test262/test/built-ins/Proxy/has/call-in-prototype.js:
  • test262/test/built-ins/Proxy/ownKeys/call-parameters-object-keys.js:

(handler.ownKeys):

  • test262/test/built-ins/Proxy/set/call-parameters-prototype-index.js: Added.
  • test262/test/built-ins/Reflect/preventExtensions/target-is-not-object-throws.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-element.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-matched.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-non-unicode-match.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-properties.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-unicode-match.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-unicode-property-names.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array-unmatched.js:
  • test262/test/built-ins/RegExp/match-indices/indices-array.js:
  • test262/test/built-ins/RegExp/match-indices/indices-groups-object-unmatched.js:
  • test262/test/built-ins/RegExp/match-indices/indices-groups-object.js:
  • test262/test/built-ins/RegExp/match-indices/indices-groups-properties.js:
  • test262/test/built-ins/RegExp/match-indices/indices-property.js:
  • test262/test/built-ins/String/prototype/replaceAll: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0024.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0026.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0027.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x003C.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024-0x0060.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024N.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/getSubstitution-0x0024NN.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/length.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/name.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/replaceAll.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-abrupt.js: Added.

(custom):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-each-match-position.js: Added.

(t):
(replaceValue):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-matching-empty.js: Added.

(t):
(replaceValue):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-skip-no-match.js: Added.

(replaceValue):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-call-tostring-abrupt.js: Added.

(custom):
(symbol):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-fn-skip-toString.js: Added.

(replaceValue):
(value):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-tostring-abrupt.js: Added.

(thisValue.toString):
(searchValue.toString):
(replaceValue.toString):

  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-value-replaces-string.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/replaceValue-value-tostring.js: Added.

(replaceValue.Symbol.toPrimitive):
(replaceValue.toString):
(replaceValue.valueOf):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-empty-string-this-empty-string.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/searchValue-empty-string.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/searchValue-flags-no-g-throws.js: Added.

(poison.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-flags-null-undefined-throws.js: Added.

(poison.toString):
(searchValue.get flags):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-flags-toString-abrupt.js: Added.

(poison.toString):
(searchValue.toString):
(searchValue.flags.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-get-flags-abrupt.js: Added.

(searchValue.get flags):
(poison.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-isRegExp-abrupt.js: Added.

(searchValue.get Symbol):
(searchValue.toString):
(poison.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replace-method-abrupt.js: Added.

(poison.toString):
(searchValue.get Symbol):
(searchValue.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-RegExp-call-fn.js: Added.

(RE.prototype.Symbol.replace):
(RE.prototype.toString):
(RE):
(const.t):
(getFn.return.replaceValueFn):
(getFn):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-RegExp-call.js: Added.

(RE.prototype.Symbol.replace):
(RE.prototype.toString):
(RE):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-before-tostring.js: Added.

(value):
(poison.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-call-abrupt.js: Added.

(poison.toString):
(searchValue.Symbol.replace):
(searchValue.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-replacer-call.js: Added.

(value):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-tostring-abrupt.js: Added.

(poison.toString):
(thisValue.toString):
(searchValue.toString):

  • test262/test/built-ins/String/prototype/replaceAll/searchValue-tostring-regexp.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/this-is-null-throws.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/this-is-undefined-throws.js: Added.
  • test262/test/built-ins/String/prototype/replaceAll/this-tostring-abrupt.js: Added.

(poison.toString):
(thisValue.toString):
(searchValue.toString):

  • test262/test/built-ins/String/prototype/replaceAll/this-tostring.js: Added.

(thisValue.Symbol.toPrimitive):
(thisValue.toString):
(thisValue.valueOf):

  • test262/test/built-ins/TypedArray/from/mapfn-is-not-callable.js:
  • test262/test/built-ins/TypedArray/prototype/slice/BigInt/speciesctor-get-species-custom-ctor-length-throws.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/slice/BigInt/speciesctor-get-species-custom-ctor-length.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor-length-throws.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor-length.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/from/nan-conversion.js:
  • test262/test/built-ins/TypedArrayConstructors/from/new-instance-from-zero.js:
  • test262/test/built-ins/TypedArrayConstructors/of/BigInt/inherited.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/of/inherited.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/WeakRef/prototype-from-newtarget-abrupt.js:
  • test262/test/harness/deepEqual-array.js:
  • test262/test/harness/deepEqual-circular.js:
  • test262/test/harness/deepEqual-deep.js:
  • test262/test/harness/deepEqual-mapset.js:
  • test262/test/harness/deepEqual-object.js:
  • test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-dateStyle.js: Added.
  • test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-default.js: Added.

(locales.forEach):

  • test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-timeStyle.js: Added.
  • test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle.js:
  • test262/test/intl402/DisplayNames: Added.
  • test262/test/intl402/DisplayNames/ctor-custom-get-prototype-poison-throws.js: Added.

(custom.new.Proxy.new.Function.get if):
(custom.new.Proxy.new.Function):

  • test262/test/intl402/DisplayNames/ctor-custom-prototype.js: Added.
  • test262/test/intl402/DisplayNames/ctor-default-prototype.js: Added.
  • test262/test/intl402/DisplayNames/instance-extensible.js: Added.
  • test262/test/intl402/DisplayNames/length.js: Added.
  • test262/test/intl402/DisplayNames/locales-invalid-throws.js: Added.
  • test262/test/intl402/DisplayNames/locales-length-poison-throws.js: Added.
  • test262/test/intl402/DisplayNames/locales-length-tolength-throws.js: Added.

(locales.length.valueOf):
(locales.length.Symbol.toPrimitive):
(locales.length.toString):

  • test262/test/intl402/DisplayNames/locales-symbol-length.js: Added.
  • test262/test/intl402/DisplayNames/name.js: Added.
  • test262/test/intl402/DisplayNames/options-fallback-abrupt-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-fallback-invalid-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-fallback-toString-abrupt-throws.js: Added.

(options.fallback.toString):
(options.fallback.valueOf):
(options.fallback.Symbol.toPrimitive):

  • test262/test/intl402/DisplayNames/options-fallback-valid.js: Added.
  • test262/test/intl402/DisplayNames/options-localeMatcher-abrupt-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-localeMatcher-invalid-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-localeMatcher-toString-abrupt-throws.js: Added.

(options.localeMatcher.toString):
(options.localeMatcher.valueOf):
(options.localeMatcher.Symbol.toPrimitive):

  • test262/test/intl402/DisplayNames/options-localeMatcher-valid.js: Added.
  • test262/test/intl402/DisplayNames/options-null-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-random-properties-unchecked.js: Added.
  • test262/test/intl402/DisplayNames/options-style-abrupt-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-style-invalid-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-style-toString-abrupt-throws.js: Added.

(options.style.toString):
(options.style.valueOf):
(options.style.Symbol.toPrimitive):

  • test262/test/intl402/DisplayNames/options-style-valid.js: Added.
  • test262/test/intl402/DisplayNames/options-type-abrupt-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-type-invalid-throws.js: Added.
  • test262/test/intl402/DisplayNames/options-type-toString-abrupt-throws.js: Added.

(options.type.toString):
(options.type.valueOf):
(options.type.Symbol.toPrimitive):

  • test262/test/intl402/DisplayNames/options-type-valid.js: Added.
  • test262/test/intl402/DisplayNames/prop-desc.js: Added.
  • test262/test/intl402/DisplayNames/proto-from-ctor-realm.js: Added.
  • test262/test/intl402/DisplayNames/proto.js: Added.
  • test262/test/intl402/DisplayNames/prototype: Added.
  • test262/test/intl402/DisplayNames/prototype/Symbol.toStringTag.js: Added.
  • test262/test/intl402/DisplayNames/prototype/prop-desc.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/default-option-values.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/length.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/name.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/option-fallback.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/option-style.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/option-type.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/prop-desc.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/return-object.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/this-not-object-throws.js: Added.
  • test262/test/intl402/DisplayNames/prototype/resolvedOptions/this-object-lacks-internal-throws.js: Added.
  • test262/test/intl402/DisplayNames/undefined-newtarget-throws.js: Added.
  • test262/test/language/destructuring/binding/syntax/property-list-single-name-bindings.js:
  • test262/test/language/expressions/addition/bigint-and-number.js:
  • test262/test/language/expressions/addition/bigint-arithmetic.js:
  • test262/test/language/expressions/addition/bigint-errors.js:
  • test262/test/language/expressions/addition/bigint-toprimitive.js:
  • test262/test/language/expressions/addition/bigint-wrapped-values.js:
  • test262/test/language/expressions/arrow-function/eval-var-scope-syntax-err.js: Added.

(f.a.eval):

  • test262/test/language/expressions/arrow-function/scope-param-elem-var-close.js:
  • test262/test/language/expressions/arrow-function/scope-param-elem-var-open.js:
  • test262/test/language/expressions/arrow-function/scope-param-rest-elem-var-close.js:
  • test262/test/language/expressions/arrow-function/scope-param-rest-elem-var-open.js:
  • test262/test/language/expressions/async-arrow-function/eval-var-scope-syntax-err.js: Added.

(f.async a):
(SyntaxError.then):

  • test262/test/language/expressions/async-function/named-eval-var-scope-syntax-err.js: Added.

(f.async f):
(f):

  • test262/test/language/expressions/async-function/nameless-eval-var-scope-syntax-err.js: Added.
  • test262/test/language/expressions/async-generator/eval-var-scope-syntax-err.js: Added.
  • test262/test/language/expressions/async-generator/named-eval-var-scope-syntax-err.js: Added.

(f.async g):
(f):

  • test262/test/language/expressions/bitwise-and/bigint-and-number.js:
  • test262/test/language/expressions/bitwise-and/bigint-errors.js:
  • test262/test/language/expressions/bitwise-and/bigint-non-primitive.js:
  • test262/test/language/expressions/bitwise-and/bigint-toprimitive.js:
  • test262/test/language/expressions/bitwise-and/bigint-wrapped-values.js:
  • test262/test/language/expressions/bitwise-not/bigint-non-primitive.js:
  • test262/test/language/expressions/bitwise-or/bigint-and-number.js:
  • test262/test/language/expressions/bitwise-or/bigint-errors.js:
  • test262/test/language/expressions/bitwise-or/bigint-non-primitive.js:
  • test262/test/language/expressions/bitwise-or/bigint-toprimitive.js:
  • test262/test/language/expressions/bitwise-or/bigint-wrapped-values.js:
  • test262/test/language/expressions/bitwise-xor/bigint-and-number.js:
  • test262/test/language/expressions/bitwise-xor/bigint-errors.js:
  • test262/test/language/expressions/bitwise-xor/bigint-non-primitive.js:
  • test262/test/language/expressions/bitwise-xor/bigint-toprimitive.js:
  • test262/test/language/expressions/bitwise-xor/bigint-wrapped-values.js:
  • test262/test/language/expressions/class/async-gen-method-static/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/class/async-gen-method/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/class/async-method-static/eval-var-scope-syntax-err.js: Added.

(C):
(then):

  • test262/test/language/expressions/class/async-method/eval-var-scope-syntax-err.js: Added.

(C):
(SyntaxError.then):

  • test262/test/language/expressions/class/elements/syntax/early-errors/grammar-private-field-optional-chaining.js: Added.

(C.prototype.access):

  • test262/test/language/expressions/class/gen-method-static/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/class/gen-method/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/class/method-static/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/class/method/eval-var-scope-syntax-err.js: Added.

(C):

  • test262/test/language/expressions/coalesce/cannot-chain-head-with-logical-and.js:
  • test262/test/language/expressions/coalesce/cannot-chain-head-with-logical-or.js:
  • test262/test/language/expressions/coalesce/cannot-chain-tail-with-logical-and.js:
  • test262/test/language/expressions/coalesce/cannot-chain-tail-with-logical-or.js:
  • test262/test/language/expressions/delete/super-property.js:

(C):

  • test262/test/language/expressions/division/bigint-and-number.js:
  • test262/test/language/expressions/division/bigint-arithmetic.js:
  • test262/test/language/expressions/division/bigint-complex-infinity.js:
  • test262/test/language/expressions/division/bigint-errors.js:
  • test262/test/language/expressions/division/bigint-toprimitive.js:
  • test262/test/language/expressions/division/bigint-wrapped-values.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-bigint.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-boolean.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-number.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-object.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-string.js:
  • test262/test/language/expressions/equals/bigint-and-bigint.js:
  • test262/test/language/expressions/equals/bigint-and-boolean.js:
  • test262/test/language/expressions/equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/equals/bigint-and-number.js:
  • test262/test/language/expressions/equals/bigint-and-object.js:
  • test262/test/language/expressions/equals/bigint-and-string.js:
  • test262/test/language/expressions/exponentiation/bigint-and-number.js:
  • test262/test/language/expressions/exponentiation/bigint-arithmetic.js:
  • test262/test/language/expressions/exponentiation/bigint-errors.js:
  • test262/test/language/expressions/exponentiation/bigint-negative-exponent-throws.js:
  • test262/test/language/expressions/exponentiation/bigint-toprimitive.js:
  • test262/test/language/expressions/exponentiation/bigint-wrapped-values.js:
  • test262/test/language/expressions/exponentiation/bigint-zero-base-zero-exponent.js:
  • test262/test/language/expressions/function/eval-var-scope-syntax-err.js: Added.

(f):

  • test262/test/language/expressions/function/scope-param-elem-var-close.js:
  • test262/test/language/expressions/function/scope-param-elem-var-open.js:
  • test262/test/language/expressions/function/scope-param-rest-elem-var-close.js:
  • test262/test/language/expressions/function/scope-param-rest-elem-var-open.js:
  • test262/test/language/expressions/generators/eval-var-scope-syntax-err.js: Added.

(f):

  • test262/test/language/expressions/generators/scope-param-elem-var-close.js:
  • test262/test/language/expressions/generators/scope-param-elem-var-open.js:
  • test262/test/language/expressions/generators/scope-param-rest-elem-var-close.js:
  • test262/test/language/expressions/generators/scope-param-rest-elem-var-open.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-string.js:
  • test262/test/language/expressions/greater-than/bigint-and-bigint.js:
  • test262/test/language/expressions/greater-than/bigint-and-boolean.js:
  • test262/test/language/expressions/greater-than/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/greater-than/bigint-and-non-finite.js:
  • test262/test/language/expressions/greater-than/bigint-and-number-extremes.js:
  • test262/test/language/expressions/greater-than/bigint-and-number.js:
  • test262/test/language/expressions/greater-than/bigint-and-symbol.js:
  • test262/test/language/expressions/left-shift/bigint-and-number.js:
  • test262/test/language/expressions/left-shift/bigint-errors.js:
  • test262/test/language/expressions/left-shift/bigint-non-primitive.js:
  • test262/test/language/expressions/left-shift/bigint-toprimitive.js:
  • test262/test/language/expressions/left-shift/bigint-wrapped-values.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-number.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-string.js:
  • test262/test/language/expressions/less-than/bigint-and-bigint.js:
  • test262/test/language/expressions/less-than/bigint-and-boolean.js:
  • test262/test/language/expressions/less-than/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/less-than/bigint-and-non-finite.js:
  • test262/test/language/expressions/less-than/bigint-and-number-extremes.js:
  • test262/test/language/expressions/less-than/bigint-and-number.js:
  • test262/test/language/expressions/modulus/bigint-and-number.js:
  • test262/test/language/expressions/modulus/bigint-arithmetic.js:
  • test262/test/language/expressions/modulus/bigint-errors.js:
  • test262/test/language/expressions/modulus/bigint-modulo-zero.js:
  • test262/test/language/expressions/modulus/bigint-toprimitive.js:
  • test262/test/language/expressions/modulus/bigint-wrapped-values.js:
  • test262/test/language/expressions/multiplication/bigint-and-number.js:
  • test262/test/language/expressions/multiplication/bigint-arithmetic.js:
  • test262/test/language/expressions/multiplication/bigint-errors.js:
  • test262/test/language/expressions/multiplication/bigint-toprimitive.js:
  • test262/test/language/expressions/multiplication/bigint-wrapped-values.js:
  • test262/test/language/expressions/object/method-definition/async-gen-meth-eval-var-scope-syntax-err.js: Added.

(obj.async method):

  • test262/test/language/expressions/object/method-definition/async-meth-eval-var-scope-syntax-err.js: Added.

(obj.async method):
(SyntaxError.then):

  • test262/test/language/expressions/object/method-definition/gen-meth-eval-var-scope-syntax-err.js: Added.

(obj.method.a.eval):

  • test262/test/language/expressions/object/method-definition/meth-eval-var-scope-syntax-err.js: Added.

(obj.method.a.eval):

  • test262/test/language/expressions/object/scope-gen-meth-param-elem-var-close.js:
  • test262/test/language/expressions/object/scope-gen-meth-param-elem-var-open.js:
  • test262/test/language/expressions/object/scope-gen-meth-param-rest-elem-var-close.js:
  • test262/test/language/expressions/object/scope-gen-meth-param-rest-elem-var-open.js:
  • test262/test/language/expressions/object/scope-meth-param-elem-var-close.js:
  • test262/test/language/expressions/object/scope-meth-param-elem-var-open.js:
  • test262/test/language/expressions/object/scope-meth-param-rest-elem-var-close.js:
  • test262/test/language/expressions/object/scope-meth-param-rest-elem-var-open.js:
  • test262/test/language/expressions/optional-chaining/iteration-statement-do.js: Added.
  • test262/test/language/expressions/optional-chaining/iteration-statement-for-await-of.js: Added.

(const.obj.iterable.Symbol.asyncIterator):
(async checkAssertions):

  • test262/test/language/expressions/optional-chaining/iteration-statement-for-in.js: Added.
  • test262/test/language/expressions/optional-chaining/iteration-statement-for-of-type-error.js: Added.
  • test262/test/language/expressions/optional-chaining/iteration-statement-for.js: Added.

(const.obj3.get a):

  • test262/test/language/expressions/optional-chaining/iteration-statement-while.js: Added.
  • test262/test/language/expressions/optional-chaining/new-target-optional-call.js: Added.

(const.newTargetContext):
(Base):
(Foo):

  • test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js: Added.

(const.a.b):

  • test262/test/language/expressions/optional-chaining/super-property-optional-call.js: Added.

(Base.prototype.method):
(Base):
(Foo.prototype.method):
(Foo):

  • test262/test/language/expressions/right-shift/bigint-and-number.js:
  • test262/test/language/expressions/right-shift/bigint-errors.js:
  • test262/test/language/expressions/right-shift/bigint-non-primitive.js:
  • test262/test/language/expressions/right-shift/bigint-toprimitive.js:
  • test262/test/language/expressions/right-shift/bigint-wrapped-values.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-bigint.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-boolean.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-number.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-object.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-string.js:
  • test262/test/language/expressions/strict-equals/bigint-and-bigint.js:
  • test262/test/language/expressions/strict-equals/bigint-and-boolean.js:
  • test262/test/language/expressions/strict-equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/strict-equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/strict-equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/strict-equals/bigint-and-number.js:
  • test262/test/language/expressions/strict-equals/bigint-and-object.js:
  • test262/test/language/expressions/strict-equals/bigint-and-string.js:
  • test262/test/language/expressions/subtraction/bigint-and-number.js:
  • test262/test/language/expressions/subtraction/bigint-arithmetic.js:
  • test262/test/language/expressions/subtraction/bigint-errors.js:
  • test262/test/language/expressions/subtraction/bigint-toprimitive.js:
  • test262/test/language/expressions/subtraction/bigint-wrapped-values.js:
  • test262/test/language/expressions/typeof/proxy.js: Added.

(assert.sameValue.typeof.new.Proxy):
(const.rp2.Proxy.revocable):

  • test262/test/language/expressions/unary-minus/bigint-non-primitive.js:
  • test262/test/language/expressions/unary-plus/bigint-throws.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-and-number.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-errors.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-non-primitive.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-toprimitive.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-wrapped-values.js:
  • test262/test/language/function-code/eval-param-env-with-computed-key.js:
  • test262/test/language/function-code/eval-param-env-with-prop-initializer.js:
  • test262/test/language/statements/async-function/eval-var-scope-syntax-err.js: Added.

(async f):
(SyntaxError.then):

  • test262/test/language/statements/async-generator/eval-var-scope-syntax-err.js: Added.

(async f):

  • test262/test/language/statements/class/async-gen-method-static/eval-var-scope-syntax-err.js: Added.

(C.async method):
(C):

  • test262/test/language/statements/class/async-gen-method/eval-var-scope-syntax-err.js: Added.

(C.prototype.async method):
(C):

  • test262/test/language/statements/class/async-method-static/eval-var-scope-syntax-err.js: Added.

(C.async method):
(C):
(SyntaxError.then):

  • test262/test/language/statements/class/async-method/eval-var-scope-syntax-err.js: Added.

(C.prototype.async method):
(C):
(SyntaxError.then):

  • test262/test/language/statements/class/definition/constructable-but-no-prototype.js:
  • test262/test/language/statements/class/definition/constructor-strict-by-default.js:
  • test262/test/language/statements/class/definition/getters-restricted-ids.js:
  • test262/test/language/statements/class/definition/implicit-constructor.js:
  • test262/test/language/statements/class/definition/invalid-extends.js:
  • test262/test/language/statements/class/definition/methods-named-eval-arguments.js:
  • test262/test/language/statements/class/definition/prototype-getter.js:
  • test262/test/language/statements/class/definition/prototype-property.js:
  • test262/test/language/statements/class/definition/setters-restricted-ids.js:
  • test262/test/language/statements/class/definition/side-effects-in-extends.js:
  • test262/test/language/statements/class/definition/side-effects-in-property-define.js:
  • test262/test/language/statements/class/definition/this-access-restriction-2.js:
  • test262/test/language/statements/class/definition/this-access-restriction.js:
  • test262/test/language/statements/class/definition/this-check-ordering.js:
  • test262/test/language/statements/class/elements/syntax/early-errors/grammar-private-field-optional-chaining.js: Added.

(C.prototype.access):
(C):

  • test262/test/language/statements/class/gen-method-static/eval-var-scope-syntax-err.js: Added.

(C.method):
(C):

  • test262/test/language/statements/class/gen-method/eval-var-scope-syntax-err.js: Added.

(C.prototype.method):
(C):

  • test262/test/language/statements/class/method-static/eval-var-scope-syntax-err.js: Added.

(C.method):
(C):

  • test262/test/language/statements/class/method/eval-var-scope-syntax-err.js: Added.

(C.prototype.method):
(C):

  • test262/test/language/statements/class/name-binding/basic.js:
  • test262/test/language/statements/class/subclass/binding.js:
  • test262/test/language/statements/class/subclass/builtin-objects/RegExp/lastIndex.js:
  • test262/test/language/statements/class/subclass/builtin-objects/String/length.js:
  • test262/test/language/statements/class/subclass/builtin-objects/WeakMap/regular-subclassing.js:
  • test262/test/language/statements/class/subclass/builtin-objects/WeakMap/super-must-be-called.js:
  • test262/test/language/statements/class/subclass/builtin-objects/WeakSet/regular-subclassing.js:
  • test262/test/language/statements/class/subclass/builtin-objects/WeakSet/super-must-be-called.js:
  • test262/test/language/statements/class/subclass/builtins.js:
  • test262/test/language/statements/class/subclass/default-constructor-spread-override.js:
  • test262/test/language/statements/for-in/identifier-let-allowed-as-lefthandside-expression-not-strict.js:
  • test262/test/language/statements/for-in/order-enumerable-shadowed.js: Added.
  • test262/test/language/statements/for-in/order-property-added.js: Added.
  • test262/test/language/statements/for-in/order-property-on-prototype.js: Added.
  • test262/test/language/statements/for-in/order-simple-object.js: Added.
  • test262/test/language/statements/function/eval-var-scope-syntax-err.js: Added.

(f):

  • test262/test/language/statements/function/scope-param-elem-var-close.js:
  • test262/test/language/statements/function/scope-param-elem-var-open.js:
  • test262/test/language/statements/function/scope-param-rest-elem-var-close.js:
  • test262/test/language/statements/function/scope-param-rest-elem-var-open.js:
  • test262/test/language/statements/generators/eval-var-scope-syntax-err.js: Added.

(f):

  • test262/test/language/statements/generators/scope-param-elem-var-close.js:
  • test262/test/language/statements/generators/scope-param-elem-var-open.js:
  • test262/test/language/statements/generators/scope-param-rest-elem-var-close.js:
  • test262/test/language/statements/generators/scope-param-rest-elem-var-open.js:
  • test262/test262-Revision.txt:

Tools:

Using --save and --latest-import should update expectations rather than overwrite.

  • Scripts/test262/Runner.pm:

(main):

3:05 PM Changeset in webkit [254016] by Chris Dumez
  • 5 edits in trunk

dispatchEvent() should not clear the event's isTrusted flag when it returns early
https://bugs.webkit.org/show_bug.cgi?id=205731

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline WPT test now that more checks are passing.

  • web-platform-tests/dom/events/Event-dispatch-redispatch-expected.txt:

Source/WebCore:

dispatchEvent() should not clear the event's isTrusted flag when it returns early:

No new tests, rebaselined existing test.

  • dom/EventTarget.cpp:

(WebCore::EventTarget::dispatchEventForBindings):

2:30 PM Changeset in webkit [254015] by aestes@apple.com
  • 9 edits in trunk/Source

[Apple Pay] Provide a better error message when Apple Pay blocks user agent script evaluation
https://bugs.webkit.org/show_bug.cgi?id=205730
<rdar://problem/55573484>

Reviewed by Brady Eidson.

Source/WebCore:

Covered by existing API tests.

  • Modules/applepay/PaymentCoordinator.cpp:

(WebCore::PaymentCoordinator::shouldAllowUserAgentScripts const):

  • Modules/applepay/PaymentCoordinator.h:
  • Modules/applepay/PaymentCoordinatorClient.h:

(WebCore::PaymentCoordinatorClient::userAgentScriptsBlockedErrorMessage const):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::executeUserAgentScriptInWorldInternal):
(WebCore::ScriptController::shouldAllowUserAgentScripts const):

  • bindings/js/ScriptController.h:

Source/WebKit:

  • WebProcess/ApplePay/WebPaymentCoordinator.cpp:

(WebKit::WebPaymentCoordinator::userAgentScriptsBlockedErrorMessage const):

  • WebProcess/ApplePay/WebPaymentCoordinator.h:
2:18 PM Changeset in webkit [254014] by dino@apple.com
  • 77 edits in trunk

[WebGL] Enable ANGLE by default for Cocoa platforms (except simulator)
https://bugs.webkit.org/show_bug.cgi?id=205483
<rdar://problem/58097701>

Reverting this from trunk (was r253926) due to the number of
flakey tests and failures.

Source/WTF:

  • wtf/Platform.h:

LayoutTests:

  • fast/canvas/webgl/array-bounds-clamping-expected.txt:
  • fast/canvas/webgl/array-bounds-clamping.html:
  • fast/canvas/webgl/copy-tex-image-and-sub-image-2d-bad-input-expected.txt:
  • fast/canvas/webgl/draw-elements-out-of-bounds-uint-index-expected.txt:
  • fast/canvas/webgl/drawElements-empty-vertex-data-expected.txt:
  • fast/canvas/webgl/oes-texture-half-float-uint16-expected.txt: Removed.
  • fast/canvas/webgl/oes-texture-half-float-uint16.html: Removed.
  • fast/canvas/webgl/readPixels-float-expected.txt:
  • fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies-expected.txt:
  • fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html:
  • fast/canvas/webgl/vertexAttribPointer-with-bad-offset-expected.txt:
  • fast/canvas/webgl/webgl-drawarrays-crash-2-expected.txt:
  • fast/canvas/webgl/webgl-drawarrays-crash-expected.txt:
  • fast/canvas/webgl/webgl2-texture-upload-enums-expected.txt:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
  • webgl/1.0.3/conformance/context/context-lost-restored-expected.txt:
  • webgl/1.0.3/conformance/extensions/oes-texture-float-expected.txt:
  • webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shader-struct-scope-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shader-with-reserved-words-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shaders-with-invariance-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shaders-with-name-conflicts-expected.txt:
  • webgl/1.0.3/conformance/misc/webgl-specific-expected.txt:
  • webgl/1.0.3/conformance/rendering/point-no-attributes-expected.txt:
  • webgl/1.0.3/conformance/textures/texture-copying-feedback-loops-expected.txt:
  • webgl/2.0.0/conformance/context/context-lost-restored-expected.txt:
  • webgl/2.0.0/conformance/extensions/ext-sRGB-expected.txt:
  • webgl/2.0.0/conformance/extensions/oes-texture-float-expected.txt:
  • webgl/2.0.0/conformance/extensions/oes-texture-half-float-expected.txt:
  • webgl/2.0.0/conformance/extensions/oes-vertex-array-object-expected.txt:
  • webgl/2.0.0/conformance/extensions/webgl-depth-texture-expected.txt:
  • webgl/2.0.0/conformance/extensions/webgl-draw-buffers-framebuffer-unsupported-expected.txt:
  • webgl/2.0.0/conformance/glsl/misc/shader-struct-scope-expected.txt:
  • webgl/2.0.0/conformance/glsl/misc/shaders-with-invariance-expected.txt:
  • webgl/2.0.0/conformance/glsl/misc/shaders-with-name-conflicts-expected.txt:
  • webgl/2.0.0/conformance/limits/gl-line-width-expected.txt:
  • webgl/2.0.0/conformance/misc/webgl-specific-expected.txt:
  • webgl/2.0.0/conformance/ogles/GL/biuDepthRange/biuDepthRange_001_to_002-expected.txt:
  • webgl/2.0.0/conformance/ogles/GL/gl_FragCoord/gl_FragCoord_001_to_003-expected.txt:
  • webgl/2.0.0/conformance/reading/read-pixels-test-expected.txt:
  • webgl/2.0.0/conformance/rendering/point-no-attributes-expected.txt:
  • webgl/2.0.0/conformance/textures/misc/cube-incomplete-fbo-expected.txt:
  • webgl/2.0.0/conformance/textures/misc/texture-copying-feedback-loops-expected.txt:
  • webgl/2.0.0/conformance2/buffers/get-buffer-sub-data-expected.txt:
  • webgl/2.0.0/conformance2/buffers/one-large-uniform-buffer-expected.txt:
  • webgl/2.0.0/conformance2/context/context-attributes-depth-stencil-antialias-obeyed-expected.txt:
  • webgl/2.0.0/conformance2/extensions/ext-color-buffer-float-expected.txt:
  • webgl/2.0.0/conformance2/extensions/promoted-extensions-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/no-attribute-vertex-shader-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/shader-linking-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/shader-with-invalid-characters-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/shader-with-mis-matching-uniform-block-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/valid-invariant-expected.txt:
  • webgl/2.0.0/conformance2/rendering/attrib-type-match-expected.txt:
  • webgl/2.0.0/conformance2/rendering/blitframebuffer-stencil-only-expected.txt:
  • webgl/2.0.0/conformance2/rendering/blitframebuffer-test-expected.txt:
  • webgl/2.0.0/conformance2/rendering/clear-func-buffer-type-match-expected.txt:
  • webgl/2.0.0/conformance2/rendering/clear-srgb-color-buffer-expected.txt:
  • webgl/2.0.0/conformance2/rendering/clipping-wide-points-expected.txt:
  • webgl/2.0.0/conformance2/rendering/framebuffer-unsupported-expected.txt:
  • webgl/2.0.0/conformance2/rendering/fs-color-type-mismatch-color-buffer-type-expected.txt:
  • webgl/2.0.0/conformance2/rendering/instanced-arrays-expected.txt:
  • webgl/2.0.0/conformance2/rendering/instanced-rendering-bug-expected.txt:
  • webgl/2.0.0/conformance2/rendering/rendering-sampling-feedback-loop-expected.txt:
  • webgl/2.0.0/conformance2/state/gl-get-calls-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/copy-texture-image-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-image-with-bad-args-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-mipmap-levels-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-new-formats-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-storage-2d-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/texture-npot-expected.txt:
  • webgl/2.0.0/conformance2/vertex_arrays/vertex-array-object-expected.txt:
2:16 PM Changeset in webkit [254013] by aboya@igalia.com
  • 1 edit
    1 add in trunk/LayoutTests/imported/w3c

Unreviewed, add missing expectation file.
https://bugs.webkit.org/show_bug.cgi?id=205728

  • web-platform-tests/media-source/mediasource-h264-play-starved-expected.txt: Added.
1:54 PM Changeset in webkit [254012] by dino@apple.com
  • 2 edits in trunk/Source/WebKit

Provide pid to crashing service worker process and GPU process
https://bugs.webkit.org/show_bug.cgi?id=205564
<rdar://problem/58300321>

Build fix for TestWebKitAPI.

  • UIProcess/API/C/WKContext.h:
12:52 PM Changeset in webkit [254011] by Kocsen Chung
  • 8 edits in branches/safari-609.1.13-branch/Source

Versioning.

12:04 PM Changeset in webkit [254010] by ysuzuki@apple.com
  • 34 edits in trunk/Source

Put more WebCore/WebKit JS objects into IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=205711

Reviewed by Keith Miller.

Source/WebCore:

This patch puts more JS objects into IsoSubspace, mainly focusing on JS objects defined manually (not using CodeGeneratorJS.pm).

No behavior change.

  • bindings/js/JSDOMBuiltinConstructor.h:

(WebCore::JSDOMBuiltinConstructor::JSDOMBuiltinConstructor): Deleted.
(WebCore::JSDOMBuiltinConstructor::initializeProperties): Deleted.

  • bindings/js/JSDOMBuiltinConstructorBase.cpp:

(WebCore::JSDOMBuiltinConstructorBase::subspaceForImpl):

  • bindings/js/JSDOMBuiltinConstructorBase.h:

(WebCore::JSDOMBuiltinConstructorBase::subspaceFor):

  • bindings/js/JSDOMConstructor.h:

(WebCore::JSDOMConstructor::JSDOMConstructor): Deleted.
(WebCore::JSDOMConstructor::initializeProperties): Deleted.

  • bindings/js/JSDOMConstructorBase.cpp:

(WebCore::JSDOMConstructorBase::subspaceForImpl):

  • bindings/js/JSDOMConstructorBase.h:

(WebCore::JSDOMConstructorBase::subspaceFor):

  • bindings/js/JSDOMConstructorNotConstructable.h:

(WebCore::JSDOMConstructorNotConstructable::JSDOMConstructorNotConstructable): Deleted.
(WebCore::JSDOMConstructorNotConstructable::initializeProperties): Deleted.
(WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): Deleted.
(WebCore::JSDOMConstructorNotConstructable::getCallData): Deleted.

  • bindings/js/JSDOMIterator.h:

(WebCore::JSDOMIteratorPrototype::create): Deleted.
(WebCore::JSDOMIteratorPrototype::createStructure): Deleted.
(WebCore::JSDOMIteratorPrototype::JSDOMIteratorPrototype): Deleted.

  • bindings/js/JSDOMNamedConstructor.h:

(WebCore::JSDOMNamedConstructor::JSDOMNamedConstructor): Deleted.
(WebCore::JSDOMNamedConstructor::initializeProperties): Deleted.

  • bindings/js/JSDOMWindowProperties.cpp:

(WebCore::JSDOMWindowProperties::subspaceForImpl):

  • bindings/js/JSDOMWindowProperties.h:

(WebCore::JSDOMWindowProperties::create): Deleted.
(WebCore::JSDOMWindowProperties::createStructure): Deleted.
(WebCore::JSDOMWindowProperties::JSDOMWindowProperties): Deleted.

  • bindings/js/JSWindowProxy.cpp:

(WebCore::JSWindowProxy::subspaceForImpl):

  • bindings/js/JSWindowProxy.h:
  • bindings/js/WebCoreJSClientData.cpp:

(WebCore::JSVMClientData::JSVMClientData):

  • bindings/js/WebCoreJSClientData.h:

(WebCore::JSVMClientData::domBuiltinConstructorSpace):
(WebCore::JSVMClientData::domConstructorSpace):
(WebCore::JSVMClientData::domWindowPropertiesSpace):
(WebCore::JSVMClientData::runtimeArraySpace):
(WebCore::JSVMClientData::runtimeObjectSpace):
(WebCore::JSVMClientData::windowProxySpace):

  • bridge/c/CRuntimeObject.h:

(JSC::Bindings::CRuntimeObject::create): Deleted.
(JSC::Bindings::CRuntimeObject::createStructure): Deleted.

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::getMethod):
(JSC::Bindings::CRuntimeMethod::create): Deleted.
(JSC::Bindings::CRuntimeMethod::createStructure): Deleted.
(JSC::Bindings::CRuntimeMethod::CRuntimeMethod): Deleted.
(JSC::Bindings::CRuntimeMethod::finishCreation): Deleted.

  • bridge/objc/ObjCRuntimeObject.h:

(JSC::Bindings::ObjCRuntimeObject::create): Deleted.
(JSC::Bindings::ObjCRuntimeObject::createStructure): Deleted.

  • bridge/objc/objc_instance.mm:

(ObjCRuntimeMethod::create): Deleted.
(ObjCRuntimeMethod::createStructure): Deleted.
(ObjCRuntimeMethod::ObjCRuntimeMethod): Deleted.
(ObjCRuntimeMethod::finishCreation): Deleted.

  • bridge/objc/objc_runtime.h:

(JSC::Bindings::ObjcFallbackObjectImp::create): Deleted.
(JSC::Bindings::ObjcFallbackObjectImp::propertyName const): Deleted.
(JSC::Bindings::ObjcFallbackObjectImp::createPrototype): Deleted.
(JSC::Bindings::ObjcFallbackObjectImp::createStructure): Deleted.

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcFallbackObjectImp::subspaceForImpl):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::RuntimeArray):
(JSC::RuntimeArray::subspaceForImpl):

  • bridge/runtime_array.h:

(JSC::RuntimeArray::create): Deleted.
(JSC::RuntimeArray::getLength const): Deleted.
(JSC::RuntimeArray::getConcreteArray const): Deleted.
(JSC::RuntimeArray::createPrototype): Deleted.
(JSC::RuntimeArray::createStructure): Deleted.

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::RuntimeMethod):

  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::RuntimeObject):
(JSC::Bindings::RuntimeObject::subspaceForImpl):

  • bridge/runtime_object.h:

Source/WebKit:

  • WebProcess/Plugins/Netscape/JSNPMethod.h:
  • WebProcess/Plugins/Netscape/JSNPObject.h:

Source/WebKitLegacy/mac:

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::getMethod):
(WebKit::ProxyRuntimeMethod::create): Deleted.
(WebKit::ProxyRuntimeMethod::createStructure): Deleted.
(WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod): Deleted.
(WebKit::ProxyRuntimeMethod::finishCreation): Deleted.

  • Plugins/Hosted/ProxyRuntimeObject.h:

(WebKit::ProxyRuntimeObject::create): Deleted.
(WebKit::ProxyRuntimeObject::createStructure): Deleted.

11:49 AM WebKitGTK/2.26.x edited by Michael Catanzaro
Propose r250743 (diff)
11:04 AM Changeset in webkit [254009] by Simon Fraser
  • 9 edits
    9 copies
    1 move
    18 adds in trunk

Add some shared schemes to the WebKit.xcworkspace
https://bugs.webkit.org/show_bug.cgi?id=205698

Reviewed by Tim Horton.
.:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:

Source/JavaScriptCore:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • JavaScriptCore.xcodeproj/xcshareddata/xcschemes/JavaScriptCore.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.

Source/WebCore:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • WebCore.xcodeproj/xcshareddata/xcschemes/WebCore.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.

Source/WebKit:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • WebKit.xcodeproj/xcshareddata/xcschemes/WebKit.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.

Source/WebKitLegacy:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • WebKitLegacy.xcodeproj/xcshareddata/xcschemes/WebKitLegacy.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.

Source/WTF:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • WTF.xcodeproj/xcshareddata/xcschemes/WTF.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.

Tools:

Make WebKit.xcworkspace show the following schemes by default:

All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.

Also remove the MobileMiniBrowserUITests scheme.

  • DumpRenderTree/DumpRenderTree.xcodeproj/xcshareddata/xcschemes/DumpRenderTree.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
  • MiniBrowser/MiniBrowser.xcodeproj/xcshareddata/xcschemes/MiniBrowser.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
  • MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowser.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/xcshareddata/xcschemes/WebKitTestRunner.xcscheme: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
10:35 AM Changeset in webkit [254008] by Wenson Hsieh
  • 2 edits in trunk/LayoutTests

highlight/highlight-world-leak.html frequently times out
https://bugs.webkit.org/show_bug.cgi?id=205643
<rdar://problem/58263350>

Reviewed by Megan Gardner.

The main logic in this test is executed inside a load event handler to a subframe, which is set in a script
element. However, in the case where the subframe finishes loading before we execute the inline script, the test
will never run, since the load event handler won't be called again.

Fix this by waiting for the load event of the page instead.

  • highlight/highlight-world-leak.html:
10:22 AM Changeset in webkit [254007] by youenn@apple.com
  • 4 edits in trunk

REGRESSION: [iOS 13] webrtc/datachannel/mdns-ice-candidates.html is failing
https://bugs.webkit.org/show_bug.cgi?id=201900
<rdar://problem/55466061>

Reviewed by Eric Carlson.

Source/WebCore:

No change of behavior.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::registerMDNSName):
Fix message typo (missing space).

LayoutTests:

  • platform/ios/TestExpectations:

Reenable test.

10:04 AM Changeset in webkit [254006] by youenn@apple.com
  • 11 edits in trunk

Provide pid to crashing service worker process and GPU process
https://bugs.webkit.org/show_bug.cgi?id=205564

Reviewed by Alex Christensen.

Source/WebKit:

No change of behavior, we provide pids to the WKContext callbacks.

  • UIProcess/API/C/WKContext.h:
  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::gpuProcessCrashed):

  • UIProcess/WebContextClient.cpp:

(WebKit::WebContextClient::serviceWorkerProcessDidCrash):
(WebKit::WebContextClient::gpuProcessDidCrash):

  • UIProcess/WebContextClient.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::serviceWorkerProcessCrashed):
(WebKit::WebProcessPool::gpuProcessCrashed):

  • UIProcess/WebProcessPool.h:

Tools:

Exposing the pid allows WebKitTestRunner to provide better information.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::serviceWorkerProcessDidCrash):
(WTR::TestController::gpuProcessDidCrash):

  • WebKitTestRunner/TestController.h:
9:50 AM Changeset in webkit [254005] by commit-queue@webkit.org
  • 10 edits in trunk

Deprecate _WKWebsitePolicies
https://bugs.webkit.org/show_bug.cgi?id=205539

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-03
Reviewed by Wenson Hsieh.

Source/WebKit:

Its last use was removed in rdar://problem/58064847
but we need to keep it in WebKit until the next Safari release
to keep Safari working with built versions of open source WebKit with run-safari.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateWebsitePolicies:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.mm:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

(-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.

  • TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

(-[ContentBlockingWebsitePoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(TEST):
(-[AutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[WebsitePoliciesWebsiteDataStoreDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
(-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
(-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.

9:40 AM Changeset in webkit [254004] by youenn@apple.com
  • 4 edits in trunk

NetworkResourceLoader::didFinishWithRedirectResponse should not assume the load is coming from network
https://bugs.webkit.org/show_bug.cgi?id=205715

Reviewed by Alex Christensen.

Source/WebKit:

Covered by updated test.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didFinishWithRedirectResponse):
If redirection is coming from cache, the load is not null.
We just need to use the request URL since the redirection mode is manual.

LayoutTests:

  • http/wpt/prefetch/link-prefetch-main-resource-redirect.html:
9:29 AM Changeset in webkit [254003] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, drop new assertion added in r253984 which hits on OpenSource bots

  • Shared/ios/DependencyProcessAssertionIOS.mm:

(WebKit::DependencyProcessAssertion::DependencyProcessAssertion):

9:24 AM Changeset in webkit [254002] by Chris Dumez
  • 3 edits in trunk/Source

Improve release logging in ServiceWorkerFetchTask
https://bugs.webkit.org/show_bug.cgi?id=205692

Reviewed by Youenn Fablet.

Improve release logging in ServiceWorkerFetchTask to facilitate debugging.

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
(WebKit::ServiceWorkerFetchTask::~ServiceWorkerFetchTask):
(WebKit::ServiceWorkerFetchTask::start):
(WebKit::ServiceWorkerFetchTask::contextClosed):
(WebKit::ServiceWorkerFetchTask::startFetch):
(WebKit::ServiceWorkerFetchTask::didReceiveRedirectResponse):
(WebKit::ServiceWorkerFetchTask::didReceiveResponse):
(WebKit::ServiceWorkerFetchTask::didFinish):
(WebKit::ServiceWorkerFetchTask::didFail):
(WebKit::ServiceWorkerFetchTask::didNotHandle):
(WebKit::ServiceWorkerFetchTask::cannotHandle):
(WebKit::ServiceWorkerFetchTask::cancelFromClient):
(WebKit::ServiceWorkerFetchTask::continueDidReceiveFetchResponse):
(WebKit::ServiceWorkerFetchTask::continueFetchTaskWith):
(WebKit::ServiceWorkerFetchTask::timeoutTimerFired):
(WebKit::ServiceWorkerFetchTask::softUpdateIfNeeded):

8:58 AM Changeset in webkit [254001] by Chris Dumez
  • 15 edits in trunk

Align XPathEvaluator.createNSResolver() / XPathResult.snapshotItem() with the specification
https://bugs.webkit.org/show_bug.cgi?id=205699

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaselined existing test now that more checks are passing.

  • web-platform-tests/dom/idlharness.window-expected.txt:

Source/WebCore:

Align XPathEvaluator.createNSResolver() / XPathResult.snapshotItem() with the specification and
other browsers (tested Chrome 79 and Firefox 71). In particular, their parameter should not be
optional (or nullable).

No new tests, rebaselined existing test.

  • dom/Document.cpp:

(WebCore::Document::createNSResolver):

  • dom/Document.h:
  • dom/Document.idl:
  • xml/NativeXPathNSResolver.cpp:

(WebCore::NativeXPathNSResolver::NativeXPathNSResolver):
(WebCore::NativeXPathNSResolver::lookupNamespaceURI):

  • xml/NativeXPathNSResolver.h:

(WebCore::NativeXPathNSResolver::create):

  • xml/XPathEvaluator.cpp:

(WebCore::XPathEvaluator::createNSResolver):

  • xml/XPathEvaluator.h:
  • xml/XPathEvaluator.idl:
  • xml/XPathResult.idl:

Source/WebKitLegacy/mac:

  • DOM/DOMDocument.mm:

(-[DOMDocument createNSResolver:]):

8:19 AM Changeset in webkit [254000] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

Implement "create a potential-CORS request"
https://bugs.webkit.org/show_bug.cgi?id=205326

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-03
Reviewed by Youenn Fablet.

Implement "create a potential-CORS request" [1] and
remove deprecatedSetAsPotentiallyCrossOrigin. Add a
same-origin fallback flag that can be used by clients
of createPotentialAccessControlRequest in the future.

No new tests, no functional change.

  • bindings/js/CachedScriptFetcher.cpp:

(WebCore::CachedScriptFetcher::requestScriptWithCache const):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

  • html/parser/HTMLResourcePreloader.cpp:

(WebCore::PreloadRequest::resourceRequest):

  • loader/CrossOriginAccessControl.cpp:

(WebCore::createPotentialAccessControlRequest):

  • loader/CrossOriginAccessControl.h:
  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement):

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::preloadIfNeeded):

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::requestResource):

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::load):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::deprecatedSetAsPotentiallyCrossOrigin): Deleted.

  • loader/cache/CachedResourceRequest.h:
8:03 AM Changeset in webkit [253999] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

[LFC][Integration] Enable text-transform:capitalize
https://bugs.webkit.org/show_bug.cgi?id=205721

Reviewed by Zalan Bujtas.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::canUseFor):

Enable.

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::TreeBuilder::createLayoutBox):
(WebCore::Layout::applyTextTransform): Deleted.

No need to do anything, RenderText::text() has already applied text transform.

7:58 AM Changeset in webkit [253998] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Fix fast/ruby/ruby-justification.html
https://bugs.webkit.org/show_bug.cgi?id=205708
<rdar://problem/58290264>

Reviewed by Antti Koivisto.

  1. Fix last (content) run's trailing expansion behavior.
  2. Pass in float to TextRun instead of LayoutUnit to avoid losing precision.
  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::justifyRuns const):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):

7:42 AM Changeset in webkit [253997] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Fix fast/parser/entities-in-html.html
https://bugs.webkit.org/show_bug.cgi?id=205710
<rdar://problem/58290731>

Reviewed by Antti Koivisto.

  • layout/inlineformatting/InlineTextItem.cpp:

(WebCore::Layout::isWhitespaceCharacter):

6:17 AM Changeset in webkit [253996] by cathiechen
  • 18 edits
    16 adds
    1 delete in trunk/LayoutTests

Import WPT test cases for apect-ratio generated from attribute width and height
https://bugs.webkit.org/show_bug.cgi?id=205678

Reviewed by Manuel Rego Casasnovas

LayoutTests/imported/w3c:

Import web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/ from WPT.
Also import web-platform-tests/media/ which is needed by video-aspect-ratio.html.
Update video_loop_base-expected.txt, resize-during-playback-expected.txt and wpt-server-http.sub-expected.txt
which include resources in web-platform-tests/media/.

  • resources/import-expectations.json:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/align.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio-expected.txt:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/content-aspect-ratio-expected.txt: Added.
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/content-aspect-ratio.html: Added.
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio-expected.txt:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-no-alt-replaced.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-replaced-box-while-loading.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-aspect-ratio-expected.txt:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-aspect-ratio.html:
  • web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-video-element/resize-during-playback-expected.txt:
  • web-platform-tests/infrastructure/server/wpt-server-http.sub-expected.txt:
  • web-platform-tests/media/1x1-green.png: Added.
  • web-platform-tests/media/2x2-green.mp4: Added.
  • web-platform-tests/media/2x2-green.ogv: Added.
  • web-platform-tests/media/400x300-red-resize-200x150-green.mp4: Added.
  • web-platform-tests/media/400x300-red-resize-200x150-green.webm: Added.
  • web-platform-tests/media/META.yml: Added.
  • web-platform-tests/media/OWNERS: Removed.
  • web-platform-tests/media/counting.mp4: Added.
  • web-platform-tests/media/counting.ogv: Added.
  • web-platform-tests/media/foo-no-cors.vtt: Added.
  • web-platform-tests/media/sound_0.mp3: Added.
  • web-platform-tests/media/sound_0.oga: Added.
  • web-platform-tests/media/test.mp4: Added.
  • web-platform-tests/media/test.ogv: Added.
  • web-platform-tests/media/video.ogv: Added.
  • web-platform-tests/media/w3c-import.log:

LayoutTests:

video-aspect-ratio.html passes the test after importing web-platform-tests/media/

5:56 AM Changeset in webkit [253995] by aboya@igalia.com
  • 3 edits
    4 adds in trunk

[GStreamer][MSE] Player stalling too soon
https://bugs.webkit.org/show_bug.cgi?id=205117

Reviewed by Xabier Rodriguez-Calvar.

LayoutTests/imported/w3c:

Added the testcase used to report the bug, cleaned and adapted for
WPT.

  • web-platform-tests/media-source/mediasource-h264-play-starved.html: Added.
  • web-platform-tests/media-source/mp4/h264-starvation-init.mp4: Added.
  • web-platform-tests/media-source/mp4/h264-starvation-media.mp4: Added.

Tools:

Backported patch to jhbuild.

Small modifications were necessary to make it apply on 1.16.1.

  • gstreamer/jhbuild.modules:
  • gstreamer/patches/libav-0001-gstavviddec-Limit-default-number-of-decoder-threads.patch: Added.
2:06 AM Changeset in webkit [253994] by sbarati@apple.com
  • 3 edits
    1 add in trunk

B3::ReduceLoopStrength should not do range based iteration on a vector it's mutating
https://bugs.webkit.org/show_bug.cgi?id=205703
<rdar://problem/56459483>

Reviewed by Mark Lam.

JSTests:

  • stress/dont-range-based-iterate-vector-that-is-mutated.js: Added.

(foo):

Source/JavaScriptCore:

B3::ReduceLoopStrength had code that did:
`
for (BasicBlock* pred : loopPostfooter->predecessors())

loopPostfooter->removePredecessor(pred);

`

This is wrong, since it's doing a range based iteration over the vector it is
mutating. The fix is to just do:
`
while (loopPostfooter->predecessors().size())

loopPostfooter->removePredecessor(loopPostfooter->predecessors()[0]);

`

  • b3/B3ReduceLoopStrength.cpp:

(JSC::B3::ReduceLoopStrength::reduceByteCopyLoopsToMemcpy):

1:57 AM Changeset in webkit [253993] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Fix non-libwebrtc builds after r253957
https://bugs.webkit.org/show_bug.cgi?id=205714

Unreviewed.

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:

Move the includes inside the compilation guard.

1:41 AM Changeset in webkit [253992] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

<link> with non-CSS type should not be retrieved
https://bugs.webkit.org/show_bug.cgi?id=88157

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-03
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Import test for various type attribute values for rel=stylesheet link elements.

  • web-platform-tests/html/semantics/document-metadata/the-link-element/link-type-attribute-expected.html: Added.
  • web-platform-tests/html/semantics/document-metadata/the-link-element/link-type-attribute.html: Added.
  • web-platform-tests/html/semantics/document-metadata/the-link-element/w3c-import.log:

Source/WebCore:

If the UA does not support the given MIME type for the given link
relationship, then the UA should not fetch and process the linked
resource [1].

The behavior matches Chrome and Firefox.

[1] https://html.spec.whatwg.org/multipage/semantics.html#processing-the-type-attribute

Test: imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/link-type-attribute.html

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

1:20 AM Changeset in webkit [253991] by sbarati@apple.com
  • 5 edits
    1 add in trunk

AI rule for PutById can only observe transitions when it watches the condition
https://bugs.webkit.org/show_bug.cgi?id=205697
<rdar://problem/56814254>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/only-transition-structures-for-put-by-id-in-AI-if-watchable.js: Added.

Source/JavaScriptCore:

There was a bug in AI where we were capturing a PutByIdStatus and
emitting a structure transition in AI state based on the variants inside this
PutByIdStatus. This, in principal, is a valid static analysis to perform.
However, we can only do this if we ensure that the snapshot we have in the
PutByIdStatus holds at runtime. We can do this by watching the property conditions
for the various variants. AI forgot to watch these conditions. This patch fixes that.
In practice, this also means we need to be slightly more strict about stating to
AI when we transition since some object property conditions aren't watchable, and need
to be verified at runtime via structure checks. This is ok in practice, since
we'll emit the code to do that inside constant folding (constant folding was
already doing this), which will continue to report the precise transition in
the abstract state.

  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

Jan 2, 2020:

7:52 PM Changeset in webkit [253990] by Keith Rollin
  • 4 edits in trunk/Source/WebKit

Reformat WebProcess logging
https://bugs.webkit.org/show_bug.cgi?id=205691
<rdar://problem/58283294>

Reviewed by Chris Dumez.

Update the format used by WebProcess in its RELEASE_LOG logging. Use
the format used by WebPageProxy and NetworkResourceLoader, which is
generally of the form:

<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>

So, for example:

0x6f1df7000 - WebProcess::destroyRenderingResources() took 0.02ms

becomes:

0x6f1df7000 - [sessionID=2] WebProcess::destroyRenderingResources: took 0.02ms

While we're at it, also convert over to the RELEASE_LOG_IF_ALLOWED
style of logging macro. We didn't used to be able to do this since the
decision on whether or not to allow logging is typically based on
SessionID, which didn't used to be an attribute of WebProcess. Now
WebProcesses do (or can) have a SessionID, so use that to support the
hiding of logging in private sessions.

No new tests - no added or changed functionality.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::prepareToSuspend):
(WebKit::WebProcess::markAllLayersVolatile):
(WebKit::WebProcess::freezeAllLayerTrees):
(WebKit::WebProcess::unfreezeAllLayerTrees):
(WebKit::WebProcess::processDidResume):
(WebKit::WebProcess::grantUserMediaDeviceSandboxExtensions):
(WebKit::WebProcess::revokeUserMediaDeviceSandboxExtensions):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::isAlwaysOnLoggingAllowed):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::updateProcessName):
(WebKit::WebProcess::updateCPUMonitorState):
(WebKit::WebProcess::destroyRenderingResources):
(WebKit::WebProcess::updateFreezerStatus):

7:31 PM Changeset in webkit [253989] by Chris Dumez
  • 6 edits
    3 moves
    2 deletes in trunk/LayoutTests/imported/w3c

Re-sync web-platform-tests/domparsing from upstream
https://bugs.webkit.org/show_bug.cgi?id=205696

Reviewed by Alex Christensen.

Re-sync web-platform-tests/domparsing from upstream cb0d9cacbbf30a4cae79faa2.

  • web-platform-tests/domparsing/DOMParser-parseFromString-html-expected.txt:
  • web-platform-tests/domparsing/DOMParser-parseFromString-html.html:
  • web-platform-tests/domparsing/XMLSerializer-serializeToString-expected.txt:
  • web-platform-tests/domparsing/XMLSerializer-serializeToString.html:
  • web-platform-tests/domparsing/idlharness.window-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/domparsing/interfaces.any-expected.txt.
  • web-platform-tests/domparsing/idlharness.window.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/domparsing/interfaces.any.html.
  • web-platform-tests/domparsing/idlharness.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/domparsing/interfaces.any.js.
  • web-platform-tests/domparsing/interfaces.any.worker-expected.txt: Removed.
  • web-platform-tests/domparsing/interfaces.any.worker.html: Removed.
  • web-platform-tests/domparsing/w3c-import.log:
6:52 PM Changeset in webkit [253988] by Chris Dumez
  • 3 edits
    2 adds in trunk

XMLSerializer doesn't correctly encode entities in <style> element
https://bugs.webkit.org/show_bug.cgi?id=205635

Reviewed by Alex Christensen.

Source/WebCore:

As per [1], when doing an XML serialization of text, we should escape '<', '>' and '&', even
if the text is inside a <style> element. The <style> element exception is for HTML serialization [2].

[1] https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node
[2] https://html.spec.whatwg.org/#serialising-html-fragments

Test: fast/dom/xmlserializer-ampersand-in-style.html

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::entityMaskForText const):

LayoutTests:

Add layout test coverage.

  • fast/dom/xmlserializer-ampersand-in-style-expected.txt: Added.
  • fast/dom/xmlserializer-ampersand-in-style.html: Added.
6:36 PM Changeset in webkit [253987] by ysuzuki@apple.com
  • 174 edits
    12 copies
    1 add in trunk/Source

Experiment: create lots of different malloc zones for easier accounting of memory use
https://bugs.webkit.org/show_bug.cgi?id=186422

Patch by Yusuke Suzuki <ysuzuki@apple.com> and Simon Fraser <Simon Fraser> on 2020-01-02
Reviewed by Saam Barati.

Source/bmalloc:

  • bmalloc/BPlatform.h:
  • bmalloc/Environment.cpp:

(bmalloc::Environment::computeIsDebugHeapEnabled):

  • bmalloc/IsoHeap.h:

(bmalloc::api::IsoHeap::IsoHeap):

  • bmalloc/IsoHeapInlines.h:

(bmalloc::api::IsoHeap<Type>::IsoHeap):

  • bmalloc/IsoTLSInlines.h:

(bmalloc::IsoTLS::allocateSlow):
(bmalloc::IsoTLS::deallocateSlow):

Source/JavaScriptCore:

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • assembler/AssemblerBuffer.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
  • assembler/AssemblerBuffer.h:

(JSC::AssemblerData::AssemblerData):
(JSC::AssemblerData::operator=):
(JSC::AssemblerData::~AssemblerData):
(JSC::AssemblerData::grow):

  • bytecode/AccessCase.cpp:
  • bytecode/AccessCase.h:
  • bytecode/BytecodeBasicBlock.cpp:
  • bytecode/BytecodeBasicBlock.h:
  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:
  • bytecode/InstructionStream.cpp:
  • bytecode/InstructionStream.h:
  • bytecode/PolymorphicAccess.cpp:
  • bytecode/PolymorphicAccess.h:
  • bytecode/UnlinkedMetadataTable.cpp:

(JSC::UnlinkedMetadataTable::finalize):

  • bytecode/UnlinkedMetadataTable.h:
  • bytecode/UnlinkedMetadataTableInlines.h:

(JSC::UnlinkedMetadataTable::UnlinkedMetadataTable):
(JSC::UnlinkedMetadataTable::~UnlinkedMetadataTable):
(JSC::UnlinkedMetadataTable::link):
(JSC::UnlinkedMetadataTable::unlink):

  • bytecode/ValueProfile.h:

(JSC::ValueProfileAndVirtualRegisterBuffer::ValueProfileAndVirtualRegisterBuffer):

  • bytecode/Watchpoint.cpp:
  • bytecode/Watchpoint.h:
  • dfg/DFGBasicBlock.cpp:
  • dfg/DFGBasicBlock.h:
  • dfg/DFGNode.cpp:
  • dfg/DFGNode.h:
  • dfg/DFGSpeculativeJIT.cpp:
  • dfg/DFGSpeculativeJIT.h:
  • heap/BlockDirectory.cpp:
  • heap/BlockDirectory.h:
  • heap/FastMallocAlignedMemoryAllocator.cpp:

(JSC::FastMallocAlignedMemoryAllocator::FastMallocAlignedMemoryAllocator):
(JSC::FastMallocAlignedMemoryAllocator::tryAllocateAlignedMemory):
(JSC::FastMallocAlignedMemoryAllocator::freeAlignedMemory):
(JSC::FastMallocAlignedMemoryAllocator::tryAllocateMemory):
(JSC::FastMallocAlignedMemoryAllocator::freeMemory):
(JSC::FastMallocAlignedMemoryAllocator::tryReallocateMemory):

  • heap/FastMallocAlignedMemoryAllocator.h:
  • heap/GCSegmentedArray.cpp: Copied from Source/JavaScriptCore/parser/SourceProviderCache.cpp.
  • heap/GCSegmentedArray.h:
  • heap/GCSegmentedArrayInlines.h:

(JSC::GCArraySegment<T>::create):
(JSC::GCArraySegment<T>::destroy):

  • heap/GigacageAlignedMemoryAllocator.cpp:

(JSC::GigacageAlignedMemoryAllocator::GigacageAlignedMemoryAllocator):
(JSC::GigacageAlignedMemoryAllocator::tryAllocateAlignedMemory):
(JSC::GigacageAlignedMemoryAllocator::freeAlignedMemory):
(JSC::GigacageAlignedMemoryAllocator::tryAllocateMemory):
(JSC::GigacageAlignedMemoryAllocator::freeMemory):
(JSC::GigacageAlignedMemoryAllocator::tryReallocateMemory):

  • heap/GigacageAlignedMemoryAllocator.h:
  • heap/IsoAlignedMemoryAllocator.cpp:

(JSC::IsoAlignedMemoryAllocator::IsoAlignedMemoryAllocator):
(JSC::IsoAlignedMemoryAllocator::~IsoAlignedMemoryAllocator):
(JSC::IsoAlignedMemoryAllocator::tryAllocateAlignedMemory):
(JSC::IsoAlignedMemoryAllocator::freeAlignedMemory):
(JSC::IsoAlignedMemoryAllocator::tryAllocateMemory):
(JSC::IsoAlignedMemoryAllocator::freeMemory):

  • heap/IsoAlignedMemoryAllocator.h:
  • heap/IsoSubspace.cpp:

(JSC::IsoSubspace::IsoSubspace):

  • heap/MarkedBlock.cpp:
  • heap/MarkedBlock.h:
  • heap/WeakBlock.cpp:

(JSC::WeakBlock::create):
(JSC::WeakBlock::destroy):

  • heap/WeakBlock.h:
  • jit/JITCode.cpp:
  • jit/JITCode.h:
  • jit/RegisterAtOffsetList.cpp:
  • jit/RegisterAtOffsetList.h:
  • parser/Nodes.cpp:
  • parser/Nodes.h:
  • parser/ParserArena.cpp:

(JSC::ParserArena::deallocateObjects):
(JSC::ParserArena::allocateFreeablePool):

  • parser/ParserArena.h:
  • parser/SourceProvider.cpp:
  • parser/SourceProvider.h:
  • parser/SourceProviderCache.cpp:
  • parser/SourceProviderCache.h:
  • parser/SourceProviderCacheItem.h:

(JSC::SourceProviderCacheItem::create):

  • runtime/CachePayload.cpp:

(JSC::CachePayload::makeMallocPayload):

  • runtime/CachePayload.h:
  • runtime/CachedBytecode.h:

(JSC::CachedBytecode::create):

  • runtime/CachedTypes.cpp:

(JSC::Encoder::release):
(JSC::Encoder::Page::Page):
(JSC::CachedVector::encode):
(JSC::CachedVector::decode const):
(JSC::CachedInstructionStream::decode const):

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::rehash):

  • runtime/PropertyTable.cpp:

(JSC::PropertyTable::PropertyTable):
(JSC::PropertyTable::~PropertyTable):

  • runtime/SymbolTable.cpp:
  • runtime/SymbolTable.h:
  • runtime/VM.cpp:

(JSC::VM::~VM):

  • runtime/VM.h:

(JSC::ScratchBuffer::create):
(JSC::VM::exceptionFuzzingBuffer):

  • wasm/WasmInstance.cpp:

(JSC::Wasm::Instance::Instance):

  • wasm/WasmInstance.h:
  • wasm/WasmTable.cpp:

(JSC::Wasm::Table::Table):
(JSC::Wasm::FuncRefTable::FuncRefTable):

  • wasm/WasmTable.h:

Source/WebCore:

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/SerializedScriptValue.cpp:
  • bindings/js/SerializedScriptValue.h:
  • css/CSSFontFace.cpp:
  • css/CSSFontFace.h:
  • css/CSSSelector.cpp:
  • css/CSSSelector.h:
  • css/CSSValue.cpp:
  • css/CSSValue.h:
  • css/StyleProperties.cpp:

(WebCore::ImmutableStyleProperties::create):

  • css/StyleProperties.h:
  • css/StyleRule.cpp:
  • css/StyleRule.h:
  • dom/ElementData.cpp:

(WebCore::ShareableElementData::createWithAttributes):
(WebCore::UniqueElementData::makeShareableCopy const):

  • dom/ElementData.h:
  • dom/NodeRareData.cpp:
  • dom/NodeRareData.h:
  • dom/QualifiedName.cpp:
  • dom/QualifiedName.h:
  • html/parser/HTMLDocumentParser.cpp:
  • html/parser/HTMLDocumentParser.h:
  • loader/DocumentLoader.cpp:
  • loader/DocumentLoader.h:
  • loader/ResourceLoader.cpp:
  • loader/ResourceLoader.h:
  • loader/cache/CachedResource.cpp:
  • loader/cache/CachedResource.h:
  • page/PerformanceEntry.cpp:
  • page/PerformanceEntry.h:
  • platform/graphics/Font.cpp:
  • platform/graphics/Font.h:
  • platform/graphics/FontCascadeFonts.cpp:
  • platform/graphics/FontCascadeFonts.h:
  • platform/graphics/Region.cpp:
  • platform/graphics/Region.h:
  • platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:

(WebCore::releaseUint8Vector):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer):

  • platform/graphics/nicosia/NicosiaBuffer.cpp:

(Nicosia::Buffer::Buffer):

  • platform/network/ResourceHandle.cpp:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::closeCurrentStream):
(WebCore::advanceCurrentStream):

  • rendering/RenderLayer.cpp:
  • rendering/RenderLayer.h:
  • rendering/TableLayout.cpp: Copied from Source/JavaScriptCore/parser/SourceProviderCache.cpp.
  • rendering/TableLayout.h:
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • rendering/style/SVGRenderStyle.cpp:
  • rendering/style/SVGRenderStyle.h:
  • rendering/style/SVGRenderStyleDefs.cpp:
  • rendering/style/SVGRenderStyleDefs.h:
  • rendering/style/StyleBoxData.cpp:
  • rendering/style/StyleBoxData.h:
  • rendering/style/StyleInheritedData.cpp:
  • rendering/style/StyleInheritedData.h:
  • rendering/style/StyleRareInheritedData.cpp:
  • rendering/style/StyleRareInheritedData.h:
  • rendering/style/StyleRareNonInheritedData.cpp:
  • rendering/style/StyleRareNonInheritedData.h:
  • rendering/style/StyleSurroundData.cpp:
  • rendering/style/StyleSurroundData.h:
  • rendering/style/StyleTransformData.cpp:
  • rendering/style/StyleTransformData.h:
  • style/StyleTreeResolver.cpp:
  • style/StyleTreeResolver.h:
  • svg/animation/SMILTimeContainer.cpp:
  • svg/animation/SMILTimeContainer.h:

Source/WebKit:

  • Shared/ShareableBitmap.cpp:

(WebKit::ShareableBitmap::create):
(WebKit::ShareableBitmap::~ShareableBitmap):

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::HistoryEntryDataEncoder::HistoryEntryDataEncoder):
(WebKit::HistoryEntryDataEncoder::finishEncoding):
(WebKit::encodeSessionHistoryEntryData):
(WebKit::encodeLegacySessionState):

Source/WTF:

This patch introduces ENABLE(MALLOC_HEAP_BREAKDOWN). If this is enabled, we allocate malloc_zone per malloc kind.
This offers the way to investigate the usage of memory per kind by using vmmap, like the following.

VIRTUAL RESIDENT DIRTY SWAPPED ALLOCATION BYTES DIRTY+SWAP REGION
MALLOC ZONE SIZE SIZE SIZE SIZE COUNT ALLOCATED FRAG SIZE % FRAG COUNT
=========== ======= ========= ========= ========= ========= ========= ========= ====== ======
StringImpl_0x116efd000 188.0M 69.3M 30.9M 0K 139456 18.0M 12.9M 42% 34
DefaultMallocZone_0x10f487000 176.0M 53.9M 14.1M 0K 115956 9955K 4497K 32% 22
Vector_0x116eff000 162.0M 56.3M 55.3M 0K 140715 17.3M 37.9M 69% 36
MetadataTable_0x11843b000 152.0M 17.5M 17.5M 0K 14200 2353K 15.2M 87% 26
WebKit Using System Malloc_0x114cbe000 150.0M 31.6M 21.8M 0K 87422 16.7M 5278K 24% 23
InstructionStream_0x118469000 150.0M 5764K 5764K 0K 14470 4688K 1076K 19% 24
AssemblerData_0x117ee6000 150.0M 1928K 1928K 0K 1 16 1928K 100% 24

To achieve this goal without making very large change, we put a template type in various containers.
For example, Vector will take Malloc parameter (the default one is FastMalloc allocator). If ENABLE(MALLOC_HEAP_BREAKDOWN) is enabled, we change this to
specific VectorMalloc allocator, and vmmap can show memory usage of this allocator. This patch also supports malloc_zone per IsoHeap. So we can see memory
allocation per IsoHeap in vmmap.

To use this feature, we need to flip two compile time flags, ENABLE(MALLOC_HEAP_BREAKDOWN) in WTF and BENABLE_MALLOC_HEAP_BREAKDOWN in bmalloc.
And use vmmap $PID to dump malloc zones. To allocate objects of a class with a specific malloc-zone, use WTF_MAKE_FAST_ALLOCATED_WITH_HEAP_IDENTIFIER(HeapIdentifier) for the class,
and define allocator by DECLARE_ALLOCATOR_WITH_HEAP_IDENTIFIER(HeapIdentifier) in a header and DEFINE_ALLOCATOR_WITH_HEAP_IDENTIFIER(HeapIdentifier) in a cpp file.

This patch also introduce callstack collector for malloc. Vector, HashMap etc. are used to allocate various things, but the above malloc_zone feature only tells thing like "Vector
takes XXX MB memory". But what we want to know in this case is what Vector is consuming memory. We collect StackShot for each malloc call, and combine these information to tell
which callsite is consuming much memory, which tell us that what Vector is consuming memory.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/Bag.cpp: Copied from Source/JavaScriptCore/parser/SourceProviderCache.cpp.
  • wtf/Bag.h:

(WTF::Private::BagNode::BagNode): Deleted.

  • wtf/BitVector.cpp:

(WTF::BitVector::OutOfLineBits::create):
(WTF::BitVector::OutOfLineBits::destroy):

  • wtf/CMakeLists.txt:
  • wtf/ConcurrentBuffer.cpp: Copied from Source/JavaScriptCore/parser/SourceProviderCache.cpp.
  • wtf/ConcurrentBuffer.h:
  • wtf/DebugHeap.cpp: Copied from Source/JavaScriptCore/runtime/CachePayload.cpp.

(WTF::DebugHeap::DebugHeap):
(WTF::DebugHeap::malloc):
(WTF::DebugHeap::calloc):
(WTF::DebugHeap::memalign):
(WTF::DebugHeap::realloc):
(WTF::DebugHeap::free):

  • wtf/DebugHeap.h: Added.
  • wtf/FastBitVector.cpp:

(WTF::FastBitVectorWordOwner::setEqualsSlow):
(WTF::FastBitVectorWordOwner::resizeSlow):

  • wtf/FastBitVector.h:

(WTF::FastBitVectorWordOwner::~FastBitVectorWordOwner):

  • wtf/FastMalloc.cpp:

(WTF::fastMallocDumpMallocStats):
(WTF::AvoidRecordingScope::AvoidRecordingScope):
(WTF::AvoidRecordingScope::~AvoidRecordingScope):
(WTF::MallocCallTracker::MallocSiteData::MallocSiteData):
(WTF::MallocCallTracker::singleton):
(WTF::MallocCallTracker::MallocCallTracker):
(WTF::MallocCallTracker::recordMalloc):
(WTF::MallocCallTracker::recordRealloc):
(WTF::MallocCallTracker::recordFree):
(WTF::MallocCallTracker::dumpStats):
(WTF::fastMalloc):
(WTF::fastRealloc):
(WTF::fastFree):
(WTF::fastAlignedMalloc):
(WTF::tryFastAlignedMalloc):
(WTF::fastAlignedFree):

  • wtf/FastMalloc.h:

(WTF::FastMalloc::zeroedMalloc):
(WTF::FastMalloc::tryZeroedMalloc):

  • wtf/Forward.h:
  • wtf/HashTable.cpp:
  • wtf/HashTable.h:

(WTF::KeyTraits>::allocateTable):
(WTF::KeyTraits>::deallocateTable):
(WTF::KeyTraits>::rehash):

  • wtf/MallocPtr.h:

(WTF::MallocPtr::MallocPtr):
(WTF::MallocPtr::malloc):
(WTF::MallocPtr::zeroedMalloc):
(WTF::MallocPtr::tryMalloc):
(WTF::MallocPtr::tryZeroedMalloc):
(WTF::adoptMallocPtr):

  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocator::allocFreeSpaceNode):
(WTF::MetaAllocator::freeFreeSpaceNode):

  • wtf/MetaAllocatorHandle.h:
  • wtf/Platform.h:
  • wtf/RefCountedArray.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
  • wtf/RefCountedArray.h:

(WTF::RefCountedArray::RefCountedArray):
(WTF::RefCountedArray::~RefCountedArray):
(WTF::RefCountedArray::assign):

  • wtf/SegmentedVector.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
  • wtf/SegmentedVector.h:
  • wtf/SmallPtrSet.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
  • wtf/SmallPtrSet.h:

(WTF::SmallPtrSet::~SmallPtrSet):
(WTF::SmallPtrSet::grow):

  • wtf/UniqueArray.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
  • wtf/UniqueArray.h:

(WTF::UniqueArrayFree::operator() const):
(WTF::UniqueArrayFree<T::operator() const):

  • wtf/Vector.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
  • wtf/Vector.h:

(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBufferBase::reallocateBuffer):
(WTF::VectorBufferBase::deallocateBuffer):
(WTF::VectorBufferBase::releaseBuffer):
(WTF::VectorBuffer::releaseBuffer):
(WTF::Vector::swap):
(WTF::Malloc>::Vector):
(WTF::=):
(WTF::Malloc>::contains const):
(WTF::Malloc>::findMatching const):
(WTF::Malloc>::find const):
(WTF::Malloc>::reverseFind const):
(WTF::Malloc>::appendIfNotContains):
(WTF::Malloc>::fill):
(WTF::Malloc>::appendRange):
(WTF::Malloc>::expandCapacity):
(WTF::Malloc>::tryExpandCapacity):
(WTF::Malloc>::resize):
(WTF::Malloc>::resizeToFit):
(WTF::Malloc>::shrink):
(WTF::Malloc>::grow):
(WTF::Malloc>::asanSetInitialBufferSizeTo):
(WTF::Malloc>::asanSetBufferSizeToFullCapacity):
(WTF::Malloc>::asanBufferSizeWillChangeTo):
(WTF::Malloc>::reserveCapacity):
(WTF::Malloc>::tryReserveCapacity):
(WTF::Malloc>::reserveInitialCapacity):
(WTF::Malloc>::shrinkCapacity):
(WTF::Malloc>::append):
(WTF::Malloc>::tryAppend):
(WTF::Malloc>::constructAndAppend):
(WTF::Malloc>::tryConstructAndAppend):
(WTF::Malloc>::appendSlowCase):
(WTF::Malloc>::constructAndAppendSlowCase):
(WTF::Malloc>::tryConstructAndAppendSlowCase):
(WTF::Malloc>::uncheckedAppend):
(WTF::Malloc>::uncheckedConstructAndAppend):
(WTF::Malloc>::appendVector):
(WTF::Malloc>::insert):
(WTF::Malloc>::insertVector):
(WTF::Malloc>::remove):
(WTF::Malloc>::removeFirst):
(WTF::Malloc>::removeFirstMatching):
(WTF::Malloc>::removeAll):
(WTF::Malloc>::removeAllMatching):
(WTF::Malloc>::reverse):
(WTF::Malloc>::map const):
(WTF::Malloc>::releaseBuffer):
(WTF::Malloc>::checkConsistency):
(WTF::swap):
(WTF::operator==):
(WTF::operator!=):
(WTF::Malloc>::isolatedCopy const):
(WTF::removeRepeatedElements):
(WTF::minCapacity>::Vector): Deleted.
(WTF::minCapacity>::contains const): Deleted.
(WTF::minCapacity>::findMatching const): Deleted.
(WTF::minCapacity>::find const): Deleted.
(WTF::minCapacity>::reverseFind const): Deleted.
(WTF::minCapacity>::appendIfNotContains): Deleted.
(WTF::minCapacity>::fill): Deleted.
(WTF::minCapacity>::appendRange): Deleted.
(WTF::minCapacity>::expandCapacity): Deleted.
(WTF::minCapacity>::tryExpandCapacity): Deleted.
(WTF::minCapacity>::resize): Deleted.
(WTF::minCapacity>::resizeToFit): Deleted.
(WTF::minCapacity>::shrink): Deleted.
(WTF::minCapacity>::grow): Deleted.
(WTF::minCapacity>::asanSetInitialBufferSizeTo): Deleted.
(WTF::minCapacity>::asanSetBufferSizeToFullCapacity): Deleted.
(WTF::minCapacity>::asanBufferSizeWillChangeTo): Deleted.
(WTF::minCapacity>::reserveCapacity): Deleted.
(WTF::minCapacity>::tryReserveCapacity): Deleted.
(WTF::minCapacity>::reserveInitialCapacity): Deleted.
(WTF::minCapacity>::shrinkCapacity): Deleted.
(WTF::minCapacity>::append): Deleted.
(WTF::minCapacity>::tryAppend): Deleted.
(WTF::minCapacity>::constructAndAppend): Deleted.
(WTF::minCapacity>::tryConstructAndAppend): Deleted.
(WTF::minCapacity>::appendSlowCase): Deleted.
(WTF::minCapacity>::constructAndAppendSlowCase): Deleted.
(WTF::minCapacity>::tryConstructAndAppendSlowCase): Deleted.
(WTF::minCapacity>::uncheckedAppend): Deleted.
(WTF::minCapacity>::uncheckedConstructAndAppend): Deleted.
(WTF::minCapacity>::appendVector): Deleted.
(WTF::minCapacity>::insert): Deleted.
(WTF::minCapacity>::insertVector): Deleted.
(WTF::minCapacity>::remove): Deleted.
(WTF::minCapacity>::removeFirst): Deleted.
(WTF::minCapacity>::removeFirstMatching): Deleted.
(WTF::minCapacity>::removeAll): Deleted.
(WTF::minCapacity>::removeAllMatching): Deleted.
(WTF::minCapacity>::reverse): Deleted.
(WTF::minCapacity>::map const): Deleted.
(WTF::minCapacity>::releaseBuffer): Deleted.
(WTF::minCapacity>::checkConsistency): Deleted.
(WTF::minCapacity>::isolatedCopy const): Deleted.

  • wtf/text/CString.cpp:

(WTF::CStringBuffer::createUninitialized):

  • wtf/text/CString.h:
  • wtf/text/StringBuffer.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp.
  • wtf/text/StringBuffer.h:

(WTF::StringBuffer::StringBuffer):
(WTF::StringBuffer::~StringBuffer):
(WTF::StringBuffer::resize):
(WTF::StringBuffer::release):

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl):
(WTF::StringImpl::destroy):
(WTF::StringImpl::createUninitializedInternalNonEmpty):
(WTF::StringImpl::reallocateInternal):

  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl):
(WTF::StringImpl::createSubstringSharingImpl):
(WTF::StringImpl::tryCreateUninitialized):
(WTF::StringImpl::adopt):

  • wtf/text/cf/StringImplCF.cpp:

(WTF::StringWrapperCFAllocator::allocate):
(WTF::StringWrapperCFAllocator::reallocate):
(WTF::StringWrapperCFAllocator::deallocate):

5:05 PM Changeset in webkit [253986] by aestes@apple.com
  • 11 edits
    2 adds in trunk

[Payment Request] Perform payment method data IDL conversion in the PaymentRequest constructor
https://bugs.webkit.org/show_bug.cgi?id=199225
<rdar://problem/52217847>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Imported test web-platform-tests/payment-request/constructor_convert_method_data.https.html
using Tools/Scripts/import-w3c-tests.

  • web-platform-tests/payment-request/constructor_convert_method_data.https-expected.txt: Added.
  • web-platform-tests/payment-request/constructor_convert_method_data.https.html: Added.
  • web-platform-tests/payment-request/w3c-import.log:

Source/WebCore:

Implemented support for validating payment method data during Payment Request construction.
IDL conversion errors for payment method data will now trigger an exception in the
PaymentRequest constructor rather than being deferred to the show() method.

Payment Request specified this change in <https://github.com/w3c/payment-request/pull/829>.

Test: imported/w3c/web-platform-tests/payment-request/constructor_convert_method_data.https.html

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::convertAndValidate): Moved the logic for converting a JSValue to an
ApplePayRequest IDL type from ApplePayPaymentHandler::convertData to here.
(WebCore::ApplePayPaymentHandler::validateData): Added. Checks that the specified JSValue is
a valid ApplePayRequest, throwing an exception if not.
(WebCore::ApplePayPaymentHandler::convertData): Changed to use convertAndValidate to convert
from a JSValue to an ApplePayRequest.

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
  • Modules/paymentrequest/PaymentHandler.cpp:

(WebCore::PaymentHandler::validateData): Added. Calls ApplePayPaymentHandler::validateData
if Apple Pay handles the specified identifier.

  • Modules/paymentrequest/PaymentHandler.h:
  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::parse): Moved up to be callable by PaymentRequest::create.
(WebCore::PaymentRequest::create): Validated that serializedData can be converted to a valid
ApplePayRequest, throwing an exception if not.

LayoutTests:

  • http/tests/ssl/applepay/PaymentRequest.https-expected.txt:
  • http/tests/ssl/applepay/PaymentRequest.https.html: Changed some tests to expect exceptions

from the constructor rather than promise rejections after calling show(). Removed a bogus
test for applicationData. Cleaned up numerous tests by moving setup code to the correct
location.

4:15 PM Changeset in webkit [253985] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][Integration] Fix failing text-indent cases when the IFC root is an anonymous box
https://bugs.webkit.org/show_bug.cgi?id=205693
<rdar://problem/58284277>

Reviewed by Antti Koivisto.

During text-indent computation we would normally check if the IFC root is anonymous and if so,
whether it's the first child of its parent element.
e.g. <div><div>text</div>this text is wrapped inside an anonymous renderer</div>
The IFC root of the "this text.." content is an anonymous container and it is not
the first child of its parent renderer.
However in the LFC integration case, we can't go beyond the IFC root and check for parent-child status.

  • layout/LayoutState.h:

(WebCore::Layout::LayoutState::isIntegratedRootBoxFirstChild const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::constraintsForLine):

  • layout/layouttree/LayoutBox.h:

(WebCore::Layout::Box::isAnonymous const):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::TreeBuilder::buildLayoutTreeForIntegration):
(WebCore::Layout::LayoutTreeContent::setRootIsFirstChild):
(WebCore::Layout::LayoutTreeContent::isRootFirstChild const):
(WebCore::Layout::TreeBuilder::createLayoutBox):

  • layout/layouttree/LayoutTreeBuilder.h:
3:28 PM Changeset in webkit [253984] by Chris Dumez
  • 13 edits
    1 copy
    5 adds in trunk

[iOS] Replace "unexpectedly resumed" observer with RunningBoard suspendible assertions
https://bugs.webkit.org/show_bug.cgi?id=205687
<rdar://problem/57890246>

Reviewed by Tim Horton.

Adopt new RunningBoard process assertion to indicate that WebContent processes depend on their
UIProcess (and therefore, the UIProcess must be running if the WebContent process is). This
replaces our "Unexpectedly resumed" assertion which was causing unexpected terminations in some
cases.

  • Configurations/WebKit.xcconfig:
  • Platform/spi/ios/RunningBoardServicesSPI.h: Added.
  • Scripts/process-entitlements.sh:
  • Shared/DependencyProcessAssertion.cpp: Added.

(WebKit::DependencyProcessAssertion::DependencyProcessAssertion):
(WebKit::DependencyProcessAssertion::~DependencyProcessAssertion):

  • Shared/DependencyProcessAssertion.h: Added.
  • Shared/ios/DependencyProcessAssertionIOS.mm: Added.

(WebKit::DependencyProcessAssertion::DependencyProcessAssertion):
(WebKit::DependencyProcessAssertion::~DependencyProcessAssertion):

  • Sources.txt:
  • SourcesCocoa.txt:
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:
  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):

  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:
2:35 PM Changeset in webkit [253983] by dino@apple.com
  • 2 edits in trunk/Source/WTF

REGRESSION(r253926): Crash at libANGLE-shared.dylib: gl::LogMessage::~LogMessage
https://bugs.webkit.org/show_bug.cgi?id=205690
rdar://58279401

Reviewed by Eric Carlson.

Only enable ANGLE for iOS hardware while we investigate this fatal error.

  • wtf/Platform.h:
1:58 PM Changeset in webkit [253982] by ysuzuki@apple.com
  • 10 edits
    1 add in trunk

REGRESSION (r253867): Six test262 tests broken
https://bugs.webkit.org/show_bug.cgi?id=205583

Reviewed by Mark Lam.

JSTests:

  • stress/bound-function-empty-name.js: Added.

(shouldBe):

Source/JavaScriptCore:

If a function has empty name, a bound function should have "bound " name.
But Intl prototypes' bound functions are exceptions: these JSBoundFunctions have empty name.
In this patch, we pass nullptr for the JSBoundFunction::create's nameMayBeNull parameter of Intl prototypes' bound functions,
to generate empty string name for these bound functions instead of "bound "[1].
This fixes test262 failures.

[1]: https://tc39.es/ecma402/#sec-collator-compare-functions

  • runtime/IntlCollatorPrototype.cpp:

(JSC::IntlCollatorPrototypeGetterCompare):

  • runtime/IntlDateTimeFormatPrototype.cpp:

(JSC::IntlDateTimeFormatPrototypeGetterFormat):

  • runtime/IntlNumberFormatPrototype.cpp:

(JSC::IntlNumberFormatPrototypeGetterFormat):

  • runtime/JSBoundFunction.cpp:

(JSC::JSBoundFunction::create):
(JSC::JSBoundFunction::JSBoundFunction):
(JSC::JSBoundFunction::visitChildren):

  • runtime/JSBoundFunction.h:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::reifyLazyBoundNameIfNeeded):

  • runtime/SmallStrings.cpp:

(JSC::SmallStrings::initializeCommonStrings):

  • runtime/SmallStrings.h:

(JSC::SmallStrings::boundPrefixString const):

1:43 PM Changeset in webkit [253981] by Keith Rollin
  • 2 edits in trunk/Source/WebKit

Reformat WebProcessCache logging
https://bugs.webkit.org/show_bug.cgi?id=205683
<rdar://problem/58269352>

Reviewed by Alex Christensen.

Update the format used by WebProcessCache in its RELEASE_LOG logging.
Use the format used by WebPageProxy and NetworkResourceLoader, which
is generally of the form:

<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>

So, for example:

0x1145ed208 - WebProcessCache::canCacheProcess(): Not caching process 83671 because it does not have an associated registrable domain

becomes:

0x1145ed208 - [PID=83671] WebProcessCache::canCacheProcess: Not caching process because it does not have an associated registrable domain

No new tests - no added or changed functionality.

  • UIProcess/WebProcessCache.cpp:

(WebKit::WebProcessCache::canCacheProcess const):
(WebKit::WebProcessCache::addProcessIfPossible):
(WebKit::WebProcessCache::addProcess):
(WebKit::WebProcessCache::takeProcess):
(WebKit::WebProcessCache::updateCapacity):
(WebKit::WebProcessCache::clear):
(WebKit::WebProcessCache::clearAllProcessesForSession):
(WebKit::WebProcessCache::setApplicationIsActive):
(WebKit::WebProcessCache::removeProcess):

1:24 PM Changeset in webkit [253980] by Keith Rollin
  • 3 edits in trunk/Source/WebKit

Reformat ProcessThrottler logging
https://bugs.webkit.org/show_bug.cgi?id=205679
<rdar://problem/58265958>

Reviewed by Alex Christensen.

Update the format used by ProcessThrottler in its RELEASE_LOG logging.
Use the format used by WebPageProxy and NetworkResourceLoader, which
is generally of the form:

<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>

So, for example:

[PID: 0] 0x1145ce5e8 - ProcessThrottler::invalidateAllActivities() BEGIN

becomes:

0x1145ce5e8 - [PID: 0] ProcessThrottler::invalidateAllActivities: BEGIN

No new tests - no added or changed functionality.

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::invalidateAllActivities):
(WebKit::ProcessThrottler::setAssertionState):
(WebKit::ProcessThrottler::updateAssertionIfNeeded):
(WebKit::ProcessThrottler::didConnectToProcess):
(WebKit::ProcessThrottler::prepareToSuspendTimeoutTimerFired):
(WebKit::ProcessThrottler::processReadyToSuspend):
(WebKit::ProcessThrottler::sendPrepareToSuspendIPC):
(WebKit::ProcessThrottler::uiAssertionWillExpireImminently):

  • UIProcess/ProcessThrottler.h:

(WebKit::ProcessThrottler::Activity::Activity):
(WebKit::ProcessThrottler::Activity::invalidate):

1:21 PM Changeset in webkit [253979] by Keith Rollin
  • 2 edits in trunk/Source/WebKit

Reformat WebResourceLoader logging
https://bugs.webkit.org/show_bug.cgi?id=205680
<rdar://problem/58266105>

Reviewed by Alex Christensen.

Update the format used by WebResourceLoader in its RELEASE_LOG
logging. Use the format used by WebPageProxy and
NetworkResourceLoader, which is generally of the form:

<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>

So, for example:

0x4a1dbcb58 - WebResourceLoader::didFinishResourceLoad: (webPageID=15, frameID=3, resourceID=1, length=212132)

becomes:

0x4a1dbcb58 - [webPageID=15, frameID=3, resourceID=1] WebResourceLoader::didFinishResourceLoad: (length=212132)

No new tests - no added or changed functionality.

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::serviceWorkerDidNotHandle):
(WebKit::WebResourceLoader::didFailResourceLoad):
(WebKit::WebResourceLoader::didBlockAuthenticationChallenge):
(WebKit::WebResourceLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied):
(WebKit::WebResourceLoader::didReceiveResource):

1:14 PM Changeset in webkit [253978] by achristensen@apple.com
  • 17 edits in trunk

Add SPI to disable CORS on requests to URLs matching a pattern
https://bugs.webkit.org/show_bug.cgi?id=205534
<rdar://problem/58011337>

Reviewed by Chris Dumez.

Source/WebCore:

This should allow us to remove the layering violation in LegacySchemeRegistry::isUserExtensionScheme
and fix the bug in the radar. The SPI is exercised by a new API test.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):

  • page/Page.cpp:

(WebCore::m_deviceOrientationUpdateProvider):
(WebCore::Page::shouldDisableCorsForRequestTo const):

  • page/Page.h:
  • page/PageConfiguration.h:
  • platform/LegacySchemeRegistry.cpp:

(WebCore::LegacySchemeRegistry::isUserExtensionScheme):

Source/WebKit:

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/API/APIPageConfiguration.cpp:

(API::PageConfiguration::copy const):
(API::PageConfiguration::PageConfiguration): Deleted.
(API::PageConfiguration::~PageConfiguration): Deleted.

  • UIProcess/API/APIPageConfiguration.h:

(API::PageConfiguration::corsDisablingPatterns const):
(API::PageConfiguration::setCORSDisablingPatterns):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _corsDisablingPatterns]):
(-[WKWebViewConfiguration _setCORSDisablingPatterns:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/WebPageProxy.cpp:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_overriddenMediaType):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
12:53 PM Changeset in webkit [253977] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Text-indent shrinks the available horizontal space
https://bugs.webkit.org/show_bug.cgi?id=205688
<rdar://problem/58279938>

Reviewed by Antti Koivisto.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::constraintsForLine):

12:50 PM Changeset in webkit [253976] by Wenson Hsieh
  • 2 edits in trunk/LayoutTests

Unreviewed test gardening for iPad

  • platform/ipad/TestExpectations:

Skip this layout test on iPad, where the zoom scale is not expected to change after focusing a text field.

11:31 AM Changeset in webkit [253975] by weinig@apple.com
  • 31 edits in trunk

Simplify StringBuilder API/align with makeString by removing appendFixed* functions and using FormatNumber struct instead
https://bugs.webkit.org/show_bug.cgi?id=205671

Reviewed by Alex Christensen.

Source/JavaScriptCore:

  • API/tests/ExecutionTimeLimitTest.cpp:

(testExecutionTimeLimit):

  • runtime/Options.cpp:

(JSC::OptionReader::Option::dump const):
Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...)).

Source/WebCore:

  • css/CSSFontVariationValue.cpp:
  • css/CSSKeyframeRule.cpp:
  • css/CSSTimingFunctionValue.cpp:
  • css/parser/CSSParserToken.cpp:
  • html/HTMLImageElement.cpp:
  • page/scrolling/AxisScrollSnapOffsets.cpp:
  • platform/graphics/Color.cpp:
  • platform/graphics/ExtendedColor.cpp:
  • platform/graphics/ca/win/PlatformCALayerWin.cpp:
  • platform/graphics/freetype/FontCacheFreeType.cpp:
  • svg/SVGNumberList.h:
  • svg/SVGPathStringBuilder.cpp:
  • svg/SVGPointList.h:
  • svg/SVGTransformValue.h:
  • svg/properties/SVGPropertyTraits.h:
  • testing/Internals.cpp:

Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...))
and builder.appendFixedWidthNumber(...) with with builder.append(FormattedNumber::fixedWidth(...))

Source/WebKit:

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::dumpContentsToFile):

  • NetworkProcess/cache/NetworkCacheEntry.cpp:

(WebKit::NetworkCache::Entry::asJSON const):

  • Shared/Gamepad/GamepadData.cpp:

(WebKit::GamepadData::loggingString const):
Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...)).

Source/WTF:

In an ongoing attempt to simplify the StringBuilder interface and unify it's functionality with makeString,
this change removes appendFixedPrecisionNumber() and appendFixedWidthNumber(), replacing their uses
with direct calls to append(), using a FormattedNumber object to direct it to the appropriate StringTypeAdapter.

  • wtf/text/StringBuilder.h:
  • wtf/text/StringBuilder.cpp:

(WTF::StringBuilder::appendFixedPrecisionNumber): Deleted.
(WTF::StringBuilder::appendFixedWidthNumber): Deleted.
Remove StringBuilder::appendFixedPrecisionNumber() and StringBuilder::appendFixedWidthNumber(). The same functionality
is available and more flexible by passing FormattedNumbers to the variadic append() function.

  • wtf/text/TextStream.cpp:

(WTF::TextStream::operator<<):

  • wtf/MediaTime.cpp:

(WTF::MediaTime::toString const):
Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...))
and builder.appendFixedWidthNumber(...) with with builder.append(FormattedNumber::fixedWidth(...))

Tools:

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...)).

1:04 AM Changeset in webkit [253974] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit

[GTK] Make ondemand hardware acceleration policy never leave AC mode
https://bugs.webkit.org/show_bug.cgi?id=205558

Reviewed by Sergio Villar Senin.

We still enter AC mode on demand but we never leave it for the same drawing area. This avoids scrolling
performance problems with some websites that start small accelerated animation while scrolling (like WebKit
bugzilla review tool), due to constant enter/leave AC mode.

  • UIProcess/API/glib/WebKitSettings.cpp:

(webkit_settings_class_init): Update API documentation.

  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:

(WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode): Force AC mode the first time we enter it.

12:08 AM Changeset in webkit [253973] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Remove the build warning below since r253939.
warning: no return statement in function returning non-void [-Wreturn-type]

No new tests, no behavioral changes.

Patch by Joonghun Park <jh718.park@samsung.com> on 2020-01-01

  • platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp:

(WebCore::GraphicsContext3D::mapBufferRange):

Note: See TracTimeline for information about the timeline view.