[webkit-changes] [WebKit/WebKit] a8bff3: Cherry-pick 266247 at main (b1a659b38f09). https://bu...
Adrian Perez
noreply at github.com
Wed Nov 15 02:13:27 PST 2023
Branch: refs/heads/webkitglib/2.42
Home: https://github.com/WebKit/WebKit
Commit: a8bff3c5374d12655ecc0d718f86d57f4b8cd4e0
https://github.com/WebKit/WebKit/commit/a8bff3c5374d12655ecc0d718f86d57f4b8cd4e0
Author: Anne van Kesteren <annevk at annevk.nl>
Date: 2023-11-14 (Tue, 14 Nov 2023)
Changed paths:
M Source/WebCore/fileapi/BlobURL.cpp
Log Message:
-----------
Cherry-pick 266247 at main (b1a659b38f09). https://bugs.webkit.org/show_bug.cgi?id=261674
Return opaque origin for blob: URL containing inner non-http(s): URL
https://bugs.webkit.org/show_bug.cgi?id=257262
rdar://109781193
Reviewed by Alex Christensen and Darin Adler.
Refactor SecurityOrigin so it is more clear blob: URLs are the sole
special case. And change how we derive the blob: URL origin to align
with the URL standard:
* No longer perform percent-decoding (matches other browsers).
* Restrict non-opaque origins to HTTP(S) URLs (will soon match other
browsers). However:
* Still give blob: URLs derived from file: origins an origin for now
as removing that ability needs a bit more care. This currently goes
against the URL standard, but that might change.
* Also give registered schemes a pass to allow embedders to continue
to use blob: URLs as they see fit.
Also change BlobURL to rely more directly on SecurityOrigin.
* LayoutTests/imported/w3c/web-platform-tests/url/a-element-origin-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/a-element-origin-xhtml-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/url-origin.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/url-origin.any.worker-expected.txt:
* Source/WebCore/fileapi/BlobURL.cpp:
(WebCore::BlobURL::getOriginURL):
(WebCore::BlobURL::isSecureBlobURL):
* Source/WebCore/fileapi/ThreadableBlobRegistry.cpp:
(WebCore::ThreadableBlobRegistry::getCachedOrigin):
* Source/WebCore/page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::create):
(WebCore::SecurityOrigin::forBlobURL):
(WebCore::SecurityOrigin::isSecure):
(WebCore::SecurityOrigin::shouldUseInnerURL): Deleted.
(WebCore::SecurityOrigin::extractInnerURL): Deleted.
* Source/WebCore/page/SecurityOrigin.h:
* Source/WebCore/page/SecurityOriginData.cpp:
(WebCore::SecurityOriginData::shouldTreatAsOpaqueOrigin):
Canonical link: https://commits.webkit.org/266247@main
Commit: e337a3fb115f3cff7f9ac5b70bfe1584194dd839
https://github.com/WebKit/WebKit/commit/e337a3fb115f3cff7f9ac5b70bfe1584194dd839
Author: Michael Catanzaro <mcatanzaro at redhat.com>
Date: 2023-11-14 (Tue, 14 Nov 2023)
Changed paths:
M Source/WebCore/page/SecurityOrigin.cpp
Log Message:
-----------
Cherry-pick 270274 at main (58df23fe5ac5). https://bugs.webkit.org/show_bug.cgi?id=260771
REGRESSION(266247 at main): PDF "Save" button does nothing, "Print" function also broken
https://bugs.webkit.org/show_bug.cgi?id=260771
Reviewed by Chris Dumez.
The PDF.js viewer protocol and resource protocols both should be treated
the same as HTTP protocols and have access to blob URLs. The protocol is
an implementation detail that shouldn't affect how the web content
behaves and certainly should not restrict access to web platform
features.
* Source/WebCore/page/SecurityOrigin.cpp:
(WebCore::isSafelistedBlobProtocol):
Canonical link: https://commits.webkit.org/270274@main
Commit: 8f701f25fa58dc0846739b264cf5414aaad69ae2
https://github.com/WebKit/WebKit/commit/8f701f25fa58dc0846739b264cf5414aaad69ae2
Author: Chris Dumez <cdumez at apple.com>
Date: 2023-11-14 (Tue, 14 Nov 2023)
Changed paths:
M Source/WTF/wtf/Algorithms.h
M Source/WebCore/platform/audio/AudioArray.h
M Source/WebCore/platform/audio/AudioBus.cpp
M Source/WebCore/platform/audio/AudioChannel.h
M Source/WebCore/platform/audio/MultiChannelResampler.cpp
M Source/WebCore/platform/audio/MultiChannelResampler.h
M Source/WebCore/platform/audio/SincResampler.cpp
M Source/WebCore/platform/audio/SincResampler.h
Log Message:
-----------
Cherry-pick 270409 at main (4e588185b230). https://bugs.webkit.org/show_bug.cgi?id=261674
Security hardening for SincResampler
https://bugs.webkit.org/show_bug.cgi?id=261317
rdar://105650262
Reviewed by David Kilzer and Darin Adler.
Do security hardening for SincResampler as we have evidence that we're getting
the logic wrong in some cases and doing a heap-buffer overflow WRITE.
This patch updates SincResampler to use `std::span<float>` instead of `float*` and
to leverage new memcpySpans() / memsetSpan() functions
I added to WTF.
This had several benefits:
- Using std::span means we don't lose tracks of our buffer bounds so we can do
extra bounds checks.
- We benefit from std::span's bounds checks too which are already enabled on trunk
via `-D_LIBCPP_ENABLE_ASSERTIONS=1`. Those checks apply to subspan() and operator[]
in particular, both of which are used by SincResampler.
* Source/WTF/WTF.xcodeproj/project.pbxproj:
* Source/WTF/wtf/Algorithms.h:.
(WTF::memcpySpans):
(WTF::memsetSpan):
* Source/WebCore/platform/audio/AudioArray.h:
(WebCore::AudioArray::toSpan):
(WebCore::AudioArray::toSpan const):
* Source/WebCore/platform/audio/AudioBus.cpp:
(WebCore::AudioBus::createBySampleRateConverting):
* Source/WebCore/platform/audio/AudioChannel.h:
* Source/WebCore/platform/audio/MultiChannelResampler.cpp:
(WebCore::MultiChannelResampler::process):
(WebCore::MultiChannelResampler::provideInputForChannel):
* Source/WebCore/platform/audio/MultiChannelResampler.h:
* Source/WebCore/platform/audio/SincResampler.cpp:
(WebCore::SincResampler::SincResampler):
(WebCore::SincResampler::updateRegions):
(WebCore::SincResampler::processBuffer):
(WebCore::SincResampler::process):
* Source/WebCore/platform/audio/SincResampler.h:
Originally-landed-as: 265870.537 at safari-7616-branch (9c1f377498c2). rdar://118088415
Canonical link: https://commits.webkit.org/270409@main
Commit: 164b206e9bdebe0fbd2ef7abdc650ef931d0e8ad
https://github.com/WebKit/WebKit/commit/164b206e9bdebe0fbd2ef7abdc650ef931d0e8ad
Author: Philippe Normand <philn at igalia.com>
Date: 2023-11-14 (Tue, 14 Nov 2023)
Changed paths:
M Source/WebCore/platform/audio/SincResampler.cpp
Log Message:
-----------
Cherry-pick 270447 at main (3e1921097f86). https://bugs.webkit.org/show_bug.cgi?id=264484
REGRESSION(270409 at main): Broke linux clang-16 builds
https://bugs.webkit.org/show_bug.cgi?id=264484
Reviewed by Chris Dumez.
* Source/WebCore/platform/audio/SincResampler.cpp:
(WebCore::SincResampler::processBuffer): Use gcc/clang agnostic pragma macros instead of the ones
specific to GCC.
Canonical link: https://commits.webkit.org/270447@main
Commit: 10543a84b7c2d7a3c47203fce1dc4b0e27781c1f
https://github.com/WebKit/WebKit/commit/10543a84b7c2d7a3c47203fce1dc4b0e27781c1f
Author: Adrian Perez de Castro <aperez at igalia.com>
Date: 2023-11-14 (Tue, 14 Nov 2023)
Changed paths:
M Source/WebKit/wpe/NEWS
M Source/cmake/OptionsWPE.cmake
Log Message:
-----------
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.42.2 release
* Source/WebKit/wpe/NEWS: Add release notes for 2.42.2.
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
Compare: https://github.com/WebKit/WebKit/compare/e8377a74da4c...10543a84b7c2
More information about the webkit-changes
mailing list