Timeline
Jun 28, 2020:
- 8:48 PM Changeset in webkit [263643] by
-
- 2 edits2 adds in trunk/LayoutTests
[GTK][WPE] Add baseline for imported/w3c/web-platform-tests/cors/credentials-flag.htm
Unreviewed test gardening.
The current baseline seems to be based on the Mojave results, where
the last two test cases fail. Let's add a glib baseline with a Pass
expectation with a link to the bug discussing the main expectation.
The added baseline mirrors the current WebKitGTK results from wpt.fyi,
with the two cookie failures.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/cors/credentials-flag-expected.txt: Added.
- 7:15 PM Changeset in webkit [263642] by
-
- 4 edits in trunk/LayoutTests
[GTK][WPE] Merge crypto expectations
Unreviwed test gardening.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 6:16 PM Changeset in webkit [263641] by
-
- 4 edits in trunk/LayoutTests
[GTK][WPE] Move WebCryptoAPI expectations to glib
Unreviewed test gardening.
Some expectations in the glib file were being overriden by the generic
gtk one marking the tests as Slow.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 5:03 PM Changeset in webkit [263640] by
-
- 5 edits2 adds in trunk
[LFC][TFC] Adjust table content vertical position to match vertical-align
https://bugs.webkit.org/show_bug.cgi?id=213692
Reviewed by Antti Koivisto.
Source/WebCore:
Child boxes (and runs) are always in the coordinate system of the containing block's border box.
The content box (where the child content lives) is inside the padding box, which is inside the border box.
In order to compute the child box top/left position, we need to know both the padding and the border offsets.
<div style="border: 2px solid green; padding-top: 10px;"><div></div></div>
The inner div's top left position is at [12px, 2px] (let's ignore margin collapsing for now).
Normally by the time we start positioning the child content, we already have computed borders and paddings for the containing block.
This is different with table cells where the final padding offset depends on the content height as we use
the padding box to vertically align the table cell content.
Let's adjust the child boxes and runs to match the new content box position.
Test: fast/layoutformattingcontext/table-cell-vertical-alignment-simple.html
- layout/displaytree/DisplayLineBox.h:
(WebCore::Display::LineBox::moveVertically):
- layout/displaytree/DisplayRun.h:
(WebCore::Display::Run::moveVertically):
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
LayoutTests:
- fast/layoutformattingcontext/table-cell-vertical-alignment-simple-expected.html: Added.
- fast/layoutformattingcontext/table-cell-vertical-alignment-simple.html: Added.
- 5:00 PM Changeset in webkit [263639] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Painting] Use the table section as the paint container for table cells
https://bugs.webkit.org/show_bug.cgi?id=213693
Reviewed by Antti Koivisto.
The cell's containing block is the table box (skipping both the row and the section),
but it's positioned relative to the table section.
Let's skip the row and go right to the section box when painting the cells.
- layout/displaytree/DisplayPainter.cpp:
(WebCore::Display::absoluteDisplayBox):
- 3:49 PM Changeset in webkit [263638] by
-
- 11 edits in trunk
Improve error message for primitive callback interfaces
https://bugs.webkit.org/show_bug.cgi?id=213684
Reviewed by Darin Adler.
Source/WebCore:
This patch rewords TypeError message for non-object callback interfaces
because apart from function, an object with certain method is also allowed.
New error message matches Chrome and Firefox.
Tests: fast/dom/createNodeIterator-parameters.html
fast/dom/createTreeWalker-parameters.html
- bindings/js/JSDOMExceptionHandling.cpp:
(WebCore::throwArgumentMustBeObjectError):
- bindings/js/JSDOMExceptionHandling.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GetArgumentExceptionFunction):
- bindings/scripts/test/*: Updated.
LayoutTests:
- fast/dom/createNodeIterator-parameters-expected.txt:
- fast/dom/createNodeIterator-parameters.html:
- fast/dom/createTreeWalker-parameters-expected.txt:
- fast/dom/createTreeWalker-parameters.html:
- 2:36 PM Changeset in webkit [263637] by
-
- 4 edits in trunk
Setting url.search="??" (two questionmarks) has incorrect behavior
https://bugs.webkit.org/show_bug.cgi?id=170452
Patch by Rob Buis <rbuis@igalia.com> on 2020-06-28
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update improved test result.
- web-platform-tests/url/url-setters-expected.txt:
Source/WebCore:
There is no need to strip leading "?" character since
URLParser expects it to be there. This differs from the
specification algorithm [1], which relies on state override,
which URLParser does not support.
Behavior matches Firefox and Chrome.
Test: imported/w3c/web-platform-tests/url/url-setters.html
[1] https://url.spec.whatwg.org/#dom-url-search
- html/URLDecomposition.cpp:
(WebCore::URLDecomposition::setSearch):
- 2:34 PM Changeset in webkit [263636] by
-
- 2 edits in trunk/Source/WebKit
Fix thread-safety issue in webProcessPoolHighDynamicRangeDidChangeCallback()
https://bugs.webkit.org/show_bug.cgi?id=213689
<rdar://problem/64443996>
Reviewed by Darin Adler.
webProcessPoolHighDynamicRangeDidChangeCallback() gets called on a background thread so we
need to make sure we dispatch to the main thread before we iterate over the process pools.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::webProcessPoolHighDynamicRangeDidChangeCallback):
- 1:55 PM Changeset in webkit [263635] by
-
- 77 edits in trunk
Rename initializeThreading to initialize
https://bugs.webkit.org/show_bug.cgi?id=213674
Reviewed by Mark Lam.
Source/JavaScriptCore:
- API/JSClassRef.cpp:
- API/JSContextRef.cpp:
(JSContextGroupCreate):
(JSGlobalContextCreate):
(JSGlobalContextCreateInGroup):
- API/JSObjectRef.cpp:
(JSClassCreate):
- API/JSStringRef.cpp:
(JSStringCreateWithCharacters):
(JSStringCreateWithUTF8CString):
(JSStringCreateWithCharactersNoCopy):
- API/JSStringRefCF.cpp:
(JSStringCreateWithCFString):
- API/tests/CompareAndSwapTest.cpp:
(testCompareAndSwap):
- API/tests/ExecutionTimeLimitTest.cpp:
(testExecutionTimeLimit):
- API/tests/FunctionOverridesTest.cpp:
(testFunctionOverrides):
- API/tests/MultithreadedMultiVMExecutionTest.cpp:
(startMultithreadedMultiVMExecutionTest):
- API/tests/PingPongStackOverflowTest.cpp:
(testPingPongStackOverflow):
- JavaScriptCore.order:
- assembler/testmasm.cpp:
(JSC::run):
- b3/air/testair.cpp:
(main):
- b3/testb3_1.cpp:
(main):
- dfg/testdfg.cpp:
(main):
- dynbench.cpp:
(main):
- inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::singleton):
- jsc.cpp:
(main):
(jscmain):
- runtime/InitializeThreading.cpp:
(JSC::initialize):
(JSC::initializeThreading): Deleted.
- runtime/InitializeThreading.h:
- runtime/JSCConfig.h:
- shell/playstation/TestShell.cpp:
(setupTestRun):
- testRegExp.cpp:
(main):
Source/WebCore:
- Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::openDatabase):
- WebCore.order:
- bindings/js/CommonVM.cpp:
(WebCore::commonVMSlow):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::initializeMainThread):
(WebCore::ScriptController::initializeThreading): Deleted.
- bindings/js/ScriptController.h:
- bridge/objc/WebScriptObject.mm:
(+[WebScriptObject initialize]):
- platform/cocoa/SharedBufferCocoa.mm:
(+[WebCoreSharedBufferData initialize]):
- platform/ios/wak/WebCoreThread.mm:
(RunWebThread):
Source/WebKit:
- Shared/API/c/WKString.cpp:
(WKStringCopyJSString):
- Shared/Cocoa/WebKit2InitializeCocoa.mm:
(WebKit::runInitializationCode):
- Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2):
Source/WebKitLegacy/mac:
- History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
- History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]):
- Misc/WebCache.mm:
(+[WebCache initialize]):
- Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
- Misc/WebIconDatabase.mm:
- Misc/WebStringTruncator.mm:
(+[WebStringTruncator initialize]):
- Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
- Plugins/WebBaseNetscapePluginView.mm:
- Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage initialize]):
- Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]):
- WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]):
- WebCoreSupport/WebFrameLoaderClient.mm:
(+[WebFramePolicyListener initialize]):
- WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
- WebView/WebDataSource.mm:
(+[WebDataSource initialize]):
- WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
- WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
- WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]):
- WebView/WebView.mm:
(+[WebView initialize]):
- WebView/WebViewData.mm:
(+[WebViewPrivate initialize]):
Source/WebKitLegacy/win:
- WebKitClassFactory.cpp:
(WebKitClassFactory::WebKitClassFactory):
- WebView.cpp:
(WebView::WebView):
Source/WTF:
Reasons:
(1) You need to call it even if you don't use threads.
(2) It initializes things unrelated to threads (like the PRNG).
(3) People seem to get confused about the relationship between
initializeThreading() and initializeMainThread(), and sometimes think
initializeThreading() is a superset. The opposite is true! I think the
confusion may come from "threading" being read as "all threading".
Some filenames still use the legacy name. We can fix that in post.
- benchmarks/ConditionSpeedTest.cpp:
(main):
- benchmarks/HashSetDFGReplay.cpp:
(main):
- benchmarks/LockFairnessTest.cpp:
(main):
- benchmarks/LockSpeedTest.cpp:
(main):
- wtf/MainThread.cpp:
(WTF::initializeMainThread):
- wtf/Threading.cpp:
(WTF::Thread::create):
(WTF::initialize):
(WTF::initializeThreading): Deleted.
- wtf/Threading.h:
(WTF::Thread::current):
Tools:
- TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(ApplicationManifestParserTest::SetUp):
- TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::ComplexTextControllerTest::SetUp):
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::ContentExtensionTest::SetUp):
- TestWebKitAPI/Tests/WebCore/StringUtilities.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
- TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
- 12:16 PM Changeset in webkit [263634] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Clean up visible position comparisons in WebPage::requestDocumentEditingContext()
https://bugs.webkit.org/show_bug.cgi?id=213701
Reviewed by Geoffrey Garen.
Use std::min and std::max when the result needs to be copied instead of doing the comparison
by hand to make the code a tiny bit more clear. Also, don't copy a VisiblePosition when doing
the min/max in-place. Both of these things are unlikely to effect code generation. If they do,
the latter makes things a tiny bit more efficient.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDocumentEditingContext):
- 8:11 AM Changeset in webkit [263633] by
-
- 16 edits2 adds in trunk
MediaRecorder stopRecorder() returns empty Blob after first use
https://bugs.webkit.org/show_bug.cgi?id=212274
<rdar://problem/63601298>
Reviewed by Eric Carlson.
Source/WebCore:
Refactor code to create/destroy MediaRecorderPrivate on MediaRecorder start/stop.
This allows reusing a MediaRecorder after a stop and restarting with a clean state.
We introduce MediaRecorderPrivate::startRecording to do the initialization,
which allows to fix a potential ref cycle as part of the error callback handling.
Make some improvements to the platform implementation, in particular add default initialization to all fields.
Align the code using AudioConverterRef to what is done in AudioSampleDataSource.
Also call VTCompressionSessionInvalidate when destroying the VideoSampleBufferCompressor.
Test: http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::requestData):
- Modules/mediarecorder/MediaRecorder.h:
- platform/mediarecorder/MediaRecorderPrivateMock.cpp:
(WebCore::MediaRecorderPrivateMock::fetchData):
- platform/mediarecorder/MediaRecorderPrivate.h:
(WebCore::MediaRecorderPrivate::startRecording):
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:
(WebCore::AudioSampleBufferCompressor::~AudioSampleBufferCompressor):
(WebCore::AudioSampleBufferCompressor::initAudioConverterForSourceFormatDescription):
(WebCore::AudioSampleBufferCompressor::attachPrimingTrimsIfNeeded):
(WebCore::AudioSampleBufferCompressor::gradualDecoderRefreshCount):
(WebCore::AudioSampleBufferCompressor::sampleBufferWithNumPackets):
(WebCore::AudioSampleBufferCompressor::processSampleBuffersUntilLowWaterTime):
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::stopRecording):
- platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:
(WebCore::VideoSampleBufferCompressor::~VideoSampleBufferCompressor):
Source/WebKit:
Update implementation to do initialization as part of startRecording.
- GPUProcess/webrtc/RemoteMediaRecorderManager.cpp:
(WebKit::RemoteMediaRecorderManager::releaseRecorder):
Remove ASSERT as recorder creation in WebProcess is always ok while creation in GPUProcess may fail and m_recorders may not be populated.
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::startRecording):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
LayoutTests:
- http/wpt/mediarecorder/MediaRecorder-multiple-start-stop-expected.txt: Added.
- http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html: Added.
- 4:49 AM Changeset in webkit [263632] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed GTK/WPE Debug build fix after r263589.
- Platform/Logging.h: Define a log category for Memory Pressure.
Jun 27, 2020:
- 10:26 PM Changeset in webkit [263631] by
-
- 3 edits2 adds in trunk
[LFC][IFC] Replaced inline boxes sit on the baseline with their margins
https://bugs.webkit.org/show_bug.cgi?id=213679
Reviewed by Antti Koivisto.
Source/WebCore:
Take the margin box into account when computing the top position of a baseline aligned replaced inline box.
Test: fast/layoutformattingcontext/replaced-box-with-margin-on-baseline.html
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::alignContentVertically):
LayoutTests:
- fast/layoutformattingcontext/replaced-box-with-margin-on-baseline-expected.html: Added.
- fast/layoutformattingcontext/replaced-box-with-margin-on-baseline.html: Added.
- 3:59 PM Changeset in webkit [263630] by
-
- 5 edits in trunk
Revert r262654 because it caused <rdar://problem/64664156>.
Moreover it is no longer necessary as the embedding client
changes selection through a different SPI after focusing.
Source/WebKit:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _didCommitLoadForMainFrame]):
(-[WKContentView _focusTextInputContext:placeCaretAt:completionHandler:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
- 3:18 PM Changeset in webkit [263629] by
-
- 5 edits1 copy in trunk/Tools
compare-results should be able to parse multiple JSONs at once by merging them
https://bugs.webkit.org/show_bug.cgi?id=213685
Reviewed by Saam Barati.
This patch improves the compare-results script to enable it to
merge JSON output files. This is handy when running scripts by
hand where you'll get many a and b JSONs. To do the merging this
patch moves the logic of merge-result-jsons into a shared library.
compare-results can take multiple files sequentally or by passing
the '-a'/'-b' flags multiple times. e.g. `/compare-results -a
OG-1.json -a OG-2.json -a OG-3.json -a OG-4.json -b MC-1.json
MC-2.json MC-3.json MC-4.json` will behave as you'd expect;
combining all the OG JSONs and the MC JSONs before computing the
result.
Lastly, the benchmark_results script now can handle duplicates of
an aggregator in the aggregator list. This is useful because
otherwise the logic of merging JSONs is significantly more
complicated.
- Scripts/compare-results:
(getOptions):
(main):
- Scripts/merge-result-jsons:
(readJSONFile):
(deepAppend): Deleted.
(mergeJSONs): Deleted.
- Scripts/webkitpy/benchmark_runner/benchmark_json_merge.py: Copied from Tools/Scripts/merge-result-jsons.
(deepAppend):
(mergeJSONs):
- Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults._aggregate_results_for_test):
(BenchmarkResults._lint_subtest_results):
- Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py:
- 3:14 PM Changeset in webkit [263628] by
-
- 11 edits2 adds in trunk
Fix missing exception check in createIDBKeyFromValue().
https://bugs.webkit.org/show_bug.cgi?id=213681
<rdar://problem/64804893>
Reviewed by Chris Dumez.
Source/WebCore:
Test: storage/indexeddb/missing-exception-check-in-IDBKey.html
Also fixed up miscellaneous other exception check related code to enable the
new test to run with exception check validation.
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
- bindings/js/JSDOMBindingSecurity.cpp:
(WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::updateDocument):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::put):
(WebCore::JSDOMWindow::defineOwnProperty):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::initScriptForWindowProxy):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributeGetterBodyDefinition):
(GenerateAttributeSetterBodyDefinition):
(GenerateOperationBodyDefinition):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttrGetter):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionOverloadedMethodOverloadDispatcher):
- bridge/objc/WebScriptObject.mm:
(-[WebScriptObject _isSafeScript]):
- testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):
LayoutTests:
- storage/indexeddb/missing-exception-check-in-IDBKey-expected.txt: Added.
- storage/indexeddb/missing-exception-check-in-IDBKey.html: Added.
- 12:31 PM Changeset in webkit [263627] by
-
- 4 edits1 add in trunk
iOS Safari incorrectly reports "AppleCoreMedia" as UA string
https://bugs.webkit.org/show_bug.cgi?id=213245
<rdar://problem/64471582>
Reviewed by Youenn Fablet.
Source/WebCore:
Tests: TestWebKitAPI.MediaLoading.UserAgentStringCRABS
TestWebKitAPI.MediaLoading.UserAgentStringHLS
- platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSessionDataTask initWithSession:identifier:request:]):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm: Added.
(TestWebKitAPI::parseUserAgent):
(TestWebKitAPI::TEST):
- 10:36 AM Changeset in webkit [263626] by
-
- 28 edits1 copy4 adds1 delete in trunk/LayoutTests
Update web-platform-tests/cors from upstream
https://bugs.webkit.org/show_bug.cgi?id=213668
Reviewed by Sam Weinig.
Update web-platform-tests/cors from upstream b076c305a256e7.
LayoutTests/imported/w3c:
- web-platform-tests/cors/*: Updated.
LayoutTests:
- tests-options.json:
- 10:00 AM Changeset in webkit [263625] by
-
- 6 edits1 copy3 adds in trunk/Tools
Migrate run-minibrowser to webkitpy
https://bugs.webkit.org/show_bug.cgi?id=213431
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-27
Reviewed by Jonathan Bedard.
The perl version was renamed to old-run-minibrowser and remains used by the Mac ports.
run-minibrowser is now a Python script hooking into webkitpy and the Port infrastructure.
Both WPE and GTK ports will now use the pure python implementation.
- Scripts/old-run-minibrowser: Copied from Tools/Scripts/run-minibrowser.
- Scripts/run-minibrowser:
- Scripts/webkitpy/minibrowser/run_minibrowser.py: Added.
(main):
(parse_args):
- Scripts/webkitpy/port/base.py:
(Port.run_minibrowser_arguments):
(Port):
(Port.run_minibrowser):
- Scripts/webkitpy/port/darwin.py:
(DarwinPort.environment_for_api_tests):
(DarwinPort):
(DarwinPort.run_minibrowser_arguments):
- Scripts/webkitpy/port/gtk.py:
(GtkPort.show_results_html_file):
(GtkPort.configuration_for_upload):
(GtkPort):
(GtkPort.run_minibrowser):
- Scripts/webkitpy/port/wpe.py:
(WPEPort.show_results_html_file):
(WPEPort.configuration_for_upload):
(WPEPort):
(WPEPort.run_minibrowser):
- 9:44 AM Changeset in webkit [263624] by
-
- 4 edits in trunk
Require <form> to be connected
https://bugs.webkit.org/show_bug.cgi?id=177356
Patch by Rob Buis <rbuis@igalia.com> on 2020-06-27
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Update improved test result.
- web-platform-tests/html/semantics/forms/form-submission-0/submission-checks.window-expected.txt:
Source/WebCore:
Implement step 1 of [1], i.e. do not submit form if it
is not connected.
Test: imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/submission-checks.html
[1] https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#concept-form-submit
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submit):
- 9:20 AM Changeset in webkit [263623] by
-
- 9 edits in trunk/Source/WebCore
Log capture device information in case of getUserMedia failing to select a device
https://bugs.webkit.org/show_bug.cgi?id=213643
Reviewed by Eric Carlson.
Log constraints and device in case of a failing getUserMedia call.
No obserable change, logging addition.
- platform/mediastream/mac/CoreAudioCaptureDevice.cpp:
(WebCore::getDeviceInfo):
(WebCore::CoreAudioCaptureDevice::deviceClock):
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:
(WebCore::isValidCaptureDevice):
- platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaConstraint::log const):
(WebCore::BooleanConstraint::logAsBoolean const):
(WebCore::DoubleConstraint::logAsDouble const):
(WebCore::IntConstraint::logAsInt const):
- platform/mediastream/MediaConstraints.h:
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::supportsSizeAndFrameRate):
(WebCore::RealtimeMediaSource::selectSettings):
- platform/mediastream/RealtimeMediaSourceCenter.cpp:
(WebCore::RealtimeMediaSourceCenter::validateRequestConstraints):
- platform/mediastream/RealtimeVideoCaptureSource.cpp:
(WebCore::RealtimeVideoCaptureSource::bestSupportedSizeAndFrameRate):
- platform/mediastream/VideoPreset.h:
(WebCore::VideoPreset::log const):
- 9:13 AM Changeset in webkit [263622] by
-
- 2 edits in trunk/Source/WebCore
Protect SWServer::claim from a registration without active worker
https://bugs.webkit.org/show_bug.cgi?id=213597
Reviewed by Chris Dumez.
SWServerWorker might be active while being terminated.
If terminated as part of SWServerRegistration::clear, the registration no longer has a service worker.
SWServer::claim should therefore check for registration active worker.
This is difficult to test as one needs to claim at the time the service worker is being terminated but not yet terminated.
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::claim):
- 9:08 AM Changeset in webkit [263621] by
-
- 32 edits7 adds in trunk/LayoutTests/imported/w3c
Update web-platform-tests/common from upstream
https://bugs.webkit.org/show_bug.cgi?id=213665
Reviewed by Sam Weinig.
Update web-platform-tests/common from upstream b076c305a256e7fb7.
- web-platform-tests/common/*: Updated.
- 9:07 AM Changeset in webkit [263620] by
-
- 2 edits in trunk/Source/WTF
Improve assertions in StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=213633
Reviewed by Darin Adler.
- wtf/text/StringParsingBuffer.h:
Address additional feedback and improve the assertions by making them more
clear and avoid potential overflows.
- 8:53 AM Changeset in webkit [263619] by
-
- 2 edits in trunk/Source/JavaScriptCore
BytecodeBasicBlock::addSuccessor should check if the successor already exists
https://bugs.webkit.org/show_bug.cgi?id=213670
Reviewed by Yusuke Suzuki.
It makes it nicer for algorithms using BytecodeGraph to not have to consider
whether or not there are duplicates in the successor list. Also, because of
this, bytecode liveness was doing extra work since it walked the successor list,
including any duplicates in it.
- bytecode/BytecodeBasicBlock.h:
(JSC::BytecodeBasicBlock::addSuccessor):
- 8:52 AM Changeset in webkit [263618] by
-
- 5 edits in trunk/Source/JavaScriptCore
Change bytecode dumping to dump the bytecode control flow graph
https://bugs.webkit.org/show_bug.cgi?id=213669
Reviewed by Yusuke Suzuki.
This makes the bytecode control flow graphs much easier to understand, and
puts bytecode dumping in more in line with how we dump other IRs.
The new dumps look like this:
`
foo#Ahf63N:[0x1035bc120->0x1035e5100, NoneFunctionCall, 36]: 13 instructions (0 16-bit instructions, 0 32-bit instructions, 1 instructions with metadata); 156 bytes (120 metadata bytes); 2 parameter(s); 8 callee register(s); 6 variable(s); scope at loc4
bb#1
[ 0] enter
[ 1] get_scope loc4
[ 3] mov loc5, loc4
[ 6] check_traps
[ 7] mov loc6, <JSValue()>(const0)
[ 10] mov loc6, Undefined(const1)
[ 13] mod loc7, arg1, Int32: 2(const2)
[ 17] jfalse loc7, 8(->25)
Successors: [ #3 #2 ]
bb#2
[ 20] mov loc6, Int32: 42(const3)
[ 23] jmp 5(->28)
Successors: [ #4 ]
bb#3
[ 25] mov loc6, Int32: 77(const4)
Successors: [ #4 ]
bb#4
[ 28] add loc7, arg1, loc6, OperandTypes(126, 126)
[ 34] ret loc7
Successors: [ ]
`
- bytecode/BytecodeDumper.cpp:
(JSC::dumpHeader):
(JSC::dumpFooter):
(JSC::CodeBlockBytecodeDumper<Block>::dumpBlock):
(JSC::CodeBlockBytecodeDumper<Block>::dumpGraph):
- bytecode/BytecodeDumper.h:
- bytecode/BytecodeGraph.h:
(JSC::BytecodeGraph::dump):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- 8:29 AM Changeset in webkit [263617] by
-
- 30 edits2 copies3 adds in trunk/Source/WebCore
Convert SVG related parsers over to using StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=213635
Reviewed by Darin Adler.
- Adopt StringParsingBuffer across SVG code.
- Remove UTF-16 upconversions in SVGAnimationElement, SVGFitToViewBox, SVGLengthList, SVGLengthValue, SVGNumberList, SVGParserUtilities, SVGPointList, SVGPreserveAspectRatioValue, SVGStringList, SVGTransformList, SVGTransformable and SVGViewSpec.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
Export ParsingUtilities.h, which is now included by SVGParserUtilities.h
- Sources.txt:
Add implementation files for SVGLengthList, SVGNumberList, SVGPointList, SVGStringList
and SVGTransformList to hold large functions are unlikely to benefit from inlining.
- html/parser/ParsingUtilities.h:
(WebCore::skipCharactersExactly):
Add new skipCharactersExactly, which takes a c-array (NOT null-terminated) of characters
to compare against.
- svg/SVGAngleValue.cpp:
(WebCore::parseAngleType):
(WebCore::SVGAngleValue::setValueAsString):
Adopt StringParsingBuffer.
- svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::parseAttribute):
Adapt to new shared parseTransformType, which now returns an Optional and default to
SVG_TRANSFORM_UNKNOWN on parse failure as the old parseTransformType did.
- svg/SVGAnimationElement.cpp:
(WebCore::parseKeySplines):
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters()
- svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseViewBox):
(WebCore::SVGFitToViewBox::parseViewBoxGeneric):
- svg/SVGFitToViewBox.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters()
- svg/SVGLengthList.cpp: Added.
(WebCore::SVGLengthList::parse):
(WebCore::SVGLengthList::valueAsString const):
- svg/SVGLengthList.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.
- svg/SVGLengthValue.cpp:
(WebCore::parseLengthType):
(WebCore::SVGLengthValue::construct):
(WebCore::SVGLengthValue::setValueAsString):
- svg/SVGLengthValue.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters()
- svg/SVGNumberList.cpp: Added.
(WebCore::SVGNumberList::parse):
(WebCore::SVGNumberList::valueAsString const):
- svg/SVGNumberList.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.
- svg/SVGParserUtilities.cpp:
(WebCore::genericParseNumber):
(WebCore::parseNumber):
(WebCore::genericParseArcFlag):
(WebCore::parseArcFlag):
(WebCore::parseNumberOptionalNumber):
(WebCore::parsePoint):
(WebCore::parseRect):
(WebCore::parseGlyphName):
(WebCore::parseUnicodeRange):
(WebCore::parseKerningUnicodeString):
(WebCore::genericParseFloatPoint):
(WebCore::parseFloatPoint):
- svg/SVGParserUtilities.h:
(WebCore::isSVGSpaceOrComma):
(WebCore::skipOptionalSVGSpaces):
(WebCore::skipOptionalSVGSpacesOrDelimiter):
(WebCore::skipString): Deleted.
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.
- svg/SVGPathSource.h:
Add missing include, which is now needed do to removing unncessary includes in other files.
- svg/SVGPathStringSource.cpp:
(WebCore::SVGPathStringSource::SVGPathStringSource):
(WebCore::SVGPathStringSource::hasMoreData const):
(WebCore::SVGPathStringSource::moveToNextToken):
(WebCore::nextCommandHelper):
(WebCore::SVGPathStringSource::nextCommand):
(WebCore::SVGPathStringSource::parse):
(WebCore::SVGPathStringSource::parseSVGSegmentType):
(WebCore::SVGPathStringSource::parseMoveToSegment):
(WebCore::SVGPathStringSource::parseLineToSegment):
(WebCore::SVGPathStringSource::parseLineToHorizontalSegment):
(WebCore::SVGPathStringSource::parseLineToVerticalSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathStringSource::parseArcToSegment):
(WebCore::parseSVGSegmentTypeHelper): Deleted.
- svg/SVGPathStringSource.h:
Adopt StringParsingBuffer. Replace existing set of unions with a single
union of StringParsingBuffers.
- svg/SVGPointList.cpp: Added.
(WebCore::SVGPointList::parse):
(WebCore::SVGPointList::valueAsString const):
- svg/SVGPointList.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.
- svg/SVGPreserveAspectRatioValue.cpp:
(WebCore::SVGPreserveAspectRatioValue::SVGPreserveAspectRatioValue):
(WebCore::SVGPreserveAspectRatioValue::parse):
(WebCore::SVGPreserveAspectRatioValue::parseInternal):
(WebCore::SVGPreserveAspectRatioValue::valueAsString const):
- svg/SVGPreserveAspectRatioValue.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().
- svg/SVGStringList.cpp: Added.
(WebCore::SVGStringList::parse):
(WebCore::SVGStringList::valueAsString const):
- svg/SVGStringList.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.
- svg/SVGTransformList.cpp: Added.
(WebCore::SVGTransformList::consolidate):
(WebCore::SVGTransformList::concatenate const):
(WebCore::SVGTransformList::parseGeneric):
(WebCore::SVGTransformList::parse):
(WebCore::SVGTransformList::valueAsString const):
- svg/SVGTransformList.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse, valueAsString, consolidate and
concatenate out of line.
- svg/SVGTransformable.cpp:
(WebCore::parseTransformParamList):
(WebCore::parseTransformValueGeneric):
(WebCore::SVGTransformable::parseTransformValue):
(WebCore::parseTransformTypeGeneric):
(WebCore::SVGTransformable::parseTransformType):
(WebCore::SVGTransformable::parseAndSkipType): Deleted.
- svg/SVGTransformable.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Unify parseTransformType implementations to all
use a single implementation and return an Optional<SVGTransformType>.
- svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::parseViewSpec):
- svg/SVGViewSpec.h:
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().
- svg/SVGZoomAndPan.cpp:
(WebCore::parseZoomAndPanGeneric):
(WebCore::SVGZoomAndPan::parseZoomAndPan):
- svg/SVGZoomAndPan.h:
Adopt StringParsingBuffer.
- 7:18 AM Changeset in webkit [263616] by
-
- 5 edits in trunk
[PlayStation] Update test runner for changes to Options and signing
https://bugs.webkit.org/show_bug.cgi?id=213650
Reviewed by Don Olmstead.
Source/JavaScriptCore:
- shell/playstation/Initializer.cpp: Load ICU library
- shell/playstation/TestShell.cpp: Update between test options reset
Tools:
- Scripts/webkitdirs.pm: Update extension for PlayStation binary
Jun 26, 2020:
- 11:17 PM Changeset in webkit [263615] by
-
- 4 edits3 adds in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Update test expectations after r263609.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt:
- 10:25 PM Changeset in webkit [263614] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, rename beacon-redirect.window.html to beacon-redirect.sub.window.html in TestExpectations
This needed updating since the test got renamed upstream and we resync'd it recently in r263595.
- 10:21 PM Changeset in webkit [263613] by
-
- 2 edits13 deletes in trunk/LayoutTests
Unreviewed, drop tests that got renamed in r263598 when re-syncing WebCryptAPI tests.
LayoutTests/imported/w3c:
- web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker.html: Removed.
- web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.
- web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker.html: Removed.
LayoutTests:
- platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
- platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.
- platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
- platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.
- platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Removed.
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.
- 10:14 PM Changeset in webkit [263612] by
-
- 1 edit2 deletes in trunk/LayoutTests/imported/w3c
Unreviewed, drop test that got renamed in r263595.
This test is now called beacon-redirect.sub.window.html.
- web-platform-tests/beacon/beacon-redirect.window-expected.txt: Removed.
- web-platform-tests/beacon/beacon-redirect.window.html: Removed.
- 10:09 PM Changeset in webkit [263611] by
-
- 2 edits2 adds in trunk/LayoutTests
Unreviewed, land iOS-specific baselines after WebCryptoAPI WPT tests resync in r263598.
- platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Added.
- platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Added.
- 9:37 PM Changeset in webkit [263610] by
-
- 4 edits in trunk/Tools
[webkitpy] Allow callers to override the reported model (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=213677
<rdar://problem/64834043>
Reviewed by Dewei Zhu.
- Scripts/webkitpy/port/base.py:
(Port.configuration_for_upload): Set the model based on --model.
- Scripts/webkitpy/port/factory.py:
(configuration_options): Add --model option, drive-by fix for --architecture.
- Scripts/webkitpy/port/mac.py:
(MacPort.configuration_for_upload): --model overrides detected model.
- 9:20 PM Changeset in webkit [263609] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
WebSecurityOrigin needs to initialize the main thread
https://bugs.webkit.org/show_bug.cgi?id=213675
Reviewed by Tim Horton.
Safari uses WebSecurityOrigin stand-alone in unit tests.
(And any client can use WebSecurityOrigin without first using other
WebKit data types.)
- WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin initWithURL:]):
- 9:17 PM Changeset in webkit [263608] by
-
- 505 edits3 copies1 move51 adds20 deletes in trunk/JSTests
Update test262
https://bugs.webkit.org/show_bug.cgi?id=213676
Reviewed by Ross Kirsling.
Update and rebaseline expectations.
- test262/expectations.yaml:
- test262/harness/testBigIntTypedArray.js:
(testWithBigIntTypedArrayConstructors):
- test262/harness/testIntl.js:
- test262/harness/testTypedArray.js:
(testWithNonAtomicsFriendlyTypedArrayConstructors):
(testWithAtomicsFriendlyTypedArrayConstructors):
- test262/latest-changes-summary.txt:
- test262/test/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-body.js:
- test262/test/built-ins/Array/prototype/indexOf/length-zero-returns-minus-one.js: Added.
(fromIndex.valueOf):
- test262/test/built-ins/Array/prototype/lastIndexOf/length-zero-returns-minus-one.js: Added.
(fromIndex.valueOf):
- test262/test/built-ins/Atomics/add/bigint/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/add/bigint/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/add/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/add/non-shared-int-views-throws.js: Added.
- test262/test/built-ins/Atomics/add/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/and/bigint/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/and/bigint/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/and/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/and/non-shared-int-views-throws.js: Added.
- test262/test/built-ins/Atomics/and/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/compareExchange/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/compareExchange/non-shared-int-views-throws.js: Added.
- test262/test/built-ins/Atomics/compareExchange/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/exchange/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/exchange/non-shared-int-views-throws.js: Added.
- test262/test/built-ins/Atomics/load/bigint/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/load/bigint/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/load/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/load/non-shared-int-views-throws.js: Added.
- test262/test/built-ins/Atomics/load/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-count-evaluation-throws.js: Added.
(const.poisoned.valueOf):
- test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-index-evaluation-throws.js: Added.
(const.poisoned.valueOf):
- test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-non-shared-int-views-throws.js: Added.
(const.poisoned.valueOf):
- test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-returns-0.js: Added.
- test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-throws.js: Removed.
- test262/test/built-ins/Atomics/notify/non-shared-bufferdata-count-evaluation-throws.js: Added.
(const.poisoned.valueOf):
- test262/test/built-ins/Atomics/notify/non-shared-bufferdata-index-evaluation-throws.js: Added.
(const.poisoned.valueOf):
- test262/test/built-ins/Atomics/notify/non-shared-bufferdata-non-shared-int-views-throws.js: Renamed from JSTests/test262/test/built-ins/Atomics/notify/non-shared-bufferdatate-non-shared-int-views.js.
- test262/test/built-ins/Atomics/notify/non-shared-bufferdata-returns-0.js: Added.
- test262/test/built-ins/Atomics/notify/non-shared-bufferdata-throws.js: Removed.
- test262/test/built-ins/Atomics/or/bigint/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/or/bigint/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/or/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/or/non-shared-int-views-throws.js: Added.
- test262/test/built-ins/Atomics/or/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/store/bigint/bad-range.js:
(testWithBigIntTypedArrayConstructors): Deleted.
- test262/test/built-ins/Atomics/store/bigint/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/store/bigint/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/store/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/store/non-shared-int-views-throws.js: Added.
- test262/test/built-ins/Atomics/store/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/sub/bigint/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/sub/bigint/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/sub/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/sub/non-shared-int-views-throws.js: Added.
- test262/test/built-ins/Atomics/sub/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/wait/bigint/non-shared-bufferdata-throws.js:
- test262/test/built-ins/Atomics/waitAsync/bigint/false-for-timeout.js:
- test262/test/built-ins/Atomics/waitAsync/bigint/good-views.js:
(async const):
- test262/test/built-ins/Atomics/waitAsync/bigint/negative-timeout.js:
(1.value.then):
- test262/test/built-ins/Atomics/waitAsync/bigint/null-for-timeout.js:
- test262/test/built-ins/Atomics/waitAsync/bigint/object-for-timeout.js:
- test262/test/built-ins/Atomics/waitAsync/bigint/true-for-timeout.js:
- test262/test/built-ins/Atomics/waitAsync/bigint/undefined-for-timeout.js:
- test262/test/built-ins/Atomics/waitAsync/bigint/value-not-equal.js:
- test262/test/built-ins/Atomics/waitAsync/false-for-timeout.js:
- test262/test/built-ins/Atomics/waitAsync/good-views.js:
(async const):
- test262/test/built-ins/Atomics/waitAsync/negative-timeout.js:
(then):
- test262/test/built-ins/Atomics/waitAsync/null-for-timeout.js:
- test262/test/built-ins/Atomics/waitAsync/object-for-timeout.js:
- test262/test/built-ins/Atomics/waitAsync/true-for-timeout.js:
- test262/test/built-ins/Atomics/waitAsync/undefined-for-timeout.js:
- test262/test/built-ins/Atomics/waitAsync/value-not-equal.js:
- test262/test/built-ins/Atomics/xor/bigint/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/xor/bigint/nonshared-int-views.js: Removed.
- test262/test/built-ins/Atomics/xor/non-shared-bufferdata.js: Added.
- test262/test/built-ins/Atomics/xor/non-shared-int-views-throws.js: Added.
- test262/test/built-ins/Atomics/xor/nonshared-int-views.js: Removed.
- test262/test/built-ins/NativeErrors/AggregateError/prototype/errors-absent-on-prototype.js: Added.
- test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/invoked-as-accessor.js: Removed.
- test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/invoked-as-func.js: Removed.
- test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/length.js: Removed.
- test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/name.js: Removed.
- test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/prop-desc.js: Removed.
- test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/return-from-iterable-errors.js: Removed.
- test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/return-new-array-from-list.js: Removed.
- test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/this-has-no-typedarrayname-internal.js: Removed.
- test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/this-is-not-object.js: Removed.
- test262/test/built-ins/Object/defineProperties/15.2.3.7-2-18.js:
(catch):
- test262/test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js:
(then):
- test262/test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js:
(Promise.all.p1.then):
(p1.then):
(then):
- test262/test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js:
(p1.then):
(p2.then):
- test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-custom.js:
(values.then):
- test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-promise.js:
(Promise.all.values.then):
- test262/test/built-ins/Promise/all/invoke-resolve-on-values-every-iteration-of-promise.js:
(Promise.all.values.then):
- test262/test/built-ins/Promise/allSettled/invoke-resolve-on-promises-every-iteration-of-custom.js:
(values.then):
- test262/test/built-ins/Promise/allSettled/invoke-resolve-on-promises-every-iteration-of-promise.js:
(Promise.allSettled.values.then):
- test262/test/built-ins/Promise/allSettled/invoke-resolve-on-values-every-iteration-of-promise.js:
(Promise.allSettled.values.then):
- test262/test/built-ins/Promise/allSettled/resolved-immed.js:
(then):
- test262/test/built-ins/Promise/allSettled/resolved-sequence-extra-ticks.js:
(Promise.allSettled.p1.then):
(p1.then):
(then):
- test262/test/built-ins/Promise/allSettled/resolved-sequence-mixed.js:
(p1.catch):
(p3.then):
(p2.then):
(p3.catch):
- test262/test/built-ins/Promise/allSettled/resolved-sequence-with-rejections.js:
(p1.catch):
(p2.then):
(p2.catch):
- test262/test/built-ins/Promise/allSettled/resolved-sequence.js:
(p1.then):
(p2.then):
- test262/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-custom.js:
(values.then):
- test262/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-promise.js:
(Promise.any.values.then):
- test262/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-custom.js:
(values.then):
- test262/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-promise.js:
(Promise.any.values.then):
- test262/test/built-ins/Promise/any/invoke-then-on-promises-every-iteration.js:
(Promise.any.promises.then):
- test262/test/built-ins/Promise/any/resolved-sequence-extra-ticks.js:
(Promise.any.p1.then):
(p1.then):
(then):
- test262/test/built-ins/Promise/any/resolved-sequence-mixed.js:
(p1.catch):
(p3.then):
(p2.then):
(p3.catch):
- test262/test/built-ins/Promise/any/resolved-sequence-with-rejections.js:
(p1.catch):
(p2.then):
(p2.catch):
- test262/test/built-ins/Promise/any/resolved-sequence.js:
(p1.then):
(p2.then):
- test262/test/built-ins/Promise/prototype/finally/rejected-observable-then-calls.js:
(then):
- test262/test/built-ins/Promise/prototype/finally/rejection-reason-no-fulfill.js:
(then):
- test262/test/built-ins/Promise/prototype/finally/rejection-reason-override-with-throw.js:
(then):
- test262/test/built-ins/Promise/prototype/finally/resolution-value-no-override.js:
(then):
- test262/test/built-ins/Promise/prototype/finally/resolved-observable-then-calls.js:
(then):
- test262/test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js:
(then):
- test262/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js:
(then):
- test262/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js:
(then):
- test262/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js:
(Promise.resolve.then):
- test262/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js:
(p.then):
(Promise.resolve.then):
- test262/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js:
(p.then):
(Promise.resolve.then):
- test262/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js:
(Promise.resolve.then):
- test262/test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js:
(p.then):
(Promise.resolve.then):
(then):
- test262/test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js:
(Promise.resolve.then):
(then):
- test262/test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js:
(p.then):
(Promise.resolve.then):
(then):
- test262/test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js:
(p.then):
(Promise.resolve.then):
(then):
- test262/test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js:
(p.then):
(Promise.resolve.then):
(then):
- test262/test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js:
(Promise.resolve.then):
(then):
- test262/test/built-ins/Promise/race/invoke-resolve-on-promises-every-iteration-of-custom.js: Copied from JSTests/test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-custom.js.
(Custom):
(Custom.resolve):
(Promise.resolve):
(values.then):
- test262/test/built-ins/Promise/race/invoke-resolve-on-promises-every-iteration-of-promise.js: Copied from JSTests/test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-promise.js.
(Promise.resolve):
(Promise.race.values.then):
- test262/test/built-ins/Promise/race/invoke-resolve-on-values-every-iteration-of-promise.js: Copied from JSTests/test262/test/built-ins/Promise/all/invoke-resolve-on-values-every-iteration-of-promise.js.
(Promise.resolve):
(Promise.race.values.then):
- test262/test/built-ins/Promise/race/reject-from-same-thenable.js: Added.
(Constructor.reject):
(Constructor.resolve):
(let.a.then):
- test262/test/built-ins/Promise/race/resolve-element-function-extensible.js: Added.
(let.thenable.then):
(NotPromise):
(NotPromise.resolve):
- test262/test/built-ins/Promise/race/resolve-element-function-name.js: Added.
(let.thenable.then):
(NotPromise):
(NotPromise.resolve):
- test262/test/built-ins/Promise/race/resolve-element-function-nonconstructor.js: Added.
(let.thenable.then):
(NotPromise):
(NotPromise.resolve):
- test262/test/built-ins/Promise/race/resolve-element-function-prototype.js: Added.
(let.thenable.then):
(NotPromise):
(NotPromise.resolve):
- test262/test/built-ins/Promise/race/resolve-from-same-thenable.js: Added.
(Constructor.resolve):
(let.a.then):
- test262/test/built-ins/Promise/race/resolve-ignores-late-rejection-deferred.js: Added.
(let.lateRejector.then):
- test262/test/built-ins/Promise/race/resolve-ignores-late-rejection.js: Added.
(let.resolver.then):
(let.lateRejector.then):
- test262/test/built-ins/Promise/race/resolved-sequence-extra-ticks.js: Added.
(a.then):
(then):
- test262/test/built-ins/Promise/race/resolved-sequence-mixed.js: Added.
(Promise.all.a.catch):
(c.then):
(b.then):
(catch):
- test262/test/built-ins/Promise/race/resolved-sequence-with-rejections.js: Added.
(Promise.all.a.catch):
(b.catch):
- test262/test/built-ins/Promise/race/resolved-sequence.js: Added.
(Promise.all.a.then):
(b.then):
- test262/test/built-ins/Promise/race/resolved-then-catch-finally.js: Added.
(let.b.Promise.resolve.string_appeared_here.then):
(let.c.Promise.reject.string_appeared_here.then):
(let.f.Promise.resolve.string_appeared_here.finally):
(let.g.Promise.reject.string_appeared_here.finally):
- test262/test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js:
(thenable.then):
(p1.then):
- test262/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js:
(thenable.then):
(p.then):
- test262/test/intl402/DateTimeFormat/constructor-options-fractionalSecondDigits-valid.js:
(valueOf):
- test262/test/intl402/NumberFormat/constructor-order.js:
- test262/test/intl402/NumberFormat/constructor-unit.js:
(string_appeared_here.new.Intl.NumberFormat):
- test262/test/intl402/NumberFormat/prototype/format/numbering-systems.js:
(digitList.of.Object.entries):
- test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-computed-names.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-computed-symbol-names.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-literal-names-asi.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-literal-names.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-field-usage.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-method-getter-usage.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-method-usage.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-names.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-field-identifier-initializer.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-field-identifier.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-getter-alt.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-getter.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-method-alt.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-method.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-setter-alt.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-setter.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-alt.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer-alt.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier.js:
(C):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier.js:
(C):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier-alt.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt-by-classname.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-by-classname.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier.js:
(C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-static-private-fields.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-static-private-methods-with-fields.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-static-private-methods.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-gen-string-literal-names.js:
(prototype.C.m.next.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-computed-names.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-computed-symbol-names.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-grammar-privatename-identifier-semantics-stringvalue.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-literal-names-asi.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-literal-names.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-field-usage.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-method-getter-usage.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-method-usage.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-names.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-field-identifier-initializer.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-field-identifier.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-getter-alt.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-getter.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-method-alt.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-method.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-setter-alt.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-setter.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier-alt.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer-alt.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier.js:
(C):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier.js:
(C):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier-alt.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt-by-classname.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-by-classname.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier.js:
(C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-static-private-fields.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-static-private-methods-with-fields.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-static-private-methods.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-async-method-string-literal-names.js:
(prototype.C.m.then):
- test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/private-methods/prod-private-async-generator.js:
(ctorPromise.then):
- test262/test/language/expressions/class/elements/private-methods/prod-private-async-method.js:
(ctorPromise.then):
- test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/same-line-async-gen-computed-names.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-computed-symbol-names.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-literal-names-asi.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-literal-names.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-private-field-usage.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-private-method-getter-usage.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-private-method-usage.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-private-names.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-field-identifier-initializer.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-field-identifier.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-getter-alt.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-getter.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-method-alt.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-method.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-setter-alt.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-setter.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier-alt.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier-initializer-alt.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier-initializer.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
(assertions):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier.js:
(c.m.next.then.assertions):
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier-alt.js:
(c.m.next.then.assertions):
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier.js:
(c.m.next.then.assertions):
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-method-privatename-identifier-alt.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-method-privatename-identifier.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt-by-classname.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-by-classname.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-static-private-fields.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-static-private-methods-with-fields.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-static-private-methods.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-gen-string-literal-names.js:
(c.m.next.then):
- test262/test/language/expressions/class/elements/same-line-async-method-computed-names.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-computed-symbol-names.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-grammar-privatename-identifier-semantics-stringvalue.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-literal-names-asi.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-literal-names.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-private-field-usage.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-private-method-getter-usage.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-private-method-usage.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-private-names.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-field-identifier-initializer.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-field-identifier.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-private-getter-alt.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-private-getter.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-private-method-alt.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-private-method.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-private-setter-alt.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-private-setter.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier-alt.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier-initializer-alt.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier-initializer.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:
(assertions):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier.js:
(c.m.then.assertions):
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier-alt.js:
(c.m.then.assertions):
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier.js:
(c.m.then.assertions):
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-method-privatename-identifier-alt.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-method-privatename-identifier.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-alt-by-classname.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-alt.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-by-classname.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-static-private-fields.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-static-private-methods-with-fields.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-static-private-methods.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-async-method-string-literal-names.js:
(c.m.then):
- test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/same-line-method-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/same-line-method-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier.js:
- test262/test/language/expressions/optional-chaining/eval-optional-call.js: Added.
- test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-computed-names.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-computed-symbol-names.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-literal-names-asi.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-literal-names.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-field-usage.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-method-getter-usage.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-method-usage.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-names.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-field-identifier-initializer.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-field-identifier.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-getter-alt.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-getter.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-method-alt.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-method.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-setter-alt.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-setter.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-alt.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer-alt.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier.js:
(C):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier.js:
(C):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier-alt.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt-by-classname.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-by-classname.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-static-private-fields.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-static-private-methods-with-fields.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-static-private-methods.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-gen-string-literal-names.js:
(C.m.next.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-computed-names.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-computed-symbol-names.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-grammar-privatename-identifier-semantics-stringvalue.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-literal-names-asi.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-literal-names.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-private-field-usage.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-private-method-getter-usage.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-private-method-usage.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-private-names.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-field-identifier-initializer.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-field-identifier.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-getter-alt.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-getter.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-method-alt.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-method.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-setter-alt.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-setter.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier-alt.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer-alt.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier.js:
(C):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier.js:
(C):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier-alt.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt-by-classname.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-by-classname.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-static-private-fields.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-static-private-methods-with-fields.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-static-private-methods.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-async-method-string-literal-names.js:
(C.m.then):
- test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/private-methods/prod-private-async-generator.js:
(ctorPromise.then):
- test262/test/language/statements/class/elements/private-methods/prod-private-async-method.js:
(ctorPromise.then):
- test262/test/language/statements/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/regular-definitions-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/regular-definitions-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/same-line-async-gen-computed-names.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-computed-symbol-names.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-literal-names-asi.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-literal-names.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-private-field-usage.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-private-method-getter-usage.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-private-method-usage.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-private-names.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-field-identifier-initializer.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-field-identifier.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-private-getter-alt.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-private-getter.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-private-method-alt.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-private-method.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-private-setter-alt.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-private-setter.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier-alt.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier-initializer-alt.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier-initializer.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier.js:
(C):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier.js:
(C):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-method-privatename-identifier-alt.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-method-privatename-identifier.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt-by-classname.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-by-classname.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-static-private-fields.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-static-private-methods-with-fields.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-static-private-methods.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-gen-string-literal-names.js:
(c.m.next.then):
- test262/test/language/statements/class/elements/same-line-async-method-computed-names.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-computed-symbol-names.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-grammar-privatename-identifier-semantics-stringvalue.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-literal-names-asi.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-literal-names.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-private-field-usage.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-private-method-getter-usage.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-private-method-usage.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-private-names.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-field-identifier-initializer.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-field-identifier.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-private-getter-alt.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-private-getter.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-private-method-alt.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-private-method.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-private-setter-alt.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-private-setter.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier-alt.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier-initializer-alt.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier-initializer.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:
(C.get return):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier.js:
(C):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier-alt.js:
(C.async return):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier.js:
(C):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-method-privatename-identifier-alt.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-method-privatename-identifier.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-alt-by-classname.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-alt.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-by-classname.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-static-private-fields.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-static-private-methods-with-fields.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-static-private-methods.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-async-method-string-literal-names.js:
(c.m.then):
- test262/test/language/statements/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/same-line-gen-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/same-line-method-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/same-line-method-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier.js:
- test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier-alt.js:
- test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier.js:
- test262/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-init-yield-expr.js:
- test262/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-nested-array-yield-expr.js:
- test262/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-nested-obj-yield-expr.js:
- test262/test262-Revision.txt:
- 6:16 PM Changeset in webkit [263607] by
-
- 2 edits in trunk/Source/WebKit
Crash at WebKit: 62-[WKContentView(WKInteraction) resignFirstResponderForWebView]_block_invoke
<https://webkit.org/b/213666>
<rdar://problem/64238661>
Reviewed by Darin Adler.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView resignFirstResponderForWebView]):
- Speculative fix to return early if there are no queued key events available by the time the block runs.
- 5:13 PM Changeset in webkit [263606] by
-
- 7 edits2 moves in trunk/LayoutTests/imported/w3c
Resync web-platform-tests/WebIDL from upstream
https://bugs.webkit.org/show_bug.cgi?id=213539
Reviewed by Sam Weinig.
Resync web-platform-tests/WebIDL from upstream 1001bb6b2d6b9.
- web-platform-tests/WebIDL/ecmascript-binding/class-string-iterator-prototype-object.any-expected.txt:
- web-platform-tests/WebIDL/ecmascript-binding/class-string-iterator-prototype-object.any.js:
(test):
- web-platform-tests/WebIDL/ecmascript-binding/class-string-iterator-prototype-object.any.worker-expected.txt:
- web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window-expected.txt:
- web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window.js:
- web-platform-tests/WebIDL/idlharness-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebIDL/interfaces-expected.txt.
- web-platform-tests/WebIDL/idlharness.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebIDL/interfaces.html.
- web-platform-tests/WebIDL/w3c-import.log:
- 4:58 PM Changeset in webkit [263605] by
-
- 60 edits1 copy16 moves24 adds in trunk/LayoutTests
Update web-platform-tests/content-security-policy from upstream
https://bugs.webkit.org/show_bug.cgi?id=213664
Reviewed by Darin Adler.
Update web-platform-tests/content-security-policy from upstream b076c305a256e7fb7.
LayoutTests/imported/w3c:
- resources/resource-files.json:
- web-platform-tests/content-security-policy/*: Updated.
LayoutTests:
- tests-options.json:
- 4:56 PM Changeset in webkit [263604] by
-
- 1 copy in tags/Safari-610.1.18.3
Tag Safari-610.1.18.3.
- 4:44 PM Changeset in webkit [263603] by
-
- 8 edits in branches/safari-610.1.18-branch/Source
Versioning.
WebKit-610.1.18.3
- 4:41 PM Changeset in webkit [263602] by
-
- 1 delete in branches/safari-610.1.18.0-branch
Delete branch.
- 4:38 PM Changeset in webkit [263601] by
-
- 3 edits2 adds in trunk
CRASH: incompatible downcast<> operation in SourceBufferPrivateAVFObjC::setCDMInstance()
https://bugs.webkit.org/show_bug.cgi?id=213660
<rdar://problem/63831593>
Reviewed by Eric Carlson.
Source/WebCore:
Test: platform/mac/media/encrypted-media/fps-clearkey-crash.html
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::setCDMInstance):
LayoutTests:
- platform/mac/media/encrypted-media/fps-clearkey-crash-expected.txt: Added.
- platform/mac/media/encrypted-media/fps-clearkey-crash.html: Added.
- 4:37 PM Changeset in webkit [263600] by
-
- 1 copy in branches/safari-610.1.18.0-branch
New branch.
- 4:34 PM Changeset in webkit [263599] by
-
- 1 delete in branches/safari-610.1.18.10-branch
Delete tag.
- 4:32 PM Changeset in webkit [263598] by
-
- 43 edits5 copies1 move19 adds31 deletes in trunk/LayoutTests
Update web-platform-tests/WebCryptoAPI from upstream
https://bugs.webkit.org/show_bug.cgi?id=213662
Reviewed by Darin Adler.
Update web-platform-tests/WebCryptoAPI from upstream b076c305a256e7.
LayoutTests/imported/w3c:
- web-platform-tests/WebCryptoAPI/*: Updated.
LayoutTests:
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt:
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt:
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.https.worker-expected.txt:
- platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt:
- 4:26 PM Changeset in webkit [263597] by
-
- 3 edits2 adds in trunk
[LFC][BFC] Add support for <center>
https://bugs.webkit.org/show_bug.cgi?id=213649
Reviewed by Antti Koivisto.
Source/WebCore:
Adjust the margin box to center the block content (this is very similar to [style="margin-left: auto; margin-right: auto;"]).
Test: fast/layoutformattingcontext/center-alignment-with-block-content-simple.html
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
LayoutTests:
- fast/layoutformattingcontext/center-alignment-with-block-content-simple-expected.html: Added.
- fast/layoutformattingcontext/center-alignment-with-block-content-simple.html: Added.
- 4:23 PM Changeset in webkit [263596] by
-
- 1 copy in branches/safari-610.1.18.10-branch
New branch.
- 4:07 PM Changeset in webkit [263595] by
-
- 10 edits1 move5 adds in trunk/LayoutTests/imported/w3c
Update web-platform-tests/beacon from upstream
https://bugs.webkit.org/show_bug.cgi?id=213663
Reviewed by Darin Adler.
Update web-platform-tests/beacon from upstream b076c305a256e7fb7.
- web-platform-tests/beacon/*: Updated.
- 3:33 PM Changeset in webkit [263594] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for imported/w3c/canvas/2d.line.cap.round.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=138676
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-26
- 3:29 PM Changeset in webkit [263593] by
-
- 1 copy in tags/Safari-610.1.15.51.6
Tag Safari-610.1.15.51.6.
- 3:09 PM Changeset in webkit [263592] by
-
- 9 edits in trunk/Tools
[webkitpy] Automatically detect hw architecture for supporting Apple Silicon
https://bugs.webkit.org/show_bug.cgi?id=213653
<rdar://problem/64817656>
Rubber-stamped by Aakash Jain.
- Scripts/webkitpy/common/config/ews.json: iOS has the correct defaults, no need to override them.
- Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo):
(PlatformInfo.architecture): Retrieve the current system's architecture.
- Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.init):
(MockPlatformInfo.architecture):
- Scripts/webkitpy/port/base.py:
(Port.init): Remove 'did_override_architecture', should be implied by architecture compared with DEFAULT_ARCHITECTURE.
(Port.architecture): Return the architecture specified by the user, if it exists.
(Port.set_architecture): Remove 'did_override_architecture'.
- Scripts/webkitpy/port/factory.py:
(configuration_options): Add --arm and --architecture flags.
- Scripts/webkitpy/port/mac.py:
(MacPort): Add arm64 to supported architectures.
(MacPort.architecture): Convert arm64e to arm64, check the host's architecture.
(MacPort._build_driver_flags): Always specify the build architecture since it may be x86_64 or arm64.
- Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_64bit):
(MacTest):
(MacTest.test_arm):
(MacTest.test_default):
- Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.run_command): Remove did_override_architecture.
- 3:00 PM Changeset in webkit [263591] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Layout tests sometimes assert under -[WKContentView hasContent]
https://bugs.webkit.org/show_bug.cgi?id=213656
<rdar://problem/64818648>
Reviewed by Tim Horton.
Make it safe to invoke
-[WKContentView hasContent]
when post-layout data is not present, and there is no
ranged or caret selection. Some editing layout tests on iOS tend to hit the post-layout data assertion due to
the callout bar presentation callback firing while we reset the test harness to a consistent state (and spin the
runloop while doing so).
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView hasContent]):
- 2:57 PM Changeset in webkit [263590] by
-
- 2 edits in trunk/LayoutTests
Remove expectations for imported/w3c/canvas/2d.gradient.linear.transform.1.html and imported/w3c/canvas/2d.gradient.linear.transform.2.html and imported/w3c/canvas/2d.gradient.linear.transform.3.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=170757
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-26
- platform/mac/TestExpectations:
- 2:53 PM Changeset in webkit [263589] by
-
- 2 edits in trunk/Source/WebKit
[GTK][WPE] Fix the matching of an empty value in getCgroupControllerPath() when only cgroupsV2 hierarchy is found
https://bugs.webkit.org/show_bug.cgi?id=213646
Reviewed by Adrian Perez de Castro.
- UIProcess/linux/MemoryPressureMonitor.cpp:
(WebKit::getCgroupFile):
(WebKit::getCgroupControllerPath):
(WebKit::systemMemoryUsedAsPercentage):
- 2:45 PM Changeset in webkit [263588] by
-
- 15 edits4 deletes in trunk
Unreviewed, reverting r263511, r263514, and r263565.
r263511 caused MediaRecorder test crashes on internal testers.
Reverted changesets:
"MediaRecorder stopRecorder() returns empty Blob after first
use"
https://bugs.webkit.org/show_bug.cgi?id=212274
https://trac.webkit.org/changeset/263511
"Unreviewed iOS build fix after r263511."
https://trac.webkit.org/changeset/263514
"MediaRecorder.start() Method is Ignoring the "timeslice"
Parameter"
https://bugs.webkit.org/show_bug.cgi?id=202233
https://trac.webkit.org/changeset/263565
- 2:24 PM Changeset in webkit [263587] by
-
- 1 copy in tags/Safari-610.1.18.2
Tag Safari-610.1.18.2.
- 2:19 PM Changeset in webkit [263586] by
-
- 1 copy in tags/Safari-610.1.18.3.1
Tag Safari-610.1.18.3.1.
- 2:18 PM Changeset in webkit [263585] by
-
- 4 edits in branches/safari-610.1.18.3-branch/Source/WTF
Cherry-pick r263524. rdar://problem/64814318
WTF::callOnMainThread should not require the main runloop to be initialized
https://bugs.webkit.org/show_bug.cgi?id=213612
<rdar://problem/64446028>
Reviewed by Yusuke Suzuki.
When using JavaScriptCore as a framework, the WTF main runloop is never initialized. However,
the inspector uses CFString wrappers, which usecallOnMainThread
when deallocating the
underlying string. For now, we bring back the oldJSWTFMainThreadCaller
to ensure we have
a way of dispatching to the main thread, even when the main runloop hasn't been initialized.
- wtf/RunLoop.cpp: (WTF::RunLoop::mainIfExists):
- wtf/RunLoop.h:
- wtf/cocoa/MainThreadCocoa.mm: (-[JSWTFMainThreadCaller call]): (WTF::initializeMainThreadPlatform): (WTF::scheduleDispatchFunctionsOnMainThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:13 PM Changeset in webkit [263584] by
-
- 8 edits in branches/safari-610.1.18.3-branch/Source
Versioning.
WebKit-610.1.18.3.1
- 2:11 PM Changeset in webkit [263583] by
-
- 2 edits in trunk/Tools
[Big Sur] Handle baseline search path (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=213639
<rdar://problem/64789480>
Unreviewed follow-up fix.
- Scripts/webkitpy/port/mac.py:
(MacPort.default_baseline_search_path): Copy reference version by value, not by reference.
- 2:11 PM Changeset in webkit [263582] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for imported/w3c/canvas/2d.gradient.interpolate.solid.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=174015
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-26
- platform/mac/TestExpectations:
- 1:58 PM Changeset in webkit [263581] by
-
- 11 edits in trunk/Source/WebCore
Convert ContentSecurityPolicy related parsers over to using StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=213631
Reviewed by Darin Adler.
- Adopt StringParsingBuffer across CSP code.
- Remove UTF-16 upconversions in ContentSecurityPolicy, ContentSecurityPolicyDirectiveList, ContentSecurityPolicyMediaListDirective and ContentSecurityPolicySourceList.
- html/parser/ParsingUtilities.h:
(WebCore::isNotASCIISpace):
(WebCore::skipExactly):
(WebCore::characterPredicate):
(WebCore::skipUntil):
(WebCore::skipExactlyIgnoringASCIICase):
Add overloads for each helper that take a StringParsingBuffer.
- loader/ResourceCryptographicDigest.cpp:
(WebCore::parseHashAlgorithmAdvancingPosition):
Convert to use an Optional return value rather than outparameter + bool.
(WebCore::parseCryptographicDigestImpl):
(WebCore::parseCryptographicDigest):
(WebCore::parseEncodedCryptographicDigestImpl):
(WebCore::parseEncodedCryptographicDigest):
- loader/ResourceCryptographicDigest.h:
Use StringParsingBuffer rather than raw pointers for parsing.
- loader/SubresourceIntegrity.cpp:
(WebCore::splitOnSpaces):
(WebCore::parseIntegrityMetadata):
Use StringParsingBuffer and readCharactersForParsing rather than raw pointers for parsing.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::didReceiveHeader):
Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::isDirectiveNameCharacter):
(WebCore::isDirectiveValueCharacter):
(WebCore::ContentSecurityPolicyDirectiveList::parse):
(WebCore::ContentSecurityPolicyDirectiveList::parseDirective):
(WebCore::ContentSecurityPolicyDirectiveList::parseReportURI):
(WebCore::ContentSecurityPolicyDirectiveList::setCSPDirective):
(WebCore::ContentSecurityPolicyDirectiveList::applySandboxPolicy):
(WebCore::ContentSecurityPolicyDirectiveList::setUpgradeInsecureRequests):
(WebCore::ContentSecurityPolicyDirectiveList::setBlockAllMixedContentEnabled):
(WebCore::ContentSecurityPolicyDirectiveList::addDirective):
- page/csp/ContentSecurityPolicyDirectiveList.h:
Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Also switch to using Optional for return values
rather than outparameter + bool. To make things read more cleanly, package up name
and value pair into a new ParsedDirective struct that can be passed around more easily.
- page/csp/ContentSecurityPolicyMediaListDirective.cpp:
(WebCore::isMediaTypeCharacter):
(WebCore::ContentSecurityPolicyMediaListDirective::parse):
Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::isSourceCharacter):
(WebCore::isHostCharacter):
(WebCore::isPathComponentCharacter):
(WebCore::isSchemeContinuationCharacter):
(WebCore::isNotColonOrSlash):
(WebCore::isSourceListNone):
(WebCore::ContentSecurityPolicySourceList::parse):
(WebCore::ContentSecurityPolicySourceList::parseSource):
(WebCore::ContentSecurityPolicySourceList::parseScheme):
(WebCore::ContentSecurityPolicySourceList::parseHost):
(WebCore::ContentSecurityPolicySourceList::parsePath):
(WebCore::ContentSecurityPolicySourceList::parsePort):
(WebCore::isNonceCharacter):
(WebCore::ContentSecurityPolicySourceList::parseNonceSource):
(WebCore::ContentSecurityPolicySourceList::parseHashSource):
- page/csp/ContentSecurityPolicySourceList.h:
Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Also switch to using Optional for return values
rather than outparameter + bool. To make things read more cleanly, package up source
return values into structs that can be more easily returned / passed around.
- 1:52 PM Changeset in webkit [263580] by
-
- 4 edits in trunk/Source/WTF
Re-land r262863
https://bugs.webkit.org/show_bug.cgi?id=213654
Reviewed by Tadeu Zagallo.
r263575 should fix the crash we saw.
- wtf/cocoa/MainThreadCocoa.mm:
(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):
(-[JSWTFMainThreadCaller call]): Deleted.
- 1:41 PM Changeset in webkit [263579] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for https://results.webkit.org/?suite=layout-tests&test=imported%2Fmozilla%2Fsvg%2Fdynamic-textPath-02.svg as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213655
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-26
- 1:16 PM Changeset in webkit [263578] by
-
- 6 edits2 adds in trunk
Content sometimes missing in nested scrollers with border-radius
https://bugs.webkit.org/show_bug.cgi?id=213580
<rdar://problem/64460373>
Reviewed by Zalan Bujtas.
Source/WebCore:
RenderLayer::clipToRect() has a special case for clips involving border-radius,
involving an ancestor tree walk which applies the rounded clips.
When inside composited overflow, don't include the border-radius from the scroller since
that does its own clipping.
Test: compositing/clipping/nested-overflow-with-border-radius.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayer.h:
LayoutTests:
- compositing/clipping/nested-overflow-with-border-radius-expected.html: Added.
- compositing/clipping/nested-overflow-with-border-radius.html: Added.
- compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position-expected.html:
- compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position.html: Tweak the colors and radii to make failures on this test more obvious.
- 1:00 PM Changeset in webkit [263577] by
-
- 1 copy in branches/safari-610.1.18.3-branch
New branch.
- 12:43 PM Changeset in webkit [263576] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 ] REGRESSION: webrtc/video-autoplay1.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213652
Unreviewed test gardening
- platform/mac-wk2/TestExpectations:
- 12:28 PM Changeset in webkit [263575] by
-
- 48 edits in trunk
Initializing the main thread should initialize the main run loop
https://bugs.webkit.org/show_bug.cgi?id=213637
Reviewed by Anders Carlsson.
Source/JavaScriptCore:
- JavaScriptCore.order: Removed some defunct stuff.
- shell/playstation/TestShell.cpp:
(setupTestRun): Merged initializeThreading call with
initializeMainThread call because initializeMainThread is a superset.
Source/WebCore:
- platform/ios/wak/WebCoreThread.mm:
(RunWebThread): Removed call to initializeMainThread() because the main
thread calls it before starting the web thread, so it's a no-op. (And if
it were an op, it would be broken.)
(StartWebThread): Merged RunLoop::initializeMain and initializeThreading
into initializeMainThread.
Source/WebDriver:
- WebDriverService.cpp:
(WebDriver::WebDriverService::run):
Source/WebKit:
- Shared/Cocoa/WebKit2InitializeCocoa.mm:
(WebKit::runInitializationCode):
(WebKit::InitializeWebKit2):
- Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2):
Source/WebKitLegacy/mac:
- History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
- History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]):
- Misc/WebCache.mm:
(+[WebCache initialize]):
- Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
- Misc/WebIconDatabase.mm:
- Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
- Plugins/WebBaseNetscapePluginView.mm:
- Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage initialize]):
- Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]):
- WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]):
- WebCoreSupport/WebFrameLoaderClient.mm:
(+[WebFramePolicyListener initialize]):
- WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
- WebView/WebDataSource.mm:
(+[WebDataSource initialize]):
- WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
- WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
- WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]):
- WebView/WebView.mm:
(+[WebView initialize]):
- WebView/WebViewData.mm:
(+[WebViewPrivate initialize]):
Source/WebKitLegacy/win:
- WebView.cpp:
(WebView::WebView):
Source/WTF:
Previously, some code initialized one, some the other, and some both;
and some code tried to initialize more than once; and some code tried
to initialize in ways that would crash but luckily got pre-empted by
other code that had already initialized.
In addition to general confusion, this setup made it subtly high stakes
to call certain functions, like callOnMainThread or
RunLoop::main().dispatch(), because they might crash if the right
initialization had not been performed.
Let's fix that.
- wtf/MainThread.cpp:
(WTF::initializeMainThread): Removed defunct comment about
initializeMainThreadToProcessMainThread. Shrank scope of initializeKey.
- wtf/RunLoop.cpp:
(WTF::RunLoop::initializeMain): Don't call initializeMainThread anymore
because it calls us now. No need for a store fence since we run on the
main thread and we don't store anything.
(WTF::RunLoop::initializeWeb): Upgrade to RELEASE_ASSERT.
- wtf/RunLoop.h: Removed incorrect comment. (Fascinating to wonder when
it became incorrect.)
Tools:
Updated TestWebKitAPI to stop using RunLoop::initializeMain directly.
- TestWebKitAPI/Tests/WTF/RefPtr.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(ApplicationManifestParserTest::SetUp):
- TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::ComplexTextControllerTest::SetUp):
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::ContentExtensionTest::SetUp):
- TestWebKitAPI/Tests/WebCore/DNS.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(initializeInAppBrowserPrivacyTestSettings):
- TestWebKitAPI/TestsController.cpp:
(TestWebKitAPI::TestsController::TestsController):
- WebKitTestRunner/TestController.cpp:
(TestController::initialize):
- 12:26 PM Changeset in webkit [263574] by
-
- 8 edits in branches/safari-610.1.15.51-branch/Source
Versioning.
WebKit-610.1.15.51.6
- 12:26 PM Changeset in webkit [263573] by
-
- 2 edits in trunk/Source/WebCore
Fix for crash in AXIsolatedObject::relativeFrame.
https://bugs.webkit.org/show_bug.cgi?id=213363
Reviewed by Chris Fleizach.
Covered by existing testss.
Between the time an isolated object dispatches the method to the main
thread and the time the lambda is executed, the isolated object is
detached and hence its object ID becomes invalid. Thus, trying to get
the associated AX object results in an assert/crash.
- accessibility/isolatedtree/AXIsolatedObject.h:
- 12:20 PM Changeset in webkit [263572] by
-
- 3 edits in trunk/Source/WebCore
Access to AXIsolatedTree:m_readerThreadNodeMap should happen only on the secondary AX thread.
https://bugs.webkit.org/show_bug.cgi?id=213575
Reviewed by Chris Fleizach.
After calling AXObjectCache::initializeSecondaryAXThread, there may
still be some client requests coming in on the main thread. Thus
AXIsolatedTree::applyPendingchanges and nodeForID can be called on the
main thread. Since these two methods access the member variable
m_readerThreadNodeMap which should be accessed only on the secondary AX
thread, we now check for this condition and bail out if needed.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::nodeForID const):
(WebCore::AXIsolatedTree::applyPendingChanges):
- accessibility/isolatedtree/AXIsolatedTree.h: Reordered private methods
above member variables to comply with WebKit coding conventions,
pointed out by Darin Adler in review for https://bugs.webkit.org/show_bug.cgi?id=213435.
- 11:07 AM Changeset in webkit [263571] by
-
- 5 edits in trunk/Source/WebCore
Fix for crash in accessibility/roles-exposed.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=213648
Reviewed by Chris Fleizach.
LayoutTest: accessibility/roles-exposed.html.
- In layout tests, when AXObjectCache::notificationPostTimerFired is
triggered, and we try to update the isolated tree, some of the
underlying objects may already be gone. So this change ensure we don't
try to update an isolated object that corresponds to an already detached
live object.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::cacheAndInitializeWrapper): Sanity check.
- accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::addChildren): m_renderer can be null
when trying to update the isolated tree.
- accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored const):
Parent object may be gone when trying to update the isolated tree.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateChildrenIDs):
(WebCore::AXIsolatedTree::generateSubtree):
(WebCore::AXIsolatedTree::updateChildren):
- 10:37 AM Changeset in webkit [263570] by
-
- 5 edits in trunk/Source/WebKit
[iOS] Network process is crashing when launching TJMaxx app due to invalid NetworkProcess::DestroySession IPC message
https://bugs.webkit.org/show_bug.cgi?id=213625
<rdar://problem/64737890>
Reviewed by Alex Christensen.
The app is calling [WKWebsiteDataStore init] despite the method being marked as unavailable in
WKWebsiteDataStore.h. As a result, they end up with a WKWebsiteDataStore object whose internal
_websiteDataStore is bad because its constructor was never called. When [WKWebsiteDataStore dealloc]
gets called later own, it calls the ~WebsiteDataStore() destructor for _websiteDataStore but its
m_sessionID is 0 because we never called the constructor. This causes us to send a
NetworkProcess::DestroySession IPC with a sessionID that is 0, which is not valid so the
NetworkProcess crashes.
To address the issue, we now provide an implementation of [WKWebsiteDataStore init] which raises an
exception, behind a linked-on-after check. To keep the app working, [WKWebsiteDataStore init] returns
a new ephemeral data store until rebuilt with the new SDK.
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
Mark "new" as unavailable, otherwise [WKWebsiteDataStore new] builds.
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore init]):
Raise an exception with latest SDK, a new ephemeral data store otherwise.
- UIProcess/Cocoa/VersionChecks.h:
Add linked-on-after check.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::~WebsiteDataStore):
Add a release assertion to make sure that m_sessionID is always valid when the destructor is called.
- 10:18 AM Changeset in webkit [263569] by
-
- 4 edits in trunk/Tools
run-javascriptcore-tests: Support Apple Silicon running x86 processes
https://bugs.webkit.org/show_bug.cgi?id=213487
<rdar://problem/64606667>
Reviewed by Saam Barati.
- Scripts/run-javascriptcore-tests:
(configurationForUpload): Add --architecture flag.
(runTest): Run test suite with specific architecture.
(runJSCStressTests): Pass architecture to run-jsc-stress-tests.
- Scripts/run-jsc-stress-tests: Add --force-architecture flag.
- Scripts/webkitdirs.pm:
(determineNativeArchitecture): Add function to determine machine's native architecture.
(determineArchitecture): Leverage the nativeArchitecture instead of hard-coding simulator
architectures.
(architecturesForProducts): Determine the architectures supported by a given build.
(nativeArchitecture): Return nativeArchitecture.
- 10:16 AM Changeset in webkit [263568] by
-
- 3 edits in trunk/Source/WebKit
[WinCairo] Cannot build without resource load statistics
https://bugs.webkit.org/show_bug.cgi?id=213534
Reviewed by Don Olmstead.
Build fix for !ENABLE(RESOURCE_LOAD_STATISTICS)
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
- 10:00 AM Changeset in webkit [263567] by
-
- 4 edits2 adds in trunk
Add a test to verify that async clipboard API write access is granted when copying in subframes
https://bugs.webkit.org/show_bug.cgi?id=213581
Reviewed by Darin Adler.
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _executeCoreCommandByName:value:]):
Adjust the behavior of this SPI to trigger the editing command in the focused frame, rather than always the
mainframe. This matches the behavior ofWKBundlePageExecuteEditingCommand
, and is also consistent with
user-triggered editing commands.
LayoutTests:
Add a new test to verify that clipboard write access is granted when copying in a subframe.
- editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe-expected.txt: Added.
- editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: Added.
- platform/win/TestExpectations:
- 9:51 AM Changeset in webkit [263566] by
-
- 2 edits in trunk/LayoutTests
Change expectations to http/tests/webarchive/test-css-url-encoding-shift-jis.html and
http/tests/webarchive/test-css-url-encoding-utf-8.html and
http/tests/webarchive/test-css-url-encoding.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=82665
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-26
- platform/mac/TestExpectations:
- 9:49 AM Changeset in webkit [263565] by
-
- 4 edits2 adds in trunk
MediaRecorder.start() Method is Ignoring the "timeslice" Parameter
https://bugs.webkit.org/show_bug.cgi?id=202233
<rdar://problem/55720555>
Reviewed by Eric Carlson.
Source/WebCore:
Use a timer to implement timeSlice parameter.
Schedule timer either when start is called or as part of requestData callback.
This should ensure that, if requestData is called by the application, the timer will be rescheduled appropriately.
Test: http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::requestData):
- Modules/mediarecorder/MediaRecorder.h:
LayoutTests:
- http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt: Added.
- http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html: Added.
- 9:44 AM Changeset in webkit [263564] by
-
- 3 edits2 adds in trunk
ASSERTION FAILED: (it != m_map.end()) in TreeScopeOrderedMap::remove
https://bugs.webkit.org/show_bug.cgi?id=213611
<rdar://problem/64493506>
Reviewed by Geoffrey Garen.
Source/WebCore:
In function HTMLImageElement::parseAttribute(), empty name attribute is considered valid
which makes the function skip handling of subsequent name changes. Modified the check of
name attribute so only non-empty name is considered valid. This code change is to match
<https://trac.webkit.org/changeset/262360>.
Test: fast/images/img-change-name-assert.html
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
LayoutTests:
Added a regression test for the crash.
- fast/images/img-change-name-assert-expected.txt: Added.
- fast/images/img-change-name-assert.html: Added.
- 9:41 AM Changeset in webkit [263563] by
-
- 6 edits in trunk
Text manipulation should observe adjacent elements with new renderer together
https://bugs.webkit.org/show_bug.cgi?id=213333
Reviewed by Geoffrey Garen.
Source/WebCore:
TextManipulationController only keeps track of manipulated Elements. For other types of Node, like Text,
TextManipulationController does not mark them as manipulated and may manipulate it again. r263132 tried to solve
the problem by marking Element with only manipulated children as manipulated, but it did not iterate all
children of Element. So, if one Element has children in different paragraphs, it may fail to mark the Element
manipulated. See updated test.
To fix this issue completely, TextManipulationController now tracks all manipulated Nodes, so it can skip the
manipulated Nodes during observation.
For elements with new renderer, TextManipulationController observes them one by one. However, adjacent elements
can be in the same paragraph, if there is no delimiter in their text, and should be observed together. To solve
this problem, TextManipulationController now starts observing from the common ancestor of these elements. If a
Node in range is manipulated, split the paragrph there. This makes sure content in paragraph is not manipulated.
Relevant test is updated for this new behavior.
Tests: TextManipulation.StartTextManipulationFindNewlyDisplayedParagraph
TextManipulation.CompleteTextManipulationAvoidExtractingManipulatedTextAfterManipulation
- dom/Node.cpp:
(WebCore::Node::~Node):
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::observeParagraphs):
(WebCore::TextManipulationController::didCreateRendererForElement):
(WebCore::TextManipulationController::scheduleObservationUpdate):
(WebCore::TextManipulationController::updateInsertions):
(WebCore::TextManipulationController::replace):
(WebCore::TextManipulationController::removeNode):
(WebCore::makePositionTuple): Deleted.
(WebCore::makeHashablePositionRange): Deleted.
- editing/TextManipulationController.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- 9:38 AM Changeset in webkit [263562] by
-
- 3 edits in trunk/Source/WebCore
Clean up some PaintBehavior-related code in RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=213634
Reviewed by Sam Weinig.
Move the computation of paintBehavior into a lambda, and share the flags between
normal painting and mask painting.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayer.h:
- 9:31 AM Changeset in webkit [263561] by
-
- 3 edits in trunk/Tools
[Big Sur] Handle baseline search path
https://bugs.webkit.org/show_bug.cgi?id=213639
<rdar://problem/64789480>
Rubber-stamped by Aakash Jain.
- Scripts/webkitpy/port/mac.py:
(MacPort):
(MacPort.default_baseline_search_path): Break infinite loop for major version bump.
- Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_big_sur_baseline_search_path): Test Big Sur baseline search path.
- 8:58 AM Changeset in webkit [263560] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame.html and http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=160445
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-26
- platform/mac-wk2/TestExpectations:
- 8:12 AM Changeset in webkit [263559] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] REGRESSON: imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes.htm is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213645
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 8:05 AM Changeset in webkit [263558] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for http/tests/media/hls/video-cookie.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213644
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-26
- platform/mac/TestExpectations:
- 7:44 AM Changeset in webkit [263557] by
-
- 2 edits in trunk/Tools
generate-jsc-bundle should fail if passed an invalid remote-config-file parameter
https://bugs.webkit.org/show_bug.cgi?id=213615
Reviewed by Žan Doberšek.
Raise an exception if the parameter passed as remote-config-file is not a file.
- Scripts/generate-jsc-bundle:
(main):
- 6:36 AM Changeset in webkit [263556] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Initialize m_currentState and m_oldState
https://bugs.webkit.org/show_bug.cgi?id=213604
Reviewed by Eric Carlson.
MediaPlayerPrivateGStreamer was not initializing m_currentState and
m_oldState, causing them to be checked e.g. updateStates() while they
still contain garbage.
Because the biggest uninitialized usage is a != comparison, in
practice things still worked, but that's still a bug. I detected the
bug after seeing this in the logs:
playbin3SendSelectStreamsIfAppropriate:<media-player-0> Checking if to send SELECT_STREAMS, m_waitingForStreamsSelectedEvent = false, haveDifferentStreamIds = false, m_currentState = UNKNOWN!(-8421505)... shouldSendSelectStreams = false
This patch fixes a slight memory error which doesn't alter
TestExpectations.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- 2:38 AM Changeset in webkit [263555] by
-
- 2 edits in trunk/Tools
Add myself to contributors.json
Unreviewed.
- Scripts/webkitpy/common/config/contributors.json:
Jun 25, 2020:
- 10:48 PM Changeset in webkit [263554] by
-
- 3 edits1 add in trunk/LayoutTests
[GTK] Unreviewed test gardening. Update baselines after r263550.
- platform/gtk/editing/deleting/smart-delete-paragraph-005-expected.txt: Added.
- platform/gtk/fast/dynamic/window-resize-scrollbars-test-expected.png:
- platform/gtk/fast/dynamic/window-resize-scrollbars-test-expected.txt:
- 10:20 PM Changeset in webkit [263553] by
-
- 2 edits in trunk/Tools
[Big Sur] Regression tests fail to run due to failed assert: self._os_version.major == 10
https://bugs.webkit.org/show_bug.cgi?id=213639
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/port/mac.py:
(MacPort.init): Remove the assert since it is no longer valid.
- 10:03 PM Changeset in webkit [263552] by
-
- 4 edits1 delete in trunk
Unreviewed, reverting r263537.
https://bugs.webkit.org/show_bug.cgi?id=213640
Broke watchOS and tvOS builds
Reverted changeset:
"iOS Safari incorrectly reports "AppleCoreMedia" as UA string"
https://bugs.webkit.org/show_bug.cgi?id=213245
https://trac.webkit.org/changeset/263537
- 9:36 PM Changeset in webkit [263551] by
-
- 5 edits in trunk/Source/WebKit
WKHTTPCookieStore.setCookie should flush the cookies to disk before calling completion handler when we are using the UIProcess's default cookie storage
https://bugs.webkit.org/show_bug.cgi?id=213636
Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-25
Reviewed by Brady Eidson.
This fixes a race condition that many, many third party developers run into, causing them to not be logged in when they thought they did.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::saveCookies):
- UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::setCookies):
(API::HTTPCookieStore::registerForNewProcessPoolNotifications):
(API::HTTPCookieStore::flushDefaultUIProcessCookieStore):
- UIProcess/API/APIHTTPCookieStore.h:
- UIProcess/API/Cocoa/APIHTTPCookieStoreCocoa.mm:
(API::HTTPCookieStore::flushDefaultUIProcessCookieStore):
- 9:17 PM Changeset in webkit [263550] by
-
- 3 edits2 adds in trunk
[Inline] Overlapping content when margin-right is present
https://bugs.webkit.org/show_bug.cgi?id=213629
<rdar://problem/64391403>
Reviewed by Simon Fraser.
Source/WebCore:
- computeInlineDirectionPositionsForSegment loops through the Bidi runs and computes their logical widths.
- Text measuring needs the current logical left position in order to compute the run width properly (e.g tab size)
- The current logical left includes margins, boders and paddings (e.g <span style="margin: 100px;">text content</span> 'text content' starts at 100px -ignore the line offset for now)
- The BiDi loop jumps over empty inline containers (e.g. text<span style="border: 10px solid green"></span>content) and it lacks the information to be able to resolve nested inline containers.
This patch pre-computes the spacing offset for each InlineTextBox so that we could use it later to compute the logical left position for the text measuring.
<span style="margin-right: 1px">[1]<span style="margin: 2px">[2]</span>[3]</span>[4]
[1] -> 0px offset
[2] -> 2px offset
[3] -> 4px offset
[4] -> 5px offset
Test: fast/inline/incorrect-tab-position.html
- rendering/ComplexLineLayout.cpp:
(WebCore::ComplexLineLayout::computeInlineDirectionPositionsForSegment):
LayoutTests:
- fast/inline/incorrect-tab-position-expected.html: Added.
- fast/inline/incorrect-tab-position.html: Added.
- 7:47 PM Changeset in webkit [263549] by
-
- 2 edits in trunk/Source/WebKit
Upstream date/time picker style
https://bugs.webkit.org/show_bug.cgi?id=213630
Reviewed by Wenson Hsieh.
- UIProcess/ios/forms/WKDateTimeInputControl.mm:
(-[WKDateTimePicker datePickerStyle]):
- 6:03 PM Changeset in webkit [263548] by
-
- 6 edits in trunk
REGRESSION(r256166, r260596) WKNavigationAction.request.allHTTPHeaderFields needs to contain User-Agent and Accept
https://bugs.webkit.org/show_bug.cgi?id=213626
<rdar://problem/62374208>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-25
Reviewed by Darin Adler.
Source/WebCore:
Those two revisions seemed to just subtly move things around, but they caused API-breaking changes that caused real problems.
This effectively reverts the parts of those changes that caused the breakages.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::addExtraFieldsToRequest):
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::acceptHeaderValueFromType):
(WebCore::acceptHeaderValueFromType): Deleted.
- loader/cache/CachedResourceRequest.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
- 5:10 PM Changeset in webkit [263547] by
-
- 5 edits in trunk/Source/WebKit
Unreviewed, reverting r263545.
Patch will need refining
Reverted changeset:
"[iOS] Network process is crashing when launching TJMaxx app
due to invalid NetworkProcess::DestroySession IPC message"
https://bugs.webkit.org/show_bug.cgi?id=213625
https://trac.webkit.org/changeset/263545
- 4:50 PM Changeset in webkit [263546] by
-
- 3 edits in trunk/Source/JavaScriptCore
REGRESSION(r263035): stress/get-prototype-of.js broken on s390x
https://bugs.webkit.org/show_bug.cgi?id=213307
Reviewed by Ross Kirsling.
Structure::m_outOfLineTypeFlags is uint16_t. If we access this field as 32bit field, we have different value in big endian architectures.
Since we do not have half-size-load branch instructions, we should load this uint16_t value vialoadh
(which zero-extends the loaded value)
and perform branch onto that value.
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitLoadPrototype):
- llint/LowLevelInterpreter64.asm:
- 4:43 PM Changeset in webkit [263545] by
-
- 5 edits in trunk/Source/WebKit
[iOS] Network process is crashing when launching TJMaxx app due to invalid NetworkProcess::DestroySession IPC message
https://bugs.webkit.org/show_bug.cgi?id=213625
<rdar://problem/64737890>
Reviewed by Geoffrey Garen.
The app is calling [WKWebsiteDataStore init] despite the method being marked as unavailable in
WKWebsiteDataStore.h. As a result, they end up with a WKWebsiteDataStore object whose internal
_websiteDataStore is bad because its constructor was never called. When [WKWebsiteDataStore dealloc]
gets called later own, it calls the ~WebsiteDataStore() destructor for _websiteDataStore but its
m_sessionID is 0 because we never called the constructor. This causes us to send a
NetworkProcess::DestroySession IPC with a sessionID that is 0, which is not valid so the
NetworkProcess crashes.
To address the issue, we now provide an implementation of [WKWebsiteDataStore init] which returns nil
behind a linked-on-after check (since this crashes the app). To keep the app working,
[WKWebsiteDataStore init] returns the default data store until rebuilt with the new SDK. Note that
I tried returning a new ephemeral data store instead but this was getting the app in a bad state.
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
Mark "new" as unavailable, otherwise [WKWebsiteDataStore new] builds.
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore init]):
Return nil with latest SDK, the default data store otherwise.
- UIProcess/Cocoa/VersionChecks.h:
Add linked-on-after check.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::~WebsiteDataStore):
Add a release assertion to make sure that m_sessionID is always valid when the destructor is called.
- 4:30 PM Changeset in webkit [263544] by
-
- 6 edits in trunk/Source/WebCore
Convert the PaintLayerFlag enum to an enum class
https://bugs.webkit.org/show_bug.cgi?id=213624
Reviewed by Zalan Bujtas.
Convert enum PaintLayerFlag to an enum class.
- html/shadow/MediaControlTextTrackContainerElement.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintOverlayScrollbars):
(WebCore::paintForFixedRootBackground):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerWithEffects):
(WebCore::RenderLayer::paintLayerContentsAndReflection):
(WebCore::RenderLayer::filtersForPainting const):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayer.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintFlagsForLayer const):
- rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint):
- 4:27 PM Changeset in webkit [263543] by
-
- 4 edits in branches/safari-610.1.18-branch/Source/WebKit
Cherry-pick r263525. rdar://problem/64778764
Allow service workers for web browsers
https://bugs.webkit.org/show_bug.cgi?id=213573
<rdar://problem/64712630>
Reviewed by Brent Fulgham.
Allows applications with the full web-browser entitlement to use
service workers.
- NetworkProcess/ios/NetworkProcessIOS.mm: (WebKit::NetworkProcess::parentProcessHasServiceWorkerEntitlement const):
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _setupPageConfiguration:]):
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:27 PM Changeset in webkit [263542] by
-
- 4 edits in branches/safari-610.1.18-branch/Source/WTF
Cherry-pick r263524. rdar://problem/64778728
WTF::callOnMainThread should not require the main runloop to be initialized
https://bugs.webkit.org/show_bug.cgi?id=213612
<rdar://problem/64446028>
Reviewed by Yusuke Suzuki.
When using JavaScriptCore as a framework, the WTF main runloop is never initialized. However,
the inspector uses CFString wrappers, which usecallOnMainThread
when deallocating the
underlying string. For now, we bring back the oldJSWTFMainThreadCaller
to ensure we have
a way of dispatching to the main thread, even when the main runloop hasn't been initialized.
- wtf/RunLoop.cpp: (WTF::RunLoop::mainIfExists):
- wtf/RunLoop.h:
- wtf/cocoa/MainThreadCocoa.mm: (-[JSWTFMainThreadCaller call]): (WTF::initializeMainThreadPlatform): (WTF::scheduleDispatchFunctionsOnMainThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:27 PM Changeset in webkit [263541] by
-
- 2 edits in branches/safari-610.1.18-branch/Source/WebCore
Cherry-pick r263521. rdar://problem/64778782
App-bound domain service worker registrations should be limited
https://bugs.webkit.org/show_bug.cgi?id=213601
<rdar://problem/64717589>
Reviewed by Brent Fulgham.
Limit number of service worker registrations for app-bound domains.
The current proposal is 3, but this could be changed in the future.
No new tests, currently TestWebKitAPI is unable to test failed
service worker registration (test will timeout). Confirmed behavior
manually.
- workers/service/server/SWServer.cpp: (WebCore::SWServer::validateRegistrationDomain):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:22 PM Changeset in webkit [263540] by
-
- 8 edits in branches/safari-610.1.18-branch/Source
Versioning.
WebKit-610.1.18.2
- 3:44 PM Changeset in webkit [263539] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for http/tests/cookies/third-party-cookie-relaxing.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213620
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-25
- platform/mac/TestExpectations:
- 3:41 PM Changeset in webkit [263538] by
-
- 3 edits4 adds in trunk
[iOS] Event region briefly missing editable element after typing second character in question field on discussions.apple.com
https://bugs.webkit.org/show_bug.cgi?id=213618
<rdar://problem/62656131>
Reviewed by Simon Fraser.
Source/WebCore:
Ensure the event region is updated for the foreground layer, if there is one. The foreground layer paints
into a different backing and so will not be included in normal layer paint (i.e. RenderLayer::paintLayer()
will bail out). A "z-index: -1" can create such a layer. An element with "z-index: -1" is above the
background, but below other content. Although the original reported bug was only concerned about the
editable region the fix is applicable to all regions tracked by EventRegion. I included a test for touch-action
region too.
Tests: editing/editable-region/text-field-inside-composited-negative-z-index-layer.html
pointerevents/ios/touch-action-none-relative-inside-composited-negative-z-index-layer.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateEventRegion):
LayoutTests:
Add some tests.
- editing/editable-region/text-field-inside-composited-negative-z-index-layer-expected.txt: Added.
- editing/editable-region/text-field-inside-composited-negative-z-index-layer.html: Added.
- pointerevents/ios/touch-action-none-relative-inside-composited-negative-z-index-layer-expected.txt: Added.
- pointerevents/ios/touch-action-none-relative-inside-composited-negative-z-index-layer.html: Added.
- 3:39 PM Changeset in webkit [263537] by
-
- 4 edits1 add in trunk
iOS Safari incorrectly reports "AppleCoreMedia" as UA string
https://bugs.webkit.org/show_bug.cgi?id=213245
<rdar://problem/64471582>
Reviewed by Youenn Fablet.
Source/WebCore:
Tests: TestWebKitAPI.MediaLoading.UserAgentStringCRABS
TestWebKitAPI.MediaLoading.UserAgentStringHLS
- platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSessionDataTask initWithSession:identifier:request:]):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm: Added.
(TestWebKitAPI::parseUserAgent):
(TestWebKitAPI::TEST):
- 3:39 PM Changeset in webkit [263536] by
-
- 2 edits in branches/safari-609.3.5.1-branch/Source/WebCore
Revert r263522. rdar://problem/64763027
- 3:25 PM Changeset in webkit [263535] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed. Fixing misspellings of 'position'.
- editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::smartDeleteParagraphSpacers):
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
- rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):
- 3:15 PM Changeset in webkit [263534] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 Debug ] imported/w3c/web-platform-tests/webrtc/RTCRtpReceiver-getContributingSources.https.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=213621
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:12 PM Changeset in webkit [263533] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r260800): Null Ptr Deref READ @ WTF::Optional<WTF::Seconds>::clear
https://bugs.webkit.org/show_bug.cgi?id=213543
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-06-25
Reviewed by Darin Adler.
Make the test asynchronous since it involves a rAF callback.
- fast/rendering/iframe-window-animation-modifies-iframe-srcdoc-crash.html:
- 3:11 PM Changeset in webkit [263532] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for fast/writing-mode/english-bt-text-with-spelling-marker.html and fast/writing-mode/english-rl-text-with-spelling-marker.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213619
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-25
- platform/mac-wk2/TestExpectations:
- 3:03 PM Changeset in webkit [263531] by
-
- 8 edits in trunk
[iOS] -_requestTextInputContextsInRect cannot find empty Quip spreadsheet title
https://bugs.webkit.org/show_bug.cgi?id=213564
<rdar://problem/59355847>
Reviewed by Simon Fraser.
Source/WebCore:
Special case for a focused editable inline element that has no line box, which is
what the Quip spreadsheet title can become if its contents are deleted. The engine
optimizes to avoid creating lines and line boxes for empty inlines, hit testing,
and painting them. It's complicated to patch all this up with a 100% correct
solution without forcing more line box creation. So, just add a special case.
- page/Page.cpp:
(WebCore::Page::editableElementsInRect const): Add the root editable element of
the focused element to the result set if its rect intersects the search rect. Note
that its rect can be empty e.g. <span contenteditable="true"></span>. So, I use
a new function on FloatRect to perform the intersection test. I also updated the
ASSERT() to also use this new function. This was not necessary, but I did it to
future the proof this code should hit testing one day return empty inlines.
- platform/graphics/FloatRect.cpp:
(WebCore::FloatRect::inclusivelyIntersects const): Added.
(WebCore::FloatRect::intersects const): While I was in this file I fixed up a comment
in this function to be more precise.
- platform/graphics/FloatRect.h:
Source/WebKit:
Check if the search rect intersects the interaction rect, even if it's empty, so long as
there is an assisted element. If there isn't an assisted element just do what we do now.
Otherwise, if the interaction rect is empty then this means the focused element is an
empty inline and it's not tracked in the editable region (see WebCore ChangeLog entry for
more details). In this case, just ask the web process directly to find the contexts.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _requestTextInputContextsInRect:completionHandler:]):
Tools:
Add some tests.
- TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
- 2:19 PM Changeset in webkit [263530] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix the macOS 11 build after r263519
- rendering/RenderThemeMac.mm:
(WebCore::createAttachmentPlaceholderImage):
- 2:13 PM Changeset in webkit [263529] by
-
- 7 edits2 adds in trunk
Add a new templated string type to help write more idiomatic parsing code
https://bugs.webkit.org/show_bug.cgi?id=213588
Reviewed by Darin Adler.
Source/WTF:
Introduce StringParsingBuffer<CharType>, a new class in the String class family
designed to be used by parsing code. It's designed to be used with the helper
function, readCharactersForParsing, and for the user to write the parsing code
in a way that will work for both latin1 and UTF-16 inputs. Most usage will likely
follow something like the following form
{
...
auto parsedResult = readCharactersForParsing(stringishObjectToParse, [](auto parsingBuffer) {
while (parsingBuffer.hasCharactersRemaining()) {
if (*parsingBuffer == foo) {
...
}
}
...
return parsedResult
});
...
}
API tests added.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
Add StringParsingBuffer.h
- wtf/Forward.h:
Forward declare StringParsingBuffer.
- wtf/text/StringParsingBuffer.h:
Added.
Tools:
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/StringParsingBuffer.cpp: Added.
(TestWebKitAPI::TEST):
Added new tests for new class.
- 1:57 PM Changeset in webkit [263528] by
-
- 3 edits4 adds in trunk
Cannot delete last line of Mail Message
https://bugs.webkit.org/show_bug.cgi?id=213536
<rdar://problem/63420928>
Reviewed by Wenson Hsieh.
Source/WebCore:
LayoutTests/editing/deleting/smart-delete-paragraph-005.html
The smart paragraph deletion code did not take into account that
the previous blank line could be the start of editable content without
a paragraph before it. If this was the case, the deletion code backed up
too far, and the delete command failed. This case should be handled
in the same way that the deleting the last paragraph in editable content is
handled, by checking if we are already at the beginning of the editable
content when expanding the selection for smart paragraph deletion.
- editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::smartDeleteParagraphSpacers):
LayoutTests:
- editing/deleting/smart-delete-paragraph-005.html:
- 1:37 PM Changeset in webkit [263527] by
-
- 13 edits2 adds in trunk
Text manipulation should exclude text rendered using icon-only fonts
https://bugs.webkit.org/show_bug.cgi?id=213446
<rdar://problem/63734298>
Reviewed by Myles Maxfield.
Source/WebCore:
See below for more details.
Test: TextManipulation.StartTextManipulationExcludesTextRenderedAsIcons
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::shouldExcludeNodeBasedOnStyle):
(WebCore::TextManipulationController::parse):
Augment token exclusion rules so that we're able to exclude certain text nodes from text manipulation, based on
their style (more specifically, based on their font family). Ask the text node's primary font if it is likely to
be used only for rendering icons, and cache the result in TextManipulationController to avoid running the
heuristic an excessive number of times for each font that appears in the document. We currently only run this
for the node's primary font when initiating translation, though we may want to change this in the future so that
node exclusion is recomputed when the primary font of a node changes.
Note that in the case where an icon font fails to load, we won't exclude the text node from translation,
since the primary font will be a fallback. This is intentional, since the node would appear in the document as
normally rendered text (rather than icons), which should be translated.
- editing/TextManipulationController.h:
- platform/graphics/Font.cpp:
(WebCore::Font::isProbablyOnlyUsedToRenderIcons const):
- platform/graphics/Font.h:
- platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::familyName const):
- platform/graphics/FontPlatformData.h:
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::isProbablyOnlyUsedToRenderIcons const):
Add a heuristic to detect whether a platform font should be excluded from text manipulation. For now, we only
return true if we suspect that this font is an "icon-only" font (for instance, the "Material Icons" font). We
guess that a font is *probably* an icon-only font if the font supports only characters from the basic or PUA
unicode planes, and the glyph bounds for the set of supported non-control basic latin characters are all empty.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::familyName const):
Add a platform
familyName()
helper method onFontPlatformData
. On Cocoa platforms, this wraps a call to
CTFontCopyFamilyName
.
Tools:
Add a new API test.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/Ahem.ttf: Added.
- TestWebKitAPI/Tests/WebKitCocoa/SpaceOnly.otf: Added.
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- 1:28 PM Changeset in webkit [263526] by
-
- 1 copy in tags/Safari-609.3.5.0.2
Tag Safari-609.3.5.0.2.
- 1:04 PM Changeset in webkit [263525] by
-
- 4 edits in trunk/Source/WebKit
Allow service workers for web browsers
https://bugs.webkit.org/show_bug.cgi?id=213573
<rdar://problem/64712630>
Reviewed by Brent Fulgham.
Allows applications with the full web-browser entitlement to use
service workers.
- NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::parentProcessHasServiceWorkerEntitlement const):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setupPageConfiguration:]):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const):
- 12:38 PM Changeset in webkit [263524] by
-
- 4 edits in trunk/Source/WTF
WTF::callOnMainThread should not require the main runloop to be initialized
https://bugs.webkit.org/show_bug.cgi?id=213612
<rdar://problem/64446028>
Reviewed by Yusuke Suzuki.
When using JavaScriptCore as a framework, the WTF main runloop is never initialized. However,
the inspector uses CFString wrappers, which usecallOnMainThread
when deallocating the
underlying string. For now, we bring back the oldJSWTFMainThreadCaller
to ensure we have
a way of dispatching to the main thread, even when the main runloop hasn't been initialized.
- wtf/RunLoop.cpp:
(WTF::RunLoop::mainIfExists):
- wtf/RunLoop.h:
- wtf/cocoa/MainThreadCocoa.mm:
(-[JSWTFMainThreadCaller call]):
(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):
- 12:32 PM Changeset in webkit [263523] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSCell constructor needs to ensure that the passed in structure is still alive.
https://bugs.webkit.org/show_bug.cgi?id=213593
<rdar://problem/64597573>
Reviewed by Yusuke Suzuki.
Note that in the initializer list of the
JSCell(VM&, Structure*)
constructor,
we are only using values inside the passed in structure but not necessarily the
structure pointer itself. All these values are contained inside Structure::m_blob.
Note also that this constructor is an inline function. Hence, the compiler may
choose to pre-compute the address of structure->m_blob and discard the structure
pointer itself.
Here's an example:
0x10317a21e <+1054>: movq 0x18(%rsp), %rdx rdx:vm = &vm
0x10317a223 <+1059>: addq $0x8, %r13 r13 = &structure.m_blob <== pre-compute address of m_blob !!!
r13 previously contained the structure pointer.
Now, there's no more references to the structure base address.
0x10317a227 <+1063>: leaq 0x48(%rdx), %rdi arg0:heap = &vm.heap
0x10317a22b <+1067>: movl $0x10, %edx arg2:size = 16.
0x10317a230 <+1072>: movq %rdi, 0x28(%rsp)
0x10317a235 <+1077>: xorl %esi, %esi arg1:deferralContext = 0
0x10317a237 <+1079>: callq 0x10317ae60 call JSC::allocateCell<JSC::JSArray> <== Can GC here !!!
0x10317a23c <+1084>: movq %rax, %rbx rbx:cell = rax:allocation result.
...
0x10317a253 <+1107>: movl (%r13), %eax eax = m_blob.structureID <== Use pre-computed m_blob address here.
There's a chance that the GC may run while allocating this cell. In the event
that the structure is newly instantiated just before calling this constructor,
there may not be any other references to it. As a result, the structure may get
collected before the cell is even constructed. To avoid this possibility, we need
to ensure that the structure pointer is still alive by the time this constructor
is called.
I am not committing any tests for this issue because the test cases relies on:
- Manually forcing an O3 ASan Release build.
- Not running jsc with --useDollarVM=1. Note: the JSC test harness automatically adds --useDollarVM=1 for all test runs.
- Memory being allocated in a specific order. The recent Bitmap FreeList change enabled this issue to manifest. The old linked list FreeList implementation would have hidden the issue.
- Adding some logging code can also make the issue stop manifesting.
In short, the test cases will not detect any regression even if we commit them
because the existing automatic regression test runs will not have the necessary
conditions for reproducing the issue. The tests are also somewhat fragile where
any changes in memory layout may stop the issue from manifesting in an observable
way.
- runtime/JSCellInlines.h:
(JSC::JSCell::JSCell):
- 11:21 AM Changeset in webkit [263522] by
-
- 2 edits in branches/safari-609.3.5.1-branch/Source/WebCore
Apply patch. rdar://problem/64763027
- 11:16 AM Changeset in webkit [263521] by
-
- 2 edits in trunk/Source/WebCore
App-bound domain service worker registrations should be limited
https://bugs.webkit.org/show_bug.cgi?id=213601
<rdar://problem/64717589>
Reviewed by Brent Fulgham.
Limit number of service worker registrations for app-bound domains.
The current proposal is 3, but this could be changed in the future.
No new tests, currently TestWebKitAPI is unable to test failed
service worker registration (test will timeout). Confirmed behavior
manually.
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::validateRegistrationDomain):
- 11:01 AM Changeset in webkit [263520] by
-
- 8 edits in branches/safari-609.3.5.1-branch/Source
Versioning.
WebKit-609.3.5.1.4
- 10:39 AM Changeset in webkit [263519] by
-
- 5 edits in trunk/Source/WebCore
Upstream macOS 11 additions to RenderThemeMac.mm and ThemeMac.mm
https://bugs.webkit.org/show_bug.cgi?id=213608
<rdar://problem/64758299>
Reviewed by Darin Adler.
Replace WebKitAdditions imports with the imported code. No change in behavior.
- css/html.css:
(input::-webkit-contacts-auto-fill-button):
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::supportsLargeFormControls):
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::createAttachmentPlaceholderImage):
(WebCore::RenderThemeMac::extraDefaultStyleSheet): Deleted.
Remove the override for extraDefaultStyleSheet altogether, since this was only used to temporarily hide the new
contact AutoFill button appearance from open source WebKit.
- 10:37 AM Changeset in webkit [263518] by
-
- 2 edits in trunk/Tools
[ews] Share more bots between EWS builder and testers
https://bugs.webkit.org/show_bug.cgi?id=213521
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/config.json:
- 10:16 AM Changeset in webkit [263517] by
-
- 1 edit in trunk/LayoutTests/ChangeLog
Unreviewed, fix a ChangeLog typo that was checked in with r263515.
- 10:09 AM Changeset in webkit [263516] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix for WebXR enabled non-OpenXR builds.
- platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::Instance::Impl::enumerateApiLayerProperties const): Guard method with USE_OPENXR.
(PlatformXR::Instance::Impl::enumerateInstanceExtensionProperties const): Ditto.
(PlatformXR::Instance::Impl::Impl): Guard method body with USE_OPENXR.
(PlatformXR::Instance::Impl::~Impl): Ditto.
- 9:59 AM Changeset in webkit [263515] by
-
- 2 edits in trunk/LayoutTests
:wq2020-06-25 Karl Rackler <Karl Rackler>
Remove expectation for fast/dynamic/window-resize-scrollbars-test.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213602
Unreviewed test gardening.
- platform/wk2/TestExpectations:
- 9:55 AM Changeset in webkit [263514] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed iOS build fix after r263511.
- platform/mediastream/MediaStreamPrivate.h:
- 9:47 AM Changeset in webkit [263513] by
-
- 2 edits in trunk/Tools
[ews] Improve handling of invalid changelog
https://bugs.webkit.org/show_bug.cgi?id=213609
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/tool/steps/validatereviewer.py:
(ValidateReviewer.run):
- 9:43 AM Changeset in webkit [263512] by
-
- 2 edits in trunk/LayoutTests
Narrow expectation for fast/inline/break-between-nobr.html as it is passing for Catalina.
https://bugs.webkit.org/show_bug.cgi?id=213607
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-25
- platform/mac/TestExpectations:
- 8:58 AM Changeset in webkit [263511] by
-
- 14 edits2 adds in trunk
MediaRecorder stopRecorder() returns empty Blob after first use
https://bugs.webkit.org/show_bug.cgi?id=212274
<rdar://problem/63601298>
Reviewed by Eric Carlson.
Source/WebCore:
Refactor code to create/destroy MediaRecorderPrivate on MediaRecorder start/stop.
This allows reusing a MediaRecorder after a stop and restarting with a clean state.
We introduce MediaRecorderPrivate::startRecording to do the initialization,
which allows to fix a potential ref cycle as part of the error callback handling.
Make some improvements to the platform implementation, in particular add default initialization to all fields.
Align the code using AudioConverterRef to what is done in AudioSampleDataSource.
Also call VTCompressionSessionInvalidate when destroying the VideoSampleBufferCompressor.
Test: http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::requestData):
- Modules/mediarecorder/MediaRecorder.h:
- platform/mediarecorder/MediaRecorderPrivate.h:
(WebCore::MediaRecorderPrivate::startRecording):
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:
(WebCore::AudioSampleBufferCompressor::~AudioSampleBufferCompressor):
(WebCore::AudioSampleBufferCompressor::initAudioConverterForSourceFormatDescription):
(WebCore::AudioSampleBufferCompressor::attachPrimingTrimsIfNeeded):
(WebCore::AudioSampleBufferCompressor::gradualDecoderRefreshCount):
(WebCore::AudioSampleBufferCompressor::sampleBufferWithNumPackets):
(WebCore::AudioSampleBufferCompressor::processSampleBuffersUntilLowWaterTime):
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::stopRecording):
- platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:
(WebCore::VideoSampleBufferCompressor::~VideoSampleBufferCompressor):
Source/WebKit:
Update implementation to do initialization as part of startRecording.
- GPUProcess/webrtc/RemoteMediaRecorderManager.cpp:
(WebKit::RemoteMediaRecorderManager::releaseRecorder):
Remove ASSERT as recorder creation in WebProcess is always ok while creation in GPUProcess may fail and m_recorders may not be populated.
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::startRecording):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
LayoutTests:
- http/wpt/mediarecorder/MediaRecorder-multiple-start-stop-expected.txt: Added.
- http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html: Added.
- 8:40 AM Changeset in webkit [263510] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for fast/history/page-cache-indexed-closed-db.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213606
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-25
- 8:19 AM Changeset in webkit [263509] by
-
- 4 edits2 adds in trunk
[LFC][TFC] Use the flexing value as the base for the available horizontal space distribution
https://bugs.webkit.org/show_bug.cgi?id=213599
Reviewed by Antti Koivisto.
Source/WebCore:
Test: fast/layoutformattingcontext/table-min-max-flex-distribution-simple.html
- layout/tableformatting/TableLayout.cpp:
(WebCore::Layout::TableFormattingContext::TableLayout::distributedHorizontalSpace):
LayoutTests:
- fast/layoutformattingcontext/table-fixed-width-with-max-distribution.html:
- fast/layoutformattingcontext/table-min-max-flex-distribution-simple-expected.html: Added.
- fast/layoutformattingcontext/table-min-max-flex-distribution-simple.html: Added.
- 8:03 AM Changeset in webkit [263508] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for fast/canvas/canvas-blending-fill-style.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213598
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-25
- platform/mac/TestExpectations:
- 7:27 AM Changeset in webkit [263507] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: (r262432): [ iOS wk2 ] imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-no-freshness-headers.https.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=212696
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 6:42 AM Changeset in webkit [263506] by
-
- 4 edits2 adds in trunk
REGRESSION (r260360): easing curves are broken on JS-originated animations
https://bugs.webkit.org/show_bug.cgi?id=213495
<rdar://problem/64649747>
Reviewed by Darin Adler.
Source/WebCore:
Prior to Web Animations, there was no way for an animation to set an animation-wide timing function while
also setting a per-keyframe timing function. As such GraphicsLayerCA would sometimes decide to set the
timing function on keyframes or on the entire CAAnimation. However, we can no longer do this with Web
Animations where an animation can set an animation-wide timing function and also keyframe-specific
timing functions.
In this patch we create CAKeyframeAnimation objects for any animation that has at least two keyframes
if Web Animations are enabled, whereas the legacy code path requires at least three keyframes. We allow
PlatformCAAnimation::setTimingFunction() to be called in the Web Animations code path only under
GraphicsLayerCA::setupAnimation() while leaving the only call sites in place only for the legacy code
path.
Finally, we modify GraphicsLayerCA::timingFunctionForAnimationValue() to only ever return a keyframe-
specific timing function or fall back to a default linear timing function in the Web Animations code
path, leaving the function to behave the same way as it used to in the legacy code path.
Test: webanimations/accelerated-animation-with-easing.html
- platform/animation/TimingFunction.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::isKeyframe):
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
LayoutTests:
Add a new test that checks that various ways of setting the easing timing function on a JS-originated
animation always yield the same visible animation behavior.
- webanimations/accelerated-animation-with-easing-expected.html: Added.
- webanimations/accelerated-animation-with-easing.html: Added.
- 6:09 AM Changeset in webkit [263505] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, WPE Debug build fix after r263503.
- platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::OpenXRDevice::OpenXRDevice): Use m_instance instead of m_impl->xrInstance().
- 6:02 AM Changeset in webkit [263504] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Don't invalidate MainThreadNotifier until the streaming threads are joined
https://bugs.webkit.org/show_bug.cgi?id=213197
Reviewed by Xabier Rodriguez-Calvar.
~MediaPlayerPrivateGStreamer() used to call m_notifier->invalidate()
before setting the pipeline to NULL state. This caused a race where
the streaming threads could post a task to the MainThreadNotifier
between these two events and cause a crash in
ASSERT(m_isValid.load()) -- that is, the notifier was used while
invalidated.
Fixing this is actually easy. ~MediaPlayerPrivateGStreamer() is always
run from the main thread, so no MainThreadNotifier tasks will be run
before the destructor is complete. By moving the
m_notifier->invalidate() call to after the pipeline has been set to
NULL (and therefore all streaming threads torn down) we are ensuring
no more taks will be posted, and since the MainThreadNotifier is
invalidated by that point, already posted tasks will not be run.
The race fixed by this patch is rare and wide-arching, so this patch
doesn't introduce TestExpectations changes, but it should avoid
further crashes like the ones reported in the Bugzilla issue attached.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
- 3:49 AM Changeset in webkit [263503] by
-
- 6 edits in trunk/Source/WebCore
[WebXR] Check device orientation support when requesting a reference space
https://bugs.webkit.org/show_bug.cgi?id=213519
Reviewed by Carlos Garcia Campos.
When requesting a local reference space the specs mandate us to check whether or not the device
supports orientation tracking. This was not implemented in the OpenXR backend, so we were unconditionally
returning true.
The OpenXR devices now properly check whether or not orientation tracking is initialized. We took the chance
to refactor a bit the OpenXR backend moving all the device initialization code to the OpenXRDevice class.
The current tests already check this functionality.
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::referenceSpaceIsSupported const): Call supportsOrientationTracking() on device.
- platform/xr/PlatformXR.h:
(PlatformXR::Device::supportsOrientationTracking const): Added.
- platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::Instance::enumerateImmersiveXRDevices): Just create the OpenXR device, it will automatically
initialize itself.
(PlatformXR::OpenXRDevice::OpenXRDevice): Get XrSystem and XrInstance as parametters.
(PlatformXR::OpenXRDevice::collectSupportedSessionModes): Moved from Instance::Impl.
(PlatformXR::Instance::Impl::collectSupportedSessionModes): Deleted.
- platform/xr/openxr/PlatformXROpenXR.h:
- testing/WebFakeXRDevice.h: Mark the SimulatedXRDevice as supporting orientation tracking.
- 3:16 AM Changeset in webkit [263502] by
-
- 3 edits in trunk/LayoutTests
Make video-inside-flex-item.html more robust
https://bugs.webkit.org/show_bug.cgi?id=213549
Reviewed by Simon Fraser.
The tests initially landed in r263389 and was later modified in r263436 because it was flaky
in some configurations. The latter fixed most of the flakiness but in the debug bots which
were consistently showing test failures. The problem was that the slowness of debug bots
was causing different layout behaviours and thus retrieving different measurements.
Fix the flackiness by adding an additional layer of robustness. The test now waits for the "loadeddata"
video event before entering into fullscreen mode. Video is properly sized now and we can
bring exact size comparisons back.
- fullscreen/video-inside-flex-item-expected.txt:
- fullscreen/video-inside-flex-item.html:
- 2:53 AM Changeset in webkit [263501] by
-
- 2 edits in trunk
[GTK] Enable WEB_API_STATISTICS
https://bugs.webkit.org/show_bug.cgi?id=213592
Reviewed by Carlos Garcia Campos.
- Source/cmake/OptionsGTK.cmake:
Jun 24, 2020:
- 10:12 PM Changeset in webkit [263500] by
-
- 4 edits in trunk/Source
Upstream iPadOS 13.0 multi-window support
https://bugs.webkit.org/show_bug.cgi?id=213590
Reviewed by Alexey Proskuryakov.
Source/WebCore:
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::doSetup): Always construct a UIWindow
using the expected UIWindowScene.
(makeWindowFromView): Deleted.
Source/WebKit:
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController enterFullScreen]): Always construct a
UIWindow using the expected UIWindowScene.
(makeWindowFromView): Deleted.
- 9:42 PM Changeset in webkit [263499] by
-
- 6 edits2 adds in trunk
Running spellcheck on https://developer.apple.com/forums/thread/650317 hangs the web process
https://bugs.webkit.org/show_bug.cgi?id=213585
<rdar://problem/64681632>
Reviewed by Simon Fraser.
Source/WebCore:
In
TextCheckingHelper::findFirstMisspellingOrBadGrammar
, we attempt to find the first misspelled piece of text
by iterating over the current paragraph range; when we exhaust the current paragraph range, we try to move on to
the next paragraph range by setting the current paragraph range to the start and end of the next paragraph,
usingstartOfNextParagraph
.
However,
startOfNextParagraph
may return the null position in some cases (as seen in this bug, and the
associated layout test). This logic isn't robust against this possibility, and will end up looping infinitely in
the while loop, sincesetStart
andsetEnd
are no-ops when given a null position, and so the current
paragraph remains the same.
Make this logic for finding the next misspelled word more robust by allowing us to bail out of the while loop in
the case where setStart or setEnd failed to advance the paragraph range (e.g. due to a null position, or DOM
exception).
Test: editing/mac/spelling/advance-to-next-misspelling.html
- editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
- testing/Internals.cpp:
(WebCore::Internals::advanceToNextMisspelling):
Add an internal testing hook to advance to the next misspelling.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Add a test that attempts to advance to the next misspelling, and verifies that the misspelled word is selected.
- editing/mac/spelling/advance-to-next-misspelling-expected.txt: Added.
- editing/mac/spelling/advance-to-next-misspelling.html: Added.
- 9:25 PM Changeset in webkit [263498] by
-
- 28 edits1 copy in trunk/Source
Use ObjectIdentifier<>instead of WebCore::nextPlaybackTargetClientContextId() in Document.cpp
<https://webkit.org/b/213546>
<rdar://problem/61803576>
Reviewed by Youenn Fablet.
Switch from uint64_t to WebCore::PlaybackTargetClientContextIdentifier
for contextId values.
Source/WebCore:
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- Add PlaybackTargetClientContextIdentifier.h to the project.
- Modules/mediasession/PlaybackTargetClientContextIdentifier.h: Add.
- Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::ClientState::ClientState):
(WebCore::WebMediaSessionLogger::logAlways const):
(WebCore::WebMediaSessionManager::addPlaybackTargetPickerClient):
(WebCore::WebMediaSessionManager::removePlaybackTargetPickerClient):
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker):
(WebCore::WebMediaSessionManager::clientStateDidChange):
(WebCore::WebMediaSessionManager::find):
- Modules/mediasession/WebMediaSessionManager.h:
- Modules/mediasession/WebMediaSessionManagerClient.h:
- dom/Document.cpp:
(WebCore::Document::addPlaybackTargetPickerClient):
(WebCore::Document::removePlaybackTargetPickerClient):
(WebCore::Document::playbackTargetAvailabilityDidChange):
(WebCore::Document::setPlaybackTarget):
(WebCore::Document::setShouldPlayToPlaybackTarget):
(WebCore::Document::playbackTargetPickerWasDismissed):
(WebCore::nextPlaybackTargetClientContextId): Delete.
- Replace with PlaybackTargetClientContextIdentifier::generate().
- dom/Document.h:
- page/ChromeClient.h:
(WebCore::ChromeClient::addPlaybackTargetPickerClient):
(WebCore::ChromeClient::removePlaybackTargetPickerClient):
(WebCore::ChromeClient::showPlaybackTargetPicker):
(WebCore::ChromeClient::playbackTargetPickerClientStateDidChange):
- page/Page.cpp:
(WebCore::Page::addPlaybackTargetPickerClient):
(WebCore::Page::removePlaybackTargetPickerClient):
(WebCore::Page::showPlaybackTargetPicker):
(WebCore::Page::playbackTargetPickerClientStateDidChange):
(WebCore::Page::setPlaybackTarget):
(WebCore::Page::playbackTargetAvailabilityDidChange):
(WebCore::Page::setShouldPlayToPlaybackTarget):
(WebCore::Page::playbackTargetPickerWasDismissed):
- page/Page.h:
Source/WebKit:
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
- Add WebCore::PlaybackTargetClientContextIdentifier to list.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::addPlaybackTargetPickerClient):
(WebKit::WebPageProxy::removePlaybackTargetPickerClient):
(WebKit::WebPageProxy::showPlaybackTargetPicker):
(WebKit::WebPageProxy::playbackTargetPickerClientStateDidChange):
(WebKit::WebPageProxy::setPlaybackTarget):
(WebKit::WebPageProxy::externalOutputDeviceAvailableDidChange):
(WebKit::WebPageProxy::setShouldPlayToPlaybackTarget):
(WebKit::WebPageProxy::playbackTargetPickerWasDismissed):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::addPlaybackTargetPickerClient):
(WebKit::WebChromeClient::removePlaybackTargetPickerClient):
(WebKit::WebChromeClient::showPlaybackTargetPicker):
(WebKit::WebChromeClient::playbackTargetPickerClientStateDidChange):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::playbackTargetSelected const):
(WebKit::WebPage::playbackTargetAvailabilityDidChange):
(WebKit::WebPage::setShouldPlayToPlaybackTarget):
(WebKit::WebPage::playbackTargetPickerWasDismissed):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::addPlaybackTargetPickerClient):
(WebChromeClient::removePlaybackTargetPickerClient):
(WebChromeClient::showPlaybackTargetPicker):
(WebChromeClient::playbackTargetPickerClientStateDidChange):
- WebView/WebMediaPlaybackTargetPicker.h:
- WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::addPlaybackTargetPickerClient):
(WebMediaPlaybackTargetPicker::removePlaybackTargetPickerClient):
(WebMediaPlaybackTargetPicker::showPlaybackTargetPicker):
(WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange):
(WebMediaPlaybackTargetPicker::setPlaybackTarget):
(WebMediaPlaybackTargetPicker::externalOutputDeviceAvailableDidChange):
(WebMediaPlaybackTargetPicker::setShouldPlayToPlaybackTarget):
(WebMediaPlaybackTargetPicker::playbackTargetPickerWasDismissed):
- WebView/WebView.mm:
(-[WebView _addPlaybackTargetPickerClient:]):
(-[WebView _removePlaybackTargetPickerClient:]):
(-[WebView _showPlaybackTargetPicker:location:hasVideo:]):
(-[WebView _playbackTargetPickerClientStateDidChange:state:]):
- WebView/WebViewInternal.h:
- 8:58 PM Changeset in webkit [263497] by
-
- 5 edits in trunk/Source/JavaScriptCore
[Intl] Disprefer using ICU enums directly as instance variables
https://bugs.webkit.org/show_bug.cgi?id=213587
Reviewed by Yusuke Suzuki.
- runtime/IntlPluralRules.cpp:
(JSC::IntlPluralRules::initializePluralRules):
(JSC::IntlPluralRules::resolvedOptions const):
- runtime/IntlPluralRules.h:
- runtime/IntlRelativeTimeFormat.cpp:
(JSC::IntlRelativeTimeFormat::initializeRelativeTimeFormat):
(JSC::IntlRelativeTimeFormat::styleString): Renamed from JSC::styleString.
(JSC::IntlRelativeTimeFormat::resolvedOptions const):
(JSC::numericString): Deleted.
- runtime/IntlRelativeTimeFormat.h:
- 8:28 PM Changeset in webkit [263496] by
-
- 1 copy in tags/Safari-610.1.19
Tag Safari-610.1.19.
- 8:28 PM Changeset in webkit [263495] by
-
- 1 delete in tags/Safari-610.1.19
Delete tag.
- 7:43 PM Changeset in webkit [263494] by
-
- 2 edits in branches/safari-610.1.19-branch/Source/WebKit
Cherry-pick r263488. rdar://problem/64735026
Cannot play back any video on Apple Silicon devices
https://bugs.webkit.org/show_bug.cgi?id=213584
<rdar://problem/64714596>
Reviewed by Per Arne Vollan.
- WebProcess/com.apple.WebProcess.sb.in: An unfortunate and incorrect refactoring caused some of the sandbox exceptions to get dropped on the floor.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:13 PM Changeset in webkit [263493] by
-
- 7 edits2 copies in trunk
Removed unrestricted keyword from attributes in PannerNode
https://bugs.webkit.org/show_bug.cgi?id=213523
Source/WebCore:
Updated refDistance, maxDistance, rolloffFactor, coneOuterGain, coneInnerAngle, coneOuterAngle attributes according to spec:
https://www.w3.org/TR/webaudio/#PannerNode-attributes.
Patch by Clark Wang <clark_wang@apple.com> on 2020-06-24
Reviewed by Darin Adler.
Test: webaudio/prefixed-pannernode-basic.html
- Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::setRefDistance):
(WebCore::PannerNode::setMaxDistance):
(WebCore::PannerNode::setRolloffFactor):
(WebCore::PannerNode::setConeOuterGain):
- Modules/webaudio/PannerNode.h:
- Modules/webaudio/PannerNode.idl:
LayoutTests:
Patch by Clark Wang <clark_wang@apple.com> on 2020-06-24
Reviewed by Darin Adler.
Separated prefixed pannernode and unprefixed pannernode tests. Added test cases for refDistance, maxDistance, rolloffFactor, coneOuterGain, coneInnerAngle, coneOuterAngle.
- webaudio/pannernode-basic-expected.txt:
- webaudio/pannernode-basic.html:
- webaudio/prefixed-pannernode-basic-expected.txt: Copied from LayoutTests/webaudio/pannernode-basic-expected.txt.
- webaudio/prefixed-pannernode-basic.html: Copied from LayoutTests/webaudio/pannernode-basic.html.
- 7:11 PM Changeset in webkit [263492] by
-
- 2 edits in trunk/Source/WebCore
Black rectangle appears when closing PIP on iPhone
https://bugs.webkit.org/show_bug.cgi?id=213570
Reviewed by Eric Carlson.
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::willStopPictureInPicture):
Don't unhide the window and view of WebAVPlayerViewController before exiting Picture-in-Picture.
- 7:05 PM Changeset in webkit [263491] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] handle Put/DefinePrivateField in resetPutByID
https://bugs.webkit.org/show_bug.cgi?id=213583
Reviewed by Yusuke Suzuki.
r262613 extends and uses PutByValDirect to support updating and defining private fields, in order to reuse
the IC machinery. The necessary resetPutByID change was erroneously omitted, and is presented here.
- jit/Repatch.cpp:
(JSC::resetPutByID):
- 6:43 PM Changeset in webkit [263490] by
-
- 4 edits in trunk/Source/WebKit
[IPC] Use WebKit::LayerHostingContextID instead of uint32_t for videoLayerID
<https://webkit.org/b/213576>
<rdar://problem/61806253>
Reviewed by Darin Adler.
Use WebKit::LayerHostingContextID instead of uint32_t as type
for videoLayerID since the value comes from
LayerHostingContext::contextID() in
VideoFullscreenManager::enterVideoFullscreenForVideoElement().
- UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::setupFullscreenWithID):
- 6:31 PM Changeset in webkit [263489] by
-
- 4 edits in trunk/Tools
macOS Big Sur build fix.
Remove long obsolete checks for Mac OS X 10.6 that didn't respect the major version.
- MiniBrowser/Makefile:
- TestWebKitAPI/Makefile:
- WebKitTestRunner/Makefile:
- 6:29 PM Changeset in webkit [263488] by
-
- 2 edits in trunk/Source/WebKit
Cannot play back any video on Apple Silicon devices
https://bugs.webkit.org/show_bug.cgi?id=213584
<rdar://problem/64714596>
Reviewed by Per Arne Vollan.
- WebProcess/com.apple.WebProcess.sb.in:
An unfortunate and incorrect refactoring caused some of the sandbox exceptions to get dropped on the floor.
- 5:24 PM Changeset in webkit [263487] by
-
- 2 edits in branches/safari-610.1.19-branch/Source/WebKit
Cherry-pick r263456. rdar://problem/64728416
REGRESSION (r263328): Crash in bool WTF::WeakHashSet<WebKit::AudioSessionRoutingArbitratorProxy, WTF::EmptyCounter>::contains<WebKit::AudioSessionRoutingArbitratorProxy> const
https://bugs.webkit.org/show_bug.cgi?id=213526
<rdar://problem/64591777>
Reviewed by Eric Carlson.
Clear the m_routingArbitrator before WebProcessPool::disconnectProcess(), not after.
- UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::shutDown):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:19 PM Changeset in webkit [263486] by
-
- 1 edit1 delete in trunk/JSTests
Unreviewed, included copy of stress/llinttrue.js accidentally.
https://bugs.webkit.org/show_bug.cgi?id=213442
- stress/baselintjittrue.js: Removed.
- 4:58 PM Changeset in webkit [263485] by
-
- 20 edits2 adds in trunk
REGRESSION (r260276): Scrolling through shelves on music.apple.com is not smooth
https://bugs.webkit.org/show_bug.cgi?id=213572
Source/WebCore:
Reviewed by Wenson Hsieh.
The scroll position for an overflow:scroll element with scroll-snap could jump around
during scrolling, if layout triggered a call to ScrollableArea::updateScrollSnapState().
The crux of the issue is that isScrollSnapInProgress() returned false for overflow:scrollers
which are scrolling asynchronously.
Fix by extending the existing ScrollingTree::isScrollSnapInProgress() to track all scrolling
nodes by storing a HashSet<ScrollingNodeID> rather than just a flag for the main frame.
RenderLayer::isScrollSnapInProgress() then consults the ScrollingCoordinator, which consults
the scrolling tree for this state.
Add the ability to test via internals.isScrollSnapInProgress().
Test: fast/scrolling/mac/scroll-snapping-in-progress.html
- dom/Document.h:
- page/FrameView.cpp:
(WebCore::FrameView::isScrollSnapInProgress const): The main thread can run snapping logic
even for async-scrollable frames, so consult the ScrollingCoordinator and FrameView's ScrollAnimator.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::isScrollSnapInProgress const):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::isScrollSnapInProgress const):
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::isScrollSnapInProgressForNode):
(WebCore::ScrollingTree::setNodeScrollSnapInProgress):
(WebCore::ScrollingTree::isScrollSnapInProgress): Deleted.
(WebCore::ScrollingTree::setMainFrameIsScrollSnapping): Deleted.
- page/scrolling/ScrollingTree.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::setScrollSnapInProgress):
(WebCore::ScrollingTreeScrollingNode::isScrollSnapInProgress const):
- page/scrolling/ScrollingTreeScrollingNode.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::willStartScrollSnapAnimation):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::didStopScrollSnapAnimation):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::requestScrollPositionUpdate):
(WebCore::RenderLayer::isScrollSnapInProgress const):
(WebCore::RenderLayer::setupFontSubpixelQuantization):
- testing/Internals.cpp:
(WebCore:: const):
(WebCore::Internals::scrollSnapOffsets):
(WebCore::Internals::isScrollSnapInProgress):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
<rdar://problem/64306590>
Reviewed by Wenson Hsieh.
The scroll position for an overflow:scroll element with scroll-snap could jump around
during scrolling, if layout triggered a call to ScrollableArea::updateScrollSnapState().
The crux of the issue is that isScrollSnapInProgress() returned false for overflow:scrollers
which are scrolling asynchronously.
Fix by extending the existing ScrollingTree::isScrollSnapInProgress() to track all scrolling
nodes by storing a HashSet<ScrollingNodeID> rather than just a flag for the main frame.
RenderLayer::isScrollSnapInProgress() then consults the ScrollingCoordinator, which consults
the scrolling tree for this state.
Add the ability to test via internals.isScrollSnapInProgress().
- WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::isScrollSnapInProgress const):
LayoutTests:
Reviewed by Wenson Hsieh.
- fast/scrolling/mac/scroll-snapping-in-progress-expected.txt: Added.
- fast/scrolling/mac/scroll-snapping-in-progress.html: Added.
- 4:51 PM Changeset in webkit [263484] by
-
- 3 edits in branches/safari-609.3.5.0-branch/Source/WebKit
Apply patch. rdar://problem/62977672
- 4:40 PM Changeset in webkit [263483] by
-
- 3 edits4 adds in trunk
[JSC] llintTrue / jitTrue can encounter native functions
https://bugs.webkit.org/show_bug.cgi?id=213442
<rdar://problem/64257914>
Reviewed by Mark Lam.
JSTests:
- stress/baselinejittrue.js: Added.
(shouldBe):
(jitCode1):
(jitCode2):
- stress/baselintjittrue.js: Added.
(shouldBe):
(llintCode1):
(llintCode2):
- stress/llinttrue-in-eval.js: Added.
- stress/llinttrue.js: Added.
(shouldBe):
(llintCode1):
(llintCode2):
Source/JavaScriptCore:
If the CallFrame is for native function, associated CodeBlock is nullptr.
This patch fixes this case to handle it gracefully.
- tools/JSDollarVM.cpp:
(JSC::CallerFrameJITTypeFunctor::CallerFrameJITTypeFunctor):
(JSC::CallerFrameJITTypeFunctor::operator() const):
(JSC::functionBaselineJITTrue):
(JSC::JSDollarVM::finishCreation):
(JSC::functionJITTrue): Deleted.
- 4:37 PM Changeset in webkit [263482] by
-
- 8 edits in branches/safari-609.3.5.0-branch/Source
Versioning.
WebKit-609.3.5.0.2
- 4:04 PM Changeset in webkit [263481] by
-
- 3 edits2 deletes in trunk
Unreviewed, reverting r263466.
This commit caused 50+ crashes on multiple queues internally.
Reverted changeset:
"REGRESSION (r260360): easing curves are broken on JS-
originated animations"
https://bugs.webkit.org/show_bug.cgi?id=213495
https://trac.webkit.org/changeset/263466
- 4:00 PM Changeset in webkit [263480] by
-
- 7 edits2 adds in trunk
Allow the async clipboard API to write data when copying via menu action or key binding
https://bugs.webkit.org/show_bug.cgi?id=213568
<rdar://problem/64711653>
Reviewed by Darin Adler.
Source/WebCore:
Makes a couple of minor adjustments to allow
clipboard.write
andclipboard.writeText
to work during a user-
triggered copy event (that is, from menu or key binding). See below for more details.
Test: editing/async-clipboard/clipboard-write-in-copy-event-handler.html
- Modules/async-clipboard/Clipboard.cpp:
(WebCore::shouldProceedWithClipboardWrite):
Add a mechanism to keep track of when Editor is handling a copy or cut event that is the result of interacting
with a key binding or menu action. Use this mechanism to grant write access via the async clipboard API.
- editing/Editor.cpp:
(WebCore::dispatchClipboardEvent):
Only attempt to commit the static pasteboard to the platform pasteboard during a copy event when preventing
default if the StaticPasteboard-backed DataTransfer actually contains data. This fixes a race condition when
writing to the pasteboard using the async clipboard API during the "copy" event, where the changeCount when
beginning to write is incremented due to the pasteboard getting cleared.
This change will also make it so that calling
preventDefault()
on the copy event will result in no change to
the system pasteboard, instead of clearing out any existing content on the pasteboard.
(WebCore::Editor::cut):
(WebCore::Editor::copy):
- editing/Editor.h:
(WebCore::Editor::isCopyingFromMenuOrKeyBinding const):
- editing/EditorCommand.cpp:
(WebCore::executeCopy):
(WebCore::executeCut):
LayoutTests:
Add a new layout test to exercise async clipboard writing API during the copy event.
- editing/async-clipboard/clipboard-write-in-copy-event-handler-expected.txt: Added.
- editing/async-clipboard/clipboard-write-in-copy-event-handler.html: Added.
- platform/win/TestExpectations:
- 3:53 PM Changeset in webkit [263479] by
-
- 10 edits in trunk/Source
Unreviewed, reverting r263295.
https://bugs.webkit.org/show_bug.cgi?id=213577
Introduced logging regression
Reverted changeset:
"[macOS] Connections to the preference daemon are established
before entering the sandbox"
https://bugs.webkit.org/show_bug.cgi?id=213379
https://trac.webkit.org/changeset/263295
- 3:52 PM Changeset in webkit [263478] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for editing/spelling/editing-word-with-marker-1.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213574
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-24
- platform/mac-wk2/TestExpectations:
- 3:26 PM Changeset in webkit [263477] by
-
- 1 copy in tags/Safari-610.1.18.1
Tag Safari-610.1.18.1.
- 3:09 PM Changeset in webkit [263476] by
-
- 15 edits1 add in trunk/Source/WebKit
Use ObjectIdentifier<> instead of uint64_t for context IDs in VideoFullscreenManagerProxy
<https://webkit.org/b/212392>
<rdar://problem/61799040>
Reviewed by Youenn Fablet.
Switch from uint64_t to WebKit::PlaybackSessionContextIdentifier
for contextId values.
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
- Add WebKit::PlaybackSessionContextIdentifier to list.
- UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
(WebKit::PlaybackSessionManagerProxy::controlsManagerContextId const):
- UIProcess/Cocoa/PlaybackSessionManagerProxy.messages.in:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionManagerProxy::createModelAndInterface):
(WebKit::PlaybackSessionManagerProxy::ensureModelAndInterface):
(WebKit::PlaybackSessionManagerProxy::ensureModel):
(WebKit::PlaybackSessionManagerProxy::ensureInterface):
(WebKit::PlaybackSessionManagerProxy::addClientForContext):
(WebKit::PlaybackSessionManagerProxy::removeClientForContext):
(WebKit::PlaybackSessionManagerProxy::setUpPlaybackControlsManagerWithID):
(WebKit::PlaybackSessionManagerProxy::clearPlaybackControlsManager):
(WebKit::PlaybackSessionManagerProxy::currentTimeChanged):
(WebKit::PlaybackSessionManagerProxy::bufferedTimeChanged):
(WebKit::PlaybackSessionManagerProxy::seekableRangesVectorChanged):
(WebKit::PlaybackSessionManagerProxy::canPlayFastReverseChanged):
(WebKit::PlaybackSessionManagerProxy::audioMediaSelectionOptionsChanged):
(WebKit::PlaybackSessionManagerProxy::legibleMediaSelectionOptionsChanged):
(WebKit::PlaybackSessionManagerProxy::audioMediaSelectionIndexChanged):
(WebKit::PlaybackSessionManagerProxy::legibleMediaSelectionIndexChanged):
(WebKit::PlaybackSessionManagerProxy::externalPlaybackPropertiesChanged):
(WebKit::PlaybackSessionManagerProxy::wirelessVideoPlaybackDisabledChanged):
(WebKit::PlaybackSessionManagerProxy::mutedChanged):
(WebKit::PlaybackSessionManagerProxy::volumeChanged):
(WebKit::PlaybackSessionManagerProxy::durationChanged):
(WebKit::PlaybackSessionManagerProxy::playbackStartedTimeChanged):
(WebKit::PlaybackSessionManagerProxy::rateChanged):
(WebKit::PlaybackSessionManagerProxy::pictureInPictureSupportedChanged):
(WebKit::PlaybackSessionManagerProxy::handleControlledElementIDResponse const):
(WebKit::PlaybackSessionManagerProxy::play):
(WebKit::PlaybackSessionManagerProxy::pause):
(WebKit::PlaybackSessionManagerProxy::togglePlayState):
(WebKit::PlaybackSessionManagerProxy::beginScrubbing):
(WebKit::PlaybackSessionManagerProxy::endScrubbing):
(WebKit::PlaybackSessionManagerProxy::seekToTime):
(WebKit::PlaybackSessionManagerProxy::fastSeek):
(WebKit::PlaybackSessionManagerProxy::beginScanningForward):
(WebKit::PlaybackSessionManagerProxy::beginScanningBackward):
(WebKit::PlaybackSessionManagerProxy::endScanning):
(WebKit::PlaybackSessionManagerProxy::selectAudioMediaOption):
(WebKit::PlaybackSessionManagerProxy::selectLegibleMediaOption):
(WebKit::PlaybackSessionManagerProxy::togglePictureInPicture):
(WebKit::PlaybackSessionManagerProxy::toggleMuted):
(WebKit::PlaybackSessionManagerProxy::setMuted):
(WebKit::PlaybackSessionManagerProxy::setVolume):
(WebKit::PlaybackSessionManagerProxy::setPlayingOnSecondScreen):
- Remove MESSAGE_CHECK_CONTEXTID() since it is now redundant.
- UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenModelContext::VideoFullscreenModelContext):
(WebKit::VideoFullscreenManagerProxy::requestRouteSharingPolicyAndContextUID):
(WebKit::VideoFullscreenManagerProxy::createModelAndInterface):
(WebKit::VideoFullscreenManagerProxy::ensureModelAndInterface):
(WebKit::VideoFullscreenManagerProxy::ensureModel):
(WebKit::VideoFullscreenManagerProxy::ensureInterface):
(WebKit::VideoFullscreenManagerProxy::findInterface):
(WebKit::VideoFullscreenManagerProxy::addClientForContext):
(WebKit::VideoFullscreenManagerProxy::removeClientForContext):
(WebKit::VideoFullscreenManagerProxy::setupFullscreenWithID):
(WebKit::VideoFullscreenManagerProxy::setHasVideo):
(WebKit::VideoFullscreenManagerProxy::setVideoDimensions):
(WebKit::VideoFullscreenManagerProxy::enterFullscreen):
(WebKit::VideoFullscreenManagerProxy::exitFullscreen):
(WebKit::VideoFullscreenManagerProxy::exitFullscreenWithoutAnimationToMode):
(WebKit::VideoFullscreenManagerProxy::setInlineRect):
(WebKit::VideoFullscreenManagerProxy::setHasVideoContentLayer):
(WebKit::VideoFullscreenManagerProxy::cleanupFullscreen):
(WebKit::VideoFullscreenManagerProxy::preparedToReturnToInline):
(WebKit::VideoFullscreenManagerProxy::preparedToExitFullscreen):
(WebKit::VideoFullscreenManagerProxy::requestFullscreenMode):
(WebKit::VideoFullscreenManagerProxy::requestUpdateInlineRect):
(WebKit::VideoFullscreenManagerProxy::requestVideoContentLayer):
(WebKit::VideoFullscreenManagerProxy::returnVideoContentLayer):
(WebKit::VideoFullscreenManagerProxy::didSetupFullscreen):
(WebKit::VideoFullscreenManagerProxy::willExitFullscreen):
(WebKit::VideoFullscreenManagerProxy::didExitFullscreen):
(WebKit::VideoFullscreenManagerProxy::didEnterFullscreen):
(WebKit::VideoFullscreenManagerProxy::didCleanupFullscreen):
(WebKit::VideoFullscreenManagerProxy::setVideoLayerFrame):
(WebKit::VideoFullscreenManagerProxy::setVideoLayerGravity):
(WebKit::VideoFullscreenManagerProxy::fullscreenModeChanged):
(WebKit::VideoFullscreenManagerProxy::fullscreenMayReturnToInline):
- Remove MESSAGE_CHECK_CONTEXTID() since it is now redundant.
- WebKit.xcodeproj/project.pbxproj:
- Add PlaybackSessionContextIdentifier.h to the project.
- WebProcess/cocoa/PlaybackSessionContextIdentifier.h: Add.
- WebProcess/cocoa/PlaybackSessionManager.h:
- WebProcess/cocoa/PlaybackSessionManager.messages.in:
- WebProcess/cocoa/PlaybackSessionManager.mm:
(WebKit::PlaybackSessionInterfaceContext::PlaybackSessionInterfaceContext):
(WebKit::PlaybackSessionManager::createModelAndInterface):
(WebKit::PlaybackSessionManager::ensureModelAndInterface):
(WebKit::PlaybackSessionManager::ensureModel):
(WebKit::PlaybackSessionManager::ensureInterface):
(WebKit::PlaybackSessionManager::removeContext):
(WebKit::PlaybackSessionManager::addClientForContext):
(WebKit::PlaybackSessionManager::removeClientForContext):
(WebKit::PlaybackSessionManager::setUpPlaybackControlsManager):
(WebKit::PlaybackSessionManager::clearPlaybackControlsManager):
(WebKit::PlaybackSessionManager::contextIdForMediaElement):
(WebKit::PlaybackSessionManager::durationChanged):
(WebKit::PlaybackSessionManager::currentTimeChanged):
(WebKit::PlaybackSessionManager::bufferedTimeChanged):
(WebKit::PlaybackSessionManager::playbackStartedTimeChanged):
(WebKit::PlaybackSessionManager::rateChanged):
(WebKit::PlaybackSessionManager::seekableRangesChanged):
(WebKit::PlaybackSessionManager::canPlayFastReverseChanged):
(WebKit::PlaybackSessionManager::audioMediaSelectionOptionsChanged):
(WebKit::PlaybackSessionManager::legibleMediaSelectionOptionsChanged):
(WebKit::PlaybackSessionManager::externalPlaybackChanged):
(WebKit::PlaybackSessionManager::audioMediaSelectionIndexChanged):
(WebKit::PlaybackSessionManager::legibleMediaSelectionIndexChanged):
(WebKit::PlaybackSessionManager::wirelessVideoPlaybackDisabledChanged):
(WebKit::PlaybackSessionManager::mutedChanged):
(WebKit::PlaybackSessionManager::volumeChanged):
(WebKit::PlaybackSessionManager::isPictureInPictureSupportedChanged):
(WebKit::PlaybackSessionManager::play):
(WebKit::PlaybackSessionManager::pause):
(WebKit::PlaybackSessionManager::togglePlayState):
(WebKit::PlaybackSessionManager::beginScrubbing):
(WebKit::PlaybackSessionManager::endScrubbing):
(WebKit::PlaybackSessionManager::seekToTime):
(WebKit::PlaybackSessionManager::fastSeek):
(WebKit::PlaybackSessionManager::beginScanningForward):
(WebKit::PlaybackSessionManager::beginScanningBackward):
(WebKit::PlaybackSessionManager::endScanning):
(WebKit::PlaybackSessionManager::selectAudioMediaOption):
(WebKit::PlaybackSessionManager::selectLegibleMediaOption):
(WebKit::PlaybackSessionManager::handleControlledElementIDRequest):
(WebKit::PlaybackSessionManager::togglePictureInPicture):
(WebKit::PlaybackSessionManager::toggleMuted):
(WebKit::PlaybackSessionManager::setMuted):
(WebKit::PlaybackSessionManager::setVolume):
(WebKit::PlaybackSessionManager::setPlayingOnSecondScreen):
(WebKit::nextContextId): Delete.
- Replace with PlaybackSessionContextIdentifier::generate().
- WebProcess/cocoa/VideoFullscreenManager.h:
(WebKit::VideoFullscreenInterfaceContext::create):
- WebProcess/cocoa/VideoFullscreenManager.messages.in:
- WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenInterfaceContext::VideoFullscreenInterfaceContext):
(WebKit::VideoFullscreenManager::createModelAndInterface):
(WebKit::VideoFullscreenManager::ensureModelAndInterface):
(WebKit::VideoFullscreenManager::ensureModel):
(WebKit::VideoFullscreenManager::ensureInterface):
(WebKit::VideoFullscreenManager::removeContext):
(WebKit::VideoFullscreenManager::addClientForContext):
(WebKit::VideoFullscreenManager::removeClientForContext):
(WebKit::VideoFullscreenManager::enterVideoFullscreenForVideoElement):
(WebKit::VideoFullscreenManager::exitVideoFullscreenForVideoElement):
(WebKit::VideoFullscreenManager::exitVideoFullscreenToModeWithoutAnimation):
(WebKit::VideoFullscreenManager::hasVideoChanged):
(WebKit::VideoFullscreenManager::videoDimensionsChanged):
(WebKit::VideoFullscreenManager::requestFullscreenMode):
(WebKit::VideoFullscreenManager::fullscreenModeChanged):
(WebKit::VideoFullscreenManager::requestUpdateInlineRect):
(WebKit::VideoFullscreenManager::requestVideoContentLayer):
(WebKit::VideoFullscreenManager::returnVideoContentLayer):
(WebKit::VideoFullscreenManager::didSetupFullscreen):
(WebKit::VideoFullscreenManager::willExitFullscreen):
(WebKit::VideoFullscreenManager::didEnterFullscreen):
(WebKit::VideoFullscreenManager::didExitFullscreen):
(WebKit::VideoFullscreenManager::didCleanupFullscreen):
(WebKit::VideoFullscreenManager::setVideoLayerGravityEnum):
(WebKit::VideoFullscreenManager::fullscreenMayReturnToInline):
(WebKit::VideoFullscreenManager::requestRouteSharingPolicyAndContextUID):
(WebKit::VideoFullscreenManager::setVideoLayerFrameFenced):
- 2:19 PM Changeset in webkit [263475] by
-
- 5 edits2 adds in trunk
REGRESSION(r262341) Use UTF-8 to decode CFURLRefs from IPC
https://bugs.webkit.org/show_bug.cgi?id=213565
Source/WebKit:
<rdar://problem/64408924>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-24
Reviewed by Darin Adler.
My assumption that all valid CFURLRefs are ASCII was incorrect.
Some of them are UTF-8 encoded non-ASCII.
Using kCFStringEncodingUTF8 covers both.
Test: fast/url/navigate-non-ascii.html
- Shared/cf/ArgumentCodersCF.cpp:
(IPC::decode):
Tools:
<rdar://problem/64408924>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-24
Reviewed by Darin Adler.
- TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
(TestWebKitAPI::TEST):
LayoutTests:
Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-24
Reviewed by Darin Adler.
- fast/url/navigate-non-ascii-expected.txt: Added.
- fast/url/navigate-non-ascii.html: Added.
- 2:18 PM Changeset in webkit [263474] by
-
- 35 edits in trunk
We should resurrect the older patch that collects some statistics of web API calls
https://bugs.webkit.org/show_bug.cgi?id=213319
Patch by Umar Iqbal <uiqbal@apple.com> on 2020-06-24
Reviewed by Brent Fulgham.
Source/JavaScriptCore:
+ Enabled ENABLE_WEB_API_STATISTICS flag
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
No new tests. Enabled existing tests.
Enabled http/tests/webAPIStatistics that test the functionality behind WEB_API_STATISTICS flag.
+ Brought back WebCore::encodeHashSet(KeyedEncoder& encoder, const String& label,
const String& key, const HashSet<String>& hashSet) because it was needed by
WebCore::encodeFontHashSet(KeyedEncoder& encoder, const String& label, const HashSet<String>& hashSet)
+ Changed the type of HashCountedSet to HashSet because of earlier patch
(https://bugs.webkit.org/attachment.cgi?id=363033) updated other HashCountedSet to HashSet,
stating that the counted statistics were never used (see change log in the mentioned patch).
+ Also changed the type of topFrameRegistrableDomainsWhichAccessedWebAPIs HashSet
from String to RegistrableDomain. See the earlier bug (https://bugs.webkit.org/show_bug.cgi?id=194791)
that explains the switch from String to RegistrableDomain for eTLD+1's
+ Enabled WEB_API_STATISTICS flag in FeatureDefines.xcconfig and PlatformEnableCocoa.h
+ Added WTF::EnumTraits<> for OptionSet<> enum in ResourceLoadStatistics.h due to an earlier change.
- loader/ResourceLoadStatistics.h:
- Configurations/FeatureDefines.xcconfig:
- loader/CanvasActivityRecord.h:
- loader/ResourceLoadStatistics.cpp:
(WebCore::encodeHashSet):
(WebCore::ResourceLoadStatistics::encode const):
(WebCore::decodeHashSet):
(WebCore::decodeCanvasActivityRecord):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::appendHashSet):
(WebCore::ResourceLoadStatistics::toString const):
Source/WebCore/PAL:
+ Enabled ENABLE_WEB_API_STATISTICS flag
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
+ Enabled ENABLE_WEB_API_STATISTICS flag
+ Removed .string() from mainFrameRegistrableDomain to append it to topFrameRegistrableDomainsWhichAccessedWebAPIs
because topFrameRegistrableDomainsWhichAccessedWebAPIs is a HashSet of WebCore::RegistrableDomain
- Configurations/FeatureDefines.xcconfig:
- WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
(WebKit::WebResourceLoadObserver::logFontLoad):
(WebKit::WebResourceLoadObserver::logCanvasRead):
(WebKit::WebResourceLoadObserver::logCanvasWriteOrMeasure):
(WebKit::WebResourceLoadObserver::logNavigatorAPIAccessed):
(WebKit::WebResourceLoadObserver::logScreenAPIAccessed):
Source/WebKitLegacy/mac:
+ Enabled ENABLE_WEB_API_STATISTICS flag
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
+ Enabled ENABLE_WEB_API_STATISTICS flag
- wtf/PlatformEnableCocoa.h:
Tools:
+ Enabled ENABLE_WEB_API_STATISTICS flag.
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
We should resurrect the older patch that collects some statistics of web API calls
+ Enabled web API statistics tests in ios-wk2 and mac-wk2
+ Updated expectations for web API statistics and resrource load statistics tests.
- http/tests/webAPIStatistics/canvas-read-and-write-data-collection-expected.txt:
- http/tests/webAPIStatistics/font-load-data-collection-expected.txt:
- http/tests/webAPIStatistics/navigator-functions-accessed-data-collection-expected.txt:
- http/tests/webAPIStatistics/screen-functions-accessed-data-collection-expected.txt:
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:
- http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-expected.txt:
- http/tests/resourceLoadStatistics/count-third-party-script-loads-expected.txt:
- http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-expected.txt:
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-expected.txt:
- http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-expected.txt:
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-expected.txt:
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-expected.txt:
- http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-expected.txt:
- http/tests/storageAccess/aggregate-sorted-data-with-storage-access-expected.txt:
- 2:07 PM Changeset in webkit [263473] by
-
- 3 edits2 adds in trunk
Null Ptr Deref READ @ WTF::Optional<WTF::Seconds>::clear
https://bugs.webkit.org/show_bug.cgi?id=213543
Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-06-24
Reviewed by Geoffrey Garen.
Source/WebCore:
While performing an animation request, the callback functions modifies the iframe's srcdoc attribute, leading to domWindow being null during
rendering, and resulting into crash.
Test: fast/rendering/iframe-window-animation-modifies-iframe-srcdoc-crash.html
- page/Page.cpp:
(WebCore::Page::updateRendering):
LayoutTests:
Added a regression test.
- fast/rendering/iframe-window-animation-modifies-iframe-srcdoc-crash-expected.txt: Added.
- fast/rendering/iframe-window-animation-modifies-iframe-srcdoc-crash.html: Added.
- 1:52 PM Changeset in webkit [263472] by
-
- 13 edits2 adds in trunk
[iOS] Open element actions sometimes result in a hover instead of a click
https://bugs.webkit.org/show_bug.cgi?id=213530
<rdar://problem/64176707>
Reviewed by Darin Adler.
Source/WebKit:
_WKElementAction implements a standard action handler for _WKElementActionTypeOpen that
attempts a synthetic click at the interaction location, expecting this click to start a
navigation to the interaction node's target URL. Synthetic clicks are subject to content
change observing, however, and if ContentChangeObserver detects a meaningful visible change
after dispatching a mousemove event at the interaction location then WebPage will refrain
from dispatching the mousedown and mouseup events that would have started a navigation.
While this behavior is necessary to support hover menus, it doesn't make sense when the user
is interacting with a context menu. Since the system might display a preview of the target
URL found at the interaction location, users expect the "Open" action to navigate to that
same URL rather than merely display a hover menu.
This change opts synthetic clicks from the open action out of content change observing by
ensuring that an interaction is started when handling _WKElementActionTypeOpen (like we do
for "Copy" and "Save Image"), then checking if WebPage::m_interactionNode matches the node
found in WebPage::attemptSyntheticClick. If it does, WebPage now bypasses content change
observing and completes a synthetic click.
New API test: ElementActionTests.OpenLinkWithHoverMenu
- UIProcess/API/Cocoa/_WKElementAction.mm:
(+[_WKElementAction _elementActionWithType:customTitle:assistant:]): Changed to call
-[WKActionSheetAssistant handleElementActionWithType:element:needsInteraction:] in the
handlers for _WKElementActionTypeCopy, _WKElementActionTypeOpen,
_WKElementActionTypeSaveImage, and _WKElementActionTypeShare.
- UIProcess/ios/WKActionSheetAssistant.h:
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant handleElementActionWithType:element:needsInteraction:]): Added to
handle the subset of standard element actions that flow through
WKActionSheetAssistantDelegate. Used a boolean parameter to decide whether the delegate
should start and stop an interaction when handling the action.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView actionSheetAssistant:openElementAtLocation:]): Renamed
-_attemptClickAtLocation:modifierFlags: to -_attemptSyntheticClickAtLocation:modifierFlags:.
(-[WKContentView _attemptSyntheticClickAtLocation:modifierFlags:]): Changed to call
WebPageProxy::attemptSyntheticClick instead of WebPageProxy::handleTap.
(-[WKContentView _simulateElementAction:atLocation:]): Set
_layerTreeTransactionIdAtLastInteractionStart to better simulate context menu interactions.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::attemptSyntheticClick):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::attemptSyntheticClick): Renamed handleTap to attemptSyntheticClick. If the
node responding to clicks matches the node found on interaction start (m_interactionNode),
call WebPage::completeSyntheticClick directly.
Tools:
Added an API test.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/ios/ElementActionTests.mm: Added.
- TestWebKitAPI/Tests/ios/link-with-hover-menu.html: Added.
- 12:57 PM Changeset in webkit [263471] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo] -webkit-font-smoothing:antialiased makes fonts blurry
https://bugs.webkit.org/show_bug.cgi?id=206573
Reviewed by Alex Christensen.
After -webkit-font-smoothing support was added to Cairo port in
r254506 (Bug 54763), fonts looks jaggy and faint in WinCairo port
in some web sites using -webkit-font-smoothing:antialiased, for
example Google News, GMail, https://apple.com.
'antialiased' of -webkit-font-smoothing was mapped to
CAIRO_ANTIALIAS_GRAY. And, CAIRO_ANTIALIAS_GRAY is mapped to
ANTIALIASED_QUALITY in cairo-win32-font.c. ANTIALIASED_QUALITY
makes fonts jaggy and faint.
Use CAIRO_ANTIALIAS_SUBPIXEL instead of CAIRO_ANTIALIAS_GRAY for
'antialiased' as well as 'subpixel-antialiased' does.
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawGlyphsToContext): Don't use CAIRO_ANTIALIAS_GRAY for Win32 Cairo.
- 12:51 PM Changeset in webkit [263470] by
-
- 11 edits3 adds2 deletes in trunk
Add DFG/FTL fast path for GetPrototypeOf based on OverridesGetPrototype flag
https://bugs.webkit.org/show_bug.cgi?id=213191
Reviewed by Yusuke Suzuki.
JSTests:
- microbenchmarks/object-get-prototype-of-object-rare.js: Added.
- stress/dfg-object-prototype-of.js: Removed.
- stress/dfg-reflect-get-prototype-of.js: Removed.
- stress/ftl-object-get-prototype-of.js: Added.
- stress/ftl-reflect-get-prototype-of.js: Added.
Source/JavaScriptCore:
This patch:
- Introduces
loadInlineOffset
LLInt macro (64-bit only) and utilizes it inget_prototype_of
since we assert thatknownPolyProtoOffset
is an inline offset.
- Brings baseline JIT fast path to 32-bit builds, progressing
super-getter.js
microbenchmark by a factor of 10 (w/o DFG).
- Adds GetPrototypeOf DFG/FTL fast paths that leverage OverridesGetPrototype type info flag, advancing provided rare objects microbenchmark by ~46% (~37% w/o FTL). Also, cleans up existing DFG fast path by using AssemblyHelpers::loadValue().
- Extracts AssemblyHelpers::emitLoadPrototype() and uses it in baseline JIT, DFG, and
InstanceOfGeneric access case. With this change,
instanceof
access case handles all GetPrototypeOf overrides (before: only Proxy objects), which is more correct, yet not observable enough to provide a test case.instanceof
microbenchmarks are neutral.
- bytecode/AccessCase.cpp:
(JSC::AccessCase::generateWithGuard):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetPrototypeOf):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitLoadPrototype):
- jit/AssemblyHelpers.h:
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_get_prototype_of):
- llint/LowLevelInterpreter64.asm:
- 12:51 PM Changeset in webkit [263469] by
-
- 2 edits in branches/safari-610.1.18-branch/Source/WebKit
Cherry-pick r263462. rdar://problem/64711607
Fix the build once RBSProcessLimitations.h is introduced
https://bugs.webkit.org/show_bug.cgi?id=213562
Reviewed by Wenson Hsieh.
- Platform/spi/ios/RunningBoardServicesSPI.h: We can't forward-declare Objective-C SPI if it actually exists without inspiring duplicate definition errors.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:45 PM Changeset in webkit [263468] by
-
- 8 edits in branches/safari-610.1.18-branch/Source
Versioning.
WebKit-610.1.18.1
- 12:16 PM Changeset in webkit [263467] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for css3/font-variant-petite-caps-synthesis-coverage.html and css3/font-variant-small-caps-synthesis-coverage.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213569
Unreviewed test gardening.
Patch by Karl Rackler <Karl Rackler> on 2020-06-24
- platform/mac/TestExpectations:
- 11:37 AM Changeset in webkit [263466] by
-
- 3 edits2 adds in trunk
REGRESSION (r260360): easing curves are broken on JS-originated animations
https://bugs.webkit.org/show_bug.cgi?id=213495
<rdar://problem/64649747>
Reviewed by Darin Adler.
Source/WebCore:
Prior to Web Animations, there was no way for an animation to set an animation-wide timing function while
also setting a per-keyframe timing function. As such GraphicsLayerCA would sometimes decide to set the
timing function on keyframes or on the entire CAAnimation. However, we can no longer do this with Web
Animations where an animation can set an animation-wide timing function and also keyframe-specific
timing functions.
In this patch we create CAKeyframeAnimation objects for any animation that has at least two keyframes
if Web Animations are enabled, whereas the legacy code path requires at least three keyframes. We allow
PlatformCAAnimation::setTimingFunction() to be called in the Web Animations code path only under
GraphicsLayerCA::setupAnimation() while leaving the only call sites in place only for the legacy code
path.
Finally, we modify GraphicsLayerCA::timingFunctionForAnimationValue() to only ever return a keyframe-
specific timing function or fall back to a default linear timing function in the Web Animations code
path, leaving the function to behave the same way as it used to in the legacy code path.
Test: webanimations/accelerated-animation-with-easing.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::isKeyframe):
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
LayoutTests:
Add a new test that checks that various ways of setting the easing timing function on a JS-originated
animation always yield the same visible animation behavior.
- webanimations/accelerated-animation-with-easing-expected.html: Added.
- webanimations/accelerated-animation-with-easing.html: Added.
- 11:01 AM Changeset in webkit [263465] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening
- platform/gtk/TestExpectations: webrtc/disable-encryption.html is still flaky.
- 10:58 AM Changeset in webkit [263464] by
-
- 11 edits2 adds in trunk
REGRESSION: Delayed updating of the parallax images on pacificvoyages.net/posts
https://bugs.webkit.org/show_bug.cgi?id=212213
<rdar://problem/63497946>
Reviewed by Simon Fraser.
Source/WebCore:
Test: webanimations/css-transition-retargeting-during-ready-promise.html
When a transition's ready promise is resolved, its start time is the same as the timeline's current time. This means
that retargeting a transition at that moment will yield a progress of zero even though the transition was started before
the current animation frame. This means that retargeting a property on each page rendering may start a new transition
with the same from value, which can have an undesirable effect such as on the website reported in this bug.
We now keep track of the timeline time when a transition is created and use this time as a start time override when
applying the animation to compute the before-change style in AnimationTimeline::updateCSSTransitionsForElementAndProperty().
To do so, we pass an optional start time all the way from WebAnimation::resolve() through to WebAnimation::currentTime() and
via the animation effect timing computation.
- animation/AnimationEffect.cpp:
(WebCore::AnimationEffect::getBasicTiming const):
(WebCore::AnimationEffect::getComputedTiming const):
- animation/AnimationEffect.h:
- animation/AnimationTimeline.cpp:
(WebCore::AnimationTimeline::updateCSSTransitionsForElementAndProperty):
- animation/CSSTransition.cpp:
(WebCore::CSSTransition::CSSTransition):
(WebCore::CSSTransition::resolve):
- animation/CSSTransition.h:
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::apply):
- animation/KeyframeEffect.h:
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::currentTime const):
(WebCore::WebAnimation::resolve):
- animation/WebAnimation.h:
LayoutTests:
Add a new test that checks that retargeting a transition while its "ready" promise is resolved
uses a before-change style that will differ from the from style.
- webanimations/css-transition-retargeting-during-ready-promise-expected.txt: Added.
- webanimations/css-transition-retargeting-during-ready-promise.html: Added.
- 10:19 AM Changeset in webkit [263463] by
-
- 2 edits in trunk/LayoutTests
Remove expectation for css3/filters/null-effect-check.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=122234
Unreviewed test gardening
Patch by Karl Rackler <Karl Rackler> on 2020-06-24
- platform/mac-wk2/TestExpectations:
- 10:05 AM Changeset in webkit [263462] by
-
- 2 edits in trunk/Source/WebKit
Fix the build once RBSProcessLimitations.h is introduced
https://bugs.webkit.org/show_bug.cgi?id=213562
Reviewed by Wenson Hsieh.
- Platform/spi/ios/RunningBoardServicesSPI.h:
We can't forward-declare Objective-C SPI if it actually exists
without inspiring duplicate definition errors.
- 9:38 AM Changeset in webkit [263461] by
-
- 2 edits in trunk/Source/WTF
Removed the 50ms rescheduling timeout from callOnMainThread
https://bugs.webkit.org/show_bug.cgi?id=213560
Reviewed by Anders Carlsson.
This is a step toward making the engine less flaky by unifying
callOnMainThread with RunLoop::dispatch.
The timeout was added in r40888 to avoid a hang under heavy postMessage
load. A few reasons this isn’t the right approach anymore:
(1) postMessage has migrated to EventLoop, which does its own
scheduling.
(2) postMessage does not use the application process RunLoop in Modern
WebKit.
(3) Delay is not a sufficient solution to a messaging hang — because
you’ll just OOM crash instead. The original author noted this problem
in bug 23705 but never resolved it; and we rediscovered it in r233111.
I verified manually that the r40888 version of
fast/workers/worker-timeout.html does not hang.
- wtf/MainThread.cpp:
(WTF::dispatchFunctionsFromMainThread):
- 9:35 AM Changeset in webkit [263460] by
-
- 2 edits in trunk/Source/WebKit
Remove now-invalid assertion after r263441
https://bugs.webkit.org/show_bug.cgi?id=213527
The alternative service storage directory is now null when HTTP/3 is disabled, not just in private browsing.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
- 9:29 AM Changeset in webkit [263459] by
-
- 2 edits in trunk/LayoutTests
Canvas/philip/tests/2d.line.cap.round.html is no longer failing - remove expectations
https://bugs.webkit.org/show_bug.cgi?id=213561
Unreviewed test gardening
Patch by Karl Rackler <Karl Rackler> on 2020-06-24
- platform/mac/TestExpectations:
- 8:54 AM Changeset in webkit [263458] by
-
- 7 edits2 adds in trunk
Don't claim to support fullscreen mode unless fullScreenEnabled setting is enabled
https://bugs.webkit.org/show_bug.cgi?id=213142
<rdar://63753327>
Reviewed by Jer Noble.
Source/WebCore:
Test: media/video-supports-fullscreen.html
- html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::supportsFullscreen const): Check settings.fullScreenEnabled.
LayoutTests:
- media/video-supports-fullscreen-expected.txt: Added.
- media/video-supports-fullscreen.html: Added.
- media/video-fullscreen-only-playback.html: Don't set fullScreenEnabled to false.
- TestExpectations: Skip the test, it is WK2-only.
- platform/wk2/TestExpectations: Expect the test to pass.
- 8:36 AM Changeset in webkit [263457] by
-
- 4 edits in trunk
[GStreamer] webrtc/disable-encryption.html is a crashing flaky
https://bugs.webkit.org/show_bug.cgi?id=211166
<rdar://problem/63223973>
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-24
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
Simplify the process to create internal appsrc elements. I suspect something bad was ongoing
with these moves of GRefPtr.
- platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(WebCore::_WebKitMediaStreamSrc::SourceData::ensureAppSrc):
(WebCore::webkitMediaStreamSrcSetupAppSrc):
(WebCore::_WebKitMediaStreamSrc::SourceData::setSrc): Deleted.
LayoutTests:
- platform/gtk/TestExpectations: Unflag webrtc/disable-encryption.html.
- 8:24 AM Changeset in webkit [263456] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r263328): Crash in bool WTF::WeakHashSet<WebKit::AudioSessionRoutingArbitratorProxy, WTF::EmptyCounter>::contains<WebKit::AudioSessionRoutingArbitratorProxy> const
https://bugs.webkit.org/show_bug.cgi?id=213526
<rdar://problem/64591777>
Reviewed by Eric Carlson.
Clear the m_routingArbitrator before WebProcessPool::disconnectProcess(), not after.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):
- 8:04 AM Changeset in webkit [263455] by
-
- 2 edits in trunk/Source/WebCore
Style resolution sometimes fails to create all style resolvers for shadow trees.
https://bugs.webkit.org/show_bug.cgi?id=212946
<rdar://problem/60916215>>
Reviewed by Anders Carlsson.
This can cause problems later.
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::Scope::Scope):
Ensure all style resolvers are constructed before traversing.
- 7:48 AM Changeset in webkit [263454] by
-
- 2 edits2 adds in trunk
[JSC] add microbenchmark for op_get_private_name
https://bugs.webkit.org/show_bug.cgi?id=213544
Reviewed by Yusuke Suzuki.
Add machinery to add --usePrivateClassFields flag in a family of
microbenchmarks.
- Scripts/run-jsc-benchmarks:
- 7:07 AM Changeset in webkit [263453] by
-
- 9 edits2 adds in trunk/Source
Add logging to WebRTC video pipeline to check for frame rate stability
https://bugs.webkit.org/show_bug.cgi?id=213369
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
Add logging for encoded frames taking a long time to be received.
We log the time take to receive the frame, the time since previous frame, the byte size of the frame.
We compute that a frame takes too long by checking whether it is delayed by more than three expected frames.
- Source/webrtc/video/rtp_video_stream_receiver.cc:
- Source/webrtc/video/rtp_video_stream_receiver.h:
Source/WebCore:
Add a FrameRateMonitor class to compute frame stability.
Use this class at end of the video pipeline (LocalSampleBufferDisplayLayer).
Log messages in case a frame gets frozen at LocalSampleBufferDisplayLayer time.
We compute that a frame takes too long by checking whether it is delayed by more than three expected frames.
This logging is complemented with encoded frame reception logging (at the beginning of the video pipeline)
and WebRTC stats logging (freezeCount, totalFreezeDuration, shortly after decoding the frames).
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/FrameRateMonitor.cpp: Added.
(WebCore::FrameRateMonitor::newFrame):
- platform/FrameRateMonitor.h: Added.
(WebCore::FrameRateMonitor::frameRate const):
(WebCore::FrameRateMonitor::frameCount const):
(WebCore::FrameRateMonitor::FrameRateMonitor):
- platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.h:
- platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:
(WebCore::LocalSampleBufferDisplayLayer::LocalSampleBufferDisplayLayer):
(WebCore::LocalSampleBufferDisplayLayer::enqueueSample):
(WebCore::LocalSampleBufferDisplayLayer::enqueueSampleBuffer):
(WebCore::LocalSampleBufferDisplayLayer::onFrameRateNotification):
- platform/mediastream/mac/AudioMediaStreamTrackRendererUnit.h:
Unified build fix.
- 5:09 AM Changeset in webkit [263452] by
-
- 3 edits in trunk/LayoutTests
[ iOS macOS ] http/tests/resourceLoadStatistics/grandfathering-database.html is a rare flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=213553
Unreviewed test gardening
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 4:24 AM Changeset in webkit [263451] by
-
- 3 edits4 adds in trunk/LayoutTests
[WebXR] Unreviewed gardening. Updated expectations and new passing tests.
LayoutTests/imported/w3c:
- web-platform-tests/webxr/navigator_xr_sameObject.https-expected.txt: Added.
- web-platform-tests/webxr/xrFrame_session_sameObject.https-expected.txt: Added.
- web-platform-tests/webxr/xrRigidTransform_constructor.https-expected.txt: Added.
- web-platform-tests/webxr/xrSession_prevent_multiple_exclusive.https-expected.txt: Added.
LayoutTests:
Several tests are now passing on Debug. We're also adding some missing expectations
for skipped tests that were really passing.
- platform/wpe/TestExpectations:
- 4:11 AM Changeset in webkit [263450] by
-
- 3 edits in trunk/Source/WebCore
Remove [CallbackNeedsOperatorEqual] extended attribute
https://bugs.webkit.org/show_bug.cgi?id=213538
Reviewed by Chris Dumez.
This change removes now unused [CallbackNeedsOperatorEqual] extended attribute.
It was added to accommodate MediaQueryListListener, which was removed in r260243.
We are safe to remove [CallbackNeedsOperatorEqual] since its implementation
expects certain constructor signature, and callback interfaces are considered
legacy by spec authors anyway.
Also, this patch removes 2 resolved FIXMEs:
- OrdinaryDefineOwnProperty() is performed correctly, no dynamic dispatch there.
- Set() is performed correctly, with
false
as last argument. (changed in https://github.com/heycam/webidl/pull/832, covered by WPT)
No new tests, no behavior change.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDefineOwnProperty):
(GenerateAttributeSetterBodyDefinition):
(GenerateCallbackHeaderContent):
(GenerateCallbackImplementationContent):
- bindings/scripts/IDLAttributes.json:
- 1:54 AM Changeset in webkit [263449] by
-
- 1 copy in releases/WebKitGTK/webkit-2.29.2
WebKitGTK 2.29.2
- 1:53 AM Changeset in webkit [263448] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.29.2 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.29.2.
- 1:50 AM Changeset in webkit [263447] by
-
- 3 edits in trunk/Source/WebCore
[WebXR] Fix PlatformXR initialization/destruction
https://bugs.webkit.org/show_bug.cgi?id=213509
Reviewed by Youenn Fablet.
There were two different issues, one at creation time and the other one at destruction. At creation
time we were not calling construct() for the LazyNeverDestroyed object. That was making the WebProcess
crash in Debug builds. At destruction time we were calling xrDestroyInstance() without checking that the
passed instance was a valid one, although OpenXR implementations deal with it the spec is pretty clear.
- platform/xr/PlatformXR.h: Mark LazyNeverDestroyed as friend and default constructor&destructor.
- platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::Instance::Impl::~Impl): Check that instance is not XR_NULL_HANDLE before destroying.
(PlatformXR::Instance::singleton): Call construct() on the Lazy instance.
- 1:44 AM Changeset in webkit [263446] by
-
- 2 edits in trunk/Source/WebCore
Use signalling thread as worker thread instead of network thread
https://bugs.webkit.org/show_bug.cgi?id=213512
Reviewed by Eric Carlson.
This is probably better since network thread is always busy
while the siganlling thread is mostly busy at negotiation time.
This also aligns with Chromium current setup.
No change of behavior.
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::createPeerConnectionFactory):
- 1:08 AM Changeset in webkit [263445] by
-
- 3 edits1 add in trunk
[JSC] Clobberize misses
write(Heap)
report in some nodes
https://bugs.webkit.org/show_bug.cgi?id=213525
<rdar://problem/64642067>
Reviewed by Mark Lam.
JSTests:
- stress/missing-clobber-top-validation.js: Added.
Source/JavaScriptCore:
In some DFG nodes, clobberize phase misses
clobberTopFunctor
call while it iswrite(Heap)
,
which confuses clobberizing validation.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- 12:55 AM Changeset in webkit [263444] by
-
- 26 edits in trunk
[GTK][WPE] Add API to allow applications to handle the HTTP authentication credential storage
https://bugs.webkit.org/show_bug.cgi?id=213177
Reviewed by Michael Catanzaro.
Source/WebKit:
Add API to disable the internal credential storage support when building with libsecret. And add new API to
WebKitAuthenticationRequest to allow applications to use their own credentials storage:
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/NetworkSessionCreationParameters.h:
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::persistentCredentialStorageEnabled const):
(WebKit::NetworkDataTaskSoup::authenticate):
(WebKit::NetworkDataTaskSoup::continueAuthenticate):
(WebKit::NetworkDataTaskSoup::didGetHeaders):
- NetworkProcess/soup/NetworkDataTaskSoup.h:
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::setPersistentCredentialStorageEnabled):
- NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::NetworkSessionSoup):
- NetworkProcess/soup/NetworkSessionSoup.h:
- UIProcess/API/glib/WebKitAuthenticationRequest.cpp:
(webkitAuthenticationRequestDispose):
(webkit_authentication_request_class_init):
(webkitAuthenticationRequestCreate):
(webkitAuthenticationRequestDidAuthenticate):
(webkitAuthenticationRequestGetProposedCredential):
(webkit_authentication_request_can_save_credentials):
(webkit_authentication_request_set_can_save_credentials):
(webkit_authentication_request_get_proposed_credential):
(webkit_authentication_request_set_proposed_credential):
(webkit_authentication_request_authenticate):
(webkit_authentication_request_cancel):
- UIProcess/API/glib/WebKitAuthenticationRequestPrivate.h:
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewCompleteAuthenticationRequest):
(webkitWebViewLoadChanged):
(webkitWebViewLoadFailed):
(webkitWebViewLoadFailedWithTLSErrors):
(webkitWebViewHandleAuthenticationChallenge):
- UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(webkit_website_data_manager_set_persistent_credential_storage_enabled):
(webkit_website_data_manager_get_persistent_credential_storage_enabled):
- UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
(webkitAuthenticationDialogInitialize):
- UIProcess/API/gtk/WebKitAuthenticationRequest.h:
- UIProcess/API/gtk/WebKitWebsiteDataManager.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- UIProcess/API/wpe/WebKitAuthenticationRequest.h:
- UIProcess/API/wpe/WebKitWebsiteDataManager.h:
- UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
- UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::persistentCredentialStorageEnabled const):
- UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
(WebKit::WebsiteDataStore::setPersistentCredentialStorageEnabled):
- UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
Tools:
Update the authentication tests to check the new API.
- TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(testWebViewAuthenticationCancel):
(testWebViewAuthenticationLoadCancelled):
(testWebViewAuthenticationFailure):
(testWebViewAuthenticationNoCredential):
(testWebViewAuthenticationEphemeral):
(testWebViewAuthenticationStorage):
(testWebViewAuthenticationSuccess):
(testWebViewAuthenticationEmptyRealm):
(serverCallback):
(beforeAll):
- 12:45 AM Changeset in webkit [263443] by
-
- 2 edits in trunk/Source/WebKit
[GTK][WPE] Do not set the default configuration again when creating the WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=213340
Reviewed by Michael Catanzaro.
WebsiteDataStoreConfiguration already initializes on construction with the default paths, so we only need to
override the ones set by the user.
- UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(webkitWebsiteDataManagerGetDataStore):
- 12:37 AM Changeset in webkit [263442] by
-
- 2 edits in trunk/Source/WebCore
Add referrerpolicy attribute support for <link>
https://bugs.webkit.org/show_bug.cgi?id=213342
Patch by Rob Buis <rbuis@igalia.com> on 2020-06-24
Reviewed by Darin Adler.
Give the referrer policy member a clear default.
- loader/LinkLoader.h: