Timeline
Dec 17, 2021:
- 9:45 PM Changeset in webkit [287219] by
-
- 4 edits in trunk/Source/WebCore
Hide viewport-constrained elements that are detected by ModalContainerObserver
https://bugs.webkit.org/show_bug.cgi?id=234216
Reviewed by Tim Horton.
Make a small Style::Adjuster tweak to hide (i.e. set
display: none;) on an element that is tagged as the
current "modal container" on ModalContainerObserver. See #234214 for more details.
- page/ModalContainerObserver.cpp:
(WebCore::ModalContainerObserver::updateModalContainerIfNeeded):
Additionally invalidate style when setting
m_containerhere, so that the style adjuster can kick in and set
display: none;on a modal container after it is detected.
(WebCore::ModalContainerObserver::shouldHide):
- page/ModalContainerObserver.h:
- style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjust const):
- 7:35 PM Changeset in webkit [287218] by
-
- 3 edits in trunk/Source/JavaScriptCore
Use IRC by default on arm64
https://bugs.webkit.org/show_bug.cgi?id=234449
Reviewed by Yusuke Suzuki.
I'm seeing a Wasm perf improvement on some benchmarks of ~12% by switching
from Briggs to IRC. Let's make IRC the default on arm64.
- b3/air/AirAllocateRegistersByGraphColoring.cpp:
- b3/air/AirAllocateRegistersByGraphColoring.h:
(JSC::B3::Air::useIRC): Deleted.
- 7:06 PM Changeset in webkit [287217] by
-
- 10 edits2 adds in trunk/Source
Add support for detecting modal containers that contain a given search term
https://bugs.webkit.org/show_bug.cgi?id=234214
Reviewed by Tim Horton and Devin Rousso.
Source/WebCore:
Introduce ModalContainerObserver (a helper class that searches for a substring vended by the client layer in
text inside viewport-constrained renderers). If found, we keep track of the viewport-constrained container with
the matching text for use in future patches.
There is no change in behavior yet.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::modalContainerObserver):
Returns the document's ModalContainerObserver, creating it only if needed (per the modal container observation
policy vended by the client).
(WebCore::Document::modalContainerObserverIfExists const):
- dom/Document.h:
- page/ChromeClient.h:
(WebCore::ChromeClient::searchStringForModalContainerObserver const):
- page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):
Add a hook to create and call into ModalContainerObserver to search for a modal container (if necessary).
- page/ModalContainerObserver.cpp: Added.
(WebCore::ModalContainerObserver::isNeededFor):
Add a helper method to determine whether this "modal container observer" should be created and used for the
current document.
(WebCore::matchesSearchTerm):
(WebCore::ModalContainerObserver::updateModalContainerIfNeeded):
Iterates through all viewport-constrained render objects in the FrameView, in search of one that matches the
search term given by the client. This currently ensures that we only search any viewport-constrained element at
most once by maintaining a weakm_elementsToIgnoreWhenSearchingset, but we may need a mechanism in the future
to remove elements from this set upon changing text content.
- page/ModalContainerObserver.h: Added.
Source/WebKit:
Add a WebKitAdditions hook that implements a new chrome client method. See WebCore/ChangeLog for more details.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::searchStringForModalContainerObserver const):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- 6:30 PM Changeset in webkit [287216] by
-
- 2 edits in trunk/Source/bmalloc
Unreviewed, pas_probabilistic_guard_malloc_allocator.c is broken when LIBPAS is not enabled
https://bugs.webkit.org/show_bug.cgi?id=234415
- libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:
- 6:09 PM Changeset in webkit [287215] by
-
- 3 edits in trunk/Source/bmalloc
Unreviewed, CMakeLists is missing pas_probabilistic_guard_malloc_allocator.[ch]
https://bugs.webkit.org/show_bug.cgi?id=234415
- CMakeLists.txt:
- libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:
- 5:13 PM Changeset in webkit [287214] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] Use inline-assembly ARM64 code in GCC too
https://bugs.webkit.org/show_bug.cgi?id=234450
Reviewed by Saam Barati.
Same problem to r287168 can happen in GCC too. Use inline assembly version
of CAS operation on ARM64 in GCC too. We also use ARM_FEATURE_ATOMICS
to determine whether LSE atomics is enabled further (but since this is very
new macro, we continue using the old check too).
- libpas/src/libpas/pas_utils.h:
(pas_atomic_store_uint8):
(pas_compare_and_swap_uint8_weak):
(pas_compare_and_swap_uint8_strong):
(pas_compare_and_swap_uint16_weak):
(pas_compare_and_swap_uint32_weak):
(pas_compare_and_swap_uint32_strong):
(pas_compare_and_swap_uint64_weak):
(pas_compare_and_swap_uint64_strong):
(pas_compare_and_swap_pair_weak):
(pas_compare_and_swap_pair_strong):
(pas_atomic_store_pair):
- 4:27 PM Changeset in webkit [287213] by
-
- 2 edits in trunk/Source/WebCore
Add comment to r287208.
https://bugs.webkit.org/show_bug.cgi?id=234428
Unreviewed.
No new tests because there is no behavior change.
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyCSSVisibilityRules):
- 3:20 PM Changeset in webkit [287212] by
-
- 2 edits in branches/safari-612-branch/Source/WebKit
Apply patch. rdar://problem/86635432
- 3:17 PM Changeset in webkit [287211] by
-
- 8 edits in branches/safari-612-branch/Source
Versioning.
WebKit-7612.4.7
- 2:48 PM Changeset in webkit [287210] by
-
- 5 edits in releases/WebKitGTK/webkit-2.34
Merge r282084 - [wpt-improvement] Improve CSP support for window reuse
https://bugs.webkit.org/show_bug.cgi?id=229882
<rdar://78416553>
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Rebaseline a test that now passes.
- web-platform-tests/content-security-policy/sandbox/window-reuse-sandboxed-expected.txt:
Source/WebCore:
If window.open is used to host content with a CSP sandbox header, we should always
create a new window, rather than reusing the existing one, unless the header
includes 'allow-same-site'.
This improves our WPT score.
Tested by: imported/w3c/web-platform-tests/content-security-policy/sandbox/window-reuse-sandboxed.html
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived): Parse the HTTP headers earlier so we can
make decisions based on their state.
- loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin): Don't reuse the current window if 'allow-same-site'
is not allowed.
- 2:48 PM Changeset in webkit [287209] by
-
- 8 edits in releases/WebKitGTK/webkit-2.34
Merge r281941 - [COOP] html/cross-origin-opener-policy/coop-navigate-same-origin-csp-sandbox.html WPT test is failing
https://bugs.webkit.org/show_bug.cgi?id=229716
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline WPT test that is now passing.
- web-platform-tests/html/cross-origin-opener-policy/coop-navigate-same-origin-csp-sandbox-expected.txt:
Source/WebCore:
The COOP algorithm is relying on the response origin for some of the checks. We were computing the
response origin viaSecurityOrigin::create(response.url()), which worked fine in most cases.
However, the response may contain a CSP header, which could set sandbox flags. If sandbox flags
are set, the response origin should be unique, not the origin of the response URL. This patch fixes
that.
No new tests, rebaselined existing WPT test.
- loader/DocumentLoader.cpp:
(WebCore::computeResponseOriginAndCOOP):
(WebCore::DocumentLoader::doCrossOriginOpenerHandlingOfResponse):
- loader/DocumentLoader.h:
(WebCore::DocumentLoader::contentSecurityPolicy const):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::copyStateFrom):
(WebCore::ContentSecurityPolicy::didReceiveHeaders):
- page/csp/ContentSecurityPolicy.h:
(WebCore::ContentSecurityPolicy::sandboxFlags const):
- 2:41 PM Changeset in webkit [287208] by
-
- 3 edits in trunk/Source/WebCore
Refactor WidthIterator::applyCSSVisibilityRules() to be a little more elegant
https://bugs.webkit.org/show_bug.cgi?id=234428
Reviewed by Alan Bujtas.
This adds a few lambda operations in this function:
- adjustForSyntheticBold()
- clobberGlyph()
- clobberAdvance()
- deleteGlyph()
And then updates the rest of the function to use those operations. I think this makes
the body of the function a little easier to understand, because the code uses a higher
level of abstraction. It shoudln't be any slower, though, because the lambdas can all
be inlined to the same code that was there before.
No new tests because there is no behavior change.
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyCSSVisibilityRules):
(WebCore::WidthIterator::adjustForSyntheticBold): Deleted.
- platform/graphics/WidthIterator.h:
- 2:25 PM Changeset in webkit [287207] by
-
- 7 edits in trunk/Source
Add custom copy() method for Ref<T> to CrossThreadCopier
https://bugs.webkit.org/show_bug.cgi?id=234411
Reviewed by Youenn Fablet.
Source/WebCore:
- Modules/filesystemaccess/FileSystemStorageConnection.h:
- Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:
(WebCore::WorkerFileSystemStorageConnection::getFileHandle):
(WebCore::WorkerFileSystemStorageConnection::getDirectoryHandle):
(WebCore::WorkerFileSystemStorageConnection::getHandle):
(WebCore::WorkerFileSystemStorageConnection::didGetHandleWithType): Deleted.
- Modules/filesystemaccess/WorkerFileSystemStorageConnection.h:
Source/WTF:
- wtf/CrossThreadCopier.cpp:
- wtf/CrossThreadCopier.h:
- 2:09 PM Changeset in webkit [287206] by
-
- 5 edits2 adds in trunk/Source/WebCore
Deduplicate code in RenderText::computePreferredLogicalWidths()
https://bugs.webkit.org/show_bug.cgi?id=234424
Reviewed by Alan Bujtas.
We have 3 places with code of this form:
float result;
std::optional<float> wordTrailingSpaceWidth;
if (currentCharacterIsSpace)
wordTrailingSpaceWidth = wordTrailingSpace.width(fallbackFonts);
if (wordTrailingSpaceWidth)
result = measureText(startingCharacterIndex, length + 1) - wordTrailingSpaceWidth.value();
else
result = measureText(startingCharacterIndex, length);
This patch simply deduplicates this logic, and puts it into a single function:
RenderText::measureTextConsideringPossibleTrailingSpace(). Because the different places which call it
use different text measurement functions, this function accepts a "measure text" callback.
No new tests because there is no behavior change.
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCacheConsideringPossibleTrailingSpace const):
(WebCore::RenderText::maxWordFragmentWidth):
(WebCore::RenderText::computePreferredLogicalWidths):
- rendering/RenderText.h:
- rendering/RenderTextInlines.h: Added. This function needs to be able to see into WordTrailingSpace,
but we shouldn't be adding any more #includes to RenderText.h because doing so will increase the build time.
So, instead, we can move this templated function to a new Inlines header, and have callers include that
header.
(WebCore::RenderText::measureTextConsideringPossibleTrailingSpace):
- rendering/line/BreakingContext.h:
(WebCore::BreakingContext::textWidthConsideringPossibleTrailingSpace):
(WebCore::BreakingContext::computeAdditionalBetweenWordsWidth):
(WebCore::WordTrailingSpace::WordTrailingSpace): Deleted.
(WebCore::WordTrailingSpace::width): Deleted.
- rendering/line/WordTrailingSpace.h: Added. BreakingContext.h defines WordTrailingSpace, but it needs
to be able to call measureTextConsideringPossibleTrailingSpace(), which needs to be able to see inside
WordTrailingSpace. Avoid the circular dependency by splitting out WordTrailingSpace into its own file.
(WebCore::WordTrailingSpace::WordTrailingSpace):
(WebCore::WordTrailingSpace::width):
- 1:51 PM Changeset in webkit [287205] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Use the inline box's direction to decide if start/end decorations should be applied on first/last box
https://bugs.webkit.org/show_bug.cgi?id=234423
Reviewed by Antti Koivisto.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
- 1:39 PM Changeset in webkit [287204] by
-
- 3 edits in trunk/Source/ThirdParty/ANGLE
[ANGLE] "WARN: driver_utils.cpp:169 (rx::GetVendorString):! Unimplemented: rx::GetVendorString" on WinCairo debug testing bot
https://bugs.webkit.org/show_bug.cgi?id=234371
Reviewed by Kenneth Russell.
After r286603 updated ANGLE, WinCairo debug testing bot was
observing annoying warning message for all WebGL tessts.
WARN: driver_utils.cpp:169 (rx::GetVendorString): ! Unimplemented: rx::GetVendorString(..\..\Source\ThirdParty\ANGLE\src\libANGLE\renderer\driver_utils.cpp:169)
The vendor ID was 0x1414 (Microsoft).
<https://pcisig.com/membership/member-companies>
- src/libANGLE/renderer/driver_utils.cpp:
(rx::GetVendorString): Added more vendor strings for vendor IDs.
- src/libANGLE/renderer/driver_utils.h: Added VENDOR_ID_MICROSOFT.
- 1:05 PM Changeset in webkit [287203] by
-
- 2 edits in trunk/Source/JavaScriptCore
Support WasmAddress in B3 CSE
https://bugs.webkit.org/show_bug.cgi?id=234051
<rdar://problem/86552957>
Reviewed by Filip Pizlo and Yusuke Suzuki.
This patch adds support in B3's CSE phase to handle WasmAddressValue computations.
The reason this can't partake in pure CSE is that WasmAddressValue reads pinned.
To support this, we keep track of which blocks write pinned. If we're trying to
replace a value V2 with V1 because it appears there is a redundancy, we check if
any paths from V1 to V2 write pinned. If none do, we proceed with the replacement.
- b3/B3EliminateCommonSubexpressions.cpp:
- 12:55 PM Changeset in webkit [287202] by
-
- 2 edits in trunk/Tools
[JSC] Fix runscript's standalone ability to run
https://bugs.webkit.org/show_bug.cgi?id=234166
Reviewed by Mark Lam.
r286109 broke the ability to run
runscriptas a standalone script to test JSC stress test package on the device.
This patch reverts the ability back.
- Scripts/jsc-stress-test-helpers/shell-runner.sh:
- 12:08 PM Changeset in webkit [287201] by
-
- 2 edits in trunk/LayoutTests
Rebaseline after r287199.
Unreviewed.
- platform/ios/fast/borders/rtl-border-05-expected.txt:
- 11:53 AM Changeset in webkit [287200] by
-
- 2 edits in trunk/Source/WTF
MSVC reports "wtf/RetainPtr.h(196): error C3861: 'CFAutorelease': identifier not found " with /permissive- on Windows
https://bugs.webkit.org/show_bug.cgi?id=202842
Reviewed by Alex Christensen and Darin Adler.
MSVC /std:c++20 option implicitly enables /permissive- option.
However, RetainPtr.h can't compile because 'CFAutorelease' is not
defined.
CFAutorelease isn't available in AppleWin's CoreFoundation and
WinCairo's OpenCFLite as of now.
- wtf/RetainPtr.h: Enclosed RetainPtr<T>::autorelease with #if !OS(WINDOWS).
- 11:44 AM Changeset in webkit [287199] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Adjust the box geometry for atomic/generic inline level boxes in bidi content
https://bugs.webkit.org/show_bug.cgi?id=234419
Reviewed by Antti Koivisto.
Both the display box and the BoxGeometry need to be updated while adjusting the content position with
the inline box offsets.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
- 11:29 AM Changeset in webkit [287198] by
-
- 17 edits3 deletes in trunk
Remove API::Object::Type::BundlePageGroup
https://bugs.webkit.org/show_bug.cgi?id=225611
Patch by Alex Christensen <achristensen@webkit.org> on 2021-12-17
Reviewed by Brady Eidson.
Source/WebKit:
Its last use was removed in rdar://77775952 and rdar://78783988
- Shared/API/APIObject.h:
- Shared/API/APIPageGroupHandle.cpp: Removed.
- Shared/API/APIPageGroupHandle.h: Removed.
- Shared/API/c/cg/WKImageCG.cpp:
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
- Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):
- Shared/mac/MediaFormatReader/CoreMediaWrapped.cpp:
- Sources.txt:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::transformHandlesToObjects):
(WebKit::WebProcessProxy::transformObjectsToHandles):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.mm:
(-[WKWebProcessPlugInPageGroup identifier]): Deleted.
(-[WKWebProcessPlugInPageGroup dealloc]): Deleted.
(-[WKWebProcessPlugInPageGroup _apiObject]): Deleted.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroupInternal.h: Removed.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController pageGroup]): Deleted.
- WebProcess/WebPage/WebPageGroupProxy.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::transformHandlesToObjects):
(WebKit::WebProcess::transformObjectsToHandles):
Tools:
- TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp:
(TestWebKitAPI::TEST):
- 10:58 AM Changeset in webkit [287197] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Let computeIsFirstIsLastBoxForInlineContent update the IsFirstForLayoutBox on the display boxes
https://bugs.webkit.org/show_bug.cgi?id=234422
Reviewed by Antti Koivisto.
Currently we pre-compute these values and cache them on the display boxes (for later use in adjustVisualGeometryForDisplayBox).
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- layout/formattingContexts/inline/InlineDisplayContentBuilder.h:
- 10:55 AM Changeset in webkit [287196] by
-
- 4 edits in trunk/LayoutTests
Unskip pointerevents layout tests
https://bugs.webkit.org/show_bug.cgi?id=233498
Unreviewed gardening.
This tests were skipped for all platforms.
Skip only globally the pointerevents/ios ones that seem to fail on
all platforms (even on iOS, at least on the open source builds).
On iOS also the ones imported from WPT fail but those work on
other platforms.
- TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/win/TestExpectations:
- 10:11 AM Changeset in webkit [287195] by
-
- 3 edits in trunk/Source/WebCore
Refactor hyphenation logic in RenderText::computePreferredLogicalWidths()
https://bugs.webkit.org/show_bug.cgi?id=234421
Reviewed by Alan Bujtas.
The hyphenation logic in RenderText::computePreferredLogicalWidths() was split across two functions.
If you consider the word "ABC-DEF-GHI" (where the '-' characters are hyphenation opportunities), one
function, maxWordFragmentWidth() was responsible for calculating the width of "ABC-" and "DEF-" but
not "GHI". RenderText::computePreferredLogicalWidths() called that function, and after it returned,
would then calculate the width of "GHI", and compare that to the width returned by
maxWordFragmentWidth(). A much simpler design would be to have one function, maxWordFragmentWidth(),
handle all the hyphenation logic, and do all the calculation necessary to just return a single value
to RenderText::computePreferredLogicalWidths().
No new tests because there is no behavior change.
- rendering/RenderText.cpp:
(WebCore::RenderText::maxWordFragmentWidth):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::maxWordFragmentWidth): Deleted.
- rendering/RenderText.h:
- 10:02 AM Changeset in webkit [287194] by
-
- 3 edits2 adds in trunk
null ptr deref in WebCore::findPlaceForCounter
https://bugs.webkit.org/show_bug.cgi?id=234375
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-12-17
Reviewed by Alan Bujtas.
Source/WebCore:
Test: fast/css/counters/findPlaceForCounter-parent-renderer-crash.html
When the current renderer's element is an HTML document and root of the tree, parentOrPseudoHostElement can return a nullptr,
so we need to check for nullptr before trying to access the renderer() of the Element pointer it returns.
- rendering/RenderCounter.cpp:
(WebCore::findPlaceForCounter):
LayoutTests:
- fast/css/counters/findPlaceForCounter-parent-renderer-crash-expected.txt: Added.
- fast/css/counters/findPlaceForCounter-parent-renderer-crash.html: Added.
- 9:42 AM Changeset in webkit [287193] by
-
- 2 edits in trunk/Tools
Tools/Scripts/run-perf-tests is failing on Speedometer2
https://bugs.webkit.org/show_bug.cgi?id=234426
Patch by Alexey Shvayka <ashvayka@apple.com> on 2021-12-17
Reviewed by Carlos Alberto Lopez Perez.
r282357 added a debug console warning regarding 'dppx' units, which is being emitted
for TodoMVC's stylesheets, thus failing metrics parsing in PerfTest. To fix the execution
of Speedometer2 suite, this particular warning has now been added to the ignore list.
- Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest):
- 9:31 AM Changeset in webkit [287192] by
-
- 36 edits4 adds in trunk/Source/bmalloc
[libpas] update to b1531141d8d5831b0a37efb70f200f7e2c37ff3d (initial pgm support, refactorings to further distinguish exclusive from shared)
https://bugs.webkit.org/show_bug.cgi?id=234415
Reviewed by Yusuke Suzuki.
This includes two main changes:
- Initial PGM support thanks to Brandon Stewart.
- Refactorings to enable more differences in behavior between exclusive pages and shared pages. This is the only useful part of my attempt to add line allocation, which turned out not to be a win.
- bmalloc.xcodeproj/project.pbxproj:
- libpas/.gitignore:
- libpas/libpas.xcodeproj/project.pbxproj:
- libpas/src/libpas/jit_heap_config.c:
(jit_small_bitfit_create_page_header):
(jit_medium_bitfit_create_page_header):
- libpas/src/libpas/jit_heap_config.h:
- libpas/src/libpas/pas_bitfit_allocator.c:
(pas_bitfit_allocator_commit_view):
- libpas/src/libpas/pas_bitfit_page.c:
(pas_bitfit_page_construct):
(pas_bitfit_page_verify):
- libpas/src/libpas/pas_bitfit_page.h:
(pas_bitfit_page_offset_to_first_object):
(pas_bitfit_page_offset_to_end_of_last_object):
- libpas/src/libpas/pas_bitfit_page_config.h:
(pas_bitfit_page_config_object_payload_end_offset_from_boundary):
- libpas/src/libpas/pas_compact_tagged_void_ptr.h: Added.
- libpas/src/libpas/pas_enumerate_segregated_heaps.c:
(enumerate_exclusive_view):
(enumerate_shared_view):
(enumerate_partial_view):
- libpas/src/libpas/pas_heap_config_utils.h:
- libpas/src/libpas/pas_local_allocator_inlines.h:
(pas_local_allocator_set_up_free_bits):
- libpas/src/libpas/pas_page_base.c:
(pas_page_base_header_size):
- libpas/src/libpas/pas_page_base.h:
- libpas/src/libpas/pas_page_base_config.h:
(pas_page_base_config_is_bitfit):
(pas_page_base_config_object_payload_end_offset_from_boundary): Deleted.
- libpas/src/libpas/pas_page_base_config_utils.h:
- libpas/src/libpas/pas_page_base_config_utils_inlines.h:
- libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c: Added.
(pas_probabilistic_guard_malloc_allocate):
(pas_probabilistic_guard_malloc_deallocate):
(pas_probabilistic_guard_malloc_trigger):
(pas_probabilistic_guard_malloc_can_use):
(pas_probabilistic_guard_malloc_should_use):
(pas_probabilistic_guard_malloc_get_free_virtual_memory):
(pas_probabilistic_guard_malloc_get_free_wasted_memory):
- libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h: Added.
- libpas/src/libpas/pas_segregated_exclusive_view.c:
(compute_summary_impl):
- libpas/src/libpas/pas_segregated_heap.c:
(compute_ideal_object_size):
(pas_segregated_heap_ensure_size_directory_for_size):
- libpas/src/libpas/pas_segregated_page.c:
(pas_segregated_page_construct):
(pas_segregated_page_verify_granules):
(pas_segregated_page_verify_num_non_empty_words): Deleted.
- libpas/src/libpas/pas_segregated_page.h:
(pas_segregated_page_header_size):
(pas_segregated_page_offset_from_page_boundary_to_first_object_for_hugging_mode):
(pas_segregated_page_offset_from_page_boundary_to_end_of_last_object_for_hugging_mode):
(pas_segregated_page_useful_object_payload_size_for_hugging_mode):
(pas_segregated_page_best_hugging_mode):
(pas_segregated_page_offset_from_page_boundary_to_first_object_exclusive):
(pas_segregated_page_offset_from_page_boundary_to_end_of_last_object_exclusive):
(pas_segregated_page_useful_object_payload_size):
(pas_segregated_page_number_of_objects):
(pas_segregated_page_bytes_dirtied_per_object):
- libpas/src/libpas/pas_segregated_page_config.c:
(pas_segregated_page_config_validate):
- libpas/src/libpas/pas_segregated_page_config.h:
(pas_segregated_page_config_payload_offset_for_role):
(pas_segregated_page_config_payload_size_for_role):
(pas_segregated_page_config_payload_end_offset_for_role):
(pas_segregated_page_config_object_payload_end_offset_from_boundary): Deleted.
- libpas/src/libpas/pas_segregated_page_config_utils.h:
- libpas/src/libpas/pas_segregated_page_inlines.h:
(pas_segregated_page_initialize_full_use_counts):
(pas_segregated_page_offset_from_page_boundary_to_first_object): Deleted.
- libpas/src/libpas/pas_segregated_shared_view.c:
(pas_segregated_shared_view_commit_page):
(compute_summary):
- libpas/src/libpas/pas_segregated_shared_view.h:
(pas_segregated_shared_view_can_bump):
(pas_segregated_shared_view_compute_new_bump):
- libpas/src/libpas/pas_segregated_size_directory.c:
(pas_segregated_size_directory_enable_exclusive_views):
- libpas/src/libpas/pas_segregated_view.c:
(for_each_live_object):
(should_be_eligible):
- libpas/src/libpas/pas_segregated_view_allocator_inlines.h:
(pas_segregated_view_will_start_allocating):
- libpas/src/libpas/pas_status_reporter.c:
(report_segregated_directory_contents):
- libpas/src/libpas/pas_utility_heap_config.h:
(pas_utility_heap_create_page_header):
- libpas/src/test/IsoHeapChaosTests.cpp:
(std::addTheTests):
- libpas/src/test/PGMTests.cpp: Added.
(std::testPGMSingleAlloc):
(std::testPGMMultipleAlloc):
(std::testPGMErrors):
(addPGMTests):
- libpas/src/test/TestHarness.cpp:
(main):
- libpas/src/test/ThingyAndUtilityHeapAllocationTests.cpp:
(std::testFreeListRefillSpans):
(std::testSpuriousEligibility):
- 9:25 AM Changeset in webkit [287191] by
-
- 5 edits in trunk/Source/WebKit
Move storage managers from the NetworkProcess to the NetworkSession class
https://bugs.webkit.org/show_bug.cgi?id=234409
Reviewed by Alex Christensen.
Move storage managers from the NetworkProcess to the NetworkSession class since they are
per session.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::lowMemoryHandler):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::addWebsiteDataStore):
(WebKit::NetworkProcess::destroySession):
(WebKit::NetworkProcess::hasLocalStorage):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):
(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::resume):
(WebKit::NetworkProcess::syncLocalStorage):
(WebKit::NetworkProcess::clearStorage):
(WebKit::NetworkProcess::renameOriginInWebsiteData):
(WebKit::NetworkProcess::connectionToWebProcessClosed):
(WebKit::NetworkProcess::addStorageManagerForSession): Deleted.
(WebKit::NetworkProcess::removeStorageManagerForSession): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::invalidateAndCancel):
(WebKit::NetworkSession::lowMemoryHandler):
(WebKit::NetworkSession::addStorageManagerSession):
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::storageManager):
- 9:13 AM Changeset in webkit [287190] by
-
- 2 edits in trunk/Tools
Fix deprecation warning in Tools/Scripts/run-jsc-benchmarks
https://bugs.webkit.org/show_bug.cgi?id=234425
Patch by Alexey Shvayka <ashvayka@apple.com> on 2021-12-17
Reviewed by Alex Christensen.
Ruby 2.4 unified Fixnum and Bignum classes into Integer [1], deprecating them as
implementation details. To get rid of the deprecation console message, this patch replaces
Fixnum type checks with Integer, which is unobservable and backwards-compatible.
[1] https://bugs.ruby-lang.org/issues/12005
- Scripts/run-jsc-benchmarks:
- 8:03 AM Changeset in webkit [287189] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Line spanning inline items should use InlineItem::opaqueBidiLevel
https://bugs.webkit.org/show_bug.cgi?id=234417
Reviewed by Antti Koivisto.
The visual order of the non-empty inline boxes are driven by their content and not by
their guessed bidi levels.
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::initialize):
- 8:02 AM Changeset in webkit [287188] by
-
- 5 edits in trunk/Tools
[reporelaypy] Accept pull-request hooks
https://bugs.webkit.org/show_bug.cgi?id=234406
<rdar://problem/86598451>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/reporelaypy/reporelaypy/init.py: Bump version.
- Tools/Scripts/libraries/reporelaypy/reporelaypy/hooks.py:
(HookProcessor):
(HookProcessor.is_valid): Check 'pull_request' hook format.
- Tools/Scripts/libraries/reporelaypy/reporelaypy/tests/hooks_unittest.py:
(HooksUnittest.test_pull_request):
- Tools/Scripts/libraries/reporelaypy/setup.py: Bump version.
Canonical link: https://commits.webkit.org/245355@main
- 8:01 AM Changeset in webkit [287187] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Inline boxes set direction for both their content and their decoration unlike other inline level elements
https://bugs.webkit.org/show_bug.cgi?id=234418
Reviewed by Antti Koivisto.
<div>
<span dir=rtl style="border-inline-start: 10px solid yellow;">
<span dir=ltr style="border-inline-start: 10px solid green;">
<img style="border-inline-start: 10px solid blue;">
</span>
</span
</div>
produces a "green/blue/yellow" pattern in visual order.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::updateInlineBoxDimensions):
- 7:51 AM Changeset in webkit [287186] by
-
- 8 edits in trunk/Source/WebCore
ActiveDOMObject::suspendIfNeeded() should not be called within constructors
https://bugs.webkit.org/show_bug.cgi?id=233945
Reviewed by Chris Dumez.
Step 4 where we convert the only remaining call to suspendIfNeeded() in a constructor, AudioScheduledSourceNode,
to be in create() methods, in this case AudioScheduledSourceNode subclasses. This was the final step, all 145
calls to ActiveDOMObject::suspendIfNeeded() have been audited to not be made within a constructor.
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::create):
- Modules/webaudio/AudioBufferSourceNode.h:
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
- Modules/webaudio/AudioScheduledSourceNode.h:
- Modules/webaudio/ConstantSourceNode.cpp:
(WebCore::ConstantSourceNode::create):
- Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::create):
- Modules/webaudio/OscillatorNode.h:
- 7:41 AM Changeset in webkit [287185] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r286850.
Put r282794 back in. It turns out it was an overall
progression after all
Reverted changeset:
"Unreviewed, reverting r282794."
https://bugs.webkit.org/show_bug.cgi?id=230517
https://commits.webkit.org/r286850
- 7:17 AM Changeset in webkit [287184] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Simple RTL content may need visual reordering
https://bugs.webkit.org/show_bug.cgi?id=234380
Reviewed by Darin Adler and Antti Koivisto.
Addressing post-commit comment (r287142).
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):
- 6:22 AM Changeset in webkit [287183] by
-
- 7 edits in releases/WebKitGTK/webkit-2.34/Source
Merge r283444 - Remove JSC hack after r283410
https://bugs.webkit.org/show_bug.cgi?id=230261
Reviewed by Mark Lam.
Source/JavaScriptCore:
- runtime/JSObject.cpp:
(JSC::JSObject::getOwnPropertyDescriptor):
- runtime/PropertySlot.h:
Source/WebCore:
We revert a hack for accessors in JSC since this is not necessary.
- bindings/scripts/CodeGeneratorJS.pm:
(GetJSCAttributesForAttribute):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjDOMConstructor::construct):
(WebCore::jsTestObj_searchGetter):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
(WebCore::setJSTestObj_searchSetter):
(WebCore::JSC_DEFINE_CUSTOM_SETTER):
- bindings/scripts/test/TestObj.idl:
- 6:20 AM Changeset in webkit [287182] by
-
- 17 edits in releases/WebKitGTK/webkit-2.34
Merge r283410 - Disable new incumbent-window until it is fully implemented
https://bugs.webkit.org/show_bug.cgi?id=230261
<rdar://problem/83099726>
Reviewed by Chris Dumez and Geoffrey Garen.
LayoutTests/imported/w3c:
- web-platform-tests/html/webappapis/scripting/events/compile-event-handler-settings-objects-expected.txt:
- web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-incumbent-expected.txt:
Source/JavaScriptCore:
- interpreter/CallFrame.cpp:
(JSC::CallFrame::globalObjectOfClosestCodeBlock):
- runtime/JSObject.cpp:
(JSC::JSObject::getOwnPropertyDescriptor):
- runtime/PropertySlot.h:
Source/WebCore:
This patch disables new incumbent-window until it is fully implemented to avoid compatibility issue.
- bindings/js/JSDOMConvertCallbacks.h:
(WebCore::Converter<IDLCallbackFunction<T>>::convert):
(WebCore::Converter<IDLCallbackInterface<T>>::convert):
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::callerGlobalObject):
(WebCore::legacyActiveGlobalObjectForAccessor):
- bindings/js/JSDOMGlobalObject.h:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::incumbentDOMWindow):
(WebCore::legacyActiveDOMWindowForAccessor):
- bindings/js/JSDOMWindowBase.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GetJSCAttributesForAttribute):
(GenerateCallWith):
- page/Location.idl:
LayoutTests:
- http/tests/security/frameNavigation/context-for-location-href-gopd-expected.txt:
- 5:55 AM Changeset in webkit [287181] by
-
- 3 edits in trunk/Source/JavaScriptCore
[RISCV64] Implement linking and patching support in RISCV64Assembler
https://bugs.webkit.org/show_bug.cgi?id=234398
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-12-17
Reviewed by Yusuke Suzuki.
Populate RISCV64Assembler class with the necessary implementations and
facilities to support linking and patching operations. Implementations
of different methods in MacroAssemblerRISCV64 covering calls, jumps
and patches are also added.
Helper structs are added in the RISCV64Assembler class that cover
linking of jumps, calls or branches and patching of pointer values.
Relevant methods are also implemented to utilize these helpers.
RISCV64Assembler also gains helper methods that generate placeholders
for the specific type of linking or patching. The passed-in functor is
then invoked, enabling the user (MacroAssemblerRISCV64 implementation)
to additionally generate the desired instruction sequence that utilizes
the given placeholder.
In MacroAssemblerRISCV64, different noop methods covering jumps, calls,
linking and patching are replaced with the appropriate implementations.
- assembler/MacroAssemblerRISCV64.h:
(JSC::MacroAssemblerRISCV64::readCallTarget):
(JSC::MacroAssemblerRISCV64::replaceWithJump):
(JSC::MacroAssemblerRISCV64::startOfBranchPtrWithPatchOnRegister):
(JSC::MacroAssemblerRISCV64::revertJumpReplacementToBranchPtrWithPatch):
(JSC::MacroAssemblerRISCV64::linkCall):
(JSC::MacroAssemblerRISCV64::repatchCall):
(JSC::MacroAssemblerRISCV64::jump):
(JSC::MacroAssemblerRISCV64::farJump):
(JSC::MacroAssemblerRISCV64::nearCall):
(JSC::MacroAssemblerRISCV64::nearTailCall):
(JSC::MacroAssemblerRISCV64::threadSafePatchableNearCall):
(JSC::MacroAssemblerRISCV64::ret):
(JSC::MacroAssemblerRISCV64::call):
(JSC::MacroAssemblerRISCV64::callOperation):
(JSC::MacroAssemblerRISCV64::startOfPatchableBranchPtrWithPatchOnAddress): Deleted.
(JSC::MacroAssemblerRISCV64::startOfPatchableBranch32WithPatchOnAddress): Deleted.
(JSC::MacroAssemblerRISCV64::revertJumpReplacementToPatchableBranchPtrWithPatch): Deleted.
(JSC::MacroAssemblerRISCV64::revertJumpReplacementToPatchableBranch32WithPatch): Deleted.
- assembler/RISCV64Assembler.h:
(JSC::RISCV64Instructions::ImmediateBase::immediateMask):
(JSC::RISCV64Instructions::ImmediateBase::v):
(JSC::RISCV64Instructions::ImmediateDecomposition::ImmediateDecomposition):
(JSC::RISCV64Assembler::getDifferenceBetweenLabels):
(JSC::RISCV64Assembler::getCallReturnOffset):
(JSC::RISCV64Assembler::labelIgnoringWatchpoints):
(JSC::RISCV64Assembler::labelForWatchpoint):
(JSC::RISCV64Assembler::label):
(JSC::RISCV64Assembler::linkJump):
(JSC::RISCV64Assembler::linkCall):
(JSC::RISCV64Assembler::linkPointer):
(JSC::RISCV64Assembler::maxJumpReplacementSize):
(JSC::RISCV64Assembler::patchableJumpSize):
(JSC::RISCV64Assembler::repatchPointer):
(JSC::RISCV64Assembler::relinkJump):
(JSC::RISCV64Assembler::relinkJumpToNop):
(JSC::RISCV64Assembler::relinkCall):
(JSC::RISCV64Assembler::replaceWithJump):
(JSC::RISCV64Assembler::revertJumpReplacementToPatch):
(JSC::RISCV64Assembler::readCallTarget):
(JSC::RISCV64Assembler::cacheFlush):
(JSC::RISCV64Assembler::fillNops):
(JSC::RISCV64Assembler::jumpPlaceholder):
(JSC::RISCV64Assembler::branchPlaceholder):
(JSC::RISCV64Assembler::pointerCallPlaceholder):
(JSC::RISCV64Assembler::nearCallPlaceholder):
(JSC::RISCV64Assembler::LinkJumpOrCallImpl::apply):
(JSC::RISCV64Assembler::LinkJumpImpl::placeholderInsn):
(JSC::RISCV64Assembler::LinkJumpImpl::generatePlaceholder):
(JSC::RISCV64Assembler::LinkCallImpl::placeholderInsn):
(JSC::RISCV64Assembler::LinkCallImpl::generatePlaceholder):
(JSC::RISCV64Assembler::LinkBranchImpl::placeholderInsn):
(JSC::RISCV64Assembler::LinkBranchImpl::generatePlaceholder):
(JSC::RISCV64Assembler::LinkBranchImpl::apply):
(JSC::RISCV64Assembler::PatchPointerImpl::placeholderInsn):
(JSC::RISCV64Assembler::PatchPointerImpl::generatePlaceholder):
(JSC::RISCV64Assembler::PatchPointerImpl::apply):
(JSC::RISCV64Assembler::PatchPointerImpl::read):
- 5:10 AM WebKitGTK/2.34.x edited by
- (diff)
- 4:47 AM Changeset in webkit [287180] by
-
- 11 edits in trunk
[GStreamer][WebRTC] Huge memory leak
https://bugs.webkit.org/show_bug.cgi?id=234134
Patch by Philippe Normand <pnormand@igalia.com> on 2021-12-17
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
The main issue was RealtimeOutgoingVideoSourceLibWebRTC leaking GstSamples. Fixing this lead
me to further clean-ups in the GstSample<->LibWebRTCVideoFrame handling. Native frames
should not consume GstSamples, but reference them, otherwise there are crashes where the
dangling GstSamples would be passed to the libwebrtc video decoder...
Also the video decoders were not reporting their initialization status correctly,
WEBRTC_VIDEO_CODEC_OK is 0 hence false...
- platform/graphics/gstreamer/MediaSampleGStreamer.cpp:
(WebCore::MediaSampleGStreamer::MediaSampleGStreamer):
(WebCore::MediaSampleGStreamer::initializeFromBuffer):
- platform/graphics/gstreamer/MediaSampleGStreamer.h:
(WebCore::MediaSampleGStreamer::createWrappedSample):
- platform/mediastream/libwebrtc/gstreamer/GStreamerVideoDecoderFactory.cpp:
(WebCore::GStreamerVideoDecoder::pullSample):
- platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoderFactory.cpp:
- platform/mediastream/libwebrtc/gstreamer/GStreamerVideoFrameLibWebRTC.cpp:
(WebCore::convertLibWebRTCVideoFrameToGStreamerSample):
(WebCore::convertGStreamerSampleToLibWebRTCVideoFrame):
(WebCore::GStreamerVideoFrameLibWebRTC::create):
(WebCore::GStreamerSampleFromLibWebRTCVideoFrame): Deleted.
(WebCore::LibWebRTCVideoFrameFromGStreamerSample): Deleted.
- platform/mediastream/libwebrtc/gstreamer/GStreamerVideoFrameLibWebRTC.h:
(WebCore::GStreamerVideoFrameLibWebRTC::GStreamerVideoFrameLibWebRTC):
(WebCore::GStreamerVideoFrameLibWebRTC::getSample const):
(WebCore::GStreamerVideoFrameLibWebRTC::takeSample): Deleted.
- platform/mediastream/libwebrtc/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp:
(WebCore::RealtimeIncomingVideoSourceLibWebRTC::OnFrame):
- platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp:
(WebCore::RealtimeOutgoingVideoSourceLibWebRTC::videoSampleAvailable):
LayoutTests:
- platform/glib/TestExpectations: Update test expectations, #233740 was mostly due to video
decoder initialization wrongly reported as failed.
webrtc/captureCanvas-webrtc-software-h264-baseline.html no longer times out.
- 4:41 AM Changeset in webkit [287179] by
-
- 2 edits1 copy3 moves1 add in trunk/PerformanceTests
[css-contain][Performance test] Add test contain-paint-text-nowrap.html
https://bugs.webkit.org/show_bug.cgi?id=234001
Patch by Rob Buis <rbuis@igalia.com> on 2021-12-17
Reviewed by Simon Fraser.
Add test contain-paint-text-nowrap.html to verify that paint containment
improves the case where many contained children have inline text that is
wider than the container width. The improvement is because paint
containment clips the child content.
This patch also introduces the Containment directory to separate the
containment tests.
- Containment/contain-paint-nowrap.html:
- Containment/css-contain-change-size.html: Renamed from PerformanceTests/Layout/css-contain-change-size.html.
- Containment/css-contain-layout-size-inside-complex-document.html: Renamed from PerformanceTests/Layout/css-contain-layout-size-inside-complex-document.html.
- Containment/large-grid.html: Renamed from PerformanceTests/Layout/large-grid.html.
- Paint/lots-of-self-painting-layers.html: use let instead of var
- 3:59 AM Changeset in webkit [287178] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
REGRESSION (r287068): [macOS arm64] TestWebKitAPI.GraphicsContextGLCocoaTest.UnrecycledDisplayBuffersNoLeaks is failing
https://bugs.webkit.org/show_bug.cgi?id=234356
<rdar://problem/86533892>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-12-17
Reviewed by Antti Koivisto.
Avoid leaking MTLTexture instances for render targets. Leak would happen through
temporary render pass descriptor that would ref the render target texture.
The descriptor was created without autoreleasepool in call stack.
Also fixes the error string leaks.
UnrecycledDisplayBuffersNoLeaks would report leaks of iosurface-backed
GraphicsContextGL default framebuffer bound textures if glClear was called.
- src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::getRenderPassCommandEncoder):
- 3:58 AM Changeset in webkit [287177] by
-
- 34 edits in trunk/Source/WebCore
ActiveDOMObject::suspendIfNeeded() should not be called within constructors
https://bugs.webkit.org/show_bug.cgi?id=233945
Reviewed by Darin Adler.
Step 3 where we convert almost all remaining calls to suspendIfNeeded() in constructors to be in create() methods.
This required adding such a method to ServiceWorkerContainer. The final call left is in the AudioScheduledSourceNode
constructor, but an earlier version of this patch failed a lot of webaudio tests on EWS so I suspect my attempted fix
was wrong.
- Modules/entriesapi/FileSystemDirectoryEntry.cpp:
(WebCore::FileSystemDirectoryEntry::create):
- Modules/entriesapi/FileSystemDirectoryEntry.h:
- Modules/entriesapi/FileSystemEntry.cpp:
(WebCore::FileSystemEntry::FileSystemEntry):
- Modules/entriesapi/FileSystemEntry.h:
- Modules/entriesapi/FileSystemFileEntry.cpp:
(WebCore::FileSystemFileEntry::create):
- Modules/entriesapi/FileSystemFileEntry.h:
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::FetchBodyOwner):
- Modules/fetch/FetchBodyOwner.h:
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::create):
(WebCore::FetchRequest::clone):
- Modules/fetch/FetchRequest.h:
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::create):
(WebCore::FetchResponse::error):
(WebCore::FetchResponse::redirect):
(WebCore::FetchResponse::fetch):
- Modules/filesystemaccess/FileSystemDirectoryHandle.cpp:
(WebCore::FileSystemDirectoryHandle::create):
- Modules/filesystemaccess/FileSystemFileHandle.cpp:
(WebCore::FileSystemFileHandle::create):
- Modules/filesystemaccess/FileSystemHandle.cpp:
(WebCore::FileSystemHandle::FileSystemHandle):
- Modules/filesystemaccess/FileSystemHandle.h:
- Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::create):
(WebCore::SourceBufferList::SourceBufferList):
- Modules/mediasource/SourceBufferList.h:
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::MediaDevices):
(WebCore::MediaDevices::create):
- Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::create):
(WebCore::RTCDTMFSender::RTCDTMFSender):
- Modules/mediastream/RTCDTMFSender.h:
- Modules/mediastream/RTCDtlsTransport.cpp:
(WebCore::RTCDtlsTransport::create):
(WebCore::RTCDtlsTransport::RTCDtlsTransport):
- Modules/mediastream/RTCDtlsTransport.h:
- Modules/mediastream/RTCIceTransport.cpp:
(WebCore::RTCIceTransport::create):
(WebCore::RTCIceTransport::RTCIceTransport):
- Modules/mediastream/RTCIceTransport.h:
(WebCore::RTCIceTransport::create): Deleted.
- Modules/mediastream/RTCRtpSFrameTransform.cpp:
(WebCore::RTCRtpSFrameTransform::create):
(WebCore::RTCRtpSFrameTransform::RTCRtpSFrameTransform):
- Modules/mediastream/RTCRtpSFrameTransform.h:
(WebCore::RTCRtpSFrameTransform::create): Deleted.
- Modules/mediastream/RTCSctpTransport.cpp:
(WebCore::RTCSctpTransport::create):
(WebCore::RTCSctpTransport::RTCSctpTransport):
- Modules/mediastream/RTCSctpTransport.h:
- Modules/paymentrequest/PaymentResponse.cpp:
(WebCore::PaymentResponse::finishConstruction):
- Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::DatabaseContext):
- Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::databaseContext):
- html/ImageBitmap.cpp:
- page/NavigatorBase.cpp:
(WebCore::NavigatorBase::serviceWorker):
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::create):
(WebCore::ServiceWorkerContainer::ServiceWorkerContainer):
- workers/service/ServiceWorkerContainer.h:
- 2:11 AM Changeset in webkit [287176] by
-
- 15 edits2 adds in releases/WebKitGTK/webkit-2.34/Source
Merge r286676 - [GStreamer] Fill in client-name property on audio sinks
https://bugs.webkit.org/show_bug.cgi?id=233826
Patch by Philippe Normand <pnormand@igalia.com> on 2021-12-08
Reviewed by Xabier Rodriguez-Calvar.
The audio sink client-name property is now set on sinks that support this property, such as
pulsesink and pipewiresink. This is picked-up by GNOME settings and the corresponding audio
streams now appear as owned by the WebKit application (MiniBrowser, ephy, etc) instead of
"WebKitWebProcess".
When the audio mixer is enabled, no media.role property is set, because the mixer can accept
music and/or video roles simultaneously, so it doesn't make sense in this context.
- platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer): Drive-by refactoring, using
a lambda instead of a static callback function.
(WebCore::autoAudioSinkChildAddedCallback): Deleted.
- platform/graphics/gstreamer/GStreamerAudioMixer.cpp:
(WebCore::GStreamerAudioMixer::GStreamerAudioMixer):
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::createAutoAudioSink):
(WebCore::createPlatformAudioSink):
- platform/graphics/gstreamer/GStreamerCommon.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamPropertiesCallback): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties): Deleted.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- 1:21 AM WebKitGTK/2.34.x edited by
- (diff)
- 1:01 AM Changeset in webkit [287175] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] Enable libpas on ARM64 Darwin platforms (ARM64E is already enabled)
https://bugs.webkit.org/show_bug.cgi?id=234416
Reviewed by Filip Pizlo.
r287168 fixed libpas compare_and_swap on ARM64 so that we pass all libpas tests on ARM64 platforms.
Speedometer2 and JetStream2 are neutral, PLUM3 is 10.79% better, and RAMification is 2.83% better.
- bmalloc/BPlatform.h:
Dec 16, 2021:
- 11:21 PM Changeset in webkit [287174] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Adjust syscall filter
https://bugs.webkit.org/show_bug.cgi?id=234401
Reviewed by Tim Horton.
Adjust syscall filter in the WebContent process' sandbox on macOS. A syscall that was previously
believed to only be used on Intel, is being used on all architectures.
- WebProcess/com.apple.WebProcess.sb.in:
- 10:01 PM Changeset in webkit [287173] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r287138) [GLIB] Build failure with GCC 8 and 9 in std::array to Span conversion
https://bugs.webkit.org/show_bug.cgi?id=234412
Reviewed by Darin Adler.
GCC < 10 and Clang < 7 have problems doing the conversion of the value if its marked const.
No new tests, is a build fix.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole const):
- 9:54 PM Changeset in webkit [287172] by
-
- 1 copy in tags/Safari-612.4.6
Tag Safari-612.4.6.
- 9:47 PM Changeset in webkit [287171] by
-
- 1 edit in branches/safari-612-branch/Source/WebCore/platform/ios/LegacyTileCache.mm
Unreviewed build fix. rdar://86613209
- 9:36 PM Changeset in webkit [287170] by
-
- 1 edit in branches/safari-612-branch/Source/WebCore/platform/ios/LegacyTileCache.mm
Unreviewed build fix. rdar://86613209
./platform/ios/LegacyTileCache.mm:459:24: error: incomplete result type 'WebCore::Color' in function definition
Color LegacyTileCache::colorForGridTileBorder(LegacyTileGrid* grid) const
- 9:32 PM Changeset in webkit [287169] by
-
- 8 edits in branches/safari-612-branch/Source
Versioning.
WebKit-7612.4.6
- 6:44 PM Changeset in webkit [287168] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] ARM64 CAS emulation loop needs dmb ish
https://bugs.webkit.org/show_bug.cgi?id=234414
Reviewed by Filip Pizlo.
Just using LL/SC does not guarantee that the ordering of accesses around the loop. For example,
access(A)
0:
LL (ldaxr)
...
SC (stlxr)
cond-branch 0
access(B)
In the above code case, the ordering A -> LL -> SC -> B is not guaranteed and it can be
LL -> A -> B -> SC or LL -> B -> A -> SC: memory access may happen in the middle of RMW atomics.
This breaks pas_versioned_field's assumption where they are ordered as A -> LL -> SC -> B.
https://stackoverflow.com/questions/35217406/partial-reordering-of-c11-atomics-on-aarch64
https://stackoverflow.com/questions/21535058/arm64-ldxr-stxr-vs-ldaxr-stlxr
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-February/229588.html
Another example is that the following can happen if we use CAS loop without barrier.
thread A
*a = 1;
spin_lock(&lock);
*b = 1;
thread B
b_value = atomic_get(&b);
a_value = atomic_get(&a);
assert(a_value !b_value); can fail https://github.com/zephyrproject-rtos/zephyr/issues/32133
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65697
To guarantee A -> (atomic) -> B ordering, we insert barrier (dmb ish) just after the loop.
access(A)
0:
LL (ldxr)
...
SC (stlxr)
cond-branch 0
dmb ish
access(B)
dmb ishensures B is done after (atomic) region. And this barrier also ensures that A cannot happen after
For this CAS emulation loop, we do not need to have acquire, so we can use ldxr. (atomic) region.
SC ensures A does not happen after SC. But still, A and LL can be reordered.
If A is storing to the same location X, then it will be detected due to ldxr's exclusiveness.
data = LL(X)
store(X, 42) Reordered here
=> SC will fail.
If A is storing to the different location, then we have no way to observe the difference.
data = LL(X)
store(A, 42) Reordered here. But there is no way to know whether this access happens before or after LL.
- libpas/src/libpas/pas_utils.h:
(pas_atomic_store_uint8):
(pas_compare_and_swap_uint8_weak):
(pas_compare_and_swap_uint8_strong):
(pas_compare_and_swap_uint16_weak):
(pas_compare_and_swap_uint32_weak):
(pas_compare_and_swap_uint32_strong):
(pas_compare_and_swap_uint64_weak):
(pas_compare_and_swap_uint64_strong):
(pas_compare_and_swap_pair_weak):
(pas_compare_and_swap_pair_strong):
(pas_atomic_load_pair_relaxed):
(pas_atomic_store_pair):
(pas_atomic_load_pair): Deleted.
- 5:52 PM Changeset in webkit [287167] by
-
- 8 edits in trunk/LayoutTests
AX: Make aria-multiline.html, clipped-text-under-element.html, mixed-checkbox.html, and selection-states.html pass in isolated tree mode
https://bugs.webkit.org/show_bug.cgi?id=234382
Reviewed by Chris Fleizach.
- accessibility/mac/aria-multiline-expected.txt:
- accessibility/mac/aria-multiline.html:
- accessibility/mac/clipped-text-under-element.html:
- accessibility/mac/mixed-checkbox-expected.txt:
- accessibility/mac/mixed-checkbox.html:
- accessibility/selection-states-expected.txt:
- accessibility/selection-states.html:
Make these tests pass in isolated tree mode by using
accessibilityController.accessibleElementById to get JS references to
AX objects instead of document.getElementById() +
accessibilityController.focusedElement.
- 5:22 PM Changeset in webkit [287166] by
-
- 1 copy in tags/Safari-613.1.12
Tag Safari-613.1.12.
- 5:09 PM Changeset in webkit [287165] by
-
- 112 edits2 adds5 deletes in branches/safari-613.1.12-branch/Source
Cherry-pick r286994. rdar://problem/86445989
Roll back r286345, r286387, r286471, r286667, r286849
https://bugs.webkit.org/show_bug.cgi?id=234268
Reviewed by Mark Lam.
Source/JavaScriptCore:
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- bytecode/AccessCase.cpp: (JSC::AccessCase::AccessCase): (JSC::AccessCase::forEachDependentCell const): (JSC::AccessCase::dump const): (JSC::AccessCase::propagateTransitions const): (JSC::AccessCase::generateWithGuard): (JSC::AccessCase::canBeShared):
- bytecode/AccessCase.h: (JSC::AccessCase::structure const): (JSC::AccessCase::newStructure const): (JSC::AccessCase::hash const): (JSC::AccessCase::AccessCase):
- bytecode/ArrayProfile.cpp: (JSC::ArrayProfile::computeUpdatedPrediction):
- bytecode/ArrayProfile.h:
- bytecode/CheckPrivateBrandStatus.cpp: (JSC::CheckPrivateBrandStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/CodeBlock.cpp: (JSC::CodeBlock::propagateTransitions): (JSC::CodeBlock::determineLiveness): (JSC::CodeBlock::finalizeLLIntInlineCaches): (JSC::CodeBlock::stronglyVisitWeakReferences):
- bytecode/DeleteByStatus.cpp: (JSC::DeleteByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/GetByIdMetadata.h: (JSC::GetByIdModeMetadata::GetByIdModeMetadata): (JSC::GetByIdModeMetadata::clearToDefaultModeWithoutCache):
- bytecode/GetByStatus.cpp: (JSC::GetByStatus::computeFromLLInt): (JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/InByStatus.cpp: (JSC::InByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/InlineAccess.cpp: (JSC::InlineAccess::rewireStubAsJumpInAccess): (JSC::InlineAccess::resetStubAsJumpInAccess):
- bytecode/InstanceOfStatus.cpp: (JSC::InstanceOfStatus::computeForStubInfo):
- bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::offsetOfStructure): (JSC::InternalFunctionAllocationProfile::structure): (JSC::InternalFunctionAllocationProfile::clear): (JSC::InternalFunctionAllocationProfile::visitAggregate): (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): (JSC::InternalFunctionAllocationProfile::offsetOfStructureID): Deleted.
- bytecode/PolyProtoAccessChain.cpp: (JSC::PolyProtoAccessChain::needImpurePropertyWatchpoint const):
- bytecode/PolyProtoAccessChain.h:
- bytecode/PolymorphicAccess.cpp: (JSC::PolymorphicAccess::visitWeak const):
- bytecode/PutByIdFlags.h:
- bytecode/PutByStatus.cpp: (JSC::PutByStatus::computeFromLLInt): (JSC::PutByStatus::computeForStubInfo):
- bytecode/SetPrivateBrandStatus.cpp: (JSC::SetPrivateBrandStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/SpeculatedType.cpp: (JSC::speculationFromCell):
- bytecode/StructureStubInfo.cpp: (JSC::StructureStubInfo::initGetByIdSelf): (JSC::StructureStubInfo::initPutByIdReplace): (JSC::StructureStubInfo::initInByIdSelf): (JSC::StructureStubInfo::deref): (JSC::StructureStubInfo::aboutToDie): (JSC::StructureStubInfo::addAccessCase): (JSC::StructureStubInfo::reset): (JSC::StructureStubInfo::visitAggregateImpl): (JSC::StructureStubInfo::visitWeakReferences): (JSC::StructureStubInfo::propagateTransitions): (JSC::StructureStubInfo::summary const): (JSC::StructureStubInfo::containsPC const):
- bytecode/StructureStubInfo.h: (JSC::StructureStubInfo::offsetOfByIdSelfOffset): (JSC::StructureStubInfo::offsetOfInlineAccessBaseStructure): (JSC::StructureStubInfo::inlineAccessBaseStructure): (JSC::StructureStubInfo::offsetOfInlineAccessBaseStructureID): Deleted.
- dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump):
- dfg/DFGJITCompiler.h: (JSC::DFG::JITCompiler::branchWeakStructure):
- dfg/DFGPlan.cpp: (JSC::DFG::Plan::finalize):
- dfg/DFGSpeculativeJIT.cpp:
- dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNullOrUndefined): (JSC::DFG::SpeculativeJIT::compileToBooleanObjectOrOther): (JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch): (JSC::DFG::SpeculativeJIT::emitUntypedBranch): (JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- heap/AbstractSlotVisitor.h:
- heap/AbstractSlotVisitorInlines.h:
- heap/Heap.cpp: (JSC::Heap::Heap): (JSC::Heap::runEndPhase):
- heap/Heap.h: (JSC::Heap::structureIDTable):
- heap/IsoAlignedMemoryAllocator.cpp: (JSC::IsoAlignedMemoryAllocator::IsoAlignedMemoryAllocator): (JSC::IsoAlignedMemoryAllocator::~IsoAlignedMemoryAllocator): (JSC::IsoAlignedMemoryAllocator::tryAllocateAlignedMemory): (JSC::IsoAlignedMemoryAllocator::freeAlignedMemory): (JSC::IsoAlignedMemoryAllocator::tryMallocBlock): Deleted. (JSC::IsoAlignedMemoryAllocator::freeBlock): Deleted. (JSC::IsoAlignedMemoryAllocator::commitBlock): Deleted. (JSC::IsoAlignedMemoryAllocator::decommitBlock): Deleted.
- heap/IsoAlignedMemoryAllocator.h:
- heap/IsoMemoryAllocatorBase.cpp: Removed.
- heap/IsoMemoryAllocatorBase.h: Removed.
- heap/IsoSubspace.cpp: (JSC::IsoSubspace::IsoSubspace): (JSC::IsoSubspace::tryAllocateFromLowerTier):
- heap/IsoSubspace.h:
- heap/PreciseAllocation.cpp: (JSC::PreciseAllocation::createForLowerTier): (JSC::PreciseAllocation::tryCreateForLowerTier): Deleted.
- heap/PreciseAllocation.h:
- heap/SlotVisitor.cpp: (JSC::SlotVisitor::appendJSCellOrAuxiliary):
- heap/SlotVisitor.h:
- heap/SlotVisitorInlines.h:
- heap/StructureAlignedMemoryAllocator.cpp: Removed.
- heap/StructureAlignedMemoryAllocator.h: Removed.
- jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo): (JSC::AssemblyHelpers::emitLoadStructure): (JSC::AssemblyHelpers::emitLoadPrototype): (JSC::AssemblyHelpers::emitRandomThunk): (JSC::AssemblyHelpers::emitConvertValueToBoolean): (JSC::AssemblyHelpers::branchIfValue): (JSC::AssemblyHelpers::emitNonNullDecodeStructureID): Deleted.
- jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::branchStructure): (JSC::AssemblyHelpers::nukeStructureAndStoreButterfly):
- jit/GCAwareJITStubRoutine.cpp: (JSC::PolymorphicAccessJITStubRoutine::computeHash):
- jit/JITInlineCacheGenerator.cpp: (JSC::generateGetByIdInlineAccess): (JSC::JITPutByIdGenerator::generateBaselineDataICFastPath): (JSC::JITInByIdGenerator::generateBaselineDataICFastPath):
- jit/JITOpcodes.cpp: (JSC::JIT::emit_op_typeof_is_undefined): (JSC::JIT::emit_op_jeq_null): (JSC::JIT::emit_op_jneq_null): (JSC::JIT::emit_op_eq_null): (JSC::JIT::emit_op_neq_null): (JSC::JIT::emit_op_get_prototype_of):
- jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_property_enumerator):
- jit/JITStubRoutine.h:
- llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::performLLIntGetByID):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/ArrayPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/BigIntPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/BooleanPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/CommonSlowPaths.cpp: (JSC::JSC_DEFINE_COMMON_SLOW_PATH):
- runtime/DatePrototype.cpp: (JSC::formateDateInstance): (JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/ErrorInstance.cpp: (JSC::ErrorInstance::sanitizedMessageString): (JSC::ErrorInstance::sanitizedNameString): (JSC::ErrorInstance::sanitizedToString):
- runtime/ErrorPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::visitChildrenImpl):
- runtime/FunctionExecutable.h:
- runtime/FunctionPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/FunctionRareData.cpp: (JSC::FunctionRareData::visitChildrenImpl):
- runtime/FunctionRareData.h:
- runtime/HasOwnPropertyCache.h:
- runtime/InitializeThreading.cpp: (JSC::initialize):
- runtime/JSCConfig.h:
- runtime/JSCJSValue.cpp: (JSC::JSValue::dumpInContextAssumingStructure const): (JSC::JSValue::dumpForBacktrace const):
- runtime/JSCell.cpp: (JSC::JSCell::toObjectSlow const):
- runtime/JSCell.h: (JSC::JSCell::clearStructure):
- runtime/JSCellInlines.h: (JSC::JSCell::structure const): (JSC::JSCell::setStructure):
- runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::visitChildrenImpl):
- runtime/JSGlobalObject.h:
- runtime/JSObject.cpp: (JSC::JSObject::visitButterflyImpl): (JSC::JSObject::createInitialUndecided): (JSC::JSObject::createInitialInt32): (JSC::JSObject::createInitialDouble): (JSC::JSObject::createInitialContiguous): (JSC::JSObject::createArrayStorage): (JSC::JSObject::convertUndecidedToArrayStorage): (JSC::JSObject::convertInt32ToArrayStorage): (JSC::JSObject::convertDoubleToArrayStorage): (JSC::JSObject::convertContiguousToArrayStorage): (JSC::JSObject::putDirectCustomGetterSetterWithoutTransition): (JSC::JSObject::putDirectNonIndexAccessorWithoutTransition):
- runtime/JSObject.h: (JSC::JSObject::nukeStructureAndSetButterfly): (JSC::JSObject::getPropertySlot):
- runtime/JSObjectInlines.h: (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::putDirectWithoutTransition): (JSC::JSObject::putDirectInternal):
- runtime/JSPropertyNameEnumerator.cpp: (JSC::JSPropertyNameEnumerator::JSPropertyNameEnumerator): (JSC::JSPropertyNameEnumerator::visitChildrenImpl):
- runtime/JSPropertyNameEnumerator.h:
- runtime/NumberPrototype.cpp: (JSC::toThisNumber):
- runtime/ObjectPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): (JSC::objectPrototypeToString):
- runtime/RegExpPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/StringPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/Structure.cpp: (JSC::Structure::Structure): (JSC::Structure::~Structure): (JSC::Structure::flattenDictionaryStructure): (JSC::Structure::dump const): (JSC::Structure::canCachePropertyNameEnumerator const):
- runtime/Structure.h: (JSC::Structure::id const):
- runtime/StructureChain.cpp: (JSC::StructureChain::create): (JSC::StructureChain::visitChildrenImpl):
- runtime/StructureID.h: Removed.
- runtime/StructureIDBlob.h: (JSC::StructureIDBlob::StructureIDBlob):
- runtime/StructureIDTable.cpp: Added. (JSC::StructureIDTable::StructureIDTable): (JSC::StructureIDTable::makeFreeListFromRange): (JSC::StructureIDTable::resize): (JSC::StructureIDTable::flushOldTables): (JSC::StructureIDTable::allocateID): (JSC::StructureIDTable::deallocateID):
- runtime/StructureIDTable.h: Added. (JSC::nukedStructureIDBit): (JSC::nuke): (JSC::isNuked): (JSC::decontaminate): (JSC::StructureIDTable::base): (JSC::StructureIDTable::size const): (JSC::StructureIDTable::table const): (JSC::StructureIDTable::decode): (JSC::StructureIDTable::encode): (JSC::StructureIDTable::get): (JSC::StructureIDTable::tryGet): (JSC::StructureIDTable::validate): (JSC::StructureIDTable::deallocateID): (JSC::StructureIDTable::allocateID): (JSC::StructureIDTable::flushOldTables):
- runtime/StructureRareData.cpp: (JSC::StructureRareData::StructureRareData):
- runtime/StructureRareData.h:
- runtime/StructureRareDataInlines.h: (JSC::StructureRareData::tryCachePropertyNameEnumeratorViaWatchpoint):
- runtime/SymbolPrototype.cpp: (JSC::JSC_DEFINE_CUSTOM_GETTER): (JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/TypeProfilerLog.cpp: (JSC::TypeProfilerLog::processLogEntries): (JSC::TypeProfilerLog::visit):
- runtime/VM.h: (JSC::VM::getStructure): (JSC::VM::tryGetStructure):
- runtime/WriteBarrier.h: (JSC::WriteBarrierStructureID::WriteBarrierStructureID): Deleted. (JSC::WriteBarrierStructureID::get const): Deleted. (JSC::WriteBarrierStructureID::operator* const): Deleted. (JSC::WriteBarrierStructureID::operator-> const): Deleted. (JSC::WriteBarrierStructureID::clear): Deleted. (JSC::WriteBarrierStructureID::operator bool const): Deleted. (JSC::WriteBarrierStructureID::operator! const): Deleted. (JSC::WriteBarrierStructureID::setWithoutWriteBarrier): Deleted. (JSC::WriteBarrierStructureID::unvalidatedGet const): Deleted. (JSC::WriteBarrierStructureID::value const): Deleted.
- runtime/WriteBarrierInlines.h: (JSC::WriteBarrierStructureID::set): Deleted. (JSC::WriteBarrierStructureID::setMayBeNull): Deleted. (JSC::WriteBarrierStructureID::setEarlyValue): Deleted.
- tools/HeapVerifier.cpp: (JSC::HeapVerifier::validateJSCell):
- tools/Integrity.cpp:
- tools/Integrity.h:
- tools/IntegrityInlines.h: (JSC::Integrity::auditStructureID):
- tools/JSDollarVM.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): (JSC::JSDollarVM::finishCreation): (JSC::JSDollarVM::visitChildrenImpl):
- tools/JSDollarVM.h:
- wasm/js/WebAssemblyFunction.cpp: (JSC::WebAssemblyFunction::jsCallEntrypointSlow):
- wasm/js/WebAssemblyGlobalPrototype.cpp: (JSC::getGlobal):
Source/WTF:
- wtf/OSAllocator.h:
- wtf/posix/OSAllocatorPOSIX.cpp: (WTF::OSAllocator::reserveUncommittedAligned): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:19 PM Changeset in webkit [287164] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Fix iOS debug build
https://bugs.webkit.org/show_bug.cgi?id=234365
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
- 4:16 PM Changeset in webkit [287163] by
-
- 25 edits in trunk/Source
Remove more NPAPI plugin code
https://bugs.webkit.org/show_bug.cgi?id=234379
Patch by Alex Christensen <achristensen@webkit.org> on 2021-12-16
Reviewed by Anders Carlsson.
Source/WebCore:
- html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::appendFormData): Deleted.
- html/HTMLObjectElement.h:
- page/Page.cpp:
(WebCore::Page::setSessionID):
- plugins/PluginViewBase.h:
(WebCore::PluginViewBase::storageBlockingStateChanged):
(WebCore::PluginViewBase::privateBrowsingStateChanged): Deleted.
(WebCore::PluginViewBase::getFormValue): Deleted.
(WebCore::PluginViewBase::shouldNotAddLayer const): Deleted.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
Source/WebKit:
- UIProcess/Cocoa/WebViewImpl.h:
(WebKit::WebViewImpl::pluginComplexTextInputIdentifier const): Deleted.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::doneWithKeyEvent):
(WebKit::WebViewImpl::interpretKeyEvent):
(WebKit::WebViewImpl::inputContext):
(WebKit::WebViewImpl::performKeyEquivalent):
(WebKit::WebViewImpl::keyDown):
(WebKit::WebViewImpl::disableComplexTextInputIfNecessary): Deleted.
(WebKit::WebViewImpl::handlePluginComplexTextInputKeyDown): Deleted.
(WebKit::WebViewImpl::tryHandlePluginComplexTextInputKeyDown): Deleted.
(WebKit::WebViewImpl::pluginFocusOrWindowFocusChanged): Deleted.
(WebKit::WebViewImpl::tryPostProcessPluginComplexTextInputKeyDown): Deleted.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged): Deleted.
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged): Deleted.
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::sendComplexTextInputToPlugin): Deleted.
(WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged): Deleted.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/Plugin.h:
(WebKit::Plugin::canCreateTransientPaintingSnapshot const): Deleted.
- WebProcess/Plugins/PluginController.h:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::destroyPluginAndReset):
(WebKit::PluginView::shouldCreateTransientPaintingSnapshot const):
(WebKit::PluginView::sendComplexTextInput): Deleted.
(WebKit::PluginView::privateBrowsingStateChanged): Deleted.
(WebKit::PluginView::getFormValue): Deleted.
(WebKit::PluginView::shouldNotAddLayer const): Deleted.
(WebKit::PluginView::pluginFocusOrWindowFocusChanged): Deleted.
- WebProcess/Plugins/PluginView.h:
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::accessibilityPosition const):
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::sendComplexTextInputToPlugin): Deleted.
- 4:02 PM Changeset in webkit [287162] by
-
- 2 edits in trunk/Tools
[GTK][WPE] Don't ignore stderr when calling flatpak in update-webkitgtk-libs
https://bugs.webkit.org/show_bug.cgi?id=234407
Reviewed by Michael Catanzaro.
Print stderr when calling flatpak, is useful to debug problems when it fails.
- flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
- 3:45 PM Changeset in webkit [287161] by
-
- 1 copy in tags/Safari-612.4.5
Tag Safari-612.4.5.
- 3:30 PM Changeset in webkit [287160] by
-
- 23 edits in trunk/Source/JavaScriptCore
Use arm64's fmax/fmin instructions in Wasm
https://bugs.webkit.org/show_bug.cgi?id=234367
Reviewed by Keith Miller.
This patch adds support in B3 for FMax and FMin. We use this for Wasm's f32/64
min/max operations. On arm64, we select the arm64 fmin/fmax instructions
for these B3 opcodes. On x86, we lower these to control flow to calculate the
result inside of lower macros.
This speeds up Wasm programs that make heavy usage of min/max.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::floatMax):
(JSC::MacroAssemblerARM64::floatMin):
(JSC::MacroAssemblerARM64::doubleMax):
(JSC::MacroAssemblerARM64::doubleMin):
- b3/B3Common.h:
(JSC::B3::fMax):
(JSC::B3::fMin):
- b3/B3ConstDoubleValue.cpp:
(JSC::B3::ConstDoubleValue::fMinConstant const):
(JSC::B3::ConstDoubleValue::fMaxConstant const):
- b3/B3ConstDoubleValue.h:
- b3/B3ConstFloatValue.cpp:
(JSC::B3::ConstFloatValue::fMinConstant const):
(JSC::B3::ConstFloatValue::fMaxConstant const):
- b3/B3ConstFloatValue.h:
- b3/B3LowerMacros.cpp:
- b3/B3LowerToAir.cpp:
- b3/B3Opcode.cpp:
(WTF::printInternal):
- b3/B3Opcode.h:
- b3/B3ReduceStrength.cpp:
- b3/B3Validate.cpp:
- b3/B3Value.cpp:
(JSC::B3::Value::fMinConstant const):
(JSC::B3::Value::fMaxConstant const):
(JSC::B3::Value::effects const):
(JSC::B3::Value::key const):
(JSC::B3::Value::typeFor):
- b3/B3Value.h:
- b3/B3ValueInlines.h:
- b3/B3ValueKey.cpp:
(JSC::B3::ValueKey::materialize const):
- b3/air/AirOpcode.opcodes:
- b3/testb3.h:
- b3/testb3_1.cpp:
(run):
- b3/testb3_7.cpp:
(testFMaxMin):
(testFloatMaxMin):
(testDoubleMaxMin):
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addFloatingPointMinOrMax):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Min>):
- wasm/wasm.json:
- 2:37 PM Changeset in webkit [287159] by
-
- 29 edits in trunk/Source
Move WebIDBServers from NetworkProcess to NetworkSession class
https://bugs.webkit.org/show_bug.cgi?id=234366
Reviewed by Darin Adler.
Move WebIDBServers from NetworkProcess to NetworkSession class, since they are per session.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFilesForIndexedDB):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::addWebsiteDataStore):
(WebKit::NetworkProcess::destroySession):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):
(WebKit::NetworkProcess::suspendIDBServers):
(WebKit::NetworkProcess::resume):
(WebKit::CompletionHandler<void):
(WebKit::NetworkProcess::prefetchDNS): Deleted.
(WebKit::NetworkProcess::cacheStorageRootPath): Deleted.
(WebKit::NetworkProcess::setCacheStorageParameters): Deleted.
(WebKit::NetworkProcess::registerURLSchemeAsSecure const): Deleted.
(WebKit::NetworkProcess::registerURLSchemeAsBypassingContentSecurityPolicy const): Deleted.
(WebKit::NetworkProcess::registerURLSchemeAsLocal const): Deleted.
(WebKit::NetworkProcess::registerURLSchemeAsNoAccess const): Deleted.
(WebKit::NetworkProcess::createWebIDBServer): Deleted.
(WebKit::NetworkProcess::webIDBServer): Deleted.
(WebKit::NetworkProcess::addIndexedDatabaseSession): Deleted.
(WebKit::NetworkProcess::setSessionStorageQuotaManagerIDBRootPath): Deleted.
(WebKit::NetworkProcess::syncLocalStorage): Deleted.
(WebKit::NetworkProcess::resetQuota): Deleted.
(WebKit::NetworkProcess::clearStorage): Deleted.
(WebKit::NetworkProcess::renameOriginInWebsiteData): Deleted.
(WebKit::NetworkProcess::getPendingPushMessages): Deleted.
(WebKit::NetworkProcess::processPushMessage): Deleted.
(WebKit::NetworkProcess::deletePushAndNotificationRegistration): Deleted.
(WebKit::NetworkProcess::getOriginsWithPushAndNotificationPermissions): Deleted.
(WebKit::NetworkProcess::requestStorageSpace): Deleted.
(WebKit::NetworkProcess::storageQuotaManager): Deleted.
(WebKit::NetworkProcess::initializeProcess): Deleted.
(WebKit::NetworkProcess::initializeProcessName): Deleted.
(WebKit::NetworkProcess::initializeSandbox): Deleted.
(WebKit::NetworkProcess::flushCookies): Deleted.
(WebKit::NetworkProcess::platformFlushCookies): Deleted.
(WebKit::NetworkProcess::storePrivateClickMeasurement): Deleted.
(WebKit::NetworkProcess::dumpPrivateClickMeasurement): Deleted.
(WebKit::NetworkProcess::clearPrivateClickMeasurement): Deleted.
(WebKit::NetworkProcess::setPrivateClickMeasurementOverrideTimerForTesting): Deleted.
(WebKit::NetworkProcess::simulateResourceLoadStatisticsSessionRestart): Deleted.
(WebKit::NetworkProcess::markAttributedPrivateClickMeasurementsAsExpiredForTesting): Deleted.
(WebKit::NetworkProcess::setPrivateClickMeasurementEphemeralMeasurementForTesting): Deleted.
(WebKit::NetworkProcess::setPrivateClickMeasurementTokenPublicKeyURLForTesting): Deleted.
(WebKit::NetworkProcess::setPrivateClickMeasurementTokenSignatureURLForTesting): Deleted.
(WebKit::NetworkProcess::setPrivateClickMeasurementAttributionReportURLsForTesting): Deleted.
(WebKit::NetworkProcess::markPrivateClickMeasurementsAsExpiredForTesting): Deleted.
(WebKit::NetworkProcess::setPCMFraudPreventionValuesForTesting): Deleted.
(WebKit::NetworkProcess::setPrivateClickMeasurementAppBundleIDForTesting): Deleted.
(WebKit::NetworkProcess::addKeptAliveLoad): Deleted.
(WebKit::NetworkProcess::removeKeptAliveLoad): Deleted.
(WebKit::NetworkProcess::connectionToWebProcessClosed): Deleted.
(WebKit::NetworkProcess::webProcessConnection const): Deleted.
(WebKit::NetworkProcess::setServiceWorkerFetchTimeoutForTesting): Deleted.
(WebKit::NetworkProcess::resetServiceWorkerFetchTimeoutForTesting): Deleted.
(WebKit::NetworkProcess::randomClosedPortDelay): Deleted.
(WebKit::NetworkProcess::hasAppBoundSession const): Deleted.
(WebKit::NetworkProcess::clearAppBoundSession): Deleted.
(WebKit::NetworkProcess::broadcastConsoleMessage): Deleted.
(WebKit::NetworkProcess::updateBundleIdentifier): Deleted.
(WebKit::NetworkProcess::clearBundleIdentifier): Deleted.
(WebKit::NetworkProcess::shouldDisableCORSForRequestTo const): Deleted.
(WebKit::NetworkProcess::setCORSDisablingPatterns): Deleted.
(WebKit::NetworkProcess::appPrivacyReportTestingData): Deleted.
(WebKit::NetworkProcess::clearAppPrivacyReportTestingData): Deleted.
(WebKit::NetworkProcess::rtcDataChannelProxy): Deleted.
(WebKit::NetworkProcess::addWebPageNetworkParameters): Deleted.
(WebKit::NetworkProcess::removeWebPageNetworkParameters): Deleted.
(WebKit::NetworkProcess::countNonDefaultSessionSets): Deleted.
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::shouldSuspendIDBServers const):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::invalidateAndCancel):
(WebKit::NetworkSession::ensureWebIDBServer):
(WebKit::NetworkSession::closeIDBServer):
(WebKit::NetworkSession::addIndexedDatabaseSession):
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::webIDBServer):
(WebKit::NetworkSession::hasIDBDatabasePath const):
- 2:18 PM Changeset in webkit [287158] by
-
- 2 edits in trunk/Source/WebCore
Add an experimental VideoTrackConfiguration class and accessor on VideoTrack
https://bugs.webkit.org/show_bug.cgi?id=230841
<rdar://problem/83837876>
Reviewed by Eric Carlson.
Follow up patch to address post-review comments.
Darin pointed out that CFStringCompare() is likely more expensive than
CFEqual() as the former determines order as well as equality, and a
safeCFEqual() already exists. And while safeCFEqual() has different
behavior than the safeCFStringEquals() lambda when passed two null values,
in every case where safeCFStringEquals() is used, the first parameter has
already been nil-checked. So safeCFStringEquals() is unnecessary and
safeCFEqual() should be used instead.
- platform/graphics/avfoundation/FormatDescriptionUtilities.cpp:
(WebCore::colorSpaceFromFormatDescription):
- 2:02 PM Changeset in webkit [287157] by
-
- 9 edits2 adds in trunk/Source/WebCore
Allow AudioSampleDataSource to increase/decrease buffered data progressively
https://bugs.webkit.org/show_bug.cgi?id=233422
Reviewed by Eric Carlson.
AudioSampleDataSource does the link between push audio sources and pull audio sinks.
As such, it needs to do buffering. If buffering is too small, data may be missing and audio glitches will be heard.
If buffering is too large, latency will be added which might be undesirable, especially if audio is being played with video.
We generally want buffered audio to stay within a certain range.
To make this happen, when buffering is too high, we convert the data with a slightly lower sample rate to push less samples, until we are back to normal buffering.
Conversely, when buffering is too low, we convert the data with a slightly higher sample rate to push more samples, until we are back to normal buffering.
We do this with 3 converters that we select based on amount of buffered data.
This behavior is encapsulated in AudioSampleDataConverter.
We simplify AudioSampleDataSource implementation by always recomputing the sample offset when there is not enough data.
In that case, we wait for 50ms of buffered data, which is the average buffer we expect, to restart pulling data.
All values owned by AudioSampleDataSource (m_expectedNextPushedSampleTimeValue, m_converterInputOffset, m_converterInputOffset, m_outputSampleOffset, m_lastBufferedAmount)
are all in the outgoing timeline/sampleRate.
This adaptation is only enabled when AudioSampleDataSource::pullSamples is called.
For pullAvailableSamplesAsChunks and pullAvailableSampleChunk, the puller is supposed to be in sync with the pusher.
For that reason, we make sure to always write the expected number of audio frames when pullSamples is called, even if converter fails.
We fix a potential busy loop in AudioSampleDataSource::pullAvailableSamplesAsChunks in case endFrame is lower than startFrame, which is computed from timeStamp input parameter.
Update MockAudioSharedUnit to be closer to a real source by increasing the queue priority and schedule rendering tasks from the queue instead of relying on
a main thread timer which can have hiccups.
Manually tested.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/audio/cocoa/AudioSampleDataConverter.h: Added.
- platform/audio/cocoa/AudioSampleDataConverter.mm: Added.
- platform/audio/cocoa/AudioSampleDataSource.h:
- platform/audio/cocoa/AudioSampleDataSource.mm:
- platform/mediastream/mac/MockAudioSharedUnit.h:
- platform/mediastream/mac/MockAudioSharedUnit.mm:
- 2:00 PM Changeset in webkit [287156] by
-
- 21 edits1 copy in trunk/Source
REGRESSION (r286601): storage/filesystemaccess/sync-access-handle-read-write-worker.html and file-system-access/sandboxed_FileSystemSyncAccessHandle-truncate.https.tentative.worker.html are consistently failing
https://bugs.webkit.org/show_bug.cgi?id=234271
<rdar://problem/86434111>
Reviewed by Youenn Fablet.
Source/WebCore:
When context stops, FileSystemHandle sets its state to closed. A closed FileSystemHandle will return early on
operations including closing sync access handle (asking backend to close handle and releasing lock). If backend
thinks existing access handle is not closed, it will prevent new access handle from being created, and this
leads to the test failure.
The problem is that backend isn't notified about the close of a handle: we only set the close state in
FileSystemHandle. To fix the issue, let's make sure FileSystemStorageConnection::closeHandle is called when
context stops and when FileSystemHandle is detroyed.
- Headers.cmake:
- Modules/filesystemaccess/FileSystemDirectoryHandle.cpp:
(WebCore::FileSystemDirectoryHandle::getFileHandle):
(WebCore::FileSystemDirectoryHandle::getDirectoryHandle):
(WebCore::FileSystemDirectoryHandle::getHandle):
- Modules/filesystemaccess/FileSystemFileHandle.cpp:
(WebCore::FileSystemFileHandle::createSyncAccessHandle):
(WebCore::FileSystemFileHandle::closeSyncAccessHandle):
(WebCore::FileSystemFileHandle::close): Deleted.
- Modules/filesystemaccess/FileSystemFileHandle.h:
- Modules/filesystemaccess/FileSystemHandle.cpp:
(WebCore::FileSystemHandle::~FileSystemHandle):
(WebCore::FileSystemHandle::close):
(WebCore::FileSystemHandle::stop):
- Modules/filesystemaccess/FileSystemHandle.h:
- Modules/filesystemaccess/FileSystemHandleCloseScope.h: Added.
(WebCore::FileSystemHandleCloseScope::create):
(WebCore::FileSystemHandleCloseScope::~FileSystemHandleCloseScope):
(WebCore::FileSystemHandleCloseScope::release):
(WebCore::FileSystemHandleCloseScope::FileSystemHandleCloseScope):
- Modules/filesystemaccess/FileSystemStorageConnection.h:
- Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:
(WebCore::FileSystemSyncAccessHandle::closeBackend):
- Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:
(WebCore::WorkerFileSystemStorageConnection::getFileHandle):
(WebCore::WorkerFileSystemStorageConnection::getDirectoryHandle):
(WebCore::WorkerFileSystemStorageConnection::didGetHandle):
(WebCore::WorkerFileSystemStorageConnection::closeSyncAccessHandle):
(WebCore::WorkerFileSystemStorageConnection::getHandle):
(WebCore::WorkerFileSystemStorageConnection::close): Deleted.
- Modules/filesystemaccess/WorkerFileSystemStorageConnection.h:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
- NetworkProcess/storage/FileSystemStorageHandle.cpp:
(WebKit::FileSystemStorageHandle::close):
(WebKit::FileSystemStorageHandle::closeSyncAccessHandle):
- NetworkProcess/storage/FileSystemStorageHandle.h:
- NetworkProcess/storage/FileSystemStorageManager.cpp:
(WebKit::FileSystemStorageManager::closeHandle):
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::closeSyncAccessHandle):
(WebKit::NetworkStorageManager::closeAccessHandle): Deleted.
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.messages.in:
- WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp:
(WebKit::WebFileSystemStorageConnection::getFileHandle):
(WebKit::WebFileSystemStorageConnection::getDirectoryHandle):
(WebKit::WebFileSystemStorageConnection::closeSyncAccessHandle):
(WebKit::WebFileSystemStorageConnection::getHandle):
(WebKit::WebFileSystemStorageConnection::close): Deleted.
- WebProcess/WebCoreSupport/WebFileSystemStorageConnection.h:
- 1:20 PM Changeset in webkit [287155] by
-
- 13 edits2 adds in branches/safari-612-branch/Source/WebCore
Cherry-pick r287079. rdar://problem/85892959
This reverts r287150.
- 1:05 PM Changeset in webkit [287154] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] only emit pointer validation for ARM64E
https://bugs.webkit.org/show_bug.cgi?id=234402
Reviewed by Yusuke Suzuki and Mark Lam.
JIT thunks no longer emit
push <reg>; pop <reg>;on
non-ARM64E arches with the emitPointerValidation macro.
- jit/ThunkGenerators.cpp:
(JSC::emitPointerValidation):
- 1:02 PM Changeset in webkit [287153] by
-
- 9 edits in trunk/Source
Non-unified build fixes, late-ish December 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=234392
Unreviewed non-unified build fixes.
Source/WebCore:
No new tests needed.
- Modules/notifications/NotificationData.h: Add missing wtf/text/WTFString.h and <optional>
header inclusions.
- style/HasSelectorFilter.cpp: Add missing StyleRule.h header inclusion.
- style/HasSelectorFilter.h: Add missing forward declaration for WebCore::Element.
- workers/WorkerConsoleClient.h: Add missing JSC:: namespace prefix to usage of
JSC::MessageType.
Source/WebKit:
- NetworkProcess/NetworkDataTask.cpp: Add missing NetworkProcess.h header inclusion.
- NetworkProcess/NetworkSession.cpp: Add missing WebCore/SWServer.h heeader inclusion.
- UIProcess/Notifications/WebNotificationManagerProxy.cpp: Add missing
WebCore/NotificationData.h header inclusion.
- 12:47 PM Changeset in webkit [287152] by
-
- 1 copy in tags/Safari-613.1.11.8
Tag Safari-613.1.11.8.
- 12:41 PM Changeset in webkit [287151] by
-
- 3 edits in branches/safari-612-branch/Source/WebCore
Apply patch. rdar://problem/86505382
- 12:40 PM Changeset in webkit [287150] by
-
- 13 edits2 deletes in branches/safari-612-branch/Source/WebCore
Revert r287079. rdar://problem/85892959
This reverts r287117.
- 12:29 PM Changeset in webkit [287149] by
-
- 2 edits in branches/safari-613.1.12-branch/Source/WebKit
Cherry-pick r287146. rdar://problem/86550488
[watchOS] Adjust sandbox message filter
https://bugs.webkit.org/show_bug.cgi?id=234385
<rdar://86550488>
Reviewed by Brent Fulgham.
Add required items to sandbox message filter in the WebContent process on watchOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287146 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:21 PM Changeset in webkit [287148] by
-
- 9 edits in branches/safari-613.1.11-branch/Source
Versioning.
WebKit-7613.1.11.8
- 11:23 AM Changeset in webkit [287147] by
-
- 3 edits in trunk/Source/WebCore
Rename forEachFrameFromMainFrame to forEachFrame
https://bugs.webkit.org/show_bug.cgi?id=234396
<rdar://problem/86581926>
Reviewed by Geoffrey Garen.
Follow-up to r287110: Switch method naming to match 'forEachDocument'.
- page/Page.cpp:
(WebCore::Page::~Page):
(WebCore::Page::notifyToInjectUserScripts):
(WebCore::Page::forEachFrame):
(WebCore::Page::forEachFrameFromMainFrame): Deleted.
- page/Page.h:
- 10:57 AM Changeset in webkit [287146] by
-
- 2 edits in trunk/Source/WebKit
[watchOS] Adjust sandbox message filter
https://bugs.webkit.org/show_bug.cgi?id=234385
<rdar://86550488>
Reviewed by Brent Fulgham.
Add required items to sandbox message filter in the WebContent process on watchOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 10:35 AM Changeset in webkit [287145] by
-
- 22 edits7 adds in branches/safari-613.1.12-branch/Source
Cherry-pick r287137. rdar://problem/86476583
Source/JavaScriptCore:
Create symlinks pointing to alternate root framework locations
https://bugs.webkit.org/show_bug.cgi?id=234374
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- Configurations/JavaScriptCore.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/create-symlink-to-altroot.sh: Added.
Source/ThirdParty/ANGLE:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- ANGLE.xcodeproj/project.pbxproj:
- Configurations/ANGLE-dynamic.xcconfig:
- scripts/create-symlink-to-altroot.sh: Added.
Source/ThirdParty/libwebrtc:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- Configurations/libwebrtc.xcconfig:
Source/WebCore:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
Covered by existing tests.
- Configurations/WebCore.xcconfig:
- Scripts/create-symlink-to-altroot.sh: Added.
- WebCore.xcodeproj/project.pbxproj:
Source/WebGPU:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- Configurations/WebGPU.xcconfig:
- Scripts: Added.
- Scripts/create-symlink-to-altroot.sh: Added.
- WebGPU.xcodeproj/project.pbxproj:
Source/WebInspectorUI:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- Configurations/WebInspectorUIFramework.xcconfig:
- Scripts/create-symlink-to-altroot.sh: Added.
- WebInspectorUI.xcodeproj/project.pbxproj:
Source/WebKit:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- Configurations/BaseXPCService.xcconfig:
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
- Scripts/create-symlink-to-altroot.sh: Added.
- WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:14 AM Changeset in webkit [287144] by
-
- 3 edits in trunk/Source/WebCore
[GPUP] Create WebGL context with task id token
https://bugs.webkit.org/show_bug.cgi?id=234138
Patch by John Cunningham <johncunningham@apple.com> on 2021-12-16
Reviewed by Kimmo Kinnunen.
No new tests.
Use EGL_ANGLE_metal_create_context_ownership_identity to create
a WebGL context when GPUP and WebGL in GPUP is enabled.
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::GraphicsContextGLCocoa):
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
- 9:51 AM Changeset in webkit [287143] by
-
- 4 edits in trunk/Source/ThirdParty/ANGLE
Add support to attribute ownership of ANGLE Metal's resources
https://bugs.webkit.org/show_bug.cgi?id=233941
Patch by John Cunningham <johncunningham@apple.com> on 2021-12-16
Reviewed by Kimmo Kinnunen.
Add SPI to mtl_resource_spi.h to attribute memory to another task.
- Configurations/ANGLE-dynamic.xcconfig:
- Configurations/ANGLE-static.xcconfig:
- src/libANGLE/renderer/metal/mtl_resource_spi.h:
(rx::mtl::setOwnerWithIdentity):
- 9:36 AM Changeset in webkit [287142] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Simple RTL content may need visual reordering
https://bugs.webkit.org/show_bug.cgi?id=234380
Reviewed by Antti Koivisto.
It turns out that certain unicode categories (e.g. punctuation) could require reordering even when
the content is "simple" (8bit).
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):
- 9:17 AM Changeset in webkit [287141] by
-
- 8 edits in trunk
Unreviewed, reverting r287056.
<rdar://86519800>
Caused performance regression...again
Reverted changeset:
"Remove properties set by NSURLProtocol on NSURLRequest before
serializing"
https://bugs.webkit.org/show_bug.cgi?id=232332
https://commits.webkit.org/r287056
- 9:09 AM Changeset in webkit [287140] by
-
- 2 edits in trunk/Source/WebCore
Remove the declaration for an unimplemented AudioBufferSourceNode::create(BaseAudioContext&, float) method
https://bugs.webkit.org/show_bug.cgi?id=234388
Reviewed by Anders Carlsson.
- Modules/webaudio/AudioBufferSourceNode.h:
- 8:59 AM Changeset in webkit [287139] by
-
- 2 edits in trunk/Source/WebCore
Clear AXObjectCache::m_notificationsToPost after moving in notificationPostTimerFired.
https://bugs.webkit.org/show_bug.cgi?id=234355
<rdar://problem/86532703>
Reviewed by Chris Fleizach.
Covered by existing tests.
This memeber variable must be clear after moving its resources to a
local variable, otherwise this may cause undefined behavior.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::passwordNotificationPostTimerFired):
Same problem here with m_passwordNotificationsToPost.
- 8:54 AM Changeset in webkit [287138] by
-
- 76 edits in trunk
Many call sites use makeNeverDestroyed, but could instead take advantage of the NeverDestroyed deduction guide
https://bugs.webkit.org/show_bug.cgi?id=234350
Reviewed by Sam Weinig.
Source/WebCore:
- Modules/encryptedmedia/legacy/LegacyCDM.cpp:
(WebCore::installedCDMFactories): Use NeverDestroyed directly instead of via makeNeverDestroyed.
- Modules/mediasession/MediaSession.cpp:
(WebCore::platformCommandForMediaSessionAction): Use SortedArrayMap, obviating the need for
any use of NeverDestroyed.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole const): Use Span instead of
Vector, allowing us to use constexpr arrays rather than allocating memory for a Vector.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]): Use deduction.
- dom/make_names.pl:
(printFactoryCppFile): Ditto.
(printWrapperFactoryCppFile): Ditto.
- editing/EditingStyle.cpp:
(WebCore::htmlElementEquivalents): Return a Span instead of a Vector&,
allowing us to use const arrays rather than allocating memory for a Vector.
(WebCore::htmlAttributeEquivalents): Ditto.
- editing/FormatBlockCommand.cpp:
(WebCore::isElementForFormatBlock): Use deduction.
- editing/RemoveFormatCommand.cpp:
(WebCore::isElementForRemoveFormatCommand): Ditto.
- editing/ReplaceSelectionCommand.cpp:
(WebCore::isProhibitedParagraphChild): Use deduction, also change the tags array
to be a constexpr array so we don't have to use read/write memory for it.
- editing/cocoa/HTMLConverter.mm:
(WebDefaultFont): Use deduction.
(defaultParagraphStyle): Ditto.
- html/Autofill.cpp:
(WebCore::fieldNameMap): Ditto.
- html/HTMLDocument.cpp:
(WebCore::HTMLDocument::isCaseSensitiveAttribute): Use deduction, also change
the names array to be a constexpr array so we don't have to use read/write memory for it.
- html/HTMLElement.cpp:
(WebCore::HTMLElement::eventNameForEventHandlerAttribute): Use std::array deduction
so we don't have to write out the LazyNeverDestroyed type here.
- html/HTMLObjectElement.cpp:
(WebCore::preventsParentObjectFromExposure): Use deduction.
- html/InputType.cpp:
(WebCore::InputType::create): Ditto.
- loader/ContentFilter.cpp:
(WebCore::blockedPageURL): Ditto.
- page/DebugPageOverlays.cpp:
(WebCore::touchEventRegionColors): Ditto.
- page/PerformanceUserTiming.cpp:
(WebCore::restrictedMarkNamesToNavigationTimingFunctionMap): Ditto.
- platform/LegacySchemeRegistry.cpp:
(WebCore::add): Use Span instead of Vector, allowing us to use constexpr arrays
rather thna allocating memory for a Vector.
(WebCore::makeNeverDestroyedSchemeSet): Ditto.
(WebCore::allBuiltinSchemes): Ditto. Also use deduction.
(WebCore::builtinLocalURLSchemes): Ditto.
(WebCore::builtinSecureSchemes): Ditto.
(WebCore::builtinSchemesWithUniqueOrigins): Ditto.
(WebCore::builtinEmptyDocumentSchemes): Ditto.
(WebCore::builtinCanDisplayOnlyIfCanRequestSchemes): Ditto.
(WebCore::builtinCORSEnabledSchemes): Ditto.
- platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::supportedNonImageMIMETypes): Use deduction.
(WebCore::MIMETypeRegistry::supportedMediaMIMETypes): Ditto.
- platform/cocoa/AGXCompilerService.cpp:
(WebCore::agxCompilerServices): Use Span instead of a Vector&, allowing us
to use a constexpr array rather than allocating memory for a vector.
(WebCore::agxCompilerClasses): Ditto.
- platform/cocoa/AGXCompilerService.h: Ditto.
- platform/cocoa/MIMETypeRegistryCocoa.mm:
(WebCore::extensionsForMIMETypeMap): Use deduction.
- platform/cocoa/RemoteCommandListenerCocoa.mm:
(WebCore::mediaRemoteCommandForPlatformCommand): Use SortedArrayMap, ovbviating the
need for any use of NeverDestroyed.
- platform/cocoa/VideoFullscreenModelVideoElement.h:
- platform/cocoa/VideoFullscreenModelVideoElement.mm:
(WebCore::VideoFullscreenModelVideoElement::observedEventNames): Return a Span
instead of a Vector&, allowing us to use an array rather than allocating
memory for a Vector.
- platform/encryptedmedia/CDMProxy.cpp:
(WebCore::CDMProxyFactory::registeredFactories): Use deduction.
- platform/graphics/FontCascade.cpp:
(WebCore::useBackslashAsYenSignForFamily): Use deduction.
(WebCore::FontCascade::hasValidAverageCharWidth const): Ditto.
- platform/graphics/ImageDecoder.cpp:
(WebCore::installedFactories): Use NeverDestroyed directly, not makeNeverDestroyed.
- platform/graphics/IntSize.h: Added constexpr so many operations can be done
at compile time as needed; mainly this was so we can make a constexpr array of
these sizes. This same enhancement can be applied to other types, but just did
it here for now. Also fixed return values for min/maxDimension that were accidentally
returning float, hurting performance because of the round trip int to float,
also not cleanly round tripping very large and small values.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::staticMIMETypeList): Use deduction.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::checkPlayability): Ditto.
- platform/graphics/cg/ImageSourceCGWin.cpp:
(WebCore::preferredExtensionForImageType): Ditto.
- platform/graphics/cg/UTIRegistry.cpp:
(WebCore::defaultSupportedImageTypes): Ditto.
- platform/graphics/cocoa/FontDescriptionCocoa.cpp:
(WebCore::matchSystemFontUse): Ditto.
- platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::SourceBufferParserWebM::webmMIMETypes): Ditto.
(WebCore::SourceBufferParserWebM::supportedVideoCodecs): Ditto.
(WebCore::SourceBufferParserWebM::supportedAudioCodecs): Ditto.
- platform/ios/DragImageIOS.mm:
(WebCore::createDragImageForLink): Ditto.
- platform/mac/WebNSAttributedStringExtras.mm:
(WebCore::attributedStringByStrippingAttachmentCharacters): Ditto.
- platform/mediacapabilities/MediaEngineConfigurationFactory.cpp:
(WebCore::factories): Ditto.
- platform/mediastream/RealtimeVideoCaptureSource.cpp:
(WebCore::RealtimeVideoCaptureSource::standardVideoSizes): Return a Span
instead of a Vector& so we can use a constexpr array and don't need to
allocate memory or use read/write storage.
- platform/mediastream/RealtimeVideoCaptureSource.h: Ditto. Also make
this a static member function.
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::devices): Use deduction.
(WebCore::deviceMap): Ditto.
(WebCore::MockRealtimeMediaSourceCenter::microphoneDevices): Ditto.
(WebCore::MockRealtimeMediaSourceCenter::speakerDevices): Ditto.
(WebCore::MockRealtimeMediaSourceCenter::videoDevices): Ditto.
(WebCore::MockRealtimeMediaSourceCenter::displayDevices): Ditto.
- platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::mimeTypeCache): Ditto.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::operationQueueForAsyncClients): Ditto.
- platform/text/mac/TextBoundaries.mm:
(WebCore::tokenizerForString): Ditto.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::cachedSystemFontDescription const): Use
NeverDestroyed directly instead of makeNeverDestroyed.
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::cachedSystemFontDescription const): Ditto.
- svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::isSupportedAttribute): Use deduction.
- svg/SVGElement.cpp:
(WebCore::createAttributeNameToCSSPropertyIDMap): Use a constexpr array
instead of a const one that has to be initialized at runtime.
(WebCore::SVGElement::animatableAttributeForName): Ditto, also use deduction.
(WebCore::SVGElement::cssPropertyIdForSVGAttributeName): Use deduction.
- svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::isSupportedAttribute): Use deduction.
- xml/XPathFunctions.cpp:
(WebCore::XPath::Function::create): Ditto.
- xml/XPathParser.cpp:
(WebCore::XPath::parseAxisName): Ditto.
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::expectedTableAndIndexQueries):
Use deduction.
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp:
(WebKit::PCM::Database::expectedTableAndIndexQueries): Ditto.
- Shared/Cocoa/DefaultWebBrowserChecks.mm:
(WebKit::getAppBoundDomainsTesting): Ditto.
- Shared/Cocoa/SandboxExtensionCocoa.mm:
(WebKit::createHandlesForResources): Make this more generic so it works with
other kinds of collections, not just Vector. Also right-size the Vector this
returns rather than letting it grow organically.
(WebKit::SandboxExtension::createReadOnlyHandlesForFiles): Ditto.
(WebKit::SandboxExtension::createHandleForReadWriteDirectory): Ditto.
(WebKit::SandboxExtension::createHandlesForMachLookup): Ditto. Also update this
function to take a Span or an initializer_list instead of a Vector.
(WebKit::SandboxExtension::createHandlesForIOKitClassExtensions): Ditto.
(WebKit::SandboxExtension::consumePermanently): Ditto.
- Shared/SandboxExtension.h: Updated for the above. Also corrected some unusual
use of #if to share a single declaration of some functions for both enabled
and disabled SANDBOX_EXTENSIONS.
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::nonBrowserServices): Use deduction.
- UIProcess/WebPageProxy.cpp: Remove unused MERGE_WHEEL_EVENTS.
(WebKit::attachmentElementServices): Return a Span, allowing us to use a
constexpr obviating the need for memory allocation or read/write memory,
(WebKit::gpuIOKitClasses): Ditto.
(WebKit::gpuMachServices): Ditto.
(WebKit::mediaRelatedMachServices): Ditto.
(WebKit::mediaRelatedIOKitClasses): Ditto.
- UIProcess/ios/TextCheckerIOS.mm:
(WebKit::mutableState): Use deduction.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView supportedPasteboardTypesForCurrentSelection]): Ditto.
- UIProcess/mac/TextCheckerMac.mm:
(WebKit::mutableState): Ditto.
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::temporaryPDFDirectoryPath): Ditto.
Source/WebKitLegacy/mac:
- Misc/WebNSPasteboardExtras.mm:
(writableTypesForImageWithoutArchive): Use deduction.
(writableTypesForImageWithArchive):
- Misc/WebNSURLExtras.mm:
(-[NSString _webkit_rangeOfURLScheme]): Ditto.
- WebView/WebDataSource.mm:
(+[WebDataSource _repTypesAllowImageTypeOmission:]): Ditto.
- WebView/WebFrameView.mm:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]): Ditto.
Source/WTF:
- wtf/NeverDestroyed.h:
(WTF::makeNeverDestroyed): Deleted.
- wtf/text/cf/StringImplCF.cpp:
(WTF::StringWrapperCFAllocator::allocator): Use deduction guide.
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
(fontAllowList): Use deduction.
- TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp:
(TestWebKitAPI::TEST): Remove tests of makeNeverDestroyed.
(TestWebKitAPI::list): Use deduction.
- 8:48 AM Changeset in webkit [287137] by
-
- 22 edits7 adds in trunk/Source
Source/JavaScriptCore:
Create symlinks pointing to alternate root framework locations
https://bugs.webkit.org/show_bug.cgi?id=234374
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- Configurations/JavaScriptCore.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/create-symlink-to-altroot.sh: Added.
Source/ThirdParty/ANGLE:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- ANGLE.xcodeproj/project.pbxproj:
- Configurations/ANGLE-dynamic.xcconfig:
- scripts/create-symlink-to-altroot.sh: Added.
Source/ThirdParty/libwebrtc:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- Configurations/libwebrtc.xcconfig:
Source/WebCore:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
Covered by existing tests.
- Configurations/WebCore.xcconfig:
- Scripts/create-symlink-to-altroot.sh: Added.
- WebCore.xcodeproj/project.pbxproj:
Source/WebGPU:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- Configurations/WebGPU.xcconfig:
- Scripts: Added.
- Scripts/create-symlink-to-altroot.sh: Added.
- WebGPU.xcodeproj/project.pbxproj:
Source/WebInspectorUI:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- Configurations/WebInspectorUIFramework.xcconfig:
- Scripts/create-symlink-to-altroot.sh: Added.
- WebInspectorUI.xcodeproj/project.pbxproj:
Source/WebKit:
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
- Configurations/BaseXPCService.xcconfig:
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
- Scripts/create-symlink-to-altroot.sh: Added.
- WebKit.xcodeproj/project.pbxproj:
- 8:10 AM Changeset in webkit [287136] by
-
- 12 edits2 adds in trunk
Implement Array.prototype.groupBy and Array.prototype.groupByToMap
https://bugs.webkit.org/show_bug.cgi?id=234327
Reviewed by Yusuke Suzuki.
JSTests:
- stress/array-groupBy.js: Added.
(shouldBe):
(shouldBeObject):
(shouldBeObject.replacer):
(notReached):
(toObject):
(reverseInsertionOrder):
- stress/array-groupByToMap.js: Added.
(shouldBe):
(shouldBeObject):
(shouldBeObject.replacer):
(shouldBeMap):
(notReached):
(toObject):
(reverseInsertionOrder):
Source/JavaScriptCore:
Implement new Array Grouping proposal <https://tc39.es/proposal-array-grouping/>, which just
reached Stage 3.
Array.prototype.groupBy/Array.prototype.groupByToMapwill return a{}/Mapwhere each
value in the array is put into a "bucket" keyed by the return value of the provoded callback.
`js
const array = [1, 2, 3, 4];
array.groupBy(n => n % 2 ? "odd" : "even") { odd: [1, 3], even: [2, 4] }
array.groupByToMap(n => n % 2 ? "odd" : "even") new Map("odd", [1, 3, ["even", [2, 4]])
`
- builtins/ArrayPrototype.js:
(groupBy): Added.
(groupByToMap): Added.
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
- bytecode/BytecodeIntrinsicRegistry.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emit_intrinsic_toPropertyKey): Added.
Allow@toPropertyKeyto be used in builtins to convert a value to a property key. This is
used to avoid converting the return value of the callback given togroupBymore than once.
- builtins/BuiltinNames.h:
- bytecode/LinkTimeConstant.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
Allow@Mapto be used in builtins to create a primordialMapinstance. This is used to
avoid side effects when creating and populating theMapreturned bygroupByToMap.
- runtime/OptionsList.h:
Add
useArrayGroupByMethodoption.
Source/WebInspectorUI:
- UserInterface/Models/NativeFunctionParameters.js:
- 7:49 AM Changeset in webkit [287135] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r286849-r286852): [iOS] http/tests/app-privacy-report/user-attribution-post-request.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=234363
Unreviewed test gardening.
- platform/ios/TestExpectations: Mark test as failing.
- 7:16 AM Changeset in webkit [287134] by
-
- 2 edits in trunk/Tools
[GTK] Add gtk-wk2 to EWS bubbles
https://bugs.webkit.org/show_bug.cgi?id=209104
Reviewed by Jonathan Bedard.
A new queue was added in 286405 which runs GTK LayoutTests.
This patch adds the queue to the EWS bubbles.
- CISupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
- 7:15 AM Changeset in webkit [287133] by
-
- 4 edits in trunk/Tools
[GTK][WPE] Apply optimizations to speed up the layout-test EWS and add a few more workers to the build ones.
https://bugs.webkit.org/show_bug.cgi?id=234378
Reviewed by Jonathan Bedard.
This applies two optimizations to speed up the testing on the layout-tests EWS added in r286405
- Pass --fully-parallel to the retry steps. This makes the tool to utilize all the available workers for running
the tests instead of running them in serial. That makes the time needed to complete the retry steps to be considerable less,
In this example https://ews-build.webkit.org/#/builders/35/builds/1757 it reduces the timing from 43 mins to 12 mins.
- When the first run fails without giving a list of failures and we have not reached the maximum retry count
we are going to end retring the whole testing anyway, so there is no point in running the tests without patch
in that case, we can skip doing that to save time. See: https://ews-build.webkit.org/#/builders/35/builds/1763
On top of that this patch adds an extra worker to the EWS build queues of GTK and WPE
because I detected that this queues sometimes are not fast enough.
- CISupport/ews-build/config.json:
- CISupport/ews-build/steps.py:
(BugzillaMixin.send_email_for_infrastructure_issue):
(RunWebKitTestsRedTree.evaluateCommand):
(RunWebKitTestsRepeatFailuresRedTree.setLayoutTestCommand):
(RunWebKitTestsRepeatFailuresWithoutPatchRedTree.setLayoutTestCommand):
- CISupport/ews-build/steps_unittest.py:
- 7:00 AM Changeset in webkit [287132] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Add support for mixed ltr/rtl content
https://bugs.webkit.org/show_bug.cgi?id=234381
Reviewed by Antti Koivisto.
Inline boxes can also introduce RTL direction to their content which may initiate visual reordering
(and thus requires bidi handling).
In this patch hasSeenBidiContent (redundant at this point) is replaced with needsVisualReordering.
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::InlineItemsBuilder):
(WebCore::Layout::InlineItemsBuilder::handleTextContent):
(WebCore::Layout::InlineItemsBuilder::handleInlineBoxStart):
(WebCore::Layout::InlineItemsBuilder::handleInlineBoxEnd):
- layout/formattingContexts/inline/InlineItemsBuilder.h:
(WebCore::Layout::InlineItemsBuilder::needsVisualReordering const):
(WebCore::Layout::InlineItemsBuilder::hasSeenBidiContent const): Deleted.
- 6:52 AM Changeset in webkit [287131] by
-
- 7 edits2 adds in trunk
Mark range boundary point containers
https://bugs.webkit.org/show_bug.cgi?id=233462
Patch by Rob Buis <rbuis@igalia.com> on 2021-12-16
Reviewed by Darin Adler.
Source/WebCore:
Mark range boundary point containers as unreachable for gc.
Test: fast/dom/Range/delete-contents-crash.html
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSRangeCustom.cpp: Added.
(WebCore::JSRange::visitAdditionalChildren):
- dom/Range.cpp:
(WebCore::Range::visitNodesConcurrently const):
- dom/Range.h:
- dom/Range.idl:
LayoutTests:
- fast/dom/Range/delete-contents-crash-expected.txt: Added.
- fast/dom/Range/delete-contents-crash.html: Added.
- 6:40 AM Changeset in webkit [287130] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Do not use inlineItemOffsets for checking if an inline item is a "content" type.
https://bugs.webkit.org/show_bug.cgi?id=234383
Reviewed by Antti Koivisto.
This patch removes some leftover logic from when we used the inlineItemOffsets to check for opaque inline items.
Now in this loop we try to figure out if the inline box has content or not by
looking at the nested inline item types.
- layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):
- 3:31 AM Changeset in webkit [287129] by
-
- 10 edits in trunk/Source/WebCore
ActiveDOMObject::suspendIfNeeded() should not be called within constructors
https://bugs.webkit.org/show_bug.cgi?id=233945
Reviewed by Darin Adler.
Step 2 where we convert the IDB code to use suspendIfNeeded() only within create() methods. This required
adding such methods and making the constructor private for IDBIndex and IDBObjectStore.
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::create):
(WebCore::IDBDatabase::IDBDatabase):
- Modules/indexeddb/IDBDatabaseNameAndVersionRequest.cpp:
(WebCore::IDBDatabaseNameAndVersionRequest::create):
(WebCore::IDBDatabaseNameAndVersionRequest::IDBDatabaseNameAndVersionRequest):
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::create):
(WebCore::IDBIndex::IDBIndex):
- Modules/indexeddb/IDBIndex.h:
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::create):
(WebCore::IDBObjectStore::IDBObjectStore):
(WebCore::IDBObjectStore::index):
- Modules/indexeddb/IDBObjectStore.h:
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::createDeleteRequest):
(WebCore::IDBOpenDBRequest::createOpenRequest):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::create):
(WebCore::IDBRequest::createObjectStoreGet):
(WebCore::IDBRequest::createIndexGet):
(WebCore::IDBRequest::IDBRequest):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::createObjectStore):
(WebCore::IDBTransaction::createIndex):
- 3:03 AM Changeset in webkit [287128] by
-
- 7 edits2 adds in trunk
Flexbox ignores margins of absolute positioned children when
align-items: flex-endorjustify-content: flex-end
https://bugs.webkit.org/show_bug.cgi?id=234143
Patch by Vitaly Dyachkov <obyknovenius@me.com> on 2021-12-16
Reviewed by Sergio Villar Senin.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-margin-003-expected.html: Added.
- web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-margin-003.html: Added.
- web-platform-tests/css/css-flexbox/abspos/position-absolute-015-expected.txt: Replaced FAIL
by PASS expectations.
Source/WebCore:
When flexbox layouts its children every absolutely-positioned child is processed separately from regular flex items as it were the sole flex item.
Absolutely-positioned can be both main- and cross-axis aligned. To correctly align it we first must calculate available space for it.
To do that the code was correctly subtracting the size of the item from the size of the container but was not subtracting the margins.
Fixed by including the margins into available size calculation.
Test: imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-margin-003.html
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::mainAxisMarginExtentForChild const):
(WebCore::RenderFlexibleBox::staticMainAxisPositionForPositionedChild):
LayoutTests:
- TestExpectations: Unksipped a flexbox test that is now passing.
- 2:52 AM Changeset in webkit [287127] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Unreviewed. Import updated table-child-percentage-height-with-border-box-expected.html
The wpt expected file was fixed accroding to the spec,
https://drafts.csswg.org/css-tables-3/#table-cell-content-relayout.
The corresponding wpt issue is https://github.com/web-platform-tests/wpt/pull/32089.
- web-platform-tests/css/css-sizing/table-child-percentage-height-with-border-box-expected.html: