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

Timeline



Dec 21, 2020:

9:20 PM Changeset in webkit [271048] by Beth Dakin
  • 8 edits in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=220078
Remove non-inclusive language from WebGL tests

Reviewed by Alex Christensen.

  • webgl/1.0.3/resources/webgl_test_files/conformance/extensions/oes-element-index-uint.html:
  • webgl/1.0.3/resources/webgl_test_files/conformance/uniforms/gl-uniform-arrays.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/oes-element-index-uint.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/uniforms/gl-uniform-arrays.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/element-index-uint.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/vertex_arrays/vertex-array-object.html:
  • webgl/2.0.0/resources/webgl_test_files/js/tests/no-over-optimizations-on-uniform-array.js:

(setupTests):

7:23 PM Changeset in webkit [271047] by Simon Fraser
  • 2 edits in trunk/Tools

[macOS MiniBrowser] Add menu items to reset all experimental and internal debug features to defaults
https://bugs.webkit.org/show_bug.cgi?id=220060

Reviewed by Wenson Hsieh.

Add menu items at the bottom of the "Experimental" and "Internal Debug" feature submenus
to reset all the features to their default values.

  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]):
(-[SettingsController resetAllExperimentalFeatures:]):
(-[SettingsController resetAllInternalDebugFeatures:]):

5:04 PM Changeset in webkit [271046] by Alan Coon
  • 1 copy in tags/Safari-610.4.3

Tag Safari-610.4.3.

4:57 PM Changeset in webkit [271045] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

REGRESSION (iOS 14): Bad access crash in ShareableBitmap::makeCGImageCopy() under assignLegacyDataForContextMenuInteraction()
https://bugs.webkit.org/show_bug.cgi?id=219843
<rdar://problem/72537059>

Reviewed by Geoffrey Garen.

Apply a speculative fix for the crash by making the UI process robust in the case where the requested position
information has the isImage flag set, but no native image. Additionally, keep the existing debug assertions by
moving them outside of their current if statements.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView assignLegacyDataForContextMenuInteraction]):
(-[WKContentView continueContextMenuInteraction:]):

4:25 PM Changeset in webkit [271044] by ysuzuki@apple.com
  • 2 edits in trunk/JSTests

[JSC] Update elem.wast.js test
https://bugs.webkit.org/show_bug.cgi?id=220011

Reviewed by Ross Kirsling.

Now all tests pass. Remove FIXME.

  • wasm/spec-tests/elem.wast.js:
3:50 PM Changeset in webkit [271043] by Beth Dakin
  • 49 edits
    11 moves
    2 adds
    2 deletes in trunk/LayoutTests

Remove non-inclusive language from layout tests
https://bugs.webkit.org/show_bug.cgi?id=220063

Reviewed by Geoffrey Garen.

This patch removes many instances of non-inclusive language from the layout tests.

  • fast/canvas/webgl/oes-element-index-uint.html:
  • fast/canvas/webgl/oes-vertex-array-object.html:
  • fast/encoding/idn-security.html:
  • fast/images/image-formats-support-expected.txt:
  • fast/images/image-formats-support.html:
  • fast/text/arabic-blacklisted-expected.html: Removed.
  • fast/text/arabic-blacklisted.html: Removed.
  • fast/text/arabic-blocked-fonts-expected.html: Copied from fast/text/arabic-blacklisted-expected.html.
  • fast/text/arabic-blocked-fonts.html: Copied from fast/text/arabic-blacklisted.html.
  • http/tests/appcache/online-whitelist-expected.txt:
  • http/tests/appcache/online-whitelist.html:
  • http/tests/appcache/resources/allowlist-wildcard.manifest: Copied from http/tests/appcache/resources/whitelist-wildcard.manifest.
  • http/tests/appcache/resources/online-allowlist.manifest: Copied from http/tests/appcache/resources/online-whitelist.manifest.
  • http/tests/appcache/resources/online-allowlist.php: Copied from http/tests/appcache/resources/online-whitelist.php.
  • http/tests/appcache/resources/online-whitelist.manifest: Removed.
  • http/tests/appcache/resources/online-whitelist.php: Removed.
  • http/tests/appcache/resources/whitelist-wildcard.manifest: Removed.
  • http/tests/appcache/whitelist-wildcard-expected.txt:
  • http/tests/appcache/whitelist-wildcard.html:
  • http/tests/misc/char-encoding-bocu-1-blacklisted-expected.txt: Removed.
  • http/tests/misc/char-encoding-bocu-1-blacklisted.html: Removed.
  • http/tests/misc/char-encoding-bocu-1-blocklisted-expected.txt: Added.
  • http/tests/misc/char-encoding-bocu-1-blocklisted.html: Copied from http/tests/misc/char-encoding-bocu-1-blacklisted.html.
  • http/tests/misc/char-encoding-scsu-blacklisted-expected.txt: Removed.
  • http/tests/misc/char-encoding-scsu-blacklisted.html: Removed.
  • http/tests/misc/char-encoding-scsu-blocklisted-expected.txt: Added.
  • http/tests/misc/char-encoding-scsu-blocklisted.html: Copied from http/tests/misc/char-encoding-scsu-blacklisted.html.
  • http/tests/security/contentSecurityPolicy/1.1/stylenonce-allowed-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/stylenonce-allowed.html:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01-expected.txt:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01.html:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02-expected.txt:
  • http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html:
  • http/tests/security/cross-frame-access-enumeration-expected.txt:
  • http/tests/security/cross-frame-access-enumeration.html:
  • http/tests/security/isolatedWorld/cross-origin-xhr-expected.txt:
  • http/tests/security/isolatedWorld/cross-origin-xhr.html:
  • http/tests/security/local-image-from-remote-allow-list-expected.txt:
  • http/tests/security/local-image-from-remote-allow-list.html:
  • http/tests/xmlhttprequest/access-control-basic-allow-list-response-headers-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-allow-list-response-headers.html:
  • http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html:
  • http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached.html:
  • http/tests/xmlhttprequest/origin-allow-list-all-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-all.html:
  • http/tests/xmlhttprequest/origin-allow-list-exact-match-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-exact-match.html:
  • http/tests/xmlhttprequest/origin-allow-list-https-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-https.html:
  • http/tests/xmlhttprequest/origin-allow-list-ip-addresses-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-ip-addresses-with-subdomains.html:
  • http/tests/xmlhttprequest/origin-allow-list-ip-addresses.html:
  • http/tests/xmlhttprequest/origin-allow-list-removal-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-removal.html:
  • http/tests/xmlhttprequest/origin-allow-list-subdomains-expected.txt:
  • http/tests/xmlhttprequest/origin-allow-list-subdomains.html:
  • http/tests/xmlhttprequest/resources/origin-allowlisting-ip-address-test.html: Copied from http/tests/xmlhttprequest/resources/origin-whitelisting-ip-address-test.html.
  • http/tests/xmlhttprequest/resources/origin-whitelisting-ip-address-test.html: Removed.
  • http/tests/xmlhttprequest/workers/resources/access-control-basic-get-fail-non-simple.js:

(start):

  • inspector/timeline/line-column.html:
  • js/promises-tests/resources/mocha.js:
  • media/track/captions-webvtt/allowlist.vtt: Copied from media/track/captions-webvtt/whitelist.vtt.
  • media/track/captions-webvtt/whitelist.vtt: Removed.
  • media/track/track-css-property-allowlist-expected.txt: Added.
  • media/track/track-css-property-allowlist.html: Copied from media/track/track-css-property-whitelist.html.
  • media/track/track-css-property-whitelist-expected.txt: Removed.
  • media/track/track-css-property-whitelist.html: Removed.
  • platform/glib/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wpe/security/block-test-expected.txt:
  • security/block-test-expected.txt:
  • security/block-test.html:
3:05 PM Changeset in webkit [271042] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][Integration] Reserve both the line and the run vector sizes
https://bugs.webkit.org/show_bug.cgi?id=220068
<rdar://problem/72560573>

Reviewed by Simon Fraser.

We actually know how many entries these vectors will have (in case of no-bidi content).

  • layout/integration/LayoutIntegrationInlineContent.h:
  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):

2:31 PM Changeset in webkit [271041] by Chris Dumez
  • 14 edits in trunk/Source

Simplify CARingBuffer usage with SharedMemory storage
https://bugs.webkit.org/show_bug.cgi?id=220047

Reviewed by Geoff Garen.

Simplify CARingBuffer usage with SharedMemory storage:

  1. There are now 2 storage types:
    • ReadOnlySharedRingBufferStorage: Used by the reader
    • SharedRingBufferStorage: Used by the writer One type inherits the other. This allows the API to be a bit clearer and we can drop the m_readyOnly flag.
  2. Drop SharedRingBufferStorage::updateReadOnlyStorage() function. Instead, the reader can now construct a new ReadOnlySharedRingBufferStorage directly of the SharedMemory handle and pass it to the CARingBuffer constructor.

Source/WebCore:

  • platform/audio/cocoa/CARingBuffer.cpp:

(WebCore::CARingBuffer::CARingBuffer):

  • platform/audio/cocoa/CARingBuffer.h:

Source/WebKit:

  • GPUProcess/media/RemoteAudioDestinationManager.cpp:

(WebKit::RemoteAudioDestination::audioSamplesStorageChanged):
(WebKit::RemoteAudioDestination::RemoteAudioDestination):

  • GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp:

(WebKit::RemoteAudioMediaStreamTrackRenderer::RemoteAudioMediaStreamTrackRenderer):
(WebKit::RemoteAudioMediaStreamTrackRenderer::audioSamplesStorageChanged):

  • GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h:
  • GPUProcess/webrtc/RemoteMediaRecorder.cpp:

(WebKit::RemoteMediaRecorder::RemoteMediaRecorder):
(WebKit::RemoteMediaRecorder::audioSamplesStorageChanged):

  • GPUProcess/webrtc/RemoteMediaRecorder.h:
  • Shared/Cocoa/SharedRingBufferStorage.cpp:

(WebKit::ReadOnlySharedRingBufferStorage::ReadOnlySharedRingBufferStorage):
(WebKit::ReadOnlySharedRingBufferStorage::data):
(WebKit::ReadOnlySharedRingBufferStorage::sharedFrameBounds const):
(WebKit::ReadOnlySharedRingBufferStorage::getCurrentFrameBounds):
(WebKit::ReadOnlySharedRingBufferStorage::flush):
(WebKit::ReadOnlySharedRingBufferStorage::updateFrameBounds):
(WebKit::SharedRingBufferStorage::setStorage):
(WebKit::SharedRingBufferStorage::allocate):
(WebKit::SharedRingBufferStorage::deallocate):
(WebKit::SharedRingBufferStorage::setCurrentFrameBounds):

  • Shared/Cocoa/SharedRingBufferStorage.h:

(WebKit::ReadOnlySharedRingBufferStorage::storage const):

  • UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp:

(WebKit::m_ringBuffer):
(WebKit::SpeechRecognitionRemoteRealtimeMediaSource::setStorage):

  • WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp:

(WebKit::RemoteAudioSourceProviderManager::RemoteAudio::RemoteAudio):
(WebKit::RemoteAudioSourceProviderManager::RemoteAudio::setStorage):

  • WebProcess/cocoa/RemoteCaptureSampleManager.cpp:

(WebKit::RemoteCaptureSampleManager::RemoteAudio::RemoteAudio):
(WebKit::RemoteCaptureSampleManager::RemoteAudio::setStorage):

1:59 PM Changeset in webkit [271040] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Retain IPC::Connection when using it when making a NetworkDataTask
https://bugs.webkit.org/show_bug.cgi?id=220067

Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-21
Reviewed by Geoffrey Garen.

r265230 helped, but it's still crashing.
Maybe we're getting a non-null pointer to an object that is about to be destroyed on another thread.
There's no reason not to keep it alive here.
Also, don't release assert in isParentProcessAFullWebBrowser if there's no audit token so we don't
just kick this can down the road.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::sessionWrapperForTask):

1:31 PM Changeset in webkit [271039] by commit-queue@webkit.org
  • 10 edits in trunk

Source/JavaScriptCore:
[JSC] Add minimum parameter to the WASM JS-API for Memory & Table.
https://bugs.webkit.org/show_bug.cgi?id=219600

Patch by Jessica Tallon <jtallon@igalia.com> on 2020-12-21
Reviewed by Yusuke Suzuki.

This patch adds a "minimum" perameter to the constructor of both WebAssembly.Memory and
WebAssembly.Table. This represents the same value as the "initial" perameter. The new
perameter name is outlined here [1]. It is part of the JS type reflection proposal.

[1]: https://github.com/WebAssembly/js-types/blob/master/proposals/js-types/Overview.md#naming-of-size-limits

  • JSTests/wasm/js-api/table.js:
  • JSTests/wasm/js-api/test_memory_constructor.js:
  • Source/JavaScriptCore/wasm/js/WebAssemblyMemoryConstructor.cpp:
  • Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp:

LayoutTests:
[JSC] Fix expectation for WASM JS-type reflection WPTs
https://bugs.webkit.org/show_bug.cgi?id=219600

Patch by Jessica Tallon <jtallon@igalia.com> on 2020-12-21
Reviewed by Yusuke Suzuki.

Changed the expectations for the WASM JS-Type reflections constructor
tests as we now support the minimum parameter.

  • LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/memory/constructor-types.tentative.any.worker-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/wasm/jsapi/table/constructor-types.tentative.any.worker-expected.txt:
12:48 PM Changeset in webkit [271038] by Ryan Haddad
  • 9 edits in trunk/Source

Unreviewed, reverting r270939 and r270952.

Caused layout test timeouts on internal bots

Reverted changesets:

"[Cocoa] WebM format reader doesn't work with a url in a
<source> element"
https://bugs.webkit.org/show_bug.cgi?id=219961
https://trac.webkit.org/changeset/270939

"[Cocoa] WebM format reader doesn't work with a url in a
<source> element"
https://bugs.webkit.org/show_bug.cgi?id=219961
https://trac.webkit.org/changeset/270952

12:46 PM Changeset in webkit [271037] by commit-queue@webkit.org
  • 9 edits in trunk

$(findstring iphone,$(SDKROOT)) fails when SDKROOT is not lowercase
https://bugs.webkit.org/show_bug.cgi?id=219993
rdar://72436093

Patch by Ryan Hostetler <rhost@apple.com> on 2020-12-21
Reviewed by Darin Adler.

Update SDKROOT evaluation to be lowercase and SDK filename only.

.:

  • Source/Makefile:

Source/ThirdParty:

  • Makefile:

Source/ThirdParty/libwebrtc:

  • Makefile:

Tools:

  • ImageDiff/Makefile:
  • Makefile:
12:17 PM Changeset in webkit [271036] by Wenson Hsieh
  • 10 edits in trunk/Source

Many websites crash under toDataURL() when enabling GPU process for DOM
https://bugs.webkit.org/show_bug.cgi?id=220051
<rdar://problem/72412509>

Reviewed by Simon Fraser.

Source/WebCore:

See WebKit ChangeLog for more details.

  • platform/graphics/ImageBufferBackend.h:

Add traits for the PreserveResolution enum flag, so that it can be encoded over IPC.

Source/WebKit:

Three methods of canvas readback (toDataURL, toData, and toBGRAData) currently cause the web content
process to crash when enabling GPU process for DOM rendering. This is because we attempt to call into the
respective methods on the image buffer backend following r270342, which unconditionally fire release assertions.

Instead of using the proxy image buffer backend object in the web process, we need to communicate with the
platform RemoteImageBuffer in the GPU process. To do this, we add some plumbing through
RemoteRenderingBackendProxy and RemoteRenderingBackend, and override the toDataURL, toData, and
toBGRAData methods on RemoteImageBufferProxy in the web process to request data from the remote rendering
backend instead.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::getDataURLForImageBuffer):
(WebKit::RemoteRenderingBackend::getDataForImageBuffer):
(WebKit::RemoteRenderingBackend::getBGRADataForImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/graphics/RemoteRenderingBackend.messages.in:
  • Scripts/webkit/messages.py:
  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::getImageData):
(WebKit::RemoteRenderingBackendProxy::getDataURLForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::getDataForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::getBGRADataForImageBuffer):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
11:56 AM Changeset in webkit [271035] by Russell Epstein
  • 1 copy in tags/Safari-611.1.9.3.1

Tag Safari-611.1.9.3.1.

11:54 AM Changeset in webkit [271034] by keith_miller@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

DFG should make sure replacement watchpoint is fired before folding to PutByOffset
https://bugs.webkit.org/show_bug.cgi?id=220031
<rdar://72045350>

Reviewed by Saam Barati.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::presenceConditionIfConsistent):
(JSC::DFG::ByteCodeParser::checkPresence):
(JSC::DFG::ByteCodeParser::checkPresenceForReplace):
(JSC::DFG::ByteCodeParser::load):
(JSC::DFG::ByteCodeParser::store):
(JSC::DFG::ByteCodeParser::presenceLike): Deleted.
(JSC::DFG::ByteCodeParser::checkPresenceLike): Deleted.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::tryFoldAsPutByOffset):

  • runtime/Structure.cpp:

(JSC::Structure::dump const):

11:44 AM Changeset in webkit [271033] by Russell Epstein
  • 8 edits in branches/safari-611.1.9-branch/Source

Versioning.

WebKit-7611.1.9.3.1

11:38 AM Changeset in webkit [271032] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

Missing textInteractionEnabled key in WKPreferences initWithCoder looks like a false value.
https://bugs.webkit.org/show_bug.cgi?id=220061
<rdar://problem/72487342>

Reviewed by Wenson Hsieh.

We should check for the existence of the textInteractionEnabled key
in the NSCoder before updating the default value in WKPreferences,
otherwise a missing key will register as a false value when the default
of textInteractionEnabled should be true.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences initWithCoder:]):

11:35 AM Changeset in webkit [271031] by sihui_liu@apple.com
  • 11 edits in trunk/Source/WebKit

Check availability of speech recognition service before requesting permissions
https://bugs.webkit.org/show_bug.cgi?id=220033

Reviewed by Youenn Fablet.

If speech recognition service is not available for target language (maybe the language is not supported, user
turns off dictation in system settings, etc), let's just fail the speech recognition request without prompting.

Manually tested with MiniBrowser.

  • UIProcess/Cocoa/MediaPermissionUtilities.mm:

(WebKit::requestSpeechRecognitionAccess):
(WebKit::checkSpeechRecognitionServiceAccess):
(WebKit::checkSpeechRecognitionServiceAvailability):

  • UIProcess/MediaPermissionUtilities.h:
  • UIProcess/SpeechRecognitionPermissionManager.cpp:

(WebKit::SpeechRecognitionPermissionManager::request):
(WebKit::SpeechRecognitionPermissionManager::startProcessingRequest):

  • UIProcess/SpeechRecognitionPermissionManager.h:
  • UIProcess/SpeechRecognitionPermissionRequest.h:

(WebKit::SpeechRecognitionPermissionRequest::create):
(WebKit::SpeechRecognitionPermissionRequest::lang const):
(WebKit::SpeechRecognitionPermissionRequest::SpeechRecognitionPermissionRequest):

  • UIProcess/SpeechRecognitionServer.cpp:

(WebKit::SpeechRecognitionServer::requestPermissionForRequest):

  • UIProcess/SpeechRecognitionServer.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestSpeechRecognitionPermission):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::createSpeechRecognitionServer):

11:24 AM Changeset in webkit [271030] by mark.lam@apple.com
  • 5 edits in branches/safari-610-branch

Cherry-pick r270981. rdar://problem/72552976

2020-12-17 Mark Lam <mark.lam@apple.com>

Add tagging to JIT probe's return address.
https://bugs.webkit.org/show_bug.cgi?id=220008
rdar://71279530

Reviewed by Keith Miller and Robin Morisset.

  • assembler/MacroAssemblerARM64.cpp:
  • assembler/testmasm.cpp: (JSC::testProbeModifiesProgramCounter):
  • runtime/JSCPtrTag.h:
10:48 AM Changeset in webkit [271029] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebKit

Cherry-pick r270998. rdar://problem/72552852

Fix some issues with PDFs as <object>.
https://bugs.webkit.org/show_bug.cgi?id=220024

Reviewed by Tim Horton.

No new tests (Unable to write automated tests)

  • WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::dataProviderGetBytesAtPositionCallback): (WebKit::PDFPlugin::getResourceBytesAtPosition): Set the correct URL. (WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData): Try harder to catch mismatches in delivered bytes vs expected bytes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270998 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:48 AM Changeset in webkit [271028] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/JavaScriptCore

Cherry-pick r270993. rdar://problem/72552973

Build fix after r270988.
https://bugs.webkit.org/show_bug.cgi?id=220021
<rdar://problem/72474809>

Not reviewed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270993 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:47 AM Changeset in webkit [271027] by Russell Epstein
  • 4 edits in branches/safari-610-branch/Source/JavaScriptCore

Cherry-pick r270988. rdar://problem/72552973

Fix MacroAssemblerARM64E::validateUntaggedPtr() to account for TBI.
https://bugs.webkit.org/show_bug.cgi?id=220021
<rdar://problem/72474809>

Reviewed by Saam Barati.

  • assembler/AbstractMacroAssembler.h:
  • assembler/DisallowMacroScratchRegisterUsage.h:
  • templatized the DisallowMacroScratchRegisterUsage class so that we can #include it in MacroAssembler implementations.
  • assembler/MacroAssemblerARM64E.h: (JSC::MacroAssemblerARM64E::validateUntaggedPtr):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270988 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:47 AM Changeset in webkit [271026] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebCore

Cherry-pick r270580. rdar://problem/72552978

Multicolumn children becoming in-flow elements should be inserted into the multicolumn flow
https://bugs.webkit.org/show_bug.cgi?id=218503

Reviewed by Zalan Bujtas.

Out of flow children of a multicolumn container are not really part of the multicolumn flow. Making them in-flow (i.e. setting "position: static;")
should trigger the code that inserts them into the MultiColumnFlowThread object of the multicolumn container. RenderTreeBuilder was handling this
in-flow <-> out-of-flow changes just for the cases in which the inline status of an element was affecting the parent.

  • rendering/RenderMultiColumnFlow.cpp: (WebCore::RenderMultiColumnFlow::normalizeTreeAfterStyleChange): Insert renderer in the multicolumn flow thread whenever it becames in flow.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270580 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:32 AM Changeset in webkit [271025] by Megan Gardner
  • 2 edits in trunk/Source/WebCore

Copy Localizable.strings file into the correct directory
https://bugs.webkit.org/show_bug.cgi?id=220029
rdar://72167601

Reviewed by Alex Christensen.

After the changes in r269865, r269873, r269915, r269932, r269937 the localizable.strings
was not showing up in the right place in the production build to allow it to be correctly
localized. This skips the step of putting it in DerivedSources and just puts the
concatenated file in the final correct directory so we do not have to relay on Xcode build
doing the correct thing for us.

  • WebCore.xcodeproj/project.pbxproj:
10:14 AM Changeset in webkit [271024] by aboya@igalia.com
  • 14 edits in trunk

[MSE] Fix allSamplesInTrackEnqueued() handling
https://bugs.webkit.org/show_bug.cgi?id=220055

Reviewed by Philippe Normand.

Source/WebCore:

Within the changes introduced by r270612 a spurious call to
allSamplesInTrackEnqueued() was added to provideMediaData().

provideMediaData() is called every time there may be new samples that
need to be enqueued into the playback pipeline.

allSamplesInTrackEnqueued() is supposed to be called when
MediaSource.endOfStream() has been called and all pending samples have
been enqueued, therefore signaling the playback pipeline that no more
samples will be added.

Some decoders need to be notified of this condition in order to move
the last samples in their queue downstream. This is true at least of
the avdec (ffmpeg) decoders that are commonly used in desktop versions
of the GStreamer port.

Calling allSamplesInTrackEnqueued() prematurely will mess with the
playback as the code will not accept any more samples, a serious
problem. This patch fixes it by removing the spurious call and
restoring its original purpose when it was introduced in r230909.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::streamEndedWithError):
(WebCore::MediaSource::openIfInEndedState):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::setMediaSourceEnded):
(WebCore::SourceBuffer::trySignalAllSamplesEnqueued): Deleted.

  • Modules/mediasource/SourceBuffer.h:
  • platform/graphics/SourceBufferPrivate.cpp:

(WebCore::SourceBufferPrivate::setMediaSourceEnded):
(WebCore::SourceBufferPrivate::trySignalAllSamplesInTrackEnqueued):
(WebCore::SourceBufferPrivate::provideMediaData):

  • platform/graphics/SourceBufferPrivate.h:

Source/WebKit:

trySignalAllSamplesInTrackEnqueued() does not need to be exposed
outside of SourceBufferPrivate.

  • GPUProcess/media/RemoteSourceBufferProxy.cpp:

(WebKit::RemoteSourceBufferProxy::trySignalAllSamplesInTrackEnqueued): Deleted.

  • GPUProcess/media/RemoteSourceBufferProxy.h:
  • GPUProcess/media/RemoteSourceBufferProxy.messages.in:
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:

(WebKit::SourceBufferPrivateRemote::trySignalAllSamplesInTrackEnqueued): Deleted.

  • WebProcess/GPU/media/SourceBufferPrivateRemote.h:

LayoutTests:

Adjusted test expectations.

  • platform/glib/TestExpectations:
10:11 AM Changeset in webkit [271023] by Ryan Haddad
  • 1 edit
    4 adds in trunk/LayoutTests

Unreviewed test gardening, rebaseline tests for Windows.

  • platform/win/http/tests/xmlhttprequest/methods-async-expected.txt: Added.
  • platform/win/http/tests/xmlhttprequest/methods-expected.txt: Added.
  • platform/win/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Added.
9:54 AM Changeset in webkit [271022] by Fujii Hironori
  • 2 edits in trunk/Tools

[Win][MiniBrowser] Update built-in User-Agent strings (December 2020)
https://bugs.webkit.org/show_bug.cgi?id=220048

Reviewed by Alex Christensen.

  • MiniBrowser/win/BrowserWindow.cpp:

(BrowserWindow::setUserAgent):

8:10 AM Changeset in webkit [271021] by Aditya Keerthi
  • 8 edits in trunk

REGRESSION (r262729): Poor contrast for specific color/background combinations on disabled input fields
https://bugs.webkit.org/show_bug.cgi?id=219991
<rdar://problem/70522921>

Reviewed by Sam Weinig.

Source/WebCore:

The text color for disabled input fields is adjusted based on any
specified color and background-color rules.

r262729 modified the adjustment logic to use the contrastRatio
utility function to determine illegibility issues due to contrast,
rather than a differenceSquared computation. In both cases if the
computed value is less than a minimum constrast value, the original
text color is preserved. As a part of the change, the minimum
contrast value was set to 1.1, a value chosen in order to maintain
the appearance of fast/forms/input-disabled-color.html.

However, the constrast value 1.1 results in combination of
"color #acacac" and "background-color: #f2f2f2" producing white
text on a light gray background, which is illegible. Previously,
this color combination did not result in any change to the text color.

In order to fix, increase the minimum color constrast to 1.195,
which accounts for the failing combination. Note that this increase to
the minimum value prevents some existing text color adjustments
from being performed. This is evidenced by the need to rebaseline
fast/forms/input-disabled-color.html after increasing the constrast.
However, the new text colors are subjectively more legible, which
is the reason why we have a minimum color constrast value.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::disabledTextColor const):

LayoutTests:

Updated an existing test to account for the failing color/background
combination and rebaselined expectations to match the new minimum
constrast ratio.

  • fast/forms/input-disabled-color.html:
  • platform/ios/fast/forms/input-disabled-color-expected.txt:
  • platform/mac-catalina/fast/forms/input-disabled-color-expected.txt:
  • platform/mac-mojave/fast/forms/input-disabled-color-expected.txt:
  • platform/mac/fast/forms/input-disabled-color-expected.txt:
4:15 AM Changeset in webkit [271020] by aboya@igalia.com
  • 5 edits in trunk/LayoutTests

media-source-webm.html: Handle frame size in HAVE_METADATA
https://bugs.webkit.org/show_bug.cgi?id=220046

Reviewed by Eric Carlson.

The current version of media-source-webm.html assumes that a resize
event happens after the first media segment is appended.

This is not necessarily true. In fact, an initialization segment
should cause a transition to HAVE_METADATA, and that per spec implies
the size of the video is known.

In practice, some implementations don't report this until a media
segment has arrived.

Because of the way the current code is written, an implementation
emitting resize on HAVE_METADATA would timeout the test. This patch
fixes that, accomodating both cases.

  • media/media-source/media-source-webm.html:
  • media/media-source/media-source-webm-expected.txt:
  • platform/glib/TestExpectations:
  • platform/wpe/TestExpectations:

Dec 20, 2020:

8:07 PM Changeset in webkit [271019] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Rename FrameView::sendResizeEventIfNeeded() to scheduleResizeEventIfNeeded()
https://bugs.webkit.org/show_bug.cgi?id=220050

Reviewed by Ryosuke Niwa.

FrameView::sendResizeEventIfNeeded() only schedules events, it does not send them,
so rename accordingly.

Also fix some logging.

  • dom/Document.cpp:

(WebCore::Document::runResizeSteps):
(WebCore::Document::runScrollSteps):

  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::scheduleResizeEventIfNeeded):
(WebCore::FrameView::setCustomSizeForResizeEvent):
(WebCore::FrameView::sendResizeEventIfNeeded): Deleted.

  • page/FrameView.h:
6:23 PM Changeset in webkit [271018] by Simon Fraser
  • 2 edits in trunk/Tools

Fix the lldb WebCoreColorProvider
https://bugs.webkit.org/show_bug.cgi?id=220049

Reviewed by Sam Weinig.

Fix the lldb color provider after Color internals where shifted around.

  • lldb/lldb_webkit.py:

(WebCoreColorProvider.to_string):

3:15 PM Changeset in webkit [271017] by Chris Dumez
  • 9 edits in trunk/Source

Unreviewed, reverting r270969.

Regressed MotionMark with GPUProcess enabled

Reverted changeset:

"[iOS] Stop leaking an XPC boost message to XPC services"
https://bugs.webkit.org/show_bug.cgi?id=219453
https://trac.webkit.org/changeset/270969

12:16 PM Changeset in webkit [271016] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[WinCairo] Unreviewed typo fix of r271015
https://bugs.webkit.org/show_bug.cgi?id=220000
<rdar://problem/72531245>

Reviewed by Kenneth Russell.

  • platform/graphics/win/PlatformDisplayWin.cpp:

(WebCore::PlatformDisplayWin::initializeEGLDisplay): Fixed a typo 'attributs'.

12:09 PM Changeset in webkit [271015] by Fujii Hironori
  • 5 edits
    1 add in trunk

[WinCairo][WebGL] webgl/1.0.3/conformance/misc/uninitialized-test.html is failing only for Debug builds
https://bugs.webkit.org/show_bug.cgi?id=220000

Reviewed by Kenneth Russell.

Source/WebCore:

Some WebGL tests were failing only in debug builds. Those test
cases expect black transparent for uninitialized buffers. ANGLE
enables debug layers as default only for debug builds. And it
fills uninitialized buffers with kDebugColorInitClearValue instead
of black transparent.

Create a PlatformDisplay with explicitly disabling debug layers by
using EGL_PLATFORM_ANGLE_DEBUG_LAYERS_ENABLED_ANGLE.

  • PlatformWinCairo.cmake:
  • platform/graphics/win/PlatformDisplayWin.cpp: Added.

(WebCore::PlatformDisplayWin::initializeEGLDisplay):

  • platform/graphics/win/PlatformDisplayWin.h:

LayoutTests:

  • platform/wincairo/TestExpectations:
10:56 AM Changeset in webkit [271014] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Let's create the run and update the box geometry in one go for atomic inline level boxes
https://bugs.webkit.org/show_bug.cgi?id=220045

Reviewed by Antti Koivisto.

Let's not run the "same" loop twice on atomic inline level boxes (first when we create the line run and the second time we
we update the associated the box geometry). Unfortunately we still have to run a second pass on the inline boxes (e.g <span>) as
they behave as containers (there's room for improvement here too).

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

  • layout/inlineformatting/InlineLineBox.cpp:

(WebCore::Layout::LineBox::addInlineLevelBox):

  • layout/inlineformatting/InlineLineBox.h:

(WebCore::Layout::LineBox::hasInlineBox const):

8:29 AM Changeset in webkit [271013] by commit-queue@webkit.org
  • 14 edits in trunk/Source

Convert remaining FrameLoaderType enums to enum classes
https://bugs.webkit.org/show_bug.cgi?id=219898

Patch by Rob Buis <rbuis@igalia.com> on 2020-12-20
Reviewed by Sam Weinig.

Source/WebCore:

Convert remaining FrameLoaderType enums to enum classes.
Not converted is ShouldReplaceDocumentIfJavaScriptURL
since it should be removed eventually.

  • dom/Document.cpp:

(WebCore::Document::open):

  • history/BackForwardCache.cpp:

(WebCore::canCacheFrame):
(WebCore::firePageHideEventRecursively):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::isLoadingInAPISense const):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::initForSynthesizedDocument):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::closeURL):
(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::activeDocumentLoader const):
(WebCore::FrameLoader::setState):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::receivedMainResourceError):
(WebCore::FrameLoader::dispatchUnloadEvents):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad):
(WebCore::FrameLoader::shouldSuppressTextInputFromEditing const):

  • loader/FrameLoader.h:
  • loader/FrameLoaderTypes.h:
  • loader/NavigationScheduler.cpp:

(WebCore::NavigationScheduler::schedule):

  • loader/SubframeLoader.cpp:

(WebCore::FrameLoader::SubframeLoader::loadSubframe):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

  • page/FrameView.cpp:

(WebCore::FrameView::shouldSuspendScrollAnimations const):

Source/WebKit:

Adapt to enum class changes.

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameGetFrameLoadState):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):

7:11 AM Changeset in webkit [271012] by Alan Bujtas
  • 13 edits in trunk/Source/WebCore

[LFC] Move content height logic to the formatting contexts.
https://bugs.webkit.org/show_bug.cgi?id=220040

Reviewed by Simon Fraser.

Formatting contexts know about their content height.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::geometryForBox const):

  • layout/FormattingContext.h:
  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::usedContentHeight const):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/flexformatting/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::usedContentHeight const):

  • layout/flexformatting/FlexFormattingContext.h:
  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::usedContentHeight const):

  • layout/inlineformatting/InlineFormattingContext.h:
  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::usedContentHeight const):

  • layout/tableformatting/TableFormattingContext.h:
  • layout/tableformatting/TableFormattingContextGeometry.cpp:

(WebCore::Layout::TableFormattingContext::Geometry::cellHeigh const):

Note: See TracTimeline for information about the timeline view.