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

Timeline



Jun 28, 2020:

8:48 PM Changeset in webkit [263643] by Lauro Moura
  • 2 edits
    2 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 Lauro Moura
  • 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 Lauro Moura
  • 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 Alan Bujtas
  • 5 edits
    2 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 Alan Bujtas
  • 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 Alexey Shvayka
  • 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 commit-queue@webkit.org
  • 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 Chris Dumez
  • 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 ggaren@apple.com
  • 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):

(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 dbates@webkit.org
  • 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 youenn@apple.com
  • 16 edits
    2 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 Philippe Normand
  • 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 Alan Bujtas
  • 3 edits
    2 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 dbates@webkit.org
  • 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 keith_miller@apple.com
  • 5 edits
    1 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 mark.lam@apple.com
  • 11 edits
    2 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 jer.noble@apple.com
  • 4 edits
    1 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 Chris Dumez
  • 28 edits
    1 copy
    4 adds
    1 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 commit-queue@webkit.org
  • 6 edits
    1 copy
    3 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 commit-queue@webkit.org
  • 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 youenn@apple.com
  • 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 youenn@apple.com
  • 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 Chris Dumez
  • 32 edits
    7 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 weinig@apple.com
  • 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 sbarati@apple.com
  • 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 sbarati@apple.com
  • 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 weinig@apple.com
  • 30 edits
    2 copies
    3 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 stephan.szabo@sony.com
  • 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
Note: See TracTimeline for information about the timeline view.