Timeline
Feb 24, 2022:
- 9:10 PM Changeset in webkit [290493] by
-
- 4 edits in trunk
Unreviewed, reverting r290371.
Caused assertion
Reverted changeset:
"Call WKNavigationDelegate.didFailProvisionalNavigation even
after a cross-origin navigation with COOP"
https://bugs.webkit.org/show_bug.cgi?id=237071
https://commits.webkit.org/r290371
- 8:56 PM Changeset in webkit [290492] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening after r290454.
- TestExpectations: Progressions.
- 7:10 PM Changeset in webkit [290491] by
-
- 3 edits in trunk/Source/WebCore
Simplify grid RTL handling
https://bugs.webkit.org/show_bug.cgi?id=236694
Reviewed by Dean Jackson.
The previous code stored columns in logical order (column 0 is the rightmost physical column), but the positions were offset
using the physical left border, padding and content distribution offset. This hybrid physical/logical coordinate space
made for tricky conversions into the final coordinate space.
This changes the stored column positions to use purely logical coordinates, and does a single direction swap (by subtracting
from the width) at the end.
No tests added, this refactoring is covered by a large number of existing WPTs.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::populateGridPositionsForDirection):
(WebCore::RenderGrid::resolveAutoStartGridPosition const):
(WebCore::RenderGrid::resolveAutoEndGridPosition const):
(WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild):
(WebCore::RenderGrid::logicalOffsetForOutOfFlowChild const):
(WebCore::RenderGrid::gridAreaPositionForOutOfFlowChild const):
(WebCore::RenderGrid::computeContentPositionAndDistributionOffset):
(WebCore::RenderGrid::translateRTLCoordinate const):
(WebCore::RenderGrid::logicalOffsetForChild const):
(WebCore::RenderGrid::translateOutOfFlowRTLCoordinate const): Deleted.
- rendering/RenderGrid.h:
- 6:38 PM Changeset in webkit [290490] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] editing/pasteboard/dom-paste/dom-paste-same-origin.html is a flaky timeout/failure
https://bugs.webkit.org/show_bug.cgi?id=237174
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-24
- platform/ios/TestExpectations:
- 6:25 PM Changeset in webkit [290489] by
-
- 1 copy in tags/Safari-614.1.5.4
Tag Safari-614.1.5.4.
- 6:22 PM Changeset in webkit [290488] by
-
- 3 edits in branches/safari-614.1.5-branch/Source/WebKit
Cherry-pick r290288. rdar://problem/89062166
Allow adattributiond to start on iOS devices
https://bugs.webkit.org/show_bug.cgi?id=237009
<rdar://89062166>
Reviewed by Per Arne Vollan.
There were three more problems preventing it from starting:
- The code signature said to look for a sandbox profile with "webkit" in the name, but the profile had "WebKit" in the name. These names are case sensitive.
- The sandbox profile would not let it load the WebKit framework, so dyld would fail and the process would fail to launch. I added the framework directories that the XPC services are allowed to access.
- Once it started, it would crash inside WTF::initializeMainThread when calling WTF::pageSize which requires access to the hw.pagesize_compat syscall. As a starting point, I'm going to allow all the syscalls that the network process currently has access to, which is enough to get it to respond without crashing.
- We need access to com.apple.diagnosticd and com.apple.analyticsd in order to be able to generate crash reports. This is quite useful. Yes, I know I said there were only three problems, but the 4th is so useful I thought I'd put it in the list.
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb:
- Scripts/process-entitlements.sh:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290288 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:21 PM Changeset in webkit [290487] by
-
- 1 delete in tags/Safari-614.1.5.4
Remove tag.
- 6:04 PM Changeset in webkit [290486] by
-
- 2 edits in trunk/LayoutTests
[ BigSur+ EWS ] imported/w3c/web-platform-tests/speech-api/SpeechSynthesis-speak-twice.html is a flaky ASSERTION FAILED / failure
https://bugs.webkit.org/show_bug.cgi?id=237172
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-24
- platform/mac/TestExpectations:
- 5:59 PM Changeset in webkit [290485] by
-
- 1 copy in tags/Safari-613.1.17.0.7
Tag Safari-613.1.17.0.7.
- 5:52 PM Changeset in webkit [290484] by
-
- 1 copy in tags/Safari-614.1.5.4
Tag Safari-614.1.5.4.
- 5:46 PM Changeset in webkit [290483] by
-
- 7 edits1 add in branches/safari-614.1.5-branch
Cherry-pick r290442. rdar://problem/89345853
[MacCatalyst] REGRESSION(r290091): sometimes can crash if
WKWebViewis deallocated before the next visible content rect update
https://bugs.webkit.org/show_bug.cgi?id=237126
<rdar://problem/89345853>
Reviewed by Tim Horton.
Source/WebKit:
Tests: WKWebViewResize.DoesNotAssertInDeallocAfterChangingFrame
WKWebViewResize.DoesNotAssertInDeallocAfterChangingBounds
- UIProcess/API/ios/WKWebViewIOS.h:
- UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _acquireResizeAssertionForReason:]): (-[WKWebView _invalidateResizeAssertions]): Added.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView dealloc]):
Make sure to
-invalidateany remaining assertions in-deallocas required by_UIInvalidatable.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewResize.mm: Added. (TEST.WKWebViewResize.DoesNotAssertInDeallocAfterChangingFrame): (TEST.WKWebViewResize.DoesNotAssertInDeallocAfterChangingBounds):
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:44 PM Changeset in webkit [290482] by
-
- 4 edits in trunk/Source/WebKit
Port CaptivePortalMode preferences to AnyHost in order to support CFPrefs Direct Mode propagation
https://bugs.webkit.org/show_bug.cgi?id=237098
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-02-24
Reviewed by Brent Fulgham.
Move our CaptivePortalMode preference to AnyHost in order to correctly support
CFPrefs Direct Mode propagation. We also now dispatch a CFNotification to ensure our preference
observer is always notified of the change.
- UIProcess/Cocoa/PreferenceObserver.mm:
(-[WKUserDefaults findPreferenceChangesAndNotifyForKeys:toValuesForKeys:]):
- Shared/Cocoa/AuxiliaryProcessCocoa.mm:
(WebKit::AuxiliaryProcess::setPreferenceValue):
- UIProcess/API/Cocoa/_WKSystemPreferences.mm:
(+[_WKSystemPreferences isCaptivePortalModeEnabled]):
(+[_WKSystemPreferences setCaptivePortalModeEnabled:]):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::captivePortalModeConfigUpdateCallback):
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):
- UIProcess/WebProcessPool.h:
- 5:43 PM Changeset in webkit [290481] by
-
- 11 edits in trunk
[iOS] Add support for replacing WKFoundTextRanges
https://bugs.webkit.org/show_bug.cgi?id=237151
rdar://89258687
Reviewed by Wenson Hsieh.
Source/WebKit:
Implement protocol methods to support replacement.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::replaceFoundTextRangeWithString):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView replaceFoundTextInRange:inDocument:withText:]):
(-[WKContentView supportsTextReplacement]):
Restrict replacement to editable web views.
- WebProcess/WebPage/WebFoundTextRangeController.cpp:
(WebKit::WebFoundTextRangeController::replaceFoundTextRangeWithString):
Use a
TemporarySelectionChangeto select and replace the desired range.
- WebProcess/WebPage/WebFoundTextRangeController.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::replaceFoundTextRangeWithString):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Add a test that replaces found ranges.
- TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
(TEST):
- 5:42 PM Changeset in webkit [290480] by
-
- 9 edits in branches/safari-614.1.5-branch/Source
Versioning.
WebKit-7614.1.5.4
- 5:41 PM Changeset in webkit [290479] by
-
- 487 edits1 copy3 moves17 adds18 deletes in trunk/Source/ThirdParty/ANGLE
Roll ANGLE to Feb 18 2022 (78c64dd74ee5)
https://bugs.webkit.org/show_bug.cgi?id=235746
Reviewed by Dean Jackson.
The changelog has been rewritten to avoid
confusion. The following commits are integrated in this
roll:
78c64dd74 Roll SwiftShader from 13f7365e81be to b4a56a893496 (11 revisions)
00c4dc93a Python3: Update generate_test_spec_json.py
d98f4812c FrameCapture: Capture empty buffer generation.
7a4fd4212 Roll Chromium from d984ec3b132a to 6594a8d1e6cf (1749 revisions)
b1bdce5f2 Roll VK-GL-CTS from 834c2e16ae1c to d321c7ec84de (7 revisions)
f996d4d87 Vulkan: Fix DynamicBuffer cache reuse.
8dc9e83e3 Translator: Fix RunAtTheEndOfShader w.r.t discard
00169174c gl.xml: Remove GL_BLEND_EQUATION_EXT from GetPName.
8ade4c2f7 Vulkan: Add overlay and stats for descriptor set caches.
671fcf732 Vulkan: Add a feature to retain SPIR-V debug info
1315bc816 Vulkan: Refactor DynamicBuffer::allocate.
8d966f7dd Vulkan: Simplify SubAllocation data types.
57b8b9332 Roll vulkan-deps from 9fb91023eb58 to 4d9fe6bf1f0c (8 revisions)
ae9c94f1b Add instructions to build RenderDoc for Android on Windows
38723c28c Vulkan: Allocate space for default attrib only if it is enabled
ad462491f Refine suppression for GLSLTest.SwizzledChainedAssignIncrement.
8cb586671 Vulkan: Add uniform descriptor set caching test.
bfbe86613 Fix UpdateChromeANGLE on mac for debug angle
a0d558f09 Vulkan: Fix D/S invalidation for MSAA EGL configs
3b8910625 Roll Chromium DEPS manually.
fb6303a15 Update docs for checkout with 'fetch' tool.
afacf7f99 Roll vulkan-deps from 956ca5369840 to 9fb91023eb58 (10 revisions)
2893effa4 validationESEXT: Implement ValidateGetCompressedTexImageANGLE.
b1075951d vk_helpers: Adjust CopyImageToBuffer extent to block size.
d77f64b35 Roll SwiftShader from 5f1c00bda1c1 to 13f7365e81be (5 revisions)
bdedf146d TextureVk: Implement getCompressedTexImage.
5f3f13f69 Vulkan: Invalidate D/S for multisampled EGL configs too
eeddb0504 Metal: Incorrect parenthization for assignment expressions
ed39d49a2 Metal: Fix Hang in WebGL CTS Occlusionquery_strict test
760253ce2 Vulkan: replace uniforms FastIntegerMap with FastUnorderedMap
931863370 Vulkan: Check Serial is valid in SyncHelperNativeFence
904a47975 Python3 upgrades
c590a1aa9 Roll VK-GL-CTS from 2d1377ec02b5 to 834c2e16ae1c (1 revision)
3adace153 Don't expose detailed driver version info to webGL
255fec892 Remove reference to policy_testserver.py
e2f8ff32c Tests: Add State of Survival trace
a5badc3ef [infra] Update active lucicfg experiments.
cf4b50c5b Vulkan: Retain images before changeLayoutAndQueue
3b8b1f709 Roll SwiftShader from cbd31d271e4c to 5f1c00bda1c1 (12 revisions)
f3b6af597 Roll vulkan-deps from 3a6f074dbd38 to 956ca5369840 (55 revisions)
ad4fae642 Roll Chromium from c9825531290b to d984ec3b132a (580 revisions)
e50455877 Debug Overlay Demo
527ceb73c Vulkan: Switch XFB counter buffer to suballocation
a0bc9dab4 Vulkan: Switch stencilBlitResolveNoShaderExport to suballocation
d36df8d73 Unicode support for system_utils on Windows
54d428dd5 Tests: Add MARVEL Strike Force trace
1e29ba626 Vulkan: Enable overlay by default with debug layers
19f405318 Vulkan: Enable subgroup feature in GenerateMipmap.comp
2efbfd058 Roll VK-GL-CTS from 071bfca11aa9 to 2d1377ec02b5 (11 revisions)
c6f5a5bbe Roll Chromium from c0b2804cbd93 to c9825531290b (658 revisions)
06edae72b Vulkan: Allow duplicated block name in different shader interface
6cced91b3 FrameCapture: Remove destroyed contexts from share group
f7f269560 Vulkan: Fix two bugs exposed by moving mEmptyBuffer to suballocation
9b7a77b08 Double batch timeout for sanitizer tests.
4b45576d4 Keep ANGLE_base_vertex_base_instance available for ES 2.0
d285d6a72 Vulkan: Use VK_EXT_depth_clip_control
3f0a28ba6 Add entry points for EGL_KHR_partial_update
3b4548bb6 Traces: Add restricted_trace_perf.py script for Android
a3c785fc1 GL: Remove avoid_dxt1_srgb_texture_format feature
fd378ce5a Rebind program on glUseProgramStages
3a72994ea Vulkan: Add an end2end test
0a320d16f GetImageTest: Enable on Vulkan SwiftShader.
568724918 Roll Chromium from bf99b2cc0f6b to c0b2804cbd93 (526 revisions)
d5df23318 Vulkan: Disable EGLContextSharingTestNoSyncTextureUploads on Pixel6
038adcae4 Vulkan: Render the overlay in the graphics pipeline
b39add311 Roll VK-GL-CTS from b594e2aabae9 to 071bfca11aa9 (1 revision)
419bca3f5 Vulkan: Use Vulkan API directly for BufferPool's buffer allocation
6fd2588df Update GL_MAX_CLIP_DISTANCES_EXT validation
734365a71 Vulkan: improve command buffer reset performance
118ce6aae Support to open d3d12 shared handles
a0e3a5fb9 Roll SwiftShader from 0915ab4bddf7 to cbd31d271e4c (3 revisions)
f63d5f1c1 Revert "Don't build dEQP tests on MSVC temporarily"
4b6a5a84b Roll Chromium from 60719c9cd084 to bf99b2cc0f6b (543 revisions)
670a6e476 Ignore invalid texture type error
91f92540c Metal: Fix multisample resolves.
823522375 Vulkan: Fix incorrect DescriptorSet's bufferInfo in XFB emulation path
37f59b850 Roll VK-GL-CTS from 97ceb2222747 to b594e2aabae9 (64 revisions)
02ce52d26 Test: Add Lords Mobile trace
33d17b7fc Fix perf test runner script.
4349904b0 Add keying on backend to ANGLE Display caching.
9cfd87244 Allow surface creation in DisplayVkNull
a91d56033 Roll SwiftShader from e576ca6011cd to 0915ab4bddf7 (6 revisions)
4716e0fe8 Roll Chromium from 817a527fde8c to 60719c9cd084 (571 revisions)
71d06198c Vulkan: Fix vkCmdClearAttachments vs multiview
1b9774f57 Vulkan: Force submit updates to immutable textures
a39618436 Vulkan: Bind aligned default uniform buffer size.
6207fe88d Vulkan: Minor cleanup to DynamicDescriptorPool.
5b43a30e3 Overlay: Rearrange the font image
70c510eb2 Vulkan: Use common storage for descriptor set descs.
50fb842d5 Expand SwiftShader Win/ASAN suppression.
520458769 Vulkan: StreamVertexDataWithDivisor write beyond buffer boundary
d635feb11 [fuchsia] Tests using additional_manifest_fragments are CFv1.
8622810c4 Roll SwiftShader from ad6d7f84f2a1 to e576ca6011cd (19 revisions)
d066f9a34 Roll Chromium from 26dacbf4b527 to 817a527fde8c (500 revisions)
2df2a9ec2 Add instructions to enable Debug Overlay On Android
236a3d0f0 Tests: Add Dead Trigger 2 trace
1acfe6597 Test: Add Last Shelter: Survival trace
8b81742dd Vulkan: Move shader resources descriptor set update.
02ad19e36 Vulkan: Fix vkCmdResolveImage offsets
d9fcebb8a Vulkan: Make framebuffer fetch syncval errors more specific
939da2945 Tests: Add Magic Rush: Heroes trace
9208dcc65 Revert "Vulkan: Enable framebuffer fetch on SwiftShader"
44deda4c2 Tests: Add Dragon Mania Legends trace
959d4be5f Vulkan: Remove buffer get method from descriptors desc.
b2006a222 Roll SwiftShader from 2b76a13c38ae to ad6d7f84f2a1 (1 revision)
06150ab2f Roll Chromium from 55ed02951fa2 to 26dacbf4b527 (583 revisions)
f65e7c3ca Vulkan: Take base level into account in image views
6d30de10d Metal: Fix ANGLEUniformBlock alignment
ac20272f6 Vulkan: Fix present region rectangles
2eeb87488 Vulkan: Enable framebuffer fetch on SwiftShader
2ab8f48fe Allow glCopyTexImage2D from BGRX and RGBX to GL_LUMINANCE
c48e35b94 Add more info in BlitFramebuffer error message
2b00f4f5a Fix bug in protected content validation
706f8a311 Support gl internal format for creating EGLImage from VkImage
da87b1dbc Fix GLES Display creation on ChromeOS when Vulkan is enabled
7820ca23e Vulkan: Binding available buffer range to descriptor.
8710d7fe2 Roll SwiftShader from 6014f10de554 to 2b76a13c38ae (3 revisions)
0aca45c1f Roll Chromium from 8894f7c632dd to 55ed02951fa2 (509 revisions)
1608a9567 Vulkan: Revert client vertex data streaming to use DynamicBuffer
9e3232998 FrameCapture: Regen framebuffers on Reset
e897bf9ae Remove gl_PerVertex-related suppression
3dbba51df Reland "Vulkan: Enable ANGLE_texture_multisample"
83a3f654a Revert "Suppress GLSLTest.FramebufferFetch... on Pixel6 / Vk / Glslang"
4ac0f1436 Vulkan: Fix gl_LastFragData transformation
f1159253d Expand suppression of Mimap tests to any Win/Swiftshader config.
e56f0e293 Vulkan: Check program fetch status when switching framebuffers
600ffa6ec Suppress GLSLTest.FramebufferFetch... on Pixel6 / Vk / Glslang
4a65040b6 Add new Vulkan uniform update test.
464396c7b Roll vulkan-deps from fe093f4789c2 to 3a6f074dbd38 (8 revisions)
4c9f4519b Roll SwiftShader from 4998c7b3a2b8 to 6014f10de554 (6 revisions)
6e7a7a03e Roll Chromium from a210f891a450 to 8894f7c632dd (1053 revisions)
b756b2c27 Suppress flaky Mipmap/Multithreading tests on Win/SwS/ASAN
812d5fffa Metal: End the current render pass at glInvalidateFramebuffer.
7d7cca47f Vulkan: Update default FBO when fetch in use
25120c560 Mac: Try to diagnose crashes inside Core Animation.
139f4bd46 Revert "Vulkan: Enable ANGLE_texture_multisample"
494887100 Metal: Remove emulatedInstanceID
57933493d Roll vulkan-deps from 9ee740d2e9ef to fe093f4789c2 (5 revisions)
72529c197 Vulkan: Fix a few framebuffer fetch bugs
fe56532f5 Vulkan: Enable ANGLE_texture_multisample
bc3be5a83 Vulkan: Add a dedicated suballocation garbage list
be2da2343 Vulkan: Initialize exectuable with invalid uniform serial.
33427a4b3 Vulkan: Fix vkCmdResolveImage extents
293c0b516 Vulkan: Cache commonly used 6 ushorts stream index array data
38fada351 Vulkan: Add support for OES_primitive_bounding_box
91b383e82 Translator: Emit warning when identifier has double underscores
945a09d10 Vulkan: Fix off-by-one in DynamicBuffer.
d6fb76a68 [fuchsia] Don't try to use calling executable path to load .so's
868c0739f Vulkan: Fix image base/max level respecification case.
0a6c4310e Vulkan: Fix incorrect gl_SamplePosition on ES3.2
693b48a07 Roll SwiftShader from 4db20a80409b to 4998c7b3a2b8 (1 revision)
d1b1ef9af Roll vulkan-deps from 69f4b9c09e48 to 9ee740d2e9ef (3 revisions)
3c727e44e Allow GL_RGBX8_ANGLE for texture copy destination
069269540 Roll Chromium from 97a33ab1a078 to a210f891a450 (477 revisions)
f810e9989 Use a temporary timeout multipler for trace tests.
508a8a027 Remove old spellings for SYNC-HAZARD-WRITE_AFTER_READ skips
2d3ce72d1 Refactor shared library load to avoid allocations.
665ddccd8 Vulkan: Emulate dithering
29d087df4 Fix ANGLE_rgbx_internal_format's extension file name
471f18521 D3D11: Fix underflow with computing small strides.
84470eb3d Roll SwiftShader from 518c5780ac4f to 4db20a80409b (3 revisions)
b934fad92 Roll Chromium from 4d71de73b37d to 97a33ab1a078 (625 revisions)
a4a4fec8b Roll vulkan-deps from f703f3cc0975 to 69f4b9c09e48 (10 revisions)
69263b388 Roll vulkan-deps from 746e518a0b0e to f703f3cc0975 (1 revision)
55ef2b4f7 Update one more SYNC-HAZARD-WRITE_AFTER_READ skip
168e0ae50 Vulkan: Refactor descriptor pool code.
a994ea994 Update SYNC-HAZARD-WRITE_AFTER_READ skip
e03f17535 EGL: mutable_render_buffer deferredFlush fix
e27bb3972 Roll vulkan-deps from a19b5047ffca to 746e518a0b0e (5 revisions)
8a1f8af4d Turn on the Vulkan backend on ChromeOS
9bf5716c8 Tests: Add War Planet Online trace.
287057b3b FrameCapture: Don't track coherent buffers before capture starts.
42c8b29d0 Tests: Add Dead By Daylight trace.
46b420f66 Roll SwiftShader from bca23447ad46 to 518c5780ac4f (7 revisions)
078f7ea06 Roll Chromium from 8ff0cb4f71d8 to 4d71de73b37d (550 revisions)
c4a9d4169 Metal: Refactor to build without SPIR-V
701d51b10 Vulkan: Add SmallBufferPool for small allocations
66e01ae5a Expand error message on BindTexture validation failure
706e44b06 Tests: Add PUBG Mobile launch trace
df19e35a0 Vulkan: Use queue for mGarbageQueue
4e644b330 Vulkan: Remove ProgramExecutableVk back-pointers.
b3ed47809 Change Windows display initialization from ANSI to wide version
602b957b8 Enable robustnessEXT for SwiftShader.
8b966cfc5 Roll vulkan-deps from ae6a4b829252 to a19b5047ffca (9 revisions)
322d118fc Roll SwiftShader from 711968667748 to bca23447ad46 (4 revisions)
47d63b4e3 Roll Chromium from 7b890e4b915b to 8ff0cb4f71d8 (485 revisions)
2ad5f350c Vulkan: Fix texture array level redefinition
45237a047 Metal: Fix undefined behavior of depth write
aadc64343 Vulkan: Fix to correctly redefine gl_PerVertex in GS
25e8f02b0 [infra] Use python3 for run_presubmit recipe.
a79708899 Vulkan: Use queue instead of vector for mSharedGarbageList
39f66a9c1 Vulkan: Support different SCBs for outside and inside RP
cb96c236a Revert "Vulkan: Enable framebuffer fetch on SwiftShader."
7c1346bdc Vulkan: Consolidate uniforms code in ProgramExecutableVk.
b2d55742b Program: Add generic uniform update methods.
374e0c439 ProgramPipeline: Remove mHas members.
0dc0dc2a4 Re-land: "Vulkan: Remove "fillProgramStateMap"."
510723193 Vulkan: Enable framebuffer fetch on SwiftShader.
1316d1534 Roll vulkan-deps from 4ec99dddf407 to ae6a4b829252 (11 revisions)
f44159cdb Roll SwiftShader from 366db5aedd90 to 711968667748 (8 revisions)
83ca1fbc5 Roll Chromium from 94c8695167c4 to 7b890e4b915b (100 revisions)
54f8a8f71 Roll Chromium from 35ed79e6a83b to 94c8695167c4 (935 revisions)
aaac31b48 Unskip dEQP.GLES3/functional_shaders_operator_unary_operator_minus_*
c5498b957 FrameCapture: Reset immutable buffers correctly.
8474c8e1c FrameCapture: Add Renderbuffers to mStartingResources.
5f0badf45 Vulkan: Prevent out of bounds read in divisor emulation path.
526c93ddf FrameCapture: Detect GL_MAP_COHERENT_BIT_EXT correctly.
f5dc2a951 Roll vulkan-deps from 238eaa6f9d25 to 4ec99dddf407 (7 revisions)
8fc4d3b1e Roll SwiftShader from e823eef17385 to 366db5aedd90 (2 revisions)
d7585c22a Capture/Replay: don't capture MS depth renderbuffer pixels
d6dd0cb52 EGL: EGL_KHR_lock_surface3 backend
6a14e328b Revert "Vulkan: Remove "fillProgramStateMap"."
bd87cc1ca Skip flaky CopyTextureTest.CopyOutsideMipmap
c7f31b8ae Expand TransformFeedbackTest.SpanMultipleRenderPasses suppression
296783294 Vulkan: Fix advertised precision ranges
38deffe40 Vulkan: Remove "fillProgramStateMap".
540b2e46a Fix MultithreadingTestES3.MultithreadFenceDraw skip on SwiftShader
73c823108 Update the Capture and Replay docs
85e2991f2 Fix couple LSAN detected leaks in unit and end2end tests
adb802383 On invalidate, only sync the relevant framebuffer binding
a20cd8b73 Fix initialization for ETC2 punchthrough alpha formats
cac4e54a6 Mark GL_RGBX8_ANGLE format as filterable.
64c49da36 Roll Chromium from b7f974a39665 to 35ed79e6a83b (570 revisions)
096c268bd Add a few overrides for Samsung
339a6d181 Roll vulkan-deps from c9b583de6eb8 to 238eaa6f9d25 (8 revisions)
0f00fbae2 Translator: Make vec/matrix size getters unsigned
ca3b28b4b Metal: Fix compressed texture initialization and add DXT1 test
4a5a559d6 Update Metal/iOS status from "planned" to "in progress".
a0fbcb375 Vulkan: Remove flush from SyncHelperNativeFence::serverWait
038d28772 Roll VK-GL-CTS from bfede065f419 to 97ceb2222747 (3 revisions)
29e254689 Account for EGL 1.5 version when dealing with robustness
78d482e56 Add standalone ANGLE Pixel 6 experimental bots
a5e22715e Vulkan: Fixed TC shader and gl_PerVertex block interaction
a64d52fd2 Add ANGLE_FORMAT_PRINTF() for catching format errors
31bb03fe2 Add more tests for program pipelines.
e6ed6977c Roll SwiftShader from 2e74d5dc03df to e823eef17385 (4 revisions)
a4b312c01 Roll vulkan-deps from 70b3eb7a5ab4 to c9b583de6eb8 (1 revision)
515f60bd6 FrameCapture: Keep MEC Setup resources in Reset.
034b50587 Roll Chromium from d5bf6f7f9376 to b7f974a39665 (478 revisions)
1ab6c9f69 Hide ES 3.0+ extensions from ES 2.0 clients
2caa9d4fe Vulkan: Add missing glGetProgramPipelineiv parameters handling
d23549689 Vulkan: Rename BufferHelper::initFor* to allocateFor*
a83f7e91c Vulkan: inline some of the BufferSuballocation APIs
1b5efe51a Vulkan: Rename SubAllocation to Suballocation
659725aaa Metal: Cleanup texture caps init
3064920a9 Capture/Replay: Serialize ActiveTexturesCache.
161643215 Roll vulkan-deps from d1b842fca80d to 70b3eb7a5ab4 (4 revisions)
7ff95f28d Roll Chromium from b24759852b71 to d5bf6f7f9376 (533 revisions)
1bd1a3db1 Metal: Canvas resizing causes webpage to run out of memory
15439f8e4 Vulkan: Remove BufferMemoryAllocator
dcac02ac1 Revert "Enable robustnessEXT for SwiftShader."
ef3fffd6f Fix running tests with empty test set.
e5c9b3859 Add object label in glBindTexture() error message
b53607981 Vulkan: Support fetching from default FBO
ff5368cd2 Mark a context as shared if using global textures/semaphores
fc6b747df EGL: Fallback to native device if no display available
55d127703 Metal: Cleanup autogenerated format table
cb7ff65c1 Roll SwiftShader from f6bdbed95b37 to 2e74d5dc03df (7 revisions)
eda5aa0be Roll vulkan-deps from 4cda77455291 to d1b842fca80d (6 revisions)
17f912bd6 Roll Chromium from 8cf5fa683fa3 to b24759852b71 (537 revisions)
00a2a2f3e Merge metal format table updates from Webkit
af8dd1c38 Update documentation link
f071aaaf3 Use first test name instead of shard index for TestArtifacts
7dda50fc0 Add frontend for ANDROID_extension_pack_es31a
28f223acb Vulkan: Add missing ESSL 3.2 builtin functions
400175d8e Copy shader buffers into pipeline executables.
892511fc3 Isolate LinkValidateProgramInterfaceBlocks.
fdadc420a Fix non-bot mode sharding on Android and disable elsewhere.
fa3241b70 Vulkan: Move shader_framebuffer_fetch to FeaturesVk
9012c1288 Add Microsoft vendor Id parsing to SystemInfo
453cd955a Add EGL_ANGLE_platform_angle_display_id to D3D11 backend.
a1858b024 Tests: Add Respawnables trace.
b803b60df Enable robustnessEXT for SwiftShader.
31942507f Fix export_targets Windows presubmit with Vulkan Loader.
8eafe4912 Roll SwiftShader from d7117384b0ee to f6bdbed95b37 (1 revision)
c31e14d9c Roll vulkan-deps from d891854a594a to 4cda77455291 (30 revisions)
4572a1764 Add support for GL_MESA_framebuffer_flip_y 3/*
a76550078 Roll Chromium from 86a4c63b080e to 8cf5fa683fa3 (329 revisions)
9b231f090 Vulkan: Fix incorrect bit test when mipmapping
158ecba6a Vulkan: Remove cached Impl pointers from ContextVk.
5adee9161 Wrap some global vulkan methods which depend on env variables
652e3db46 use vpython3 in run_gtest_angle_test.py
770c81b91 Roll SwiftShader from cd848cd695a4 to d7117384b0ee (2 revisions)
9cfb4dd91 Roll Chromium from c00f3886d7aa to 86a4c63b080e (890 revisions)
0aae0d7ad Update PrintSystemInfo with missing fields.
6601b8d2e Vulkan: Fix storage buffer limits on geom/tess without Vulkan support
c4c73e827 Fix RobustBufferAccessBehaviourTest.
30254d349 Ignore VUID-RuntimeSpirv-NonWritable-06341 warning
158d47831 Vulkan: Suppress VVL message about allocation exceeding heap size
28f05f41e Capture/Replay: Add annotation for crashing test
6e2ab29d1 Avoid data race in overflow check.
4f3a50e55 Roll Chromium from 3fcf884156d8 to c00f3886d7aa (595 revisions)
6312da1ab Vulkan: Disable GL_KHR_parallel_shader_compile
9f3c306ec Fix collection of systemDeviceId on Mac/M1
9b1a6d8a4 Vulkan: Invalidate depth/stencil unconditionally
bd64b3eaa Move pipeline uniforms into the executable.
985db6409 Fix test harness config parsing in Compressed Tex tests.
f4b0a95f4 Metal: Implement EXT_shader_texture_lod
814a78af5 Roll Chromium from 3668290e6162 to 3fcf884156d8 (108 revisions)
d4412d0a0 Roll Chromium from 3d4921afbcfd to 3668290e6162 (378 revisions)
2f4f5f8aa Add EGL_ANGLE_platform_angle_device_id for the Metal backend.
0ab15998c Translator: Don't promote precision for assignment operation lvalues
cd157aae5 Revert "Use STL container for vulkan memory allocator"
89467fa56 Roll Chromium from 597c376626be to 3d4921afbcfd (999 revisions)
d4c8209b3 Fix validation of copyImageSubData related to texture completeness
4a819ee26 Update code generation script to work with specified generators
96fd9b72d Fix validation of glCompressedTexImage3D
926b43e75 Reland: Frontend: separate lock in swap prep
2d1051778 Enable a few features for Samsung
345cdcb0f Rename features for consistency.
b0e15ee48 Decide GL_KHR_parallel_shader_compile in backends
a026d0536 Add support for subgroupSize of 16 in Debug Overlay Module
f180ecc96 Supress TransformFeedbackPausedDrawThenResume on Mac AMD
5ec02c8f4 Roll SwiftShader from b57a3aaee927 to cd848cd695a4 (1 revision)
7f8e7c38e Roll vulkan-deps from 328da0f26e8e to d891854a594a (9 revisions)
0b02a592f Metal: Generated Metal shaders do not compile offline
6a2558333 Metal: Fix transform feedback issue
37cde9e99 Update GLES31 expectations file
e38dab0aa Add missing implementation for glGetnUniformuiv()
74e03b9af Expose the registryID of GPUs on Mac via SystemInfo
9d11a341c Vulkan: Fix Vulkan SCB vs multiple subpasses
b90bcb9c8 Roll vulkan-deps from 57e7495dc76d to 328da0f26e8e (4 revisions)
9f1dc3e99 Roll Chromium from b91f3880e3ec to 597c376626be (567 revisions)
acd8fc76b Vulkan: Distinguish RP and outside-RP command buffer types
eea784687 Tests: Add Angry Birds 2 launch trace
095d7c0a0 Translator: Clean up spec const / driver uniform types
5c9bd7bac Update Mac goldctl
4111f9ef1 Add standalone ANGLE Mac AMD experimental bot
9d042d686 Cleanup after iOS build fixes
99b021a15 infra: Add TSAN and UBSAN tests to CQ.
b0feea4e4 Suppress failing test on Vulkan/Intel/Linux.
60a8b5930 Vulkan: Remove std::unique_ptr usage from BufferVk::mBuffer
217dc204e Broaden TSAN EGL multithread suppression.
ae1a56b67 Vulkan: Turn on GL_EXT_shader_framebuffer_fetch for ARM
9d668d6c4 Revert "Frontend: separate lock in swap prep"
b2dac79d9 Fix typo in EGLPrintInfo end2end Test
462cdb08e Capture/Replay: Reset FBOs, RBOs, VAOs
4472b3b0d Fix TSAN suppressions.
40c5cb255 Frontend: separate lock in swap prep
c2a296149 Test Expectations: Use file order as override priority.
ece463808 tests/EGLProtectedContentTest: Add QueryContext test.
1e2856fdc Update freetype-py wheel
a203e1263 Roll SwiftShader from 0b901607cad4 to b57a3aaee927 (1 revision)
8ab13284a Roll vulkan-deps from 09edcd7c680b to 57e7495dc76d (27 revisions)
6f80fa0c3 Roll Chromium from 8712e27d7e28 to b91f3880e3ec (349 revisions)
2ebdd23b6 Cleanup TextureCubeTestES3.CubeMapPixelUnpackBuffer
caf6433ad Vulkan: Rename releaseStagingBuffer to releaseStagedUpdate
93159c020 Vulkan: Remove DynamicShadowBuffer implementation
cf3812921 Revert "Re-skip MSRTT tests on Linux/AMD/Vulkan"
3263eb01f Vulkan: Switch GPU translated vertex buffer to NonHostVisible
8589c456a Vulkan: Remove mStagingBuffer from ImageHelper and ContextVk
6da1ac814 Vulkan: Switch ReadPixels from DynamicBuffer to shared pool
ad27d5d6f Reland "Vulkan: Consolidate all vertex conversion buffers to shared pool"
535a90347 Suppress headers includes privacy checks for iOS executables
a61a7f597 Vulkan: Use correct aspectMask
4e85bdd99 Revert "Vulkan: Consolidate all vertex conversion buffers to shared pool"
cca412cd8 Vulkan: Consolidate all vertex conversion buffers to shared pool
02f6226b7 Avoid using GetCWD() on MacOS when possible
a0d0a1d65 Roll SwiftShader from c73969d73ff9 to 0b901607cad4 (6 revisions)
e98b62727 Roll Chromium from b1dc46c0f1be to 8712e27d7e28 (483 revisions)
fd0142714 Vulkan: Match chromaFilter to min/mag for YUV AHBs
ccabfd140 out\Debug -> out/Debug, like in other places
abf17f018 Metal: Support depth filtering queries for D32, D24S8
f13f440e6 Reland: Metal: Fix Webkit warnings in ANGLE build
39e1a2b2e Suppress Vulkan/SwiftShader/AsyncQueue ASAN flakes.
7126c3a3c Capture/Replay: Limit caps for QC/SwS
0e49a3dd4 Vulkan: Add std::move support for BufferHelper
43b0e92b5 Vulkan: Consolidate mHostVisibleBufferPool and mMapInvalidate
42cb6147f Revert workarounds for exception handler code-gen with CFG enabled
e4c7efeaf Capture/Replay: Fix GN build on iOS.
cabc3b982 Move atomic counter uniform range counter to executable.
e9e9a2c6a Do not pass mInstance to vkGetInstanceProcAddr
beda24596 Add support for GL_MESA_framebuffer_flip_y 2/*
c984dad5f FrameCapture: Don't remove protection from shared pages.
d76515b89 Roll SwiftShader from 433b1bf9bff2 to c73969d73ff9 (4 revisions)
1b2cb4222 Roll Chromium from 1a9dad30c65b to b1dc46c0f1be (497 revisions)
cfc4db346 Metal: Provoking vertex support for Metal DrawArrays
a00b6ca46 Roll Chromium from 04d22dcbc0f6 to 1a9dad30c65b (190 revisions)
5bd459618 Roll Chromium from 70ce2f66c417 to 04d22dcbc0f6 (183 revisions)
aad7ddb28 Skip VulkanPerformanceCounterTest.InvalidateDrawDisable
0a6b78974 Add macOS support to update_chrome_angle.py
4b3e3ed5f Re-skip MSRTT tests on Linux/AMD/Vulkan
39810def0 Roll Chromium from c764378a1f24 to 70ce2f66c417 (145 revisions)
9aca4285f Traces: Fix path in retrace script.
0331738b4 Fix extension download script, and update data.
58aeec65c Capture/Replay: GN cleanups.
85de4f81e Capture/Replay: Fix TODO in test utils.
b6399ac94 Traces: Finish writing restricted trace doc updates.
fed9ba44f Roll vulkan-deps from c32df39c11ce to 09edcd7c680b (1 revision)
65cc408c3 Roll Chromium from e45e6e1a55ae to c764378a1f24 (157 revisions)
a400e76d0 Vulkan: Don't expose MSRTT without VK_KHR_depth_stencil_resolve
9f74ec615 Skip angle_end2end_tests failing on Linux AMD RX 5500 XT
b7d2f4478 Roll Chromium from d09758fa672c to e45e6e1a55ae (153 revisions)
6f1c39b52 Vulkan: Restore color attachment mask-related blend states
95f6e6865 Roll SwiftShader from 87c78ac5eb86 to 433b1bf9bff2 (2 revisions)
a026169c9 Roll Chromium from 0635acc4de22 to d09758fa672c (93 revisions)
0a28c6c61 Capture/Replay: Capture some MultiDrawIndirect parameters
5f53268ce Capture/Replay: Gather Program sources directly from call
a92036893 Roll Chromium from 52c4c43d687f to 0635acc4de22 (149 revisions)
fce481863 Roll SwiftShader from f354daff5a2b to 87c78ac5eb86 (2 revisions)
6c9b79ead Roll Chromium from 16dc16f9ec67 to 52c4c43d687f (244 revisions)
4d893a935 Re-land: "Trace Tests: Remove auto-generated code."
542f7d808 Vulkan: Copy buffer data to correct cube map face
582651bee Roll vulkan-deps from fbeca8f4ea6a to c32df39c11ce (3 revisions)
5e0d97877 Roll Chromium from 274ab850e849 to 16dc16f9ec67 (303 revisions)
2ebd583ed Android: Remove setenv from common path
14af7a8da Log subprocess output in run_perf_tests.py
2f3e6cc07 Vulkan: Remove mShadowBuffer from BufferVk class.
7dfa69e69 Unskip MRTSigned and MRTUnsigned BlendIntegerTest
993f38896 Roll Chromium from 9ca41364d3dc to 274ab850e849 (341 revisions)
0e9353f60 Skip RenderbufferDrawStencilThenUnresolveStencil on Linux Vulkan AMD
bc9d2d7de Vulkan: Consolidate BufferHelper's code paths into one
4114fe23c Vulkan: Simplify transform feedback emulation logic
32d9e186d Roll vulkan-deps from 5568048d205e to fbeca8f4ea6a (4 revisions)
ab288fea5 Upgrade restricted traces. (Re-land)
c1f478fe0 Frame Capture: Allow for no FBO when running MEC.
eba2e620f Capture/Replay: Fix uniform program indexing.
73e764dc6 Suppress capture/replay tests.
1da7e3afb Revert "Metal: Fix Webkit warnings in ANGLE build"
bdaa046fe Roll Chromium from 81decb7250e1 to 9ca41364d3dc (272 revisions)
a7e0d520f Temporarily skip failing tests on Chromium
171bc07e2 Don't silently drop out-of-range bits in BitSetT
eca427b28 Vulkan: Add mutex to protect mVirtualBlock
c1598640b Vulkan: Improve mid-RP clear warning message
4a03668d7 Address comment in CL 3347143
cf8ac00a5 Vulkan: Fix MSRTT w.r.t stencil-only unresolve
c07df6fe8 Disable vulkan device select layer for msan build
- 5:29 PM Changeset in webkit [290478] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.9
- 4:53 PM Changeset in webkit [290477] by
-
- 4 edits in trunk/Source/WebKit
Take down shared worker context connection less aggressively when it becomes idle
https://bugs.webkit.org/show_bug.cgi?id=237156
Reviewed by Darin Adler.
Take down shared worker context connection less aggressively when it becomes idle. Give it 5
seconds before shutting it down in case it ends up being used again in the near future.
This is similar to what we do for service workers.
- NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp:
(WebKit::WebSharedWorkerServer::shutDownSharedWorker):
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp:
(WebKit::WebSharedWorkerServerToContextConnection::WebSharedWorkerServerToContextConnection):
(WebKit::WebSharedWorkerServerToContextConnection::addSharedWorkerObject):
(WebKit::WebSharedWorkerServerToContextConnection::removeSharedWorkerObject):
(WebKit::WebSharedWorkerServerToContextConnection::idleTerminationTimerFired):
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.h:
- 4:53 PM Changeset in webkit [290476] by
-
- 14 edits in trunk/Tools
[Python3] Remove shebangs from webkitpy files
https://bugs.webkit.org/show_bug.cgi?id=237167
<rdar://problem/89444955>
Reviewed by Dewei Zhu.
- Tools/Scripts/webkitpy/browserperfdash/browserperfdash_runner.py: Remove shebang.
- Tools/Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py: Ditto.
- Tools/Scripts/webkitpy/common/attribute_saver.py: Ditto.
- Tools/Scripts/webkitpy/common/attribute_saver_unittest.py: Ditto.
- Tools/Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py: Ditto.
- Tools/Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py: Ditto.
- Tools/Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py: Ditto.
- Tools/Scripts/webkitpy/layout_tests/views/buildbot_results.py: Ditto.
- Tools/Scripts/webkitpy/w3c/test_converter.py: Ditto.
- Tools/Scripts/webkitpy/w3c/test_importer.py: Ditto.
- Tools/Scripts/webkitpy/w3c/test_parser.py: Ditto.
- Tools/Scripts/webkitpy/xcode/sdk.py: Ditto.
- Tools/Scripts/webkitpy/xcode/sdk_unittest.py: Ditto.
Canonical link: https://commits.webkit.org/247774@main
- 4:28 PM Changeset in webkit [290475] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(r290358): [ Debug EWS ] ASSERTION FAILED: sample && sample->pixelBuffer()
https://bugs.webkit.org/show_bug.cgi?id=237164
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-24
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 4:17 PM Changeset in webkit [290474] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.7
- 4:04 PM Changeset in webkit [290473] by
-
- 2 edits in trunk/LayoutTests
[ BigSur+ EWS ] webgl/pending/conformance/textures/misc/tex-image-video-repeated.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=237166
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:44 PM Changeset in webkit [290472] by
-
- 2 edits in trunk/LayoutTests
[ BigSur+ Debug wk2 EWS ] imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/quirks.window.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=237165
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:26 PM Changeset in webkit [290471] by
-
- 4 edits1 delete in trunk/Source/WTF
Unreviewed, reverting r290452.
Caused failues with clean builds
Reverted changeset:
"[XCBuild] WTF's SPI dependencies are copied via a folder
reference and do not emit task outputs"
https://bugs.webkit.org/show_bug.cgi?id=237129
https://commits.webkit.org/r290452
- 3:24 PM Changeset in webkit [290470] by
-
- 87 edits in trunk/Source
Source/WebCore:
[Refactor] Adopt LoggerHelper in Logging EME classes
https://bugs.webkit.org/show_bug.cgi?id=234319
Reviewed by Eric Carlson.
In order to pass down a logger() and logIdentifier() to the platform/
classes, modify LegacyCDMSessionClient to be a CanMakeWeakPtr class,
so it can be passed around by reference and automatically invalidated
when the client is destroyed. Then modify LegacyCDMSessionClient to
provide a logger() and logIdentifier() to callers.
- Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::CDM):
- Modules/encryptedmedia/CDM.h:
(WebCore::CDM::logIdentifier const):
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::load):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::close):
(WebCore::MediaKeySession::remove):
(WebCore::MediaKeySession::updateKeyStatuses):
(WebCore::MediaKeySession::sessionClosed):
- Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::MediaKeys):
(WebCore::MediaKeys::createSession):
(WebCore::MediaKeys::setServerCertificate):
- Modules/encryptedmedia/MediaKeys.h:
- Modules/encryptedmedia/legacy/LegacyCDM.cpp:
(WebCore::LegacyCDM::createSession):
- Modules/encryptedmedia/legacy/LegacyCDMPrivate.h:
- Modules/encryptedmedia/legacy/LegacyCDMPrivateClearKey.cpp:
(WebCore::LegacyCDMPrivateClearKey::createSession):
- Modules/encryptedmedia/legacy/LegacyCDMPrivateClearKey.h:
- Modules/encryptedmedia/legacy/LegacyCDMPrivateMediaPlayer.cpp:
(WebCore::CDMPrivateMediaPlayer::createSession):
- Modules/encryptedmedia/legacy/LegacyCDMPrivateMediaPlayer.h:
- Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::CDMSessionClearKey):
- Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.h:
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
(WebCore::WebKitMediaKeySession::create):
(WebCore::WebKitMediaKeySession::WebKitMediaKeySession):
(WebCore::WebKitMediaKeySession::~WebKitMediaKeySession):
(WebCore::WebKitMediaKeySession::close):
(WebCore::WebKitMediaKeySession::generateKeyRequest):
(WebCore::WebKitMediaKeySession::update):
(WebCore::WebKitMediaKeySession::sendMessage):
(WebCore::WebKitMediaKeySession::sendError):
(WebCore::WebKitMediaKeySession::logChannel const):
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.h:
- Modules/encryptedmedia/legacy/WebKitMediaKeys.cpp:
(WebCore::WebKitMediaKeys::createSession):
- Modules/encryptedmedia/legacy/WebKitMediaKeys.h:
- platform/encryptedmedia/CDMFactory.h:
- platform/encryptedmedia/CDMInstance.h:
(WebCore::CDMInstance::setLogIdentifier):
(WebCore::CDMInstance::setLogger): Deleted.
- platform/encryptedmedia/CDMInstanceSession.h:
(WebCore::CDMInstanceSession::setLogIdentifier):
(WebCore::CDMInstanceSession::setLogger): Deleted.
- platform/encryptedmedia/CDMPrivate.h:
(WebCore::CDMPrivate::setLogIdentifier):
(WebCore::CDMPrivate::setLogger): Deleted.
- platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::CDMFactoryClearKey::createCDM):
- platform/encryptedmedia/clearkey/CDMClearKey.h:
- platform/graphics/LegacyCDMSession.h:
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::createSession):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::createSession):
- platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::CDMFactoryFairPlayStreaming::createCDM):
(WebCore::CDMPrivateFairPlayStreaming::CDMPrivateFairPlayStreaming):
(WebCore::CDMPrivateFairPlayStreaming::supportsConfiguration const):
(WebCore::CDMPrivateFairPlayStreaming::createInstance):
(WebCore::CDMPrivateFairPlayStreaming::setLogger): Deleted.
- platform/graphics/avfoundation/CDMFairPlayStreaming.h:
- platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
(WebCore::CDMPrivateMediaSourceAVFObjC::createSession):
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
(WebCore::CDMSessionAVFoundationCF::CDMSessionAVFoundationCF):
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h:
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::createSession):
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::CDMInstanceFairPlayStreamingAVFObjC):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setServerCertificate):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setStorageDirectory):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRenewingRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvidePersistableRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didFailToProvideRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::requestDidSucceed):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::shouldRetryRequestForReason):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::groupSessionIdentifierChanged):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::externalProtectionStatusDidChangeForContentKeyRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::CDMInstanceSessionFairPlayStreamingAVFObjC):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::loadSession):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::closeSession):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequests):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRenewingRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didFailToProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestDidSucceed):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::protectionStatusForDisplayID const):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setLogger): Deleted.
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::setLogger): Deleted.
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
(WebCore::CDMSessionAVContentKeySession::logClassName const):
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::CDMSessionAVContentKeySession):
(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
(WebCore::CDMSessionAVContentKeySession::releaseKeys):
(WebCore::CDMSessionAVContentKeySession::update):
(WebCore::CDMSessionAVContentKeySession::addParser):
(WebCore::CDMSessionAVContentKeySession::removeParser):
(WebCore::CDMSessionAVContentKeySession::generateKeyReleaseMessage):
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):
(WebCore::CDMSessionAVFoundationObjC::~CDMSessionAVFoundationObjC):
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
(WebCore::CDMSessionAVFoundationObjC::update):
(WebCore::CDMSessionAVFoundationObjC::playerDidReceiveError):
(WebCore::CDMSessionAVFoundationObjC::logChannel const):
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
(WebCore::CDMSessionAVStreamSession::logClassName const):
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::CDMSessionAVStreamSession):
(WebCore::CDMSessionAVStreamSession::~CDMSessionAVStreamSession):
(WebCore::CDMSessionAVStreamSession::generateKeyRequest):
(WebCore::CDMSessionAVStreamSession::releaseKeys):
(WebCore::CDMSessionAVStreamSession::update):
(WebCore::CDMSessionAVStreamSession::addParser):
(WebCore::CDMSessionAVStreamSession::removeParser):
(WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage):
- platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
(WebCore::CDMSessionMediaSourceAVFObjC::logger const):
(WebCore::CDMSessionMediaSourceAVFObjC::logIdentifier const):
- platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC):
(WebCore::CDMSessionMediaSourceAVFObjC::logChannel const):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):
- platform/graphics/gstreamer/eme/CDMThunder.cpp:
(WebCore::CDMFactoryThunder::createCDM):
- platform/graphics/gstreamer/eme/CDMThunder.h:
- testing/LegacyMockCDM.cpp:
(WebCore::LegacyMockCDM::createSession):
(WebCore::MockCDMSession::MockCDMSession):
- testing/LegacyMockCDM.h:
- testing/MockCDMFactory.cpp:
(WebCore::MockCDMFactory::createCDM):
- testing/MockCDMFactory.h:
Source/WebKit:
[Refactor] Adopt LoggerHelper in Legacy EME classes
https://bugs.webkit.org/show_bug.cgi?id=234319
Reviewed by Eric Carlson.
- GPUProcess/media/RemoteCDMFactoryProxy.cpp:
(WebKit::RemoteCDMFactoryProxy::createCDM):
(WebKit::RemoteCDMFactoryProxy::logger const):
- GPUProcess/media/RemoteCDMFactoryProxy.h:
- GPUProcess/media/RemoteCDMInstanceProxy.cpp:
(WebKit::RemoteCDMInstanceProxy::create):
(WebKit::RemoteCDMInstanceProxy::RemoteCDMInstanceProxy):
(WebKit::RemoteCDMInstanceProxy::createSession):
- GPUProcess/media/RemoteCDMInstanceProxy.h:
- GPUProcess/media/RemoteCDMInstanceProxy.messages.in:
- GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp:
(WebKit::RemoteCDMInstanceSessionProxy::create):
(WebKit::RemoteCDMInstanceSessionProxy::RemoteCDMInstanceSessionProxy):
(WebKit::RemoteCDMInstanceSessionProxy::setLogIdentifier):
- GPUProcess/media/RemoteCDMInstanceSessionProxy.h:
- GPUProcess/media/RemoteCDMInstanceSessionProxy.messages.in:
- GPUProcess/media/RemoteCDMProxy.cpp:
(WebKit::RemoteCDMProxy::create):
(WebKit::RemoteCDMProxy::RemoteCDMProxy):
(WebKit::RemoteCDMProxy::setLogIdentifier):
- GPUProcess/media/RemoteCDMProxy.h:
(WebKit::RemoteCDMProxy::logger const):
(WebKit::RemoteCDMProxy::logIdentifier const):
- GPUProcess/media/RemoteCDMProxy.messages.in:
- GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp:
(WebKit::RemoteLegacyCDMFactoryProxy::logger const):
- GPUProcess/media/RemoteLegacyCDMFactoryProxy.h:
- GPUProcess/media/RemoteLegacyCDMProxy.cpp:
(WebKit::RemoteLegacyCDMProxy::createSession):
- GPUProcess/media/RemoteLegacyCDMProxy.h:
- GPUProcess/media/RemoteLegacyCDMProxy.messages.in:
- GPUProcess/media/RemoteLegacyCDMSessionProxy.cpp:
(WebKit::RemoteLegacyCDMSessionProxy::create):
(WebKit::RemoteLegacyCDMSessionProxy::RemoteLegacyCDMSessionProxy):
- GPUProcess/media/RemoteLegacyCDMSessionProxy.h:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::createSession):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/RemoteCDM.cpp:
(WebKit::RemoteCDM::setLogIdentifier):
- WebProcess/GPU/media/RemoteCDM.h:
- WebProcess/GPU/media/RemoteCDMConfiguration.h:
(WebKit::RemoteCDMConfiguration::encode const):
(WebKit::RemoteCDMConfiguration::decode):
- WebProcess/GPU/media/RemoteCDMFactory.cpp:
(WebKit::RemoteCDMFactory::createCDM):
- WebProcess/GPU/media/RemoteCDMFactory.h:
- WebProcess/GPU/media/RemoteCDMInstance.cpp:
(WebKit::RemoteCDMInstance::createSession):
- WebProcess/GPU/media/RemoteCDMInstanceSession.cpp:
(WebKit::RemoteCDMInstanceSession::setLogIdentifier):
- WebProcess/GPU/media/RemoteCDMInstanceSession.h:
- WebProcess/GPU/media/RemoteLegacyCDM.cpp:
(WebKit::RemoteLegacyCDM::createSession):
- WebProcess/GPU/media/RemoteLegacyCDM.h:
- WebProcess/GPU/media/RemoteLegacyCDMSession.cpp:
(WebKit::RemoteLegacyCDMSession::create):
(WebKit::RemoteLegacyCDMSession::RemoteLegacyCDMSession):
- WebProcess/GPU/media/RemoteLegacyCDMSession.h:
- 3:08 PM Changeset in webkit [290469] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r290356-r290351?): [ iOS15 ] 3 imported/w3c/web-platform-tests/service-workers/service-worker/* tests are constant text failures.
https://bugs.webkit.org/show_bug.cgi?id=237160
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-24
- platform/ios/TestExpectations:
- 2:53 PM Changeset in webkit [290468] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r290351-r290356?): [ iOS EWS ] imported/w3c/web-platform-tests/service-workers/service-worker/partitioned-service-worker-getRegistrations.tentative.https.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=237162
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 2:53 PM Changeset in webkit [290467] by
-
- 3 edits in trunk/Source/WebKit
Delete SessionStorageQuotaManager
https://bugs.webkit.org/show_bug.cgi?id=237132
Reviewed by Chris Dumez.
The code is unused since r289474.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::addWebsiteDataStore):
(WebKit::NetworkProcess::addSessionStorageQuotaManager): Deleted.
(WebKit::NetworkProcess::removeSessionStorageQuotaManager): Deleted.
(WebKit::NetworkProcess::setSessionStorageQuotaManagerIDBRootPath): Deleted.
(WebKit::NetworkProcess::storageQuotaManager): Deleted.
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::SessionStorageQuotaManager::SessionStorageQuotaManager): Deleted.
(WebKit::NetworkProcess::SessionStorageQuotaManager::defaultQuota const): Deleted.
(WebKit::NetworkProcess::SessionStorageQuotaManager::ensureOriginStorageQuotaManager): Deleted.
(WebKit::NetworkProcess::SessionStorageQuotaManager::existingStorageQuotaManagers): Deleted.
(WebKit::NetworkProcess::SessionStorageQuotaManager::cacheRootPath const): Deleted.
(WebKit::NetworkProcess::SessionStorageQuotaManager::setIDBRootPath): Deleted.
(WebKit::NetworkProcess::SessionStorageQuotaManager::idbRootPath const): Deleted.
- 2:45 PM Changeset in webkit [290466] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r290356-r290351?):[ iOS EWS ] imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-no-freshness-headers.https.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=237161
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 2:35 PM Changeset in webkit [290465] by
-
- 2 edits in trunk/LayoutTests
[ iOS EWS ]imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-049.htmlis a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=237159
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 2:33 PM Changeset in webkit [290464] by
-
- 7 edits in trunk/Tools
[Python3] Change shebang for various scripts
https://bugs.webkit.org/show_bug.cgi?id=237155
<rdar://problem/89436097>
Reviewed by Ryan Haddad.
- Tools/Scripts/lint-webkitpy: Change shebang to Python 3.
- Tools/Scripts/open-layout-test: Ditto.
- Tools/Scripts/run-imagediff: Ditto.
- Tools/Scripts/run-minibrowser: Ditto.
- Tools/Scripts/run-webkit-httpd: Ditto.
- Tools/Scripts/test-webkit-scripts: Ditto.
Canonical link: https://commits.webkit.org/247762@main
- 2:32 PM Changeset in webkit [290463] by
-
- 2 edits in trunk
Explain visit children and opaque roots in Introduction.md
https://bugs.webkit.org/show_bug.cgi?id=236894
Reviewed by Saam Barati.
Added the descriptions of visit children and opaque roots
as well as how to add IDL files.
- Introduction.md:
- 2:26 PM Changeset in webkit [290462] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r289765-r289784): [iOS] Flaky crash under WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree()
https://bugs.webkit.org/show_bug.cgi?id=236794
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 2:23 PM Changeset in webkit [290461] by
-
- 2 edits in trunk/Tools
[Python3] Make report-non-inclusive-language Python 3 compatible
https://bugs.webkit.org/show_bug.cgi?id=237154
<rdar://problem/89434987>
Reviewed by Aakash Jain.
- Tools/Scripts/report-non-inclusive-language: Make Python 3 compatible.
Canonical link: https://commits.webkit.org/247760@main
- 1:59 PM Changeset in webkit [290460] by
-
- 1 copy in tags/Safari-614.1.3.6
Tag Safari-614.1.3.6.
- 1:57 PM Changeset in webkit [290459] by
-
- 1 copy in tags/Safari-613.1.17.1.8
Tag Safari-613.1.17.1.8.
- 1:43 PM Changeset in webkit [290458] by
-
- 2 edits in trunk/LayoutTests
[ iOS15 ] fast/events/autoscroll-in-iframe-body.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=237150
Unreviewed Test Gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-24
- platform/ios/TestExpectations: Flaky Failure expectation while investigating
- 1:19 PM Changeset in webkit [290457] by
-
- 9 edits in trunk
[css-cascade] Support 'revert' in @keyframes
https://bugs.webkit.org/show_bug.cgi?id=237073
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Expect tests to pass.
- web-platform-tests/css/css-cascade/revert-val-006-expected.txt:
- web-platform-tests/css/css-cascade/revert-val-007-expected.txt:
- web-platform-tests/css/css-cascade/revert-val-008-expected.txt:
- web-platform-tests/css/css-cascade/revert-val-010-expected.txt:
Source/WebCore:
Resolver::styleForKeyframe was constructing a RenderStyle with only the
styles specified in the @keyframes. But not taking into account the UA
and user rules that affect the element meant that 'revert' was broken.
Since Builder::applyProperty didn't find the declarations from other
origins, 'revert' just behaved as 'unset'.
This patch solves it by detecting if the @keyframes has a 'revert' value
and in that case it collects the UA and user rules so that it can be
resolved properly.
Tests: imported/w3c/web-platform-tests/css/css-cascade/revert-val-006.html
imported/w3c/web-platform-tests/css/css-cascade/revert-val-007.html
imported/w3c/web-platform-tests/css/css-cascade/revert-val-008.html
imported/w3c/web-platform-tests/css/css-cascade/revert-val-010.html
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::addAuthorKeyframeRules):
- style/ElementRuleCollector.h:
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::styleForKeyframe):
- 1:16 PM Changeset in webkit [290456] by
-
- 15 edits in trunk/Source
REGRESSION(r290436): fix build failures
https://bugs.webkit.org/show_bug.cgi?id=237149
Reviewed by Tim Horton.
Source/WebCore:
- Modules/applepay/cocoa/PaymentSessionErrorCocoa.mm:
(WebCore::PaymentSessionError::sessionError const):
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::adjustApplePayButtonStyle const):
ReplacePAL::get_PassKitCore_*()with#definedeclared in<pal/cocoa/PassKitSoftLink.h>.
Source/WebCore/PAL:
- pal/spi/cocoa/PassKitSPI.h:
- pal/spi/cocoa/PassKitInstallmentsSPI.h:
Undo some of the changes in r290436 by re-adding the old
#importpre-r290436 when we do
not have PassKit modularization (i.e.HAVE(PASSKIT_MODULARIZATION)). This way, the code
is the same as it was for older releases.
- pal/cocoa/PassKitSoftLink.h:
- pal/cocoa/PassKitSoftLink.mm:
Declare some
#definefor convenience (and so that if we need to change fromPassKitCore
in the future we don't have to change any callsites).
Source/WebKit:
- Platform/cocoa/PaymentAuthorizationPresenter.mm:
(WebKit::toNSError):
- Platform/cocoa/WKPaymentAuthorizationDelegate.mm:
(-[WKPaymentAuthorizationDelegate _willFinishWithError:]):
- Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::toPKContactFields):
- Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments):
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
ReplacePAL::get_PassKitCore_*()with#definedeclared in<pal/cocoa/PassKitSoftLink.h>.
Source/WTF:
- wtf/PlatformHave.h:
Rename
HAVE_PASSKIT_UItoHAVE_PASSKIT_MODULARIZATIONso that it also involesPassKitCore.
- 1:14 PM Changeset in webkit [290455] by
-
- 6 edits13 adds in trunk
Add percent decoding to Scroll to Text Fragment parsing.
https://bugs.webkit.org/show_bug.cgi?id=236818
Reviewed by Chris Dumez.
Source/WebCore:
Leverage URL parser to percent decode parsed text directives in
scroll to text fragment implementation.
Tests: http/wpt/html/dom/scroll-to-text-fragment/scroll-to-text-fragment-start-emoji.html
http/wpt/html/dom/scroll-to-text-fragment/scroll-to-text-fragment-start-sentence.html
http/wpt/html/dom/scroll-to-text-fragment/scroll-to-text-fragment-start.html
- dom/FragmentDirectiveParser.cpp:
(WebCore::FragmentDirectiveParser::parseFragmentDirective):
Source/WTF:
Expose bits of URL parser to allow percent decoding elsewhere.
- wtf/URLParser.h:
LayoutTests:
- http/wpt/html/dom/scroll-to-text-fragment/scroll-to-text-fragment-start-emoji-expected.html: Added.
- http/wpt/html/dom/scroll-to-text-fragment/scroll-to-text-fragment-start-emoji.html: Added.
- http/wpt/html/dom/scroll-to-text-fragment/scroll-to-text-fragment-start-expected.html: Added.
- http/wpt/html/dom/scroll-to-text-fragment/scroll-to-text-fragment-start-sentence-expected.html: Added.
- http/wpt/html/dom/scroll-to-text-fragment/scroll-to-text-fragment-start-sentence.html: Added.
- http/wpt/html/dom/scroll-to-text-fragment/scroll-to-text-fragment-start.html: Added.
- 1:10 PM Changeset in webkit [290454] by
-
- 20 edits in trunk
[IFC][Integration] Enable non-paginated vertical-rl writing mode
https://bugs.webkit.org/show_bug.cgi?id=236897
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
- web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-expected.txt:
- web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline-expected.txt:
Source/WebCore:
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForStyle):
LayoutTests:
- fast/repaint/vertical-text-repaint-expected.txt:
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-expected.txt:
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline-expected.txt:
- platform/ios/fast/backgrounds/border-radius-split-background-expected.txt:
- platform/ios/fast/backgrounds/border-radius-split-background-image-expected.txt:
- platform/ios/fast/borders/border-image-outset-split-inline-vertical-lr-expected.txt:
- platform/ios/fast/writing-mode/border-styles-vertical-rl-expected.txt:
- platform/ios/fast/writing-mode/border-styles-vertical-rl-mixed-expected.txt:
- platform/mac/fast/backgrounds/border-radius-split-background-expected.txt:
- platform/mac/fast/backgrounds/border-radius-split-background-image-expected.txt:
- platform/mac/fast/borders/border-image-outset-split-inline-vertical-lr-expected.txt:
- platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:
- platform/mac/fast/writing-mode/border-styles-vertical-rl-expected.txt:
- platform/mac/fast/writing-mode/border-styles-vertical-rl-mixed-expected.txt:
- 1:08 PM Changeset in webkit [290453] by
-
- 6 edits1 delete in trunk/Tools
[Python3] Migrate Tools/CISupport to Python3
https://bugs.webkit.org/show_bug.cgi?id=237148
<rdar://problem/89430395>
Reviewed by Aakash Jain.
- Tools/CISupport/build-webkit-org/committer_auth_unittest_old.py: Removed.
- Tools/CISupport/build-webkit-org/loadConfig_unittest.py: Change shebang to Python 3.
- Tools/CISupport/build-webkit-org/make_passwords_json.py: Change shebang to Python 3,
make Python 3 compatible.
- Tools/CISupport/ews-build/email_unittest.py: Change shebang to Python 3.
- Tools/CISupport/ews-build/loadConfig_unittest.py: Ditto.
- Tools/CISupport/win/kill-old-processes: Ditto.
Canonical link: https://commits.webkit.org/247753@main
- 1:08 PM Changeset in webkit [290452] by
-
- 4 edits1 copy in trunk/Source/WTF
[XCBuild] WTF's SPI dependencies are copied via a folder reference and do not emit task outputs
https://bugs.webkit.org/show_bug.cgi?id=237129
Reviewed by Alexey Proskuryakov.
In https://bugs.webkit.org/show_bug.cgi?id=235744, a folder reference was used to copy
headers fromspi/, but the build system needs explicit file references for all headers to
infer discovered dependency relationships for incremental builds. Add spi/ headers directly
to WTF.xcodeproj.
We now have a method for using build rules to make a native Headers phase nest headers
according to their source directories. Use it here and delete the per-directory Copy Files
phases.
WTF's unicode headers--used only by external builders--are copied to a different include
directory, so for organization simplicity, add a separate target to WTF.xcodeproj to track
them. This target is effectively headers-only as it has no source files.
- Configurations/Base.xcconfig: Copy WK_WHICH_BUILD_SYSTEM settings from other projects.
- Configurations/WTF.xcconfig: Set header folder paths.
- Configurations/icu.xcconfig: Copied from Source/WTF/Configurations/WTF.xcconfig.
- WTF.xcodeproj/project.pbxproj: Add icu target, add spi headers, add build rules.
- 12:35 PM Changeset in webkit [290451] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.6
- 12:13 PM Changeset in webkit [290450] by
-
- 8 edits2 adds in trunk
Refactor logic for showing "Markup Image" and Quick Note items in the callout bar
https://bugs.webkit.org/show_bug.cgi?id=237127
rdar://89396617
Reviewed by Megan Gardner.
Source/WebKit:
Use
-buildMenuWithBuilder:to supply additional Quick Note and image analysis items, instead of adding them
directly to the shared menu controller. See below for more details.
Tests: ImageAnalysisTests.MenuControllerItems
WebKit.AppHighlightsInImageOverlays
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView didMoveToWindow]):
See below.
(-[WKWebView buildMenuWithBuilder:]):
Override this method and call into the content view via
-buildMenuForWebViewWithBuilder:to populate the given
builder with either Quick Note or "Markup Image" items, if necessary. Note that overriding this method on
WKWebView is sufficient, since UIKit walks up the responder hierarchy starting from the first responder
(WKContentView) when populating menu items.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView targetForAction:withSender:]):
Move some logic for conditionally enabling the Quick Note items into
-imageAnalysisMarkupMenu.
(-[WKContentView imageAnalysisMarkupMenu]):
(-[WKContentView _selectionChanged]):
Remove logic that updates the shared UIMenuController's menu items every time the selection changes. This is
no longer needed, since UIKit will always call into-buildMenuWithBuilder:when presenting the callout bar,
which allows us to lazily run logic to determine whether or not we should show the Quick Note and image analysis
items when the callout bar is shown, instead of keeping the menu controller's-menuItemsarray up to date upon
each selection change.
(-[WKContentView buildMenuForWebViewWithBuilder:]):
Consult
-appHighlightMenuand-imageAnalysisMarkupMenuto populate the menu with inline UIMenus. Note that
these menus' items are always inlined into the callout bar as top-level items, since we explicitly specify
UIMenuOptionsDisplayInlinewhen creating the menu.
(-[WKContentView menuWithInlineAction:identifier:handler:]):
(-[WKContentView appHighlightMenu]):
Refactor this, and
-imageAnalysisMarkupMenuabove to return a UIMenu with a single UIAction presented inline.
(-[WKContentView updateImageAnalysisMarkupMenuItems:]): Deleted.
Replaced with
-imageAnalysisMarkupMenu.
(-[WKContentView canPerformImageAnalysisMarkup]): Deleted.
(-[WKContentView performImageAnalysisMarkup:]): Deleted.
(-[WKContentView setUpAdditionalMenuControllerActions]): Deleted.
(findMenuItemWithAction): Deleted.
(-[WKContentView updateAppHighlightMenuItems:]): Deleted.
Replaced with
-appHighlightMenu.
(-[WKContentView createHighlightForCurrentQuickNoteWithRange:]): Deleted.
(-[WKContentView createHighlightForNewQuickNoteWithRange:]): Deleted.
Tools:
Adjust a couple of existing API tests. See comments below.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
Refactor ImageAnalysisTests.MenuControllerItems to exercise
-buildMenuWithBuilder:instead of swizzling
UIMenuController methods and checking-menuItems.
(TestWebKitAPI::swizzledSetMenuItems): Deleted.
(): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
Refactor WebKit.AppHighlightsInImageOverlays to exercise
-buildMenuWithBuilder:instead of passing in actions
to-targetForAction:withSender:.
- TestWebKitAPI/ios/TestUIMenuBuilder.h: Added.
- TestWebKitAPI/ios/TestUIMenuBuilder.mm: Added.
Add a helper class that conforms to UIMenuBuilder. This is used in the two API tests above as an argument to
-buildMenuWithBuilder:in order to collect additional menu items that WKWebView adds to the callout bar.
(-[TestUIMenuBuilder init]):
(-[TestUIMenuBuilder system]):
(-[TestUIMenuBuilder menuForIdentifier:]):
(-[TestUIMenuBuilder findMatching:]):
(-[TestUIMenuBuilder containsActionWithTitle:]):
(-[TestUIMenuBuilder reset]):
(-[TestUIMenuBuilder actionForIdentifier:]):
(-[TestUIMenuBuilder commandForAction:propertyList:]):
(-[TestUIMenuBuilder replaceMenuForIdentifier:withMenu:]):
(-[TestUIMenuBuilder replaceChildrenOfMenuForIdentifier:fromChildrenBlock:]):
(-[TestUIMenuBuilder insertChildMenu:atStartOfMenuForIdentifier:]):
(-[TestUIMenuBuilder insertChildMenu:atEndOfMenuForIdentifier:]):
(-[TestUIMenuBuilder removeMenuForIdentifier:]):
(-[TestUIMenuBuilder insertSiblingMenu:beforeMenuForIdentifier:]):
(-[TestUIMenuBuilder insertSiblingMenu:afterMenuForIdentifier:]):
(-[TestUIMenuBuilder registerMenu:]):
- 12:08 PM Changeset in webkit [290449] by
-
- 5 edits in trunk/Source/JavaScriptCore
[Cocoa] Only clear ICU cache when time zone is changed
https://bugs.webkit.org/show_bug.cgi?id=236996
Reviewed by Yusuke Suzuki.
We used to unconditionally invalidate the VM's DateCache in VMEntryScope in order to
make sure we always used the latest time zone from the host machine (in case it changed).
This overly aggressive invalidation was causing us to repeatedly go to the disk in order
to determine the host time zone. On Cocoa ports, we now listen to the
kCFTimeZoneSystemTimeZoneDidChangeNotification notification and only invalidate the
VM's DateCache in VMEntryScope if the host time zone has actually changed since the
last time.
- runtime/JSDateMath.cpp:
(JSC::timeZoneChangeNotification):
(JSC::DateCache::DateCache):
(JSC::DateCache::resetIfNecessary):
(JSC::DateCache::reset): Deleted.
- runtime/JSDateMath.h:
- runtime/VM.h:
(JSC::VM::resetDateCacheIfNecessary):
(JSC::VM::resetDateCache): Deleted.
- runtime/VMEntryScope.cpp:
(JSC::VMEntryScope::VMEntryScope):
- 11:58 AM Changeset in webkit [290448] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.8
- 11:51 AM Changeset in webkit [290447] by
-
- 5 edits in trunk/Tools
[Python3] Convert shebangs in generate_xcfilelists_lib
https://bugs.webkit.org/show_bug.cgi?id=237147
<rdar://problem/89427981>
Reviewed by Alexey Proskuryakov.
- Tools/Scripts/webkitpy/generate_xcfilelists_lib/init.py: Change shebang to Python 3.
- Tools/Scripts/webkitpy/generate_xcfilelists_lib/application.py: Ditto.
- Tools/Scripts/webkitpy/generate_xcfilelists_lib/generators.py: Ditto.
- Tools/Scripts/webkitpy/generate_xcfilelists_lib/util.py: Ditto.
Canonical link: https://commits.webkit.org/247750@main
- 11:47 AM Changeset in webkit [290446] by
-
- 2 edits in trunk/Source/WebKit
Regression(r273929) FrameState no longer gets a move constructor
https://bugs.webkit.org/show_bug.cgi?id=237142
Reviewed by Darin Adler.
FrameState no longer gets an implicit move constructor since r273929 because a custom
destructor was added.
- Shared/SessionState.h:
- 11:41 AM Changeset in webkit [290445] by
-
- 2 edits in trunk/Source/WebCore
Fix bad logging in SharedWorkerObjectConnection::notifyWorkerObjectOfLoadCompletion()
https://bugs.webkit.org/show_bug.cgi?id=237146
Reviewed by Geoffrey Garen.
Fix bad logging in SharedWorkerObjectConnection::notifyWorkerObjectOfLoadCompletion().
It was logging an error even when the load succeeded.
- workers/shared/SharedWorkerObjectConnection.cpp:
(WebCore::SharedWorkerObjectConnection::notifyWorkerObjectOfLoadCompletion):
- 11:33 AM Changeset in webkit [290444] by
-
- 2 edits in trunk/JSTests
Skip shadow-realm-import-value on ARM too
https://bugs.webkit.org/show_bug.cgi?id=237139
Unreviewed gardening.
- stress/shadow-realm-import-value.js:
- 11:31 AM Changeset in webkit [290443] by
-
- 32 edits in trunk
Update CSP console logging
https://bugs.webkit.org/show_bug.cgi?id=232216
<rdar://problem/89322580>
Reviewed by Brent Fulgham.
Source/WebCore:
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
(WebCore::SubresourceLoader::originalHeaders const):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowResourceFromSource const):
(WebCore::ContentSecurityPolicy::allowWorkerFromSource const):
(WebCore::ContentSecurityPolicy::allowScriptFromSource const):
(WebCore::ContentSecurityPolicy::allowStyleFromSource const):
Source/WebKit:
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::check):
(WebKit::NetworkLoadChecker::checkRedirection):
(WebKit::NetworkLoadChecker::checkRequest):
(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):
- NetworkProcess/NetworkLoadChecker.h:
LayoutTests:
- http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/audio-redirect-blocked.html:
- http/tests/security/contentSecurityPolicy/font-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/font-redirect-blocked.html:
- http/tests/security/contentSecurityPolicy/image-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/image-redirect-blocked.html:
- http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects-expected.txt:
- http/tests/security/contentSecurityPolicy/script-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/script-redirect-blocked.html:
- http/tests/security/contentSecurityPolicy/stylesheet-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/stylesheet-redirect-blocked.html:
- http/tests/security/contentSecurityPolicy/svg-font-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/svg-font-redirect-blocked.html:
- http/tests/security/contentSecurityPolicy/svg-image-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/svg-image-redirect-blocked.html:
- http/tests/security/contentSecurityPolicy/track-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/track-redirect-blocked.html:
- http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/video-redirect-blocked.html:
- http/tests/security/contentSecurityPolicy/xsl-redirect-blocked-expected.txt:
- 10:29 AM Changeset in webkit [290442] by
-
- 7 edits1 add in trunk
[MacCatalyst] REGRESSION(r290091): sometimes can crash if
WKWebViewis deallocated before the next visible content rect update
https://bugs.webkit.org/show_bug.cgi?id=237126
<rdar://problem/89345853>
Reviewed by Tim Horton.
Source/WebKit:
Tests: WKWebViewResize.DoesNotAssertInDeallocAfterChangingFrame
WKWebViewResize.DoesNotAssertInDeallocAfterChangingBounds
- UIProcess/API/ios/WKWebViewIOS.h:
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _acquireResizeAssertionForReason:]):
(-[WKWebView _invalidateResizeAssertions]): Added.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView dealloc]):
Make sure to-invalidateany remaining assertions in-deallocas required by_UIInvalidatable.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewResize.mm: Added.
(TEST.WKWebViewResize.DoesNotAssertInDeallocAfterChangingFrame):
(TEST.WKWebViewResize.DoesNotAssertInDeallocAfterChangingBounds):
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- 10:02 AM Changeset in webkit [290441] by
-
- 2 edits in trunk/Tools
Add myself (John Pascoe) to watchlist for authentication and WebCrypto
https://bugs.webkit.org/show_bug.cgi?id=237121
rdar://problem/89385797
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/common/config/watchlist:
- 9:55 AM Changeset in webkit [290440] by
-
- 2 edits in trunk/Source/WTF
Fix debug build of WorkQueueGeneric after r290418
https://bugs.webkit.org/show_bug.cgi?id=237143
Unreviewed build fix.
Correct the method signature of WorkQueue::assertIsCurrent in WorkQueueGeneric.cpp.
- wtf/generic/WorkQueueGeneric.cpp:
(WTF::WorkQueue::assertIsCurrent const):
(WTF::WorkQueue::assertIsCurrent): Deleted.
- 9:47 AM Changeset in webkit [290439] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Unreviewed, add some logging to imported/w3c/web-platform-tests/workers/semantics/multiple-workers/004.html to debug flakiness
- web-platform-tests/workers/semantics/multiple-workers/004.html:
- 9:31 AM Changeset in webkit [290438] by
-
- 8 edits in trunk
[LFC][IFC] Non-orthogonal inline block boxes keep their baseline on ideographic lines
https://bugs.webkit.org/show_bug.cgi?id=236946
Reviewed by Antti Koivisto.
Source/WebCore:
This is similar to the logic in RenderBlock::baselinePosition for inline block boxes.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):
- rendering/RenderBlock.h:
LayoutTests:
- platform/mac/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt: Progression
- 9:19 AM Changeset in webkit [290437] by
-
- 2 edits in trunk/Source/WebCore
[IFC][Integration] verticalLogicalMargin returns incorrect values for vertical-rl
https://bugs.webkit.org/show_bug.cgi?id=237138
Reviewed by Antti Koivisto.
This was caused by an accidental copy/paste.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::verticalLogicalMargin): also switch over to "switch".
- 8:46 AM Changeset in webkit [290436] by
-
- 16 edits in trunk/Source
[Apple Pay] switch from
PassKit/*toPassKit[Core,UI]/*
https://bugs.webkit.org/show_bug.cgi?id=237091
<rdar://problem/81085862>
Reviewed by Tim Horton.
Source/WebCore:
- Modules/applepay/cocoa/PaymentSessionErrorCocoa.mm:
(WebCore::PaymentSessionError::sessionError const):
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::adjustApplePayButtonStyle const):
Source/WebCore/PAL:
- pal/spi/cocoa/PassKitSPI.h:
- pal/spi/cocoa/PassKitInstallmentsSPI.h:
- pal/cocoa/PassKitSoftLink.h:
- pal/cocoa/PassKitSoftLink.mm:
Source/WebKit:
- Platform/cocoa/PaymentAuthorizationPresenter.mm:
(WebKit::toNSError):
- Platform/cocoa/WKPaymentAuthorizationDelegate.mm:
(-[WKPaymentAuthorizationDelegate _willFinishWithError:]):
- Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard):
(WebKit::WebPaymentCoordinatorProxy::platformOpenPaymentSetup):
(WebKit::toPKContactFields):
- Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments):
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
- WebProcess/ApplePay/cocoa/WebPaymentCoordinatorCocoa.mm:
(WebKit::WebPaymentCoordinator::platformAvailablePaymentNetworks):
Source/WTF:
- wtf/PlatformHave.h:
- 8:42 AM Changeset in webkit [290435] by
-
- 12 edits1 delete in trunk
Web Inspector: merge WI.OverlayManager into WI.DOMNode
https://bugs.webkit.org/show_bug.cgi?id=236533
Reviewed by Patrick Angle.
Source/WebInspectorUI:
There's really nothing substantial about
WI.OverlayManagerthat requires it to exist. All
of the methods, members, etc. can be moved toWI.DOMNode, resulting in clearer calling
code (since callers currently have to provide aWI.DOMNodetoWI.OverlayManagermethods)
and fewer collections (e.g. it's no longer necessary to have a "list of nodes showing a grid
overlay").
- UserInterface/Controllers/OverlayManager.js: Removed.
- UserInterface/Main.html:
- UserInterface/Base/Main.js:
(WI.loaded):
- UserInterface/Models/DOMNode.js:
(WI.DOMNode):
(WI.DOMNode.resetDefaultLayoutOverlayConfiguration): Added.
(WI.DOMNode.prototype.get layoutOverlayShowing): moved fromWI.OverlayManager.protytpe.hasVisibleOverlay.
(WI.DOMNode.prototype.set layoutContextType):
(WI.DOMNode.prototype.showLayoutOverlay): moved fromWI.OverlayManager.protytpe.showOverlay.
(WI.DOMNode.prototype.hideLayoutOverlay): moved fromWI.OverlayManager.protytpe.hideOverlay.
(WI.DOMNode.prototype.get layoutOverlayColor): moved fromWI.OverlayManager.protytpe.getColorForNode.
(WI.DOMNode.prototype.set layoutOverlayColor): moved fromWI.OverlayManager.protytpe.setColorForNode.
- UserInterface/Controllers/DOMManager.js:
(WI.DOMManager.prototype._mainResourceDidChange):
Reset the index of the next default color to use for the next grid/flex DOM node.
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype.onattach):
(WI.DOMTreeElement.prototype.ondetach):
(WI.DOMTreeElement.prototype._layoutBadgeClicked):
(WI.DOMTreeElement.prototype._updateLayoutBadgeStatus):
(WI.DOMTreeElement.prototype._handleLayoutContextTypeChanged):
- UserInterface/Views/NodeOverlayListSection.js:
(WI.NodeOverlayListSection.prototype.attached):
(WI.NodeOverlayListSection.prototype.detached):
(WI.NodeOverlayListSection.prototype.layout):
(WI.NodeOverlayListSection.prototype._handleOverlayStateChanged):
(WI.NodeOverlayListSection.prototype._handleToggleAllCheckboxChanged):
(WI.NodeOverlayListSection.prototype._updateToggleAllCheckbox):
- UserInterface/Controllers/GridOverlayConfigurationDiagnosticEventRecorder.js:
(WI.GridOverlayConfigurationDiagnosticEventRecorder):
(WI.GridOverlayConfigurationDiagnosticEventRecorder.prototype.setup):
(WI.GridOverlayConfigurationDiagnosticEventRecorder.prototype.teardown):
(WI.GridOverlayConfigurationDiagnosticEventRecorder.prototype._handleGridOverlayShown):
(WI.GridOverlayConfigurationDiagnosticEventRecorder.prototype._handleGridOverlayHidden):
(WI.GridOverlayConfigurationDiagnosticEventRecorder.prototype._sampleCurrentOverlayConfiguration):
- UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js:
(WI.GridOverlayDiagnosticEventRecorder):
(WI.GridOverlayDiagnosticEventRecorder.prototype.setup):
(WI.GridOverlayDiagnosticEventRecorder.prototype.teardown):
(WI.GridOverlayDiagnosticEventRecorder.prototype._handleGridOverlayShown):
Adopt the above changes:
- Replace
WI.OverlayManager.Event.*withWI.DOMNode.Event.*(andevent.data.domNodewithevent.target). - Replace
WI.overlayManager.*(domNode[, ...])withdomNode.*([...]). - Directly query
WI.settings.gridOverlay*.valueinstead of getting them from thedatainWI.DOMNode.Event.LayoutOverlayShown(formerlyWI.OverlayManager.Event.OverlayShown).
LayoutTests:
- inspector/dom/showFlexOverlay.html:
- inspector/dom/showGridOverlay.html:
Replace direct
DOMAgentcalls with equivalentWI.DOMNodemethods.
- 8:09 AM Changeset in webkit [290434] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebKit
Merge r290401 - [WPE][GTK] Paths should be canonicalized before calling bwrap
https://bugs.webkit.org/show_bug.cgi?id=211131
Patch by Maxim Cournoyer <maxim.cournoyer@gmail.com> on 2022-02-23
Reviewed by Michael Catanzaro.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bindSymlinksRealPath): Relocate earlier in file,
add a 'bindOption' argument and use FileSystem::realPath instead
of realpath from the standard C library.
(WebKit::bindIfExists): Use the modified above procedure to
canonicalize the source path, and avoid adding bind mounts for
locations under /etc.
- 8:09 AM Changeset in webkit [290433] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebKit
Merge r290395 - Bubblewrap launcher doesn't bind font locations from XDG_DATA_DIRS
https://bugs.webkit.org/show_bug.cgi?id=237089
Patch by Liliana Marie Prikler <liliana.prikler@gmail.com> on 2022-02-23
Reviewed by Michael Catanzaro.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bindFonts): Expose font directories present in the
XDG_DATA_DIRS environment variable.
- 8:09 AM Changeset in webkit [290432] by
-
- 5 edits in releases/WebKitGTK/webkit-2.36/Source/JavaScriptCore
Merge r290359 - Ensure generated inline assembler that setups segments returns to previous state
https://bugs.webkit.org/show_bug.cgi?id=236976
Reviewed by Yusuke Suzuki.
Use .previous in inline assembler in order to ensure that mixed emission of assembler
functions and other definitions correctly puts each of them in their rightful sections
in the output object code.
- assembler/MacroAssemblerARM64.cpp:
- assembler/MacroAssemblerARMv7.cpp:
- assembler/MacroAssemblerMIPS.cpp:
- assembler/MacroAssemblerX86Common.cpp:
- 8:08 AM WebKitGTK/2.36.x edited by
- (diff)
- 8:08 AM Changeset in webkit [290431] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36/Source
Merge r290312 - When building introspection files, add CMAKE_C_FLAGS to the compiler flags.
https://bugs.webkit.org/show_bug.cgi?id=232936
Patch by Alexander Kanavin <alex@linutronix.de> on 2022-02-22
Reviewed by Michael Catanzaro.
g-ir-compiler is using a C compiler internally, so it needs to set
the proper flags for it.
- PlatformGTK.cmake:
- 7:45 AM Changeset in webkit [290430] by
-
- 4 edits2 adds in trunk
RELEASE_ASSERT(!renderer()); in WebCore::Node::~Node() + 479 (Node.cpp:366)
https://bugs.webkit.org/show_bug.cgi?id=235380
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-24
Reviewed by Ryosuke Niwa.
Source/WebCore:
RenderTreeUpdater::tearDownRenderers() browse the composed tree to tear down descendants.
However, element with a shadow root are handled specially in
ComposedTreeIterator::ComposedTreeIterator(), they have to be handled specially by calling
a tearDownLeftoverShadowHostChildren(). This patch does the same for slot elements which
are also handled specially in ComposedTreeIterator(). It also makes names within
tearDownLeftoverShadowHostChildren() more generic. This in particular fixes a release assert
when a slot with pseudo elements children is torn down.
Test: fast/shadow-dom/slot-with-pseudo-element-children-renderer-teardown.html
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::tearDownRenderers): Also call tearDownLeftoverShadowHostChildren
for a slot element and add a comment pointing to the method corresponding to these special
cases.
(WebCore::RenderTreeUpdater::tearDownLeftoverChildrenOfComposedTree): Renamed to remove "shadow host".
- rendering/updating/RenderTreeUpdater.h: Ditto.
LayoutTests:
Add non-regression test.
- fast/shadow-dom/slot-with-pseudo-element-children-renderer-teardown-expected.txt: Added.
- fast/shadow-dom/slot-with-pseudo-element-children-renderer-teardown.html: Added.
- 7:13 AM Changeset in webkit [290429] by
-
- 2 edits in trunk/Tools
[run-webkit-tests] Use Python 3 (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=226658
<rdar://problem/78882016>
Reviewed by Ryan Haddad.
- Tools/Scripts/run-webkit-tests: Change shebang to Python 3.
Canonical link: https://commits.webkit.org/247736@main
- 6:40 AM Changeset in webkit [290428] by
-
- 2 edits in trunk/Source/WebCore
[IFC][Integration] Adjust hittest coords when in flipped writing mode
https://bugs.webkit.org/show_bug.cgi?id=237103
Reviewed by Antti Koivisto.
This is similar to what we do in LegacyInlineFlowBox::nodeAtPoint.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::flippedRectForWritingMode):
(WebCore::LayoutIntegration::flippedPointForWritingMode):
(WebCore::LayoutIntegration::LineLayout::hitTest):
- 6:27 AM Changeset in webkit [290427] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WTF
Merge r290417 - REGRESSION(r289683): [GTK][WPE] Scrolling with the mouse wheel doesn't work in twitter after r289683
https://bugs.webkit.org/show_bug.cgi?id=237093
Reviewed by Carlos Garcia Campos.
Turn off by default for wpe/gtk and windows to investigate issue.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 4:49 AM WebKitGTK/2.36.x edited by
- (diff)
- 4:47 AM WebKitGTK/2.36.x edited by
- (diff)
- 4:32 AM Changeset in webkit [290426] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
[GTK] WebGL ANGLE backend is broken after r290138
https://bugs.webkit.org/show_bug.cgi?id=237133
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-24
Reviewed by Kimmo Kinnunen.
We removed some of the options that are already included in the
general library compilation, that fixes the backend.
- PlatformGTK.cmake:
- 4:29 AM Changeset in webkit [290425] by
-
- 3 edits in trunk/LayoutTests
webrtc/video-replace-muted-track.html is unnecessary long to run
https://bugs.webkit.org/show_bug.cgi?id=237086
Reviewed by Peng Liu.
- platform/mac/TestExpectations: Unflake test since it is no longer flaky in bots.
- webrtc/routines.js:
We were waiting for 360 iterations to validate no black frame is found in webrtc/routines.js.
This makes it last around 20 seconds.
Decrease the number of iterations to 40, around 2 seconds by decrementing counter from provided value
instead of incrementing value up to 400.
- 4:17 AM Changeset in webkit [290424] by
-
- 2 edits1 delete in trunk/LayoutTests
Unreviewed test gardening.
Another WebGL test with failing expected results in glib.
- platform/glib/TestExpectations:
- platform/glib/webgl/webgl-allow-shared-expected.txt: Removed.
- 4:11 AM Changeset in webkit [290423] by
-
- 13 edits in trunk/Source
LibWebRTCCodecs, -Proxy create and communicate the RemoteVideoFrameProxy incorrectly
https://bugs.webkit.org/show_bug.cgi?id=237083
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-24
Reviewed by Youenn Fablet.
Source/WebCore:
Add functions to set media sample ownership identity if the underlying object
supports the feature.
- platform/MediaSample.h:
(WebCore::MediaSample::setOwnershipIdentity):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::setOwnershipIdentity):
- platform/graphics/cv/VideoFrameCV.h:
- platform/graphics/cv/VideoFrameCV.mm:
(WebCore::VideoFrameCV::setOwnershipIdentity):
Source/WebKit:
LibWebRTCCodecsProxy should not call RemoteVideoFrameObjectHeap::createVideoFrame,
the function should be removed. Instead, LibWebRTCCodecsProxy should construct a
write reference to insert the media sample -> remote proxy mapping. Then
the result of the insert, a new reference, should be sent as part of the
RemoteVideoFrameProxy::Properties to the WP. This way the sent reference is
constructed as expected. Previously the reference was correct but matched just
by selecting the constants currently used (0). This works towards being able
to remove RemoteVideoFrameObjectHeap::createVideoFrame.
Split the completedDecoding to two:
- completedDecoding used to send new RemoteVideoFrames
- completedDecodingCV to send CoreVideo specific RemoteVideoSample instances (which will removed eventually).
- GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::Function<void):
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::completedDecoding):
(WebKit::LibWebRTCCodecs::completedDecodingCV):
- WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.messages.in:
- 3:57 AM Changeset in webkit [290422] by
-
- 11 edits in trunk
Implement logical properties for CSS overscroll-behavior
https://bugs.webkit.org/show_bug.cgi?id=237080
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt: Update expectations for passing tests.
- web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical-expected.txt: Ditto.
- web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-computed-expected.txt: Ditto.
- web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-valid-expected.txt: Ditto.
Source/WebCore:
No new tests. This is covered by existing WPT tests.
Add support for overscroll-behavior-block and overscroll-behavior-inline, the logical versions
of the overscroll behavior properties.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSProperties.json:
- css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
- css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue):
- 3:13 AM Changeset in webkit [290421] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Respect bytecode alignment in BytecodeRewriter
https://bugs.webkit.org/show_bug.cgi?id=237092
Patch by Geza Lore <Geza Lore> on 2022-02-24
Reviewed by Yusuke Suzuki.
Note: This patch only affects bytecode generation on platforms which
set CPU(NEEDS_ALIGNED_ACCESS), which are ARMv7 and MIPS. On all other
platforms the generated bytecode is identical.
The previous BytecodeRewriter::removeBytecode method unconditionally
removed the given instruction, which could then break the required
alignment of subsequent wide ops. While this could be fixed by
inserting padding after the removal, all current uses of
removeBytecode are such that they constitute one half of a replace.
Instead of adding unnecessary padding, added an explicit
replaceBytecodeWithFragment method that removes the old instruction
and replaces it with the given fragment, while maintaining alignment
of the subsequent bytecode. This yields fewer nops. If removeBytecode
turns out to be necessary later, use replaceBytecodeWithFragment with
an empty fragment.
- bytecode/BytecodeGeneratorification.cpp:
(JSC::BytecodeGeneratorification::run):
- bytecode/BytecodeRewriter.h:
(JSC::BytecodeRewriter::Fragment::align):
(JSC::BytecodeRewriter::insertFragmentAfter):
(JSC::BytecodeRewriter::replaceBytecodeWithFragment):
- bytecompiler/BytecodeGeneratorBaseInlines.h:
(JSC::BytecodeGeneratorBase<Traits>::alignWideOpcode32):
- 2:22 AM Changeset in webkit [290420] by
-
- 3 edits in trunk/Source/WTF
Unreviewed. Fix compile warnings when asserts are disabled after r290418
- wtf/Threading.h:
(WTF::WTF_ASSERTS_ACQUIRED_CAPABILITY):
- wtf/WorkQueue.h:
(WTF::WTF_ASSERTS_ACQUIRED_CAPABILITY):
- 1:42 AM Changeset in webkit [290419] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. [GTK] Mark GLContextGLX.cpp as no-unify
- SourcesGTK.txt:
- 1:03 AM Changeset in webkit [290418] by
-
- 20 edits in trunk
Thread safety analysis to assert "code is run sequentially" is not useful when code is mainly run with WorkQueues
https://bugs.webkit.org/show_bug.cgi?id=236832
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-24
Reviewed by Antti Koivisto.
Source/WebKit:
Assert directly that the work queues are current instead of using ThreadAssertion.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::~RemoteGraphicsContextGL):
(WebKit::RemoteGraphicsContextGL::displayWasReconfigured):
(WebKit::RemoteGraphicsContextGL::workQueueInitialize):
(WebKit::RemoteGraphicsContextGL::workQueueUninitialize):
(WebKit::RemoteGraphicsContextGL::didComposite):
(WebKit::RemoteGraphicsContextGL::forceContextLost):
(WebKit::RemoteGraphicsContextGL::dispatchContextChangedNotification):
(WebKit::RemoteGraphicsContextGL::reshape):
(WebKit::RemoteGraphicsContextGL::prepareForDisplay):
(WebKit::RemoteGraphicsContextGL::synthesizeGLError):
(WebKit::RemoteGraphicsContextGL::getError):
(WebKit::RemoteGraphicsContextGL::ensureExtensionEnabled):
(WebKit::RemoteGraphicsContextGL::markContextChanged):
(WebKit::RemoteGraphicsContextGL::paintRenderingResultsToCanvasWithQualifiedIdentifier):
(WebKit::RemoteGraphicsContextGL::paintCompositedResultsToCanvasWithQualifiedIdentifier):
(WebKit::RemoteGraphicsContextGL::paintCompositedResultsToMediaSample):
(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):
(WebKit::RemoteGraphicsContextGL::simulateEventForTesting):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
(WebKit::RemoteGraphicsContextGL::workQueue const):
- GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp:
(WebKit::RemoteGraphicsContextGL::copyTextureFromVideoFrame):
(WebKit::RemoteGraphicsContextGLCocoa::platformWorkQueueInitialize):
(WebKit::RemoteGraphicsContextGLCocoa::prepareForDisplay):
- GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(moveErrorsToSyntheticErrorList):
(activeTexture):
(attachShader):
(bindAttribLocation):
(bindBuffer):
(bindFramebuffer):
(bindRenderbuffer):
(bindTexture):
(blendColor):
(blendEquation):
(blendEquationSeparate):
(blendFunc):
(blendFuncSeparate):
(checkFramebufferStatus):
(clear):
(clearColor):
(clearDepth):
(clearStencil):
(colorMask):
(compileShader):
(copyTexImage2D):
(copyTexSubImage2D):
(createBuffer):
(createFramebuffer):
(createProgram):
(createRenderbuffer):
(createShader):
(createTexture):
(cullFace):
(deleteBuffer):
(deleteFramebuffer):
(deleteProgram):
(deleteRenderbuffer):
(deleteShader):
(deleteTexture):
(depthFunc):
(depthMask):
(depthRange):
(detachShader):
(disable):
(disableVertexAttribArray):
(drawArrays):
(drawElements):
(enable):
(enableVertexAttribArray):
(finish):
(flush):
(framebufferRenderbuffer):
(framebufferTexture2D):
(frontFace):
(generateMipmap):
(getActiveAttrib):
(getActiveUniform):
(getAttribLocation):
(getBufferParameteri):
(getString):
(getFloatv):
(getIntegerv):
(getInteger64):
(getInteger64i):
(getProgrami):
(getBooleanv):
(getFramebufferAttachmentParameteri):
(getProgramInfoLog):
(getRenderbufferParameteri):
(getShaderi):
(getShaderInfoLog):
(getShaderPrecisionFormat):
(getShaderSource):
(getTexParameterf):
(getTexParameteri):
(getUniformfv):
(getUniformiv):
(getUniformuiv):
(getUniformLocation):
(getVertexAttribOffset):
(hint):
(isBuffer):
(isEnabled):
(isFramebuffer):
(isProgram):
(isRenderbuffer):
(isShader):
(isTexture):
(lineWidth):
(linkProgram):
(pixelStorei):
(polygonOffset):
(renderbufferStorage):
(sampleCoverage):
(scissor):
(shaderSource):
(stencilFunc):
(stencilFuncSeparate):
(stencilMask):
(stencilMaskSeparate):
(stencilOp):
(stencilOpSeparate):
(texParameterf):
(texParameteri):
(uniform1f):
(uniform1fv):
(uniform1i):
(uniform1iv):
(uniform2f):
(uniform2fv):
(uniform2i):
(uniform2iv):
(uniform3f):
(uniform3fv):
(uniform3i):
(uniform3iv):
(uniform4f):
(uniform4fv):
(uniform4i):
(uniform4iv):
(uniformMatrix2fv):
(uniformMatrix3fv):
(uniformMatrix4fv):
(useProgram):
(validateProgram):
(vertexAttrib1f):
(vertexAttrib1fv):
(vertexAttrib2f):
(vertexAttrib2fv):
(vertexAttrib3f):
(vertexAttrib3fv):
(vertexAttrib4f):
(vertexAttrib4fv):
(vertexAttribPointer):
(viewport):
(bufferData0):
(bufferData1):
(bufferSubData):
(readnPixels0):
(readnPixels1):
(texImage2D0):
(texImage2D1):
(texSubImage2D0):
(texSubImage2D1):
(compressedTexImage2D0):
(compressedTexImage2D1):
(compressedTexSubImage2D0):
(compressedTexSubImage2D1):
(drawArraysInstanced):
(drawElementsInstanced):
(vertexAttribDivisor):
(createVertexArray):
(deleteVertexArray):
(isVertexArray):
(bindVertexArray):
(copyBufferSubData):
(getBufferSubData):
(blitFramebuffer):
(framebufferTextureLayer):
(invalidateFramebuffer):
(invalidateSubFramebuffer):
(readBuffer):
(renderbufferStorageMultisample):
(texStorage2D):
(texStorage3D):
(texImage3D0):
(texImage3D1):
(texSubImage3D0):
(texSubImage3D1):
(copyTexSubImage3D):
(compressedTexImage3D0):
(compressedTexImage3D1):
(compressedTexSubImage3D0):
(compressedTexSubImage3D1):
(getFragDataLocation):
(uniform1ui):
(uniform2ui):
(uniform3ui):
(uniform4ui):
(uniform1uiv):
(uniform2uiv):
(uniform3uiv):
(uniform4uiv):
(uniformMatrix2x3fv):
(uniformMatrix3x2fv):
(uniformMatrix2x4fv):
(uniformMatrix4x2fv):
(uniformMatrix3x4fv):
(uniformMatrix4x3fv):
(vertexAttribI4i):
(vertexAttribI4iv):
(vertexAttribI4ui):
(vertexAttribI4uiv):
(vertexAttribIPointer):
(drawRangeElements):
(drawBuffers):
(clearBufferiv):
(clearBufferuiv):
(clearBufferfv):
(clearBufferfi):
(createQuery):
(deleteQuery):
(isQuery):
(beginQuery):
(endQuery):
(getQuery):
(getQueryObjectui):
(createSampler):
(deleteSampler):
(isSampler):
(bindSampler):
(samplerParameteri):
(samplerParameterf):
(getSamplerParameterf):
(getSamplerParameteri):
(fenceSync):
(isSync):
(deleteSync):
(clientWaitSync):
(waitSync):
(getSynci):
(createTransformFeedback):
(deleteTransformFeedback):
(isTransformFeedback):
(bindTransformFeedback):
(beginTransformFeedback):
(endTransformFeedback):
(transformFeedbackVaryings):
(getTransformFeedbackVarying):
(pauseTransformFeedback):
(resumeTransformFeedback):
(bindBufferBase):
(bindBufferRange):
(getUniformIndices):
(getActiveUniforms):
(getUniformBlockIndex):
(getActiveUniformBlockName):
(uniformBlockBinding):
(getActiveUniformBlockiv):
(getGraphicsResetStatusARB):
(getTranslatedShaderSourceANGLE):
(drawBuffersEXT):
(getInternalformativ):
(multiDrawArraysANGLE):
(multiDrawArraysInstancedANGLE):
(multiDrawElementsANGLE):
(multiDrawElementsInstancedANGLE):
(paintRenderingResultsToPixelBuffer):
- GPUProcess/graphics/WebGPU/RemoteGPU.cpp:
(WebKit::RemoteGPU::RemoteGPU):
(WebKit::RemoteGPU::initialize):
(WebKit::RemoteGPU::stopListeningForIPC):
(WebKit::RemoteGPU::workQueueInitialize):
(WebKit::RemoteGPU::workQueueUninitialize):
(WebKit::RemoteGPU::requestAdapter):
- GPUProcess/graphics/WebGPU/RemoteGPU.h:
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
(WebKit::RemoteVideoFrameObjectHeap::~RemoteVideoFrameObjectHeap):
(WebKit::RemoteVideoFrameObjectHeap::stopListeningForIPC):
(WebKit::RemoteVideoFrameObjectHeap::releaseVideoFrame):
- GPUProcess/media/RemoteVideoFrameObjectHeap.h:
- Platform/IPC/StreamConnectionWorkQueue.cpp:
(IPC::StreamConnectionWorkQueue::assertIsCurrent const):
- Platform/IPC/StreamConnectionWorkQueue.h:
(IPC::WTF_ASSERTS_ACQUIRED_CAPABILITY):
Source/WTF:
Thread safety analysis is not useful when code is mainly run with WorkQueues.
WorkQueue runnables might run in arbitrary thread, but still serially in a specific
"work queue". Thus current ThreadAssertion produces false assertions.
Make Thread and WorkQueue hold "is current" capability. This means the
assertIsCurrent(thread/workQueue)can establish that the caller holds the capabity,
e.g. that the caller is running in the particular thread or work queue.
Tested by new API tests.
- wtf/Threading.h:
(WTF::WTF_ASSERTS_ACQUIRED_CAPABILITY):
- wtf/WorkQueue.h:
(WTF::WTF_ASSERTS_ACQUIRED_CAPABILITY):
- wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueueBase::platformInitialize):
(WTF::WorkQueue::assertIsCurrent const):
(WTF::currentSequenceID):
- wtf/generic/WorkQueueGeneric.cpp:
(WTF::WorkQueueBase::platformInitialize):
(WTF::WorkQueue::assertIsCurrent):
(WTF::currentSequenceID):
Tools:
Test the added functionality to be able to use assertIsCurrent(thread/workQueue).
Fix WTF_WorkQueue.DestroyDispatchedOnDispatchQueue test, it is now able to make the assertion correctly.
- The object is created somewhere that is not the tested WorkQueue
- The object is destroyed in the tested WorkQueue
- Scripts/generate-gpup-webgl:
- TestWebKitAPI/Tests/WTF/Threading.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
(TestWebKitAPI::TEST):
- 12:57 AM Changeset in webkit [290417] by
-
- 2 edits in trunk/Source/WTF
REGRESSION(r289683): [GTK][WPE] Scrolling with the mouse wheel doesn't work in twitter after r289683
https://bugs.webkit.org/show_bug.cgi?id=237093
Reviewed by Carlos Garcia Campos.
Turn off by default for wpe/gtk and windows to investigate issue.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 12:56 AM Changeset in webkit [290416] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] WeakMapImpl do not need to take cellLock in visitOutputConstraints and main thread
https://bugs.webkit.org/show_bug.cgi?id=200195
Reviewed by Mark Lam.
WeakMapImpl::visitOutputConstraints is called in the constraint solver, so the main thread is stopped.
WeakMapImpl::rehash can destroy the buffer, but it is only called on either the main thread or GC finalizer. As a result,
it never happens that destroying the buffer while touching it in visitOutputConstraints. We can remove the lock guarding
this buffer.
- runtime/WeakMapImpl.cpp:
(JSC::WeakMapImpl<BucketType>::visitOutputConstraints):
- runtime/WeakMapImpl.h:
(JSC::WeakMapImpl::WeakMapImpl):
(JSC::WeakMapImpl::makeAndSetNewBuffer):
(JSC::WeakMapImpl::finishCreation): Deleted.
- runtime/WeakMapImplInlines.h:
(JSC::WeakMapImpl<WeakMapBucket>::rehash):
- 12:55 AM Changeset in webkit [290415] by
-
- 2 edits in trunk/Source/WTF
Small optimizations to TinyLRUCache
https://bugs.webkit.org/show_bug.cgi?id=237117
Reviewed by Darin Adler.
Small optimizations to TinyLRUCache:
- When trying to find an entry in the cache, start from the end of the vector since this is where the most recent entries are.
- Use reverseFind() instead of a for loop to simplify the code a bit
- Use Vector::uncheckedAppend() instead of Vector::append() to bypass capacity checks given that the vector has an inline capacity that is the size of the cache (vector capacity never grows or shrinks).
- wtf/TinyLRUCache.h:
(WTF::TinyLRUCache::get):
Feb 23, 2022:
- 11:28 PM Changeset in webkit [290414] by
-
- 22 edits3 deletes in trunk
Unreviewed, reverting r290284.
https://bugs.webkit.org/show_bug.cgi?id=237131
It is preventing the fuzzer from finding other bugs
Reverted changeset:
"Make input element UA shadow tree creation lazy"
https://bugs.webkit.org/show_bug.cgi?id=236747
https://commits.webkit.org/r290284
- 10:35 PM Changeset in webkit [290413] by
-
- 6 edits in trunk/Source/WebKit
REGRESSION(r290175): Texture upload from video and user media is slower than expected for non-GPUP WebGL
https://bugs.webkit.org/show_bug.cgi?id=237034
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-23
Reviewed by Youenn Fablet.
Add back the code-path to obtain the IOSurface backed CVPixelBuffers directly
via IPC transfer. This is used on macOS where WebGL is in WP.
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
(WebKit::RemoteVideoFrameObjectHeap::pixelBuffer):
- GPUProcess/media/RemoteVideoFrameObjectHeap.h:
- GPUProcess/media/RemoteVideoFrameObjectHeap.messages.in:
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::RemoteVideoFrameProxy::pixelBuffer const):
- WebProcess/GPU/media/RemoteVideoFrameProxy.h:
- 10:16 PM Changeset in webkit [290412] by
-
- 9 edits9 adds in trunk
Use of showModalDialog should appear as a warning in WI console
https://bugs.webkit.org/show_bug.cgi?id=237046
Reviewed by Devin Rousso.
Source/WebCore:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::showModalDialog):
LayoutTests:
Test gardening to take in account new console warning.
- fast/animation/request-animation-frame-during-modal-expected.txt:
- fast/dom/Window/open-window-min-size-expected.txt:
- fast/events/show-modal-dialog-onblur-onfocus-expected.txt:
- http/tests/cookies/document-cookie-after-showModalDialog-expected.txt:
- http/tests/security/navigate-when-restoring-cached-page-expected.txt:
- http/tests/security/showModalDialog-sync-cross-origin-page-load2-expected.txt:
- platform/mac-wk1/fast/events/beforeunload-showModalDialog-expected.txt: Added.
- platform/mac-wk1/fast/events/pagehide-showModalDialog-expected.txt: Added.
- platform/mac-wk1/fast/events/unload-showModalDialog-expected.txt: Added.
- platform/wincairo-wk1/fast/events/beforeunload-showModalDialog-expected.txt: Added.
- platform/wincairo-wk1/fast/events/pagehide-showModalDialog-expected.txt: Added.
- platform/wincairo-wk1/fast/events/unload-showModalDialog-expected.txt: Added.
- 7:18 PM Changeset in webkit [290411] by
-
- 3 edits in trunk/Source/WebCore
Modernize / simplify ScrollingStateTree a bit
https://bugs.webkit.org/show_bug.cgi?id=237111
Reviewed by Simon Fraser.
Modernize / simplify ScrollingStateTree a bit.
- page/scrolling/ScrollingStateTree.cpp:
(WebCore::nodeTypeAndParentMatch):
Simplify function body to be on one line and make function static since it doesn't
need an instance.
(WebCore::nodeWasReattachedRecursive):
Make function static since it doesn't need an instance.
(WebCore::ScrollingStateTree::createUnparentedNode):
- Pass a reference instead of pointer
(WebCore::ScrollingStateTree::insertNode):
- Use template deduction for Ref<>
- Drop unnecessarily 0-check for parentID since stateNodeForID(parentID) would have returned null and we would have returned early a few lines above.
(WebCore::ScrollingStateTree::unparentNode):
(WebCore::ScrollingStateTree::unparentChildrenAndDestroyNode):
- Use RefPtr type for protectedNode based on the variable naming. Previously, auto would have deduced to a raw pointer.
(WebCore::ScrollingStateTree::detachAndDestroySubtree):
(WebCore::ScrollingStateTree::clear):
Pass more references instead of pointers.
(WebCore::ScrollingStateTree::commit):
use auto and std::exchange() to make the code a bit more concise.
(WebCore::ScrollingStateTree::removeNodeAndAllDescendants):
Take a reference in parameter instead of a raw pointer since the pointer couldn't
be null.
(WebCore::ScrollingStateTree::recursiveNodeWillBeRemoved):
- Take a reference in parameter instead of a raw pointer since the pointer couldn't
be null.
- Rename currNode to currentNode per WebKit coding style.
(WebCore::ScrollingStateTree::willRemoveNode):
Take a reference in parameter instead of a raw pointer since the pointer couldn't
be null.
(WebCore::ScrollingStateTree::stateNodeForID const):
Rewrite function in a more concise way by calling HashMap::get() instead of HashMap::find().
(WebCore::reconcileLayerPositionsRecursive):
- Make function static since it doesn't need an instance
- Rename currNode to currentNode per WebKit coding style
(WebCore::ScrollingStateTree::reconcileViewportConstrainedLayerPositions):
Make function a bit more concise by not doing an early return.
(showScrollingStateTree):
Take in a reference instead of a raw pointer.
(WebCore::ScrollingStateTree::nodeTypeAndParentMatch const): Deleted.
(WebCore::ScrollingStateTree::nodeWasReattachedRecursive): Deleted.
(WebCore::ScrollingStateTree::reconcileLayerPositionsRecursive): Deleted.
- page/scrolling/ScrollingStateTree.h:
- 6:25 PM Changeset in webkit [290410] by
-
- 1 copy in tags/Safari-614.1.5.3
Tag Safari-614.1.5.3.
- 6:24 PM Changeset in webkit [290409] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk1 Release ] imported/w3c/web-platform-tests/html/user-activation/activation-trigger-pointerevent.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=236126
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 5:51 PM Changeset in webkit [290408] by
-
- 9 edits in branches/safari-614.1.5-branch/Source
Versioning.
WebKit-7614.1.5.3
- 5:43 PM Changeset in webkit [290407] by
-
- 2 edits in trunk/Source/WebKit
Fix !ENABLE(SERVICE_WORKER) build after r290387
https://bugs.webkit.org/show_bug.cgi?id=237119
Unreviewed build fix.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::establishRemoteWorkerContextConnectionToNetworkProcess):
- 5:31 PM Changeset in webkit [290406] by
-
- 9 edits2 deletes in trunk
Unreviewed, reverting r290351 and r290404.
Broke the build after revert of initial commit (r290348)
Rebases no longer needed due to revert
Reverted changesets:
"Use of showModalDialog should appear as a warning in WI
console"
https://bugs.webkit.org/show_bug.cgi?id=237046
https://commits.webkit.org/r290351
"Use of showModalDialog should appear as a warning in WI
console"
https://bugs.webkit.org/show_bug.cgi?id=237046
https://commits.webkit.org/r290404
- 5:24 PM Changeset in webkit [290405] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Adjust thread number for GC throughput
https://bugs.webkit.org/show_bug.cgi?id=237122
Reviewed by Mark Lam.
Adjust numberOfGCMarkers from 4 to 3 to make GC and main thread througput better on M1 macOS.
3 makes sense since there is also a main thread when they are running concurrently to the
main thread.
It offers 1.2% improvement in Speedometer2 in M1Max MBP and 0.4% improvement in M1 MBP.
| subtest | ms | ms | b / a | pValue (significance using False Discovery Rate) |
| Elm-TodoMVC |107.445000 |102.856667 |0.957296 | 0.000000 (significant) |
| VueJS-TodoMVC |21.571667 |21.805000 |1.010817 | 0.403054 |
| EmberJS-TodoMVC |113.320000 |111.300000 |0.982174 | 0.000027 (significant) |
| BackboneJS-TodoMVC |39.981667 |39.318333 |0.983409 | 0.002346 (significant) |
| Preact-TodoMVC |15.516667 |15.648333 |1.008485 | 0.544754 |
| AngularJS-TodoMVC |117.010000 |115.346667 |0.985785 | 0.000495 (significant) |
| Vanilla-ES2015-TodoMVC |57.790000 |57.176667 |0.989387 | 0.000270 (significant) |
| Inferno-TodoMVC |55.275000 |53.755000 |0.972501 | 0.000000 (significant) |
| Flight-TodoMVC |53.875000 |53.941667 |1.001237 | 0.739556 |
| Angular2-TypeScript-TodoMVC |36.600000 |36.471667 |0.996494 | 0.743761 |
| VanillaJS-TodoMVC |48.058333 |47.671667 |0.991954 | 0.158193 |
| jQuery-TodoMVC |203.433333 |201.878333 |0.992356 | 0.009271 (significant) |
| EmberJS-Debug-TodoMVC |325.058333 |319.848333 |0.983972 | 0.000003 (significant) |
| React-TodoMVC |80.533333 |79.281667 |0.984458 | 0.000011 (significant) |
| React-Redux-TodoMVC |134.738333 |131.801667 |0.978205 | 0.000000 (significant) |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |56.780000 |56.168333 |0.989227 | 0.000514 (significant) |
a mean = 293.86568
b mean = 297.52900
pValue = 0.0266899465
(Bigger means are better.)
1.012 times better
Results ARE significant
- runtime/Options.cpp:
(JSC::overrideDefaults):
- 5:12 PM Changeset in webkit [290404] by
-
- 1 edit9 adds in trunk/LayoutTests
Use of showModalDialog should appear as a warning in WI console
https://bugs.webkit.org/show_bug.cgi?id=237046
Unreviewed test gardening. Rebase for wk1 mac and Windows tests.
- platform/mac-wk1/fast/events/beforeunload-showModalDialog-expected.txt: Added.
- platform/mac-wk1/fast/events/pagehide-showModalDialog-expected.txt: Added.
- platform/mac-wk1/fast/events/unload-showModalDialog-expected.txt: Added.
- platform/wincairo-wk1/fast/events/beforeunload-showModalDialog-expected.txt: Added.
- platform/wincairo-wk1/fast/events/pagehide-showModalDialog-expected.txt: Added.
- platform/wincairo-wk1/fast/events/unload-showModalDialog-expected.txt: Added.
- 4:52 PM Changeset in webkit [290403] by
-
- 1 copy in tags/Safari-613.1.17.1.7
Tag Safari-613.1.17.1.7.
- 4:51 PM Changeset in webkit [290402] by
-
- 1 copy in tags/Safari-614.1.3.5
Tag Safari-614.1.3.5.
- 4:49 PM Changeset in webkit [290401] by
-
- 2 edits in trunk/Source/WebKit
[WPE][GTK] Paths should be canonicalized before calling bwrap
https://bugs.webkit.org/show_bug.cgi?id=211131
Patch by Maxim Cournoyer <maxim.cournoyer@gmail.com> on 2022-02-23
Reviewed by Michael Catanzaro.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bindSymlinksRealPath): Relocate earlier in file,
add a 'bindOption' argument and use FileSystem::realPath instead
of realpath from the standard C library.
(WebKit::bindIfExists): Use the modified above procedure to
canonicalize the source path, and avoid adding bind mounts for
locations under /etc.
- 4:47 PM Changeset in webkit [290400] by
-
- 2 edits in trunk
[XCBuild] Don't automatically use the ../Internal/WebKit workspace
https://bugs.webkit.org/show_bug.cgi?id=237115
Reviewed by Alexey Proskuryakov.
When the USE_WORKSPACE=YES Make flag was added in https://commits.webkit.org/246232@main, we
configured Make to automatically use the workspace at ../Internal/WebKit/WebKit.xcworkspace,
if it was available. The idea was to make it easier for workspace builds to automatically
detect dependencies needed by folks at Apple, like WebKitAdditions.
In practice, this has made workspace builds silently rely on code from outside of the WebKit
repo, and it's unintuitive since non-workspace Make builds do not do this.
- Makefile.shared:
- 4:39 PM Changeset in webkit [290399] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, reverting r290348.
Broke a test, slowing down EWS.
Reverted changeset:
"Create a DOMWindow::printWarningMessage method and start
using it in DOMWindow.cpp"
https://bugs.webkit.org/show_bug.cgi?id=237047
https://commits.webkit.org/r290348
- 4:37 PM Changeset in webkit [290398] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.7
- 4:34 PM Changeset in webkit [290397] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.5
- 4:21 PM Changeset in webkit [290396] by
-
- 2 edits in trunk/Source/WebCore
[IFC][Integration] Flip accumulatedOffset to take writing mode into account when hittesting across formatting contexts.
https://bugs.webkit.org/show_bug.cgi?id=237094
Reviewed by Antti Koivisto.
Both paint and hittest need coord flip (vertical writing mode here) when jumping through formatting context boundaries.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::flippedContentOffsetIfNeeded):
(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::LineLayout::hitTest):
- 3:47 PM Changeset in webkit [290395] by
-
- 2 edits in trunk/Source/WebKit
Bubblewrap launcher doesn't bind font locations from XDG_DATA_DIRS
https://bugs.webkit.org/show_bug.cgi?id=237089
Patch by Liliana Marie Prikler <liliana.prikler@gmail.com> on 2022-02-23
Reviewed by Michael Catanzaro.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bindFonts): Expose font directories present in the
XDG_DATA_DIRS environment variable.
- 3:18 PM Changeset in webkit [290394] by
-
- 94 edits in trunk
Adopt more widely the new URL constructor that takes in a String
https://bugs.webkit.org/show_bug.cgi?id=237099
Reviewed by Darin Adler.
Source/WebCore:
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::convertAndValidatePaymentMethodIdentifier):
- css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::completeURL const):
- dom/Document.cpp:
(WebCore::Document::referrer):
- html/DOMURL.cpp:
(WebCore::DOMURL::revokeObjectURL):
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parsePrivateClickMeasurement const):
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::didNavigateExtensionTab):
(WebCore::InspectorFrontendHost::inspectedPageDidNavigate):
- inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::extractInnerURL):
- platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::willSendRequest):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(convertPlaybinURI):
- platform/network/soup/URLSoup.cpp:
(WebCore::soupURIToURL):
- platform/win/PasteboardWin.cpp:
(WebCore::filesystemPathFromUrlOrTitle):
- testing/MockPaymentCoordinator.cpp:
(WebCore::MockPaymentCoordinator::showPaymentUI):
- workers/service/ServiceWorkerRegistrationKey.cpp:
(WebCore::ServiceWorkerRegistrationKey::fromDatabaseKey):
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::importRecords):
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
- Shared/API/APISecurityOrigin.h:
(API::SecurityOrigin::createFromString):
- Shared/API/APIURL.h:
(API::URL::parseURLIfNecessary const):
- Shared/API/c/WKURLRequest.cpp:
(WKURLRequestCreateWithWKURL):
- Shared/API/glib/WebKitURIRequest.cpp:
(webkit_uri_request_set_uri):
- Shared/APIWebArchiveResource.mm:
(API::WebArchiveResource::WebArchiveResource):
- Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):
- Shared/curl/WebCoreArgumentCodersCurl.cpp:
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):
- Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::ArgumentCoder<SelectionData>::decode):
- Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):
- UIProcess/API/C/WKOpenPanelResultListener.cpp:
(filePathsFromFileURLs):
- UIProcess/API/C/WKPage.cpp:
(WKPageLoadURL):
(WKPageLoadURLWithShouldOpenExternalURLsPolicy):
(WKPageLoadURLWithUserData):
(WKPageLoadAlternateHTMLStringWithUserData):
(WKPageSetPrivateClickMeasurementTokenPublicKeyURLForTesting):
(WKPageSetPrivateClickMeasurementTokenSignatureURLForTesting):
(WKPageSetPrivateClickMeasurementAttributionReportURLsForTesting):
- UIProcess/API/C/WKPageGroup.cpp:
(WKPageGroupAddUserStyleSheet):
(WKPageGroupAddUserScript):
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreSetResourceLoadStatisticsPrevalentResourceForDebugMode):
(WKWebsiteDataStoreSetStatisticsLastSeen):
(WKWebsiteDataStoreSetStatisticsMergeStatistic):
(WKWebsiteDataStoreSetStatisticsExpiredStatistic):
(WKWebsiteDataStoreSetStatisticsPrevalentResource):
(WKWebsiteDataStoreSetStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreIsStatisticsPrevalentResource):
(WKWebsiteDataStoreIsStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubresourceUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo):
(WKWebsiteDataStoreSetStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreIsStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreIsStatisticsOnlyInDatabaseOnce):
(WKWebsiteDataStoreSetStatisticsGrandfathered):
(WKWebsiteDataStoreIsStatisticsGrandfathered):
(WKWebsiteDataStoreSetStatisticsSubframeUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectFrom):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectFrom):
(WKWebsiteDataStoreSetStatisticsCrossSiteLoadWithLinkDecoration):
(WKWebsiteDataStoreStatisticsDeleteCookiesForTesting):
(WKWebsiteDataStoreStatisticsHasLocalStorage):
(WKWebsiteDataStoreStatisticsHasIsolatedSession):
(WKWebsiteDataStoreSetResourceLoadStatisticsToSameSiteStrictCookiesForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsFirstPartyHostCNAMEDomainForTesting):
(WKWebsiteDataStoreSetResourceLoadStatisticsThirdPartyCNAMEDomainForTesting):
(WKWebsiteDataStoreSetAppBoundDomainsForTesting):
- UIProcess/API/C/curl/WKWebsiteDataStoreRefCurl.cpp:
(WKWebsiteDataStoreEnableCustomNetworkProxySettings):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
- UIProcess/API/glib/WebKitCookieManager.cpp:
(webkit_cookie_manager_get_cookies):
- UIProcess/API/glib/WebKitSecurityOrigin.cpp:
(webkit_security_origin_new_for_uri):
- UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_load_alternate_html):
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _uiEventAttribution]):
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::navigateBrowsingContext):
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):
- UIProcess/Cocoa/LegacyDownloadClient.mm:
(WebKit::LegacyDownloadClient::legacyDidStart):
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::willPerformClientRedirect):
(WebKit::NavigationState::NavigationClient::didPerformClientRedirect):
- UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:
(-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::isURLKnownHSTSHost const):
- UIProcess/Inspector/RemoteWebInspectorUIProxy.cpp:
(WebKit::RemoteWebInspectorUIProxy::load):
- UIProcess/Inspector/WebInspectorUIProxy.cpp:
(WebKit::WebInspectorUIProxy::isMainOrTestInspectorPage):
(WebKit::WebInspectorUIProxy::openLocalInspectorFrontend):
- UIProcess/Inspector/gtk/RemoteWebInspectorUIProxyGtk.cpp:
(WebKit::RemoteWebInspectorUIProxy::platformSave):
- UIProcess/Inspector/gtk/WebInspectorUIProxyGtk.cpp:
(WebKit::WebInspectorUIProxy::platformSave):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::launchProcessForReload):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::sessionState const):
(WebKit::checkIfNavigationContainsDataTransfer):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::checkURLReceivedFromCurrentOrPreviousWebProcess):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::assumeReadAccessToBaseURL):
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
(WebKit::WebsiteDataStore::initializeAppBoundDomains):
- UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::decodeLegacySessionState):
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::validateMerchant):
- WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameAllowsFollowingLink):
(WKBundleFrameCopySuggestedFilenameForResourceWithURL):
(WKBundleFrameCopyMIMETypeForResourceWithURL):
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageHasLocalDataForURL):
(WKBundlePageClearApplicationCacheForOrigin):
(WKBundlePageGetAppCacheUsageForOrigin):
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setUserStyleSheetLocation):
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::isValidFetch):
- WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toFormData):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadAlternateHTML):
(WebKit::WebPage::getResourceDataFromFrame):
- webpushd/PushService.mm:
(WebPushD::PushService::didReceivePushMessage):
Source/WebKitLegacy/win:
- MarshallingHelpers.cpp:
- WebError.cpp:
(WebError::init):
- WebFrame.cpp:
(WebFrame::loadData):
- WebView.cpp:
(toURL):
Source/WTF:
- wtf/URL.cpp:
(WTF::aboutBlankURL):
(WTF::aboutSrcDocURL):
Tools:
- TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::testUserPassword):
- TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::mainDocumentRequest):
(TestWebKitAPI::subResourceRequest):
(TestWebKitAPI::requestInTopAndFrameURLs):
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/RegistrableDomain.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp:
(TestWebKitAPI::Curl::TEST_F):
- TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
- 2:45 PM Changeset in webkit [290393] by
-
- 2 edits in trunk
Add wdx's Github username to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=237106
Unreviewed.
- metadata/contributors.json:
- 2:33 PM Changeset in webkit [290392] by
-
- 4 edits in trunk
[WebAuthn] Improve error message for missing pubKeyCredParams
https://bugs.webkit.org/show_bug.cgi?id=235421
rdar://87884875
Reviewed by Brent Fulgham.
Source/WebCore:
We have seen confusion from library authors around the language
used in this error not indicating enough information about what
the problem is. This patch adds additional information, useful
to developers seeing this error.
- Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::create const):
LayoutTests:
Update test to reflect new error message.
- http/wpt/webauthn/public-key-credential-create-failure.https.html:
- 1:40 PM Changeset in webkit [290391] by
-
- 1 copy in tags/Safari-614.1.5.2
Tag Safari-614.1.5.2.
- 12:59 PM Changeset in webkit [290390] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] PlayStation uses 16k page size.
https://bugs.webkit.org/show_bug.cgi?id=237096
Reviewed by Yusuke Suzuki.
Match the granule default size to system page size for our platform.
- libpas/src/libpas/pas_internal_config.h:
- 12:57 PM Changeset in webkit [290389] by
-
- 2 edits in trunk/Tools
REGRESSION (288925?): [iOS] TestWebKitAPI.RequestTextInputContext.TextInteraction_FocusingReadOnlyElementShouldScrollToReveal is failing
https://bugs.webkit.org/show_bug.cgi?id=237069
rdar://89325305
Reviewed by Kate Cheney.
This iOS API test occasionally fails in some test runners in automation, due to
didScrollstill being false at
the end of the test. While I was unable to reproduce (both locally, and using EWS test runners), from code
inspection this test appears to be inherently flaky since the scrolling is triggered via editor state updates
propagated through remote layer tree commits; however, the test only verifies that scrolling occurs after one
IPC round-trip between the web and UI processes (due to the call to-stringByEvaluatingJavaScript:).
Since the regression point is suspiciously close to r288925, it's possible that the optimizations introduced in
r288925 removed an extra sync IPC round-trip to the web process and back when requesting an autocorrection
context after element focus, which would make this flakiness easier to reproduce in some configurations.
In any case, one speculative fix for this test is to simply wait for the scrolling to occur, instead of assuming
that it occurs after a single IPC round-trip.
- TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
- 12:34 PM Changeset in webkit [290388] by
-
- 2 edits in trunk/Source/WebCore
[IFC][Integration] LineLayout::firstLinePhysicalBaseline/lastLineLogicalBaseline should flip box baseline value for vertical-lr
https://bugs.webkit.org/show_bug.cgi?id=237090
Reviewed by Antti Koivisto.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::firstLinePhysicalBaseline const):
(WebCore::LayoutIntegration::LineLayout::lastLineLogicalBaseline const):
(WebCore::LayoutIntegration::LineLayout::firstInlineBoxRect const):
- 12:12 PM Changeset in webkit [290387] by
-
- 18 edits in trunk/Source/WebKit
Share more code between service and shared workers for context connection establishment
https://bugs.webkit.org/show_bug.cgi?id=237085
Reviewed by Youenn Fablet.
Share more code between service and shared workers for context connection establishment.
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::ensureSWServer):
- NetworkProcess/SharedWorker/WebSharedWorker.cpp:
(WebKit::WebSharedWorker::firstSharedWorkerObjectProcess const):
- NetworkProcess/SharedWorker/WebSharedWorker.h:
- NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp:
(WebKit::WebSharedWorkerServer::didFinishFetchingSharedWorkerScript):
(WebKit::WebSharedWorkerServer::createContextConnection):
(WebKit::WebSharedWorkerServer::removeContextConnection):
(WebKit::WebSharedWorkerServer::shutDownSharedWorker):
- NetworkProcess/SharedWorker/WebSharedWorkerServer.h:
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::establishRemoteWorkerContextConnectionToNetworkProcess):
(WebKit::NetworkProcessProxy::establishSharedWorkerContextConnectionToNetworkProcess): Deleted.
(WebKit::NetworkProcessProxy::establishServiceWorkerContextConnectionToNetworkProcess): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::establishServiceWorkerContextConnectionToNetworkProcess): Deleted.
(WebKit::WebProcessPool::establishSharedWorkerContextConnectionToNetworkProcess): Deleted.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::establishRemoteWorkerContext):
(WebKit::WebProcessProxy::establishServiceWorkerContext): Deleted.
(WebKit::WebProcessProxy::establishSharedWorkerContext): Deleted.
- UIProcess/WebProcessProxy.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::establishRemoteWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcess::establishSharedWorkerContextConnectionToNetworkProcess): Deleted.
(WebKit::WebProcess::establishServiceWorkerContextConnectionToNetworkProcess): Deleted.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 11:28 AM Changeset in webkit [290386] by
-
- 2 edits in trunk/LayoutTests
[ Mac EWS ] imported/w3c/web-platform-tests/workers/semantics/multiple-workers/004.html is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=237095
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Setting [ Pass Failure ] expectations for flaky test failure that is slowing down EWS.
- 11:26 AM Changeset in webkit [290385] by
-
- 2 edits in trunk/LayoutTests
[Subpixel] imported/w3c/web-platform-tests/css/css-flexbox/auto-margins-001.html fails at certain font sizes
https://bugs.webkit.org/show_bug.cgi?id=217643
<rdar://problem/70464703>
Unreviewed gardening.
- platform/ios-simulator-wk2/TestExpectations: It must have progressed at some point.
- 11:02 AM Changeset in webkit [290384] by
-
- 5 edits in trunk/Source
Prevent use of PDFKit when using PDF.js
https://bugs.webkit.org/show_bug.cgi?id=237052
rdar://89251696
Reviewed by Tim Horton.
Source/WebCore:
Add WEBCORE_EXPORT in order to use isPDFMIMEType.
- platform/MIMETypeRegistry.h:
Source/WebKit:
PDFKit was still being used by embeds, this patch fixes that issue by treating
pdf embeds as frames if PDF.js is enabled and also prevents the loading of
the PDFKit plugin entirely by modifying shouldUsePDFPlugin.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::objectContentType):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::shouldUsePDFPlugin const):
- 10:36 AM Changeset in webkit [290383] by
-
- 2 edits in trunk/Tools
[run-webkit-tests] Catch OSError when sampling
https://bugs.webkit.org/show_bug.cgi?id=237087
<rdar://problem/89357299>
Reviewed by Aakash Jain.
- Tools/Scripts/webkitpy/port/darwin.py:
(DarwinPort.sample_process): Catch OSError when either sampling a
process or running spindump. These errors indicate the error gathering process
failed, but such a failure should not be fatal to the entire test run.
Canonical link: https://commits.webkit.org/247698@main
- 10:26 AM Changeset in webkit [290382] by
-
- 2 edits in trunk/Source/WebCore
[IFC][Integration] LineLayout::firstInlineBoxRect should flip the rect coordinates for vertical-rl
https://bugs.webkit.org/show_bug.cgi?id=237036
Reviewed by Antti Koivisto and Darin Adler.
This is similar to what RenderInline::firstInlineBoxTopLeft does.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::firstInlineBoxRect const):
- 10:19 AM Changeset in webkit [290381] by
-
- 11 edits in trunk
[WebAuthn] userHandle not marked nullable in _WKWebAuthenticationAssertionResponse
https://bugs.webkit.org/show_bug.cgi?id=237043
rdar://89317740
Reviewed by Brent Fulgham.
Source/WebCore:
The userHandle is a nullable field on UserEntity. This patch changes
various API/SPI to allow passing null userHandle.
- Modules/webauthn/AuthenticatorAssertionResponse.cpp:
(WebCore::AuthenticatorAssertionResponse::create):
(WebCore::AuthenticatorAssertionResponse::AuthenticatorAssertionResponse):
- Modules/webauthn/AuthenticatorAssertionResponse.h:
Source/WebKit:
The userHandle is a nullable field on UserEntity. This patch changes
various API/SPI to allow passing null userHandle.
- Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
Update forward declared SPI, reflecting userHandle as nullable.
- UIProcess/API/Cocoa/_WKAuthenticatorAssertionResponseInternal.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.h:
Update userHandle property to null.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(getAllLocalAuthenticatorCredentialsImpl):
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticatorInternal::getExistingCredentials):
Tools:
Create tests to check for null userHandle.
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
- 10:14 AM Changeset in webkit [290380] by
-
- 10 edits in trunk
[CSS Container Queries] offsetWidth/Height and similar should update layout for container queries
https://bugs.webkit.org/show_bug.cgi?id=237079
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/auto-scrollbars-expected.txt:
- web-platform-tests/css/css-contain/container-queries/inline-size-containment-expected.txt:
- web-platform-tests/css/css-contain/container-queries/inline-size-containment-vertical-rl-expected.txt:
- web-platform-tests/css/css-contain/container-queries/transition-scrollbars-expected.txt:
Source/WebCore:
Fix
css/css-contain/container-queries/inline-size-containment.html
css/css-contain/container-queries/inline-size-containment-vertical-rl.html
- dom/Document.cpp:
(WebCore::Document::updateLayout):
Make iterative instead of recursive.
(WebCore::Document::updateLayoutIfDimensionsOutOfDate):
Check for query containers.
Call local updateLayout instead of the FrameViewLayoutContext one.
- page/FrameView.cpp:
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
- style/StyleScope.cpp:
(WebCore::Style::Scope::updateQueryContainerState):
Add protection against infinite layout/invalidation cycle with unstable layouts.
- style/StyleScope.h:
- 10:09 AM Changeset in webkit [290379] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening for GPU Process bot.
- imported/blink/svg/paintorder/paintorder.svg:
- 10:02 AM Changeset in webkit [290378] by
-
- 6 edits in trunk/LayoutTests
Test gardening for [CSS Blending] Non-separable blend modes don't work
https://bugs.webkit.org/show_bug.cgi?id=131354
LayoutTests/imported/mozilla:
Unreviewed. Relanding with updated fuzzy data.
- svg/blend-color.svg:
- svg/blend-hue.svg:
- svg/blend-luminosity.svg:
LayoutTests:
Unreviewed.
- 9:50 AM Changeset in webkit [290377] by
-
- 6 edits2 adds in trunk
Fix for assert crash in AccessibilityRenderObject::visiblePositionForIndex.
https://bugs.webkit.org/show_bug.cgi?id=236795
rdar://89025180
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/native-text-control-attributed-string.html
In some cases like the one described in the bug, AccessibilityRenderObject::visiblePositionForIndex
is passed an index greater than the length of the text actually contained
in the text control. This triggers this assert that verifies that you can
round-trip from index to VisiblePosition and back to index. This patch
does a bounds check in the index and adjust if necessary.
The test exercise this method through the JS AccessibilityUIElement::attributedStringForRange
for both <input> of type text and password.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::visiblePositionForIndex const):
LayoutTests:
- accessibility/native-text-control-attributed-string-expected.txt: Added.
- accessibility/native-text-control-attributed-string.html: Added.
- 8:35 AM Changeset in webkit [290376] by
-
- 9 edits in branches/safari-614.1.5-branch/Source
Versioning.
WebKit-7614.1.5.2
- 8:33 AM Changeset in webkit [290375] by
-
- 5 edits in trunk
[GStreamer] De-initialize GStreamer before terminating WebProcess
https://bugs.webkit.org/show_bug.cgi?id=237084
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-23
Reviewed by Carlos Garcia Campos.
Source/WebKit:
Allowing the leak tracer to report/log leaks. There is an issue though, if the UIProcess
exits too early, the leak tracer reporting will be interrupted potentially too early. The
workaround is to have 2 tabs open in the GTK MiniBrowser, closing the one where media
handling and leak tracing was done and keeping the second tab open.
- WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::stopRunLoop):
Tools:
- flatpak/flatpakutils.py:
(WebkitFlatpak.setup_gstbuild): Do not add extra quotes to GST_TRACERS, this is not supposed
to store paths.
- 8:09 AM Changeset in webkit [290374] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Unreviewed, build fix for Debian Stable after r290366
- platform/graphics/gstreamer/GStreamerVideoSinkCommon.cpp:
(webKitVideoSinkSetMediaPlayerPrivate):
- 8:00 AM Changeset in webkit [290373] by
-
- 5 edits in trunk/Source/WebKit
RemoteSampleBufferDisplayLayer::enqueueSample should not change media samples owned by its object heap
https://bugs.webkit.org/show_bug.cgi?id=237025
<rdar://problem/89343447>
Reviewed by Darin Adler.
Updated https://commits.webkit.org/r290358 according comments given during review.
- Platform/IPC/ArgumentCoders.h:
(IPC::ArgumentCoder<std::nullptr_t>::encode):
(IPC::ArgumentCoder<std::nullptr_t>::decode):
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
(WebKit::RemoteVideoFrameObjectHeapProxyProcessor::RemoteVideoFrameObjectHeapProxyProcessor):
- WebProcess/GPU/webrtc/SharedVideoFrame.cpp:
(WebKit::SharedVideoFrameWriter::write):
(WebKit::SharedVideoFrameReader::SharedVideoFrameReader):
- WebProcess/GPU/webrtc/SharedVideoFrame.h:
(WebKit::SharedVideoFrame::encode const):
(WebKit::SharedVideoFrame::decode):
- 7:54 AM Changeset in webkit [290372] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r287574): ASSERTION FAILED: !m_impl !m_shouldEnableAssertions m_impl->wasConstructedOnMainThread() == isMainThread() under WebCore::AVTrackPrivateAVFObjCImpl::initializeAssetTrack() https://bugs.webkit.org/show_bug.cgi?id=235168
<rdar://problem/87518939>
Reviewed by Alexey Proskuryakov.
Use runOnMainThread() from within WebCore, as it will dispatch to the correct thread when
running under iOS/WebKitLegacy.
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
(WebCore::AVTrackPrivateAVFObjCImpl::initializeAssetTrack):
- 7:20 AM Changeset in webkit [290371] by
-
- 4 edits in trunk
Call WKNavigationDelegate.didFailProvisionalNavigation even after a cross-origin navigation with COOP
https://bugs.webkit.org/show_bug.cgi?id=237071
<rdar://88652375>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-23
Reviewed by Chris Dumez.
Source/WebKit:
There was an assumption that this callback wasn't needed in this case, but it is.
Covered by an API test that verifies the callback is received.
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::didFailProvisionalLoadForFrame):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
- 6:59 AM Changeset in webkit [290370] by
-
- 2 edits in trunk/Source/WebKit
[GLib] Add missing WebPage.h inclusion in WebProcessGLib.cpp
https://bugs.webkit.org/show_bug.cgi?id=237081
Unreviewed, adding the WebPage.h header inclusion in WebProcessGLib.cpp
to avoid incomplete-type errors for the WebPage class under a certain
combination of unified sources.
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-02-23
- WebProcess/glib/WebProcessGLib.cpp:
- 6:01 AM Changeset in webkit [290369] by
-
- 2 edits in trunk/Tools
[JSC] Set ssh keepalive in run-jsc-stress-tests
https://bugs.webkit.org/show_bug.cgi?id=237031
Reviewed by Adrian Perez de Castro.
If a remote goes down after an ssh connection has been established, we
need to be able to detect that. Keep the common ssh config options in
one constant and add ServerAliveInterval=30 to it.
While here, change sshRead to execute ssh directly (instead of
going through the shell). Similarly, don't open-code the read
loop, just call IO.read.
- Scripts/run-jsc-stress-tests:
- 5:47 AM Changeset in webkit [290368] by
-
- 4 edits in trunk/Source
RemoteVideoFrameObjectHeap::getVideoFrameBuffer can use base class pixelBuffer accessor
https://bugs.webkit.org/show_bug.cgi?id=237020
Reviewed by Kimmo Kinnunen.
Source/WebCore:
No change of behavior.
Covered by existing tests.
- platform/graphics/cv/VideoFrameCV.h:
(WebCore::VideoFrameC$V::pixelBuffer const: Mark it as final.
Source/WebKit:
Make use of pixelBuffer virtual method to simplify things.
Add a missing early return in case of not found pixel buffer.
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
(WebKit::RemoteVideoFrameObjectHeap::getVideoFrameBuffer):
- 5:19 AM Changeset in webkit [290367] by
-
- 4 edits in trunk
Fix GPUP WebGL generator script wrt uninitialised sized span
https://bugs.webkit.org/show_bug.cgi?id=235889
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-23
Reviewed by Antti Koivisto.
Source/WebKit:
Regenerated.
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
(WebKit::RemoteGraphicsContextGLProxy::getShaderPrecisionFormat):
Tools:
Fix the generator. The r290328 only edited the generated files.
Add a other hunk missing from r290175.
- Scripts/generate-gpup-webgl:
- 4:27 AM Changeset in webkit [290366] by
-
- 8 edits4 adds in trunk
[GStreamer] Add WebKitDMABufVideoSink
https://bugs.webkit.org/show_bug.cgi?id=236883
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-02-23
Reviewed by Philippe Normand.
.:
- Source/cmake/FindGStreamer.cmake:
Also search for gstreamer-allocators-1.0, produce the relevant variables
containing include directories and cflags.
Source/WebCore:
Add custom WebKitDMABufVideoSink sink that is able to accept decoded
dmabuf or raw data in a range of RGB-like or YUV formats.
The sink is pretty straightforward, in large part mirroring the
WebKitGLVideoSink implementation. The formats that (at the moment) we
can correctly handle inside the TextureMapper-based graphics pipeline
are combined with both the dmabuf or raw memory type during the caps
construction. Like the GL counterpart, the received samples are passed
on to the associated MediaPlayerPrivateGStreamer object. The common
integration into the MediaPlayerPrivateGStreamer functionality is
encapsulated into the webKitVideoSinkSetMediaPlayerPrivate() function.
The MediaPlayerPrivateGStreamer implementation will be enhanced later to
properly handle samples conforming to either variant of these caps. But
the idea is that when using this sink, a dmabuf-containing sample will
pass the dmabuf to the graphics subsystem and a raw-data-containing
sample will copy the data into a dmabuf object (created or reused) and
then pass it on.
The WEBKIT_GST_DMABUF_SINK_FORCED_FALLBACK_CAPS_FORMAT environment
variable can be set to specify the desired exclusive format that this
sink should support. This is especially helpful to debug the correct
handling of different RGB or YUV formats inside the graphics pipeline.
When set, only raw data of the specified format is accepted, meaning the
pipeline upstream will perform any necessary conversion of the decoded
data into the desired format. Raw data is then packed into dmabufs and
sent into the pipeline for display, enabling the developer to examine
whether the given format is handled appropriately.
The sink element is registered in registerWebKitGStreamerElements().
This functionality will require The GStreamer allocators library, so the
necessary dependency glue is also provided.
- platform/GStreamer.cmake:
- platform/graphics/gstreamer/DMABufVideoSinkGStreamer.cpp: Added.
(forcedFallbackCapsFormat):
(webKitDMABufVideoSinkConstructed):
(webKitDMABufVideoSinkFinalize):
(webKitDMABufVideoSinkGetProperty):
(webkit_dmabuf_video_sink_class_init):
(webKitDMABufVideoSinkSetMediaPlayerPrivate):
(webKitDMABufVideoSinkProbePlatform):
- platform/graphics/gstreamer/DMABufVideoSinkGStreamer.h: Added.
- platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:
(webKitGLVideoSinkSetMediaPlayerPrivate):
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::registerWebKitGStreamerElements):
- platform/graphics/gstreamer/GStreamerVideoSinkCommon.cpp: Added.
(webKitVideoSinkSetMediaPlayerPrivate):
- platform/graphics/gstreamer/GStreamerVideoSinkCommon.h: Added.
Tools:
- Scripts/webkitpy/style/checker.py:
Add two additional files under the GObject-style exceptions.
- 4:06 AM WebKitGTK/2.36.x edited by
- (diff)
- 4:06 AM Changeset in webkit [290365] by
-
- 5 edits in releases/WebKitGTK/webkit-2.36/Source/WebKit
Merge r290360 - [GTK][WPE] PlatformDisplay::terminateEglDisplays() is never called
https://bugs.webkit.org/show_bug.cgi?id=217655
Stop the run loop for GTK and WPE to ensure a normal exit, since we need
atexit handlers to be called to cleanup resources like EGL displays.
Reviewed by Carlos Garcia Campos.
- Shared/AuxiliaryProcess.cpp:
(WebKit::AuxiliaryProcess::didClose):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
- WebProcess/WebProcess.h:
- WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::stopRunLoop):
- 4:06 AM Changeset in webkit [290364] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore
Merge r290299 - Properly uninitialize EGL display before termination
https://bugs.webkit.org/show_bug.cgi?id=236766
From the docs [1], if contexts or surfaces associated with display
is current to any thread, they are not released until they
are no longer current as a result of eglMakeCurrent.
So call eglMakeCurrent() to such effect.
[1] https://www.khronos.org/registry/EGL/sdk/docs/man/html/eglMakeCurrent.xhtml
Reviewed by Carlos Garcia Campos.
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::terminateEGLDisplay):
- 3:49 AM Changeset in webkit [290363] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/steps_unittest.py
Use python 3 f-strings in EWS - part 1
https://bugs.webkit.org/show_bug.cgi?id=237053
Reviewed by Ryan Haddad.
- Tools/CISupport/ews-build/steps_unittest.py: Used f-strings for formatting.
(ExpectMasterShellCommand.repr):
(BuildStepMixinAdditions._checkSpawnProcess):
(BuildStepMixinAdditions._send_email):
(TestStepNameShouldBeValidIdentifier.test_step_names_are_valid):
(test_success):
(test_unexpected_failure):
Canonical link: https://commits.webkit.org/247681@main
- 3:44 AM Changeset in webkit [290362] by
-
- 2 edits6 deletes in trunk/LayoutTests
Unreviewed test gardening.
These tests had incorrect expected results with failing tests for
glib.
- platform/glib/TestExpectations:
- platform/glib/webgl/1.0.3/conformance/context/context-lost-restored-expected.txt: Removed.
- platform/glib/webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt: Removed.
- platform/glib/webgl/1.0.3/conformance/extensions/webgl-compressed-texture-s3tc-expected.txt: Removed.
- platform/glib/webgl/1.0.3/conformance/extensions/webgl-compressed-texture-size-limit-expected.txt: Removed.
- platform/glib/webgl/1.0.3/conformance/misc/webgl-specific-expected.txt: Removed.
- platform/glib/webgl/1.0.3/conformance/renderbuffers/framebuffer-object-attachment-expected.txt: Removed.
- platform/glib/webgl/1.0.3/conformance/rendering/point-no-attributes-expected.txt: Removed.
- platform/glib/webgl/1.0.3/conformance/textures/texture-copying-feedback-loops-expected.txt: Removed.
- 3:23 AM WebKitGTK/StableRelease edited by
- Add 2.36 page (diff)
- 3:22 AM WebKitGTK/2.36.x edited by
- (diff)
- 1:59 AM Changeset in webkit [290361] by
-
- 12 edits in trunk
Thread safety analysis macros are confusing for non-Lock use-cases
https://bugs.webkit.org/show_bug.cgi?id=237022
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-23
Reviewed by Chris Dumez.
Source/WebKit:
Use WTF_GUARDED_BY_CAPABILITY instead of WTF_GUARDED_BY_LOCK
for non-lock use-cases.
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/WebGPU/RemoteGPU.h:
- GPUProcess/media/RemoteVideoFrameObjectHeap.h:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
Source/WTF:
Thread safety analysis proves that a capability is acquired or not acquired.
Change the semantics of thread safety analysis application in WebKit:
Before, we had only one capability, "lock".
After, we have arbitrary amount of capabilities, one of which is "lock".
Add thread safety analysis macros to support non-Lock use-cases better.
Non-lock use-case:
Before:
class WTF_CAPABILITY_LOCK ThreadAssertion { ... };
"WTF::ThreadAssertion is obviously not a lock but we use the lock capability machinery to obtain the analysis support.
It behaves like the lock capability and can be acquired."
After:
class WTF_CAPABILITY("is current") ThreadAssertion { ... };
"WTF::ThreadAssertion has a capability called 'is current' that can be acquired."
The documentation string "lock", "is current" will appear in the compile error messages to clarify the
violations.
- wtf/ThreadAssertions.h:
(WTF::WTF_ASSERTS_ACQUIRED_CAPABILITY):
- wtf/ThreadSafetyAnalysis.h:
Tools:
- Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
- TestWebKitAPI/Tests/WTF/ThreadAssertionsTest.cpp:
(TestWebKitAPI::WTF_REQUIRES_CAPABILITY):
- 1:32 AM Changeset in webkit [290360] by
-
- 5 edits in trunk/Source/WebKit
[GTK][WPE] PlatformDisplay::terminateEglDisplays() is never called
https://bugs.webkit.org/show_bug.cgi?id=217655
Stop the run loop for GTK and WPE to ensure a normal exit, since we need
atexit handlers to be called to cleanup resources like EGL displays.
Reviewed by Carlos Garcia Campos.
- Shared/AuxiliaryProcess.cpp:
(WebKit::AuxiliaryProcess::didClose):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
- WebProcess/WebProcess.h:
- WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::stopRunLoop):
- 1:28 AM Changeset in webkit [290359] by
-
- 5 edits in trunk/Source/JavaScriptCore
Ensure generated inline assembler that setups segments returns to previous state
https://bugs.webkit.org/show_bug.cgi?id=236976
Reviewed by Yusuke Suzuki.
Use .previous in inline assembler in order to ensure that mixed emission of assembler
functions and other definitions correctly puts each of them in their rightful sections
in the output object code.
- assembler/MacroAssemblerARM64.cpp:
- assembler/MacroAssemblerARMv7.cpp:
- assembler/MacroAssemblerMIPS.cpp:
- assembler/MacroAssemblerX86Common.cpp:
- 1:12 AM Changeset in webkit [290358] by
-
- 11 edits in trunk/Source/WebKit
RemoteSampleBufferDisplayLayer::enqueueSample should not change media samples owned by its object heap
https://bugs.webkit.org/show_bug.cgi?id=237025
Reviewed by Darin Adler.
From past bugs, it is risky to change CMSampleBuffer dictionaries if they can be used on various threads (encoder, display layer...).
Instead, we create a new MediaSample that is wrapping the same CVPixelBufferRef, on which can safely apply setAsDisplayImmediately.
We introduce SharedVideoFrame as a replacement to RemoteVideoSample.
We beef up SharedVideoFrameWriter and SharedVideoFrameReader to handle any MediaSample,
with specific handling for remote frames, IOSurface frames or other in memory frames.
We make use of SharedVideoFrame in SampleBufferDisplayLayer, which allows to unify enqueueSample and enqueueCV in one IPC message,
which is easier to maintain.
We update call sites that create SharedVideoFrameReader to either take nullptr or a object heap reference when they will need it in the future.
Covered by existing tests.
- GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.messages.in:
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h:
- WebProcess/GPU/webrtc/SharedVideoFrame.cpp:
- WebProcess/GPU/webrtc/SharedVideoFrame.h:
- 12:50 AM Changeset in webkit [290357] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION(r289474): [iOS] ASSERTION FAILED: isMainThread() under WebCore::IDBServer::UniqueIDBDatabase::abortActiveTransactions()
https://bugs.webkit.org/show_bug.cgi?id=237066
<rdar://problem/89324810>
Reviewed by Chris Dumez.
We no longer need the assertion because the function can be called on non-main thread since r289474, where we
started to abort transactions for suspension on WorkQueue. To avoid confusion, rename mainThreadAbortResult to
suspensionAbortResult.
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortActiveTransactions):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::setSuspensionAbortResult):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::suspensionAbortResult const):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::setMainThreadAbortResult): Deleted.
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::mainThreadAbortResult const): Deleted.
- 12:23 AM Changeset in webkit [290356] by
-
- 4 edits2 adds in trunk
Crash when calling WEBGL_lose_context.loseContext() after the context has been lost
https://bugs.webkit.org/show_bug.cgi?id=236966
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-23
Reviewed by Dean Jackson.
Source/WebCore:
WebGLRenderingContextBase::forceLostContext() would
try to synthesize a GL error to the underlying
m_context. However, m_context is cleared when a real
context loss happens. This happens for example when we
simulate a GPU status failure or when we create too
many contexts. The m_context is not currently cleared
when the page simulates context lost via WEBGL_lose_contexts.loseContext().
Test: webgl/lose-context-after-context-lost.html
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::synthesizeGLError):
LayoutTests:
- webgl/lose-context-after-context-lost-expected.txt: Added.
- webgl/lose-context-after-context-lost.html: Added.
- 12:16 AM Changeset in webkit [290355] by
-
- 7 edits in trunk/Source
Optimize RemoteVideoFrame handling in WebProcess WebRTC pipeline
https://bugs.webkit.org/show_bug.cgi?id=236970
Reviewed by Eric Carlson.
Source/WebCore:
In case of remote video frame, directly get the remote video frame as a MediaSample in receive side.
On send side, wrap remote video frames as provider-based WebRTC video frames.
LibWebRTCCodecs will optimize the handling of remote frames for hardware encoders and no change will
happen for software encoders.
Covered by existing tests.
- platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
- platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
Source/WebKit:
Fix bug in LibWebRTCCodecsProxy that would make use of shared video frame instead of remote video frame when a shared video frame is available.
Use VideoFrame* as webrtc frame provider for encoding and decoding.
- GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
- WebProcess/GPU/media/RemoteVideoFrameProxy.h:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
- 12:05 AM Changeset in webkit [290354] by
-
- 5 edits in trunk
Enable WebRTCRemoteVideoFrameEnabled by default in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=236969
Reviewed by Eric Carlson.
Tools:
- WebKitTestRunner/TestOptions.cpp:
LayoutTests:
Disable WebRTCRemoteVideoFrameEnabled for those two tests until we figure out why they fail more with this option.
- fast/mediastream/getUserMedia-to-canvas-1.html:
- fast/mediastream/getUserMedia-to-canvas-2.html:
- 12:04 AM Changeset in webkit [290353] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, non-unified build fix after 247623@main
https://bugs.webkit.org/show_bug.cgi?id=237074
- bindings/js/WebAssemblyCachedScriptSourceProvider.h: Namespace.
Feb 22, 2022:
- 11:35 PM Changeset in webkit [290352] by
-
- 12 edits in trunk
http/wpt/push-api/onpush-disabled.html fails
https://bugs.webkit.org/show_bug.cgi?id=236874
<rdar://problem/89176154>
Reviewed by Youenn Fablet.
Source/WebCore:
Before running the test, we would construct a new WKWebView with the Push API setting disabled.
We would then run the test, which would launch a service worker. Normally, we would expect the
service worker to inherit the settings from the WKWebView. However, it was not reliably
happening because the settings for the service worker are stored on the WebProcessPool and
WebProcessPool::establishServiceWorkerContextConnectionToNetworkProcess() was selecting a
random WebProcessPool object (the first one returned by processPools()).
To address the issue, we now pass the ProcessIdentifier of the client that requested the
service worker connection so that establishServiceWorkerContextConnectionToNetworkProcess() can
now prioritize the WebProcessPool of that process. Also, as an optimization, we now prioritize
this client process to run the service worker (assuming it is origin-clean).
No new tests, unskipped existing test.
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::createContextConnection):
- workers/service/server/SWServer.h:
Source/WebKit:
Before running the test, we would construct a new WKWebView with the Push API setting disabled.
We would then run the test, which would launch a service worker. Normally, we would expect the
service worker to inherit the settings from the WKWebView. However, it was not reliably
happening because the settings for the service worker are stored on the WebProcessPool and
WebProcessPool::establishServiceWorkerContextConnectionToNetworkProcess() was selecting a
random WebProcessPool object (the first one returned by processPools()).
To address the issue, we now pass the ProcessIdentifier of the client that requested the
service worker connection so that establishServiceWorkerContextConnectionToNetworkProcess() can
now prioritize the WebProcessPool of that process. Also, as an optimization, we now prioritize
this client process to run the service worker (assuming it is origin-clean).
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::ensureSWServer):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::establishServiceWorkerContextConnectionToNetworkProcess):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishServiceWorkerContextConnectionToNetworkProcess):
- UIProcess/WebProcessPool.h:
LayoutTests:
Unskip test that should no longer be flaky.
- 11:23 PM Changeset in webkit [290351] by
-
- 9 edits in trunk
Use of showModalDialog should appear as a warning in WI console
https://bugs.webkit.org/show_bug.cgi?id=237046
Reviewed by Devin Rousso and Darin Adler.
Source/WebCore:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::showModalDialog):
LayoutTests:
Test gardening to take in account new console warning.
- fast/animation/request-animation-frame-during-modal-expected.txt:
- fast/dom/Window/open-window-min-size-expected.txt:
- fast/events/show-modal-dialog-onblur-onfocus-expected.txt:
- http/tests/cookies/document-cookie-after-showModalDialog-expected.txt:
- http/tests/security/navigate-when-restoring-cached-page-expected.txt:
- http/tests/security/showModalDialog-sync-cross-origin-page-load2-expected.txt:
- 11:18 PM Changeset in webkit [290350] by
-
- 37 edits in trunk/Source
Add a URL constructor that takes a String
https://bugs.webkit.org/show_bug.cgi?id=237068
Reviewed by Darin Adler.
Source/JavaScriptCore:
Adopt the new
URL(const String&)constructor.
- API/JSAPIGlobalObject.mm:
(JSC::computeValidImportSpecifier):
Source/WebCore:
Adopt the new
URL(const String&)constructor.
- Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinatorInternal::processAppIdExtension):
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
- bindings/js/ScriptModuleLoader.cpp:
(WebCore::resolveModuleSpecifier):
(WebCore::ScriptModuleLoader::fetch):
(WebCore::ScriptModuleLoader::moduleURL):
(WebCore::ScriptModuleLoader::responseURLFromRequestURL):
(WebCore::ScriptModuleLoader::importModule):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):
- contentextensions/ContentExtensionActions.cpp:
(WebCore::ContentExtensions::RedirectAction::parse):
(WebCore::ContentExtensions::RedirectAction::applyToRequest):
- dom/Document.cpp:
(WebCore::Document::referrer):
- html/URLInputType.cpp:
(WebCore::URLInputType::typeMismatchFor const):
- loader/DocumentLoader.cpp:
(WebCore::microsoftTeamsRedirectURL):
- loader/PrivateClickMeasurement.cpp:
(WebCore::PrivateClickMeasurement::parseAttributionRequestQuery):
- loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::deleteCacheForOrigin):
- loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createResource):
- loader/archive/mhtml/MHTMLParser.cpp:
(WebCore::MHTMLParser::parseNextPart):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::open):
- page/Quirks.cpp:
(WebCore::isBBCDomain):
(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::createFromString):
(WebCore::SecurityOrigin::create):
- page/SecurityOriginData.cpp:
(WebCore::SecurityOriginData::toURL const):
- page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::generateReferrerHeader):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation const):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::originsInMediaCache):
(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCacheForOrigins):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setPlaybinURL):
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcMakeRequest):
- platform/gtk/SelectionData.cpp:
(WebCore::SelectionData::setURIList):
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::setHTTPReferrer):
- platform/network/cf/ResourceErrorCF.cpp:
(WebCore::ResourceError::platformLazyInit):
- platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
- platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::didReceiveHeader):
- platform/network/mac/ResourceErrorMac.mm:
(WebCore::ResourceError::platformLazyInit):
- platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeString):
- testing/Internals.cpp:
(WebCore::Internals::sendH2Ping):
Source/WTF:
Add a URL constructor that takes a String to simplify our code base a bit.
- wtf/URL.cpp:
(WTF::URL::truncatedForUseAsBase const):
(WTF::URL::fakeURLWithRelativePart):
(WTF::URL::fileURLWithFileSystemPath):
- wtf/URL.h:
(WTF::URL::URL):
(WTF::URL::decode):
- 10:12 PM Changeset in webkit [290349] by
-
- 26 edits in trunk
Drop StringHasher::hashMemory() and use the modern Hasher instead
https://bugs.webkit.org/show_bug.cgi?id=237049
Source/WebCore:
Reviewed by Sam Weinig and Darin Adler.
- Modules/indexeddb/shared/IDBResourceIdentifier.h:
(WebCore::add):
(WebCore::IDBResourceIdentifierHash::hash):
(WebCore::IDBResourceIdentifier::hash const): Deleted.
- dom/Attribute.h:
(WebCore::add):
- dom/DocumentSharedObjectPool.cpp:
(WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
(WebCore::attributeHash): Deleted.
- dom/QualifiedName.cpp:
(WebCore::QualifiedName::QualifiedNameImpl::computeHash const):
- dom/QualifiedName.h:
(WebCore::add):
(WebCore::hashComponents): Deleted.
- dom/QualifiedNameCache.cpp:
(WebCore::QNameComponentsTranslator::hash):
- page/GlobalWindowIdentifier.h:
(WebCore::add):
(WTF::GlobalWindowIdentifierHash::hash):
(WebCore::GlobalWindowIdentifier::hash const): Deleted.
- page/SecurityOriginHash.h:
(WebCore::SecurityOriginHash::hash):
- platform/ScriptExecutionContextIdentifier.h:
(WebCore::add):
(WebCore::ProcessQualified<UUID>::hash const): Deleted.
(WTF::computeHash): Deleted.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::hash const):
- platform/graphics/win/FontPlatformDataCGWin.cpp:
(WebCore::FontPlatformData::hash const):
- svg/SVGElementInlines.h:
(WebCore::SVGAttributeHashTranslator::hash):
- workers/service/ServiceWorkerRegistrationKey.cpp:
(WebCore::ServiceWorkerRegistrationKey::hash const): Deleted.
- workers/service/ServiceWorkerRegistrationKey.h:
(WebCore::add):
(WTF::ServiceWorkerRegistrationKeyHash::hash):
Source/WebKitLegacy/mac:
Reviewed by Sam Weinig and Darin Adler.
- History/BinaryPropertyList.cpp:
(add):
(IntegerArrayHash::hash):
Source/WTF:
Reviewed by Sam Weinig and Darin Adler.
- wtf/SchedulePair.h:
(WTF::SchedulePairHash::hash):
- wtf/UUID.cpp:
(WTF::UUID::hash const): Deleted.
- wtf/UUID.h:
(WTF::UUID::isHashTableDeletedValue const):
(WTF::add):
(WTF::UUIDHash::hash):
- wtf/text/StringHasher.h:
(WTF::StringHasher::hashMemory): Deleted.
Tools:
Reviewed by Sam Weinig.
- TestWebKitAPI/Tests/WTF/StringHasher.cpp:
- 10:01 PM Changeset in webkit [290348] by
-
- 3 edits in trunk/Source/WebCore
Create a DOMWindow::printWarningMessage method and start using it in DOMWindow.cpp
https://bugs.webkit.org/show_bug.cgi?id=237047
Reviewed by Darin Adler.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::close):
(WebCore::DOMWindow::webkitRequestAnimationFrame):
(WebCore::DOMWindow::startListeningForDeviceOrientationIfNecessary):
(WebCore::DOMWindow::startListeningForDeviceMotionIfNecessary):
(WebCore::DOMWindow::printConsoleMessage const):
(WebCore::DOMWindow::printErrorMessage const):
(WebCore::DOMWindow::printWarningMessage const):
- page/DOMWindow.h:
- 9:11 PM Changeset in webkit [290347] by
-
- 1 copy in tags/Safari-614.1.5.1
Tag Safari-614.1.5.1.
- 8:28 PM Changeset in webkit [290346] by
-
- 4 edits in trunk/Source/WebKit
With DOM Rendering in GPU process, every display results in new IOSurface allocation
https://bugs.webkit.org/show_bug.cgi?id=237063
Reviewed by Tim Horton.
We have to avoid ImageBufferRemoteIOSurfaceBackends in the web process from hanging on to
an IOSurface MachSendRight (via ImageBufferBackendHandle) all the time, because doing so
makes the IOSurface appear to be in-use, and therefore not eligible for swapping to,
or making volatile. In particular, swapToValidFrontBuffer() would always think
that the surfaces were in-use, resulting in permanent triple-buffering, and
allocation of a new buffer on every swap.
Fix by clearing the ImageBufferBackendHandles of all the buffers in the WP in
RemoteRenderingBackendProxy::swapToValidFrontBuffer(), so that the GPUP can accurately
gauge in-use-ness; we get back a handle to the new front buffer in the reply,
and this is the only one we need to keep hold of, since it gets transferred to
the UI process.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::markSurfaceNonVolatile):
(WebKit::RemoteRenderingBackend::swapToValidFrontBuffer):
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::display):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::swapToValidFrontBuffer):
(WebKit::RemoteRenderingBackendProxy::markSurfaceNonVolatile):
- 8:04 PM Changeset in webkit [290345] by
-
- 2 edits in trunk/Source/WebKit
Use non-inline messages for layer volatility-related IPC in RemoteRenderingBackend
https://bugs.webkit.org/show_bug.cgi?id=237061
Reviewed by Wenson Hsieh.
There appears to be a rare issue where StreamClientConnection::sendSync() can hang sometimes,
which makes it impossible to do an entire MotionMark run (rdar://89313626). So avoid this
by making the MarkSurfaceNonVolatile and SwapToValidFrontBuffer use out-of-line encoding.
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- 7:54 PM Changeset in webkit [290344] by
-
- 9 edits in branches/safari-614.1.5-branch/Source
Versioning.
WebKit-7614.1.5.1
- 5:54 PM Changeset in webkit [290343] by
-
- 2 edits in trunk/Source/WebKit
Further restrict received IPC boolean values to 0 or 1
https://bugs.webkit.org/show_bug.cgi?id=236801
rdar://85811396
Patch by Simon Lewis <simon.lewis@apple.com> on 2022-02-22
Reviewed by Chris Dumez.
Return std::nullopt if a value larger than 1 is received.
- Platform/IPC/ArgumentCoder.h:
(IPC::ArgumentCoder<bool>::decode):
- 5:34 PM Changeset in webkit [290342] by
-
- 2 edits in trunk/Source/WebCore
Share more code between dispatchSessionStorageEvents() and dispatchLocalStorageEvents()
https://bugs.webkit.org/show_bug.cgi?id=237040
Reviewed by Geoffrey Garen.
- storage/StorageEventDispatcher.cpp:
(WebCore::dispatchStorageEvents):
(WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
(WebCore::dispatchSessionStorageEventsToWindows): Deleted.
(WebCore::dispatchLocalStorageEventsToWindows): Deleted.
- 5:26 PM Changeset in webkit [290341] by
-
- 3 edits in trunk/Source/WebCore
CachedResourceLoader::allCachedSVGImages() reparses resource URLs unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=237002
Reviewed by Darin Adler.
Store URLs in the HashMaps instead of Strings since we have URLs initially and we
need URLs eventually. This avoids having to re-parse the URL unnecessarily, which
is fairly expensive.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy const):
(WebCore::CachedResourceLoader::notifyFinished):
- loader/cache/CachedResourceLoader.h:
- 4:44 PM Changeset in webkit [290340] by
-
- 2 edits in trunk/Tools
REGRESSION(r289580): [ iOS macOS ] TestWebKitAPI.IPCTestingAPI.CanReceiveSharedMemory is a constant timeout
https://bugs.webkit.org/show_bug.cgi?id=236744
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: Disable the test.
(TEST):
- 4:31 PM Changeset in webkit [290339] by
-
- 1 copy in tags/Safari-614.1.5
Tag Safari-614.1.5.
- 4:27 PM Changeset in webkit [290338] by
-
- 2 edits in trunk/Source/WebKit
PingLoader is failing to call completion handler in error case
https://bugs.webkit.org/show_bug.cgi?id=237062
<rdar://50157253>
Reviewed by Chris Dumez.
The completion handler was not being called in the case of a PingLoad being redirected to
a non-HTTP(S) scheme.
- NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::willPerformHTTPRedirection):
- 4:13 PM Changeset in webkit [290337] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening for rdar://86037417.
- platform/mac-wk2/TestExpectations:
- 3:36 PM Changeset in webkit [290336] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Fix watchOS build
https://bugs.webkit.org/show_bug.cgi?id=237064
Unreviewed.
32-bit devices require some casts.
- WebGPU/BindGroup.mm:
(WebGPU::Device::createBindGroup):
- 3:07 PM Changeset in webkit [290335] by
-
- 4 edits1 delete in trunk/Source
Source/WebCore/PAL:
Replace legacy-build-copy-nested-headers.py with an xcodebuild invocation.
https://bugs.webkit.org/show_bug.cgi?id=237011
Reviewed by Alexey Proskuryakov.
r290260 added a script to approximate how XCBuild copies headers to nested directories, for
use in legacy builds. Instead of that script, invokexcodebuild -UseNewBuildSystem=YES
directly to copy nested headers to the build products directory. By taking the same
header-copying codepath, legacy builds can handle header edge cases (e.g. multiple headers
with the same basename) exactly as XCBuild does.
The child xcodebuild process saves incremental data to TARGET_TEMP_DIR, so it can rebuild
incrementally without clobbering the legacy build system's incremental data.
Apple production builds do not use the legacy build system, so this change is
engineering-only.
- PAL.xcodeproj/project.pbxproj:
Source/WTF:
Replace legacy-build-copy-nested-headers.py with an xcodebuild invocation
https://bugs.webkit.org/show_bug.cgi?id=237011
Reviewed by Alexey Proskuryakov.
- Scripts/legacy-build-copy-nested-headers.py: Removed.
- WTF.xcodeproj/project.pbxproj: Remove reference to legacy-build-copy-nested-headers.py.
- 3:02 PM Changeset in webkit [290334] by
-
- 4 edits in trunk/Tools
Remove dormant queues from bot watchers dashboard
https://bugs.webkit.org/show_bug.cgi?id=236809
Reviewed by Alexey Proskuryakov.
- CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js:
- CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- Tools/CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css:
Canonical link: https://commits.webkit.org/247655@main
- 1:20 PM Changeset in webkit [290333] by
-
- 3 edits in trunk/Source/WebKit
[WinCairo][WK2] animations/background-position.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=236630
Reviewed by Don Olmstead.
r289848 was a wrong fix causing some test failures. It called the
force repaint completion handler too early if m_waitDidUpdate was
true when the force repaint was requested. In such case, we should
wait for two DidUpdate messages before calling the completion
handler.
- WebProcess/WebPage/wc/DrawingAreaWC.cpp:
(WebKit::DrawingAreaWC::forceRepaintAsync):
(WebKit::DrawingAreaWC::didUpdate):
- WebProcess/WebPage/wc/DrawingAreaWC.h:
Added m_isForceRepaintCompletionHandlerDeferred flag.
- 1:11 PM Changeset in webkit [290332] by
-
- 5 edits in trunk/Tools
[git-webkit] Link to GitHub wiki
https://bugs.webkit.org/show_bug.cgi?id=237048
<rdar://problem/89307995>
Reviewed by Ryan Haddad.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.main): Add GitHub wiki link.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:
(TestSetup.test_github):
Canonical link: https://commits.webkit.org/247653@main
- 12:59 PM Changeset in webkit [290331] by
-
- 2 edits in trunk/Source/WTF
Ruby ERB.new compatibility fix
https://bugs.webkit.org/show_bug.cgi?id=237035
Reviewed by Fujii Hironori.
ERB.new has changed its calling convention in newer ruby versions.
This was exposed by https://commits.webkit.org/247450@main, which
tried to silence the warning emitted by newer ruby versions.
Unfortunately, this resulted in failures with older ruby versions
(e.g.
https://build.webkit.org/#/builders/46/builds/11387/steps/8/logs/stdio).
Use the compatibility hack suggested by RuboCop to get this working
across ruby versions (without any warnings).
- Scripts/GeneratePreferences.rb:
- 12:54 PM Changeset in webkit [290330] by
-
- 3 edits2 adds in trunk
null ptr deref via WebXRSystem::requestSession
https://bugs.webkit.org/show_bug.cgi?id=235916
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-22
Reviewed by Dean Jackson.
Source/WebCore:
WebXRSystem::requestSession() null checks the document's global object via the method
Document::domWindow() and calls WebXRSystem::inlineSessionRequestIsAllowedForGlobalObject()
which dereferences the global object via the method ScriptExecutionContext::globalObject().
The former is just getting a raw pointer from Document::m_domWindow which (once set) remains
non-null until the document is destroyed. The latter instead gets the DOM window via the
document's FrameDestructionObserver::m_frame which is null when document is detached from the
frame. Hence the two methods may disagree, leading to a null ptr deref in
WebXRSystem::inlineSessionRequestIsAllowedForGlobalObject(). This patch works around that
issue by explicitly null checking the result of Document::::globalObject(). Additionally, it
makes the document (and its m_domWindow member) protected earlier in
WebXRSystem::requestSession() i.e. before passing them to potentially complex subroutines
immersiveSessionRequestIsAllowedForGlobalObject() and
inlineSessionRequestIsAllowedForGlobalObject().
Test: webxr/xr-requestSession-crash.html
- Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::inlineSessionRequestIsAllowedForGlobalObject const): null-check
document::globalObject() before deferencing it.
(WebCore::WebXRSystem::requestSession): protect document (and its m_domWindow member).
LayoutTests:
Add non-regression test.
- webxr/xr-requestSession-crash-expected.txt: Added.
- webxr/xr-requestSession-crash.html: Added.
- 12:49 PM Changeset in webkit [290329] by
-
- 114 edits in trunk/Source
Clean up / optimize even more call sites constructing vectors
https://bugs.webkit.org/show_bug.cgi?id=236852
Reviewed by Darin Adler.
Source/WebCore:
- Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::beginPaymentSession):
- Modules/applepay/cocoa/PaymentMethodCocoa.mm:
(WebCore::convert):
- Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::batchPutOperation):
- Modules/gamepad/Gamepad.cpp:
(WebCore::Gamepad::Gamepad):
- Modules/gamepad/GamepadManager.cpp:
(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::makeGamepadVisible):
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::objectStoreNames const):
(WebCore::IDBDatabase::transaction):
- Modules/indexeddb/IDBKeyData.h:
(WebCore::IDBKeyData::isDeletedValue const):
(WebCore::add):
(WebCore::IDBKeyDataHash::hash):
(WebCore::IDBKeyData::hash const): Deleted.
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::indexNames const):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::objectStoreNames const):
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::showMediaControlsContextMenu):
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::activeRanges const):
- Modules/mediasource/SampleMap.h:
(WebCore::DecodeOrderSampleMap::size const):
- Modules/mediasource/SourceBufferList.h:
- Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::getVoices):
- Modules/speech/cocoa/WebSpeechRecognizerTask.mm:
(-[WebSpeechRecognizerTaskImpl callbackWithTranscriptions:isFinal:]):
- Modules/speech/cocoa/WebSpeechRecognizerTaskMock.mm:
(-[WebSpeechRecognizerTaskMock audioSamplesAvailable:]):
- animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
- animation/DocumentTimelinesController.cpp:
(WebCore::DocumentTimelinesController::updateAnimationsAndSendEvents):
- animation/KeyframeEffect.cpp:
(WebCore::processPropertyIndexedKeyframes):
- contentextensions/ContentExtension.cpp:
(WebCore::ContentExtensions::ContentExtension::ContentExtension):
- css/CSSValueList.h:
(WebCore::CSSValueList::size const):
- css/calc/CSSCalcOperationNode.cpp:
(WebCore::CSSCalcOperationNode::hoistChildrenWithOperator):
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeContainerRule):
- dom/DOMStringList.h:
(WebCore::DOMStringList::create):
(WebCore::DOMStringList::append):
(WebCore::DOMStringList::DOMStringList):
- dom/EventPath.cpp:
(WebCore::EventPath::EventPath):
- dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::cancelFullscreen):
- dom/LoadableScript.cpp:
(WebCore::LoadableScript::notifyClientFinished):
- dom/RadioButtonGroups.cpp:
(WebCore::RadioButtonGroup::members const):
- html/DirectoryFileListCreator.cpp:
(WebCore::toFileList):
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::saveLastSelection):
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
- html/ImageBitmap.cpp:
(WebCore::ImageBitmap::detachBitmaps):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::getAttachedShaders):
- html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::processMeta):
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::insertPhoneNumberLink):
- html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::insertFakePreElement):
- loader/ContentFilter.cpp:
(WebCore::ContentFilter::create):
- loader/appcache/ApplicationCacheManifestParser.cpp:
(WebCore::parseApplicationCacheManifest):
- page/ResizeObserver.cpp:
(WebCore::ResizeObserver::deliverObservations):
- page/TextIndicator.cpp:
(WebCore::initializeIndicator):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::parseSubResourceIntegrityIntoDigests):
- platform/FileChooser.cpp:
(WebCore::FileChooser::chooseFile):
(WebCore::FileChooser::chooseFiles):
(WebCore::FileChooser::chooseMediaFiles):
- platform/SharedBuffer.cpp:
(WebCore::FragmentedSharedBuffer::append):
- platform/ThreadSafeDataBuffer.h:
(WebCore::add):
- platform/audio/AudioDSPKernelProcessor.cpp:
(WebCore::AudioDSPKernelProcessor::initialize):
- platform/audio/AudioResampler.cpp:
(WebCore::AudioResampler::AudioResampler):
- platform/audio/DynamicsCompressorKernel.cpp:
(WebCore::DynamicsCompressorKernel::setNumberOfChannels):
- platform/audio/MultiChannelResampler.cpp:
(WebCore::MultiChannelResampler::MultiChannelResampler):
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::legibleMediaSelectionOptions const):
- platform/gamepad/mac/Dualshock3HIDGamepad.cpp:
(WebCore::Dualshock3HIDGamepad::Dualshock3HIDGamepad):
- platform/gamepad/mac/LogitechGamepad.cpp:
(WebCore::LogitechGamepad::LogitechGamepad):
- platform/gamepad/mac/StadiaHIDGamepad.cpp:
(WebCore::StadiaHIDGamepad::StadiaHIDGamepad):
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::addRepaintRect):
- platform/graphics/PathUtilities.cpp:
(WebCore::PathUtilities::pathsWithShrinkWrappedRects):
(WebCore::PathUtilities::pathWithShrinkWrappedRectsForOutline):
- platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::bufferedSamplesForTrackId):
- platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSkd):
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::setRequestForKey):
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateKeyStatuses):
- platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
(WebCore::ImageDecoderAVFObjC::frameInfos const):
- platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:
(WebCore::SourceBufferParserAVFObjC::didParseStreamDataAsAsset):
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::variationAxes const):
- platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::writeString):
- platform/mediastream/RealtimeVideoCaptureSource.cpp:
(WebCore::RealtimeVideoCaptureSource::setSupportedPresets):
- platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::writeBlobsToTemporaryFilesForIndexedDB):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::connectClippingStackLayers):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::adjustOverflowScrollbarContainerLayers):
- rendering/RenderThemeMac.mm:
(WebCore::paintAttachmentTitleBackground):
- rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGStrokePaintingResource):
- rendering/svg/SVGTextChunk.cpp:
(WebCore::SVGTextChunk::SVGTextChunk):
- style/PageRuleCollector.cpp:
(WebCore::Style::PageRuleCollector::matchPageRules):
- style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::MediaQueryCollector::pop):
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertContainerName):
Source/WebKit:
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::outOfBandTrackSources):
- GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateDidReceiveInitializationSegment):
(WebKit::RemoteSourceBufferProxy::updateTrackIds):
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::mergeStatisticForTesting):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::fetchDiskCacheEntries):
- NetworkProcess/Notifications/NetworkNotificationManager.cpp:
(WebKit::NetworkNotificationManager::getOriginsWithPushAndNotificationPermissions):
- NetworkProcess/WebStorage/StorageManager.cpp:
(WebKit::StorageManager::allStorageAreaIdentifiers const):
- NetworkProcess/WebStorage/TransientLocalStorageNamespace.cpp:
(WebKit::TransientLocalStorageNamespace::origins const):
(WebKit::TransientLocalStorageNamespace::storageAreaIdentifiers const):
- NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::Cache::finishOpening):
(WebKit::CacheStorage::Cache::keys const):
- NetworkProcess/storage/SQLiteStorageArea.cpp:
(WebKit::SQLiteStorageArea::SQLiteStorageArea):
- Platform/IPC/ArgumentCoders.h:
- Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):
- UIProcess/API/APINavigation.cpp:
(API::Navigation::Navigation):
(API::m_clientNavigationActivity):
- UIProcess/Cocoa/WKShareSheet.mm:
(appendFilesAsShareableURLs):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::restoreAppHighlightsAndScrollToIndex):
- UIProcess/FrameLoadState.cpp:
(WebKit::FrameLoadState::didFinishLoad):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::sendCreationParametersToNewProcess):
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::parameters const):
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::startDiscovery):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::removeAllItems):
(WebKit::WebBackForwardList::clear):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::removeProcessFromOriginCacheSet):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
- UIProcess/ios/TextCheckerIOS.mm:
(WebKit::TextChecker::checkTextOfParagraph):
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant presentationRectForElementUsingClosestIndicatedRect]):
- UIProcess/mac/TextCheckerMac.mm:
(WebKit::TextChecker::checkTextOfParagraph):
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::showPaymentUI):
- WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::setFilesForInputFileUpload):
- WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):
- WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::updateTrackIds):
(WebKit::SourceBufferPrivateRemote::sourceBufferPrivateDidReceiveInitializationSegment):
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::createEncoder):
- WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
- WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toFrameState):
- WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.cpp:
(WebKit::WebDeviceOrientationUpdateProvider::deviceOrientationChanged):
(WebKit::WebDeviceOrientationUpdateProvider::deviceMotionChanged):
- WebProcess/WebCoreSupport/WebPasteboardOverrides.cpp:
(WebKit::WebPasteboardOverrides::overriddenTypes):
- WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp:
(WebKit::WebSpeechSynthesisClient::voiceList):
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::findStringMatches):
- WebProcess/WebPage/WebFoundTextRangeController.cpp:
(WebKit::WebFoundTextRangeController::drawRect):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::consumeSandboxExtensions):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::handleSelectionServiceClick):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::fetchWebsiteData):
Source/WTF:
- wtf/WorkQueue.cpp:
(WTF::ConcurrentWorkQueue::apply):
- wtf/cf/LanguageCF.cpp:
(WTF::platformUserPreferredLanguages):
- 12:45 PM Changeset in webkit [290328] by
-
- 2 edits in trunk/Source/WebKit
Fix GPUP WebGL generator script wrt uninitialised sized span
https://bugs.webkit.org/show_bug.cgi?id=235889
<rdar://problem/88567612>
Reviewed by Chris Dumez.
Even though we check if the synchronous message was received successfully before using it,
if we didn't check then we might have a problem with pointing to uninitialized memory, which we then wouldn't use for anything.
To fix this hypothetical problem, I start out by pointing to initialized memory.
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
(WebKit::RemoteGraphicsContextGLProxy::getShaderPrecisionFormat):
- 11:53 AM Changeset in webkit [290327] by
-
- 3 edits in branches/safari-614.1.5-branch/Source/WebKit
Cherry-pick r290317. rdar://problem/89206950
[WebAuthn] Fix lifetime issue on iOS
https://bugs.webkit.org/show_bug.cgi?id=237018
rdar://89206950
Reviewed by Brent Fulgham.
Lifetime issues introduced in a recent refactor of performRequest were causing
replies from WebAuthenticatorCoordinatorProxy_MakeCredentialReply not to make it
back to the web content process. This patch fixes these, allowing requests to proceed.
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: (WebKit::continueAfterRequest): (WebKit::WebAuthenticatorCoordinatorProxy::performRequest): Deleted. (WebKit::WebAuthenticatorCoordinatorProxy::isConditionalMediationAvailable): Deleted. (WebKit::WebAuthenticatorCoordinatorProxy::isUserVerifyingPlatformAuthenticatorAvailable): Deleted.
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:41 AM Changeset in webkit [290326] by
-
- 13 edits2 moves in trunk/Source/WebCore
[LBSE] Rename RenderSVGTransformableContainer -> LegacyRenderSVGTransformableContainer
https://bugs.webkit.org/show_bug.cgi?id=237023
Reviewed by Rob Buis.
Following the established procedure: rename RenderSVGTransformableContainer -> LegacyRenderSVGTransformableContainer.
In a follow-up patch RenderSVGTransformableContainer will be reintroduced for LBSE, inheriting from
RenderSVGContainer instead of LegacyRenderSVGContainer.
Covered by existing tests, no change in behaviour.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderObject.h:
(WebCore::RenderObject::isLegacySVGTransformableContainer const):
(WebCore::RenderObject::isSVGTransformableContainer const): Deleted.
- rendering/svg/LegacyRenderSVGContainer.cpp:
(WebCore::LegacyRenderSVGContainer::layout):
- rendering/svg/LegacyRenderSVGContainer.h:
- rendering/svg/LegacyRenderSVGTransformableContainer.cpp: Renamed from Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp.
(WebCore::LegacyRenderSVGTransformableContainer::LegacyRenderSVGTransformableContainer):
(WebCore::LegacyRenderSVGTransformableContainer::calculateLocalTransform):
(WebCore::LegacyRenderSVGTransformableContainer::graphicsElement):
- rendering/svg/LegacyRenderSVGTransformableContainer.h: Renamed from Source/WebCore/rendering/svg/RenderSVGTransformableContainer.h.
- rendering/svg/RenderSVGViewportContainer.h:
- rendering/svg/SVGContainerLayout.cpp:
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::transformToRootChanged):
- svg/SVGAElement.cpp:
(WebCore::SVGAElement::createElementRenderer):
- svg/SVGGElement.cpp:
(WebCore::SVGGElement::createElementRenderer):
- svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::createElementRenderer):
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::createElementRenderer):
- 11:34 AM Changeset in webkit [290325] by
-
- 5 edits in trunk
[GStreamer] Switch media player to playbin3
https://bugs.webkit.org/show_bug.cgi?id=236884
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-22
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
With GStreamer 1.20 playbin3 is quite usable now, so give it a try as default playback
engine during the 2.38 cycle. If one wants to opt out, set the WEBKIT_GST_USE_PLAYBIN2
environment variable to 1.
No new tests, covered by existing media layout tests.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
Tools:
Replace WEBKIT_GST_USE_PLAYBIN3 with WEBKIT_GST_USE_PLAYBIN2 that allows to opt-out of
playbin3, if this is desired.
- Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
- Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
- 11:34 AM Changeset in webkit [290324] by
-
- 3 edits in trunk/Source/WebCore
[LBSE] Activate LBSE for <rect> painting
https://bugs.webkit.org/show_bug.cgi?id=236194
Reviewed by Rob Buis.
Finally activate LBSE for <rect> elements -- painting <rect> elements
now works as expected in LBSE. Try using MiniBrowser and switch
from legacy engine to LBSE and back -- this now works just fine and
rebuilds the render tree / updates display.
Covered by existing tests, no change in behaviour.
- rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle):
(WebCore::writeChildren):
- svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::createElementRenderer):
- 11:31 AM Changeset in webkit [290323] by
-
- 26 edits2 adds in trunk
[GStreamer] Initial MediaRecorder implementation
https://bugs.webkit.org/show_bug.cgi?id=236558
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-22
Reviewed by Xabier Rodriguez-Calvar.
.:
Enable MediaRecorder support if GStreamer >= 1.20 is available.
- Source/cmake/FindGStreamer.cmake:
- Source/cmake/GStreamerChecks.cmake:
- Source/cmake/GStreamerDefinitions.cmake:
- Source/cmake/GStreamerDependencies.cmake:
Source/WebCore:
Add a MediaRecorder backend based on the GStreamer Transcoder library. We anticipate the
scenario where the GstWebRTC backend might provide encoded streams to the recorder, in which
case transcoding is required. The transcoder library can operate in pass-through as well.
- CMakeLists.txt:
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::isTypeSupported):
(WebCore::MediaRecorder::createMediaRecorderPrivate):
- Modules/mediarecorder/MediaRecorderProvider.cpp:
(WebCore::MediaRecorderProvider::createMediaRecorderPrivate):
(WebCore::MediaRecorderProvider::isSupported):
- Modules/mediarecorder/MediaRecorderProvider.h:
- loader/EmptyClients.cpp:
- platform/GStreamer.cmake:
- platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef):
(WTF::refGPtr<GstEncodingProfile>):
(WTF::derefGPtr<GstEncodingProfile>):
- platform/graphics/gstreamer/GRefPtrGStreamer.h:
- platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
(WebCore::GStreamerRegistryScanner::initializeEncoders):
- platform/mediarecorder/MediaRecorderPrivateGStreamer.cpp: Added.
(WebCore::MediaRecorderPrivateGStreamer::create):
(WebCore::MediaRecorderPrivateGStreamer::MediaRecorderPrivateGStreamer):
(WebCore::MediaRecorderPrivateGStreamer::~MediaRecorderPrivateGStreamer):
(WebCore::MediaRecorderPrivateGStreamer::startRecording):
(WebCore::MediaRecorderPrivateGStreamer::stopRecording):
(WebCore::MediaRecorderPrivateGStreamer::fetchData):
(WebCore::MediaRecorderPrivateGStreamer::pauseRecording):
(WebCore::MediaRecorderPrivateGStreamer::resumeRecording):
(WebCore::MediaRecorderPrivateGStreamer::mimeType const):
(WebCore::MediaRecorderPrivateGStreamer::isTypeSupported):
(WebCore::MediaRecorderPrivateGStreamer::containerProfile):
(WebCore::MediaRecorderPrivateGStreamer::setSource):
(WebCore::MediaRecorderPrivateGStreamer::setSink):
(WebCore::MediaRecorderPrivateGStreamer::configureVideoEncoder):
(WebCore::MediaRecorderPrivateGStreamer::preparePipeline):
(WebCore::MediaRecorderPrivateGStreamer::processSample):
(WebCore::MediaRecorderPrivateGStreamer::notifyEOS):
- platform/mediarecorder/MediaRecorderPrivateGStreamer.h: Added.
- platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(webkitMediaStreamSrcEnsureStreamCollectionPosted):
(webkitMediaStreamSrcPadProbeCb):
(webkitMediaStreamSrcSignalEndOfStream):
- platform/mediastream/gstreamer/GStreamerMediaStreamSource.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml: Enable MediaRecorder if it was
enabled at build time in GStreamer ports.
LayoutTests:
Flag the remaining MediaRecorder test failures. Those will be adressed in follow-up patches.
- http/wpt/mediarecorder/pause-recording.html:
- platform/glib/TestExpectations:
- 11:25 AM Changeset in webkit [290322] by
-
- 6 edits in trunk/Tools
[git-webkit] Extract revision from
git svn dcommit
https://bugs.webkit.org/show_bug.cgi?id=236849
<rdar://problem/89155179>
Reviewed by Ryan Haddad.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git): Thoroughly mock
dcommit
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py:
(Land.main): Extract committed SVN revision from
git svn dcommitcommand to accurately
match landed commits to the pull request that generated them.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
(repository): Add revision to local commit.
Canonical link: https://commits.webkit.org/247644@main
- 11:04 AM Changeset in webkit [290321] by
-
- 2 edits in trunk/Source/WebCore
Hide PDF.js sidebar shown for long documents
https://bugs.webkit.org/show_bug.cgi?id=236850
Reviewed by Chris Dumez.
Use the built-in PDF.js
#pagemode=noneparameter to do this: https://github.com/mozilla/pdf.js/wiki/Viewer-options
- html/PDFDocument.cpp:
(WebCore::PDFDocument::createDocumentStructure):
- 11:02 AM Changeset in webkit [290320] by
-
- 10 edits in trunk
[CSS container Queries] getComputedStyle should update style for invalid query containers
https://bugs.webkit.org/show_bug.cgi?id=237038
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/animation-container-size-expected.txt:
- web-platform-tests/css/css-contain/container-queries/animation-container-type-dynamic-expected.txt:
- web-platform-tests/css/css-contain/container-queries/animation-nested-animation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/animation-nested-transition-expected.txt:
- web-platform-tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/backdrop-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/pseudo-elements-001-expected.txt:
Source/WebCore:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::hasValidStyleForProperty):
We always need to update style inside a query container since a change to it may affect descendants.
- 10:59 AM Changeset in webkit [290319] by
-
- 14 edits in trunk
Authenticated encryption console logging causing performance regressions
https://bugs.webkit.org/show_bug.cgi?id=236987
<rdar://problem/89108253>
Reviewed by Chris Dumez.
Source/WebCore:
No new tests. Behavior confirmed by existing crypto/subtle tests.
For clients that use repeated unauthenticated AES encryption, console
logging may cause perf issues. We should log the authenticated
encryption warning once per context.
- crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::addAuthenticatedEncryptionWarningIfNecessary):
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::hasLoggedAuthenticatedEncryptionWarning const):
(WebCore::ScriptExecutionContext::setHasLoggedAuthenticatedEncryptionWarning):
LayoutTests:
- crypto/subtle/aes-cbc-cfb-decrypt-malformed-parameters-expected.txt:
- crypto/subtle/aes-cbc-cfb-encrypt-malformed-parameters-expected.txt:
- crypto/subtle/aes-cbc-generate-key-encrypt-decrypt-expected.txt:
- crypto/subtle/aes-cbc-import-key-decrypt-expected.txt:
- crypto/subtle/aes-cbc-import-key-encrypt-expected.txt:
- crypto/subtle/aes-ctr-encrypt-malformed-parameters-expected.txt:
- crypto/subtle/aes-ctr-generate-key-encrypt-decrypt-expected.txt:
- crypto/subtle/aes-ctr-import-key-encrypt-expected.txt:
- platform/glib/crypto/subtle/aes-cbc-cfb-decrypt-malformed-parameters-expected.txt:
- platform/glib/crypto/subtle/aes-cbc-cfb-encrypt-malformed-parameters-expected.txt:
- 10:29 AM Changeset in webkit [290318] by
-
- 2 edits in trunk/Tools
Filter some build output from JSC
https://bugs.webkit.org/show_bug.cgi?id=236885
Reviewed by Simon Fraser.
Add some filter rules for recently added output. In particular:
- whatever prints out the build command
- python executables now having the version numbers in the binary
- creating entitlements files
- Scripts/filter-build-webkit:
(shouldIgnoreLine):
- 10:21 AM Changeset in webkit [290317] by
-
- 3 edits in trunk/Source/WebKit
[WebAuthn] Fix lifetime issue on iOS
https://bugs.webkit.org/show_bug.cgi?id=237018
rdar://89206950
Reviewed by Brent Fulgham.
Lifetime issues introduced in a recent refactor of performRequest were causing
replies from WebAuthenticatorCoordinatorProxy_MakeCredentialReply not to make it
back to the web content process. This patch fixes these, allowing requests to proceed.
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::continueAfterRequest):
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest): Deleted.
(WebKit::WebAuthenticatorCoordinatorProxy::isConditionalMediationAvailable): Deleted.
(WebKit::WebAuthenticatorCoordinatorProxy::isUserVerifyingPlatformAuthenticatorAvailable): Deleted.
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
- 9:55 AM Changeset in webkit [290316] by
-
- 3 edits in trunk/Source/WebKit
Remove an unneeded IOKit property
https://bugs.webkit.org/show_bug.cgi?id=236867
<rdar://47695155>
Reviewed by Per Arne Vollan.
The relevant frameworks that used the IOPlatformUUID IOKit
property have been updated to no longer refer to it. We can
now safely remove it.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 9:53 AM Changeset in webkit [290315] by
-
- 2 edits in branches/safari-614.1.5-branch/Source/WebCore
Cherry-pick r290311. rdar://problem/89261425
[Cocoa] Partial rollout of r289946, broke Netflix
https://bugs.webkit.org/show_bug.cgi?id=237019
<rdar://89261425>
Reviewed by Eric Carlson.
Adopting AVContentKeySupport for AVSampleBufferDisplayLayer broke Netflix playback on Cocoa
ports. Disable that support by hard coding sampleBufferRenderersSupportKeySession() to
return false.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: (WebCore::sampleBufferRenderersSupportKeySession):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:50 AM Changeset in webkit [290314] by
-
- 7 edits in trunk
[iOS] Adopt new _UITextSearching method for range comparison
https://bugs.webkit.org/show_bug.cgi?id=237012
rdar://88442811
Reviewed by Devin Rousso.
Source/WebKit:
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView offsetFromPosition:toPosition:inDocument:]):
Mark deprecation.
(-[WKWebView compareFoundRange:toRange:inDocument:]):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView compareFoundRange:toRange:inDocument:]):
Implement the new comparison method using existing offset computation logic.
Tools:
Ensure TestSearchAggregator conforms to _UITextSearchAggregator.
- TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
(-[TestSearchAggregator initWithCompletionHandler:]):
(-[TestSearchAggregator allFoundRanges]):
(-[TestSearchAggregator invalidateFoundRange:inDocument:]):
(-[TestSearchAggregator invalidate]):
(textRangesForQueryString):
(-[TestSearchAggregator foundRanges]): Deleted.
- 9:44 AM Changeset in webkit [290313] by
-
- 2 edits in trunk/Source/WebCore
Re-style PDF.js form fields to match PDFKit
https://bugs.webkit.org/show_bug.cgi?id=237041
Reviewed by Geoffrey Garen.
Remove black border on :hover, only display light blue background on hover, display blue focusring on :focus.
- Modules/pdfjs-extras/style-cocoa.css:
(.annotationLayer :is():
- 9:42 AM Changeset in webkit [290312] by
-
- 4 edits in trunk/Source
When building introspection files, add CMAKE_C_FLAGS to the compiler flags.
https://bugs.webkit.org/show_bug.cgi?id=232936
Patch by Alexander Kanavin <alex@linutronix.de> on 2022-02-22
Reviewed by Michael Catanzaro.
g-ir-compiler is using a C compiler internally, so it needs to set
the proper flags for it.
- PlatformGTK.cmake:
- 9:11 AM Changeset in webkit [290311] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] Partial rollout of r289946, broke Netflix
https://bugs.webkit.org/show_bug.cgi?id=237019
<rdar://89261425>
Reviewed by Eric Carlson.
Adopting AVContentKeySupport for AVSampleBufferDisplayLayer broke Netflix playback on Cocoa
ports. Disable that support by hard coding sampleBufferRenderersSupportKeySession() to
return false.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::sampleBufferRenderersSupportKeySession):
- 9:07 AM Changeset in webkit [290310] by
-
- 3 edits in trunk/Source/WebCore
AX: Only compute ariaTreeRows for isTree() objects
https://bugs.webkit.org/show_bug.cgi?id=236994
Reviewed by Andres Gonzalez.
We only expose AXPropertyName::ARIATreeRows for isTree() objects, but compute it for every object, which is wasteful.
This patch also includes a drive-by fixing of setting AXPropertyName::IsTreeItem. Prior to this patch,
we never set this property. Also, we now only store AXPropertyName::ARIATreeItemContent for isTreeItem() objects.
The AXPropertyName::IsTreeItem fix makes test accessibility/roles-exposed.html closer to passing with ITM enabled.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::ariaTreeRows):
Remove unncessary tab character.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
- 9:05 AM Changeset in webkit [290309] by
-
- 3 edits in trunk/Source/WebCore
AX: Fix accessibility/aria-current-state-changed-notification.html in isolated tree mode
https://bugs.webkit.org/show_bug.cgi?id=237014
Reviewed by Chris Fleizach.
We need to update AXPropertyName::CurrentValue when we get a AXCurrentStateChanged notification.
Fixes accessibility/aria-current-state-changed-notification.html in isolated tree mode.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
- 8:08 AM Changeset in webkit [290308] by
-
- 2 edits in trunk/Source/WebCore
Fix for crash in several AX LayoutTests in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=237015
Reviewed by Chris Dumez.
Follow up to https://bugs.webkit.org/show_bug.cgi?id=236748.
The iteration over the object's children has to happen over a copy
because the children vector can change during the traversal of the tree.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
- 8:05 AM Changeset in webkit [290307] by
-
- 4 edits in trunk
http/wpt/mediarecorder/mute-tracks.html fails with WebRTCRemoteVideoFrameEnabled=true
https://bugs.webkit.org/show_bug.cgi?id=237021
Reviewed by Kimmo Kinnunen.
Source/WebKit:
We were previously creating the black frame but still sending the remote read reference.
On GPUProcess side, we were then encoding the real frame instead of the black/muted frame.
Add a specific muted code path to fix the issue.
Covered by updated test.
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::videoSampleAvailable):
- WebProcess/GPU/webrtc/SharedVideoFrame.cpp:
(WebKit::SharedVideoFrameReader::read):
LayoutTests:
- http/wpt/mediarecorder/mute-tracks.html:
- 7:45 AM Changeset in webkit [290306] by
-
- 14 edits6 adds in trunk
Make pointer-events checks for SVG take in account inert subtrees
https://bugs.webkit.org/show_bug.cgi?id=235836
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Added tests for both inert attribute & modal dialog cases.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-svg-hittest-expected.txt: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-svg-hittest.html: Added.
- web-platform-tests/inert/inert-svg-hittest.tentative-expected.txt: Added.
- web-platform-tests/inert/inert-svg-hittest.tentative.html: Added.
Source/WebCore:
Re-using visibleToHitTesting in SVG code isn't possible, because visibleToHitTesting removes visibility: hidden;
content from hit-testing, which we do not want to here, since pointer-events has values for SVG which still
allow clicking content regardless of their visibility value (pointer-events: painted/fill/stroke/all).
Instead, we add an inert-aware effectivePointerEvents, similar to effectiveUserSelect and re-use that across the codebase.
Tests: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-svg-hittest.html
imported/w3c/web-platform-tests/inert/inert-svg-hittest.tentative.html
- rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
- rendering/RenderElement.h:
(WebCore::RenderElement::visibleToHitTesting const):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerStyleChanged):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::effectivePointerEvents const):
- rendering/svg/LegacyRenderSVGModelObject.cpp:
(WebCore::LegacyRenderSVGModelObject::checkIntersection):
(WebCore::LegacyRenderSVGModelObject::checkEnclosure):
- rendering/svg/LegacyRenderSVGShape.cpp:
(WebCore::LegacyRenderSVGShape::nodeAtFloatPoint):
- rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::nodeAtFloatPoint):
- rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::checkIntersection):
(WebCore::RenderSVGModelObject::checkEnclosure):
- rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::nodeAtPoint):
- rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::nodeAtFloatPoint):
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::nodeAtPoint):
LayoutTests:
iOS doesn't support test_actions, so it needs different baselines.
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-svg-hittest-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-svg-hittest.tentative-expected.txt: Added.
- 7:42 AM Changeset in webkit [290305] by
-
- 12 edits in trunk/Source
Rename RenderStyle::userSelectIncludingInert to RenderStyle::effectiveUserSelect
https://bugs.webkit.org/show_bug.cgi?id=237033
Reviewed by Antti Koivisto.
This naming is consistent with other properties (effectiveDisplay/Appearance/PointerEvents/etc.).
Source/WebCore:
- dom/Node.cpp:
(WebCore::computeEditabilityFromComputedStyle):
(WebCore::Node::canStartSelection const):
- dom/Position.cpp:
(WebCore::Position::nodeIsUserSelectNone):
(WebCore::Position::nodeIsUserSelectAll):
- page/EventHandler.cpp:
(WebCore::EventHandler::canMouseDownStartSelect):
(WebCore::EventHandler::selectCursor):
- page/Frame.cpp:
(WebCore::Frame::rangeForPoint):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::selectionBackgroundColor const):
(WebCore::RenderElement::selectionColor const):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::collectSelectionGeometriesInternal):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::effectiveUserSelect const):
(WebCore::RenderStyle::userSelectIncludingInert const): Deleted.
Source/WebKit:
- WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::isSelectableTextNode const):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::selectionPositionInformation):
- 7:33 AM Changeset in webkit [290304] by
-
- 31 edits in trunk/Source
Move service worker and push API preference from RuntimeEnabledFeatures to Settings
https://bugs.webkit.org/show_bug.cgi?id=236989
Reviewed by Youenn Fablet.
Move service worker and push API preference from RuntimeEnabledFeatures to Settings, since RuntimeEnabledFeatures is deprecated.
Source/WebCore:
- Modules/push-api/PushEvent.idl:
- Modules/push-api/PushManager.idl:
- Modules/push-api/PushMessageData.idl:
- Modules/push-api/PushSubscription.idl:
- Modules/push-api/PushSubscriptionChangeEvent.idl:
- Modules/push-api/PushSubscriptionOptions.idl:
- Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl:
- Modules/push-api/ServiceWorkerRegistration+PushAPI.idl:
- dom/Document.cpp:
(WebCore::Document::suspend):
(WebCore::Document::resume):
(WebCore::Document::finishedParsing):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::matchRegistration):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::unregisterReservedServiceWorkerClient):
(WebCore::DocumentLoader::loadMainResource):
- page/NavigatorBase.cpp:
(WebCore::NavigatorBase::serviceWorker):
- page/NavigatorServiceWorker.idl:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::pushAPIEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setPushAPIEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::serviceWorkerEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setServiceWorkerEnabled): Deleted.
- workers/service/ExtendableEvent.idl:
- workers/service/ExtendableMessageEvent.idl:
- workers/service/FetchEvent.idl:
- workers/service/ServiceWorker.idl:
- workers/service/ServiceWorkerClient.idl:
- workers/service/ServiceWorkerClients.idl:
- workers/service/ServiceWorkerContainer.idl:
- workers/service/ServiceWorkerGlobalScope.idl:
- workers/service/ServiceWorkerRegistration.idl:
- workers/service/ServiceWorkerWindowClient.idl:
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _serviceWorkersEnabled:]):
- WebProcess/Storage/WebServiceWorkerProvider.cpp:
(WebKit::WebServiceWorkerProvider::serviceWorkerConnection):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateThrottleState):
(WebKit::WebPage::updatePreferences):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 7:16 AM Changeset in webkit [290303] by
-
- 6 edits in trunk/LayoutTests
Unreviewed, reverting r290220.
Tests still fail with with fuzzy data
Reverted changeset:
"Test gardening for [CSS Blending] Non-separable blend modes
don't work"
https://bugs.webkit.org/show_bug.cgi?id=131354
https://commits.webkit.org/r290220
- 6:10 AM Changeset in webkit [290302] by
-
- 2 edits in trunk/Tools/buildstream
[Flatpak SDK] Update FDO junction for GDB 11.x
https://bugs.webkit.org/show_bug.cgi?id=236979
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-22
Reviewed by Adrian Perez de Castro.
- elements/freedesktop-sdk.bst: gdb 10 is crashy in the current SDK, but was fixed in the
upstream FDO SDK, by updating to the 11.x version.
- 5:35 AM Changeset in webkit [290301] by
-
- 4 edits4 adds in trunk
Permission API: handle non-fully active documents
https://bugs.webkit.org/show_bug.cgi?id=236952
LayoutTests/imported/w3c:
Web Platform Test
https://github.com/web-platform-tests/wpt/pull/32921
Patch by Marcos Caceres <Marcos Caceres> on 2022-02-22
Reviewed by Youenn Fablet.
- web-platform-tests/permissions/non-fully-active.https-expected.txt: Added.
- web-platform-tests/permissions/non-fully-active.https.html: Added.
- web-platform-tests/permissions/resources/empty.html: Added.
Source/WebCore:
Spec change:
https://github.com/w3c/permissions/pull/365
Patch by Marcos Caceres <Marcos Caceres> on 2022-02-22
Reviewed by Youenn Fablet.
Test: imported/w3c/web-platform-tests/permissions/non-fully-active.https.html
- Modules/permissions/PermissionStatus.cpp:
(WebCore::PermissionStatus::stateChanged):
- Modules/permissions/Permissions.cpp:
(WebCore::Permissions::query):
- 5:21 AM Changeset in webkit [290300] by
-
- 25 edits1 copy70 adds in trunk
Initial support for Wasm/ESM-integration in the WebCore module loader
https://bugs.webkit.org/show_bug.cgi?id=236268
Patch by Asumu Takikawa <asumu@igalia.com> on 2022-02-22
Reviewed by Yusuke Suzuki.
LayoutTests/imported/w3c:
Add test suite for Wasm/ESM integration proposal to WPT Wasm WebAPI
tests.
- web-platform-tests/wasm/webapi/esm-integration/execute-start.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/execute-start.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/exported-names.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/exported-names.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/invalid-bytecode.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/invalid-bytecode.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/js-wasm-cycle-errors.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/js-wasm-cycle-errors.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/js-wasm-cycle.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/js-wasm-cycle.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/module-parse-error.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/module-parse-error.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/resolve-export.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resolve-export.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/resolve-export.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/execute-start.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/exported-names.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/invalid-bytecode.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/invalid-module.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle-function-error.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle-function-error.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle-global.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle-global.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle-memory.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle-memory.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle-table.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle-table.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle-value.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle-value.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle.js: Added.
(f):
- web-platform-tests/wasm/webapi/esm-integration/resources/js-wasm-cycle.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/log.js: Added.
(export.logExec):
- web-platform-tests/wasm/webapi/esm-integration/resources/resolve-export.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-export-i64-global.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-export-to-wasm.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-import-error-from-wasm.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-import-from-wasm.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-import-func.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-import-func.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-import-global.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-import-global.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-import-memory.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-import-memory.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-import-table.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-import-table.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-js-cycle.js: Added.
(let.jsFunc):
(export.mutateBindings):
- web-platform-tests/wasm/webapi/esm-integration/resources/wasm-js-cycle.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/worker-helper.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/worker.js: Added.
- web-platform-tests/wasm/webapi/esm-integration/resources/worker.wasm: Added.
- web-platform-tests/wasm/webapi/esm-integration/wasm-import-wasm-export.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/wasm-import-wasm-export.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/wasm-import.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/wasm-import.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/wasm-js-cycle.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/wasm-js-cycle.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/wasm-to-wasm-link-error.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/wasm-to-wasm-link-error.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/worker-import.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/worker-import.tentative.html: Added.
- web-platform-tests/wasm/webapi/esm-integration/worker.tentative-expected.txt: Added.
- web-platform-tests/wasm/webapi/esm-integration/worker.tentative.html: Added.
Source/JavaScriptCore:
Adjust WebAssemblySourceProvider to inherit from a new abstract base
class that exposes the data as a pointer and size, to allow
implementations other than a Vector. Also add initialization
and cleanup methods managed by RAII class.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- parser/SourceProvider.cpp:
(JSC::BaseWebAssemblySourceProvider::BaseWebAssemblySourceProvider):
- parser/SourceProvider.h:
(JSC::BaseWebAssemblySourceProvider::lockUnderlyingBuffer):
(JSC::BaseWebAssemblySourceProvider::unlockUnderlyingBuffer):
(JSC::WebAssemblySourceProviderBufferGuard::WebAssemblySourceProviderBufferGuard):
(JSC::WebAssemblySourceProviderBufferGuard::~WebAssemblySourceProviderBufferGuard):
- runtime/CachedTypes.cpp:
(JSC::CachedWebAssemblySourceProvider::encode):
- tools/JSDollarVM.cpp:
- wasm/js/JSWebAssemblyHelpers.h:
(JSC::getWasmBufferFromValue):
(JSC::createSourceBufferFromValue):
Source/WebCore:
Add initial WebAssembly script support for WebCore module loading. It
does not yet support Wasm scripts in workers. Detection of Wasm
modules is currently done by MIME type, not by import assertions.
- Headers.cmake:
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::hasWasmMIMEType const):
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateModule):
- bindings/js/ScriptController.h:
- bindings/js/ScriptModuleLoader.cpp:
(WebCore::ScriptModuleLoader::evaluate):
(WebCore::ScriptModuleLoader::notifyFinished):
- bindings/js/ScriptModuleLoader.h:
- bindings/js/WebAssemblyCachedScriptSourceProvider.h: Added.
- bindings/js/WebAssemblyScriptSourceCode.h: Copied from Source/JavaScriptCore/parser/SourceProvider.cpp.
(WebCore::WebAssemblyScriptSourceCode::WebAssemblyScriptSourceCode):
(WebCore::WebAssemblyScriptSourceCode::jsSourceCode const):
- platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::isSupportedWebAssemblyMIMEType):
- platform/MIMETypeRegistry.h:
- workers/WorkerOrWorkletScriptController.cpp:
(WebCore::WorkerOrWorkletScriptController::evaluateModule):
- workers/WorkerOrWorkletScriptController.h:
Source/WTF:
Add preference flag for Wasm/ESM Integration.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
LayoutTests:
Add Wasm module MIME type for HTTP tests, and add tests.
- http/conf/mime.types:
- http/tests/wasm/resources/empty-module.wasm: Added.
- http/tests/wasm/wasm-esm-disabled-with-setting-expected.txt: Added.
- http/tests/wasm/wasm-esm-disabled-with-setting.html: Added.
- 2:29 AM Changeset in webkit [290299] by
-
- 2 edits in trunk/Source/WebCore
Properly uninitialize EGL display before termination
https://bugs.webkit.org/show_bug.cgi?id=236766
From the docs [1], if contexts or surfaces associated with display
is current to any thread, they are not released until they
are no longer current as a result of eglMakeCurrent.
So call eglMakeCurrent() to such effect.
[1] https://www.khronos.org/registry/EGL/sdk/docs/man/html/eglMakeCurrent.xhtml
Reviewed by Carlos Garcia Campos.
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::terminateEGLDisplay):
- 2:25 AM Changeset in webkit [290298] by
-
- 2 edits in trunk/Tools
[JSC] Guard against dead remotes in numberOfProcessors
https://bugs.webkit.org/show_bug.cgi?id=236643
Reviewed by Adrian Perez de Castro.
Instead of using only the first remote (and then defaulting to 1 when
it happens to not respond), try all the remotes in sequence.
Also, instead of trying the sysctl version on all hosts first and
only try nproc after sysctl has failed on all hosts, combine
sysctl and nproc in one command to speed things along.
This change also removes the numProcessors == 0 typo in the rescue
path.
- Scripts/run-jsc-stress-tests:
- 2:14 AM Changeset in webkit [290297] by
-
- 6 edits in trunk
[JSC] ShadowRealm JSRemoteFunction creation should convert CopyNameAndLength errors to TypeError
https://bugs.webkit.org/show_bug.cgi?id=237007
Reviewed by Alexey Shvayka.
JSTests:
- test262/expectations.yaml:
Source/JavaScriptCore:
- Rename JSRemoteFunction::create to tryCreate since it can throw an error.
- Passing JSGlobalObject* as a first parameter to JSRemoteFunction::tryCreate since it can throw an error.
- Extract CopyNameAndLength part and convert errors to TypeError as specified.
- jit/JITOperations.cpp:
(JSC::getWrappedValue):
(JSC::JSC_DEFINE_JIT_OPERATION):
- runtime/JSRemoteFunction.cpp:
(JSC::wrapValue):
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSRemoteFunction::tryCreate):
(JSC::JSRemoteFunction::copyNameAndLength):
(JSC::JSRemoteFunction::finishCreation):
(JSC::JSRemoteFunction::create): Deleted.
- runtime/JSRemoteFunction.h:
- 2:08 AM Changeset in webkit [290296] by
-
- 4 edits in trunk
[JSC] TypeError from JSRemoteFunction should be generated by JSRemoteFunction's JSGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=237013
Reviewed by Saam Barati.
JSTests:
- test262/expectations.yaml:
Source/JavaScriptCore:
Our unwinding converts any errors inside JSRemoteFunction to TypeError. At that time, we should
use JSRemoteFunction's JSGlobalObject for this type error.
- interpreter/Interpreter.cpp:
(JSC::UnwindFunctor::UnwindFunctor):
(JSC::UnwindFunctor::operator() const):
(JSC::sanitizeRemoteFunctionException):
(JSC::Interpreter::unwind):
- 1:57 AM WebKitGTK/2.36.x created by
- 1:57 AM WebKitGTK/2.34.x edited by
- (diff)
- 1:47 AM Changeset in webkit [290295] by
-
- 18 edits in trunk/Source
Avoid having to iterate the whole frame tree(s) every time we need to dispatch storage events
https://bugs.webkit.org/show_bug.cgi?id=236985
Reviewed by Darin Adler.
Avoid having to iterate the whole frame tree(s) every time we need to dispatch storage events,
by keeping track of window objects interested in storage events. A Window object is interested
in storage events if both of the following conditions is true:
- It has a Storage object (either localStorage or sessionStorage)
- It has a storage event listener registered.
This patch also refactors the code so that we share more logic between WebKit1 and WebKit2.
Source/WebCore:
- inspector/agents/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::clearDOMStorageItems):
- loader/EmptyClients.cpp:
- page/DOMWindow.cpp:
(WebCore::windowsInterestedInStorageEvents):
(WebCore::DOMWindow::forEachWindowInterestedInStorageEvents):
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::willDetachDocumentFromFrame):
(WebCore::DOMWindow::eventListenersDidChange):
- page/DOMWindow.h:
- page/DOMWindowProperty.h:
- storage/Storage.cpp:
(WebCore::Storage::setItem):
(WebCore::Storage::removeItem):
(WebCore::Storage::clear):
- storage/StorageArea.h:
- storage/StorageEventDispatcher.cpp:
(WebCore::dispatchSessionStorageEventsToWindows):
(WebCore::dispatchLocalStorageEventsToWindows):
(WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
(WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames): Deleted.
(WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames): Deleted.
- storage/StorageEventDispatcher.h:
Source/WebKit:
- WebProcess/WebStorage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::setItem):
(WebKit::StorageAreaImpl::removeItem):
(WebKit::StorageAreaImpl::clear):
- WebProcess/WebStorage/StorageAreaImpl.h:
- WebProcess/WebStorage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::setItem):
(WebKit::StorageAreaMap::removeItem):
(WebKit::StorageAreaMap::clear):
(WebKit::StorageAreaMap::dispatchSessionStorageEvent):
(WebKit::StorageAreaMap::dispatchLocalStorageEvent):
(WebKit::framesForEventDispatching): Deleted.
- WebProcess/WebStorage/StorageAreaMap.h:
Source/WebKitLegacy:
- Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::setItem):
(WebKit::StorageAreaImpl::removeItem):
(WebKit::StorageAreaImpl::clear):
(WebKit::StorageAreaImpl::dispatchStorageEvent):
- Storage/StorageAreaImpl.h:
- 1:42 AM Changeset in webkit [290294] by
-
- 1 copy in releases/WebKitGTK/webkit-2.36
Branch WebKitGTK for 2.36
- 1:24 AM Changeset in webkit [290293] by
-
- 3 edits in trunk/Tools
[GTK] Can't run performance tests due to a11y errors
https://bugs.webkit.org/show_bug.cgi?id=230705
Reviewed by Sergio Villar Senin.
Disable a11y in WTR since it's no longer nedded with ATSPI.
- WebKitTestRunner/gtk/main.cpp:
(main):
- WebKitTestRunner/wpe/main.cpp:
(main):
- 1:05 AM Changeset in webkit [290292] by
-
- 2 edits in trunk/Source/WebKit
NSSharingServicePicker gets deallocated when using the standard share menu item
https://bugs.webkit.org/show_bug.cgi?id=236998
<rdar://problem/89174827>
Reviewed by Wenson Hsieh.
The NSMenuItem should keep the NSSharingServicePicker alive.
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::getShareMenuItem):
- 12:47 AM Changeset in webkit [290291] by
-
- 5 edits in trunk/Source/WebKit
[GTK][WPE] Suspend web process after some time in the process cache
https://bugs.webkit.org/show_bug.cgi?id=236971
Reviewed by Michael Catanzaro.
Implement platformSuspendProcess() and platformResumeProcess() for GTK and WPE ports.
- UIProcess/WebProcessCache.cpp:
(WebKit::WebProcessCache::addProcess):
(WebKit::WebProcessCache::CachedProcess::CachedProcess):
(WebKit::WebProcessCache::CachedProcess::~CachedProcess):
(WebKit::WebProcessCache::CachedProcess::takeProcess):
- UIProcess/WebProcessCache.h:
- UIProcess/WebProcessProxy.h:
- UIProcess/glib/WebProcessProxyGLib.cpp:
(WebKit::WebProcessProxy::platformSuspendProcess):
(WebKit::WebProcessProxy::platformResumeProcess):
Feb 21, 2022:
- 10:53 PM Changeset in webkit [290290] by
-
- 20 edits1 add1 delete in trunk/Source
[JSC] Format the output of --reportTotalPhaseTimes=1 more nicely
https://bugs.webkit.org/show_bug.cgi?id=237005
Reviewed by Saam Barati.
Source/JavaScriptCore:
Before this patch:
[B3] moveConstants total ms: 64.307583 max ms: 1.703167
[B3] lowerToAir total ms: 151.297782 max ms: 5.426375
[B3] generateToAir total ms: 1623.987166 max ms: 92.826750
[B3] simplifyCFG total ms: 11.760463 max ms: 1.088083
[B3] Air::lowerMacros total ms: 5.975679 max ms: 0.382000
After this patch:
total ms: 66.328 max ms: 2.283 [B3] moveConstants
total ms: 148.097 max ms: 5.361 [B3] lowerToAir
total ms: 1619.115 max ms: 96.307 [Total B3] generateToAir
total ms: 11.959 max ms: 1.185 [Air] simplifyCFG
total ms: 6.519 max ms: 0.697 [Air] Air::lowerMacros
Concretely there are two changes:
- use FixedWidthDouble (also introduced to WTF in this patch) to line-up the total times. This makes it possible to see at a glance which phases are worth optimizing and which aren't.
- Tag phases more precisely, and in particular replace [B3] by [Air] where relevant, and give different tags to measurements that correspond to groups of phases instead of a single phase (e.g. generateToAir).
- JavaScriptCore.xcodeproj/project.pbxproj:
- b3/B3Compile.cpp:
(JSC::B3::compile):
- b3/B3FixSSA.cpp:
- b3/B3Generate.cpp:
(JSC::B3::prepareForGeneration):
(JSC::B3::generateToAir):
- b3/B3PhaseScope.cpp:
(JSC::B3::PhaseScope::PhaseScope):
- b3/B3PhaseScope.h:
- b3/B3TimingScope.h: Removed.
(JSC::B3::TimingScope::TimingScope): Deleted.
- b3/B3VariableLiveness.cpp:
(JSC::B3::VariableLiveness::VariableLiveness):
- b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp:
(JSC::B3::Air::GenerateAndAllocateRegisters::generate):
- b3/air/AirAllocateRegistersAndStackByLinearScan.cpp:
- b3/air/AirGenerate.cpp:
(JSC::B3::Air::prepareForGeneration):
(JSC::B3::Air::generateWithAlreadyAllocatedRegisters):
- b3/air/AirLiveness.h:
(JSC::B3::Air::Liveness::Liveness):
- b3/air/AirPhaseScope.cpp:
(JSC::B3::Air::PhaseScope::PhaseScope):
- b3/air/AirPhaseScope.h:
- tools/CompilerTimingScope.cpp:
Source/WTF:
Add FixedWidthDouble, which allows easily printing a double with some whitespace to pad it out if it is smaller than expected.
Its design roughly follows RawPointer which similarly allows special formatting of a kind of number.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/FixedWidthDouble.h: Added.
(WTF::FixedWidthDouble::FixedWidthDouble):
(WTF::FixedWidthDouble::value const):
(WTF::FixedWidthDouble::width const):
(WTF::FixedWidthDouble::precision const):
- wtf/PrintStream.cpp:
(WTF::printInternal):
- wtf/PrintStream.h:
- 10:43 PM Changeset in webkit [290289] by
-
- 2 edits in trunk/Tools
Use ArgumentParser for parsing args in generate-compile-commands
https://bugs.webkit.org/show_bug.cgi?id=236995
Patch by Brandon Stewart <Brandon> on 2022-02-21
Reviewed by Alexey Proskuryakov.
Use argument parser instead of sys.argv[1] for getting build dir.
- Scripts/generate-compile-commands:
- 8:57 PM Changeset in webkit [290288] by
-
- 3 edits in trunk/Source/WebKit
Allow adattributiond to start on iOS devices
https://bugs.webkit.org/show_bug.cgi?id=237009
<rdar://89062166>
Reviewed by Per Arne Vollan.
There were three more problems preventing it from starting:
- The code signature said to look for a sandbox profile with "webkit" in the name, but the profile had "WebKit" in the name. These names are case sensitive.
- The sandbox profile would not let it load the WebKit framework, so dyld would fail and the process would fail to launch. I added the framework directories that the XPC services are allowed to access.
- Once it started, it would crash inside WTF::initializeMainThread when calling WTF::pageSize which requires access to the hw.pagesize_compat syscall. As a starting point, I'm going to allow all the syscalls that the network process currently has access to, which is enough to get it to respond without crashing.
- We need access to com.apple.diagnosticd and com.apple.analyticsd in order to be able to generate crash reports. This is quite useful.
Yes, I know I said there were only three problems, but the 4th is so useful I thought I'd put it in the list.
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb:
- Scripts/process-entitlements.sh:
- 8:57 PM Changeset in webkit [290287] by
-
- 6 edits in trunk/Source
Improve const correctness for SecurityOrigin accessors
https://bugs.webkit.org/show_bug.cgi?id=236983
Reviewed by Chris Dumez.
Source/WebCore:
- loader/SubresourceLoader.h:
- loader/cache/CachedResource.h:
(WebCore::CachedResource::origin const):
(WebCore::CachedResource::origin):
- loader/cache/CachedResourceRequest.h:
(WebCore::CachedResourceRequest::origin const):
(WebCore::CachedResourceRequest::origin):
Source/WebKit:
- UIProcess/Notifications/WebNotification.h:
(WebKit::WebNotification::origin const):
(WebKit::WebNotification::origin):
- 8:03 PM Changeset in webkit [290286] by
-
- 14 edits in trunk
[iOS] Adjust some behaviors around the "Markup Image" action in the callout bar
https://bugs.webkit.org/show_bug.cgi?id=236980
Reviewed by Aditya Keerthi.
Source/WebKit:
Adjust the following behaviors around the "Markup Image" callout bar item on iOS:
- The item should be present as long as the selection range contains a single image item (not only if the
selection range exactly encompasses a single image element.
- The item should appear in the callout bar before other WebKit-client-provided menu controller items.
This patch also adds a new API test to exercise these behaviors and, in doing so, also refactors logic around
determining whether or not to show this item so that it's dependent on a WebKit internal feature instead of just
the system feature flag (with the default value of the internal feature being equal to whether or not the system
feature is enabled). This means we can run tests for these features without requiring the system feature flag to
be enabled.
See below for more details.
Test: ImageAnalysisTests.MenuControllerItems
- Platform/cocoa/TextRecognitionUtilities.mm:
(WebKit::makeTextRecognitionResult):
Drive-by fix for some API tests: only attempt to send the platform image analysis result over IPC if it is a
VKCImageAnalysis. In some API tests, we use mock objects here instead, which currently causes the IPC message
send to fail due to encoding failure.
- Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:
(WebKit::defaultImageAnalysisMarkupEnabled):
- Shared/WebPreferencesDefaultValues.h:
Make the new internal feature flag default to the system feature flag.
- UIProcess/ios/WKActionSheetAssistant.h:
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant defaultActionsForLinkSheet:]):
(-[WKActionSheetAssistant defaultActionsForImageSheet:]):
Consult a new delegate method (
-actionSheetAssistantShouldIncludeCopyCroppedImageAction:) instead of checking
the system feature flag directly.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView updateImageAnalysisMarkupMenuItems:]):
Append the "Markup Image" item at the start of the list of additional menu items.
(-[WKContentView canPerformImageAnalysisMarkup]):
Check the internal feature instead of the system feature flag.
(-[WKContentView performImageAnalysisMarkup:]):
Now that this action can be triggered even when the current selection doens't encompass only a single image, we
need to usereplaceWithPasteboardData()instead, passing in the element context of the image element we want
to replace.
(-[WKContentView actionSheetAssistantShouldIncludeCopyCroppedImageAction:]):
Only attempt to show the new items if the internal feature is enabled. Consulted by
WKActionSheetAssistant
above.
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
Check the internal feature instead of the system feature flag.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPlatformEditorState const):
Make a minor adjustment here to bail early only if we find multiple image elements in the selected range,
rather than bailing if we find anything that's not an image element.
Source/WTF:
Add a WebKit internal feature flag to control whether or not the "Markup Image" and related "Copy Cropped Image"
menu items should be enabled on iOS and macOS. This enables us to test these features in API and layout tests
without requiring the corresponding system feature flag to be enabled.
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
Add an API test to verify that "Markup Image" appears as the first non-default callout bar item when a single
image element is in the selection range. The test is comprised of three parts:
- Select just a single image, and expect the "Markup Image" item.
- Select all images in the document, and expect no "Markup Image" item.
- Select a single image and some surrounding text, and expect the "Markup Image" item.
See WebKit/ChangeLog for more details.
- TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
(TestWebKitAPI::createWebViewWithTextRecognitionEnhancements):
(TestWebKitAPI::swizzledSetMenuItems):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/multiple-images.html:
Add some text before and after each image so that we can select a single image alongside some text, and exercise
the changes inWebPage::getPlatformEditorState(see WebKit changes for more information).
- 7:57 PM Changeset in webkit [290285] by
-
- 2 edits in trunk/Source/WebCore
Ensure layer has backing during traversal
https://bugs.webkit.org/show_bug.cgi?id=236858
Patch by Brandon Stewart <Brandon> on 2022-02-21
Reviewed by Simon Fraser.
Ensure the layer has a backing attached to it before trying to append
the node id.
- rendering/RenderLayerCompositor.cpp:
(WebCore::collectStationaryLayerRelatedOverflowNodes):
- 7:36 PM Changeset in webkit [290284] by
-
- 22 edits3 adds in trunk
Make input element UA shadow tree creation lazy
https://bugs.webkit.org/show_bug.cgi?id=236747
Reviewed by Aditya Keerthi.
Source/WebCore:
We currently delay InputType creation for parser inserted elements until
just after the attributes have been set, so that we don't wastefully
create an InputType and the UA shadow tree creation if a non-text
type="" was specified on the tag. We don't do anything similar for
script inserted input elements. We could make the InputType creation
lazy, but most of the wasted time is due to the shadow tree creation.
This patch makes InputType shadow tree creation lazy by delaying it
until one of the following happens:
- the element is inserted into the document
- the type="" or value="" attributes are changed before the element is inserted into the document
- any DOM methods that need access to the innerTextElement() are called on the element before the element is inserted into the document
Not all places where we call innerTextElement() on the
HTMLInputElement are safe to lazily create the shadow trees, so we
have two accessors:
- innerTextElement() returns the inner text element if it's been created already
- innerTextElementCreatingShadowSubtreeIfNeeded will perform the lazy shadow tree construction if it hasn't already been done
Since the existing
createShadowSubtreeAndUpdateInnerTextElementEditability function has
more responsibility than just creating the subtree and ensuring the
editability is set appropriately, it's renamed to a more manageable
createShadowSubtree.
This change is a 0.5% progression on Speedometer 2.
Test: fast/forms/lazy-shadow-tree-creation.html
- html/BaseDateAndTimeInputType.h:
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::createShadowSubtree):
(WebCore::BaseDateAndTimeInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/ColorInputType.h:
- html/ColorInputType.cpp:
(WebCore::ColorInputType::createShadowSubtree):
(WebCore::ColorInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/FileInputType.h:
- html/FileInputType.cpp:
(WebCore::FileInputType::createShadowSubtree):
(WebCore::FileInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/InputType.cpp:
(WebCore::InputType::createShadowSubtree):
(WebCore::InputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/RangeInputType.h:
- html/RangeInputType.cpp:
(WebCore::RangeInputType::createShadowSubtree):
(WebCore::RangeInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/SearchInputType.h:
- html/SearchInputType.cpp:
(WebCore::SearchInputType::createShadowSubtree):
(WebCore::SearchInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
Renamed createShadowSubtreeAndUpdateInnerTextElementEditability to
createShadowSubtree and remove the "isInnerTextElementEditable"
argument, since we can ask the element() for its value if needed.
createShadowSubtree is now also responsible for creating the shadow
root.
- html/TextFieldInputType.h:
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
Renamed. Ensure all shadow tree state is up to date now that it can be
created later.
- html/InputType.h:
- html/InputType.cpp:
(WebCore::InputType::createShadowSubtree):
(WebCore::InputType::hasCreatedShadowSubtree const):
New functions to create the shadow subtree if it hasn't been done
already, and to query whether it's been done.
- html/HTMLInputElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::innerTextElementCreatingShadowSubtreeIfNeeded):
- html/HTMLTextAreaElement.h:
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::innerTextElementCreatingShadowSubtreeIfNeeded):
- html/HTMLTextFormControlElement.h:
- html/InputType.h:
- html/InputType.cpp:
(WebCore::InputType::innerTextElementCreatingShadowSubtreeIfNeeded):
New functions to first create the shadow subtree before returning
innerTextElement(). HTMLTextAreaElement never lazily creates its
shadow subtree and so just returns innerTextElement().
- html/HTMLInputElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createShadowSubtreeAndUpdateInnerTextElementEditability):
Deleted. Just call through to m_inputType->createShadowTree()
directly.
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::create):
(WebCore::HTMLInputElement::initializeInputType):
(WebCore::HTMLInputElement::updateType):
Don't immediately create the shadow tree.
(WebCore::HTMLInputElement::didFinishInsertingNode):
Create the shadow subtree now that the element's been inserted. No
need to call dataListMayHaveChanged since
TextFieldInputType::createShadowSubtree will now do this.
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::updateInnerTextValue):
Ensure the shadow subtree is created since we need to poke at it.
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::forwardEvent):
Don't forward the event if the shadow tree hasn't been created yet.
(WebCore::HTMLTextFormControlElement::setSelectionRange):
Ensure the shadow tree has been created. This is needed if the
selection APIs are called on the input element before it's inserted
into the document.
(WebCore::HTMLTextFormControlElement::visiblePositionForIndex const):
Assert that the shadow tree has been created, since editing
functionality should only be needed if the element's been inserted
into the document.
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
Ensure the shadow tree has been created.
- html/RangeInputType.cpp:
(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::handleTouchEvent):
(WebCore::RangeInputType::handleKeydownEvent):
Ensure the shadow tree has been created in case the event will change
the value.
(WebCore::RangeInputType::sliderTrackElement const):
Only return the element if it's been created.
(WebCore::RangeInputType::typedSliderThumbElement const):
Assert that the element has been created.
(WebCore::RangeInputType::dataListMayHaveChanged):
Only try to re-layout if the shadow tree has been created.
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::isEmptyValue const):
Avoid creating the shadow subtree.
(WebCore::TextFieldInputType::forwardEvent):
Move the element assertion up to be consistent with other functions.
(WebCore::TextFieldInputType::innerTextElement const):
Don't assert, since this now can legitimately return null.
- html/FileInputType.cpp:
(WebCore::FileInputType::disabledStateChanged):
(WebCore::FileInputType::attributeChanged):
- html/RangeInputType.cpp:
(WebCore::RangeInputType::disabledStateChanged):
(WebCore::RangeInputType::attributeChanged):
(WebCore::RangeInputType::setValue):
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::disabledStateChanged):
(WebCore::TextFieldInputType::readOnlyStateChanged):
(WebCore::TextFieldInputType::updatePlaceholderText):
(WebCore::TextFieldInputType::updateAutoFillButton):
(WebCore::TextFieldInputType::dataListMayHaveChanged):
Don't update the shadow tree contents if it hasn't been created yet.
createShadowTree is responsible for ensuring it creates the shadow
tree contents reflecting the current state.
LayoutTests:
- fast/forms/lazy-shadow-tree-creation-expected.html: Added.
- fast/forms/lazy-shadow-tree-creation.html: Added.
- fast/forms/lazy-shadow-tree-creation.js: Added.
(supportsType):
(makeAndAppendInput):
- 6:16 PM Changeset in webkit [290283] by
-
- 4 edits in trunk
[JSC] Fix ShadowRealm unwinding
https://bugs.webkit.org/show_bug.cgi?id=237001
Reviewed by Saam Barati.
JSTests:
- test262/expectations.yaml:
Source/JavaScriptCore:
This patch fixes a crash bug found by test262. Regardless of it is RemoteFunction,
we should handle it as the same way to the other normal host functions except
for setting m_seenRemoteFunction = true flag. Previously, we are early returning,
this is wrong since we should stop unwinding if the caller is entry frame.
- interpreter/Interpreter.cpp:
(JSC::UnwindFunctor::operator() const):
- 6:12 PM Changeset in webkit [290282] by
-
- 9 edits in trunk
[JSC] Temporal.PlainDate should validate input range
https://bugs.webkit.org/show_bug.cgi?id=236936
Reviewed by Darin Adler.
JSTests:
- stress/temporal-plaindate.js:
(shouldThrow):
Source/JavaScriptCore:
Implement https://tc39.es/proposal-temporal/#sec-temporal-isodatetimewithinlimits check in
PlainDate to validate input range. For example, 0x7fffffff year should be rejected since
it is larger than ECMAScript datetime representation value. This is checked via ISODateTimeWithinLimits
in the spec.
We also remove isValid assertions in ExactTime. This should not be checked in these accessors, rather,
we should call that function when we would like to check, since PlainDate can represent a bit smaller
value than ExactTime's minValue (minValue - nsPerDay).
We also extend ExactTime::fromISOPartsAndOffset to handle values via Int128 to accept int32_t range years.
By using Int128 for nanoseconds, we can even represent int32_t max / min years. And we remove
ASSERT(y >= -999999 && y <= 999999)check since this is not necessary.
- runtime/ISO8601.cpp:
(JSC::ISO8601::ExactTime::fromISOPartsAndOffset):
(JSC::ISO8601::isDateTimeWithinLimits):
- runtime/ISO8601.h:
(JSC::ISO8601::ExactTime::ExactTime): Deleted.
(JSC::ISO8601::ExactTime::fromEpochSeconds): Deleted.
(JSC::ISO8601::ExactTime::fromEpochMilliseconds): Deleted.
(JSC::ISO8601::ExactTime::fromEpochMicroseconds): Deleted.
(JSC::ISO8601::ExactTime::epochSeconds const): Deleted.
(JSC::ISO8601::ExactTime::epochMilliseconds const): Deleted.
(JSC::ISO8601::ExactTime::epochMicroseconds const): Deleted.
(JSC::ISO8601::ExactTime::epochNanoseconds const): Deleted.
(JSC::ISO8601::ExactTime::nanosecondsFraction const): Deleted.
(JSC::ISO8601::ExactTime::asString const): Deleted.
(JSC::ISO8601::ExactTime::isValid const): Deleted.
(JSC::ISO8601::ExactTime::operator< const): Deleted.
(JSC::ISO8601::ExactTime::operator<= const): Deleted.
(JSC::ISO8601::ExactTime::operator== const): Deleted.
(JSC::ISO8601::ExactTime::operator!= const): Deleted.
(JSC::ISO8601::ExactTime::operator>= const): Deleted.
(JSC::ISO8601::ExactTime::operator> const): Deleted.
- runtime/TemporalPlainDate.cpp:
(JSC::toPlainDate):
Source/WTF:
Add code to allow dataLog(Int128).
- wtf/Int128.cpp:
(WTF::printInternal):
- wtf/Int128.h:
- 6:01 PM Changeset in webkit [290281] by
-
- 9 edits in trunk/LayoutTests
Unreviewed gardening for the GPU Process bots.
- css3/color-filters/color-filter-text-decoration-shadow.html:
- fast/gradients/conic-gradient-alpha-unpremultiplied.html:
- fast/gradients/conic-gradient-alpha.html:
- fast/gradients/linear-two-hints-angle.html:
- fast/scrolling/overflow-inside-foreignobject.html:
- gpu-process/TestExpectations:
- imported/blink/svg/custom/crisp-edges-leak.svg:
- platform/ios/TestExpectations:
- 5:48 PM Changeset in webkit [290280] by
-
- 5 edits in trunk
Add test name to the image diff template
https://bugs.webkit.org/show_bug.cgi?id=237003
Reviewed by Sam Weinig.
Tools:
- Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(TestResultWriter.write_image_diff_files):
LayoutTests:
Include the test name in the page. Workflow to update fuzzy match data becomes easier to copy-paste the name there instead of from the location bar.
- fast/harness/image-diff-template-expected.txt:
- fast/harness/image-diff-template.html:
- 5:42 PM Changeset in webkit [290279] by
-
- 2 edits in trunk/Source/WebKit
Fix racy parallel build of WebKit2-4.0.gir
https://bugs.webkit.org/show_bug.cgi?id=232935
Patch by Alexander Kanavin <alex@linutronix.de> on 2022-02-21
Reviewed by Michael Catanzaro.
This is a target and not a command because it's used to build another .gir
and a .typelib, which would trigger two racy parallel builds when using command
(e.g. command would run twice, target runs only once).
- PlatformGTK.cmake:
- 5:37 PM Changeset in webkit [290278] by
-
- 4 edits in trunk/Source/WebCore
Add test coverage for the pasteboard writing codepath added in r289839
https://bugs.webkit.org/show_bug.cgi?id=236944
Reviewed by Aditya Keerthi.
Add test coverage for the changes in r289839 in the case where
ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)is turned
on. To do this, we set the platform image analysis results to a new internal mock object,
FakeImageAnalysisResult, that returns a string for a given NSRange. This code is then exercised by several
existing layout tests that copy and paste text inside image overlays:
- fast/images/text-recognition/image-overlay-line-wrapping.html
- fast/images/text-recognition/image-overlay-text-without-leading-whitespace.html
- fast/images/text-recognition/mac/copy-image-overlay-text-with-context-menu.html
- testing/Internals.cpp:
(WebCore::Internals::installImageOverlay):
- testing/Internals.h:
- testing/Internals.mm:
(-[FakeImageAnalysisResult initWithString:]):
(-[FakeImageAnalysisResult _attributedStringForRange:]):
(WebCore::Internals::fakeImageAnalysisResultForTesting):
- 5:13 PM Changeset in webkit [290277] by
-
- 4 edits in trunk/Source
Sort WebCore and WebKit Xcode project files
https://bugs.webkit.org/show_bug.cgi?id=237010
Unreviewed.
Source/WebCore:
No new tests because there is no behavior change.
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
- WebKit.xcodeproj/project.pbxproj:
- 5:07 PM Changeset in webkit [290276] by
-
- 2 edits in trunk/Source/WebCore/PAL
[WebGPU] Fix build
https://bugs.webkit.org/show_bug.cgi?id=237008
Unreviewed.
If you add a header to PAL that WebKit needs to #include, you'd better mark the header as Private.
- PAL.xcodeproj/project.pbxproj:
- 4:22 PM Changeset in webkit [290275] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Fix the internal build after rdar://88354008
https://bugs.webkit.org/show_bug.cgi?id=236999
Unreviewed build fix.
Mark deprecated implementations.
- UIProcess/API/ios/WKWebViewIOS.mm:
- UIProcess/ios/WKContentViewInteraction.mm:
- 4:05 PM Changeset in webkit [290274] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Fix release build
https://bugs.webkit.org/show_bug.cgi?id=237004
Unreviewed.
If you include WTF, you must have set NDEBUG in release builds.
- Configurations/Base.xcconfig:
- 3:57 PM Clangd edited by
- (diff)
- 3:50 PM Clangd edited by
- (diff)
- 3:38 PM Clangd edited by
- (diff)
- 3:24 PM Changeset in webkit [290273] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Fix iOS build
https://bugs.webkit.org/show_bug.cgi?id=237000
The lowPower selector doesn't exist on iOS.
Unreviewed.
- WebGPU/Instance.mm:
(WebGPU::sortedDevices):
(WebGPU::Instance::requestAdapter):
- 3:11 PM Changeset in webkit [290272] by
-
- 8 edits8 copies in trunk
Rolled over to ChangeLog-2022-02-22
- 3:11 PM Changeset in webkit [290271] by
-
- 2 edits in branches/safari-614.1.5-branch/Source/WebKit
Cherry-pick r290237. rdar://problem/58057431
Turn WebGL in GPU Process on by default
https://bugs.webkit.org/show_bug.cgi?id=236382
rdar://58057431
Reviewed by Tim Horton.
- Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultUseGPUProcessForWebGLEnabled):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290237 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:56 PM Clangd created by
- 2:56 PM WikiStart edited by
- Add wiki page for clangd (diff)
- 2:09 PM Changeset in webkit [290270] by
-
- 13 edits in trunk/Source/WebGPU
[WebGPU] Tracer bullet part 12: Migrate from C function callbacks to blocks
https://bugs.webkit.org/show_bug.cgi?id=236934
Reviewed by Dean Jackson.
For all the C function pointer / userdata pairs, simply create a parallel entry point which accepts a block instead.
- WebGPU/Adapter.mm:
(wgpuAdapterRequestDeviceWithBlock):
- WebGPU/Buffer.mm:
(wgpuBufferMapAsyncWithBlock):
- WebGPU/CommandEncoder.mm:
(wgpuCommandEncoderSetLabel):
- WebGPU/ComputePipeline.mm:
(wgpuComputePipelineSetLabel):
- WebGPU/Device.mm:
(wgpuDeviceCreateComputePipelineAsyncWithBlock):
(wgpuDeviceCreateRenderPipelineAsyncWithBlock):
(wgpuDevicePopErrorScopeWithBlock):
(wgpuDeviceSetDeviceLostCallbackWithBlock):
(wgpuDeviceSetUncapturedErrorCallbackWithBlock):
- WebGPU/Instance.mm:
(wgpuInstanceRequestAdapterWithBlock):
- WebGPU/Queue.mm:
(wgpuQueueOnSubmittedWorkDoneWithBlock):
(wgpuQueueSetLabel):
- WebGPU/RenderPipeline.mm:
(wgpuRenderPipelineSetLabel):
- WebGPU/ShaderModule.mm:
(wgpuShaderModuleGetCompilationInfoWithBlock):
(wgpuShaderModuleSetLabel):
- WebGPU/Surface.mm:
(wgpuSurfaceGetPreferredFormat):
- WebGPU/SwapChain.mm:
(wgpuSwapChainPresent):
- WebGPU/WebGPUExt.h:
- 2:06 PM Changeset in webkit [290269] by
-
- 3 edits1 add in trunk
[JSC] ShadowRealm wrapArgument should check exceptions
https://bugs.webkit.org/show_bug.cgi?id=236984
JSTests:
Reviewed by Alexey Shvayka.
- stress/exception-in-wrap-argument-for-shadow-realm.js: Added.
(shouldThrow):
Source/JavaScriptCore:
rdar://89226554
Reviewed by Alexey Shvayka.
We should check exceptions after wrapArgument.
- runtime/JSRemoteFunction.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- 2:00 PM Changeset in webkit [290268] by
-
- 132 edits18 copies3 moves404 adds5 deletes in trunk/JSTests
[JSC] Update test262
https://bugs.webkit.org/show_bug.cgi?id=236990
Reviewed by Alexey Shvayka.
- test262/expectations.yaml:
- test262/test262-Revision.txt:
- 1:34 PM Changeset in webkit [290267] by
-
- 6 edits in trunk/Source/WebGPU
[WebGPU] Tracer bullet part 11: Implement shader creation methods
https://bugs.webkit.org/show_bug.cgi?id=236933
Reviewed by Dean Jackson.
This implements Device::createShaderModule() and Device::createComputePipeline(). The async versions (neither
the WebGPU nor the Metal flavor) aren't implemented yet; this is just the first basic implementation.
- WebGPU/ComputePipeline.mm:
(WebGPU::createLibrary):
(WebGPU::createConstantValues):
(WebGPU::createFunction):
(WebGPU::createComputePipelineState):
(WebGPU::Device::createComputePipeline):
(WebGPU::Device::createComputePipelineAsync):
- WebGPU/PipelineLayout.h:
- WebGPU/PipelineLayout.mm:
(WebGPU::PipelineLayout::operator== const):
(WebGPU::PipelineLayout::operator!= const):
- WebGPU/ShaderModule.h:
(WebGPU::ShaderModule::create):
- WebGPU/ShaderModule.mm:
(WebGPU::findShaderModuleParameters):
(WebGPU::ShaderModule::createLibrary):
(WebGPU::earlyCompileShaderModule):
(WebGPU::Device::createShaderModule):
(WebGPU::ShaderModule::ShaderModule):
(WebGPU::CompilationMessageData::CompilationMessageData):
(WebGPU::convertMessages):
(WebGPU::ShaderModule::getCompilationInfo):
(WebGPU::ShaderModule::setLabel):
(WebGPU::ShaderModule::convertPipelineLayout):
(WebGPU::ShaderModule::ast const):
(WebGPU::ShaderModule::pipelineLayoutHint const):
(WebGPU::ShaderModule::entryPointInformation const):
- 1:32 PM Changeset in webkit [290266] by
-
- 23 edits in trunk/Source/WebGPU
[WebGPU] Tracer bullet part 10: Implement setLabel() and Metal accessors
https://bugs.webkit.org/show_bug.cgi?id=236910
Reviewed by Dean Jackson.
By adding a few various trivial functions in classes that need them, this patch completely finishes the
implementation of CommandBuffer, QuerySet, RenderBundle, Sampler, and TextureView classes (other than
their creation functions).
- WebGPU/Buffer.mm:
(WebGPU::Buffer::setLabel):
- WebGPU/CommandBuffer.h:
(WebGPU::CommandBuffer::commandBuffer const):
- WebGPU/CommandBuffer.mm:
(WebGPU::CommandBuffer::CommandBuffer):
(WebGPU::CommandBuffer::setLabel):
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::CommandEncoder):
(WebGPU::CommandEncoder::setLabel):
- WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::ComputePassEncoder):
(WebGPU::ComputePassEncoder::setLabel):
- WebGPU/ComputePipeline.h:
(WebGPU::ComputePipeline::computePipelineState const):
- WebGPU/ComputePipeline.mm:
(WebGPU::ComputePipeline::ComputePipeline):
(WebGPU::ComputePipeline::setLabel):
- WebGPU/QuerySet.h:
(WebGPU::QuerySet::counterSampleBuffer const):
- WebGPU/QuerySet.mm:
(WebGPU::QuerySet::QuerySet):
(WebGPU::QuerySet::setLabel):
- WebGPU/Queue.mm:
(WebGPU::Queue::Queue):
(WebGPU::Queue::setLabel):
- WebGPU/RenderBundle.h:
(WebGPU::RenderBundle::indirectCommandBuffer const):
- WebGPU/RenderBundle.mm:
(WebGPU::RenderBundle::RenderBundle):
(WebGPU::RenderBundle::setLabel):
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::RenderBundleEncoder):
(WebGPU::RenderBundleEncoder::setLabel):
- WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::RenderPassEncoder):
(WebGPU::RenderPassEncoder::setLabel):
- WebGPU/RenderPipeline.h:
(WebGPU::RenderPipeline::renderPipelineState const):
- WebGPU/RenderPipeline.mm:
(WebGPU::RenderPipeline::RenderPipeline):
(WebGPU::RenderPipeline::setLabel):
- WebGPU/Sampler.mm:
(WebGPU::Sampler::setLabel):
- WebGPU/ShaderModule.h:
(WebGPU::ShaderModule::library const):
- WebGPU/ShaderModule.mm:
(WebGPU::ShaderModule::ShaderModule):
(WebGPU::ShaderModule::setLabel):
- WebGPU/Texture.h:
(WebGPU::Texture::texture const):
- WebGPU/Texture.mm:
(WebGPU::Texture::Texture):
(WebGPU::Texture::setLabel):
- WebGPU/TextureView.mm:
(WebGPU::TextureView::setLabel):
- 1:29 PM Changeset in webkit [290265] by
-
- 4 edits1 add in trunk
[JSC] Add explicit exception check after appendWithoutSideEffects
https://bugs.webkit.org/show_bug.cgi?id=236986
rdar://88258776
Reviewed by Saam Barati.
JSTests:
- stress/array-to-string-oom.js: Added.
Source/JavaScriptCore:
Add exception check after JSStringJoiner::appendWithoutSideEffects call since JSString::value can throw OOM error.
- runtime/ArrayPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/JSStringJoiner.h:
(JSC::JSStringJoiner::append):
- 1:27 PM Changeset in webkit [290264] by
-
- 13 edits in trunk/Source/WebGPU
[WebGPU] Tracer bullet part 9: Basic implementation of bindings
https://bugs.webkit.org/show_bug.cgi?id=236903
Reviewed by Dean Jackson.
This is a basic implementation of the BindGroup, BindGroupLayout, and PipelineLayout methods.
Eventually we'll want to suballocate multiple BindGroups so they coexist within the same Buffer,
but this is an initial simple implementation that doesn't do that.
- WebGPU/BindGroup.h:
(WebGPU::BindGroup::vertexArgumentBuffer const):
(WebGPU::BindGroup::fragmentArgumentBuffer const):
(WebGPU::BindGroup::computeArgumentBuffer const):
- WebGPU/BindGroup.mm:
(WebGPU::bufferIsPresent):
(WebGPU::samplerIsPresent):
(WebGPU::textureViewIsPresent):
(WebGPU::Device::createBindGroup):
(WebGPU::BindGroup::BindGroup):
(WebGPU::BindGroup::setLabel):
- WebGPU/BindGroupLayout.h:
(WebGPU::BindGroupLayout::vertexArgumentEncoder const):
(WebGPU::BindGroupLayout::fragmentArgumentEncoder const):
(WebGPU::BindGroupLayout::computeArgumentEncoder const):
- WebGPU/BindGroupLayout.mm:
(WebGPU::isPresent):
(WebGPU::createArgumentDescriptor):
(WebGPU::Device::createBindGroupLayout):
(WebGPU::BindGroupLayout::BindGroupLayout):
(WebGPU::BindGroupLayout::setLabel):
(WebGPU::BindGroupLayout::encodedLength const):
- WebGPU/Buffer.h:
(WebGPU::Buffer::buffer const):
- WebGPU/Buffer.mm:
(WebGPU::Buffer::Buffer):
- WebGPU/PipelineLayout.h:
(WebGPU::PipelineLayout::create):
(WebGPU::PipelineLayout::numberOfBindGroupLayouts const):
(WebGPU::PipelineLayout::bindGroupLayout const):
- WebGPU/PipelineLayout.mm:
(WebGPU::Device::createPipelineLayout):
(WebGPU::PipelineLayout::PipelineLayout):
(WebGPU::PipelineLayout::setLabel):
- WebGPU/Sampler.h:
(WebGPU::Sampler::samplerState const):
- WebGPU/Sampler.mm:
(WebGPU::Sampler::Sampler):
- WebGPU/TextureView.h:
(WebGPU::TextureView::texture const):
- WebGPU/TextureView.mm:
(WebGPU::TextureView::TextureView):
- 1:20 PM Changeset in webkit [290263] by
-
- 7 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo/TestExpectations:
- platform/wincairo/fast/css/font-face-implicit-local-font-expected.txt:
- platform/wincairo/fast/text/international/bidi-layout-across-linebreak-expected.txt:
- platform/wincairo/fast/text/international/bidi-override-expected.txt:
- platform/wincairo/fast/text/international/text-combine-image-test-expected.txt:
- platform/wincairo/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt:
- 12:49 PM Changeset in webkit [290262] by
-
- 5 edits in trunk/Source/WebGPU
[WebGPU] Tracer bullet part 8: Basic implementation of device creation routines
https://bugs.webkit.org/show_bug.cgi?id=236902
Reviewed by Dean Jackson.
This is a basic implementation of the Instance, Adapter, and Device methods. Device limits are not
implemented yet, so for now we claim every limits is 0.
- WebGPU/Adapter.mm:
(WebGPU::Adapter::Adapter):
(WebGPU::Adapter::enumerateFeatures):
(WebGPU::Adapter::getLimits):
(WebGPU::Adapter::getProperties):
(WebGPU::Adapter::hasFeature):
(WebGPU::deviceMeetsRequiredLimits):
(WebGPU::Adapter::requestDevice):
- WebGPU/Device.h:
- WebGPU/Device.mm:
(WebGPU::Device::create):
(WebGPU::Device::Device):
(WebGPU::Device::destroy):
(WebGPU::Device::enumerateFeatures):
(WebGPU::Device::getLimits):
(WebGPU::Device::getQueue):
(WebGPU::Device::hasFeature):
(WebGPU::Device::popErrorScope):
(WebGPU::Device::pushErrorScope):
(WebGPU::Device::setDeviceLostCallback):
(WebGPU::Device::setUncapturedErrorCallback):
(WebGPU::Device::setLabel):
- WebGPU/Instance.mm:
(WebGPU::sortedDevices):
(WebGPU::Instance::requestAdapter):
- 12:42 PM Changeset in webkit [290261] by
-
- 4 edits in trunk/Tools
[webkitcorepy] Support local library in existing path
https://bugs.webkit.org/show_bug.cgi?id=236978
<rdar://problem/89237767>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall.register): Handle case where library is in an exisiting sys.path.
Canonical link: https://commits.webkit.org/247586@main
- 12:11 PM Changeset in webkit [290260] by
-
- 5 edits1 add1 delete in trunk/Source
[XCBuild] Use native build phases to copy PAL's headers
https://bugs.webkit.org/show_bug.cgi?id=236683
Reviewed by Alexey Proskuryakov.
Replaces the "Copy PAL Headers" script with a native Headers phase. Xcode copies the headers
to a flattened directory, but we hack around this using build rules. This is a different
approach than we took with WTF <https://bugs.webkit.org/show_bug.cgi?id=235744> but could be
replicated there to remove the one-build-phase-per-directory boilerplate.
The idea is that we have one build rule for each "depth" of headers: Build rule "pal/*.h" is
depth 1 and matches headers like "pal/FileSizeFormatter.h", buld rule "pal/*/*.h" is depth 2
and matches headers like "pal/text/EncodingTables.h", etc.
Each rule uses build setting macros to determine the header's relative path within
/usr/local/include/pal, and copies it there. Having one build rule per depth level is hacky,
but it's superior to adding 23 copy file phases. In the future, we'll simplify this with
<rdar://88771729>.
The legacy build system doesn't support running build rules on headers. To compensate,
legacy builds copy to a separate directory, /usr/local/include/pal_flattened. A script phase
that runs after the native Headers phase copies these flattened headers into the right place.
- Configurations/CopyPALHeaders.xcconfig: Removed.
- Configurations/PAL.xcconfig: Header settings, notably PRIVATE_HEADERS_FOLDER_PATH.
- PAL.xcodeproj/project.pbxproj: Remove target, add phases, set header attrs.
- 12:03 PM Changeset in webkit [290259] by
-
- 48 edits in trunk/Source/WebGPU
[WebGPU] Tracer bullet part 7: Clean up includes a bit
https://bugs.webkit.org/show_bug.cgi?id=236900
Reviewed by Dean Jackson.
We can put includes that literally every file uses into a single place.
- WebGPU/Adapter.h:
- WebGPU/Adapter.mm:
- WebGPU/BindGroup.h:
- WebGPU/BindGroup.mm:
- WebGPU/BindGroupLayout.h:
- WebGPU/BindGroupLayout.mm:
- WebGPU/Buffer.h:
- WebGPU/Buffer.mm:
- WebGPU/CommandBuffer.h:
- WebGPU/CommandBuffer.mm:
- WebGPU/CommandEncoder.h:
- WebGPU/CommandEncoder.mm:
- WebGPU/ComputePassEncoder.h:
- WebGPU/ComputePassEncoder.mm:
- WebGPU/ComputePipeline.h:
- WebGPU/ComputePipeline.mm:
- WebGPU/Device.h:
- WebGPU/Device.mm:
- WebGPU/Instance.h:
- WebGPU/Instance.mm:
- WebGPU/PipelineLayout.h:
- WebGPU/PipelineLayout.mm:
- WebGPU/QuerySet.h:
- WebGPU/QuerySet.mm:
- WebGPU/Queue.h:
- WebGPU/Queue.mm:
- WebGPU/RenderBundle.h:
- WebGPU/RenderBundle.mm:
- WebGPU/RenderBundleEncoder.h:
- WebGPU/RenderBundleEncoder.mm:
- WebGPU/RenderPassEncoder.h:
- WebGPU/RenderPassEncoder.mm:
- WebGPU/RenderPipeline.h:
- WebGPU/RenderPipeline.mm:
- WebGPU/Sampler.h:
- WebGPU/Sampler.mm:
- WebGPU/ShaderModule.h:
- WebGPU/ShaderModule.mm:
- WebGPU/Surface.h:
- WebGPU/Surface.mm:
- WebGPU/SwapChain.h:
- WebGPU/SwapChain.mm:
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
- WebGPU/TextureView.h:
- WebGPU/TextureView.mm:
- WebGPU/config.h:
- 11:58 AM Changeset in webkit [290258] by
-
- 3 edits in trunk/Source/WebGPU
[WebGPU] Tracer bullet part 6: Give a RunLoop to Instance
https://bugs.webkit.org/show_bug.cgi?id=236899
Reviewed by Dean Jackson.
The shared header has a function, wgpuInstanceProcessEvents(), which is supposed
to synchronously call all outstanding callbacks. A natural way to do this is to
hook this up to [NSRunLoop runMode:beforeDate:].
- WebGPU/Instance.h:
(WebGPU::Instance::runLoop const):
(WebGPU::Instance::create): Deleted.
- WebGPU/Instance.mm:
(WebGPU::Instance::create):
(WebGPU::Instance::Instance):
(WebGPU::Instance::createSurface):
(WebGPU::Instance::processEvents):
(wgpuCreateInstance):
- 11:48 AM Changeset in webkit [290257] by
-
- 6 edits2 adds in trunk
[CSS Container Queries] Support nested container queries
https://bugs.webkit.org/show_bug.cgi?id=236963
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-nested-expected.txt: Added.
- web-platform-tests/css/css-contain/container-queries/container-nested.html: Added.
Source/WebCore:
"Style rules defined on an element inside multiple nested container queries apply when all of the wrapping container queries are true for that element."
https://drafts.csswg.org/css-contain-3/#container-rule
Test: imported/w3c/web-platform-tests/css/css-contain/container-queries/container-nested.html
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::Style::ElementRuleCollector::containerQueriesMatch):
All nested queries need to match.
(WebCore::Style::ElementRuleCollector::containerQueryMatches): Deleted.
- style/ElementRuleCollector.h:
- style/RuleSet.h:
(WebCore::Style::RuleSet::hasContainerQueries const):
(WebCore::Style:: const):
(WebCore::Style::RuleSet::containerQueryFor const): Deleted.
Return all nested queries.
Don't unnecessarily copy FilteredContainerQuery, refer to the StyleRuleContainer instead.
- style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::addChildRules):
- 11:32 AM Changeset in webkit [290256] by
-
- 43 edits in trunk/Source/WebGPU
[WebGPU] Tracer bullet part 5: Give Metal objects to WebGPU objects
https://bugs.webkit.org/show_bug.cgi?id=236898
Reviewed by Dean Jackson.
Each WebGPU object gets its own backing Metal object.
- WebGPU/Adapter.h:
(WebGPU::Adapter::create):
- WebGPU/Adapter.mm:
(WebGPU::Adapter::Adapter):
- WebGPU/BindGroup.h:
(WebGPU::BindGroup::create):
- WebGPU/BindGroup.mm:
(WebGPU::Device::createBindGroup):
(WebGPU::BindGroup::BindGroup):
- WebGPU/BindGroupLayout.h:
(WebGPU::BindGroupLayout::create):
- WebGPU/BindGroupLayout.mm:
(WebGPU::Device::createBindGroupLayout):
(WebGPU::BindGroupLayout::BindGroupLayout):
- WebGPU/Buffer.h:
(WebGPU::Buffer::create):
- WebGPU/Buffer.mm:
(WebGPU::Device::createBuffer):
(WebGPU::Buffer::Buffer):
- WebGPU/CommandBuffer.h:
(WebGPU::CommandBuffer::create):
- WebGPU/CommandBuffer.mm:
(WebGPU::CommandBuffer::CommandBuffer):
- WebGPU/CommandEncoder.h:
(WebGPU::CommandEncoder::create):
- WebGPU/CommandEncoder.mm:
(WebGPU::Device::createCommandEncoder):
(WebGPU::CommandEncoder::CommandEncoder):
(WebGPU::CommandEncoder::beginComputePass):
(WebGPU::CommandEncoder::beginRenderPass):
(WebGPU::CommandEncoder::finish):
- WebGPU/ComputePassEncoder.h:
(WebGPU::ComputePassEncoder::create):
- WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::ComputePassEncoder):
- WebGPU/ComputePipeline.h:
(WebGPU::ComputePipeline::create):
- WebGPU/ComputePipeline.mm:
(WebGPU::Device::createComputePipeline):
(WebGPU::ComputePipeline::ComputePipeline):
(WebGPU::ComputePipeline::getBindGroupLayout):
- WebGPU/Device.h:
(WebGPU::Device::create): Deleted.
- WebGPU/Device.mm:
(WebGPU::Device::create):
(WebGPU::Device::Device):
(WebGPU::Device::getQueue):
- WebGPU/Instance.h:
- WebGPU/Instance.mm:
(WebGPU::Instance::requestAdapter):
(wgpuInstanceRequestAdapter):
- WebGPU/QuerySet.h:
(WebGPU::QuerySet::create):
- WebGPU/QuerySet.mm:
(WebGPU::Device::createQuerySet):
(WebGPU::QuerySet::QuerySet):
- WebGPU/Queue.h:
(WebGPU::Queue::create):
- WebGPU/Queue.mm:
(WebGPU::Queue::Queue):
- WebGPU/RenderBundle.h:
(WebGPU::RenderBundle::create):
- WebGPU/RenderBundle.mm:
(WebGPU::RenderBundle::RenderBundle):
- WebGPU/RenderBundleEncoder.h:
(WebGPU::RenderBundleEncoder::create):
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::Device::createRenderBundleEncoder):
(WebGPU::RenderBundleEncoder::RenderBundleEncoder):
(WebGPU::RenderBundleEncoder::finish):
- WebGPU/RenderPassEncoder.h:
(WebGPU::RenderPassEncoder::create):
- WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::RenderPassEncoder):
- WebGPU/RenderPipeline.h:
(WebGPU::RenderPipeline::create):
- WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipeline):
(WebGPU::RenderPipeline::RenderPipeline):
(WebGPU::RenderPipeline::getBindGroupLayout):
- WebGPU/Sampler.h:
(WebGPU::Sampler::create):
- WebGPU/Sampler.mm:
(WebGPU::Device::createSampler):
(WebGPU::Sampler::Sampler):
- WebGPU/ShaderModule.h:
(WebGPU::ShaderModule::create):
- WebGPU/ShaderModule.mm:
(WebGPU::Device::createShaderModule):
(WebGPU::ShaderModule::ShaderModule):
- WebGPU/SwapChain.mm:
(WebGPU::SwapChain::getCurrentTextureView):
- WebGPU/Texture.h:
(WebGPU::Texture::create):
- WebGPU/Texture.mm:
(WebGPU::Device::createTexture):
(WebGPU::Texture::Texture):
(WebGPU::Texture::createView):
- WebGPU/TextureView.h:
(WebGPU::TextureView::create):
- WebGPU/TextureView.mm:
(WebGPU::TextureView::TextureView):
- WebGPU/config.h:
- 11:23 AM Changeset in webkit [290255] by
-
- 15 edits in trunk/Source/WebGPU
[WebGPU] Tracer bullet part 4: Move Device's construction methods to the files of the things they create
https://bugs.webkit.org/show_bug.cgi?id=236891
Reviewed by Dean Jackson.
Device is kind of a factory object, and has lots of methods which create
other objects in the API. To avoid Device.cpp becoming a catch-all place
for tons of unrelated creation routines, this patch moves the routine that
creates an X into X.mm.
- WebGPU/BindGroup.mm:
(WebGPU::Device::createBindGroup):
- WebGPU/BindGroupLayout.mm:
(WebGPU::Device::createBindGroupLayout):
- WebGPU/Buffer.mm:
(WebGPU::Device::createBuffer):
- WebGPU/CommandEncoder.mm:
(WebGPU::Device::createCommandEncoder):
- WebGPU/ComputePipeline.mm:
(WebGPU::Device::createComputePipeline):
(WebGPU::Device::createComputePipelineAsync):
- WebGPU/Device.mm:
(WebGPU::Device::createBindGroup): Deleted.
(WebGPU::Device::createBindGroupLayout): Deleted.
(WebGPU::Device::createBuffer): Deleted.
(WebGPU::Device::createCommandEncoder): Deleted.
(WebGPU::Device::createComputePipeline): Deleted.
(WebGPU::Device::createComputePipelineAsync): Deleted.
(WebGPU::Device::createPipelineLayout): Deleted.
(WebGPU::Device::createQuerySet): Deleted.
(WebGPU::Device::createRenderBundleEncoder): Deleted.
(WebGPU::Device::createRenderPipeline): Deleted.
(WebGPU::Device::createRenderPipelineAsync): Deleted.
(WebGPU::Device::createSampler): Deleted.
(WebGPU::Device::createShaderModule): Deleted.
(WebGPU::Device::createSwapChain): Deleted.
(WebGPU::Device::createTexture): Deleted.
- WebGPU/PipelineLayout.mm:
(WebGPU::Device::createPipelineLayout):
- WebGPU/QuerySet.mm:
(WebGPU::Device::createQuerySet):
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::Device::createRenderBundleEncoder):
- WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipeline):
(WebGPU::Device::createRenderPipelineAsync):
- WebGPU/Sampler.mm:
(WebGPU::Device::createSampler):
- WebGPU/ShaderModule.mm:
(WebGPU::Device::createShaderModule):
- WebGPU/SwapChain.mm:
(WebGPU::Device::createSwapChain):
- WebGPU/Texture.mm:
(WebGPU::Device::createTexture):
- 11:15 AM Changeset in webkit [290254] by
-
- 2 edits in trunk/Source/WebCore
[LBSE] Implement SVG2 rules to establish a stacking context
https://bugs.webkit.org/show_bug.cgi?id=236193
Reviewed by Rob Buis.
Follow the rules specified in https://www.w3.org/TR/SVG2/render.html#RenderingOrder,
when to create a stacking context. This is necessary to enforce layer creation.
Unlike SVG 1.1, SVG2 defines its whole rendering model, as well as painting operations
such as masking/clipping around the 'stacking-context' term that stems from CSS.
The definition is backwards compatible with SVG 1.1, except for un-spec'ed territory
missing from SVG 1.1, that's now specified for SVG2 (e.g. <foreignObject> + stacking context).
LBSE handles clipping / masking / etc. via RenderLayer, which is also responsbile for
for stacking-context managment. Therefore we need to follow the existing rules to enforce
a stacking context / RenderLayer creation in StyleAdjuster, by enforcing a non-auto 'used z-index'.
Covered by existing tests, no change in behaviour.
- style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjustSVGElementStyle):
- 10:57 AM Changeset in webkit [290253] by
-
- 3 edits in trunk/Source/WebGPU
[WebGPU] Tracer bullet part 3: Tweak WGSL API
https://bugs.webkit.org/show_bug.cgi?id=236889
Reviewed by Dean Jackson.
- Give SuccessfulCheck a move constructor
- Use UniqueRef instead of std::unique_ptr
- Allow specialization constants to be looked up by name
- Model missing pipeline layouts as absent from the HashMap, rather than using an optional type
- WGSL/WGSL.cpp:
(WGSL::prepare):
(WGSL::SuccessfulCheck::~SuccessfulCheck): Deleted.
- WGSL/WGSL.h:
- 10:55 AM Changeset in webkit [290252] by
-
- 3 edits in trunk/Source/WebCore
[WebGPU] Tracer bullet part 2: Fix infinite recursion in GPUDevice::ref()
https://bugs.webkit.org/show_bug.cgi?id=236888
Reviewed by Dean Jackson.
refEventTarget() calls ref() which called refEventTarget(). The solution is
to tell GPUDevice that it's using RefCounted::ref().
- Modules/WebGPU/GPUDevice.cpp:
- Modules/WebGPU/GPUDevice.h:
- 10:23 AM Changeset in webkit [290251] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] WebGPU.xcodeproj cannot be opened on Big Sur's Xcode
https://bugs.webkit.org/show_bug.cgi?id=236982
Unreviewed.
Just change the project version number from 55 to 51, like the rest of the projects in WebKit.
- WebGPU.xcodeproj/project.pbxproj:
- 10:10 AM Changeset in webkit [290250] by
-
- 3 edits in trunk/Source/WebKit
[macOS] Remove resource access in sandbox for older OS versions
https://bugs.webkit.org/show_bug.cgi?id=236975
Reviewed by Brent Fulgham.
Remove access to some resources in sandbox for older OS versions. Access to these resources were initially
added in https://trac.webkit.org/changeset/290180/webkit and https://trac.webkit.org/changeset/290066/webkit,
and was only intended to land on a branch.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 10:07 AM Changeset in webkit [290249] by
-
- 3 edits2 adds in trunk
Null check parent node in outdentParagraph
https://bugs.webkit.org/show_bug.cgi?id=235914
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-21
Reviewed by Wenson Hsieh.
Source/WebCore:
Null check parent node of enclosing node in outdentParagraph.
Test: editing/execCommand/outdent-paragraph-crash.html
- editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::outdentParagraph):
LayoutTests:
- editing/execCommand/outdent-paragraph-crash-expected.txt: Added.
- editing/execCommand/outdent-paragraph-crash.html: Added.
- 9:56 AM Changeset in webkit [290248] by
-
- 9 edits in trunk
[JSC] Add CalendarDateTime parsing
https://bugs.webkit.org/show_bug.cgi?id=236886
Reviewed by Dean Jackson.
JSTests:
- stress/temporal-instant.js:
- stress/temporal-plaindate.js:
- stress/temporal-plaintime.js:
Source/JavaScriptCore:
This patch adds calendar parsing code to ISO8601 so that Temporal.Instant / Temporal.PlainDate / Temporal.PlainTime
can parse string with calendar correctly via "from" methods. Currently, we are just ignoring these calendar values,
but we should create a calendar instance from that in a subsequent patch.
- runtime/ISO8601.cpp:
(JSC::ISO8601::canBeCalendar):
(JSC::ISO8601::canBeTimeZone):
(JSC::ISO8601::parseTimeZone):
(JSC::ISO8601::parseCalendar):
(JSC::ISO8601::parseTime):
(JSC::ISO8601::parseDateTime):
(JSC::ISO8601::parseCalendarTime):
(JSC::ISO8601::parseCalendarDateTime):
(JSC::ISO8601::parseInstant):
- runtime/ISO8601.h:
- runtime/TemporalPlainDate.cpp:
(JSC::TemporalPlainDate::from):
- runtime/TemporalPlainTime.cpp:
(JSC::TemporalPlainTime::from):
- 9:50 AM Changeset in webkit [290247] by
-
- 4 edits in trunk
PerformanceObserver: buffered flag not working in Paint Timing
https://bugs.webkit.org/show_bug.cgi?id=225305
<rdar://problem/77746237>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/paint-timing/fcp-only/buffered-flag.window-expected.txt: This test now passes
Source/WebCore:
Include paint entries when collecting buffered performance entries.
A previously failing W3C test is now marked as passing.
- page/Performance.cpp:
(WebCore::Performance::appendBufferedEntriesByType const): Add the existing FCP entry
- 9:07 AM Changeset in webkit [290246] by
-
- 2 edits in trunk/Source/WebKit
Change IPC encoding of boolean type to use one bit
https://bugs.webkit.org/show_bug.cgi?id=236801
rdar://85811396
Patch by Simon Lewis <simon.lewis@apple.com> on 2022-02-21
Reviewed by Chris Dumez.
This patch ensures that only the lower bit is set in a boolean for IPC messages.
- Platform/IPC/ArgumentCoder.h:
(IPC::ArgumentCoder<bool>::encode):
(IPC::ArgumentCoder<bool>::decode):
- 7:46 AM Changeset in webkit [290245] by
-
- 5 edits5 adds in trunk/LayoutTests
AX: Add test for r290130 (https://trac.webkit.org/changeset/290130/webkit)
https://bugs.webkit.org/show_bug.cgi?id=236848
Reviewed by Chris Fleizach.
- accessibility/dynamically-changing-iframe-remains-accessible-expected.txt: Added.
- accessibility/dynamically-changing-iframe-remains-accessible.html: Added.
- accessibility/resources/purple-pineapple-text.html:
Added so we can switch iframe source between multiple simple documents.
- platform/ios/TestExpectations:
Enable new test.
- platform/mac-wk1/accessibility/dynamically-changing-iframe-remains-accessible-expected.txt: Added.
- resources/accessibility-helper.js:
(sleep): Added.
- 7:24 AM Changeset in webkit [290244] by
-
- 3 edits in trunk/Tools
[run-webkit-tests] Use Python 3 (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=226658
<rdar://problem/78882016>
Reviewed by Dewei Zhu and Stephanie Lewis.
- Tools/CISupport/build-webkit-org/steps.py:
(RunWebKitTests): Change invocation to Python 3.
- Tools/CISupport/build-webkit-org/steps_unittest.py:
Canonical link: https://commits.webkit.org/247569@main
- 7:19 AM Changeset in webkit [290243] by
-
- 2 edits in trunk/Tools
[EWS] Enable GTK and Windows queues for PRs
https://bugs.webkit.org/show_bug.cgi?id=236814
<rdar://problem/89117205>
Reviewed by Ryan Haddad.
- Tools/CISupport/ews-build/config.json:
Canonical link: https://commits.webkit.org/247568@main
- 7:13 AM Changeset in webkit [290242] by
-
- 3 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Update pango and gtk4
https://bugs.webkit.org/show_bug.cgi?id=236939
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-21
Reviewed by Adrian Perez de Castro.
Update to GTK 4.6.2, which requires Pango 1.50.x, so also update Pango.
- elements/freedesktop-sdk.bst:
- elements/sdk/gtk.bst:
- patches/fdo-0001-pango-Bump-to-1.50.4.patch: Added.
- 6:31 AM Changeset in webkit [290241] by
-
- 3 edits in trunk
[GTK][WPE] ANGLE: make USE_ANGLE_WEBGL build option public
https://bugs.webkit.org/show_bug.cgi?id=236962
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-02-21
Reviewed by Chris Lord.
Since it introduces new dependencies, the build option should be public and a fatal error message should be
shown when the option is enabled and any for the dependencies is missing.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
- 6:12 AM Changeset in webkit [290240] by
-
- 2 edits in trunk/Source/WebCore
[IFC][Integration] Take vertical-rl writing mode value into account when converting visual margin/border/padding value to logical
https://bugs.webkit.org/show_bug.cgi?id=236948
Reviewed by Antti Koivisto.
This is in preparation for supporting vertical-rl content.
(Note that the RTL inline direction != the "rl" part of the writing mode.)
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::horizontalLogicalMargin):
(WebCore::LayoutIntegration::verticalLogicalMargin):
(WebCore::LayoutIntegration::logicalBorder):
(WebCore::LayoutIntegration::logicalPadding):
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::updateInlineBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::updateFormattingRootGeometryAndInvalidate):
- 1:23 AM Changeset in webkit [290239] by
-
- 4 edits in trunk
Fetching website data may get wrong record after migrating data to general storage directory
https://bugs.webkit.org/show_bug.cgi?id=236905
Reviewed by Chris Dumez.
Source/WebKit:
To decide if an origin has data, we need to not only check if its directory exists but also if the directory is
empty.
Modified existing test to add test coverage.
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
(WebKit::OriginStorageManager::StorageBucket::resolvedIDBStoragePath): directory should be created before moving
files.
(WebKit::OriginStorageManager::StorageBucket::fetchDataTypesInListFromDisk): given that IndexedDB and
LocalStorage can have custom paths, we may just check data by type.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
Feb 20, 2022:
- 7:55 PM Changeset in webkit [290238] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, non-unified build fixes after 247508@main
https://bugs.webkit.org/show_bug.cgi?id=236945
- dom/ImageOverlay.h: Forward declare document.
- 4:02 PM Changeset in webkit [290237] by
-
- 2 edits in trunk/Source/WebKit
Turn WebGL in GPU Process on by default
https://bugs.webkit.org/show_bug.cgi?id=236382
rdar://58057431
Reviewed by Tim Horton.
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultUseGPUProcessForWebGLEnabled):
- 3:58 PM Changeset in webkit [290236] by
-
- 3 edits in trunk/LayoutTests
Unreviewed gardening for GPU Process bots
- gpu-process/TestExpectations:
- platform/ios-wk2/TestExpectations: Newly revealed flaky timeout.
- 3:50 PM Changeset in webkit [290235] by
-
- 4 edits in trunk/LayoutTests
Unreviewed gardening.
- TestExpectations: Tests are passing after r290229.
- gpu-process/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 3:36 PM Changeset in webkit [290234] by
-
- 2 edits in trunk/LayoutTests
Unreviewed garden for GPU Process bots.
- gpu-process/TestExpectations: Annotate tests with filed bugs.
- 3:09 PM Changeset in webkit [290233] by
-
- 5 edits in trunk
Origin file may not be created after migrating data to general storage directory
https://bugs.webkit.org/show_bug.cgi?id=236901
Reviewed by Chris Dumez.
Source/WebKit:
In r289081, we started writing origin file asynchronouly (we used to write it at creation of
OriginStorageManager), to avoid delay in replying sync WebStorage message. In the async task, we check if the
OriginStorageManager still exists. If it does not, we will not write origin file, because the
OriginStorageManager may be removed after origin data gets deleted, and there's no need to add new origin file.
It's also possible that the OriginStorageManager is created for website data fetch, and removed immediately
after the fetch task is done (see NetworkStorageManager::fetchDataFromDisk). We used to not store
new data in general storage directory during data fetch, so it's fine to not write origin file in this case.
With r289878, existing data can be migrated to general storage directory at data fetch, so it is important to
ensure we write origin to file; otherwise, we will lose track of the origin. To solve this, let's restore the
old behavior that synchronouly writes origin file at creation of OriginStorageManager. To solve the delay issue,
in the sync message handler (NetworkStorageManager::connectToStorageArea), we specifically ask to not write
origin file, and manually write origin file after message is replied.
Updated existing API test to add test coverage.
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::localOriginStorageManager):
(WebKit::NetworkStorageManager::connectToStorageArea):
- NetworkProcess/storage/NetworkStorageManager.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- 12:47 PM Changeset in webkit [290232] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Rebaseline inert-focus-in-frames.html after r290197.
Unreviewed test gardening.
For some reason, the rebaselining changes didn't make it in the patch.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames-expected.txt:
- 10:32 AM Changeset in webkit [290231] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Flip inline block coords for vertical-rl before painting
https://bugs.webkit.org/show_bug.cgi?id=236896
Reviewed by Antti Koivisto.
This is similar to what we do in LegacyInlineElementBox::paint.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::paint):
- 9:54 AM Changeset in webkit [290230] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.6
- 9:53 AM Changeset in webkit [290229] by
-
- 46 edits1 copy in trunk
[IFC][Integration] Enable non-paginated vertical-lr writing mode
https://bugs.webkit.org/show_bug.cgi?id=236481
<rdar://problem/89123721>
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Progressions.
- web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-expected.txt:
- web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline-expected.txt:
Source/WebCore:
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForStyle):
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
- layout/integration/LayoutIntegrationCoverage.h:
LayoutTests:
Progression:
- css3/flexbox/line-wrapping.html:
Legacy layout bounds floor/ceil mismatch:
- fast/block/float/float-with-fractional-height-vertical-lr.html:
- imported/blink/fast/multicol/vertical-lr/float-big-line-expected.html:
- imported/blink/fast/multicol/vertical-lr/float-big-line.html:
Progression (visually matching Chrome)
- platform/mac/fast/writing-mode/border-image-vertical-lr-expected.txt:
- platform/mac/fast/writing-mode/border-radius-clipping-vertical-lr-expected.txt:
- platform/mac/fast/writing-mode/border-styles-vertical-lr-expected.txt:
- platform/mac/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt:
- platform/mac/fast/writing-mode/box-shadow-vertical-lr-expected.txt:
- platform/mac/fast/writing-mode/text-orientation-basic-expected.txt:
- 9:51 AM Changeset in webkit [290228] by
-
- 1 copy in branches/safari-614.1.5-branch
New branch.
- 8:01 AM Changeset in webkit [290227] by
-
- 7 edits1 add in trunk
Generate compile_commands.json on macOS Builds
https://bugs.webkit.org/show_bug.cgi?id=235686
Patch by Brandon Stewart <Brandon> on 2022-02-20
Reviewed by Saam Barati.
Add support for generating compile_commands.json file to WebKit.
compile_commands.json can be used by tools like clangd to provide code complete,
refactoring, formatting, and cross references.
Steps to generate the compile commands file:
make d EXPORT_COMPILE_COMMANDS=YES
generate-compile-commands WebKitBuild/Debug
.:
- Makefile.shared:
Source/WebKit:
- UIProcess/API/C/WKPageUIClient.h:
Tools:
- Scripts/build-jsc:
- Scripts/build-webkit:
- Scripts/generate-compile-commands: Added.
- 7:45 AM Changeset in webkit [290226] by
-
- 2 edits in trunk/Tools
[EWS] Enable iOS Simulator queues for PRs
https://bugs.webkit.org/show_bug.cgi?id=236816
<rdar://problem/89117393>
Reviewed by Ryan Haddad.
- Tools/CISupport/ews-build/config.json:
Canonical link: https://commits.webkit.org/247552@main
- 6:17 AM Changeset in webkit [290225] by
-
- 10 edits in trunk/Source/WebCore
RenderBox::flipForWritingModeForChild should take const RenderBox& as the child renderer
https://bugs.webkit.org/show_bug.cgi?id=236895
Reviewed by Antti Koivisto.
- rendering/LegacyInlineElementBox.cpp:
(WebCore::LegacyInlineElementBox::paint):
(WebCore::LegacyInlineElementBox::nodeAtPoint):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChild):
(WebCore::RenderBlock::hitTestContents):
(WebCore::RenderBlock::paintExcludedChildrenInBorder):
(WebCore::RenderBlock::hitTestExcludedChildrenInBorder):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::paintColumnRules):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::flipForWritingModeForChild const):
(WebCore::RenderBox::topLeftLocation const):
- rendering/RenderBox.h:
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::hitTestChildren):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::paintObject):
(WebCore::RenderTable::nodeAtPoint):
- rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::nodeAtPoint):
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paintCell):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::nodeAtPoint):
- 5:14 AM Changeset in webkit [290224] by
-
- 2 edits in trunk/Tools
REGRESSION(r289470): [Flatpak SDK] Broken local SDK handling
https://bugs.webkit.org/show_bug.cgi?id=236940
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-20
Reviewed by Martin Robinson.
The .Local path was incorrectly generated to WebKitBuild/UserFlatpak/.Local.
- flatpak/flatpakutils.py:
(WebkitFlatpak.clean_args): Revert .Local SDK path handling to the version before r289470.
Feb 19, 2022:
- 11:12 PM Changeset in webkit [290223] by
-
- 21 edits in trunk/Source
Optimize DOM storage event dispatch
https://bugs.webkit.org/show_bug.cgi?id=236871
Reviewed by Sihui Liu.
Made the following optimization to DOM storage event dispatch:
- Pass a SecurityOrigin around instead of a SecurityOriginData. Otherwise, dispatchLocalStorageEvents() / dispatchSessionStorageEvents() just keep reconstructing the SecurityOrigin from the SecurityOriginData for every frame.
- When gathering the list of frames where we need to dispatch the storage event, discard the ones that do not have a "storage" event listener.
Source/WebCore:
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):
- inspector/agents/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
(WebCore::InspectorDOMStorageAgent::findStorageArea):
- inspector/agents/InspectorDOMStorageAgent.h:
- loader/EmptyClients.cpp:
- page/DOMWindow.cpp:
- storage/StorageEventDispatcher.cpp:
(WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
(WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
- storage/StorageEventDispatcher.h:
- storage/StorageNamespace.h:
- storage/StorageNamespaceProvider.cpp:
(WebCore::StorageNamespaceProvider::localStorageArea):
Source/WebKit:
- WebProcess/WebStorage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::StorageAreaMap):
(WebKit::framesForEventDispatching):
(WebKit::StorageAreaMap::dispatchSessionStorageEvent):
(WebKit::StorageAreaMap::dispatchLocalStorageEvent):
- WebProcess/WebStorage/StorageAreaMap.h:
- WebProcess/WebStorage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::storageArea):
- WebProcess/WebStorage/StorageNamespaceImpl.h:
Source/WebKitLegacy:
- Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::StorageAreaImpl):
(WebKit::StorageAreaImpl::create):
(WebKit::StorageAreaImpl::clearForOriginDeletion):
(WebKit::StorageAreaImpl::sync):
(WebKit::StorageAreaImpl::sessionChanged):
- Storage/StorageAreaImpl.h:
- Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::storageArea):
- Storage/StorageNamespaceImpl.h:
- 9:15 PM Changeset in webkit [290222] by
-
- 3 edits in trunk/LayoutTests
Unreviewed gardening for GPU Process bots.
- gpu-process/TestExpectations:
- platform/ios/TestExpectations:
- 9:13 PM Changeset in webkit [290221] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening. Relating tests failing due to turning accel drawing on to b236904.
- platform/ios/TestExpectations:
- 8:35 PM Changeset in webkit [290220] by
-
- 6 edits in trunk/LayoutTests
Test gardening for [CSS Blending] Non-separable blend modes don't work
https://bugs.webkit.org/show_bug.cgi?id=131354
LayoutTests/imported/mozilla:
Unreviewed. Add fuzzy data.
- svg/blend-color.svg:
- svg/blend-hue.svg:
- svg/blend-luminosity.svg:
LayoutTests:
Unreviewed.
- 5:42 PM Changeset in webkit [290219] by
-
- 2 edits in trunk/Source/WebKit
macCatalyst: WKWebView crashes whenever the view frame changes
https://bugs.webkit.org/show_bug.cgi?id=236887
<rdar://problem/89182039>
Reviewed by Chris Dumez.
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _acquireResizeAssertionForReason:]):
Add a respondsToSelector check.
- 5:34 PM Changeset in webkit [290218] by
-
- 2 edits in trunk/Tools
Set custom general storage directory for custom WebsiteDataStore in TestController
https://bugs.webkit.org/show_bug.cgi?id=236893
Reviewed by Chris Dumez.
If we don't set custom generalStorageDirectory for a custom WebsiteDataStore, it will use the same path as the
default WebsiteDataStore. That means when WebKitTestRunner creates multiple WebsiteDataStores (it may create
mutliple TestControllers to run tests in parallel), the directory will be accessed concurrently and data can be
corrupted.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::configureWebsiteDataStoreTemporaryDirectories):
- 3:05 PM Changeset in webkit [290217] by
-
- 91 edits2 adds in trunk/Source/WebCore
[Re-landing] Provide a WebCore subspaceImplFor template to make code more readable.
https://bugs.webkit.org/show_bug.cgi?id=236868
rdar://problem/89170090
Reviewed by Yusuke Suzuki.
The pre-existing code is difficult to follow, especially in CodeGeneratorJS.pm.
This change also consolidates the framework implementation of subspaceForImpl in
one place rather than scattered across 3 locations. This will make it easier to
change this code in the future.
Also introduced ExtendedDOMIsoSubspace and ExtendedDOMClientIsoSubspaces classes
and moved the FileSystemDirectoryHandleIterator subspaces in there. This makes
the code behave more consistently for FileSystemDirectoryHandleIterator's
IsoSubspace as for other IsoSubspaces.
Also rebased bindings test results.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/ExtendedDOMClientIsoSubspaces.h: Added.
- bindings/js/ExtendedDOMIsoSubspaces.h: Added.
- bindings/js/JSFileSystemDirectoryHandleIterator.cpp:
(WebCore::JSFileSystemDirectoryHandleIterator::subspaceForImpl):
- bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSHeapData::JSHeapData):
(WebCore::JSVMClientData::JSVMClientData):
- bindings/js/WebCoreJSClientData.h:
(WebCore::JSHeapData::subspaces):
(WebCore::JSVMClientData::idbSerializationSpace):
(WebCore::JSVMClientData::clientSubspaces):
(WebCore::subspaceForImpl):
(WebCore::JSHeapData::fileSystemDirectoryHandleIteratorSpace): Deleted.
(WebCore::JSHeapData::setFileSystemDirectoryHandleIteratorSpace): Deleted.
(WebCore::JSVMClientData::fileSystemDirectoryHandleIteratorSpace): Deleted.
(WebCore::JSVMClientData::setFileSystemDirectoryHandleIteratorSpace): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateIterableDefinition):
- bindings/scripts/test/JS/JSDOMWindow.cpp:
(WebCore::JSDOMWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
(WebCore::JSDedicatedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedStar.cpp:
(WebCore::JSExposedStar::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
(WebCore::JSExposedToWorkerAndWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
(WebCore::JSPaintWorkletGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
(WebCore::JSServiceWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
(WebCore::JSShadowRealmGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:
(WebCore::JSSharedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactions::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracer::subspaceForImpl):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:
(WebCore::JSTestConditionalIncludes::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:
(WebCore::JSTestConditionallyReadWrite::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJIT::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
(WebCore::JSTestDefaultToJSON::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
(WebCore::JSTestDefaultToJSONFilteredByExposed::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:
(WebCore::JSTestDefaultToJSONIndirectInheritance::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
(WebCore::JSTestDefaultToJSONInherit::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
(WebCore::JSTestDefaultToJSONInheritFinal::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp:
(WebCore::JSTestDelegateToSharedSyntheticAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDomainSecurity.cpp:
(WebCore::JSTestDomainSecurity::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySetting::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContext::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::subspaceForImpl):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:
(WebCore::JSTestGenerateAddOpaqueRoot::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfacePrototypeFunction_entriesCaller):
(WebCore::JSTestInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::jsTestIterablePrototypeFunction_entriesCaller):
(WebCore::JSTestIterable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
(WebCore::JSTestLegacyFactoryFunction::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp:
(WebCore::JSTestLegacyNoInterfaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLike.cpp:
(WebCore::JSTestMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp:
(WebCore::JSTestMapLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWith::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamespaceObject.cpp:
(WebCore::JSTestNamespaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunction_entriesCaller):
(WebCore::JSTestNode::subspaceForImpl):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOperationConditional.cpp:
(WebCore::JSTestOperationConditional::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEvent::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp:
(WebCore::JSTestReadOnlyMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp:
(WebCore::JSTestReadOnlySetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp:
(WebCore::JSTestReportExtraMemoryCost::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLike.cpp:
(WebCore::JSTestSetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp:
(WebCore::JSTestSetLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToString::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTaggedWrapper.cpp:
(WebCore::JSTestTaggedWrapper::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefs::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:
(WebCore::JSWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:
(WebCore::JSWorkletGlobalScope::subspaceForImpl):
- 3:01 PM Changeset in webkit [290216] by
-
- 1 copy in tags/Safari-614.1.4.1
Tag Safari-614.1.4.1.
- 2:33 PM Changeset in webkit [290215] by
-
- 9 edits in branches/safari-614.1.4-branch/Source
Versioning.
WebKit-7614.1.4.1
- 1:42 PM Changeset in webkit [290214] by
-
- 4 edits in trunk
Unreviewed, reverting r290196.
Caused Network Process crashes <rdar://89190571>
Reverted changeset:
"Add assertion that no two network sessions share the same
storage path"
https://bugs.webkit.org/show_bug.cgi?id=236844
https://commits.webkit.org/r290196
- 1:16 PM Changeset in webkit [290213] by
-
- 4 edits1 delete in trunk
Unreviewed, reverting r290194 and r290210.
https://bugs.webkit.org/show_bug.cgi?id=236890
debug crash
Reverted changesets:
"[JSC] Make ArrayPrototype just an array"
https://bugs.webkit.org/show_bug.cgi?id=236869
https://commits.webkit.org/r290194
"Unreviewed, use ArrayWithUndecided in ArrayPrototype"
https://bugs.webkit.org/show_bug.cgi?id=236869
https://commits.webkit.org/r290210
- 1:02 PM Changeset in webkit [290212] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix the internal iOS build after r290154
-[ASCAgentProtocol performAutoFillAuthorizationRequestsForContext:]only exists on macOS and Catalyst; as
such, this call site needs to be guarded for those platforms.
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):
- 11:24 AM Changeset in webkit [290211] by
-
- 13 edits in trunk/Source/WebKit
[macOS] Hovering over "Copy Cropped Image" context menu item should reveal the cropped image
https://bugs.webkit.org/show_bug.cgi?id=236845
rdar://89152746
Reviewed by Dean Jackson.
Add support for revealing the "cropped" region of an image element (while dimming out the rest of the image)
when the user highlights the new "Copy Cropped Image" context menu item on macOS. See below for more details.
- Platform/cocoa/TextRecognitionUtilities.h:
Adjust
requestImageAnalysisMarkupto take a completion handler with both the resulting CGImageRef, as well as
a CGRect that represents the frame of the cropped image with respect to the source image, normalized to the unit
square. Additionally, tweak all call sites ofrequestImageAnalysisMarkupto pass in completion handlers that
accept both arguments.
- Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::encode const):
(WebKit::ContextMenuContextData::decode):
- Shared/ContextMenuContextData.h:
(WebKit::ContextMenuContextData::hitTestedElementContext const):
Add an optional ElementContext representing the inner hit-tested element for the context menu. We use this below
inWebPageProxy::willHighlightContextMenuItemto know where we need to install the cropped image overlay.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didDismissContextMenu):
Reset the cached cropped image result as well as the cropped image overlay state when the context menu is
dismissed.
(WebKit::WebPageProxy::resetStateAfterProcessExited):
Also clear the above state if the process crashes.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView doAfterComputingImageAnalysisResultsForMarkup:]):
(-[WKContentView actionSheetAssistant:copyCroppedImage:sourceMIMEType:]):
- UIProcess/mac/WebContextMenuProxyMac.mm:
(-[WKMenuDelegate menu:willHighlightItem:]):
Implement this NSMenu delegate method and call out to WebPageProxy whenever the highlighted context menu item
changes. See below for more details.
(WebKit::WebContextMenuProxyMac::applyMarkupToControlledImage):
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::willHighlightContextMenuItem):
This method coordinates showing or hiding the cropped image overlay when the user highlights (but does not yet
select) the "Copy Cropped Image" context menu item. When the user first highlights this item, we trigger an
analysis request in VisionKit; when we later obtain the results, we send the image to the web process as TIFF
data, and inject it into the image usingImageOverlay::CroppedImage::install. Un-highlighting and re-
highlighting the menu item then respectively hides and shows the cropped image overlay by setting visibility.
(WebKit::WebPageProxy::handleContextMenuCopyCroppedImage):
Adjust this to use the cached
m_croppedImageResultif it has already been computed.
- WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::show):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didDismissContextMenu):
Destroy the
m_croppedImageOverlayafter the context menu is dismissed (which uninstalls the cropped image
overlay in the process).
(WebKit::WebPage::installCroppedImageOverlay):
(WebKit::WebPage::setCroppedImageOverlayVisibility):
Add methods to install and toggle the visibility of the cropped image overlay.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 9:51 AM Changeset in webkit [290210] by
-
- 3 edits1 add in trunk
Unreviewed, use ArrayWithUndecided in ArrayPrototype
https://bugs.webkit.org/show_bug.cgi?id=236869
JSTests:
- stress/array-prototype-concat.js: Added.
Source/JavaScriptCore:
- runtime/ArrayPrototype.h:
- 9:43 AM Changeset in webkit [290209] by
-
- 16 edits7 adds in trunk
[JSC] Implement Temporal.PlainDate
https://bugs.webkit.org/show_bug.cgi?id=230033
<rdar://problem/83127747>
Reviewed by Yusuke Suzuki.
JSTests:
Some basic tests for PlainDate.
- stress/temporal-plaindate.js: Added.
(shouldBe):
(shouldThrow):
(shouldBe.String.Temporal.PlainDate.from):
(let.text.of.failures.shouldThrow):
Source/JavaScriptCore:
Implement the constructor,
fromandcomparefor Temporal.PlainDate.
This is only a partial implementation, becausefromdoesn't
support object parameters, and thecomparefunction creates some
internally. However, it is a start!
- DerivedSources-input.xcfilelist: Add new files.
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- heap/Heap.cpp: Create the temporalPlainDateSpace.
- heap/Heap.h:
- heap/HeapSubspaceTypes.h:
- runtime/ISO8601.cpp:
(JSC::ISO8601::daysInMonth): Make this publicly visible.
(JSC::ISO8601::temporalDateToString): New method for printing a date.
- runtime/ISO8601.h:
- runtime/JSGlobalObject.cpp: Make the m_plainDateStructure object.
(JSC::JSGlobalObject::init):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::plainDateStructure):
- runtime/TemporalObject.cpp: Add the PlainDate constructor.
(JSC::createPlainDateConstructor):
- runtime/TemporalObject.h:
- runtime/TemporalPlainDate.cpp: Added.
(JSC::TemporalPlainDate::create):
(JSC::TemporalPlainDate::createStructure):
(JSC::TemporalPlainDate::TemporalPlainDate):
(JSC::TemporalPlainDate::finishCreation):
(JSC::TemporalPlainDate::visitChildrenImpl):
(JSC::toPlainDate):
(JSC::TemporalPlainDate::tryCreateIfValid):
(JSC::TemporalPlainDate::toString const):
(JSC::TemporalPlainDate::from):
(JSC::TemporalPlainDate::compare):
- runtime/TemporalPlainDate.h: Added.
- runtime/TemporalPlainDateConstructor.cpp: Added.
(JSC::TemporalPlainDateConstructor::create):
(JSC::TemporalPlainDateConstructor::createStructure):
(JSC::TemporalPlainDateConstructor::TemporalPlainDateConstructor):
(JSC::TemporalPlainDateConstructor::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/TemporalPlainDateConstructor.h: Added.
- runtime/TemporalPlainDatePrototype.cpp: Added.
(JSC::TemporalPlainDatePrototype::create):
(JSC::TemporalPlainDatePrototype::createStructure):
(JSC::TemporalPlainDatePrototype::TemporalPlainDatePrototype):
(JSC::TemporalPlainDatePrototype::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSC_DEFINE_CUSTOM_GETTER):
- runtime/TemporalPlainDatePrototype.h: Added.
- runtime/VM.h: Define the temporalPlainDateSpace.
- 9:31 AM Changeset in webkit [290208] by
-
- 11 edits in trunk/LayoutTests
Unreviewed gardening for GPU Process bots.
LayoutTests/imported/mozilla:
- svg/blend-hard-light.svg:
LayoutTests:
- gpu-process/TestExpectations:
- platform/ios/TestExpectations:
- compositing/images/positioned-image-content-rect.html:
- compositing/overlap-blending/nested-overlap.html:
- css2.1/20110323/height-applies-to-010a.htm:
- fast/borders/border-radius-on-html.html:
- fast/replaced/ul-li-word-break-break-word.html:
- imported/blink/fast/scrolling/fractional-scroll-offset-iframe-fixed-position.html:
- 8:16 AM Changeset in webkit [290207] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Add support for ideographic baseline with font fallback
https://bugs.webkit.org/show_bug.cgi?id=236872
Reviewed by Antti Koivisto.
Let's use the pre-collected fallback fonts to adjust the inline box layout bounds with their ideographic baselines.
This is in preparation for enabling vertical text.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustLayoutBoundsWithFallbackFonts const):
(WebCore::Layout::LineBoxBuilder::collectFallbackFonts):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
- layout/formattingContexts/inline/InlineLineBoxBuilder.h:
- 6:45 AM Changeset in webkit [290206] by
-
- 14 edits1 add5 deletes in trunk
[WPE][GTK] Enable Thunder and remove old Clearkey CDM/Decryptor
https://bugs.webkit.org/show_bug.cgi?id=235492
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-19
Reviewed by Xabier Rodriguez-Calvar.
.:
Enable Thunder in developer builds, this is now needed for the clearkey EME layout tests.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/WebCore:
The Thunder decryptor can now handle ClearKey payloads, as long as the underlying ocdm
library advertises it as supported. Thus the dedicated ClearKey decryptor is no longer
needed and can be removed.
Covered by existing EME ClearKey layout tests.
- platform/GStreamer.cmake:
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::registerWebKitGStreamerElements):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- platform/graphics/gstreamer/eme/CDMFactoryGStreamer.cpp:
(WebCore::CDMFactory::platformRegisterFactories):
- platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp: Removed.
(): Deleted.
(WebCore::CDMProxyFactoryClearKey::singleton): Deleted.
(WebCore::CDMProxyFactoryClearKey::createCDMProxy): Deleted.
(WebCore::CDMProxyFactoryClearKey::supportsKeySystem): Deleted.
(WebCore::CDMProxyClearKey::~CDMProxyClearKey): Deleted.
(WebCore::CDMProxyClearKey::cencSetCounterVector): Deleted.
(WebCore::CDMProxyClearKey::cencSetDecryptionKey): Deleted.
(WebCore::CDMProxyClearKey::cencDecryptFullSample): Deleted.
(WebCore::CDMProxyClearKey::cencDecryptSubsampled): Deleted.
(WebCore::CDMProxyClearKey::cencDecrypt): Deleted.
(WebCore::CDMProxyClearKey::closeGCryptHandle): Deleted.
(WebCore::CDMProxyClearKey::gCryptHandle): Deleted.
- platform/graphics/gstreamer/eme/CDMProxyClearKey.h: Removed.
(): Deleted.
- platform/graphics/gstreamer/eme/CDMThunder.cpp:
(WebCore::CDMFactoryThunder::supportedKeySystems const):
- platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp: Removed.
(webkit_media_clear_key_decrypt_class_init): Deleted.
(protectionSystemId): Deleted.
(cdmProxyAttached): Deleted.
(decrypt): Deleted.
- platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.h: Removed.
- platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp:
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcSendEvent):
LayoutTests:
Update EME ClearKey baselines, a few more tests were enabled.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/encrypted-media/idlharness.https-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/idlharness.https-expected.txt: Removed.
- 6:05 AM Changeset in webkit [290205] by
-
- 15 edits in trunk
[CSS Container Queries] Match container queries correctly in non-rendered subtrees
https://bugs.webkit.org/show_bug.cgi?id=236840
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/backdrop-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/display-contents-expected.txt:
- web-platform-tests/css/css-contain/container-queries/display-none-expected.txt:
- web-platform-tests/css/css-contain/container-queries/pseudo-elements-001-expected.txt:
- web-platform-tests/css/css-contain/container-queries/pseudo-elements-003.tentative-expected.txt:
- web-platform-tests/css/css-contain/container-queries/size-container-no-principal-box-expected.txt:
- web-platform-tests/css/css-contain/container-queries/top-layer-dialog-container-expected.txt:
- web-platform-tests/css/css-contain/container-queries/top-layer-dialog-expected.txt:
- web-platform-tests/css/css-contain/container-queries/top-layer-nested-dialog-expected.txt:
Source/WebCore:
"If the query container does not have a principal box ... then the result of evaluating the size feature is unknown."
https://drafts.csswg.org/css-contain-3/#size-container
- rendering/updating/RenderTreeBuilderFirstLetter.cpp:
(WebCore::styleForFirstLetter):
Remove the assert, this issue is tested by marked-as-failure
imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-002.tentative.html
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::ContainerQueryEvaluator):
(WebCore::Style::ContainerQueryEvaluator::evaluate const):
(WebCore::Style::ContainerQueryEvaluator::resolveContainer const):
Factor into a function.
If we don't have selector matching state (like we do during style resolution) then look up containers from DOM.
An element without a renderer may still be a valid container (size queries againt it evaluate to unknown).
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
- style/ContainerQueryEvaluator.h:
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::containerQueryMatches):
Evaluate to unknown if we don't have a principal box.
- 5:30 AM Changeset in webkit [290204] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Introduce LineBoxBuilder::collectFallbackFonts
https://bugs.webkit.org/show_bug.cgi?id=236866
Reviewed by Antti Koivisto.
Let's move fallback font collect to a dedicated function and stop leaking internal line types to TextUtil.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::collectFallbackFonts):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::fallbackFontHasVerticalGlyph): Deleted.
- layout/formattingContexts/inline/InlineLineBoxBuilder.h:
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::fallbackFontsForText):
(WebCore::Layout::TextUtil::fallbackFontsForRun): Deleted.
- layout/formattingContexts/inline/text/TextUtil.h:
- 4:36 AM Changeset in webkit [290203] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r290175): ASSERTION FAILED: platformSample.type == PlatformSample::CMSampleBufferType while running webgl tests
https://bugs.webkit.org/show_bug.cgi?id=236878
Add a missing hunk.
Unreviewed, TBR Eric Carlson.
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-19
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
(WebKit::RemoteVideoFrameObjectHeap::getVideoFrameBuffer):
- 1:01 AM Changeset in webkit [290202] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] layoutBoundsForInlineBox should read layoutBoundsPrimaryMetricsForInlineBox
https://bugs.webkit.org/show_bug.cgi?id=236864
Reviewed by Antti Koivisto.
layoutBoundsForInlineBox returns the layout bounds based on the primary font.
This is in preparation for adding font fallback support for ideographic baseline.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::layoutBoundsPrimaryMetricsForInlineBox):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
(WebCore::Layout::layoutBoundsMetricsForInlineBox): Deleted.
- 12:48 AM Changeset in webkit [290201] by
-
- 8 edits2 adds in trunk
REGRESSION (r287524): hihello.me does not show sliding sheet at the bottom of the page
https://bugs.webkit.org/show_bug.cgi?id=236838
rdar://88672183
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Add new WPT tests to check we correctly compute implicit keyframes when a 0% and/or 100% keyframe
is defined but only specifies a timing function. One test checks the output of getKeyframes() and
the other that we correctly account for the implicit vaues when computing styles.
- web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt:
- web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative.html:
- web-platform-tests/css/css-animations/animation-multiple-from-to-keyframes-with-only-timing-function-expected.txt: Added.
- web-platform-tests/css/css-animations/animation-multiple-from-to-keyframes-with-only-timing-function.html: Added.
Source/WebCore:
When we fixed bug 234799 we fixed the behavior of keyframe deduplication in
Style::Resolver::keyframeRulesForName(). While this was a good fix, code that
relied on the KeyframeList that would eventually be yielded from that function
did not quite correctly add implicit keyframes for the 0% and 100% case in some
relatively obscure situation.
The site hihello.me made this shortcoming apparent. This site has this odd keyframe rule:
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
It appears the intention of the author with this rule is to replicate the timing function
on multiple keyframes. However, this does not work. This timing function will not be used
for *anything* since if a rule is specified without an animation-timing-function value it
will use the value set on the element, not one on a different keyframe.
This also means that while there are explicit 0% and 100% keyframes, they are not adequate
to then compute implicit properties since the timing function wouldn't match the default
timing function (unless the element that those keyframes are applied to would happen to
specify that exact same timing function).
To correctly handle this, we need to do several things.
First of all, we remove the implicit keyframe code found in KeyframeEffect::getKeyframes()
and let KeyframeList::fillImplicitKeyframes() do all the work to correctly fill-in values
for properties not eplicitly specified on a 0% or 100% keyframe.
This means we need to improve that function to correctly do the task that it's supposed to
do. Now provided with a KeyframeEffect and an underlying style as parameters, for 0% and
100% it correctly:
- compiles a list of implicit properties for the given keyframe
- find a compatible keyframe for the implicit properties or create one
- set the implicit properties on that compatible keyframe to match the values found in the underlying style
This correctly takes cares of calls to getKeyframes() as well as the generation of keyframes
passed down to RenderLayerBacking when starting an accelerated animation.
But RenderLayerBacking also had some outdated assumptions on the KeyframeList it receives.
Indeed, it would always assume that a 0% or 100% keyframe would *always* specify properties
for the animated property. That was incorrect since we correctly deduplicate keyframes and
having several 0% or 100% keyframes is perfectly valid. Now we don't give special treatment
to 0% or 100% keyframes in RenderLayerBacking::startAnimation() and always check that a keyframe
features values for the animated property before creating an animation value to send down
to GraphicsLayer.
Finally, another place we make assumptions on implicit keyframes was when resolving styles
as effects are applied in KeyframeEffect::setAnimatedPropertiesInStyle(). There we assumed
that a 0% or 100% keyframe would always qualify as a keyframe containing the animated property,
whereas the steps for resolving styles as specified by the Web Animations specification has
logic to deal with the case where we don't find a 0% or 100% keyframe with an explicit value
for the animated property. So we simplified the checks there to only ever check for an
explicit value.
This rather obscure way to specify keyframes was not previously tested by WPT, so this patch
improves the testing coverage in a way that would have caught this regression in the first place.
Test: imported/w3c/web-platform-tests/css/css-animations/animation-multiple-from-to-keyframes-with-only-timing-function.html
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::getKeyframes):
(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):
(WebCore::KeyframeEffect::applyPendingAcceleratedActions):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation):
- rendering/style/KeyframeList.cpp:
(WebCore::KeyframeList::insert):
(WebCore::KeyframeList::fillImplicitKeyframes):
- rendering/style/KeyframeList.h:
Feb 18, 2022:
- 11:22 PM Changeset in webkit [290200] by
-
- 4 edits in trunk/Source/WebKit
ASSERTION FAILED: !hasAnyOpenConnections() in UniqueIDBDatabase::~UniqueIDBDatabase()
https://bugs.webkit.org/show_bug.cgi?id=236856
Reviewed by Chris Dumez.
The assertion is hit when running API test WebKit.MigrateIndexedDBDataToGeneralStorageDirectory. We need to
properly close UniqueIDBDatabase before it's destroyed.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::storageSession): remove logging as it was added when we had check for
default session. Since we don't have the check now, the logging does not make much sense.
- NetworkProcess/storage/IDBStorageManager.cpp:
(WebKit::IDBStorageManager::~IDBStorageManager):
- NetworkProcess/storage/IDBStorageManager.h:
- 11:19 PM Changeset in webkit [290199] by
-
- 4 edits in trunk/Tools
[Tools] Sanitizer builds should obey
set-webkit-configuration --force-optimization-level
<https://webkit.org/b/236859>
<rdar://problem/89161649>
Reviewed by Brent Fulgham.
- Scripts/webkitdirs.pm:
(XcodeOptions):
- Pass WK_FORCE_OPTIMIZATION_LEVEL instead of GCC_OPTIMIZATION_LEVEL if sanitizers are enabled so the optimization level can be overridden in sanitizer.xcconfig.
- sanitizer/asan.xcconfig:
(WK_NOT_): Remove.
(WK_NOT_YES): Remove.
- Move variables to sanitizer.xcconfig.
- sanitizer/sanitizer.xcconfig:
(WK_EMPTY_): Add.
(WK_NOT_): Add.
(WK_NOT_YES): Add.
- Add utility variables originally from SDKVariant.xcconfig.
(WK_OVERRIDE_OPTIMIZATION_LEVEL): Add.
- Set to YES/NO depending on whether WK_FORCE_OPTIMIZATION_LEVEL is set.
(GCC_OPTIMIZATION_LEVEL):
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_YES): Add.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO): Add.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Debug): Rename from GCC_OPTIMIZATION_LEVEL_Debug.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Production): Rename from GCC_OPTIMIZATION_LEVEL_Production.
(GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Release): Rename from GCC_OPTIMIZATION_LEVEL_Release.
- Make use of WK_OVERRIDE_OPTIMIZATION_LEVEL and WK_FORCE_OPTIMIZATION_LEVEL to allow overriding the default optimization level for sanitizer builds.
- 9:26 PM Changeset in webkit [290198] by
-
- 10 edits17 adds in trunk
Hook up PushManager to permission state
https://bugs.webkit.org/show_bug.cgi?id=236739
Reviewed by Brady Eidson.
Source/WebCore:
This implements PushManager.permissionState. It returns the same value as
Notification.permission through the same mechanism.
This also makes PushManager.subscribe request permission from the user to show notifications
if the permission is in the default state and these requirements are met:
- The caller is a document with the same origin as a top level document. This means that cross-origin iframes cannot request push permissions. This matches Chrome's behavior.
- The caller cannot be a service worker. This limitation is allowed for by the spec.
There also needs to be some code added which removes a push subscription if the user deletes
the subscription entirely in the UI, for instance when the UIProcess calls
WKNotificationManagerProviderDidRemoveNotificationPolicies. That will be handled in a
separate patch.
Covered by new layout tests.
- Modules/push-api/PushManager.cpp:
(WebCore::PushManager::subscribe):
(WebCore::PushManager::getSubscription):
(WebCore::PushManager::permissionState):
Source/WebKit:
Update comment explaining why we still have a permission state stub in webpushd.
- webpushd/WebPushDaemon.mm:
(WebPushD::Daemon::getPushPermissionState):
Tools:
Made the WebPushD API tests work now that subscribe checks for permission.
- TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
LayoutTests:
Added tests that make sure that PushManager.permissionState() and PushManager.subscribe()
respect the notification permission level for the current origin.
I made these regular tests rather than WPT tests because the WPT test harness calls
grantWebNotificationPermission at the top of its setup script (in testharnessreport.js), and
I didn't want to change that for this patch.
- http/tests/push-api/resources/push-api-test-pre.js: Added.
(finishPushAPITest):
(waitForState):
- http/tests/push-api/resources/subscribe-iframe-cross-origin.html: Added.
- http/tests/push-api/resources/subscribe-iframe-same-origin.html: Added.
- http/tests/push-api/resources/subscribe-tests.js: Added.
(async testServiceWorkerPermissionState):
(async testDocumentPermissionState):
(async testServiceWorkerSubscribe):
(async testDocumentSubscribe):
- http/tests/push-api/resources/subscribe-worker.js: Added.
(async event):
- http/tests/push-api/subscribe-default-permissions-expected.txt: Added.
- http/tests/push-api/subscribe-default-permissions-iframe-cross-origin-expected.txt: Added.
- http/tests/push-api/subscribe-default-permissions-iframe-cross-origin.html: Added.
- http/tests/push-api/subscribe-default-permissions-iframe-same-origin-expected.txt: Added.
- http/tests/push-api/subscribe-default-permissions-iframe-same-origin.html: Added.
- http/tests/push-api/subscribe-default-permissions.html: Added.
- http/tests/push-api/subscribe-deny-permissions-expected.txt: Added.
- http/tests/push-api/subscribe-deny-permissions.html: Added.
- http/tests/push-api/subscribe-grant-permissions-expected.txt: Added.
- http/tests/push-api/subscribe-grant-permissions.html: Added.
- platform/gtk/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 8:27 PM Changeset in webkit [290197] by
-
- 3 edits in trunk
Stop propagating inertness through iframes in Node::deprecatedIsInert()
https://bugs.webkit.org/show_bug.cgi?id=236512
Reviewed by Chris Dumez.
This is only a bug for Node::deprecatedIsInert(), so it only affects focus. Selection APIs, etc. weren't affected
before this bug.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames-expected.txt:
Source/WebCore:
Test: web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames.html
- dom/Node.cpp:
(WebCore::Node::deprecatedIsInert const):
- 8:14 PM Changeset in webkit [290196] by
-
- 4 edits in trunk
Source/WebKit:
Add assertion that no two network sessions share the same storage path
https://bugs.webkit.org/show_bug.cgi?id=236844
Reviewed by Chris Dumez.
Each NetworkStorageManager has its own queue and accesses the storage files on that queue, so we can't have two
NetworkworkStorageManagers use the same path, as the path may be accessed concurrently and cause corruption.
Currently we have an SPI for setting custom generalStorageDirectory for WebsiteDataStore (in
_WKWebsiteDataStoreConfiguration), which means SPI clients can create two sessions with the same path in theory.
Let's add an assertion to ensure that does not happen.
This assertion has helped find a bug in WebKitTestRunner that we didn't set custom generalStorageDirectory for a
custom WebsiteDataStore (so it's using the same path as default WebsiteDataStore).
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::activePaths):
(WebKit::NetworkStorageManager::NetworkStorageManager):
(WebKit::NetworkStorageManager::~NetworkStorageManager):
Tools:
Add assertion that no two network session share the same storage path
https://bugs.webkit.org/show_bug.cgi?id=236844
Reviewed by Chris Dumez.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::configureWebsiteDataStoreTemporaryDirectories):
- 7:56 PM Changeset in webkit [290195] by
-
- 4 edits in trunk/Source/bmalloc
[libpas] Increase scavenger period from 100ms to 125ms in Darwin x64
https://bugs.webkit.org/show_bug.cgi?id=236873
Reviewed by Saam Barati.
Make x64 scavenger less aggressive while maintaining Membuster neutral
to make it less work.
- libpas/src/libpas/pas_config_prefix.h:
- libpas/src/libpas/pas_scavenger.c:
- libpas/src/libpas/pas_utils.h:
- 7:53 PM Changeset in webkit [290194] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Make ArrayPrototype just an array
https://bugs.webkit.org/show_bug.cgi?id=236869
Reviewed by Saam Barati.
Originally, ArrayPrototype has slightly different memory layout & different logic etc.
But now, it is just an array with a lot of properties. We should just make it an array.
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
- runtime/ArrayPrototype.h:
- 7:21 PM Changeset in webkit [290193] by
-
- 91 edits2 deletes in trunk/Source/WebCore
Unreviewed, reverting r290188.
https://bugs.webkit.org/show_bug.cgi?id=236875
Broke WebKitGTK & WPE build bots
Reverted changeset:
"Provide a WebCore subspaceImplFor template to make code more
readable."
https://bugs.webkit.org/show_bug.cgi?id=236868
https://commits.webkit.org/r290188
Patch by Commit Queue <commit-queue@webkit.org> on 2022-02-18
- 6:47 PM Changeset in webkit [290192] by
-
- 2 edits in trunk/LayoutTests
http/wpt/push-api/onpush-disabled.html fails (incremental build issue?)
https://bugs.webkit.org/show_bug.cgi?id=236874
Unreviewed test gardening.
- TestExpectations: Mark test as failing to reduce impact on EWS.
- 6:09 PM Changeset in webkit [290191] by
-
- 2 edits1 copy in trunk/LayoutTests
REGRESSION(r287249): [ Monterey wk2 ] media/media-source/media-webm-vorbis-partial.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=236857
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-18
- platform/mac-bigsur/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt.
- platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Rebaslining due to test changes.
- 5:03 PM Changeset in webkit [290190] by
-
- 13 edits in trunk/Source/WebGPU
[WebGPU] Any object-creation function that takes a descriptor can fail
https://bugs.webkit.org/show_bug.cgi?id=236855
Reviewed by Dean Jackson.
Generally, we view allocation failure as catastrophic, and crash. Because of that, I originally
made these methods return Refs, because I expected the failure case to cause intentional crashes
rather than return nullptr.
However, descriptors the shared header have a nextInChain pointer, which allows callers to pass
in extra extension-specific structs, as a linked list. If the WebGPU implementation sees one of
these extra structs that it doesn't know what to do with, it has to fail. That means that it's
possible to fail in a way other than an allocation failure, which means these functions have to
return RefPtrs instead of Refs.
- WebGPU/Adapter.h:
- WebGPU/Adapter.mm:
(WebGPU::Adapter::requestDevice):
(wgpuAdapterRequestDevice):
- WebGPU/CommandEncoder.h:
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::beginComputePass):
(WebGPU::CommandEncoder::beginRenderPass):
(WebGPU::CommandEncoder::finish):
(wgpuCommandEncoderBeginComputePass):
(wgpuCommandEncoderBeginRenderPass):
(wgpuCommandEncoderFinish):
- WebGPU/Device.h:
- WebGPU/Device.mm:
(WebGPU::Device::createBindGroup):
(WebGPU::Device::createBindGroupLayout):
(WebGPU::Device::createBuffer):
(WebGPU::Device::createCommandEncoder):
(WebGPU::Device::createComputePipeline):
(WebGPU::Device::createComputePipelineAsync):
(WebGPU::Device::createPipelineLayout):
(WebGPU::Device::createQuerySet):
(WebGPU::Device::createRenderBundleEncoder):
(WebGPU::Device::createRenderPipeline):
(WebGPU::Device::createRenderPipelineAsync):
(WebGPU::Device::createSampler):
(WebGPU::Device::createShaderModule):
(WebGPU::Device::createSwapChain):
(WebGPU::Device::createTexture):
(WebGPU::Device::getQueue):
(wgpuDeviceCreateBindGroup):
(wgpuDeviceCreateBindGroupLayout):
(wgpuDeviceCreateBuffer):
(wgpuDeviceCreateCommandEncoder):
(wgpuDeviceCreateComputePipeline):
(wgpuDeviceCreateComputePipelineAsync):
(wgpuDeviceCreatePipelineLayout):
(wgpuDeviceCreateQuerySet):
(wgpuDeviceCreateRenderBundleEncoder):
(wgpuDeviceCreateRenderPipeline):
(wgpuDeviceCreateRenderPipelineAsync):
(wgpuDeviceCreateSampler):
(wgpuDeviceCreateShaderModule):
(wgpuDeviceCreateSwapChain):
(wgpuDeviceCreateTexture):
(wgpuDeviceGetQueue):
- WebGPU/Instance.h:
- WebGPU/Instance.mm:
(WebGPU::Instance::createSurface):
(wgpuInstanceCreateSurface):
- WebGPU/RenderBundleEncoder.h:
- WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::finish):
(wgpuRenderBundleEncoderFinish):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::Texture::createView):
(wgpuTextureCreateView):
- 5:02 PM Changeset in webkit [290189] by
-
- 19 edits in trunk/Source
Move content filtering to Networking process
https://bugs.webkit.org/show_bug.cgi?id=233760
<rdar://problem/86150702>
Reviewed by Brent Fulgham.
Source/WebCore:
Remove content filtering from DocumentLoader when the feature is enabled, since this takes place in the WebContent process.
Modify the ContentFilter class by removing use of the types CachedResoure and CachedRawResource, since objects of these
types are not available in the Networking process. Parameters with these types are replaced with URL parameters.
The new behavior is behind a feature flag, which is not enabled in this patch.
- WebCore.xcodeproj/project.pbxproj:
- loader/ContentFilter.cpp:
(WebCore::ContentFilter::startFilteringMainResource):
(WebCore::ContentFilter::stopFilteringMainResource):
(WebCore::ContentFilter::continueAfterResponseReceived):
(WebCore::ContentFilter::continueAfterDataReceived):
(WebCore::ContentFilter::continueAfterNotifyFinished):
(WebCore::ContentFilter::didDecide):
(WebCore::ContentFilter::deliverResourceData):
(WebCore::ContentFilter::url):
(WebCore::ContentFilter::deliverStoredResourceData):
- loader/ContentFilter.h:
(WebCore::ContentFilter::blockedError const):
(WebCore::ContentFilter::isAllowed const):
(WebCore::ContentFilter::responseReceived const):
- loader/ContentFilterClient.h:
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::notifyFinished):
(WebCore::DocumentLoader::willSendRequest):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::dataReceived):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::startLoadingMainResource):
(WebCore::DocumentLoader::clearMainResource):
(WebCore::DocumentLoader::becomeMainResourceClient):
(WebCore::DocumentLoader::contentFilterDidBlock):
(WebCore::DocumentLoader::handleContentFilterDidBlock):
(WebCore::DocumentLoader::handleContentFilterProvisionalLoadFailure):
(WebCore::DocumentLoader::contentFilterWillHandleProvisionalLoadFailure):
(WebCore::DocumentLoader::contentFilterHandleProvisionalLoadFailure):
- loader/DocumentLoader.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchDidFailProvisionalLoad):
- loader/PolicyChecker.cpp:
(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):
- loader/SubstituteData.h:
(WebCore::SubstituteData::encode const):
(WebCore::SubstituteData::decode):
- platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:
(WebCore::ContentFilterUnblockHandler::canHandleRequest const):
Source/WebKit:
Move content filtering from the DocumentLoader class in the WebProcess to the NetworkResourceLoader class in the
Networking process. The NetworkResourceLoader is now a client of the content filter, and will send messages
to the DocumentLoader in the WebProcess to cancel the load when the content filter decided to block the load.
If the content filter is providing replacement data, this will also be sent over IPC to the WebProcess.
Data is not being sent to the WebProcess until the content filter has decided to allow the load, if content
filtering is enabled.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::startContentFiltering):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::bufferingTimerFired):
(WebKit::NetworkResourceLoader::sendBuffer):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
(WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):
(WebKit::NetworkResourceLoader::contentFilterDidBlock):
(WebKit::NetworkResourceLoader::cancelMainResourceLoadForContentFilter):
(WebKit::NetworkResourceLoader::handleProvisionalLoadFailureFromContentFilter):
- NetworkProcess/NetworkResourceLoader.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::reloadAfterUnblockedContentFilter):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::contentFilterDidBlockLoad):
(WebKit::WebResourceLoader::cancelMainResourceLoadForContentFilter):
(WebKit::WebResourceLoader::handleProvisionalLoadFailureFromContentFilter):
(WebKit::WebResourceLoader::reload):
- WebProcess/Network/WebResourceLoader.h:
- WebProcess/Network/WebResourceLoader.messages.in:
- 4:57 PM Changeset in webkit [290188] by
-
- 91 edits2 adds in trunk/Source/WebCore
Provide a WebCore subspaceImplFor template to make code more readable.
https://bugs.webkit.org/show_bug.cgi?id=236868
rdar://problem/89170090
Reviewed by Yusuke Suzuki.
The pre-existing code is difficult to follow, especially in CodeGeneratorJS.pm.
This change also consolidates the framework implementation of subspaceForImpl in
one place rather than scattered across 3 locations. This will make it easier to
change this code in the future.
Also introduced ExtendedDOMIsoSubspace and ExtendedDOMClientIsoSubspaces classes
and moved the FileSystemDirectoryHandleIterator subspaces in there. This makes
the code behave more consistently for FileSystemDirectoryHandleIterator's
IsoSubspace as for other IsoSubspaces.
Also rebased bindings test results.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/ExtendedDOMClientIsoSubspaces.h: Added.
- bindings/js/ExtendedDOMIsoSubspaces.h: Added.
- bindings/js/JSFileSystemDirectoryHandleIterator.cpp:
(WebCore::JSFileSystemDirectoryHandleIterator::subspaceForImpl):
- bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSHeapData::JSHeapData):
(WebCore::JSVMClientData::JSVMClientData):
- bindings/js/WebCoreJSClientData.h:
(WebCore::JSHeapData::subspaces):
(WebCore::JSVMClientData::idbSerializationSpace):
(WebCore::JSVMClientData::clientSubspaces):
(WebCore::subspaceForImpl):
(WebCore::JSHeapData::fileSystemDirectoryHandleIteratorSpace): Deleted.
(WebCore::JSHeapData::setFileSystemDirectoryHandleIteratorSpace): Deleted.
(WebCore::JSVMClientData::fileSystemDirectoryHandleIteratorSpace): Deleted.
(WebCore::JSVMClientData::setFileSystemDirectoryHandleIteratorSpace): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateIterableDefinition):
- bindings/scripts/test/JS/JSDOMWindow.cpp:
(WebCore::JSDOMWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
(WebCore::JSDedicatedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedStar.cpp:
(WebCore::JSExposedStar::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
(WebCore::JSExposedToWorkerAndWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
(WebCore::JSPaintWorkletGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
(WebCore::JSServiceWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
(WebCore::JSShadowRealmGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:
(WebCore::JSSharedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactions::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracer::subspaceForImpl):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:
(WebCore::JSTestConditionalIncludes::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:
(WebCore::JSTestConditionallyReadWrite::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJIT::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
(WebCore::JSTestDefaultToJSON::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
(WebCore::JSTestDefaultToJSONFilteredByExposed::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:
(WebCore::JSTestDefaultToJSONIndirectInheritance::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
(WebCore::JSTestDefaultToJSONInherit::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
(WebCore::JSTestDefaultToJSONInheritFinal::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp:
(WebCore::JSTestDelegateToSharedSyntheticAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDomainSecurity.cpp:
(WebCore::JSTestDomainSecurity::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySetting::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContext::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::subspaceForImpl):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:
(WebCore::JSTestGenerateAddOpaqueRoot::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfacePrototypeFunction_entriesCaller):
(WebCore::JSTestInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::jsTestIterablePrototypeFunction_entriesCaller):
(WebCore::JSTestIterable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
(WebCore::JSTestLegacyFactoryFunction::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp:
(WebCore::JSTestLegacyNoInterfaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLike.cpp:
(WebCore::JSTestMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp:
(WebCore::JSTestMapLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWith::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamespaceObject.cpp:
(WebCore::JSTestNamespaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunction_entriesCaller):
(WebCore::JSTestNode::subspaceForImpl):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOperationConditional.cpp:
(WebCore::JSTestOperationConditional::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEvent::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp:
(WebCore::JSTestReadOnlyMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp:
(WebCore::JSTestReadOnlySetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp:
(WebCore::JSTestReportExtraMemoryCost::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLike.cpp:
(WebCore::JSTestSetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp:
(WebCore::JSTestSetLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToString::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTaggedWrapper.cpp:
(WebCore::JSTestTaggedWrapper::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefs::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:
(WebCore::JSWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:
(WebCore::JSWorkletGlobalScope::subspaceForImpl):
- 4:52 PM Changeset in webkit [290187] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Add required Mach service to the sandbox of the GPU process
https://bugs.webkit.org/show_bug.cgi?id=236860
Reviewed by Darin Adler.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- 4:44 PM Changeset in webkit [290186] by
-
- 15 edits in trunk/Source
[iOS] Safari can sometimes hang while printing due to sync IPC
https://bugs.webkit.org/show_bug.cgi?id=236811
<rdar://problem/56425783>
Reviewed by Aditya Keerthi.
Source/WebKit:
- UIProcess/_WKWebViewPrintFormatter.h:
- UIProcess/_WKWebViewPrintFormatterInternal.h:
- UIProcess/_WKWebViewPrintFormatter.mm:
(-[_WKWebViewPrintFormatter requiresMainThread]): Added.
Adopt new UIKit SPI for allowingUIPrintFormatterto be called off the main thread.
- UIProcess/ios/WKContentView.mm:
(-[WKContentView _processDidExit]):
(-[WKContentView _wk_printFormatterRequiresMainThread]): Added.
(-[WKContentView _wk_pageCountForPrintFormatter:]):
(-[WKContentView _waitForDrawToPDFCallbackIfNeeded:]): Added.
(-[WKContentView _wk_printedDocument:]):
(-[WKContentView _waitForDrawToPDFCallback:]): Deleted.
Reorganize this code to support both sync and async flows.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::computePagesForPrintingiOS): Added.
(WebKit::WebPageProxy::drawToPDFiOS): Added.
(WebKit::WebPageProxy::computePagesForPrintingAndDrawToPDF): Deleted.
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
Split
WebPageProxy::computePagesForPrintingAndDrawToPDFinto two methods, as the first
"part" (i.e.computePagesForPrintingiOS) is no longer needed with this new UIKit SPI.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::computePagesForPrinting):
- UIProcess/API/C/WKPage.cpp:
(WKPageComputePagesForPrinting):
- UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView _askPageToComputePageRects]):
HaveWebPageProxy::computePagesForPrintingtake aWebCore::FrameIdentifierinstead of a
WebFrameProxy*so that more callers (e.g.API::FrameHandle) can use it.
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _wk_printFormatterRequiresMainThread]): Added.
By the timeWKPDFViewis asked to print, it should already have all the data necessary to
do so, so there's no reason to not use the main thread (since there's no sync IPC).
Source/WTF:
Adopt new UIKit SPI for allowing
UIPrintFormatterto be called off the main thread.
- wtf/PlatformHave.h:
Add a
HAVE_UIKIT_BACKGROUND_THREAD_PRINTINGto guard this new behavior.
- 4:40 PM Changeset in webkit [290185] by
-
- 2 edits in trunk/Tools
[JSC] Fix test sharding when using --make-runner and --remote
https://bugs.webkit.org/show_bug.cgi?id=236560
Reviewed by Adrian Perez de Castro.
After https://commits.webkit.org/244496@main, test sharding was broken
for the make runner. Specifically, all remotes would get assigned all
tests (instead of a subset).
Fix this by propagating and using the correct value for remoteHosts.
- Scripts/webkitruby/jsc-stress-test-writer-default.rb:
- 4:28 PM Changeset in webkit [290184] by
-
- 22 edits in trunk/Source
[WebAuthn] Support for conditional mediation
https://bugs.webkit.org/show_bug.cgi?id=236820
rdar://84821947
Reviewed by Brent Fulgham and Chris Dumez.
This patch adds support for conditional mediation, as defined in the
credentials management spec: https://w3c.github.io/webappsec-credential-management/#dom-credentialmediationrequirement-conditional
Source/WebCore:
- Modules/credentialmanagement/BasicCredential.cpp:
(WebCore::BasicCredential::isConditionalMediationAvailable):
- Modules/credentialmanagement/BasicCredential.h:
- Modules/credentialmanagement/BasicCredential.idl:
- Modules/credentialmanagement/CredentialRequestOptions.h:
- Modules/credentialmanagement/CredentialRequestOptions.idl:
- Modules/credentialmanagement/CredentialsContainer.cpp:
(WebCore::CredentialsContainer::get):
- Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::discoverFromExternalSource const):
(WebCore::AuthenticatorCoordinator::isConditionalMediationAvailable const):
- Modules/webauthn/AuthenticatorCoordinator.h:
- Modules/webauthn/AuthenticatorCoordinatorClient.h:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
- Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::configurationAssertionRequestContext):
(WebKit::WebAuthenticatorCoordinatorProxy::contextForRequest):
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):
(WebKit::WebAuthenticatorCoordinatorProxy::isConditionalMediationAvailable):
- UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::getAssertion):
(WebKit::WebAuthenticatorCoordinatorProxy::isConditionalMediationAvailable):
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
- WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
(WebKit::WebAuthenticatorCoordinator::getAssertion):
- WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h:
- 4:27 PM Changeset in webkit [290183] by
-
- 7 edits in trunk/Source/WebKit
Remove unneeded sandbox extension code
https://bugs.webkit.org/show_bug.cgi?id=228777
<rdar://problem/81516828>
Reviewed by Brent Fulgham.
Since the GPU process is now enabled by default, some related sandbox extension code can be removed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::mediaRelatedMachServices): Deleted.
(WebKit::mediaRelatedIOKitClasses): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
- WebProcess/com.apple.WebProcess.sb.in:
- 4:22 PM Changeset in webkit [290182] by
-
- 1 copy in tags/Safari-613.1.17.0.6
Tag Safari-613.1.17.0.6.
- 4:22 PM Changeset in webkit [290181] by
-
- 1 delete in tags/Safari-613.1.17.0.6
Delete tag.
- 4:18 PM Changeset in webkit [290180] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Add access to required Mach service in the Network process
https://bugs.webkit.org/show_bug.cgi?id=236853
<rdar://89031731>
Reviewed by Darin Adler.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- 4:03 PM Changeset in webkit [290179] by
-
- 39 edits1 delete in trunk
Unreviewed, reverting r290149.
Broke Debug Builds.
Reverted changeset:
"Generate compile_commands.json on macOS Builds"
https://bugs.webkit.org/show_bug.cgi?id=235686
https://commits.webkit.org/r290149
- 3:50 PM Changeset in webkit [290178] by
-
- 10 edits2 adds in trunk
[Live Text] Add a mechanism to inject images into image overlays
https://bugs.webkit.org/show_bug.cgi?id=236842
Reviewed by Aditya Keerthi.
Source/WebCore:
To support additional behaviors around the "Copy Cropped Image" context menu item on macOS, add a new image
overlay helper method to install a temporary image element within the image overlay shadow root of a host image.
See below for more details.
Test: fast/images/text-recognition/image-overlay-cropped-image.html
- dom/ImageOverlay.cpp:
(WebCore::ImageOverlay::imageOverlayCroppedImageIdentifier):
(WebCore::ImageOverlay::imageOverlayCroppedImageBackdropIdentifier):
(WebCore::ImageOverlay::isOverlayText):
(WebCore::ImageOverlay::removeOverlaySoonIfNeeded):
(WebCore::ImageOverlay::installImageOverlayStyleSheet):
Pull out logic for installing the UA style sheet for image overlays into a helper method, so that we can ensure
the stylesheet in both cases where theCroppedImageis installed first, or Live Text is injected first.
(WebCore::ImageOverlay::updateSubtree):
Refactor this method to not completely remove the image overlay root container in the case where the Live Text
subtree needs to be regenerated; this prevents us from inadvertently removing the cropped image overlay elements
when updating Live Text elements in the UA shadow root.
(WebCore::ImageOverlay::CroppedImage::install):
Add a method to install a cropped image overlay into the given host element. This creates a new blob URL using
the given image data and MIME type, and uses it to insert an image element within the image overlay root
container that's absolutely positioned over the given crop rect (normalized relative to the image).
This inserted image is presented over another dimming element that fades in and out as
setVisibility()is
called. Finally,installreturns aunique_ptrto a RAII object that can be used to fade the cropped image
backdrop in or out; when destroyed, this RAII object immediately disconnects both the backdrop and the image
element, and revokes the temporary blob URL created duringinstall().
(WebCore::ImageOverlay::CroppedImage::CroppedImage):
(WebCore::ImageOverlay::CroppedImage::~CroppedImage):
(WebCore::ImageOverlay::CroppedImage::setVisibility):
- dom/ImageOverlay.h:
- dom/ShadowRoot.h:
Add a
using TreeScope::getElementById;here to make it possible to callgetElementByIdonShadowRoot
without having to cast to aTreeScope.
- html/shadow/imageOverlay.css:
(img#image-overlay-cropped-image):
(div#image-overlay-cropped-image-backdrop):
- testing/Internals.cpp:
(WebCore::Internals::pngDataForTesting):
(WebCore::Internals::installCroppedImageOverlay):
(WebCore::Internals::uninstallCroppedImageOverlay):
Add internal testing support for the cropped image overlay by allowing layout tests to inject an image overlay
with hard-coded PNG data into the given element.
- testing/Internals.h:
- testing/Internals.idl:
- testing/Internals.mm:
(WebCore::Internals::pngDataForTesting):
LayoutTests:
Add a layout test that exercises the new cropped image overlay code.
- fast/images/text-recognition/image-overlay-cropped-image-expected.txt: Added.
- fast/images/text-recognition/image-overlay-cropped-image.html: Added.
- 3:42 PM Changeset in webkit [290177] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (10/5/2021?): [iOS] http/wpt/cross-origin-opener-policy/single-request-to-server.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=233284
Unreviewed test gardening.
- platform/ios/TestExpectations: Mark test as flaky.
- 2:58 PM Changeset in webkit [290176] by
-
- 1 copy in tags/Safari-614.1.4
Tag Safari-614.1.4.
- 2:48 PM Changeset in webkit [290175] by
-
- 47 edits in trunk
WebGL GPUP: Crash when running fast/mediastream/getUserMedia-to-canvas-1.html
https://bugs.webkit.org/show_bug.cgi?id=236502
Source/WebCore:
<rdar://problem/88862921>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-18
Reviewed by Eric Carlson.
Add a polymorphic function asVideoFrameCV to convert VideoFrame to VideoFrameCV.
VideoFrameCV is used to draw the in-process video frame to in-process WebGL.
RemoteVideoFrameProxy will implement asVideoFrameCV by fetching the data from
GPUP and returning a new object exposing the data.
No new tests, tested by now unskipped tests.
- platform/VideoFrame.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::copyTextureFromMedia):
- platform/graphics/cv/VideoFrameCV.h:
- platform/graphics/cv/VideoFrameCV.mm:
(WebCore::VideoFrameCV::asVideoFrameCV):
Source/WebKit:
The crash is about MediaPlayerPrivateMediaStreamAVFObjC being in WP while other
media player private variants are proxied to GPUP. The previous implementation
would send media player identifiers to GPUP for copying.
This patch will implement the copy by the media player creating a reference
to VideoFrame. WebGL would send reference of the VideoFrame to GPUP for copying.
Make WP MediaPlayerPrivateRemote always return RemoteVideoFrameProxy objects
instead of WP in-process VideoFrame instances (for Cocoa VideoFrameCV) that
would hold the video data in process.
WP MediaPlayerPrivateMediaStreamAVFObjC already returns RemoteVideoFrameProxy
objects. This way GPUP WebGL implementation can obtain the read reference
to the remote object and send it in copyTextureFromVideoFrame message.
The WP in-process WebGL implementation converts the RemoteVideoFrameProxy
to VideoFrameCV with the new RemoteVideoFrameProxy::asVideoFrameCV.
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-18
Reviewed by Eric Carlson.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):
(WebKit::RemoteGraphicsContextGL::copyTextureFromVideoFrame):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp:
(WebKit::RemoteGraphicsContextGL::copyTextureFromVideoFrame):
(WebKit::RemoteGraphicsContextGL::create):
(WebKit::RemoteGraphicsContextGLCocoa::RemoteGraphicsContextGLCocoa):
(WebKit::RemoteGraphicsContextGLCocoa::platformWorkQueueInitialize):
(WebKit::RemoteGraphicsContextGLCocoa::prepareForDisplay):
- GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::createMediaPlayer):
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy):
(WebKit::RemoteMediaPlayerProxy::videoFrameForCurrentTimeIfChanged):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::copyTextureFromMedia):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::RemoteVideoFrameProxy::asVideoFrameCV):
- WebProcess/GPU/media/RemoteVideoFrameProxy.h:
LayoutTests:
Unskip the previous crashes caused by the lack of implementation.
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-18
Reviewed by Eric Carlson.
- platform/ios-wk2/TestExpectations:
- 2:43 PM Changeset in webkit [290174] by
-
- 23 edits in trunk/Source
[macOS] Allow screen and window capture to be done in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=236815
<rdar://problem/89117278>
Reviewed by Jer Noble.
Source/WebCore:
Tested manually.
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.h:
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
(WebCore::ScreenCaptureKitCaptureSource::sessionDidChangeContent): Call CaptureDevice
constructor directly since we have everything it needs.
(WebCore::findSharableDevice): Extract logic from processSharableContent into a
static function so it can be reused.
(WebCore::ScreenCaptureKitCaptureSource::findShareableContent): Use findSharableDevice.
(WebCore::ScreenCaptureKitCaptureSource::streamConfiguration): Add logging.
(WebCore::ScreenCaptureKitCaptureSource::startContentStream): Ditto.
(WebCore::ScreenCaptureKitCaptureSource::captureDeviceWithPersistentID):
(WebCore::ScreenCaptureKitCaptureSource::processSharableContent): Deleted.
- platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h:
(WebCore::ScreenCaptureKitSharingSessionManager::SharingSessionObserver::operator== const): Deleted.
- platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm:
(WebCore::ScreenCaptureKitSharingSessionManager::isAvailable):
(WebCore::ScreenCaptureKitSharingSessionManager::sessionDidChangeContent): Call
CaptureDevice constructor directly since we have everything it needs.
(WebCore::ScreenCaptureKitSharingSessionManager::promptForGetDisplayMedia): Call
completion handler if the class is not available.
Source/WebKit:
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::showWindowPicker): Call the picker.
(WebKit::GPUProcess::showScreenPicker): Ditto.
(WebKit::GPUProcess::setUseScreenCaptureKit):
- GPUProcess/GPUProcess.h:
- GPUProcess/GPUProcess.messages.in:
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in: Add rule to allow sandbox
to be extended dynamically with the mach-lookups required for the picker.
- Scripts/process-entitlements.sh: Add entitlements required for picker.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const): Encode shouldCaptureDisplayInGPUProcess.
(WebKit::WebPageCreationParameters::decode): Decode shouldCaptureDisplayInGPUProcess.
- Shared/WebPageCreationParameters.h:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::addDisplayCaptureSandboxExtension): Create extensions required to use the
system picker.
(WebKit::GPUProcessProxy::updateSandboxAccess): Add display capture.
(WebKit::GPUProcessProxy::updateCaptureAccess): Pass "allowDisplayCapture" to updateSandboxAccess.
(WebKit::GPUProcessProxy::showWindowPicker):
(WebKit::GPUProcessProxy::showScreenPicker):
(WebKit::GPUProcessProxy::updatePreferences):
- UIProcess/GPU/GPUProcessProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters): Set shouldCaptureDisplayInGPUProcess.
- UIProcess/mac/DisplayCaptureSessionManager.mm:
(WebKit::DisplayCaptureSessionManager::showWindowPicker): Send message to GPU
process when necessary.
(WebKit::DisplayCaptureSessionManager::showScreenPicker): Ditto.
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::platformInitialize): Pass shouldCaptureDisplayInGPUProcess to setupCaptureProcesses.
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::setupCaptureProcesses): Add shouldCaptureDisplayInGPUProcess
parameter.
(WebKit::UserMediaCaptureManager::DisplayFactory::createDisplayCaptureSource): Deal
with GPU process capture.
(WebKit::UserMediaCaptureManager::DisplayFactory::setShouldCaptureInGPUProcess):
- WebProcess/cocoa/UserMediaCaptureManager.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml: Add UseGPUProcessForDisplayCapture.
- 2:40 PM Changeset in webkit [290173] by
-
- 3 edits in trunk/Source/WebKit
Use async NSSharingServicePicker menu if available
https://bugs.webkit.org/show_bug.cgi?id=236823
<rdar://problem/88858606>
Reviewed by Dean Jackson.
- UIProcess/Cocoa/WKShareSheet.h:
- UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithShareDataArray:inRect:]):
(-[WKShareSheet canShowPickerAsync:]):
(-[WKShareSheet showPickerAsync:completionHandler:]):
- 2:37 PM Changeset in webkit [290172] by
-
- 1 copy in tags/Safari-613.1.17.0.6
Tag Safari-613.1.17.0.6.
- 2:36 PM Changeset in webkit [290171] by
-
- 1 copy in tags/Safari-613.1.17.1.6
Tag Safari-613.1.17.1.6.
- 2:32 PM Changeset in webkit [290170] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Fix ideographic baseline for atomic inline level boxes with non-zero descent
https://bugs.webkit.org/show_bug.cgi?id=236841
Reviewed by Antti Koivisto.
In most cases atomic inline level boxes have zero descent values. However the ideographic should
include the descent value (see RenderBox::baselinePosition)
This patch also removes the check for orthogonal content since it is already covered at LineLayout::updateLayoutBoxDimensions
(getting the correct baseline value that is).
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
- 2:19 PM Changeset in webkit [290169] by
-
- 4 edits in branches/safari-614.1.4-branch/Source/WebCore
Cherry-pick r290153. rdar://problem/89142268
[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
https://bugs.webkit.org/show_bug.cgi?id=236787
<rdar://89076606>
Reviewed by Eric Carlson.
Source/WebCore:
Wrap call-sites in #if HAVE() macros.
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm: (WebCore::CDMInstanceFairPlayStreamingAVFObjC::contentKeySession): (WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionForRequest const): (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense): (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData): (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest): (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::protectionStatusForDisplayID const): (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::ensureSessionOrGroup):
Source/WebCore/PAL:
Follow-up: build problems still persist on certain platforms, so the "robustness"
changes made previously were not robust enough. The guards in AVFoundationSPI.h were
intended to ensure the definitions were present even on builds where the official API
is not supported. However, just because the API is not supported does not mean it's not
present, which leads to duplicate-interface build errors.
Fix the AVFoundationSPI.h pragmas to only define the classes and methods where those
objects are supported, and in parallel, wrap implementations which use those objects
in those same guards (making these checks compile-time in addition to runtime).
Move the declarations inside the #else (IOW, !USE(APPLE_INTERNAL_SDK)) block above,
and wrap each declaration in the correct HAVE() macro.
- pal/spi/cocoa/AVFoundationSPI.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:01 PM Changeset in webkit [290168] by
-
- 1 delete in trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl
Revert 290166.
- 1:38 PM Changeset in webkit [290167] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r288201): ASSERTION FAILED: !allScriptExecutionContextsMap().contains(m_identifier)
https://bugs.webkit.org/show_bug.cgi?id=236123
<rdar://problem/88472494>
Reviewed by Chris Dumez.
We sometimes call setupForReplace which reset m_gotFirstByte to false.
In that case, we may reuse the same client ID for two different documents.
To prevent this, we clear the clientID in setupForReplace.
For good measure, if service worker runtime flag is not on, we do not set the client ID at all.
Covered by existing WK1 tests.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setupForReplace):
(WebCore::DocumentLoader::loadMainResource):
- 1:32 PM Changeset in webkit [290166] by
-
- 1 add in trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl
Temporarily adding JSON output for request queue to see if it works.
Will remove it immediately after testing.
Unreviewed.
- template/en/default/queue.json.tmpl: Added.
- 1:29 PM Changeset in webkit [290165] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r289990): [iOS] fast/backgrounds/gradient-background-shadow.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=236854
Unreviewed. Expanding fuzzy range.
- fast/backgrounds/gradient-background-shadow.html:
- 1:21 PM Changeset in webkit [290164] by
-
- 13 edits2 moves14 adds in trunk/LayoutTests
Re-import inert and <dialog> WPT
https://bugs.webkit.org/show_bug.cgi?id=236808
Reviewed by Simon Fraser.
Commit: https://github.com/web-platform-tests/wpt/commit/0d483a3bea340a2c60cb7a4add49eb63cbba2a64
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-double-nested-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-delegatesfocus-expected.txt.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-double-nested.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-delegatesfocus.html.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-shadow.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-focus-in-frames.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-label-focus.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inertness-with-modal-dialogs-and-iframes-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inertness-with-modal-dialogs-and-iframes.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-scroll-height.html:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
- web-platform-tests/inert/dynamic-inert-on-focused-element.tentative-expected.txt: Added.
- web-platform-tests/inert/dynamic-inert-on-focused-element.tentative.html: Added.
- web-platform-tests/inert/inert-canvas-fallback-content.tentative-expected.txt: Added.
- web-platform-tests/inert/inert-canvas-fallback-content.tentative.html: Added.
- web-platform-tests/inert/inert-iframe-hittest.tentative-expected.txt: Added.
- web-platform-tests/inert/inert-iframe-hittest.tentative.html: Added.
- web-platform-tests/inert/inert-iframe-tabbing.tentative-expected.txt: Added.
- web-platform-tests/inert/inert-iframe-tabbing.tentative.html: Added.
- web-platform-tests/inert/inert-node-is-uneditable.tentative.html:
- web-platform-tests/inert/inert-with-modal-dialog-001.tentative-expected.txt: Added.
- web-platform-tests/inert/inert-with-modal-dialog-001.tentative.html: Added.
- web-platform-tests/inert/inert-with-modal-dialog-002.tentative-expected.txt: Added.
- web-platform-tests/inert/inert-with-modal-dialog-002.tentative.html: Added.
- web-platform-tests/inert/w3c-import.log:
LayoutTests:
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-hittest.tentative-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-iframe-tabbing.tentative-expected.txt: Added.
- 1:20 PM Changeset in webkit [290163] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r290152. rdar://problem/88327814
Keep promise in scope when calling DeferredPromise::reject
https://bugs.webkit.org/show_bug.cgi?id=236454
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-18
Reviewed by Darin Adler.
Keep promise in scope when calling DeferredPromise::reject, as createDOMException
could go through a path that invokes GC on its owner and the promise.
- Modules/fetch/FetchBodyConsumer.cpp: (WebCore::FetchBodyConsumer::resolveWithFormData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:20 PM Changeset in webkit [290162] by
-
- 3 edits6 adds in branches/safari-613.1.17.0-branch
Cherry-pick r290156. rdar://problem/89154452
ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled
https://bugs.webkit.org/show_bug.cgi?id=236846
Patch by Sam Sneddon <Sam Sneddon> on 2022-02-18
Reviewed by Chris Dumez.
Source/WebCore:
Tests: http/wpt/push-api/onpush-disabled.html
http/wpt/push-api/onpush-enabled.html
- Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl:
LayoutTests:
- http/wpt/push-api/onpush-disabled-expected.txt: Added.
- http/wpt/push-api/onpush-disabled.html: Added.
- http/wpt/push-api/onpush-disabled.js: Added. (test):
- http/wpt/push-api/onpush-enabled-expected.txt: Added.
- http/wpt/push-api/onpush-enabled.html: Added.
- http/wpt/push-api/onpush-enabled.js: Added. (test):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:18 PM Changeset in webkit [290161] by
-
- 2 edits in trunk
Replace trac URLs in Introduction.md by equivalent GitHub URLs
https://bugs.webkit.org/show_bug.cgi?id=236826
Reviewed by Sihui Liu.
Replaced track links by equivalent Github links in Introduction.md.
Also replaced an example of a reference test since the previously referenced test
had been converted to a manual test, and updated documentations around preferences
as they had been refactored since this was originally written.
- Introduction.md:
- 1:18 PM Changeset in webkit [290160] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r290152. rdar://problem/88327814
Keep promise in scope when calling DeferredPromise::reject
https://bugs.webkit.org/show_bug.cgi?id=236454
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-18
Reviewed by Darin Adler.
Keep promise in scope when calling DeferredPromise::reject, as createDOMException
could go through a path that invokes GC on its owner and the promise.
- Modules/fetch/FetchBodyConsumer.cpp: (WebCore::FetchBodyConsumer::resolveWithFormData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:17 PM Changeset in webkit [290159] by
-
- 3 edits6 adds in branches/safari-613.1.17.1-branch
Cherry-pick r290156. rdar://problem/89154452
ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled
https://bugs.webkit.org/show_bug.cgi?id=236846
Patch by Sam Sneddon <Sam Sneddon> on 2022-02-18
Reviewed by Chris Dumez.
Source/WebCore:
Tests: http/wpt/push-api/onpush-disabled.html
http/wpt/push-api/onpush-enabled.html
- Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl:
LayoutTests:
- http/wpt/push-api/onpush-disabled-expected.txt: Added.
- http/wpt/push-api/onpush-disabled.html: Added.
- http/wpt/push-api/onpush-disabled.js: Added. (test):
- http/wpt/push-api/onpush-enabled-expected.txt: Added.
- http/wpt/push-api/onpush-enabled.html: Added.
- http/wpt/push-api/onpush-enabled.js: Added. (test):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:13 PM Changeset in webkit [290158] by
-
- 18 edits2 copies in branches/safari-613.1.17.1-branch/Source/bmalloc
Revert r290134. rdar://problem/89071706
This reverts patch application at r290134.
- 1:12 PM Changeset in webkit [290157] by
-
- 13 edits in trunk
[XCBuild] "All Modules" workspace builds building out of order
https://bugs.webkit.org/show_bug.cgi?id=236813
Reviewed by Alexey Proskuryakov.
Source/ThirdParty/libwebrtc:
Nothing particularly interesting here, but should fix build failures on
Apple-BigSur-XCBuild-Release-Build <https://build.webkit.org/#/builders/463>.
- libwebrtc.xcodeproj/project.pbxproj: Ensure yasm is built before using it.
Source/WebCore/PAL:
Add product dependency on WTF, since PAL uses its headers without linking against it.
- PAL.xcodeproj/project.pbxproj:
Source/WebGPU:
Add product dependency on WTF. WGSL uses its headers without linking against it.
- Configurations/WGSL.xcconfig:
- WebGPU.xcodeproj/project.pbxproj:
Tools:
Add product dependency on WebKit. LayoutTestHelper uses headers from WebKit and lower
frameworks without linking against them.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
- 12:58 PM Changeset in webkit [290156] by
-
- 3 edits6 adds in trunk
ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled
https://bugs.webkit.org/show_bug.cgi?id=236846
Patch by Sam Sneddon <Sam Sneddon> on 2022-02-18
Reviewed by Chris Dumez.
Source/WebCore:
Tests: http/wpt/push-api/onpush-disabled.html
http/wpt/push-api/onpush-enabled.html
- Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl:
LayoutTests:
- http/wpt/push-api/onpush-disabled-expected.txt: Added.
- http/wpt/push-api/onpush-disabled.html: Added.
- http/wpt/push-api/onpush-disabled.js: Added.
(test):
- http/wpt/push-api/onpush-enabled-expected.txt: Added.
- http/wpt/push-api/onpush-enabled.html: Added.
- http/wpt/push-api/onpush-enabled.js: Added.
(test):
- 12:42 PM Changeset in webkit [290155] by
-
- 87 edits in trunk/Source/WebCore
Fix copy-paste error in r290129.
https://bugs.webkit.org/show_bug.cgi?id=236847
rdar://problem/89155146
Reviewed by Yusuke Suzuki.
The heap server subspace name should be parameterized based on the interfaceName.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/test/JS/JSDOMWindow.cpp:
(WebCore::JSDOMWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
(WebCore::JSDedicatedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedStar.cpp:
(WebCore::JSExposedStar::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
(WebCore::JSExposedToWorkerAndWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
(WebCore::JSPaintWorkletGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
(WebCore::JSServiceWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
(WebCore::JSShadowRealmGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:
(WebCore::JSSharedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactions::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracer::subspaceForImpl):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:
(WebCore::JSTestConditionalIncludes::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:
(WebCore::JSTestConditionallyReadWrite::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJIT::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
(WebCore::JSTestDefaultToJSON::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
(WebCore::JSTestDefaultToJSONFilteredByExposed::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:
(WebCore::JSTestDefaultToJSONIndirectInheritance::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
(WebCore::JSTestDefaultToJSONInherit::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
(WebCore::JSTestDefaultToJSONInheritFinal::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp:
(WebCore::JSTestDelegateToSharedSyntheticAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDomainSecurity.cpp:
(WebCore::JSTestDomainSecurity::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySetting::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContext::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::subspaceForImpl):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:
(WebCore::JSTestGenerateAddOpaqueRoot::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::JSTestIterable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
(WebCore::JSTestLegacyFactoryFunction::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp:
(WebCore::JSTestLegacyNoInterfaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLike.cpp:
(WebCore::JSTestMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp:
(WebCore::JSTestMapLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWith::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamespaceObject.cpp:
(WebCore::JSTestNamespaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNode::subspaceForImpl):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOperationConditional.cpp:
(WebCore::JSTestOperationConditional::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEvent::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp:
(WebCore::JSTestReadOnlyMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp:
(WebCore::JSTestReadOnlySetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp:
(WebCore::JSTestReportExtraMemoryCost::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLike.cpp:
(WebCore::JSTestSetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp:
(WebCore::JSTestSetLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToString::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTaggedWrapper.cpp:
(WebCore::JSTestTaggedWrapper::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefs::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:
(WebCore::JSWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:
(WebCore::JSWorkletGlobalScope::subspaceForImpl):
- 12:37 PM Changeset in webkit [290154] by
-
- 9 edits in trunk
[WebAuthn] Add credentialID to _WKWebAuthenticationAssertionResponse and userHandle in getAllLocalAuthenticatorCredentials
https://bugs.webkit.org/show_bug.cgi?id=236657
rdar://problem/88979279
Reviewed by Brent Fulgham.
Source/WebKit:
Modified API tests to verify new fields present and populated.
- UIProcess/API/APIWebAuthenticationAssertionResponse.cpp:
(API::WebAuthenticationAssertionResponse::credentialID const):
- UIProcess/API/APIWebAuthenticationAssertionResponse.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.mm:
(-[_WKWebAuthenticationAssertionResponse credentialID]):
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(getAllLocalAuthenticatorCredentialsImpl):
Tools:
Adjusted existing API tests, GetAllCredential and MultipleAccounts, to test for new fields
being returned and that they match the values expected. These values stem from testUserEntityBundleBase64
and testAssertionMessageLongBase64.
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]):
(TestWebKitAPI::TEST):
- 12:30 PM Changeset in webkit [290153] by
-
- 4 edits in trunk/Source/WebCore
[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
https://bugs.webkit.org/show_bug.cgi?id=236787
<rdar://89076606>
Reviewed by Eric Carlson.
Source/WebCore:
Wrap call-sites in #if HAVE() macros.
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::contentKeySession):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionForRequest const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::protectionStatusForDisplayID const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::ensureSessionOrGroup):
Source/WebCore/PAL:
Follow-up: build problems still persist on certain platforms, so the "robustness"
changes made previously were not robust enough. The guards in AVFoundationSPI.h were
intended to ensure the definitions were present even on builds where the official API
is not supported. However, just because the API is not supported does not mean it's not
present, which leads to duplicate-interface build errors.
Fix the AVFoundationSPI.h pragmas to only define the classes and methods where those
objects are supported, and in parallel, wrap implementations which use those objects
in those same guards (making these checks compile-time in addition to runtime).
Move the declarations inside the #else (IOW, !USE(APPLE_INTERNAL_SDK)) block above,
and wrap each declaration in the correct HAVE() macro.
- pal/spi/cocoa/AVFoundationSPI.h:
- 12:27 PM Changeset in webkit [290152] by
-
- 2 edits in trunk/Source/WebCore
Keep promise in scope when calling DeferredPromise::reject
https://bugs.webkit.org/show_bug.cgi?id=236454
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-18
Reviewed by Darin Adler.
Keep promise in scope when calling DeferredPromise::reject, as createDOMException
could go through a path that invokes GC on its owner and the promise.
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::resolveWithFormData):
- 12:21 PM Changeset in webkit [290151] by
-
- 5 edits2 adds in trunk
Client-set minimum effective device width is not respected if AllowViewportShrinkToFitContent is enabled
https://bugs.webkit.org/show_bug.cgi?id=236822
Reviewed by Wenson Hsieh.
Source/WebCore:
New test: fast/viewport/ios/shrink-to-fit-content-with-wider-minimum-device-width.html
Re-instate the functionality of -[WKWebView _setMinimumEffectiveDeviceWidth:]
after it was intentionally broken in favor of shrink-to-fit in r244849.
It turns out that clients sometimes need a larger manually-set minimum
than the one shrink-to-fit will choose, so instead of picking between
them, we just take the maximum of the two.
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::setViewLayoutSize):
Rename the client-set mEDW tom_minimumEffectiveDeviceWidthForView.
(WebCore::ViewportConfiguration::nativeWebpageParameters):
(WebCore::ViewportConfiguration::setMinimumEffectiveDeviceWidthForShrinkToFit):
Rename to shouldIgnoreMinimumEffectiveDeviceWidthForShrinkToFit to be clear that
it's only about ignoring the shrink-to-fit mEDW, not the client-set one.
Rename the shrink-to-fit-set mEDW to
m_minimumEffectiveDeviceWidthForShrinkToFit.
(WebCore::ViewportConfiguration::description const):
(WebCore::ViewportConfiguration::setMinimumEffectiveDeviceWidth): Deleted.
- page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::minimumEffectiveDeviceWidth const):
The effective-mEDW now takes the client-set value into account in all cases,
taking the maximum-of-minimums as the effective value.
(WebCore::ViewportConfiguration::shouldIgnoreMinimumEffectiveDeviceWidthForShrinkToFit const):
(WebCore::ViewportConfiguration::shouldIgnoreMinimumEffectiveDeviceWidth const): Deleted.
Source/WebKit:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setViewportConfigurationViewLayoutSize):
Reset the separate shrink-to-fit mEDW if shrink-to-fit is not engaged.
(WebKit::WebPage::shrinkToFitContent):
- 12:17 PM Changeset in webkit [290150] by
-
- 13 edits2 copies in trunk/Source/WebCore
[TextureMapper] Refactor TextureMapperPlatformLayerProxy into specializable implementations
https://bugs.webkit.org/show_bug.cgi?id=236836
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-02-18
Reviewed by Alejandro G. Castro.
Turn TextureMapperPlatformLayerProxy into an abstract class from which
different specializations can then be derived. Current implementation is
spun off into the TextureMapperPlatformLayerProxyGL class, and type
traits specialization facilities are provided for future parallel
implementations (e.g. a DMABuf-consuming proxy class).
Existing uses of TextureMapperPlatformLayerProxy are updated to use
the TextureMapperPlatformLayerProxyGL class instead. Downcasting is
done as necessary, with asserts checking for the expected implementation
type.
No change in functionality, only refactoring existing code.
- platform/TextureMapper.cmake:
- platform/graphics/gstreamer/GStreamerVideoFrameHolder.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamer::flushCurrentBuffer):
(WebCore::MediaPlayerPrivateGStreamer::pushNextHolePunchBuffer):
- platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp:
(WebCore::MediaPlayerPrivateHolePunch::MediaPlayerPrivateHolePunch):
(WebCore::MediaPlayerPrivateHolePunch::pushNextHolePunchBuffer):
- platform/graphics/nicosia/NicosiaImageBufferPipe.cpp:
(Nicosia::NicosiaImageBufferPipeSource::handle):
- platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:
(Nicosia::ContentLayerTextureMapperImpl::createFactory):
(Nicosia::ContentLayerTextureMapperImpl::ContentLayerTextureMapperImpl):
- platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h:
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:
(Nicosia::GCGLANGLELayer::swapBuffersIfNeeded):
- platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:
(Nicosia::GCGLLayer::swapBuffersIfNeeded):
- platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:
(WebCore::TextureMapperGCGLPlatformLayer::TextureMapperGCGLPlatformLayer):
(WebCore::TextureMapperGCGLPlatformLayer::swapBuffersIfNeeded):
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::TextureMapperPlatformLayerProxy): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::~TextureMapperPlatformLayerProxy): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::activateOnCompositingThread): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::invalidate): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::pushNextBuffer): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::getAvailableBuffer): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::appendToUnusedBuffers): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::scheduleReleaseUnusedBuffers): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::releaseUnusedBuffersTimerFired): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::swapBuffer): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::dropCurrentBufferWhilePreservingTexture): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::scheduleUpdateOnCompositorThread): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::compositorThreadUpdateTimerFired): Deleted.
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:
(WebCore::TextureMapperPlatformLayerProxy::isGLBased const):
(WebCore::TextureMapperPlatformLayerProxy::isDMABufBased const):
(WebCore::TextureMapperPlatformLayerProxy::WTF_RETURNS_LOCK):
(WebCore::TextureMapperPlatformLayerProxy::WTF_GUARDED_BY_LOCK): Deleted.
- platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp: Copied from Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp.
(WebCore::TextureMapperPlatformLayerProxyGL::~TextureMapperPlatformLayerProxyGL):
(WebCore::TextureMapperPlatformLayerProxyGL::activateOnCompositingThread):
(WebCore::TextureMapperPlatformLayerProxyGL::invalidate):
(WebCore::TextureMapperPlatformLayerProxyGL::pushNextBuffer):
(WebCore::TextureMapperPlatformLayerProxyGL::getAvailableBuffer):
(WebCore::TextureMapperPlatformLayerProxyGL::appendToUnusedBuffers):
(WebCore::TextureMapperPlatformLayerProxyGL::scheduleReleaseUnusedBuffers):
(WebCore::TextureMapperPlatformLayerProxyGL::releaseUnusedBuffersTimerFired):
(WebCore::TextureMapperPlatformLayerProxyGL::swapBuffer):
(WebCore::TextureMapperPlatformLayerProxyGL::dropCurrentBufferWhilePreservingTexture):
(WebCore::TextureMapperPlatformLayerProxyGL::scheduleUpdateOnCompositorThread):
(WebCore::TextureMapperPlatformLayerProxyGL::compositorThreadUpdateTimerFired):
- platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.h: Copied from Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.h.
- 12:06 PM Changeset in webkit [290149] by
-
- 39 edits1 add in trunk
Generate compile_commands.json on macOS Builds
https://bugs.webkit.org/show_bug.cgi?id=235686
Patch by Brandon Stewart <Brandon> on 2022-02-18
Reviewed by Saam Barati.
Add support for generating compile_commands.json file to WebKit.
compile_commands.json can be used by tools like clangd to provide code complete,
refactoring, formatting, and cross references.
Steps to generate the compile commands file:
make r EXPORT_COMPILE_COMMANDS=YES
generate-compile-commands WebKitBuild/Release
.:
- Makefile.shared:
PerformanceTests:
- DecoderTest/Configurations/DebugRelease.xcconfig:
- MediaTime/Configurations/DebugRelease.xcconfig:
Source/bmalloc:
- Configurations/DebugRelease.xcconfig:
Source/JavaScriptCore:
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/DebugRelease.xcconfig:
Source/WebCore:
- Configurations/DebugRelease.xcconfig:
Source/WebCore/PAL:
- Configurations/DebugRelease.xcconfig:
Source/WebGPU:
- Configurations/DebugRelease.xcconfig:
Source/WebInspectorUI:
- Configurations/DebugRelease.xcconfig:
Source/WebKit:
- Configurations/DebugRelease.xcconfig:
- UIProcess/API/C/WKPageUIClient.h:
Source/WebKitLegacy/mac:
- Configurations/DebugRelease.xcconfig:
Source/WTF:
- Configurations/DebugRelease.xcconfig:
Tools:
- ContentExtensionTester/Configurations/DebugRelease.xcconfig:
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- ImageDiff/cg/Configurations/DebugRelease.xcconfig:
- MiniBrowser/Configurations/DebugRelease.xcconfig:
- Scripts/build-jsc:
- Scripts/build-webkit:
- Scripts/generate-compile-commands: Added.
- TestWebKitAPI/Configurations/DebugRelease.xcconfig:
- WebEditingTester/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/Configurations/DebugRelease.xcconfig:
- lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
- 12:04 PM Changeset in webkit [290148] by
-
- 5 edits in trunk/Tools
[git-webkit] Link issue to pull requests (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=236339
<rdar://problem/88657772>
Reviewed by Stephanie Lewis.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.main): Re-open associated closed PRs.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
Canonical link: https://commits.webkit.org/247487@main
- 11:47 AM Changeset in webkit [290147] by
-
- 3 edits3 adds in trunk/Tools
Add test coverage for data migration introduced in r289878
https://bugs.webkit.org/show_bug.cgi?id=236825
Reviewed by Chris Dumez.
Ensure website data fetch and removal will examine both old paths (custom storage paths) and new paths (under
general storage directory). Also, ensure that data is migrated from old paths to new paths when an origin is
visited during data fetch and removal.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/general-storage-directory-indexeddb.sqlite3: Added.
- TestWebKitAPI/Tests/WebKitCocoa/general-storage-directory-localstorage.sqlite3: Added.
- TestWebKitAPI/Tests/WebKitCocoa/general-storage-directory.origin: Added.
- 11:01 AM Changeset in webkit [290146] by
-
- 16 edits1 copy5 adds in trunk
Add an InstallCoordination webpushd backend
https://bugs.webkit.org/show_bug.cgi?id=233714
Reviewed by Alex Christensen.
Source/WebCore/PAL:
Expose "toHexString" so we can SHA256 an arbitrary string to a hex representation.
- pal/crypto/CryptoDigest.h:
- pal/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp:
(PAL::CryptoDigest::toHexString):
Source/WebKit:
Covered by API tests.
This patch lets the iOS build create a placeholder app bundle to represent a registration using InstallCoordination.
- Configurations/webpushd.xcconfig:
- WebKit.xcodeproj/project.pbxproj:
- webpushd/AppBundleRequest.mm:
(WebPushD::AppBundleRequest::start): Use the ICAppBundle implementation when appropriate.
- webpushd/ICAppBundle.h: Copied from Source/WebKit/webpushd/PushAppBundle.h.
(WebPushD::ICAppBundle::create):
- webpushd/ICAppBundle.mm: Added.
(-[WebAppInstallCoordinatorObserver initWithICAppBundle:]):
(-[WebAppInstallCoordinatorObserver coordinatorDidCompleteSuccessfully:forApplicationRecord:]):
(-[WebAppInstallCoordinatorObserver coordinator:canceledWithReason:client:]):
(WebPushD::broadcastDebugMessage):
(WebPushD::ICAppBundle::ICAppBundle):
(WebPushD::encodeOriginStringForBundleIdentifier):
(WebPushD::originStringFromEncodedBundleIdentifier):
(WebPushD::bundlePrefixForHostAppIdentifier):
(WebPushD::bundleNameForOriginStringAndHostAppIdentifier):
(WebPushD::ICAppBundle::getOriginsWithRegistrations):
(WebPushD::ICAppBundle::getBundleIdentifier):
(WebPushD::ICAppBundle::checkForExistingBundle):
(WebPushD::ICAppBundle::deleteExistingBundle):
(WebPushD::ICAppBundle::didDeleteExistingBundleWithError):
(WebPushD::ICAppBundle::stop):
(WebPushD::ICAppBundle::createBundle):
(WebPushD::ICAppBundle::bundleCreationSucceeded):
(WebPushD::ICAppBundle::bundleCreationFailed):
- webpushd/InstallCoordinationSPI.h: Added.
- webpushd/LaunchServicesSPI.h: Copied from Source/WebKit/webpushd/PushAppBundle.h.
- webpushd/PushAppBundle.h:
- webpushd/WebPushDaemon.mm:
(WebPushD::Daemon::getOriginsWithPushAndNotificationPermissions): Use the ICAppBundle implementation when appropriate.
Source/WTF:
- wtf/PlatformEnableCocoa.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
WebKitLibraries:
- WebKitPrivateFrameworkStubs/iOS/15/InstallCoordination.framework/InstallCoordination.tbd: Added.
- 10:59 AM Changeset in webkit [290145] by
-
- 3 edits1 delete in trunk/Source/ThirdParty/ANGLE
Remove ANGLE-static.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=236827
Reviewed by Dean Jackson.
It was unused.
- ANGLE.xcodeproj/project.pbxproj:
- Configurations/ANGLE-static.xcconfig: Removed.
- Configurations/Base.xcconfig:
- 10:54 AM Changeset in webkit [290144] by
-
- 2 edits in trunk/Source/WebKit
Change domain used to hold whether CaptivePortalMode is active
https://bugs.webkit.org/show_bug.cgi?id=236793
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-02-18
Reviewed by Per Arne Vollan.
We need to update the location specifying whether CaptivePortalMode is active
to fall within the users domain.
- UIProcess/API/Cocoa/_WKSystemPreferences.mm:
(+[_WKSystemPreferences isCaptivePortalModeEnabled]):
(+[_WKSystemPreferences setCaptivePortalModeEnabled:]):
- 10:52 AM Changeset in webkit [290143] by
-
- 2 edits in trunk/LayoutTests
Follow up to b236802. Unreviewed.
- platform/ios/TestExpectations: Remove the test expectations.
- 10:49 AM Changeset in webkit [290142] by
-
- 3 edits in trunk/LayoutTests/imported/w3c
[iOS] css/css-color/t422-rgba-onscreen-b.xht and css/css-color/t425-hsla-onscreen-b.xht are consistently failing
https://bugs.webkit.org/show_bug.cgi?id=236802
Reviewed by Dean Jackson.
- web-platform-tests/css/css-color/t422-rgba-onscreen-b.xht: Expand maxDifference range to accommodate iOS.
- web-platform-tests/css/css-color/t425-hsla-onscreen-b.xht:
- 10:17 AM Changeset in webkit [290141] by
-
- 4 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r290087. rdar://problem/88713302
Source/ThirdParty/ANGLE:
Metal ANGLE: vertex array does not correctly observe contents of data buffers
https://bugs.webkit.org/show_bug.cgi?id=236733
<rdar://problem/88713302>
<rdar://problem/88499073>
Patch by Kyle Piddington <Kyle Piddington> on 2022-02-17
Reviewed by Dean Jackson.
Similar to previous bug (236427), we were not correctly observing changes to the
vertex buffer data. This caused us to miss rebinding vertex buffers
when data was updated without causing conversion
- src/libANGLE/renderer/metal/VertexArrayMtl.h:
- src/libANGLE/renderer/metal/VertexArrayMtl.mm: (rx::VertexArrayMtl::syncState): (rx::VertexArrayMtl::setupDraw): (rx::VertexArrayMtl::syncDirtyAttrib):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:15 AM Changeset in webkit [290140] by
-
- 6 edits in trunk/LayoutTests
Unreviewed gardening for GPU Process bot.
- TestExpectations:
- fast/css/counters/counter-list-item.html: Add fuzzy data.
- gpu-process/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- 10:14 AM Changeset in webkit [290139] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.6
- 10:12 AM Changeset in webkit [290138] by
-
- 12 edits in trunk
[CMake] Cannot find OpenGL when system provides opengl.pc instead of gl.pc
https://bugs.webkit.org/show_bug.cgi?id=236592
Reviewed by Michael Catanzaro.
.:
- Source/cmake/FindOpenGL.cmake: Rewrite to use imported targets, try the "opengl" and "glx"
pkg-config modules first, otherwise keep the existing logic that tried the "gl" pkg-config
module with fallbacks to find_path/find_library.
- Source/cmake/OptionsGTK.cmake: Check for the presence of the OpenGL::GLX target instead of
te GLX_FOUND variable.
Source/ThirdParty/ANGLE:
- PlatformGTK.cmake: Use the OpenGL::OpenGL imported target instead of the
OPENGL_LIBRARIES variable.
- PlatformWPE.cmake: Remove linking againt OpenGL libraries; the WPE port is not
supposed to link to any of them directly.
Source/WebCore:
- CMakeLists.txt: Use the OpenGL::OpenGL and OpenGL::GLX imported targets instead of variables.
- platform/graphics/GLContext.cpp: Move here includes for the GL headers.
- platform/graphics/GLContext.h: Remove includes for the GL headers, none of their
declarations are used here; instead include only the needed EGL headers to get the
definition of EGLNativeWindowType.
Source/WebKit:
- CMakeLists.txt: Remove usage of the OPENGL_ variables for the WebKit target, which is
uneeded because it links to WebCore, which transitively pulls the needed libraries now
that imported targets are being used.
- 10:10 AM Changeset in webkit [290137] by
-
- 2 edits in trunk/LayoutTests
imported/w3c/web-platform-tests/css/css-sizing/range-percent-intrinsic-size-* fail
https://bugs.webkit.org/show_bug.cgi?id=203514
Unreviewed.
- TestExpectations: No longer happening. Removing.
- 10:10 AM Changeset in webkit [290136] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r290109. rdar://problem/89072235
Crash under ScrollingCoordinatorMac::hasNodeWithAnimatedScrollChanged()
https://bugs.webkit.org/show_bug.cgi?id=236810
<rdar://89072235>
Reviewed by Dean Jackson.
Crash data suggests that r288933 didn't fix the crash entirely.
Although the code paths I can find appear to hold the lock, there may be an
opportunity for m_scrollingCoordinator to get nulled out after we null-check it
but before the copy for the main thread dispatch.
So make a RefPtr on the stack, null-check it, and then move it into the callback.
- page/scrolling/ThreadedScrollingTree.cpp: (WebCore::ThreadedScrollingTree::reportSynchronousScrollingReasonsChanged): (WebCore::ThreadedScrollingTree::reportExposedUnfilledArea): (WebCore::ThreadedScrollingTree::currentSnapPointIndicesDidChange): (WebCore::ThreadedScrollingTree::handleWheelEventPhase): (WebCore::ThreadedScrollingTree::setActiveScrollSnapIndices): (WebCore::ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:10 AM Changeset in webkit [290135] by
-
- 4 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r290087. rdar://problem/88713302
Source/ThirdParty/ANGLE:
Metal ANGLE: vertex array does not correctly observe contents of data buffers
https://bugs.webkit.org/show_bug.cgi?id=236733
<rdar://problem/88713302>
<rdar://problem/88499073>
Patch by Kyle Piddington <Kyle Piddington> on 2022-02-17
Reviewed by Dean Jackson.
Similar to previous bug (236427), we were not correctly observing changes to the
vertex buffer data. This caused us to miss rebinding vertex buffers
when data was updated without causing conversion
- src/libANGLE/renderer/metal/VertexArrayMtl.h:
- src/libANGLE/renderer/metal/VertexArrayMtl.mm: (rx::VertexArrayMtl::syncState): (rx::VertexArrayMtl::setupDraw): (rx::VertexArrayMtl::syncDirtyAttrib):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:10 AM Changeset in webkit [290134] by
-
- 18 edits2 deletes in branches/safari-613.1.17.1-branch/Source/bmalloc
Apply patch. rdar://problem/89071706
- 9:32 AM Changeset in webkit [290133] by
-
- 4 edits1 add in trunk/Source/WebCore
[iOS][Modern Media Controls] Add an alternative overflow icon
https://bugs.webkit.org/show_bug.cgi?id=236729
Reviewed by Devin Rousso.
Add a new overflow icon. By default, the media controls will use the
original overflow icon. So this patch does not change the appearance of
the media controls.
- Modules/modern-media-controls/controls/icon-service.js:
- Modules/modern-media-controls/controls/layout-traits.js:
(LayoutTraits.prototype.overflowButtonHasCircle):
- Modules/modern-media-controls/controls/overflow-button.js:
(OverflowButton):
- Modules/modern-media-controls/images/iOS/OverflowCircle.svg: Added.
- 9:29 AM Changeset in webkit [290132] by
-
- 2 edits in trunk/Source/WebCore
[EME][GStreamer][Thunder] Add video/x-h265 caps to Thunder decryptor
https://bugs.webkit.org/show_bug.cgi?id=236833
Reviewed by Philippe Normand.
This patch is authored by Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/790
- platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp:
- 9:25 AM Changeset in webkit [290131] by
-
- 5 edits in trunk/Source/WebCore
Use more StringView during CSP parsing
https://bugs.webkit.org/show_bug.cgi?id=236784
Reviewed by Darin Adler.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportDirectiveAsSourceExpression const):
- page/csp/ContentSecurityPolicy.h:
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::isCSPDirectiveName):
(WebCore::ContentSecurityPolicySourceList::parse):
(WebCore::ContentSecurityPolicySourceList::parseScheme):
(WebCore::ContentSecurityPolicySourceList::parseHost):
- page/csp/ContentSecurityPolicySourceList.h:
- 8:47 AM Changeset in webkit [290130] by
-
- 3 edits in trunk/Source/WebCore
AX: AccessibilityScrollView should be resilient to destruction of underlying scroll view
https://bugs.webkit.org/show_bug.cgi?id=236750
Reviewed by Andres Gonzalez.
Sometimes we can get into a state where we have a valid AccessibilityScrollView,
backed by an iframe, with a destroyed WeakPtr<ScrollView> m_scrollView. When this
happens, all of the content inside the iframe becomes inaccessible. We need to handle
the case where an iframe changes the frame and document it holds (e.g. respect the current frame in
HTMLFrameOwner::contentFrame, which can change).
This patch fixes this by caching a WeakPtr<HTMLFrameOwnerElement> when an AccessibilityScrollView
is created. A new method currentScrollView() has been added to prefer the original m_scrollView, and
fallback to the scrollview represented by the frame owner element if m_scrollView has been destroyed.
Thanks to Andres Gonzalez for helping to find and fix this issue.
- accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::AccessibilityScrollView):
Cache the frame owner of the provided ScrollView* in new
m_frameOwnerElement field.
(WebCore::AccessibilityScrollView::detachRemoteParts):
Detach new m_frameOwnerElement field.
(WebCore::AccessibilityScrollView::currentScrollView const):
Added.
(WebCore::AccessibilityScrollView::isAttachment const):
(WebCore::AccessibilityScrollView::platformWidget const):
(WebCore::AccessibilityScrollView::updateScrollbars):
(WebCore::AccessibilityScrollView::computeAccessibilityIsIgnored const):
(WebCore::AccessibilityScrollView::addChildren):
(WebCore::AccessibilityScrollView::webAreaObject const):
(WebCore::AccessibilityScrollView::elementRect const):
(WebCore::AccessibilityScrollView::document const):
(WebCore::AccessibilityScrollView::documentFrameView const):
(WebCore::AccessibilityScrollView::parentObject const):
(WebCore::AccessibilityScrollView::scrollTo const):
Use new currentScrollView() method instead of directly using m_scrollView.
(WebCore::AccessibilityScrollView::widgetForAttachmentView const):
Inlined in header.
(WebCore::AccessibilityScrollView::parentObjectIfExists const):
Inlined in header as call to parentObject() since these methods were duplicated.
(WebCore::AccessibilityScrollView::getScrollableAreaIfScrollable const):
Inlined in header.
- accessibility/AccessibilityScrollView.h:
- 8:43 AM Changeset in webkit [290129] by
-
- 416 edits in trunk/Source
Split IsoSubspace into a GCClient allocator used by VM and a backend managed by Heap.
https://bugs.webkit.org/show_bug.cgi?id=233878
rdar://problem/86108394
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- Add a useGlobalGC option. We're currently only using this to guard some code for GlobalGC. We're not ready to run with GlobalGC enabled yet.
- Create a new GCClient namespace in JSC. The Heap is now split into 2 parts:
- VM / GCClient / client side: JSC::GCClient::Heap
- GlobalGC / server side: JSC::Heap
The eventual goal is to have many GCClient Heaps backed by a singleton server
Heap. Currently, we still have a 1 to 1 correspondence between the client and
server side i.e. VM embeds both one instance each of GCClient::Heap and Heap.
- Split IsoSubspace into:
- VM / GCClient / client side: JSC::GCClient::IsoSubspace
- GlobalGC / server side: JSC::IsoSubspace
The client side will now manage a LocalAllocator for the IsoSubspace.
The eventual goal is to have many GCClient::IsoSubspace allocators fed from
a server IsoSubspace. Currently, we still have a 1 to 1 correspondence
between the client and server side. GCClient::IsoSubspace instances will be
managed by GCClient::Heap. Server side IsoSubspaces continue to be managed
by Heap.
- IsoSubspacePerVM is also now client-server aware.
Previously, IsoSubspacePerVM was relying on AutoremovingIsoSubspace to
"automatically" unregister IsoSubspaces from IsoSubspacePerVM via its
destructor. However, there is a bug where the AutoremovingIsoSubspace is
never associated with the VM, and there is nothing that will trigger its
destruction when the VM shuts down.
This patch fixes this issue by having IsoSubspacePerVM register with the VM's
GCClient::Heap and Heap. On destruction, those Heaps will now be aware of
the IsoSubspacePerVM in use, and will tell the IsoSubspacePerVM to release
the associated IsoSubspaces.
The IsoSubspacePerVM::AutoremovingIsoSubspace class is now removed since it
is not needed.
- Previously, in Heap, we have some SpaceAndSet members that were named simply as "Space". Renamed these to be "SpaceAndSet" explicitly to more accurately reflect what they are.
- API/JSAPIGlobalObject.h:
- API/JSAPIValueWrapper.h:
- API/JSAPIWrapperObject.mm:
(JSC::JSCallbackObject<JSAPIWrapperObject>::subspaceForImpl):
- API/JSCallbackConstructor.h:
- API/JSCallbackFunction.h:
- API/JSCallbackObject.cpp:
(JSC::JSCallbackObject<JSNonFinalObject>::subspaceForImpl):
(JSC::JSCallbackObject<JSGlobalObject>::subspaceForImpl):
- API/JSCallbackObject.h:
- API/ObjCCallbackFunction.h:
(JSC::ObjCCallbackFunction::subspaceFor):
- API/glib/JSAPIWrapperGlobalObject.cpp:
(JSC::JSCallbackObject<JSAPIWrapperGlobalObject>::subspaceForImpl):
- API/glib/JSAPIWrapperObjectGLib.cpp:
(JSC::JSCallbackObject<JSAPIWrapperObject>::subspaceForImpl):
- API/glib/JSCCallbackFunction.h:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitChildren):
(JSC::CodeBlock::finalizeUnconditionally):
- bytecode/EvalCodeBlock.h:
- bytecode/ExecutableToCodeBlockEdge.h:
- bytecode/FunctionCodeBlock.h:
- bytecode/ModuleProgramCodeBlock.h:
- bytecode/ProgramCodeBlock.h:
- bytecode/UnlinkedEvalCodeBlock.h:
- bytecode/UnlinkedFunctionCodeBlock.h:
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor):
(JSC::UnlinkedFunctionExecutable::finalizeUnconditionally):
- bytecode/UnlinkedFunctionExecutable.h:
- bytecode/UnlinkedModuleProgramCodeBlock.h:
- bytecode/UnlinkedProgramCodeBlock.h:
- debugger/DebuggerScope.h:
- heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::~Heap):
(JSC::Heap::finalizeUnconditionalFinalizers):
(JSC::Heap::deleteAllUnlinkedCodeBlocks):
(JSC::GCClient::Heap::Heap):
(JSC::GCClient::Heap::~Heap):
- heap/Heap.h:
(JSC::Heap::lock):
(JSC::Heap::forEachCodeBlockSpace):
(JSC::Heap::forEachScriptExecutableSpace):
(JSC::GCClient::Heap::server):
- heap/HeapInlines.h:
(JSC::GCClient::Heap::vm const):
- heap/IsoSubspace.cpp:
(JSC::IsoSubspace::IsoSubspace):
(JSC::GCClient::IsoSubspace::IsoSubspace):
- heap/IsoSubspace.h:
(JSC::GCClient::IsoSubspace::cellSize):
(JSC::IsoSubspace::allocatorFor): Deleted.
- heap/IsoSubspaceInlines.h:
(JSC::IsoSubspace::allocate): Deleted.
- heap/IsoSubspacePerVM.cpp:
(JSC::IsoSubspacePerVM::IsoSubspacePerVM):
(JSC::IsoSubspacePerVM::isoSubspaceforHeap):
(JSC::IsoSubspacePerVM::clientIsoSubspaceforVM):
(JSC::IsoSubspacePerVM::releaseIsoSubspace):
(JSC::IsoSubspacePerVM::releaseClientIsoSubspace):
(): Deleted.
(JSC::IsoSubspacePerVM::forVM): Deleted.
- heap/IsoSubspacePerVM.h:
- heap/LocalAllocator.cpp:
(JSC::LocalAllocator::allocateSlowCase):
(JSC::LocalAllocator::tryAllocateWithoutCollecting):
(JSC::LocalAllocator::doTestCollectionsIfNeeded):
- heap/LocalAllocator.h:
(JSC::LocalAllocator::directory const):
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::Handle::stopAllocating):
- heap/MutatorState.h:
- inspector/JSInjectedScriptHost.h:
- inspector/JSInjectedScriptHostPrototype.h:
- inspector/JSJavaScriptCallFrame.h:
- inspector/JSJavaScriptCallFramePrototype.h:
- runtime/AggregateErrorPrototype.h:
- runtime/ArrayIteratorPrototype.h:
- runtime/AsyncFromSyncIteratorPrototype.h:
- runtime/AsyncFunctionPrototype.h:
- runtime/AsyncGeneratorFunctionPrototype.h:
- runtime/AsyncGeneratorPrototype.h:
- runtime/AsyncIteratorPrototype.h:
- runtime/AtomicsObject.h:
- runtime/BigIntObject.h:
- runtime/BigIntPrototype.h:
- runtime/BooleanObject.h:
(JSC::BooleanObject::subspaceFor):
- runtime/BrandedStructure.h:
- runtime/ClonedArguments.h:
- runtime/ConsoleObject.h:
- runtime/CustomGetterSetter.h:
(JSC::CustomGetterSetter::subspaceFor):
- runtime/DOMAttributeGetterSetter.h:
- runtime/DateInstance.h:
- runtime/DatePrototype.h:
- runtime/ErrorInstance.h:
(JSC::ErrorInstance::subspaceFor):
- runtime/ErrorPrototype.h:
- runtime/EvalExecutable.h:
(JSC::EvalExecutable::subspaceFor):
- runtime/Exception.h:
- runtime/FinalizationRegistryPrototype.h:
- runtime/FunctionExecutable.h:
- runtime/FunctionRareData.h:
- runtime/GeneratorFunctionPrototype.h:
- runtime/GeneratorPrototype.h:
- runtime/GetterSetter.h:
- runtime/HashMapImpl.h:
- runtime/InternalFunction.h:
(JSC::InternalFunction::subspaceFor):
- runtime/IntlCollator.h:
- runtime/IntlCollatorPrototype.h:
- runtime/IntlDateTimeFormat.h:
- runtime/IntlDateTimeFormatPrototype.h:
- runtime/IntlDisplayNames.h:
- runtime/IntlDisplayNamesPrototype.h:
- runtime/IntlListFormat.h:
- runtime/IntlListFormatPrototype.h:
- runtime/IntlLocale.h:
- runtime/IntlLocalePrototype.h:
- runtime/IntlNumberFormat.h:
- runtime/IntlNumberFormatPrototype.h:
- runtime/IntlObject.h:
- runtime/IntlPluralRules.h:
- runtime/IntlPluralRulesPrototype.h:
- runtime/IntlRelativeTimeFormat.h:
- runtime/IntlRelativeTimeFormatPrototype.h:
- runtime/IntlSegmentIterator.h:
- runtime/IntlSegmentIteratorPrototype.h:
- runtime/IntlSegmenter.h:
- runtime/IntlSegmenterPrototype.h:
- runtime/IntlSegments.h:
- runtime/IntlSegmentsPrototype.h:
- runtime/IteratorPrototype.h:
- runtime/JSArray.h:
(JSC::JSArray::subspaceFor):
- runtime/JSArrayBuffer.h:
- runtime/JSArrayBufferPrototype.h:
- runtime/JSArrayIterator.h:
- runtime/JSAsyncGenerator.h:
- runtime/JSBigInt.h:
- runtime/JSBoundFunction.h:
- runtime/JSCallee.h:
(JSC::JSCallee::subspaceFor):
- runtime/JSCustomGetterFunction.h:
- runtime/JSCustomSetterFunction.h:
- runtime/JSDataView.h:
- runtime/JSDataViewPrototype.h:
- runtime/JSFinalizationRegistry.h:
- runtime/JSFunction.h:
(JSC::JSFunction::subspaceFor):
- runtime/JSGenerator.h:
- runtime/JSGenericTypedArrayView.h:
- runtime/JSGenericTypedArrayViewPrototype.h:
- runtime/JSGlobalLexicalEnvironment.h:
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::subspaceFor):
- runtime/JSMap.h:
- runtime/JSMapIterator.h:
- runtime/JSModuleLoader.h:
- runtime/JSModuleNamespaceObject.h:
- runtime/JSModuleRecord.h:
- runtime/JSNativeStdFunction.h:
- runtime/JSONObject.h:
- runtime/JSPromise.h:
(JSC::JSPromise::subspaceFor):
- runtime/JSPromisePrototype.h:
(JSC::JSPromisePrototype::subspaceFor):
- runtime/JSPropertyNameEnumerator.h:
- runtime/JSProxy.h:
(JSC::JSProxy::subspaceFor):
- runtime/JSRemoteFunction.h:
- runtime/JSScriptFetchParameters.h:
- runtime/JSScriptFetcher.h:
- runtime/JSSet.h:
- runtime/JSSetIterator.h:
- runtime/JSSourceCode.h:
- runtime/JSString.h:
(JSC::JSString::subspaceFor):
- runtime/JSStringIterator.h:
- runtime/JSTemplateObjectDescriptor.h:
- runtime/JSTypedArrayViewPrototype.h:
- runtime/JSWeakObjectRef.h:
- runtime/JSWithScope.h:
- runtime/MapIteratorPrototype.h:
- runtime/MapPrototype.h:
- runtime/MathObject.h:
- runtime/ModuleProgramExecutable.h:
- runtime/NativeErrorPrototype.h:
- runtime/NativeExecutable.h:
- runtime/NumberObject.h:
(JSC::NumberObject::subspaceFor):
- runtime/ObjectPrototype.h:
- runtime/OptionsList.h:
- runtime/ProgramExecutable.h:
- runtime/PropertyTable.h:
- runtime/ProxyObject.h:
- runtime/ProxyRevoke.h:
- runtime/ReflectObject.h:
- runtime/RegExp.h:
- runtime/RegExpObject.h:
- runtime/RegExpPrototype.h:
- runtime/RegExpStringIteratorPrototype.h:
- runtime/ScopedArguments.h:
- runtime/ScopedArgumentsTable.h:
- runtime/ScriptExecutable.cpp:
(JSC::ScriptExecutable::clearCode):
(JSC::ScriptExecutable::installCode):
- runtime/SetIteratorPrototype.h:
- runtime/SetPrototype.h:
- runtime/ShadowRealmObject.h:
- runtime/ShadowRealmPrototype.h:
- runtime/SparseArrayValueMap.h:
- runtime/StrictEvalActivation.h:
- runtime/StringIteratorPrototype.h:
- runtime/StringObject.h:
(JSC::StringObject::subspaceFor):
- runtime/Structure.h:
(JSC::Structure::subspaceFor):
- runtime/StructureChain.h:
- runtime/StructureRareData.h:
- runtime/Symbol.h:
- runtime/SymbolObject.h:
- runtime/SymbolPrototype.h:
- runtime/SymbolTable.h:
- runtime/TemporalCalendar.h:
- runtime/TemporalCalendarPrototype.h:
- runtime/TemporalDuration.h:
- runtime/TemporalDurationPrototype.h:
- runtime/TemporalInstant.h:
- runtime/TemporalInstantPrototype.h:
- runtime/TemporalNow.h:
- runtime/TemporalObject.h:
- runtime/TemporalPlainTime.h:
- runtime/TemporalPlainTimePrototype.h:
- runtime/TemporalTimeZone.h:
- runtime/TemporalTimeZonePrototype.h:
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
(JSC::VM::codeBlockSpace):
(JSC::VM::functionExecutableSpace):
(JSC::VM::programExecutableSpace):
(JSC::VM::unlinkedFunctionExecutableSpace):
(JSC::VM::arraySpace): Deleted.
(JSC::VM::bigIntSpace): Deleted.
(JSC::VM::calleeSpace): Deleted.
(JSC::VM::clonedArgumentsSpace): Deleted.
(JSC::VM::customGetterSetterSpace): Deleted.
(JSC::VM::dateInstanceSpace): Deleted.
(JSC::VM::domAttributeGetterSetterSpace): Deleted.
(JSC::VM::exceptionSpace): Deleted.
(JSC::VM::executableToCodeBlockEdgeSpace): Deleted.
(JSC::VM::functionSpace): Deleted.
(JSC::VM::getterSetterSpace): Deleted.
(JSC::VM::globalLexicalEnvironmentSpace): Deleted.
(JSC::VM::internalFunctionSpace): Deleted.
(JSC::VM::jsProxySpace): Deleted.
(JSC::VM::nativeExecutableSpace): Deleted.
(JSC::VM::numberObjectSpace): Deleted.
(JSC::VM::plainObjectSpace): Deleted.
(JSC::VM::promiseSpace): Deleted.
(JSC::VM::propertyNameEnumeratorSpace): Deleted.
(JSC::VM::propertyTableSpace): Deleted.
(JSC::VM::regExpSpace): Deleted.
(JSC::VM::regExpObjectSpace): Deleted.
(JSC::VM::ropeStringSpace): Deleted.
(JSC::VM::scopedArgumentsSpace): Deleted.
(JSC::VM::sparseArrayValueMapSpace): Deleted.
(JSC::VM::stringSpace): Deleted.
(JSC::VM::stringObjectSpace): Deleted.
(JSC::VM::structureChainSpace): Deleted.
(JSC::VM::structureRareDataSpace): Deleted.
(JSC::VM::structureSpace): Deleted.
(JSC::VM::brandedStructureSpace): Deleted.
(JSC::VM::symbolTableSpace): Deleted.
- runtime/WeakMapImpl.h:
(JSC::WeakMapImpl::subspaceFor):
- runtime/WeakMapPrototype.h:
- runtime/WeakObjectRefPrototype.h:
- runtime/WeakSetPrototype.h:
- wasm/js/JSToWasmICCallee.h:
- wasm/js/JSWebAssembly.h:
- wasm/js/JSWebAssemblyException.h:
- wasm/js/JSWebAssemblyGlobal.h:
- wasm/js/JSWebAssemblyInstance.h:
- wasm/js/JSWebAssemblyMemory.h:
- wasm/js/JSWebAssemblyModule.h:
- wasm/js/JSWebAssemblyTable.h:
- wasm/js/JSWebAssemblyTag.h:
- wasm/js/WebAssemblyCompileErrorPrototype.h:
- wasm/js/WebAssemblyExceptionPrototype.h:
- wasm/js/WebAssemblyFunction.h:
- wasm/js/WebAssemblyGlobalPrototype.h:
- wasm/js/WebAssemblyInstancePrototype.h:
- wasm/js/WebAssemblyLinkErrorPrototype.h:
- wasm/js/WebAssemblyMemoryPrototype.h:
- wasm/js/WebAssemblyModulePrototype.h:
- wasm/js/WebAssemblyModuleRecord.h:
- wasm/js/WebAssemblyRuntimeErrorPrototype.h:
- wasm/js/WebAssemblyTablePrototype.h:
- wasm/js/WebAssemblyTagPrototype.h:
- wasm/js/WebAssemblyWrapperFunction.h:
Source/WebCore:
- Make various classes client-server aware in terms of IsoSubspaces.
- Make CodeGeneratorJS.pm client-server aware in terms of IsoSubspaces.
- Rebase bindings test results.
- CMakeLists.txt:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- bindings/js/DOMGCOutputConstraint.cpp:
(WebCore::DOMGCOutputConstraint::DOMGCOutputConstraint):
(WebCore::DOMGCOutputConstraint::executeImplImpl):
- bindings/js/DOMGCOutputConstraint.h:
- bindings/js/JSDOMAsyncIterator.h:
- bindings/js/JSDOMBuiltinConstructorBase.cpp:
(WebCore::JSDOMBuiltinConstructorBase::subspaceForImpl):
- bindings/js/JSDOMBuiltinConstructorBase.h:
(WebCore::JSDOMBuiltinConstructorBase::subspaceFor):
- bindings/js/JSDOMConstructorBase.cpp:
(WebCore::JSDOMConstructorBase::subspaceForImpl):
- bindings/js/JSDOMConstructorBase.h:
(WebCore::JSDOMConstructorBase::subspaceFor):
- bindings/js/JSDOMConstructorNotCallable.h:
(WebCore::JSDOMConstructorNotCallable::subspaceFor):
- bindings/js/JSDOMIterator.h:
- bindings/js/JSDOMWindowProperties.cpp:
(WebCore::JSDOMWindowProperties::subspaceForImpl):
- bindings/js/JSDOMWindowProperties.h:
- bindings/js/JSFileSystemDirectoryHandleIterator.cpp:
(WebCore::JSFileSystemDirectoryHandleIterator::subspaceForImpl):
- bindings/js/JSFileSystemDirectoryHandleIterator.h:
- bindings/js/JSIDBSerializationGlobalObject.cpp:
(WebCore::JSIDBSerializationGlobalObject::subspaceForImpl):
- bindings/js/JSIDBSerializationGlobalObject.h:
- bindings/js/JSWindowProxy.cpp:
(WebCore::JSWindowProxy::subspaceForImpl):
- bindings/js/JSWindowProxy.h:
- bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSHeapData::JSHeapData):
(WebCore::JSHeapData::ensureHeapData):
(WebCore::JSVMClientData::JSVMClientData):
(WebCore::JSVMClientData::initNormalWorld):
- bindings/js/WebCoreJSClientData.h:
(WebCore::JSHeapData::lock):
(WebCore::JSHeapData::subspaces):
(WebCore::JSHeapData::fileSystemDirectoryHandleIteratorSpace):
(WebCore::JSHeapData::setFileSystemDirectoryHandleIteratorSpace):
(WebCore::JSVMClientData::normalWorld):
(WebCore::JSVMClientData::rememberWorld):
(WebCore::JSVMClientData::forgetWorld):
(WebCore::JSVMClientData::heapData):
(WebCore::JSVMClientData::builtinNames):
(WebCore::JSVMClientData::builtinFunctions):
(WebCore::JSVMClientData::domBuiltinConstructorSpace):
(WebCore::JSVMClientData::domConstructorSpace):
(WebCore::JSVMClientData::domNamespaceObjectSpace):
(WebCore::JSVMClientData::domWindowPropertiesSpace):
(WebCore::JSVMClientData::runtimeArraySpace):
(WebCore::JSVMClientData::runtimeMethodSpace):
(WebCore::JSVMClientData::runtimeObjectSpace):
(WebCore::JSVMClientData::windowProxySpace):
(WebCore::JSVMClientData::idbSerializationSpace):
(WebCore::JSVMClientData::fileSystemDirectoryHandleIteratorSpace):
(WebCore::JSVMClientData::setFileSystemDirectoryHandleIteratorSpace):
(WebCore::JSVMClientData::clientSubspaces):
(WebCore::JSVMClientData::forEachOutputConstraintSpace): Deleted.
(WebCore::JSVMClientData::subspaces): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateIterableDefinition):
(GeneratePrototypeDeclaration):
- bindings/scripts/preprocess-idls.pl:
- bindings/scripts/test/JS/JSDOMWindow.cpp:
(WebCore::JSDOMWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSDOMWindow.h:
(WebCore::JSDOMWindow::subspaceFor):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
(WebCore::JSDedicatedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.h:
(WebCore::JSDedicatedWorkerGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSExposedStar.cpp:
(WebCore::JSExposedStarDOMConstructor::prototypeForStructure):
(WebCore::JSExposedStar::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedStar.h:
(WebCore::JSExposedStar::subspaceFor):
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
(WebCore::JSExposedToWorkerAndWindow::subspaceForImpl):
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.h:
(WebCore::JSExposedToWorkerAndWindow::subspaceFor):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
(WebCore::JSPaintWorkletGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSPaintWorkletGlobalScope.h:
(WebCore::JSPaintWorkletGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
(WebCore::JSServiceWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSServiceWorkerGlobalScope.h:
(WebCore::JSServiceWorkerGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
(WebCore::JSShadowRealmGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSShadowRealmGlobalScope.h:
(WebCore::JSShadowRealmGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:
(WebCore::JSSharedWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSSharedWorkerGlobalScope.h:
(WebCore::JSSharedWorkerGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactionsDOMConstructor::prototypeForStructure):
(WebCore::JSTestCEReactions::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactions.h:
(WebCore::JSTestCEReactions::subspaceFor):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
(WebCore::JSTestCEReactionsStringifier::subspaceFor):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracerDOMConstructor::prototypeForStructure):
(WebCore::JSTestCallTracer::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCallTracer.h:
(WebCore::JSTestCallTracer::subspaceFor):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructorDOMConstructor::prototypeForStructure):
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:
(WebCore::JSTestConditionalIncludesDOMConstructor::prototypeForStructure):
(WebCore::JSTestConditionalIncludes::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionalIncludes.h:
(WebCore::JSTestConditionalIncludes::subspaceFor):
- bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:
(WebCore::JSTestConditionallyReadWriteDOMConstructor::prototypeForStructure):
(WebCore::JSTestConditionallyReadWrite::subspaceForImpl):
- bindings/scripts/test/JS/JSTestConditionallyReadWrite.h:
(WebCore::JSTestConditionallyReadWrite::subspaceFor):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJITDOMConstructor::prototypeForStructure):
(WebCore::JSTestDOMJIT::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDOMJIT.h:
(WebCore::JSTestDOMJIT::subspaceFor):
- bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
(WebCore::JSTestDefaultToJSONDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSON::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSON.h:
(WebCore::JSTestDefaultToJSON::subspaceFor):
- bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
(WebCore::JSTestDefaultToJSONFilteredByExposedDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONFilteredByExposed::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.h:
(WebCore::JSTestDefaultToJSONFilteredByExposed::subspaceFor):
- bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:
(WebCore::JSTestDefaultToJSONIndirectInheritanceDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONIndirectInheritance::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.h:
(WebCore::JSTestDefaultToJSONIndirectInheritance::subspaceFor):
- bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
(WebCore::JSTestDefaultToJSONInheritDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONInherit::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInherit.h:
(WebCore::JSTestDefaultToJSONInherit::subspaceFor):
- bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
(WebCore::JSTestDefaultToJSONInheritFinalDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONInheritFinal::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.h:
(WebCore::JSTestDefaultToJSONInheritFinal::subspaceFor):
- bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp:
(WebCore::JSTestDelegateToSharedSyntheticAttributeDOMConstructor::prototypeForStructure):
(WebCore::JSTestDelegateToSharedSyntheticAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.h:
(WebCore::JSTestDelegateToSharedSyntheticAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestDomainSecurity.cpp:
(WebCore::JSTestDomainSecurityDOMConstructor::prototypeForStructure):
(WebCore::JSTestDomainSecurity::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDomainSecurity.h:
(WebCore::JSTestDomainSecurity::subspaceFor):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySettingDOMConstructor::prototypeForStructure):
(WebCore::JSTestEnabledBySetting::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledBySetting.h:
(WebCore::JSTestEnabledBySetting::subspaceFor):
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContextDOMConstructor::prototypeForStructure):
(WebCore::JSTestEnabledForContext::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledForContext.h:
(WebCore::JSTestEnabledForContext::subspaceFor):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetDOMConstructor::prototypeForStructure):
(WebCore::JSTestEventTarget::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventTarget.h:
(WebCore::JSTestEventTarget::subspaceFor):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestException.h:
(WebCore::JSTestException::subspaceFor):
- bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:
(WebCore::JSTestGenerateAddOpaqueRootDOMConstructor::prototypeForStructure):
(WebCore::JSTestGenerateAddOpaqueRoot::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.h:
(WebCore::JSTestGenerateAddOpaqueRoot::subspaceFor):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachableDOMConstructor::prototypeForStructure):
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
(WebCore::JSTestGenerateIsReachable::subspaceFor):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGlobalObject.h:
(WebCore::JSTestGlobalObject::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h:
(WebCore::JSTestIndexedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceDOMConstructor::construct):
(WebCore::jsTestInterfacePrototypeFunction_entriesCaller):
(WebCore::JSTestInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscoreDOMConstructor::prototypeForStructure):
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceFor):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::JSTestIterableDOMConstructor::prototypeForStructure):
(WebCore::jsTestIterablePrototypeFunction_entriesCaller):
(WebCore::JSTestIterable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIterable.h:
(WebCore::JSTestIterable::subspaceFor):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructorDOMConstructor::prototypeForStructure):
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
(WebCore::JSTestJSBuiltinConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
(WebCore::JSTestLegacyFactoryFunctionDOMConstructor::prototypeForStructure):
(WebCore::JSTestLegacyFactoryFunction::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.h:
(WebCore::JSTestLegacyFactoryFunction::subspaceFor):
- bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp:
(WebCore::JSTestLegacyNoInterfaceObjectPrototype::finishCreation):
(WebCore::JSTestLegacyNoInterfaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.h:
(WebCore::JSTestLegacyNoInterfaceObject::subspaceFor):
- bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):
(WebCore::JSTestLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.h:
(WebCore::JSTestLegacyOverrideBuiltIns::subspaceFor):
- bindings/scripts/test/JS/JSTestMapLike.cpp:
(WebCore::JSTestMapLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLike.h:
(WebCore::JSTestMapLike::subspaceFor):
- bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp:
(WebCore::JSTestMapLikeWithOverriddenOperationsDOMConstructor::prototypeForStructure):
(WebCore::JSTestMapLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.h:
(WebCore::JSTestMapLikeWithOverriddenOperations::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h:
(WebCore::JSTestNamedDeleterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetterDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWithDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedGetterCallWith::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.h:
(WebCore::JSTestNamedGetterCallWith::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedGetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedGetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h:
(WebCore::JSTestNamedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetterDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.h:
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.h:
(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.h:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::subspaceFor):
- bindings/scripts/test/JS/JSTestNamespaceObject.cpp:
(WebCore::JSTestNamespaceObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamespaceObject.h:
(WebCore::JSTestNamespaceObject::subspaceFor):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunction_entriesCaller):
(WebCore::JSTestNode::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjDOMConstructor::construct):
(WebCore::JSTestObj::subspaceForImpl):
- bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::subspaceFor):
- bindings/scripts/test/JS/JSTestOperationConditional.cpp:
(WebCore::JSTestOperationConditionalDOMConstructor::prototypeForStructure):
(WebCore::JSTestOperationConditional::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOperationConditional.h:
(WebCore::JSTestOperationConditional::subspaceFor):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
(WebCore::JSTestOverloadedConstructors::subspaceFor):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceFor):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterfaceDOMConstructor::prototypeForStructure):
(WebCore::JSTestPluginInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPluginInterface.h:
(WebCore::JSTestPluginInterface::subspaceFor):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEvent::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h:
(WebCore::JSTestPromiseRejectionEvent::subspaceFor):
- bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp:
(WebCore::JSTestReadOnlyMapLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestReadOnlyMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlyMapLike.h:
(WebCore::JSTestReadOnlyMapLike::subspaceFor):
- bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp:
(WebCore::JSTestReadOnlySetLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestReadOnlySetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReadOnlySetLike.h:
(WebCore::JSTestReadOnlySetLike::subspaceFor):
- bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp:
(WebCore::JSTestReportExtraMemoryCostDOMConstructor::prototypeForStructure):
(WebCore::JSTestReportExtraMemoryCost::subspaceForImpl):
- bindings/scripts/test/JS/JSTestReportExtraMemoryCost.h:
(WebCore::JSTestReportExtraMemoryCost::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceDOMConstructor::prototypeForStructure):
(WebCore::JSTestSerializedScriptValueInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::subspaceFor):
- bindings/scripts/test/JS/JSTestSetLike.cpp:
(WebCore::JSTestSetLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestSetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLike.h:
(WebCore::JSTestSetLike::subspaceFor):
- bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp:
(WebCore::JSTestSetLikeWithOverriddenOperationsDOMConstructor::prototypeForStructure):
(WebCore::JSTestSetLikeWithOverriddenOperations::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.h:
(WebCore::JSTestSetLikeWithOverriddenOperations::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifier.h:
(WebCore::JSTestStringifier::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperationDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierAnonymousOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h:
(WebCore::JSTestStringifierAnonymousOperation::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperationDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierNamedOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.h:
(WebCore::JSTestStringifierNamedOperation::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAsDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierOperationImplementedAs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToStringDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierOperationNamedToString::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h:
(WebCore::JSTestStringifierOperationNamedToString::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttributeDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttributeDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierReadWriteAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestTaggedWrapper.cpp:
(WebCore::JSTestTaggedWrapperDOMConstructor::prototypeForStructure):
(WebCore::JSTestTaggedWrapper::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTaggedWrapper.h:
(WebCore::JSTestTaggedWrapper::subspaceFor):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsDOMConstructor::construct):
(WebCore::JSTestTypedefs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTypedefs.h:
(WebCore::JSTestTypedefs::subspaceFor):
- bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:
(WebCore::JSWorkerGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkerGlobalScope.h:
(WebCore::JSWorkerGlobalScope::subspaceFor):
- bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:
(WebCore::JSWorkletGlobalScope::subspaceForImpl):
- bindings/scripts/test/JS/JSWorkletGlobalScope.h:
(WebCore::JSWorkletGlobalScope::subspaceFor):
- bridge/objc/objc_runtime.h:
- bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::subspaceForImpl):
- bridge/runtime_array.cpp:
(JSC::RuntimeArray::subspaceForImpl):
- bridge/runtime_array.h:
- bridge/runtime_method.cpp:
(JSC::RuntimeMethod::subspaceForImpl):
- bridge/runtime_method.h:
- bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::subspaceForImpl):
- bridge/runtime_object.h:
- 8:41 AM Changeset in webkit [290128] by
-
- 2 edits in trunk/Source/WebKit
AX: isAXAuthenticatedCallback must be handled on the main runloop
https://bugs.webkit.org/show_bug.cgi?id=236789
Reviewed by Chris Fleizach.
isAXAuthenticatedCallback in WebProcessCocoa.mm performs IPC to the UI process
to determine if the given auditToken is valid. This causes a crash with isolated
tree mode enabled as IPC must be performed on the main thread / runloop.
This patch changes this function to dispatch to the main runloop.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::isAXAuthenticatedCallback):
- 8:30 AM Changeset in webkit [290127] by
-
- 8 edits in trunk/Source/WebCore
[LFC][Integration] Add missing LineIteratorModernPath::isHorizontal implementation
https://bugs.webkit.org/show_bug.cgi?id=236835
Reviewed by Antti Koivisto.
isHorizontal value comes from the root inline box's writing mode.
- layout/formattingContexts/inline/InlineLineBox.h:
(WebCore::Layout::LineBox::isHorizontal const):
- layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::isHorizontal const):
(WebCore::InlineDisplay::Line::Line):
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::InlineDisplayLineBuilder::build const):
- layout/integration/InlineIteratorLineModernPath.h:
(WebCore::InlineIterator::LineIteratorModernPath::isHorizontal const):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
- layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::isHorizontal const):
- layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
- 7:46 AM Changeset in webkit [290126] by
-
- 2 edits in trunk/Tools
[EWS] Trigger Mac builders on pull-requests
https://bugs.webkit.org/show_bug.cgi?id=236257
<rdar://problem/88591950>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/config.json: Enable Mac builders on pull-requests.
Canonical link: https://commits.webkit.org/247469@main
- 7:44 AM Changeset in webkit [290125] by
-
- 7 edits in trunk
[frame-rate] [custom-effect] allow setting frameRate as an option passed to document.timeline.animate()
https://bugs.webkit.org/show_bug.cgi?id=236831
Reviewed by Dean Jackson.
Source/WebCore:
- animation/CustomAnimationOptions.h:
- animation/CustomAnimationOptions.idl:
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animate):
LayoutTests:
- webanimations/frame-rate/animation-frame-rate-expected.txt:
- webanimations/frame-rate/animation-frame-rate.html:
- 7:39 AM Changeset in webkit [290124] by
-
- 9 edits in trunk
[InputElement] Return empty string for an invalid floating-point number that ends with "."
https://bugs.webkit.org/show_bug.cgi?id=236700
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/the-input-element/number-expected.txt:
Source/WebCore:
As per specs https://html.spec.whatwg.org/multipage/input.html#number-state-(type%3Dnumber),
"If the value of the element is not a valid floating-point number, then set it to the empty
string instead".
- html/parser/HTMLParserIdioms.cpp:
(WebCore::parseToDoubleForNumberType):
LayoutTests:
- fast/forms/number/number-stepup-stepdown-expected.txt:
- fast/forms/number/number-stepup-stepdown-from-renderer-expected.txt:
- fast/forms/number/number-stepup-stepdown-from-renderer.html:
- fast/forms/number/number-stepup-stepdown.html:
- 7:38 AM Changeset in webkit [290123] by
-
- 7 edits in trunk
[frame-rate] allow setting frameRate as an option passed to Element.animate()
https://bugs.webkit.org/show_bug.cgi?id=236830
Reviewed by Dean Jackson.
Source/WebCore:
- animation/KeyframeAnimationOptions.h:
- animation/KeyframeAnimationOptions.idl:
- dom/Element.cpp:
(WebCore::Element::animate):
LayoutTests:
- webanimations/frame-rate/animation-frame-rate-expected.txt:
- webanimations/frame-rate/animation-frame-rate.html:
- 7:35 AM Changeset in webkit [290122] by
-
- 3 edits2 adds in trunk
[custom-effect] Animations associated with a custom effect should appear in document.getAnimations() result
https://bugs.webkit.org/show_bug.cgi?id=236828
Reviewed by Dean Jackson.
Source/WebCore:
Test: webanimations/custom-effect/custom-effect-get-animations.html
- dom/Document.cpp:
(WebCore::Document::matchingAnimations):
LayoutTests:
- webanimations/custom-effect/custom-effect-get-animations-expected.txt: Added.
- webanimations/custom-effect/custom-effect-get-animations.html: Added.
- 2:47 AM Changeset in webkit [290121] by
-
- 8 edits6 adds in trunk
[frame-rate] animation with different but compatible frame rates should be aligned
https://bugs.webkit.org/show_bug.cgi?id=236778
<rdar://problem/89083932>
Reviewed by Simon Fraser.
Source/WebCore:
With bug 234202 we started accounting for the frameRate property of an animation when updating
animations and ensuring that animations with the same frameRate are sampled in the same frame.
We expand on this by aligning animations that use different frameRate but could share sample frames.
For instance, if we have animations running with frameRate set to 6, 12 and 18, and assuming no
frames are ever skipped, we should expect a sequence of frames where the following animations are
sampled:
- frame 1: 12, 18, 6
- frame 2: 18
- frame 3: 12
- frame 4: 18
- frame 5: 12, 18, 6
and for that pattern to repeat.
To achieve this, we add a new "isNew" boolean flag on the FrameRateData struct. Then, in
FrameRateAligner::finishUpdate(), which is newly called from updateAnimationsAndSendEvents(),
we identify which frame rates have this flag, and analyze the other frame rates to determine
which frame rate it is most compatible with. If we find such a compatible frame rate, the new
frame rate adopts the same firstUpdateTime which ensures that they now have the same basis to
compute ideal times for sampling.
Within updateAnimationsAndSendEvents(), we also ensure that newly-added animations, regardless
of the output of FrameRateAligner::updateFrameRate(), are sampled right away so that there's no
delay for an animation to have visual output, letting them be synchronized with other animations
of that frame rate at the next opportunity.
Tests: webanimations/frame-rate/animation-frame-rate-alignment-compatible-frame-rates.html
webanimations/frame-rate/animation-frame-rate-alignment-started-together.html
webanimations/frame-rate/animation-frame-rate-alignment-started-with-one-frame-separation.html
- animation/DocumentTimelinesController.cpp:
(WebCore::DocumentTimelinesController::updateAnimationsAndSendEvents):
- animation/FrameRateAligner.cpp:
(WebCore::FrameRateAligner::beginUpdate):
(WebCore::FrameRateAligner::updateFrameRate):
(WebCore::frameRatesCanBeAligned):
(WebCore::FrameRateAligner::finishUpdate):
- animation/FrameRateAligner.h:
LayoutTests:
Add new tests that check the behavior of alignment when:
- two animations are started together with the same frame rate,
- two animations are started one frame apart with the same frame rate,
- three animations are each started one frame apart and with different, but compatible frame rates.
- TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- webanimations/frame-rate/animation-frame-rate-alignment-compatible-frame-rates-expected.txt: Added.
- webanimations/frame-rate/animation-frame-rate-alignment-compatible-frame-rates.html: Added.
- webanimations/frame-rate/animation-frame-rate-alignment-started-together-expected.txt: Added.
- webanimations/frame-rate/animation-frame-rate-alignment-started-together.html: Added.
- webanimations/frame-rate/animation-frame-rate-alignment-started-with-one-frame-separation-expected.txt: Added.
- webanimations/frame-rate/animation-frame-rate-alignment-started-with-one-frame-separation.html: Added.
- 1:19 AM Changeset in webkit [290120] by
-
- 6 edits in trunk/LayoutTests
Unreviewed gardening for GPU Process bots. Update fuzzy data.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-images/gradients-with-transparent.html:
- web-platform-tests/svg/coordinate-systems/viewBox-scaling-text-001.html:
LayoutTests:
- gpu-process/TestExpectations:
- platform/ios/TestExpectations: A couple tests are happening on all iOS bots and not uniquely on GPU Process bots.
- 12:50 AM Changeset in webkit [290119] by
-
- 4 edits in trunk
[JSC] Enable Shadow Realms support by default
https://bugs.webkit.org/show_bug.cgi?id=236673
Patch by Joseph Griego <jgriego@igalia.com> on 2022-02-18
Reviewed by Yusuke Suzuki.
LayoutTests/imported/w3c:
Enabling this flag causes the new WPT test to partially pass (since
ShadowRealm is available on Window) but does not completely pass
because shadow realm contexts do not yet have the required web APIs
exposed.
- web-platform-tests/dom/idlharness-shadowrealm.window-expected.txt:
Source/JavaScriptCore:
The implementaiton in JSC is complete and should be correct and
reasonably fast now; so, enable it without requiring the flag.
Should be covered by EWS and existing tests of shadow realms functionality.
- runtime/OptionsList.h:
- 12:48 AM Changeset in webkit [290118] by
-
- 6 edits in trunk/Source
[GTK][WPE] Don't use ANGLE's GBM-based display
https://bugs.webkit.org/show_bug.cgi?id=236772
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-02-18
Reviewed by Alejandro G. Castro.
Source/ThirdParty/ANGLE:
With DisplayGbm functionality not necessary anymore, we can stop
building the associated code and linking against libgbm and libdrm at
the ANGLE level. These two libraries are still dependencies that have
since become necessary in WebCore.
- CMakeLists.txt:
- PlatformGTK.cmake:
- PlatformWPE.cmake:
Source/WebCore:
ANGLE's DisplayGbm implementation adds unnecessary overhead for how we
would want to use ANGLE. We don't need a connection to the DRM display
device or the ability for the display to provide pre-allocated buffer
objects that are then displayed on that device. Instead we have to
control our own GBM buffers and have options in terms of how we want
those buffers to be handled and presented.
We can live with the DisplayEGL implementation instead. To be able to
utilize it, we have to switch to using the EGL_GetPlatformDisplayEXT
entrypoint, along with a display attribute list that selects the
OpenGLES as the display's GL target (matching what we've used with
DisplayGBM so far) and EGL as the device type. Additionally, we
specify surfaceless as the native platform type, even when right now
this doesn't seem to have any effect.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:
(Nicosia::GCGLANGLELayer::ANGLEContext::createContext):
- 12:16 AM Changeset in webkit [290117] by
-
- 48 edits in trunk/Source
Add LC_SOURCE_VERSION to compile targets
https://bugs.webkit.org/show_bug.cgi?id=236720
<rdar://84984140>
Reviewed by Michael Saboff.
Source/JavaScriptCore:
- Configurations/JSC.xcconfig:
- Configurations/JavaScriptCore.xcconfig:
- Configurations/TestAPI.xcconfig:
- Configurations/ToolExecutable.xcconfig:
- Configurations/Version.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/Base.xcconfig:
- Configurations/Version.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/Version.xcconfig:
- Configurations/boringssl.xcconfig:
- Configurations/libsrtp.xcconfig:
- Configurations/libvpx.xcconfig:
- Configurations/libwebm.xcconfig:
- Configurations/libwebrtc.xcconfig:
- Configurations/libyuv.xcconfig:
- Configurations/opus.xcconfig:
- Configurations/usrsctp.xcconfig:
- Configurations/yasm.xcconfig:
Source/WebCore:
- Configurations/Version.xcconfig:
- Configurations/WebCore.xcconfig:
- Configurations/WebCoreTestSupport.xcconfig:
Source/WebCore/PAL:
- Configurations/Version.xcconfig:
Source/WebGPU:
- Configurations/Version.xcconfig:
- Configurations/WGSL.xcconfig:
- Configurations/WGSLUnitTests.xcconfig:
- Configurations/WebGPU.xcconfig:
Source/WebInspectorUI:
- Configurations/Version.xcconfig:
- Configurations/WebInspectorUIFramework.xcconfig:
Source/WebKit:
- Configurations/GPUService.xcconfig:
- Configurations/NetworkService.xcconfig:
- Configurations/Version.xcconfig:
- Configurations/WebAuthnService.xcconfig:
- Configurations/WebContentService.xcconfig:
- Configurations/WebKit.xcconfig:
- Configurations/WebKitSwift.xcconfig:
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
- Configurations/webpushtool.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/Version.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
Feb 17, 2022:
- 11:55 PM Changeset in webkit [290116] by
-
- 23 edits1 copy1 add in trunk
Draw highlights for Scroll To Text Fragment
https://bugs.webkit.org/show_bug.cgi?id=236693
Reviewed by Tim Horton.
Source/WebCore:
Implement a very basic search for text fragments (this will be properly implemented later)
and leverage our Highlight and AppHighlight infrastructures to draw the found ranges for
Scroll to Text Fragment and scroll so they are guaranteed to be in view.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::commonTeardown):
(WebCore::Document::fragmentHighlightRegister):
(WebCore::Document::updateHighlightPositions):
- dom/Document.h:
(WebCore::Document::fragmentHighlightRegisterIfExists):
- page/FrameView.cpp:
(WebCore::FrameView::scrollToFragment):
- rendering/MarkedText.cpp:
(WebCore::MarkedText::collectForHighlights):
- rendering/MarkedText.h:
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::calculateHighlightColor const):
- rendering/StyledMarkedText.cpp:
(WebCore::resolveStyleForMarkedText):
Tools:
- TestWebKitAPI/Tests/WebCore/MarkedText.cpp:
(WebCore::operator<<):
- 11:45 PM Changeset in webkit [290115] by
-
- 2 edits in trunk/Source/WebKit
Exclude new LocalStorage directory from backup on iOS
https://bugs.webkit.org/show_bug.cgi?id=236423
<rdar://problem/89060863>
Reviewed by Chris Dumez.
We've been excluding LocalStorage data from backup on iOS since r212555, and we need to make sure this applies
to new LocalStorage directory after migration (r289878).
Manually tested on iOS device.
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
- 9:41 PM Changeset in webkit [290114] by
-
- 1 edit in branches/safari-613.1.17.1-branch/Source/WTF/Scripts/Preferences/WebPreferences.yaml
Apply patch. rdar://problem/89126114
- 9:34 PM Changeset in webkit [290113] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.6
- 9:21 PM Changeset in webkit [290112] by
-
- 5 edits in trunk/Source/WebCore
Web Inspector: [Flexbox] Add indicators for layout context in element tooltips
https://bugs.webkit.org/show_bug.cgi?id=236738
Reviewed by Devin Rousso.
- en.lproj/Localizable.strings:
- inspector/InspectorOverlay.cpp:
(WebCore::rendererIsFlexboxItem):
(WebCore::rendererIsGridItem):
(WebCore::InspectorOverlay::drawElementTitle):
- Add new
Flex Item,Flex,Grid Item, andGridbubblea to element tooltips to allow provide more
context about layout while selecting nodes on a page.
- Move the role into its own bubble with special color (based on the previous coloring of the
Roletext).
- inspector/InspectorOverlayLabel.cpp:
(WebCore::InspectorOverlayLabel::draw):
- inspector/InspectorOverlayLabel.h:
(WebCore::InspectorOverlayLabel::Content::encode const):
(WebCore::InspectorOverlayLabel::Content::decode):
(WebCore::InspectorOverlayLabel::Content::Decoration::encode const):
(WebCore::InspectorOverlayLabel::Content::Decoration::decode):
- Add the concept of text decoration (currently just bordered text).
- Create an intermediate
ComputedContentRunto hold the intermediate representation of content with the
computed attributes of each piece of text. This allows us to better scale with the addition of the new text
decorations and other configuration properties instead of having to create even more Vectors of things that need
to be kept in sync with each other.
- 8:52 PM Changeset in webkit [290111] by
-
- 2 edits in trunk/Source/WTF
Enable subgrid by default.
https://bugs.webkit.org/show_bug.cgi?id=236821
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-17
Reviewed by Alan Bujtas.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 8:16 PM Changeset in webkit [290110] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] scavenger should not call pthread_mach_thread_np after suspension
https://bugs.webkit.org/show_bug.cgi?id=236798
rdar://89020902
Reviewed by Mark Lam and Keith Miller.
pthread_mach_thread_np can take a lock internally. So we should not call it after suspending a thread.
This patch refactors libpas scavenger so that we call pthread_mach_thread_np before suspending a thread.
We also avoid calling pthread_self() after suspension to make suspending safer (while it does not take
a lock, it also depends on an internal implementation).
- libpas/src/libpas/pas_thread_local_cache.c:
(scavenger_thread_suspend_data_create):
(suspend):
(resume):
(stop_allocator):
(pas_thread_local_cache_for_all):
- 7:55 PM Changeset in webkit [290109] by
-
- 2 edits in trunk/Source/WebCore
Crash under ScrollingCoordinatorMac::hasNodeWithAnimatedScrollChanged()
https://bugs.webkit.org/show_bug.cgi?id=236810
<rdar://89072235>
Reviewed by Dean Jackson.
Crash data suggests that r288933 didn't fix the crash entirely.
Although the code paths I can find appear to hold the lock, there may be an
opportunity for m_scrollingCoordinator to get nulled out after we null-check it
but before the copy for the main thread dispatch.
So make a RefPtr on the stack, null-check it, and then move it into the callback.
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::reportSynchronousScrollingReasonsChanged):
(WebCore::ThreadedScrollingTree::reportExposedUnfilledArea):
(WebCore::ThreadedScrollingTree::currentSnapPointIndicesDidChange):
(WebCore::ThreadedScrollingTree::handleWheelEventPhase):
(WebCore::ThreadedScrollingTree::setActiveScrollSnapIndices):
(WebCore::ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged):
- 7:46 PM Changeset in webkit [290108] by
-
- 19 edits in trunk/Source
Clean up / optimize call sites constructing vectors
https://bugs.webkit.org/show_bug.cgi?id=236748
<rdar://problem/89090710>
Reviewed by Darin Adler.
Follow-up to r290026 to address feedback from Darin.
Source/JavaScriptCore:
- b3/air/AirCode.cpp:
(JSC::B3::Air::Code::setNumEntrypoints):
Source/WebCore:
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::updateKeyStatuses):
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::currentData):
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::setMathscripts):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readString):
- css/StyleProperties.cpp:
(WebCore::DeferredStyleProperties::DeferredStyleProperties):
- css/StyleRule.cpp:
(WebCore::DeferredStyleGroupRuleList::DeferredStyleGroupRuleList):
- dom/ElementData.cpp:
(WebCore::UniqueElementData::UniqueElementData):
- loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createFromSelection):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::responseHeaders const):
- platform/encryptedmedia/CDMProxy.cpp:
(WebCore::KeyStore::convertToJSKeyStatusVector const):
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
- platform/text/LocaleICU.cpp:
(WebCore::createFallbackMonthLabels):
- platform/text/LocaleNone.cpp:
(WebCore::LocaleNone::shortMonthLabels):
- platform/text/cocoa/LocaleCocoa.mm:
(WebCore::LocaleCocoa::monthLabels):
(WebCore::LocaleCocoa::shortMonthLabels):
(WebCore::LocaleCocoa::standAloneMonthLabels):
(WebCore::LocaleCocoa::shortStandAloneMonthLabels):
- testing/MockCDMFactory.cpp:
(WebCore::MockCDMInstanceSession::updateLicense):
(WebCore::MockCDMInstanceSession::removeSessionData):
- 7:37 PM Changeset in webkit [290107] by
-
- 2 edits in trunk/Source/WebCore
[WPE] Unreviewed, fix non-unified build after r290089
- html/PDFDocument.cpp:
- 7:31 PM Changeset in webkit [290106] by
-
- 2 edits in trunk/Source/WebKit
[GTK] Debian Stable build is broken after r290026
https://bugs.webkit.org/show_bug.cgi?id=236819
Unreviewed build fix.
- UIProcess/API/APIWebsitePolicies.cpp:
(API::WebsitePolicies::copy const):
- 6:51 PM Changeset in webkit [290105] by
-
- 4 edits2 adds in trunk
[LFC][IFC] 'vertical-align: bottom' makes inline level boxes stick out of their parent block box
https://bugs.webkit.org/show_bug.cgi?id=236677
Reviewed by Antti Koivisto.
Source/WebCore:
'vertical-align: bottom' pushes the root inline box's baseline down as it stretches the line box downwards.
In most cases this makes the root inline box sit at the bottom of the line box e.g.
<div>
some text
<img style="vertical-align: bottom; height: 100px; width: 10px;">
</div>
forms a 100px tall block box where the "some text" sits at the bottom of the line and the tall image fills the rest of the line box all the way to the top.
Now if we add another inline level box with e.g. middle alignment.
<div>
some text
<img style="vertical-align: middle; height: 80px; width: 10px;">
<img style="vertical-align: bottom; height: 100px; width: 10px;">
</div>
We still form a 100px tall block box where the "some text" content sits at the bottom and the middle aligned box stick out of the block box by about 40px (middle alignment -> 80px/2) as it is aligned based
on the root inline box's position (which is at the very bottom of the block container).
Instead the root inline box's baseline should be pull up to make room for the middle aligned image box.
This patch fixes this incorrect behavior by removing the line box relative alignment types from the regular alignment logic and offsetting the root inline box's baseline position at a later step.
What we do here is we simply compute the root inline box's baseline position as if there were no line box relative aligned boxes present and offset the final result if such box happens to stretch the line box.
(going back to the example: without the tall, bottom aligned image box, we compute the root inline box's baseline position to be around 40px to
ensure that the 80px image box fits and later we push it down to 60px (as the 100px image box stretches the line box by 20px).)
Test: fast/inline/vertical-align-bottom.html
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::computeLogicalHeightAndAlign const):
(WebCore::Layout::LineBoxVerticalAligner::computeLineBoxLogicalHeight const):
(WebCore::Layout::LineBoxVerticalAligner::computeRootInlineBoxVerticalPosition const):
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.h:
(WebCore::Layout::LineBoxVerticalAligner::LineBoxHeight::value const):
LayoutTests:
- fast/inline/vertical-align-bottom-expected.html: Added.
- fast/inline/vertical-align-bottom.html: Added.
- 6:46 PM Changeset in webkit [290104] by
-
- 2 edits in trunk/Source/WTF
GeneratePreferences.rb: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated
https://bugs.webkit.org/show_bug.cgi?id=236684
Reviewed by Yusuke Suzuki.
With Ruby 3.1.0, GeneratePreferences.rb reported the following warnings.
GeneratePreferences.rb:235: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
GeneratePreferences.rb:235: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.
- Scripts/GeneratePreferences.rb: Changed to use the keyword argument for ERB.new.
- 6:31 PM Changeset in webkit [290103] by
-
- 6 edits in trunk/Source
Refactor share menu item presentation
https://bugs.webkit.org/show_bug.cgi?id=236806
<rdar://problem/88858606>
Reviewed by Aditya Keerthi.
Source/WebCore:
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::populate):
Source/WebCore/PAL:
- pal/spi/mac/NSSharingServicePickerSPI.h:
Source/WebKit:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
(WebKit::WebContextMenuProxyMac::getShareMenuItem):
- 5:56 PM Changeset in webkit [290102] by
-
- 7 edits in trunk/LayoutTests
LayoutTests/imported/w3c:
Unreviewed gardening. Update fuzzy data.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-003.html:
LayoutTests:
Unreviewed gardening for iOS GPU Process bots.
- TestExpectations:
- gpu-process/TestExpectations: Triage remaining failures.
- css3/masking/clip-path-border-radius-border-box-000.html: Add fuzzy data.
- imported/blink/svg/paintorder/paintorder.svg:
- 5:18 PM Changeset in webkit [290101] by
-
- 1 copy in tags/Safari-614.1.3.4
Tag Safari-614.1.3.4.
- 5:17 PM Changeset in webkit [290100] by
-
- 1 delete in tags/Safari-614.1.3.4
Delete tag.
- 5:10 PM Changeset in webkit [290099] by
-
- 1 copy in tags/Safari-614.1.3.4
Tag Safari-614.1.3.4.
- 5:03 PM Changeset in webkit [290098] by
-
- 30 edits6 adds in trunk
'-webkit-user-select: all' is not respected in editable views
https://bugs.webkit.org/show_bug.cgi?id=190977
rdar://34945944
Reviewed by Wenson Hsieh.
Source/WebCore:
Original patch by Tim Horton.
Currently, if the web view's editable bit is set to true, all nodes are
made editable via a short circuit. However, the content of nodes with
'-webkit-user-select: all' should not be editable. To fix, remove the
short circuit and allow '-webkit-user-select' to take precedence.
'-webkit-user-modify: read-only' and 'contenteditable=false' elements
remain editable in editable web views.
Tests: editing/editability/contenteditable-false-in-editable-view.html
editing/editability/user-modify-read-only-in-editable-view.html
editing/editability/user-select-all-in-editable-view.html
- dom/Node.cpp:
(WebCore::computeEditabilityFromComputedStyle):
(WebCore::Node::computeEditability const):
- html/HTMLElement.cpp:
(WebCore::HTMLElement::editabilityFromContentEditableAttr):
(WebCore::HTMLElement::matchesReadWritePseudoClass const):
- html/HTMLElement.h:
- page/Page.h:
Source/WebKit:
Add methods for testing the GTK port.
- UIProcess/API/C/gtk/WKView.cpp:
(WKViewSetEditable):
- UIProcess/API/C/gtk/WKViewPrivate.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSetEditable):
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
Tools:
Add a UIScriptController method to make web views editable.
Remove TestRunner::setWebViewEditable as it is unused.
- DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
(setWebViewEditableCallback): Deleted.
- DumpRenderTree/TestRunner.h:
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setWebViewEditable): Deleted.
- DumpRenderTree/mac/UIScriptControllerMac.h:
- DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::setWebViewEditable):
- DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::~TestRunner):
(TestRunner::setWebViewEditable): Deleted.
- DumpRenderTree/win/UIScriptControllerWin.cpp:
(WTR::UIScriptControllerWin::setWebViewEditable):
- DumpRenderTree/win/UIScriptControllerWin.h:
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::setWebViewEditable):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::setWebViewEditable):
- WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformResetStateToConsistentValues):
- WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
(WTR::UIScriptControllerGtk::setWebViewEditable):
- WebKitTestRunner/gtk/UIScriptControllerGtk.h:
LayoutTests:
Add tests to verify the behavior of
-[WKWebView _setEditable:]with
'-webkit-user-select: all', '-webkit-user-modify: none', and
'contenteditable=false'. Elements with '-webkit-user-select: all' should
not be editable.
- editing/editability/contenteditable-false-in-editable-view-expected.txt: Added.
- editing/editability/contenteditable-false-in-editable-view.html: Added.
- editing/editability/user-modify-read-only-in-editable-view-expected.txt: Added.
- editing/editability/user-modify-read-only-in-editable-view.html: Added.
- editing/editability/user-select-all-in-editable-view-expected.txt: Added.
- editing/editability/user-select-all-in-editable-view.html: Added.
- editing/input/ios/rtl-keyboard-input-on-focus-in-editable-page.html:
Replace the test option with the new UIHelper method.
- resources/ui-helper.js:
(window.UIHelper.setWebViewEditable):
- 5:00 PM Changeset in webkit [290097] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.4
- 4:54 PM Changeset in webkit [290096] by
-
- 14 edits in trunk
Account for subgrid MBP when sizing
https://bugs.webkit.org/show_bug.cgi?id=236338
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-17
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-grid/subgrid/abs-pos-002-expected.html:
- web-platform-tests/css/css-grid/subgrid/abs-pos-003-expected.html:
- web-platform-tests/css/css-grid/subgrid/line-names-008.html:
- web-platform-tests/css/css-grid/subgrid/parent-repeat-auto-fit-001.html:
- web-platform-tests/css/css-grid/subgrid/parent-repeat-auto-fit-002.html:
Source/WebCore:
Adds extra margin to subgrid items participating in the sizing of an outer
grid's tracks to account for the margin/border/padding of the intermediate
subgrid item itself.
Also contributes the subgrid's m/b/p to the edge tracks it cover, even
if no inner items occupy that track.
- rendering/GridLayoutFunctions.cpp:
(WebCore::GridLayoutFunctions::directionFromSide):
(WebCore::GridLayoutFunctions::hasRelativeOrIntrinsicSizeForChild):
(WebCore::GridLayoutFunctions::extraMarginForSubgridChild):
(WebCore::GridLayoutFunctions::gapDifferenceForSubgridChild):
(WebCore::GridLayoutFunctions::marginLogicalSizeForChild):
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::setOverridingContainingBlockContentSizeForChild):
(WebCore::GridTrackSizingAlgorithmStrategy::logicalHeightForChild const):
(WebCore::GridTrackSizingAlgorithmStrategy::updateOverridingContainingBlockContentSizeForChild const):
(WebCore::DefiniteSizeStrategy::minLogicalSizeForChild const):
(WebCore::DefiniteSizeStrategy::minContentForChild const):
(WebCore::addSubgridMarginBorderPadding):
(WebCore::GridTrackSizingAlgorithm::accumulateIntrinsicSizesForTrack):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::isSubgrid const):
(WebCore::RenderGrid::mayBeSubgridExcludingAbsPos const):
(WebCore::RenderGrid::gridSpanCoversRealTracks const):
(WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild):
(WebCore::RenderGrid::computeContentPositionAndDistributionOffset):
(WebCore::RenderGrid::gridSpanForChild const):
- rendering/RenderGrid.h:
- rendering/style/GridPositionsResolver.cpp:
(WebCore::adjustGridPositionsFromStyle):
LayoutTests:
Account for subgrid MBP when sizing
- 4:53 PM Changeset in webkit [290095] by
-
- 1 copy in tags/Safari-613.1.17.3.2
Tag Safari-613.1.17.3.2.
- 4:53 PM Changeset in webkit [290094] by
-
- 1 copy in tags/Safari-613.1.17.2.2
Tag Safari-613.1.17.2.2.
- 4:52 PM Changeset in webkit [290093] by
-
- 1 copy in tags/Safari-613.1.17.0.5
Tag Safari-613.1.17.0.5.
- 4:45 PM Changeset in webkit [290092] by
-
- 1 copy in tags/Safari-613.1.17.1.5
Tag Safari-613.1.17.1.5.
- 4:42 PM Changeset in webkit [290091] by
-
- 8 edits in trunk/Source/WebKit
[MacCatalyst] improve support for resizing
https://bugs.webkit.org/show_bug.cgi?id=236745
<rdar://problem/86494393>
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView setFrame:]):
(-[WKWebView setBounds:]):
(-[WKWebView _acquireResizeAssertionForReason:]): Added.
Acquire a UIKit assertion whenever theframe/boundsof theWKWebViewis changed that
isinvalidateonce the visible contect rect has been updated. UIKit can use this to know
both when WebKit is processingWKWebViewresize changes and get notified once it's done.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _doAfterNextVisibleContentRectUpdate:]): Added.
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _doAfterNextVisibleContentRectUpdate:]): Deleted.
Allow this to be used outside of testing code (just like-[WKWebView _doAfterNextPresentationUpdate:]).
- Platform/spi/ios/UIKitSPI.h:
- 4:39 PM Changeset in webkit [290090] by
-
- 1 copy in tags/Safari-614.1.3.3
Tag Safari-614.1.3.3.
- 4:27 PM Changeset in webkit [290089] by
-
- 4 edits in trunk/Source/WebCore
PDF.js viewer should work for all kinds of URLs
https://bugs.webkit.org/show_bug.cgi?id=236525
rdar://problem/88832961
Reviewed by Tim Nguyen.
This patch starts loading the pdf as an array buffer after it's recieved
by calling the PDFJS viewer's open function through the content script's
wrapper. More work is needed to potentially present the data as a
PDFDataRangeTransport.
- Modules/pdfjs-extras/content-script.js:
(const.PDFJSContentScript.init):
(const.PDFJSContentScript.open):
- html/PDFDocument.cpp:
(WebCore::PDFDocumentEventListener::handleEvent):
(WebCore::PDFDocument::createDocumentStructure):
(WebCore::PDFDocument::updateDuringParsing):
(WebCore::PDFDocument::finishedParsing):
(WebCore::PDFDocument::sendPDFArrayBuffer):
(WebCore::PDFDocument::injectContentScript):
- html/PDFDocument.h:
(WebCore::PDFDocumentEventListener::handleEvent):
- 4:14 PM Changeset in webkit [290088] by
-
- 2 edits in trunk/Source/WebCore
Pass registrable domain to CoreLocation API
https://bugs.webkit.org/show_bug.cgi?id=236803
<rdar://88761413>
Reviewed by Darin Adler.
Pass registrable domain to CoreLocation API when the Geolocation API is used.
Note that the code is guarded on a CL_HAS_RADAR_88834301 define from CoreLocation
since the initWithWebsiteIdentifier is currently present in the SDK but not
functional.
- platform/cocoa/CoreLocationGeolocationProvider.mm:
(-[WebCLLocationManager initWithWebsiteIdentifier:client:]):
- 4:09 PM Changeset in webkit [290087] by
-
- 4 edits2 adds in trunk
Source/ThirdParty/ANGLE:
Metal ANGLE: vertex array does not correctly observe contents of data buffers
https://bugs.webkit.org/show_bug.cgi?id=236733
<rdar://problem/88713302>
<rdar://problem/88499073>
Patch by Kyle Piddington <Kyle Piddington> on 2022-02-17
Reviewed by Dean Jackson.
Similar to previous bug (236427), we were not correctly observing changes to the
vertex buffer data. This caused us to miss rebinding vertex buffers
when data was updated without causing conversion
- src/libANGLE/renderer/metal/VertexArrayMtl.h:
- src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::syncState):
(rx::VertexArrayMtl::setupDraw):
(rx::VertexArrayMtl::syncDirtyAttrib):
- 4:01 PM Changeset in webkit [290086] by
-
- 16 edits in trunk/Source/WebCore
Always use ChildChange::Source::Parser when creating input element UA shadow tree contents
https://bugs.webkit.org/show_bug.cgi?id=236740
Reviewed by Dean Jackson.
When creating an input element's UA shadow tree, we currently use a
ChildChange::Source value that depends on whether the input element
itself was parser- or script-inserted. But since UA shadow trees are
not exposed to content, and we don't have any dependency on the extra
work that inserting using ChildChange::Source::API does, we can use
ChildChange::Source::Parser unconditionally.
Local testing shows this scores a 0.1% Speedometer 2 improvement.
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/BaseDateAndTimeInputType.h:
- html/ColorInputType.cpp:
(WebCore::ColorInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/ColorInputType.h:
- html/FileInputType.cpp:
(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/FileInputType.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/InputType.cpp:
(WebCore::InputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/InputType.h:
- html/RangeInputType.cpp:
(WebCore::RangeInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/RangeInputType.h:
- html/SearchInputType.cpp:
(WebCore::SearchInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/SearchInputType.h:
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createShadowSubtreeAndUpdateInnerTextElementEditability):
- html/TextFieldInputType.h:
- 3:48 PM Changeset in webkit [290085] by
-
- 12 edits in trunk/Source/WebKit
Move setting RemoteLayerBackingStore surfaces volatile into the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=236791
Reviewed by Tim Horton.
Setting RemoteLayerBackingStore IOSurfaces volatile has to happen in the GPU process with
DOM rendering enabled. Add overrides in RemoteLayerWithRemoteRenderingBackingStoreCollection
to handle this, sending batches of buffer identifiers to RemoteRenderingBackend. Because
surface in-use counts can cause this to fail, we return a list of identifiers that we failed
to mark volatile. A future patch will use these to maintain web process-side buffer volatile
status.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::markSurfacesVolatile):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Platform/Logging.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatileAfterReachabilityChange):
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatileFromTimer):
(WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h:
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::collectBackingStoreBufferIdentifiersToMarkVolatile):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::collectAllBufferIdentifiersToMarkVolatile):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::markBackingStoreVolatileAfterReachabilityChange):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::tryMarkAllBackingStoreVolatile):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::markAllBackingStoreVolatileFromTimer):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::sendMarkBuffersVolatile):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::markSurfacesVolatile):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- 3:39 PM Changeset in webkit [290084] by
-
- 4 edits in trunk/Source/WebKit
[macOS] Non-unified build fixes
https://bugs.webkit.org/show_bug.cgi?id=236752
Reviewed by Darin Adler.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::requestTextRecognition):
(WebKit::WebViewImpl::showSafeBrowsingWarning):
(WebKit::toWKRectEdge):
(WebKit::toRectEdges):
- UIProcess/mac/WKSharingServicePickerDelegate.h:
- 3:29 PM Changeset in webkit [290083] by
-
- 4 edits in branches/safari-614.1.4-branch/Source
Cherry-pick r290076. rdar://problem/89076606
[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
https://bugs.webkit.org/show_bug.cgi?id=236787
Reviewed by Eric Carlson.
Source/WebCore/PAL:
Only re-declare classes and add categories for non-Apple Internal builds, or when those
definitions would be missing from system headers. The presence of the classes and their
methods are already checked at runtime, so this is a build-only change.
- pal/spi/cocoa/AVFoundationSPI.h:
Source/WTF:
- wtf/PlatformHave.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:25 PM Changeset in webkit [290082] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Unnecessary copy/memory allocation
https://bugs.webkit.org/show_bug.cgi?id=236749
rdar://problem/89064893
Reviewed by Dean Jackson.
- WebView/WebHTMLView.mm:
(createShareMenuItem): Shared NSData constructed from a SharedBuffer instead
- 3:16 PM Changeset in webkit [290081] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, reverting r289974.
https://bugs.webkit.org/show_bug.cgi?id=236804
Should not have been reverted on trunk
Reverted changeset:
"Unreviewed, reverting r286874."
https://bugs.webkit.org/show_bug.cgi?id=236734
https://commits.webkit.org/r289974
- 3:13 PM Changeset in webkit [290080] by
-
- 42 edits1 copy7 adds in trunk/LayoutTests/imported/w3c
Resync web-platform-tests/paint-timing from upstream
https://bugs.webkit.org/show_bug.cgi?id=236717
Reviewed by Simon Fraser.
Resync to af3b9946eb6f0955360282176848af4be7e58304
- web-platform-tests/paint-timing/fcp-only/buffered-flag.window.html: Added.
- web-platform-tests/paint-timing/fcp-only/buffered-flag.window.js: Added.
- web-platform-tests/paint-timing/fcp-only/fcp-background-size.html:
- web-platform-tests/paint-timing/fcp-only/fcp-bg-image-set.html:
- web-platform-tests/paint-timing/fcp-only/fcp-bg-image-two-steps-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-bg-image-two-steps.html:
- web-platform-tests/paint-timing/fcp-only/fcp-canvas-context-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-canvas-context.html:
- web-platform-tests/paint-timing/fcp-only/fcp-gradient-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-gradient.html:
- web-platform-tests/paint-timing/fcp-only/fcp-iframe-expected.txt: Added.
- web-platform-tests/paint-timing/fcp-only/fcp-iframe.html: Copied from LayoutTests/imported/w3c/web-platform-tests/paint-timing/fcp-only/fcp-ignore-from-subframe.html.
- web-platform-tests/paint-timing/fcp-only/fcp-ignore-from-subframe.html:
- web-platform-tests/paint-timing/fcp-only/fcp-invisible-3d-rotate-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-invisible-scale-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-invisible-scale-transition-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-invisible-scale.html:
- web-platform-tests/paint-timing/fcp-only/fcp-invisible-text-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-opacity-descendant-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-opacity-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-opacity.html:
- web-platform-tests/paint-timing/fcp-only/fcp-out-of-bounds-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-out-of-bounds-translate-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-out-of-bounds.html:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-display-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-image-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-image.html:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-opacity-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-text-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-pseudo-element-visibility-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-svg-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-text-input-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-text-input.html:
- web-platform-tests/paint-timing/fcp-only/fcp-typographic-pseudo-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-video-frame-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-video-frame.html:
- web-platform-tests/paint-timing/fcp-only/fcp-video-poster-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-video-poster.html:
- web-platform-tests/paint-timing/fcp-only/fcp-whitespace-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-whitespace.html:
- web-platform-tests/paint-timing/fcp-only/fcp-with-rtl-expected.txt:
- web-platform-tests/paint-timing/fcp-only/fcp-with-rtl.html:
- web-platform-tests/paint-timing/fcp-only/svg-in-iframe-expected.txt: Added.
- web-platform-tests/paint-timing/fcp-only/svg-in-iframe.html: Added.
- web-platform-tests/paint-timing/resources/svg.html: Added.
- web-platform-tests/paint-timing/resources/utils.js:
(async assertFirstContentfulPaint.return.new.Promise):
(async assertFirstContentfulPaint):
(async test_fcp):
- 2:58 PM Changeset in webkit [290079] by
-
- 8 edits in trunk
[32bit] Increase fixedExecutableMemoryPoolSize on ARM to 32MB
https://bugs.webkit.org/show_bug.cgi?id=236606
Reviewed by Mark Lam.
Increased executable memory on ARM to 32MB and make it consistent with
other 32 bit platforms (MIPS and x86). This patch also enables some
tests that now pass because of the increased memory; each test was
executed 1000 times and there was no failure.
let-const-tdz-environment-parsing-and-hash-consing-speed.js was disabled
on MIPS because the jitted code is still a bit too bigger for the 32MB,
but it can probably be enable when the EXTRA_CTI_THUNKS patch lands.
- microbenchmarks/let-const-tdz-environment-parsing-and-hash-consing-speed.js:
- stress/arrowfunction-lexical-bind-superproperty.js:
- stress/proxy-revoke.js:
- stress/regress-169445.js:
- stress/tagged-template-object-collect.js:
- 2:54 PM Changeset in webkit [290078] by
-
- 4 edits in branches/safari-614.1.3-branch/Source
Cherry-pick r290076. rdar://problem/89076606
[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
https://bugs.webkit.org/show_bug.cgi?id=236787
Reviewed by Eric Carlson.
Source/WebCore/PAL:
Only re-declare classes and add categories for non-Apple Internal builds, or when those
definitions would be missing from system headers. The presence of the classes and their
methods are already checked at runtime, so this is a build-only change.
- pal/spi/cocoa/AVFoundationSPI.h:
Source/WTF:
- wtf/PlatformHave.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:53 PM Changeset in webkit [290077] by
-
- 9 edits in trunk
Include sub grid items in the track sizing algorithm of the outer grid
https://bugs.webkit.org/show_bug.cgi?id=236337
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-17
Reviewed by Dean Jackson.
Source/WebCore:
resolveIntrinsicTrackSizes and findUsedFlexFraction now recurse into subgridded items
to iterate the children sa if they were directly part of the outer grid.
New constructor added to GridIterator for constructing a new iterator for the subgrid items,
which adjusts the row/column indices into the local coordinate space of the subgrid.
Adds a new method to renderGrid 'placeItems' so that we can ensure subgrid items have finished placement
when doing sizing for the outer grid.
Existing test expectations updated.
- rendering/Grid.cpp:
(WebCore::GridIterator::createForSubgrid):
- rendering/Grid.h:
(WebCore::GridIterator::direction const):
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::estimatedGridAreaBreadthForChild const):
(WebCore::GridTrackSizingAlgorithm::gridAreaBreadthForChild const):
(WebCore::GridTrackSizingAlgorithm::isIntrinsicSizedGridArea const):
(WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild const):
(WebCore::GridTrackSizingAlgorithm::updateBaselineAlignmentContext):
(WebCore::GridTrackSizingAlgorithm::baselineOffsetForChild const):
(WebCore::IndefiniteSizeStrategy::accumulateFlexFraction const):
(WebCore::IndefiniteSizeStrategy::findUsedFlexFraction const):
(WebCore::GridTrackSizingAlgorithm::accumulateIntrinsicSizesForTrack):
(WebCore::GridTrackSizingAlgorithm::resolveIntrinsicTrackSizes):
- rendering/GridTrackSizingAlgorithm.h:
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::placeItems):
(WebCore::insertIntoGrid):
(WebCore::RenderGrid::placeItemsOnGrid const):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid const):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid const):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::isSubgridInParentDirection const):
- rendering/RenderGrid.h:
LayoutTests:
Existing test expectations updated.
- 2:41 PM Changeset in webkit [290076] by
-
- 4 edits in trunk/Source
[Cocoa] Make AVFoundationSPI.h robust against changes in system headers
https://bugs.webkit.org/show_bug.cgi?id=236787
Reviewed by Eric Carlson.
Source/WebCore/PAL:
Only re-declare classes and add categories for non-Apple Internal builds, or when those
definitions would be missing from system headers. The presence of the classes and their
methods are already checked at runtime, so this is a build-only change.
- pal/spi/cocoa/AVFoundationSPI.h:
Source/WTF:
- wtf/PlatformHave.h:
- 2:39 PM Changeset in webkit [290075] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.3
- 2:20 PM Changeset in webkit [290074] by
-
- 6 edits in branches/safari-613.1.17.0-branch
Apply patch. rdar://problem/89009881
- 2:19 PM Changeset in webkit [290073] by
-
- 6 edits in branches/safari-613.1.17.1-branch
Apply patch. rdar://problem/89009881
- 1:52 PM Changeset in webkit [290072] by
-
- 6 edits in trunk/LayoutTests
Unreviewed gardening. Add fuzzy data.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-003.html:
- web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001.html:
LayoutTests:
- fast/borders/border-radius-on-html.html:
- fast/images/exif-orientation-svg-feimage.html:
- 1:45 PM Changeset in webkit [290071] by
-
- 2 edits in trunk/Source/WTF
Enable CSS Motion Path by default
https://bugs.webkit.org/show_bug.cgi?id=236681
Unreviewed enable of WebKitLegacy.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 1:38 PM Changeset in webkit [290070] by
-
- 7 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289693. rdar://problem/88264857
Suppress style invalidation when matching :checked
https://bugs.webkit.org/show_bug.cgi?id=235910
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-12
Reviewed by Antti Koivisto.
Source/WebCore:
Suppress style invalidation when matching :checked for option elements.
Test: fast/selectors/has-select-option-crash.html
- css/SelectorCheckerTestFunctions.h: (WebCore::isChecked):
- html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::selected const): (WebCore::HTMLOptionElement::setSelectedState):
- html/HTMLOptionElement.h:
- html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::updateListItemSelectedStates): (WebCore::HTMLSelectElement::recalcListItems const):
- html/HTMLSelectElement.h:
LayoutTests:
- fast/selectors/has-select-option-crash-expected.txt: Added.
- fast/selectors/has-select-option-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:32 PM Changeset in webkit [290069] by
-
- 3 edits3 adds in trunk/Source/WebGPU
[WebGPU] Add a playground example target
https://bugs.webkit.org/show_bug.cgi?id=236742
Reviewed by Dean Jackson.
It's just a little playground where you can call WebGPU functions.
It's not built by any script or included in any other targets - it's
just for the WebGPU developers to play around with WebGPU functions.
- CommandLinePlayground/main.swift: Added.
- Configurations/CommandLinePlayground.xcconfig: Added.
- WebGPU.xcodeproj/project.pbxproj:
- WebGPU/WebGPU.modulemap:
- 1:31 PM Changeset in webkit [290068] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Cherry-pick r290066. rdar://problem/89072361
[macOS][WP] Add required syscall to sandbox
https://bugs.webkit.org/show_bug.cgi?id=236781
<rdar://89072361>
Reviewed by Chris Dumez.
Add required syscall to the WebContent process' sandbox on macOS. This patch also adds back a set of
syscalls that were removed in https://commits.webkit.org/r286778 for current and previous versions
of macOS. These syscalls will be denied going forward.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:29 PM Changeset in webkit [290067] by
-
- 2 edits in trunk/Source/WTF
[Web Animations] Enable Composite Animations
https://bugs.webkit.org/show_bug.cgi?id=236682
Reviewed by Dean Jackson.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 1:27 PM Changeset in webkit [290066] by
-
- 2 edits in trunk/Source/WebKit
[macOS][WP] Add required syscall to sandbox
https://bugs.webkit.org/show_bug.cgi?id=236781
<rdar://89072361>
Reviewed by Chris Dumez.
Add required syscall to the WebContent process' sandbox on macOS. This patch also adds back a set of
syscalls that were removed in https://commits.webkit.org/r286778 for current and previous versions
of macOS. These syscalls will be denied going forward.
- WebProcess/com.apple.WebProcess.sb.in:
- 1:19 PM Changeset in webkit [290065] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: [Flexbox] Enable Flexbox Inspector feature
https://bugs.webkit.org/show_bug.cgi?id=235820
<rdar://87886409>
Reviewed by Patrick Angle.
Remove the engineering setting and enable the feature by default.
- UserInterface/Base/Setting.js:
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype._updateLayoutBadge):
- UserInterface/Views/LayoutDetailsSidebarPanel.js:
(WI.LayoutDetailsSidebarPanel.prototype.initialLayout):
(WI.LayoutDetailsSidebarPanel.prototype.layout):
(WI.LayoutDetailsSidebarPanel.prototype._refreshNodeSets):
(WI.LayoutDetailsSidebarPanel):
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createEngineeringSettingsView):
- 1:13 PM Changeset in webkit [290064] by
-
- 4 edits in trunk/Source/WebCore
[GTK][WPE] Make proper ANGLE context configuration for some of the expected features
https://bugs.webkit.org/show_bug.cgi?id=236664
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-17
Reviewed by Žan Doberšek.
Add some missing ANGLE GL context configuration options to respect
some of the expected requirements of the WebGL standard.
Fixing multiple layout tests for the ANGLE backend, we can not
modify them for the moment because this is not the default option
in the compilation.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:
(Nicosia::GCGLANGLELayer::ANGLEContext::createContext): Add a new
parameter to detect WebGL2 context and modify context configuration.
(Nicosia::GCGLANGLELayer::GCGLANGLELayer): Ditto.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h: Ditto.
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE): Enable
GL_OES_EGL_image required for the coordinated graphics texture rendering.
- 1:12 PM Changeset in webkit [290063] by
-
- 2 edits in trunk/LayoutTests
[iOS] css/css-color/t422-rgba-onscreen-b.xht and css/css-color/t425-hsla-onscreen-b.xht are consistently failing
https://bugs.webkit.org/show_bug.cgi?id=236802
Unreviewed test gardening.
- platform/ios/TestExpectations: Mark tests as failing.
- 1:01 PM Changeset in webkit [290062] by
-
- 3 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r290054. rdar://problem/89093315
[macOS] Light appearance text fields are invisible in Increased Contrast mode
https://bugs.webkit.org/show_bug.cgi?id=236753
rdar://89093315
Reviewed by Wenson Hsieh.
In Big Sur, the artwork for many form controls, including text fields, was
changed at the system level. When painting native text fields, WebKit has
long used the "borders only" option to support painting custom background
colors. System-level changes in Big Sur broke the behavior of light appearance
"borders only" text fields in Increased Contrast mode.
Until the artwork is updated at the system-level, work around the issue
in WebKit by painting our own borders for text fields under the necessary
conditions.
No new tests, as tests that change system preferences are often unreliable,
and we do not have existing hooks to toggle Increased Contrast mode.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldPaintCustomTextField const): (WebCore::RenderThemeMac::paintTextField):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:01 PM Changeset in webkit [290061] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/ThirdParty/ANGLE
Cherry-pick r290011. rdar://problem/89024095
REGRESSION (iOS 15.4b3): Catastrophic (20x) performance regression in texImage2D from mp4 video
https://bugs.webkit.org/show_bug.cgi?id=236699
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Darin Adler.
Disable the validation for IOSurface pixel formats.
We might pass non-public formats that do not have sensible IOSurfaceGetBytesPerElementOfPlane
to verify with this logic.
Will add test in bug 236759.
Previous bugs of the same:
EAGL:
Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
bug 218637, r273582, 234632@main
CGL:
REGRESSION(Safari 15, BigSur): Poor video texture upload performance with MacBook M1, ANGLE OpenGL backend
bug 232235, r286960, 245183@main
- src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm: (rx::IOSurfaceSurfaceMtl::ValidateAttributes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:01 PM Changeset in webkit [290060] by
-
- 18 edits in branches/safari-613.1.17.1-branch/Source
Cherry-pick r290005. rdar://problem/87596724
CrashTracer: com.apple.WebKit.WebContent at JavaScriptCore: bmalloc_allocate_impl_impl_slow
https://bugs.webkit.org/show_bug.cgi?id=236695
rdar://87596724
Reviewed by Jer Noble.
Source/WebCore:
When a new FragmentedSharedBuffer is received from the network process, it is proactively coalesced
into a SharedBuffer during each call to CachedResource::updateBuffer(). This causes a large number
of re-allocations and copies; essentially re-allocating each time the resource's buffer receives
one more chunk of data.
Instead we only flatten the data buffer once all data have been received.
Running speedtest.net with a gigabit link, we see a reduction of peak
memory use in the content process by about 40% (from 740MB to under 440MB of
physical memory, 1.7GB of memory allocation vs 535MB)
Covered by existing tests.
- editing/ios/EditorIOS.mm: (WebCore::Editor::writeImageToPasteboard):
- editing/mac/EditorMac.mm: (WebCore::Editor::writeImageToPasteboard):
- loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didFinishLoading):
- loader/cache/CachedApplicationManifest.cpp: (WebCore::CachedApplicationManifest::finishLoading):
- loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::finishLoading):
- loader/cache/CachedFont.cpp: (WebCore::CachedFont::ensureCustomFontData):
- loader/cache/CachedImage.cpp: (WebCore::CachedImage::updateImageData):
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::calculateIncrementalDataChunk const): (WebCore::CachedRawResource::updateBuffer): (WebCore::CachedRawResource::finishLoading):
- loader/cache/CachedRawResource.h:
- loader/cache/CachedResource.h: (WebCore::CachedResource::resourceBuffer const):
- loader/cache/CachedScript.cpp: (WebCore::CachedScript::script):
- loader/cache/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::finishLoading):
Source/WebKit:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::finishedLoading): Fly-by fix, the IPC::DataReference would reference a SharedBuffer going out of scope before it was sent over IPC.
Source/WebKitLegacy/mac:
- WebView/WebHTMLView.mm: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:01 PM Changeset in webkit [290059] by
-
- 3 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289995. rdar://problem/87462825
REGRESSION(r285885) Unable to exit Trip Details in Amtrak app
https://bugs.webkit.org/show_bug.cgi?id=236732
<rdar://87462825>
Reviewed by Simon Fraser.
Source/WebCore:
Starting from r285885 an (effective)”overflow: clip” value is set on any block box with “contain: paint”.
It is supposed to ensure we don’t paint outside of the box’s border box (note that "contain: paint", as the name implies, should only affect painting).
However this effective value trickles in to layout affecting certain layout constraints.
In case of flex, it makes the flex layout think that the box is really a clipped box and it starts flexing it accordingly producing incorrect size.
What it means is that the minimum preferred size ends up being 0px because now with "let's clip all the overflow content"
0px is indeed the smallest size a box could take that does not produce overflow (while with the initial, “overflow: visible” value,
its minimum width would likely be > 0px -provided it has some content. Also note that setting “overflow: clip” on the box in the markup
(so it becomes an explicit clip value and not just an “effective” implicit clip through “contain: paint”) produces
the exact same rendering meaning that this effective property value does affect layout).
This is a partial revert of r285885 (focusing on where the flex algorithm consults with the flex items' overflow values).
Test: fast/flexbox/incorrect-min-size-with-paint-contain.html
- rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::mainAxisOverflowForChild const): (WebCore::RenderFlexibleBox::crossAxisOverflowForChild const):
LayoutTests:
- fast/flexbox/incorrect-min-size-with-paint-contain-expected.html: Added.
- fast/flexbox/incorrect-min-size-with-paint-contain.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:01 PM Changeset in webkit [290058] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WTF
Cherry-pick r289974. rdar://problem/89008799
Unreviewed, reverting r286874.
https://bugs.webkit.org/show_bug.cgi?id=236734
Broke Apple Music pages which use the resolution media query
Reverted changeset:
"Enable the 'resolution' media query by default"
https://bugs.webkit.org/show_bug.cgi?id=78087
https://commits.webkit.org/r286874
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [290057] by
-
- 4 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r289942. rdar://problem/88827167
[Cocoa] Update audio session category before setting NowPlaying status
https://bugs.webkit.org/show_bug.cgi?id=236620
rdar://88827167
Reviewed by Jer Noble.
NowPlaying doesn't update correctly when the audio category changes from Ambient
to Playback after becoming active, so always set the category first.
Tested manually.
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::clientWillBeginPlayback): Set "preparingToPlay"
before calling
sessionWillBeginPlaybacksoupdateSessionStatecan tell that playback is about to begin. - platform/audio/PlatformMediaSession.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::updateSessionState): Consider a session to potentially have audio if it is preparing to play.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:53 PM Changeset in webkit [290056] by
-
- 7 edits2 adds in branches/safari-613.1.17.2-branch
Cherry-pick r289693. rdar://problem/88264857
Suppress style invalidation when matching :checked
https://bugs.webkit.org/show_bug.cgi?id=235910
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-12
Reviewed by Antti Koivisto.
Source/WebCore:
Suppress style invalidation when matching :checked for option elements.
Test: fast/selectors/has-select-option-crash.html
- css/SelectorCheckerTestFunctions.h: (WebCore::isChecked):
- html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::selected const): (WebCore::HTMLOptionElement::setSelectedState):
- html/HTMLOptionElement.h:
- html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::updateListItemSelectedStates): (WebCore::HTMLSelectElement::recalcListItems const):
- html/HTMLSelectElement.h:
LayoutTests:
- fast/selectors/has-select-option-crash-expected.txt: Added.
- fast/selectors/has-select-option-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:47 PM Changeset in webkit [290055] by
-
- 9 edits in branches/safari-613.1.17.2-branch/Source
Versioning.
WebKit-7613.1.17.2.2
- 12:41 PM Changeset in webkit [290054] by
-
- 3 edits in trunk/Source/WebCore
[macOS] Light appearance text fields are invisible in Increased Contrast mode
https://bugs.webkit.org/show_bug.cgi?id=236753
rdar://89093315
Reviewed by Wenson Hsieh.
In Big Sur, the artwork for many form controls, including text fields, was
changed at the system level. When painting native text fields, WebKit has
long used the "borders only" option to support painting custom background
colors. System-level changes in Big Sur broke the behavior of light appearance
"borders only" text fields in Increased Contrast mode.
Until the artwork is updated at the system-level, work around the issue
in WebKit by painting our own borders for text fields under the necessary
conditions.
No new tests, as tests that change system preferences are often unreliable,
and we do not have existing hooks to toggle Increased Contrast mode.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::shouldPaintCustomTextField const):
(WebCore::RenderThemeMac::paintTextField):
- 12:33 PM Changeset in webkit [290053] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, reverting r290052.
https://bugs.webkit.org/show_bug.cgi?id=236799
Broke the Mac Catalina build
Reverted changeset:
"[macOS] Light appearance text fields are invisible in
Increased Contrast mode"
https://bugs.webkit.org/show_bug.cgi?id=236753
https://commits.webkit.org/r290052
- 12:27 PM Changeset in webkit [290052] by
-
- 3 edits in trunk/Source/WebCore
[macOS] Light appearance text fields are invisible in Increased Contrast mode
https://bugs.webkit.org/show_bug.cgi?id=236753
rdar://89093315
Reviewed by Wenson Hsieh.
In Big Sur, the artwork for many form controls, including text fields, was
changed at the system level. When painting native text fields, WebKit has
long used the "borders only" option to support painting custom background
colors. System-level changes in Big Sur broke the behavior of light appearance
"borders only" text fields in Increased Contrast mode.
Until the artwork is updated at the system-level, work around the issue
in WebKit by painting our own borders for text fields under the necessary
conditions.
No new tests, as tests that change system preferences are often unreliable,
and we do not have existing hooks to toggle Increased Contrast mode.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::shouldPaintCustomTextField const):
(WebCore::RenderThemeMac::paintTextField):
- 12:27 PM Changeset in webkit [290051] by
-
- 2 edits in trunk/Source/WTF
Enable CSS Motion Path by default
https://bugs.webkit.org/show_bug.cgi?id=236681
Reviewed by Dean Jackson.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 12:21 PM Changeset in webkit [290050] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, reverting r290046.
https://bugs.webkit.org/show_bug.cgi?id=236797
Broke the macOS build
Reverted changeset:
"[macOS] Light appearance text fields are invisible in
Increased Contrast mode"
https://bugs.webkit.org/show_bug.cgi?id=236753
https://commits.webkit.org/r290046
- 12:19 PM Changeset in webkit [290049] by
-
- 7 edits2 adds in branches/safari-613.1.17.3-branch
Cherry-pick r289693. rdar://problem/88264857
Suppress style invalidation when matching :checked
https://bugs.webkit.org/show_bug.cgi?id=235910
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-12
Reviewed by Antti Koivisto.
Source/WebCore:
Suppress style invalidation when matching :checked for option elements.
Test: fast/selectors/has-select-option-crash.html
- css/SelectorCheckerTestFunctions.h: (WebCore::isChecked):
- html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::selected const): (WebCore::HTMLOptionElement::setSelectedState):
- html/HTMLOptionElement.h:
- html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::updateListItemSelectedStates): (WebCore::HTMLSelectElement::recalcListItems const):
- html/HTMLSelectElement.h:
LayoutTests:
- fast/selectors/has-select-option-crash-expected.txt: Added.
- fast/selectors/has-select-option-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [290048] by
-
- 9 edits in branches/safari-613.1.17.3-branch/Source
Versioning.
WebKit-7613.1.17.3.2
- 12:05 PM Changeset in webkit [290047] by
-
- 3 edits in trunk/Source/WebCore
Web Inspector: [Flexbox] Gaps and free space do not have pattern fills when navigating to a page with Web Inspector already open
https://bugs.webkit.org/show_bug.cgi?id=236741
Reviewed by Devin Rousso.
Because calls to
getDocumentactually resets theInspectorDOMAgent, we don't want to clear cached layout
information insidereset. The cached layout information is in a WeakHashMap, we aren't going to end up keeping
stale references around anyways, and the under most circumstances the map will clean itself up as it is used.
We should, however go ahead and clear the cached layout information when we are forcing a re-layout to collect
the information again for a new document.
Additionally, if a new document is set, we want to trigger a layout just like we did for a fresh
InspectorDOMAgent.
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::reset):
(WebCore::InspectorDOMAgent::setDocument):
(WebCore::InspectorDOMAgent::relayoutDocument):
- inspector/agents/InspectorDOMAgent.h:
- 12:04 PM Changeset in webkit [290046] by
-
- 3 edits in trunk/Source/WebCore
[macOS] Light appearance text fields are invisible in Increased Contrast mode
https://bugs.webkit.org/show_bug.cgi?id=236753
rdar://89093315
Reviewed by Wenson Hsieh.
In Big Sur, the artwork for many form controls, including text fields, was
changed at the system level. When painting native text fields, WebKit has
long used the "borders only" option to support painting custom background
colors. System-level changes in Big Sur broke the behavior of light appearance
"borders only" text fields in Increased Contrast mode.
Until the artwork is updated at the system-level, work around the issue
in WebKit by painting our own borders for text fields under the necessary
conditions.
No new tests, as tests that change system preferences are often unreliable,
and we do not have existing hooks to toggle Increased Contrast mode.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::shouldPaintCustomTextField const):
(WebCore::RenderThemeMac::paintTextField):
- 12:02 PM Changeset in webkit [290045] by
-
- 5 edits in trunk/Source/WebCore
[GTK] REGRESSION: Cumulative velocity for scrolling doesn't work
https://bugs.webkit.org/show_bug.cgi?id=235507
Reviewed by Chris Lord.
ScrollAnimationKinetic can accumulate velocity from the previous scroll
animation. This relies on reusing the same animation every time, so it can
pick up the previous scroll data.
However, ScrollingEffectsController now creates and destroys ScrollAnimationKinetic
every time now, we can't rely on that.
Instead, save and propagate the data manually, same as the macOS port.
- platform/ScrollAnimationKinetic.cpp:
(WebCore::ScrollAnimationKinetic::startAnimatedScrollWithInitialVelocity):
(WebCore::ScrollAnimationKinetic::accumulateVelocityFromPreviousGesture):
- platform/ScrollAnimationKinetic.h:
- platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::processWheelEventForKineticScrolling):
- platform/ScrollingEffectsController.h:
- 11:59 AM Changeset in webkit [290044] by
-
- 7 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289693. rdar://problem/88264857
Suppress style invalidation when matching :checked
https://bugs.webkit.org/show_bug.cgi?id=235910
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-12
Reviewed by Antti Koivisto.
Source/WebCore:
Suppress style invalidation when matching :checked for option elements.
Test: fast/selectors/has-select-option-crash.html
- css/SelectorCheckerTestFunctions.h: (WebCore::isChecked):
- html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::selected const): (WebCore::HTMLOptionElement::setSelectedState):
- html/HTMLOptionElement.h:
- html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::updateListItemSelectedStates): (WebCore::HTMLSelectElement::recalcListItems const):
- html/HTMLSelectElement.h:
LayoutTests:
- fast/selectors/has-select-option-crash-expected.txt: Added.
- fast/selectors/has-select-option-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [290043] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/ThirdParty/ANGLE
Cherry-pick r290011. rdar://problem/89024095
REGRESSION (iOS 15.4b3): Catastrophic (20x) performance regression in texImage2D from mp4 video
https://bugs.webkit.org/show_bug.cgi?id=236699
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Darin Adler.
Disable the validation for IOSurface pixel formats.
We might pass non-public formats that do not have sensible IOSurfaceGetBytesPerElementOfPlane
to verify with this logic.
Will add test in bug 236759.
Previous bugs of the same:
EAGL:
Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
bug 218637, r273582, 234632@main
CGL:
REGRESSION(Safari 15, BigSur): Poor video texture upload performance with MacBook M1, ANGLE OpenGL backend
bug 232235, r286960, 245183@main
- src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm: (rx::IOSurfaceSurfaceMtl::ValidateAttributes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [290042] by
-
- 18 edits in branches/safari-613.1.17.0-branch/Source
Cherry-pick r290005. rdar://problem/87596724
CrashTracer: com.apple.WebKit.WebContent at JavaScriptCore: bmalloc_allocate_impl_impl_slow
https://bugs.webkit.org/show_bug.cgi?id=236695
rdar://87596724
Reviewed by Jer Noble.
Source/WebCore:
When a new FragmentedSharedBuffer is received from the network process, it is proactively coalesced
into a SharedBuffer during each call to CachedResource::updateBuffer(). This causes a large number
of re-allocations and copies; essentially re-allocating each time the resource's buffer receives
one more chunk of data.
Instead we only flatten the data buffer once all data have been received.
Running speedtest.net with a gigabit link, we see a reduction of peak
memory use in the content process by about 40% (from 740MB to under 440MB of
physical memory, 1.7GB of memory allocation vs 535MB)
Covered by existing tests.
- editing/ios/EditorIOS.mm: (WebCore::Editor::writeImageToPasteboard):
- editing/mac/EditorMac.mm: (WebCore::Editor::writeImageToPasteboard):
- loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didFinishLoading):
- loader/cache/CachedApplicationManifest.cpp: (WebCore::CachedApplicationManifest::finishLoading):
- loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::finishLoading):
- loader/cache/CachedFont.cpp: (WebCore::CachedFont::ensureCustomFontData):
- loader/cache/CachedImage.cpp: (WebCore::CachedImage::updateImageData):
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::calculateIncrementalDataChunk const): (WebCore::CachedRawResource::updateBuffer): (WebCore::CachedRawResource::finishLoading):
- loader/cache/CachedRawResource.h:
- loader/cache/CachedResource.h: (WebCore::CachedResource::resourceBuffer const):
- loader/cache/CachedScript.cpp: (WebCore::CachedScript::script):
- loader/cache/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::finishLoading):
Source/WebKit:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::finishedLoading): Fly-by fix, the IPC::DataReference would reference a SharedBuffer going out of scope before it was sent over IPC.
Source/WebKitLegacy/mac:
- WebView/WebHTMLView.mm: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [290041] by
-
- 3 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289995. rdar://problem/87462825
REGRESSION(r285885) Unable to exit Trip Details in Amtrak app
https://bugs.webkit.org/show_bug.cgi?id=236732
<rdar://87462825>
Reviewed by Simon Fraser.
Source/WebCore:
Starting from r285885 an (effective)”overflow: clip” value is set on any block box with “contain: paint”.
It is supposed to ensure we don’t paint outside of the box’s border box (note that "contain: paint", as the name implies, should only affect painting).
However this effective value trickles in to layout affecting certain layout constraints.
In case of flex, it makes the flex layout think that the box is really a clipped box and it starts flexing it accordingly producing incorrect size.
What it means is that the minimum preferred size ends up being 0px because now with "let's clip all the overflow content"
0px is indeed the smallest size a box could take that does not produce overflow (while with the initial, “overflow: visible” value,
its minimum width would likely be > 0px -provided it has some content. Also note that setting “overflow: clip” on the box in the markup
(so it becomes an explicit clip value and not just an “effective” implicit clip through “contain: paint”) produces
the exact same rendering meaning that this effective property value does affect layout).
This is a partial revert of r285885 (focusing on where the flex algorithm consults with the flex items' overflow values).
Test: fast/flexbox/incorrect-min-size-with-paint-contain.html
- rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::mainAxisOverflowForChild const): (WebCore::RenderFlexibleBox::crossAxisOverflowForChild const):
LayoutTests:
- fast/flexbox/incorrect-min-size-with-paint-contain-expected.html: Added.
- fast/flexbox/incorrect-min-size-with-paint-contain.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [290040] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WTF
Cherry-pick r289974. rdar://problem/89008799
Unreviewed, reverting r286874.
https://bugs.webkit.org/show_bug.cgi?id=236734
Broke Apple Music pages which use the resolution media query
Reverted changeset:
"Enable the 'resolution' media query by default"
https://bugs.webkit.org/show_bug.cgi?id=78087
https://commits.webkit.org/r286874
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [290039] by
-
- 4 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r289942. rdar://problem/88827167
[Cocoa] Update audio session category before setting NowPlaying status
https://bugs.webkit.org/show_bug.cgi?id=236620
rdar://88827167
Reviewed by Jer Noble.
NowPlaying doesn't update correctly when the audio category changes from Ambient
to Playback after becoming active, so always set the category first.
Tested manually.
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::clientWillBeginPlayback): Set "preparingToPlay"
before calling
sessionWillBeginPlaybacksoupdateSessionStatecan tell that playback is about to begin. - platform/audio/PlatformMediaSession.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::updateSessionState): Consider a session to potentially have audio if it is preparing to play.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:38 AM Changeset in webkit [290038] by
-
- 2 edits in trunk/LayoutTests
[css-grid] Incorrectly stretched SVGs without an aspect-ratio.
https://bugs.webkit.org/show_bug.cgi?id=216145
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-17
- TestExpectations: Adding failure expectation for tests that were missed.
- 11:38 AM Changeset in webkit [290037] by
-
- 8 edits in trunk
[CSS Container Queries] Support full range notation in size queries
https://bugs.webkit.org/show_bug.cgi?id=236771
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
Source/WebCore:
Parse and evaluate notations like (100px < width) and (100px < width < 200px).
- css/ContainerQuery.h:
There are now optional left and right comparisons.
- css/ContainerQueryParser.cpp:
(WebCore::ContainerQueryParser::consumeSizeQuery):
(WebCore::ContainerQueryParser::consumeSizeFeature):
(WebCore::ContainerQueryParser::consumePlainSizeFeature):
Evaluate the plain (foo: value) notation.
(WebCore::ContainerQueryParser::consumeRangeSizeFeature):
Evaluate range notation.
(WebCore::ContainerQueryParser::consumeValue):
- css/ContainerQueryParser.h:
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
Evaluate both comparisons if they exist.
- style/ContainerQueryEvaluator.h:
(WebCore::Style::toEvaluationResult):
(WebCore::Style::operator|):
- 11:05 AM Changeset in webkit [290036] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.5
- 11:05 AM Changeset in webkit [290035] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.5
- 10:23 AM Changeset in webkit [290034] by
-
- 2 edits in trunk/Source/WebKit
ASSERTION FAILED: Thread::current().uid() == threadAssertion.m_uid for RemoteVideoFrameObjectHeap
https://bugs.webkit.org/show_bug.cgi?id=236786
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Antti Koivisto.
The object is ok to destroy from any thread.
Reset the thread assertion.
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
(WebKit::RemoteVideoFrameObjectHeap::~RemoteVideoFrameObjectHeap):
- 10:19 AM Changeset in webkit [290033] by
-
- 8 edits in trunk
Ensure NetworkStorageManager::moveData performs move operation based on data types
https://bugs.webkit.org/show_bug.cgi?id=236727
rdar://89009881
Reviewed by Chris Dumez.
Source/WebKit:
In r286936, we introduced NetworkStorageManager::moveData to move data from one origin to another. However, the
function does not take dataTypes parameter as NetworkProcess::renameOriginInWebsiteData does, and
NetworkStorageManager would try to move every storage type it manages. This has caused an unexpected failure, as
FileSystem storage needs special handling before data can be moved. To address the regression, let's revert
the behavior change by making sure NetworkStorageManager checks the types value, and only performs move
operation for IndexedDB and LocalStorage data.
Updated existing API test to ensure only expected data types are moved.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::renameOriginInWebsiteData):
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::moveData):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::moveData):
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
(WebKit::OriginStorageManager::StorageBucket::deleteIDBStorageData):
(WebKit::OriginStorageManager::resolvedLocalStoragePath):
(WebKit::OriginStorageManager::resolvedIDBStoragePath):
(WebKit::OriginStorageManager::moveData):
- NetworkProcess/storage/OriginStorageManager.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- 9:57 AM Changeset in webkit [290032] by
-
- 3 edits2 adds in trunk
Fix abs-pos breadth issue when using 'auto'
https://bugs.webkit.org/show_bug.cgi?id=236626
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-17
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Adds new test that uses RTL and abs-pos items over the padding area, with
padding defined in physical coords.
- web-platform-tests/css/css-grid/abspos/positioned-grid-items-025-expected.html: Added.
- web-platform-tests/css/css-grid/abspos/positioned-grid-items-025.html: Added.
Source/WebCore:
The value returned when resolving an 'auto' start/end is in logical coords, but the line
positions are in a hybrid space using logical column sizes, but physical border/padding offset.
This adjusts for this, so that we can compute the breadth correctly.
Adds new test that uses RTL and abs-pos items over the padding area, with
padding defined in physical coords.
Test: imported/w3c/web-platform-tests/css/css-grid/abspos/positioned-grid-items-025.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild):
- 9:56 AM Changeset in webkit [290031] by
-
- 35 edits2 adds2 deletes in trunk/Source
MediaPlayer::videoFrameForCurrentTime() should return VideoFrame
https://bugs.webkit.org/show_bug.cgi?id=236701
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Eric Carlson.
Source/WebCore:
Rename CV specific parts of MediaSampleVideoFrame to VideoFrameCV.
Use VideoFrame base class instead of MediaSampleVideoFrame.
VideoFrame supports multiple polymorphic subclasses. One such
is RemoteVideoFrameProxy, which will be used in the future to
return remote proxy objects in these locations.
This patch is only a rename. It concerns only the in-process
usage of video frames via in-process VideoFrameCV.
No new tests, refactor.
- Headers.cmake:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/MediaSample.h:
(WebCore::MediaSample::videoPixelFormat const):
- platform/VideoFrame.cpp:
(WebCore::VideoFrame::VideoFrame):
(WebCore::VideoFrame::presentationTime const):
(WebCore::VideoFrame::videoRotation const):
(WebCore::VideoFrame::videoMirrored const):
(WebCore::VideoFrame::platformSample const):
- platform/VideoFrame.h:
(WebCore::VideoFrame::isRemoteProxy const):
This leaks "remote" concept to WebCore level. Hopefully
in the future this can be solved in another way.
(WebCore::VideoFrame::isCV const):
(isType):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::videoFrameForCurrentTime):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::videoFrameForCurrentTime):
- platform/graphics/MediaSampleVideoFrame.h: Removed.
- platform/graphics/avfoundation/MediaSampleVideoFrameAVF.mm: Removed.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::videoFrameForCurrentTime):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::videoFrameForCurrentTime):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::videoFrameForCurrentTime):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::videoFrame const):
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::copyTextureFromMedia):
- platform/graphics/cv/GraphicsContextGLCV.h:
- platform/graphics/cv/GraphicsContextGLCVCocoa.cpp:
(WebCore::GraphicsContextGLCVCocoa::copyVideoSampleToTexture):
- platform/graphics/cv/GraphicsContextGLCVCocoa.h:
- platform/graphics/cv/VideoFrameCV.h: Added.
(WebCore::VideoFrameCV::pixelBuffer const):
(WebCore::VideoFrameCV::encode const):
(WebCore::VideoFrameCV::decode):
(isType):
- platform/graphics/cv/VideoFrameCV.mm: Added.
(WebCore::VideoFrameCV::create):
(WebCore::VideoFrameCV::VideoFrameCV):
(WebCore::VideoFrameCV::presentationSize const):
(WebCore::VideoFrameCV::videoPixelFormat const):
(WebCore::VideoFrameCV::orientation const):
Source/WebKit:
Use added VideoFrameCV instead of removed MediaSampleVideoFrame.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::copyTextureFromMedia):
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::invalidate):
(WebKit::RemoteMediaPlayerProxy::videoFrameForCurrentTimeIfChanged):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- Platform/IPC/ArgumentCoders.h:
(IPC::ArgumentCoder<RefPtr<T>>::encode):
(IPC::ArgumentCoder<RefPtr<T>>::decode):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::RemoteVideoFrameProxy::RemoteVideoFrameProxy):
- WebProcess/GPU/media/RemoteVideoFrameProxy.h:
(isType):
- 9:45 AM Changeset in webkit [290030] by
-
- 16 edits1 copy in trunk/Source/WebKit
Add support for setting RemoteLayerBackingStore buffers non-volatile in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=236731
Reviewed by Tim Horton.
Calls to setVolatile() and isInUse() on IOSurface need to happen in the GPU Process,
so when RemoteLayerBackingStore swaps buffers in display(), and makes the front buffer
non-volatile, those things need to go via RemoteRenderingBackend.
So plumb markSurfaceNonVolatile() and swapToValidFrontBuffer() through RemoteLayerBackingStoreCollection
and RemoteRenderingBackend, both as sync messages.
In both cases, if the surface was purged (i.e. setNonVolatile returned Empty) we need
to trigger a setNeedsDisplay(), wired through RemoteLayerBackingStore::didMakeFrontBufferNonVolatile()
so there's only one call site.
We also need to always send the ImageBufferBackendHandle back from the GPU Process for
the front buffer, since a future patch will clear these out in the web process when
making buffers volatile.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::handleFromBuffer):
(WebKit::RemoteRenderingBackend::markSurfaceNonVolatile):
(WebKit::RemoteRenderingBackend::swapToValidFrontBuffer):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::applySwappedBuffers):
(WebKit::RemoteLayerBackingStore::swapBuffers):
(WebKit::RemoteLayerBackingStore::supportsPartialRepaint const):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::setBufferVolatile):
(WebKit::RemoteLayerBackingStore::setBufferNonVolatile):
(WebKit::RemoteLayerBackingStore::willMakeBufferVolatile):
(WebKit::RemoteLayerBackingStore::didMakeFrontBufferNonVolatile):
(WebKit::RemoteLayerBackingStore::setBufferVolatility):
(WebKit::RemoteLayerBackingStore::bufferForType const):
(WebKit::RemoteLayerBackingStore::supportsPartialRepaint): Deleted.
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::makeFrontBufferNonVolatile):
(WebKit::RemoteLayerBackingStoreCollection::swapToValidFrontBuffer):
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h:
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::makeFrontBufferNonVolatile):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::swapToValidFrontBuffer):
- WebProcess/GPU/graphics/ImageBufferBackendHandleSharing.h:
(WebKit::ImageBufferBackendHandleSharing::setBackendHandle):
(WebKit::ImageBufferBackendHandleSharing::clearBackendHandle):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::getPixelBufferForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::putPixelBufferForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::swapToValidFrontBuffer):
(WebKit::RemoteRenderingBackendProxy::markSurfaceNonVolatile):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp:
(WebKit::ImageBufferRemoteIOSurfaceBackend::setBackendHandle):
(WebKit::ImageBufferRemoteIOSurfaceBackend::clearBackendHandle):
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h:
- 9:42 AM Changeset in webkit [290029] by
-
- 1 edit1 delete in trunk/LayoutTests
Remove the Catalina specific expectation added in r289834
https://bugs.webkit.org/show_bug.cgi?id=236619
Unreviewed test gardening.
- platform/mac-catalina/fonts/monospace-expected.txt: Removed.
- 9:38 AM Changeset in webkit [290028] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GPU Process bot gardening.
- gpu-process/TestExpectations:
- 9:18 AM Changeset in webkit [290027] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
[GTK] Build broken with ENABLE_X11_TARGET=OFF and no X11 headers present
https://bugs.webkit.org/show_bug.cgi?id=236770
Reviewed by Alejandro G. Castro.
- PlatformGTK.cmake: The USE_SYSTEM_EGL definition detaches the type definitions
from the EGL headers generic and prevents ANGLE's headers from including system X11
or Wayland headers from the system, so apply it always independently of whether the
USE_ANGLE_{EGL,WEBGL} options are enabled. While at it, fix a missing dollar sign in
the expansion of the ${GBM_INCLUDE_DIR} variable.
- 9:17 AM Changeset in webkit [290026] by
-
- 155 edits in trunk/Source
Clean up / optimize call sites constructing vectors
https://bugs.webkit.org/show_bug.cgi?id=236748
Reviewed by Dean Jackson.
Clean up / optimize call sites constructing vectors:
- Use Vector::map() / WTF::map() where appropriate
Source/JavaScriptCore:
- Replace Vector::reserveCapacity() with Vector::reserveInitialCapacity() where appropriate
- Replace Vector::append() with Vector::uncheckedAppend() where appropriate
- Leverage the fact that Vector<Ref<Foo>> is now copyable (Because Ref<> now has a copy constructor)
- Call crossThreadCopy() to isolate-copy a Vector() without iterating.
- Leverage Vector constructor that takes in an intialization list in more cases
- Leverage Vector::from() in more cases to simplify vector construction in some case.
- Drop unnecessary calls to Vector::reserve*Capacity() before calling Vector::append(T*, size_t) since the append() implementation already does this for us.
- Leverage copyToVector() and copyToVectorOf<> in more cases
- Call shrinkToFit() in some cases where we reserve capacity and then append() but may not append() as much as we reserved.
- b3/air/AirCode.cpp:
(JSC::B3::Air::Code::setNumEntrypoints):
- bytecompiler/NodesCodegen.cpp:
(JSC::ArrayPatternNode::emitDirectBinding):
- dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::setLiveValues):
- dfg/DFGLivenessAnalysisPhase.cpp:
- dfg/DFGScoreBoard.h:
(JSC::DFG::ScoreBoard::ScoreBoard):
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::parseBreakpointOptions):
- inspector/remote/socket/RemoteInspectorMessageParser.cpp:
(Inspector::MessageParser::pushReceivedData):
- parser/VariableEnvironment.cpp:
(JSC::CompactTDZEnvironment::CompactTDZEnvironment):
- wasm/WasmWorklist.cpp:
(JSC::Wasm::Worklist::Worklist):
Source/WebCore:
- Replace Vector::reserveCapacity() with Vector::reserveInitialCapacity() where appropriate
- Replace Vector::append() with Vector::uncheckedAppend() where appropriate
- Leverage the fact that Vector<Ref<Foo>> is now copyable (Because Ref<> now has a copy constructor)
- Call crossThreadCopy() to isolate-copy a Vector() without iterating.
- Leverage Vector constructor that takes in an intialization list in more cases
- Leverage Vector::from() in more cases to simplify vector construction in some case.
- Drop unnecessary calls to Vector::reserve*Capacity() before calling Vector::append(T*, size_t) since the append() implementation already does this for us.
- Leverage copyToVector() and copyToVectorOf<> in more cases
- Call shrinkToFit() in some cases where we reserve capacity and then append() but may not append() as much as we reserved.
- Modules/async-clipboard/Clipboard.cpp:
(WebCore::Clipboard::read):
(WebCore::Clipboard::ItemWriter::didSetAllData):
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::updateKeyStatuses):
- Modules/entriesapi/FileSystemEntriesCallback.cpp:
(WebCore::FileSystemEntriesCallback::scheduleCallback):
(WebCore::copyVector): Deleted.
- Modules/entriesapi/HTMLInputElementEntriesAPI.cpp:
(WebCore::HTMLInputElementEntriesAPI::webkitEntries):
- Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::positionChanged):
(WebCore::GeolocationController::errorOccurred):
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::stop):
- Modules/indexeddb/IDBGetAllResult.cpp:
(WebCore::IDBGetAllResult::isolatedCopy):
- Modules/indexeddb/IDBGetResult.cpp:
(WebCore::IDBGetResult::isolatedCopy):
- Modules/indexeddb/IDBKeyPath.cpp:
(WebCore::isolatedCopy): Deleted.
- Modules/indexeddb/IDBKeyPath.h:
(WebCore::isolatedCopy): Deleted.
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::abortInProgressOperations):
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::removeItemsMatchingCurrentThread):
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::deleteAllIndexes):
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::currentData):
- Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
(WebCore::IDBDatabaseInfo::objectStoreNames const):
- Modules/indexeddb/shared/IDBIndexInfo.cpp:
(WebCore::IDBIndexInfo::isolatedCopy const):
- Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::isolatedCopy const):
(WebCore::IDBObjectStoreInfo::indexNames const):
- Modules/indexeddb/shared/IDBTransactionInfo.cpp:
(WebCore::IDBTransactionInfo::isolatedCopy):
- Modules/indexeddb/shared/IndexKey.cpp:
(WebCore::IndexKey::isolatedCopy const):
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::clone):
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::capabilityStringVector):
- Modules/mediastream/MediaTrackConstraints.cpp:
(WebCore::convertAdvancedToInternalForm):
- Modules/mediastream/SFrameUtils.cpp:
(WebCore::toRbsp):
- Modules/remoteplayback/RemotePlayback.cpp:
(WebCore::RemotePlayback::availabilityChanged):
- Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::didReceiveResult):
- Modules/webauthn/cbor/CBORValue.cpp:
(cbor::CBORValue::CBORValue):
- Modules/webauthn/fido/AuthenticatorGetInfoResponse.cpp:
(fido::toArrayValue):
- Modules/webauthn/fido/DeviceRequestConverter.cpp:
(fido::convertParametersToCBOR):
- Modules/webauthn/fido/Pin.cpp:
(fido::pin::encodeRawPublicKey):
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::databaseNames):
(WebCore::isolatedCopy): Deleted.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::notificationPostTimerFired):
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::setMathscripts):
(WebCore::AXIsolatedObject::setObjectVectorProperty):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::objectsForIDs const):
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
- animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readString):
(WebCore::SerializedScriptValue::blobURLs const):
- crypto/mac/CryptoAlgorithmECDSAMac.cpp:
(WebCore::signECDSA):
(WebCore::verifyECDSA):
- crypto/mac/CryptoKeyECMac.cpp:
(WebCore::CryptoKeyEC::platformExportSpki const):
(WebCore::CryptoKeyEC::platformExportPkcs8 const):
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::CryptoKeyRSA::exportSpki const):
(WebCore::CryptoKeyRSA::exportPkcs8 const):
- css/CSSBasicShapes.cpp:
(WebCore::CSSBasicShapePolygon::cssText const):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::copyPropertiesInSet):
(WebCore::ComputedStyleExtractor::copyProperties):
- css/CSSFontFace.cpp:
(WebCore::iterateClients):
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::matchingFacesExcludingPreinstalledFonts):
(WebCore::CSSFontFaceSet::fontFace):
- css/CSSKeyframesRule.cpp:
(WebCore::StyleRuleKeyframes::StyleRuleKeyframes):
- css/StyleProperties.cpp:
(WebCore::StyleProperties::copyPropertiesInSet const):
(WebCore::DeferredStyleProperties::DeferredStyleProperties):
- css/StyleRule.cpp:
(WebCore::DeferredStyleGroupRuleList::DeferredStyleGroupRuleList):
(WebCore::StyleRuleGroup::StyleRuleGroup):
- css/calc/CSSCalcOperationNode.h:
- css/calc/CSSCalcValue.cpp:
(WebCore::createCSS):
- display/css/DisplayBoxDecorationPainter.cpp:
(WebCore::Display::BorderPainter::clipBorderSidePolygon const):
(WebCore::Display::BorderPainter::drawLineForBoxSide const):
- dom/DOMRectList.cpp:
(WebCore::DOMRectList::DOMRectList):
- dom/Document.cpp:
(WebCore::Document::updateElementsAffectedByMediaQueries):
(WebCore::Document::didAssociateFormControlsTimerFired):
- dom/ElementData.cpp:
(WebCore::UniqueElementData::UniqueElementData):
- dom/EventListenerMap.cpp:
(WebCore::EventListenerMap::eventTypes const):
- dom/TreeScopeOrderedMap.cpp:
(WebCore::TreeScopeOrderedMap::keys const):
- editing/CompositeEditCommand.cpp:
(WebCore::copyMarkers):
- editing/Editor.cpp:
(WebCore::editableTextListsAtPositionInDescendingOrder):
- fileapi/FileList.cpp:
(WebCore::FileList::paths const):
- history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
(WebCore::m_formData):
(WebCore::m_identifier):
- html/FileInputType.cpp:
(WebCore::FileInputType::setFiles):
(WebCore::FileInputType::filesChosen):
- html/LinkIconCollector.cpp:
(WebCore::LinkIconCollector::iconsOfTypes):
- html/URLSearchParams.cpp:
(WebCore::URLSearchParams::getAll const):
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startIconLoading):
(WebCore::DocumentLoader::setActiveContentRuleListActionPatterns):
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::getNewCues):
- loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createFromSelection):
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::preferredAudioCharacteristics const):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::create):
- page/Page.cpp:
(WebCore::Page::replaceRangesWithText):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::responseHeaders const):
- page/csp/ContentSecurityPolicyResponseHeaders.cpp:
(WebCore::ContentSecurityPolicyResponseHeaders::isolatedCopy const):
- page/mac/ImageOverlayControllerMac.mm:
(WebCore::ImageOverlayController::updateDataDetectorHighlights):
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::buildSelectionHighlight):
(WebCore::ServicesOverlayController::handleClick):
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::childrenOfNode const):
- page/scrolling/ScrollSnapOffsetsInfo.cpp:
(WebCore::convertOffsetInfo):
- platform/Length.cpp:
(WebCore::makeCalculated):
- platform/animation/AnimationList.cpp:
(WebCore::AnimationList::AnimationList):
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::audioMediaSelectionOptions const):
- platform/encryptedmedia/CDMProxy.cpp:
(WebCore::KeyStore::convertToJSKeyStatusVector const):
- platform/graphics/FloatPolygon.cpp:
(WebCore::FloatPolygon::overlappingEdges const):
- platform/graphics/FloatQuad.cpp:
(WebCore::boundingBoxes):
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::removeTiles):
(WebCore::TileGrid::removeAllTiles):
- platform/graphics/ca/TileGrid.h:
- platform/graphics/cg/ImageUtilitiesCG.cpp:
(WebCore::findImagesForTranscoding):
(WebCore::transcodeImages):
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::findClosestFont):
(WebCore::FontCache::getFontSelectionCapabilitiesInFamily):
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::fitnessDistance):
- platform/network/CacheValidation.cpp:
(WebCore::collectVaryingRequestHeadersInternal):
- platform/network/FormData.cpp:
(WebCore::FormData::isolatedCopy const):
- platform/network/SocketStreamHandleImpl.cpp:
(WebCore::SocketStreamHandleImpl::platformSendHandshake):
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
- platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::createLabelVector):
(WebCore::createFallbackMonthLabels):
(WebCore::createFallbackAMPMLabels):
- platform/text/LocaleNone.cpp:
(WebCore::LocaleNone::monthLabels):
(WebCore::LocaleNone::shortMonthLabels):
(WebCore::LocaleNone::timeAMPMLabels):
- platform/text/cocoa/LocaleCocoa.mm:
(WebCore::LocaleCocoa::monthLabels):
(WebCore::LocaleCocoa::shortMonthLabels):
(WebCore::LocaleCocoa::standAloneMonthLabels):
(WebCore::LocaleCocoa::shortStandAloneMonthLabels):
(WebCore::LocaleCocoa::timeAMPMLabels):
- plugins/DOMMimeTypeArray.cpp:
(WebCore::DOMMimeTypeArray::supportedPropertyNames const):
(WebCore::DOMMimeTypeArray::supportedPropertyNames): Deleted.
- plugins/DOMMimeTypeArray.h:
- plugins/DOMPlugin.cpp:
(WebCore::makeMimeTypes):
(WebCore::DOMPlugin::supportedPropertyNames const):
(WebCore::DOMPlugin::supportedPropertyNames): Deleted.
- plugins/DOMPlugin.h:
- plugins/DOMPluginArray.cpp:
(WebCore::DOMPluginArray::supportedPropertyNames const):
(WebCore::DOMPluginArray::supportedPropertyNames): Deleted.
- plugins/DOMPluginArray.h:
- rendering/LayerAncestorClippingStack.cpp:
(WebCore::LayerAncestorClippingStack::LayerAncestorClippingStack):
(WebCore::LayerAncestorClippingStack::compositedClipData const):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::drawLineForBoxSide const):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::trackSizesForComputedStyle const):
- style/ClassChangeInvalidation.cpp:
(WebCore::Style::collectClasses):
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertTo100PercentMinusLength):
- testing/MockCDMFactory.cpp:
(WebCore::MockCDMInstanceSession::updateLicense):
(WebCore::MockCDMInstanceSession::removeSessionData):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::getRegistrations):
Source/WebKit:
- Replace Vector::reserveCapacity() with Vector::reserveInitialCapacity() where appropriate
- Replace Vector::append() with Vector::uncheckedAppend() where appropriate
- Leverage the fact that Vector<Ref<Foo>> is now copyable (Because Ref<> now has a copy constructor)
- Call crossThreadCopy() to isolate-copy a Vector() without iterating.
- Leverage Vector constructor that takes in an intialization list in more cases
- Leverage Vector::from() in more cases to simplify vector construction in some case.
- Drop unnecessary calls to Vector::reserve*Capacity() before calling Vector::append(T*, size_t) since the append() implementation already does this for us.
- Leverage copyToVector() and copyToVectorOf<> in more cases
- Call shrinkToFit() in some cases where we reserve capacity and then append() but may not append() as much as we reserved.
- NetworkProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::originDetailsCrossThreadCopy):
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::cacheInfos):
- Shared/API/APIArray.cpp:
(API::Array::createStringArray):
(API::Array::copy):
- Shared/API/APIDictionary.cpp:
(API::Dictionary::keys const):
- Shared/UserData.cpp:
(WebKit::transformGraph):
- Shared/WebContextMenuItem.cpp:
(WebKit::WebContextMenuItem::create):
(WebKit::WebContextMenuItem::submenuItemsAsAPIArray const):
- Shared/WebContextMenuItemData.cpp:
(WebKit::kitItems):
(WebKit::coreItems):
- UIProcess/API/APIWebAuthenticationPanel.cpp:
(API::WebAuthenticationPanel::WebAuthenticationPanel):
- UIProcess/API/APIWebsitePolicies.cpp:
(API::WebsitePolicies::copy const):
(API::WebsitePolicies::data):
- UIProcess/API/C/WKPage.cpp:
(API::toAPIObjectVector):
(WKPageSetPageContextMenuClient):
(WKPageSetPageFindMatchesClient):
(WKPageSetPageLoaderClient):
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::forEachSession):
- UIProcess/Gamepad/UIGamepadProvider.cpp:
(WebKit::UIGamepadProvider::snapshotGamepads):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::allNetworkProcesses):
(WebKit::NetworkProcessProxy::updatePrevalentDomainsToBlockCookiesFor):
- UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
- UIProcess/Notifications/WebNotificationProvider.cpp:
(WebKit::WebNotificationProvider::clearNotifications):
- UIProcess/StatisticsRequest.cpp:
(WebKit::StatisticsRequest::completedRequest):
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
- UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm:
(WebKit::WebAuthenticationPanelClient::selectAssertionResponse const):
- UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueGetNextAssertionAfterResponseReceived):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::clear):
(WebKit::WebBackForwardList::restoreFromState):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runJavaScriptInFrameInScriptWorld):
(WebKit::WebPageProxy::speechSynthesisVoiceList):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::parametersFromEachWebsiteDataStore):
- UIProcess/mac/WKTextFinderClient.mm:
(-[WKTextFinderClient replaceMatches:withString:inSelectionOnly:resultCollector:]):
- WebProcess/GPU/media/RemoteRemoteCommandListener.cpp:
(WebKit::RemoteRemoteCommandListener::updateSupportedCommands):
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(contextMenuItems):
(WKBundlePageCopyOriginsWithApplicationCache):
- WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
- WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
- WebProcess/Network/WebSocketStream.cpp:
(WebKit::WebSocketStream::networkProcessCrashed):
- WebProcess/Network/webrtc/WebRTCResolver.cpp:
(WebKit::WebRTCResolver::setResolvedAddress):
- WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
(WebKit::WebResourceLoadObserver::takeStatistics):
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::replaceMatches):
- WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:
(WebKit::toKeyframeValueVector):
(WebKit::PlatformCAAnimationRemote::setValues):
(WebKit::PlatformCAAnimationRemote::setTimingFunctions):
- WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::computeTextLegibilityScales):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::trackedRepaintRects):
(WebKit::dumpHistoryItem):
Source/WTF:
- Replace Vector::reserveCapacity() with Vector::reserveInitialCapacity() where appropriate
- Replace Vector::append() with Vector::uncheckedAppend() where appropriate
- Leverage the fact that Vector<Ref<Foo>> is now copyable (Because Ref<> now has a copy constructor)
- Call crossThreadCopy() to isolate-copy a Vector() without iterating.
- Leverage Vector constructor that takes in an intialization list in more cases
- Leverage Vector::from() in more cases to simplify vector construction in some case.
- Drop unnecessary calls to Vector::reserve*Capacity() before calling Vector::append(T*, size_t) since the append() implementation already does this for us.
- Leverage copyToVector() and copyToVectorOf<> in more cases
- Call shrinkToFit() in some cases where we reserve capacity and then append() but may not append() as much as we reserved.
- wtf/Language.cpp:
(WTF::userPreferredLanguages):
(WTF::isolatedCopy): Deleted.
- 9:14 AM Changeset in webkit [290025] by
-
- 2 edits in trunk/Source/WTF
[CSS Container Queries] Enable by default
https://bugs.webkit.org/show_bug.cgi?id=236776
Reviewed by Sam Weinig.
Flip the switch.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 8:56 AM Changeset in webkit [290024] by
-
- 2 edits in trunk/Source/bmalloc
Unreviewed, fix heap enumeration
https://bugs.webkit.org/show_bug.cgi?id=236662
- libpas/src/libpas/pas_enumerate_segregated_heaps.c:
(pas_enumerate_segregated_heaps):
- 7:30 AM Changeset in webkit [290023] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Build failure when building with ANGLE enabled since r289912
https://bugs.webkit.org/show_bug.cgi?id=236773
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-17
Reviewed by Adrian Perez de Castro.
Avoid including GLContext in the ANGLE classes.
No new tests, it is a building error.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h:
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
- 7:27 AM Changeset in webkit [290022] by
-
- 1 copy in releases/WPE WebKit/webkit-2.34.6
WPE WebKit 2.34.6
- 7:27 AM Changeset in webkit [290021] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.34.6 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.34.6
- 7:27 AM Changeset in webkit [290020] by
-
- 1 copy in releases/WebKitGTK/webkit-2.34.6
WebKitGTK 2.34.6
- 7:26 AM Changeset in webkit [290019] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34
Unreviewed. Update OptionsGTK.cmake and NEWS for the 2.34.6 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.34.6
- 7:26 AM Changeset in webkit [290018] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/ThirdParty/ANGLE
[GTK] Build broken with ENABLE_X11_TARGET=OFF and no X11 headers present
Unreviewed build fix.
This is a fix in the same vein as the one in https://bugs.webkit.org/show_bug.cgi?id=236770
for the stable 2.34 release branch.
- PlatformGTK.cmake: Make sure that ANGLE_USE_X11, WL_EGL_PLATFORM, or USE_SYSTEM_EGL
are always defined independently of the USE_ANGLE_EGL and USE_ANGLE_WEBGL options.
- 7:26 AM Changeset in webkit [290017] by
-
- 11 edits in releases/WebKitGTK/webkit-2.34
Merge r289949 - [CMake] Cannot find OpenGL when system provides opengl.pc instead of gl.pc
https://bugs.webkit.org/show_bug.cgi?id=236592
Reviewed by Don Olmstead.
.:
- Source/cmake/FindOpenGL.cmake: Rewrite to use imported targets, try the "opengl" and "glx"
pkg-config modules first, otherwise keep the existing logic that tried the "gl" pkg-config
module with fallbacks to find_path/find_library.
- Source/cmake/OptionsGTK.cmake: Check for the presence of the OpenGL::GLX target instead of
te GLX_FOUND variable.
Source/ThirdParty/ANGLE:
- PlatformGTK.cmake: Use the OpenGL::OpenGL imported target instead of the
OPENGL_LIBRARIES variable.
- PlatformWPE.cmake: Ditto, plus replace a spurious use of OPENGLES_LIBRARIES
with the OpenGL::GLES target.
Source/WebCore:
- CMakeLists.txt: Use the OpenGL::OpenGL and OpenGL::GLX imported targets instead of variables.
- platform/graphics/GLContext.cpp: Move here includes for the GL headers.
- platform/graphics/GLContext.h: Remove includes for the GL headers, none of their
declarations are used here; instead include only the needed EGL headers to get the
definition of EGLNativeWindowType.
Source/WebKit:
- CMakeLists.txt: Remove usage of the OPENGL_ variables for the WebKit target, which is
uneeded because it links to WebCore, which transitively pulls the needed libraries now
that imported targets are being used.
- 7:02 AM Changeset in webkit [290016] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Decouple line box relative alignment types when computing the root inline box's baseline position
https://bugs.webkit.org/show_bug.cgi?id=236675
Reviewed by Antti Koivisto.
Line box relative alignments (top/bottom) impact on the root inline box's baseline is slightly different from
the rest of the alignments (baseline etc). In these patch these alignment type are moved out of the main loop where
all the other alignments are handled (this is similar to what we do at other placed e.g. LineBoxVerticalAligner::computeLineBoxLogicalHeight).
This patch is in preparation for fixing the bug where the 'vertical-bottom' aligned box makes other inline level boxes stick out of their parent block.
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::computeRootInlineBoxVerticalPosition const):
- 6:54 AM Changeset in webkit [290015] by
-
- 3 edits in trunk/Source/WebCore
[WPE] Build failure when building with ANGLE enabled since r289912
https://bugs.webkit.org/show_bug.cgi?id=236768
Reviewed by Alejandro G. Castro.
Fix build after regression caused by r289912.
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::EGLImageBacking):
- 5:38 AM Changeset in webkit [290014] by
-
- 2 edits in trunk/Tools
[JSC] Increase timeout to account for MIPS slowness
https://bugs.webkit.org/show_bug.cgi?id=236763
Reviewed by Adrian Perez de Castro.
Commit https://commits.webkit.org/247272@main parallelized the
status fetching but also introduced a timeout. Unfortunately, the
MIPS boards used in the build.webkit.org buildbot are not fast
enough to gather the test results in this timeout, so the bot can
never complete its testing. This wasn't caught in EWS as the
buildbots use faster MIPS hardware there.
Significantly bump the timeout when fetching results.
- Scripts/run-jsc-stress-tests:
- 5:36 AM Changeset in webkit [290013] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, non-unified build fix after r290003
https://bugs.webkit.org/show_bug.cgi?id=236774
- animation/FrameRateAligner.h:
- 5:32 AM Changeset in webkit [290012] by
-
- 2 edits in trunk/Source/WebKit
Crash while destroying RemoteVideoFrameObjectHeap
https://bugs.webkit.org/show_bug.cgi?id=236765
<rdar://89003650>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Antti Koivisto.
Add virtual destructor to ThreadSafeObjectHeap. (ThreadSafe)RefCounted<T> deletes
the object through the T pointer. In this case, T is ThreadSafeObjectHeap, but
the underlying type is RemoteVideoFrameObjectHeap. This causes delete through non-virtual
pointer and skips ~ThreadSafeObjectHeap().
No new tests, tested by existing tests under ASAN.
- Shared/ThreadSafeObjectHeap.h:
- 5:13 AM Changeset in webkit [290011] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
REGRESSION (iOS 15.4b3): Catastrophic (20x) performance regression in texImage2D from mp4 video
https://bugs.webkit.org/show_bug.cgi?id=236699
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Darin Adler.
Disable the validation for IOSurface pixel formats.
We might pass non-public formats that do not have sensible IOSurfaceGetBytesPerElementOfPlane
to verify with this logic.
Will add test in bug 236759.
Previous bugs of the same:
EAGL:
Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
bug 218637, r273582, 234632@main
CGL:
REGRESSION(Safari 15, BigSur): Poor video texture upload performance with MacBook M1, ANGLE OpenGL backend
bug 232235, r286960, 245183@main
- src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
(rx::IOSurfaceSurfaceMtl::ValidateAttributes):
- 4:53 AM Changeset in webkit [290010] by
-
- 3 edits2 adds in trunk
LayoutTests/imported/w3c:
SVG SMIL restart="never" does not behave correctly
https://bugs.webkit.org/show_bug.cgi?id=236491
Reviewed by Antti Koivisto.
Add a new test that checks whether restart="never" is respected when
begin="click" is set on an SVG <animate> element.
- web-platform-tests/svg/animations/restart-never-and-begin-click-expected.txt: Added.
- web-platform-tests/svg/animations/restart-never-and-begin-click.html: Added.
Source/WebCore:
[LBSE] Apply SVG specific changes to RenderLayer painting
https://bugs.webkit.org/show_bug.cgi?id=236191
Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2022-02-17
Reviewed by Rob Buis.
This patch summarizes three small SVG specific changes regarding painting, not justifying
more atomic patches, since it's the same context of changes: painting + SVG layer.
- SVG container repainting
Layers associated with SVG container elements (<g> / <defs> (!)) should never trigger repaints,
unless they are filtered. Adapt RenderLayer::shouldRepaintAfterLayout() to enforce this.
- SVG viewport clipping
Assure that RenderSVGRoot viewport clipping is applied _before_ the SVG viewBox transformation
is applied (soon to be handled by RenderLayer for SVG).
- SVG clip-path handling
Add a stub implementation of RenderLayer::computeClipPath(). There are more important parts
to upstream, before adding clipping support for SVG - however this stub serves as reminder
for upcoming patches -- this strategy works well so far.
Covered by existing tests, no change in behaviour.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldRepaintAfterLayout const):
(WebCore::RenderLayer::paintLayerWithEffects):
(WebCore::RenderLayer::computeClipPath const):
- 3:18 AM Changeset in webkit [290009] by
-
- 8 edits in trunk/Source/WebKit
Add some more debug triggers for WKHoverPlatter
https://bugs.webkit.org/show_bug.cgi?id=236761
Reviewed by Darin Adler.
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _allowsDoubleTapGestures]):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _singleTapIdentified:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _doubleTapRecognized:]):
Make it possible to use single tap as a two-step tap with WKHoverPlatter.
Make it possible to use double tap as an invocation gesture for WKHoverPlatter.
- UIProcess/ios/WKHoverPlatter.h:
- UIProcess/ios/WKHoverPlatter.mm:
(-[WKHoverPlatter initWithView:delegate:]):
Use WKHoverPlatterParameters.enabled instead of duplicating the set of enablement bits here.
(-[WKHoverPlatter isVisible]):
(-[WKHoverPlatter didReceiveMouseEvent:]):
(-[WKHoverPlatter didLongPressAtPoint:]):
(-[WKHoverPlatter didSingleTapAtPoint:]):
(-[WKHoverPlatter didDoubleTapAtPoint:]):
(-[WKHoverPlatter platterBoundingRect]):
(-[WKHoverPlatter linkSearchRect]):
(-[WKHoverPlatter adjustedPointForPoint:]):
(-[WKHoverPlatter hoverPoint]): Deleted.
- UIProcess/ios/WKHoverPlatterParameters.h:
- UIProcess/ios/WKHoverPlatterParameters.mm:
(-[WKHoverPlatterParameters setDefaultValues]):
Read prototyping default ... defaults ... from NSUserDefaults.
(-[WKHoverPlatterParameters enabled]):
(+[WKHoverPlatterParameters settingsControllerModule]):
- UIProcess/ios/WKMouseGestureRecognizer.mm:
(-[WKMouseGestureRecognizer _shouldReceiveTouch:forEvent:recognizerView:]):
Only accept touch-phase touches from UITouchTypeIndirectPointer.
Otherwise synthetic direct touches continue through WKMouseGestureRecognizer
*and* trigger other gestures. This is a follow-up from r289785 that became more
obvious while writing this patch (and is a strict dependency of the other changes here).
- 3:15 AM Changeset in webkit [290008] by
-
- 2 edits in trunk/Source/WebCore
[LBSE] Apply SVG specific changes to RenderLayer painting
https://bugs.webkit.org/show_bug.cgi?id=236191
Reviewed by Rob Buis.
This patch summarizes three small SVG specific changes regarding painting, not justifying
more atomic patches, since it's the same context of changes: painting + SVG layer.
- SVG container repainting
Layers associated with SVG container elements (<g> / <defs> (!)) should never trigger repaints,
unless they are filtered. Adapt RenderLayer::shouldRepaintAfterLayout() to enforce this.
- SVG viewport clipping
Assure that RenderSVGRoot viewport clipping is applied _before_ the SVG viewBox transformation
is applied (soon to be handled by RenderLayer for SVG).
- SVG clip-path handling
Add a stub implementation of RenderLayer::computeClipPath(). There are more important parts
to upstream, before adding clipping support for SVG - however this stub serves as reminder
for upcoming patches -- this strategy works well so far.
Covered by existing tests, no change in behaviour.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldRepaintAfterLayout const):
(WebCore::RenderLayer::paintLayerWithEffects):
(WebCore::RenderLayer::computeClipPath const):
- 1:53 AM Changeset in webkit [290007] by
-
- 10 edits in trunk
Copy track sizes from parent grid into subgrid
https://bugs.webkit.org/show_bug.cgi?id=236336
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-17
Reviewed by Dean Jackson.
Source/WebCore:
Copies track sizes from the parent RenderGrid's track sizing algorithm for axes
that are subgridded, rather than doing its own sizing.
Accounts for differences between the subgrid's grid-gap and the parent's grid gap,
as well as space occupied by the subgrid element's margin/border/padding.
Existing test expectations updated.
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::run):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::gridGap const):
(WebCore::RenderGrid::populateGridPositionsForDirection):
- rendering/RenderGrid.h:
LayoutTests:
Existing test expectations updated.
- 1:49 AM Changeset in webkit [290006] by
-
- 2 edits in trunk/JSTests
[JSC] Unskip test on mips
https://bugs.webkit.org/show_bug.cgi?id=236645
Unreviewed gardening.
Can't reproduce this locally after 20 iterations.
- stress/sampling-profiler-richards.js:
- 1:30 AM WebKitEnablingFlatpakClangd edited by
- (diff)
- 1:25 AM Changeset in webkit [290005] by
-
- 18 edits in trunk/Source
CrashTracer: com.apple.WebKit.WebContent at JavaScriptCore: bmalloc_allocate_impl_impl_slow
https://bugs.webkit.org/show_bug.cgi?id=236695
rdar://87596724
Reviewed by Jer Noble.
Source/WebCore:
When a new FragmentedSharedBuffer is received from the network process, it is proactively coalesced
into a SharedBuffer during each call to CachedResource::updateBuffer(). This causes a large number
of re-allocations and copies; essentially re-allocating each time the resource's buffer receives
one more chunk of data.
Instead we only flatten the data buffer once all data have been received.
Running speedtest.net with a gigabit link, we see a reduction of peak
memory use in the content process by about 40% (from 740MB to under 440MB of
physical memory, 1.7GB of memory allocation vs 535MB)
Covered by existing tests.
- editing/ios/EditorIOS.mm:
(WebCore::Editor::writeImageToPasteboard):
- editing/mac/EditorMac.mm:
(WebCore::Editor::writeImageToPasteboard):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didFinishLoading):
- loader/cache/CachedApplicationManifest.cpp:
(WebCore::CachedApplicationManifest::finishLoading):
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::finishLoading):
- loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureCustomFontData):
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::updateImageData):
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::calculateIncrementalDataChunk const):
(WebCore::CachedRawResource::updateBuffer):
(WebCore::CachedRawResource::finishLoading):
- loader/cache/CachedRawResource.h:
- loader/cache/CachedResource.h:
(WebCore::CachedResource::resourceBuffer const):
- loader/cache/CachedScript.cpp:
(WebCore::CachedScript::script):
- loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::finishLoading):
Source/WebKit:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::finishedLoading): Fly-by fix, the
IPC::DataReference would reference a SharedBuffer going
out of scope before it was sent over IPC.
Source/WebKitLegacy/mac:
- WebView/WebHTMLView.mm:
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
- 1:11 AM Changeset in webkit [290004] by
-
- 12 edits in trunk/Source/WebKit
RemoteVideoFrameProxy should use RemoteVideoFrameObjectHeapProxy to get the pixel buffer representation
https://bugs.webkit.org/show_bug.cgi?id=236704
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-17
Reviewed by Antti Koivisto.
Currently RemoteVideoFrameProxy uses RemoteVideoFrameObjectHeapProxy to transfer the pixel buffer
from GPU process to Web process in scenarios where the pixel buffer is used in Web process.
Previously RemoteVideoFrameProxy client would have to provide a thread-safe function that
should call RemoteVideoFrameObjectHeapProxy::getPixelBuffer().
Current clients do not provide a thread-safe function.
Instead, RemoteVideoFrameProxy should provide just the RemoteVideoFrameObjectHeapProxy reference,
since this is the only way to get the pixel buffer anyway. This simplifies the call sites, makes
the implementation more correct and avoids the use of ifdefs.
Make the code consistent with ifdefs. This is platform-independent code, so remove COCOA ifdefs.
All platforms that transfer pixels would need to have RemoteVideoFrameObjectHeapProxy.
This is media stream specific code, so add MEDIA_STREAM ifdefs.
To be consistent with existing GPUP side code, do not use "remote" prefix on the
variable names. E.g. use "videoFrameObjectHeapProxy" to refer to the proxy. The remote part
is redundant, as this is implied.
Clean up related RemoteVideoFrameProxy::pixelBuffer() function to not store unneeded semaphores
as instance variables or use duplicate helper functions.
No new tests, a refactor.
- GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::createMediaPlayer):
- WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::videoFrameObjectHeapProxy):
- WebProcess/GPU/GPUProcessConnection.h:
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::paintCompositedResultsToMediaSample):
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::RemoteVideoFrameProxy::create):
(WebKit::RemoteVideoFrameProxy::RemoteVideoFrameProxy):
(WebKit::RemoteVideoFrameProxy::pixelBuffer const):
- WebProcess/GPU/media/RemoteVideoFrameProxy.h:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::ensureGPUProcessConnectionOnMainThreadWithLock):
(WebKit::LibWebRTCCodecs::completedDecoding):
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxy.h:
(WebKit::RemoteVideoFrameObjectHeapProxy::RemoteVideoFrameObjectHeapProxy):
- WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
(WebKit::RemoteCaptureSampleManager::setVideoFrameObjectHeapProxy):
(WebKit::RemoteCaptureSampleManager::videoSampleAvailable):
- WebProcess/cocoa/RemoteCaptureSampleManager.h:
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::VideoFactory::createVideoCaptureSource):
- 1:05 AM WebKitEnablingFlatpakClangd created by
- 12:57 AM WebKitFlatpakSDK edited by
- (diff)
- 12:14 AM Changeset in webkit [290003] by
-
- 13 edits1 copy1 add in trunk
Use the animation frame rate during animation resolution and scheduling
https://bugs.webkit.org/show_bug.cgi?id=234202
rdar://85983678
Reviewed by Simon Fraser.
Source/WebCore:
We've previously added properties to DocumentTimeline to expose the maximum frame rate supported
by the display (bug 234161) and to Animation to let animations specify the frame rate at which
they would like to be updated (bug 234174).
In this patch we add support for accounting for the frame rate set on animations to ensure they
are updated at a cadence close to the one requested, with the following provisions:
- we do our best to match the frame rate provided by the animation but account for the display's refresh rate to only ever update animations when the display is being refreshed,
- we update all animations sharing the same frame rate in the same updates,
- we schedule updates sparingly accounting for the frame rate of animation such that a page only containing animations that are running at, for instance, 15fps only result in calls to DocumentTimelinesController::updateAnimationsAndSendEvents() at 15fps,
- other factors may impact the animation frame rate, such as low power mode.
There is no test for this code currently. It is not possible to test for the actual
rate at which animations are updated in a testing environment, since there are too
many variables to ensure consistent results. However, future patches will look into
adding internals code such that tests may inspect the update cadence set on the timeline
and frame rates at which animations are optimistically scheduled to update.
The FrameRateAligner class provides a supporting object for DocumentTimelinesController
which contains the data related to the frame rates currently in use by all animations in
the document. This class will be updated in future patches to better handle alignment of
animations added dynamically with previously unused frame rates.
Note that all of those changes to scheduling only affects page rendering updates triggered
by animations. Page rendering updates continue to be scheduled by calls to requestAnimationFrame()
independently from the frame rate specified on animations.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animationInterval const):
(WebCore::DocumentTimeline::scheduleNextTick):
- animation/DocumentTimelinesController.cpp:
(WebCore::DocumentTimelinesController::DocumentTimelinesController):
(WebCore::DocumentTimelinesController::updateAnimationsAndSendEvents):
(WebCore::DocumentTimelinesController::timeUntilNextTickForAnimationsWithFrameRate const):
- animation/DocumentTimelinesController.h:
(WebCore::DocumentTimelinesController::maximumAnimationFrameRate const):
- animation/FrameRateAligner.cpp: Added.
(WebCore::idealTimeForNextUpdate):
(WebCore::FrameRateAligner::beginUpdate):
(WebCore::FrameRateAligner::updateFrameRate):
(WebCore::FrameRateAligner::timeUntilNextUpdateForFrameRate const):
(WebCore::FrameRateAligner::maximumFrameRate const):
- animation/FrameRateAligner.h: Copied from Source/WebCore/animation/DocumentTimelinesController.h.
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::setEffectiveFrameRate):
- page/Page.cpp:
(WebCore::Page::timelineControllerMaximumAnimationFrameRateDidChange):
(WebCore::Page::preferredRenderingUpdateFramesPerSecond const):
- page/Page.h:
LayoutTests:
Update this test to not rely on hard values but rather check that throttling
has the expected effect of doubling the interval between frames.
- fast/animation/css-animation-throttling-lowPowerMode-expected.txt:
- fast/animation/css-animation-throttling-lowPowerMode.html:
- 12:08 AM Changeset in webkit [290002] by
-
- 12 edits in trunk
Unreviewed, reverting r289949.
https://bugs.webkit.org/show_bug.cgi?id=236757
Breaks WPE builds with -DUSE_ANGLE_WEBGL=ON
Reverted changeset:
"[CMake] Cannot find OpenGL when system provides opengl.pc
instead of gl.pc"
https://bugs.webkit.org/show_bug.cgi?id=236592
https://commits.webkit.org/r289949
- 12:00 AM Changeset in webkit [290001] by
-
- 8 edits in trunk/Source
Add -[WKWebProcessPlugInFrame lookUpFrameFromJSValue:].
https://bugs.webkit.org/show_bug.cgi?id=236714
rdar://problem/89030846
Reviewed by Chris Dumez.
Source/WebCore:
- page/Frame.cpp:
(WebCore::Frame::contentFrameFromWindowOrFrameElement): Added.
- page/Frame.h:
Source/WebKit:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(+[WKWebProcessPlugInFrame lookUpContentFrameFromWindowOrFrameElement:]): Added.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::contentFrameForWindowOrFrameElement): Added.
- WebProcess/WebPage/WebFrame.h:
Feb 16, 2022:
- 11:42 PM Changeset in webkit [290000] by
-
- 18 edits2 deletes in trunk/Source/bmalloc
[libpas] Use segmented vector for TLC layout list
https://bugs.webkit.org/show_bug.cgi?id=236662
Reviewed by Saam Barati.
We add segmented vector for pas_thread_local_cache_layout_node iteration instead of using
linked-list of that to accelerate iteration performance. It does not affect on Speedometer2,
JetStream2, PLT5 etc., but we do this iteration frequently in scavenger thread, and reducing
time of this makes it efficient. While speeding up scavenger does not matter for throughput
of non scavenger threads since libpas works well without taking a lock in most times which
is blocked by scavenger, making scavenger faster is good for energy efficiency.
- Use segmented vector for (concurrently read) pas_thread_local_cache_layout_node list. We still keep nice for-loop abstraction for list of pas_thread_local_cache_layout_node.
- Remove pas_local_view_cache_node since we no longer need it. It was introduced just to make it linked-list node for pas_thread_local_cache_layout_node. But now, segmented vector is holding it separately.
- Move pas_segregated_size_directory_data's allocator_index to pas_segregated_size_directory. Because of (1) change, we can make pas_segregated_size_directory linked-list-node, which saves 4 bytes. So we can move pas_segregated_size_directory_data's allocator_index to pas_segregated_size_directory since it is heavily accessed from the scavenger.
- CMakeLists.txt:
- bmalloc.xcodeproj/project.pbxproj:
- libpas/libpas.xcodeproj/project.pbxproj:
- libpas/src/libpas/pas_designated_intrinsic_heap.c:
(set_up_range):
- libpas/src/libpas/pas_enumerate_segregated_heaps.c:
(pas_enumerate_segregated_heaps):
- libpas/src/libpas/pas_local_view_cache_node.c: Removed.
- libpas/src/libpas/pas_local_view_cache_node.h: Removed.
- libpas/src/libpas/pas_redundant_local_allocator_node.c:
(pas_redundant_local_allocator_node_create):
- libpas/src/libpas/pas_redundant_local_allocator_node.h:
- libpas/src/libpas/pas_root.c:
(pas_root_construct):
- libpas/src/libpas/pas_root.h:
- libpas/src/libpas/pas_segregated_heap.c:
(recompute_size_lookup):
(pas_segregated_heap_ensure_allocator_index):
- libpas/src/libpas/pas_segregated_size_directory.c:
(pas_segregated_size_directory_create):
(pas_segregated_size_directory_ensure_data):
(pas_segregated_size_directory_create_tlc_allocator):
(pas_segregated_size_directory_get_allocator_from_tlc):
- libpas/src/libpas/pas_segregated_size_directory.h:
(pas_segregated_size_directory_has_tlc_allocator):
(pas_segregated_size_directory_get_tlc_allocator_index):
- libpas/src/libpas/pas_thread_local_cache.c:
(decommit_allocator_range):
(pas_thread_local_cache_for_all):
- libpas/src/libpas/pas_thread_local_cache_layout.c:
(pas_thread_local_cache_layout_add_node):
(pas_thread_local_cache_layout_add_view_cache):
(pas_thread_local_cache_layout_get_last_node):
- libpas/src/libpas/pas_thread_local_cache_layout.h:
(pas_thread_local_cache_layout_segment_get_node):
(pas_thread_local_cache_layout_segment_next_node):
- libpas/src/libpas/pas_thread_local_cache_layout_node.c:
(pas_thread_local_cache_layout_node_get_directory):
(allocator_index_ptr):
(next_ptr): Deleted.
(pas_thread_local_cache_layout_node_get_next): Deleted.
(pas_thread_local_cache_layout_node_set_next): Deleted.
- libpas/src/libpas/pas_thread_local_cache_layout_node.h:
(pas_wrap_local_view_cache_node):
(pas_unwrap_local_view_cache_node):
- 11:30 PM Changeset in webkit [289999] by
-
- 7 edits in trunk
Revert r275772: inflated FloatSize memory layout unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=236743
Reviewed by Simon Fraser.
Source/WebCore:
- platform/graphics/FloatSize.h:
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalWidth const):
(WebCore::RenderReplaced::computeReplacedLogicalHeight const):
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation const):
LayoutTests:
- 10:24 PM Changeset in webkit [289998] by
-
- 12 edits in trunk
Lookup line names for sub grids using line names from ancestor grids
https://bugs.webkit.org/show_bug.cgi?id=236287
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-16
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-grid/subgrid/grid-subgridded-axis-auto-repeater-crash-001-expected.txt:
- web-platform-tests/css/css-grid/subgrid/line-names-005-expected.html:
- web-platform-tests/css/css-grid/subgrid/line-names-005.html:
Make line-names-005.html slightly harder by having the multiple definitions of the 'a' grid area be different at both edges.
Source/WebCore:
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator const):
- rendering/style/GridArea.h:
(WebCore::GridSpan::clamp):
- rendering/style/GridPositionsResolver.cpp:
(WebCore::explicitGridSizeForSide):
(WebCore::transposedSide):
(WebCore::clampedImplicitLineForArea):
(WebCore::NamedLineCollectionBase::NamedLineCollectionBase):
(WebCore::NamedLineCollectionBase::ensureLocalStorage):
(WebCore::NamedLineCollectionBase::contains const):
(WebCore::NamedLineCollection::NamedLineCollection):
(WebCore::NamedLineCollection::hasExplicitNamedLines const):
(WebCore::NamedLineCollection::hasNamedLines const):
(WebCore::NamedLineCollection::lastLine const):
(WebCore::NamedLineCollection::contains const):
(WebCore::NamedLineCollection::firstExplicitPosition const):
(WebCore::NamedLineCollection::firstPosition const):
(WebCore::adjustGridPositionsFromStyle):
(WebCore::lookAheadForNamedGridLine):
(WebCore::lookBackForNamedGridLine):
(WebCore::resolveNamedGridLinePositionFromStyle):
(WebCore::definiteGridSpanWithNamedLineSpanAgainstOpposite):
(WebCore::resolveNamedGridLinePositionAgainstOppositePosition):
(WebCore::resolveGridPositionFromStyle):
Splits NamedLineCollection into two classes, where the base class only handles
a single grid, and the subclass handles inheriting lines from ancestor grids.
Loops over ancestor grids, looking for named lines that are shared with the initial
grid, and if found, adds them (using the local line number) to a local copy of the line
names array.
Also handles the cases where a named grid area spans outside of the subgrid area, by
clamping the area to the explicit grid (since subgrid can't generate implicit grid lines),
and then generating new implicit grid lines. These lines are added to the same local line
name array as is used for inherited ancestor lines. This clamping and regeneration of implicit
lines works for both areas defined on the subgrid, as well as on ancestors.
- rendering/style/GridPositionsResolver.h:
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueGridTemplateColumns):
(WebCore::Style::BuilderCustom::applyValueGridTemplateRows):
Removes these calls to add the implicit lines to the normal line lists, since
they're already in the implicit line lists and having them in both stops us from
being able to regenerate them for subgrids.
LayoutTests:
Update expectations for newly passing tests.
- 10:05 PM Changeset in webkit [289997] by
-
- 13 edits in trunk
Change the canonical unit for time category from ms to s.
https://bugs.webkit.org/show_bug.cgi?id=236631
Reviewed by Darin Adler.
According to the spec, https://drafts.csswg.org/css-values-4/#time,
the canonical unit for <time> is Seconds.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-values/minmax-time-serialize-expected.txt:
Source/WebCore:
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor):
- css/CSSUnits.cpp:
(WebCore::canonicalUnitTypeForCategory):
- css/calc/CSSCalcCategoryMapping.cpp:
(WebCore::canonicalUnitTypeForCalculationCategory):
LayoutTests:
- fast/css/calc-with-angle-time-frequency-expected.txt:
- fast/css/calc-with-angle-time-frequency.html:
- fast/css/getFloatValueForUnit-expected.txt:
- fast/css/getFloatValueForUnit.html:
- fast/css/transition-delay-calculated-value-expected.txt:
- fast/css/transition-delay-calculated-value.html:
- 8:25 PM Changeset in webkit [289996] by
-
- 5 edits in trunk
Use FileSystem::readEntireFile everywhere
https://bugs.webkit.org/show_bug.cgi?id=233818
<rdar://problem/86324895>
Reviewed by Chris Dumez.
Source/WebKit:
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::readSizeFile):
- Shared/PersistencyUtils.cpp:
(WebKit::createForFile):
Tools:
- TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::readContentsOfFile):
- 8:23 PM Changeset in webkit [289995] by
-
- 3 edits2 adds in trunk
REGRESSION(r285885) Unable to exit Trip Details in Amtrak app
https://bugs.webkit.org/show_bug.cgi?id=236732
<rdar://87462825>
Reviewed by Simon Fraser.
Source/WebCore:
Starting from r285885 an (effective)”overflow: clip” value is set on any block box with “contain: paint”.
It is supposed to ensure we don’t paint outside of the box’s border box (note that "contain: paint", as the name implies, should only affect painting).
However this effective value trickles in to layout affecting certain layout constraints.
In case of flex, it makes the flex layout think that the box is really a clipped box and it starts flexing it accordingly producing incorrect size.
What it means is that the minimum preferred size ends up being 0px because now with "let's clip all the overflow content"
0px is indeed the smallest size a box could take that does not produce overflow (while with the initial, “overflow: visible” value,
its minimum width would likely be > 0px -provided it has some content. Also note that setting “overflow: clip” on the box in the markup
(so it becomes an explicit clip value and not just an “effective” implicit clip through “contain: paint”) produces
the exact same rendering meaning that this effective property value does affect layout).
This is a partial revert of r285885 (focusing on where the flex algorithm consults with the flex items' overflow values).
Test: fast/flexbox/incorrect-min-size-with-paint-contain.html
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::mainAxisOverflowForChild const):
(WebCore::RenderFlexibleBox::crossAxisOverflowForChild const):
LayoutTests:
- fast/flexbox/incorrect-min-size-with-paint-contain-expected.html: Added.
- fast/flexbox/incorrect-min-size-with-paint-contain.html: Added.
- 7:46 PM Changeset in webkit [289994] by
-
- 25 edits4 adds in trunk/Source
Send icons to the WebContent process for rendering of the attachment element
https://bugs.webkit.org/show_bug.cgi?id=236386
Reviewed by Darin Adler.
In order to avoid connecting to the Icon Services daemon in the WebContent process, we should send the icons for the attachment
Source/WebCore:
element to the WebContent process from the UI process. When the icon is being painted in the WebContent process, it is getting
the icon from the HTML attachment element, instead of creating it by connecting to Icon Services. The icon in the attachment
element is received from the UI process. A new AttachmentElementClient class is created to forward the messages to the UI
process.
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::updateIcon):
(WebCore::HTMLAttachmentElement::icon const):
(WebCore::HTMLAttachmentElement::iconSize const):
- html/HTMLAttachmentElement.h:
- loader/EmptyClients.cpp:
(WebCore::pageConfigurationWithEmptyClients):
- page/AttachmentElementClient.h: Added.
(WebCore::AttachmentElementClient::~AttachmentElementClient):
- page/EmptyAttachmentElementClient.h: Added.
- page/Page.cpp:
(WebCore::m_attachmentElementClient):
(WebCore::m_modelPlayerProvider): Deleted.
- page/Page.h:
(WebCore::Page::attachmentElementClient):
- page/PageConfiguration.cpp:
(WebCore::PageConfiguration::PageConfiguration):
- page/PageConfiguration.h:
- platform/graphics/Icon.h:
(WebCore::Icon::nsImage const):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::iconForAttachment):
(WebCore::RenderAttachmentInfo::RenderAttachmentInfo):
(WebCore::paintAttachmentIcon):
(WebCore::iconForAttachment): Deleted.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::iconForAttachment):
(WebCore::paintAttachmentIcon):
(WebCore::iconForAttachment): Deleted.
Source/WebKit:
element to the WebContent process from the UI process. The icon will be sent to the WebContent process when the attachment
attributes are updated, or the WebContent process has requested the icon. The new client class WebAttachmentElementClient is
responsible for requesting icons from the UI process.
- Sources.txt:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::convertPlatformImageToBitmap):
(WebKit::WebPageProxy::iconForAttachment):
(WebKit::WebPageProxy::requestThumbnailWithOperation):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestAttachmentIcon):
(WebKit::WebPageProxy::updateAttachmentAttributes):
(WebKit::WebPageProxy::updateAttachmentThumbnail):
(WebKit::WebPageProxy::updateAttachmentIcon): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebAttachmentElementClient.cpp: Added.
(WebKit::WebAttachmentElementClient::WebAttachmentElementClient):
(WebKit::WebAttachmentElementClient::requestAttachmentIcon):
- WebProcess/WebCoreSupport/WebAttachmentElementClient.h: Added.
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::didInsertAttachmentWithIdentifier):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
(WebKit::WebPage::updateAttachmentThumbnail):
(WebKit::WebPage::updateAttachmentIcon):
(WebKit::WebPage::requestAttachmentIcon):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 7:40 PM Changeset in webkit [289993] by
-
- 7 edits2 adds in trunk
Implement getComputedStyle for subgrids
https://bugs.webkit.org/show_bug.cgi?id=236148
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-16
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
Adds OrderedNamedLinesCollectorInSubgridLayout to iterate the subgrid names list, stopping
at the number of actual tracks in the grid.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::OrderedNamedLinesCollectorInSubgridLayout::OrderedNamedLinesCollectorInSubgridLayout):
(WebCore::OrderedNamedLinesCollectorInGridLayout::collectLineNamesForIndex const):
(WebCore::OrderedNamedLinesCollectorInSubgridLayout::collectLineNamesForIndex const):
(WebCore::addValuesForNamedGridLinesAtIndex):
(WebCore::populateSubgridTrackList):
(WebCore::valueForGridTrackList):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeAutoRepeatTracksCount const):
- rendering/RenderGrid.h:
- rendering/style/GridPositionsResolver.cpp:
(WebCore::NamedLineCollection::contains const):
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::createGridTrackList):
LayoutTests:
Mark tests as no longer crashing.
- 7:35 PM Changeset in webkit [289992] by
-
- 5 edits in trunk/Source/WebCore
Use OptionSet for TextureMapperShaderProgram::Options
https://bugs.webkit.org/show_bug.cgi?id=236689
Reviewed by Don Olmstead.
- platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp:
(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):
- platform/graphics/gstreamer/VideoTextureCopierGStreamer.h:
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::getShaderProgram):
Use unsigned for the HashMap key since OptionSet can't be used as a key.
(WebCore::optionsForFilterType):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawTexturePlanarYUV):
(WebCore::TextureMapperGL::drawTextureSemiPlanarYUV):
(WebCore::TextureMapperGL::drawTexturePackedYUV):
(WebCore::TextureMapperGL::drawSolidColor):
- platform/graphics/texmap/TextureMapperShaderProgram.h:
- 7:21 PM Changeset in webkit [289991] by
-
- 7 edits1 move1 add1 delete in trunk/Source/WebCore
Cache an entire attribute QualifiedName when parsing HTML, not just its local name AtomString
https://bugs.webkit.org/show_bug.cgi?id=236570
<rdar://problem/88876545>
Reviewed by Darin Adler.
Bug 229907 added HTMLAtomStringCache, which uses a fast to compute hash
that works well to cache HTML tag names, attribute names, and attribute
values. When AtomHTMLToken initializes its list of Attributes, it uses
HTMLAtomStringCache to look up or create an AtomString for the
attribute's local name, and then creates a QualifiedName to wrap it.
QualifiedName construction involves looking up QualifiedNameCache, which
is a thread-specific cache of QualifiedNameImpl objects. If we make
HTMLAtomStringCache responsible for caching an attribute's QualifiedName
instead of just its local name AtomString, we can avoid the work of
looking up the QualifiedNameCache.
To reflect its broader responsibilities, HTMLAtomStringCache is renamed
to HTMLNameCache.
Doing this results in a 0.2-0.3% improvement on Speedometer 2, and a
0.3-0.4% improvement on PLT5 (with the lower end of those ranges being
on Apple Silicon and the higher end on Intel).
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/QualifiedName.h:
(WebCore::QualifiedName::QualifiedName):
- html/parser/AtomHTMLToken.h:
(WebCore::AtomHTMLToken::initializeAttributes):
(WebCore::AtomHTMLToken::AtomHTMLToken):
- html/parser/HTMLAtomStringCache.h: Removed.
(WebCore::HTMLAtomStringCache::makeTagOrAttributeName): Deleted.
(WebCore::HTMLAtomStringCache::makeAttributeValue): Deleted.
(WebCore::HTMLAtomStringCache::clear): Deleted.
(WebCore::HTMLAtomStringCache::make): Deleted.
(WebCore::HTMLAtomStringCache::cacheSlot): Deleted.
- html/parser/HTMLNameCache.cpp: Renamed from Source/WebCore/html/parser/HTMLAtomStringCache.cpp.
(WebCore::HTMLNameCache::atomStringCache):
(WebCore::HTMLNameCache::qualifiedNameCache):
- html/parser/HTMLNameCache.h: Added.
(WebCore::HTMLNameCache::makeTagName):
(WebCore::HTMLNameCache::makeAttributeQualifiedName):
(WebCore::HTMLNameCache::makeAttributeValue):
(WebCore::HTMLNameCache::clear):
(WebCore::HTMLNameCache::makeAtomString):
(WebCore::HTMLNameCache::makeQualifiedName):
(WebCore::HTMLNameCache::slotIndex):
(WebCore::HTMLNameCache::atomStringCacheSlot):
(WebCore::HTMLNameCache::qualifiedNameCacheSlot):
- page/MemoryRelease.cpp:
(WebCore::releaseNoncriticalMemory):
- page/cocoa/MemoryReleaseCocoa.mm:
(WebCore::jettisonExpensiveObjectsOnTopLevelNavigation):
- 7:19 PM Changeset in webkit [289990] by
-
- 47 edits in trunk/LayoutTests
Add fuzzy data for test failures seen on the iOS GPU Process bot
Unreviewed.
LayoutTests/imported/mozilla:
- svg/blend-exclusion.svg:
- svg/blend-overlay.svg:
- svg/text-gradient-01.svg:
LayoutTests/imported/w3c:
- web-platform-tests/css/css-backgrounds/background-rounded-image-clip.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-001.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-002.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-003.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-004.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-005.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-006.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-007.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-008.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-001.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-002.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-003.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-004.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-005.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-006.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-007.html:
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-008.html:
- web-platform-tests/css/css-transforms/css-skew-002.html:
- web-platform-tests/css/css-transforms/transforms-skewY.html:
LayoutTests:
- compositing/backgrounds/fixed-backgrounds.html:
- compositing/images/positioned-image-content-rect.html:
- css3/background/background-repeat-space-border.html:
- css3/background/background-repeat-space-content.html:
- css3/background/background-repeat-space-padding.html:
- css3/masking/clip-path-ellipse.html:
- css3/masking/clip-path-inset-corners.html:
- css3/masking/clip-path-restore.html:
- fast/backgrounds/gradient-background-shadow.html:
- fast/filter-image/filter-image-blur.html:
- fast/layers/overflow-scroll-transform-border-radius.html:
- fast/masking/clip-path-inset-large-radii.html:
- fast/overflow/line-clamp-with-text-shadow.html:
- fast/text/decorations-vertical-underline.html:
- fast/text/fitzpatrick-combination.html:
- fast/text/simple-line-layout-text-position-with-stroke.html:
- gpu-process/TestExpectations:
- svg/clip-path/clip-opacity.html:
- svg/clip-path/clip-path-objectboundingbox-003.svg:
- svg/clip-path/svg-in-html.html:
- svg/clip-path/webkit-clip-path-after.svg:
- svg/clip-path/webkit-clip-path-before.svg:
- 6:19 PM Changeset in webkit [289989] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION: TestWebKitAPI.WKWebViewDisableSelection.DoubleClickDoesNotSelectWhenTextInteractionsAreDisabled is failing
https://bugs.webkit.org/show_bug.cgi?id=236718
Reviewed by Wenson Hsieh.
A check got missed when refactoring code for 289818.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEventDoubleClick):
- 5:59 PM Changeset in webkit [289988] by
-
- 2 edits in trunk/Tools
Broken pipes during iOS simulator testing
https://bugs.webkit.org/show_bug.cgi?id=230513
<rdar://problem/83325409>
Reviewed by Dewei Zhu.
- Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.Popen.poll): Close stdin, stdout and stderr when process ends.
- 5:31 PM Changeset in webkit [289987] by
-
- 4 edits in trunk/Tools
[EWS] Rename 'patch' to 'change' in transfer-archive-to-s3
https://bugs.webkit.org/show_bug.cgi?id=236706
<rdar://problem/89025868>
Reviewed by Aakash Jain.
- Tools/CISupport/Shared/transfer-archive-to-s3: Change --patch_id argument
to --change-id.
- Tools/CISupport/ews-build/steps.py:
(TransferToS3): Invoke transfer-archive-to-s3 with --change-id.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247372@main
- 5:31 PM Changeset in webkit [289986] by
-
- 13 edits in trunk
Inherit track count from parent grid for subgridded axes and clamp item placement to that explicit grid.
https://bugs.webkit.org/show_bug.cgi?id=236122
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-16
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Test changes to match latest spec, submitted upstream as https://github.com/web-platform-tests/wpt/pull/32629
- web-platform-tests/css/css-grid/subgrid/line-names-002-expected.html:
- web-platform-tests/css/css-grid/subgrid/line-names-005-expected.html:
Source/WebCore:
Changes GridPositionsResolver::explicitGrid<>Count to return the number of tracks
spanned in the parent grid, for axes that are a subgrid.
Updates adjustGridPositionsForStyle to use the number of lines specified in the
subgrid property, for grid items that are also a subgrid and have an otherwise
indefinite span.
Adds clamping support to Grid so that we can prevent subgrids from ever adding
new implicit tracks.
- rendering/Grid.cpp:
(WebCore::Grid::insert):
(WebCore::Grid::setClampingForSubgrid):
(WebCore::Grid::clampAndTranslateToImplicitGrid):
(WebCore::Grid::setNeedsItemsPlacement):
- rendering/Grid.h:
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeIntrinsicLogicalWidths const):
(WebCore::RenderGrid::placeItemsOnGrid const):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator const):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid const):
(WebCore::RenderGrid::isSubgrid const):
(WebCore::RenderGrid::isSubgridRows const):
(WebCore::RenderGrid::isSubgridColumns const):
(WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild):
(WebCore::RenderGrid::numTracks const):
(WebCore::transposedDirection):
(WebCore::RenderGrid::computeGridSpanForOutOfFlowChild const):
(WebCore::RenderGrid::gridSpanForOutOfFlowChild const):
(WebCore::RenderGrid::gridSpanForChild const):
- rendering/RenderGrid.h:
- rendering/style/GridArea.h:
(WebCore::GridSpan::integerSpan const):
(WebCore::GridSpan::translateTo):
(WebCore::GridSpan::clamp):
- rendering/style/GridPositionsResolver.cpp:
(WebCore::isIndefiniteSpan):
(WebCore::adjustGridPositionsFromStyle):
(WebCore::GridPositionsResolver::explicitGridColumnCount):
(WebCore::GridPositionsResolver::explicitGridRowCount):
(WebCore::explicitGridSizeForSide):
(WebCore::resolveNamedGridLinePositionFromStyle):
(WebCore::resolveNamedGridLinePositionAgainstOppositePosition):
(WebCore::resolveGridPositionAgainstOppositePosition):
(WebCore::resolveGridPositionFromStyle):
(WebCore::GridPositionsResolver::resolveGridPositionsFromStyle):
- rendering/style/GridPositionsResolver.h:
- 5:25 PM Changeset in webkit [289985] by
-
- 4 edits in trunk/Tools
[git-webkit] Comment and close issue when landing PR (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=236715
<rdar://problem/89031529>
Unreviewed follow-up fix.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version instead of decrement.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py:
(Land.main): Grab log of commit, which may contain revision, if there is one.
- 5:18 PM Changeset in webkit [289984] by
-
- 3 edits in trunk/Tools
[EWS] Rename 'patch' to 'change' in layout-test steps
https://bugs.webkit.org/show_bug.cgi?id=236674
<rdar://problem/88992222>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(RunWebKitTestsWithoutChange.setLayoutTestCommand):
(AnalyzeLayoutTestsResults.report_failure):
(AnalyzeLayoutTestsResults.retry_build):
(RunWebKitTestsRepeatFailuresRedTree.evaluateCommand):
(RunWebKitTestsRepeatFailuresRedTree.commandComplete):
(RunWebKitTestsRepeatFailuresWithoutChangeRedTree): Renamed.
(RunWebKitTestsRepeatFailuresWithoutChangeRedTree.setLayoutTestCommand):
(RunWebKitTestsRepeatFailuresWithoutChangeRedTree.evaluateCommand):
(RunWebKitTestsRepeatFailuresWithoutChangeRedTree.commandComplete):
(RunWebKitTestsRepeatFailuresWithoutPatchRedTree): Renamed.
(AnalyzeLayoutTestsResultsRedTree.report_infrastructure_issue_and_maybe_retry_build):
(AnalyzeLayoutTestsResultsRedTree.start):
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247370@main
- 5:10 PM Changeset in webkit [289983] by
-
- 5 edits in trunk/Tools
[git-webkit] Comment and close issue when landing PR
https://bugs.webkit.org/show_bug.cgi?id=236715
<rdar://problem/89031529>
Reviewed by Ryan Haddad.
When we land pull requests, we should make a comment on the associated issue
indicating where the code change is and close that issue.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py:
(Land.main): Comment on and close issue associated with the final commit in
the landed series, shorten displayed hash to 12 characters.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
(repository): Allow caller to specify issue URL in commit message, append git-svn
tag if in a git-svn repository.
(TestLand):
(TestLand.test_default):
(TestLand.test_canonicalize):
(TestLand.test_svn):
(TestLand.test_default_with_radar):
(TestLand.test_canonicalize_with_bugzilla):
(TestLand.test_svn_with_bugzilla):
Canonical link: https://commits.webkit.org/247369@main
- 4:40 PM Changeset in webkit [289982] by
-
- 2 edits in trunk/Tools
[GTK][WPE] Execute API test by name
https://bugs.webkit.org/show_bug.cgi?id=236623
Reviewed by Carlos Garcia Campos.
When running either
run-gtk-testsorrun-wpe-tests, let them take a test name and build
the path to the test.
- glib/api_test_runner.py:
(TestRunner._get_tests):
- 4:11 PM Changeset in webkit [289981] by
-
- 16 edits in trunk
[GPU Process] Enable drawing the SVGImage in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=227748
rdar://80582699
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
This sub-test was originally failing and this is why the bug
https://bugs.webkit.org/show_bug.cgi?id=231001 was filed.
After https://trac.webkit.org/changeset/279722/webkit, it got fixed because
SVGImage was rendered to a NativeImage and the NativeImage is rendered
to the destination GraphicsContext. GraphicsContext::drawNativeImage()
handles the image orientation properly.
Because this change will be reverted, the result of this test has to be
rebaselined with the failure message.
- web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-flipY-expected.txt:
Source/WebCore:
This patch reverts the revisions r279722, r284740 and r283531. So it will
enable drawing the SVGImage in GPU Process if GPU Process for "canvas" or
for "DOM rendering" is enabled
We fix the scratch ImageBuffer in SVGImage::nativeImage() to be accelerated
if acceleratedDrawingEnabled() is true. We also create a remote one if
GPUProcess for DOM rendering is enabled.
We also allow passing a ColorSpace to SVGImage::nativeImage() to control
the colorSpace of the resulted NativeImage. Because this function overrides
the base class method Image::nativeImage() we have to pass a ColorSpace
to BitmapImage also. A FIXME comment is added to BitmapImage::nativeImage()
to handle this argument in a future patch.
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::drawImageToContext):
(WebCore::CanvasRenderingContext2DBase::fullCanvasCompositedDrawImage):
- platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::drawImageForCanvas): Deleted.
- platform/graphics/BifurcatedGraphicsContext.h:
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::nativeImage):
- platform/graphics/BitmapImage.h:
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImageForCanvas): Deleted.
- platform/graphics/GraphicsContext.h:
- platform/graphics/Image.cpp:
(WebCore::Image::drawForCanvas): Deleted.
- platform/graphics/Image.h:
(WebCore::Image::nativeImage):
(WebCore::Image::draw):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawForContainer):
(WebCore::SVGImage::nativeImage):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::drawForCanvasForContainer): Deleted.
(WebCore::SVGImage::drawForContainerInternal): Deleted.
(WebCore::SVGImage::drawForCanvas): Deleted.
(WebCore::SVGImage::drawInternal): Deleted.
(WebCore::SVGImage::drawAsNativeImage): Deleted.
- svg/graphics/SVGImage.h:
- svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::drawForCanvas): Deleted.
- svg/graphics/SVGImageForContainer.h:
- 4:10 PM Changeset in webkit [289980] by
-
- 3 edits in trunk/Tools
[EWS] Rename 'patch' to 'change' in api-test steps
https://bugs.webkit.org/show_bug.cgi?id=236676
<rdar://problem/88993105>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(ReRunAPITests.evaluateCommand): Renamed RunAPITestsWithoutPatch to RunAPITestsWithoutChange.
(RunAPITestsWithoutChange): Ditto.
(AnalyzeAPITestsResults.start): Ditto.
(AnalyzeAPITestsResults.analyzeResults): Ditto.
(RunAPITestsWithoutChange): Renamed from RunAPITestsWithoutPatch.
(RunAPITestsWithoutPatch): Renamed to RunAPITestsWithoutChange.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247366@main
- 4:03 PM Changeset in webkit [289979] by
-
- 2 edits in trunk/Tools/CISupport/build-webkit-org
Set up a post-commit bot to test workspace builds
https://bugs.webkit.org/show_bug.cgi?id=236726
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/config.json:
- CISupport/build-webkit-org/factories_unittest.py:
(TestExpectedBuildSteps):
Canonical link: https://commits.webkit.org/247365@main
- 3:49 PM Changeset in webkit [289978] by
-
- 151 edits7 copies3 deletes in trunk/Source
[WebGPU] Update IDLs and stubs to latest version of the spec
https://bugs.webkit.org/show_bug.cgi?id=236639
Reviewed by Dean Jackson.
Source/WebCore:
This updates our WebGPU infrastructure to spec revision 626f8c05c8e67b54159e93ae7c3699a889f0b115. This
is just the plumbing that connects IDL -> WebCore C++ -> PAL virtual methods -> WebKit Web process ->
WebKit GPU process -> PAL virtual methods -> PAL WebGPU implementation -> WebGPU.framework. This also
updates the WebGPU.h shared header to revision 08ef57733503b8fb504e0681a8db650c88225947. This is just
plumbing - the actual implementation of this stuff is still just stubs in WebGPU.framework.
There have been a few various changes:
- A viewFormats array has been added to GPUCanvasConfiguration and GPUTextureDescriptor
- fillBuffer() has been renamed to clearBuffer()
- Pipeline statistics queries have been deleted
- A few refactorings to turn Vector<Foo> things into Vector<std::optional<Foo>>
- flipY has been added to GPUImageCopyExternalImage
- Load operations have been redesigned on both GPURenderPassColorAttachment and
GPURenderPassDepthStencilAttachment
- endPass() has been renamed to end()
- Shader compilation now takes a record<entry point name, GPUShaderModuleCompilationHint>
No new tests because the implementation is still just stubs.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Headers.cmake:
- Modules/WebGPU/GPUBuffer.cpp:
(WebCore::GPUBuffer::mapAsync):
(WebCore::GPUBuffer::getMappedRange):
- Modules/WebGPU/GPUBuffer.h:
- Modules/WebGPU/GPUCanvasConfiguration.h:
(WebCore::GPUCanvasConfiguration::convertToBacking const):
- Modules/WebGPU/GPUCanvasConfiguration.idl:
- Modules/WebGPU/GPUCommandEncoder.cpp:
(WebCore::GPUCommandEncoder::clearBuffer):
(WebCore::GPUCommandEncoder::fillBuffer): Deleted.
- Modules/WebGPU/GPUCommandEncoder.h:
- Modules/WebGPU/GPUCommandEncoder.idl:
- Modules/WebGPU/GPUCommandsMixin.idl: Copied from Source/WebCore/Modules/WebGPU/GPULoadOp.idl.
- Modules/WebGPU/GPUComputePassEncoder.cpp:
(WebCore::GPUComputePassEncoder::dispatch):
(WebCore::GPUComputePassEncoder::end):
(WebCore::GPUComputePassEncoder::beginPipelineStatisticsQuery): Deleted.
(WebCore::GPUComputePassEncoder::endPipelineStatisticsQuery): Deleted.
(WebCore::GPUComputePassEncoder::endPass): Deleted.
- Modules/WebGPU/GPUComputePassEncoder.h:
- Modules/WebGPU/GPUComputePassEncoder.idl:
- Modules/WebGPU/GPUDebugCommandsMixin.idl: Copied from Source/WebCore/Modules/WebGPU/GPUFragmentState.idl.
- Modules/WebGPU/GPUFeatureName.h:
(WebCore::convertToBacking):
- Modules/WebGPU/GPUFeatureName.idl:
- Modules/WebGPU/GPUFragmentState.h:
(WebCore::GPUFragmentState::convertToBacking const):
- Modules/WebGPU/GPUFragmentState.idl:
- Modules/WebGPU/GPUImageCopyExternalImage.h:
(WebCore::GPUImageCopyExternalImage::convertToBacking const):
- Modules/WebGPU/GPUImageCopyExternalImage.idl:
- Modules/WebGPU/GPULoadOp.h:
(WebCore::convertToBacking):
- Modules/WebGPU/GPULoadOp.idl:
- Modules/WebGPU/GPUObjectBase.idl:
- Modules/WebGPU/GPUPipelineStatisticName.h: Removed.
- Modules/WebGPU/GPUPipelineStatisticName.idl: Removed.
- Modules/WebGPU/GPUProgrammablePassEncoder.idl:
- Modules/WebGPU/GPUQuerySetDescriptor.h:
(WebCore::GPUQuerySetDescriptor::convertToBacking const):
- Modules/WebGPU/GPUQuerySetDescriptor.idl:
- Modules/WebGPU/GPUQueryType.h:
(WebCore::convertToBacking):
- Modules/WebGPU/GPUQueryType.idl:
- Modules/WebGPU/GPUQueue.cpp:
(WebCore::GPUQueue::writeBuffer):
- Modules/WebGPU/GPUQueue.h:
- Modules/WebGPU/GPURenderBundleEncoder.idl:
- Modules/WebGPU/GPURenderBundleEncoderDescriptor.h:
(WebCore::GPURenderBundleEncoderDescriptor::convertToBacking const):
- Modules/WebGPU/GPURenderPassColorAttachment.h:
(WebCore::GPURenderPassColorAttachment::convertToBacking const):
- Modules/WebGPU/GPURenderPassColorAttachment.idl:
- Modules/WebGPU/GPURenderPassDepthStencilAttachment.h:
(WebCore::GPURenderPassDepthStencilAttachment::convertToBacking const):
- Modules/WebGPU/GPURenderPassDepthStencilAttachment.idl:
- Modules/WebGPU/GPURenderPassDescriptor.h:
(WebCore::GPURenderPassDescriptor::convertToBacking const):
- Modules/WebGPU/GPURenderPassDescriptor.idl:
- Modules/WebGPU/GPURenderPassEncoder.cpp:
(WebCore::GPURenderPassEncoder::end):
(WebCore::GPURenderPassEncoder::beginPipelineStatisticsQuery): Deleted.
(WebCore::GPURenderPassEncoder::endPipelineStatisticsQuery): Deleted.
(WebCore::GPURenderPassEncoder::endPass): Deleted.
- Modules/WebGPU/GPURenderPassEncoder.h:
- Modules/WebGPU/GPURenderPassEncoder.idl:
- Modules/WebGPU/GPURenderPassLayout.h:
(WebCore::GPURenderPassLayout::convertToBacking const):
- Modules/WebGPU/GPURenderPassLayout.idl:
- Modules/WebGPU/GPUShaderModuleCompilationHint.h: Copied from Source/WebCore/Modules/WebGPU/GPULoadOp.h.
(WebCore::GPUShaderModuleCompilationHint::convertToBacking const):
- Modules/WebGPU/GPUShaderModuleCompilationHint.idl: Copied from Source/WebCore/Modules/WebGPU/GPUQueryType.idl.
- Modules/WebGPU/GPUShaderModuleDescriptor.h:
(WebCore::GPUShaderModuleDescriptor::convertToBacking const):
- Modules/WebGPU/GPUShaderModuleDescriptor.idl:
- Modules/WebGPU/GPUTextureDescriptor.h:
(WebCore::GPUTextureDescriptor::convertToBacking const):
- Modules/WebGPU/GPUTextureDescriptor.idl:
- Modules/WebGPU/GPUTextureFormat.h:
(WebCore::convertToBacking):
- Modules/WebGPU/GPUTextureFormat.idl:
- Modules/WebGPU/GPUUncapturedErrorEvent.idl:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp:
(PAL::WebGPU::supportedFeatures):
(PAL::WebGPU::AdapterImpl::requestDevice):
- pal/graphics/WebGPU/Impl/WebGPUBufferImpl.cpp:
(PAL::WebGPU::BufferImpl::mapAsync):
(PAL::WebGPU::BufferImpl::getMappedRange):
- pal/graphics/WebGPU/Impl/WebGPUBufferImpl.h:
- pal/graphics/WebGPU/Impl/WebGPUCommandEncoderImpl.cpp:
(PAL::WebGPU::CommandEncoderImpl::beginRenderPass):
(PAL::WebGPU::CommandEncoderImpl::beginComputePass):
(PAL::WebGPU::CommandEncoderImpl::clearBuffer):
(PAL::WebGPU::CommandEncoderImpl::fillBuffer): Deleted.
- pal/graphics/WebGPU/Impl/WebGPUCommandEncoderImpl.h:
- pal/graphics/WebGPU/Impl/WebGPUComputePassEncoderImpl.cpp:
(PAL::WebGPU::ComputePassEncoderImpl::dispatch):
(PAL::WebGPU::ComputePassEncoderImpl::end):
(PAL::WebGPU::ComputePassEncoderImpl::beginPipelineStatisticsQuery): Deleted.
(PAL::WebGPU::ComputePassEncoderImpl::endPipelineStatisticsQuery): Deleted.
(PAL::WebGPU::ComputePassEncoderImpl::endPass): Deleted.
- pal/graphics/WebGPU/Impl/WebGPUComputePassEncoderImpl.h:
- pal/graphics/WebGPU/Impl/WebGPUConvertToBackingContext.cpp:
(PAL::WebGPU::ConvertToBackingContext::convertToBacking):
- pal/graphics/WebGPU/Impl/WebGPUConvertToBackingContext.h:
- pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp:
(PAL::WebGPU::DeviceImpl::createTexture):
(PAL::WebGPU::DeviceImpl::createShaderModule):
(PAL::WebGPU::convertToBacking):
(PAL::WebGPU::DeviceImpl::createRenderBundleEncoder):
(PAL::WebGPU::DeviceImpl::createQuerySet):
- pal/graphics/WebGPU/Impl/WebGPUImpl.cpp:
(PAL::WebGPU::GPUImpl::requestAdapter):
- pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.cpp:
(PAL::WebGPU::RenderPassEncoderImpl::end):
(PAL::WebGPU::RenderPassEncoderImpl::beginPipelineStatisticsQuery): Deleted.
(PAL::WebGPU::RenderPassEncoderImpl::endPipelineStatisticsQuery): Deleted.
(PAL::WebGPU::RenderPassEncoderImpl::endPass): Deleted.
- pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.h:
- pal/graphics/WebGPU/WebGPUBuffer.h:
- pal/graphics/WebGPU/WebGPUCanvasConfiguration.h:
- pal/graphics/WebGPU/WebGPUCommandEncoder.h:
- pal/graphics/WebGPU/WebGPUComputePassEncoder.h:
- pal/graphics/WebGPU/WebGPUFeatureName.h:
- pal/graphics/WebGPU/WebGPUFragmentState.h:
- pal/graphics/WebGPU/WebGPUImageCopyExternalImage.h:
- pal/graphics/WebGPU/WebGPULoadOp.h:
- pal/graphics/WebGPU/WebGPUPipelineStatisticName.h: Removed.
- pal/graphics/WebGPU/WebGPUQuerySetDescriptor.h:
- pal/graphics/WebGPU/WebGPUQueryType.h:
- pal/graphics/WebGPU/WebGPUQueue.h:
- pal/graphics/WebGPU/WebGPURenderPassColorAttachment.h:
- pal/graphics/WebGPU/WebGPURenderPassDepthStencilAttachment.h:
- pal/graphics/WebGPU/WebGPURenderPassDescriptor.h:
- pal/graphics/WebGPU/WebGPURenderPassEncoder.h:
- pal/graphics/WebGPU/WebGPURenderPassLayout.h:
- pal/graphics/WebGPU/WebGPUShaderModuleCompilationHint.h: Copied from Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUImageCopyExternalImage.h.
- pal/graphics/WebGPU/WebGPUShaderModuleDescriptor.h:
- pal/graphics/WebGPU/WebGPUTextureDescriptor.h:
- pal/graphics/WebGPU/WebGPUTextureFormat.h:
Source/WebGPU:
- WebGPU/Adapter.h:
- WebGPU/Adapter.mm:
(WebGPU::Adapter::enumerateFeatures):
(wgpuAdapterEnumerateFeatures):
(WebGPU::Adapter::getFeatureAtIndex): Deleted.
(wgpuAdapterGetFeatureAtIndex): Deleted.
- WebGPU/CommandEncoder.h:
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::clearBuffer):
(wgpuCommandEncoderClearBuffer):
(WebGPU::CommandEncoder::fillBuffer): Deleted.
(wgpuCommandEncoderFillBuffer): Deleted.
- WebGPU/ComputePassEncoder.h:
- WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::writeTimestamp): Deleted.
(wgpuComputePassEncoderWriteTimestamp): Deleted.
- WebGPU/Device.h:
- WebGPU/Device.mm:
(WebGPU::Device::enumerateFeatures):
(WebGPU::Device::hasFeature):
(wgpuDeviceEnumerateFeatures):
(wgpuDeviceHasFeature):
- WebGPU/Instance.mm:
(wgpuGetProcAddress):
- WebGPU/RenderPassEncoder.h:
- WebGPU/RenderPassEncoder.mm:
(WebGPU::RenderPassEncoder::writeTimestamp): Deleted.
(wgpuRenderPassEncoderWriteTimestamp): Deleted.
- WebGPU/ShaderModule.h:
- WebGPU/ShaderModule.mm:
(WebGPU::ShaderModule::getCompilationInfo):
(wgpuShaderModuleGetCompilationInfo):
- WebGPU/WebGPU.h:
- WebGPU/WebGPUExt.h:
Source/WebKit:
- GPUProcess/graphics/WebGPU/RemoteBuffer.cpp:
(WebKit::RemoteBuffer::mapAsync):
- GPUProcess/graphics/WebGPU/RemoteBuffer.h:
- GPUProcess/graphics/WebGPU/RemoteBuffer.messages.in:
- GPUProcess/graphics/WebGPU/RemoteCommandEncoder.cpp:
(WebKit::RemoteCommandEncoder::clearBuffer):
(WebKit::RemoteCommandEncoder::fillBuffer): Deleted.
- GPUProcess/graphics/WebGPU/RemoteCommandEncoder.h:
- GPUProcess/graphics/WebGPU/RemoteCommandEncoder.messages.in:
- GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.cpp:
(WebKit::RemoteComputePassEncoder::dispatch):
(WebKit::RemoteComputePassEncoder::end):
(WebKit::RemoteComputePassEncoder::beginPipelineStatisticsQuery): Deleted.
(WebKit::RemoteComputePassEncoder::endPipelineStatisticsQuery): Deleted.
(WebKit::RemoteComputePassEncoder::endPass): Deleted.
- GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.h:
- GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.messages.in:
- GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.cpp:
(WebKit::RemoteRenderPassEncoder::end):
(WebKit::RemoteRenderPassEncoder::beginPipelineStatisticsQuery): Deleted.
(WebKit::RemoteRenderPassEncoder::endPipelineStatisticsQuery): Deleted.
(WebKit::RemoteRenderPassEncoder::endPass): Deleted.
- GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.h:
- GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.messages.in:
- Shared/WebGPU/WebGPUCanvasConfiguration.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUCanvasConfiguration.h:
(WebKit::WebGPU::CanvasConfiguration::encode const):
(WebKit::WebGPU::CanvasConfiguration::decode):
- Shared/WebGPU/WebGPUConvertFromBackingContext.h:
- Shared/WebGPU/WebGPUConvertToBackingContext.h:
- Shared/WebGPU/WebGPUFragmentState.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUFragmentState.h:
(WebKit::WebGPU::FragmentState::decode):
- Shared/WebGPU/WebGPUImageCopyExternalImage.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUImageCopyExternalImage.h:
(WebKit::WebGPU::ImageCopyExternalImage::encode const):
(WebKit::WebGPU::ImageCopyExternalImage::decode):
- Shared/WebGPU/WebGPUImageCopyTexture.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUQuerySetDescriptor.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUQuerySetDescriptor.h:
(WebKit::WebGPU::QuerySetDescriptor::encode const):
(WebKit::WebGPU::QuerySetDescriptor::decode):
- Shared/WebGPU/WebGPURenderPassColorAttachment.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPURenderPassColorAttachment.h:
(WebKit::WebGPU::RenderPassColorAttachment::encode const):
(WebKit::WebGPU::RenderPassColorAttachment::decode):
- Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.h:
(WebKit::WebGPU::RenderPassDepthStencilAttachment::encode const):
(WebKit::WebGPU::RenderPassDepthStencilAttachment::decode):
- Shared/WebGPU/WebGPURenderPassDescriptor.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPURenderPassDescriptor.h:
(WebKit::WebGPU::RenderPassDescriptor::decode):
- Shared/WebGPU/WebGPURenderPassLayout.h:
(WebKit::WebGPU::RenderPassLayout::decode):
- Shared/WebGPU/WebGPUShaderModuleCompilationHint.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUShaderModuleDescriptor.cpp.
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUShaderModuleCompilationHint.h: Copied from Source/WebKit/Shared/WebGPU/WebGPUImageCopyExternalImage.h.
(WebKit::WebGPU::ShaderModuleCompilationHint::encode const):
(WebKit::WebGPU::ShaderModuleCompilationHint::decode):
- Shared/WebGPU/WebGPUShaderModuleDescriptor.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUShaderModuleDescriptor.h:
(WebKit::WebGPU::ShaderModuleDescriptor::encode const):
(WebKit::WebGPU::ShaderModuleDescriptor::decode):
- Shared/WebGPU/WebGPUTextureDescriptor.cpp:
(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):
- Shared/WebGPU/WebGPUTextureDescriptor.h:
(WebKit::WebGPU::TextureDescriptor::encode const):
(WebKit::WebGPU::TextureDescriptor::decode):
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.cpp:
(WebKit::WebGPU::RemoteBufferProxy::mapAsync):
(WebKit::WebGPU::RemoteBufferProxy::getMappedRange):
- WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.h:
- WebProcess/GPU/graphics/WebGPU/RemoteCommandEncoderProxy.cpp:
(WebKit::WebGPU::RemoteCommandEncoderProxy::clearBuffer):
(WebKit::WebGPU::RemoteCommandEncoderProxy::fillBuffer): Deleted.
- WebProcess/GPU/graphics/WebGPU/RemoteCommandEncoderProxy.h:
- WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.cpp:
(WebKit::WebGPU::RemoteComputePassEncoderProxy::dispatch):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::end):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::beginPipelineStatisticsQuery): Deleted.
(WebKit::WebGPU::RemoteComputePassEncoderProxy::endPipelineStatisticsQuery): Deleted.
(WebKit::WebGPU::RemoteComputePassEncoderProxy::endPass): Deleted.
- WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.h:
- WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.h:
- WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.cpp:
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::end):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::beginPipelineStatisticsQuery): Deleted.
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::endPipelineStatisticsQuery): Deleted.
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::endPass): Deleted.
- WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.h:
- 3:48 PM Changeset in webkit [289977] by
-
- 3 edits in trunk/LayoutTests
Unreviewed gardening for GPU Process.
- gpu-process/TestExpectations:
- platform/mac/TestExpectations: fly-by update.
- 3:45 PM Changeset in webkit [289976] by
-
- 29 edits in trunk/Source
[GPU Process] Route the call to ImageBuffer::drawPattern() through GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=236638
Reviewed by Simon Fraser.
Source/WebCore:
This will allow recording ImageBuffer::drawPattern() via the super classes
DisplayList::RecorderImpl and RemoteDisplayListRecorderProxy. So another
version of GraphicsContext::drawPattern() will be added which takes
ImageBuffer as an argument.
To make the display list item DrawPattern be suitable for recording both
versions of drawPattern(), we need to remove the argument 'imageSize'
from GraphicsContext::drawPattern() since this function is only called from
Image::drawPattern() and it passes imageSize = Image::size(). So imageSize
can be calculated from the NativeImage::size().
The DisplayList::Replayer and RemoteDisplayListRecorder have to consider
the RenderingResourceIdentifier of the DrawPattern can be the identifier
of a NativeImage or an ImageBuffer. DrawPattern::apply() needs to take a
SourceImage and it can make the decision whether to call the NativeImage
version or the ImageBuffer version of GraphicsContext::drawPattern().
- html/CustomPaintImage.cpp:
(WebCore::CustomPaintImage::drawPattern):
- platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::drawPattern):
- platform/graphics/BifurcatedGraphicsContext.h:
- platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::drawPattern):
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawPattern):
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::drawPattern):
- platform/graphics/Image.cpp:
(WebCore::Image::drawPattern):
- platform/graphics/NamedImageGeneratedImage.cpp:
(WebCore::NamedImageGeneratedImage::drawPattern):
- platform/graphics/NullGraphicsContext.h:
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::drawPattern):
- platform/graphics/cairo/GraphicsContextCairo.h:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContextCG::drawPattern):
- platform/graphics/cg/GraphicsContextCG.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawPattern::DrawPattern):
(WebCore::DisplayList::DrawPattern::apply const):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawPattern::DrawPattern):
(WebCore::DisplayList::DrawPattern::imageIdentifier const):
(WebCore::DisplayList::DrawPattern::imageSize const): Deleted.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawPattern):
- platform/graphics/displaylists/DisplayListRecorder.h:
(WebCore::DisplayList::Recorder::recordDrawPattern):
- platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::recordDrawPattern):
- platform/graphics/displaylists/DisplayListRecorderImpl.h:
(WebCore::DisplayList::RecorderImpl::recordDrawPattern):
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::applySourceImageItem):
(WebCore::DisplayList::Replayer::applyItem):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawPattern):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
Source/WebKit:
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawPattern):
(WebKit::RemoteDisplayListRecorder::drawPatternWithQualifiedIdentifier):
- GPUProcess/graphics/RemoteDisplayListRecorder.h:
- GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordDrawPattern):
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
(WebKit::RemoteDisplayListRecorderProxy::recordDrawPattern):
- 3:35 PM Changeset in webkit [289975] by
-
- 2 edits in trunk/Tools
[EWS] Enable JSC queues
https://bugs.webkit.org/show_bug.cgi?id=236523
<rdar://problem/88831360>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/config.json:
Canonical link: https://commits.webkit.org/247361@main
- 3:31 PM Changeset in webkit [289974] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, reverting r286874.
https://bugs.webkit.org/show_bug.cgi?id=236734
Broke Apple Music pages which use the resolution media query
Reverted changeset:
"Enable the 'resolution' media query by default"
https://bugs.webkit.org/show_bug.cgi?id=78087
https://commits.webkit.org/r286874
- 3:24 PM Changeset in webkit [289973] by
-
- 2 edits in trunk/Tools
[EWS] Disable Bugzilla related steps for PR workflow
https://bugs.webkit.org/show_bug.cgi?id=236735
<rdar://problem/89049663>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(SetCommitQueueMinusFlagOnPatch.doStepIf): Do step if patch_id is defined.
Canonical link: https://commits.webkit.org/247358@main
- 3:23 PM Changeset in webkit [289972] by
-
- 7 edits in trunk/Source/WebKit
[iOS][macOS] Block access to Icon Services
https://bugs.webkit.org/show_bug.cgi?id=235616
Reviewed by Darin Adler.
Stop creating a sandbox extension for the Icon service when the attachment element is enabled,
since local testing indicates that this is not needed.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::attachmentElementServices): Deleted.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::hasIssuedAttachmentElementRelatedSandboxExtensions const): Deleted.
(WebKit::WebProcessProxy::setHasIssuedAttachmentElementRelatedSandboxExtensions): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
- 3:12 PM Changeset in webkit [289971] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, non-unified build fix after r289742
https://bugs.webkit.org/show_bug.cgi?id=236687
- css/ContainerQueryParser.h:
- 3:10 PM Changeset in webkit [289970] by
-
- 1 copy in tags/Safari-613.1.17.1.4
Tag Safari-613.1.17.1.4.
- 3:10 PM Changeset in webkit [289969] by
-
- 1 copy in tags/Safari-613.1.17.0.4
Tag Safari-613.1.17.0.4.
- 3:07 PM Changeset in webkit [289968] by
-
- 2 edits in trunk/Source/WebKit
Add an additions point for
shouldRecognizeSimultaneouslyWithGestureRecognizer
https://bugs.webkit.org/show_bug.cgi?id=236724
Reviewed by Wenson Hsieh.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _shouldAdditionallyRecognizeGestureRecognizer:simultaneouslyWithGestureRecognizer:]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
- 2:56 PM Changeset in webkit [289967] by
-
- 2 edits1 add in trunk
[CMake][PlayStation] Add find module for WPE Backend for PlayStation
https://bugs.webkit.org/show_bug.cgi?id=236721
Reviewed by Michael Catanzaro.
Add the find module to detect the presence of the WPE Backend for PlayStation platforms.
Currently its not required to have the WPE Backend so its presence is conditional. When
there USE(WPE_BACKEND_PLAYSTATION) will be true.
- Source/cmake/FindWPEBackendPlayStation.cmake: Added.
- Source/cmake/OptionsPlayStation.cmake:
- 2:50 PM Changeset in webkit [289966] by
-
- 3 edits in trunk/Tools
[EWS] Rename 'patch' to 'change' in JSC steps
https://bugs.webkit.org/show_bug.cgi?id=236679
<rdar://problem/88993957>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(AnalyzeJSCTestsResults.start): Rename 'patch' in variables and log messages to 'change'.
(AnalyzeJSCTestsResults.report_failure): Ditto.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247354@main
- 2:43 PM Changeset in webkit [289965] by
-
- 13 edits in trunk/LayoutTests
iOS test gardening after turning on accelerated drawing
https://bugs.webkit.org/show_bug.cgi?id=236680
rdar://problem/88996489
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Add fuzzy data.
- web-platform-tests/css/css-color/t422-rgba-onscreen-b.xht:
- web-platform-tests/css/css-color/t422-rgba-onscreen-multiple-boxes-c.xht:
- web-platform-tests/css/css-color/t425-hsla-onscreen-b.xht:
- web-platform-tests/css/css-color/t425-hsla-onscreen-multiple-boxes-c.xht:
LayoutTests:
- TestExpectations:
- platform/gtk/TestExpectations: Some tests now uniquely fail on GTK; moved here.
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations: Many tests are passing only on iOS, some fail only on the iPad simulator.
- platform/mac/TestExpectations:
- 2:12 PM Changeset in webkit [289964] by
-
- 1 copy in tags/Safari-613.1.17.2.1
Tag Safari-613.1.17.2.1.
- 2:11 PM Changeset in webkit [289963] by
-
- 1 copy in tags/Safari-613.1.17.3.1
Tag Safari-613.1.17.3.1.
- 2:10 PM Changeset in webkit [289962] by
-
- 4 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r289875. rdar://problem/88358696
Web Inspector: [Cocoa] Reentrancy in WebKit::WebInspectorUIProxy::open
https://bugs.webkit.org/show_bug.cgi?id=236672
Reviewed by Devin Rousso.
Speculative fix for non-reproducible reentrancy. Because
WebInspectorUIProxy::opencalls
WebInspectorUIProxy::platformBringToFront, which under some conditions can callWebInspectorUIProxy::open,
there was an opportunity for recurssion. This appears to happen when the window of the inspector view does not
match the window of the inspected web view, which in general should not be possible for a newly opened
inspector. My suspicion is that the web view is not actually attached to a window at the time the inspector is
being opened. This patch adds a fail-safe that will detach the inspector view into its own window when these
conditions are met while we are in middle of opening the inspector, and also adds logging to indicate if the
inspected web view was actually in a window. This should both prevent the crash from the re-entry as well as
provide more context when the issue does occur.
- UIProcess/Inspector/WebInspectorUIProxy.cpp: (WebKit::WebInspectorUIProxy::open):
- UIProcess/Inspector/WebInspectorUIProxy.h:
- UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm: (WebKit::WebInspectorUIProxy::platformBringToFront):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:59 PM Changeset in webkit [289961] by
-
- 3 edits in branches/safari-613.1.17.3-branch/Source/WebCore
Cherry-pick r289567. rdar://problem/88323864
Crash in in WebCore::CSSStyleSheet::didMutateRules
https://bugs.webkit.org/show_bug.cgi?id=236450
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Replace the raw pointer rule in RuleMutationScope with a RefPtr so it can be accessible
for the scope.
- css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- css/CSSStyleSheet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:59 PM Changeset in webkit [289960] by
-
- 4 edits in branches/safari-613.1.17.3-branch/Source/WTF
Apply patch. rdar://problem/87486284
- 1:59 PM Changeset in webkit [289959] by
-
- 3 edits in branches/safari-613.1.17.2-branch/Source/WebCore
Cherry-pick r289567. rdar://problem/88323864
Crash in in WebCore::CSSStyleSheet::didMutateRules
https://bugs.webkit.org/show_bug.cgi?id=236450
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Replace the raw pointer rule in RuleMutationScope with a RefPtr so it can be accessible
for the scope.
- css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- css/CSSStyleSheet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:59 PM Changeset in webkit [289958] by
-
- 4 edits in branches/safari-613.1.17.2-branch/Source/WTF
Apply patch. rdar://problem/87486284
- 1:55 PM Changeset in webkit [289957] by
-
- 9 edits in branches/safari-613.1.17.3-branch/Source
Versioning.
WebKit-7613.1.17.3.1
- 1:54 PM Changeset in webkit [289956] by
-
- 9 edits in branches/safari-613.1.17.2-branch/Source
Versioning.
WebKit-7613.1.17.2.1
- 1:51 PM Changeset in webkit [289955] by
-
- 2 edits2 deletes in branches/safari-613.1.17.0-branch
Revert r289924. rdar://problem/82142820
- 1:50 PM Changeset in webkit [289954] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] http/tests/media/video-play-waiting.html is a constant time out.
https://bugs.webkit.org/show_bug.cgi?id=236722
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-16
- platform/mac/TestExpectations:
- 1:49 PM Changeset in webkit [289953] by
-
- 2 edits2 deletes in branches/safari-613.1.17.1-branch
Revert r289920. rdar://problem/82142820
- 1:49 PM Changeset in webkit [289952] by
-
- 3 edits2 deletes in branches/safari-613.1.17.1-branch
Revert r289919. rdar://problem/81337114
- 1:43 PM Changeset in webkit [289951] by
-
- 3 edits2 deletes in branches/safari-613.1.17.0-branch
Revert r289923. rdar://problem/81337114
- 1:36 PM Changeset in webkit [289950] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r289776 - Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp:
(WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
- 1:33 PM Changeset in webkit [289949] by
-
- 12 edits in trunk
[CMake] Cannot find OpenGL when system provides opengl.pc instead of gl.pc
https://bugs.webkit.org/show_bug.cgi?id=236592
Reviewed by Don Olmstead.
.:
- Source/cmake/FindOpenGL.cmake: Rewrite to use imported targets, try the "opengl" and "glx"
pkg-config modules first, otherwise keep the existing logic that tried the "gl" pkg-config
module with fallbacks to find_path/find_library.
- Source/cmake/OptionsGTK.cmake: Check for the presence of the OpenGL::GLX target instead of
te GLX_FOUND variable.
Source/ThirdParty/ANGLE:
- PlatformGTK.cmake: Use the OpenGL::OpenGL imported target instead of the
OPENGL_LIBRARIES variable.
- PlatformWPE.cmake: Ditto, plus replace a spurious use of OPENGLES_LIBRARIES
with the OpenGL::GLES target.
Source/WebCore:
- CMakeLists.txt: Use the OpenGL::OpenGL and OpenGL::GLX imported targets instead of variables.
- platform/graphics/GLContext.cpp: Move here includes for the GL headers.
- platform/graphics/GLContext.h: Remove includes for the GL headers, none of their
declarations are used here; instead include only the needed EGL headers to get the
definition of EGLNativeWindowType.
Source/WebKit:
- CMakeLists.txt: Remove usage of the OPENGL_ variables for the WebKit target, which is
uneeded because it links to WebCore, which transitively pulls the needed libraries now
that imported targets are being used.
- 1:05 PM Changeset in webkit [289948] by
-
- 2 edits in trunk/Tools
[EWS] Add tests for GitHub class
https://bugs.webkit.org/show_bug.cgi?id=236649
<rdar://problem/88966033>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps_unittest.py:
(TestGitHub):
(TestGitHub.test_pr_url):
(TestGitHub.test_pr_url_with_repository):
(TestGitHub.test_pr_url_with_invalid_repository):
(TestGitHub.test_commit_url):
(TestGitHub.test_commit_url_with_repository):
(TestGitHub.test_commit_url_with_invalid_repository):
Canonical link: https://commits.webkit.org/247350@main
- 12:52 PM Changeset in webkit [289947] by
-
- 3 edits in trunk/Tools
[EWS][GTK] Send only one e-mail with all the list of flakies
https://bugs.webkit.org/show_bug.cgi?id=236705
Reviewed by Adrian Perez de Castro.
Sending one e-mail per test was too much e-mails and we were
spaming the bot watchers. Change it to only send one e-mail
per run with all the list of flakies on the body of the e-mail.
Fix also some issues detected on the code for sending the e-mails
(like a few undefined variables and function calls with wrong
paramters) that happened when running the unit test.
Add also unit tests to be able to check the contents of the
e-mails generated and also fix a logic error deteted when
working on the unit tests related to reporting
the pre_existent_non_flaky_failures for the GTK EWS.
- CISupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure):
(AnalyzeLayoutTestsResultsRedTree.send_email_for_pre_existent_failures):
(AnalyzeLayoutTestsResultsRedTree.send_email_for_flaky_failures_and_steps):
(AnalyzeLayoutTestsResultsRedTree.start):
- CISupport/ews-build/steps_unittest.py:
(BuildStepMixinAdditions.setUpBuildStep):
(BuildStepMixinAdditions._send_email):
- 12:49 PM Changeset in webkit [289946] by
-
- 40 edits in trunk
[Cocoa] Adopt -streamDataParser:didProvideContentKeySpecifier:forTrackID: delegate callback
https://bugs.webkit.org/show_bug.cgi?id=236109
Reviewed by Eric Carlson.
Source/WebCore:
The current set of delegate callback methods have a significant shortcoming: clients must
attach an AVContentKeySession to the AVStreamDataParser before returning from the
-streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID: callback. This
is because the parser itself attaches the object required to decrypt each encrypted sample
to the sample itself at the parsing stage. If a client does not attach an
AVContentKeySession by the time that method returns, AVStreamDataParser will attach one of
its own.
The web-facing behavior this causes is that MSE appends will not complete (by firing
an "updateend" event) if an encrypted segment is parsed until the client creates and
attaches a MediaKeys object with a valid session.
A new delegate callback method, -streamDataParser:didProvideContentKeySpecifier:forTrackID:
allows us to work around this problem. When this delegate is present, AVStreamDataParser
will skip attaching a decryption object entirely, moving that responsibility to the
client. However, this comes with the requirement that the client (WebKit) won't enqueue
an encrypted sample before a decryption object is available via AVContentKeySession.
In order to meet this new requirement, WebKit will associate the key IDs necessary to
decrypt each sample in the MediaSample object that wraps the encrypted sample. Because not
every type of MediaSample will carry key IDs, this property was added to the
MediaSampleAVFObjC subclass, and therefore we need to be able to safely downcast from
MediaSample to MediaSampleAVFObjC. MediaSample subclasses can be distinguished by the
PlatformMediaSample type available through their platformSample() property, however this
call is not const, and may not be free, as it returns a non-POD type. So
PlatformMedia::Type was made an explicit enum type, and a new virtual method
platformSampleType() was added to MediaSample (and implemented by all subclasses), and a
type specialization macro was added to MediaSampleAVFObjC.
In order to check whether a given sample is capable of being enqueued, the CDMInstance
must be queried to determine if the sample's required keys are usable. For
CDMInstanceFairPlayStreamingAVFObjC, it has an existing keyStatus(), method, but that
method is also non-const, and may be expensive. So a KeyStatusMap instance variable
has been added to cache the key status for ease of querying. To notify an arbitrary number
of clients when the key statuses change, an Observer has been added.
When an encrypted sample is enqueued, if this new delegate method is available, the
source buffer will check if a CDM instance is available, and if so, whether the sample's
keys are usable. If any of these checks fail, the sample will be stored in a local queue
and new enqueues will be blocked. When the CDM's keyStatus observer is triggered, the
local queue will be processed, and all samples with usable key IDs will be enqueued.
Drive-by fix: Use SharedBuffer rather than Uint8Array, as the former is lighter weight
and can be more easily converted to and from a NSData.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
- html/HTMLMediaElement.h:
- platform/MediaSample.h:
- platform/audio/cocoa/AudioFileReaderCocoa.cpp:
(WebCore::AudioFileReader::demuxWebMData const):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::keyNeeded):
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerKeyNeeded):
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::isAnyKeyUsable const):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::addKeyStatusesChangedObserver):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionKeyStatusesChanged):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestDidSucceed):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateKeyStatuses):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::copyKeyStatuses const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateProtectionStatusForDisplayID):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::keyStatuses const): Deleted.
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
(WebCore::CDMSessionAVContentKeySession::update):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::keyNeeded):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
(WebCore::MediaSampleAVFObjC::setKeyIDs):
(WebCore::MediaSampleAVFObjC::keyIDs const):
(WebCore::MediaSampleAVFObjC::keyIDs):
(WTF::LogArgument<WebCore::MediaSampleAVFObjC>::toString):
(isType):
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::sourceBufferKeyNeeded):
- platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.h:
- platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:
(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeySpecifier:forTrackID:]):
(WebCore::SourceBufferParserAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
(WebCore::SourceBufferParserAVFObjC::didProvideContentKeyRequestSpecifierForTrackID):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::sampleBufferRenderersSupportKeySession):
(WebCore::copyKeyIDs):
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):
(WebCore::SourceBufferPrivateAVFObjC::didProvideMediaDataForTrackId):
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
(WebCore::SourceBufferPrivateAVFObjC::append):
(WebCore::SourceBufferPrivateAVFObjC::destroyRenderers):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::setCDMInstance):
(WebCore::SourceBufferPrivateAVFObjC::attemptToDecrypt):
(WebCore::SourceBufferPrivateAVFObjC::trackIsBlocked const):
(WebCore::SourceBufferPrivateAVFObjC::keyStatusesChanged):
(WebCore::SourceBufferPrivateAVFObjC::canEnqueueSample):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
(WebCore::SourceBufferPrivateAVFObjC::didBecomeReadyForMoreSamples):
(WebCore::SourceBufferPrivateAVFObjC::setVideoLayer):
- platform/graphics/cocoa/SourceBufferParser.h:
- platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::SourceBufferParserWebM::OnTrackEntry):
- platform/graphics/cocoa/SourceBufferParserWebM.h:
- platform/graphics/gstreamer/MediaSampleGStreamer.h:
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
Source/WebKit:
Add the newly requried virtual method changes to MediaSample subclasses, and use
SharedBuffer rather than Uint8Array.
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerKeyNeeded):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- Shared/mac/MediaFormatReader/MediaFormatReader.cpp:
(WebKit::MediaFormatReader::parseByteSource):
(WebKit::MediaFormatReader::didProvideMediaData):
- Shared/mac/MediaFormatReader/MediaFormatReader.h:
- Shared/mac/MediaFormatReader/MediaSampleByteRange.h:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::mediaPlayerKeyNeeded):
Source/WTF:
- wtf/PlatformHave.h:
Tools:
- TestWebKitAPI/Tests/WebCore/SampleMap.cpp:
- 12:26 PM Changeset in webkit [289945] by
-
- 2 edits in trunk/Source/WebKit
[PlayStation] Build fix after r289872
https://bugs.webkit.org/show_bug.cgi?id=236716
Unreviewed build fix
Add Webcore/Frame.h to include set
- WebProcess/Geolocation/WebGeolocationManager.cpp:
- 12:23 PM Changeset in webkit [289944] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Cherry-pick r289926. rdar://problem/88787266
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Chris Dumez.
Add access to CF preferences services if direct mode is not enabled.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:23 PM Changeset in webkit [289943] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Cherry-pick r289858. rdar://problem/88787266
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Brent Fulgham.
We currently allow access to "com.apple.trustd" for the root user. Access to this service is needed for all users.
This issue was introduced in https://trac.webkit.org/changeset/283012/webkit, and this patch also reverts this
change for older versions of macOS.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:22 PM Changeset in webkit [289942] by
-
- 4 edits in trunk/Source/WebCore
[Cocoa] Update audio session category before setting NowPlaying status
https://bugs.webkit.org/show_bug.cgi?id=236620
rdar://88827167
Reviewed by Jer Noble.
NowPlaying doesn't update correctly when the audio category changes from Ambient
to Playback after becoming active, so always set the category first.
Tested manually.
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::clientWillBeginPlayback): Set "preparingToPlay"
before callingsessionWillBeginPlaybacksoupdateSessionStatecan tell that
playback is about to begin.
- platform/audio/PlatformMediaSession.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::updateSessionState): Consider a session to
potentially have audio if it is preparing to play.
- 12:16 PM Changeset in webkit [289941] by
-
- 4 edits in branches/safari-613-branch/Source/WTF
Apply patch. rdar://problem/87486284
- 12:16 PM Changeset in webkit [289940] by
-
- 1 edit in branches/safari-613-branch/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in
Cherry-pick r289926. rdar://problem/88787266
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Chris Dumez.
Add access to CF preferences services if direct mode is not enabled.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289939] by
-
- 9 edits2 adds in branches/safari-613-branch
Cherry-pick r289892. rdar://problem/88696673
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::create): (WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h: (WebCore::JSEventListener::wasCreatedFromMarkup const): (WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h: (WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp: (WebCore::removeFirstListenerCreatedFromMarkup): (WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp: (WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289938] by
-
- 1 edit2 adds in branches/safari-613-branch
Cherry-pick r289883. rdar://problem/82142820
Floating point exception in RenderListBox::numVisibleItems
https://bugs.webkit.org/show_bug.cgi?id=229307
Reviewed by Mark Lam.
Source/WebCore:
FontMetrics::height can return a negative value when setAscent() is called with
with a value that is too large to be represented as an int. Prevent this by
making setAscent() ensure that m_intAscent is set to a non-negative value.
Test: fast/forms/listbox-zero-item-height.html
- platform/graphics/FontMetrics.h: (WebCore::FontMetrics::setAscent):
LayoutTests:
- fast/forms/listbox-zero-item-height-expected.txt: Added.
- fast/forms/listbox-zero-item-height.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289937] by
-
- 1 edit2 adds in branches/safari-613-branch
Cherry-pick r289877. rdar://problem/81337114
Defer TerminationsExceptions while in operationMaterializeObjectInOSR.
https://bugs.webkit.org/show_bug.cgi?id=236686
rdar://81337114
Reviewed by Saam Barati.
JSTests:
These tests are identical except that they are customized with different watchdog
timeout periods for a Debug / Release build. This is a necessary condition in
order for the test to manifest this issue if the code is regressed.
- stress/termination-exception-in-operationMaterializeObjectInOSR-debug.js: Added.
- stress/termination-exception-in-operationMaterializeObjectInOSR-release.js: Added.
Source/JavaScriptCore:
operationMaterializeObjectInOSR expects to always succeed. It is difficult (and
not worth the effort) to make it be able to handle interruptions by the
TerminationException. Since operationMaterializeObjectInOSR is guaranteed to
finish running in some finite time, it is reasonable to just defer handling a
pending TerminationException until the function returns.
- ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289936] by
-
- 1 edit in branches/safari-613-branch/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in
Cherry-pick r289858. rdar://problem/88787266
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Brent Fulgham.
We currently allow access to "com.apple.trustd" for the root user. Access to this service is needed for all users.
This issue was introduced in https://trac.webkit.org/changeset/283012/webkit, and this patch also reverts this
change for older versions of macOS.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289935] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore/css
Cherry-pick r289567. rdar://problem/88323864
Crash in in WebCore::CSSStyleSheet::didMutateRules
https://bugs.webkit.org/show_bug.cgi?id=236450
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Replace the raw pointer rule in RuleMutationScope with a RefPtr so it can be accessible
for the scope.
- css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- css/CSSStyleSheet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:16 PM Changeset in webkit [289934] by
-
- 6 edits2 adds in branches/safari-613-branch
Cherry-pick r288795. rdar://problem/88696673
[WebIDL] Add a sensible error message for a primitive non-null EventListener
https://bugs.webkit.org/show_bug.cgi?id=235863
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-29
Reviewed by Darin Adler.
Source/WebCore:
This patch moves isObject() check to JSEventListener converter, aligning it with
callback interface converter and removing now unused create() overload, and makes
code generator pass an exception thrower with a user-friendly TypeError message.
Since JSEventListener is quite different from other callback interfaces, we can't
make IsCallbackInterface() recognize it just yet, thus the type name has to be
hard-coded if we want the error message to be consistent with other generated ones.
Test: fast/events/event-listener-not-an-object.html
- bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert):
- bindings/js/JSEventListener.cpp:
- bindings/js/JSEventListener.h:
- bindings/scripts/CodeGeneratorJS.pm: (GetArgumentExceptionFunction):
- bindings/scripts/test/JS/*: Updated.
- dom/EventTarget.idl: Rename EventListener parameter to "listener" to match MDN / Chrome DevTools / matchMedia().
LayoutTests:
- fast/events/event-listener-not-an-object-expected.txt: Added.
- fast/events/event-listener-not-an-object.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:00 PM Changeset in webkit [289933] by
-
- 4 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Cherry-pick r289875. rdar://problem/88358696
Web Inspector: [Cocoa] Reentrancy in WebKit::WebInspectorUIProxy::open
https://bugs.webkit.org/show_bug.cgi?id=236672
Reviewed by Devin Rousso.
Speculative fix for non-reproducible reentrancy. Because
WebInspectorUIProxy::opencalls
WebInspectorUIProxy::platformBringToFront, which under some conditions can callWebInspectorUIProxy::open,
there was an opportunity for recurssion. This appears to happen when the window of the inspector view does not
match the window of the inspected web view, which in general should not be possible for a newly opened
inspector. My suspicion is that the web view is not actually attached to a window at the time the inspector is
being opened. This patch adds a fail-safe that will detach the inspector view into its own window when these
conditions are met while we are in middle of opening the inspector, and also adds logging to indicate if the
inspected web view was actually in a window. This should both prevent the crash from the re-entry as well as
provide more context when the issue does occur.
- UIProcess/Inspector/WebInspectorUIProxy.cpp: (WebKit::WebInspectorUIProxy::open):
- UIProcess/Inspector/WebInspectorUIProxy.h:
- UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm: (WebKit::WebInspectorUIProxy::platformBringToFront):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:00 PM Changeset in webkit [289932] by
-
- 11 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289892. rdar://problem/88696673
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::create): (WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h: (WebCore::JSEventListener::wasCreatedFromMarkup const): (WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h: (WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp: (WebCore::removeFirstListenerCreatedFromMarkup): (WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp: (WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:00 PM Changeset in webkit [289931] by
-
- 8 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r288795. rdar://problem/88696673
[WebIDL] Add a sensible error message for a primitive non-null EventListener
https://bugs.webkit.org/show_bug.cgi?id=235863
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-29
Reviewed by Darin Adler.
Source/WebCore:
This patch moves isObject() check to JSEventListener converter, aligning it with
callback interface converter and removing now unused create() overload, and makes
code generator pass an exception thrower with a user-friendly TypeError message.
Since JSEventListener is quite different from other callback interfaces, we can't
make IsCallbackInterface() recognize it just yet, thus the type name has to be
hard-coded if we want the error message to be consistent with other generated ones.
Test: fast/events/event-listener-not-an-object.html
- bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert):
- bindings/js/JSEventListener.cpp:
- bindings/js/JSEventListener.h:
- bindings/scripts/CodeGeneratorJS.pm: (GetArgumentExceptionFunction):
- bindings/scripts/test/JS/*: Updated.
- dom/EventTarget.idl: Rename EventListener parameter to "listener" to match MDN / Chrome DevTools / matchMedia().
LayoutTests:
- fast/events/event-listener-not-an-object-expected.txt: Added.
- fast/events/event-listener-not-an-object.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:00 PM Changeset in webkit [289930] by
-
- 11 edits2 deletes in branches/safari-613.1.17.1-branch
Revert "Cherry-pick r289892. rdar://problem/88696673"
This reverts commit r289901.
- 11:59 AM Changeset in webkit [289929] by
-
- 11 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289892. rdar://problem/88696673
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::create): (WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h: (WebCore::JSEventListener::wasCreatedFromMarkup const): (WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h: (WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp: (WebCore::removeFirstListenerCreatedFromMarkup): (WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp: (WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:59 AM Changeset in webkit [289928] by
-
- 8 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r288795. rdar://problem/88696673
[WebIDL] Add a sensible error message for a primitive non-null EventListener
https://bugs.webkit.org/show_bug.cgi?id=235863
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-29
Reviewed by Darin Adler.
Source/WebCore:
This patch moves isObject() check to JSEventListener converter, aligning it with
callback interface converter and removing now unused create() overload, and makes
code generator pass an exception thrower with a user-friendly TypeError message.
Since JSEventListener is quite different from other callback interfaces, we can't
make IsCallbackInterface() recognize it just yet, thus the type name has to be
hard-coded if we want the error message to be consistent with other generated ones.
Test: fast/events/event-listener-not-an-object.html
- bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert):
- bindings/js/JSEventListener.cpp:
- bindings/js/JSEventListener.h:
- bindings/scripts/CodeGeneratorJS.pm: (GetArgumentExceptionFunction):
- bindings/scripts/test/JS/*: Updated.
- dom/EventTarget.idl: Rename EventListener parameter to "listener" to match MDN / Chrome DevTools / matchMedia().
LayoutTests:
- fast/events/event-listener-not-an-object-expected.txt: Added.
- fast/events/event-listener-not-an-object.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:59 AM Changeset in webkit [289927] by
-
- 11 edits2 deletes in branches/safari-613.1.17.0-branch
Revert "Cherry-pick r289892. rdar://problem/88696673"
This reverts commit r289905.
- 11:55 AM Changeset in webkit [289926] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Chris Dumez.
Add access to CF preferences services if direct mode is not enabled.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- 11:40 AM Changeset in webkit [289925] by
-
- 4 edits in branches/safari-613.1.17.0-branch/Source/WTF
Apply patch. rdar://problem/87486284
- 11:40 AM Changeset in webkit [289924] by
-
- 3 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289883. rdar://problem/82142820
Floating point exception in RenderListBox::numVisibleItems
https://bugs.webkit.org/show_bug.cgi?id=229307
Reviewed by Mark Lam.
Source/WebCore:
FontMetrics::height can return a negative value when setAscent() is called with
with a value that is too large to be represented as an int. Prevent this by
making setAscent() ensure that m_intAscent is set to a non-negative value.
Test: fast/forms/listbox-zero-item-height.html
- platform/graphics/FontMetrics.h: (WebCore::FontMetrics::setAscent):
LayoutTests:
- fast/forms/listbox-zero-item-height-expected.txt: Added.
- fast/forms/listbox-zero-item-height.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:40 AM Changeset in webkit [289923] by
-
- 3 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289877. rdar://problem/81337114
Defer TerminationsExceptions while in operationMaterializeObjectInOSR.
https://bugs.webkit.org/show_bug.cgi?id=236686
rdar://81337114
Reviewed by Saam Barati.
JSTests:
These tests are identical except that they are customized with different watchdog
timeout periods for a Debug / Release build. This is a necessary condition in
order for the test to manifest this issue if the code is regressed.
- stress/termination-exception-in-operationMaterializeObjectInOSR-debug.js: Added.
- stress/termination-exception-in-operationMaterializeObjectInOSR-release.js: Added.
Source/JavaScriptCore:
operationMaterializeObjectInOSR expects to always succeed. It is difficult (and
not worth the effort) to make it be able to handle interruptions by the
TerminationException. Since operationMaterializeObjectInOSR is guaranteed to
finish running in some finite time, it is reasonable to just defer handling a
pending TerminationException until the function returns.
- ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:40 AM Changeset in webkit [289922] by
-
- 4 edits in branches/safari-613.1.17.1-branch/Source/WTF
Apply patch. rdar://problem/87486284
- 11:40 AM Changeset in webkit [289921] by
-
- 3 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r289567. rdar://problem/88323864
Crash in in WebCore::CSSStyleSheet::didMutateRules
https://bugs.webkit.org/show_bug.cgi?id=236450
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Replace the raw pointer rule in RuleMutationScope with a RefPtr so it can be accessible
for the scope.
- css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- css/CSSStyleSheet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:29 AM Changeset in webkit [289920] by
-
- 3 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289883. rdar://problem/82142820
Floating point exception in RenderListBox::numVisibleItems
https://bugs.webkit.org/show_bug.cgi?id=229307
Reviewed by Mark Lam.
Source/WebCore:
FontMetrics::height can return a negative value when setAscent() is called with
with a value that is too large to be represented as an int. Prevent this by
making setAscent() ensure that m_intAscent is set to a non-negative value.
Test: fast/forms/listbox-zero-item-height.html
- platform/graphics/FontMetrics.h: (WebCore::FontMetrics::setAscent):
LayoutTests:
- fast/forms/listbox-zero-item-height-expected.txt: Added.
- fast/forms/listbox-zero-item-height.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:29 AM Changeset in webkit [289919] by
-
- 3 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289877. rdar://problem/81337114
Defer TerminationsExceptions while in operationMaterializeObjectInOSR.
https://bugs.webkit.org/show_bug.cgi?id=236686
rdar://81337114
Reviewed by Saam Barati.
JSTests:
These tests are identical except that they are customized with different watchdog
timeout periods for a Debug / Release build. This is a necessary condition in
order for the test to manifest this issue if the code is regressed.
- stress/termination-exception-in-operationMaterializeObjectInOSR-debug.js: Added.
- stress/termination-exception-in-operationMaterializeObjectInOSR-release.js: Added.
Source/JavaScriptCore:
operationMaterializeObjectInOSR expects to always succeed. It is difficult (and
not worth the effort) to make it be able to handle interruptions by the
TerminationException. Since operationMaterializeObjectInOSR is guaranteed to
finish running in some finite time, it is reasonable to just defer handling a
pending TerminationException until the function returns.
- ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:29 AM Changeset in webkit [289918] by
-
- 3 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r289567. rdar://problem/88323864
Crash in in WebCore::CSSStyleSheet::didMutateRules
https://bugs.webkit.org/show_bug.cgi?id=236450
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Replace the raw pointer rule in RuleMutationScope with a RefPtr so it can be accessible
for the scope.
- css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- css/CSSStyleSheet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:29 AM Changeset in webkit [289917] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r289150.
Start using adattributiond on iOS again now that it is
sandboxed
Reverted changeset:
"Don't use adattributiond on iOS"
https://bugs.webkit.org/show_bug.cgi?id=236157
https://commits.webkit.org/r289150
- 10:53 AM Changeset in webkit [289916] by
-
- 2 edits in trunk/Source/WebKit
Effectively revert r289018
https://bugs.webkit.org/show_bug.cgi?id=236000
It caused some problems, and another approach will be taken.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
- 10:49 AM Changeset in webkit [289915] by
-
- 7 edits in branches/safari-614.1.4-branch/LayoutTests
Cherry-pick r289869. rdar://problem/88927346
[ iOS ] fast/text/ch-unit-synthetic-bold.html is failing constantly on iOS
https://bugs.webkit.org/show_bug.cgi?id=236610
Turns out iOS doesn't have Monaco. It's fine though; we can use local() to create
a font that doesn't have a bold family member.
Unreviewed.
- fast/text/ch-unit-synthetic-bold-expected.html:
- fast/text/ch-unit-synthetic-bold.html:
- fast/text/tab-width-synthetic-bold-complex-expected.html:
- fast/text/tab-width-synthetic-bold-complex.html:
- fast/text/tab-width-synthetic-bold-expected.html:
- fast/text/tab-width-synthetic-bold.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:49 AM Changeset in webkit [289914] by
-
- 2 edits in branches/safari-614.1.4-branch/LayoutTests
Cherry-pick r289864. rdar://problem/88993883
REGRESSION(r289495): [ Monterey arm64 ] model-element/model-element-ready.html is a flaky assertion failure.
https://bugs.webkit.org/show_bug.cgi?id=236678
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289864 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:49 AM Changeset in webkit [289913] by
-
- 3 edits in branches/safari-614.1.4-branch/Source/bmalloc
Cherry-pick r289788. rdar://problem/88928951
[libpas] compact pointers should load payload via memcpy
https://bugs.webkit.org/show_bug.cgi?id=236621
Reviewed by Mark Lam.
ASan found that we are loading 8 bytes which can potentially be overflowed.
For example, we load this from a pointer to stack variable, which means that
we could cause stack overflow. Instead we should use memcpy.
Currently, we only support little endian code, but it is OK since libpas is not
enabled in non little endian architectures.
- libpas/src/libpas/pas_compact_ptr.h:
- libpas/src/libpas/pas_compact_tagged_ptr.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289788 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:41 AM Changeset in webkit [289912] by
-
- 40 edits2 deletes in trunk/Source
ANGLE includes interfere with system header includes
https://bugs.webkit.org/show_bug.cgi?id=236636
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-16
Reviewed by Dean Jackson.
Source/WebCore:
Move ANGLEHeaders.h includes only to the .cpp/.mm files
that need to use ANGLE.
Use GCGL* types consistently in the GraphicsContextGLANGLE.h
declations. The WebCore types are intended to be used in place of OpenGL, EGL types
so that WebCore code does not need to include OpenGL headers.
Rename PlatformGraphicsContextGL{Display, Config}, PlatformGraphicsContextGL to
GCGLDisplay, GCGLConfig, GCGLContext to make them consistent with other
duplicated types. Declare these in GraphicsTypesGL.h, similar to others.
Remove currently unused PlatformGraphicsContextGLSurface.
Rename TemporaryANGLESetting to ScopedGLCapability, consistent with other ScopedGL*
classes. Move the implementations of ScopedGL* to ANGLEUtilities.cpp, since the
implementations need to use ANGLE and these need the ANGLE headers.
No new tests, refactor. Fixes the compile on Big Sur, internal SDK when a file add or remove
would changed unified build file ordering.
- CMakeLists.txt:
- Modules/webxr/WebXROpaqueFramebuffer.cpp:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/GLContext.h:
- platform/graphics/GraphicsContextGL.h:
- platform/graphics/GraphicsTypesGL.h:
- platform/graphics/angle/ANGLEUtilities.cpp:
(WebCore::ScopedRestoreTextureBinding::ScopedRestoreTextureBinding):
(WebCore::ScopedRestoreTextureBinding::~ScopedRestoreTextureBinding):
(WebCore::ScopedBufferBinding::ScopedBufferBinding):
(WebCore::ScopedBufferBinding::~ScopedBufferBinding):
(WebCore::ScopedRestoreReadFramebufferBinding::bindFramebuffer):
(WebCore::ScopedRestoreReadFramebufferBinding::~ScopedRestoreReadFramebufferBinding):
(WebCore::ScopedPixelStorageMode::ScopedPixelStorageMode):
(WebCore::ScopedPixelStorageMode::~ScopedPixelStorageMode):
(WebCore::ScopedPixelStorageMode::pixelStore):
(WebCore::ScopedTexture::ScopedTexture):
(WebCore::ScopedTexture::~ScopedTexture):
(WebCore::ScopedFramebuffer::ScopedFramebuffer):
(WebCore::ScopedFramebuffer::~ScopedFramebuffer):
(WebCore::ScopedGLFence::reset):
(WebCore::ScopedGLFence::fenceSync):
(WebCore::ScopedGLCapability::ScopedGLCapability):
(WebCore::ScopedGLCapability::~ScopedGLCapability):
- platform/graphics/angle/ANGLEUtilities.h:
(WebCore::ScopedBufferBinding::query):
(WebCore::ScopedRestoreReadFramebufferBinding::ScopedRestoreReadFramebufferBinding):
(WebCore::ScopedRestoreReadFramebufferBinding::framebufferTarget const):
(WebCore::ScopedPixelStorageMode::operator GCGLint const):
(WebCore::ScopedTexture::operator GCGLuint const):
(WebCore::ScopedFramebuffer::operator GCGLuint const):
(WebCore::ScopedGLFence::get const):
(WebCore::ScopedGLFence::operator GCGLsync const):
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::releaseThreadResources):
(WebCore::GraphicsContextGLANGLE::resolveMultisamplingIfNecessary):
(WebCore::GraphicsContextGLANGLE::prepareTextureImpl):
(WebCore::GraphicsContextGLANGLE::reshape):
(WebCore::GraphicsContextGLANGLE::isSync):
(WebCore::GraphicsContextGLANGLE::deleteSync):
(WebCore::GraphicsContextGLANGLE::clientWaitSync):
(WebCore::GraphicsContextGLANGLE::waitSync):
(WebCore::GraphicsContextGLANGLE::getSynci):
(WebCore::GraphicsContextGLANGLE::waitAndUpdateOldestFrame):
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/angle/TemporaryANGLESetting.cpp: Removed.
- platform/graphics/angle/TemporaryANGLESetting.h: Removed.
- platform/graphics/cocoa/ANGLEUtilitiesCocoa.cpp:
(WebCore::platformIsANGLEAvailable):
(WebCore::createPbufferAndAttachIOSurface):
- platform/graphics/cocoa/ANGLEUtilitiesCocoa.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLANGLE::makeCurrent):
(WebCore::GraphicsContextGLANGLE::platformDisplay const):
(WebCore::GraphicsContextGLANGLE::platformConfig const):
- platform/graphics/cv/GraphicsContextGLCVCocoa.cpp:
- platform/graphics/cv/GraphicsContextGLCVCocoa.h:
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::platformContext):
- platform/graphics/egl/GLContextEGL.h:
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::platformContext):
- platform/graphics/glx/GLContextGLX.h:
- platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp:
(PlatformDisplay::tryEnsureGstGLContext const):
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:
(Nicosia::GCGLANGLELayer::ANGLEContext::platformContext const):
(Nicosia::GCGLANGLELayer::ANGLEContext::platformDisplay const):
(Nicosia::GCGLANGLELayer::ANGLEContext::platformConfig const):
(Nicosia::GCGLANGLELayer::platformContext const):
(Nicosia::GCGLANGLELayer::platformDisplay const):
(Nicosia::GCGLANGLELayer::platformConfig const):
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h:
- platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:
(Nicosia::GCGLLayer::platformContext const):
- platform/graphics/nicosia/texmap/NicosiaGCGLLayer.h:
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::EGLImageBacking):
(WebCore::GraphicsContextGLANGLE::platformDisplay const):
(WebCore::GraphicsContextGLANGLE::platformConfig const):
- platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:
(WebCore::TextureMapperGCGLPlatformLayer::platformContext const):
(WebCore::TextureMapperGCGLPlatformLayer::platformDisplay const):
(WebCore::TextureMapperGCGLPlatformLayer::platformConfig const):
- platform/graphics/texmap/TextureMapperGCGLPlatformLayer.h:
Source/WebCore/PAL:
Remove the attempt to override system header logic with WebKit
ANGLE implementation. They are different implementations
and one cannot replace the other.
- pal/spi/cg/CoreGraphicsSPI.h:
- pal/spi/mac/HIToolboxSPI.h:
Add missing CGCOLORTAGGEDPOINTER_H_ that makes the CocoaPriv.h
included CoreGraphics header skip the incompatible tagged pointer
declarations, similar to other *SPI.h headers.
Source/WebKit:
Remove the attempt to override system header logic with WebKit
ANGLE implementation. They are different implementations
and one cannot replace the other.
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- Platform/spi/mac/AppKitSPI.h:
- Platform/spi/mac/ApplicationServicesSPI.h:
- WebProcess/Plugins/PDF/PDFLayerControllerSPI.h:
Source/WebKitLegacy/mac:
Remove the attempt to override system header logic with WebKit
ANGLE implementation. They are different implementations
and one cannot replace the other.
- WebView/WebFrameInternal.h:
- 10:35 AM Changeset in webkit [289911] by
-
- 17 edits1 copy in trunk/Source
Allow downcast<> to work with ImageBufferBackends that support sharing
https://bugs.webkit.org/show_bug.cgi?id=236671
Reviewed by Said Abou-Hallawa.
Source/WebCore:
RemoteLayerBackingStore::encode() had some awkward code that used knowlege of the relationship
between buffer types and mappability to static_cast<> to specific backend implementations.
Replace this with a small abstract stub in the form of WebCore::ImageBufferBackendSharing, and
a mixin class for shareable image buffers which inherits from a concrete subclass, ImageBufferBackendHandleSharing.
It's not possible to downcast<> ImageBufferBackend directly because there is no common base class for
the shareable types of buffer backends.
Now the code in RemoteLayerBackingStore can be simplified.
- platform/graphics/ImageBufferBackend.h:
(WebCore::ImageBufferBackendSharing::isImageBufferBackendHandleSharing const):
(WebCore::ImageBufferBackend::toBackendSharing):
Source/WebKit:
RemoteLayerBackingStore::encode() had some awkward code that used knowlege of the relationship
between buffer types and mappability to static_cast<> to specific backend implementations.
Replace this with a small abstract stub in the form of WebCore::ImageBufferBackendSharing, and
a mixin class for shareable image buffers which inherits from a concrete subclass, ImageBufferBackendHandleSharing.
It's not possible to downcast<> ImageBufferBackend directly because there is no common base class for
the shareable types of buffer backends.
Now the code in RemoteLayerBackingStore can be simplified.
- GPUProcess/graphics/RemoteImageBuffer.h:
- Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:
(WebKit::CGDisplayListImageBufferBackend::createBackendHandle const):
(WebKit::CGDisplayListImageBufferBackend::createImageBufferBackendHandle const): Deleted.
- Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::encode const):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/graphics/ImageBufferBackendHandleSharing.h: Added.
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::createBackendHandle const):
(WebKit::ImageBufferShareableBitmapBackend::createImageBufferBackendHandle const): Deleted.
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::createImageBufferBackendHandle):
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp:
(WebKit::ImageBufferRemoteIOSurfaceBackend::createBackendHandle const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::createImageBufferBackendHandle const): Deleted.
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h:
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:
(WebKit::ImageBufferShareableMappedIOSurfaceBackend::createBackendHandle const):
(WebKit::ImageBufferShareableMappedIOSurfaceBackend::createImageBufferBackendHandle const): Deleted.
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.h:
- 10:23 AM Changeset in webkit [289910] by
-
- 5 edits in trunk/Source
Move Safe Browsing knowledge into SafariSafeBrowsing framework
https://bugs.webkit.org/show_bug.cgi?id=231692
Patch by Eliot Hsu <eliot_hsu@apple.com> on 2022-02-16
Reviewed by Alex Christensen.
Following up on an old FIXME, move Safari Safe Browsing-specific
knowledge out of WebKit and into the SafariSafeBrowsing framework.
This includes things like the Learn More URL, the Report an Error URL,
etc.
Source/WebKit:
- Platform/spi/Cocoa/SafeBrowsingSPI.h:
- UIProcess/Cocoa/SafeBrowsingWarningCocoa.mm:
(WebKit::malwareDetailsBase):
(WebKit::learnMoreURL):
(WebKit::reportAnErrorBase):
(WebKit::localizedProvider):
Rely on new SafariSafeBrowsing calls to provide
URL/provider information about Safe Browsing,
when available
Source/WTF:
- wtf/PlatformHave.h:
- 10:21 AM Changeset in webkit [289909] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
[WebKitLegacy] Fix clang tidy bugprone-move-forwarding-reference static analyzer warnings
<https://webkit.org/b/236663>
<rdar://problem/88982792>
Reviewed by Dean Jackson.
- Misc/WebDownload.mm:
(callOnDelegateThreadAndWait):
- Replace WTFMove() with std::forward<>().
- 10:16 AM Changeset in webkit [289908] by
-
- 4 edits in trunk/Source/WebKit
[Cocoa] Clean up some unused context menu identifier SPI constants
https://bugs.webkit.org/show_bug.cgi?id=236669
rdar://88924479
Reviewed by Dean Jackson.
Remove a couple of unused context menu item identifier constants for Quick Note, and add a new constant to
represent the "Copy Cropped Image" item added in r289851.
- UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
- UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::menuItemIdentifier):
- 10:13 AM Changeset in webkit [289907] by
-
- 12 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Revert r289292. rdar://problem/88876661
- 10:12 AM Changeset in webkit [289906] by
-
- 12 edits in branches/safari-613.1.17.0-branch/Source/WebKit
Revert r289292. rdar://problem/88876661
- 10:12 AM Changeset in webkit [289905] by
-
- 11 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289892. rdar://problem/88696673
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::create): (WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h: (WebCore::JSEventListener::wasCreatedFromMarkup const): (WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h: (WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp: (WebCore::removeFirstListenerCreatedFromMarkup): (WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp: (WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:10 AM Changeset in webkit [289904] by
-
- 5 edits in trunk
Workaround ASAN false positive stack-buffer-underflow bmalloc_allocate_impl_casual_case
<https://bugs.webkit.org/show_bug.cgi?id=236001>
<rdar://problem/88364275>
Reviewed by Dean Jackson.
Source/bmalloc:
- libpas/src/libpas/pas_large_free_inlines.h:
(pas_large_free_create_merged):
- Turn off PAS_ALWAYS_INLINE when the WK_WORKAROUND_RDAR_87613908_ASAN_STACK_USE_AFTER_SCOPE macro is defined to avoid the bug.
Tools:
Based on a patch by Kimmo Kinnunen.
Define a WK_WORKAROUND_RDAR_87613908_ASAN_STACK_USE_AFTER_SCOPE
macro so that the fix can be targeted to a specific function in
libpas. This avoids disabling all stack-use-after-scope checks
in bmalloc when compiling with Address Sanitizer enabled.
- sanitizer/asan.xcconfig:
(WK_ADDRESS_SANITIZER_OTHER_CFLAGS_YES): Add.
- This variable contains the macro definition when the workaround is needed. It's used in sanitizer.xcconfig to add the macro definition to $(OTHER_CFLAGS).
(WK_NEEDS_ASAN_USE_AFTER_SCOPE_WORKAROUND_FOR_bmalloc_YES): Add.
- The workaround is currently only needed in bmalloc.
(WK_NOT_): Add.
(WK_NOT_YES): Add.
- Add support for $(WK_NOT_$(X)) variables.
(WK_NEEDS_ASAN_USE_AFTER_SCOPE_WORKAROUND): Add.
- Sets when the workaround is needed based on the Xcode version. Uses a $(WK_NOT_$(X)) variable to negate the result when the workaround is not needed.
(WK_XCODE_VERSION_BEFORE_13_3_*): Add.
- List Xcode versions where the workaround is not needed.
- sanitizer/sanitizer.xcconfig:
(OTHER_CFLAGS):
- Add the value of $(WK_ADDRESS_SANITIZER_OTHER_CFLAGS_YES) from asan.xcconfig when building with Address Sanitizer enabled.
- 10:08 AM Changeset in webkit [289903] by
-
- 5 edits in trunk
transform: perspective(0) should not be considered an identity operation
https://bugs.webkit.org/show_bug.cgi?id=236644
Reviewed by Antoine Quint.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-verify-reftests-expected.txt: Update expectations.
- web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
Source/WebCore:
No new tests. This is covered by existing WPT tests.
- platform/graphics/transforms/PerspectiveTransformOperation.h: When the value of a perspective operation
is zero, it isn't an identity operation, because it will be rounded to 1px.
- 10:04 AM Changeset in webkit [289902] by
-
- 6 edits in trunk
[InputElement] Remove extra form data made by image submit button when "value" attribute is present.
https://bugs.webkit.org/show_bug.cgi?id=236703
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/the-input-element/image-click-form-data-expected.txt:
Source/WebCore:
As per spec at
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#constructing-form-data-set,
and discussions at
https://groups.google.com/a/chromium.org/g/blink-dev/c/hp1_-1tgvDs
The condstructed "form data set" should not include the value of the image button in this case.
This change is an import from chromium CL at
https://chromium-review.googlesource.com/c/chromium/src/+/1086953/
- html/ImageInputType.cpp:
(WebCore::ImageInputType::appendFormData const):
LayoutTests:
Update test expectation as the test is now passing.
- fast/forms/input-image-submit.html:
- 9:54 AM Changeset in webkit [289901] by
-
- 11 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289892. rdar://problem/88696673
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::create): (WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h: (WebCore::JSEventListener::wasCreatedFromMarkup const): (WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h: (WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp: (WebCore::removeFirstListenerCreatedFromMarkup): (WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp: (WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:34 AM Changeset in webkit [289900] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r289736 - Nullptr crash in CompositeEditCommand::splitTreeToNode via InsertParagraphSeparatorCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=229283
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-14
Reviewed by Ryosuke Niwa.
Source/WebCore:
Position::upstream handles edge cases like tables specially which can lead to
InsertParagraphSeparatorCommand::doApply incorrectly expecting a next sibling after a text
node at last position in order to perform a split. This patch works around that by ignoring
the split in that case.
Test: editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash.html
- editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): Only try and remove remaining nodes if
splitTo is not null. moveRemainingSiblingsToNewParent will be a no-op when n is null. Also
switch from raw pointers to RefPtr<Node>.
LayoutTests:
Add regression test.
- editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash-expected.txt: Added.
- editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash.html: Added.
- 9:32 AM Changeset in webkit [289899] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.4
- 9:32 AM Changeset in webkit [289898] by
-
- 2 edits in trunk/LayoutTests
Rebase http/tests/model/model-document.html after the changes in r289733
https://bugs.webkit.org/show_bug.cgi?id=236578
Unreviewed test gardening.
- http/tests/model/model-document-expected.txt:
- 9:29 AM Changeset in webkit [289897] by
-
- 5 edits in trunk/Source/WebCore
[LFC][Integration] LineLayout::firstLineBaseline callers expect physical position
https://bugs.webkit.org/show_bug.cgi?id=236688
Reviewed by Antti Koivisto.
Legacy line layout returns the physical position too, though in a bit obscure manner:
firstRootBox()->logicalTop() + firstLineStyle().metricsOfPrimaryFont().descent(firstRootBox()->baselineType())
where
The logicalTop[ position is the top edge of the line box in a horizontal line and the left edge in a vertical line.
float logicalTop() const { return isHorizontal() ? m_topLeft.y() : m_topLeft.x(); }
- layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::lineBoxHeight const):
(WebCore::LayoutIntegration::Line::lineBoxWidth const):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::firstLinePhysicalBaseline const):
(WebCore::LayoutIntegration::LineLayout::lastLineLogicalBaseline const):
(WebCore::LayoutIntegration::LineLayout::firstLineBaseline const): Deleted.
(WebCore::LayoutIntegration::LineLayout::lastLineBaseline const): Deleted.
- layout/integration/LayoutIntegrationLineLayout.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::firstLineBaseline const):
(WebCore::RenderBlockFlow::inlineBlockBaseline const):
- 9:27 AM Changeset in webkit [289896] by
-
- 40 edits in trunk/Source/WebCore
Allow exposed WebGL and WebAudio interfaces to be controlled via a setting
https://bugs.webkit.org/show_bug.cgi?id=236648
<rdar://problem/87821817>
We want to be able to enable/disable various WebGL/WebAudio interfaces via a setting
so that we can block them when CaptivePortalMode is enabled.
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-02-16
Reviewed by Brent Fulgham.
- Modules/webaudio/AnalyserNode.idl:
- Modules/webaudio/AudioBuffer.idl:
- Modules/webaudio/AudioBufferSourceNode.idl:
- Modules/webaudio/AudioDestinationNode.idl:
- Modules/webaudio/AudioListener.idl:
- Modules/webaudio/AudioNode.idl:
- Modules/webaudio/AudioParam.idl:
- Modules/webaudio/AudioProcessingEvent.idl:
- Modules/webaudio/AudioScheduledSourceNode.idl:
- Modules/webaudio/AudioWorkletProcessor.idl:
- Modules/webaudio/BiquadFilterNode.idl:
- Modules/webaudio/ChannelMergerNode.idl:
- Modules/webaudio/ChannelSplitterNode.idl:
- Modules/webaudio/ConvolverNode.idl:
- Modules/webaudio/DelayNode.idl:
- Modules/webaudio/DynamicsCompressorNode.idl:
- Modules/webaudio/GainNode.idl:
- Modules/webaudio/MediaElementAudioSourceNode.idl:
- Modules/webaudio/MediaStreamAudioDestinationNode.idl:
- Modules/webaudio/MediaStreamAudioSourceNode.idl:
- Modules/webaudio/OfflineAudioCompletionEvent.idl:
- Modules/webaudio/OscillatorNode.idl:
- Modules/webaudio/PeriodicWave.idl:
- Modules/webaudio/WaveShaperNode.idl:
- bindings/js/WebCoreBuiltinNames.h:
- html/canvas/WebGLActiveInfo.idl:
- html/canvas/WebGLBuffer.idl:
- html/canvas/WebGLContextEvent.idl:
- html/canvas/WebGLFramebuffer.idl:
- html/canvas/WebGLProgram.idl:
- html/canvas/WebGLQuery.idl:
- html/canvas/WebGLRenderbuffer.idl:
- html/canvas/WebGLRenderingContext.idl:
- html/canvas/WebGLSampler.idl:
- html/canvas/WebGLShader.idl:
- html/canvas/WebGLShaderPrecisionFormat.idl:
- html/canvas/WebGLSync.idl:
- html/canvas/WebGLTexture.idl:
- html/canvas/WebGLUniformLocation.idl:
- 9:24 AM Changeset in webkit [289895] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.4
- 9:19 AM Changeset in webkit [289894] by
-
- 38 edits in trunk
Add a dedicated ENABLE flag for MediaRecorder
https://bugs.webkit.org/show_bug.cgi?id=236652
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-16
Reviewed by Eric Carlson.
Source/WebCore:
ENABLE(MEDIA_RECORDER) depends on ENABLE(MEDIA_STREAM) and is enabled only for COCOA
platforms, until the GStreamer backend is merged.
- Modules/mediarecorder/BlobEvent.cpp:
- Modules/mediarecorder/BlobEvent.h:
- Modules/mediarecorder/BlobEvent.idl:
- Modules/mediarecorder/MediaRecorder.cpp:
- Modules/mediarecorder/MediaRecorder.h:
- Modules/mediarecorder/MediaRecorder.idl:
- Modules/mediarecorder/MediaRecorderErrorEvent.cpp:
- Modules/mediarecorder/MediaRecorderErrorEvent.h:
- Modules/mediarecorder/MediaRecorderErrorEvent.idl:
- Modules/mediarecorder/MediaRecorderProvider.cpp:
- Modules/mediarecorder/MediaRecorderProvider.h:
- platform/mediarecorder/MediaRecorderPrivate.cpp:
- platform/mediarecorder/MediaRecorderPrivate.h:
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
- platform/mediarecorder/MediaRecorderPrivateMock.cpp:
- platform/mediarecorder/MediaRecorderPrivateMock.h:
- platform/mediarecorder/MediaRecorderPrivateOptions.h:
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
- platform/mediarecorder/cocoa/VideoSampleBufferCompressor.h:
- platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:
Source/WTF:
ENABLE(MEDIA_RECORDER) depends on ENABLE(MEDIA_STREAM) and is enabled only for COCOA
platforms. Suggested by Eric Carlson.
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
LayoutTests:
- platform/glib/TestExpectations: Skip MediaRecorder test, GLib ports don't enable this
feature yet. This test used to pass because MediaRecorder used to be under MediaStream and
there is a mock Recorder implementation.
- 9:16 AM Changeset in webkit [289893] by
-
- 6 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r289526 - [:has() pseudo-class] Nullptr crash with non-function :has
https://bugs.webkit.org/show_bug.cgi?id=236431
rdar://87061239
Reviewed by Cameron McCormack.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/parsing/parse-has-expected.txt:
- web-platform-tests/css/selectors/parsing/parse-has.html:
Source/WebCore:
Test: fast/selectors/malformed-has.html
- css/parser/CSSSelectorParser.cpp:
(WebCore::isOnlyPseudoClassFunction):
:has() is legal, plain :has is not.
LayoutTests:
- fast/selectors/malformed-has-expected.txt: Added.
- fast/selectors/malformed-has.html: Added.
- 8:58 AM Changeset in webkit [289892] by
-
- 11 edits2 adds in trunk
REGRESSION(r287293): EventListener::wasCreatedFromMarkup() is incorrect after replaceJSFunctionForAttributeListener()
https://bugs.webkit.org/show_bug.cgi?id=236618
<rdar://88696673>
Reviewed by Chris Dumez.
Source/WebCore:
After r287293, if an inline event handler was replaced with a JSFunction, its execution was
still disallowed by the CSP policy.
This change fixes detection of inline event handlers (ones that were created from markup)
by introducing JSEventListener::m_wasCreatedFromMarkup and unsetting it during replacement
of an attribute event listener.
Since no virtual calls are added to the hot path, the Speedometer2/Inferno-TodoMVC performance
gain is kept. Also, a virtual call is removed from JSEventListener::handleEvent(), which is nice.
sizeof(JSEventListener)is unchanged.
Test: http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html
- bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::JSErrorHandler):
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::JSEventListener):
(WebCore::JSEventListener::create):
(WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h:
(WebCore::JSEventListener::wasCreatedFromMarkup const):
(WebCore::JSEventListener::wasCreatedFromMarkup):
- bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::JSLazyEventListener):
- bindings/js/JSLazyEventListener.h:
- dom/EventListener.h:
(WebCore::EventListener::wasCreatedFromMarkup const): Deleted.
- dom/EventListenerMap.cpp:
(WebCore::removeFirstListenerCreatedFromMarkup):
(WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListener):
- svg/SVGElement.cpp:
(WebCore::SVGElement::removeEventListener):
LayoutTests:
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/inline-event-handler-allowed-after-being-replaced.html: Added.
- 8:54 AM Changeset in webkit [289891] by
-
- 6 edits in trunk/Source
RemoteVideoFrameProxy is missing reference field encode, decode
https://bugs.webkit.org/show_bug.cgi?id=236690
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-16
Reviewed by Antti Koivisto.
Source/WebKit:
Add the missing encode, decode. Use the better decode pattern
to avoid default construction and reduce the chance of having
a declaration but no decode.
Also add TextStream operator<< for RemoteVideoFrameProxy::Properties
for easier debugging with WebKit2Logging IPCMessages.
No new tests, tested by existing WebRTC tests
when WebRTCRemoteVideoFrameEnabled=true (not default currently)
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::operator<<):
- WebProcess/GPU/media/RemoteVideoFrameProxy.h:
(WebKit::RemoteVideoFrameProxy::Properties::encode const):
(WebKit::RemoteVideoFrameProxy::Properties::decode):
Source/WTF:
Export the MediaTime TextStream operator<< as inline function
for all compilation modes. It is useful also when NDEBUG is defined,
and it is hard to ifdef at all the call sites.
- wtf/MediaTime.cpp:
- wtf/MediaTime.h:
- 8:52 AM Changeset in webkit [289890] by
-
- 7 edits in trunk
[CSS Container Queries] Size queries on unsupported axis should evaluate to unknown
https://bugs.webkit.org/show_bug.cgi?id=236702
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt:
- web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
Source/WebCore:
"If ... the query container does not support container size queries on the relevant axes,
then the result of evaluating the size feature is unknown."
https://drafts.csswg.org/css-contain-3/#size-container
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::evaluate const):
Some cleanups.
(WebCore::Style::ContainerQueryEvaluator::evaluateQuery const):
(WebCore::Style::ContainerQueryEvaluator::evaluateCondition const):
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
Check whether the container supports the feature axis and return Unknown of not.
- style/ContainerQueryEvaluator.h:
Rename EvaluationContext -> ResolvedContainer to be less generic.
- 6:45 AM Changeset in webkit [289889] by
-
- 2 edits in trunk/JSTests
[JSC][32-bit] Fix and re-enable flaky test
https://bugs.webkit.org/show_bug.cgi?id=181227
Patch by Geza Lore <Geza Lore> on 2022-02-16
Reviewed by Adrian Perez de Castro.
- stress/new-largeish-contiguous-array-with-size.js:
Re-enable on ARMv7, re-enable and increase leniency on MIPS.
- 6:41 AM Changeset in webkit [289888] by
-
- 2 edits in trunk/Tools
[EWS] Support PRs when sending layout test failure emails
https://bugs.webkit.org/show_bug.cgi?id=236654
<rdar://problem/88974170>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Draft different
email for failed patch than failed pull request build.
Canonical link: https://commits.webkit.org/247326@main
- 5:53 AM Changeset in webkit [289887] by
-
- 4 edits2 moves1 add in trunk/Tools
Share WebKitTestRunner code among USE(LIBWPE) ports
https://bugs.webkit.org/show_bug.cgi?id=236651
Reviewed by Žan Doberšek.
Modify PLATFORM(WPE) to USE(LIBWPE) in EventSenderProxy and PlatformWebView. The former
just uses the libwpe API to send events so it can be shared. The later uses the
WPEToolingBackend so it can also be shared.
The WPE port was missing guards around ENABLE(TOUCH_EVENTS) so add those and organize the
corresponding .cpp so the methods track with the ordering in the header.
Also modernize the PlatformWebView code to prefer using over typedef.
- WebKitTestRunner/EventSenderProxy.h:
- WebKitTestRunner/PlatformWPE.cmake:
- WebKitTestRunner/PlatformWebView.h:
- WebKitTestRunner/libwpe/EventSenderProxyLibWPE.cpp: Renamed from Tools/WebKitTestRunner/wpe/EventSenderProxyWPE.cpp.
(WTR::EventSenderProxy::getUpdatedTouchEvents):
(WTR::EventSenderProxy::removeUpdatedTouchEvents):
(WTR::EventSenderProxy::prepareAndDispatchTouchEvent):
- WebKitTestRunner/libwpe/PlatformWebViewLibWPE.cpp: Renamed from Tools/WebKitTestRunner/wpe/PlatformWebViewWPE.cpp.
(WTR::PlatformWebView::windowSnapshotImage):
- 4:38 AM Changeset in webkit [289886] by
-
- 4 edits in trunk
[CSS Container Queries] Serialize container shorthand in StyleProperties
https://bugs.webkit.org/show_bug.cgi?id=236691
Reviewed by Antoine Quint.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-parsing-expected.txt:
Source/WebCore:
Serialize element.style.container.
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue const):
- 2:55 AM Changeset in webkit [289885] by
-
- 3 edits in trunk/Source/WebCore
[GTK][WPE] Use drm render nodes in GbmDevice and make the fd global to the process
https://bugs.webkit.org/show_bug.cgi?id=236607
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-16
Reviewed by Žan Doberšek.
We are creating a global static variable to handle the fd of the
device in the process, to make sure we search and open once for
the graphics device. Also we are using the DRM_NODE_RENDER because
we do not need the primary device for the operations we expect to
use.
No new tests, already covered in the tests.
- platform/graphics/gbm/GBMDevice.cpp:
(WebCore::GBMDevice::GBMDevice): Use a new global fd.
- platform/graphics/gbm/GBMDevice.h: Ditto.
- 1:39 AM Changeset in webkit [289884] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Crashing/weird behaviour when trying to use videos as textures with ANGLE WebGL enabled
https://bugs.webkit.org/show_bug.cgi?id=236587
Reviewed by Kenneth Russell.
Disable the texture-sharing fast-path for GStreamer GL when ANGLE is
also enabled.
No new tests, no change in behaviour.
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::GraphicsContextGLTextureMapper::copyTextureFromMedia):
- 1:29 AM Changeset in webkit [289883] by
-
- 3 edits2 adds in trunk
Floating point exception in RenderListBox::numVisibleItems
https://bugs.webkit.org/show_bug.cgi?id=229307
Reviewed by Mark Lam.
Source/WebCore:
FontMetrics::height can return a negative value when setAscent() is called with
with a value that is too large to be represented as an int. Prevent this by
making setAscent() ensure that m_intAscent is set to a non-negative value.
Test: fast/forms/listbox-zero-item-height.html
- platform/graphics/FontMetrics.h:
(WebCore::FontMetrics::setAscent):
LayoutTests:
- fast/forms/listbox-zero-item-height-expected.txt: Added.
- fast/forms/listbox-zero-item-height.html: Added.
- 1:19 AM Changeset in webkit [289882] by
-
- 22 edits in trunk/Source
[macOS] Add an "Markup Image" item to the sharing services picker context menu
https://bugs.webkit.org/show_bug.cgi?id=236628
rdar://86446810
Reviewed by Darin Adler.
Source/WebCore:
Add support for a new context menu item in the sharing services picker; see WebKit/ChangeLog for more details.
- dom/mac/ImageControlsMac.cpp:
(WebCore::ImageControlsMac::handleEvent):
Simplify this chrome client hook by passing along the entire HTMLImageElement, instead of the absolute bounds,
attachment element ID, and whether the image has contenteditable style as separate arguments. This makes it a
bit easier to compute and send the image MIME type and an ElementContext in WebKit2. See changes in WebPageMac
for more information.
- html/HTMLAttachmentElement.h: Export a method.
- page/ChromeClient.h:
(WebCore::ChromeClient::handleImageServiceClick):
- platform/LocalizedStrings.h:
- platform/cocoa/LocalizedStringsCocoa.mm:
Add a helper function for the "Markup Image" menu item's localized title.
(WebCore::contextMenuItemTitleMarkupImage):
Source/WebKit:
Add support for a new context menu item in the sharing services picker; to achieve this, we plumb along some
more information about the controlled image element for the services picker menu (i.e. MIME type and an element
context). In WebContextMenuProxyMac, we then append the "Markup Image" item if the system feature is enabled,
and use this information about the controlled image element to replace the image using image data returned from
VisionKit, transcoded to a format that matches that of the original source image. See below for more details.
- Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::encode const):
(WebKit::ContextMenuContextData::decode):
- Shared/ContextMenuContextData.h:
(WebKit::ContextMenuContextData::controlledImageElementContext const):
(WebKit::ContextMenuContextData::controlledImageMIMEType const):
Add
m_controlledImageElementContext, which can be used to identify the controlled image element, and
m_controlledImageMIMEType, the MIME type of the controlled image. SeeapplyMarkupToControlledImagefor more
information about usage.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::replaceWithPasteboardData):
Add a helper method that's nearly identical to the extant
replaceSelectionWithPasteboardDatamethod, except
that it takes an ElementContext and applies the editing replacement to a selection containing the element
corresponding to the given context, rather than applying the edit command to the current selection.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView updateImageAnalysisMarkupMenuItems:]):
Use the new WebCore localized string helper function.
- UIProcess/mac/WKSharingServicePickerDelegate.h:
- UIProcess/mac/WKSharingServicePickerDelegate.mm:
(-[WKSharingServicePickerDelegate markupImage]):
Handle the new context menu invocation.
- UIProcess/mac/WebContextMenuProxyMac.h:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
If the controlled image is set and
isImageAnalysisMarkupSystemFeatureEnabled()is true, append a new item to
the services menu to invoke "Markup Image"; when activated, this menu item invokes the
-[WKSharingServicePickerDelegate markupImage]method above, which in turn calls into
applyMarkupToControlledImagebelow.
(WebKit::WebContextMenuProxyMac::applyMarkupToControlledImage):
This method contains the main logic for coordinating "Markup Image" from the services menu on macOS. Using
information about the controlled image, this first creates a CGImageRef from the image bitmap, passes it to
VisionKit for analysis, and obtains a resulting CGImageRef; it then transcodes this resulting CGImageRef to
image data in a format that matches the MIME type of the source image, and replaces the controlled image using
this image data via the override pasteboard.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::handleImageServiceClick):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::replaceWithPasteboardData):
Move the current selection to surround the element identified by the given ElementContext, and then call into
replaceSelectionWithPasteboardDatato perform the replacement.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::handleImageServiceClick):
Additionally compute and send the controlled image MIME type and its element context.
- 1:17 AM Changeset in webkit [289881] by
-
- 2 edits in trunk/LayoutTests
Reset GPU Process TestExpectations after accelerated drawing is enabled.
- gpu-process/TestExpectations:
- 1:14 AM Changeset in webkit [289880] by
-
- 4 edits in trunk/LayoutTests
Unreviewed gardening.
- css3/calc/block-mask-overlay-image-outset.html: Expand pixel range for GPU Process.
- fast/forms/auto-fill-button/auto-fill-strong-password-button-when-maxlength-changes.html: Add fuzzy data for GPU Process.
- svg/clip-path/clip-path-line-use-before-defined.svg: Add fuzzy data for all bots.
Feb 15, 2022:
- 10:53 PM Changeset in webkit [289879] by
-
- 2 edits in trunk/Source/WTF
Constructing untaken LOG(Channel, ...) arguments slow debug binaries down
https://bugs.webkit.org/show_bug.cgi?id=235562
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-15
Reviewed by Simon Fraser.
Speed up debug build binary LOG(Channel, ...) by checking the
channel (and level) before constructing the log arguments.
This is consistent with how RELEASE_LOG() works.
If the arguments are slow to create, call sites end up implementing
this at the call site and risk subtle bugs which make existing logging unreliable.
Fixes a bug with LOG_WITH_STREAM where ChannelState::OnWithAccumulation channels would not log.
- wtf/Assertions.h:
- 10:48 PM Changeset in webkit [289878] by
-
- 20 edits1 add in trunk
Migrate IndexedDB and LocalStorage data to GeneralStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=236611
Reviewed by Chris Dumez.
Source/WebKit:
Reviewed by Chris Dumez.
Add a new parameter shouldUseCustomStoragePaths on WebsiteDataStoreConfiguration to specify whether WebKit
should use custom storage paths. If the value is true, WebKit will keep using the custom localStorageDirectory
and indexedDBDatabaseDirectory paths as it is now. If the value is false, WebKit will migrate data from
localStorageDirectory and indexedDBDatabaseDirectory to new paths set by WebKit under generalStorageDirectory.
API test: WebKit.MigrateLocalStorageDataToGeneralStorageDirectory
WebKit.MigrateIndexedDBDataToGeneralStorageDirectory
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::addWebsiteDataStore):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::addStorageManagerSession):
- NetworkProcess/NetworkSession.h:
- NetworkProcess/storage/LocalStorageManager.cpp:
(WebKit::LocalStorageManager::localStorageFilePath):
- NetworkProcess/storage/LocalStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::create):
(WebKit::NetworkStorageManager::NetworkStorageManager):
(WebKit::originDirectoryPath):
(WebKit::originFilePath):
(WebKit::NetworkStorageManager::localOriginStorageManager):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::StorageBucket):
(WebKit::OriginStorageManager::StorageBucket::localStorageManager):
(WebKit::OriginStorageManager::StorageBucket::idbStorageManager):
(WebKit::OriginStorageManager::StorageBucket::isEmpty):
(WebKit::OriginStorageManager::StorageBucket::moveData):
(WebKit::OriginStorageManager::StorageBucket::resolvedIDBStoragePath):
(WebKit::OriginStorageManager::StorageBucket::fetchDataTypesInListFromDisk):
(WebKit::OriginStorageManager::StorageBucket::deleteLocalStorageData):
(WebKit::OriginStorageManager::StorageBucket::deleteIDBStorageData):
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
(WebKit::OriginStorageManager::originFileIdentifier):
(WebKit::OriginStorageManager::OriginStorageManager):
(WebKit::OriginStorageManager::defaultBucket):
(WebKit::OriginStorageManager::quotaManager):
(WebKit::OriginStorageManager::StorageBucket::isEmpty const): Deleted.
- NetworkProcess/storage/OriginStorageManager.h:
- Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::encode const):
(WebKit::WebsiteDataStoreParameters::decode):
- Shared/WebsiteDataStoreParameters.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
(-[_WKWebsiteDataStoreConfiguration shouldUseCustomStoragePaths]):
(-[_WKWebsiteDataStoreConfiguration setShouldUseCustomStoragePaths:]):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::copy const):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
(WebKit::WebsiteDataStoreConfiguration::shouldUseCustomStoragePaths const):
(WebKit::WebsiteDataStoreConfiguration::setShouldUseCustomStoragePaths):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/general-storage-directory.salt: Added.
- 10:12 PM Changeset in webkit [289877] by
-
- 3 edits2 adds in trunk
Defer TerminationsExceptions while in operationMaterializeObjectInOSR.
https://bugs.webkit.org/show_bug.cgi?id=236686
rdar://81337114
Reviewed by Saam Barati.
JSTests:
These tests are identical except that they are customized with different watchdog
timeout periods for a Debug / Release build. This is a necessary condition in
order for the test to manifest this issue if the code is regressed.
- stress/termination-exception-in-operationMaterializeObjectInOSR-debug.js: Added.
- stress/termination-exception-in-operationMaterializeObjectInOSR-release.js: Added.
Source/JavaScriptCore:
operationMaterializeObjectInOSR expects to always succeed. It is difficult (and
not worth the effort) to make it be able to handle interruptions by the
TerminationException. Since operationMaterializeObjectInOSR is guaranteed to
finish running in some finite time, it is reasonable to just defer handling a
pending TerminationException until the function returns.
- ftl/FTLOperations.cpp:
(JSC::FTL::JSC_DEFINE_JIT_OPERATION):
- 9:27 PM Changeset in webkit [289876] by
-
- 16 edits in trunk
Implement parsing and animation support for offset shorthand
https://bugs.webkit.org/show_bug.cgi?id=233109
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/motion/animation/offset-interpolation-expected.txt:
- web-platform-tests/css/motion/parsing/offset-parsing-valid-expected.txt:
- web-platform-tests/css/motion/parsing/offset-parsing-valid.html:
- web-platform-tests/css/motion/parsing/offset-shorthand-expected.txt:
Source/WebCore:
This patch implements support for the offset shorthand for css motion path. This involves
adding the offset property to CSSProperties.json, the introduction of consumeOffset() to
parse the set offset, and serialization of the offset values.
- animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::CSSPropertyIDToIDLAttributeName):
(WebCore::IDLAttributeNameToAnimationPropertyName):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForOffsetShorthand):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSOffsetRotateValue.cpp:
(WebCore::CSSOffsetRotateValue::initialValue):
(WebCore::CSSOffsetRotateValue::isInitialValue const):
- css/CSSOffsetRotateValue.h:
- css/CSSProperties.json:
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue const):
(WebCore::StyleProperties::offsetValue const):
- css/StyleProperties.h:
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeBasicShapeOrBox):
(WebCore::CSSPropertyParser::consumeOffset):
(WebCore::CSSPropertyParser::parseShorthand):
- css/parser/CSSPropertyParser.h:
- 9:20 PM Changeset in webkit [289875] by
-
- 4 edits in trunk/Source/WebKit
Web Inspector: [Cocoa] Reentrancy in WebKit::WebInspectorUIProxy::open
https://bugs.webkit.org/show_bug.cgi?id=236672
Reviewed by Devin Rousso.
Speculative fix for non-reproducible reentrancy. Because
WebInspectorUIProxy::opencalls
WebInspectorUIProxy::platformBringToFront, which under some conditions can callWebInspectorUIProxy::open,
there was an opportunity for recurssion. This appears to happen when the window of the inspector view does not
match the window of the inspected web view, which in general should not be possible for a newly opened
inspector. My suspicion is that the web view is not actually attached to a window at the time the inspector is
being opened. This patch adds a fail-safe that will detach the inspector view into its own window when these
conditions are met while we are in middle of opening the inspector, and also adds logging to indicate if the
inspected web view was actually in a window. This should both prevent the crash from the re-entry as well as
provide more context when the issue does occur.
- UIProcess/Inspector/WebInspectorUIProxy.cpp:
(WebKit::WebInspectorUIProxy::open):
- UIProcess/Inspector/WebInspectorUIProxy.h:
- UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm:
(WebKit::WebInspectorUIProxy::platformBringToFront):
- 8:11 PM Changeset in webkit [289874] by
-
- 1 copy in tags/Safari-614.1.3.2
Tag Safari-614.1.3.2.
- 8:09 PM Changeset in webkit [289873] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.2
- 8:05 PM Changeset in webkit [289872] by
-
- 34 edits2 copies3 adds1 delete in trunk/Source
Do preliminary work to pass domain names to CoreLocation
https://bugs.webkit.org/show_bug.cgi?id=236566
<rdar://88761413>
Reviewed by Darin Adler.
Source/WebCore:
Do preliminary work to pass domain names to CoreLocation when using the Geolocation API.
This pipes the domain names all the way from the Geolocation API to the CoreLocation calls
but doesn't yet pass the domain to CoreLocation due to <rdar://88834301>. I will follow-up
once <rdar://88834301> is fixed.
- Modules/geolocation/GeolocationClient.h:
- Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::didNavigatePage):
(WebCore::GeolocationController::addObserver):
(WebCore::GeolocationController::removeObserver):
(WebCore::GeolocationController::activityStateDidChange):
(WebCore::GeolocationController::startUpdatingIfNecessary):
(WebCore::GeolocationController::stopUpdatingIfNecessary):
- Modules/geolocation/GeolocationController.h:
(WebCore::GeolocationController::needsHighAccuracy const):
- Modules/geolocation/GeolocationPositionData.h:
- Modules/geolocation/ios/GeolocationPositionDataIOS.mm:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- page/Page.cpp:
(WebCore::Page::didCommitLoad):
- platform/cocoa/CoreLocationGeolocationProvider.h: Copied from Source/WebCore/Modules/geolocation/GeolocationClient.h.
- platform/cocoa/CoreLocationGeolocationProvider.mm: Added.
(isAuthorizationGranted):
(-[WebCLLocationManager initWithWebsiteIdentifier:client:]):
(-[WebCLLocationManager dealloc]):
(-[WebCLLocationManager start]):
(-[WebCLLocationManager stop]):
(-[WebCLLocationManager setEnableHighAccuracy:]):
(-[WebCLLocationManager requestGeolocationAuthorization]):
(-[WebCLLocationManager locationManagerDidChangeAuthorization:]):
(-[WebCLLocationManager locationManager:didUpdateLocations:]):
(-[WebCLLocationManager locationManager:didFailWithError:]):
(WebCore::CoreLocationGeolocationProvider::CoreLocationGeolocationProvider):
(WebCore::CoreLocationGeolocationProvider::~CoreLocationGeolocationProvider):
(WebCore::CoreLocationGeolocationProvider::start):
(WebCore::CoreLocationGeolocationProvider::stop):
(WebCore::CoreLocationGeolocationProvider::setEnableHighAccuracy):
(WebCore::CoreLocationGeolocationProvider::requestAuthorization):
- platform/mock/GeolocationClientMock.cpp:
(WebCore::GeolocationClientMock::startUpdating):
- platform/mock/GeolocationClientMock.h:
Source/WebKit:
Do preliminary work to pass domain names to CoreLocation when using the Geolocation API.
This pipes the domain names all the way from the Geolocation API to the CoreLocation calls
but doesn't yet pass the domain to CoreLocation due to <rdar://88834301>. I will follow-up
once <rdar://88834301> is fixed.
- SourcesCocoa.txt:
- UIProcess/API/C/WKGeolocationManager.cpp:
(WKGeolocationManagerSetProvider):
- UIProcess/Cocoa/WebGeolocationManagerProxyCocoa.cpp: Added.
(WebKit::WebGeolocationManagerProxy::positionChanged):
(WebKit::WebGeolocationManagerProxy::errorOccurred):
(WebKit::WebGeolocationManagerProxy::resetGeolocation):
(WebKit::WebGeolocationManagerProxy::isUpdating const):
(WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled const):
(WebKit::WebGeolocationManagerProxy::providerStartUpdating):
(WebKit::WebGeolocationManagerProxy::providerStopUpdating):
(WebKit::WebGeolocationManagerProxy::providerSetEnabledHighAccuracy):
- UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
(WebKit::WebGeolocationManagerProxy::processPoolDestroyed):
(WebKit::WebGeolocationManagerProxy::processDidClose):
(WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
(WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
(WebKit::WebGeolocationManagerProxy::startUpdating):
(WebKit::WebGeolocationManagerProxy::stopUpdating):
(WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
(WebKit::WebGeolocationManagerProxy::setProvider):
(WebKit::WebGeolocationManagerProxy::isUpdating const):
(WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled const):
(WebKit::WebGeolocationManagerProxy::providerStartUpdating):
(WebKit::WebGeolocationManagerProxy::providerStopUpdating):
(WebKit::WebGeolocationManagerProxy::providerSetEnabledHighAccuracy):
(WebKit::WebGeolocationManagerProxy::resetPermissions): Deleted.
(WebKit::WebGeolocationManagerProxy::removeRequester): Deleted.
- UIProcess/WebGeolocationManagerProxy.h:
(WebKit::WebGeolocationManagerProxy::lastPosition const): Deleted.
(WebKit::WebGeolocationManagerProxy::isUpdating const): Deleted.
(WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled const): Deleted.
- UIProcess/WebGeolocationManagerProxy.messages.in:
- UIProcess/ios/WKGeolocationProviderIOS.mm:
(-[WKGeolocationProviderIOS _startUpdating]):
(-[WKGeolocationProviderIOS _stopUpdating]):
(-[WKGeolocationProviderIOS _setEnableHighAccuracy:]):
(-[WKGeolocationProviderIOS initWithProcessPool:]):
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:completionHandler:view:]):
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WKGeolocationProviderIOS positionChanged:]):
(-[WKGeolocationProviderIOS errorOccurred:]):
(-[WKGeolocationProviderIOS resetGeolocation]):
(startUpdatingCallback): Deleted.
(stopUpdatingCallback): Deleted.
(setEnableHighAccuracy): Deleted.
(-[WKLegacyCoreLocationProvider setListener:]): Deleted.
(-[WKLegacyCoreLocationProvider requestGeolocationAuthorization]): Deleted.
(-[WKLegacyCoreLocationProvider start]): Deleted.
(-[WKLegacyCoreLocationProvider stop]): Deleted.
(-[WKLegacyCoreLocationProvider setEnableHighAccuracy:]): Deleted.
(-[WKLegacyCoreLocationProvider geolocationAuthorizationGranted]): Deleted.
(-[WKLegacyCoreLocationProvider geolocationAuthorizationDenied]): Deleted.
(-[WKLegacyCoreLocationProvider positionChanged:]): Deleted.
(-[WKLegacyCoreLocationProvider errorOccurred:]): Deleted.
(-[WKLegacyCoreLocationProvider resetGeolocation]): Deleted.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::registrableDomainForPage):
(WebKit::WebGeolocationManager::registerWebPage):
(WebKit::WebGeolocationManager::unregisterWebPage):
(WebKit::WebGeolocationManager::setEnableHighAccuracyForPage):
(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):
(WebKit::WebGeolocationManager::resetPermissions):
(WebKit::WebGeolocationManager::isUpdating const): Deleted.
(WebKit::WebGeolocationManager::isHighAccuracyEnabled const): Deleted.
- WebProcess/Geolocation/WebGeolocationManager.h:
- WebProcess/Geolocation/WebGeolocationManager.messages.in:
- WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
(WebKit::WebGeolocationClient::startUpdating):
- WebProcess/WebCoreSupport/WebGeolocationClient.h:
(WebKit::WebGeolocationClient::WebGeolocationClient): Deleted.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::resetAllGeolocationPermissions): Deleted.
- WebProcess/WebProcess.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebGeolocationClient.h:
- WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::startUpdating):
Source/WebKitLegacy/win:
- WebCoreSupport/WebGeolocationClient.cpp:
(WebGeolocationClient::startUpdating):
- WebCoreSupport/WebGeolocationClient.h:
Source/WTF:
Add build time flag for passing website identifiers to CoreLocation.
- wtf/PlatformHave.h:
- 5:55 PM Changeset in webkit [289871] by
-
- 2 edits in trunk/LayoutTests
http/tests/history/back-with-fragment-change.php fails.
https://bugs.webkit.org/show_bug.cgi?id=68278
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-wk2/TestExpectations: Remarking flaky expectation.
- 5:47 PM Changeset in webkit [289870] by
-
- 2 edits in trunk/Source/WebCore
Add a new rule to decide if a font is used only for icons
https://bugs.webkit.org/show_bug.cgi?id=236660
rdar://84829499
Reviewed by Wenson Hsieh.
Add check for more characters to avoid incorrectly tagging certain fonts as symbol-only.
- platform/graphics/coretext/FontCoreText.cpp:
(WebCore::hasGlyphsForCharacterRange):
(WebCore::Font::isProbablyOnlyUsedToRenderIcons const):
- 5:40 PM Changeset in webkit [289869] by
-
- 7 edits in trunk/LayoutTests
[ iOS ] fast/text/ch-unit-synthetic-bold.html is failing constantly on iOS
https://bugs.webkit.org/show_bug.cgi?id=236610
Turns out iOS doesn't have Monaco. It's fine though; we can use local() to create
a font that doesn't have a bold family member.
Unreviewed.
- fast/text/ch-unit-synthetic-bold-expected.html:
- fast/text/ch-unit-synthetic-bold.html:
- fast/text/tab-width-synthetic-bold-complex-expected.html:
- fast/text/tab-width-synthetic-bold-complex.html:
- fast/text/tab-width-synthetic-bold-expected.html:
- fast/text/tab-width-synthetic-bold.html:
- 5:35 PM Changeset in webkit [289868] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
- css3/masking/clip-path-inset-corners.html: Add fuzzy data.
- 5:34 PM Changeset in webkit [289867] by
-
- 2 edits in trunk/Websites/webkit.org
Fix WordPress wpautop to account for the Dialog element.
https://bugs.webkit.org/show_bug.cgi?id=236320
Reviewed by Darin Adler.
- wp-content/themes/webkit/functions.php:
- 5:25 PM Changeset in webkit [289866] by
-
- 7 edits2 adds in trunk
Implement ServiceWorkerRegistration.getNotifications().
https://bugs.webkit.org/show_bug.cgi?id=236545
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/tests/workers/service/getnotifications.html
Until we figure out just how "persistent" we want persistent notifications from service workers to be,
this is an impementation of getNotifications() that works for the current running of the user agent.
- Modules/notifications/Notification.cpp:
(WebCore::Notification::Notification):
(WebCore::Notification::~Notification):
(WebCore::Notification::copyForGetNotifications const):
(WebCore::Notification::contextDestroyed):
(WebCore::Notification::close):
- Modules/notifications/Notification.h:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::getNotifications):
(WebCore::ServiceWorkerRegistration::addNotificationToList):
(WebCore::ServiceWorkerRegistration::removeNotificationFromList):
(WebCore::ServiceWorkerRegistration::filteredNotificationList):
- workers/service/ServiceWorkerRegistration.h:
LayoutTests:
- http/tests/workers/service/getnotifications-expected.txt: Added.
- http/tests/workers/service/getnotifications.html: Added.
- http/tests/workers/service/resources/shownotification-worker.js:
(async tryShow):
(async getNotes):
(async event):
- 4:51 PM Changeset in webkit [289865] by
-
- 2 edits in trunk/LayoutTests
fast/filter-image/filter-image-svg.html is failing to load the image due to a wrong path
https://bugs.webkit.org/show_bug.cgi?id=236632
Reviewed by Simon Fraser.
This test case had the following CSS.
background-image: filter(url(image.svg), url(#filter));
However, 'image.svg' doesn't exist. DRT and WTR unexpectedly
loaded the missing image icon and applied the filter. It should be
'resources/image.svg'.
- fast/filter-image/filter-image-svg.html:
- 4:44 PM Changeset in webkit [289864] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r289495): [ Monterey arm64 ] model-element/model-element-ready.html is a flaky assertion failure.
https://bugs.webkit.org/show_bug.cgi?id=236678
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-wk2/TestExpectations:
- 4:42 PM Changeset in webkit [289863] by
-
- 13 edits in trunk
Make HeapType an enum class.
https://bugs.webkit.org/show_bug.cgi?id=236667
<rdar://problem/88984607>
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- dynbench.cpp:
- heap/Heap.cpp:
- heap/Heap.h:
- jsc.cpp:
(runJSC):
- runtime/VM.cpp:
(JSC::VM::sharedInstance):
- runtime/VM.h:
- testRegExp.cpp:
(realMain):
Source/WebCore:
- bindings/js/CommonVM.cpp:
(WebCore::commonVMSlow):
Tools:
- TestWebKitAPI/Tests/JavaScriptCore/DisallowVMEntry.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/JavaScriptCore/PropertySlot.cpp:
(TestWebKitAPI::TEST):
- 4:26 PM Changeset in webkit [289862] by
-
- 7 edits in trunk
[css-transforms] properly handle interpolation of non-invertible matrices
https://bugs.webkit.org/show_bug.cgi?id=236480
Reviewed by Martin Robinson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt:
- web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
Source/WebCore:
All composition types should fall back to discrete animation behavior when
interpolating non-invertible matrices. Need to segment progress value
depending on either side of 0.5.
- platform/graphics/transforms/TransformOperations.cpp:
(WebCore::TransformOperations::shouldFallbackToDiscreteAnimation const):
(WebCore::TransformOperations::blendByMatchingOperations const):
(WebCore::TransformOperations::blendByUsingMatrixInterpolation const):
- platform/graphics/transforms/TransformOperations.h:
(WebCore::TransformOperations::hasMatrixOperation const):
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::blend):
- 4:26 PM Changeset in webkit [289861] by
-
- 1 copy in tags/Safari-613.1.17.0.3
Tag Safari-613.1.17.0.3.
- 4:04 PM Changeset in webkit [289860] by
-
- 17 edits in trunk/Source
Fixes for build-webkit --minimal
https://bugs.webkit.org/show_bug.cgi?id=229780
Patch by Philip Chimento <pchimento@igalia.com> on 2022-02-15
Reviewed by Don Olmstead.
Source/WebCore:
Covered by existing tests.
Missing headers that didn't get included by other headers if certain
options were disabled; missing ifdef guards around usage of features.
- html/ColorInputType.cpp: Missing include
- page/DOMWindow.cpp: Missing include; fix pre-existing include order issue flagged by check-style
- platform/UserAgentQuirks.cpp: Missing ENABLE(PUBLIC_SUFFIX_LIST) and slight rewrite of code for the #else case
(WebCore::UserAgentQuirks::quirksForURL):
- platform/network/soup/NetworkStorageSessionSoup.cpp: Missing ENABLE(INTELLIGENT_TRACKING_PREVENTION)
(WebCore::NetworkStorageSession::setCookieAcceptPolicy):
- rendering/RenderLayerCompositor.cpp: Missing ENABLE(ASYNC_SCROLLING)
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
Source/WebKit:
Missing headers that didn't get included by other headers if certain
options were disabled; missing ifdef guards around usage of features.
- NetworkProcess/soup/NetworkDataTaskSoup.cpp: Missing ENABLE(PUBLIC_SUFFIX_LIST), duplicate line in order to avoid semicolon by itself on a line which check-style doesn't like
(WebKit::NetworkDataTaskSoup::shouldAllowHSTSPolicySetting const):
- Shared/API/glib/WebKitContextMenuActions.cpp: Missing include
- UIProcess/API/gtk/WebKitWebViewBase.cpp: Missing ENABLE(FULLSCREEN_API)
(webkitWebViewBaseDispose):
- UIProcess/gtk/PointerLockManagerWayland.cpp: Missing include
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp: Missing ENABLE(USER_MESSAGE_HANDLERS)
(webkit_dom_dom_window_webkit_message_handlers_post_message):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp: Several instances of missing ENABLE(FULLSCREEN_API). The public API methods just do nothing if not compiled with fullscreen support.
(webkit_dom_document_webkit_cancel_fullscreen):
(webkit_dom_document_webkit_exit_fullscreen):
(webkit_dom_document_get_webkit_is_fullscreen):
(webkit_dom_document_get_webkit_fullscreen_keyboard_input_allowed):
(webkit_dom_document_get_webkit_current_fullscreen_element):
(webkit_dom_document_get_webkit_fullscreen_enabled):
(webkit_dom_document_get_webkit_fullscreen_element):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementGtk.cpp: Missing ENABLE(FULLSCREEN_API)
(webkit_dom_element_webkit_request_fullscreen):
- WebProcess/WebPage/EventDispatcher.cpp: Two instances of missing ENABLE(ASYNC_SCROLLING)
(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::notifyScrollingTreesDisplayWasRefreshed):
- WebProcess/WebPage/EventDispatcher.h: Missing ENABLE(ASYNC_SCROLLING)
- WebProcess/WebPage/glib/WebPageGLib.cpp: Missing ENABLE(AUTOCAPITALIZE)
(WebKit::inputMethodSateForElement):
- 3:59 PM Changeset in webkit [289859] by
-
- 2 edits in trunk/Source/WebCore
Skip positioned objects and line break boxes as they have no affect on width
https://bugs.webkit.org/show_bug.cgi?id=236514
Patch by Brandon Stewart <Brandon> on 2022-02-15
Reviewed by Myles C. Maxfield.
Align computeInlineDirectionPositionsForSegment() and computeExpansionForJustifiedText() logic.
Skipping positioned objects and line break boxes as they will not affect the width.
- rendering/LegacyLineLayout.cpp:
(WebCore::LegacyLineLayout::computeExpansionForJustifiedText):
- 3:56 PM Changeset in webkit [289858] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Add access to mach service in the Networking process for all users
https://bugs.webkit.org/show_bug.cgi?id=236653
<rdar://88787266>
Reviewed by Brent Fulgham.
We currently allow access to "com.apple.trustd" for the root user. Access to this service is needed for all users.
This issue was introduced in https://trac.webkit.org/changeset/283012/webkit, and this patch also reverts this
change for older versions of macOS.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- 3:09 PM Changeset in webkit [289857] by
-
- 1 copy in tags/Safari-613.1.17.1.3
Tag Safari-613.1.17.1.3.
- 3:09 PM Changeset in webkit [289856] by
-
- 12 edits in trunk/Tools
[webkitscmpy] Support draft pull-requests
https://bugs.webkit.org/show_bug.cgi?id=235721
<rdar://problem/88139678>
Rubber-stamped by Aakash Jain.
GitHub has the concept of a "draft" pull request. Our tooling should allow users
to request that the pull request they are updating or creating be converted to a draft.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub.request): Handle "draft" in upload.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.parser): Add --draft option.
(PullRequest.main): When creating or uploading a pull-request, set draft state.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/pull_request.py:
(PullRequest.init): Pass draft state.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.PRGenerator.PullRequest): Pass draft state to PullRequest object.
(BitBucket.PRGenerator.create): Accept draft flag.
(BitBucket.PRGenerator.update): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.PRGenerator): Draft pull requests are a GitHub idea.
(GitHub.PRGenerator.PullRequest): Pass draft state to PullRequest object.
(GitHub.PRGenerator.create): Accept draft flag.
(GitHub.PRGenerator.update): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py:
(Scm.PRGenerator): Draft pull requests are a GitHub idea.
(Scm.PRGenerator.create): Accept draft flag.
(Scm.PRGenerator.update): Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
Canonical link: https://commits.webkit.org/247298@main
- 3:05 PM Changeset in webkit [289855] by
-
- 5 edits1 add in trunk
[TextureMapperGL] drop-shadow filter with blur-radius doesn't work as expected if it is the last filter
https://bugs.webkit.org/show_bug.cgi?id=236407
Reviewed by Don Olmstead.
Source/WebCore:
BitmapTextureGL::applyFilters doesn't actually apply the last filter
and returns a texture by saving the last filter information in
m_filterInfo. Then, TextureMapperGL::drawTexture will actually apply
the last filter while drawing the texture.
TextureMapperGL::drawTexture shouldn't use
TextureMapperShaderProgram::TextureRGB option if the BitmapTextureGL
has m_filterInfo.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawTexture):
- platform/graphics/texmap/TextureMapperShaderProgram.cpp:
AlphaBlur and ContentTexture filters should be applied before Opacity filter.
LayoutTests:
- platform/wincairo/css3/filters/effect-drop-shadow-hw-expected.png: Added.
- platform/wincairo/css3/filters/effect-drop-shadow-hw-expected.txt:
- 2:51 PM Changeset in webkit [289854] by
-
- 2 edits in trunk/Tools
[EWS] Support PRs when sending build failure emails (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=235926
<rdar://problem/88302122>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(GitHub.email_for_owners): Return error string.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Log error
from email_from_owners to buildbot stdio.
Canonical link: https://commits.webkit.org/247296@main
- 2:46 PM Changeset in webkit [289853] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r287249): [ Monterey wk2 ] media/media-source/media-webm-vorbis-partial.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=236656
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-wk2/TestExpectations:
- 2:00 PM Changeset in webkit [289852] by
-
- 2 edits in trunk/Tools
Unreviewed build fix after r288478.
https://bugs.webkit.org/show_bug.cgi?id=235542
rdar://72567903
- TestWebKitAPI/Tests/WebKitCocoa/SessionStorage.mm:
- 1:57 PM Changeset in webkit [289851] by
-
- 23 edits in trunk
[macOS] Add a context menu item to "Copy Cropped Image"
https://bugs.webkit.org/show_bug.cgi?id=236602
rdar://88924479
Reviewed by Megan Gardner.
Source/WebCore:
Add ContextMenuItemTagCopyCroppedImage, and handle it in various context menu codepaths throughout WebCore.
- loader/EmptyClients.cpp:
- page/ContextMenuClient.h:
Add a client hook to allow us to disable this item in WebKitLegacy, but enable it in the modern WebKit port.
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
Insert this new item, adjacent to the existing "Copy Image" item.
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):
- platform/ContextMenuItem.cpp:
(WebCore::isValidContextMenuAction):
- platform/ContextMenuItem.h:
Add a new context menu item tag for ContextMenuItemTagCopyCroppedImage; additionally, add a new special tag,
ContextMenuItemLastNonCustomTag, that will always point to the last non-custom (engine-supported) context menu
item in this enumeration. This makes it so that we can stop fiddling with the API test
WebCore.ContextMenuAction_IsValidEnumevery time we add a new context menu type, as long as we update the
ContextMenuItemLastNonCustomTag.
- platform/LocalizedStrings.h:
- platform/cocoa/LocalizedStringsCocoa.mm:
Pull the localized string for "Copy Cropped Image" out into a separate localized string helper function.
(WebCore::contextMenuItemTagCopyCroppedImage):
Source/WebKit:
Add support for a new context menu item that invokes markup when copying an image. See below for more details.
- Shared/API/c/WKContextMenuItemTypes.h:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
Handle the new context menu enum tag.
- Shared/WebHitTestResultData.cpp:
(WebKit::WebHitTestResultData::WebHitTestResultData):
(WebKit::WebHitTestResultData::encode const):
(WebKit::WebHitTestResultData::decode):
- Shared/WebHitTestResultData.h:
Add a new
sourceImageMIMETypemember that provides the original MIME type of the source image corresponding to
the image bitmap in WebHitTestResultData. We use this below, inhandleContextMenuCopyCroppedImage.
- UIProcess/API/Cocoa/_WKElementAction.mm:
(+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
Replace the localized string macro with a call to the new localized string helper function.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
- UIProcess/WebPageProxy.h:
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::handleContextMenuCopyCroppedImage):
Handle the new context menu item action by calling into
requestImageAnalysisMarkupand writing the result
to the pasteboard (transcoding back to the MIME type of the source image, if possible).
- WebProcess/WebCoreSupport/WebContextMenuClient.h:
Source/WebKitLegacy/mac:
See WebCore and WebKit ChangeLogs for more details.
- WebCoreSupport/WebContextMenuClient.h:
- WebView/WebHTMLView.mm:
(toTag):
Tools:
Adjust an existing API test to account for the fact that ContextMenuItemTagTranslate is no longer the last non-
custom context menu item tag.
- TestWebKitAPI/Tests/WebCore/ContextMenuAction.cpp:
(TestWebKitAPI::TEST):
- 1:51 PM Changeset in webkit [289850] by
-
- 3 edits in trunk/Source/WebCore
Copy PDF.js in WebCore.framework bundle at build-time
https://bugs.webkit.org/show_bug.cgi?id=235981
Reviewed by Alexey Proskuryakov.
This adds the Source/ThirdParty/pdfjs folder as a folder resource. Adds a installsrc step in the
WebCore makefile to make sure XCode finds the folder in production builds.
- Makefile:
- WebCore.xcodeproj/project.pbxproj:
- 1:43 PM Changeset in webkit [289849] by
-
- 3 edits2 deletes in branches/safari-613.1.17.0-branch
Revert r289828. rdar://problem/88656665
- 1:43 PM Changeset in webkit [289848] by
-
- 2 edits in trunk/Source/WebKit
[WinCairo][WK2] animations/background-position.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=236630
Reviewed by Don Olmstead.
WKPageForceRepaint didn't call back if the page had active
animations.
- WebProcess/WebPage/wc/DrawingAreaWC.cpp:
(WebKit::DrawingAreaWC::didUpdate): Call
m_forceRepaintCompletionHandler even if
m_hasDeferredRenderingUpdate is true.
- 1:25 PM Changeset in webkit [289847] by
-
- 3 edits in trunk/Tools
[EWS] Use EWS as committer when rebasing
https://bugs.webkit.org/show_bug.cgi?id=236650
<rdar://problem/88967428>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(CheckOutPullRequest): Use 'EWS <ews@webkit.org>' as the committer.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247290@main
- 1:14 PM Changeset in webkit [289846] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/88893789
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:14 PM Changeset in webkit [289845] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r289776. rdar://problem/88656665
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp: (WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:14 PM Changeset in webkit [289844] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r289762. rdar://problem/88786989
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Dateto useWallTimeinstead of a rawdouble, meaning that
HTMLMediaElement::getStartDatenow did extra processing of theMediaTimereturned by
MediaPlayer::getStartDate.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDatereturned aMediaTime
represented in milliseconds (due to two* 1000), even thoughMediaTimeis supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html).
Note that the test was marked as[Pass Failure]before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:14 PM Changeset in webkit [289843] by
-
- 40 edits1 delete in branches/safari-613-branch/Source
Revert r289340. rdar://problem/88629773
- 1:14 PM Changeset in webkit [289842] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Revert r289343. rdar://problem/88629773
- 1:13 PM Changeset in webkit [289841] by
-
- 4 edits in trunk/Tools
[git-webkit] --update should be synonomous with --rebase
https://bugs.webkit.org/show_bug.cgi?id=236658
<rdar://problem/88979674>
Reviewed by Ryan Haddad.
When working on a branch,
updateandrebasemean approximately
the same thing.git-webkit prshould support both.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.parser):
Canonical link: https://commits.webkit.org/247289@main
- 1:06 PM Changeset in webkit [289840] by
-
- 4 edits2 adds in trunk
Redirect shadow realm console output to page's ConsoleClient
https://bugs.webkit.org/show_bug.cgi?id=236518
Patch by Joseph Griego <jgriego@igalia.com> on 2022-02-15
Reviewed by Devin Rousso.
Source/WebCore:
Test: inspector/shadow-realm-console.html
Without this patch, the newly-created shadow realm global object would
not have a console client; we want the console output from the shadow
realm's context to go to the inspector, too.
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::deriveShadowRealmGlobalObject): Copy console client from source JSDOMGlobalObject to new shadow realm's global object.
LayoutTests:
Add tests to verify that (nested) shadow realm contexts still output to
the parent page's inspector; fix one changed test.
- inspector/shadow-realm-console-expected.txt: Added.
- inspector/shadow-realm-console.html: Added.
- js/ShadowRealm-importValue-expected.txt: Added console line that had previously been blackholed
- 12:47 PM Changeset in webkit [289839] by
-
- 7 edits in trunk/Source/WebCore
Refactor logic for writing selected text in image overlays to the pasteboard
https://bugs.webkit.org/show_bug.cgi?id=236546
rdar://83173693
Reviewed by Megan Gardner.
Refactor logic for copying text in image overlays to use
Editor::writeSelection, as opposed to extracting a
string from the current selection range and directly writing it to the pasteboard as plain text. See below for
more details.
- dom/ImageOverlay.cpp:
Add a couple of new ImageOverlay-namespaced helper functions.
(WebCore::ImageOverlay::characterRange):
Add a function to return the character range for the given selection inside an image overlay (or
std::nullopt
if the selection is not inside of an image overlay).
(WebCore::ImageOverlay::isInsideOverlay):
Add a function to determine whether or not the given selection is inside of an image overlay.
- dom/ImageOverlay.h:
- editing/Editor.cpp:
(WebCore::Editor::performCutOrCopy):
Refactor this to use
writeSelectionToPasteboard()when the current selection is inside an image overlay.
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::selectionInHTMLFormat):
Intentionally return the null string for image overlays.
(WebCore::selectionInImageOverlayAsAttributedString):
(WebCore::selectionAsAttributedString):
Add a special codepath when serializing selected text in image overlays such that we consult the image element's
TextRecognitionResult for the attributed string to write to the pasteboard, given the selected CharacterRange in
the image overlay.
(WebCore::Editor::selectionInWebArchiveFormat):
Intentionally return null for image overlays.
- page/Page.cpp:
(WebCore::Page::cachedTextRecognitionResult const):
Add a helper method to retrieve a cached TextRecognitionResult, given a host image element.
- page/Page.h:
- 11:14 AM Changeset in webkit [289838] by
-
- 17 edits1 copy in trunk
[CSS Container Queries] Support all size features
https://bugs.webkit.org/show_bug.cgi?id=236640
Reviewed by Tim Nguyen and Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
- web-platform-tests/css/css-contain/container-queries/query-content-box-expected.txt:
- web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
Source/WebCore:
Support inline-size, block-size, aspect-ratio and orientation in addition to the currently
supported width and height.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/ContainerQuery.cpp: Copied from Source/WebCore/css/ContainerQuery.h.
(WebCore::CQ::FeatureNames::width):
(WebCore::CQ::FeatureNames::height):
(WebCore::CQ::FeatureNames::inlineSize):
(WebCore::CQ::FeatureNames::blockSize):
(WebCore::CQ::FeatureNames::aspectRatio):
(WebCore::CQ::FeatureNames::orientation):
- css/ContainerQuery.h:
- css/ContainerQueryParser.cpp:
(WebCore::ContainerQueryParser::consumeSizeFeature):
Parse the new features.
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeAspectRatio):
Use the new consumeAspectRatioValue helper.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeAspectRatioValue):
- css/parser/CSSPropertyParserHelpers.h:
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::computeSize):
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
LayoutTests:
- 11:04 AM Changeset in webkit [289837] by
-
- 3 edits in trunk/Tools
REGRESSION(r289147): Two API tests are failing
https://bugs.webkit.org/show_bug.cgi?id=236376
<rdar://88586730>
Reviewed by Alexey Proskuryakov.
After r289147, the WebContent process can no longer consume sandbox extensions to the CF preference daemon.
Update the test expectations.
- TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:
(TEST):
- TestWebKitAPI/Tests/WebKit/GrantAccessToPreferencesService.mm:
(TEST):
- 11:02 AM Changeset in webkit [289836] by
-
- 2 edits in trunk/Source/WebCore/PAL
Fix internal Big Sur build
- pal/spi/mac/HIToolboxSPI.h:
- 11:00 AM Changeset in webkit [289835] by
-
- 12 edits in trunk/Tools
git-webkit setup should verify the credentials before saving them
https://bugs.webkit.org/show_bug.cgi?id=235298
<rdar://problem/87988794>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:
(Tracker.credentials): Pass validater into webkitscmpy.credentials if caller requests validation.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.credentials): Pass validater into webkitscmpy.credentials if caller requests validation.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): Allow caller to provide a callback which will validate credentials to ensure
they work, re-prompt user if credentials fail validation.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Request validation of GitHub credentials.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.credentials): Pass validation flag.
- 10:49 AM Changeset in webkit [289834] by
-
- 2 edits1 copy1 add in trunk/LayoutTests
Rebaslining fonts/monospace.html for Monterey.
https://bugs.webkit.org/show_bug.cgi?id=236619
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-catalina/fonts/monospace-expected.txt: Copied from LayoutTests/platform/mac/fonts/monospace-expected.txt.
- platform/mac/fonts/monospace-expected.txt:
- 10:45 AM Changeset in webkit [289833] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/88893789
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289832] by
-
- 3 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289776. rdar://problem/88656665
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp: (WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289831] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r289762. rdar://problem/88786989
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Dateto useWallTimeinstead of a rawdouble, meaning that
HTMLMediaElement::getStartDatenow did extra processing of theMediaTimereturned by
MediaPlayer::getStartDate.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDatereturned aMediaTime
represented in milliseconds (due to two* 1000), even thoughMediaTimeis supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html).
Note that the test was marked as[Pass Failure]before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289830] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/88893789
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289829] by
-
- 40 edits1 delete in branches/safari-613.1.17.1-branch/Source
Revert r289340. rdar://problem/88629773
- 10:45 AM Changeset in webkit [289828] by
-
- 3 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289776. rdar://problem/88656665
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp: (WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289827] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r289762. rdar://problem/88786989
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Dateto useWallTimeinstead of a rawdouble, meaning that
HTMLMediaElement::getStartDatenow did extra processing of theMediaTimereturned by
MediaPlayer::getStartDate.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDatereturned aMediaTime
represented in milliseconds (due to two* 1000), even thoughMediaTimeis supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html).
Note that the test was marked as[Pass Failure]before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [289826] by
-
- 40 edits1 delete in branches/safari-613.1.17.0-branch/Source
Revert r289340. rdar://problem/88629773
- 10:45 AM Changeset in webkit [289825] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Revert r289343. rdar://problem/88629773
- 10:45 AM Changeset in webkit [289824] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebKit
Revert r289343. rdar://problem/88629773
- 10:33 AM Changeset in webkit [289823] by
-
- 3 edits in trunk/Source/JavaScriptCore
[Xcode] Remove "Make libWTF.a Symbolic Link" script phase
https://bugs.webkit.org/show_bug.cgi?id=236613
Reviewed by Alexey Proskuryakov.
We pass the absolute path to libWTF.a to ld's -force_load argument. The path was being
computed at build time by a script, but can be expressed in build settings. Change
OTHER_LDFLAGS such that engineering builds libWTF.a from build products, and production
builds use libWTF.a from their SDK.
- Configurations/JavaScriptCore.xcconfig: Set OTHER_LDFLAGS.
- JavaScriptCore.xcodeproj/project.pbxproj: Remove build phase.
- 10:29 AM Changeset in webkit [289822] by
-
- 1 copy in tags/Safari-614.1.3.1
Tag Safari-614.1.3.1.
- 10:28 AM Changeset in webkit [289821] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.3
- 10:26 AM Changeset in webkit [289820] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.3
- 10:23 AM Changeset in webkit [289819] by
-
- 4 edits in trunk
[CMake] Checks uses of execute_process() for correct command splitting
https://bugs.webkit.org/show_bug.cgi?id=236366
Reviewed by Don Olmstead.
.:
- Source/cmake/FindGObjectIntrospection.cmake: Remove macro _GIR_GET_PKGCONFIG_VAR, which used
execute_process(), in favor of pkg_get_variable(), which has been supported since CMake 3.4
Source/JavaScriptCore:
- CMakeLists.txt: string(TIMESTAMP var "%s") has been supported since CMake 3.6, and given
that 3.12 is required we can use it instead of shelling out to run the "date" program.
- 10:05 AM Changeset in webkit [289818] by
-
- 15 edits1 add in trunk/Source
Source/WebCore:
Implement additional Reveal methods.
https://bugs.webkit.org/show_bug.cgi?id=236627
Reviewed by Tim Horton.
Respond to protocol methods that instantiate a selection and request RVItems for a menu.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldSelectBasedOnDictionaryLookup const):
- editing/cocoa/DictionaryLookup.mm:
(WebCore::canCreateRevealItems):
(WebCore::showPopupOrCreateAnimationController):
- page/EventHandler.cpp:
(WebCore::EventHandler::selectClosestContextualWordFromHitTestResult):
(WebCore::EventHandler::selectClosestContextualWordOrLinkFromHitTestResult):
(WebCore::EventHandler::handleMousePressEventDoubleClick):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::selectClosestWordFromMouseEvent): Deleted.
(WebCore::EventHandler::selectClosestContextualWordFromMouseEvent): Deleted.
(WebCore::EventHandler::selectClosestContextualWordOrLinkFromMouseEvent): Deleted.
- page/EventHandler.h:
- page/cocoa/EventHandlerCocoa.mm: Added.
(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup):
Source/WebKit:
Implement additional Reveeal methods.
https://bugs.webkit.org/show_bug.cgi?id=236627
Reviewed by Tim Horton.
Respond to protocol methods that instantiate a selection and request RVItems for a menu.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView prepareSelectionForContextMenuWithLocationInView:completionHandler:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::prepareSelectionForContextMenuWithLocationInView):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDictationContext):
(WebKit::WebPage::rvItemForCurrentSelection):
(WebKit::WebPage::requestRVItemInCurrentSelectedRange):
(WebKit::WebPage::prepareSelectionForContextMenuWithLocationInView):
- 9:03 AM Changeset in webkit [289817] by
-
- 3 edits in trunk/Source/WebKit
Modify getAllLocalAuthenticatorCredentials according to internal requirements
https://bugs.webkit.org/show_bug.cgi?id=236364
rdar://88585418
Reviewed by Brent Fulgham.
This patch modifies the getAllLocalAuthenticatorCredentials SPI to return additional
fields according to internal needs.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(updateCredentialIfNessesary):
(getAllLocalAuthenticatorCredentialsImpl):
- 8:03 AM Changeset in webkit [289816] by
-
- 4 edits in trunk/Source/WebKit
[GTK][WPE] Move WebPage::platformInitialize and WebPage::platformDetach() to WebPageGLib.cpp
https://bugs.webkit.org/show_bug.cgi?id=236646
Reviewed by Adrian Perez de Castro.
It's duplicated code related to accessibility.
- WebProcess/WebPage/glib/WebPageGLib.cpp:
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::platformDetach):
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize): Deleted.
(WebKit::WebPage::platformDetach): Deleted.
- WebProcess/WebPage/wpe/WebPageWPE.cpp:
(WebKit::WebPage::platformInitialize): Deleted.
(WebKit::WebPage::platformDetach): Deleted.
- 7:45 AM Changeset in webkit [289815] by
-
- 3 edits in trunk/Tools
[EWS] Need /bin/sh equivalent on wincairo
https://bugs.webkit.org/show_bug.cgi?id=236608
<rdar://problem/88926062>
Reviewed by Don Olmstead.
- Tools/CISupport/ews-build/steps.py:
(ShellMixin.shell_command): Invoke provided command with
the system shell (either /bin/sh or cmd)
(ShellMixin.shell_exit_0): Trailing shell command ensuring
a 0 exit code regardless of the outcome of previous commands.
(ApplyPatch.start): Invoke command with cmd or /bin/sh/.
(CheckOutPullRequest.run): Ditto.
(CleanGitRepo.run): Ditto.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247276@main
- 7:42 AM Changeset in webkit [289814] by
-
- 5 edits in trunk/Source/WebCore
Do not update the fragmented flow state while internally mutating the render tree
https://bugs.webkit.org/show_bug.cgi?id=230896
Reviewed by Darin Adler.
RenderTree mutations (like those happening when creating/destroying anonymous blocks)
should not affect the fragment state of any renderer. This means that we should not have
to deal with things like creating/restoring placeholders/spanners while doing that.
There is already a IsInternalMove flag that is being used for that. Expand its usage
to a couple more methods to improve correctness.
- rendering/LegacyRootInlineBox.cpp:
(WebCore::LegacyRootInlineBox::~LegacyRootInlineBox): Do not remove the inline box from
the ContainingFragmentMap if we're deleting the tree. It was causing ASSERTs trying to
retrieve the enclosing fragmented flow in some cases.
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::attachToRenderElementInternal): Use the RenderTreeBuilder's
m_internalTreeBuilding instead of the argument.
(WebCore::RenderTreeBuilder::move): Replace passing the IsInternalMove argument by a
scope where we don't update the fragmented flow state.
(WebCore::RenderTreeBuilder::detachFromRenderElement): Use the RenderTreeBuilder's
m_internalMovesType instead of the argument.
- rendering/updating/RenderTreeBuilder.h:
- rendering/updating/RenderTreeBuilderInline.cpp:
(WebCore::RenderTreeBuilder::Inline::splitInlines): Wrap the method by a scope in which
fragmented flow state is not updated because we consider those operations internal arrangements
of the tree.
- 7:22 AM Changeset in webkit [289813] by
-
- 16 edits1 copy6 adds in trunk
[Forms] the select() method returns should be in line with specs
https://bugs.webkit.org/show_bug.cgi?id=236435
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
Source/WebCore:
This CL is to correct the returns for select() method to be in line
with specs at
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-textarea%2Finput-select
It updates the expectations for a few WPT tests as more sub-tests are now passing.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::selectionStartForBindings const):
(WebCore::HTMLInputElement::setSelectionStartForBindings):
(WebCore::HTMLInputElement::selectionEndForBindings const):
(WebCore::HTMLInputElement::setSelectionEndForBindings):
(WebCore::HTMLInputElement::selectionDirectionForBindings const):
(WebCore::HTMLInputElement::setSelectionDirectionForBindings):
(WebCore::HTMLInputElement::setSelectionRangeForBindings):
- html/HTMLInputElement.h:
- html/HTMLInputElement.idl:
LayoutTests:
- fast/forms/selection-functions-expected.txt:
- fast/forms/selection-wrongtype-expected.txt:
- fast/forms/selection-wrongtype.html:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
- 7:20 AM Changeset in webkit [289812] by
-
- 4 edits in trunk
[Forms] Make sure the element's dirty checkedness flag is set to true when setting checked
https://bugs.webkit.org/show_bug.cgi?id=236497
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Update the test expectations as the tests are now passing.
- web-platform-tests/html/semantics/forms/the-input-element/cloning-steps-expected.txt:
Source/WebCore:
As per spec
https://html.spec.whatwg.org/multipage/input.html#the-input-element%3Aconcept-node-clone-ext,
"The checked IDL attribute allows scripts to manipulate the checkedness of an input element.
... on setting, it must set the element's checkedness to the new value and set the element's
dirty checkedness flag to true." This CL is to make sure this flag is set to true.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
- 7:10 AM Changeset in webkit [289811] by
-
- 2 edits in trunk/Tools
[JSC] Speed up getStatusMap and increase robustness
https://bugs.webkit.org/show_bug.cgi?id=236559
Reviewed by Adrian Perez de Castro.
Collect test results in parallel. Also, ignore ssh errors during
collection (e.g. because the remote host is down) -- the main retry
loop will take care of that for us.
This should both avoid needless failures like
https://build.webkit.org/#/builders/31/builds/2432 and reduce the
latency when there are multiple remotes (e.g. for MIPS).
- Scripts/run-jsc-stress-tests:
- 6:53 AM Changeset in webkit [289810] by
-
- 4 edits in trunk
Scrolling while focusing an element should take into account scroll margin
https://bugs.webkit.org/show_bug.cgi?id=235432
Reviewed by Simon Fraser.
Source/WebCore:
No new tests. This is covered by existing WPT tests.
- page/FrameView.cpp:
(WebCore::FrameView::scrollToFocusedElementInternal): Respect the scroll margin
when focusing an element.
LayoutTests:
- TestExpectations: Mark two tests as passing.
- 6:45 AM WebKitGTK/2.34.x edited by
- (diff)
- 6:44 AM Changeset in webkit [289809] by
-
- 3 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r289620 - [GTK] WebKit browser scrollbars not always correctly displayed if overlay scrollbars are disabled
https://bugs.webkit.org/show_bug.cgi?id=234874
Patch by Michael Catanzaro <Michael Catanzaro> on 2022-02-11
Reviewed by Carlos Garcia Campos.
If overlay scrollbars are disabled, and there is not enough content for the page to be
scrollable, and scrollbars are forced using overflow:scroll, then we currently fail to
paint the scrollbars properly. At minimum, we need to paint the scrollbar background, which
is what the macOS port does. Do so.
In the future, we might want to additionally paint the rest of the scrollbars, similar to
the GTK_POLICY_ALWAYS scrollbar policy type, but this would require more work.
- platform/adwaita/ScrollbarThemeAdwaita.cpp:
(WebCore::ScrollbarThemeAdwaita::paint):
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paint):
- 6:30 AM Changeset in webkit [289808] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34/Source
Merge r289804 - [GTK] D-Bus crash atk-bridge
https://bugs.webkit.org/show_bug.cgi?id=236208
Reviewed by Adrian Perez de Castro.
Source/WebCore:
When a root is unregistered, check first if the registration is still pending to just complete and remove it.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::unregisterRoot):
Source/WebKit:
It seems that for some reason we might end up with an empty string as plug ID which ATK doesn't handle right. We
should not send the BindAccessibilityTree message if the plug ID is not valid. In the case of ATSPI we can just
check it's not empty, since we know we always build a valid ID when we have a connection. In the case of ATK we
should check it's a valid unique name and object path.
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
- 6:23 AM WebKitGTK/2.34.x edited by
- (diff)
- 6:23 AM Changeset in webkit [289807] by
-
- 5 edits in releases/WebKitGTK/webkit-2.34/Source
Merge r289795 - [GTK][WPE] Inclusion of OpenGLShims.h should not depend on USE(GLX)
https://bugs.webkit.org/show_bug.cgi?id=236593
Reviewed by Michael Catanzaro.
Source/WebCore:
No new tests needed.
- platform/graphics/GLContext.cpp: Remove inclusion of OpenGLShims.h guarded by USE(GLX).
- platform/graphics/GLContext.h: Include OpenGLShims.h as fallback option when neither
USE(LIBEPOXY) nor USE(OPENGL_ES) are into effect.
Source/WebKit:
- UIProcess/API/glib/WebKitProtocolHandler.cpp: Move inclusion of GL/glx.h under a
PLATFORM(X11) guard, and inclusion of WebCore/OpenGLShims.h into a chain of guards
which picks it if USE(LIBEPOXY) and USE(OPENGL_ES) are both false, which is the same
checks done in other parts of the code where these are needed.
- 6:22 AM Changeset in webkit [289806] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r289216): Crash in DocumentTimeline::animationCanBeRemoved
https://bugs.webkit.org/show_bug.cgi?id=236615
<rdar://problem/88943156>
Reviewed by Michael Catanzaro.
Use the default style if we can't obtain one from the target's renderer.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animationCanBeRemoved):
- 6:20 AM Changeset in webkit [289805] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WTF
Merge r289761 - [Linux/aarch64] Move page size ceiling to 16k
https://bugs.webkit.org/show_bug.cgi?id=236564
Patch by Gustavo Noronha Silva <gustavo@noronha.dev.br> on 2022-02-14
Reviewed by Yusuke Suzuki.
On Apple Silicon, Linux needs to use 16k pages to be as fast as possible. This change has no
visible impact on binary size for release builds, so apply it to all of aarch64 Linux.
- wtf/PageBlock.h:
- 6:07 AM Changeset in webkit [289804] by
-
- 4 edits in trunk/Source
[GTK] D-Bus crash atk-bridge
https://bugs.webkit.org/show_bug.cgi?id=236208
Reviewed by Adrian Perez de Castro.
Source/WebCore:
When a root is unregistered, check first if the registration is still pending to just complete and remove it.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::unregisterRoot):
Source/WebKit:
It seems that for some reason we might end up with an empty string as plug ID which ATK doesn't handle right. We
should not send the BindAccessibilityTree message if the plug ID is not valid. In the case of ATSPI we can just
check it's not empty, since we know we always build a valid ID when we have a connection. In the case of ATK we
should check it's a valid unique name and object path.
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
- 6:06 AM Changeset in webkit [289803] by
-
- 2 edits in trunk/Source/WebKit
Memory for messages wrapped for testing is freed before use
https://bugs.webkit.org/show_bug.cgi?id=236590
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-15
Reviewed by Antti Koivisto.
Wrapped messages are such that the data is wrapped inside a synchronous message.
These are sent by certain test objects.
In case the wrapped message was sent to another thread, the wrappee would be
destroyed before the wrapped message was read.
This is a regression from "Support in-process testing of IPC messages"
where the Decoder constructor with deallocator parameter was changed to
unconditionally mean that the Decoder owns the passed in data.
This call-site was missed, and it uses the constructor to pass nullptr
deallocator. Previously this used to mean that the constructor should
copy the data.
Fix by using the copying Decoder constructor.
Add assertion to the ownership-transfer decoder that the deallocation
function is non-null to notice the potential misuse. Currently passing
globally owned data, e.g. non-deallocated data is not useful.
Remove pessimizing WTFMove of a local variabl from a return position.
No new tests, caught by fast/events/gesture/wheel-from-gesture.html with ASAN.
- Platform/IPC/Decoder.cpp:
(IPC::Decoder::create):
(IPC::Decoder::unwrapForTesting):
- 5:10 AM Changeset in webkit [289802] by
-
- 2 edits in trunk/Source/WebKit
GPUP WebGL: WTF::RefCountedBase::applyRefDerefThreadingCheck() fails due to RemoteGraphicsContextGL::paintPixelBufferToImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=236501
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-15
Reviewed by Antti Koivisto.
No new tests, tested by existing WebGL conformance tests which fail from time to time with the assertion.
Avoid assertion about cross-thread deref on ArrayBufferView owned by PixelBuffer. The PixelBuffer
is passed to RemoteRenderingBackend thread for drawing and then deallocated there. In this use-case
no other referneces to the ArrayBufferView exist and the PixelBuffer is moved, so it is safe to
disable the cross-thread deref assertion.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):
- 4:35 AM WebKitGTK/2.34.x edited by
- (diff)
- 4:31 AM Changeset in webkit [289801] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Add mold linker
https://bugs.webkit.org/show_bug.cgi?id=236362
Reviewed by Philippe Normand.
The Mold linker claims to be faster than Gold and LLD, and while it does not support LTO
at the moment, it has reachd a reasonable level of maturity and can be used for projects
as complex as WebKit already.
Mold can be used in combination with the Clang compiler driver or GCC 12+ by passing
-fuse-ld=mold as a linker flag, for example as follows:
% LDFLAGS=-fuse-ld=mold Tools/Scripts/build-webkit [...]
% LDFLAGS=-fuse-ld=mold CC=clang CXX=clang++ Tools/Scripts/build-webkit [...]
As GCC 11 and older, the -fuse-ld=mold option is not supported. It is still possible to
use -B to instruct the compiler driver to try a different path first for helper programs,
and a wrapper for Mold called "ld" is available as well:
% LDFLAGS=-B/usr/libexec/mold Tools/Scripts/build-webkit [...]
- elements/sdk-platform.bst: List sdk/mold.bst as part of the SDK.
- elements/sdk/mold.bst: Added.
- 4:01 AM Changeset in webkit [289800] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][MSE] Let MSE set natural video size when using holepunch
https://bugs.webkit.org/show_bug.cgi?id=236453
Reviewed by Xabier Rodriguez-Calvar.
Currently the holepunch implementation completely overrides the video size to a hardcoded
value. It would be desirable to let the m_videoSize value set by
MediaPlayerPrivateGStreamerMSE::setInitialVideoSize() take precedence over the hardcoded value.
This is a fix for media element events test case from YTS:
https://ytlr-cert.appspot.com/2021/main.html?tests=18
This patch is authored by Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/775
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::naturalSize const): Return m_videoSize when set.
- 3:25 AM WebKitGTK/2.34.x edited by
- (diff)
- 1:37 AM Changeset in webkit [289799] by
-
- 5 edits6 adds1 delete in trunk/Source
[WGSL] Implement enough of the lexer for the simplest shaders
https://bugs.webkit.org/show_bug.cgi?id=233276
<rdar://problem/85732675>
Reviewed by Myles Maxfield.
Source/WebGPU:
There is just enough of the lexer in this patch to pass the unit tests (also added by the patch).
The lexer is templated by the character size, following the code from JSC's lexer.
I did not use a lexer generator like lex for a few reasons:
- It would have made the build system(s) even more of a nightmare
- It would have made it harder to give accurate and customized error messages
- If we ever decide to do anything exotic to the grammar of the language, it could have made it much harder
The lexing of floating point literals is a bit hacky, and probably has some precision issues in corner cases, but it passed all simple unit tests,
so for now I just left it as is with a FIXME, to be fixed once we can run the full CTS.
The TokenType includes an
Invalidvalue. I could instead have used std::optional<Token> everywhere.
I made this choice for two reasons:
- space efficiency: we don't use an extra word of memory for the variant's tag
- (although this part could be solved by using https://github.com/akrzemi1/markable)
- ease of use and time efficiency: everywhere that we check for a given TokenType, we would have to first check that the Token is not nullopt, and then check the TokenType.
- Configurations/WGSLUnitTests.xcconfig:
- WGSL/Lexer.cpp: Added.
(WGSL::Lexer<T>::lex):
(WGSL::Lexer<T>::shift):
(WGSL::Lexer<T>::peek):
(WGSL::Lexer<T>::skipWhitespace):
(WGSL::Lexer<T>::isAtEndOfFile const):
(WGSL::Lexer<T>::parseDecimalInteger):
(WGSL::Lexer<T>::parseDecimalFloatExponent):
(WGSL::Lexer<T>::parseIntegerLiteralSuffix):
(WGSL::Lexer<LChar>::isWhiteSpace):
(WGSL::Lexer<LChar>::isIdentifierStart):
(WGSL::Lexer<LChar>::isValidIdentifierCharacter):
(WGSL::Lexer<LChar>::isDecimal):
(WGSL::Lexer<LChar>::isHexadecimal):
(WGSL::Lexer<LChar>::readDecimal):
(WGSL::Lexer<LChar>::readHexadecimal):
(WGSL::Lexer<UChar>::isWhiteSpace):
(WGSL::Lexer<UChar>::isIdentifierStart):
(WGSL::Lexer<UChar>::isValidIdentifierCharacter):
(WGSL::Lexer<UChar>::isDecimal):
(WGSL::Lexer<UChar>::isHexadecimal):
(WGSL::Lexer<UChar>::readDecimal):
(WGSL::Lexer<UChar>::readHexadecimal):
- WGSL/Lexer.h: Added.
(WGSL::Lexer::Lexer):
(WGSL::Lexer::currentPosition const):
(WGSL::Lexer::currentOffset const):
(WGSL::Lexer::currentTokenLength const):
(WGSL::Lexer::makeToken):
(WGSL::Lexer::makeLiteralToken):
(WGSL::Lexer::makeIdentifierToken):
- WGSL/SourceSpan.h: Added.
(WGSL::SourceSpan::SourceSpan):
- WGSL/Token.cpp: Added.
(WGSL::toString):
- WGSL/Token.h: Added.
(WGSL::Token::Token):
(WGSL::Token::operator=):
(WGSL::Token::~Token):
- WGSL/WGSL.cpp:
(WGSL::staticCheck):
- WGSLUnitTests/WGSLLexerTests.mm: Added.
(-[WGSLLexerTests testLexerOnSingleTokens]):
(-[WGSLLexerTests testLexerOnComputeShader]):
(-[WGSLLexerTests testLexerOnGraphicsShader]):
- WGSLUnitTests/WGSLUnitTests.mm: Removed.
(-[WGSLUnitTests testExample]): Deleted.
- WebGPU.xcodeproj/project.pbxproj:
Source/WTF:
Add WTF::Unicode::formFeed and WTF::Unicode::verticalTabulation.
- wtf/unicode/CharacterNames.h:
- 1:23 AM Changeset in webkit [289798] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Include sparkle-cdm library
https://bugs.webkit.org/show_bug.cgi?id=236562
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-15
Reviewed by Martin Robinson.
This new recipe ships the Sparkle-CDM library, providing an alternative to Thunder. A
ClearKey plugin is provided as well, it will be used later on by the Thunder decryptor,
instead of the dedicated decryptor maintained in WebCore. The goals are to reduce GStreamer
decryptors maintenance here and to dog-food the Thunder code paths using the clearkey layout
tests.
- elements/sdk-platform.bst:
- elements/sdk/sparkle-cdm.bst: Added.
- 1:20 AM Changeset in webkit [289797] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Include a GStreamer DTLS transport bug fix
https://bugs.webkit.org/show_bug.cgi?id=236591
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-15
Reviewed by Martin Robinson.
This patch is needed for the GstWebRTC backend.
- elements/sdk/gst-plugins-bad.bst:
- patches/gstreamer-0001-dtlstransport-Notify-ICE-transport-property-changes.patch: Added.
- 1:18 AM Changeset in webkit [289796] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Update to libnice development snapshot
https://bugs.webkit.org/show_bug.cgi?id=236537
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-15
Reviewed by Martin Robinson.
Until there is 0.1.19 release, rely on development branch.
- elements/freedesktop-sdk.bst:
- patches/fdo-0001-Bump-libnice-to-current-git-master-HEAD.patch: Added.
- 1:07 AM Changeset in webkit [289795] by
-
- 5 edits in trunk/Source
[GTK][WPE] Inclusion of OpenGLShims.h should not depend on USE(GLX)
https://bugs.webkit.org/show_bug.cgi?id=236593
Reviewed by Michael Catanzaro.
Source/WebCore:
No new tests needed.
- platform/graphics/GLContext.cpp: Remove inclusion of OpenGLShims.h guarded by USE(GLX).
- platform/graphics/GLContext.h: Include OpenGLShims.h as fallback option when neither
USE(LIBEPOXY) nor USE(OPENGL_ES) are into effect.
Source/WebKit:
- UIProcess/API/glib/WebKitProtocolHandler.cpp: Move inclusion of GL/glx.h under a
PLATFORM(X11) guard, and inclusion of WebCore/OpenGLShims.h into a chain of guards
which picks it if USE(LIBEPOXY) and USE(OPENGL_ES) are both false, which is the same
checks done in other parts of the code where these are needed.
- 1:04 AM Changeset in webkit [289794] by
-
- 3 edits2 adds in trunk
null ptr deref in WebCore::HTMLModelElement::enterFullscreen()
https://bugs.webkit.org/show_bug.cgi?id=236409
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-15
Reviewed by Darin Adler.
Source/WebCore:
m_modelPlayer is a RefPtr that can become nullptr, so it needs a check before
dereferencing in HTMLModelElement::enterFullscreen(), as is done in other parts of
this class.
Also added a similar check missing in HTMLModelElement::platformLayer(), which was identified via code inspection.
Test: model-element/model-element-enter-fullscreen-crash.html
- Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::platformLayer const):
(WebCore::HTMLModelElement::enterFullscreen):
LayoutTests:
- model-element/model-element-enter-fullscreen-crash-expected.txt: Added.
- model-element/model-element-enter-fullscreen-crash.html: Added.
- 12:36 AM Changeset in webkit [289793] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
l10n: Updated Hebrew translation of WebKitGTK
https://bugs.webkit.org/show_bug.cgi?id=236603
Patch by Yosef Or Boczko <yoseforb@gmail.com> on 2022-02-15
Rubber-stamped by Carlos Garcia Campos.
- he.po:
- 12:34 AM Changeset in webkit [289792] by
-
- 6 edits1 copy in trunk
REGRESSION(r195447): [GTK] document.activeElement not set on mouse click
https://bugs.webkit.org/show_bug.cgi?id=236217
Reviewed by Michael Catanzaro.
Source/WebCore:
Bring back the behavior before r195447 and focus the links on click which is consistent with other browser in
Linux and ensures active element is the expected one on a click event listener.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isMouseFocusable const):
LayoutTests:
- fast/events/click-focus-anchor-expected.txt:
- fast/events/click-focus-anchor.html:
- platform/glib/TestExpectations: Mark imported/blink/fast/events/click-focus-keydown-no-ring.html as failure.
- platform/glib/fast/events/click-focus-anchor-expected.txt: Copied from LayoutTests/fast/events/click-focus-anchor-expected.txt.
- 12:26 AM Changeset in webkit [289791] by
-
- 2 edits in trunk/JSTests
[JSC] Reduce iterations for getter-richards.js on MIPS
https://bugs.webkit.org/show_bug.cgi?id=236594
Patch by Xan Lopez <Xan Lopez> on 2022-02-15
Reviewed by Adrian Perez de Castro.
- typeProfiler/getter-richards.js: do 50 iterations on MIPS.
Feb 14, 2022:
- 11:34 PM Changeset in webkit [289790] by
-
- 87 edits3 deletes in trunk
ExtensionsGL is not useful class, it should be removed
https://bugs.webkit.org/show_bug.cgi?id=236490
Source/WebCore:
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-14
Reviewed by Dean Jackson.
Remove ExtensionsGL. It is not a useful class, it does not abstract anything.
It has similar functions to GraphicsContextGL subclass, and needs and uses GraphicsContextGL subclass
underneath.
It is a problematic class as it is obtained through a virtual function, but that
virtual function override is being called during construction of the GraphicsContextGL subclass
instance.
Also the ExtensionsGL will neccessarily call back to GraphicsContextGL subclass instance being
constructed.
Current getExtensions() virtual function override calls are expected to go
where the C++ defines them going during construction.
Current calls back to the GraphicsContextGL subclass instance during construction *should*
access state that is already initialized, but it is quite error-prone and hard to
analyze.
Move ExtensionsGL functions to GraphicsContextGL. Make call-sites call the context instead of the
extension helper. Rename the functions with pattern "isSupported" -> "isExtensionSupported".
Remove GraphicsContextGL::getExtensions() virtual function call.
For legacy contexts GraphicsContextGLOpenGL, GraphicsContextGLOpenGLES preserve their
ExtensionGLCommon subclasses. Accessing it happens from a normal function from legacy call sites
that know that they're calling GraphicsContextGLOpenGL.
For GraphicsContextGLANGLE, move context initialization code to GraphicsContextGLANGLE::initialize()
instead of the constructor. This way the initialization code can call virtual functions and the calls
are delivered normally to the last overrider.
RemoteGraphicsContextGLProxyBase can now be removed, as it is unneeded anyway and its added virtual
functions would cause inconvenient naming duplication.
No new tests, a refactor.
- CMakeLists.txt:
- Headers.cmake:
- Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::startFrame):
(WebCore::WebXROpaqueFramebuffer::setupFramebuffer):
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/canvas/ANGLEInstancedArrays.cpp:
(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
(WebCore::ANGLEInstancedArrays::supported):
- html/canvas/ANGLEInstancedArrays.h:
- html/canvas/EXTColorBufferFloat.cpp:
(WebCore::EXTColorBufferFloat::EXTColorBufferFloat):
(WebCore::EXTColorBufferFloat::supported):
- html/canvas/EXTColorBufferFloat.h:
- html/canvas/EXTColorBufferHalfFloat.cpp:
(WebCore::EXTColorBufferHalfFloat::EXTColorBufferHalfFloat):
(WebCore::EXTColorBufferHalfFloat::supported):
- html/canvas/EXTColorBufferHalfFloat.h:
- html/canvas/EXTFloatBlend.cpp:
(WebCore::EXTFloatBlend::EXTFloatBlend):
(WebCore::EXTFloatBlend::supported):
- html/canvas/EXTFloatBlend.h:
- html/canvas/EXTTextureCompressionRGTC.cpp:
(WebCore::EXTTextureCompressionRGTC::EXTTextureCompressionRGTC):
- html/canvas/KHRParallelShaderCompile.cpp:
(WebCore::KHRParallelShaderCompile::KHRParallelShaderCompile):
(WebCore::KHRParallelShaderCompile::supported):
- html/canvas/KHRParallelShaderCompile.h:
- html/canvas/OESFBORenderMipmap.cpp:
(WebCore::OESFBORenderMipmap::OESFBORenderMipmap):
(WebCore::OESFBORenderMipmap::supported):
- html/canvas/OESFBORenderMipmap.h:
- html/canvas/OESTextureFloat.cpp:
(WebCore::OESTextureFloat::OESTextureFloat):
(WebCore::OESTextureFloat::supported):
- html/canvas/OESTextureFloat.h:
- html/canvas/OESTextureHalfFloat.cpp:
(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
(WebCore::OESTextureHalfFloat::supported):
- html/canvas/OESTextureHalfFloat.h:
- html/canvas/OESVertexArrayObject.cpp:
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::initializeShaderExtensions):
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- html/canvas/WebGLColorBufferFloat.cpp:
(WebCore::WebGLColorBufferFloat::WebGLColorBufferFloat):
(WebCore::WebGLColorBufferFloat::supported):
- html/canvas/WebGLColorBufferFloat.h:
- html/canvas/WebGLCompressedTextureASTC.cpp:
(WebCore::WebGLCompressedTextureASTC::WebGLCompressedTextureASTC):
(WebCore::WebGLCompressedTextureASTC::supported):
- html/canvas/WebGLCompressedTextureASTC.h:
- html/canvas/WebGLCompressedTextureATC.cpp:
(WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
(WebCore::WebGLCompressedTextureATC::supported):
- html/canvas/WebGLCompressedTextureATC.h:
- html/canvas/WebGLCompressedTextureETC.cpp:
(WebCore::WebGLCompressedTextureETC::WebGLCompressedTextureETC):
(WebCore::WebGLCompressedTextureETC::supported):
- html/canvas/WebGLCompressedTextureETC.h:
- html/canvas/WebGLCompressedTextureETC1.cpp:
(WebCore::WebGLCompressedTextureETC1::WebGLCompressedTextureETC1):
(WebCore::WebGLCompressedTextureETC1::supported):
- html/canvas/WebGLCompressedTextureETC1.h:
- html/canvas/WebGLCompressedTexturePVRTC.cpp:
(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
(WebCore::WebGLCompressedTexturePVRTC::supported):
- html/canvas/WebGLCompressedTexturePVRTC.h:
- html/canvas/WebGLCompressedTextureS3TC.cpp:
(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
(WebCore::WebGLCompressedTextureS3TC::supported):
- html/canvas/WebGLCompressedTextureS3TC.h:
- html/canvas/WebGLCompressedTextureS3TCsRGB.cpp:
(WebCore::WebGLCompressedTextureS3TCsRGB::WebGLCompressedTextureS3TCsRGB):
(WebCore::WebGLCompressedTextureS3TCsRGB::supported):
- html/canvas/WebGLCompressedTextureS3TCsRGB.h:
- html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::WebGLDebugShaders):
(WebCore::WebGLDebugShaders::getTranslatedShaderSource):
- html/canvas/WebGLDepthTexture.cpp:
(WebCore::WebGLDepthTexture::WebGLDepthTexture):
(WebCore::WebGLDepthTexture::supported):
- html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):
- html/canvas/WebGLFramebuffer.cpp:
(WebCore::getClearBitsByAttachmentType):
(WebCore::getClearBitsByFormat):
(WebCore::WebGLFramebuffer::checkStatus const):
(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
(WebCore::WebGLFramebuffer::getDrawBuffer):
- html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::WebGLMultiDraw):
(WebCore::WebGLMultiDraw::supported):
- html/canvas/WebGLMultiDraw.h:
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getMaxDrawBuffers):
(WebCore::WebGLRenderingContext::getMaxColorAttachments):
(WebCore::WebGLRenderingContext::validateBlendEquation):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::getChannelBitsByFormat):
(WebCore::possibleFormatAndTypeForInternalFormat):
(WebCore::WebGLRenderingContextBase::setupFlags):
(WebCore::WebGLRenderingContextBase::getParameter):
(WebCore::WebGLRenderingContextBase::getProgramParameter):
(WebCore::WebGLRenderingContextBase::getShaderParameter):
(WebCore::WebGLRenderingContextBase::getTexParameter):
(WebCore::WebGLRenderingContextBase::getUniform):
(WebCore::WebGLRenderingContextBase::hint):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::renderbufferStorageImpl):
(WebCore::WebGLRenderingContextBase::validateTexFuncFormatAndType):
(WebCore::WebGLRenderingContextBase::texParameter):
(WebCore::WebGLRenderingContextBase::loseContextImpl):
(WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
(WebCore::WebGLRenderingContextBase::validateCompressedTexDimensions):
(WebCore::WebGLRenderingContextBase::validateCompressedTexSubDimensions):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::getMaxDrawBuffers):
(WebCore::WebGLRenderingContextBase::getMaxColorAttachments):
(WebCore::WebGLRenderingContextBase::enableSupportedExtension):
- html/canvas/WebGLVertexArrayObjectOES.cpp:
- loader/FrameLoaderClient.h:
- platform/graphics/ExtensionsGL.h: Removed.
- platform/graphics/GraphicsContextGL.cpp:
(WebCore::GraphicsContextGL::computeFormatAndTypeParameters):
- platform/graphics/GraphicsContextGL.h:
- platform/graphics/RemoteGraphicsContextGLProxyBase.cpp:
- platform/graphics/RemoteGraphicsContextGLProxyBase.h:
- platform/graphics/angle/ExtensionsGLANGLE.cpp: Removed.
- platform/graphics/angle/ExtensionsGLANGLE.h: Removed.
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::initialize):
(WebCore::GraphicsContextGLANGLE::platformInitializeContext):
(WebCore::GraphicsContextGLANGLE::platformInitialize):
(WebCore::GraphicsContextGLANGLE::texImage2D):
(WebCore::GraphicsContextGLANGLE::validateDepthStencil):
(WebCore::GraphicsContextGLANGLE::supportsExtension):
(WebCore::GraphicsContextGLANGLE::ensureExtensionEnabled):
(WebCore::GraphicsContextGLANGLE::isExtensionEnabled):
(WebCore::GraphicsContextGLANGLE::getGraphicsResetStatusARB):
(WebCore::GraphicsContextGLANGLE::getTranslatedShaderSourceANGLE):
(WebCore::GraphicsContextGLANGLE::drawBuffersEXT):
(WebCore::GraphicsContextGLANGLE::adjustWebGL1TextureInternalFormat):
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
- platform/graphics/cocoa/GraphicsContextGLCocoa.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::create):
(WebCore::GraphicsContextGLCocoa::GraphicsContextGLCocoa):
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLCocoa::platformInitializeContext):
(WebCore::GraphicsContextGLCocoa::platformInitialize):
(WebCore::GraphicsContextGLCocoa::reshapeDisplayBufferBacking):
(WebCore::GraphicsContextGLCocoa::allocateAndBindDisplayBufferBacking):
(WebCore::GraphicsContextGLCocoa::bindDisplayBufferBacking):
(WebCore::GraphicsContextGLCocoa::prepareForDisplay):
- platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm:
(WebCore::createWebProcessGraphicsContextGL):
- platform/graphics/opengl/ExtensionsGLOpenGL.cpp:
(WebCore::ExtensionsGLOpenGL::platformSupportsExtension):
- platform/graphics/opengl/ExtensionsGLOpenGL.h:
- platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp:
(WebCore::ExtensionsGLOpenGLCommon::supports):
(WebCore::ExtensionsGLOpenGLCommon::ensureEnabled):
- platform/graphics/opengl/ExtensionsGLOpenGLCommon.h:
- platform/graphics/opengl/ExtensionsGLOpenGLES.cpp:
(WebCore::ExtensionsGLOpenGLES::isEnabled):
(WebCore::ExtensionsGLOpenGLES::getGraphicsResetStatusARB):
(WebCore::ExtensionsGLOpenGLES::platformSupportsExtension):
- platform/graphics/opengl/ExtensionsGLOpenGLES.h:
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::getExtensions):
(WebCore::GraphicsContextGLOpenGL::validateDepthStencil):
(WebCore::GraphicsContextGLOpenGL::supportsExtension):
(WebCore::GraphicsContextGLOpenGL::ensureExtensionEnabled):
(WebCore::GraphicsContextGLOpenGL::isExtensionEnabled):
(WebCore::GraphicsContextGLOpenGL::getGraphicsResetStatusARB):
(WebCore::GraphicsContextGLOpenGL::drawBuffersEXT):
(WebCore::GraphicsContextGLOpenGL::getTranslatedShaderSourceANGLE):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:
(WebCore::GraphicsContextGLOpenGL::texImage2D):
(WebCore::GraphicsContextGLOpenGL::getExtensions):
- platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp:
(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
(WebCore::GraphicsContextGLOpenGL::validateAttributes):
(WebCore::GraphicsContextGLOpenGL::getExtensions):
- platform/graphics/texmap/BitmapTextureGL.cpp:
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::GraphicsContextGLTextureMapper::create):
(WebCore::createWebProcessGraphicsContextGL):
- platform/graphics/texmap/GraphicsContextGLTextureMapper.h:
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLTextureMapper::prepareForDisplay):
(WebCore::GraphicsContextGLTextureMapper::reshapeDisplayBufferBacking):
- platform/graphics/texmap/TextureMapperGL.cpp:
Source/WebKit:
Move the RemoteGraphicsContextGLProxyBase functions to
RemoteGraphicsContextGL. The ..Base can now be removed
as ExtensionGL is removed.
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-14
Reviewed by Dean Jackson.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::workQueueInitialize):
(WebKit::RemoteGraphicsContextGL::ensureExtensionEnabled):
(WebKit::RemoteGraphicsContextGL::markContextChanged):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(getGraphicsResetStatusARB):
(getTranslatedShaderSourceANGLE):
(drawBuffersEXT):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::RemoteGraphicsContextGLProxy):
(WebKit::RemoteGraphicsContextGLProxy::setContextVisibility):
(WebKit::RemoteGraphicsContextGLProxy::isGLES2Compliant const):
(WebKit::RemoteGraphicsContextGLProxy::markContextChanged):
(WebKit::RemoteGraphicsContextGLProxy::supportsExtension):
(WebKit::RemoteGraphicsContextGLProxy::ensureExtensionEnabled):
(WebKit::RemoteGraphicsContextGLProxy::isExtensionEnabled):
(WebKit::RemoteGraphicsContextGLProxy::initialize):
(WebKit::RemoteGraphicsContextGLProxy::reshape):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
Tools:
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-14
Reviewed by Dean Jackson.
Update manually implemented functions.
- Scripts/generate-gpup-webgl:
- TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLCocoa.mm:
- 10:29 PM Changeset in webkit [289789] by
-
- 8 edits in trunk
[CSS Container Queries] Support range operators in size queries
https://bugs.webkit.org/show_bug.cgi?id=236600
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
Source/WebCore:
Support (width > 100px) and similar.
- css/ContainerQueryParser.cpp:
(WebCore::ContainerQueryParser::consumeSizeQuery):
(WebCore::ContainerQueryParser::consumeSizeFeature):
Factor into a function.
Add operator support. No reverse (100px < width) or full range (10px < width < 100px) yet.
The evaluator supports these already.
- css/ContainerQueryParser.h:
LayoutTests:
- 7:55 PM Changeset in webkit [289788] by
-
- 3 edits in trunk/Source/bmalloc
[libpas] compact pointers should load payload via memcpy
https://bugs.webkit.org/show_bug.cgi?id=236621
Reviewed by Mark Lam.
ASan found that we are loading 8 bytes which can potentially be overflowed.
For example, we load this from a pointer to stack variable, which means that
we could cause stack overflow. Instead we should use memcpy.
Currently, we only support little endian code, but it is OK since libpas is not
enabled in non little endian architectures.
- libpas/src/libpas/pas_compact_ptr.h:
- libpas/src/libpas/pas_compact_tagged_ptr.h:
- 6:16 PM Changeset in webkit [289787] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r288804): fast/forms/visual-hebrew-text-field.html is failing
https://bugs.webkit.org/show_bug.cgi?id=236325
Reviewed by Dean Jackson.
The test failure is caused by pre-existing inter-test dependencies.
Workaround whatever the underlying cause for the test failure by forcing
the use of ephemeral session for now.
- fast/forms/visual-hebrew-text-field.html:
- 5:47 PM Changeset in webkit [289786] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
Expand pixel range.
- css3/color-filters/color-filter-color-text-decorations.html:
- 5:34 PM Changeset in webkit [289785] by
-
- 2 edits in trunk/Source/WebKit
Direct touches don't trigger other gesture recognizers if WKMouseGestureRecognizer sees them first
https://bugs.webkit.org/show_bug.cgi?id=236617
Reviewed by Wenson Hsieh.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
WKMouseGestureRecognizer should only completely steal touches of type
UITouchTypeIndirectPointer. Other touch types (e.g. synthetic direct touches)
still need to trigger other WKContentViewInteraction gesture recognizers
(like long-press and double-tap) despite WKMouseGestureRecognizer
seeing their touches. So, check the touch type before early-returning.
- 5:05 PM Changeset in webkit [289784] by
-
- 2 edits in trunk/Tools
[EWS] Support PRs when sending build failure emails
https://bugs.webkit.org/show_bug.cgi?id=235926
<rdar://problem/88302122>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(GitHub.email_for_owners): Convert list of owners to an email address.
(GitHubMixin.should_send_email_for_pr): Check if the tested sha is outdated.
(BugzillaMixin.should_send_email_for_patch): Renamed from should_send_email.
(BugzillaMixin.should_send_email): Renamed to should_send_email_for_patch.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Draft different
email for failed patch than failed pull request build.
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
Canonical link: https://commits.webkit.org/247249@main
- 5:00 PM Changeset in webkit [289783] by
-
- 1 copy in tags/Safari-613.1.17.0.2
Tag Safari-613.1.17.0.2.
- 4:59 PM Changeset in webkit [289782] by
-
- 1 copy in tags/Safari-613.1.17.1.2
Tag Safari-613.1.17.1.2.
- 4:14 PM Changeset in webkit [289781] by
-
- 6 edits in branches/safari-614.1.3-branch/Source
Cherry-pick r289592. rdar://problem/88323950
tryReserveUncommittedAligned should explicitly take the alignment requested
https://bugs.webkit.org/show_bug.cgi?id=236460
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
When reducing the size of VA space reserved for Structures, we
didn't take care to ensure the alignment matched the required
alignment for our bit mask. To fix this we need to pass the
original alignment to the allocator as a new parameter.
- heap/StructureAlignedMemoryAllocator.cpp: (JSC::StructureMemoryManager::StructureMemoryManager):
Source/WTF:
This patch adds a new ifdef for Unix flavors that support the
MAP_ALIGNED macro/parameter to mmap.
Also, fix a bug where on windows we wouldn't request enough
space to guarantee that allocation is aligned.
- wtf/OSAllocator.h:
- wtf/posix/OSAllocatorPOSIX.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
- wtf/win/OSAllocatorWin.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:14 PM Changeset in webkit [289780] by
-
- 3 edits1 add in trunk
Array#{ groupBy, groupByToMap }should throw aTypeErrorwhenthisisnullorundefined
https://bugs.webkit.org/show_bug.cgi?id=236541
Reviewed by Alexey Shvayka.
JSTests:
- stress/array-group-by-null-or-undefined.js: Added.
(shouldThrow):
Source/JavaScriptCore:
While we are correctly using @toObject, these functions missed "use strict", which enforces a function
to change a non object |this| to an object (in this case, global object). This patch adds "use strict",
to make these function strict code.
- builtins/ArrayPrototype.js:
(groupBy):
(groupByToMap):
- 4:09 PM Changeset in webkit [289779] by
-
- 4 edits in trunk/Source/JavaScriptCore
[CMake] Remove uses of add_definitions in JavaScriptCore build
https://bugs.webkit.org/show_bug.cgi?id=236605
Reviewed by Michael Catanzaro.
Use target specific definitions when building JavaScriptCore. In the current cases the
definitions don't need to propagate to targets using JavaScriptCore so
JavaScriptCore_PRIVATE_DEFINITIONS is used.
- PlatformGTK.cmake:
- PlatformPlayStation.cmake:
- PlatformWPE.cmake:
- 4:05 PM Changeset in webkit [289778] by
-
- 2 edits in trunk/Source/WebCore
Move PDFDocument.cpp/h in correct position in WebCore.xcodeproj
https://bugs.webkit.org/show_bug.cgi?id=236529
Patch by Dan Glastonbury <djg@apple.com> on 2022-02-14
Reviewed by Tim Nguyen.
- WebCore.xcodeproj/project.pbxproj:
- 3:59 PM Changeset in webkit [289777] by
-
- 2 edits in trunk/Source/WebCore
Consistenly use hasTagName instead of is<> in HTMLStackItem testing functions
https://bugs.webkit.org/show_bug.cgi?id=236571
Reviewed by Sam Weinig.
No reason to use is<> for a couple of element names but hasTagName for
all others.
- html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isScopeMarker):
(WebCore::HTMLNames::isTableScopeMarker):
(WebCore::HTMLNames::isSelectScopeMarker):
- 3:33 PM Changeset in webkit [289776] by
-
- 3 edits2 adds in trunk
Fix crash with deeply nested async overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=236599
Source/WebCore:
rdar://88656665
Reviewed by Alan Bujtas.
mergeClippingScopesRecursive() already does the append of the rects; doing so
before calling recursing triggers double appends, hence exponentially growing
rect lists.
Test: compositing/layer-creation/clipping-scope/deeply-nested-overflow.html
- rendering/LayerOverlapMap.cpp:
(WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
LayoutTests:
Reviewed by Alan Bujtas.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow-expected.txt: Added.
- compositing/layer-creation/clipping-scope/deeply-nested-overflow.html: Added.
- 3:33 PM Changeset in webkit [289775] by
-
- 3 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r288539 - Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadInSameDocument):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
- 3:26 PM Changeset in webkit [289774] by
-
- 1 copy in tags/Safari-614.1.2.2
Tag Safari-614.1.2.2.
- 3:19 PM Changeset in webkit [289773] by
-
- 17 edits in trunk/Tools/Scripts
Update shebang for run-benchmark scripts.
Reviewed by Jonathan Bedard.
Use python3 in shebang for run-benchmark.
Remove shebang from modules in benchmark_runner.
- Tools/Scripts/run-benchmark:
- Tools/Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
- Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/generic_factory.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver_factory.py:
- Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
- Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:
- Tools/Scripts/webkitpy/benchmark_runner/utils.py:
- Tools/Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
- Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
Canonical link: https://commits.webkit.org/247243@main
- 3:13 PM Changeset in webkit [289772] by
-
- 6 edits in branches/safari-614.1.2-branch/Source
Cherry-pick r289592. rdar://problem/88323950
tryReserveUncommittedAligned should explicitly take the alignment requested
https://bugs.webkit.org/show_bug.cgi?id=236460
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
When reducing the size of VA space reserved for Structures, we
didn't take care to ensure the alignment matched the required
alignment for our bit mask. To fix this we need to pass the
original alignment to the allocator as a new parameter.
- heap/StructureAlignedMemoryAllocator.cpp: (JSC::StructureMemoryManager::StructureMemoryManager):
Source/WTF:
This patch adds a new ifdef for Unix flavors that support the
MAP_ALIGNED macro/parameter to mmap.
Also, fix a bug where on windows we wouldn't request enough
space to guarantee that allocation is aligned.
- wtf/OSAllocator.h:
- wtf/posix/OSAllocatorPOSIX.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
- wtf/win/OSAllocatorWin.cpp: (WTF::OSAllocator::tryReserveUncommittedAligned):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:12 PM Changeset in webkit [289771] by
-
- 9 edits in branches/safari-614.1.2-branch/Source
Versioning.
WebKit-7614.1.2.2
- 2:59 PM Changeset in webkit [289770] by
-
- 4 edits in trunk
Enable accelerated drawing in the iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=231828
rdar://problem/84315491
Reviewed by Simon Fraser.
Tools:
- WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
LayoutTests:
- platform/ios/compositing/canvas/accelerated-canvas-compositing-size-limit-expected.txt:
- 2:59 PM Changeset in webkit [289769] by
-
- 6 edits2 adds in trunk/Source/WebCore
Web Inspector: Element tooltips in overlays should use same encodable/decodable Label type as grid overlays
https://bugs.webkit.org/show_bug.cgi?id=235422
Reviewed by Devin Rousso.
The tooltip for elements previously used its own slightly different labels from those used for grid overlays,
which are implemented in such a way to support being sent to the UI process for iOS overlay support. This patch
adds support for the setting different colors for different runs of text along with multi-line labels to allow
the same label to be used for both Grid overlays as well as element tooltips.
The existing
WebCore::InspectorOverlay::Highlight::GridHighlightOverlay::Labelwas moved to
WebCore::InspectorOverlayLabelas it is no longer exclusively used for grids.
With that support, we can now use InspectorOverlayLabel for element tooltips without needing duplicated layout
and drawing code. Additionally, the font used in the tooltip is now consistent with grid labels, where as
previously we used different font families for the grid and element labels.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::drawElementTitle):
(WebCore::InspectorOverlay::drawGridOverlay):
(WebCore::InspectorOverlay::buildGridOverlay):
(WebCore::fontForLayoutLabel): Moved to InspectorOverlayLabel.cpp assystemFont.
(WebCore::backgroundPathForLayoutLabel): Moved to InspectorOverlayLabel.cpp asbackgroundPath.
(WebCore::expectedSizeForLayoutLabel): Moved to InspectorOverlayLabel.cpp asexpectedSize.
(WebCore::drawLayoutLabel): Moved to InspectorOverlayLabel.cpp asdraw.
(WebCore::buildLabel): Deleted.
- inspector/InspectorOverlay.h:
(WebCore::InspectorOverlay::Highlight::GridHighlightOverlay::Label::encode const): Deleted.
(WebCore::InspectorOverlay::Highlight::GridHighlightOverlay::Label::decode): Deleted.
- inspector/InspectorOverlayLabel.cpp: Added.
(WebCore::InspectorOverlayLabel::InspectorOverlayLabel):
(WebCore::systemFont):
(WebCore::backgroundPath):
(WebCore::InspectorOverlayLabel::draw):
- Updated logic to handle multiple strings, including strings containing newlines. Strings are now each
converted to a TextRun, or multiple text runs for multi-line text, each of which is measured to determine the
overall height and width of the label, as well as to later in the drawing code give us the information necessary
to actually draw these strings in the proper locations.
- Use the width of the longest line for drawing the background of the label.
- Iterate through the computed TextRuns and draw the moving to the next line for each index that we had
previously computed to be the start of a new line.
(WebCore::InspectorOverlayLabel::expectedSize):
- Similar to
InspectorOverlayLabel::drawwe need to take in to account multi-line strings, but do not need to
keep the computed TextRuns or their widths, only the width of the longest line and the total number of lines, to
compute the expected size of the contents in a label.
- inspector/InspectorOverlayLabel.h: Added.
(WebCore::InspectorOverlayLabel::Arrow::Arrow):
(WebCore::InspectorOverlayLabel::encode const):
(WebCore::InspectorOverlayLabel::decode):
(WebCore::InspectorOverlayLabel::Arrow::encode const):
(WebCore::InspectorOverlayLabel::Arrow::decode):
(WebCore::InspectorOverlayLabel::Content::encode const):
(WebCore::InspectorOverlayLabel::Content::decode):
- 2:56 PM Changeset in webkit [289768] by
-
- 2 edits in trunk/Source/WebCore
[macOS] Check feature flag before using screen/window picker
https://bugs.webkit.org/show_bug.cgi?id=236596
<rdar://problem/88909015>
Reviewed by Jer Noble.
Tested manually.
- platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm:
(WebCore::screenCaptureKitPickerFeatureEnabled): Check feature flag.
(WebCore::ScreenCaptureKitSharingSessionManager::isAvailable):
- 2:48 PM Changeset in webkit [289767] by
-
- 4 edits in trunk/Source/WebCore
[GPU Process] Implement GraphicsContext::drawLineForText() in terms of GraphicsContext::drawLinesForText()
https://bugs.webkit.org/show_bug.cgi?id=236464
Reviewed by Simon Fraser.
Make GraphicsContext::drawLineForText() non virtual and delete all the
super classes' implementations for this function since it calls the virtual
function drawLinesForText().
- platform/graphics/GraphicsContext.h:
- platform/graphics/NullGraphicsContext.h:
- platform/graphics/displaylists/DisplayListRecorder.h:
- 2:46 PM Changeset in webkit [289766] by
-
- 2 edits in trunk/Source/WebKit
[GPU Process] RemoteImageBufferProxy should not sink itself to an Image or a NativeImage though its backend
https://bugs.webkit.org/show_bug.cgi?id=236484
Reviewed by Simon Fraser.
The purpose of sinkIntoImage() and sinkIntoNativeImage() is to reuse the
pixels of an ImageBuffer to be a NativeImage or an Image which encapsulates
a NativeImage.
But for RemoteImageBufferProxy these functions are meaningless because
the pixels (or the backend) can't be accessed in WebProcess.
So to keep the code in WebCore untouched, these two functions will be
overridden by RemoteImageBufferProxy to call the 'copy' methods. The
'copy' methods use the IPC messages to get a NativeImage from GPUProcess.
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- 2:22 PM Changeset in webkit [289765] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/xhr/send-timeout-events.htm as failing on iOS aftet the changes in r289540
https://bugs.webkit.org/show_bug.cgi?id=231337
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 2:22 PM WebKitGTK/2.34.x edited by
- Propose 16k pages for the stable branch (diff)
- 2:18 PM Changeset in webkit [289764] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.5
- 2:15 PM Changeset in webkit [289763] by
-
- 12 edits1 copy in trunk/Source
[Live Text] Plumb platform image analysis objects to the web process
https://bugs.webkit.org/show_bug.cgi?id=236535
rdar://88845367
Reviewed by Devin Rousso.
Source/WebCore:
Add a
platformDatamember to TextRecognitionResult, which (whenENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)is
enabled) contains a pointer to VKCImageAnalysis. See WebKit/ChangeLog for more details.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/TextRecognitionResult.h:
Also add new WebKitAdditions extension points around TextRecognitionResult.
(WebCore::TextRecognitionResult::encode const):
(WebCore::TextRecognitionResult::decode):
- platform/cocoa/TextRecognitionResultCocoa.mm:
Source/WebCore/PAL:
Add soft-linking support for VKCImageAnalysis. See WebCore and WebKit ChangeLogs for more detail.
- pal/cocoa/AVFoundationSoftLink.h:
Avoid a build error after shifting around Cocoa unified sources, by removing an unused definition of
AVOutputContextOutputDevicesDidChangeNotification. This definition causes the unified build to break downstream,
when other media-related source files end up importing AVKit headers that try to reference this symbol
(AVOutputContextOutputDevicesDidChangeNotification) but end up expanding the WebKit soft-linking macro instead.
- pal/cocoa/VisionKitCoreSoftLink.h:
- pal/cocoa/VisionKitCoreSoftLink.mm:
Source/WebKit:
Plumb the platform text recognition results object (VKCImageAnalysis) through TextRecognitionResults to the
web process when computing text recognition results for Live Text, and add a few new WebKitAdditions extension
points. In a subsequent patch, we'll use this VKCImageAnalysis on TextRecognitionResults to refactor how we
write Live Text to the system pasteboard when copying.
- Platform/cocoa/TextRecognitionUtilities.mm:
(WebKit::makeTextRecognitionResult):
Set
platformData.
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<RetainPtr<VKCImageAnalysis>>::encode):
(IPC::ArgumentCoder<RetainPtr<VKCImageAnalysis>>::decode):
- Shared/WebCoreArgumentCoders.h:
- 1:51 PM Changeset in webkit [289762] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r286560): MediaElement's getStartDate returning an incorrect time
https://bugs.webkit.org/show_bug.cgi?id=236360
<rdar://problem/88786989>
Reviewed by Eric Carlson.
r286560 changed IDL
Dateto useWallTimeinstead of a rawdouble, meaning that
HTMLMediaElement::getStartDatenow did extra processing of theMediaTimereturned by
MediaPlayer::getStartDate.
Unfortunately,
MediaPlayerPrivateAVFoundationObjC::getStartDatereturned aMediaTime
represented in milliseconds (due to two* 1000), even thoughMediaTimeis supposed to be
seconds-based.
As a result, the changes in r286560 inadvertently caused two
* 1000on the same time value.
Covered by existing test (
LayoutTests/http/tests/media/hls/video-controller-getStartDate.html).
Note that the test was marked as[Pass Failure]before r286560.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate const):
- 1:12 PM Changeset in webkit [289761] by
-
- 2 edits in trunk/Source/WTF
[Linux/aarch64] Move page size ceiling to 16k
https://bugs.webkit.org/show_bug.cgi?id=236564
Patch by Gustavo Noronha Silva <gustavo@noronha.dev.br> on 2022-02-14
Reviewed by Yusuke Suzuki.
On Apple Silicon, Linux needs to use 16k pages to be as fast as possible. This change has no
visible impact on binary size for release builds, so apply it to all of aarch64 Linux.
- wtf/PageBlock.h:
- 1:10 PM Changeset in webkit [289760] by
-
- 7 edits in trunk
[WebAuthn] Access group not set in add query for importLocalAuthenticatorCredential
https://bugs.webkit.org/show_bug.cgi?id=236469
rdar://problem/88783447
Reviewed by Brent Fulgham.
Source/WebKit:
In Bug 236311 we added support setting accessGroup, but did not properly set it
on the addQuery. This patch fixes that.
Updated API test to use non-standard accessGroup.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel importLocalAuthenticatorWithAccessGroup:credential:error:]):
Tools:
Updated API test to use non-standard access group.
- TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
- TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements:
- TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements:
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
- 1:09 PM Changeset in webkit [289759] by
-
- 9 edits in branches/safari-614.1.3-branch/Source
Versioning.
WebKit-7614.1.3.1
- 1:09 PM Changeset in webkit [289758] by
-
- 4 edits3 copies1 move8 adds1 delete in trunk/LayoutTests
[GLIB] Update test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=236597
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-02-14
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/css/css-contain/container-queries/counters-flex-circular-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/filter-effects/feimage-circular-reference-foreign-object-crash-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/filter-effects/feimage-reference-foreign-object-crash-expected.txt: Added.
- platform/gtk/TestExpectations:
- platform/gtk/fast/text/international/bidi-layout-across-linebreak-expected.txt: Copied from LayoutTests/platform/glib/fast/text/international/bidi-layout-across-linebreak-expected.txt.
- platform/gtk/fast/text/international/bidi-override-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: Copied from LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt.
- platform/wpe/fast/text/international/bidi-layout-across-linebreak-expected.txt: Renamed from LayoutTests/platform/glib/fast/text/international/bidi-layout-across-linebreak-expected.txt.
- platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt.
- 1:05 PM Changeset in webkit [289757] by
-
- 5 edits1 copy2 moves1 add in trunk/Source/WebInspectorUI
Web Inspector: [Flexbox] List flex containers in Layout sidebar
https://bugs.webkit.org/show_bug.cgi?id=235647
<rdar://87886241>
Reviewed by Patrick Angle.
The representation in the Layout details sidebar of the list of flex containers on the page is very similar to the one for grid containers:
a list of nodes identified by selector, with adjacent checkboxes that synchronize state with the visibility of a page overlay, interactive
color swatches to decorate the corresponding overlay, and a button to jump to the node in the DOM Tree view.
Therefore, it makes sense to generalize the code for CSS Grid and reuse it for Flexbox.
This patch extracts a generic
WI.NodeOverlayListSectionfromWI.CSSGridNodeOverlayListSection.
This is subclassed byWI.CSSGridNodeOverlayListSectionandWI.CSSFlexboxSection.
The two rely on the abstract implementations to show/hide overlays, get/set overlay colors, interrogate overlay visibility, and listen to generic overlay show events.
Which particular type of overlay is the target of each panel is determined in
WI.OverlayManager
by the value ofWI.DomNode.layoutContextType, either "flex" or "grid". A node cannot have more than one layout context type.
Where the subclasses differ:
- each section has its own label (obviously).
- the layout for
WI.CSSGridNodeOverlayListSectionincludes a section with settings for the CSS Grid overlay.
- Localizations/en.lproj/localizedStrings.js:
We've received feedback that the latter is more common in web developers' vocabulary when
refering to CSS grids. Adopted the same for the flexbox section empty message.
- UserInterface/Main.html:
- UserInterface/Views/CSSFlexNodeOverlayListSection.js: Added.
(WI.CSSFlexNodeOverlayListSection.prototype.get sectionLabel):
(WI.CSSFlexNodeOverlayListSection):
- UserInterface/Views/CSSGridNodeOverlayListSection.js: Renamed from Source/WebInspectorUI/UserInterface/Views/CSSGridSection.js.
(WI.CSSGridNodeOverlayListSection.prototype.get sectionLabel):
(WI.CSSGridNodeOverlayListSection.prototype.initialLayout):
(WI.CSSGridNodeOverlayListSection):
The layout ofWI.CSSFlexNodeOverlayListSectionincludes a set of options to configure the CSS Grid overlay.
- UserInterface/Views/LayoutDetailsSidebarPanel.css:
(.details-section:is(.layout-css-flexbox, .layout-css-grid):not(.collapsed) > .content,):
(.details-section.layout-css-grid > .content > .group > .row > .css-grid-section): Deleted.
(.details-section.layout-css-grid:not(.collapsed) > .content,): Deleted.
- UserInterface/Views/LayoutDetailsSidebarPanel.js:
(WI.LayoutDetailsSidebarPanel):
(WI.LayoutDetailsSidebarPanel.prototype.attached):
(WI.LayoutDetailsSidebarPanel.prototype.initialLayout):
(WI.LayoutDetailsSidebarPanel.prototype.layout):
(WI.LayoutDetailsSidebarPanel.prototype._handleLayoutContextTypeChanged):
(WI.LayoutDetailsSidebarPanel.prototype._refreshNodeSets):
(WI.LayoutDetailsSidebarPanel.prototype._refreshGridNodeSet): Deleted.
Added Flexbox section to Layout details sidebar.
- UserInterface/Views/NodeOverlayListSection.css: Renamed from Source/WebInspectorUI/UserInterface/Views/CSSGridSection.css.
(.node-overlay-list-section):
(.node-overlay-list-section > .node-overlay-list):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container > label):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container > label > .node-display-name):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container > :is(.go-to-arrow, .inline-swatch)):
(.node-overlay-list-section > .node-overlay-list > li > .node-overlay-list-item-container:not(:hover) > .go-to-arrow):
(.node-overlay-list-section > .heading,):
(.node-overlay-list-section > .heading > label > .toggle-all):
(.node-overlay-list-section :is(.setting-editor, .node-overlay-list-item-container, .heading) input[type="checkbox"]):
A full-on replacement of.css-grid-sectionwith.node-overlay-list-sectionsince the two sections share the same styles.
- UserInterface/Views/NodeOverlayListSection.js: Copied from Source/WebInspectorUI/UserInterface/Views/CSSGridSection.js.
(WI.NodeOverlayListSection):
(WI.NodeOverlayListSection.prototype.set nodeSet):
(WI.NodeOverlayListSection.prototype.get sectionLabel):
(WI.NodeOverlayListSection.prototype.attached):
(WI.NodeOverlayListSection.prototype.detached):
(WI.NodeOverlayListSection.prototype.initialLayout):
(WI.NodeOverlayListSection.prototype.layout):
(WI.NodeOverlayListSection.prototype._handleOverlayStateChanged):
(WI.NodeOverlayListSection.prototype._handleToggleAllCheckboxChanged):
(WI.NodeOverlayListSection.prototype._updateToggleAllCheckbox):
Removed all the specific implementations for CSS Grid after generalizing them intoWI.NodeOverlayListSection.
- 12:57 PM Changeset in webkit [289756] by
-
- 3 edits in trunk/Tools
[EWS] Rebase PRs on tip of branch (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=236389
<rdar://problem/88705147>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(CleanGitRepo.run): Squash
git rebase --aborterrors.
- CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247229@main
- 12:49 PM Changeset in webkit [289755] by
-
- 4 edits2 adds in branches/safari-613-branch
Cherry-pick r289686. rdar://problem/88689388
contain:contentbreaks fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236470
<rdar://88689388>
Reviewed by Simon Fraser.
Source/WebCore:
Paint/layout containment forms a containing block for fixed positioned block boxes. It makes all fixed
positioned descendants anchored (contained) to this layout container.
This patch enables fullscreen boxes break out of this non-ICB based layout scope (this is similar to what we
do for other, "layout scope changing" properties, see canContainFixedPositionObjects).
Test: fullscreen/fullscreen-prevented-by-containment.html
- css/fullscreen.css: (:-webkit-full-screen-ancestor:not(iframe)):
- css/parser/CSSParserContext.cpp: (WebCore::CSSParserContext::CSSParserContext):
LayoutTests:
- fullscreen/fullscreen-prevented-by-containment-expected.txt: Added.
- fullscreen/fullscreen-prevented-by-containment.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:49 PM Changeset in webkit [289754] by
-
- 5 edits4 deletes in branches/safari-613-branch
Cherry-pick r289682. rdar://problem/88843567
Unreviewed, reverting r289498.
https://bugs.webkit.org/show_bug.cgi?id=236534
Speedometer2 2% regression
Reverted changeset:
"Dialog element only animates once"
https://bugs.webkit.org/show_bug.cgi?id=236274
https://commits.webkit.org/r289498
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:49 PM Changeset in webkit [289753] by
-
- 5 edits in branches/safari-613-branch/Source
Cherry-pick r289658. rdar://problem/88678598
Regression(r287684) Microsoft teams meeting URLs fail to open the app
https://bugs.webkit.org/show_bug.cgi?id=236516
<rdar://88678598>
Reviewed by Geoffrey Garen.
Add a quirk for Microsoft teams.
Source/WebCore:
- page/Quirks.cpp: (WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForNavigationAction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:29 PM Changeset in webkit [289752] by
-
- 2 edits in trunk/Tools
run-jsc-stress-tests reports "in `<module:URI>': uninitialized class variable @@schemes in URI (NameError)" with Ruby 3.1
https://bugs.webkit.org/show_bug.cgi?id=236281
Reviewed by Yusuke Suzuki.
Ruby 3.1.0 removed @@schemes and added URI.register_scheme.
- Scripts/run-jsc-stress-tests: Added
register_schemeclass
method if not exists. Use the register_scheme method for ssh.
- 12:12 PM Changeset in webkit [289751] by
-
- 2 edits in trunk/Source/WebCore
Add a centerControlsBar in InlineMediaControls
https://bugs.webkit.org/show_bug.cgi?id=236575
Reviewed by Jer Noble.
When a subclass of
InlineMediaControlsimplements_centerContainerButtons()
to return a list of elements, a control bar will be added as a child of the
media-controls element.
No behavior change so far.
- Modules/modern-media-controls/controls/inline-media-controls.js:
(InlineMediaControls):
(InlineMediaControls.prototype.layout):
(InlineMediaControls.prototype._centerContainerButtons):
- 11:57 AM Changeset in webkit [289750] by
-
- 5 edits4 deletes in branches/safari-613.1.17.1-branch
Cherry-pick r289682. rdar://problem/88843567
Unreviewed, reverting r289498.
https://bugs.webkit.org/show_bug.cgi?id=236534
Speedometer2 2% regression
Reverted changeset:
"Dialog element only animates once"
https://bugs.webkit.org/show_bug.cgi?id=236274
https://commits.webkit.org/r289498
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289749] by
-
- 4 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289686. rdar://problem/88689388
contain:contentbreaks fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236470
<rdar://88689388>
Reviewed by Simon Fraser.
Source/WebCore:
Paint/layout containment forms a containing block for fixed positioned block boxes. It makes all fixed
positioned descendants anchored (contained) to this layout container.
This patch enables fullscreen boxes break out of this non-ICB based layout scope (this is similar to what we
do for other, "layout scope changing" properties, see canContainFixedPositionObjects).
Test: fullscreen/fullscreen-prevented-by-containment.html
- css/fullscreen.css: (:-webkit-full-screen-ancestor:not(iframe)):
- css/parser/CSSParserContext.cpp: (WebCore::CSSParserContext::CSSParserContext):
LayoutTests:
- fullscreen/fullscreen-prevented-by-containment-expected.txt: Added.
- fullscreen/fullscreen-prevented-by-containment.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289748] by
-
- 5 edits4 deletes in branches/safari-613.1.17.0-branch
Cherry-pick r289682. rdar://problem/88843567
Unreviewed, reverting r289498.
https://bugs.webkit.org/show_bug.cgi?id=236534
Speedometer2 2% regression
Reverted changeset:
"Dialog element only animates once"
https://bugs.webkit.org/show_bug.cgi?id=236274
https://commits.webkit.org/r289498
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289747] by
-
- 5 edits in branches/safari-613.1.17.1-branch/Source
Cherry-pick r289658. rdar://problem/88678598
Regression(r287684) Microsoft teams meeting URLs fail to open the app
https://bugs.webkit.org/show_bug.cgi?id=236516
<rdar://88678598>
Reviewed by Geoffrey Garen.
Add a quirk for Microsoft teams.
Source/WebCore:
- page/Quirks.cpp: (WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForNavigationAction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289746] by
-
- 4 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289686. rdar://problem/88689388
contain:contentbreaks fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236470
<rdar://88689388>
Reviewed by Simon Fraser.
Source/WebCore:
Paint/layout containment forms a containing block for fixed positioned block boxes. It makes all fixed
positioned descendants anchored (contained) to this layout container.
This patch enables fullscreen boxes break out of this non-ICB based layout scope (this is similar to what we
do for other, "layout scope changing" properties, see canContainFixedPositionObjects).
Test: fullscreen/fullscreen-prevented-by-containment.html
- css/fullscreen.css: (:-webkit-full-screen-ancestor:not(iframe)):
- css/parser/CSSParserContext.cpp: (WebCore::CSSParserContext::CSSParserContext):
LayoutTests:
- fullscreen/fullscreen-prevented-by-containment-expected.txt: Added.
- fullscreen/fullscreen-prevented-by-containment.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289745] by
-
- 5 edits in branches/safari-613.1.17.0-branch/Source
Cherry-pick r289658. rdar://problem/88678598
Regression(r287684) Microsoft teams meeting URLs fail to open the app
https://bugs.webkit.org/show_bug.cgi?id=236516
<rdar://88678598>
Reviewed by Geoffrey Garen.
Add a quirk for Microsoft teams.
Source/WebCore:
- page/Quirks.cpp: (WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForNavigationAction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [289744] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.2
- 11:29 AM Changeset in webkit [289743] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.2
- 11:05 AM Changeset in webkit [289742] by
-
- 16 edits1 copy1 add in trunk
[CSS Container Queries] Implement full query parser and evaluator
https://bugs.webkit.org/show_bug.cgi?id=236580
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom.tentative-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/query-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
Source/WebCore:
So far we have been using the media query parser to parse container queries.
It does not support nesting and other necessary features. Also the produced data
structures are awkward to evaluate.
https://drafts.csswg.org/css-contain-3/#container-rule
This patch supports size queries but not style queries. It supports both the current spec
size query syntax "size(foo)" (used in WPTs), and the non-function POR syntax from
https://github.com/w3c/csswg-drafts/issues/6870#issuecomment-1022430911.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/ContainerQuery.h:
- css/ContainerQueryParser.cpp: Added.
(WebCore::ContainerQueryParser::parse):
(WebCore::ContainerQueryParser::consumeContainerQuery):
(WebCore::ContainerQueryParser::consumeCondition):
(WebCore::ContainerQueryParser::consumeSizeQuery):
No support for range operators ('<' etc) yet.
- css/ContainerQueryParser.h: Copied from Source/WebCore/css/ContainerQuery.h.
(WebCore::ContainerQueryParser::ContainerQueryParser):
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeContainerRule):
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::computeSize):
(WebCore::Style::ContainerQueryEvaluator::evaluate const):
(WebCore::Style::ContainerQueryEvaluator::evaluateQuery const):
(WebCore::Style::ContainerQueryEvaluator::evaluateCondition const):
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
Just 'width' and 'height' for now, no new size features yet.
- style/ContainerQueryEvaluator.h:
LayoutTests:
- 10:47 AM Changeset in webkit [289741] by
-
- 1 copy in branches/safari-614.1.4-branch
New branch.
- 10:39 AM Changeset in webkit [289740] by
-
- 3 edits in trunk/Source/JavaScriptCore
CallLinkInfo::emitFastPathImpl() should avoid external scratch register use on RISCV64
https://bugs.webkit.org/show_bug.cgi?id=236064
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-02-14
Reviewed by Yusuke Suzuki.
Avoid external scratch register usage in CallLinkInfo::emitFastPathImpl()
for RISCV64 since the scratch register ends up having to be used in the
branchTestPtr implementation of RISCV64's MacroAssembler.
The RISCV64-specific alternative is to suffer resolving and loading from
the callee address for both branching operations. Other platforms
continue to operate with the external scratch register as they either
use a wider set of scratch registers or don't even have to use scratch
registers for the load and branching operations used here.
- assembler/CPU.h: Add isRISCV64(). Also impose a more sensible order.
(JSC::isMIPS):
(JSC::isRISCV64):
- bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::emitFastPathImpl):
- 9:58 AM Changeset in webkit [289739] by
-
- 7 edits in trunk/Source
[WebAuthn] Modify _WKWebAuthenticationAssertionResponse according to internal needs
https://bugs.webkit.org/show_bug.cgi?id=236369
rdar://88585811
Reviewed by Brent Fulgham.
Source/WebCore:
This patch modifies AuthenticatorAssertionResponse with additional
fields and populates them according to internal needs.
- Modules/webauthn/AuthenticatorAssertionResponse.h:
(WebCore::AuthenticatorAssertionResponse::group const):
(WebCore::AuthenticatorAssertionResponse::synchronizable const):
(WebCore::AuthenticatorAssertionResponse::setGroup):
(WebCore::AuthenticatorAssertionResponse::setSynchronizable):
Source/WebKit:
This patch modifies the _WKWebAuthenticationAssertionResponse API object with additional
fields and populates them according to internal needs.
- UIProcess/API/APIWebAuthenticationAssertionResponse.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.mm:
(-[_WKWebAuthenticationAssertionResponse synchronizable]):
(-[_WKWebAuthenticationAssertionResponse group]):
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(groupForAttributes):
(WebKit::LocalAuthenticatorInternal::getExistingCredentials):
- 9:07 AM Changeset in webkit [289738] by
-
- 7 edits in trunk
Don't perform layout in WKBundlePagePostSynchronousMessageForTesting
https://bugs.webkit.org/show_bug.cgi?id=236579
Reviewed by Brady Eidson.
This turned out to be a problem for bug 22722, which introduced the WithLayout::No workaround.
r188793 introduced this layoutIfNeeded call specifically for UI event messages, so only perform the
layout in that specific case. Also remove the workaround introduced in bug 22722.
Source/WebKit:
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePagePostSynchronousMessageForTesting):
(WKBundlePageLayoutIfNeeded):
(WKBundlePagePostSynchronousMessageForTestingWithoutLayout): Deleted.
- WebProcess/InjectedBundle/API/c/WKBundlePage.h:
Tools:
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(WTR::postSynchronousPageMessage):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::postSynchronousPageMessageWithReturnValue):
(WTR::TestRunner::grantWebNotificationPermission):
(WTR::TestRunner::denyWebNotificationPermission):
- 7:28 AM Changeset in webkit [289737] by
-
- 3 edits in trunk/Tools
[EWS] Re-enable build retry for PRs
https://bugs.webkit.org/show_bug.cgi?id=236300
<rdar://problem/88628832>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.analyzeResults): Enable retry for PRs with failing builds.
(CleanGitRepo.run): Abort any failed rebases.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247222@main
- 7:19 AM Changeset in webkit [289736] by
-
- 3 edits2 adds in trunk
Nullptr crash in CompositeEditCommand::splitTreeToNode via InsertParagraphSeparatorCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=229283
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-14
Reviewed by Ryosuke Niwa.
Source/WebCore:
Position::upstream handles edge cases like tables specially which can lead to
InsertParagraphSeparatorCommand::doApply incorrectly expecting a next sibling after a text
node at last position in order to perform a split. This patch works around that by ignoring
the split in that case.
Test: editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash.html
- editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): Only try and remove remaining nodes if
splitTo is not null. moveRemainingSiblingsToNewParent will be a no-op when n is null. Also
switch from raw pointers to RefPtr<Node>.
LayoutTests:
Add regression test.
- editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash-expected.txt: Added.
- editing/inserting/insert-paragraph-separator-with-inline-table-bold-crash.html: Added.
- 6:42 AM Changeset in webkit [289735] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Fix fast/inline/hidpi-outline-auto-with-border-radius-vertical-rtl.html
https://bugs.webkit.org/show_bug.cgi?id=236572
Reviewed by Antti Koivisto.
adjustVisualGeometryForDisplayBox needs the line's logical top (which is turned into visual inside
at (lineBoxLogicalTop + logicalRect.top())).
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
- 6:37 AM Changeset in webkit [289734] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Fix fast/block/float/float-with-fractional-height-vertical-lr.html
https://bugs.webkit.org/show_bug.cgi?id=236576
Reviewed by Antti Koivisto.
Let's translate the incoming float boxes' visual coordinates to logical for line layout.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::prepareFloatingState):
- 6:06 AM Changeset in webkit [289733] by
-
- 4 edits2 adds in trunk/LayoutTests
[model] refactor model document tests to use a shared testing function
https://bugs.webkit.org/show_bug.cgi?id=236578
Reviewed by Dean Jackson.
Add a new model_document_test function that both model document tests can use
to get the document loaded inside the iframe.
- http/tests/model/model-document-interactive-expected.txt:
- http/tests/model/model-document-interactive.html:
- http/tests/model/model-document.html:
- http/tests/model/resources/model-document.js: Added.
(const.model_document_test):
- 6:03 AM Changeset in webkit [289732] by
-
- 13 edits in trunk
Animation from "scale()" to "scale() translate()" does not yield the expected result
https://bugs.webkit.org/show_bug.cgi?id=222595
<rdar://problem/74926700>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-transforms/animation/list-interpolation-expected.txt: Mark tests as passing.
- web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-003-expected.txt:
Source/WebCore:
No new tests. This is covered by existing WPT tests.
When blending two transform lists, where one list is longer than the other, extending the
shorter list with identity transform functions. This is the behavior specified in the
CSS Transforms Module Level 2 specification.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::checkForMatchingTransformFunctionLists): Instead of checking each frame
against the first keyframe, collect a list of shared transform primitives and check that each
list has the same number of compatible primitives or a prefix of compatible primitives and is
shorter.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::getSharedPrimitivesForTransformKeyframes): When the transform operation
lists have different sizes, don't always return false. Instead check that the parts that do exist
have matching primitives.
- platform/graphics/transforms/TransformOperations.cpp:
(WebCore::TransformOperations::operationsMatch const): Only check the transformations in
the shared list size.
(WebCore::TransformOperations::blendByMatchingOperations const): Properly handle when one of the
two operations is null instead of just the toOperation.
LayoutTests:
- compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt:
- compositing/layer-creation/translate-scale-animation-overlap-expected.txt:
- 5:04 AM Changeset in webkit [289731] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Avoid mapping attributes when the vector is empty in createImage
https://bugs.webkit.org/show_bug.cgi?id=236521
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-14
Reviewed by Žan Doberšek.
We are just refactoring the function to avoid calling the map of
the original vector in case it is empty. Also we changed a double
negative in the isEmpty condition to make it clearer.
No new tests, there are tests checking this code.
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createImage const):
- 4:20 AM Changeset in webkit [289730] by
-
- 2 edits in trunk/Source/WebCore
Don't throw exception when controls are removed
https://bugs.webkit.org/show_bug.cgi?id=236456
Reviewed by Xabier Rodriguez-Calvar.
In mediaControlsBase.js, when media controls are removed, calling controlsAreHidden() can cause
an exception because the panel has no parentElement.
This patch is authored by Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/775
- Modules/mediacontrols/mediaControlsBase.js: Return false if there's no parent.
- 3:29 AM Changeset in webkit [289729] by
-
- 4 edits in trunk/Source/WebCore
[GTK] [WPE] Fix problem when the buffer object is released before we try to send it to the compositor
https://bugs.webkit.org/show_bug.cgi?id=236520
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-14
Reviewed by Žan Doberšek.
There is a layout test failing because the buffer object was
released before the swap buffers method was called and we were
calling the construction of the TextureMapperPlatformLayerDmabuf
with wrong data.
Fixes webgl/1.0.3/conformance/context/context-release-with-workers.html.
- platform/graphics/angle/GraphicsContextGLANGLE.h: Add the
isReleased function to the EGLImageBacking class.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp: Ditto.
(Nicosia::GCGLANGLELayer::swapBuffersIfNeeded):
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::isReleased):
Bail out when the image backing was released.
- 3:20 AM Changeset in webkit [289728] by
-
- 3 edits in trunk/Source/WebCore
[ATSPI] Reduce the size of dbus objects Vectors
https://bugs.webkit.org/show_bug.cgi?id=236581
Reviewed by Adrian Perez de Castro.
Use 3 for root, 1 for hyperlink and 7 for object.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::registerObject):
- accessibility/atspi/AccessibilityAtspi.h:
Feb 13, 2022:
- 11:30 PM Changeset in webkit [289727] by
-
- 5 edits2 deletes in trunk/LayoutTests
Delete fast/animation/request-animation-frame-disabled.html after RequestAnimationFrameEnabled setting is deleted
https://bugs.webkit.org/show_bug.cgi?id=236569
Reviewed by Ryosuke Niwa.
r288797 (Bug 235866) deleted RequestAnimationFrameEnabled setting.
We no longer need fast/animation/request-animation-frame-disabled.html
which tests disabling the setting.
- fast/animation/request-animation-frame-disabled-expected.txt: Removed.
- fast/animation/request-animation-frame-disabled.html: Removed.
- platform/gtk/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
- 10:22 PM Changeset in webkit [289726] by
-
- 9 edits in trunk/Source
Unreviewed, non-unified build fixes
https://bugs.webkit.org/show_bug.cgi?id=236577
Source/JavaScriptCore:
- heap/StructureAlignedMemoryAllocator.cpp: Add missing include.
Source/WebCore:
- Modules/notifications/NotificationEvent.cpp: Missing include.
- platform/graphics/ContentTypeUtilities.cpp: Namespace function.
(WebCore::contentTypeMeetsContainerAndCodecTypeRequirements):
- workers/service/ServiceWorkerGlobalScope.cpp: Missing include.
Source/WebKit:
- UIProcess/Notifications/ServiceWorkerNotificationHandler.h: Forward
declare.
- UIProcess/WebProcessProxy.cpp: Missing include.
- 9:22 PM Changeset in webkit [289725] by
-
- 2 edits in trunk/Source/bmalloc
Unreviewed, fix Linux build of libpas part 2
https://bugs.webkit.org/show_bug.cgi?id=235347
- libpas/src/libpas/pas_thread_local_cache.c:
(stop_allocator):
- 9:14 PM Changeset in webkit [289724] by
-
- 7 edits in trunk/Source/bmalloc
Unreviewed, fix Linux build of libpas
https://bugs.webkit.org/show_bug.cgi?id=235347
- libpas/src/libpas/pas_committed_pages_vector.c:
(pas_committed_pages_vector_construct):
- libpas/src/libpas/pas_committed_pages_vector.h:
(pas_committed_pages_vector_is_committed):
- libpas/src/libpas/pas_local_view_cache.h:
(pas_local_view_cache_prepare_to_pop):
- libpas/src/libpas/pas_segregated_heap.c:
(pas_segregated_heap_ensure_allocator_index):
- libpas/src/libpas/pas_thread_local_cache.c:
(stop_allocator):
- libpas/src/libpas/pas_try_allocate_primitive.h:
(pas_try_allocate_primitive_impl_casual_case):
- 7:49 PM Changeset in webkit [289723] by
-
- 4 edits in trunk/Source/WebCore
Decouple AXObjectCache handleChildrenChanged and postNotification.
https://bugs.webkit.org/show_bug.cgi?id=234059
<rdar://problem/86247404>
Reviewed by Chris Fleizach.
This fixes ~7 accessibility tests in isolated tree mode.
Also fixes flakiness in accessibility/dialog-showModal.html.
AXObjectCache::handleChildrenChanged was posting an AXChildrenChanged
notification (postNotification), which causes a double deferral of these
notifications, instead of actually handling the notification.
ChildrenChanged notifications should be handled before many other
notifications of property changes since they are DOM mutations, objects
added or removed, before properties in the resulting objects may be
updated. This patch fixes this problem by making handleChildrenChanged
to actually handle the notifications and update the isolated tree.
In addition, handling of the "open" attribute for <dialog> elements now
updates children, which fixes the flakiness observed in the
dialog-showModal.html test.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleChildrenChanged):
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::deferModalChange):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::performCacheUpdateTimerFired):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
Removed alternative fix where we were processing the pending
ChildrenChanged Notifications before updating the isolated tree.
- accessibility/isolatedtree/AXIsolatedTree.h:
- 5:52 PM Changeset in webkit [289722] by
-
- 25 edits4 adds2 deletes in trunk
Add support for parsing 'subgrid' in grid-template-columns/row
https://bugs.webkit.org/show_bug.cgi?id=236054
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-13
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
Imported lastest subgrid tests.
- web-platform-tests/css/css-grid/subgrid/grid-template-computed-nogrid-expected.txt:
- web-platform-tests/css/css-grid/subgrid/grid-template-computed-nogrid.html:
- web-platform-tests/css/css-grid/subgrid/grid-template-invalid-expected.txt: Added.
- web-platform-tests/css/css-grid/subgrid/grid-template-invalid.html:
- web-platform-tests/css/css-grid/subgrid/grid-template-valid-expected.txt: Added.
- web-platform-tests/css/css-grid/subgrid/grid-template-valid.html:
Source/WebCore:
Adds support for parsing the 'subgrid' keyword followed by a list of line names for
grid-template-columns/rows.
Adds a new CSSSubgridValue wrapper around CSSValueList to represent this.
Also adds support for converting this into style data in StyleBuilderConverter, and serializing
the specified value for computed value (used when the element specified subgrid but doesn't
have an appropriate grid parent).
Tests: imported/w3c/web-platform-tests/css/css-grid/subgrid/grid-template-invalid.html
imported/w3c/web-platform-tests/css/css-grid/subgrid/grid-template-valid.html
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::OrderedNamedLinesCollector::namedGridLineCount const):
(WebCore::addValuesForNamedGridLinesAtIndex):
(WebCore::populateSubgridLineNameList):
(WebCore::valueForGridTrackList):
- css/CSSSubgridValue.cpp: Added.
(WebCore::CSSSubgridValue::customCSSText const):
(WebCore::CSSSubgridValue::CSSSubgridValue):
- css/CSSSubgridValue.h: Added.
- css/CSSValue.cpp:
(WebCore::CSSValue::equals const):
(WebCore::CSSValue::cssText const):
(WebCore::CSSValue::destroy):
- css/CSSValue.h:
(WebCore::CSSValue::isSubgridValue const):
- css/CSSValueKeywords.in:
- css/parser/CSSParserContext.cpp:
(WebCore::operator==):
(WebCore::add):
- css/parser/CSSParserContext.h:
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeGridLineNames):
(WebCore::consumeSubgridNameRepeatFunction):
(WebCore::consumeGridTrackList):
(WebCore::consumeGridTemplatesRowsOrColumns):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::consumeGridTemplateRowsAndAreasAndColumns):
(WebCore::CSSPropertyParser::consumeGridTemplateShorthand):
(WebCore::CSSPropertyParser::consumeGridShorthand):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::gridSubgridRows const):
(WebCore::RenderStyle::gridSubgridColumns const):
(WebCore::RenderStyle::setGridSubgridRows):
(WebCore::RenderStyle::setGridSubgridColumns):
- rendering/style/StyleGridData.cpp:
(WebCore::StyleGridData::StyleGridData):
- rendering/style/StyleGridData.h:
(WebCore::StyleGridData::operator== const):
- style/StyleBuilderConverter.h:
(WebCore::Style::createGridLineNamesList):
(WebCore::Style::BuilderConverter::createGridTrackList):
- style/StyleBuilderCustom.h:
Source/WTF:
Adds a new experimental preference for subgrid support, disabled by default.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
LayoutTests:
Updated TestExpectations to list all the subgrid tests individually, now that we pass a few.
- TestExpectations:
- platform/gtk/imported/w3c/web-platform-tests/css/css-grid/subgrid/grid-template-computed-nogrid-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/css/css-grid/subgrid/grid-template-computed-nogrid-expected.txt: Removed.
- 5:09 PM Changeset in webkit [289721] by
-
- 72 edits1 copy6 adds in trunk
Implement ServiceWorkerRegistration.showNotification()
https://bugs.webkit.org/show_bug.cgi?id=22722
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/notifications/idlharness.https.any-expected.txt:
- web-platform-tests/notifications/idlharness.https.any.serviceworker-expected.txt:
Source/WebCore:
Tests: http/tests/workers/service/shownotification-allowed.html
http/tests/workers/service/shownotification-denied.html
Previously ServiceWorkerRegistration.showNotification(), NotificationEvent, and onnotificationclicked/closed were stubbed out.
This patch hooks them up.
It's largely a plumbing patch, doing the following:
- Making sure calls to-and-from NotificationClient happen on the correct threads
- Making sure Notification related classes now understand how to cope with not having an associated WebPage(Proxy)
- Making sure all of the relevant IPC machinery is in place to handle pageless notifications
- Adds super useful logging
- Modules/notifications/Notification.cpp:
(WebCore::Notification::show):
(WebCore::Notification::dispatchShowEvent):
(WebCore::Notification::dispatchClickEvent):
(WebCore::Notification::dispatchCloseEvent):
- Modules/notifications/NotificationEvent.cpp:
(WebCore::NotificationEvent::create):
(WebCore::NotificationEvent::NotificationEvent):
- Modules/notifications/NotificationEvent.h:
- dom/EmptyScriptExecutionContext.h:
- dom/ScriptExecutionContext.h:
- page/RuntimeEnabledFeatures.h:
- workers/WorkerOrWorkletGlobalScope.h:
- workers/WorkerThread.h:
- workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::~ServiceWorkerGlobalScope):
(WebCore::ServiceWorkerGlobalScope::postTaskToFireNotificationEvent):
- workers/service/ServiceWorkerGlobalScope.h:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::showNotification):
(WebCore::ServiceWorkerRegistration::getNotifications):
- workers/service/context/SWContextManager.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::start):
- workers/service/context/ServiceWorkerThreadProxy.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::registrationStoreDatabaseFailedToOpen):
(WebCore::SWServer::addRegistrationFromStore):
(WebCore::SWServer::addRegistration):
(WebCore::SWServer::processPushMessage):
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::getPendingPushMessages):
(WebKit::NetworkProcess::processPushMessage):
- NetworkProcess/Notifications/NetworkNotificationManager.cpp:
(WebKit::NetworkNotificationManager::getPendingPushMessages):
(WebKit::NetworkNotificationManager::showNotification):
- NetworkProcess/Notifications/NetworkNotificationManager.h:
- Platform/Logging.h:
- Shared/Notifications/NotificationManagerMessageHandler.h:
- Shared/Notifications/NotificationManagerMessageHandler.messages.in:
- Sources.txt:
- UIProcess/API/APINotificationProvider.h:
(API::NotificationProvider::show):
- UIProcess/API/C/WKNotificationManager.cpp:
(WKNotificationManagerGetSharedServiceWorkerNotificationManager):
- UIProcess/API/C/WKNotificationManager.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore _sharedServiceWorkerNotificationManager]):
(-[WKWebsiteDataStore _getPendingPushMessages:]):
(-[WKWebsiteDataStore _processPushMessage:completionHandler:]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/glib/WebKitNotificationProvider.cpp:
(WebKitNotificationProvider::show):
- UIProcess/API/glib/WebKitNotificationProvider.h:
- UIProcess/Notifications/ServiceWorkerNotificationHandler.cpp: Added.
(WebKit::ServiceWorkerNotificationHandler::singleton):
(WebKit::ServiceWorkerNotificationHandler::ServiceWorkerNotificationHandler):
(WebKit::ServiceWorkerNotificationHandler::requestSystemNotificationPermission):
(WebKit::ServiceWorkerNotificationHandler::dataStoreForNotificationID):
(WebKit::ServiceWorkerNotificationHandler::showNotification):
(WebKit::ServiceWorkerNotificationHandler::cancelNotification):
(WebKit::ServiceWorkerNotificationHandler::clearNotifications):
(WebKit::ServiceWorkerNotificationHandler::didDestroyNotification):
- UIProcess/Notifications/ServiceWorkerNotificationHandler.h: Copied from Source/WebKit/UIProcess/Notifications/WebNotificationManagerMessageHandler.h.
- UIProcess/Notifications/WebNotification.cpp:
(WebKit::WebNotification::WebNotification):
- UIProcess/Notifications/WebNotification.h:
(WebKit::WebNotification::create):
(WebKit::WebNotification::sourceConnection const):
- UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp:
(WebKit::WebNotificationManagerMessageHandler::showNotification):
- UIProcess/Notifications/WebNotificationManagerMessageHandler.h:
- UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::sharedServiceWorkerManager):
(WebKit::identifierForPagePointer):
(WebKit::WebNotificationManagerProxy::show):
(WebKit::WebNotificationManagerProxy::cancel):
(WebKit::WebNotificationManagerProxy::didDestroyNotification):
(WebKit::WebNotificationManagerProxy::clearNotifications):
(WebKit::WebNotificationManagerProxy::providerDidShowNotification):
(WebKit::dispatchDidClickNotification):
(WebKit::WebNotificationManagerProxy::providerDidClickNotification):
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
(WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
(WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
(WebKit::pageIDsMatch): Deleted.
(WebKit::pageAndNotificationIDsMatch): Deleted.
- UIProcess/Notifications/WebNotificationManagerProxy.h:
- UIProcess/Notifications/WebNotificationProvider.cpp:
(WebKit::WebNotificationProvider::show):
- UIProcess/Notifications/WebNotificationProvider.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showNotification):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishServiceWorkerContextConnectionToNetworkProcess):
- UIProcess/WebProcessPool.h:
(WebKit::WebProcessPool::sendToAllRemoteWorkerProcesses):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::disableRemoteWorkers):
(WebKit::WebProcessProxy::enableRemoteWorkers):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::showServiceWorkerNotification):
(WebKit::WebsiteDataStore::cancelServiceWorkerNotification):
(WebKit::WebsiteDataStore::clearServiceWorkerNotification):
(WebKit::WebsiteDataStore::didDestroyServiceWorkerNotification):
- UIProcess/WebsiteData/WebsiteDataStore.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::sendNotificationMessage):
(WebKit::WebNotificationManager::show):
(WebKit::WebNotificationManager::cancel):
(WebKit::WebNotificationManager::didDestroyNotification):
(WebKit::WebNotificationManager::didShowNotification):
(WebKit::WebNotificationManager::didClickNotification):
(WebKit::WebNotificationManager::didCloseNotifications):
(WebKit::sendNotificationMessage): Deleted.
- WebProcess/Notifications/WebNotificationManager.h:
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/WebCoreSupport/WebNotificationClient.cpp:
(WebKit::WebNotificationClient::WebNotificationClient):
(WebKit::WebNotificationClient::~WebNotificationClient):
(WebKit::WebNotificationClient::show):
(WebKit::WebNotificationClient::cancel):
(WebKit::WebNotificationClient::notificationObjectDestroyed):
(WebKit::WebNotificationClient::notificationControllerDestroyed):
(WebKit::WebNotificationClient::requestPermission):
(WebKit::WebNotificationClient::checkPermission):
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
To reliably support testing ServiceWorker notifications, TestRunner needed to actually grant/deny permissions in the UI process
like a proper NotificationProvider would.
It also has to understand showing a notification without an associated WKPage.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::postSimulateWebNotificationClickForServiceWorkerNotifications):
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::grantWebNotificationPermission):
(WTR::TestRunner::denyWebNotificationPermission):
(WTR::TestRunner::simulateWebNotificationClickForServiceWorkerNotifications):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::grantNotificationPermission):
(WTR::TestController::denyNotificationPermission):
(WTR::TestController::simulateWebNotificationClickForServiceWorkerNotifications):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
- WebKitTestRunner/WebNotificationProvider.cpp:
(WTR::WebNotificationProvider::WebNotificationProvider):
(WTR::notificationManagerForPage):
(WTR::WebNotificationProvider::showWebNotification):
(WTR::WebNotificationProvider::addNotificationManager):
(WTR::WebNotificationProvider::notificationPermissions):
(WTR::WebNotificationProvider::setPermission):
(WTR::WebNotificationProvider::simulateWebNotificationClickForServiceWorkerNotifications):
(WTR::WebNotificationProvider::reset):
- WebKitTestRunner/WebNotificationProvider.h:
LayoutTests:
Test a ServiceWorker showing a notification both when it's allowed and when it's denied.
- http/tests/workers/service/resources/shownotification-worker.js: Added.
(async const):
(let.messageClients):
(async event):
- http/tests/workers/service/shownotification-allowed-expected.txt: Added.
- http/tests/workers/service/shownotification-allowed.html: Added.
- http/tests/workers/service/shownotification-denied-expected.txt: Added.
- http/tests/workers/service/shownotification-denied.html: Added.
- 1:07 PM Changeset in webkit [289720] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix the internal macOS build
Add some missing
WebCorenamespaces (which are presumably now necessary due to changes in unified source
groupings).
- UIProcess/mac/DisplayCaptureSessionManager.mm:
(WebKit::alertForWindowSelection):
(WebKit::DisplayCaptureSessionManager::deviceSelectedForTesting):
(WebKit::DisplayCaptureSessionManager::showWindowPicker):
(WebKit::DisplayCaptureSessionManager::showScreenPicker):
(WebKit::DisplayCaptureSessionManager::isAvailable):
- 12:48 PM Changeset in webkit [289719] by
-
- 5 edits in trunk/LayoutTests
Fix for accessibility/image-map1.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=236565
<rdar://problem/88874467>
Reviewed by Darin Adler.
Don't use focus manipulation just to retrieve an accessible element,
instead use accessibilityElementById. Updated the outdated code in this
test.
- accessibility/image-map1-expected.txt:
- accessibility/image-map1.html:
- platform/glib/accessibility/image-map1-expected.txt:
- platform/win/accessibility/image-map1-expected.txt:
- 12:26 PM Changeset in webkit [289718] by
-
- 2 edits in trunk/Source/JavaScriptCore
Add comment on how StructureMemoryManager grows the free list when there are no free blocks.
https://bugs.webkit.org/show_bug.cgi?id=236568
Reviewed by Saam Barati.
Also, use uint8_t* rather than rely on the fact that
sizeof(MarkedBlock) == 1.
- heap/StructureAlignedMemoryAllocator.cpp:
(JSC::StructureMemoryManager::tryMallocStructureBlock):
- 12:22 PM Changeset in webkit [289717] by
-
- 2 edits in trunk/Source/JavaScriptCore
Make StructureMemoryManager alignment assert a RELEASE_ASSERT
https://bugs.webkit.org/show_bug.cgi?id=236567
Reviewed by Saam Barati.
Also, check the structure base pointer is non-zero.
- heap/StructureAlignedMemoryAllocator.cpp:
(JSC::StructureMemoryManager::StructureMemoryManager):
- 10:06 AM Changeset in webkit [289716] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Not all atomic inline level boxes need ideographic baseline when in vertical writing mode
https://bugs.webkit.org/show_bug.cgi?id=236556
Reviewed by Antti Koivisto.
Replaced boxes and orthogonal inline-block containers should use ideographic type of baseline.
(e.g. can't sync baselines coming from orthogonal inline-blocks.)
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
- 9:53 AM Changeset in webkit [289715] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, gtk buildfix after r289706
https://bugs.webkit.org/show_bug.cgi?id=236563
- Headers.cmake:
- 9:41 AM Changeset in webkit [289714] by
-
- 5 edits in trunk
[LFC][IFC] Take writing direction into account when setting up the root geometry
https://bugs.webkit.org/show_bug.cgi?id=236548
Reviewed by Antti Koivisto.
Source/WebCore:
This fixes cases when the root block container itself is in a vertical writing context.
<div style="writing-mode: vertical-rl">
<div style="display: inline-block; padding: 10px">vertical content</div>
</div>
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateFormattingRootGeometryAndInvalidate):
LayoutTests:
- platform/mac/fast/text/international/bidi-layout-across-linebreak-expected.txt: Progressions.
- platform/mac/fast/text/international/bidi-override-expected.txt:
- 8:00 AM Changeset in webkit [289713] by
-
- 6 edits2 adds in trunk
Expose the correct role, subrole and role description properties for the <dialog> element.
https://bugs.webkit.org/show_bug.cgi?id=236359
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/dialog-properties.html
Elements with role="dialog" are exposed to accessibility clients with
role AXGroup, subrole AXApplicationDialog and role description
"web dialog". This patch implements this behavior for the <dialog>
element.
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::defaultObjectInclusion const):
LayoutTests:
Tests that these AX properties have the expected values both when the
dialog is shown modal or modeless.
- accessibility/dialog-properties-expected.txt: Added.
- accessibility/dialog-properties.html: Added.
- 6:56 AM Changeset in webkit [289712] by
-
- 4 edits in trunk/Source/WebCore
[LFC][Integration] Introduce Box::ElementType::IntegrationInlineBlock
https://bugs.webkit.org/show_bug.cgi?id=236554
Reviewed by Antti Koivisto.
This is in preparation for adding vertical baseline support for inline-block boxes with alphabetic baseline.
The integration tree builder constructs Replaced layout boxes for both inline-block and replaced types.
In LineBoxBuilder we need to be able to tell whether a particular inline level box is really a replaced
box or just an inline-block in order to assign the correct type of baseline (alphabetic/ideographic).
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::BoxTree):
(WebCore::LayoutIntegration::BoxTree::buildTree):
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::Box): Let's use the ElementType for the integration root too.
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::isIntegrationBlockContainer const):
(WebCore::Layout::Box::isIntegrationInlineBlock const):
(WebCore::Layout::Box::setIsAnonymous):
(WebCore::Layout::Box::setIsIntegrationBlockContainer): Deleted.
- 6:55 AM Changeset in webkit [289711] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Pass in the correct LineDirectionMode value to RenderBoxModelObject::baselinePosition
https://bugs.webkit.org/show_bug.cgi?id=236552
Reviewed by Antti Koivisto.
This is when setting up the BoxGeometry for the atomic inline level boxes.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):
- 6:53 AM Changeset in webkit [289710] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Add missing bidi vertical adjustment when writing mode is not horizontal
https://bugs.webkit.org/show_bug.cgi?id=236551
Reviewed by Antti Koivisto.
Last 2 missing vertical adjustments.
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- 6:48 AM Changeset in webkit [289709] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Baseline value is always logical
https://bugs.webkit.org/show_bug.cgi?id=236549
Reviewed by Antti Koivisto.
Callers expect the baseline value to be always logical.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::firstLineBaseline const):
(WebCore::LayoutIntegration::LineLayout::lastLineBaseline const):
- 6:39 AM Changeset in webkit [289708] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix build when ATSPI is disabled
- platform/graphics/PlatformDisplay.cpp: The ATK code also makes use of GUniqueOutPtr, so
include the corresponding header.
- 6:38 AM Changeset in webkit [289707] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Take writing mode value into account setting vertical margin
https://bugs.webkit.org/show_bug.cgi?id=236538
Reviewed by Antti Koivisto.
Line layout works with logical values.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::horizontalLogicalMargin):
(WebCore::LayoutIntegration::verticalLogicalMargin):
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::updateInlineBoxDimensions):
(WebCore::LayoutIntegration::logicalMargin): Deleted.
- 4:21 AM Changeset in webkit [289706] by
-
- 10 edits1 add in trunk/Source/WebCore
[CSS Container Queries] Add separate ContainerQuery and FilteredContainerQuery types
https://bugs.webkit.org/show_bug.cgi?id=236515
Reviewed by Alan Bujtas.
ContainerQuery is just a type alias to MediaQuerySet for now.
FilteredContainerQuery is a ContainerQuery plus name filter (type filter coming later).
- WebCore.xcodeproj/project.pbxproj:
- css/ContainerQuery.h: Added.
Move to a file of its own.
- css/StyleRule.cpp:
(WebCore::StyleRuleContainer::StyleRuleContainer):
(WebCore::StyleRuleContainer::create):
- css/StyleRule.h:
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::evaluate const):
- style/ContainerQueryEvaluator.h:
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::containerQueryMatches):
- style/ElementRuleCollector.h:
- style/RuleSet.h:
(WebCore::Style::RuleSet::containerQueryFor const):
- style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::addChildRules):
Feb 12, 2022:
- 11:11 PM Changeset in webkit [289705] by
-
- 2 edits in trunk/LayoutTests
Skip imported/w3c/web-platform-tests/url/toascii.window.html on Catalina/Big Sur
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 9:42 PM Changeset in webkit [289704] by
-
- 2 edits in trunk/Source/bmalloc
Fix typos in libpas docs
https://bugs.webkit.org/show_bug.cgi?id=236550
Patch by Brandon Stewart <Brandon> on 2022-02-12
Reviewed by Yusuke Suzuki.
Fix several typos in libpas documentation.
- libpas/Documentation.md:
- 5:18 PM Changeset in webkit [289703] by
-
- 2 edits in trunk/Tools
[run-webkit-tests] Do not try and read from /dev/null
https://bugs.webkit.org/show_bug.cgi?id=236528
<rdar://problem/88836868>
Reviewed by Alexey Proskuryakov.
While writing to /dev/null is well defined, reading from it is not. Do not
read from /dev/null.
- Scripts/webkitpy/layout_tests/servers/websocket_server.py:
(PyWebSocket.init): Delete _wsin.
(PyWebSocket._prepare_config): Ditto.
(PyWebSocket._spawn_process): Use executive.PIPE instead of os.devnull.
(PyWebSocket._stop_running_server): Delete _wsin.
- 5:05 PM Changeset in webkit [289702] by
-
- 10 edits3 adds in trunk/Source/WebKit
Update preference location used for CaptivePortalMode.
https://bugs.webkit.org/show_bug.cgi?id=236135
<rdar://problem/88486544>
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-02-12
Reviewed by Geoffrey Garen.
- PlatformMac.cmake:
- SourcesCocoa.txt:
- UIProcess/API/Cocoa/_WKSystemPreferences.h: Added.
- UIProcess/API/Cocoa/_WKSystemPreferences.mm: Added.
(+[_WKSystemPreferences isCaptivePortalModeEnabled]):
(+[_WKSystemPreferences setCaptivePortalModeEnabled:]):
(+[_WKSystemPreferences isCaptivePortalModeIgnored:]):
(+[_WKSystemPreferences setCaptivePortalModeIgnored:ignore:]):
- UIProcess/API/Cocoa/_WKSystemPreferencesInternal.h: Added.
- UIProcess/Cocoa/PreferenceObserver.mm:
(-[WKUserDefaults findPreferenceChangesAndNotifyForKeys:toValuesForKeys:]):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::captivePortalModeConfigUpdateCallback):
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):
(WebKit::isCaptivePortalModeEnabledBySystemIgnoringCaching):
(WebKit::WebProcessPool::notifyPreferencesChanged):
- UIProcess/WebProcessPool.h:
- UIProcess/mac/DisplayCaptureSessionManager.h:
- UIProcess/mac/DisplayCaptureSessionManager.mm:
(WebKit::DisplayCaptureSessionManager::promptForGetDisplayMedia):
- WebKit.xcodeproj/project.pbxproj:
- 2:57 PM Changeset in webkit [289701] by
-
- 2 edits in trunk/Source/WebCore
[macOS] Use system window and screen picker when available
https://bugs.webkit.org/show_bug.cgi?id=236531
rdar://87111816
Unreviewed build fix.
- platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm:
(WebCore::ScreenCaptureKitSharingSessionManager::takeSharingSessionForFilter):
- 2:44 PM Changeset in webkit [289700] by
-
- 4 edits2 adds in trunk
WebGL2 AllowShared TypedArray should be accepted
https://bugs.webkit.org/show_bug.cgi?id=232662
Reviewed by Dean Jackson.
Source/WebCore:
Test: webgl/webgl-allow-shared-typed-array.html
TypedArray with [AllowShared] annotation is not handled properly, which results in handling it as Sequence<T>,
invoking iteration protocol to copy them. This patch adds that as the same to [AllowShared] ArrayBuffer / ArrayBufferView.
- bindings/IDLTypes.h:
- bindings/js/JSDOMConvertUnion.h:
LayoutTests:
- webgl/webgl-allow-shared-typed-array-expected.txt: Added.
- webgl/webgl-allow-shared-typed-array.html: Added.
- 1:33 PM Changeset in webkit [289699] by
-
- 4 edits1 delete in trunk/LayoutTests
Unreviewed test gardening: imported/w3c/web-platform-tests/url/toascii.window.html
LayoutTests/imported/w3c:
- web-platform-tests/url/toascii.window-expected.txt:
LayoutTests:
- platform/gtk/imported/w3c/web-platform-tests/url/toascii.window-expected.txt: Removed.
- platform/mac/TestExpectations:
- 11:25 AM Changeset in webkit [289698] by
-
- 11 edits in trunk/Source/WebCore
Web Inspector: [Flexbox] Show item bounds, gaps, and free space in flex overlays
https://bugs.webkit.org/show_bug.cgi?id=236410
Reviewed by Devin Rousso.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::flexibleBoxRendererBeganLayoutImpl):
(WebCore::InspectorInstrumentation::flexibleBoxRendererWrappedToNextLineImpl):
(WebCore::InspectorInstrumentation::instrumentingAgents):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::flexibleBoxRendererBeganLayout):
(WebCore::InspectorInstrumentation::flexibleBoxRendererWrappedToNextLine):
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMAgent::reset):
(WebCore::InspectorDOMAgent::flexibleBoxRendererBeganLayout):
(WebCore::InspectorDOMAgent::flexibleBoxRendererWrappedToNextLine):
(WebCore::InspectorDOMAgent::flexibleBoxRendererCachedItemsAtStartOfLine):
- inspector/agents/InspectorDOMAgent.h:
- Add instrumentation points specifically for flexbox renderers to keep track of which items start a new line
inside flex containers. The start of the first line is not recorded because it will always be zero.
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
- Force a layout of the document to ensure that our collection of flexbox line starts is correctly populated
when attaching an inspector, since without an inspector this information is not kept beyond layout.
- inspector/InspectorOverlay.cpp:
(WebCore::drawLayoutPattern):
- Generalize
drawLayoutHatchingto support different line styles in order to support the new stippling fill. - In order to support "flipping" the pattern we now use a rectangle encompassing the provided quad as the edges
we follow for filling the pattern (the existing clipping ensures that the final product is still within the
quad). This also resolves an issue that could occur in transformed containers (non-rectangular) where the
spacing was inconsistent at different rotations/perspectives.
(WebCore::drawLayoutStippling):
- A new dot-pattern effect similar to hatching, but using small dots to fill the space instead.
(WebCore::drawLayoutHatching):
- Updated to use the new generic
drawLayoutPatternhelper.
(WebCore::InspectorOverlay::drawFlexOverlay):
(WebCore::InspectorOverlay::buildFlexOverlay):
- Handle iterating through the flex children to show their bounds as well as the spacing/gaps between them.
Almost all this work is done in relative terms, like leading/trailing/cross-axis/main-axis to make it easier to
reason about what should happen for different writing modes, text direction, flex direction, and flex wrapping.
To accomplish this coordinates of children are read through specialcorrected*helper functions that take in
to account the determined direction, main-axis reversal, and cross axis-reversal from all of the relevant
properties. This means there are only 8 (23) actual permutations of flex layout (since the layout inside each
individual child is irrelevant here). Throughout we are working with flex children frames that are relative to
their parent, which saves us from having to deal with transforms until after we have constructed most of our
overlay representation, only needing to be passed throughchildQuadToRootQuadbefore being added to the
appropriate part of the highlight object.
- inspector/InspectorOverlay.h:
(WebCore::InspectorOverlay::Highlight::FlexHighlightOverlay::encode const):
(WebCore::InspectorOverlay::Highlight::FlexHighlightOverlay::decode):
- rendering/RenderBox.h:
(WebCore::RenderBox::marginBox const):
- Add a way to get the entire margin box instead of its individual components.
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutFlexItems):
- rendering/RenderFlexibleBox.h:
- Make getting the computed inter-item and inter-line gap public so we can use them in the overlay.
- Add instrumentation calls to keep track of the indexes of items that start a new line during layout when an
Inspector is attached.
- platform/LayoutUnit.h:
(WebCore::operator!=):
- 10:16 AM Changeset in webkit [289697] by
-
- 33 edits11 adds in trunk
Add settings to restrict media containers and codecs when in Captive Portal mode
https://bugs.webkit.org/show_bug.cgi?id=236245
Reviewed by Eric Carlson.
Source/WebCore:
Tests: media/media-allowed-codecs.html
media/media-allowed-containers.html
media/media-source/media-source-allowed-codecs.html
media/media-source/media-source-allowed-containers.html
Add settings at the WebCore level to optionally declare a list of container types,
video codecs, audio codecs, and caption formats to allow when loading media through
HTMLMediaElement and MediaSource.
There are some cases where the codec ID, typically a four-character-code embedded
in the container itself, does not match the RFC4281 codec string. Notably, this is the case
with "mp4a.40" and 'aac '. So the settings must include both the codec ID and the codec
type in string form.
Query these lists in HTMLMediaElement::canPlayType() and MediaSource::isTypeSupported()
and reject ContentTypes which do not conform to the allowed types.
Query these lists in MediaSource::changeType() to disallow switching to an unsupported
ContentType.
If these lists are set, pass them into AVURLAsset as creation options.
When a new AVAssetTrack is loaded, query these lists and if the track's type does not
conform to the allowed types, synthesize an error and block further loading.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::isTypeSupported):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::changeType):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canPlayType const):
(WebCore::HTMLMediaElement::allowedMediaContainerTypes const):
(WebCore::HTMLMediaElement::allowedMediaCodecTypes const):
(WebCore::HTMLMediaElement::allowedMediaVideoCodecTypes const):
(WebCore::HTMLMediaElement::allowedMediaAudioCodecTypes const):
(WebCore::HTMLMediaElement::allowedMediaCaptionFormatTypes const):
- html/HTMLMediaElement.h:
- page/SettingsBase.cpp:
(WebCore::SettingsBase::setAllowedMediaContainerTypes):
(WebCore::SettingsBase::setAllowedMediaVideoCodecTypes):
(WebCore::SettingsBase::setAllowedMediaAudioCodecTypes):
(WebCore::SettingsBase::setAllowedMediaCaptionFormatTypes):
- page/SettingsBase.h:
(WebCore::SettingsBase::setAllowedMediaContainerTypes):
(WebCore::SettingsBase::allowedMediaContainerTypes const):
(WebCore::SettingsBase::setAllowedMediaVideoCodecTypes):
(WebCore::SettingsBase::allowedMediaVideoCodecTypes const):
(WebCore::SettingsBase::setAllowedMediaAudioCodecTypes):
(WebCore::SettingsBase::allowedMediaAudioCodecTypes const):
(WebCore::SettingsBase::setAllowedMediaCaptionFormatTypes):
(WebCore::SettingsBase::allowedMediaCaptionFormatTypes const):
- platform/graphics/ContentTypeUtilities.cpp: Added.
(WebCore::contentTypesToCodecs):
(WebCore::contentTypeMeetsContainerAndCodecTypeRequirements):
- platform/graphics/ContentTypeUtilities.h: Added.
- platform/graphics/FourCC.h:
(WebCore::FourCC::encode const):
(WebCore::FourCC::decode):
- platform/graphics/MediaPlayer.cpp:
(WebCore::nullOptionalStringVector):
(WebCore::nullOptionalFourCCVector):
(WebCore::MediaPlayer::nextBestMediaEngine):
(WebCore::MediaPlayer::allowedMediaContainerTypes const):
(WebCore::MediaPlayer::allowedMediaVideoCodecTypes const):
(WebCore::MediaPlayer::allowedMediaAudioCodecTypes const):
(WebCore::MediaPlayer::allowedMediaCaptionFormatTypes const):
- platform/graphics/MediaPlayer.h:
(WebCore::MediaEngineSupportParameters::encode const):
(WebCore::MediaEngineSupportParameters::decode):
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
(WebCore::MediaPlayerPrivateAVFoundation::loadingMetadata const):
- platform/graphics/avfoundation/objc/AVAssetTrackUtilities.mm:
(WebCore::contentTypesToCodecs): Deleted.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::allTracksArePlayable const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::trackIsPlayable const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsTypeAndCodecs):
(WebCore::assetTrackMetadataKeyNames):
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::setAllowedMediaContainerTypes):
(WebCore::InternalSettings::setAllowedMediaVideoCodecTypes):
(WebCore::InternalSettings::setAllowedMediaAudioCodecTypes):
(WebCore::InternalSettings::setAllowedMediaCaptionFormatTypes):
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
Source/WebCore/PAL:
- pal/cocoa/AVFoundationSoftLink.h:
- pal/cocoa/AVFoundationSoftLink.mm:
Source/WebKit:
RemoteMediaPlayerManager caches the results of supportsTypeAndCodecs() calls, which
is problematic when those results can change due to a change in settings. So enforce
the allowed codec and containers settings at the RemoteMediaPlayerManager level. Also,
pass those settings across the GPU process boundary via RemoteMediaPlayerProxyConfiguration.
Drive-by fix: refactor RemoteMediaPlayerProxyConfiguration::decode() so as not to require
re-declaring the types of every ivar, and greatly simplify the implementation.
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h:
(WebKit::RemoteMediaPlayerProxyConfiguration::encode const):
(WebKit::RemoteMediaPlayerProxyConfiguration::decode):
- WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):
(WebKit::RemoteMediaPlayerManager::supportsTypeAndCodecs):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Source/WTF:
- Scripts/Preferences/WebPreferences.yaml:
LayoutTests:
- media/media-allowed-codecs-expected.txt: Added.
- media/media-allowed-codecs.html: Added.
- media/media-allowed-containers-expected.txt: Added.
- media/media-allowed-containers.html: Added.
- media/media-source/media-source-allowed-codecs-expected.txt: Added.
- media/media-source/media-source-allowed-codecs.html: Added.
- media/media-source/media-source-allowed-containers-expected.txt: Added.
- media/media-source/media-source-allowed-containers.html: Added.
- 8:08 AM Changeset in webkit [289696] by
-
- 17 edits3 adds in trunk/Source
[macOS] Use system window and screen picker when available
https://bugs.webkit.org/show_bug.cgi?id=236531
rdar://87111816
Reviewed by Jer Noble.
Source/WebCore:
Tested manually.
- SourcesCocoa.txt: Add new files.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- en.lproj/Localizable.strings: Update prompts.
- platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp:
(WebCore::DisplayCaptureSourceCocoa::capturerConfigurationChanged): Allow a capturer
to notify the source of a configuration change.
- platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h:
(WebCore::CapturerObserver::capturerConfigurationChanged):
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.h:
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
(-[WebCoreScreenCaptureKitHelper stream:didStopWithError:]): Forward delegate callbacks
to the capture source.
(-[WebCoreScreenCaptureKitHelper sessionDidEnd:]): Ditto.
(-[WebCoreScreenCaptureKitHelper sessionDidChangeContent:]): Ditto.
(-[WebCoreScreenCaptureKitHelper pickerCanceledForSession:]): Ditto.
(WebCore::ScreenCaptureKitCaptureSource::sessionDidChangeContent): React to a
reconfiguration.
(WebCore::ScreenCaptureKitCaptureSource::sessionDidEnd):
(WebCore::ScreenCaptureKitCaptureSource::startContentStream): Use the sharing
session manager when available.
(WebCore::ScreenCaptureKitCaptureSource::intrinsicSize const): Get the size from
the content when possible.
- platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h: Added.
(WebCore::ScreenCaptureKitSharingSessionManager::SharingSessionObserver::operator== const):
- platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm: Added.
(-[WebDisplayMediaPromptHelper initWithCallback:]):
(-[WebDisplayMediaPromptHelper disconnect]):
(-[WebDisplayMediaPromptHelper startObservingSession:]):
(-[WebDisplayMediaPromptHelper stopObservingSession:]):
(-[WebDisplayMediaPromptHelper sessionDidEnd:]):
(-[WebDisplayMediaPromptHelper sessionDidChangeContent:]):
(-[WebDisplayMediaPromptHelper pickerCanceledForSession:]):
(WebCore::ScreenCaptureKitSharingSessionManager::isAvailable):
(WebCore::ScreenCaptureKitSharingSessionManager::singleton):
(WebCore::ScreenCaptureKitSharingSessionManager::ScreenCaptureKitSharingSessionManager):
(WebCore::ScreenCaptureKitSharingSessionManager::~ScreenCaptureKitSharingSessionManager):
(WebCore::ScreenCaptureKitSharingSessionManager::pickerCanceledForSession):
(WebCore::ScreenCaptureKitSharingSessionManager::sessionDidEnd):
(WebCore::ScreenCaptureKitSharingSessionManager::sessionDidChangeContent):
(WebCore::ScreenCaptureKitSharingSessionManager::showWindowPicker):
(WebCore::ScreenCaptureKitSharingSessionManager::showScreenPicker):
(WebCore::ScreenCaptureKitSharingSessionManager::promptForGetDisplayMedia):
(WebCore::ScreenCaptureKitSharingSessionManager::takeSharingSessionForFilter):
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/mac/ScreenCaptureKitSoftLink.h:
- pal/mac/ScreenCaptureKitSoftLink.mm:
- pal/spi/mac/ScreenCaptureKitSPI.h: Added.
Source/WebKit:
- Platform/spi/Cocoa/SafeBrowsingSPI.h:
- UIProcess/mac/DisplayCaptureSessionManager.mm:
(WebKit::DisplayCaptureSessionManager::alertForGetDisplayMedia): Update prompt strings.
(WebKit::DisplayCaptureSessionManager::showWindowPicker): Use capture session
manager when available.
(WebKit::DisplayCaptureSessionManager::showScreenPicker): Ditto.
Source/WTF:
- wtf/PlatformHave.h: Define HAVE_SC_CONTENT_SHARING_SESSION.
- 7:48 AM Changeset in webkit [289695] by
-
- 2 edits in trunk/Source/JavaScriptCore
[CMake] REGRESSION(r289611): Debug builds fail linking binaries with ld.lld
https://bugs.webkit.org/show_bug.cgi?id=236506
Reviewed by Yusuke Suzuki.
- jit/ThunkGenerators.cpp: Use .previous in inline assembler for thunks in order to ensure
that mixed emission of assembler code and variable definitions correctly puts each of them
in their rightful sections in the output object code.
- 7:42 AM Changeset in webkit [289694] by
-
- 10 edits in trunk
Invoke mouse hover delegate callback on iOS
https://bugs.webkit.org/show_bug.cgi?id=233018
Patch by Kevin Turner <kevin_turner@apple.com> on 2022-02-12
Reviewed by Tim Horton.
Source/WebKit:
Allow mouseDidMoveOverElement: callbacks on iOS with pointer support.
Test: iOSMouseSupport.MouseDidMoveOverElement
- Shared/API/Cocoa/_WKHitTestResult.h:
- Shared/API/Cocoa/_WKHitTestResult.mm:
- Shared/API/Cocoa/_WKHitTestResultInternal.h:
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::mouseDidMoveOverElement):
Convert the modifier flags from the hover event to UIKeyModifierFlags if not on macOS.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(-[MouseSupportUIDelegate _webView:mouseDidMoveOverElement:withFlags:userInfo:]):
(-[MouseSupportUIDelegate setMouseDidMoveOverElementHandler:]):
(TEST):
- 7:34 AM Changeset in webkit [289693] by
-
- 7 edits2 adds in trunk
Suppress style invalidation when matching :checked
https://bugs.webkit.org/show_bug.cgi?id=235910
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-12
Reviewed by Antti Koivisto.
Source/WebCore:
Suppress style invalidation when matching :checked for option elements.
Test: fast/selectors/has-select-option-crash.html
- css/SelectorCheckerTestFunctions.h:
(WebCore::isChecked):
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::selected const):
(WebCore::HTMLOptionElement::setSelectedState):
- html/HTMLOptionElement.h:
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::updateListItemSelectedStates):
(WebCore::HTMLSelectElement::recalcListItems const):
- html/HTMLSelectElement.h:
LayoutTests:
- fast/selectors/has-select-option-crash-expected.txt: Added.
- fast/selectors/has-select-option-crash.html: Added.
- 7:29 AM Changeset in webkit [289692] by
-
- 3 edits in trunk/Source/WebCore
Make WidgetHierarchyUpdatesSuspensionScope cheaper if it has nothing to do
https://bugs.webkit.org/show_bug.cgi?id=236486
Reviewed by Simon Fraser.
With content that does a lot of DOM manipulation, we can create and
destroy a WidgetHierarchyUpdatesSuspensionScope on the stack many times.
When this object has nothing to do, it calls an out of line function.
This patch pulls out the check for whether it needs to call
moveWidgets() into the inline destructor.
This is a 1% saving on the jQuery-TodoMVC subtest of Speedometer 2,
though the effect on the top line score is minimal.
- rendering/RenderWidget.cpp:
(WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
- rendering/RenderWidget.h:
(WebCore::WidgetHierarchyUpdatesSuspensionScope::~WidgetHierarchyUpdatesSuspensionScope):
(WebCore::WidgetHierarchyUpdatesSuspensionScope::scheduleWidgetToMove):
- 7:08 AM Changeset in webkit [289691] by
-
- 2 edits in trunk/Source/WebCore
Look up InputTypeFactoryMap with an ASCII lowercase string instead of using a ASCIICaseInsensitiveHash
https://bugs.webkit.org/show_bug.cgi?id=236532
Reviewed by Myles C. Maxfield.
InputType::create looks up the InputTypeFactoryMap based on the
AtomString value of the <input type> attribute. The HashMap uses an
ASCIICaseInsensitiveHash, but the AtomStrings stored in the map are all
ASCII lowercase to begin with. This means that we spend time doing an
ASCII case insensitive hash computation on the query string. Most
content already supplies an ASCII lowercase type value, so it's less
work to ASCII lowercase the type value and then look up the HashMap
using the regular hash for AtomStrings (i.e., pulling the hash out of
AtomString).
Doing this is a 0.5% improvement on a couple of Speedometer 2 subtests,
and a 0.1% improvement to the overall score.
- html/InputType.cpp:
(WebCore::InputType::create):
- 6:20 AM Changeset in webkit [289690] by
-
- 12 edits in trunk/Tools
Unreviewed, reverting r289687.
https://bugs.webkit.org/show_bug.cgi?id=236539
broke commit queue
Reverted changeset:
"git-webkit setup should allow changing the credentials"
https://bugs.webkit.org/show_bug.cgi?id=235297
https://commits.webkit.org/r289687
Patch by Commit Queue <commit-queue@webkit.org> on 2022-02-12
Feb 11, 2022:
- 6:29 PM Changeset in webkit [289689] by
-
- 3 edits in trunk/Source/JavaScriptCore
Allow structureHeapAddressSize to be set during build
https://bugs.webkit.org/show_bug.cgi?id=236527
Reviewed by Yusuke Suzuki.
Add
STRUCTURE_HEAP_ADDRESS_SIZE_IN_MBas a way to set the size of
structureHeapAddressSize at build time. Set a default for the PlayStation port.
- PlatformPlayStation.cmake:
- runtime/JSCConfig.h:
- 6:04 PM Changeset in webkit [289688] by
-
- 1 copy in tags/Safari-614.1.3
Tag Safari-614.1.3.
- 6:04 PM Changeset in webkit [289687] by
-
- 12 edits in trunk/Tools
git-webkit setup should allow changing the credentials
https://bugs.webkit.org/show_bug.cgi?id=235297
<rdar://problem/87988794>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:
(Tracker.credentials): Pass validater into webkitscmpy.credentials if caller requests validation.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.credentials): Pass validater into webkitscmpy.credentials if caller requests validation.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): Allow caller to provide a callback which will validate credentials to ensure
they work, re-prompt user if credentials fail validation.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Request validation of GitHub credentials.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.credentials): Pass validation flag.
Canonical link: https://commits.webkit.org/247173@main
- 5:52 PM Changeset in webkit [289686] by
-
- 4 edits2 adds in trunk
contain:contentbreaks fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236470
<rdar://88689388>
Reviewed by Simon Fraser.
Source/WebCore:
Paint/layout containment forms a containing block for fixed positioned block boxes. It makes all fixed
positioned descendants anchored (contained) to this layout container.
This patch enables fullscreen boxes break out of this non-ICB based layout scope (this is similar to what we
do for other, "layout scope changing" properties, see canContainFixedPositionObjects).
Test: fullscreen/fullscreen-prevented-by-containment.html
- css/fullscreen.css:
(:-webkit-full-screen-ancestor:not(iframe)):
- css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::CSSParserContext):
LayoutTests:
- fullscreen/fullscreen-prevented-by-containment-expected.txt: Added.
- fullscreen/fullscreen-prevented-by-containment.html: Added.
- 5:46 PM Changeset in webkit [289685] by
-
- 14 edits2 copies in trunk/Source/WebKit
Implement Reveal methods
https://bugs.webkit.org/show_bug.cgi?id=236478
Reviewed by Wenson Hsieh.
Respond to protocol methods that request RVItems for selection.
- Platform/IPC/ArgumentCoder.h:
- Platform/IPC/DataReference.h:
- Shared/Cocoa/SandboxExtensionCocoa.mm:
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
- SourcesCocoa.txt:
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView requestRVItemInSelectedRangeWithCompletionHandler:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::requestRVItemInCurrentSelectedRange):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestRVItemInCurrentSelectedRange):
- 5:45 PM Changeset in webkit [289684] by
-
- 5 edits in trunk/Tools
[git-webkit] Link issue to pull requests
https://bugs.webkit.org/show_bug.cgi?id=236339
<rdar://problem/88657772>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.main): Add link to pull request in issue comments, assign issue to
pull request author.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
Canonical link: https://commits.webkit.org/247170@main
- 5:35 PM Changeset in webkit [289683] by
-
- 2 edits in trunk/Source/WTF
Turn overscroll-behavior on by default
https://bugs.webkit.org/show_bug.cgi?id=236060
Reviewed by Tim Nguyen.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 5:15 PM Changeset in webkit [289682] by
-
- 5 edits4 deletes in trunk
Unreviewed, reverting r289498.
https://bugs.webkit.org/show_bug.cgi?id=236534
Speedometer2 2% regression
Reverted changeset:
"Dialog element only animates once"
https://bugs.webkit.org/show_bug.cgi?id=236274
https://commits.webkit.org/r289498
- 5:12 PM Changeset in webkit [289681] by
-
- 18 edits1 add in trunk/Source
[iOS] Add a "Copy Cropped Image" context menu item when long pressing images
https://bugs.webkit.org/show_bug.cgi?id=236511
rdar://88817219
Reviewed by Devin Rousso.
Source/WebKit:
Add support for a new context menu item on iOS that allows the user to copy a cropped version of the source
image, after invoking markup UI. See below for more details.
- Configurations/WebKit.xcconfig:
Link against UniformTypeIdentifiers on macOS 11+, rather than macOS 12+.
- Platform/cocoa/CocoaImage.h:
- Platform/cocoa/CocoaImage.mm:
(WebKit::transcode):
(WebKit::transcodeWithPreferredMIMEType):
Move a helper function that transcodes an image to a given UTI into CocoaImage.h, as a standalone function.
Also, add a separate helper function here that transcodes an image to a given MIME type (with a fallback UTI, in
case the MIME type cannot be mapped to a suitable UTI that conforms to any image UTI). The new call sites of
this function are in WKContentViewInteraction.mm.
- Platform/cocoa/TextRecognitionUtilities.mm:
- Shared/ios/InteractionInformationAtPosition.h:
- Shared/ios/InteractionInformationAtPosition.mm:
(WebKit::InteractionInformationAtPosition::encode const):
(WebKit::InteractionInformationAtPosition::decode):
Add a new
imageMIMETypemember to represent the MIME type of the source image used to generate the bitmap
image data inimage.
- SourcesCocoa.txt: Add CocoaImage.mm.
- UIProcess/API/Cocoa/_WKActivatedElementInfo.mm:
(-[_WKActivatedElementInfo _initWithInteractionInformationAtPosition:userInfo:]):
(-[_WKActivatedElementInfo _initWithType:URL:imageURL:location:title:ID:rect:image:imageMIMEType:]):
(-[_WKActivatedElementInfo _initWithType:URL:imageURL:location:title:ID:rect:image:imageMIMEType:userInfo:]):
(-[_WKActivatedElementInfo imageMIMEType]):
Add plumbing for
imageMIMETypefrom InteractionInformationAtPosition (position information) into
_WKActivatedElementInfo, as an internal method. We use this information below, to transcode the resulting image
back to the source image format after applying markup, when invoking the new "Copy Cropped Image" item.
(-[_WKActivatedElementInfo _initWithType:URL:imageURL:location:title:ID:rect:image:]): Deleted.
(-[_WKActivatedElementInfo _initWithType:URL:imageURL:location:title:ID:rect:image:userInfo:]): Deleted.
- UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h:
- UIProcess/API/Cocoa/_WKElementAction.h:
- UIProcess/API/Cocoa/_WKElementAction.mm:
(+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
(+[_WKElementAction imageForElementActionType:]):
Add support for the new "Copy Cropped Image" item tag (
_WKElementActionTypeCopyCroppedImage).
(elementActionTypeToUIActionIdentifier):
(uiActionIdentifierToElementActionType):
- UIProcess/ios/WKActionSheetAssistant.h:
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant defaultActionsForLinkSheet:]):
(-[WKActionSheetAssistant defaultActionsForImageSheet:]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant handleElementActionWithType:element:needsInteraction:]):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _showAttachmentSheet]):
(-[WKContentView performImageAnalysisMarkup:]):
Use the new
transcodeWithPreferredMIMETypehelper method here.
(-[WKContentView doAfterComputingImageAnalysisResultsForMarkup:]):
Remove the TIFF transcoding workaround from this method (see associated changes in Radar for more information).
(-[WKContentView actionSheetAssistant:copyCroppedImage:sourceMIMEType:]):
Handle the new action by calling into VisionKit to adjust the source image as needed, and then transcode the
resulting CGImageRef back to a format that matches the source image; finally, write this transcoded
representation to the general pasteboard.
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
Pass
imageMIMETypefrom position information into the activated element info initializer in several places.
(WebKit::transcode): Deleted.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::imagePositionInformation):
(WebKit::elementPositionInformation):
Populate
imageMIMETypein position information.
Source/WTF:
Add a compile-time flag to guard availability of the UniformTypeIdentifiers framework. See WebKit/ChangeLog for
more information.
- wtf/PlatformHave.h:
- 4:42 PM Changeset in webkit [289680] by
-
- 3 edits in trunk/Source/WebKit
[GPU Process] [CG] Add an ArgumentCoder for CFCharacterSetRef
https://bugs.webkit.org/show_bug.cgi?id=236507
Reviewed by Sam Weinig.
CFCharacterSetRef is used for encoding and decoding the system fonts.
- Shared/cf/ArgumentCodersCF.cpp:
(IPC::typeFromCFTypeRef):
(IPC::ArgumentCoder<CFTypeRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CFTypeRef>>::decode):
(IPC::ArgumentCoder<CFCharacterSetRef>::encode):
(IPC::ArgumentCoder<RetainPtr<CFCharacterSetRef>>::decode):
- Shared/cf/ArgumentCodersCF.h:
- 3:54 PM Changeset in webkit [289679] by
-
- 1 copy in tags/Safari-613.1.17.0.1
Tag Safari-613.1.17.0.1.
- 3:53 PM Changeset in webkit [289678] by
-
- 1 copy in tags/Safari-613.1.17.1.1
Tag Safari-613.1.17.1.1.
- 3:35 PM Changeset in webkit [289677] by
-
- 2 edits in trunk/LayoutTests
Marking expectations for compositing/iframes/border-radius-composited-frame.html as it is failing on EWS
rdar://80333071
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:26 PM Changeset in webkit [289676] by
-
- 4 edits in trunk/Tools
[EWS] Rebase PRs on tip of branch
https://bugs.webkit.org/show_bug.cgi?id=236389
<rdar://problem/88705147>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/master.cfg: Add github.base.ref to properties.
- Tools/CISupport/ews-build/steps.py:
(CheckOutSource.run): Set branch from github properties, if available.
(ShowIdentifier.start): Use 'got_revision' instead of github properties.
(CheckOutPullRequest.run): Rebase PRs if we have enough information to. To support
rebasing, we need to handle conflicts in changelogs.
(RevertPullRequestChanges.run): Revert to whatever revision we rebased on.
(Trigger.propertiesToPassToTriggers): Pass github.base.ref to triggered build.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247164@main
- 3:23 PM Changeset in webkit [289675] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk1 ] fast/text/otsvg-canvas.html failing constantly
https://bugs.webkit.org/show_bug.cgi?id=236530
Unreviewed test gardening
- platform/mac-wk1/TestExpectations:
- 3:10 PM Changeset in webkit [289674] by
-
- 2 edits in trunk/LayoutTests
update expectations for webrtc/h264-baseline.html and webrtc/h264-high.html
webkit.org/b/223043
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:03 PM Changeset in webkit [289673] by
-
- 6 edits in trunk/Source
Enable grammar checking on Mac Catalyst.
https://bugs.webkit.org/show_bug.cgi?id=236479
Reviewed by Devin Rousso.
Source/WebCore:
- editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToWord):
- platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::grammarColor):
(WebCore::colorForMarkerLineStyle):
Source/WebKit:
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/TextCheckerIOS.mm:
(WebKit::mutableState):
(WebKit::TextChecker::setGrammarCheckingEnabled):
(WebKit::TextChecker::checkTextOfParagraph):
- 2:57 PM Changeset in webkit [289672] by
-
- 24 edits2 adds in trunk
Fix MIME type check for classic worker script fetches
https://bugs.webkit.org/show_bug.cgi?id=236411
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/workers/Worker_script_mimetype-expected.txt:
- web-platform-tests/workers/importscripts_mime.any.sharedworker-expected.txt:
- web-platform-tests/workers/importscripts_mime.any.worker-expected.txt:
Rebaseline WPT tests now that more checks are passing.
- web-platform-tests/workers/constructors/SharedWorker/Infinity.headers: Added.
- web-platform-tests/workers/constructors/SharedWorker/NaN.headers: Added.
Merge upstream fix from https://github.com/web-platform-tests/wpt/pull/32782.
Source/WebCore:
Fix MIME type check for classic worker script fetches and classic worker script imports, so that we are
now aligned with the specification:
- https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-classic-worker-script (Step 5)
- https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-classic-worker-imported-script (Step 5)
This was causing us to fail some Web Platform Tests.
No new tests, rebaselined existing tests.
- bindings/js/WorkerModuleScriptLoader.cpp:
(WebCore::WorkerModuleScriptLoader::load):
- loader/FetchOptions.h:
(WebCore::isScriptLikeDestination):
- workers/Worker.cpp:
(WebCore::Worker::create):
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::importScripts):
- workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::constructJavaScriptMIMETypeError):
(WebCore::WorkerScriptLoader::validateWorkerResponse):
(WebCore::WorkerScriptLoader::didReceiveResponse):
- workers/WorkerScriptLoader.h:
- workers/service/ServiceWorkerJob.cpp:
(WebCore::ServiceWorkerJob::fetchScriptWithContext):
- workers/shared/SharedWorkerScriptLoader.cpp:
(WebCore::SharedWorkerScriptLoader::load):
Source/WebKit:
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
(WebKit::ServiceWorkerSoftUpdateLoader::processResponse):
LayoutTests:
Fix existing layout tests to make sure that worker scripts are served with a JavaScript mime type.
- http/tests/resourceLoadStatistics/resources/script-revealing-cookies.py:
- http/tests/security/contentSecurityPolicy/resources/worker-importScript-redirect-cross-origin-allowed.py:
- http/tests/security/contentSecurityPolicy/resources/worker-importScript-redirect-cross-origin-blocked.py:
- http/tests/security/contentSecurityPolicy/resources/worker-xhr-allowed.py:
- http/tests/security/contentSecurityPolicy/resources/worker-xhr-redirect-cross-origin-allowed.py:
- http/tests/security/contentSecurityPolicy/resources/worker-xhr-redirect-cross-origin-blocked.py:
- http/tests/security/contentSecurityPolicy/resources/worker.py:
- http/tests/workers/resources/subworker-encoded.py:
- 2:46 PM Changeset in webkit [289671] by
-
- 4 edits in trunk
[CMake] Check for MAP_ALIGNED support
https://bugs.webkit.org/show_bug.cgi?id=236522
Reviewed by Keith Miller.
.:
Add a symbol check for MAP_ALIGNED in the CMake.
- Source/cmake/OptionsCommon.cmake:
Source/WTF:
Use the HAVE(MAP_ALIGNED) check in tryReserveUncommittedAligned. Mark unused parameters in
the function. Also define MAP_NORESERVE if its undefined which seems to be the case in
FreeBSD.
- wtf/posix/OSAllocatorPOSIX.cpp:
(WTF::OSAllocator::tryReserveUncommittedAligned):
- 1:48 PM Changeset in webkit [289670] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Sources: double clicking a breakpoint icon should show the edit popover
https://bugs.webkit.org/show_bug.cgi?id=236524
Reviewed by Patrick Angle.
This is a more convenient way to access(/discover) the breakpoint's configuration details.
- UserInterface/Views/BreakpointTreeElement.js:
(WI.BreakpointTreeElement):
(WI.BreakpointTreeElement.prototype._handleStatusImageElementDoubleClicked): Added.
- UserInterface/Views/BreakpointPopover.js:
(WI.BreakpointPopover.show): Added.
(WI.BreakpointPopover.appendContextMenuItems):
Add a convenience method to create aWI.BreakpointPopover(or subclass) for the given
breakpoint andshowit over the given target element.
- 1:46 PM Changeset in webkit [289669] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: click to re-enable breakpoint clears automatic continue
https://bugs.webkit.org/show_bug.cgi?id=236465
Reviewed by Patrick Angle.
This is not very convenient for developers as it means that they have to click more than
once when re-enabling an auto-continue breakpoint (i.e. once to enable it (which currently
disables auto-continue), and once to re-enable auto-continue). Separating these behaviors is
preferable because it's unlikely that a developer would want to disable auto-continue when
re-enabling a breakpoint if they've taken the time to previously configure auto-continue.
- UserInterface/Views/BreakpointTreeElement.js:
(WI.BreakpointTreeElement.prototype.onenter):
(WI.BreakpointTreeElement.prototype.onspace):
(WI.BreakpointTreeElement.prototype._statusImageElementClicked):
- UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype.textEditorBreakpointClicked):
ReplacecycleToNextNodewithdisabled = !disabled.
- UserInterface/Models/Breakpoint.js:
(WI.Breakpoint.prototype.cycleToNextMode): Deleted.
Remove this method now that it's no longer used.
- 1:43 PM Changeset in webkit [289668] by
-
- 3 edits in trunk/LayoutTests
[model] rewrite http/tests/model/model-document.html using testharness.js
https://bugs.webkit.org/show_bug.cgi?id=236494
Reviewed by Dean Jackson.
- http/tests/model/model-document-expected.txt:
- http/tests/model/model-document.html:
- 1:39 PM Changeset in webkit [289667] by
-
- 2 edits in trunk/LayoutTests
css/css-writing-modes/direction-propagation-body-contain-root.html asserts
https://bugs.webkit.org/show_bug.cgi?id=234763
<rdar://problem/87243336>
Unreviewed gardening.
- TestExpectations: it looks to have progressed.
- 1:16 PM WebKitGTK/2.34.x edited by
- (diff)
- 1:12 PM Changeset in webkit [289666] by
-
- 3 edits2 adds in trunk
[model] standalone model documents should be interactive
https://bugs.webkit.org/show_bug.cgi?id=236493
Reviewed by Dean Jackson.
Source/WebCore:
We made <model> elements not be interactive by default in bug 227621,
so we need to opt into interactivity for standalone <model> documents.
All this requires is setting the "interactive" attribute, which we set
instead of the "controls" attribute which does not exist for <model>.
Test: http/tests/model/model-document-interactive.html
- html/ModelDocument.cpp:
(WebCore::ModelDocumentParser::createDocumentStructure):
LayoutTests:
Add a test that checks that the <model> element created for standalone
documents has the "interactive" attribute.
- http/tests/model/model-document-interactive-expected.txt: Added.
- http/tests/model/model-document-interactive.html: Added.
- 1:09 PM Changeset in webkit [289665] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix the Apple TV build
Don't try to import
AVKitSPI.hon Apple TV.
- UIProcess/ios/WKContentViewInteraction.mm:
- 1:00 PM Changeset in webkit [289664] by
-
- 3 edits in trunk/Source/ThirdParty/ANGLE
Cocoa2d-HTLM5 game apepars to use wrong vertex buffer data
https://bugs.webkit.org/show_bug.cgi?id=236427
<rdar://problem/87136345>
Reviewed by Kimmo Kinnunen.
Render encoder appears to carry stale state when a vertex array's element
buffer is updated, but no other parts of the buffer are updated. Reassign
vertex buffer bindings in this case, which clears up corruption
(Squished rendering elements, incorrect UV's)
- src/libANGLE/renderer/metal/VertexArrayMtl.h:
- src/libANGLE/renderer/metal/VertexArrayMtl.mm:
(rx::VertexArrayMtl::syncState):
(rx::VertexArrayMtl::setupDraw):
- 12:35 PM Changeset in webkit [289663] by
-
- 4 edits in branches/safari-613.1.17.1-branch/Source/WebCore
Cherry-pick r289493. rdar://problem/88321921
Register strings in CSSTokenizer created from preprocessing
https://bugs.webkit.org/show_bug.cgi?id=236309
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-09
Reviewed by Michael Saboff.
Register strings in CSSTokenizer created from preprocessing. This will align with
what is currently done for strings with escapes in CSSTokenizer::consumeName().
- css/parser/CSSTokenizer.cpp: (WebCore::CSSTokenizer::preprocessString): (WebCore::CSSTokenizer::tryCreate): (WebCore::CSSTokenizer::CSSTokenizer): (WebCore::preprocessString): Deleted.
- css/parser/CSSTokenizer.h:
- css/parser/CSSTokenizerInputStream.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:35 PM Changeset in webkit [289662] by
-
- 4 edits in branches/safari-613.1.17.0-branch/Source/WebCore
Cherry-pick r289493. rdar://problem/88321921
Register strings in CSSTokenizer created from preprocessing
https://bugs.webkit.org/show_bug.cgi?id=236309
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-09
Reviewed by Michael Saboff.
Register strings in CSSTokenizer created from preprocessing. This will align with
what is currently done for strings with escapes in CSSTokenizer::consumeName().
- css/parser/CSSTokenizer.cpp: (WebCore::CSSTokenizer::preprocessString): (WebCore::CSSTokenizer::tryCreate): (WebCore::CSSTokenizer::CSSTokenizer): (WebCore::preprocessString): Deleted.
- css/parser/CSSTokenizer.h:
- css/parser/CSSTokenizerInputStream.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:31 PM Changeset in webkit [289661] by
-
- 14 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289462. rdar://problem/88580935
Don't return an empty value from AbortController.signal.reason and make it harder to return empty values from JSValueInWrappedObject
https://bugs.webkit.org/show_bug.cgi?id=236318
<rdar://88580935>
Reviewed by Mark Lam.
Source/WebCore:
This patch makes it so we might not accidentally return the empty value to
JavaScript code from JSValueInWrappedObject. Previously, JSValueInWrappedObject
had an "operator JSValue()" method. This patch removes that, adds a new
conversion method for converting between JSValueInWrappedObject and JSValue,
and makes JSValueInWrappedObject return undefined inside this method
when it used to return the empty value. This fixes a crash where we'd return
the empty value to JS JIT code, and crash dereferencing a nullptr. It's never
valid for a JS function call (or getter, etc) to return the empty value.
Test: fast/dom/AbortSignal-reason-crash-2.html
- Modules/webaudio/AudioBuffer.cpp: (WebCore::AudioBuffer::getChannelData):
- Modules/webaudio/AudioWorkletProcessor.cpp: (WebCore::toJSArray): (WebCore::toJSObject): (WebCore::AudioWorkletProcessor::buildJSArguments):
- bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const):
- bindings/js/JSDOMConvertAny.h: (WebCore::JSConverter<IDLAny>::convert):
- bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::data const):
- bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const):
- bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const):
- bindings/js/JSValueInWrappedObject.h: (WebCore::JSValueInWrappedObject::getValue const): (WebCore::JSValueInWrappedObject::operator bool const): (WebCore::cachedPropertyValue): (WebCore::JSValueInWrappedObject::operator JSC::JSValue const): Deleted.
- dom/AbortSignal.cpp: (WebCore::AbortSignal::signalFollow): (WebCore::AbortSignal::throwIfAborted):
- dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError):
- dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState):
- page/History.cpp: (WebCore::History::cachedState):
LayoutTests:
- fast/dom/AbortSignal-reason-crash-2-expected.txt: Added.
- fast/dom/AbortSignal-reason-crash-2.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:31 PM Changeset in webkit [289660] by
-
- 14 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289462. rdar://problem/88580935
Don't return an empty value from AbortController.signal.reason and make it harder to return empty values from JSValueInWrappedObject
https://bugs.webkit.org/show_bug.cgi?id=236318
<rdar://88580935>
Reviewed by Mark Lam.
Source/WebCore:
This patch makes it so we might not accidentally return the empty value to
JavaScript code from JSValueInWrappedObject. Previously, JSValueInWrappedObject
had an "operator JSValue()" method. This patch removes that, adds a new
conversion method for converting between JSValueInWrappedObject and JSValue,
and makes JSValueInWrappedObject return undefined inside this method
when it used to return the empty value. This fixes a crash where we'd return
the empty value to JS JIT code, and crash dereferencing a nullptr. It's never
valid for a JS function call (or getter, etc) to return the empty value.
Test: fast/dom/AbortSignal-reason-crash-2.html
- Modules/webaudio/AudioBuffer.cpp: (WebCore::AudioBuffer::getChannelData):
- Modules/webaudio/AudioWorkletProcessor.cpp: (WebCore::toJSArray): (WebCore::toJSObject): (WebCore::AudioWorkletProcessor::buildJSArguments):
- bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const):
- bindings/js/JSDOMConvertAny.h: (WebCore::JSConverter<IDLAny>::convert):
- bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::data const):
- bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const):
- bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const):
- bindings/js/JSValueInWrappedObject.h: (WebCore::JSValueInWrappedObject::getValue const): (WebCore::JSValueInWrappedObject::operator bool const): (WebCore::cachedPropertyValue): (WebCore::JSValueInWrappedObject::operator JSC::JSValue const): Deleted.
- dom/AbortSignal.cpp: (WebCore::AbortSignal::signalFollow): (WebCore::AbortSignal::throwIfAborted):
- dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError):
- dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState):
- page/History.cpp: (WebCore::History::cachedState):
LayoutTests:
- fast/dom/AbortSignal-reason-crash-2-expected.txt: Added.
- fast/dom/AbortSignal-reason-crash-2.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:25 PM Changeset in webkit [289659] by
-
- 6 edits in trunk/Tools
[git-webkit] Handle local commit on production branch
https://bugs.webkit.org/show_bug.cgi?id=235974
<rdar://problem/88346615>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Handle moving
branches to remote reference.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.main): Move local branch ref to remote reference.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
Canonical link: https://commits.webkit.org/247151@main
- 12:19 PM Changeset in webkit [289658] by
-
- 5 edits in trunk/Source
Regression(r287684) Microsoft teams meeting URLs fail to open the app
https://bugs.webkit.org/show_bug.cgi?id=236516
<rdar://88678598>
Reviewed by Geoffrey Garen.
Add a quirk for Microsoft teams.
Source/WebCore:
- page/Quirks.cpp:
(WebCore::Quirks::shouldAllowNavigationToCustomProtocolWithoutUserGesture):
- page/Quirks.h:
Source/WebKit:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
- 12:10 PM Changeset in webkit [289657] by
-
- 3 edits in branches/safari-613.1.17.1-branch/Source/ThirdParty/ANGLE
Apply patch. rdar://problem/87136345
- 12:07 PM Changeset in webkit [289656] by
-
- 2 edits in trunk/Tools
Git commit message hook should allow source = 'template' case
https://bugs.webkit.org/show_bug.cgi?id=236504
<rdar://problem/88787806>
Reviewed by Tim Horton.
- Scripts/hooks/prepare-commit-msg: 'template' should be handled like 'commit'
- 12:05 PM Changeset in webkit [289655] by
-
- 6 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289526. rdar://problem/87061239
[:has() pseudo-class] Nullptr crash with non-function :has
https://bugs.webkit.org/show_bug.cgi?id=236431
rdar://87061239
Reviewed by Cameron McCormack.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/parsing/parse-has-expected.txt:
- web-platform-tests/css/selectors/parsing/parse-has.html:
Source/WebCore:
Test: fast/selectors/malformed-has.html
- css/parser/CSSSelectorParser.cpp: (WebCore::isOnlyPseudoClassFunction):
:has() is legal, plain :has is not.
LayoutTests:
- fast/selectors/malformed-has-expected.txt: Added.
- fast/selectors/malformed-has.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:04 PM Changeset in webkit [289654] by
-
- 3 edits2 adds in branches/safari-613.1.17.1-branch
Cherry-pick r289443. rdar://problem/88593617
REGRESSION (15.4): Angular virtual scrollers no longer work (because of contain:strict)
https://bugs.webkit.org/show_bug.cgi?id=236260
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-08
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/contain-paint-049-expected.txt: Added.
- web-platform-tests/css/css-contain/contain-paint-049.html: Added.
Source/WebCore:
Paint containment did not allow collecting scrollable overflow, breaking scrolling
of the container contents, this patch fixes that.
Test: imported/w3c/web-platform-tests/css/css-contain/contain-paint-049.html
- rendering/RenderBox.cpp: (WebCore::RenderBox::addOverflowFromChild):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:04 PM Changeset in webkit [289653] by
-
- 2 edits in branches/safari-613.1.17.1-branch/Source/WebKit
Cherry-pick r289380. rdar://problem/86904276
Reduce allocations and increase thread safety of constructedPath
https://bugs.webkit.org/show_bug.cgi?id=236286
<rdar://86904276>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-08
Reviewed by Chris Dumez.
- UIProcess/API/APIContentRuleListStore.cpp: (API::constructedPathPrefix): (API::ContentRuleListStore::getAvailableContentRuleListIdentifiers):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:04 PM Changeset in webkit [289652] by
-
- 6 edits in branches/safari-613.1.17.1-branch
Cherry-pick r289377. rdar://problem/88178304
Return 'none' for the computed style of mask when there are no mask images
https://bugs.webkit.org/show_bug.cgi?id=236265
<rdar://88178304>
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-08
Reviewed by Dean Jackson.
Source/WebCore:
Rather than returning all the longhand properties, return 'none' if there are no
mask images. This no longer matches the behaviour of the 'background' property, but
better matches what other UAs do.
Ideally we'd return the smallest possible canonical representation of the non-initial
property values, but this is a much simpler change to fix a compat regression.
Test: fast/masking/parsing-mask.html
Updates expected results to match new behavior.
- css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::getLayerCount): (WebCore::ComputedStyleExtractor::getFillLayerPropertyShorthandValue): (WebCore::ComputedStyleExtractor::getBackgroundShorthandValue): (WebCore::ComputedStyleExtractor::getMaskShorthandValue):
- css/CSSComputedStyleDeclaration.h:
LayoutTests:
- fast/masking/parsing-mask-expected.txt:
- fast/masking/parsing-mask.html:
Updated expected results to expect 'none' for all cases where there isn't an actual mask
image.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:58 AM Changeset in webkit [289651] by
-
- 3 edits in branches/safari-613.1.17.0-branch/Source/ThirdParty/ANGLE
Apply patch. rdar://problem/87136345
- 11:58 AM Changeset in webkit [289650] by
-
- 6 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289526. rdar://problem/87061239
[:has() pseudo-class] Nullptr crash with non-function :has
https://bugs.webkit.org/show_bug.cgi?id=236431
rdar://87061239
Reviewed by Cameron McCormack.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/parsing/parse-has-expected.txt:
- web-platform-tests/css/selectors/parsing/parse-has.html:
Source/WebCore:
Test: fast/selectors/malformed-has.html
- css/parser/CSSSelectorParser.cpp: (WebCore::isOnlyPseudoClassFunction):
:has() is legal, plain :has is not.
LayoutTests:
- fast/selectors/malformed-has-expected.txt: Added.
- fast/selectors/malformed-has.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:58 AM Changeset in webkit [289649] by
-
- 4 edits in branches/safari-613.1.17.0-branch
Cherry-pick r289502. rdar://problem/88528286
WKWebView: WKURLSchemeHandler “request to the end of the resource” produces an invalid header
https://bugs.webkit.org/show_bug.cgi?id=236401
rdar://88528286
Reviewed by Brent Fulgham.
Source/WebCore:
https://webkit.org/b/203302 added support for Range requests to AVAssetResourceLoadingDataRequest,
but it incorrectly used '*' instead of for "last-byte-pos:" for a request to the end of the resource.
API test URLSchemeHandler.Ranges was updated.
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: (WebCore::WebCoreAVFResourceLoader::startLoading):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:58 AM Changeset in webkit [289648] by
-
- 3 edits2 adds in branches/safari-613.1.17.0-branch
Cherry-pick r289443. rdar://problem/88593617
REGRESSION (15.4): Angular virtual scrollers no longer work (because of contain:strict)
https://bugs.webkit.org/show_bug.cgi?id=236260
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-08
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/contain-paint-049-expected.txt: Added.
- web-platform-tests/css/css-contain/contain-paint-049.html: Added.
Source/WebCore:
Paint containment did not allow collecting scrollable overflow, breaking scrolling
of the container contents, this patch fixes that.
Test: imported/w3c/web-platform-tests/css/css-contain/contain-paint-049.html
- rendering/RenderBox.cpp: (WebCore::RenderBox::addOverflowFromChild):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:58 AM Changeset in webkit [289647] by
-
- 2 edits in branches/safari-613.1.17.0-branch/Source/WebKit
Cherry-pick r289380. rdar://problem/86904276
Reduce allocations and increase thread safety of constructedPath
https://bugs.webkit.org/show_bug.cgi?id=236286
<rdar://86904276>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-08
Reviewed by Chris Dumez.
- UIProcess/API/APIContentRuleListStore.cpp: (API::constructedPathPrefix): (API::ContentRuleListStore::getAvailableContentRuleListIdentifiers):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:58 AM Changeset in webkit [289646] by
-
- 6 edits in branches/safari-613.1.17.0-branch
Cherry-pick r289377. rdar://problem/88178304
Return 'none' for the computed style of mask when there are no mask images
https://bugs.webkit.org/show_bug.cgi?id=236265
<rdar://88178304>
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-08
Reviewed by Dean Jackson.
Source/WebCore:
Rather than returning all the longhand properties, return 'none' if there are no
mask images. This no longer matches the behaviour of the 'background' property, but
better matches what other UAs do.
Ideally we'd return the smallest possible canonical representation of the non-initial
property values, but this is a much simpler change to fix a compat regression.
Test: fast/masking/parsing-mask.html
Updates expected results to match new behavior.
- css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::getLayerCount): (WebCore::ComputedStyleExtractor::getFillLayerPropertyShorthandValue): (WebCore::ComputedStyleExtractor::getBackgroundShorthandValue): (WebCore::ComputedStyleExtractor::getMaskShorthandValue):
- css/CSSComputedStyleDeclaration.h:
LayoutTests:
- fast/masking/parsing-mask-expected.txt:
- fast/masking/parsing-mask.html:
Updated expected results to expect 'none' for all cases where there isn't an actual mask
image.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:57 AM Changeset in webkit [289645] by
-
- 9 edits in branches/safari-613.1.17.1-branch/Source
Versioning.
WebKit-7613.1.17.1.1
- 11:55 AM Changeset in webkit [289644] by
-
- 3 edits1 delete in trunk/Source/WTF
Fix headers in install builds and add untracked headers
https://bugs.webkit.org/show_bug.cgi?id=235744
Reviewed by Alexey Proskuryakov.
Relands native Xcode build phases for "Copy WTF Headers", again.
Adds a slash prefix, so that PRIVATE_HEADERS_FOLDER_PATH is always an absolute path.
Otherwise, when WTF_INSTALL_PATH_PREFIX is not set, it's relative and incorrectoly copied
into the INSTALL_PATH (/usr/local/lib).
Uses separate path variables for Copy Files phases that create header subdirectories. Unlike
the native "Headers" phase, copying to "/usr/local/include" is not automatically relative to
the SYMROOT or DSTROOT, respective of build action type.
Adds SignedPtr.h to WTF's Headers phase. It was added recently and missed integration in
r289256.
Sets INSTALLHDRS_COPY_PHASE so that nested header directories are copied during installhdrs.
- Configurations/WTF.xcconfig:
- WTF.xcodeproj/project.pbxproj:
- 11:54 AM Changeset in webkit [289643] by
-
- 4 edits in trunk/Tools
[git-webkit] Reset target branch when landing fails
https://bugs.webkit.org/show_bug.cgi?id=236110
<rdar://problem/88463164>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py:
(Land.revert_branch): Move branch to specified remote's representation of the branch.
(Land.main): If we fail to land a change after moving a branch's local ref to include that
change, we should return that local ref to what the branch's remote reports.
Canonical link: https://commits.webkit.org/247147@main
- 11:47 AM Changeset in webkit [289642] by
-
- 9 edits2 adds in trunk/Source/WebKit
Introduce a RemoteLayerBackingStoreCollection subclass for GPU Process-based rendering
https://bugs.webkit.org/show_bug.cgi?id=236468
Reviewed by Tim Horton.
Add RemoteLayerWithRemoteRenderingBackingStoreCollection, a subclass of RemoteLayerBackingStoreCollection
which is instantiated by RemoteLayerTreeContext when DOM rendering in GPU process is enabled.
Delegate buffer allocation to this now polymorphic class; RemoteLayerBackingStore no longer
consults shouldUseRemoteRenderingFor().
RemoteLayerWithRemoteRenderingBackingStoreCollection needs a back pointer to RemoteLayerTreeContext
to get to the RemoteRenderingBackendProxy.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::backingStoreCollection const):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
(WebKit::RemoteLayerBackingStoreCollection::layerTreeContext const):
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection):
(WebKit::RemoteLayerBackingStoreCollection::allocateBufferForBackingStore):
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h: Added.
- Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm: Added.
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::RemoteLayerWithRemoteRenderingBackingStoreCollection):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::remoteRenderingBackendProxy):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::allocateBufferForBackingStore):
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h:
(WebKit::RemoteLayerTreeContext::backingStoreCollection):
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
- 11:45 AM Changeset in webkit [289641] by
-
- 9 edits in branches/safari-613.1.17.0-branch/Source
Versioning.
WebKit-7613.1.17.0.1
- 11:36 AM Changeset in webkit [289640] by
-
- 2 edits in trunk/Source/WebCore
Keep promise in scope when calling DeferredPromise::reject
https://bugs.webkit.org/show_bug.cgi?id=236454
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-11
Reviewed by Youenn Fablet.
Keep promise in scope when calling DeferredPromise::reject, as createDOMException
could go through a path that invokes GC on its owner and the promise.
- bindings/js/JSDOMPromiseDeferred.cpp:
(WebCore::DeferredPromise::reject):
- 11:34 AM Changeset in webkit [289639] by
-
- 2 edits in trunk/Source/WebKit
The GPU process should not check in with Launch Services
https://bugs.webkit.org/show_bug.cgi?id=236457
Reviewed by Geoffrey Garen.
Since the GPU process is not an application in the normal sense, there is no need to call _LSApplicationCheckIn.
The function _CSCheckFixDisable should still be called.
- GPUProcess/mac/GPUProcessMac.mm:
(WebKit::GPUProcess::initializeProcess):
- 11:10 AM Changeset in webkit [289638] by
-
- 2 edits in trunk/Tools
[EWS] Enable WPE and WinCairo queues for PRs
https://bugs.webkit.org/show_bug.cgi?id=236517
<rdar://problem/88823117>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/config.json:
Canonical link: https://commits.webkit.org/247143@main
- 10:24 AM Changeset in webkit [289637] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix: revert r289616
- WebCore.xcodeproj/project.pbxproj:
- 10:12 AM Changeset in webkit [289636] by
-
- 1 copy in tags/Safari-614.1.2.1
Tag Safari-614.1.2.1.
- 10:10 AM Changeset in webkit [289635] by
-
- 1 copy in branches/safari-613.1.17.3-branch
New branch.
- 10:10 AM Changeset in webkit [289634] by
-
- 1 copy in branches/safari-613.1.17.2-branch
New branch.
- 10:10 AM Changeset in webkit [289633] by
-
- 1 copy in branches/safari-613.1.17.1-branch
New branch.
- 10:10 AM Changeset in webkit [289632] by
-
- 1 copy in branches/safari-613.1.17.0-branch
New branch.
- 9:55 AM Changeset in webkit [289631] by
-
- 5 edits in trunk/LayoutTests
Unreviewed gardening.
Update fuzzy data based on EWS results to support b231828.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-grid/alignment/grid-item-aspect-ratio-stretch-1.html:
LayoutTests:
- css3/color-filters/color-filter-text-decoration-shadow.html:
- fast/text/system-font-fallback.html:
- 9:53 AM Changeset in webkit [289630] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed followup: address Youenn's feedback for PDFDocument.
- html/PDFDocument.cpp:
(WebCore::PDFDocumentEventListener::handleEvent):
(WebCore::PDFDocument::createDocumentStructure):
(WebCore::PDFDocument::updateDuringParsing):
(WebCore::PDFDocument::finishedParsing):
(WebCore::PDFDocument::injectContentScript):
- html/PDFDocument.h:
- 9:47 AM Changeset in webkit [289629] by
-
- 5 edits in trunk/LayoutTests
Unreviewed gardening.
Update fuzzy data based on EWS results to support b231828.
- css3/blending/background-blend-mode-body-transparent-color-and-image.html:
- css3/calc/border-radius.html:
- svg/gradients/spreadMethodDiagonal3.svg:
- svg/gradients/spreadMethodDiagonal4.svg:
- 9:40 AM Changeset in webkit [289628] by
-
- 75 edits3 copies2 adds in trunk
Support remote video frames in WebRTC video pipeline
https://bugs.webkit.org/show_bug.cgi?id=236356
Reviewed by Kimmo Kinnunen.
Source/ThirdParty/libwebrtc:
Introduce a way for ObjCFrameBuffer to not directly own a CVPixelBufferRef but a pointer
that can be used to get a CVPixelBufferRef. This is used to allow remote frames to be sent over to libwebrtc.
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
- Source/webrtc/sdk/WebKit/WebKitDecoder.h:
- Source/webrtc/sdk/WebKit/WebKitDecoder.mm:
- Source/webrtc/sdk/WebKit/WebKitUtilities.h:
- Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
- Source/webrtc/sdk/objc/native/src/objc_frame_buffer.h:
- Source/webrtc/sdk/objc/native/src/objc_frame_buffer.mm:
Source/WebCore:
Allow to receive/send remote frames as webrtc VideoFrame buffers.
We are not yet optimizing remove video frame sending as this requires moving remote video frame to WebCore.
This will be done as a follow-up.
Covered by existing tests and updated tests to enable the experimental flag.
- platform/MediaSample.h:
- platform/VideoFrame.cpp:
- platform/VideoFrame.h:
- platform/graphics/RemoteVideoSample.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
- platform/mediastream/RealtimeVideoSource.cpp:
- platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.h:
- platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
- platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
Source/WebKit:
Allow receiving remote samples from camera or HW decoders.
In that case, we create remote video frames and allow piping them to our existing pipeline.
We update MediaRecorder and LibWebRTC HW encoders to deal with this.
Since we have a code path that requires getting access to the raw pixels, we introduce RemoteVideoFrameObjectHeapProxy
to allow getting that data through shared memory asynchronously.
RemoteVideoFrameProxy will then use a semaphore to block on the async IPC result.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- GPUProcess/GPUConnectionToWebProcess.cpp:
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
- GPUProcess/media/RemoteVideoFrameObjectHeap.h:
- GPUProcess/media/RemoteVideoFrameObjectHeap.messages.in:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
- GPUProcess/webrtc/RemoteMediaRecorder.h:
- GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
- Shared/ThreadSafeObjectHeap.h:
- Sources.txt:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/GPUProcessConnection.cpp:
- WebProcess/GPU/GPUProcessConnection.h:
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
- WebProcess/GPU/media/RemoteVideoFrameIdentifier.h:
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
- WebProcess/GPU/media/RemoteVideoFrameProxy.h:
- WebProcess/GPU/media/RemoteVideoFrameProxyIdentifier.h: Added.
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.messages.in:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxy.h: Added.
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp: Added.
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.h: Added.
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.messages.in: Added.
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
- WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
- WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
- WebProcess/cocoa/RemoteCaptureSampleManager.h:
- WebProcess/cocoa/RemoteCaptureSampleManager.messages.in:
- WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp:
- WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h:
- WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
- WebProcess/cocoa/UserMediaCaptureManager.h:
Source/WTF:
Introduce an experimental flag to make use of remote frames in WebRTC code paths.
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
Allow switching on the new remote video frame flag.
- WebKitTestRunner/TestOptions.cpp:
LayoutTests:
Enabling remote video frames for below tests.
- webrtc/video-mute-vp8.html:
- webrtc/video-mute.html:
- webrtc/video-rotation.html:
- webrtc/video.html:
- 9:30 AM Changeset in webkit [289627] by
-
- 5 edits1 copy5 adds in trunk/Source/WebCore
Inject custom styles into PDF.js to make it look like PDFKit
https://bugs.webkit.org/show_bug.cgi?id=236510
Reviewed by Tim Horton.
This introduces a pdfjs-extras directory that is copied in the pdfjs/extras resource subdirectory at build-time.
In that directory contains a content-script.js file that is executed when the PDFJS iframe loads. Currently, that
content script only injects the PDFKit styling, but it may be used for other types of interaction in the future
(e.g. loading a blob, hooking with find-in-page messages, etc.).
In PDFDocument, we add m_iframe, a ref to the PDFDocument iframe, that we can re-use when the iframe loads,
to inject the content script.
PDFDocumentEventListener handles the iframe load event listener.
m_viewerRendered which was set once the <iframe> was added to the document, is now no longer needed, since we can
check for m_iframe directly.
- Modules/pdfjs-extras/arrow.down.circle@2x.png: Added.
- Modules/pdfjs-extras/content-script.js:
(const.PDFJSContentScript.injectStyle):
(const.PDFJSContentScript.init):
- Modules/pdfjs-extras/minus.magnifyingglass@2x.png: Added.
- Modules/pdfjs-extras/plus.magnifyingglass@2x.png: Added.
- Modules/pdfjs-extras/style-cocoa.css: Added.
(body):
(@keyframes fade-out):
(to):
(#loadingBar):
(#toolbarContainer):
(#toolbarViewer):
(#toolbarViewer:hover):
(#toolbarViewerMiddle,):
(#toolbarViewerLeft,):
(#toolbarViewer .toolbarButton):
(#toolbarViewer .toolbarButton:active):
(#toolbarViewer .toolbarButton::before):
(#zoomOut):
(#zoomIn):
(#zoomOut + .splitToolbarButtonSeparator):
(#download):
(#viewerContainer):
(#findbar):
(#findbar:not(.hidden) ~ #viewerContainer):
(#findbar::before,):
(#findbarOptionsTwoContainer):
(#findResultsCount,):
(#findbar .splitToolbarButton > .toolbarButton::before):
(#findInput:focus):
(#findInput[data-status="notFound"]):
- WebCore.xcodeproj/project.pbxproj:
- dom/EventListener.h:
- html/PDFDocument.cpp:
(WebCore::PDFDocumentEventListener::handleEvent):
(WebCore::PDFDocumentEventListener::operator== const):
(WebCore::PDFDocument::PDFDocument):
(WebCore::PDFDocument::createDocumentStructure):
(WebCore::PDFDocument::updateDuringParsing):
(WebCore::PDFDocument::finishedParsing):
(WebCore::PDFDocument::injectContentScript):
(WebCore::m_viewerRendered): Deleted.
- html/PDFDocument.h:
- 9:24 AM Changeset in webkit [289626] by
-
- 9 edits in branches/safari-614.1.2-branch/Source
Versioning.
WebKit-7614.1.2.1
- 9:23 AM Changeset in webkit [289625] by
-
- 3 edits in trunk/Tools
[EWS] Support PRs in UploadTestResults and ExtractTestResults
https://bugs.webkit.org/show_bug.cgi?id=236446
<rdar://problem/88756592>
Reviewed by Aakash Jain.
- CISupport/ews-build/steps.py:
(ConfigureBuild.add_pr_details): Shorten hash to 8 characters.
(UploadTestResults.init): Use change_id instead of patch_id.
(ExtractTestResults.init): Ditto.
- CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/247136@main
- 9:11 AM Changeset in webkit [289624] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed, non-unified build fixes in WKPaymentAuthorizationDelegate
Include several missing headers.
- Platform/cocoa/WKPaymentAuthorizationDelegate.h:
- Platform/cocoa/WKPaymentAuthorizationDelegate.mm:
- 9:01 AM Changeset in webkit [289623] by
-
- 17 edits in trunk/Source
[iOS] Add support for a "markup image" item in the callout bar when selecting a single image
https://bugs.webkit.org/show_bug.cgi?id=236415
rdar://88714333
Reviewed by Aditya Keerthi.
Source/WebCore:
Export a couple of functions; see WebKit/ChangeLog for more details.
- platform/graphics/Image.h:
- platform/graphics/cg/UTIRegistry.h:
Source/WebKit:
This patch introduces support for a new "Markup Image" callout menu item, which is only shown when the user has
selected exactly one image. If the image is suitable for "Markup Image" (that is, the relevant VisionKit API
returns a non-null image), then we show a new item in the callout bar which, when activated, replaces the
current selection with the image returned by the aforementioned VisionKit API.
See below for more details.
- Platform/cocoa/TextRecognitionUtilities.h:
- Platform/cocoa/TextRecognitionUtilities.mm:
(WebKit::isImageAnalysisMarkupSystemFeatureEnabled):
Add a new helper method to return whether or not the corresponding system feature flag is enabled.
- Shared/EditorState.cpp:
(WebKit::EditorState::PostLayoutData::encode const):
(WebKit::EditorState::PostLayoutData::decode):
- Shared/EditorState.h:
Add an optional
ElementContextthat's populated only if the user's selection spans a single HTMLImageElement.
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView didMoveToWindow]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestImageBitmap):
Add a new async IPC message that allows the UI process to grab a ShareableBitmap handle (along with the MIME
type of the source image) given an ElementContext that identifies an image element.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.h:
Cache the last result from requesting "Image Markup" data from VisionKit in
_imageAnalysisMarkupResults, and
use this information when invoking the new selector,-performImageAnalysisMarkup:.
- UIProcess/ios/WKContentViewInteraction.mm:
(WebKit::transcode):
Add a helper method that takes a CGImageRef, transcodes it to the given uniform type identifier, and finally
returns a blob of image data. Used by the two new call sites for Image Markup below, as well as an existing call
site for Visual Look Up in-provideDataForItem:
(-[WKContentView targetForAction:withSender:]):
Add a check for the new Image Markup action selector.
(-[WKContentView requestRectsToEvadeForSelectionCommandsWithCompletionHandler:]):
Use this existing UIKit delegate hook to defer callout bar presentation only in the case where a single image
element is selected, such that we only show the callout bar in this scenario once VisionKit has determined
whether or not the "Image Markup" action is suitable for the data of the selected image.
The initial purpose of this delegate hook was to allow WebKit to defer callout bar presentation for a short,
hard-coded delay to wait for the web page to layout out or add clickable items that might underlap the callout
bar; as such, we still perform this logic with a hard-coded delay of 250 ms (including whatever time was taken
during image analysis).
(-[WKContentView updateImageAnalysisMarkupMenuItems:]):
Append the new menu item only if the system feature flag is enabled, and we've selected an editable image. Note
that this intentionally does not consult_imageAnalysisMarkupResultsto ensure that the state of additional
menu items in the shared menu controller is consistent between Markup Image and Quick Note, and updated in the
same lifecycle as editor state updates.
(-[WKContentView canPerformImageAnalysisMarkup]):
This is consulted when we're actually about to show the callout bar action for "Image Markup" (importantly,
after callout bar presentation deferral), and depends on the state of_imageAnalysisMarkupResults.
(-[WKContentView performImageAnalysisMarkup:]):
Add logic to handle the new action by calling into WebPageProxy to (basically) paste the modified image data
after transcoding it to match the image element's original source type. After #236406, this codepath is now
available on all Cocoa platforms (as opposed to macOS-only).
(-[WKContentView doAfterComputingImageAnalysisResultsForMarkup:]):
Use the new
requestImageBitmapIPC message to grab a bitmap for the currently selected image, call out to
VisionKit to perform image analysis, and then cache the resulting image. After all of this is done, we proceed
with showing the callout bar.
In a followup, we should enforce some (reasonable) upper bound on the amount of time by which the callout bar
can be delayed.
(-[WKContentView _selectionChanged]):
(-[WKContentView setUpAdditionalMenuControllerActions]):
Refactor existing logic for supplying additional callout bar menu items, such that we update items as needed for
both Quick Note as well as Image Markup. Note that we need to preserve any existing menu items in the shared
UIMenuController, since the WebKit client (e.g. Mail) may have already supplied custom menu items. This
currently doees not affect Quick Note since the only internal client that enables Quick Note is Safari, which
does not attempt to add any of its own items; however, "Markup Image" needs to be available in Mail on iOS as
well, which does use custom menu items.
(findMenuItemWithAction):
(-[WKContentView updateAppHighlightMenuItems:]):
Make this adjust the given mutable array of UIMenuItems, which are then combined with any markup menu items
when setting custom items on the shared menu controller.
(-[WKContentView provideDataForItem:]):
Adjust this to use the new
transcodehelper function, declared above.
(-[WKContentView _setUpImageAnalysis]):
(-[WKContentView _tearDownImageAnalysis]):
(-[WKContentView setUpAppHighlightMenusIfNeeded]): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestImageBitmap):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPlatformEditorState const):
Compute and populate the new
selectedEditableImageelement context; to achieve this, we useTextIteratorto
scan for an image element, and bail immediately if we either find anything that is not an image, or find more
than one image.
- 8:08 AM Changeset in webkit [289622] by
-
- 45 edits3 copies7 adds in trunk
Introduce a RemoteMediaSampleProxy to represent captured video frames used in Media Streams and present in GPUP
https://bugs.webkit.org/show_bug.cgi?id=236099
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-11
Reviewed by Youenn Fablet.
Source/WebCore:
Add VideoFrame : public MediaStream, base class for Media Stream video frames.
Currently inherits from MediaSample, but later will remove the MediaSample.
The WebCore::VideoFrame is intended to be used in various entry-points that
currently are currently typed as:
void videoSampleAvailable(MediaSample&, VideoSampleMetadata, ...).
The new class WebKit::RemoteVideoFrameProxy : public VideoFrame can be passed to these APIs.
The API entrypoints are not yet changed in order to partially roll the changes in.
Later on, the entrypoints will be similar to:
void videoSampleAvailable(VideoFrame&, VideoSampleMetadata, ...).
Removes MediaSample::setTrackID as that is not used.
Changes MediaSample::platformSample() to const, so that it can be called from
const context.
No new tests, refactor.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/MediaSample.h:
- platform/VideoFrame.cpp: Added.
(WebCore::VideoFrame::decodeTime const):
(WebCore::VideoFrame::duration const):
(WebCore::VideoFrame::trackID const):
(WebCore::VideoFrame::sizeInBytes const):
(WebCore::VideoFrame::presentationSize const):
(WebCore::VideoFrame::offsetTimestampsBy):
(WebCore::VideoFrame::setTimestamps):
(WebCore::VideoFrame::isDivisable const):
(WebCore::VideoFrame::divide):
(WebCore::VideoFrame::createNonDisplayingCopy const):
(WebCore::VideoFrame::flags const):
(WebCore::VideoFrame::byteRange const):
(WebCore::VideoFrame::dump const):
- platform/VideoFrame.h: Added.
- platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:
(WebCore::LocalSampleBufferDisplayLayer::enqueueSampleBuffer):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateCurrentFrameImage):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
(isType):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::platformSample const):
- platform/graphics/gstreamer/MediaSampleGStreamer.cpp:
(WebCore::MediaSampleGStreamer::platformSample const):
- platform/graphics/gstreamer/MediaSampleGStreamer.h:
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockMediaSample::platformSample const):
Source/WebKit:
Changes after revert:
- For now, create the RemoteVideoFrame in GPUP using synchronous message. This way RemoteVideoFrameProxy does not need to receive messages. It cannot easily do that, as it is referenced in multiple threads and thus we cannot remove the message destination for the instance from GPUProcess instance, as that operation is main thread only. The type cannot be DestructionThread::Main, as we do not (yet) control the base class (MediaSample).
WebContent process:
Add WebKit::RemoteVideoFrameProxy, WebContent process side proxy object that
WebCore::MediaPlayerPrivateMediaStreamAVFObjC can use.
RemoteVideoFrameProxy can be sent to the GPUP and the the SampleBufferDisplayLayer. So
the captured content shows in compositing through video element.
At the moment MediaPlayerPrivateMediaStreamAVFObjC cannot paint RemoteVideoFrameProxy to the
document CSS painted content, Context2D or WebGL canvas.
GPUP:
RemoteVideoFrameObjectHeap is a mapping
RemoteVideoFrameIdentifier -> MediaSample. Currently all objects
map to normal MediaSampleAVFObjC.
Add an example implementation where a remote MediaSample is returned by IPC:
RemoteGraphicsContextGL::paintCompositedResultsToMediaSample().
The GPUP object pointed by RemoteVideoFrameIdentifier is:
- created in RemoteGraphicsContextGL::paintCompositedResultsToMediaSample() in RemoteGraphicsContextGL thread
- consumed in RemoteSampleBufferDisplayLayer::enqueueSample in RemoteSampleBufferDisplayLayerManager thread
- released in RemoteVideoFrameObjectHeap::releaseVideoFrame in GPUP main thread
All of these messages are asynchronous and can arrive to their destination in any order.
For example, request to release the video frame can happen before the message to create the video frame has been
received.
To solve the ordering issue, introduce readers-writers reference counting method via following classes:
- ObjectIdentifierReadReference
- ObjectIdentifierWriteReference
- ObjectIdentifierReferenceTracker
ObjectIdentifier identifies the object.
ObjectIdentifierWriteReference identifies a new version of the content pointed by the identifier.
Pseudocode examples:
WriteReference { identifier = 1, pendingReads = 0, version = 0 } means:
"End the life-time of identifier 1, version 0. Create version = 1"
This is how initial object is assigned to the reference.
WriteReference { identifier = 1, pendingReads = 77, version = 32 } means
"End the life-time of identifier 1, version 32 when all 77 reads have completed. Create version = 33"
ObjectIdentifierReadReference declares a read dependency to a specific version of the content pointed by the identifier.
Pseudocode examples:
ReadReference { identifier = 1, version = 32 } means
"Complete one read of identifier 1, version 32".
Creates, updates and destructions are WriteReferences.
Reads are ReadReferences.
The ObjectIdentifierReferenceTracker creates write and read references in the Proxy -using process (WebContent process).
The added ThreadSafeObjectHeap resolves the read and write references in the real object process (GPUP in this case).
Reads and writes are blocking the requesting thread appropriately:
- Read of unknown version of the identifier blocks until the write creates the version
- Write of new version of the identifier blocks until the reads have retired, or creates parallel, new version of the content in case of copy-on-write schemes.
In this commit objects pointed by RemoteVideoFrameIdentifier are immutable until destroyed, so there is no update or
copy-on-write scheme here.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess):
(WebKit::GPUConnectionToWebProcess::didClose):
(WebKit::GPUConnectionToWebProcess::videoFrameObjectHeap const):
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):
(WebKit::RemoteGraphicsContextGL::paintCompositedResultsToMediaSample):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp: Added.
(WebKit::RemoteVideoFrameObjectHeap::create):
(WebKit::RemoteVideoFrameObjectHeap::RemoteVideoFrameObjectHeap):
(WebKit::RemoteVideoFrameObjectHeap::~RemoteVideoFrameObjectHeap):
(WebKit::RemoteVideoFrameObjectHeap::stopListeningForIPC):
(WebKit::RemoteVideoFrameObjectHeap::releaseVideoFrame):
- GPUProcess/media/RemoteVideoFrameObjectHeap.h: Copied from Source/WebKit/Shared/IPCTester.h.
- GPUProcess/media/RemoteVideoFrameObjectHeap.messages.in: Copied from Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.messages.in.
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
(WebKit::RemoteSampleBufferDisplayLayer::create):
(WebKit::RemoteSampleBufferDisplayLayer::RemoteSampleBufferDisplayLayer):
(WebKit::RemoteSampleBufferDisplayLayer::enqueueSample):
(WebKit::RemoteSampleBufferDisplayLayer::enqueueSampleCV):
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.messages.in:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.cpp:
(WebKit::RemoteSampleBufferDisplayLayerManager::createLayer):
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
(headers_for_type):
- Shared/IPCTester.cpp:
(WebKit::IPCTester::startMessageTesting):
(WebKit::isTestingIPC):
- Shared/IPCTester.h:
(WebKit::isTestingIPC):
- Shared/ObjectIdentifierReferenceTracker.h: Added.
(WebKit::ObjectIdentifierReference::ObjectIdentifierReference):
(WebKit::ObjectIdentifierReference::identifier const):
(WebKit::ObjectIdentifierReference::version const):
(WebKit::ObjectIdentifierReference::operator== const):
(WebKit::ObjectIdentifierReference::isHashTableDeletedValue const):
(WebKit::ObjectIdentifierReference::encode const):
(WebKit::ObjectIdentifierReference::decode):
(WebKit::ObjectIdentifierReadReference::ObjectIdentifierReadReference):
(WebKit::ObjectIdentifierReadReference::identifier const):
(WebKit::ObjectIdentifierReadReference::version const):
(WebKit::ObjectIdentifierReadReference::reference const):
(WebKit::ObjectIdentifierReadReference::encode const):
(WebKit::ObjectIdentifierReadReference::decode):
(WebKit::ObjectIdentifierWriteReference::generateForAdd):
(WebKit::ObjectIdentifierWriteReference::ObjectIdentifierWriteReference):
(WebKit::ObjectIdentifierWriteReference::identifier const):
(WebKit::ObjectIdentifierWriteReference::version const):
(WebKit::ObjectIdentifierWriteReference::pendingReads const):
(WebKit::ObjectIdentifierWriteReference::reference const):
(WebKit::ObjectIdentifierWriteReference::retiredReference const):
(WebKit::ObjectIdentifierWriteReference::encode const):
(WebKit::ObjectIdentifierWriteReference::decode):
(WebKit::ObjectIdentifierReferenceTracker::ObjectIdentifierReferenceTracker):
(WebKit::ObjectIdentifierReferenceTracker::read const):
(WebKit::ObjectIdentifierReferenceTracker::write const):
(WebKit::ObjectIdentifierReferenceTracker::identifier const):
(WebKit::add):
(WebKit::operator<<):
(WTF::DefaultHash<WebKit::ObjectIdentifierReference<T>>::hash):
(WTF::DefaultHash<WebKit::ObjectIdentifierReference<T>>::equal):
- Shared/ThreadSafeObjectHeap.h: Added.
(WebKit::ThreadSafeObjectHeap::ReferenceState::ReferenceState):
(WebKit::HeldType>::retire):
(WebKit::HeldType>::retireRemove):
(WebKit::HeldType>::clear):
- Shared/mac/MediaFormatReader/MediaSampleByteRange.cpp:
(WebKit::MediaSampleByteRange::platformSample const):
- Shared/mac/MediaFormatReader/MediaSampleByteRange.h:
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::dispatchMessage):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::paintCompositedResultsToMediaSample):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm:
- WebProcess/GPU/media/RemoteVideoFrameIdentifier.h: Copied from Source/WebKit/Shared/IPCTester.h.
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp: Added.
(WebKit::RemoteVideoFrameProxy::properties):
(WebKit::RemoteVideoFrameProxy::create):
(WebKit::RemoteVideoFrameProxy::releaseUnused):
(WebKit::RemoteVideoFrameProxy::RemoteVideoFrameProxy):
(WebKit::RemoteVideoFrameProxy::~RemoteVideoFrameProxy):
(WebKit::RemoteVideoFrameProxy::identifier const):
(WebKit::RemoteVideoFrameProxy::write const):
(WebKit::RemoteVideoFrameProxy::read const):
(WebKit::RemoteVideoFrameProxy::presentationTime const):
(WebKit::RemoteVideoFrameProxy::platformSample const):
(WebKit::RemoteVideoFrameProxy::videoRotation const):
(WebKit::RemoteVideoFrameProxy::videoMirrored const):
(WebKit::RemoteVideoFrameProxy::videoPixelFormat const):
(WebKit::RemoteVideoFrameProxy::videoFrame const):
(WebKit::RemoteVideoFrameProxy::release):
- WebProcess/GPU/media/RemoteVideoFrameProxy.h: Added.
(WebKit::RemoteVideoFrameProxy::Properties::encode const):
(WebKit::RemoteVideoFrameProxy::Properties::decode):
(isType):
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
(WebKit::SampleBufferDisplayLayer::SampleBufferDisplayLayer):
(WebKit::SampleBufferDisplayLayer::~SampleBufferDisplayLayer):
(WebKit::SampleBufferDisplayLayer::enqueueSample):
(WebKit::SampleBufferDisplayLayer::gpuProcessConnectionDidClose):
(WebKit::SampleBufferDisplayLayer::disconnectGPUProcessConnectionIfNeeded):
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h:
Tools:
- Scripts/generate-gpup-webgl:
- TestWebKitAPI/Tests/WebCore/SampleMap.cpp:
LayoutTests:
Captured WebGL to another context2d or WebGL not implemented yet, mark few tests as timing out.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 7:53 AM Changeset in webkit [289621] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Unreviewed, fix build with the latest iOS SDK.
- Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage isNativeLibraryData:]):
- 7:09 AM WebKitGTK/2.34.x edited by
- (diff)
- 6:53 AM Changeset in webkit [289620] by
-
- 3 edits in trunk/Source/WebCore
[GTK] WebKit browser scrollbars not always correctly displayed if overlay scrollbars are disabled
https://bugs.webkit.org/show_bug.cgi?id=234874
Patch by Michael Catanzaro <Michael Catanzaro> on 2022-02-11
Reviewed by Carlos Garcia Campos.
If overlay scrollbars are disabled, and there is not enough content for the page to be
scrollable, and scrollbars are forced using overflow:scroll, then we currently fail to
paint the scrollbars properly. At minimum, we need to paint the scrollbar background, which
is what the macOS port does. Do so.
In the future, we might want to additionally paint the rest of the scrollbars, similar to
the GTK_POLICY_ALWAYS scrollbar policy type, but this would require more work.
- platform/adwaita/ScrollbarThemeAdwaita.cpp:
(WebCore::ScrollbarThemeAdwaita::paint):
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paint):
- 5:30 AM Changeset in webkit [289619] by
-
- 2 edits in trunk/Source/WebKit
[SOUP] Fix memory leak in WebKitDirectoryInputStream
https://bugs.webkit.org/show_bug.cgi?id=236498
Reviewed by Adrian Perez de Castro.
- NetworkProcess/soup/WebKitDirectoryInputStream.cpp:
(webkitDirectoryInputStreamRead): Use adoptGRef() for g_bytes_new_from_bytes().
- 5:02 AM Changeset in webkit [289618] by
-
- 2 edits in trunk/Tools/buildstream
[Flatpak SDK] Enable GStreamer webrtcdsp support
https://bugs.webkit.org/show_bug.cgi?id=236175
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-11
Reviewed by Martin Robinson.
- elements/sdk/gst-plugins-bad.bst: Enable webrtcdsp, needed for VAD handling.
- 4:47 AM Changeset in webkit [289617] by
-
- 5 edits in trunk
[CSS Container Queries] Implement container name matching
https://bugs.webkit.org/show_bug.cgi?id=236495
Reviewed by Tim Nguyen.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-name-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt:
Source/WebCore:
Find the right container to evaluate against.
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::evaluate const):
- 4:05 AM Changeset in webkit [289616] by
-
- 2 edits in trunk/Source/WebCore
Add build phase to copy PDF.js resources to WebCore.framework resources
https://bugs.webkit.org/show_bug.cgi?id=235981
Reviewed by Youenn Fablet.
This adds a new "Run Script" phase that simply copies Source/ThirdParty/pdfjs to
WebCore.framework/Resources/pdfjs, it excludes .svn and .DS_Store files too.
- WebCore.xcodeproj/project.pbxproj:
- 2:52 AM Changeset in webkit [289615] by
-
- 5 edits in trunk
Clicking on an <input type="image"> will submit the form with null submitter
https://bugs.webkit.org/show_bug.cgi?id=236324
LayoutTests/imported/w3c:
Add a test to make sure that when the form is submitted through an <input type="image">
control, thesubmitterfield of the submit event is that control.
Patch by Andreu Botella <andreu@andreubotella.com> on 2022-02-11
Reviewed by Carlos Garcia Campos.
- web-platform-tests/html/semantics/forms/form-submission-0/form-submission-algorithm-expected.txt:
- web-platform-tests/html/semantics/forms/form-submission-0/form-submission-algorithm.html:
Source/WebCore:
Patch by Andreu Botella <andreu@andreubotella.com> on 2022-02-11
Reviewed by Carlos Garcia Campos.
If you submit a form by clicking on an <input type="image"> control, the control will be in
the form's entry list, but the submitter field in the submit event will be null. This is
wrong per the spec, and caused because the call toHTMLFormElement::submitIfPossible()in
ImageInputType::handleDOMActivateEvent()calls it with one argument, rather than passing
the element as the submitter.
Tests: imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-submission-algorithm.html
- html/ImageInputType.cpp:
(WebCore::ImageInputType::handleDOMActivateEvent):
- 2:14 AM Changeset in webkit [289614] by
-
- 3 edits in releases/WebKitGTK/webkit-2.34/Source/WebKit
Merge r289608 - [WPE][GTK] BubblewrapLauncher leaks D-Bus proxy sockets
https://bugs.webkit.org/show_bug.cgi?id=201771
Reviewed by Michael Catanzaro.
xdg-dbus-proxy removes the socket when the sync fd is closed by the application. In most of the cases the
xdg-dbus-proxy process is killed before the sync fd is closed and the socket file is leaked. We should
explicitly close the sync fd.
- UIProcess/Launcher/glib/XDGDBusProxy.cpp:
(WebKit::XDGDBusProxy::XDGDBusProxy): Save the sync fd.
(WebKit::XDGDBusProxy::~XDGDBusProxy): Close the sync fd is needed.
(WebKit::XDGDBusProxy::launch const): Return the sync fd.
- UIProcess/Launcher/glib/XDGDBusProxy.h:
- 2:14 AM Changeset in webkit [289613] by
-
- 5 edits1 copy1 add in releases/WebKitGTK/webkit-2.34/Source/WebKit
Merge r289528 - [GTK][WPE] Refactor the XDGDBusProxy launcher to simplify it and fix some issues
https://bugs.webkit.org/show_bug.cgi?id=236437
Reviewed by Adrian Perez de Castro.
Source/WebKit:
This patch moves the XDGDBusProxy launcher implementation to its own file and fixes the following issues:
- r289369 introduced an issue with old versions of bwrap that fails to mount over an existing file, so we need to ensure we only bind the original socket for the a11y socket and not the session bus one.
- bindA11y is GTK specific for some reason, which means WPE doesn't have a11y under the sandbox.
- The names of the socket paths for a11y and session bus use the same pattern dbus-proxy-XXXXXX, it helps to use a different one.
- The code to get the a11y DBus address is now duplicated in PlatformDisplay, we can just use the PlatformDisplay to get the address.
- SourcesGTK.txt:
- SourcesWPE.txt:
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::argumentsToFileDescriptor):
(WebKit::bindDBusSession):
(WebKit::bindA11y):
(WebKit::bubblewrapSpawn):
(WebKit::argsToFd): Deleted.
(WebKit::XDGDBusProxyLauncher::setAddress): Deleted.
(WebKit::XDGDBusProxyLauncher::isRunning const): Deleted.
(WebKit::XDGDBusProxyLauncher::path const): Deleted.
(WebKit::XDGDBusProxyLauncher::proxyPath const): Deleted.
(WebKit::XDGDBusProxyLauncher::setPermissions): Deleted.
(WebKit::XDGDBusProxyLauncher::launch): Deleted.
(WebKit::XDGDBusProxyLauncher::makeProxyPath): Deleted.
(WebKit::XDGDBusProxyLauncher::dbusAddressToPath): Deleted.
(): Deleted.
- UIProcess/Launcher/glib/BubblewrapLauncher.h:
- UIProcess/Launcher/glib/XDGDBusProxy.cpp: Added.
(WebKit::XDGDBusProxy::XDGDBusProxy):
(WebKit::XDGDBusProxy::makeProxy const):
(WebKit::XDGDBusProxy::launch const):
- UIProcess/Launcher/glib/XDGDBusProxy.h: Added.
(WebKit::XDGDBusProxy::proxyPath const):
(WebKit::XDGDBusProxy::path const):
- 1:49 AM Changeset in webkit [289612] by
-
- 33 edits3 copies1 add in trunk
Add support to query camera and microphone permissions
https://bugs.webkit.org/show_bug.cgi?id=236138
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/permissions/nfc-permission-expected.txt:
- web-platform-tests/permissions/test-background-fetch-permission-expected.txt:
Source/WebCore:
Update queryPermission to be async as it may require to check to UIProcess.
Covered by API test.
- Modules/permissions/PermissionController.h:
- Modules/permissions/Permissions.cpp:
Source/WebKit:
Add new SPI to query for permission (without requesting anything to user).
Use this to implement camera/microphone permission.
In case of permisssion persistently denied, only expose it if web page already called getUserMedia.
In case of permission not persistently set, compute the permission state according past getUserMedia requests.
Also add geolocation mapping as applications might want to support it and it makes existing WPT tests happy.
Add C API as well so that WTR can control permission querying.
Covered by API test.
- Headers.cmake:
- Shared/API/APIObject.h:
- Shared/API/c/WKBase.h:
- Sources.txt:
- UIProcess/API/APIUIClient.h:
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/C/WKPageUIClient.h:
- UIProcess/API/C/WKSpeechRecognitionPermissionCallback.h:
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebPermissionController.cpp:
- WebProcess/WebCoreSupport/WebPermissionController.h:
Tools:
- TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.mm:
(-[UserMediaCaptureUIDelegate _webView:queryPermission:forOrigin:completionHandler:]):
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
- TestWebKitAPI/Tests/WebKit/getUserMediaPermission.html: Added.
- TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.h:
- TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.mm:
- WebKitTestRunner/TestController.cpp:
(WTR::queryPermission):
(WTR::TestController::createWebViewWithOptions):
- 1:16 AM Changeset in webkit [289611] by
-
- 2 edits in trunk
[CMake] Use ld.lld by default for development builds where available
https://bugs.webkit.org/show_bug.cgi?id=235979
Reviewed by Michael Catanzaro.
- Source/cmake/OptionsCommon.cmake: Enable USE_LD_LLD by default for developers builds
when ld.lld is available. While at it, improve the match on LD_VERSION to be more robust.
- 12:44 AM Changeset in webkit [289610] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: [Flexbox] Show flex badge next to flex containers in DOM Tree
https://bugs.webkit.org/show_bug.cgi?id=235924
Reviewed by Patrick Angle.
Elements with
display: flexanddisplay: inline-flexshould include a "flex" badge.
Clicking the badge should toggle the overlay for the corresponding element.
- UserInterface/Controllers/GridOverlayConfigurationDiagnosticEventRecorder.js:
(WI.GridOverlayConfigurationDiagnosticEventRecorder.prototype.setup):
(WI.GridOverlayConfigurationDiagnosticEventRecorder.prototype.teardown):
(WI.GridOverlayConfigurationDiagnosticEventRecorder.prototype._handleGridOverlayShown):
- UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js:
(WI.GridOverlayDiagnosticEventRecorder.prototype.setup):
(WI.GridOverlayDiagnosticEventRecorder.prototype.teardown):
(WI.GridOverlayDiagnosticEventRecorder.prototype._handleGridOverlayShown):
(WI.GridOverlayDiagnosticEventRecorder):
- UserInterface/Controllers/OverlayManager.js:
(WI.OverlayManager):
(WI.OverlayManager.prototype.showOverlay):
(WI.OverlayManager.prototype.hideOverlay):
(WI.OverlayManager.prototype.hasVisibleGridOverlays):
(WI.OverlayManager.prototype.hasVisibleOverlay):
(WI.OverlayManager.prototype.toggleOverlay):
(WI.OverlayManager.prototype.getColorForNode):
(WI.OverlayManager.prototype.setColorForNode):
(WI.OverlayManager.prototype._handleLayoutContextTypeChanged):
(WI.OverlayManager.prototype._handleGridSettingChanged):
(WI.OverlayManager.prototype._handleMainResourceDidChange):
(WI.OverlayManager.prototype.showGridOverlay): Deleted.
(WI.OverlayManager.prototype.hideGridOverlay): Deleted.
(WI.OverlayManager.prototype.isGridOverlayVisible): Deleted.
(WI.OverlayManager.prototype.toggleGridOverlay): Deleted.
(WI.OverlayManager.prototype.getGridColorForNode): Deleted.
(WI.OverlayManager.prototype.setGridColorForNode): Deleted.
Remove grid-specific methods (such as showGridOverlay) and introduce methods that work with
both Grid and Flexbox (such as showOverlay).
- UserInterface/Views/CSSGridSection.js:
(WI.CSSGridSection.prototype.attached):
(WI.CSSGridSection.prototype.detached):
(WI.CSSGridSection.prototype._handleToggleAllCheckboxChanged):
(WI.CSSGridSection.prototype.layout):
(WI.CSSGridSection.prototype._handleGridOverlayStateChanged):
(WI.CSSGridSection.prototype._updateToggleAllCheckbox):
(WI.CSSGridSection):
- UserInterface/Views/DOMTreeElement.css:
(.tree-outline.dom .layout-badge):
(.tree-outline.dom .layout-badge.activated):
(body:not(.window-inactive, .window-docked-inactive) .tree-outline.dom:focus-within li.selected .layout-badge):
(@media (prefers-color-scheme: dark) .tree-outline.dom .layout-badge):
(.tree-outline.dom .badge-css-grid): Deleted.
(.tree-outline.dom .badge-css-grid.activated): Deleted.
(body:not(.window-inactive, .window-docked-inactive) .tree-outline.dom:focus-within li.selected .badge-css-grid): Deleted.
(@media (prefers-color-scheme: dark) .tree-outline.dom .badge-css-grid): Deleted.
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement):
(WI.DOMTreeElement.prototype.onattach):
(WI.DOMTreeElement.prototype.ondetach):
(WI.DOMTreeElement.prototype.updateTitle):
(WI.DOMTreeElement.prototype._updateLayoutBadge):
(WI.DOMTreeElement.prototype._layoutBadgeClicked):
(WI.DOMTreeElement.prototype._updateLayoutBadgeStatus):
(WI.DOMTreeElement.prototype._handleLayoutContextTypeChanged):
(WI.DOMTreeElement.prototype._updateGridBadge): Deleted.
(WI.DOMTreeElement.prototype._gridBadgeClicked): Deleted.
(WI.DOMTreeElement.prototype._gridBadgeDoubleClicked): Deleted.
(WI.DOMTreeElement.prototype._updateGridBadgeStatus): Deleted.
Renamed_gridBadgeElementto_layoutBadgeElement. We can't have both "flex" and "grid" badge on the same element,
so I called it "layoutBadge". I didn't call it simply "badge" because we may have other badges in the future.
- 12:40 AM Changeset in webkit [289609] by
-
- 14 edits6 adds in trunk
Tab characters and ch units do not obey synthetic bold width adjustments correctly
https://bugs.webkit.org/show_bug.cgi?id=236172
Reviewed by Alan Bujtas.
Source/WebCore:
It turns out we have a lot of places where code wants to know the synthetic-bold-expanded
width of characters. One place is 'tab-width: <integer>' and another is the 'ch' unit.
However, WidthIterator and ComplexTextController don't want the synthetic-bold-expanded
widths, because they explicitly apply synthetic bold after shaping.
This patch adds a 2-value enum argument to the Font::widthForGlyph() function, so callers
can pass in which behavior they want. The function has a default value to include the
synthetic bold expansion.
I then audited every call site of this function, and passed in the correct enum value.
Doing this led me to discover two bugs where the wrong behavior was being used, and this
patch fixes them and adds tests for them.
Tests: fast/text/ch-unit-synthetic-bold.html
fast/text/tab-width-synthetic-bold-complex.html
fast/text/tab-width-synthetic-bold.html
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::fallbackFontsForRunWithIterator):
- platform/graphics/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
- platform/graphics/Font.cpp:
(WebCore::Font::platformGlyphInit):
- platform/graphics/Font.h:
(WebCore::Font::spaceWidth const):
(WebCore::Font::widthForGlyph const):
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthForSimpleText const):
- platform/graphics/FontCascade.h:
(WebCore::FontCascade::tabWidth const):
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):
(WebCore::WidthIterator::calculateAdditionalWidth const):
LayoutTests:
3 new tests. Also, the changes in ignored-properties-001-expected.txt are a revert of the rebaseline in
r281687. That rebaseline was wrong, so this undoes it.
- fast/text/ch-unit-synthetic-bold-expected.html: Added.
- fast/text/ch-unit-synthetic-bold.html: Added.
- fast/text/tab-width-synthetic-bold-complex-expected.html: Added.
- fast/text/tab-width-synthetic-bold-complex.html: Added.
- fast/text/tab-width-synthetic-bold-expected.html: Added.
- fast/text/tab-width-synthetic-bold.html: Added.
- platform/ios/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt:
- platform/mac-catalina/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt:
- platform/mac-mojave/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt:
- platform/mac/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt:
- 12:32 AM Changeset in webkit [289608] by
-
- 3 edits in trunk/Source/WebKit
[WPE][GTK] BubblewrapLauncher leaks D-Bus proxy sockets
https://bugs.webkit.org/show_bug.cgi?id=201771
Reviewed by Michael Catanzaro.
xdg-dbus-proxy removes the socket when the sync fd is closed by the application. In most of the cases the
xdg-dbus-proxy process is killed before the sync fd is closed and the socket file is leaked. We should
explicitly close the sync fd.
- UIProcess/Launcher/glib/XDGDBusProxy.cpp:
(WebKit::XDGDBusProxy::XDGDBusProxy): Save the sync fd.
(WebKit::XDGDBusProxy::~XDGDBusProxy): Close the sync fd is needed.
(WebKit::XDGDBusProxy::launch const): Return the sync fd.
- UIProcess/Launcher/glib/XDGDBusProxy.h:
- 12:25 AM Changeset in webkit [289607] by
-
- 5 edits32 deletes in trunk/LayoutTests
LayoutTests/imported/w3c:
[WPE] Several WPT offscreen canvas tests are failing after r287846
https://bugs.webkit.org/show_bug.cgi?id=236474
Reviewed by Carlos Alberto Lopez Perez.
- web-platform-tests/html/canvas/offscreen/conformance-requirements/2d.coordinatespace.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/conformance-requirements/2d.coordinatespace.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/conformance-requirements/2d.missingargs.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/conformance-requirements/2d.missingargs.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/conformance-requirements/2d.voidreturn.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/conformance-requirements/2d.voidreturn.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.nonfinite.spacing-expected.txt:
- web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.nonfinite.spacing.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.nonfinite.spacing.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.spacing-expected.txt:
- web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.spacing.measure.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.spacing.measure.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.spacing.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.spacing.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.combined.3d.transforms.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.combined.3d.transforms.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.x.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.x.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.y.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.y.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.z.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.z.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotateAxis.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotateAxis.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.scale.3d.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.scale.3d.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.setTransform.3d.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.setTransform.3d.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.transform.3d.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.transform.3d.worker.html: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.translate.3d.worker-expected.txt: Removed.
- web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.translate.3d.worker.html: Removed.
LayoutTests:
[GTK] Remove several stale WPT offscreen canvas tests
https://bugs.webkit.org/show_bug.cgi?id=236474
Reviewed by Carlos Alberto Lopez Perez.
r287846 re-sync WPT html/ tests, including offscreen canvas tests.
Some already imported offscreen canvas tests are no longer part of WPT tests.
These tests were marked as Failure but should have actually be removed
instead. Two of these tests needed to update their baseline.
- platform/gtk/TestExpectations:
- 12:04 AM Changeset in webkit [289606] by
-
- 13 edits in trunk/Source/WebCore
[LBSE] Begin stub implementation of transform support for SVG layers
https://bugs.webkit.org/show_bug.cgi?id=236185
Reviewed by Rob Buis.
RenderLayer / RenderLayerBacking use RenderStyle::applyTransform()
to compute a TransformationMatrix from the CSS Transform properties.
To hook in SVG transform support, which goes beyond pure CSS properties
that influence the "effective transform" for a certain SVG element,
RenderStyle is not the right place to place the applyTransform()
implementation for SVG specific requirements.
Therefore introduce a virtual RenderLayerModelObject::applyTransform()
function, that is implemented in RenderBox / RenderSVGModelObject.
In this patch RenderSVGModelObject::applyTransform() stays a stub
and RenderBox::applyTransform() simply forwards to RenderStyle,
preserving the current behavior.
This allows SVG to add additional transformations to the transformation
stack, which is useful to implement 'viewBox' support among other things.
Covered by existing tests, no change in behaviour.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::applyTransform const):
- rendering/RenderBox.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::applyTransform const):
- rendering/RenderBoxModelObject.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::currentTransform const):
(WebCore::RenderLayer::perspectiveTransform const):
(WebCore::RenderLayer::perspectiveOrigin const):
- rendering/RenderLayer.h:
(WebCore::RenderLayer::rendererBorderBoxRect const):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateChildrenTransformAndAnchorPoint):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::transformMatrixForProperty const):
(WebCore::rendererBorderBoxRect): Deleted.
- rendering/RenderLayerModelObject.h:
- rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::applyTransform const):
- rendering/svg/RenderSVGModelObject.h:
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::applyTransform const):
- rendering/svg/RenderSVGRoot.h:
Feb 10, 2022:
- 10:55 PM Changeset in webkit [289605] by
-
- 4 edits in trunk/LayoutTests
[web-animations] additive animations should prevent other animations from running accelerated
https://bugs.webkit.org/show_bug.cgi?id=236447
Unreviewed gardening, the patch for this bug was cq'd before I could fix test expectations for
GTK and Windows and remove an incorrect comment in the newly added test.
- platform/glib/TestExpectations:
- platform/win/TestExpectations:
- webanimations/accelerated-animations-and-composite.html:
- 9:40 PM Changeset in webkit [289604] by
-
- 9 edits in trunk/Source
Separate out setVolatile() from setNonVolatile() on IOSurface-backed buffers
https://bugs.webkit.org/show_bug.cgi?id=236475
Reviewed by Tim Horton.
setVolatile(true) and setVolatile(false) are quite different in their needs, so
separate them out into separate functions.
setVolatile(true) can be done asynchronously (as a future patch will). The
return value tells if you succeeded in making the surfaced volatile, i.e. if it
was not in-use.
setVolatile(false) has to be synchronous, and the return value tells you whether
you need to repaint the entire surface.
Source/WebCore:
- platform/graphics/ConcreteImageBuffer.h:
- platform/graphics/ImageBuffer.h:
- platform/graphics/ImageBufferBackend.h:
(WebCore::ImageBufferBackend::releaseGraphicsContext):
(WebCore::ImageBufferBackend::setVolatile):
(WebCore::ImageBufferBackend::setNonVolatile):
- platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:
(WebCore::ImageBufferIOSurfaceBackend::setVolatile):
(WebCore::ImageBufferIOSurfaceBackend::setNonVolatile):
- platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
Source/WebKit:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::setBufferVolatility):
- 9:36 PM Changeset in webkit [289603] by
-
- 5 edits in trunk/Source/WebKit
Have RemoteLayerBackingStore talk to RemoteLayerBackingStoreCollection directly
https://bugs.webkit.org/show_bug.cgi?id=236463
Reviewed by Tim Horton.
There doesn't seem to be any benefit to going via RemoteLayerTreeContext.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::RemoteLayerBackingStore):
(WebKit::RemoteLayerBackingStore::~RemoteLayerBackingStore):
(WebKit::RemoteLayerBackingStore::backingStoreCollection const):
(WebKit::RemoteLayerBackingStore::display):
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::backingStoreWasCreated): Deleted.
(WebKit::RemoteLayerTreeContext::backingStoreWillBeDestroyed): Deleted.
(WebKit::RemoteLayerTreeContext::backingStoreWillBeDisplayed): Deleted.
- 9:17 PM Changeset in webkit [289602] by
-
- 3 edits in trunk/Source/WTF
[WTF] Fix clang tidy bugprone-move-forwarding-reference static analyzer warnings from WebCore/WebKit
<https://webkit.org/b/236459>
<rdar://problem/88772313>
Reviewed by Darin Adler.
- wtf/IteratorAdaptors.h:
(WTF::makeTransformIterator):
- wtf/WeakHashMap.h:
(WTF::WeakHashMap::set):
- Replace WTFMove() with std::forward<>().
- 7:58 PM Changeset in webkit [289601] by
-
- 2 edits in trunk
Unreviewed, add an alternate email address.
- metadata/contributors.json:
- 7:58 PM Changeset in webkit [289600] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Non-content runs (e.g. inline box start/end) do not need "within the line" flip
https://bugs.webkit.org/show_bug.cgi?id=236426
Reviewed by Antti Koivisto.
This is the same what we already do for the bidi case.
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
- 6:27 PM Changeset in webkit [289599] by
-
- 15 edits in trunk
Web animations- Composite operation accumulation support for transform properties
https://bugs.webkit.org/show_bug.cgi?id=236116
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-rotate-composition-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-skew-composition-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-translate-composition-expected.txt:
- web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
- web-platform-tests/web-animations/animation-model/combining-effects/effect-composition-expected.txt:
Source/WebCore:
This patch brings further support for accumulation on transform properties. The main aspect being addressed
is handling accumulation of TransformationMatrices. This involves accumulating on the decomposed functions,
which occurs in blendFloat() and accumulateQuaternion(). Since we need to perform accumulation for one-based
values on certain decomposed functions, (scale, diagonals of matrices, etc), we set the operation to accumulate
only for these cases.
A couple of bugs introduced by this additional support are also addressed. For a property with a
different transform operation than the keyframes given, transformFunctionListsMatch() would return
true when it shouldn't. Addressed by checking in blendByMatchingOperations and falling back on matrix
interpolation. Another bug is that we need to pass the composite operation to TransformationMatrix blend().
Another bug is that we should to use Replace behavior if either of the transform matrices are
non-invertible.
- animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
- platform/graphics/transforms/Matrix3DTransformOperation.cpp:
(WebCore::createOperation):
- platform/graphics/transforms/MatrixTransformOperation.cpp:
(WebCore::MatrixTransformOperation::blend):
- platform/graphics/transforms/RotateTransformOperation.cpp:
(WebCore::RotateTransformOperation::blend):
- platform/graphics/transforms/TransformOperations.cpp:
(WebCore::TransformOperations::blendByMatchingOperations const):
(WebCore::TransformOperations::blendByUsingMatrixInterpolation const):
(WebCore::TransformOperations::blend const):
- platform/graphics/transforms/TransformOperations.h:
(WebCore::TransformOperations::isInvertible const):
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::blendFloat):
(WebCore::TransformationMatrix::blend2):
(WebCore::accumulateQuaternion):
(WebCore::TransformationMatrix::blend4):
(WebCore::TransformationMatrix::blend):
- 6:03 PM Changeset in webkit [289598] by
-
- 7 edits2 adds in trunk
[web-animations] accelerated animations should not run accelerated
https://bugs.webkit.org/show_bug.cgi?id=236447
<rdar://problem/88756985>
Reviewed by Dean Jackson.
Source/WebCore:
Until we can tackle the complex task of supporting accelerated additive animations
(bug 232081), we need to run animations targeting properties that we would otherwise
known how to accelerate in software if it is additive or if another effect in the
effect stack is itself additive.
We add two new boolean flags on KeyframeEffect that will help us determine whether
that effect can run accelerated.
The first flag, m_hasKeyframeComposingAcceleratedProperty, indicates whether any of
the keyframes targeting a property that supports acceleration uses additivity or
accumulation.
With the help of this flag, we can make KeyframeEffect::canBeAccelerated() return false
not only if the effect has effect-wide additivity or accumulation, but also if one of
its keyframes does.
The second flag, m_hasImplicitKeyframeForAcceleratedProperty, indicates whether any
of the properties found in one of the keyframes is absent from either the 0% or 100%
keyframes. This is important because if an effect uses an implicit value for an
acclerated property, then that effect automatically depends on other effects lower
down the effect stack it belongs to being able to use an accelerated animation to
itself run accelerated.
With the help of this second flag, we can accurately determine when trying to start
an accelerated animation in the startAnimation() lambda within applyPendingAcceleratedActions()
whether the keyframe effect stack contains another effect that will fail to run
accelerated, and prevent this effect from running accelerated itself. Unless if
it does not rely on implicit keyframes, in which case effects lower down the stack
should not be accounted for, as we wouldn't have gone this far if this effect was
using additivity or accumulation, per the canBeAccelerated() improvements.
To allow the effect stack to determine whether any of its effects could be accelerated,
but fails to actually run accelerated, we've added a new KeyframeEffect::canBeAccelerated()
method that the new KeyframeEffectStack::containsEffectThatPreventsAccelerationOfEffect()
calls to determine if any effect other than the one provided should prevent acceleration.
Test: webanimations/accelerated-animations-and-composite.html
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::setBlendingKeyframes):
(WebCore::KeyframeEffect::canBeAccelerated const):
(WebCore::KeyframeEffect::preventsAcceleration const):
(WebCore::KeyframeEffect::applyPendingAcceleratedActions):
(WebCore::KeyframeEffect::computeHasImplicitKeyframeForAcceleratedProperty):
(WebCore::KeyframeEffect::computeHasKeyframeComposingAcceleratedProperty):
- animation/KeyframeEffect.h:
- animation/KeyframeEffectStack.cpp:
(WebCore::KeyframeEffectStack::containsEffectThatPreventsAccelerationOfEffect):
- animation/KeyframeEffectStack.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
LayoutTests:
Add a new test which runs through all the various scenarios where additivity
should or should not prevent other animations from running accelerated.
- webanimations/accelerated-animations-and-composite-expected.txt: Added.
- webanimations/accelerated-animations-and-composite.html: Added.
- 5:47 PM Changeset in webkit [289597] by
-
- 2 edits in trunk/Source/WebCore
Check bidiLevels are valid before reordering
https://bugs.webkit.org/show_bug.cgi?id=236378
Patch by Brandon Stewart <Brandon> on 2022-02-10
Reviewed by Alan Bujtas.
We were trusting that the bidiLevel was valid before calling the reorder.
If the bidiLevel ends up being greater than the MAX + 1 we end up in a situation where
the reordering will fail. The function returns void, so there is not a good way to check
for an error.
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
- 4:45 PM Changeset in webkit [289596] by
-
- 3 edits1 copy in trunk/Source/WTF
Unreviewed, reverting r289583 and r289591.
https://bugs.webkit.org/show_bug.cgi?id=236472
Still breaking builds
Reverted changesets:
"Reland native Xcode build phases for "Copy WTF Headers",
again"
https://bugs.webkit.org/show_bug.cgi?id=235744
https://commits.webkit.org/r289583
"Copy SignedPtr.h in WTF.xcodeproj"
https://bugs.webkit.org/show_bug.cgi?id=236466
https://commits.webkit.org/r289591
- 4:30 PM Changeset in webkit [289595] by
-
- 2 edits in trunk/Source/WTF
Don't prefer text selection in images if it is not available
https://bugs.webkit.org/show_bug.cgi?id=236462
<rdar://problem/88407336>
Reviewed by Wenson Hsieh.
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 4:27 PM Changeset in webkit [289594] by
-
- 25 edits in trunk/Source
[GPU Process] Delete GraphicsContext::clipToDrawingCommands()
https://bugs.webkit.org/show_bug.cgi?id=225959
rdar://78495380
Reviewed by Darin Adler.
Source/WebCore:
This function was added in r267742 as a workaround for a GPUProcess case
which was happening because ImageBuffer::createCompatibleBuffer() used
to return in-process ImageBuffer. clipToDrawingCommands() was a way to
record the clipper mask image into a temporary remote ImageBuffer.
If GraphicsContext::createCompatibleImageBuffer() can create an
ImageBuffer similar to the underlying ImageBuffer of the GraphicsContext,
then GraphicsContext::clipToDrawingCommands() is not needed.
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawTextUnchecked):
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::clipToDrawingCommands): Deleted.
- platform/graphics/GraphicsContext.h:
- platform/graphics/NullGraphicsContext.h:
- platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::append):
- platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemHandle::apply):
(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::safeCopy const):
- platform/graphics/displaylists/DisplayListItemType.cpp:
(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):
- platform/graphics/displaylists/DisplayListItemType.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::operator<<):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::BeginClipToDrawingCommands::BeginClipToDrawingCommands): Deleted.
(WebCore::DisplayList::BeginClipToDrawingCommands::~BeginClipToDrawingCommands): Deleted.
(WebCore::DisplayList::BeginClipToDrawingCommands::destination const): Deleted.
(WebCore::DisplayList::BeginClipToDrawingCommands::colorSpace const): Deleted.
(WebCore::DisplayList::BeginClipToDrawingCommands::encode const): Deleted.
(WebCore::DisplayList::BeginClipToDrawingCommands::decode): Deleted.
(WebCore::DisplayList::EndClipToDrawingCommands::EndClipToDrawingCommands): Deleted.
(WebCore::DisplayList::EndClipToDrawingCommands::destination const): Deleted.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::clipToDrawingCommands): Deleted.
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::~RecorderImpl):
(WebCore::DisplayList::RecorderImpl::createNestedContext): Deleted.
(WebCore::DisplayList::RecorderImpl::recordBeginClipToDrawingCommands): Deleted.
(WebCore::DisplayList::RecorderImpl::recordEndClipToDrawingCommands): Deleted.
- platform/graphics/displaylists/DisplayListRecorderImpl.h:
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::Replayer::applyItem):
(WebCore::DisplayList::Replayer::context const): Deleted.
- platform/graphics/displaylists/DisplayListReplayer.h:
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::clipToDrawingCommands): Deleted.
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
Source/WebKit:
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawingContext):
(WebKit::RemoteDisplayListRecorder::beginClipToDrawingCommands): Deleted.
(WebKit::RemoteDisplayListRecorder::endClipToDrawingCommands): Deleted.
- GPUProcess/graphics/RemoteDisplayListRecorder.h:
- GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordBeginClipToDrawingCommands): Deleted.
(WebKit::RemoteDisplayListRecorderProxy::recordEndClipToDrawingCommands): Deleted.
(WebKit::RemoteDisplayListRecorderProxy::createNestedContext): Deleted.
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- 4:24 PM Changeset in webkit [289593] by
-
- 42 edits11 deletes in trunk
Unreviewed, reverting r289525.
https://bugs.webkit.org/show_bug.cgi?id=236467
Introduced layout test crashes
Reverted changeset:
"Introduce a RemoteMediaSampleProxy to represent captured
video frames used in Media Streams and present in GPUP"
https://bugs.webkit.org/show_bug.cgi?id=236099
https://commits.webkit.org/r289525
- 4:20 PM Changeset in webkit [289592] by
-
- 6 edits in trunk/Source
tryReserveUncommittedAligned should explicitly take the alignment requested
https://bugs.webkit.org/show_bug.cgi?id=236460
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
When reducing the size of VA space reserved for Structures, we
didn't take care to ensure the alignment matched the required
alignment for our bit mask. To fix this we need to pass the
original alignment to the allocator as a new parameter.
- heap/StructureAlignedMemoryAllocator.cpp:
(JSC::StructureMemoryManager::StructureMemoryManager):
Source/WTF:
This patch adds a new ifdef for Unix flavors that support the
MAP_ALIGNED macro/parameter to mmap.
Also, fix a bug where on windows we wouldn't request enough
space to guarantee that allocation is aligned.
- wtf/OSAllocator.h:
- wtf/posix/OSAllocatorPOSIX.cpp:
(WTF::OSAllocator::tryReserveUncommittedAligned):
- wtf/win/OSAllocatorWin.cpp:
(WTF::OSAllocator::tryReserveUncommittedAligned):
- 3:57 PM Changeset in webkit [289591] by
-
- 2 edits in trunk/Source/WTF
Copy SignedPtr.h in WTF.xcodeproj
https://bugs.webkit.org/show_bug.cgi?id=236466
Reviewed by Alexey Proskuryakov.
SignedPtr.h was recently added and needs to be part of WTF's Copy Headers phase.
- WTF.xcodeproj/project.pbxproj:
- 3:49 PM Changeset in webkit [289590] by
-
- 24 edits1 add in trunk/Source
[libpas] jit_heap should support the segregated heap
https://bugs.webkit.org/show_bug.cgi?id=235497
Reviewed by Yusuke Suzuki.
Source/bmalloc:
One of the things that libpas provides is a fast implementation of executable memory allocation, which
libpas calls "jit_heap". The initial implementation of this only used libpas's bitfit and large
algorithms. Bitfit was used for smaller objects and large was used for larger objects. The libpas
segregated heap was disabled in jit_heap. This made sense because:
- Bitfit and large support the shrink() call, where we shrink an allocation in-place. Executable allocation supports this to aid branch compaction (we compact code after we copy it into its final resting place, which is after we allocate the memory - so after we finish compaction, we can only shrink the allocation in-place or not at all).
- Segregated heaps have some virtual address space overheads, and memory overheads, that the bitfit and large heaps don't have. This happens because segreated heaps will dedicate each page to objects of exactly one size forever.
However, segregated heaps are substantially faster than bitfit heaps. They are faster under serial
allocation thanks to the fact that no locks need to be acquired for a typical allocation or
deallocation. They are even more faster under parallel allocation thanks to thread-local caching.
This patch enables segregated heaps for the smallest jit_heap allocations (<=2000 bytes). The cutoff
threshold is runtime configurable, so it's possible to disable segregated heaps at runtime by setting
the cutoff to 0.
With the 2000 threshold, this appears to be a 0.3% Speedometer2 speed-up.
While there is a theoretical possibility of memory overhead, I haven't seen it. If we are using jump
islands then the virtual memory overhead of segregated heaps will just mean that we use jump islands
more frequently, which would manifest as a performance regression -- but I've not seen any such
regression. So, this disables the segregated heap if the JIT pool size is too small (see changes to
ExecutableAllocator.cpp in JSC).
- libpas/libpas.xcodeproj/project.pbxproj:
- libpas/src/libpas/jit_heap.c:
(jit_heap_shrink):
- libpas/src/libpas/jit_heap_config.c:
(jit_small_segregated_allocate_page):
(jit_small_segregated_create_page_header):
(jit_small_destroy_page_header):
(jit_small_segregated_shared_page_directory_selector):
(jit_small_bitfit_allocate_page):
(jit_small_bitfit_create_page_header):
(jit_medium_bitfit_create_page_header):
(jit_medium_destroy_page_header):
(jit_prepare_to_enumerate):
(jit_small_bitfit_destroy_page_header): Deleted.
(jit_medium_bitfit_destroy_page_header): Deleted.
- libpas/src/libpas/jit_heap_config.h:
(jit_small_page_header_for_boundary):
(jit_small_boundary_for_page_header):
(jit_medium_page_header_for_boundary):
(jit_medium_boundary_for_page_header):
(jit_heap_config_page_header):
(jit_small_bitfit_page_header_for_boundary): Deleted.
(jit_small_bitfit_boundary_for_page_header): Deleted.
(jit_medium_bitfit_page_header_for_boundary): Deleted.
(jit_medium_bitfit_boundary_for_page_header): Deleted.
- libpas/src/libpas/jit_heap_config_root_data.h:
- libpas/src/libpas/pas_bitfit_heap.c:
(pas_bitfit_heap_select_variant):
(pas_bitfit_heap_construct_and_insert_size_class):
- libpas/src/libpas/pas_bitfit_heap.h:
- libpas/src/libpas/pas_bitfit_page_config.h:
(pas_bitfit_page_config_is_enabled):
- libpas/src/libpas/pas_heap_config.h:
(pas_heap_config_segregated_heap_min_align_shift):
(pas_heap_config_segregated_heap_min_align):
- libpas/src/libpas/pas_segregated_heap.c:
(min_align_for_heap):
(min_object_size_for_heap):
(max_segregated_object_size_for_heap):
(max_bitfit_object_size_for_heap):
(max_object_size_for_heap):
(pas_segregated_heap_ensure_allocator_index):
(pas_segregated_heap_ensure_size_directory_for_size):
(min_object_size_for_heap_config): Deleted.
(max_segregated_object_size_for_heap_config): Deleted.
(max_bitfit_object_size_for_heap_config): Deleted.
(max_object_size_for_heap_config): Deleted.
- libpas/src/libpas/pas_segregated_heap.h:
(pas_segregated_heap_index_for_size):
(pas_segregated_heap_size_for_index):
- libpas/src/libpas/pas_segregated_page.c:
(pas_segregated_page_construct):
- libpas/src/libpas/pas_segregated_page_config.h:
(pas_segregated_page_config_is_enabled):
- libpas/src/libpas/pas_segregated_page_config_kind.def:
- libpas/src/libpas/pas_segregated_page_config_kind_and_role.h:
- libpas/src/libpas/pas_segregated_size_directory.c:
(pas_segregated_size_directory_create):
- libpas/src/test/IsoHeapChaosTests.cpp:
(std::addAllTests):
- libpas/src/test/JITHeapTests.cpp:
(std::testAllocationSize):
(addJITHeapTests):
- libpas/src/test/TestHarness.cpp:
(main):
- libpas/src/test/ViewCacheTests.cpp: Added.
(std::setupConfig):
(std::testDisableViewCacheUsingBoundForNoViewCache):
(std::testEnableViewCacheAtSomeBoundForNoViewCache):
(addViewCacheTests):
Source/JavaScriptCore:
Disable the jit_heap segregated heap if the executable pool size is too small.
- jit/ExecutableAllocator.cpp:
(JSC::initializeJITPageReservation):
- 3:42 PM Changeset in webkit [289589] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Adjust asserts in InlineDisplayContentBuilder::processBidiContent to support vertical writing mode
https://bugs.webkit.org/show_bug.cgi?id=236418
Reviewed by Antti Koivisto.
This is in preparation for adding vertical writing mode support.
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- 3:36 PM Changeset in webkit [289588] by
-
- 3 edits in trunk/Source/WebCore
Use Ref<> for getBackground/MaskShorthandValue
https://bugs.webkit.org/show_bug.cgi?id=236408
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-10
Reviewed by Tim Nguyen.
Simple cleanup to make it clearer that these can't return nullptr, no tests needed.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::getFillLayerPropertyShorthandValue):
(WebCore::ComputedStyleExtractor::getBackgroundShorthandValue):
(WebCore::ComputedStyleExtractor::getMaskShorthandValue):
- css/CSSComputedStyleDeclaration.h:
- 3:22 PM Changeset in webkit [289587] by
-
- 2 edits in trunk
[Xcode] Perform a full build when analyzing
https://bugs.webkit.org/show_bug.cgi?id=236421
Reviewed by Alexey Proskuryakov.
xcodebuild analyzedoes just enough work to run the analyzer on each target, and doesn't
appear to run build phases that only impact consumers of the target. In particular, it
doesn't copy framework headers.
Fix by telling xcodebuild to build _and_ analyze at once. AFAICT, this is exactly what
Xcode's Product > Analyze command does.
- Makefile.shared: s/analyze/build analyze
- 3:11 PM Changeset in webkit [289586] by
-
- 1 copy in tags/Safari-613.1.17
Tag Safari-613.1.17.
- 3:09 PM Changeset in webkit [289585] by
-
- 2 edits in branches/safari-613-branch
Cherry-pick r288434. rdar://problem/56436745
texImage2d fails to set same video frame to multiple textures
https://bugs.webkit.org/show_bug.cgi?id=203148
<rdar://problem/56436745>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-24
Reviewed by Darin Adler.
Source/WebCore:
WebGL optimizes repeated video uploads to same texture, due to this being
usual practice among pages. Reason is that there are no API to know when the
video frame updates.
The algorithm was:
- If the IOSurface is the same as in the last call
- If the texture contents has not changed since we last modified this texture then skip the upload.
However, this logic skips errorneously if the "last call" updates some other texture.
Fix and test the above.
There are other issues for the current algorithm. This patch fixes some other theoretical ones:
- If the texture is deleted and new one gets assigned the same texture id and the content seed would clash
- Video was uploaded to a different level
The previous implementation was keeping per-texture seed value map in the context
(GraphicsContextGLANGLE) and per-teture seed value map in the texture upload helper
(GraphicsContextGLCVCocoa) and last uploaded IOSurface seed in the upload helper (not per
texture).
The implementation in this patch keeps per-texture known content description in the texture
upload helper and invalidates this when each texture changes. The known content description
is the parameter list of the texture upload call.
Test: webgl/pending/conformance/textures/misc/tex-image-video-repeated.html
- platform/graphics/GraphicsContextGLState.h: (WebCore::GraphicsContextGLState::setBoundTexture):
- platform/graphics/angle/GraphicsContextGLANGLE.cpp: (WebCore::GraphicsContextGLANGLE::texImage2D): (WebCore::GraphicsContextGLANGLE::texSubImage2D): (WebCore::GraphicsContextGLANGLE::compressedTexImage2D): (WebCore::GraphicsContextGLANGLE::compressedTexSubImage2D): (WebCore::GraphicsContextGLANGLE::texStorage2D): (WebCore::GraphicsContextGLANGLE::texStorage3D): (WebCore::GraphicsContextGLANGLE::texImage2DDirect): (WebCore::GraphicsContextGLANGLE::framebufferTexture2D): (WebCore::GraphicsContextGLANGLE::createTexture): (WebCore::GraphicsContextGLANGLE::deleteTexture): (WebCore::GraphicsContextGLANGLE::invalidateKnownTextureContent): (WebCore::GraphicsContextGLANGLE::textureSeed): Deleted.
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::GraphicsContextGLCocoa::invalidateKnownTextureContent):
- platform/graphics/cv/GraphicsContextGLCVCocoa.cpp: (WebCore::GraphicsContextGLCVCocoa::TextureContent::operator== const): (WebCore::GraphicsContextGLCVCocoa::copyVideoSampleToTexture): (WebCore::GraphicsContextGLCVCocoa::invalidateKnownTextureContent):
- platform/graphics/cv/GraphicsContextGLCVCocoa.h:
LayoutTests:
Add a test for testing the bug in which some video texture uploads
were skipped errorneously.
- webgl/pending/conformance/textures/misc/tex-image-video-repeated.html: Added.
- webgl/pending/conformance/textures/misc/tex-image-video-repeated-expected.txt: Added.
- webgl/pending/resources/webgl_test_files/conformance/textures/misc/tex-image-video-repeated.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:07 PM Changeset in webkit [289584] by
-
- 4 edits in trunk
Use of unversioned 'python' in Mac builds causing failures in 12.3
https://bugs.webkit.org/show_bug.cgi?id=236327
Reviewed by Jonathan Bedard.
- WebKit.xcodeproj/project.pbxproj: python -> python3 in "Replace WebKitAdditions in
Framework Headers" phase.
- 3:02 PM Changeset in webkit [289583] by
-
- 3 edits1 delete in trunk/Source/WTF
Reland native Xcode build phases for "Copy WTF Headers", again
https://bugs.webkit.org/show_bug.cgi?id=235744
Reviewed by Alexey Proskuryakov.
Changes since revert of r289490:
Some WTF headers were never tracked in WTF.xcodeproj, causing builds to fail (but only after
a build directory was cleaned and stale headers removed).
- WTF.xcodeproj/project.pbxproj: Add file references for missing headers.
- 2:56 PM Changeset in webkit [289582] by
-
- 1 copy in tags/Safari-613.1.16.1.6
Tag Safari-613.1.16.1.6.
- 2:55 PM Changeset in webkit [289581] by
-
- 1 copy in tags/Safari-613.1.16.0.6
Tag Safari-613.1.16.0.6.
- 2:48 PM Changeset in webkit [289580] by
-
- 22 edits in trunk/Source
ImageBuffer::get/putPixelBuffer should not go through DisplayList
https://bugs.webkit.org/show_bug.cgi?id=236305
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-10
Reviewed by Geoffrey Garen.
Source/WebCore:
Remove GetPixelBuffer / PutPixelBuffer from display list implementation.
Display lists are about GraphicsContext commands.
GetPixelBuffer and PutPixelBuffer are ImageBuffer operations.
Especially GetPixelBuffer does not make sense as a display list item,
and in its current form it does not have parameters to propagate the information
other than to a global variables, like the WebKit side GPUP implementation does.
It is undefined what would two GetPixelBuffer commands one after another mean
in a display list.
The operations in the wrong layer make the correct implementation harder than
neccessary. In this case, GetPixelBuffer is a read operation, but in current
implementation it was invoked by Flush, e.g. GetPixelBuffer would be inside
a section of commands being flushed. Flush is a write operation. As such
it would create a get of unflushed content.
- platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::append):
- platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemHandle::apply):
(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::safeCopy const):
- platform/graphics/displaylists/DisplayListItemType.cpp:
(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):
- platform/graphics/displaylists/DisplayListItemType.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::operator<<):
- platform/graphics/displaylists/DisplayListItems.h:
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
- platform/graphics/displaylists/DisplayListRecorderImpl.h:
Source/WebKit:
Move code that carries out RemoteImageBufferProxy GetPixelBuffer, PutPixelBuffer
from the display list playback to RemoteImageBuffer implementation
in RemoteRenderingBackend, the same place that hosts other
RemoteImageBuffer function invocations.
This makes it possible in the future to mark GetPixelBuffer as a read operation
depending on the previous write operations. Previously GetPixelBuffer was recorded
to the display list before the display list was flushed, which is semantically wrong
and in practice would cause inverted references.
Simplify the protocol to implement the GetPixelBuffer. Previously it was:
- If GPUP does not have the semaphore and the shm, ask for GPUP to send them, sync
- Else if GPUP does not have the semaphore, ask for GPUP to send it, sync
- Else if GPUP does not have the shm send, ask for GPUP to send it, sync
- Send the GetPixelBuffer message via stream async
- Wait for the semaphore
After it is:
- If GPUP does not have the shm send GetPixelBuffer with the shm, sync
- Else send the GetPixelBuffer via stream sync
There's no point in sending a semaphore, the stream sync message is
just a wait on the stream semaphore. Also, since semaphores
might have spurious wakeups, it is not enough of a protocol to wait a
plain semaphore.
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
- GPUProcess/graphics/RemoteDisplayListRecorder.h:
- GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::getPixelBufferForImageBuffer):
(WebKit::RemoteRenderingBackend::getPixelBufferForImageBufferWithNewMemory):
(WebKit::RemoteRenderingBackend::putPixelBufferForImageBuffer):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::gpuProcessConnectionDidClose):
(WebKit::RemoteRenderingBackendProxy::getPixelBufferForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::putPixelBufferForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::updateSharedMemoryForGetPixelBuffer):
(WebKit::RemoteRenderingBackendProxy::destroyGetPixelBufferSharedMemory):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- 2:34 PM Changeset in webkit [289579] by
-
- 79 edits10 adds in trunk/Source/bmalloc
[libpas] it should be possible to decommit unused parts of a thread_local_cache (update to 78508e79fa2797680344d43b94841ae2e903b15b)
https://bugs.webkit.org/show_bug.cgi?id=235347
Reviewed by Yusuke Suzuki.
Libpas uses TLCs (thread_local_caches) for allocation and deallocation. Each size class in each heap
gets a local allocator and possibly a local view cache. Both local allocators and local view caches
can get quite large (100s of bytes). So, if you try to support full isoheaps (bug 231938), you end up
with ginormous TLCs and that accounts for a lot of the memory overhead of full isoheaps.
This change takes a big bite out of that overhead by enabling decommit of TLC pages:
- Any page within a TLC that has nothing but stopped allocators (or view caches; I'll just say "allocators" to mean both "local allocators" and "local view caches", as I do in the code) can get decommitted by the scavenger.
- TLC page decommit just requires holding the TLC's scavenger_lock (formerly known as the log_flush_lock) and the heap_lock. You don't have to suspend the thread (but suspension could have been used to stop the allocator, as before).
- Attempts to allocate using an allocator in a decommitted page are guaranteed to go down a slow path that commits the page and rematerializes the allocator.
- This doesn't require any page alignment of allocators. Allocators can straddle pages.
This seems to be perf-neutral on trunk. It offers a ~1.5% memory improvement for bug 231938.
- CMakeLists.txt:
- bmalloc.xcodeproj/project.pbxproj:
- libpas/libpas.xcodeproj/project.pbxproj:
- libpas/src/libpas/bmalloc_heap.c:
(bmalloc_flex_heap_ref_get_heap):
(bmalloc_auxiliary_heap_ref_get_heap):
(bmalloc_get_heap):
- libpas/src/libpas/bmalloc_heap.h:
- libpas/src/libpas/bmalloc_heap_config.h:
- libpas/src/libpas/jit_heap_config.c:
(jit_aligned_allocator):
- libpas/src/libpas/jit_heap_config.h:
- libpas/src/libpas/minalign32_heap_config.h:
- libpas/src/libpas/pas_bitfit_allocator.c:
(pas_bitfit_allocator_construct):
(pas_bitfit_allocator_stop):
(pas_bitfit_allocator_commit_view):
(pas_bitfit_allocator_finish_failing):
- libpas/src/libpas/pas_bitfit_allocator.h:
- libpas/src/libpas/pas_bitfit_allocator_inlines.h:
(pas_bitfit_allocator_try_allocate):
- libpas/src/libpas/pas_bitfit_directory.c:
(pas_bitfit_directory_take_last_empty):
- libpas/src/libpas/pas_bitfit_page_config.h:
- libpas/src/libpas/pas_bitfit_page_config_inlines.h:
- libpas/src/libpas/pas_bitfit_page_inlines.h:
(pas_bitfit_page_allocation_commit_granules_or_reloop):
- libpas/src/libpas/pas_commit_span.c:
(pas_commit_span_construct):
(commit):
(pas_commit_span_add_unchanged_and_commit):
(decommit):
- libpas/src/libpas/pas_commit_span.h:
- libpas/src/libpas/pas_committed_pages_vector.c: Added.
(pas_committed_pages_vector_construct):
(pas_committed_pages_vector_destruct):
(pas_committed_pages_vector_count_committed):
(pas_count_committed_pages):
- libpas/src/libpas/pas_committed_pages_vector.h: Added.
(pas_committed_pages_vector_is_committed):
- libpas/src/libpas/pas_compact_tagged_ptr.h:
- libpas/src/libpas/pas_compact_thread_local_cache_layout_node.h: Added.
- libpas/src/libpas/pas_decommit_exclusion_range.h: Added.
(pas_decommit_exclusion_range_is_empty):
(pas_decommit_exclusion_range_is_contiguous):
(pas_decommit_exclusion_range_is_inverted):
(pas_decommit_exclusion_range_create_inverted):
- libpas/src/libpas/pas_deferred_decommit_log.c:
(decommit_all):
- libpas/src/libpas/pas_expendable_memory.c:
(pas_expendable_memory_state_version_next):
(pas_expendable_memory_construct):
(pas_expendable_memory_commit_if_necessary):
(scavenge_impl):
(pas_expendable_memory_scavenge):
- libpas/src/libpas/pas_expendable_memory.h:
- libpas/src/libpas/pas_free_granules.c:
(pas_free_granules_decommit_after_locking_range):
- libpas/src/libpas/pas_heap.c:
(pas_heap_get_type_size):
(pas_heap_get_type_alignment):
- libpas/src/libpas/pas_heap.h:
- libpas/src/libpas/pas_heap_config.h:
- libpas/src/libpas/pas_heap_config_utils.c:
(pas_heap_config_utils_allocate_aligned):
- libpas/src/libpas/pas_heap_config_utils.h:
- libpas/src/libpas/pas_heap_ref.c:
(pas_ensure_heap_slow):
- libpas/src/libpas/pas_internal_config.h:
- libpas/src/libpas/pas_large_free_heap_deferred_commit_log.c:
(pas_large_free_heap_deferred_commit_log_construct):
(pas_large_free_heap_deferred_commit_log_destruct):
(pas_large_free_heap_deferred_commit_log_add):
(commit):
(commit_all):
- libpas/src/libpas/pas_large_free_heap_deferred_commit_log.h:
- libpas/src/libpas/pas_large_free_heap_helpers.c:
(large_utility_aligned_allocator):
(pas_large_free_heap_helpers_try_allocate_with_alignment):
(pas_large_free_heap_helpers_deallocate):
- libpas/src/libpas/pas_large_heap.c:
(allocate_impl):
(pas_large_heap_try_deallocate):
(pas_large_heap_try_shrink):
- libpas/src/libpas/pas_large_heap_physical_page_sharing_cache.c:
(large_aligned_allocator):
(pas_large_heap_physical_page_sharing_cache_try_allocate_with_alignment):
- libpas/src/libpas/pas_large_heap_physical_page_sharing_cache.h:
- libpas/src/libpas/pas_large_sharing_pool.c:
(create_node):
(create_and_insert):
(boot_tree):
(states_match):
(split_node_and_get_right_impl):
(try_splat_impl):
(try_splat):
(splat):
(pas_large_sharing_pool_boot_free):
(pas_large_sharing_pool_free):
(pas_large_sharing_pool_allocate_and_commit):
(pas_large_sharing_pool_decommit_least_recently_used):
- libpas/src/libpas/pas_large_sharing_pool.h:
- libpas/src/libpas/pas_large_virtual_range.h: Added.
(pas_large_virtual_range_create):
(pas_large_virtual_range_create_empty):
(pas_large_virtual_range_get_range):
(pas_large_virtual_range_is_empty):
(pas_large_virtual_range_size):
(pas_large_virtual_range_overlaps):
- libpas/src/libpas/pas_large_virtual_range_min_heap.h: Added.
(pas_large_virtual_range_compare_begin):
(pas_large_virtual_range_get_index):
(pas_large_virtual_range_set_index):
- libpas/src/libpas/pas_local_allocator.c:
(pas_local_allocator_construct):
(pas_local_allocator_move):
(stop_impl):
(pas_local_allocator_stop):
- libpas/src/libpas/pas_local_allocator_inlines.h:
(pas_local_allocator_commit_if_necessary_impl):
(pas_local_allocator_commit_if_necessary):
(pas_local_allocator_bless_primordial_partial_view_before_stopping):
(pas_local_allocator_refill_with_known_config):
(pas_local_allocator_try_allocate_small_segregated_slow_impl):
(pas_local_allocator_try_allocate_out_of_line_cases):
(pas_local_allocator_try_allocate_slow_impl):
- libpas/src/libpas/pas_local_allocator_kind.h:
(pas_local_allocator_kind_get_string):
(pas_local_allocator_kind_is_stopped):
- libpas/src/libpas/pas_local_allocator_scavenger_data.c:
(pas_local_allocator_scavenger_data_is_stopped):
(pas_local_allocator_scavenger_data_commit_if_necessary_slow):
(pas_local_allocator_scavenger_data_stop):
(pas_local_allocator_scavenger_data_prepare_to_decommit):
(pas_local_allocator_scavenger_data_is_active): Deleted.
- libpas/src/libpas/pas_local_allocator_scavenger_data.h:
- libpas/src/libpas/pas_local_view_cache.c:
(pas_local_view_cache_construct):
(pas_local_view_cache_move):
(pas_local_view_cache_stop):
(pas_local_view_cache_did_restart):
- libpas/src/libpas/pas_local_view_cache.h:
(pas_local_view_cache_get_state):
(pas_local_view_cache_set_state):
(pas_local_view_cache_is_full):
(pas_local_view_cache_can_push):
(pas_local_view_cache_is_empty):
(pas_local_view_cache_prepare_to_pop):
(pas_local_view_cache_prepare_to_push):
(pas_local_view_cache_pop):
(pas_local_view_cache_push):
- libpas/src/libpas/pas_lock.h:
- libpas/src/libpas/pas_mmap_capability.h: Added.
(pas_mmap_capability_get_string):
- libpas/src/libpas/pas_page_malloc.c:
(pas_page_malloc_alignment_slow):
(pas_page_malloc_alignment_shift_slow):
(pas_page_malloc_zero_fill):
(commit_impl):
(pas_page_malloc_commit):
(pas_page_malloc_commit_without_mprotect):
(decommit_impl):
(pas_page_malloc_decommit):
(pas_page_malloc_decommit_without_mprotect):
(pas_page_malloc_decommit_asymmetric): Deleted.
- libpas/src/libpas/pas_page_malloc.h:
- libpas/src/libpas/pas_scavenger.c:
(handle_expendable_memory):
(scavenger_thread_main):
(pas_scavenger_decommit_expendable_memory):
(pas_scavenger_fake_decommit_expendable_memory):
- libpas/src/libpas/pas_scavenger.h:
- libpas/src/libpas/pas_segregated_exclusive_view.c:
(pas_segregated_exclusive_view_create):
- libpas/src/libpas/pas_segregated_exclusive_view.h:
- libpas/src/libpas/pas_segregated_exclusive_view_inlines.h:
(pas_segregated_exclusive_view_note_eligibility):
- libpas/src/libpas/pas_segregated_heap.c:
(medium_directory_tuple_for_index_impl):
(pas_segregated_heap_medium_directory_tuple_for_index):
(pas_segregated_heap_medium_allocator_index_for_index):
(recompute_size_lookup):
(rematerialize_size_lookup_set_medium_directory_tuple):
(pas_segregated_heap_ensure_allocator_index):
(check_size_lookup_recomputation_set_medium_directory_tuple):
(check_size_lookup_recomputation_dump_directory):
(check_size_lookup_recomputation):
(check_size_lookup_recomputation_if_appropriate):
(pas_segregated_heap_ensure_size_directory_for_size):
- libpas/src/libpas/pas_segregated_heap.h:
- libpas/src/libpas/pas_segregated_heap_inlines.h:
(pas_segregated_heap_touch_lookup_tables):
- libpas/src/libpas/pas_segregated_page.c:
(pas_segregated_page_take_physically):
(pas_segregated_page_commit_fully):
- libpas/src/libpas/pas_segregated_page_inlines.h:
(pas_segregated_page_log_or_deallocate):
- libpas/src/libpas/pas_segregated_partial_view.c:
(pas_segregated_partial_view_create):
(compute_summary):
- libpas/src/libpas/pas_segregated_partial_view.h:
- libpas/src/libpas/pas_segregated_shared_page_directory.c:
(take_last_empty_consider_view):
- libpas/src/libpas/pas_segregated_shared_view.c:
(pas_segregated_shared_view_create):
(pas_segregated_shared_view_commit_page):
(compute_summary):
- libpas/src/libpas/pas_segregated_shared_view.h:
- libpas/src/libpas/pas_segregated_size_directory.c:
(take_last_empty_consider_view):
- libpas/src/libpas/pas_segregated_size_directory.h:
(pas_segregated_size_directory_get_tlc_allocator_index):
- libpas/src/libpas/pas_segregated_view_allocator_inlines.h:
(pas_segregated_view_will_start_allocating):
- libpas/src/libpas/pas_status_reporter.c:
(dump_large_sharing_pool_node_callback):
(pas_status_reporter_dump_view_stats):
(allocator_state):
(dump_allocator_state):
(dump_scavenger_data_state):
(pas_status_reporter_dump_baseline_allocators):
(pas_status_reporter_dump_thread_local_caches):
(pas_status_reporter_dump_everything):
- libpas/src/libpas/pas_status_reporter.h:
- libpas/src/libpas/pas_thread_local_cache.c:
(pas_thread_local_cache_size_for_allocator_index_capacity):
(num_pages):
(compute_page_indices):
(pages_committed_size):
(deallocate):
(allocate_cache):
(pas_thread_local_cache_create):
(pas_thread_local_cache_destroy):
(pas_thread_local_cache_get_local_allocator_slow):
(pas_thread_local_cache_is_committed):
(pas_thread_local_cache_compute_decommit_exclusion_range):
(pas_thread_local_cache_ensure_committed):
(pas_thread_local_cache_allocator_index_for_allocator):
(pas_thread_local_cache_stop_local_allocators):
(flush_deallocation_log_without_resetting):
(flush_deallocation_log_for_scavenger):
(flush_deallocation_log_with_mode):
(pas_thread_local_cache_flush_deallocation_log):
(pas_thread_local_cache_flush_deallocation_log_direct):
(suspend):
(resume):
(decommit_allocator_range):
(stop_allocator):
(pas_thread_local_cache_for_all):
(pas_thread_local_cache_shrink):
(flush_deallocation_log): Deleted.
- libpas/src/libpas/pas_thread_local_cache.h:
(pas_thread_local_cache_offset_of_allocator):
- libpas/src/libpas/pas_thread_local_cache_layout.c:
(pas_thread_local_cache_layout_add_node):
(pas_thread_local_cache_layout_get_node_for_index):
- libpas/src/libpas/pas_thread_local_cache_layout.h:
- libpas/src/libpas/pas_thread_local_cache_layout_entry.h: Added.
(pas_thread_local_cache_layout_entry_create_empty):
(pas_thread_local_cache_layout_entry_create_deleted):
(pas_thread_local_cache_layout_entry_is_empty_or_deleted):
(pas_thread_local_cache_layout_entry_is_empty):
(pas_thread_local_cache_layout_entry_is_deleted):
(pas_thread_local_cache_layout_entry_get_key):
(pas_thread_local_cache_layout_key_get_hash):
(pas_thread_local_cache_layout_key_is_equal):
- libpas/src/libpas/pas_thread_local_cache_layout_node.c:
(pas_thread_local_cache_layout_node_num_allocator_indices):
(pas_thread_local_cache_layout_node_commit_and_construct):
(pas_thread_local_cache_layout_node_move):
(pas_thread_local_cache_layout_node_is_committed):
(pas_thread_local_cache_layout_node_ensure_committed):
(pas_thread_local_cache_layout_node_prepare_to_decommit):
(pas_thread_local_cache_layout_num_allocator_indices): Deleted.
(pas_thread_local_cache_layout_node_construct): Deleted.
- libpas/src/libpas/pas_thread_local_cache_layout_node.h:
- libpas/src/libpas/pas_thread_local_cache_node.c:
(pas_thread_local_cache_node_allocate):
- libpas/src/libpas/pas_thread_local_cache_node.h:
- libpas/src/libpas/pas_try_allocate_intrinsic.h:
(pas_try_allocate_intrinsic_impl_casual_case):
(pas_try_allocate_intrinsic_impl_inline_only):
- libpas/src/libpas/pas_try_allocate_primitive.h:
(pas_try_allocate_primitive_impl_casual_case):
(pas_try_allocate_primitive_impl_inline_only):
- libpas/src/libpas/pas_utility_heap_config.h:
- libpas/src/libpas/pas_utils.h:
- libpas/src/libpas/pas_virtual_range.h:
(pas_virtual_range_create):
(pas_virtual_range_create_empty):
- libpas/src/test/ExpendableMemoryTests.cpp:
(std::testRage):
(std::testRematerializeAfterSearchOfDecommitted):
(std::testBasicSizeClass):
(addExpendableMemoryTests):
- libpas/src/test/LargeSharingPoolTests.cpp:
(std::testGoodCoalesceEpochUpdate):
- libpas/src/test/MemalignTests.cpp: Added.
(addMemalignTests):
- libpas/src/test/TLCDecommitTests.cpp: Added.
(std::numCommittedPagesInTLC):
(std::testTLCDecommit):
(std::testChaosThenDecommit):
(std::testTLCDecommitThenDestroyImpl):
(std::testTLCDecommitThenDestroy):
(std::testTLCDecommitThenDestroyInThread):
(std::testTLCDecommitThenFlush):
(std::testTLCDecommitThenDeallocate):
(addTLCDecommitTests):
- libpas/src/test/TestHarness.cpp:
(RuntimeConfigTestScope::RuntimeConfigTestScope):
(DecommitZeroFill::DecommitZeroFill):
(main):
- libpas/src/test/TestHarness.h:
(operator<<):
- libpas/src/test/ThingyAndUtilityHeapAllocationTests.cpp:
(std::addAllTests):
- 2:23 PM Changeset in webkit [289578] by
-
- 39 edits1 delete in trunk
Permit simultaneous Apple Pay and script injection
https://bugs.webkit.org/show_bug.cgi?id=236254
<rdar://problem/87736727>
Reviewed by Kate Cheney.
Source/WebCore:
Tests: ApplePay.ApplePayAvailableByDefault
ApplePay.ApplePayAvailableInFrame
ApplePay.UserScriptAtDocumentStartDoesNotDisableApplePay
ApplePay.UserScriptAtDocumentEndDoesNotDisableApplePay
ApplePay.UserAgentScriptEvaluationDoesNotDisableApplePay
ApplePay.UserAgentScriptEvaluationDoesNotDisableApplePayInExistingObjects
ApplePay.CanMakePaymentsDoesNotBlockUserAgentScripts
ApplePay.CanMakePaymentsWithActiveCardDoesNotBlockUserAgentScripts
ApplePay.CanMakePaymentDoesNotBlockUserAgentScripts
- dom/Document.h:
- dom/Document.cpp:
(WebCore::Document::ensurePlugInsInjectedScript):
(WebCore::Document::hasEvaluatedUserAgentScripts const): Deleted.
(WebCore::Document::setHasEvaluatedUserAgentScripts): Deleted.
(WebCore::Document::isApplePayActive const): Deleted.
(WebCore::Document::setApplePayIsActive): Deleted.
Remove logic that tracks script injection activity.
- bindings/js/ScriptController.h:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeUserAgentScriptInWorld):
(WebCore::ScriptController::executeAsynchronousUserAgentScriptInWorld):
(WebCore::ScriptController::executeUserAgentScriptInWorldInternal): Deleted.
(WebCore::ScriptController::shouldAllowUserAgentScripts const): Deleted.
- loader/EmptyClients.cpp:
(WebCore::EmptyPaymentCoordinatorClient::supportsUnrestrictedApplePay): Deleted.
- page/Frame.cpp:
(WebCore::Frame::injectUserScriptImmediately):
Remove logic that disables script injection after an Apple Pay session is started.
- Modules/applepay/PaymentCoordinator.h:
- Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::canMakePayments):
(WebCore::PaymentCoordinator::canMakePaymentsWithActiveCard):
(WebCore::PaymentCoordinator::beginPaymentSession):
(WebCore::PaymentCoordinator::shouldEnableApplePayAPIs const): Deleted.
(WebCore::PaymentCoordinator::setApplePayIsActiveIfAllowed const): Deleted.
(WebCore::PaymentCoordinator::shouldAllowUserAgentScripts const): Deleted.
- Modules/applepay/PaymentCoordinatorClient.h:
(WebCore::PaymentCoordinatorClient::userAgentScriptsBlockedErrorMessage const): Deleted.
Remove logic that tracks Apple Pay activity.
- Modules/applepay/ApplePaySession.idl:
- Modules/applepay/PaymentSession.h:
- Modules/applepay/PaymentSession.cpp:
(WebCore::PaymentSession::enabledForContext): Deleted.
- Modules/paymentrequest/PaymentHandler.cpp:
(WebCore::PaymentHandler::enabledForContext): Deleted.
- Modules/paymentrequest/PaymentRequest.idl:
- Modules/paymentrequest/PaymentRequest.h:
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::enabledForContext): Deleted.
Remove logic that disablesApplePaySession/PaymentRequestafter script injection.
- testing/Internals.idl:
- testing/Internals.h:
- testing/Internals.cpp:
(WebCore::Internals::setApplePayIsActive): Deleted.
- testing/MockPaymentCoordinator.idl:
- testing/MockPaymentCoordinator.h:
(WebCore::MockPaymentCoordinator::supportsUnrestrictedApplePay): Deleted.
(WebCore::MockPaymentCoordinator::setSupportsUnrestrictedApplePay): Deleted.
Remove testing support since all uses of these have been removed (above).
Source/WebKit:
- WebProcess/ApplePay/WebPaymentCoordinator.h:
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::supportsUnrestrictedApplePay const): Deleted.
(WebKit::WebPaymentCoordinator::userAgentScriptsBlockedErrorMessage const): Deleted.
Remove logic that tracks Apple Pay activity.
Source/WebKitLegacy/mac:
- WebCoreSupport/WebPaymentCoordinatorClient.h:
- WebCoreSupport/WebPaymentCoordinatorClient.mm:
(WebPaymentCoordinatorClient::supportsUnrestrictedApplePay const): Deleted.
Remove logic that tracks Apple Pay activity.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ApplePay.mm:
(TestWebKitAPI::TEST.ApplePay.ApplePayAvailableByDefault):
(TestWebKitAPI::TEST.ApplePay.ApplePayAvailableInFrame): Renamed from ApplePay.ApplePayAvailableInUnrestrictedClients.
(TestWebKitAPI::TEST.ApplePay.UserScriptAtDocumentStartDoesNotDisableApplePay): Renamed from ApplePay.UserScriptAtDocumentStartDisablesApplePay.
(TestWebKitAPI::TEST.ApplePay.UserScriptAtDocumentEndDoesNotDisableApplePay): Renamed from ApplePay.UserScriptAtDocumentEndDisablesApplePay.
(TestWebKitAPI::TEST.ApplePay.UserAgentScriptEvaluationDoesNotDisableApplePay): Renamed from ApplePay.UserAgentScriptEvaluationDisablesApplePay.
(TestWebKitAPI::TEST.ApplePay.UserAgentScriptEvaluationDoesNotDisableApplePayInExistingObjects): Renamed from ApplePay.UserAgentScriptEvaluationDisablesApplePayInExistingObjects.
(TestWebKitAPI::TEST.ApplePay.CanMakePaymentsDoesNotBlockUserAgentScripts): Renamed from ApplePay.CanMakePaymentsBlocksUserAgentScripts.
(TestWebKitAPI::TEST.ApplePay.CanMakePaymentsWithActiveCardDoesNotBlockUserAgentScripts): Renamed from ApplePay.CanMakePaymentsWithActiveCardBlocksUserAgentScripts.
(TestWebKitAPI::TEST.ApplePay.CanMakePaymentDoesNotBlockUserAgentScripts): Renamed from ApplePay.CanMakePaymentBlocksUserAgentScripts.
(TestWebKitAPI::TEST.ApplePay.ActiveSessionBlocksUserAgentScripts): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/apple-pay-active-session.html: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/apple-pay-availability.html:
- TestWebKitAPI/Tests/WebKitCocoa/apple-pay-availability-existing-object.html:
- TestWebKitAPI/Tests/WebKitCocoa/apple-pay-availability-in-iframe.html:
- TestWebKitAPI/Tests/WebKitCocoa/apple-pay-can-make-payment.html:
- TestWebKitAPI/Tests/WebKitCocoa/apple-pay-can-make-payments.html:
- TestWebKitAPI/Tests/WebKitCocoa/apple-pay-can-make-payments-with-active-card.html:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- 2:21 PM Changeset in webkit [289577] by
-
- 2 edits in trunk/Source/WebCore
Fix linker errors when CG_DISPLAY_LIST_BACKED_IMAGE_BUFFER is enabled
https://bugs.webkit.org/show_bug.cgi?id=236455
Patch by Ada Chan <ada.chan@apple.com> on 2022-02-10
Reviewed by Tim Horton.
WebCore::GraphicsContext::createImageBuffer() and WebCore::GraphicsContext::createCompatibleImageBuffer()
are used in WebKit::GraphicsContextCGDisplayList and need to be exported
- platform/graphics/GraphicsContext.h:
- 2:19 PM Changeset in webkit [289576] by
-
- 1 edit474 adds in trunk/Source/ThirdParty
Import PDF.js v2.12.313 to the WebKit repo
https://bugs.webkit.org/show_bug.cgi?id=236452
Patch by Tim Nguyen <ntim@apple.com> on 2022-02-10
Reviewed by Brent Fulgham.
Add bundle from https://mozilla.github.io/pdf.js/getting_started/#download (Modern browsers version)
Delete the following:
- Sourcemaps (.js.map files)
- Example PDF file (compressed.tracemonkey-pldi-09.pdf)
- pdfjs/LICENSE: Added.
- pdfjs/build/pdf.js: Added.
(webpackUniversalModuleDefinition):
(return.):
(return):
- pdfjs/build/pdf.sandbox.js: Added.
(webpackUniversalModuleDefinition):
(return.):
- pdfjs/build/pdf.worker.js: Added.
(webpackUniversalModuleDefinition):
(return.):
(return):
- pdfjs/web/cmaps/78-EUC-H.bcmap: Added.
- pdfjs/web/cmaps/78-EUC-V.bcmap: Added.
- pdfjs/web/cmaps/78-H.bcmap: Added.
- pdfjs/web/cmaps/78-RKSJ-H.bcmap: Added.
- pdfjs/web/cmaps/78-RKSJ-V.bcmap: Added.
- pdfjs/web/cmaps/78-V.bcmap: Added.
- pdfjs/web/cmaps/78ms-RKSJ-H.bcmap: Added.
- pdfjs/web/cmaps/78ms-RKSJ-V.bcmap: Added.
- pdfjs/web/cmaps/83pv-RKSJ-H.bcmap: Added.
- pdfjs/web/cmaps/90ms-RKSJ-H.bcmap: Added.
- pdfjs/web/cmaps/90ms-RKSJ-V.bcmap: Added.
- pdfjs/web/cmaps/90msp-RKSJ-H.bcmap: Added.
- pdfjs/web/cmaps/90msp-RKSJ-V.bcmap: Added.
- pdfjs/web/cmaps/90pv-RKSJ-H.bcmap: Added.
- pdfjs/web/cmaps/90pv-RKSJ-V.bcmap: Added.
- pdfjs/web/cmaps/Add-H.bcmap: Added.
- pdfjs/web/cmaps/Add-RKSJ-H.bcmap: Added.
- pdfjs/web/cmaps/Add-RKSJ-V.bcmap: Added.
- pdfjs/web/cmaps/Add-V.bcmap: Added.
- pdfjs/web/cmaps/Adobe-CNS1-0.bcmap: Added.
- pdfjs/web/cmaps/Adobe-CNS1-1.bcmap: Added.
- pdfjs/web/cmaps/Adobe-CNS1-2.bcmap: Added.
- pdfjs/web/cmaps/Adobe-CNS1-3.bcmap: Added.
- pdfjs/web/cmaps/Adobe-CNS1-4.bcmap: Added.
- pdfjs/web/cmaps/Adobe-CNS1-5.bcmap: Added.
- pdfjs/web/cmaps/Adobe-CNS1-6.bcmap: Added.
- pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap: Added.
- pdfjs/web/cmaps/Adobe-GB1-0.bcmap: Added.
- pdfjs/web/cmaps/Adobe-GB1-1.bcmap: Added.
- pdfjs/web/cmaps/Adobe-GB1-2.bcmap: Added.
- pdfjs/web/cmaps/Adobe-GB1-3.bcmap: Added.
- pdfjs/web/cmaps/Adobe-GB1-4.bcmap: Added.
- pdfjs/web/cmaps/Adobe-GB1-5.bcmap: Added.
- pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Japan1-0.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Japan1-1.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Japan1-2.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Japan1-3.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Japan1-4.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Japan1-5.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Japan1-6.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Korea1-0.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Korea1-1.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Korea1-2.bcmap: Added.
- pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap: Added.
- pdfjs/web/cmaps/B5-H.bcmap: Added.
- pdfjs/web/cmaps/B5-V.bcmap: Added.
- pdfjs/web/cmaps/B5pc-H.bcmap: Added.
- pdfjs/web/cmaps/B5pc-V.bcmap: Added.
- pdfjs/web/cmaps/CNS-EUC-H.bcmap: Added.
- pdfjs/web/cmaps/CNS-EUC-V.bcmap: Added.
- pdfjs/web/cmaps/CNS1-H.bcmap: Added.
- pdfjs/web/cmaps/CNS1-V.bcmap: Added.
- pdfjs/web/cmaps/CNS2-H.bcmap: Added.
- pdfjs/web/cmaps/CNS2-V.bcmap: Added.
- pdfjs/web/cmaps/ETHK-B5-H.bcmap: Added.
- pdfjs/web/cmaps/ETHK-B5-V.bcmap: Added.
- pdfjs/web/cmaps/ETen-B5-H.bcmap: Added.
- pdfjs/web/cmaps/ETen-B5-V.bcmap: Added.
- pdfjs/web/cmaps/ETenms-B5-H.bcmap: Added.
- pdfjs/web/cmaps/ETenms-B5-V.bcmap: Added.
- pdfjs/web/cmaps/EUC-H.bcmap: Added.
- pdfjs/web/cmaps/EUC-V.bcmap: Added.
- pdfjs/web/cmaps/Ext-H.bcmap: Added.
- pdfjs/web/cmaps/Ext-RKSJ-H.bcmap: Added.
- pdfjs/web/cmaps/Ext-RKSJ-V.bcmap: Added.
- pdfjs/web/cmaps/Ext-V.bcmap: Added.
- pdfjs/web/cmaps/GB-EUC-H.bcmap: Added.
- pdfjs/web/cmaps/GB-EUC-V.bcmap: Added.
- pdfjs/web/cmaps/GB-H.bcmap: Added.
- pdfjs/web/cmaps/GB-V.bcmap: Added.
- pdfjs/web/cmaps/GBK-EUC-H.bcmap: Added.
- pdfjs/web/cmaps/GBK-EUC-V.bcmap: Added.
- pdfjs/web/cmaps/GBK2K-H.bcmap: Added.
- pdfjs/web/cmaps/GBK2K-V.bcmap: Added.
- pdfjs/web/cmaps/GBKp-EUC-H.bcmap: Added.
- pdfjs/web/cmaps/GBKp-EUC-V.bcmap: Added.
- pdfjs/web/cmaps/GBT-EUC-H.bcmap: Added.
- pdfjs/web/cmaps/GBT-EUC-V.bcmap: Added.
- pdfjs/web/cmaps/GBT-H.bcmap: Added.
- pdfjs/web/cmaps/GBT-V.bcmap: Added.
- pdfjs/web/cmaps/GBTpc-EUC-H.bcmap: Added.
- pdfjs/web/cmaps/GBTpc-EUC-V.bcmap: Added.
- pdfjs/web/cmaps/GBpc-EUC-H.bcmap: Added.
- pdfjs/web/cmaps/GBpc-EUC-V.bcmap: Added.
- pdfjs/web/cmaps/H.bcmap: Added.
- pdfjs/web/cmaps/HKdla-B5-H.bcmap: Added.
- pdfjs/web/cmaps/HKdla-B5-V.bcmap: Added.
- pdfjs/web/cmaps/HKdlb-B5-H.bcmap: Added.
- pdfjs/web/cmaps/HKdlb-B5-V.bcmap: Added.
- pdfjs/web/cmaps/HKgccs-B5-H.bcmap: Added.
- pdfjs/web/cmaps/HKgccs-B5-V.bcmap: Added.
- pdfjs/web/cmaps/HKm314-B5-H.bcmap: Added.
- pdfjs/web/cmaps/HKm314-B5-V.bcmap: Added.
- pdfjs/web/cmaps/HKm471-B5-H.bcmap: Added.
- pdfjs/web/cmaps/HKm471-B5-V.bcmap: Added.
- pdfjs/web/cmaps/HKscs-B5-H.bcmap: Added.
- pdfjs/web/cmaps/HKscs-B5-V.bcmap: Added.
- pdfjs/web/cmaps/Hankaku.bcmap: Added.
- pdfjs/web/cmaps/Hiragana.bcmap: Added.
- pdfjs/web/cmaps/KSC-EUC-H.bcmap: Added.
- pdfjs/web/cmaps/KSC-EUC-V.bcmap: Added.
- pdfjs/web/cmaps/KSC-H.bcmap: Added.
- pdfjs/web/cmaps/KSC-Johab-H.bcmap: Added.
- pdfjs/web/cmaps/KSC-Johab-V.bcmap: Added.
- pdfjs/web/cmaps/KSC-V.bcmap: Added.
- pdfjs/web/cmaps/KSCms-UHC-H.bcmap: Added.
- pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap: Added.
- pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap: Added.
- pdfjs/web/cmaps/KSCms-UHC-V.bcmap: Added.
- pdfjs/web/cmaps/KSCpc-EUC-H.bcmap: Added.
- pdfjs/web/cmaps/KSCpc-EUC-V.bcmap: Added.
- pdfjs/web/cmaps/Katakana.bcmap: Added.
- pdfjs/web/cmaps/LICENSE: Added.
- pdfjs/web/cmaps/NWP-H.bcmap: Added.
- pdfjs/web/cmaps/NWP-V.bcmap: Added.
- pdfjs/web/cmaps/RKSJ-H.bcmap: Added.
- pdfjs/web/cmaps/RKSJ-V.bcmap: Added.
- pdfjs/web/cmaps/Roman.bcmap: Added.
- pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap: Added.
- pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap: Added.
- pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap: Added.
- pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap: Added.
- pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap: Added.
- pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap: Added.
- pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap: Added.
- pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap: Added.
- pdfjs/web/cmaps/UniGB-UCS2-H.bcmap: Added.
- pdfjs/web/cmaps/UniGB-UCS2-V.bcmap: Added.
- pdfjs/web/cmaps/UniGB-UTF16-H.bcmap: Added.
- pdfjs/web/cmaps/UniGB-UTF16-V.bcmap: Added.
- pdfjs/web/cmaps/UniGB-UTF32-H.bcmap: Added.
- pdfjs/web/cmaps/UniGB-UTF32-V.bcmap: Added.
- pdfjs/web/cmaps/UniGB-UTF8-H.bcmap: Added.
- pdfjs/web/cmaps/UniGB-UTF8-V.bcmap: Added.
- pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap: Added.
- pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap: Added.
- pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap: Added.
- pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap: Added.
- pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap: Added.
- pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap: Added.
- pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap: Added.
- pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap: Added.
- pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap: Added.
- pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap: Added.
- pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap: Added.
- pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap: Added.
- pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap: Added.
- pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap: Added.
- pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap: Added.
- pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap: Added.
- pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap: Added.
- pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap: Added.
- pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap: Added.
- pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap: Added.
- pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap: Added.
- pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap: Added.
- pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap: Added.
- pdfjs/web/cmaps/UniKS-UCS2-H.bcmap: Added.
- pdfjs/web/cmaps/UniKS-UCS2-V.bcmap: Added.
- pdfjs/web/cmaps/UniKS-UTF16-H.bcmap: Added.
- pdfjs/web/cmaps/UniKS-UTF16-V.bcmap: Added.
- pdfjs/web/cmaps/UniKS-UTF32-H.bcmap: Added.
- pdfjs/web/cmaps/UniKS-UTF32-V.bcmap: Added.
- pdfjs/web/cmaps/UniKS-UTF8-H.bcmap: Added.
- pdfjs/web/cmaps/UniKS-UTF8-V.bcmap: Added.
- pdfjs/web/cmaps/V.bcmap: Added.
- pdfjs/web/cmaps/WP-Symbol.bcmap: Added.
- pdfjs/web/debugger.js: Added.
(FontInspector.FontInspectorClosure.removeSelection):
(FontInspector.FontInspectorClosure.resetSelection):
(FontInspector.FontInspectorClosure.selectFont):
(FontInspector.FontInspectorClosure.textLayerClick):
(FontInspector.FontInspectorClosure.return.init):
(FontInspector.FontInspectorClosure.return.cleanup):
(FontInspector.FontInspectorClosure.return.get active):
(FontInspector.FontInspectorClosure.return.set active):
(FontInspector.FontInspectorClosure.return.properties):
(FontInspector.FontInspectorClosure.return.fontAdded):
(FontInspector):
(StepperManager.StepperManagerClosure.return.init):
(StepperManager.StepperManagerClosure.return.cleanup):
(StepperManager.StepperManagerClosure.return.create):
(StepperManager.StepperManagerClosure.return.selectStepper):
(StepperManager.StepperManagerClosure.return.saveBreakPoints):
(StepperManager):
(const.Stepper.StepperClosure.c):
(const.Stepper.StepperClosure.simplifyArgs):
(const.Stepper.StepperClosure.Stepper):
(const.Stepper.StepperClosure.Stepper.prototype.init):
(const.Stepper.StepperClosure.Stepper.prototype.updateOperatorList.cboxOnClick):
(const.Stepper.StepperClosure.Stepper.prototype.updateOperatorList):
(const.Stepper.StepperClosure.Stepper.prototype.getNextBreakPoint):
(const.Stepper.StepperClosure.Stepper.prototype.breakIt):
(const.Stepper.StepperClosure.Stepper.prototype.goTo):
(const.Stepper):
(Stats.Stats):
(Stats.Stats.getStatIndex):
(Stats):
(window.PDFBug):
- pdfjs/web/images/annotation-check.svg: Added.
- pdfjs/web/images/annotation-comment.svg: Added.
- pdfjs/web/images/annotation-help.svg: Added.
- pdfjs/web/images/annotation-insert.svg: Added.
- pdfjs/web/images/annotation-key.svg: Added.
- pdfjs/web/images/annotation-newparagraph.svg: Added.
- pdfjs/web/images/annotation-noicon.svg: Added.
- pdfjs/web/images/annotation-note.svg: Added.
- pdfjs/web/images/annotation-paragraph.svg: Added.
- pdfjs/web/images/findbarButton-next.svg: Added.
- pdfjs/web/images/findbarButton-previous.svg: Added.
- pdfjs/web/images/grab.cur: Added.
- pdfjs/web/images/grabbing.cur: Added.
- pdfjs/web/images/loading-dark.svg: Added.
- pdfjs/web/images/loading-icon.gif: Added.
- pdfjs/web/images/loading.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-documentProperties.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-firstPage.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-handTool.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-lastPage.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-rotateCw.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-scrollPage.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-selectTool.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-spreadEven.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-spreadNone.svg: Added.
- pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg: Added.
- pdfjs/web/images/shadow.png: Added.
- pdfjs/web/images/toolbarButton-bookmark.svg: Added.
- pdfjs/web/images/toolbarButton-currentOutlineItem.svg: Added.
- pdfjs/web/images/toolbarButton-download.svg: Added.
- pdfjs/web/images/toolbarButton-menuArrow.svg: Added.
- pdfjs/web/images/toolbarButton-openFile.svg: Added.
- pdfjs/web/images/toolbarButton-pageDown.svg: Added.
- pdfjs/web/images/toolbarButton-pageUp.svg: Added.
- pdfjs/web/images/toolbarButton-presentationMode.svg: Added.
- pdfjs/web/images/toolbarButton-print.svg: Added.
- pdfjs/web/images/toolbarButton-search.svg: Added.
- pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg: Added.
- pdfjs/web/images/toolbarButton-sidebarToggle.svg: Added.
- pdfjs/web/images/toolbarButton-viewAttachments.svg: Added.
- pdfjs/web/images/toolbarButton-viewLayers.svg: Added.
- pdfjs/web/images/toolbarButton-viewOutline.svg: Added.
- pdfjs/web/images/toolbarButton-viewThumbnail.svg: Added.
- pdfjs/web/images/toolbarButton-zoomIn.svg: Added.
- pdfjs/web/images/toolbarButton-zoomOut.svg: Added.
- pdfjs/web/images/treeitem-collapsed.svg: Added.
- pdfjs/web/images/treeitem-expanded.svg: Added.
- pdfjs/web/locale/ach/viewer.properties: Added.
- pdfjs/web/locale/af/viewer.properties: Added.
- pdfjs/web/locale/an/viewer.properties: Added.
- pdfjs/web/locale/ar/viewer.properties: Added.
- pdfjs/web/locale/ast/viewer.properties: Added.
- pdfjs/web/locale/az/viewer.properties: Added.
- pdfjs/web/locale/be/viewer.properties: Added.
- pdfjs/web/locale/bg/viewer.properties: Added.
- pdfjs/web/locale/bn/viewer.properties: Added.
- pdfjs/web/locale/bo/viewer.properties: Added.
- pdfjs/web/locale/br/viewer.properties: Added.
- pdfjs/web/locale/brx/viewer.properties: Added.
- pdfjs/web/locale/bs/viewer.properties: Added.
- pdfjs/web/locale/ca/viewer.properties: Added.
- pdfjs/web/locale/cak/viewer.properties: Added.
- pdfjs/web/locale/ckb/viewer.properties: Added.
- pdfjs/web/locale/cs/viewer.properties: Added.
- pdfjs/web/locale/cy/viewer.properties: Added.
- pdfjs/web/locale/da/viewer.properties: Added.
- pdfjs/web/locale/de/viewer.properties: Added.
- pdfjs/web/locale/dsb/viewer.properties: Added.
- pdfjs/web/locale/el/viewer.properties: Added.
- pdfjs/web/locale/en-CA/viewer.properties: Added.
- pdfjs/web/locale/en-GB/viewer.properties: Added.
- pdfjs/web/locale/en-US/viewer.properties: Added.
- pdfjs/web/locale/eo/viewer.properties: Added.
- pdfjs/web/locale/es-AR/viewer.properties: Added.
- pdfjs/web/locale/es-CL/viewer.properties: Added.
- pdfjs/web/locale/es-ES/viewer.properties: Added.
- pdfjs/web/locale/es-MX/viewer.properties: Added.
- pdfjs/web/locale/et/viewer.properties: Added.
- pdfjs/web/locale/eu/viewer.properties: Added.
- pdfjs/web/locale/fa/viewer.properties: Added.
- pdfjs/web/locale/ff/viewer.properties: Added.
- pdfjs/web/locale/fi/viewer.properties: Added.
- pdfjs/web/locale/fr/viewer.properties: Added.
- pdfjs/web/locale/fy-NL/viewer.properties: Added.
- pdfjs/web/locale/ga-IE/viewer.properties: Added.
- pdfjs/web/locale/gd/viewer.properties: Added.
- pdfjs/web/locale/gl/viewer.properties: Added.
- pdfjs/web/locale/gn/viewer.properties: Added.
- pdfjs/web/locale/gu-IN/viewer.properties: Added.
- pdfjs/web/locale/he/viewer.properties: Added.
- pdfjs/web/locale/hi-IN/viewer.properties: Added.
- pdfjs/web/locale/hr/viewer.properties: Added.
- pdfjs/web/locale/hsb/viewer.properties: Added.
- pdfjs/web/locale/hu/viewer.properties: Added.
- pdfjs/web/locale/hy-AM/viewer.properties: Added.
- pdfjs/web/locale/hye/viewer.properties: Added.
- pdfjs/web/locale/ia/viewer.properties: Added.
- pdfjs/web/locale/id/viewer.properties: Added.
- pdfjs/web/locale/is/viewer.properties: Added.
- pdfjs/web/locale/it/viewer.properties: Added.
- pdfjs/web/locale/ja/viewer.properties: Added.
- pdfjs/web/locale/ka/viewer.properties: Added.
- pdfjs/web/locale/kab/viewer.properties: Added.
- pdfjs/web/locale/kk/viewer.properties: Added.
- pdfjs/web/locale/km/viewer.properties: Added.
- pdfjs/web/locale/kn/viewer.properties: Added.
- pdfjs/web/locale/ko/viewer.properties: Added.
- pdfjs/web/locale/lij/viewer.properties: Added.
- pdfjs/web/locale/lo/viewer.properties: Added.
- pdfjs/web/locale/locale.properties: Added.
- pdfjs/web/locale/lt/viewer.properties: Added.
- pdfjs/web/locale/ltg/viewer.properties: Added.
- pdfjs/web/locale/lv/viewer.properties: Added.
- pdfjs/web/locale/meh/viewer.properties: Added.
- pdfjs/web/locale/mk/viewer.properties: Added.
- pdfjs/web/locale/mr/viewer.properties: Added.
- pdfjs/web/locale/ms/viewer.properties: Added.
- pdfjs/web/locale/my/viewer.properties: Added.
- pdfjs/web/locale/nb-NO/viewer.properties: Added.
- pdfjs/web/locale/ne-NP/viewer.properties: Added.
- pdfjs/web/locale/nl/viewer.properties: Added.
- pdfjs/web/locale/nn-NO/viewer.properties: Added.
- pdfjs/web/locale/oc/viewer.properties: Added.
- pdfjs/web/locale/pa-IN/viewer.properties: Added.
- pdfjs/web/locale/pl/viewer.properties: Added.
- pdfjs/web/locale/pt-BR/viewer.properties: Added.
- pdfjs/web/locale/pt-PT/viewer.properties: Added.
- pdfjs/web/locale/rm/viewer.properties: Added.
- pdfjs/web/locale/ro/viewer.properties: Added.
- pdfjs/web/locale/ru/viewer.properties: Added.
- pdfjs/web/locale/sat/viewer.properties: Added.
- pdfjs/web/locale/sc/viewer.properties: Added.
- pdfjs/web/locale/scn/viewer.properties: Added.
- pdfjs/web/locale/sco/viewer.properties: Added.
- pdfjs/web/locale/si/viewer.properties: Added.
- pdfjs/web/locale/sk/viewer.properties: Added.
- pdfjs/web/locale/sl/viewer.properties: Added.
- pdfjs/web/locale/son/viewer.properties: Added.
- pdfjs/web/locale/sq/viewer.properties: Added.
- pdfjs/web/locale/sr/viewer.properties: Added.
- pdfjs/web/locale/sv-SE/viewer.properties: Added.
- pdfjs/web/locale/szl/viewer.properties: Added.
- pdfjs/web/locale/ta/viewer.properties: Added.
- pdfjs/web/locale/te/viewer.properties: Added.
- pdfjs/web/locale/tg/viewer.properties: Added.
- pdfjs/web/locale/th/viewer.properties: Added.
- pdfjs/web/locale/tl/viewer.properties: Added.
- pdfjs/web/locale/tr/viewer.properties: Added.
- pdfjs/web/locale/trs/viewer.properties: Added.
- pdfjs/web/locale/uk/viewer.properties: Added.
- pdfjs/web/locale/ur/viewer.properties: Added.
- pdfjs/web/locale/uz/viewer.properties: Added.
- pdfjs/web/locale/vi/viewer.properties: Added.
- pdfjs/web/locale/wo/viewer.properties: Added.
- pdfjs/web/locale/xh/viewer.properties: Added.
- pdfjs/web/locale/zh-CN/viewer.properties: Added.
- pdfjs/web/locale/zh-TW/viewer.properties: Added.
- pdfjs/web/standard_fonts/FoxitDingbats.pfb: Added.
- pdfjs/web/standard_fonts/FoxitFixed.pfb: Added.
- pdfjs/web/standard_fonts/FoxitFixedBold.pfb: Added.
- pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb: Added.
- pdfjs/web/standard_fonts/FoxitFixedItalic.pfb: Added.
- pdfjs/web/standard_fonts/FoxitSans.pfb: Added.
- pdfjs/web/standard_fonts/FoxitSansBold.pfb: Added.
- pdfjs/web/standard_fonts/FoxitSansBoldItalic.pfb: Added.
- pdfjs/web/standard_fonts/FoxitSansItalic.pfb: Added.
- pdfjs/web/standard_fonts/FoxitSerif.pfb: Added.
- pdfjs/web/standard_fonts/FoxitSerifBold.pfb: Added.
- pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb: Added.
- pdfjs/web/standard_fonts/FoxitSerifItalic.pfb: Added.
- pdfjs/web/standard_fonts/FoxitSymbol.pfb: Added.
- pdfjs/web/standard_fonts/LICENSE_FOXIT: Added.
- pdfjs/web/standard_fonts/LICENSE_LIBERATION: Added.
- pdfjs/web/standard_fonts/LiberationSans-Bold.ttf: Added.
- pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf: Added.
- pdfjs/web/standard_fonts/LiberationSans-Italic.ttf: Added.
- pdfjs/web/standard_fonts/LiberationSans-Regular.ttf: Added.
- pdfjs/web/viewer.css: Added.
(.textLayer):
(.textLayer span,):
(.textLayer span.markedContent):
(.textLayer .highlight):
(.textLayer .highlight.appended):
(.textLayer .highlight.begin):
(.textLayer .highlight.end):
(.textLayer .highlight.middle):
(.textLayer .highlight.selected):
(.textLayer ::-moz-selection):
(.textLayer ::selection):
(.textLayer br::-moz-selection):
(.textLayer br::selection):
(.textLayer .endOfContent):
(.textLayer .endOfContent.active):
(:root):
(.annotationLayer section):
(.annotationLayer .linkAnnotation > a,):
(.annotationLayer .buttonWidgetAnnotation.pushButton > canvas):
(.annotationLayer .linkAnnotation > a:hover,):
(.annotationLayer .textAnnotation img):
(.annotationLayer .textWidgetAnnotation input,):
(.annotationLayer .choiceWidgetAnnotation select option):
(.annotationLayer .buttonWidgetAnnotation.radioButton input):
(.annotationLayer .textWidgetAnnotation textarea):
(.annotationLayer .textWidgetAnnotation input[disabled],):
(.annotationLayer .textWidgetAnnotation input:hover,):
(.annotationLayer .textWidgetAnnotation input:focus,):
(.annotationLayer .textWidgetAnnotation input :focus,):
(.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,):
(.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before):
(.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after):
(.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before):
(.annotationLayer .textWidgetAnnotation input.comb):
(.annotationLayer .textWidgetAnnotation input.comb:focus):
(.annotationLayer .buttonWidgetAnnotation.checkBox input,):
(.annotationLayer .popupWrapper):
(.annotationLayer .popup):
(.annotationLayer .popup > *):
(.annotationLayer .popup h1):
(.annotationLayer .popupDate):
(.annotationLayer .popupContent):
(.annotationLayer .richText > *):
(.annotationLayer .highlightAnnotation,):
(.xfaLayer .highlight):
(.xfaLayer .highlight.appended):
(.xfaLayer .highlight.begin):
(.xfaLayer .highlight.end):
(.xfaLayer .highlight.middle):
(.xfaLayer .highlight.selected):
(.xfaLayer ::-moz-selection):
(.xfaLayer ::selection):
(.xfaPage):
(.xfaContentarea):
(.xfaPrintOnly):
(.xfaLayer):
(.xfaLayer *):
(.xfaLayer div):
(.xfaLayer svg):
(.xfaLayer svg *):
(.xfaLayer a):
(.xfaRich li):
(.xfaFont):
(.xfaCaption):
(.xfaCaptionForCheckButton):
(.xfaLabel):
(.xfaLeft):
(.xfaRight):
(.xfaLeft > .xfaCaption,):
(.xfaTop):
(.xfaBottom):
(.xfaTop > .xfaCaption,):
(.xfaBorder):
(.xfaWrapped):
(.xfaTextfield:focus,):
(.xfaCheckbox:focus,):
(.xfaTextfield,):
(.xfaTop > .xfaTextfield,):
(.xfaButton):
(.xfaLink):
(.xfaCheckbox,):
(.xfaRich):
(.xfaImage):
(.xfaLrTb,):
(.xfaLr):
(.xfaRl):
(.xfaTb > div):
(.xfaPosition):
(.xfaArea):
(.xfaValignMiddle):
(.xfaTable):
(.xfaTable .xfaRow):
(.xfaTable .xfaRlRow):
(.xfaTable .xfaRlRow > div):
(.xfaNonInteractive input,):
(@media print .xfaTextfield,):
(@media print .xfaSelect):
(@media screen and (forced-colors: active) :root):
(.pdfViewer):
(.pdfViewer .canvasWrapper):
(.pdfViewer .page):
(.pdfViewer .dummyPage):
(.pdfViewer.removePageBorders .page):
(.pdfViewer.singlePageView):
(.pdfViewer.singlePageView .page):
(.pdfViewer.scrollHorizontal,):
(.pdfViewer.removePageBorders,):
(.spread .page,):
(.pdfViewer.removePageBorders .spread .page,):
(.pdfViewer .page canvas):
(.pdfViewer .page canvas[hidden]):
(.pdfViewer .page .loadingIcon):
(.pdfViewer .page .loadingIcon.notVisible):
(.pdfViewer.enablePermissions .textLayer span):
(.pdfPresentationMode .pdfViewer):
(.pdfPresentationMode .spread):
(.pdfPresentationMode .pdfViewer .page):
(@media (prefers-color-scheme: dark) :root):
(*):
(html):
(body):
(body,):
(.hidden):
([hidden]):
(#viewerContainer.pdfPresentationMode:-webkit-full-screen):
(#viewerContainer.pdfPresentationMode:fullscreen):
(.pdfPresentationMode:-webkit-full-screen a:not(.internalLink)):
(.pdfPresentationMode:fullscreen a:not(.internalLink)):
(.pdfPresentationMode:-webkit-full-screen .textLayer span):
(.pdfPresentationMode:fullscreen .textLayer span):
(.pdfPresentationMode.pdfPresentationModeControls > *,):
(#outerContainer):
(#sidebarContainer):
(html[dir="ltr"] #sidebarContainer):
(html[dir="rtl"] #sidebarContainer):
(#outerContainer.sidebarResizing #sidebarContainer):
(#outerContainer.sidebarMoving #sidebarContainer,):
(html[dir="ltr"] #outerContainer.sidebarOpen #sidebarContainer):
(html[dir="rtl"] #outerContainer.sidebarOpen #sidebarContainer):
(#mainContainer):
(#sidebarContent):
(html[dir="ltr"] #sidebarContent):
(html[dir="rtl"] #sidebarContent):
(#viewerContainer):
(#viewerContainer:not(.pdfPresentationMode)):
(#outerContainer.sidebarResizing #viewerContainer):
(html[dir="ltr"]):
(html[dir="rtl"]):
(.toolbar):
(#toolbarContainer):
(#toolbarSidebar):
(html[dir="ltr"] #toolbarSidebar):
(html[dir="rtl"] #toolbarSidebar):
(html[dir="ltr"] #toolbarSidebar .toolbarButton):
(html[dir="rtl"] #toolbarSidebar .toolbarButton):
(html[dir="ltr"] #toolbarSidebarRight .toolbarButton):
(html[dir="rtl"] #toolbarSidebarRight .toolbarButton):
(#sidebarResizer):
(html[dir="ltr"] #sidebarResizer):
(html[dir="rtl"] #sidebarResizer):
(#toolbarContainer,):
(#toolbarViewer):
(#loadingBar):
(html[dir="ltr"] #loadingBar):
(html[dir="rtl"] #loadingBar):
(html[dir="ltr"] #outerContainer.sidebarOpen #loadingBar):
(html[dir="rtl"] #outerContainer.sidebarOpen #loadingBar):
(#outerContainer.sidebarResizing #loadingBar):
(#loadingBar .progress):
(@-webkit-keyframes progressIndeterminate):
(100%):
(@keyframes progressIndeterminate):
(#loadingBar .progress.indeterminate):
(#loadingBar .progress.indeterminate .glimmer):
(.findbar,):
(.findbar):
(.findbar > div):
(.findbar.wrapContainers > div):
(.findbar.wrapContainers > div#findbarMessageContainer):
(html[dir="ltr"] .findbar):
(html[dir="rtl"] .findbar):
(.findbar .splitToolbarButton):
(html[dir="ltr"] .findbar .splitToolbarButton):
(html[dir="rtl"] .findbar .splitToolbarButton):
(.findbar .splitToolbarButton > .toolbarButton):
(.findbar .splitToolbarButton > .toolbarButton::before):
(.findbar .splitToolbarButton > .findNext):
(html[dir="ltr"] .findbar .splitToolbarButton > .findNext):
(html[dir="rtl"] .findbar .splitToolbarButton > .findNext):
(.findbar input[type="checkbox"]):
(.findbar label):
(.findbar label:hover,):
(html[dir="ltr"] #findInput):
(html[dir="rtl"] #findInput):
(.findbar .toolbarField[type="checkbox"]:checked + .toolbarLabel):
(#findInput):
(#findInput::-moz-placeholder):
(#findInput::placeholder):
(#findInput[data-status="pending"]):
(html[dir="rtl"] #findInput[data-status="pending"]):
(#findInput[data-status="notFound"]):
(.secondaryToolbar):
(html[dir="ltr"] .secondaryToolbar):
(html[dir="rtl"] .secondaryToolbar):
(#secondaryToolbarButtonContainer):
(.doorHanger,):
(.doorHanger:after,):
(.doorHanger:after):
(.doorHangerRight:after):
(.doorHanger:before,):
(html[dir="ltr"] .doorHanger:after,):
(html[dir="ltr"] .doorHanger:before,):
(html[dir="rtl"] .doorHanger:after,):
(html[dir="rtl"] .doorHanger:before,):
(#findResultsCount):
(#findMsg):
(#findMsg:empty):
(#toolbarViewerMiddle):
(html[dir="ltr"] #toolbarViewerLeft,):
(html[dir="ltr"] #toolbarViewerRight,):
(html[dir="ltr"] #toolbarViewerLeft > *,):
(html[dir="rtl"] #toolbarViewerLeft > *,):
(.splitToolbarButton):
(html[dir="ltr"] .splitToolbarButton > .toolbarButton):
(html[dir="rtl"] .splitToolbarButton > .toolbarButton):
(.toolbarButton,):
(.overlayButton:hover,):
(.overlayButton:hover > span,):
(.toolbarButton > span):
(.toolbarButton[disabled],):
(.splitToolbarButton.toggled .toolbarButton):
(.splitToolbarButton > .toolbarButton:hover,):
(.splitToolbarButton > .toolbarButton):
(html[dir="ltr"] .splitToolbarButton > .toolbarButton:first-child,):
(html[dir="ltr"] .splitToolbarButton > .toolbarButton:last-child,):
(.splitToolbarButtonSeparator):
(.findbar .splitToolbarButtonSeparator):
(html[dir="ltr"] .splitToolbarButtonSeparator):
(html[dir="rtl"] .splitToolbarButtonSeparator):
(html[dir="ltr"] #toolbarViewerLeft > .toolbarButton:first-child,):
(html[dir="ltr"] #toolbarViewerRight > .toolbarButton:last-child,):
(.toolbarButton:hover,):
(.secondaryToolbarButton:hover,):
(.toolbarButton.toggled,):
(.secondaryToolbarButton.toggled::before):
(.toolbarButton.toggled::before):
(.toolbarButton.toggled:hover:active,):
(.dropdownToolbarButton):
(.dropdownToolbarButton::after):
(html[dir="ltr"] .dropdownToolbarButton::after):
(html[dir="rtl"] .dropdownToolbarButton::after):
(.dropdownToolbarButton > select):
(html[dir="ltr"] .dropdownToolbarButton > select):
(html[dir="rtl"] .dropdownToolbarButton > select):
(.dropdownToolbarButton > select:hover,):
(.dropdownToolbarButton > select > option):
(#customScaleOption):
(#pageWidthOption):
(.toolbarButtonSpacer):
(.toolbarButton::before,):
(.dropdownToolbarButton:hover::after,):
(.toolbarButton::before):
(.toolbarButton:hover::before,):
(.secondaryToolbarButton::before):
(html[dir="ltr"] .secondaryToolbarButton::before):
(html[dir="rtl"] .secondaryToolbarButton::before):
(.toolbarButton#sidebarToggle::before):
(html[dir="rtl"] .toolbarButton#sidebarToggle::before):
(.toolbarButton#secondaryToolbarToggle::before):
(html[dir="rtl"] .toolbarButton#secondaryToolbarToggle::before):
(.toolbarButton.findPrevious::before):
(.toolbarButton.findNext::before):
(.toolbarButton.pageUp::before):
(.toolbarButton.pageDown::before):
(.toolbarButton.zoomOut::before):
(.toolbarButton.zoomIn::before):
(.toolbarButton.presentationMode::before,):
(.toolbarButton.print::before,):
(.toolbarButton.openFile::before,):
(.toolbarButton.download::before,):
(.secondaryToolbarButton.bookmark):
(.bookmark[href="#"]):
(.toolbarButton.bookmark::before,):
(#viewThumbnail.toolbarButton::before):
(#viewOutline.toolbarButton::before):
(html[dir="rtl"] #viewOutline.toolbarButton::before):
(#viewAttachments.toolbarButton::before):
(#viewLayers.toolbarButton::before):
(#currentOutlineItem.toolbarButton::before):
(html[dir="rtl"] #currentOutlineItem.toolbarButton::before):
(#viewFind.toolbarButton::before):
(.toolbarButton.pdfSidebarNotification::after):
(html[dir="ltr"] .toolbarButton.pdfSidebarNotification::after):
(html[dir="rtl"] .toolbarButton.pdfSidebarNotification::after):
(.secondaryToolbarButton):
(html[dir="ltr"] .secondaryToolbarButton):
(html[dir="rtl"] .secondaryToolbarButton):
(html[dir="ltr"] .secondaryToolbarButton > span):
(html[dir="rtl"] .secondaryToolbarButton > span):
(.secondaryToolbarButton.firstPage::before):
(.secondaryToolbarButton.lastPage::before):
(.secondaryToolbarButton.rotateCcw::before):
(.secondaryToolbarButton.rotateCw::before):
(.secondaryToolbarButton.selectTool::before):
(.secondaryToolbarButton.handTool::before):
(.secondaryToolbarButton.scrollPage::before):
(.secondaryToolbarButton.scrollVertical::before):
(.secondaryToolbarButton.scrollHorizontal::before):
(.secondaryToolbarButton.scrollWrapped::before):
(.secondaryToolbarButton.spreadNone::before):
(.secondaryToolbarButton.spreadOdd::before):
(.secondaryToolbarButton.spreadEven::before):
(.secondaryToolbarButton.documentProperties::before):
(.verticalToolbarSeparator):
(html[dir="ltr"] .verticalToolbarSeparator):
(html[dir="rtl"] .verticalToolbarSeparator):
(.horizontalToolbarSeparator):
(.toolbarField):
(.toolbarField[type="checkbox"]):
(html[dir="ltr"] .toolbarField[type="checkbox"]):
(html[dir="rtl"] .toolbarField[type="checkbox"]):
(.toolbarField.pageNumber):
(.toolbarField.pageNumber.visiblePageIsLoading):
(.toolbarField.pageNumber::-webkit-inner-spin-button,):
(.toolbarField:focus):
(.toolbarLabel):
(html[dir="ltr"] #numPages.toolbarLabel):
(html[dir="rtl"] #numPages.toolbarLabel):
(#thumbnailView):
(#thumbnailView > a:active,):
(.thumbnail):
(html[dir="ltr"] .thumbnail):
(html[dir="rtl"] .thumbnail):
(#thumbnailView > a:last-of-type > .thumbnail):
(#thumbnailView > a:last-of-type > .thumbnail:not([data-loaded])):
(.thumbnail:not([data-loaded])):
(.thumbnailImage):
(.thumbnailSelectionRing):
(a:focus > .thumbnail > .thumbnailSelectionRing > .thumbnailImage,):
(a:focus > .thumbnail > .thumbnailSelectionRing,):
(.thumbnail.selected > .thumbnailSelectionRing > .thumbnailImage):
(.thumbnail.selected > .thumbnailSelectionRing):
(#outlineView,):
(html[dir="ltr"] .treeWithDeepNesting > .treeItem,):
(html[dir="rtl"] .treeWithDeepNesting > .treeItem,):
(.treeItem > a):
(html[dir="ltr"] .treeItem > a):
(html[dir="rtl"] .treeItem > a):
(#layersView .treeItem > a > *):
(html[dir="ltr"] #layersView .treeItem > a > label):
(html[dir="rtl"] #layersView .treesItem > a > label):
(.treeItemToggler):
(.treeItemToggler::before):
(.treeItemToggler.treeItemsHidden::before):
(html[dir="rtl"] .treeItemToggler.treeItemsHidden::before):
(.treeItemToggler.treeItemsHidden ~ .treeItems):
(html[dir="ltr"] .treeItemToggler):
(html[dir="rtl"] .treeItemToggler):
(html[dir="ltr"] .treeItemToggler::before):
(html[dir="rtl"] .treeItemToggler::before):
(.treeItem.selected > a):
(.treeItemToggler:hover,):
(::-moz-selection):
(::selection):
(#errorWrapper):
(#errorMessageLeft):
(#errorMessageRight):
(#errorMoreInfo):
(.overlayButton):
(#overlayContainer):
(#overlayContainer > *):
(#overlayContainer > .container):
(#overlayContainer > .container > .dialog):
(.dialog > .row):
(.dialog > .row > *):
(.dialog .toolbarField):
(.dialog .separator):
(.dialog .buttonRow):
(.dialog :link):
(#passwordOverlay > .dialog):
(#passwordOverlay .toolbarField):
(#documentPropertiesOverlay > .dialog):
(#documentPropertiesOverlay .row > *):
(html[dir="ltr"] #documentPropertiesOverlay .row > *):
(html[dir="rtl"] #documentPropertiesOverlay .row > *):
(#documentPropertiesOverlay .row > span):
(#documentPropertiesOverlay .row > p):
(#documentPropertiesOverlay .buttonRow):
(.clearBoth):
(.fileInput):
(#PDFBug):
(#PDFBug .controls):
(#PDFBug .panels):
(#PDFBug .panels > div):
(#PDFBug button.active):
(.debuggerShowText):
(.debuggerHideText:hover):
(#PDFBug .stats):
(#PDFBug .stats .title):
(#PDFBug table):
(#PDFBug table.showText):
(#PDFBug table.showText,):
(#PDFBug table.showText td.advance):
(#viewer.textLayer-visible .textLayer):
(#viewer.textLayer-visible .canvasWrapper):
(#viewer.textLayer-visible .canvasWrapper canvas):
(#viewer.textLayer-visible .textLayer span):
(#viewer.textLayer-hover .textLayer span:hover):
(#viewer.textLayer-shadow .textLayer span):
(.grab-to-pan-grab):
(.grab-to-pan-grab:active,):
(@page):
(#printContainer):
(@media print body):
(@media print #sidebarContainer,):
(@media print #viewerContainer):
(@media print #mainContainer,):
(@media print .page):
(@media print .page[data-loaded]):
(@media print .fileInput):
(@media print body[data-pdfjsprinting] #outerContainer):
(@media print body[data-pdfjsprinting] #printContainer):
(@media print #printContainer):
(@media print #printContainer > .printedPage):
(@media print #printContainer > .xfaPrintedPage .xfaPage):
(@media print #printContainer > .xfaPrintedPage):
(@media print #printContainer > .printedPage canvas,):
(.visibleLargeView,):
(@media all and (max-width: 900px) #toolbarViewerMiddle):
(@media all and (max-width: 840px) #sidebarContainer):
(@media all and (max-width: 840px) html[dir="ltr"] #outerContainer.sidebarOpen #viewerContainer):
(@media all and (max-width: 840px) html[dir="rtl"] #outerContainer.sidebarOpen #viewerContainer):
(@media all and (max-width: 840px) #outerContainer .hiddenLargeView,):
(@media all and (max-width: 840px) #outerContainer .visibleLargeView,):
(@media all and (max-width: 770px) #outerContainer .hiddenLargeView):
(@media all and (max-width: 770px) #outerContainer .visibleLargeView):
(@media all and (max-width: 700px) #outerContainer .hiddenMediumView):
(@media all and (max-width: 700px) #outerContainer .visibleMediumView):
(@media all and (max-width: 640px) .hiddenSmallView,):
(@media all and (max-width: 640px) .visibleSmallView):
(@media all and (max-width: 640px) .toolbarButtonSpacer):
(@media all and (max-width: 640px) html[dir="ltr"] .findbar):
(@media all and (max-width: 640px) html[dir="rtl"] .findbar):
(@media all and (max-width: 535px) #scaleSelectContainer):
- pdfjs/web/viewer.html: Added.
- pdfjs/web/viewer.js: Added.
(exports.checkOnBlobSupport):
(exports.checkCanvasSizeLimitation):
(exports.AppOptions):
(exports.AppOptions.get const):
(exports.AppOptions.getAll):
(exports.AppOptions.set userOptions):
(exports.AppOptions.remove):
(exports.AppOptions._hasUserOptions):
(webpack_require.DefaultExternalServices):
(webpack_require.DefaultExternalServices.updateFindControlState):
(webpack_require.DefaultExternalServices.updateFindMatchesCount):
(webpack_require.DefaultExternalServices.initPassiveLoading):
(webpack_require.DefaultExternalServices.async fallback):
(webpack_require.DefaultExternalServices.reportTelemetry):
(webpack_require.DefaultExternalServices.createDownloadManager):
(webpack_require.DefaultExternalServices.createPreferences):
(webpack_require.DefaultExternalServices.createL10n):
(webpack_require.DefaultExternalServices.createScripting):
(webpack_require.DefaultExternalServices.get supportsIntegratedFind):
(webpack_require.DefaultExternalServices.get supportsDocumentFonts):
(webpack_require.DefaultExternalServices.get supportedMouseWheelZoomModifierKeys):
(webpack_require.DefaultExternalServices.get isInAutomation):
(webpack_require.const.PDFViewerApplication.async initialize):
(webpack_require.const.PDFViewerApplication.async _readPreferences):
(webpack_require.const.PDFViewerApplication.async _parseHashParameters):
(webpack_require.const.PDFViewerApplication.async _initializeL10n):
(webpack_require.const.PDFViewerApplication._forceCssTheme):
(webpack_require.const.PDFViewerApplication.async _initializeViewerComponents):
(webpack_require.const.PDFViewerApplication.run):
(webpack_require.const.PDFViewerApplication.get initialized):
(webpack_require.const.PDFViewerApplication.get initializedPromise):
(webpack_require.const.PDFViewerApplication.zoomIn):
(webpack_require.const.PDFViewerApplication.zoomOut):
(webpack_require.const.PDFViewerApplication.zoomReset):
(webpack_require.const.PDFViewerApplication.get pagesCount):
(webpack_require.const.PDFViewerApplication.get page):
(webpack_require.const.PDFViewerApplication.set page):
(webpack_require.const.PDFViewerApplication.get supportsPrinting):
(webpack_require.const.PDFViewerApplication.get supportsFullscreen):
(webpack_require.const.PDFViewerApplication.get supportsIntegratedFind):
(webpack_require.const.PDFViewerApplication.get supportsDocumentFonts):
(webpack_require.const.PDFViewerApplication.get loadingBar):
(webpack_require.const.PDFViewerApplication.get supportedMouseWheelZoomModifierKeys):
(webpack_require.const.PDFViewerApplication.initPassiveLoading):
(webpack_require.const.PDFViewerApplication.setTitleUsingUrl):
(webpack_require.const.PDFViewerApplication.setTitle):
(webpack_require.const.PDFViewerApplication.get _docFilename):
(webpack_require.const.PDFViewerApplication._hideViewBookmark):
(webpack_require.const.PDFViewerApplication._cancelIdleCallbacks):
(webpack_require.const.PDFViewerApplication.async close):
(webpack_require.const.PDFViewerApplication.async open):
(webpack_require.const.PDFViewerApplication._ensureDownloadComplete):
(webpack_require.const.PDFViewerApplication.async download):
(webpack_require.const.PDFViewerApplication.):
(webpack_require.):
(webpack_require):
- 2:17 PM Changeset in webkit [289575] by
-
- 10 edits in trunk
[GTK][WPE] Improve device detection in the GbmDevice
https://bugs.webkit.org/show_bug.cgi?id=236436
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-10
Reviewed by Chris Lord.
.:
- Source/cmake/OptionsGTK.cmake: Search for drm and gbm libraries
when compiling WebGL ANGLE support.
- Source/cmake/OptionsWPE.cmake: Ditto.
Source/WebCore:
Use DRM library to detect the device location to create the gbm
device object.
No new tests, no change in behaviour.
- PlatformGTK.cmake: Add gbm and drm include directories and
libraries to the compilation.
- PlatformWPE.cmake: Ditto.
- platform/graphics/angle/GraphicsContextGLANGLE.h: Avoid storing
a pointer to the gdb device, to make sure it is just in one place,
- platform/graphics/gbm/GBMDevice.cpp:
(WebCore::GBMDevice::GBMDevice): Use the new getDeviceFd function
to open the device file. We just create the gbm device here.
(WebCore::GBMDevice::getDeviceFd): Added. Uses drm library to look
for the device file name and opens it.
- platform/graphics/gbm/GBMDevice.h: Ditto
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE): Remove
the direct pointer to the gdb device, just request it when required.
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::EGLImageBacking): Ditto.
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::reset): Ditto.
- 2:09 PM Changeset in webkit [289574] by
-
- 3 edits in trunk/LayoutTests
Make accessibility/mac/line-index-for-textmarker.html run faster.
https://bugs.webkit.org/show_bug.cgi?id=236451
<rdar://problem/88763847>
Reviewed by Chris Fleizach.
The main cause of slowness seems to be the high number of calls to
debug(). So now it builds the output string and call debug() just once.
- accessibility/mac/line-index-for-textmarker-expected.txt:
- accessibility/mac/line-index-for-textmarker.html:
- 2:06 PM Changeset in webkit [289573] by
-
- 5 edits in trunk/Source
Unreviewed, reverting r289485.
Internal SDKs not quiiiite ready yet
Reverted changeset:
"Move Safe Browsing knowledge into SafariSafeBrowsing
framework"
https://bugs.webkit.org/show_bug.cgi?id=231692
https://commits.webkit.org/r289485
- 1:09 PM Changeset in webkit [289572] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Adjust bidi (and mostly RTL) coords to support vertical writing mode
https://bugs.webkit.org/show_bug.cgi?id=236413
Reviewed by Antti Koivisto.
Add more coordinate flips to the bidi codepath to support vertical writing mode.
- layout/formattingContexts/inline/display/InlineDisplayBox.h:
(WebCore::InlineDisplay::Box::setRight):
(WebCore::InlineDisplay::Box::setTop):
(WebCore::InlineDisplay::Box::setBottom):
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox): Convert "inline direction visual, but writing mode logical" coordinates to final.
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::flipLogicalRectToVisualForWritingMode const):
(WebCore::Layout::InlineDisplayContentBuilder::setLeftForWritingMode const):
(WebCore::Layout::InlineDisplayContentBuilder::setRightForWritingMode const):
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
- 12:36 PM Changeset in webkit [289571] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
Update fuzzy data based on EWS results to support b231828.
- css3/color-filters/color-filter-color-property-list-item.html:
- 12:29 PM Changeset in webkit [289570] by
-
- 7 edits in branches/safari-613.1.16.1-branch/Source/WebCore
Cherry-pick r289383. rdar://problem/88366849
[WebCore] JSValueInWrappedObject is not correct for concurrent GC
https://bugs.webkit.org/show_bug.cgi?id=236277
rdar://88366849
Reviewed by Saam Barati.
JSValueInWrappedObject is broken for concurrent GC's marking. It is using std::variant<> to store Weak / JSValue,
which is not safe if concurrent GC reads it while changing that std::variant. This patch fixes several problems
in JSValueInWrappedObject.
- We must not use std::variant here since concurrent access can happen. We have both JSValue and Weak, and change Weak after fully initialize WeakImpl's content in Weak. To ensure that, we emit storeStoreBarrier before setting Weak to the JSValueInWrappedObject's field.
- Assignment operator & copy constructor are basically wrong for this class as we need a write-barrier to set a value to the field. We remove them and make it explicit that we do not have write-barrier, which reveals that IDBRequest has a semantic bug.
- We also add clear() instead of assigning empty JSValueInWrappedObject. And we ensure that this new clear() works well with concurrent GC threads: we clear the underlying WeakImpl* pointer to nullptr. But since WeakImpl* is kept alive until GC clears weak-related things in its end phase, concurrent GC thread can access the old WeakImpl*.
- Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBRequest.cpp: (WebCore::IDBRequest::setResult): (WebCore::IDBRequest::setResultToStructuredClone): (WebCore::IDBRequest::setResultToUndefined): (WebCore::IDBRequest::willIterateCursor): (WebCore::IDBRequest::didOpenOrIterateCursor):
- Modules/paymentrequest/PaymentMethodChangeEvent.cpp:
- Modules/paymentrequest/PaymentResponse.cpp: (WebCore::PaymentResponse::setDetailsFunction):
- Modules/webaudio/AudioBuffer.cpp: (WebCore::AudioBuffer::getChannelData): (WebCore::AudioBuffer::visitChannelWrappers):
- bindings/js/JSValueInWrappedObject.h: (WebCore::JSValueInWrappedObject::JSValueInWrappedObject): (WebCore::JSValueInWrappedObject::operator JSC::JSValue const): (WebCore::JSValueInWrappedObject::visit const): (WebCore::JSValueInWrappedObject::setWeakly): (WebCore::JSValueInWrappedObject::set): (WebCore::JSValueInWrappedObject::clear): (WebCore::JSValueInWrappedObject::setWithoutBarrier): (WebCore::cachedPropertyValue): (WebCore::JSValueInWrappedObject::makeValue): Deleted. (WebCore::JSValueInWrappedObject::operator=): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:27 PM Changeset in webkit [289569] by
-
- 21 edits2 copies in branches/safari-613.1.16.0-branch
Cherry-pick r289159. rdar://problem/88366590
Thread suspend and resume should take a global lock to avoid deadlock
https://bugs.webkit.org/show_bug.cgi?id=236159
Reviewed by Geoffrey Garen.
Source/bmalloc:
Introduce pas_thread_suspend_lock and take it when suspending and resuming threads.
- CMakeLists.txt:
- bmalloc.xcodeproj/project.pbxproj:
- libpas/src/libpas/pas_scavenger.c: (scavenger_thread_main): (pas_scavenger_clear_all_caches):
- libpas/src/libpas/pas_thread_local_cache.c: (pas_thread_local_cache_for_all):
- libpas/src/libpas/pas_thread_local_cache.h:
- libpas/src/libpas/pas_thread_suspend_lock.c: Copied from Source/WTF/wtf/ThreadMessage.cpp.
- libpas/src/libpas/pas_thread_suspend_lock.h: Copied from Source/WTF/wtf/ThreadMessage.cpp.
Source/JavaScriptCore:
- heap/MachineStackMarker.cpp: (JSC::MachineThreads::tryCopyOtherThreadStack): (JSC::MachineThreads::tryCopyOtherThreadStacks):
- heap/MachineStackMarker.h:
- runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::takeSample):
- runtime/VMTraps.cpp:
- wasm/WasmMachineThreads.cpp: (JSC::Wasm::resetInstructionCacheOnAllThreads):
Source/WTF:
This patch introduces a global lock which should be taken while suspending and resuming a thread.
It is possible that two different threads suspend and resume threads. And if threads suspend
each other without critical section, it can cause a dead lock.
To avoid this problem, we introduce a global lock which should be taken when suspending and resuming
threads. Since libpas is also using thread suspension, we expose a global pas_thread_suspend_lock
when libpas is used, and we use this lock in WTF's Thread suspension code.
- wtf/ThreadMessage.cpp: (WTF::sendMessageScoped):
- wtf/ThreadMessage.h: (WTF::sendMessage):
- wtf/Threading.cpp: (WTF::ThreadSuspendLocker::ThreadSuspendLocker): (WTF::ThreadSuspendLocker::~ThreadSuspendLocker):
- wtf/Threading.h:
- wtf/posix/ThreadingPOSIX.cpp: (WTF::Thread::suspend): (WTF::Thread::resume): (WTF::Thread::getRegisters):
- wtf/win/ThreadingWin.cpp: (WTF::Thread::suspend): (WTF::Thread::resume): (WTF::Thread::getRegisters):
Tools:
- TestWebKitAPI/Tests/WTF/ThreadMessages.cpp: (runThreadMessageTest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:27 PM Changeset in webkit [289568] by
-
- 2 edits in branches/safari-613.1.16.0-branch/Source/bmalloc
Cherry-pick r289145. rdar://problem/88366590
[libpas] Use os_unfair_lock instead of spinlock
https://bugs.webkit.org/show_bug.cgi?id=236158
Reviewed by Geoffrey Garen.
os_unfair_lock is very fast while it can properly suspend threads.
A/B test result was neutral on Speedometer2 and JetStream2. So, to
reduce unnecessary CPU spins, let's replace spinlock with os_unfair_lock
if it is supported (if OS is Darwin).
- libpas/src/libpas/pas_config.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:23 PM Changeset in webkit [289567] by
-
- 3 edits in trunk/Source/WebCore
Crash in in WebCore::CSSStyleSheet::didMutateRules
https://bugs.webkit.org/show_bug.cgi?id=236450
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Replace the raw pointer rule in RuleMutationScope with a RefPtr so it can be accessible
for the scope.
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- css/CSSStyleSheet.h:
- 12:13 PM Changeset in webkit [289566] by
-
- 11 edits2 adds in trunk/Source/WebKit
Apply default sandbox to webpushd on Mac
https://bugs.webkit.org/show_bug.cgi?id=236342
Reviewed by Per Arne Vollan.
This applies a default sandbox profile that allows and logs all operations by webpushd on
the Mac. In future patches we'll tighten the sandbox based on the sandbox logs that we
receive.
To do this, I refactored the sandbox initialization logic in AuxiliaryProcess so that it can
be called without creating an AuxiliaryProcess instance. This probably should be refactored
further (e.g. since webpushd isn't an AuxiliaryProcess, but rather a system daemon). But I
wanted to keep the amount of refactoring low for now while we're still figuring things out.
We also do not currently support compiling and caching the sandbox profiles. We'll add that
support later.
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- PlatformMac.cmake:
- Shared/AuxiliaryProcess.cpp:
(WebKit::applySandboxProfileForDaemon):
- Shared/AuxiliaryProcess.h:
- Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::getUserDirectorySuffix):
(WebKit::populateSandboxInitializationParameters):
(WebKit::AuxiliaryProcess::initializeSandbox):
(WebKit::AuxiliaryProcess::applySandboxProfileForDaemon):
- WebKit.xcodeproj/project.pbxproj:
- webpushd/WebPushDaemonMain.mm:
(WebKit::applySandbox):
(WebKit::WebPushDaemonMain):
- webpushd/mac/com.apple.WebKit.webpushd.sb.in: Added.
- 11:56 AM Changeset in webkit [289565] by
-
- 9 edits in branches/safari-613.1.16.0-branch/Source
Versioning.
WebKit-7613.1.16.0.6
- 11:50 AM Changeset in webkit [289564] by
-
- 9 edits in branches/safari-613.1.16.1-branch/Source
Versioning.
WebKit-7613.1.16.1.6
- 11:49 AM Changeset in webkit [289563] by
-
- 3 edits4 adds in branches/safari-613-branch
Cherry-pick r289498. rdar://problem/88635487
Dialog element only animates once
https://bugs.webkit.org/show_bug.cgi?id=236274
rdar://88635487
Reviewed by Tim Nguyen and Dean Jackson.
LayoutTests/imported/w3c:
Add two new tests that check that we correctly start, stop and resume animations on <dialog>
and ::backdrop as a <dialog> element is open, closed and open again.
- web-platform-tests/css/css-animations/dialog-animation-expected.txt: Added.
- web-platform-tests/css/css-animations/dialog-animation.html: Added.
- web-platform-tests/css/css-animations/dialog-backdrop-animation-expected.txt: Added.
- web-platform-tests/css/css-animations/dialog-backdrop-animation.html: Added.
- web-platform-tests/css/css-animations/support/testcommon.js: (addElement): (addDiv):
Source/WebCore:
Two issues related to CSS Animation surfaced in this bug which animates both <dialog>
and its ::backdrop as the dialog is open and eventually re-opened.
The first issue was that we didn't clear all CSS Animations state when a <dialog> was
closed and its style was set todisplay: none. We now use the clearCSSAnimationsForStyleable()
function (static so that it's not exposed on the Styleable struct) to correctly clear
such state both when we identify a Styleable is newly gettingdisplay: noneand when
cancelDeclarativeAnimations() was called. This allows us to remove removeCSSAnimationCreatedByMarkup()
a fair bit of work to clear CSS Animation state per-animation when we only ever used that
function for _all_ animations.
The second issue was that we never called cancelDeclarativeAnimations() for ::backdrop.
We now do that inside of Element::removeFromTopLayer() at a point where the code in
Styleable::fromRenderer() will still work as the element will still be contained in
Document::topLayerElements().
Tests: imported/w3c/web-platform-tests/css/css-animations/dialog-animation.html
imported/w3c/web-platform-tests/css/css-animations/dialog-backdrop-animation.html
- dom/Element.cpp: (WebCore::Element::removeFromTopLayer):
- style/Styleable.cpp: (WebCore::clearCSSAnimationsForStyleable): (WebCore::Styleable::cancelDeclarativeAnimations const): (WebCore::Styleable::updateCSSAnimations const): (WebCore::removeCSSAnimationCreatedByMarkup): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:49 AM Changeset in webkit [289562] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore/rendering
Cherry-pick r289437. rdar://problem/86153015
Grid may be empty in certain scenarios
https://bugs.webkit.org/show_bug.cgi?id=234578
Patch by Brandon Stewart <Brandon> on 2022-02-08
Reviewed by Darin Adler.
Add check to handle legend elements when inside a CSS Grid. The legend element should not be
added to aspectRatioBlockSizeDependentGridItems.
- rendering/RenderGrid.cpp: (WebCore::RenderGrid::layoutBlock):
- rendering/RenderGrid.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289437 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:49 AM Changeset in webkit [289561] by
-
- 2 edits2 adds in branches/safari-613-branch
Cherry-pick r289241. rdar://problem/85727334
Updating grid gap value does not recalculate styles
https://bugs.webkit.org/show_bug.cgi?id=233252
<rdar://problem/85727334>
Reviewed by Simon Fraser.
Source/WebCore:
Both column and row gap style value change need to initiate layout in order to update their geometries.
Test: fast/dynamic/gap-style-change-should-initiate-layout.html
- rendering/style/RenderStyle.cpp: (WebCore::rareNonInheritedDataChangeRequiresLayout):
LayoutTests:
- fast/dynamic/gap-style-change-should-initiate-layout-expected.html: Added.
- fast/dynamic/gap-style-change-should-initiate-layout.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:49 AM Changeset in webkit [289560] by
-
- 9 edits7 adds in branches/safari-613-branch
Cherry-pick r288434. rdar://problem/56436745
texImage2d fails to set same video frame to multiple textures
https://bugs.webkit.org/show_bug.cgi?id=203148
<rdar://problem/56436745>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-24
Reviewed by Darin Adler.
Source/WebCore:
WebGL optimizes repeated video uploads to same texture, due to this being
usual practice among pages. Reason is that there are no API to know when the
video frame updates.
The algorithm was:
- If the IOSurface is the same as in the last call
- If the texture contents has not changed since we last modified this texture then skip the upload.
However, this logic skips errorneously if the "last call" updates some other texture.
Fix and test the above.
There are other issues for the current algorithm. This patch fixes some other theoretical ones:
- If the texture is deleted and new one gets assigned the same texture id and the content seed would clash
- Video was uploaded to a different level
The previous implementation was keeping per-texture seed value map in the context
(GraphicsContextGLANGLE) and per-teture seed value map in the texture upload helper
(GraphicsContextGLCVCocoa) and last uploaded IOSurface seed in the upload helper (not per
texture).
The implementation in this patch keeps per-texture known content description in the texture
upload helper and invalidates this when each texture changes. The known content description
is the parameter list of the texture upload call.
Test: webgl/pending/conformance/textures/misc/tex-image-video-repeated.html
- platform/graphics/GraphicsContextGLState.h: (WebCore::GraphicsContextGLState::setBoundTexture):
- platform/graphics/angle/GraphicsContextGLANGLE.cpp: (WebCore::GraphicsContextGLANGLE::texImage2D): (WebCore::GraphicsContextGLANGLE::texSubImage2D): (WebCore::GraphicsContextGLANGLE::compressedTexImage2D): (WebCore::GraphicsContextGLANGLE::compressedTexSubImage2D): (WebCore::GraphicsContextGLANGLE::texStorage2D): (WebCore::GraphicsContextGLANGLE::texStorage3D): (WebCore::GraphicsContextGLANGLE::texImage2DDirect): (WebCore::GraphicsContextGLANGLE::framebufferTexture2D): (WebCore::GraphicsContextGLANGLE::createTexture): (WebCore::GraphicsContextGLANGLE::deleteTexture): (WebCore::GraphicsContextGLANGLE::invalidateKnownTextureContent): (WebCore::GraphicsContextGLANGLE::textureSeed): Deleted.
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::GraphicsContextGLCocoa::invalidateKnownTextureContent):
- platform/graphics/cv/GraphicsContextGLCVCocoa.cpp: (WebCore::GraphicsContextGLCVCocoa::TextureContent::operator== const): (WebCore::GraphicsContextGLCVCocoa::copyVideoSampleToTexture): (WebCore::GraphicsContextGLCVCocoa::invalidateKnownTextureContent):
- platform/graphics/cv/GraphicsContextGLCVCocoa.h:
LayoutTests:
Add a test for testing the bug in which some video texture uploads
were skipped errorneously.
- webgl/pending/conformance/textures/misc/tex-image-video-repeated.html: Added.
- webgl/pending/conformance/textures/misc/tex-image-video-repeated-expected.txt: Added.
- webgl/pending/resources/webgl_test_files/conformance/textures/misc/tex-image-video-repeated.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:41 AM Changeset in webkit [289559] by
-
- 2 edits in trunk
Unreviewed, update my (Tim Nguyen) status to reviewer
- metadata/contributors.json:
- 11:36 AM Changeset in webkit [289558] by
-
- 53 edits3 copies53 adds29 deletes in trunk
Resync web-platform-tests/service-workers from upstream
https://bugs.webkit.org/show_bug.cgi?id=236380
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Resync web-platform-tests/service-workers from upstream 012f446eafc392c7.
- web-platform-tests/interfaces/service-workers.idl: Updated.
- web-platform-tests/service-workers/*: Updated.
Tools:
Fix import of WPT tests with
global=serviceworker-module.
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.init):
LayoutTests:
- TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/websocket-in-service-worker.https-expected.txt:
- tests-options.json:
- 11:12 AM Changeset in webkit [289557] by
-
- 17 edits2 copies in branches/safari-613-branch
Cherry-pick r289159. rdar://problem/88366590
Thread suspend and resume should take a global lock to avoid deadlock
https://bugs.webkit.org/show_bug.cgi?id=236159
Reviewed by Geoffrey Garen.
Source/bmalloc:
Introduce pas_thread_suspend_lock and take it when suspending and resuming threads.
- CMakeLists.txt:
- bmalloc.xcodeproj/project.pbxproj:
- libpas/src/libpas/pas_scavenger.c: (scavenger_thread_main): (pas_scavenger_clear_all_caches):
- libpas/src/libpas/pas_thread_local_cache.c: (pas_thread_local_cache_for_all):
- libpas/src/libpas/pas_thread_local_cache.h:
- libpas/src/libpas/pas_thread_suspend_lock.c: Copied from Source/WTF/wtf/ThreadMessage.cpp.
- libpas/src/libpas/pas_thread_suspend_lock.h: Copied from Source/WTF/wtf/ThreadMessage.cpp.
Source/JavaScriptCore:
- heap/MachineStackMarker.cpp: (JSC::MachineThreads::tryCopyOtherThreadStack): (JSC::MachineThreads::tryCopyOtherThreadStacks):
- heap/MachineStackMarker.h:
- runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::takeSample):
- runtime/VMTraps.cpp:
- wasm/WasmMachineThreads.cpp: (JSC::Wasm::resetInstructionCacheOnAllThreads):
Source/WTF:
This patch introduces a global lock which should be taken while suspending and resuming a thread.
It is possible that two different threads suspend and resume threads. And if threads suspend
each other without critical section, it can cause a dead lock.
To avoid this problem, we introduce a global lock which should be taken when suspending and resuming
threads. Since libpas is also using thread suspension, we expose a global pas_thread_suspend_lock
when libpas is used, and we use this lock in WTF's Thread suspension code.
- wtf/ThreadMessage.cpp: (WTF::sendMessageScoped):
- wtf/ThreadMessage.h: (WTF::sendMessage):
- wtf/Threading.cpp: (WTF::ThreadSuspendLocker::ThreadSuspendLocker): (WTF::ThreadSuspendLocker::~ThreadSuspendLocker):
- wtf/Threading.h:
- wtf/posix/ThreadingPOSIX.cpp: (WTF::Thread::suspend): (WTF::Thread::resume): (WTF::Thread::getRegisters):
- wtf/win/ThreadingWin.cpp: (WTF::Thread::suspend): (WTF::Thread::resume): (WTF::Thread::getRegisters):
Tools:
- TestWebKitAPI/Tests/WTF/ThreadMessages.cpp: (runThreadMessageTest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:12 AM Changeset in webkit [289556] by
-
- 1 edit in branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_config.h
Cherry-pick r289145. rdar://problem/88366590
[libpas] Use os_unfair_lock instead of spinlock
https://bugs.webkit.org/show_bug.cgi?id=236158
Reviewed by Geoffrey Garen.
os_unfair_lock is very fast while it can properly suspend threads.
A/B test result was neutral on Speedometer2 and JetStream2. So, to
reduce unnecessary CPU spins, let's replace spinlock with os_unfair_lock
if it is supported (if OS is Darwin).
- libpas/src/libpas/pas_config.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:10 AM Changeset in webkit [289555] by
-
- 4 edits in branches/safari-613-branch/Source
Cherry-pick r288970. rdar://problem/88459807
Update computation of FAST_TLS base.
https://bugs.webkit.org/show_bug.cgi?id=235934
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::loadFromTLS32): (JSC::MacroAssemblerARM64::loadFromTLS64): (JSC::MacroAssemblerARM64::storeToTLS32): (JSC::MacroAssemblerARM64::storeToTLS64):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::keyForCurrentThread):
- offlineasm/arm64.rb:
Source/WTF:
- wtf/PlatformHave.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:07 AM Changeset in webkit [289554] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r289529 - [GTK] Scrollbars painted incorrectly if theme enables steppers (steppers misplaced on vertical scrollbars, horizontal scrollbars very broken)
https://bugs.webkit.org/show_bug.cgi?id=234871
Reviewed by Carlos Garcia Campos.
Actually use the scrollbar orientation when creating its contents,
instead of always using vertical.
- platform/gtk/RenderThemeScrollbar.cpp:
(WebCore::RenderThemeScrollbar::RenderThemeScrollbar):
- 11:06 AM WebKitGTK/2.34.x edited by
- (diff)
- 10:46 AM Changeset in webkit [289553] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, update BundleResourceLoader WorkQueue identifier
Address Alex's review comment in bug 236062.
- loader/cocoa/BundleResourceLoader.mm:
(WebCore::BundleResourceLoader::loadQueue):
- 10:32 AM Changeset in webkit [289552] by
-
- 18 edits in trunk/Source
Support
WebPageProxy::replaceSelectionWithPasteboardData()on iOS
https://bugs.webkit.org/show_bug.cgi?id=236406
Reviewed by Tim Horton.
Source/WebCore:
Move the definition of
readSelectionFromPasteboardfrom EditorMac.mm to EditorCocoa.mm.
No change in behavior (yet).
- editing/Editor.h:
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::readSelectionFromPasteboard):
- editing/mac/EditorMac.mm:
(WebCore::Editor::readSelectionFromPasteboard): Deleted.
Move this into EditorCocoa.mm.
Source/WebKit:
In preparation for an upcoming patch, make
WebPageProxy::replaceSelectionWithPasteboardData()(as well as all
downstream codepaths) available on all Cocoa platforms. This is currently macOS-specific, and only used for
service controls (i.e. inserting content via sharing picker API).
- Sources.txt:
- SourcesCocoa.txt:
Move WebPasteboardOverrides.cpp from SourcesCocoa to Sources, now that there are non-Cocoa-specific codepaths in
WebPlatformStrategies that exercise this class.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::replaceSelectionWithPasteboardData):
- UIProcess/WebPageProxy.h:
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::replaceSelectionWithPasteboardData): Deleted.
Move this into WebPageProxyCocoa.mm.
- WebProcess/WebCoreSupport/WebPasteboardOverrides.cpp:
(WebKit::WebPasteboardOverrides::overriddenInfo):
- WebProcess/WebCoreSupport/WebPasteboardOverrides.h:
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::getPasteboardItemsCount):
(WebKit::WebPlatformStrategies::allPasteboardItemInfo):
(WebKit::WebPlatformStrategies::informationForItemAtIndex):
(WebKit::WebPlatformStrategies::readBufferFromPasteboard):
Add additional support for returning canned data from
WebPasteboardOverrides::sharedPasteboardOverrides()in
pasteboard reading codepaths that are exercised byWebCore::Pasteboardon iOS.
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::replaceSelectionPasteboardName):
(WebKit::WebPage::replaceSelectionWithPasteboardData):
(WebKit::WebPage::readSelectionFromPasteboard):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::readSelectionFromPasteboard): Deleted.
Delete this unimplemented method stub.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::replaceSelectionPasteboardName): Deleted.
Move this into WebPageCocoa.mm.
(WebKit::WebPage::replaceSelectionWithPasteboardData): Deleted.
(WebKit::WebPage::readSelectionFromPasteboard): Deleted.
- 10:29 AM Changeset in webkit [289551] by
-
- 2 edits in branches/safari-614.1.3-branch/Source/WebKit
Cherry-pick r289436. rdar://problem/87908259
[WebAuthn] Use AuthenticationServicesAgent for WebAuthn calls on iOS
https://bugs.webkit.org/show_bug.cgi?id=236151
rdar://87908259
Reviewed by Brent Fulgham.
This patch starts using the ASC apis to make WebAuthn calls on iOS the
same way they are made on macOS. Some cleanup work will be needed to
deprecate the WebAuthn process after this change is made.
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: (WebKit::WebAuthenticatorCoordinatorProxy::performRequest): Deleted. (WebKit::WebAuthenticatorCoordinatorProxy::isUserVerifyingPlatformAuthenticatorAvailable): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289436 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:54 AM Changeset in webkit [289550] by
-
- 3 edits in trunk/LayoutTests
Unskip App Privacy Report tests in open source now that EWS is updated
https://bugs.webkit.org/show_bug.cgi?id=232251
Unreviewed. Unskip iOS 15 tests now that EWS is updated.
- TestExpectations:
- platform/ios-wk2/TestExpectations:
- 9:49 AM Changeset in webkit [289549] by
-
- 12 edits2 adds in trunk/Source
Add webkit-pdfjs-viewer scheme for PDF.js resources
https://bugs.webkit.org/show_bug.cgi?id=236062
Reviewed by Youenn Fablet.
The code handling the scheme is under WebCore::BundleResourceLoader.
It reads files from the pdfjs/ sub-folder in the WebCore.framework resources folder.
Right now, this sub-folder does not exist yet, but this scheme can be tested by manually populating it.
Bug 235981 will take care of populating this folder at build-time.
Note: This scheme can only be loaded inside a PDFDocument <iframe>
Source/WebCore:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/PDFDocument.cpp:
(WebCore::PDFDocument::createDocumentStructure):
- loader/cocoa/BundleResourceLoader.mm: Added
- loader/cocoa/BundleResourceLoader.h: Added
- loader/PolicyChecker.cpp:
(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::isPDFJSResourceLoad const):
- loader/ResourceLoader.h:
- loader/SubresourceLoader.h:
- platform/LegacySchemeRegistry.cpp:
(WebCore::builtinSecureSchemes):
Source/WebKit:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::tryLoadingUsingPDFJSHandler):
- WebProcess/Network/WebLoaderStrategy.h:
- 9:46 AM Changeset in webkit [289548] by
-
- 9 edits in trunk/LayoutTests
Unreviewed gardening.
LayoutTests/imported/w3c:
Add fuzzy data based on EWS results to support b231828.
- web-platform-tests/css/motion/offset-rotate-004.html:
LayoutTests:
Add or update fuzzy data based on EWS results to support b231828.
- css3/color-filters/color-filter-color-property-list-item.html:
- css3/color-filters/color-filter-text-decoration-shadow.html:
- css3/filters/backdrop/backdrop-filter-uneven-corner-radii.html:
- css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection-remove.html:
- fast/borders/hidpi-border-radius-with-subpixel-margin-not-renderable.html:
- fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html:
- 9:46 AM Changeset in webkit [289547] by
-
- 6 edits in trunk/Source/WebCore
[macOS] Support both versions of ScreenCaptureKit API
https://bugs.webkit.org/show_bug.cgi?id=236422
<rdar://problem/88726849>
Reviewed by Youenn Fablet.
Source/WebCore:
Tested manually.
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.h:
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
(-[WebCoreScreenCaptureKitHelper initWithCallback:]):
(-[WebCoreScreenCaptureKitHelper stream:didOutputSampleBuffer:ofType:]):
(WebCore::ScreenCaptureKitCaptureSource::ScreenCaptureKitCaptureSource):
(WebCore::ScreenCaptureKitCaptureSource::stop):
(WebCore::ScreenCaptureKitCaptureSource::streamConfiguration):
(WebCore::ScreenCaptureKitCaptureSource::startContentStream):
(WebCore::ScreenCaptureKitCaptureSource::updateStreamConfiguration):
(WebCore::ScreenCaptureKitCaptureSource::frameAvailableHandler):
(WebCore::ScreenCaptureKitCaptureSource::streamDidOutputSampleBuffer):
(WebCore::ScreenCaptureKitCaptureSource::captureQueue):
Source/WebCore/PAL:
- pal/mac/ScreenCaptureKitSoftLink.h:
- pal/mac/ScreenCaptureKitSoftLink.mm:
- 9:44 AM Changeset in webkit [289546] by
-
- 17 edits1 copy1 add18 deletes in trunk/LayoutTests
Resync web-platform-tests/url from upstream
https://bugs.webkit.org/show_bug.cgi?id=236377
Reviewed by Youenn Fablet.
Resync web-platform-tests/url from upstream 012f446eafc392c7.
- web-platform-tests/url/*: Updated.
- 9:42 AM Changeset in webkit [289545] by
-
- 7 edits27 copies73 moves88 adds16 deletes in trunk/LayoutTests
Resync web-platform-tests/eventsource from upstream
https://bugs.webkit.org/show_bug.cgi?id=236374
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Resync web-platform-tests/eventsource from upstream 012f446eafc392c7.
- web-platform-tests/eventsource/*: Updated.
LayoutTests:
- TestExpectations:
- platform/glib/TestExpectations:
- 9:37 AM Changeset in webkit [289544] by
-
- 11 edits1 add in trunk
An element with both -webkit-user-select: all and -webkit-user-drag: element does not get the nice drag snapshot that you get if you just have -webkit-user-drag: element
https://bugs.webkit.org/show_bug.cgi?id=187656
<rdar://problem/42177956>
Reviewed by Wenson Hsieh.
Source/WebCore:
When dragging an element with "-webkit-user-select: all" and
"-webkit-user-drag: element", the element gets selected, leading
WebKit to addDragSourceAction::Selectionto the set of
DragSourceActions. The presence of "-webkit-user-drag: element"
results in the addition ofDragSourceAction::DHTML.
The addition of
DragSourceAction::Selectionin the
"-webkit-user-drag: element" scenario is undesirable, as
it results in a drag snapshot containing only the selection, and
copies/pastes the text selection, rather than moving the element.
To fix, drop
DragSourceAction::Selectionfrom the set of actions
when a "-webkit-user-drag: element" element is being dragged.
The new behavior matches Firefox and Chrome.
- page/DragController.cpp:
(WebCore::DragController::draggableElement const):
(WebCore::DragController::startDrag):
(WebCore::DragController::doSystemDrag):
- platform/DragItem.h:
Dropping
DragSourceAction::Selectionexposes an issue in the
UIProcess on iOS, where UIKit text interaction can unexpectedly
begin while dragging an element with "-webkit-user-drag: element".
To fix the WebProcess behavior, while keeping the UIProcess behavior
the same, a new bit is added toDragItemto indicate that the
element being dragged contains the selection. The UIProcess will use
this bit to suppress UIKit text interaction.
(WebCore::DragItem::encode const):
(WebCore::DragItem::decode):
Source/WebKit:
Plumb
DragItem'scontainsSelectioninto theDragDropInteractionState
so that UIKit text interaction can be suppressed whenever the element
being dragged also contains the current selection.
- UIProcess/ios/DragDropInteractionState.h:
- UIProcess/ios/DragDropInteractionState.mm:
(WebKit::DragDropInteractionState::anyActiveDragSourceContainsSelection const):
(WebKit::DragDropInteractionState::stageDragItem):
(WebKit::DragDropInteractionState::anyActiveDragSourceIs const): Deleted.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView dragInteraction:willAnimateLiftWithAnimator:session:]):
Tools:
Added API tests on iOS and macOS to verify that dragging and dropping an
element with "-webkit-user-select: all" and "-webkit-user-drag: element"
does not paste the selection.
On iOS, the size of the lift preview is also tested.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/contenteditable-user-select-user-drag.html: Added.
- TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
(TEST):
- 9:35 AM Changeset in webkit [289543] by
-
- 2 edits in trunk/LayoutTests
Mark accessibility/mac/line-index-for-textmarker.html as Slow in Mac-wk2 Debug.
https://bugs.webkit.org/show_bug.cgi?id=236448
<rdar://problem/88757785>
Unreviewed gardening.
- platform/mac-wk2/TestExpectations:
- 9:28 AM Changeset in webkit [289542] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Prepare InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox for supporting vertical writing mode
https://bugs.webkit.org/show_bug.cgi?id=236400
Reviewed by Antti Koivisto.
This is just a small cleanup patch to make the vertical writing mode code easier to adopt.
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
- 9:04 AM Changeset in webkit [289541] by
-
- 5 edits in trunk/Source/WebKit
Mail attachment switched to TIFF and balloons in size after markup.
https://bugs.webkit.org/show_bug.cgi?id=236405
rdar://87358910
Reviewed by Wenson Hsieh.
When pulling data from the webprocess to pass to the Sharing Service
for markup, we would convert it to TIFF format. This would cause files
to increase in size, and lose their original formatting, as well as outright
break PDFs. Instead we should be pulling the data from the attachment, which
already exists in the UI process and is the source of truth for that data anyways.
This allows us to give the correct type to the sharing service, and we should
take the data back as the same original type when getting the data back from
markup.
- UIProcess/API/APIAttachment.cpp:
(API::Attachment::enclosingImageData const):
- UIProcess/API/APIAttachment.h:
- UIProcess/API/Cocoa/APIAttachmentCocoa.mm:
(API::Attachment::enclosingImageNSData const):
- UIProcess/mac/WKSharingServicePickerDelegate.mm:
(-[WKSharingServicePickerDelegate sharingService:didShareItems:]):
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
- 9:02 AM Changeset in webkit [289540] by
-
- 39 edits1 copy12 moves108 adds61 deletes in trunk/LayoutTests
Resync web-platform-tests/xhr from upstream
https://bugs.webkit.org/show_bug.cgi?id=236372
Reviewed by Youenn Fablet.
Resync web-platform-tests/xhr from upstream 012f446eafc392c7.
- web-platform-tests/xhr/*: Updated.
- 8:54 AM Changeset in webkit [289539] by
-
- 7 edits4 deletes in trunk/LayoutTests
Resync web-platform-tests/webaudio from upstream
https://bugs.webkit.org/show_bug.cgi?id=236373
Reviewed by Youenn Fablet.
Resync web-platform-tests/webaudio from upstream 012f446eafc392c7.
- web-platform-tests/webaudio/idlharness.https-expected.txt: Removed.
- web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/suspend-after-construct-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audiodestinationnode-interface/idl-test-expected.txt: Removed.
- web-platform-tests/webaudio/the-audio-api/the-audiodestinationnode-interface/idl-test.html: Removed.
- web-platform-tests/webaudio/the-audio-api/the-audiodestinationnode-interface/w3c-import.log: Removed.
- web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-disconnect-expected.txt: Removed.
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-large-endtime-expected.txt: Removed.
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-postmessage-sharedarraybuffer.https-expected.txt: Removed.
- web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-routing-expected.txt: Removed.
- 8:38 AM Changeset in webkit [289538] by
-
- 2 edits in trunk/Source/WebCore
AX: Log more information when the wrapper or the wrapper's backing object is detached
https://bugs.webkit.org/show_bug.cgi?id=236381
Reviewed by Chris Fleizach.
Right now, we don't log any information when we detect a wrapper has
no object, or when it does have an object but it's detached from a
parent.
This patch logs the wrapper address and object in these scenarios, which
will help debug these issues in conjuction with other logs.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper logMissingBackingObject]):
Added.
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
Use new logMissingBackingObject, and log object if it's detached from a parent.
(-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):
Use new logMissingBackingObject.
- 8:36 AM Changeset in webkit [289537] by
-
- 3 edits in trunk/Source/WebCore
AXIsolatedTree::updateChildren and AXIsolatedTree::nodeAncestryChanges results in adding incorrect nodes to the isolated tree
https://bugs.webkit.org/show_bug.cgi?id=236414
Reviewed by Andres Gonzalez.
Sometimes AXIsolatedTree::updateChildren is called with an object that is
not in the isolated tree. When this happens, we currently call AXIsolatedTree::nodeAncestryChanges
to build the ancestry chain up to the nearest in-isolated-tree node (starting with the original
object called for updateChildren).
However, this seems to result in adding nodes to the isolated tree that don't exist in the live tree.
I believe this also causes isolated objects to often hold references to parent objects that don't exist
in the isolated tree, breaking object searches (and more).
With this patch, when AXIsolatedTree::updateChildren is called with an object that has no isolated tree
equivalent, we traverse up the object's ancestry until we find an object in the isolated tree and update
the children for that.
This was the behavior before https://bugs.webkit.org/show_bug.cgi?id=235389. We made that change because
we believed this behavior was causing a lot of full-tree re-renders. However, in my testing on large webpages
(e.g. youtube.com, facebook.com), this doesn't seem to be the case, and performance is actually very good.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::nodeAncestryChanges):
Deleted.
(WebCore::AXIsolatedTree::nodeChangeForObject):
Remove updateNodeMap parameter, as the now-deleted nodeAncestryChanges
was the only thing that called it with the non-default value of true.
- accessibility/isolatedtree/AXIsolatedTree.h:
(WebCore::AXIsolatedTree::queueChangesAndRemovals):
- 8:21 AM Changeset in webkit [289536] by
-
- 6 edits in trunk
Do not expose in WebIDL the parts of the permission API that are not yet supported
https://bugs.webkit.org/show_bug.cgi?id=236301
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/permissions/idlharness.any-expected.txt:
- web-platform-tests/permissions/idlharness.any.worker-expected.txt:
Source/WebCore:
Covered by existing tests.
- Modules/permissions/PermissionStatus.idl:
- Modules/permissions/Permissions.idl:
- 7:56 AM Changeset in webkit [289535] by
-
- 3 edits in trunk/Tools
Unreviewed, reverting 247040@main.
https://bugs.webkit.org/show_bug.cgi?id=236399
<rdar://problem/88707207>
Broke EWS links after merging.
Reverted changeset:
[EWS] Link commit URL to pull request
https://bugs.webkit.org/show_bug.cgi?id=236399
<rdar://problem/88707207>
- 7:49 AM Changeset in webkit [289534] by
-
- 4 edits in trunk
Check for feature policy when querying permission state
https://bugs.webkit.org/show_bug.cgi?id=236299
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/permissions/permissions-query-feature-policy-attribute.https.sub-expected.txt:
Source/WebCore:
Added feature policy check for camera, microphone and geolocation, which after https://bugs.webkit.org/show_bug.cgi?id=236292
are the only one returning anything else than NotSupported.
Covered by updated test.
- Modules/permissions/Permissions.cpp:
(WebCore::isAllowedByFeaturePolicy):
(WebCore::Permissions::query):
- 7:45 AM Changeset in webkit [289533] by
-
- 6 edits2 adds in trunk
Settling of a fetch promise should be delayed in case page is entering page cache
https://bugs.webkit.org/show_bug.cgi?id=236292
<rdar://88452971>
Reviewed by Chris Dumez.
Source/WebCore:
Make sure to enqueue a task before resolving fetch promise as otherwise, page might continue running JavaScript.
Do this for worker as well for good measure.
We move signal aborted checks to two clients to handle rejecting fetch promise synchronously.
Test: http/tests/navigation/fetch-pagecache.html
- Modules/cache/DOMCache.cpp:
- Modules/fetch/FetchResponse.cpp:
- Modules/fetch/FetchResponse.h:
- Modules/fetch/WindowOrWorkerGlobalScopeFetch.cpp:
- workers/service/FetchEvent.cpp:
LayoutTests:
- http/tests/navigation/fetch-pagecache-expected.txt: Added.
- http/tests/navigation/fetch-pagecache.html: Added.
- 7:33 AM Changeset in webkit [289532] by
-
- 5 edits in trunk
Fail synchronously when constructing a SharedWorker with an URL that is not same-origin
https://bugs.webkit.org/show_bug.cgi?id=236419
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/workers/constructors/SharedWorker/same-origin-expected.txt:
Rebaseline test that is now fully passing. I have verified that it is passing in both
Blink and Gecko too.
- web-platform-tests/workers/shared-worker-in-data-url-context.window-expected.txt:
Even though this looks like a regression, this actually aligns our behavior with both
Blink & Gecko (who also fail this check). Note that the load fails no matter what.
However, the test expects it to fail asynchronously instead of synchronously in this
case.
Source/WebCore:
Fail synchronously when constructing a SharedWorker with an URL that is not same-origin.
This aligns our behavior with Chrome and matches the language in the specification.
No new tests, rebaselined existing test.
- workers/shared/SharedWorker.cpp:
(WebCore::SharedWorker::create):
- 6:52 AM WebKitGTK/2.34.x edited by
- (diff)
- 6:46 AM Changeset in webkit [289531] by
-
- 20 edits4 adds in trunk/Source
Introduce SignedPtrTraits which enables Ref pointers to be protected with PtrTags.
https://bugs.webkit.org/show_bug.cgi?id=235588
rdar://88023849
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-02-10
Reviewed by Mark Lam.
Create and adopt SignedPtrTraits which can be used to apply and verify PtrTag signatures
to pointers stored in and tracked by WTF:Ref.
Source/WebCore:
- bindings/js/JSDOMWrapper.h:
(WebCore::JSDOMWrapper::wrapped const):
(WebCore::JSDOMWrapper::offsetOfWrapped):
(WebCore::JSDOMWrapper::hasCustomPtrTraits):
- bindings/scripts/CodeGeneratorJS.pm:
(GetParentClassName):
(GetImplClassPtrTag):
(GenerateHeader):
(GetTaggedWrapperForInterface):
- bindings/scripts/IDLAttributes.json:
- bindings/scripts/test/BindingTestGlobalConstructors.idl:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObject_TestTaggedWrapperConstructorGetter):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
- bindings/scripts/test/JS/JSTestTaggedWrapper.cpp: Added.
(WebCore::JSTestTaggedWrapperDOMConstructor::prototypeForStructure):
(WebCore::JSTestTaggedWrapperDOMConstructor::initializeProperties):
(WebCore::JSTestTaggedWrapperPrototype::finishCreation):
(WebCore::JSTestTaggedWrapper::JSTestTaggedWrapper):
(WebCore::JSTestTaggedWrapper::finishCreation):
(WebCore::JSTestTaggedWrapper::createPrototype):
(WebCore::JSTestTaggedWrapper::prototype):
(WebCore::JSTestTaggedWrapper::getConstructor):
(WebCore::JSTestTaggedWrapper::destroy):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
(WebCore::JSTestTaggedWrapper::subspaceForImpl):
(WebCore::JSTestTaggedWrapper::analyzeHeap):
(WebCore::JSTestTaggedWrapperOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestTaggedWrapperOwner::finalize):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestTaggedWrapper::toWrapped):
- bindings/scripts/test/JS/JSTestTaggedWrapper.h: Added.
(WebCore::JSTestTaggedWrapper::create):
(WebCore::JSTestTaggedWrapper::createStructure):
(WebCore::JSTestTaggedWrapper::subspaceFor):
(WebCore::wrapperOwner):
(WebCore::wrapperKey):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/SupplementalDependencies.dep:
- bindings/scripts/test/TestTaggedWrapper.idl: Added.
- css/DOMMatrixReadOnly.idl:
- dom/DOMPointReadOnly.idl:
- dom/DOMQuad.idl:
- dom/DOMRectReadOnly.idl:
- domjit/JSDocumentDOMJIT.cpp:
(WebCore::compileDocumentDocumentElementAttribute):
(WebCore::compileDocumentBodyAttribute):
- domjit/JSNodeDOMJIT.cpp:
(WebCore::createCallDOMGetterForOffsetAccess):
(WebCore::compileNodeOwnerDocumentAttribute):
- html/TimeRanges.idl:
- html/canvas/OffscreenCanvasRenderingContext2D.idl:
- html/canvas/PaintRenderingContext2D.idl:
- svg/SVGMatrix.idl:
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/SignedPtr.h: Added.
(WTF::SignedPtr::SignedPtr):
(WTF::SignedPtr::get const):
(WTF::SignedPtr::set):
(WTF::SignedPtr::clear):
(WTF::SignedPtr::operator-> const):
(WTF::SignedPtr::operator* const):
(WTF::SignedPtr::operator! const):
(WTF::SignedPtr::operator UnspecifiedBoolType const):
(WTF::SignedPtr::operator bool const):
(WTF::SignedPtr::operator=):
(WTF::SignedPtr::exchange):
(WTF::SignedPtr::swap):
(WTF::SignedPtrTraits::exchange):
(WTF::SignedPtrTraits::swap):
(WTF::SignedPtrTraits::unwrap):
(WTF::SignedPtrTraits::hashTableDeletedValue):
(WTF::SignedPtrTraits::isHashTableDeletedValue):
- 6:23 AM Changeset in webkit [289530] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Add InInlineDirection postfix to margin/border/paddingLeft(Right)
https://bugs.webkit.org/show_bug.cgi?id=236398
Reviewed by Antti Koivisto.
This helps to make sure we don't confuse _visual_ border left and border left in the inline base direction sense
(i.e. logical left can turn into a "visual" right in the inline base direction context (RTL) which can turn into a final physical bottom after the writing mode flip)
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::marginLeftInInlineDirection):
(WebCore::Layout::marginRightInInlineDirection):
(WebCore::Layout::borderLeftInInlineDirection):
(WebCore::Layout::borderRightInInlineDirection):
(WebCore::Layout::paddingLeftInInlineDirection):
(WebCore::Layout::paddingRightInInlineDirection):
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
(WebCore::Layout::marginLeft): Deleted.
(WebCore::Layout::marginRight): Deleted.
(WebCore::Layout::borderLeft): Deleted.
(WebCore::Layout::borderRight): Deleted.
(WebCore::Layout::paddingLeft): Deleted.
(WebCore::Layout::paddingRight): Deleted.
- 6:14 AM Changeset in webkit [289529] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Scrollbars painted incorrectly if theme enables steppers (steppers misplaced on vertical scrollbars, horizontal scrollbars very broken)
https://bugs.webkit.org/show_bug.cgi?id=234871
Reviewed by Carlos Garcia Campos.
Actually use the scrollbar orientation when creating its contents,
instead of always using vertical.
- platform/gtk/RenderThemeScrollbar.cpp:
(WebCore::RenderThemeScrollbar::RenderThemeScrollbar):
- 5:54 AM Changeset in webkit [289528] by
-
- 10 edits1 copy1 add in trunk/Source
[GTK][WPE] Refactor the XDGDBusProxy launcher to simplify it and fix some issues
https://bugs.webkit.org/show_bug.cgi?id=236437
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Make accessibility bus address API available for ATK too.
- platform/graphics/PlatformDisplay.cpp:
- platform/graphics/PlatformDisplay.h:
- platform/graphics/x11/PlatformDisplayX11.cpp:
- platform/graphics/x11/PlatformDisplayX11.h:
Source/WebKit:
This patch moves the XDGDBusProxy launcher implementation to its own file and fixes the following issues:
- r289369 introduced an issue with old versions of bwrap that fails to mount over an existing file, so we need to ensure we only bind the original socket for the a11y socket and not the session bus one.
- bindA11y is GTK specific for some reason, which means WPE doesn't have a11y under the sandbox.
- The names of the socket paths for a11y and session bus use the same pattern dbus-proxy-XXXXXX, it helps to use a different one.
- The code to get the a11y DBus address is now duplicated in PlatformDisplay, we can just use the PlatformDisplay to get the address.
- SourcesGTK.txt:
- SourcesWPE.txt:
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::argumentsToFileDescriptor):
(WebKit::bindDBusSession):
(WebKit::bindA11y):
(WebKit::bubblewrapSpawn):
(WebKit::argsToFd): Deleted.
(WebKit::XDGDBusProxyLauncher::setAddress): Deleted.
(WebKit::XDGDBusProxyLauncher::isRunning const): Deleted.
(WebKit::XDGDBusProxyLauncher::path const): Deleted.
(WebKit::XDGDBusProxyLauncher::proxyPath const): Deleted.
(WebKit::XDGDBusProxyLauncher::setPermissions): Deleted.
(WebKit::XDGDBusProxyLauncher::launch): Deleted.
(WebKit::XDGDBusProxyLauncher::makeProxyPath): Deleted.
(WebKit::XDGDBusProxyLauncher::dbusAddressToPath): Deleted.
(): Deleted.
- UIProcess/Launcher/glib/BubblewrapLauncher.h:
- UIProcess/Launcher/glib/XDGDBusProxy.cpp: Added.
(WebKit::XDGDBusProxy::XDGDBusProxy):
(WebKit::XDGDBusProxy::makeProxy const):
(WebKit::XDGDBusProxy::launch const):
- UIProcess/Launcher/glib/XDGDBusProxy.h: Added.
(WebKit::XDGDBusProxy::proxyPath const):
(WebKit::XDGDBusProxy::path const):
- 5:50 AM WebKitGTK/2.34.x edited by
- (diff)
- 5:02 AM Changeset in webkit [289527] by
-
- 3 edits2 adds in trunk
Incorrect abspos layout when toggling contain
https://bugs.webkit.org/show_bug.cgi?id=236261
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-10
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/contain-layout-020-expected.html: Added.
- web-platform-tests/css/css-contain/contain-layout-020.html: Added.
Source/WebCore:
A change in layout containment for a container means either the container becomes
a absolute positioning containing block or ceases to be one. The method
removePositionedObjectsIfNeeded handles this, update it to take layout containment
changes into account.
Test: imported/w3c/web-platform-tests/css/css-contain/contain-layout-020.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removePositionedObjectsIfNeeded):
- 3:10 AM Changeset in webkit [289526] by
-
- 6 edits2 adds in trunk
[:has() pseudo-class] Nullptr crash with non-function :has
https://bugs.webkit.org/show_bug.cgi?id=236431
rdar://87061239
Reviewed by Cameron McCormack.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/parsing/parse-has-expected.txt:
- web-platform-tests/css/selectors/parsing/parse-has.html:
Source/WebCore:
Test: fast/selectors/malformed-has.html
- css/parser/CSSSelectorParser.cpp:
(WebCore::isOnlyPseudoClassFunction):
:has() is legal, plain :has is not.
LayoutTests:
- fast/selectors/malformed-has-expected.txt: Added.
- fast/selectors/malformed-has.html: Added.
- 2:36 AM Changeset in webkit [289525] by
-
- 42 edits3 copies8 adds in trunk
Introduce a RemoteMediaSampleProxy to represent captured video frames used in Media Streams and present in GPUP
https://bugs.webkit.org/show_bug.cgi?id=236099
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-10
Reviewed by Youenn Fablet.
Source/WebCore:
Add VideoFrame : public MediaStream, base class for Media Stream video frames.
Currently inherits from MediaSample, but later will remove the MediaSample.
The WebCore::VideoFrame is intended to be used in various entry-points that
currently are currently typed as:
void videoSampleAvailable(MediaSample&, VideoSampleMetadata, ...).
The new class WebKit::RemoteVideoFrameProxy : public VideoFrame can be passed to these APIs.
The API entrypoints are not yet changed in order to partially roll the changes in.
Later on, the entrypoints will be similar to:
void videoSampleAvailable(VideoFrame&, VideoSampleMetadata, ...).
Removes MediaSample::setTrackID as that is not used.
Changes MediaSample::platformSample() to const, so that it can be called from
const context.
No new tests, refactor.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/MediaSample.h:
- platform/VideoFrame.cpp: Added.
(WebCore::VideoFrame::decodeTime const):
(WebCore::VideoFrame::duration const):
(WebCore::VideoFrame::trackID const):
(WebCore::VideoFrame::sizeInBytes const):
(WebCore::VideoFrame::presentationSize const):
(WebCore::VideoFrame::offsetTimestampsBy):
(WebCore::VideoFrame::setTimestamps):
(WebCore::VideoFrame::isDivisable const):
(WebCore::VideoFrame::divide):
(WebCore::VideoFrame::createNonDisplayingCopy const):
(WebCore::VideoFrame::flags const):
(WebCore::VideoFrame::byteRange const):
(WebCore::VideoFrame::dump const):
- platform/VideoFrame.h: Added.
- platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:
(WebCore::LocalSampleBufferDisplayLayer::enqueueSampleBuffer):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateCurrentFrameImage):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
(isType):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::platformSample const):
- platform/graphics/gstreamer/MediaSampleGStreamer.cpp:
(WebCore::MediaSampleGStreamer::platformSample const):
- platform/graphics/gstreamer/MediaSampleGStreamer.h:
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockMediaSample::platformSample const):
Source/WebKit:
WebContent process:
Add WebKit::RemoteVideoFrameProxy, WebContent process side proxy object that
WebCore::MediaPlayerPrivateMediaStreamAVFObjC can use.
RemoteVideoFrameProxy can be sent to the GPUP and the the SampleBufferDisplayLayer. So
the captured content shows in compositing through video element.
At the moment MediaPlayerPrivateMediaStreamAVFObjC cannot paint RemoteVideoFrameProxy to the
document CSS painted content, Context2D or WebGL canvas.
GPUP:
RemoteVideoFrameObjectHeap is a mapping
RemoteVideoFrameIdentifier -> MediaSample. Currently all objects
map to normal MediaSampleAVFObjC.
Add an example implementation where a remote MediaSample is returned by IPC:
RemoteGraphicsContextGL::paintCompositedResultsToMediaSample().
The GPUP object pointed by RemoteVideoFrameIdentifier is:
- created in RemoteGraphicsContextGL::paintCompositedResultsToMediaSample() in RemoteGraphicsContextGL thread
- consumed in RemoteSampleBufferDisplayLayer::enqueueSample in RemoteSampleBufferDisplayLayerManager thread
- released in RemoteVideoFrameObjectHeap::releaseVideoFrame in GPUP main thread
All of these messages are asynchronous and can arrive to their destination in any order.
For example, request to release the video frame can happen before the message to create the video frame has been
received.
To solve the ordering issue, introduce readers-writers reference counting method via following classes:
- ObjectIdentifierReadReference
- ObjectIdentifierWriteReference
- ObjectIdentifierReferenceTracker
ObjectIdentifier identifies the object.
ObjectIdentifierWriteReference identifies a new version of the content pointed by the identifier.
Pseudocode examples:
WriteReference { identifier = 1, pendingReads = 0, version = 0 } means:
"End the life-time of identifier 1, version 0. Create version = 1"
This is how initial object is assigned to the reference.
WriteReference { identifier = 1, pendingReads = 77, version = 32 } means
"End the life-time of identifier 1, version 32 when all 77 reads have completed. Create version = 33"
ObjectIdentifierReadReference declares a read dependency to a specific version of the content pointed by the identifier.
Pseudocode examples:
ReadReference { identifier = 1, version = 32 } means
"Complete one read of identifier 1, version 32".
Creates, updates and destructions are WriteReferences.
Reads are ReadReferences.
The ObjectIdentifierReferenceTracker creates write and read references in the Proxy -using process (WebContent process).
The added ThreadSafeObjectHeap resolves the read and write references in the real object process (GPUP in this case).
Reads and writes are blocking the requesting thread appropriately:
- Read of unknown version of the identifier blocks until the write creates the version
- Write of new version of the identifier blocks until the reads have retired, or creates parallel, new version of the content in case of copy-on-write schemes.
In this commit objects pointed by RemoteVideoFrameIdentifier are immutable until destroyed, so there is no update or
copy-on-write scheme here.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess):
(WebKit::GPUConnectionToWebProcess::didClose):
(WebKit::GPUConnectionToWebProcess::videoFrameObjectHeap const):
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):
(WebKit::RemoteGraphicsContextGL::paintCompositedResultsToMediaSample):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp: Added.
(WebKit::RemoteVideoFrameObjectHeap::create):
(WebKit::RemoteVideoFrameObjectHeap::RemoteVideoFrameObjectHeap):
(WebKit::RemoteVideoFrameObjectHeap::~RemoteVideoFrameObjectHeap):
(WebKit::RemoteVideoFrameObjectHeap::stopListeningForIPC):
(WebKit::RemoteVideoFrameObjectHeap::addVideoFrame):
(WebKit::RemoteVideoFrameObjectHeap::releaseVideoFrame):
- GPUProcess/media/RemoteVideoFrameObjectHeap.h: Added.
- GPUProcess/media/RemoteVideoFrameObjectHeap.messages.in: Copied from Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.messages.in.
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
(WebKit::RemoteSampleBufferDisplayLayer::create):
(WebKit::RemoteSampleBufferDisplayLayer::RemoteSampleBufferDisplayLayer):
(WebKit::RemoteSampleBufferDisplayLayer::enqueueSample):
(WebKit::RemoteSampleBufferDisplayLayer::enqueueSampleCV):
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.messages.in:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.cpp:
(WebKit::RemoteSampleBufferDisplayLayerManager::createLayer):
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
(headers_for_type):
- Shared/IPCTester.cpp:
(WebKit::IPCTester::startMessageTesting):
(WebKit::isTestingIPC):
- Shared/IPCTester.h:
(WebKit::isTestingIPC):
- Shared/ObjectIdentifierReferenceTracker.h: Added.
(WebKit::ObjectIdentifierReference::ObjectIdentifierReference):
(WebKit::ObjectIdentifierReference::identifier const):
(WebKit::ObjectIdentifierReference::version const):
(WebKit::ObjectIdentifierReference::operator== const):
(WebKit::ObjectIdentifierReference::isHashTableDeletedValue const):
(WebKit::ObjectIdentifierReadReference::ObjectIdentifierReadReference):
(WebKit::ObjectIdentifierReadReference::identifier const):
(WebKit::ObjectIdentifierReadReference::version const):
(WebKit::ObjectIdentifierReadReference::reference const):
(WebKit::ObjectIdentifierReadReference::encode const):
(WebKit::ObjectIdentifierReadReference::decode):
(WebKit::ObjectIdentifierWriteReference::ObjectIdentifierWriteReference):
(WebKit::ObjectIdentifierWriteReference::identifier const):
(WebKit::ObjectIdentifierWriteReference::version const):
(WebKit::ObjectIdentifierWriteReference::pendingReads const):
(WebKit::ObjectIdentifierWriteReference::reference const):
(WebKit::ObjectIdentifierWriteReference::retire const):
(WebKit::ObjectIdentifierWriteReference::encode const):
(WebKit::ObjectIdentifierWriteReference::decode):
(WebKit::ObjectIdentifierReferenceTracker::ObjectIdentifierReferenceTracker):
(WebKit::ObjectIdentifierReferenceTracker::read const):
(WebKit::ObjectIdentifierReferenceTracker::write const):
(WebKit::ObjectIdentifierReferenceTracker::identifier const):
(WebKit::add):
(WebKit::operator<<):
(WTF::DefaultHash<WebKit::ObjectIdentifierReference<T>>::hash):
(WTF::DefaultHash<WebKit::ObjectIdentifierReference<T>>::equal):
- Shared/ThreadSafeObjectHeap.h: Added.
(WebKit::ThreadSafeObjectHeap::ReferenceState::ReferenceState):
(WebKit::HeldType>::retire):
(WebKit::HeldType>::retireRemove):
(WebKit::HeldType>::clear):
- Shared/mac/MediaFormatReader/MediaSampleByteRange.cpp:
(WebKit::MediaSampleByteRange::platformSample const):
- Shared/mac/MediaFormatReader/MediaSampleByteRange.h:
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/GPUProcessConnection.cpp:
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::paintCompositedResultsToMediaSample):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm:
- WebProcess/GPU/media/RemoteVideoFrameIdentifier.h: Copied from Source/WebKit/Shared/IPCTester.h.
- WebProcess/GPU/media/RemoteVideoFrameProxy.cpp: Added.
(WebKit::RemoteVideoFrameProxy::create):
(WebKit::RemoteVideoFrameProxy::properties):
(WebKit::RemoteVideoFrameProxy::RemoteVideoFrameProxy):
(WebKit::RemoteVideoFrameProxy::~RemoteVideoFrameProxy):
(WebKit::RemoteVideoFrameProxy::identifier const):
(WebKit::RemoteVideoFrameProxy::write const):
(WebKit::RemoteVideoFrameProxy::read const):
(WebKit::RemoteVideoFrameProxy::presentationTime const):
(WebKit::RemoteVideoFrameProxy::platformSample const):
(WebKit::RemoteVideoFrameProxy::videoRotation const):
(WebKit::RemoteVideoFrameProxy::videoMirrored const):
(WebKit::RemoteVideoFrameProxy::videoPixelFormat const):
(WebKit::RemoteVideoFrameProxy::videoFrame const):
(WebKit::RemoteVideoFrameProxy::disconnectGPUProcessIfNeeded const):
(WebKit::RemoteVideoFrameProxy::waitForWasInitialized const):
(WebKit::RemoteVideoFrameProxy::gpuProcessConnectionDidClose):
(WebKit::RemoteVideoFrameProxy::wasInitialized):
- WebProcess/GPU/media/RemoteVideoFrameProxy.h: Added.
(WebKit::RemoteVideoFrameProxy::Properties::encode const):
(WebKit::RemoteVideoFrameProxy::Properties::decode):
(isType):
- WebProcess/GPU/media/RemoteVideoFrameProxy.messages.in: Copied from Source/WebKit/Shared/IPCTester.h.
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
(WebKit::SampleBufferDisplayLayer::SampleBufferDisplayLayer):
(WebKit::SampleBufferDisplayLayer::~SampleBufferDisplayLayer):
(WebKit::SampleBufferDisplayLayer::enqueueSample):
(WebKit::SampleBufferDisplayLayer::gpuProcessConnectionDidClose):
(WebKit::SampleBufferDisplayLayer::disconnectGPUProcessConnectionIfNeeded):
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h:
Tools:
- Scripts/generate-gpup-webgl:
- TestWebKitAPI/Tests/WebCore/SampleMap.cpp:
- 1:27 AM Changeset in webkit [289524] by
-
- 3 edits in trunk/Source/WebKit
Non-default constructible types cannot be decoded with IPC::Decoder
https://bugs.webkit.org/show_bug.cgi?id=236246
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-10
Reviewed by Antti Koivisto.
Add yet another decode function: std::optional<T> Decoder::decode<T>();
Consider the pattern:
std::optional<T> t;
decoder >> t;
if (!t)
....
The above neccessitates default construction of T, since it contains
std::optional<T> t;
t = ...; assignment. This assignment cannot be elided.
Better pattern is:
auto t = decoder.decode<T>();
This is significant with for types with const members:
struct T {
const uint64_t version;
};
- Platform/IPC/Decoder.h:
(IPC::Decoder::decode):
(IPC::Decoder::operator>>):
- Platform/IPC/HandleMessage.h:
(IPC::handleMessage):
(IPC::handleMessageWantsConnection):
(IPC::handleMessageSynchronous):
(IPC::handleMessageSynchronousWantsConnection):
(IPC::handleMessageAsync):
(IPC::handleMessageAsyncWantsConnection):
- 1:07 AM Changeset in webkit [289523] by
-
- 15 edits in trunk/LayoutTests
[macOS arm64] imported/w3c/web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=235084
<rdar://problem/87421733>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Update pixel tolerances for some tests from the WPT transforms suite,
fixing them on Mac and on Glib-based ports.
- web-platform-tests/css/css-transforms/2d-rotate-001.html:
- web-platform-tests/css/css-transforms/group/svg-transform-nested-009.html:
- web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html:
- web-platform-tests/css/css-transforms/preserve3d-and-filter-with-perspective.html:
- web-platform-tests/css/css-transforms/skew-test1.html:
- web-platform-tests/css/css-transforms/transform-background-001.html:
- web-platform-tests/css/css-transforms/transform-background-002.html:
- web-platform-tests/css/css-transforms/transform-table-009.html:
- web-platform-tests/css/css-transforms/transform-table-010.html:
- web-platform-tests/css/css-transforms/transform-table-011.html:
- web-platform-tests/css/css-transforms/transforms-skewX.html:
LayoutTests:
- platform/glib/TestExpectations: Unskip newly passing tests.
- platform/mac/TestExpectations: Ditto.
- 12:17 AM Changeset in webkit [289522] by
-
- 4 edits in trunk/Source/WebCore
IDBRequest should emit write barrier on JSValueInWrappedObject modification
https://bugs.webkit.org/show_bug.cgi?id=236278
Reviewed by Geoffrey Garen.
In IDBRequest, m_resultWrapper is used to cache JSValue for m_result. When request is performing operation (e.g.
iterating cursor), we clear both m_result and m_resultWrapper. When request is done, we set m_result and
m_resultWrapper. The spec requires the IDBRequest.result() to return the same JavaScript object after operation,
so we introduced m_cursorWrapper to temporarily store the JSValue during operation. When operation starts, we
set m_cursorWrapper with m_resultWrapper and when opreation finishes successfully, we set m_resultWrapper back
using m_cursorWrapper.
This has a semantic error as the assignment process does not emit write barrier (webkit.org/b/236277). To fix
it, we may just remove m_cursorWrapper and not clear m_resultWrapper during operation. Since we clear m_result
in operation, we can check if m_result is empty to decide whether we should return m_resultWrapper for
IDBRequest.result().
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::willIterateCursor):
(WebCore::IDBRequest::didOpenOrIterateCursor):
(WebCore::IDBRequest::clearWrappers):
- Modules/indexeddb/IDBRequest.h:
(WebCore::IDBRequest::resultWrapper):
(WebCore::IDBRequest::cursorWrapper): Deleted.
- bindings/js/JSIDBRequestCustom.cpp:
(WebCore::JSIDBRequest::result const):
(WebCore::JSIDBRequest::visitAdditionalChildren):
- 12:10 AM Changeset in webkit [289521] by
-
- 4 edits2 adds in trunk
:focus-visible with click on radio/checkbox labels is broken
https://bugs.webkit.org/show_bug.cgi?id=236331
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Added new WPT test to cover this case.
- web-platform-tests/css/selectors/focus-visible-026-expected.txt: Added.
- web-platform-tests/css/selectors/focus-visible-026.html: Added.
Source/WebCore:
When the label is clicked we have to send the FocusTrigger information to Element::focus().
There we avoid setting FocusVisibility:Visible if it has been triggered via mouse click.
Test: imported/w3c/web-platform-tests/css/selectors/focus-visible-026.html
- dom/Element.cpp:
(WebCore::Element::focus): Add a check for FocusTrigger::Click to avoid setting FocusVisibility:Visible.
- html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::defaultEventHandler): Pass FocusTrigger::Click.
Feb 9, 2022:
- 11:44 PM Changeset in webkit [289520] by
-
- 2 edits18 deletes in trunk/LayoutTests
[WPE] Mark several WPT SVG import filter tests as failure
Unreviewed test gardening.
r289510 updated the baselines of these tests, but this was not the
right fix. These tests were passing in WPE until r288412. The tests
should be marked as a failure in WPE TestExpectations.
- platform/wpe/TestExpectations:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-04-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-04-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-05-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-05-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-conv-03-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-conv-03-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-displace-01-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-displace-01-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-01-b-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-01-b-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-02-b-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-02-b-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-03-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-03-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-04-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-04-f-manual-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-05-f-manual-expected.png: Removed.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-05-f-manual-expected.txt: Removed.
- 10:00 PM Changeset in webkit [289519] by
-
- 4 edits in trunk
SharedMemoryUnix should use SHM_ANON when available
https://bugs.webkit.org/show_bug.cgi?id=236416
Reviewed by Don Olmstead.
.:
- Source/cmake/OptionsCommon.cmake: Check for SHM_ANON.
Source/WebKit:
FreeBSD is able to use shm_open(SHM_ANON, ...) to create an anonymous shared memory object which is subject to RAII:
https://www.freebsd.org/cgi/man.cgi?query=shm_open
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::createSharedMemory):
Make use of SHM_ANON if we have it.
- 9:18 PM Changeset in webkit [289518] by
-
- 42 edits in trunk/Source
[GPU Process] Move ImageBuffer::createCompatibleImageBuffer() and SVGRenderingContext::createImageBuffer to GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=235758
rdar://88478470
Reviewed by Simon Fraser.
Source/WebCore:
The goal of this patch is to record the drawing if the concrete type of
the GraphicsContext is RemoteDisplayListRecorderProxy. Currently all the
intermediate compatible ImageBuffers are of type ConcreteImageBuffer.
The drawing to these ImageBuffers still happens in the WebProcess. Moreover
when we call drawImageBuffer() or clipToImageBuffer() for one of these
intermediate ImageBuffers to a remote ImageBuffer, we have to sink the
intermediate ImageBuffer to a NativeImage and send it to GPUProcess.
To fix this, the new enum 'RenderingMethod' will be used when creating
the ImageBuffer methods. The value of RenderingMethod can be one of the
following constants:
- Default: The type of the created ImageBuffer will match the type of the underlying ImageBuffer of the GraphicsContext.
- DisplayList: A DisplayList::ImageBuffer will be created whose GraphicsContext will be of type DisplayList::RecorderImpl.
- Local: The ImageBuffer will be of type ConcreteImageBuffer and it will hold a platform GraphicsContext.
Also GraphicsContext will provide these functions for creating an
ImageBuffer:
- GraphicsContext::createImageBuffer() (virtual): Creates a ConcreteImageBuffer or a DisplayList::ImageBuffer. The type of the created ImageBuffer is controlled by the argument 'renderingMethod'. Because RemoteDisplayListRecorderProxy is a super class of GraphicsContext, it overrides this method and returns the desired RemoteImageBuffer. RemoteDisplayListRecorderProxy has access to RemotRenderingBackendProxy so it can call its createImageBuffer().
- GraphicsContext::createImageBuffer() (non-virtual): Creates a scaled ImageBuffer and sets the context accordingly. The type of the created ImageBuffer is controlled by the argument 'renderingMethod'.
- GraphicsContext::createCompatibleImageBuffer() (virtual): Takes the scaleFactor() into consideration when creating the ImageBuffer. RemoteDisplayListRecorderProxy will override this function to return an Unaccelerated ImageBuffer if 'renderingMethod != Default'. This is to ensure that for GPUProcess drawing, no intermediate local ImageBuffers will draw to an IOSurface in WebProcess.
Two versions of these functions are provided: one takes a FloatSize and
the other takes a FloatRecct. The FloatRect version expands the four
corners of the rectangle to full pixels.
- html/CustomPaintCanvas.cpp:
(WebCore::CustomPaintCanvas::replayDisplayList const):
- html/CustomPaintImage.cpp:
(WebCore::CustomPaintImage::drawPattern):
- html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::transferToImageBitmap):
(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
- platform/cocoa/ThemeCocoa.mm:
(WebCore::drawApplePayButton):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::drawPattern):
- platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::drawPattern):
- platform/graphics/GradientImage.cpp:
(WebCore::GradientImage::drawPattern):
- platform/graphics/GraphicsContext.cpp:
(WebCore::scaledImageBufferSize):
(WebCore::scaledImageBufferRect):
(WebCore::clampingScaleForImageBufferSize):
(WebCore::GraphicsContext::compatibleImageBufferSize const):
(WebCore::GraphicsContext::createImageBuffer const):
(WebCore::GraphicsContext::createCompatibleImageBuffer const):
(WebCore::GraphicsContext::clipToDrawingCommands):
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::createImageBuffer):
- platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::clone const):
(WebCore::ImageBuffer::createCompatibleBuffer): Deleted.
(WebCore::ImageBuffer::compatibleBufferSize): Deleted.
(WebCore::ImageBuffer::compatibleBufferInfo): Deleted.
(WebCore::ImageBuffer::copyRectToBuffer): Deleted.
- platform/graphics/ImageBuffer.h:
- platform/graphics/NamedImageGeneratedImage.cpp:
(WebCore::NamedImageGeneratedImage::drawPattern):
- platform/graphics/RenderingMode.h:
- platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
(WebCore::PDFDocumentImage::draw):
- platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:
(WebCore::DrawGlyphsRecorder::drawOTSVGRun):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::createImageBuffer const):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::Replayer::applyItem):
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupFilters):
- rendering/RenderLayerBacking.cpp:
(WebCore::patternForDescription):
- rendering/RenderLayerFilters.cpp:
(WebCore::RenderLayerFilters::allocateBackingStoreIfNeeded):
(WebCore::RenderLayerFilters::beginFilterEffect):
- rendering/RenderLayerFilters.h:
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::paintApplePayButton):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintListButtonForInput):
(WebCore::RenderThemeMac::paintProgressBar):
- rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
- rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
- rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
- rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::createTileImage const):
- rendering/svg/RenderSVGResourcePattern.h:
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::clipToImageBuffer):
(WebCore::SVGRenderingContext::bufferForeground):
(WebCore::SVGRenderingContext::createImageBuffer): Deleted.
(WebCore::SVGRenderingContext::clear2DRotation): Deleted.
- rendering/svg/SVGRenderingContext.h:
- svg/SVGFEImageElement.cpp:
(WebCore::scaledImageBufferRect):
(WebCore::clampingScaleForImageBufferSize):
(WebCore::createImageBuffer):
(WebCore::SVGFEImageElement::imageBufferForEffect const):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawPatternForContainer):
Source/WebKit:
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::beginClipToDrawingCommands):
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::createImageBuffer const):
(WebKit::RemoteDisplayListRecorderProxy::createCompatibleImageBuffer const):
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- 8:11 PM Changeset in webkit [289517] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, non-unified build fix after r289474
https://bugs.webkit.org/show_bug.cgi?id=236425
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
- 5:50 PM Changeset in webkit [289516] by
-
- 15 edits1 copy24 adds198 deletes in trunk/LayoutTests
Resync web-platform-tests/html/browsers from upstream
https://bugs.webkit.org/show_bug.cgi?id=236370
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Resync web-platform-tests/html/browsers from upstream 012f446eafc392c7.
- web-platform-tests/html/browsers/*: Updated.
LayoutTests:
- TestExpectations:
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- platform/wpe/TestExpectations:
- tests-options.json:
- 5:50 PM Changeset in webkit [289515] by
-
- 7 edits in trunk/Source/JavaScriptCore
Use local variable pointer for concurrently load value
https://bugs.webkit.org/show_bug.cgi?id=236387
Reviewed by Saam Barati.
Consistently using local pointer to load member fields in
- WriteBarrierStructureID
- JSString's fiber
- Weak
- WriteBarrier<SomeKindOfCell>
to encourage compilers not to load the field twice.
- heap/Weak.cpp:
(JSC::weakClearSlowCase):
- heap/Weak.h:
(JSC::Weak::isHashTableEmptyValue const):
(JSC::Weak::unsafeImpl const):
(JSC::Weak::clear):
(JSC::Weak::impl const):
- heap/WeakInlines.h:
(JSC::Weak<T>::isHashTableDeletedValue const):
(JSC:: const):
(JSC::Weak<T>::operator const):
(JSC::Weak<T>::get const):
(JSC::Weak<T>::leakImpl):
- runtime/JSString.cpp:
(JSC::JSString::dumpToStream):
(JSC::JSString::estimatedSize):
(JSC::JSString::visitChildrenImpl):
- runtime/JSString.h:
(JSC::JSString::fiberConcurrently const):
(JSC::JSString::is8Bit const):
(JSC::JSString::length const):
(JSC::JSString::tryGetValueImpl const):
(JSC::JSString::isSubstring const):
- runtime/WriteBarrier.h:
(JSC::WriteBarrierBase::get const):
(JSC::WriteBarrierBase::operator* const):
(JSC::WriteBarrierBase::operator-> const):
(JSC::WriteBarrierBase::operator bool const):
(JSC::WriteBarrierBase::operator! const):
(JSC::WriteBarrierBase::unvalidatedGet const):
(JSC::WriteBarrierBase::cell const):
(JSC::WriteBarrierStructureID::get const):
(JSC::WriteBarrierStructureID::operator* const):
(JSC::WriteBarrierStructureID::operator-> const):
(JSC::WriteBarrierStructureID::operator bool const):
(JSC::WriteBarrierStructureID::operator! const):
(JSC::WriteBarrierStructureID::unvalidatedGet const):
- 5:27 PM Changeset in webkit [289514] by
-
- 6 edits in trunk/Source
Add some WebKitAdditions extension points in VisionKitCore SPI and softlinking headers
https://bugs.webkit.org/show_bug.cgi?id=236403
rdar://88709972
Reviewed by Aditya Keerthi.
Source/WebCore/PAL:
Add new WebKitAdditions header includes.
- pal/cocoa/VisionKitCoreSoftLink.h:
- pal/cocoa/VisionKitCoreSoftLink.mm:
Source/WebKit:
Declare a new helper function in TextRecognitionUtilities.h.
- Platform/cocoa/TextRecognitionUtilities.h:
- Platform/cocoa/TextRecognitionUtilities.mm:
- 5:27 PM Changeset in webkit [289513] by
-
- 7 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r289383. rdar://problem/88366849
[WebCore] JSValueInWrappedObject is not correct for concurrent GC
https://bugs.webkit.org/show_bug.cgi?id=236277
rdar://88366849
Reviewed by Saam Barati.
JSValueInWrappedObject is broken for concurrent GC's marking. It is using std::variant<> to store Weak / JSValue,
which is not safe if concurrent GC reads it while changing that std::variant. This patch fixes several problems
in JSValueInWrappedObject.
- We must not use std::variant here since concurrent access can happen. We have both JSValue and Weak, and change Weak after fully initialize WeakImpl's content in Weak. To ensure that, we emit storeStoreBarrier before setting Weak to the JSValueInWrappedObject's field.
- Assignment operator & copy constructor are basically wrong for this class as we need a write-barrier to set a value to the field. We remove them and make it explicit that we do not have write-barrier, which reveals that IDBRequest has a semantic bug.
- We also add clear() instead of assigning empty JSValueInWrappedObject. And we ensure that this new clear() works well with concurrent GC threads: we clear the underlying WeakImpl* pointer to nullptr. But since WeakImpl* is kept alive until GC clears weak-related things in its end phase, concurrent GC thread can access the old WeakImpl*.
- Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBRequest.cpp: (WebCore::IDBRequest::setResult): (WebCore::IDBRequest::setResultToStructuredClone): (WebCore::IDBRequest::setResultToUndefined): (WebCore::IDBRequest::willIterateCursor): (WebCore::IDBRequest::didOpenOrIterateCursor):
- Modules/paymentrequest/PaymentMethodChangeEvent.cpp:
- Modules/paymentrequest/PaymentResponse.cpp: (WebCore::PaymentResponse::setDetailsFunction):
- Modules/webaudio/AudioBuffer.cpp: (WebCore::AudioBuffer::getChannelData): (WebCore::AudioBuffer::visitChannelWrappers):
- bindings/js/JSValueInWrappedObject.h: (WebCore::JSValueInWrappedObject::JSValueInWrappedObject): (WebCore::JSValueInWrappedObject::operator JSC::JSValue const): (WebCore::JSValueInWrappedObject::visit const): (WebCore::JSValueInWrappedObject::setWeakly): (WebCore::JSValueInWrappedObject::set): (WebCore::JSValueInWrappedObject::clear): (WebCore::JSValueInWrappedObject::setWithoutBarrier): (WebCore::cachedPropertyValue): (WebCore::JSValueInWrappedObject::makeValue): Deleted. (WebCore::JSValueInWrappedObject::operator=): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:26 PM Changeset in webkit [289512] by
-
- 4 edits1 add in branches/safari-613-branch
Cherry-pick r289450. rdar://problem/88483574
[JSC] YarrJIT inlining should be disabled when we have DotStarEnclosure
https://bugs.webkit.org/show_bug.cgi?id=236332
rdar://88483574
Reviewed by Michael Saboff.
JSTests:
- stress/yarr-inlining-dot-star-enclosure.js: Added. (test):
Source/JavaScriptCore:
YarrJITRegisters::initialStart can be used when m_pattern.m_saveInitialStartValue is true while
it is not defined in YarrJIT inlining. As a result, we emit broken code using InvalidGPRReg.
This patch makes canInline false when m_pattern.m_saveInitialStartValue is true.
- yarr/YarrJIT.cpp:
- yarr/YarrJITRegisters.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:24 PM Changeset in webkit [289511] by
-
- 1 copy in tags/Safari-613.1.16.1.5
Tag Safari-613.1.16.1.5.
- 5:21 PM Changeset in webkit [289510] by
-
- 51 edits41 adds in trunk/LayoutTests
[WPE] Unreviewed test gardening, update baselines of tests failing
- platform/wpe/css1/font_properties/font-expected.png: Added.
- platform/wpe/css1/font_properties/font-expected.txt:
- platform/wpe/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png: Added.
- platform/wpe/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
- platform/wpe/fast/block/margin-collapse/103-expected.png: Added.
- platform/wpe/fast/block/margin-collapse/103-expected.txt:
- platform/wpe/fast/css/font-face-opentype-expected.png: Added.
- platform/wpe/fast/css/font-face-opentype-expected.txt:
- platform/wpe/fast/css/word-space-extra-expected.png:
- platform/wpe/fast/css/word-space-extra-expected.txt:
- platform/wpe/fast/dom/52776-expected.png: Added.
- platform/wpe/fast/dom/52776-expected.txt:
- platform/wpe/fast/table/text-field-baseline-expected.png: Added.
- platform/wpe/fast/table/text-field-baseline-expected.txt:
- platform/wpe/fast/text/atsui-multiple-renderers-expected.png: Added.
- platform/wpe/fast/text/atsui-multiple-renderers-expected.txt:
- platform/wpe/fast/text/atsui-negative-spacing-features-expected.png:
- platform/wpe/fast/text/atsui-negative-spacing-features-expected.txt:
- platform/wpe/fast/text/atsui-spacing-features-expected.png:
- platform/wpe/fast/text/atsui-spacing-features-expected.txt:
- platform/wpe/fast/text/basic/015-expected.png: Added.
- platform/wpe/fast/text/basic/015-expected.txt:
- platform/wpe/fast/text/capitalize-boundaries-expected.png: Added.
- platform/wpe/fast/text/capitalize-boundaries-expected.txt:
- platform/wpe/fast/text/international/arabic-justify-expected.png: Added.
- platform/wpe/fast/text/international/arabic-justify-expected.txt:
- platform/wpe/fast/text/international/bidi-AN-after-L-expected.png: Added.
- platform/wpe/fast/text/international/bidi-AN-after-L-expected.txt:
- platform/wpe/fast/text/international/bidi-AN-after-empty-run-expected.png: Added.
- platform/wpe/fast/text/international/bidi-AN-after-empty-run-expected.txt:
- platform/wpe/fast/text/international/bidi-CS-after-AN-expected.png: Added.
- platform/wpe/fast/text/international/bidi-CS-after-AN-expected.txt:
- platform/wpe/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.png: Added.
- platform/wpe/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
- platform/wpe/fast/text/international/bidi-linebreak-001-expected.png: Added.
- platform/wpe/fast/text/international/bidi-linebreak-001-expected.txt:
- platform/wpe/fast/text/international/bidi-linebreak-002-expected.png: Added.
- platform/wpe/fast/text/international/bidi-linebreak-002-expected.txt:
- platform/wpe/fast/text/international/bidi-linebreak-003-expected.png: Added.
- platform/wpe/fast/text/international/bidi-linebreak-003-expected.txt:
- platform/wpe/fast/text/international/bidi-listbox-atsui-expected.png: Added.
- platform/wpe/fast/text/international/bidi-listbox-atsui-expected.txt:
- platform/wpe/fast/text/international/bidi-mirror-he-ar-expected.png: Added.
- platform/wpe/fast/text/international/bidi-mirror-he-ar-expected.txt:
- platform/wpe/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png: Added.
- platform/wpe/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt:
- platform/wpe/fast/text/international/bidi-neutral-run-expected.png: Added.
- platform/wpe/fast/text/international/bidi-neutral-run-expected.txt:
- platform/wpe/fast/text/international/bold-bengali-expected.png: Added.
- platform/wpe/fast/text/international/bold-bengali-expected.txt:
- platform/wpe/fast/text/international/danda-space-expected.png: Added.
- platform/wpe/fast/text/international/danda-space-expected.txt:
- platform/wpe/fast/text/international/hebrew-vowels-expected.png: Added.
- platform/wpe/fast/text/international/hebrew-vowels-expected.txt:
- platform/wpe/fast/text/international/hindi-whitespace-expected.png: Added.
- platform/wpe/fast/text/international/hindi-whitespace-expected.txt:
- platform/wpe/fast/text/international/thai-baht-space-expected.png: Added.
- platform/wpe/fast/text/international/thai-baht-space-expected.txt:
- platform/wpe/fast/text/international/thai-line-breaks-expected.png: Added.
- platform/wpe/fast/text/international/thai-line-breaks-expected.txt:
- platform/wpe/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png: Added.
- platform/wpe/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
- platform/wpe/fast/text/khmer-lao-font-expected.png: Added.
- platform/wpe/fast/text/khmer-lao-font-expected.txt:
- platform/wpe/fast/text/unicode-variation-selector-expected.png: Added.
- platform/wpe/fast/text/unicode-variation-selector-expected.txt:
- platform/wpe/fast/text/wbr-expected.png:
- platform/wpe/fast/text/wbr-expected.txt:
- platform/wpe/fast/text/wide-zero-width-space-expected.png: Added.
- platform/wpe/fast/text/wide-zero-width-space-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-04-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-04-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-05-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-composite-05-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-conv-03-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-conv-03-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-displace-01-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-displace-01-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-01-b-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-01-b-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-02-b-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-02-b-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-03-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-03-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-04-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-04-f-manual-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-05-f-manual-expected.png: Added.
- platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-image-05-f-manual-expected.txt:
- platform/wpe/tables/mozilla/bugs/bug30692-expected.png: Added.
- platform/wpe/tables/mozilla/bugs/bug30692-expected.txt:
- 5:12 PM Changeset in webkit [289509] by
-
- 2 edits in trunk/Source/WTF
[WK2] Turn on Shared Workers by default
https://bugs.webkit.org/show_bug.cgi?id=236396
Reviewed by Geoffrey Garen.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 4:46 PM Changeset in webkit [289508] by
-
- 17 edits1 copy in trunk/Source/WebKit
[iOS] Take adequate process assertion for the SharedWorker process
https://bugs.webkit.org/show_bug.cgi?id=236271
Reviewed by Brent Fulgham.
Keep track of client processes that rely on a particular SharedWorker process and take the adequate
process assertion to keep the process running on iOS when necessary. This allows us to get rid of
the hack I landed previously to always take a process assertion on behalf of the shared worker
process (even if all its clients are suspended).
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::sharedWorkerServerToContextConnectionIsNoLongerNeeded):
(WebKit::NetworkConnectionToWebProcess::serviceWorkerServerToContextConnectionNoLongerNeeded):
- NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::registerServiceWorkerClient):
(WebKit::WebSWServerConnection::unregisterServiceWorkerClient):
(WebKit::WebSWServerConnection::contextConnectionCreated):
- NetworkProcess/SharedWorker/WebSharedWorker.cpp:
(WebKit::WebSharedWorker::WebSharedWorker):
(WebKit::WebSharedWorker::didCreateContextConnection):
(WebKit::WebSharedWorker::addSharedWorkerObject):
(WebKit::WebSharedWorker::removeSharedWorkerObject):
(WebKit::WebSharedWorker::forEachSharedWorkerObject const):
(WebKit::WebSharedWorker::contextConnection const):
- NetworkProcess/SharedWorker/WebSharedWorker.h:
(WebKit::WebSharedWorker::sharedWorkerObjectsCount const):
(WebKit::WebSharedWorker::sharedWorkerObjects): Deleted.
- NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp:
(WebKit::WebSharedWorkerServer::requestSharedWorker):
(WebKit::WebSharedWorkerServer::didFinishFetchingSharedWorkerScript):
(WebKit::WebSharedWorkerServer::createContextConnection):
(WebKit::WebSharedWorkerServer::removeContextConnection):
(WebKit::WebSharedWorkerServer::contextConnectionCreated):
(WebKit::WebSharedWorkerServer::sharedWorkerObjectIsGoingAway):
(WebKit::WebSharedWorkerServer::shutDownSharedWorker):
(WebKit::WebSharedWorkerServer::removeConnection):
(WebKit::WebSharedWorkerServer::postExceptionToWorkerObject):
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp:
(WebKit::WebSharedWorkerServerToContextConnection::launchSharedWorker):
(WebKit::WebSharedWorkerServerToContextConnection::addSharedWorkerObject):
(WebKit::WebSharedWorkerServerToContextConnection::removeSharedWorkerObject):
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.h:
- Shared/RemoteWorkerType.h: Copied from Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorker.cpp.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::terminateUnresponsiveServiceWorkerProcesses):
(WebKit::NetworkProcessProxy::registerRemoteWorkerClientProcess):
(WebKit::NetworkProcessProxy::unregisterRemoteWorkerClientProcess):
(WebKit::NetworkProcessProxy::remoteWorkerContextConnectionNoLongerNeeded):
(WebKit::NetworkProcessProxy::establishServiceWorkerContextConnectionToNetworkProcess):
(WebKit::NetworkProcessProxy::serviceWorkerContextConnectionNoLongerNeeded): Deleted.
(WebKit::NetworkProcessProxy::registerServiceWorkerClientProcess): Deleted.
(WebKit::NetworkProcessProxy::unregisterServiceWorkerClientProcess): Deleted.
(WebKit::NetworkProcessProxy::sharedWorkerContextConnectionNoLongerNeeded): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setUserAgent):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishServiceWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::establishSharedWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::updateRemoteWorkerUserAgent):
(WebKit::WebProcessPool::terminateServiceWorkers):
(WebKit::WebProcessPool::updateProcessAssertions):
(WebKit::WebProcessPool::updateWorkerUserAgent): Deleted.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createForRemoteWorkers):
(WebKit::WebProcessProxy::didBecomeUnresponsive):
(WebKit::WebProcessProxy::didStartProvisionalLoadForMainFrame):
(WebKit::WebProcessProxy::setRemoteWorkerUserAgent):
(WebKit::WebProcessProxy::updateRemoteWorkerPreferencesStore):
(WebKit::WebProcessProxy::updateRemoteWorkerProcessAssertion):
(WebKit::WebProcessProxy::registerRemoteWorkerClientProcess):
(WebKit::WebProcessProxy::unregisterRemoteWorkerClientProcess):
(WebKit::WebProcessProxy::startServiceWorkerBackgroundProcessing):
(WebKit::WebProcessProxy::endServiceWorkerBackgroundProcessing):
(WebKit::WebProcessProxy::disableRemoteWorkers):
(WebKit::WebProcessProxy::enableRemoteWorkers):
(WebKit::WebProcessProxy::createForWorkers): Deleted.
(WebKit::WebProcessProxy::setWorkerUserAgent): Deleted.
(WebKit::WebProcessProxy::updateWorkerPreferencesStore): Deleted.
(WebKit::WebProcessProxy::updateWorkerProcessAssertion): Deleted.
(WebKit::WebProcessProxy::registerServiceWorkerClientProcess): Deleted.
(WebKit::WebProcessProxy::unregisterServiceWorkerClientProcess): Deleted.
(WebKit::WebProcessProxy::disableWorkers): Deleted.
(WebKit::WebProcessProxy::enableWorkers): Deleted.
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::hasServiceWorkerPageProxy):
- WebKit.xcodeproj/project.pbxproj:
- 3:57 PM Changeset in webkit [289507] by
-
- 7 edits in trunk/LayoutTests
LayoutTests/imported/w3c:
Unreviewed gardening.
Add fuzzy data.
- web-platform-tests/css/css-grid/alignment/grid-item-aspect-ratio-stretch-2.html:
- web-platform-tests/css/motion/offset-rotate-003.html:
LayoutTests:
Unreviewed gardening
Update fuzzy data.
- css1/basic/class_as_selector.html:
- css3/color-filters/color-filter-color-text-decorations.html:
- css3/color-filters/color-filter-text-decoration-shadow.html:
- 3:48 PM Changeset in webkit [289506] by
-
- 3 edits in trunk/Tools
[EWS] Link commit URL to pull request
https://bugs.webkit.org/show_bug.cgi?id=236399
<rdar://problem/88707207>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(GitHub.commit_url): We should link to commit within pull request
(ConfigureBuild.add_pr_details): Pass pr_number to GitHub.commit_url.
- Tools/CISupport/ews-build/steps_unittest.py:
(TestGitHub.test_pr_url_with_repository):
(TestGitHub):
(TestGitHub.test_pr_url_with_invalid_repository):
(TestGitHub.test_commit_url_with_repository):
(TestGitHub.test_commit_url_with_invalid_repository):
Canonical link: https://commits.webkit.org/247040@main
- 2:59 PM Changeset in webkit [289505] by
-
- 1 copy in tags/Safari-614.1.1.5
Tag Safari-614.1.1.5.
- 2:58 PM Changeset in webkit [289504] by
-
- 3 edits in branches/safari-614.1.1-branch/Source/JavaScriptCore
Cherry-pick r289024. rdar://problem/88710933
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp: (JSC::SecureARM64EHashPins::initializeAtStartup): (JSC::SecureARM64EHashPins::allocatePinForCurrentThread): (JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::pinForCurrentThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:58 PM Changeset in webkit [289503] by
-
- 6 edits in branches/safari-614.1.1-branch/Source
Cherry-pick r288970. rdar://problem/88710933
Update computation of FAST_TLS base.
https://bugs.webkit.org/show_bug.cgi?id=235934
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::loadFromTLS32): (JSC::MacroAssemblerARM64::loadFromTLS64): (JSC::MacroAssemblerARM64::storeToTLS32): (JSC::MacroAssemblerARM64::storeToTLS64):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::keyForCurrentThread):
- offlineasm/arm64.rb:
Source/WTF:
- wtf/PlatformHave.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:55 PM Changeset in webkit [289502] by
-
- 4 edits in trunk
WKWebView: WKURLSchemeHandler “request to the end of the resource” produces an invalid header
https://bugs.webkit.org/show_bug.cgi?id=236401
rdar://88528286
Reviewed by Brent Fulgham.
Source/WebCore:
https://webkit.org/b/203302 added support for Range requests to AVAssetResourceLoadingDataRequest,
but it incorrectly used '*' instead of for "last-byte-pos:" for a request to the end of the resource.
API test URLSchemeHandler.Ranges was updated.
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::startLoading):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
- 2:02 PM Changeset in webkit [289501] by
-
- 9 edits in branches/safari-614.1.1-branch/Source
Versioning.
WebKit-7614.1.1.5
- 1:18 PM Changeset in webkit [289500] by
-
- 3 edits1 copy in trunk/Source/WTF
Unreviewed, reverting r289490.
https://bugs.webkit.org/show_bug.cgi?id=236402
EWS gets build failures
Reverted changeset:
"Reland native Xcode build phases for "Copy WTF Headers""
https://bugs.webkit.org/show_bug.cgi?id=235744
https://commits.webkit.org/r289490
- 12:53 PM Changeset in webkit [289499] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Vertical writing mode with RTL text content has incorrect advances
https://bugs.webkit.org/show_bug.cgi?id=236345
Reviewed by Antti Koivisto.
contentRightInInlineDirectionVisualOrder is the visual offset of the adjoining runs ignoring the writing mode (horizontal vs. vertical).
It's visual in the inline direction sense (right to left vs. left to right), but it's not transformed in the context of writing mode, i.e. width and height are not flipped.
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
- 12:48 PM Changeset in webkit [289498] by
-
- 5 edits4 adds in trunk
Dialog element only animates once
https://bugs.webkit.org/show_bug.cgi?id=236274
rdar://88635487
Reviewed by Tim Nguyen and Dean Jackson.
LayoutTests/imported/w3c:
Add two new tests that check that we correctly start, stop and resume animations on <dialog>
and ::backdrop as a <dialog> element is open, closed and open again.
- web-platform-tests/css/css-animations/dialog-animation-expected.txt: Added.
- web-platform-tests/css/css-animations/dialog-animation.html: Added.
- web-platform-tests/css/css-animations/dialog-backdrop-animation-expected.txt: Added.
- web-platform-tests/css/css-animations/dialog-backdrop-animation.html: Added.
- web-platform-tests/css/css-animations/support/testcommon.js:
(addElement):
(addDiv):
Source/WebCore:
Two issues related to CSS Animation surfaced in this bug which animates both <dialog>
and its ::backdrop as the dialog is open and eventually re-opened.
The first issue was that we didn't clear all CSS Animations state when a <dialog> was
closed and its style was set todisplay: none. We now use the clearCSSAnimationsForStyleable()
function (static so that it's not exposed on the Styleable struct) to correctly clear
such state both when we identify a Styleable is newly gettingdisplay: noneand when
cancelDeclarativeAnimations() was called. This allows us to remove removeCSSAnimationCreatedByMarkup()
a fair bit of work to clear CSS Animation state per-animation when we only ever used that
function for _all_ animations.
The second issue was that we never called cancelDeclarativeAnimations() for ::backdrop.
We now do that inside of Element::removeFromTopLayer() at a point where the code in
Styleable::fromRenderer() will still work as the element will still be contained in
Document::topLayerElements().
Tests: imported/w3c/web-platform-tests/css/css-animations/dialog-animation.html
imported/w3c/web-platform-tests/css/css-animations/dialog-backdrop-animation.html
- dom/Element.cpp:
(WebCore::Element::removeFromTopLayer):
- style/Styleable.cpp:
(WebCore::clearCSSAnimationsForStyleable):
(WebCore::Styleable::cancelDeclarativeAnimations const):
(WebCore::Styleable::updateCSSAnimations const):
(WebCore::removeCSSAnimationCreatedByMarkup): Deleted.
- 12:36 PM Changeset in webkit [289497] by
-
- 4 edits in trunk
compositing/masks/compositing-clip-path-mask-change.html is failing for ports using TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=236323
Reviewed by Don Olmstead.
Source/WebCore:
Apple ports don't have this issue because GraphicsLayerCA support
Shape layer for clip-path.
The painting phase of the existing mask layer should be updated if
clip-path or mask are changed.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateMaskingLayer):
LayoutTests:
- platform/gtk/TestExpectations:
- 12:25 PM Changeset in webkit [289496] by
-
- 5 edits in trunk/Tools
Move macOS EWS to Big Sur
https://bugs.webkit.org/show_bug.cgi?id=236035
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/config.json:
- CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- CISupport/ews-build/config.json:
- CISupport/ews-build/factories_unittest.py:
(TestExpectedBuildSteps):
Canonical link: https://commits.webkit.org/247033@main
- 12:20 PM Changeset in webkit [289495] by
-
- 22 edits in trunk/Source
[model] improve sizing on macOS
https://bugs.webkit.org/show_bug.cgi?id=236233
<rdar://problem/88569881>
Reviewed by Simon Fraser.
Source/WebCore:
We detect when the <model> layer size changes under RenderLayerBacking::updateGeometry()
and inform the associated HTMLModelElement through the new parentLayerSizeMayHaveChanged()
method that the size has changed. We then inform the backing player that sizeDidChange().
- Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::createModelPlayer):
(WebCore::HTMLModelElement::parentLayerSizeMayHaveChanged):
(WebCore::HTMLModelElement::platformLayerSize const):
- Modules/model-element/HTMLModelElement.h:
- Modules/model-element/ModelPlayer.h:
- Modules/model-element/dummy/DummyModelPlayer.cpp:
(WebCore::DummyModelPlayer::sizeDidChange):
- Modules/model-element/dummy/DummyModelPlayer.h:
- Modules/model-element/scenekit/SceneKitModelPlayer.h:
- Modules/model-element/scenekit/SceneKitModelPlayer.mm:
(WebCore::SceneKitModelPlayer::sizeDidChange):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry):
Source/WebCore/PAL:
Add newly-used CAFenceHandle and ASVInlinePreview SPIs.
- pal/spi/cocoa/QuartzCoreSPI.h:
- pal/spi/mac/SystemPreviewSPI.h:
Source/WebKit:
We override the new ModelPlayer::sizeDidChange() virtual method on ARKitInlinePreviewModelPlayerMac
to be notified when the <model> layer's has changed size. We then send the new ModelElementSizeDidChange
message to the UI process which will yield a call to ModelElementController::modelElementSizeDidChange().
In that new method, we call -[ASVInlinePreview updateFrame:completionHandler:] which provides us with a
CAFenceHandle which we copy to create a MachSendRight to send back to the Web process in the IPC callback.
Back in the Web process, we install this fence on the drawing area and finally call -[ASVInlinePreview
setFrameWithinFencedTransaction:] to complete the sizing update on both the ASVInlinePreview instances.
- UIProcess/Cocoa/ModelElementControllerCocoa.mm:
(WebKit::ModelElementController::modelElementSizeDidChange):
- UIProcess/ModelElementController.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::modelElementSizeDidChange):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/Model/ARKitInlinePreviewModelPlayer.h:
- WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:
(WebKit::ARKitInlinePreviewModelPlayer::sizeDidChange):
- WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.h:
- WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:
(WebKit::ARKitInlinePreviewModelPlayerMac::load):
(WebKit::ARKitInlinePreviewModelPlayerMac::sizeDidChange):
- 11:48 AM Changeset in webkit [289494] by
-
- 4 edits in trunk
Add TAO check to PerformanceResourceTiming::fetchStart
https://bugs.webkit.org/show_bug.cgi?id=236379
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-09
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/resource-timing/cross-origin-start-end-time-with-redirects-expected.txt:
Source/WebCore:
This matches the spec and was recently changed in Chromium.
<https://chromium-review.googlesource.com/c/chromium/src/+/3448777>
Covered by a newly passing WPT test.
- page/PerformanceResourceTiming.cpp:
(WebCore::fetchStart):
- 11:39 AM Changeset in webkit [289493] by
-
- 4 edits in trunk/Source/WebCore
Register strings in CSSTokenizer created from preprocessing
https://bugs.webkit.org/show_bug.cgi?id=236309
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-09
Reviewed by Michael Saboff.
Register strings in CSSTokenizer created from preprocessing. This will align with
what is currently done for strings with escapes in CSSTokenizer::consumeName().
- css/parser/CSSTokenizer.cpp:
(WebCore::CSSTokenizer::preprocessString):
(WebCore::CSSTokenizer::tryCreate):
(WebCore::CSSTokenizer::CSSTokenizer):
(WebCore::preprocessString): Deleted.
- css/parser/CSSTokenizer.h:
- css/parser/CSSTokenizerInputStream.h:
- 11:35 AM Changeset in webkit [289492] by
-
- 8 edits in trunk/Source
DisplayListRecorder implementations are not able to obtain extra information out of source ImageBuffers
https://bugs.webkit.org/show_bug.cgi?id=236296
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-09
Reviewed by Wenson Hsieh.
Source/WebCore:
Pass ImageBuffer& to various recording commands instead of the resource identifier.
This way implementations of DisplayListRecorder can obtain additional information
about the ImageBuffer, such as dependency information. This additional information is
not neccessarily needed for in-process display lists.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawFilteredImageBuffer):
(WebCore::DisplayList::Recorder::drawImageBuffer):
(WebCore::DisplayList::Recorder::clipToImageBuffer):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::recordClipToImageBuffer):
(WebCore::DisplayList::RecorderImpl::recordDrawFilteredImageBuffer):
(WebCore::DisplayList::RecorderImpl::recordDrawImageBuffer):
- platform/graphics/displaylists/DisplayListRecorderImpl.h:
Source/WebKit:
RecorderImpl now passes ImageBuffers to the DisplayListRecorder calls.
Use the ImageBuffer& to get the resource identifier.
In future commits these places will obtain the read references, which
record the depenedency information needed for RemoteImageBuffers
created in multiple threads.
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordClipToImageBuffer):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawFilteredImageBuffer):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawImageBuffer):
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- 11:31 AM Changeset in webkit [289491] by
-
- 1 edit1 add in trunk/Source/bmalloc
[libpas] add documentation
https://bugs.webkit.org/show_bug.cgi?id=236385
Rubber stamped by Mark Lam.
- libpas/Documentation.md: Added.
- 10:56 AM Changeset in webkit [289490] by
-
- 3 edits1 delete in trunk/Source/WTF
Reland native Xcode build phases for "Copy WTF Headers"
https://bugs.webkit.org/show_bug.cgi?id=235744
Reviewed by Alexey Proskuryakov.
Changes since revert of r289256:
ICU headers, which are only needed for non-internal builds, are tracked in WTF.xcodeproj and
copied to /usr/local/include/unicode when building with the public SDK.
- Configurations/WTF.xcconfig: Skip coping ICU headers when USE_INTERNAL_SDK=YES.
- WTF.xcodeproj/project.pbxproj: Add ICU header directory and copy files phase.
- 10:51 AM Changeset in webkit [289489] by
-
- 6 edits in trunk
Worker scripts should always be decoded as UTF-8
https://bugs.webkit.org/show_bug.cgi?id=236319
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing.
- web-platform-tests/workers/semantics/encodings/001-expected.txt:
- web-platform-tests/workers/semantics/encodings/002-expected.txt:
Source/WebCore:
Worker scripts should always be decoded as UTF-8:
No new tests, rebaselined existing tests.
- workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::didReceiveData):
- 10:50 AM Changeset in webkit [289488] by
-
- 1 copy in tags/Safari-613.1.16.31.2
Tag Safari-613.1.16.31.2.
- 10:50 AM Changeset in webkit [289487] by
-
- 6 edits in branches/safari-613.1.16.31-branch/Source
Cherry-pick r288970. rdar://problem/88459807
Update computation of FAST_TLS base.
https://bugs.webkit.org/show_bug.cgi?id=235934
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::loadFromTLS32): (JSC::MacroAssemblerARM64::loadFromTLS64): (JSC::MacroAssemblerARM64::storeToTLS32): (JSC::MacroAssemblerARM64::storeToTLS64):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::keyForCurrentThread):
- offlineasm/arm64.rb:
Source/WTF:
- wtf/PlatformHave.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:48 AM Changeset in webkit [289486] by
-
- 9 edits in branches/safari-613.1.16.31-branch/Source
Versioning.
WebKit-7613.1.16.31.2
- 10:45 AM Changeset in webkit [289485] by
-
- 5 edits in trunk/Source
Move Safe Browsing knowledge into SafariSafeBrowsing framework
https://bugs.webkit.org/show_bug.cgi?id=231692
Patch by Eliot Hsu <eliot_hsu@apple.com> on 2022-02-09
Reviewed by Alex Christensen.
Following up on an old FIXME, move Safari Safe Browsing-specific
knowledge out of WebKit and into the SafariSafeBrowsing framework.
This includes things like the Learn More URL, the Report an Error URL,
etc.
Source/WebKit:
- Platform/spi/Cocoa/SafeBrowsingSPI.h:
- UIProcess/Cocoa/SafeBrowsingWarningCocoa.mm:
(WebKit::malwareDetailsBase):
(WebKit::learnMoreURL):
(WebKit::reportAnErrorBase):
(WebKit::localizedProvider):
Rely on new SafariSafeBrowsing calls to provide
URL/provider information about Safe Browsing,
when available
Source/WTF:
- wtf/PlatformHave.h:
- 10:39 AM Changeset in webkit [289484] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
Timeout due to turning WebGL on by default on bots. Will be addressed in b234536.
- platform/ios-wk2/TestExpectations:
- 10:30 AM Changeset in webkit [289483] by
-
- 29 edits in trunk
self.location.href is incorrect in shared workers in case of redirects
https://bugs.webkit.org/show_bug.cgi?id=236340
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing.
- web-platform-tests/workers/baseurl/alpha/importScripts-in-sharedworker-expected.txt:
- web-platform-tests/workers/baseurl/alpha/xhr-in-sharedworker-expected.txt:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect-sharedworker-expected.txt:
Source/WebCore:
self.location.href is incorrect in shared workers in case of redirects. It should be
the URL of the last request, not the first one.
No new tests, rebaselined existing tests.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::redirectReceived):
- loader/ThreadableLoaderClient.h:
(WebCore::ThreadableLoaderClient::redirectReceived):
- loader/ThreadableLoaderClientWrapper.h:
(WebCore::ThreadableLoaderClientWrapper::redirectReceived):
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::redirectReceived):
- loader/WorkerThreadableLoader.h:
- workers/Worker.cpp:
(WebCore::Worker::notifyFinished):
- workers/WorkerFetchResult.h:
(WebCore::WorkerFetchResult::isolatedCopy const):
(WebCore::workerFetchError):
(WebCore::WorkerFetchResult::encode const):
(WebCore::WorkerFetchResult::decode):
- workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::WorkerScriptLoader::redirectReceived):
(WebCore::WorkerScriptLoader::fetchResult const):
- workers/WorkerScriptLoader.h:
(WebCore::WorkerScriptLoader::script const):
(WebCore::WorkerScriptLoader::lastRequestURL const):
(WebCore::WorkerScriptLoader::script): Deleted.
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerJob.cpp:
(WebCore::ServiceWorkerJob::notifyFinished):
- workers/service/ServiceWorkerJobClient.h:
- workers/shared/SharedWorkerScriptLoader.cpp:
(WebCore::SharedWorkerScriptLoader::notifyFinished):
- workers/shared/context/SharedWorkerThreadProxy.cpp:
(WebCore::generateWorkerParameters):
(WebCore::SharedWorkerThreadProxy::SharedWorkerThreadProxy):
- workers/shared/context/SharedWorkerThreadProxy.h:
Source/WebKit:
self.location.href is incorrect in shared workers in case of redirects. It should be the URL of
the last request, not the first one.
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
(WebKit::ServiceWorkerSoftUpdateLoader::didFinishLoading):
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp:
(WebKit::WebSharedWorkerServerToContextConnection::launchSharedWorker):
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp:
(WebKit::WebSharedWorkerContextManagerConnection::launchSharedWorker):
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.h:
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.messages.in:
- 10:17 AM Changeset in webkit [289482] by
-
- 5 edits in trunk
[WebAuthn] Specify LocalAuthenticatorAccessGroup when importing credentials
https://bugs.webkit.org/show_bug.cgi?id=236311
rdar://88394179
Reviewed by Brent Fulgham.
Source/WebKit:
Tested on device and added check for accessGroup in API test.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel importLocalAuthenticatorCredential:error:]):
(+[_WKWebAuthenticationPanel importLocalAuthenticatorWithAccessGroup:credential:error:]):
Tools:
Added check for accessGroup to API test.
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::WebCore::addKeyToKeychain):
(TestWebKitAPI::TEST):
- 10:16 AM Changeset in webkit [289481] by
-
- 4 edits1 add in branches/safari-613.1.16.1-branch
Cherry-pick r289450. rdar://problem/88483574
[JSC] YarrJIT inlining should be disabled when we have DotStarEnclosure
https://bugs.webkit.org/show_bug.cgi?id=236332
rdar://88483574
Reviewed by Michael Saboff.
JSTests:
- stress/yarr-inlining-dot-star-enclosure.js: Added. (test):
Source/JavaScriptCore:
YarrJITRegisters::initialStart can be used when m_pattern.m_saveInitialStartValue is true while
it is not defined in YarrJIT inlining. As a result, we emit broken code using InvalidGPRReg.
This patch makes canInline false when m_pattern.m_saveInitialStartValue is true.
- yarr/YarrJIT.cpp:
- yarr/YarrJITRegisters.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:12 AM Changeset in webkit [289480] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] MediaPlayerPrivateGStreamer mishandles failure to create WebKitTextCombiner
https://bugs.webkit.org/show_bug.cgi?id=233230
<rdar://problem/86863068>
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-09
Reviewed by Xabier Rodriguez-Calvar.
Fallback to fakesink in case fakevideosink is not available. Also no longer RELEASE_ASSERT
in makeGStreamerElement and makeGStreamerBin. We should gracefully handle call sites when
these functions return nullptr.
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::makeGStreamerElement):
(WebCore::makeGStreamerBin):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createVideoSink):
- 10:05 AM Changeset in webkit [289479] by
-
- 10 edits in trunk
Exceptions are not properly reported when initializing a worker as a module
https://bugs.webkit.org/show_bug.cgi?id=236334
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing.
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/exception-in-onerror-expected.txt:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/message-module-DOMException-expected.txt:
Source/WebCore:
No new tests, rebaselined existing tests.
- workers/WorkerOrWorkletScriptController.cpp:
(WebCore::WorkerOrWorkletScriptController::linkAndEvaluateModule):
linkAndEvaluateModule() was failing to report the exception, unlike
evaluate() (which is used for classic workers).
- 9:43 AM Changeset in webkit [289478] by
-
- 9 edits in branches/safari-613.1.16.1-branch/Source
Versioning.
WebKit-7613.1.16.1.5
- 9:14 AM Changeset in webkit [289477] by
-
- 7 edits in trunk
Stop obfuscating exceptions thrown by scripts in data URLs
https://bugs.webkit.org/show_bug.cgi?id=236329
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing or whose output looks different.
- web-platform-tests/workers/dedicated-worker-in-data-url-context.window-expected.txt:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/004-expected.txt:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/006-expected.txt:
Source/WebCore:
Stop obfuscating exceptions thrown by scripts in data URLs. This is causing some WPT tests to fail.
No new tests, rebaselined existing tests.
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::canIncludeErrorDetails):
- 9:06 AM Changeset in webkit [289476] by
-
- 11 edits in trunk/Source/WebCore
AudioBuffer should take a lock while visiting m_channelWrappers
https://bugs.webkit.org/show_bug.cgi?id=236279
Reviewed by Keith Miller.
This patch fixes AudioBuffer's m_channelWrappers concurrency bug and related issues.
- This patch removes problematic (and almost always wrong) move operator of JSValueInWrappedObject. To do that, we fixed AudioBuffer's concurrency issue where we access m_channelWrappers while it can be cleared concurrently in AudioBuffer::releaseMemory.
- MessageEvent's m_data access is broken with concurrent GC thread. We must take a lock. And we must not use JSValueInWrappedObject in std::variant if it can be changed after constructor invocation.
- Use JSValueInWrappedObject::clear instead of move with empty value.
- File https://bugs.webkit.org/show_bug.cgi?id=236353. AbortSignal, MessageEvent, and CustomEvent miss write-barrier, which is semantically wrong.
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::AudioBuffer):
(WebCore::AudioBuffer::releaseMemory):
(WebCore::AudioBuffer::visitChannelWrappers):
- Modules/webaudio/AudioBuffer.h:
- Modules/webaudio/AudioWorkletProcessor.cpp:
(WebCore::AudioWorkletProcessor::buildJSArguments):
- bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data const):
(WebCore::JSMessageEvent::visitAdditionalChildren):
- bindings/js/JSValueInWrappedObject.h:
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::signalAbort):
- dom/CustomEvent.cpp:
(WebCore::CustomEvent::initCustomEvent):
- dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
(WebCore::m_jsData):
(WebCore::MessageEvent::initMessageEvent):
(WebCore::MessageEvent::memoryCost const):
(WebCore::m_ports): Deleted.
- dom/MessageEvent.h:
- page/History.cpp:
(WebCore::History::stateObjectAdded):
- 8:56 AM Changeset in webkit [289475] by
-
- 3 edits in trunk/JSTests
Skip failing shadow realms tests on MIPS
https://bugs.webkit.org/show_bug.cgi?id=236361
Unreviewed gardening.
- stress/shadow-realm-evaluate.js:
- stress/shadow-realm-import-value.js:
- 8:55 AM Changeset in webkit [289474] by
-
- 57 edits1 copy9 adds in trunk
Manage IndexedDB storage by origin
https://bugs.webkit.org/show_bug.cgi?id=234925
<rdar://problem/87555014>
Reviewed by Chris Dumez.
Source/WebCore:
Both WebKit and WebKitLegacy used IDBServer to manage UniqueIDBDatabases, and UniqueIDBDatabase pointed to
IDBServer. Now that WebKit uses WebKit::IDBStorageManager to manage UniqueIDBDatabases. We untie the
knot between IDBServer and UniqueIDBDatabase by adding a new abstract class UniqueIDBDatabaseManager and make
UniqueIDBDatabase point to UniqueIDBDatabaseManager.
Also, as quota check is no longer async according to changes in WebKit, we need to update operations in
UniqueIDBDatabase to adopt the change.
Covered by existing tests.
- Headers.cmake:
- Modules/indexeddb/IDBDatabaseIdentifier.h:
- Modules/indexeddb/server/IDBConnectionToClient.h:
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::registerConnection):
(WebCore::IDBServer::IDBServer::unregisterConnection):
(WebCore::IDBServer::IDBServer::createBackingStore):
(WebCore::IDBServer::IDBServer::upgradedDatabaseDirectory):
(WebCore::IDBServer::IDBServer::registerDatabaseConnection): Deleted.
(WebCore::IDBServer::IDBServer::unregisterDatabaseConnection): Deleted.
(WebCore::IDBServer::IDBServer::closeAndTakeUniqueIDBDatabase): Deleted.
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::MemoryIDBBackingStore):
(WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::create):
(WebCore::IDBServer::MemoryObjectStore::MemoryObjectStore):
- Modules/indexeddb/server/MemoryObjectStore.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::SQLiteIDBBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::encodeDatabaseName):
(WebCore::IDBServer::SQLiteIDBBackingStore::decodeDatabaseName):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::filenameForDatabaseName const): Deleted.
(WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabaseDirectoryWithUpgrade): Deleted.
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::manager):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperationAfterSpaceCheck):
(WebCore::IDBServer::UniqueIDBDatabase::deleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::renameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::createIndex):
(WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::putOrAddAfterSpaceCheck):
(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabase::getCount):
(WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabase::openCursor):
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::hasDataInMemory const):
- Modules/indexeddb/server/UniqueIDBDatabase.h:
(WebCore::IDBServer::UniqueIDBDatabase::server): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::~UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::manager):
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::server): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabaseManager.h: Added.
(WebCore::IDBServer::UniqueIDBDatabaseManager::~UniqueIDBDatabaseManager):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::~UniqueIDBDatabaseTransaction):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
- Modules/indexeddb/shared/IDBError.h:
(WebCore::IDBError::operator bool const):
- Modules/indexeddb/shared/IDBRequestData.h:
- Modules/indexeddb/shared/IDBResourceIdentifier.h:
(WebCore::IDBResourceIdentifier::operator!= const):
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
In network process, IndexedDB data is managed by WebKit::WebIDBServer. Each session owns a WebIDBServer
(IDBServer) and each IDBServer owns one or more UniqueIDBDatabases (resprenting one actual database that
IDBDatabase connects to, can be identified by {session, origin, name}). Now that we have NetworkStorageManager,
which manages session storage by origin, we can merge WebIDBServer with NetworkStorageManager, since IndexedDB
storage is not shared across origins.
The old structure is:
NetworkSession - WebIDBServer - IDBServer - UniqueIDBDatabases
The new structure is:
NetworkSession - NetworkStorageManager - OriginStorageManager - IDBStorageManager - UniqueIDBDatabase
To complete this transition, we need to make a few changes:
- Web process now sends IndexedDB related messages to NetworkStorageManager instead of WebIDBServer.
- Some messages are sent to operate on UniqueIDBDatabaseConnection or UniqueIDBDatabaseTransaction, and they
use identifiers to specify the target. Therefore, NetworkStorageManagers needs to know the mapping between
identifiers and target objects. A new clas IDBStorageRegistry is added record this mapping. Each
NetworkStorageManager owns a IDBStorageRegistry and it passes IDBStorageRegistry to IDBStorageManager,
IDBStorageManager will register objects to IDBStorageRegistry and NetworkStorageManager can do search via
IDBStorageRegistry.
- Quota check for IndexedDB operations becomes async by adding new QuotaManager class, which is similar to
WebCore::StorageQuotaManager but provides async interfaces.
We used to block the IDBServer thread when it is waiting for quota check result from UI process, this is fine
because IDBServer runs on its own thread. Now that IDBStorageManager runs on the same thread as the other
storage types, we cannot block the thread on quota check.
- Rename WebIDBConnectionToClient to IDBStorageConnectionToClient to reflect the change on the structure. Also,
IDBStorageConnectionToClient does not keep reference to the IPC::Connection now, it only records
IPC::Connection::UniqueID.
- IndexedDB data may be put in different version dirctories. We used to migrate database to new version
diretory when the database is accessed. As IDBStorageManager now manages IndexedDB data of one origin, it's
simpler if it only keeps track of one directory. Therefore, we now migrate all databases of one origin
when the origin is accessed (see IDBStorageManager::idbStorageOriginDirectory).
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::updateQuotaBasedOnSpaceUsageForTesting):
(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFilesForIndexedDB):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::addWebsiteDataStore):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):
(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::resume):
(WebKit::NetworkProcess::resetQuota):
(WebKit::NetworkProcess::didIncreaseQuota):
(WebKit::NetworkProcess::renameOriginInWebsiteData):
(WebKit::NetworkProcess::storageQuotaManager):
(WebKit::NetworkProcess::connectionToWebProcessClosed):
(WebKit::NetworkProcess::suspendIDBServers): Deleted.
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::shouldSuspendIDBServers const): Deleted.
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::invalidateAndCancel):
(WebKit::NetworkSession::addStorageManagerSession):
(WebKit::NetworkSession::ensureWebIDBServer): Deleted.
(WebKit::NetworkSession::closeIDBServer): Deleted.
(WebKit::NetworkSession::addIndexedDatabaseSession): Deleted.
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::webIDBServer): Deleted.
(WebKit::NetworkSession::hasIDBDatabasePath const): Deleted.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::storagePath):
(WebKit::CacheStorage::Engine::diskUsage):
(WebKit::CacheStorage::Engine::requestSpace):
- NetworkProcess/cache/CacheStorageEngine.h:
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::requestSpace):
- NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::setIsHoldingLockedFiles):
- NetworkProcess/storage/IDBStorageConnectionToClient.cpp: Added.
(WebKit::IDBStorageConnectionToClient::IDBStorageConnectionToClient):
(WebKit::IDBStorageConnectionToClient::~IDBStorageConnectionToClient):
(WebKit::IDBStorageConnectionToClient::connectionToClient):
(WebKit::IDBStorageConnectionToClient::didGetResult):
(WebKit::IDBStorageConnectionToClient::didDeleteDatabase):
(WebKit::IDBStorageConnectionToClient::didOpenDatabase):
(WebKit::IDBStorageConnectionToClient::didStartTransaction):
(WebKit::IDBStorageConnectionToClient::didAbortTransaction):
(WebKit::IDBStorageConnectionToClient::didCommitTransaction):
(WebKit::IDBStorageConnectionToClient::didCreateObjectStore):
(WebKit::IDBStorageConnectionToClient::didDeleteObjectStore):
(WebKit::IDBStorageConnectionToClient::didRenameObjectStore):
(WebKit::IDBStorageConnectionToClient::didClearObjectStore):
(WebKit::IDBStorageConnectionToClient::didCreateIndex):
(WebKit::IDBStorageConnectionToClient::didDeleteIndex):
(WebKit::IDBStorageConnectionToClient::didRenameIndex):
(WebKit::IDBStorageConnectionToClient::didPutOrAdd):
(WebKit::IDBStorageConnectionToClient::didGetRecord):
(WebKit::IDBStorageConnectionToClient::didGetAllRecords):
(WebKit::IDBStorageConnectionToClient::didGetCount):
(WebKit::IDBStorageConnectionToClient::didDeleteRecord):
(WebKit::IDBStorageConnectionToClient::didOpenCursor):
(WebKit::IDBStorageConnectionToClient::didIterateCursor):
(WebKit::IDBStorageConnectionToClient::didGetAllDatabaseNamesAndVersions):
(WebKit::IDBStorageConnectionToClient::fireVersionChangeEvent):
(WebKit::IDBStorageConnectionToClient::didCloseFromServer):
(WebKit::IDBStorageConnectionToClient::notifyOpenDBRequestBlocked):
- NetworkProcess/storage/IDBStorageConnectionToClient.h: Added.
- NetworkProcess/storage/IDBStorageManager.cpp: Added.
(WebKit::migrateOriginData):
(WebKit::IDBStorageManager::idbStorageOriginDirectory):
(WebKit::IDBStorageManager::idbStorageSize):
(WebKit::getOriginsForVersion):
(WebKit::IDBStorageManager::originsOfIDBStorageData):
(WebKit::IDBStorageManager::IDBStorageManager):
(WebKit::IDBStorageManager::isActive const):
(WebKit::IDBStorageManager::hasDataInMemory const):
(WebKit::IDBStorageManager::closeDatabasesForDeletion):
(WebKit::IDBStorageManager::stopDatabaseActivitiesForSuspend):
(WebKit::IDBStorageManager::getOrCreateUniqueIDBDatabase):
(WebKit::IDBStorageManager::openDatabase):
(WebKit::IDBStorageManager::deleteDatabase):
(WebKit::IDBStorageManager::getAllDatabaseNamesAndVersions):
(WebKit::IDBStorageManager::openDBRequestCancelled):
(WebKit::IDBStorageManager::registerConnection):
(WebKit::IDBStorageManager::unregisterConnection):
(WebKit::IDBStorageManager::registerTransaction):
(WebKit::IDBStorageManager::unregisterTransaction):
(WebKit::IDBStorageManager::createBackingStore):
(WebKit::IDBStorageManager::requestSpace):
- NetworkProcess/storage/IDBStorageManager.h: Added.
- NetworkProcess/storage/IDBStorageRegistry.cpp: Added.
(WebKit::IDBStorageRegistry::ensureConnectionToClient):
(WebKit::IDBStorageRegistry::removeConnectionToClient):
(WebKit::IDBStorageRegistry::registerConnection):
(WebKit::IDBStorageRegistry::unregisterConnection):
(WebKit::IDBStorageRegistry::registerTransaction):
(WebKit::IDBStorageRegistry::unregisterTransaction):
(WebKit::IDBStorageRegistry::connection):
(WebKit::IDBStorageRegistry::transaction):
- NetworkProcess/storage/IDBStorageRegistry.h: Added.
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::create):
(WebKit::NetworkStorageManager::NetworkStorageManager):
(WebKit::NetworkStorageManager::canHandleTypes):
(WebKit::NetworkStorageManager::stopReceivingMessageFromConnection):
(WebKit::NetworkStorageManager::localOriginStorageManager):
(WebKit::NetworkStorageManager::didIncreaseQuota):
(WebKit::NetworkStorageManager::getAllOrigins):
(WebKit::NetworkStorageManager::moveData):
(WebKit::NetworkStorageManager::suspend):
(WebKit::NetworkStorageManager::registerTemporaryBlobFilePaths):
(WebKit::NetworkStorageManager::requestSpace):
(WebKit::NetworkStorageManager::resetQuotaForTesting):
(WebKit::NetworkStorageManager::resetQuotaUpdatedBasedOnUsageForTesting):
(WebKit::NetworkStorageManager::openDatabase):
(WebKit::NetworkStorageManager::openDBRequestCancelled):
(WebKit::NetworkStorageManager::deleteDatabase):
(WebKit::NetworkStorageManager::establishTransaction):
(WebKit::NetworkStorageManager::databaseConnectionPendingClose):
(WebKit::NetworkStorageManager::databaseConnectionClosed):
(WebKit::NetworkStorageManager::abortOpenAndUpgradeNeeded):
(WebKit::NetworkStorageManager::didFireVersionChangeEvent):
(WebKit::NetworkStorageManager::abortTransaction):
(WebKit::NetworkStorageManager::commitTransaction):
(WebKit::NetworkStorageManager::didFinishHandlingVersionChangeTransaction):
(WebKit::NetworkStorageManager::createObjectStore):
(WebKit::NetworkStorageManager::deleteObjectStore):
(WebKit::NetworkStorageManager::renameObjectStore):
(WebKit::NetworkStorageManager::clearObjectStore):
(WebKit::NetworkStorageManager::createIndex):
(WebKit::NetworkStorageManager::deleteIndex):
(WebKit::NetworkStorageManager::renameIndex):
(WebKit::NetworkStorageManager::putOrAdd):
(WebKit::NetworkStorageManager::getRecord):
(WebKit::NetworkStorageManager::getAllRecords):
(WebKit::NetworkStorageManager::getCount):
(WebKit::NetworkStorageManager::deleteRecord):
(WebKit::NetworkStorageManager::openCursor):
(WebKit::NetworkStorageManager::iterateCursor):
(WebKit::NetworkStorageManager::getAllDatabaseNamesAndVersions):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.messages.in:
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::StorageBucket):
(WebKit::OriginStorageManager::StorageBucket::toWebsiteDataType):
(WebKit::OriginStorageManager::StorageBucket::toStorageIdentifier):
(WebKit::OriginStorageManager::StorageBucket::idbStorageManager):
(WebKit::OriginStorageManager::StorageBucket::existingIDBStorageManager):
(WebKit::OriginStorageManager::StorageBucket::isActive const):
(WebKit::OriginStorageManager::StorageBucket::isEmpty const):
(WebKit::OriginStorageManager::StorageBucket::deleteData):
(WebKit::OriginStorageManager::StorageBucket::moveData):
(WebKit::OriginStorageManager::StorageBucket::fetchDataTypesInListFromMemory):
(WebKit::OriginStorageManager::StorageBucket::fetchDataTypesInListFromDisk):
(WebKit::OriginStorageManager::StorageBucket::deleteIDBStorageData):
(WebKit::createQuotaManager):
(WebKit::OriginStorageManager::OriginStorageManager):
(WebKit::OriginStorageManager::defaultBucket):
(WebKit::OriginStorageManager::quotaManager):
(WebKit::OriginStorageManager::idbStorageManager):
(WebKit::OriginStorageManager::existingIDBStorageManager):
(WebKit::OriginStorageManager::moveData):
- NetworkProcess/storage/OriginStorageManager.h:
- NetworkProcess/storage/QuotaManager.cpp: Added.
(WebKit::QuotaManager::create):
(WebKit::QuotaManager::QuotaManager):
(WebKit::QuotaManager::requestSpace):
(WebKit::QuotaManager::handleRequests):
(WebKit::QuotaManager::grantWithCurrentQuota):
(WebKit::QuotaManager::grantFastPath):
(WebKit::QuotaManager::didIncreaseQuota):
(WebKit::QuotaManager::resetQuotaUpdatedBasedOnUsageForTesting):
(WebKit::QuotaManager::resetQuotaForTesting):
- NetworkProcess/storage/QuotaManager.h: Added.
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
- Shared/WebsiteData/QuotaIncreaseRequestIdentifier.h: Added.
- Shared/WebsiteDataStoreParameters.h:
- Sources.txt:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::increaseQuota):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::perThirdPartyOriginStorageQuota const):
- UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::defaultPerOriginQuota):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::deleteDatabase):
(WebKit::WebIDBConnectionToServer::openDatabase):
(WebKit::WebIDBConnectionToServer::abortTransaction):
(WebKit::WebIDBConnectionToServer::commitTransaction):
(WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBConnectionToServer::createObjectStore):
(WebKit::WebIDBConnectionToServer::deleteObjectStore):
(WebKit::WebIDBConnectionToServer::renameObjectStore):
(WebKit::WebIDBConnectionToServer::clearObjectStore):
(WebKit::WebIDBConnectionToServer::createIndex):
(WebKit::WebIDBConnectionToServer::deleteIndex):
(WebKit::WebIDBConnectionToServer::renameIndex):
(WebKit::WebIDBConnectionToServer::putOrAdd):
(WebKit::WebIDBConnectionToServer::getRecord):
(WebKit::WebIDBConnectionToServer::getAllRecords):
(WebKit::WebIDBConnectionToServer::getCount):
(WebKit::WebIDBConnectionToServer::deleteRecord):
(WebKit::WebIDBConnectionToServer::openCursor):
(WebKit::WebIDBConnectionToServer::iterateCursor):
(WebKit::WebIDBConnectionToServer::establishTransaction):
(WebKit::WebIDBConnectionToServer::databaseConnectionPendingClose):
(WebKit::WebIDBConnectionToServer::databaseConnectionClosed):
(WebKit::WebIDBConnectionToServer::abortOpenAndUpgradeNeeded):
(WebKit::WebIDBConnectionToServer::didFireVersionChangeEvent):
(WebKit::WebIDBConnectionToServer::openDBRequestCancelled):
(WebKit::WebIDBConnectionToServer::getAllDatabaseNamesAndVersions):
Source/WebKitLegacy:
- Storage/InProcessIDBServer.cpp:
(InProcessIDBServer::quotaManager):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm:
(runTest):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/StoreBlobThenDelete.mm:
(TEST):
- 8:34 AM Changeset in webkit [289473] by
-
- 2 edits in trunk
[CMake] REGRESSION(r288994): Setting multiple values in LDFLAGS causes incorrect linker detection
https://bugs.webkit.org/show_bug.cgi?id=236365
Reviewed by Martin Robinson.
- Source/cmake/OptionsCommon.cmake: Use separate_arguments() to turn plain command strings
into lists of strings, which can then be passed down to execute_process() as it knows how
to handle lists properly.
- 8:15 AM Changeset in webkit [289472] by
-
- 23 edits3 copies14 adds6 deletes in trunk/LayoutTests
Resync web-platform-tests/html/dom from upstream
https://bugs.webkit.org/show_bug.cgi?id=236252
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Resync web-platform-tests/html/dom from upstream 893e71aa9c0a97d259ff009f.
- web-platform-tests/html/dom/*: Updated.
- web-platform-tests/html/resources/common.js:
- web-platform-tests/interfaces/html.idl:
LayoutTests:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/reflection-misc-expected.txt:
- 8:13 AM Changeset in webkit [289471] by
-
- 9 edits in trunk/Source/WebCore
[LFC][IFC] Transform root inline box's logical rect based on the writing mode
https://bugs.webkit.org/show_bug.cgi?id=236341
Reviewed by Antti Koivisto.
Make sure root inline box has the correct _visual_ coordinates in vertical mode.
(also let's rename DisplayLine::contentLeft to contentLogicalOffset. The emphasis is on _logical_. It helps to catch incorrect use (even this diff has a couple)).
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::flipRootInlineBoxRectToVisualForWritingMode const):
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
- layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::contentLogicalOffset const):
(WebCore::InlineDisplay::Line::Line):
(WebCore::InlineDisplay::Line::contentLeft const): Deleted.
- layout/integration/InlineIteratorBoxModernPath.h:
(WebCore::InlineIterator::BoxModernPath::createTextRun const):
- layout/integration/InlineIteratorLineModernPath.h:
(WebCore::InlineIterator::LineIteratorModernPath::contentLogicalLeft const):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
- layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::contentLogicalOffset const):
(WebCore::LayoutIntegration::Line::contentLeft const): Deleted.
- layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
- 7:58 AM Changeset in webkit [289470] by
-
- 2 edits1 add in trunk/Tools
[Flatpak SDK] Add a wrapper for clangd
https://bugs.webkit.org/show_bug.cgi?id=236240
Reviewed by Philippe Normand.
- flatpak/flatpakutils.py: Refactor this file so that the build constants can be
reused in the new script.
(convert_webkit_source_path_to_sandbox_path):
(convert_sandbox_path_to_webkit_source_path):
(get_build_dir):
(WebkitFlatpak.init):
(WebkitFlatpak.clean_args):
(WebkitFlatpak.setup_gstbuild):
(WebkitFlatpak.is_build_jsc):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.check_toolchains_generated):
(WebkitFlatpak.pack_toolchain):
(WebkitFlatpak.host_path_to_sandbox_path): Deleted.
(WebkitFlatpak.sandbox_path_to_host_path): Deleted.
- flatpak/webkit-clangd: Added.
- 7:13 AM Changeset in webkit [289469] by
-
- 14 edits in trunk/Source
Non-unified build fixes after r289247
https://bugs.webkit.org/show_bug.cgi?id=236343
Reviewed by Fujii Hironori.
Source/JavaScriptCore:
- runtime/JSRemoteFunction.h: Drive-by fix, add missing include.
Source/WebCore:
- accessibility/AccessibilityNodeObject.cpp: Drive-by fix. Missing
include.
- layout/formattingContexts/inline/display/InlineDisplayLine.h:
Drive-by fix. Missing include.
- workers/shared/SharedWorkerObjectConnection.cpp:
SharedWorkerScriptLoader only forward-declares WorkerScriptLoader.
- workers/shared/SharedWorkerScriptLoader.h: Missing CompletionHandler
include.
- workers/shared/context/SharedWorkerContextManager.cpp:
SharedWorkerThreadProxy only forward-declares SharedWorkerThread
Source/WebKit:
- NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp: Moved
SharedWorkerKey include to .h file, as it declares a HashMap of it and
it has custom HashTraits that must be visible.
- NetworkProcess/SharedWorker/WebSharedWorkerServer.h: Ditto.
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.cpp: Add
missing includes.
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h: Add
missing includes and forward declarations.
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp:
Add missing include with proper coder/decoder support.
- 6:56 AM Changeset in webkit [289468] by
-
- 2 edits in trunk/Tools
Allow hanging run-javascriptcore-tests to print backtrace
https://bugs.webkit.org/show_bug.cgi?id=236355
Reviewed by Aakash Jain.
This is to debug 'command timed out: 3600 seconds without output'
issues on build.webkit.org, same as we do for EWS.
- CISupport/build-webkit-org/steps.py:
(RunJavaScriptCoreTests.init):
- 5:49 AM Changeset in webkit [289467] by
-
- 8 edits3 adds in trunk
WebDriver: add a javascript atom to get the visible text
https://bugs.webkit.org/show_bug.cgi?id=174617
<rdar://problem/32307461>
Reviewed by Adrian Perez de Castro.
Source/WebDriver:
Generate the JavaScript atoms using the new command and use the new atom to get element text.
- CMakeLists.txt:
- Session.cpp:
(WebDriver::Session::getElementText):
Source/WebKit:
Add a new JavaScript atom to get the visible text according to the spec. The new atom uses code from other atoms
like ElementDisplayed and it's also used now by FindNodes one. The atoms are now autogenerated using a script to
include the duplicated code from a common source utils.js.
- Scripts/generate-automation-atom.py: Added.
(collect_utils):
(parse_utils):
(append_functions):
(main):
- UIProcess/Automation/atoms/ElementDisplayed.js:
(isShown.nodeIsElement): Deleted.
(isShown.parentElementForElement): Deleted.
(isShown.enclosingNodeOrSelfMatchingPredicate): Deleted.
(isShown.enclosingElementOrSelfMatchingPredicate): Deleted.
(isShown.cascadedStylePropertyForElement): Deleted.
(isShown.elementSubtreeHasNonZeroDimensions): Deleted.
(isShown): Deleted.
(isShown.isElementSubtreeHiddenByOverflow): Deleted.
- UIProcess/Automation/atoms/ElementText.js: Added.
- UIProcess/Automation/atoms/FindNodes.js:
(tryToFindNode):
- UIProcess/Automation/atoms/utils.js: Added.
(utils.nodeIsElement):
(utils.enclosingNodeOrSelfMatchingPredicate):
(utils.parentElementForElement):
(utils.cascadedStylePropertyForElement):
(elementSubtreeHasNonZeroDimensions):
(isElementSubtreeHiddenByOverflow):
(utils.isShown):
(appendLines.currentLine):
(appendLines):
(utils.getText):
WebDriverTests:
Remove expectations of tests that are now passing.
- TestExpectations.json:
- 4:42 AM Changeset in webkit [289466] by
-
- 7 edits in trunk
[CSS Container Queries] Implement inline-size containment
https://bugs.webkit.org/show_bug.cgi?id=236354
Reviewed by Antoine Quint.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-type-containment-expected.txt:
Source/WebCore:
"Giving an element inline-size containment applies size containment to the inline-axis sizing
of its principal box. This means the inline-axis intrinsic sizes of the principal box are
determined as if the element had no content."
https://drafts.csswg.org/css-contain-3/#containment-inline-size
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):
Compute inline axis preferred width as if the block had no content.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::effectiveContainment const):
- rendering/style/RenderStyleConstants.h:
For completeness, add an enum value for inline-size containment. It can only be set by 'container'
property for now.
- style/StyleScope.cpp:
(WebCore::Style::Scope::updateQueryContainerState):
Ignore block axis for inline-size containers.
- 2:37 AM Changeset in webkit [289465] by
-
- 24 edits in trunk
[Forms] Improving applyStep() to be in line with specs
https://bugs.webkit.org/show_bug.cgi?id=236134
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/the-input-element/range-expected.txt:
Source/WebCore:
This is to improve applyStep() func to follow specs at
https://html.spec.whatwg.org/multipage/input.html#dom-input-stepup
Since Chromium implementation follows the specs steps, this patch imports the
Chromium implmentation.
This is a further patch after https://bugs.webkit.org/show_bug.cgi?id=235509. It has corrected
some changes on test files in fast/form directory in the previous patch submitted for Bug
- With this CL a few more sub-tests are now passing.
- html/InputType.cpp:
(WebCore::InputType::applyStep):
- html/StepRange.cpp:
(WebCore::StepRange::stepSnappedMaximum const):
- html/StepRange.h:
LayoutTests:
Update test expectations.
- fast/forms/date/date-stepup-stepdown-expected.txt:
- fast/forms/date/date-stepup-stepdown.html:
- fast/forms/datetimelocal/datetimelocal-stepup-stepdown-expected.txt:
- fast/forms/datetimelocal/datetimelocal-stepup-stepdown.html:
- fast/forms/month/month-stepup-stepdown-expected.txt:
- fast/forms/month/month-stepup-stepdown.html:
- fast/forms/number/number-stepup-stepdown-expected.txt:
- fast/forms/number/number-stepup-stepdown.html:
- fast/forms/range/range-stepup-stepdown-expected.txt:
- fast/forms/range/range-stepup-stepdown.html:
- fast/forms/time/time-stepup-stepdown-expected.txt:
- fast/forms/time/time-stepup-stepdown.html:
- fast/forms/week/week-stepup-stepdown-expected.txt:
- fast/forms/week/week-stepup-stepdown.html:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- 1:52 AM Changeset in webkit [289464] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Garden several WPT tests that are now passing
Unreviewed test gardening.
- platform/glib/TestExpectations:
- 1:30 AM Changeset in webkit [289463] by
-
- 14 edits in trunk/Source/WebKit
WKHoverPlatter should scale up the platter content to make it easier to see
https://bugs.webkit.org/show_bug.cgi?id=236289
Reviewed by Wenson Hsieh.
- Shared/NativeWebMouseEvent.h:
- Shared/ios/NativeWebMouseEventIOS.mm:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
Add a NativeWebMouseEvent constructor that takes most properties from
another event, but allows overriding the positions and deltas.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::interactableRegionsInRootViewCoordinates):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::interactableRegionsInRootViewCoordinates):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Add a method to count the number of clickable elements in a given rectangle.
This is just a first attempt at the heuristic; this will get more complex in the future.
- UIProcess/ios/WKContentViewInteraction.h:
Add a selection assistant suppression reason for WKHoverPlatter.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _createAndConfigureHighlightLongPressGestureRecognizer]):
Factor out highlight-long-press gesture creation like long-press. Bail if the platter is enabled.
(-[WKContentView setUpInteraction]):
Disable the selection assistant if WKHoverPlatter wants to use long press.
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _locationForGesture:]):
(-[WKContentView _startPointForGesture:]):
Add funnels for extracting the primary location or starting location from
a gesture, allowing WKHoverPlatter to mutate it if it is currently engaged.
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _doubleTapRecognizedForDoubleClick:]):
(-[WKContentView _twoFingerSingleTapGestureRecognized:]):
(-[WKContentView _singleTapIdentified:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _doubleTapRecognized:]):
(-[WKContentView _nonBlockingDoubleTapRecognized:]):
(-[WKContentView _twoFingerDoubleTapRecognized:]):
Adopt _locationForGesture/_startPointForGesture.
(-[WKContentView _longPressRecognized:]):
Adopt _locationForGesture/_startPointForGesture.
Redirect a recognized long press to WKHoverPlatter if it wants to use long press.
(-[WKContentView _shouldUseContextMenus]):
Disable context menus if WKHoverPlatter wants to use long press.
(-[WKContentView setUpDragAndDropInteractions]):
Disable drag and drop if WKHoverPlatter wants to use long press.
(-[WKContentView mouseGestureRecognizerChanged:]):
Allow WKHoverPlatter to mutate the location of mouse events if it is currently engaged.
(-[WKContentView numberOfLinksForHoverPlatter:inRect:completionHandler:]):
- UIProcess/ios/WKHoverPlatter.h:
- UIProcess/ios/WKHoverPlatter.mm:
(-[WKHoverPlatter initWithView:delegate:]):
(-[WKHoverPlatter didReceiveMouseEvent:]):
(-[WKHoverPlatter didLongPressAtPoint:]):
(-[WKHoverPlatter platterBoundingRect]):
(-[WKHoverPlatter linkSearchRect]):
(-[WKHoverPlatter update]):
(-[WKHoverPlatter updateDebugIndicator]):
(-[WKHoverPlatter dismissPlatterWithAnimation:]):
(-[WKHoverPlatter didFinishDismissalAnimation:]):
(-[WKHoverPlatter clearLayers]):
(-[WKHoverPlatter adjustedPointForPoint:]):
(-[WKHoverPlatter adjustedEventForEvent:]):
(setAdditionalPlatterLayerProperties): Deleted.
(addAdditionalIncomingAnimations): Deleted.
(addAdditionalDismissalAnimations): Deleted.
(-[WKHoverPlatter setHoverPoint:]): Deleted.
(-[WKHoverPlatter requestPositionInformationForCurrentHoverPoint]): Deleted.
(-[WKHoverPlatter didReceivePositionInformation:]): Deleted.
(-[WKHoverPlatter didFinishAnimationForShadow:]): Deleted.
- UIProcess/ios/WKHoverPlatterParameters.h:
- UIProcess/ios/WKHoverPlatterParameters.mm:
(-[WKHoverPlatterParameters setDefaultValues]):
(-[WKHoverPlatterParameters enabled]):
(+[WKHoverPlatterParameters settingsControllerModule]):
(addAdditionalPlatterLayoutParameters): Deleted.
(setDefaultValuesForAdditionalPlatterLayoutParameters): Deleted.
Adjust WKHoverPlatter to scale up its content, and adjust the shape
and animations.
- 1:15 AM Changeset in webkit [289462] by
-
- 14 edits2 adds in trunk
Don't return an empty value from AbortController.signal.reason and make it harder to return empty values from JSValueInWrappedObject
https://bugs.webkit.org/show_bug.cgi?id=236318
<rdar://88580935>
Reviewed by Mark Lam.
Source/WebCore:
This patch makes it so we might not accidentally return the empty value to
JavaScript code from JSValueInWrappedObject. Previously, JSValueInWrappedObject
had an "operator JSValue()" method. This patch removes that, adds a new
conversion method for converting between JSValueInWrappedObject and JSValue,
and makes JSValueInWrappedObject return undefined inside this method
when it used to return the empty value. This fixes a crash where we'd return
the empty value to JS JIT code, and crash dereferencing a nullptr. It's never
valid for a JS function call (or getter, etc) to return the empty value.
Test: fast/dom/AbortSignal-reason-crash-2.html
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::getChannelData):
- Modules/webaudio/AudioWorkletProcessor.cpp:
(WebCore::toJSArray):
(WebCore::toJSObject):
(WebCore::AudioWorkletProcessor::buildJSArguments):
- bindings/js/JSCustomEventCustom.cpp:
(WebCore::JSCustomEvent::detail const):
- bindings/js/JSDOMConvertAny.h:
(WebCore::JSConverter<IDLAny>::convert):
- bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data const):
- bindings/js/JSPaymentMethodChangeEventCustom.cpp:
(WebCore::JSPaymentMethodChangeEvent::methodDetails const):
- bindings/js/JSPopStateEventCustom.cpp:
(WebCore::JSPopStateEvent::state const):
- bindings/js/JSValueInWrappedObject.h:
(WebCore::JSValueInWrappedObject::getValue const):
(WebCore::JSValueInWrappedObject::operator bool const):
(WebCore::cachedPropertyValue):
(WebCore::JSValueInWrappedObject::operator JSC::JSValue const): Deleted.
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::signalFollow):
(WebCore::AbortSignal::throwIfAborted):
- dom/ErrorEvent.cpp:
(WebCore::ErrorEvent::error):
(WebCore::ErrorEvent::trySerializeError):
- dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::trySerializeState):
- page/History.cpp:
(WebCore::History::cachedState):
LayoutTests:
- fast/dom/AbortSignal-reason-crash-2-expected.txt: Added.
- fast/dom/AbortSignal-reason-crash-2.html: Added.
- 1:14 AM Changeset in webkit [289461] by
-
- 1 copy in releases/WebKitGTK/webkit-2.35.3
WebKitGTK 2.35.3
- 1:13 AM Changeset in webkit [289460] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.35.3 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.35.3.
- 12:47 AM Changeset in webkit [289459] by
-
- 61 edits16 adds3 deletes in trunk/LayoutTests
[GTK][WPE] Update baselines after r288944
Unreviewed test gardening.
The bulk of these tests needed to update their baselines after
r288944, although other baseline updates in this patch might not due
to that change.
- platform/glib/fast/text/whitespace/nbsp-mode-and-linewraps-expected.png: Added.
- platform/glib/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- platform/glib/webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt:
- platform/gtk/editing/deleting/5144139-2-expected.png:
- platform/gtk/editing/deleting/5144139-2-expected.txt:
- platform/gtk/fast/borders/rtl-border-04-expected.txt:
- platform/gtk/fast/borders/rtl-border-05-expected.png:
- platform/gtk/fast/borders/rtl-border-05-expected.txt:
- platform/gtk/fast/events/updateLayoutForHitTest-expected.txt:
- platform/gtk/fast/forms/select-visual-hebrew-expected.txt:
- platform/gtk/fast/forms/select-writing-direction-natural-expected.txt:
- platform/gtk/fast/text/basic/014-expected.txt:
- platform/gtk/fast/text/in-rendered-text-rtl-expected.txt:
- platform/gtk/fast/text/international/003-expected.png:
- platform/gtk/fast/text/international/003-expected.txt:
- platform/gtk/fast/text/international/bidi-L2-run-reordering-expected.txt:
- platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.png:
- platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.txt:
- platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.png:
- platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.txt:
- platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
- platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
- platform/gtk/fast/text/international/bidi-european-terminators-expected.png:
- platform/gtk/fast/text/international/bidi-european-terminators-expected.txt:
- platform/gtk/fast/text/international/bidi-ignored-for-first-child-inline-expected.png:
- platform/gtk/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
- platform/gtk/fast/text/international/bidi-innertext-expected.png:
- platform/gtk/fast/text/international/bidi-innertext-expected.txt:
- platform/gtk/fast/text/international/bidi-menulist-expected.png:
- platform/gtk/fast/text/international/bidi-menulist-expected.txt:
- platform/gtk/fast/text/international/bidi-override-expected.png:
- platform/gtk/fast/text/international/bidi-override-expected.txt:
- platform/gtk/fast/text/international/rtl-caret-expected.png:
- platform/gtk/fast/text/international/rtl-caret-expected.txt:
- platform/gtk/fast/text/international/rtl-white-space-pre-wrap-expected.png:
- platform/gtk/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
- platform/gtk/fast/text/midword-break-after-breakable-char-expected.txt:
- platform/gtk/fast/text/whitespace/nbsp-mode-and-linewraps-expected.png: Removed.
- platform/gtk/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt: Removed.
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug46924-expected.txt:
- platform/wpe/fast/borders/rtl-border-04-expected.png: Added.
- platform/wpe/fast/borders/rtl-border-04-expected.txt:
- platform/wpe/fast/borders/rtl-border-05-expected.png: Added.
- platform/wpe/fast/borders/rtl-border-05-expected.txt:
- platform/wpe/fast/events/updateLayoutForHitTest-expected.png: Added.
- platform/wpe/fast/events/updateLayoutForHitTest-expected.txt:
- platform/wpe/fast/text/basic/014-expected.png: Added.
- platform/wpe/fast/text/basic/014-expected.txt:
- platform/wpe/fast/text/in-rendered-text-rtl-expected.png: Added.
- platform/wpe/fast/text/in-rendered-text-rtl-expected.txt:
- platform/wpe/fast/text/international/003-expected.txt:
- platform/wpe/fast/text/international/bidi-L2-run-reordering-expected.png: Added.
- platform/wpe/fast/text/international/bidi-L2-run-reordering-expected.txt:
- platform/wpe/fast/text/international/bidi-LDB-2-CSS-expected.png:
- platform/wpe/fast/text/international/bidi-LDB-2-CSS-expected.txt:
- platform/wpe/fast/text/international/bidi-LDB-2-HTML-expected.png:
- platform/wpe/fast/text/international/bidi-LDB-2-HTML-expected.txt:
- platform/wpe/fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
- platform/wpe/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
- platform/wpe/fast/text/international/bidi-european-terminators-expected.png: Added.
- platform/wpe/fast/text/international/bidi-european-terminators-expected.txt:
- platform/wpe/fast/text/international/bidi-ignored-for-first-child-inline-expected.png: Added.
- platform/wpe/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
- platform/wpe/fast/text/international/bidi-innertext-expected.png: Added.
- platform/wpe/fast/text/international/bidi-innertext-expected.txt:
- platform/wpe/fast/text/international/bidi-menulist-expected.png: Added.
- platform/wpe/fast/text/international/bidi-menulist-expected.txt:
- platform/wpe/fast/text/international/bidi-override-expected.png: Added.
- platform/wpe/fast/text/international/bidi-override-expected.txt:
- platform/wpe/fast/text/international/rtl-caret-expected.png: Added.
- platform/wpe/fast/text/international/rtl-caret-expected.txt:
- platform/wpe/fast/text/international/rtl-white-space-pre-wrap-expected.png: Added.
- platform/wpe/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
- platform/wpe/fast/text/midword-break-after-breakable-char-expected.png: Added.
- platform/wpe/fast/text/midword-break-after-breakable-char-expected.txt:
- platform/wpe/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt: Removed.
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- 12:34 AM Changeset in webkit [289458] by
-
- 3 edits in trunk/Source/WebCore
Remove some obsolete dependencies.
https://bugs.webkit.org/show_bug.cgi?id=236333
Reviewed by Chris Dumez.
These files in the dependency list don't even exist anymore.
- bindings/scripts/preprocess-idls.pl:
- bindings/scripts/test/SupplementalDependencies.dep:
Feb 8, 2022:
- 11:35 PM Changeset in webkit [289457] by
-
- 10 edits in trunk/Source/WebCore
[CSS Container Queries] Track query containers so they can be invalidated on size change
https://bugs.webkit.org/show_bug.cgi?id=236297
Reviewed by Alan Bujtas.
Add container size tracking.
- dom/Document.cpp:
(WebCore::Document::updateLayout):
- dom/Element.cpp:
(WebCore::Element::invalidateForQueryContainerChange):
- dom/Element.h:
- page/FrameView.cpp:
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::willBeDestroyed):
(WebCore::RenderBox::styleWillChange):
- rendering/RenderView.cpp:
(WebCore::RenderView::registerContainerQueryBox):
(WebCore::RenderView::unregisterContainerQueryBox):
- rendering/RenderView.h:
- style/StyleScope.cpp:
(WebCore::Style::Scope::updateQueryContainerState):
Save the sizes after layout and invalidate if needed.
- style/StyleScope.h:
- 10:51 PM Changeset in webkit [289456] by
-
- 4 edits in trunk/LayoutTests
Unreviewed gardening.
Expand fuzzy ranges.
- compositing/filters/opacity-change-on-filtered-paints-into-ancestor.html:
- compositing/masks/become-tiled-mask.html:
- css3/masking/mask-repeat-space-padding.html:
- 10:39 PM Changeset in webkit [289455] by
-
- 8 edits in trunk/Source/WebCore
Move DocumentTimeline::runningAnimationsForRendererAreAllAccelerated() to Styleable
https://bugs.webkit.org/show_bug.cgi?id=236239
Reviewed by Dean Jackson.
This method has nothing to do with DocumentTimeline and everything to do with Styleable and its associated
effect stack. This also allows us to remove WebAnimation::isRunningAccelerated() since we don't need to go
through the animation as we iterate over keyframe effects directly.
This refactor surfaced an issue with Styleable::fromRenderer() where in the ::marker case we would fail
to correctly obtain the parent RenderListItem, we now recurse through parents until we find one instead
of stopping at the first ancestor with an element.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::runningAnimationsForRendererAreAllAccelerated const): Deleted.
- animation/DocumentTimeline.h:
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::isRunningAccelerated const): Deleted.
- animation/WebAnimation.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::hasRunningAcceleratedAnimations const):
- style/Styleable.cpp:
(WebCore::Styleable::fromRenderer):
(WebCore::Styleable::runningAnimationsAreAllAccelerated const):
- style/Styleable.h:
- 10:25 PM Changeset in webkit [289454] by
-
- 5 edits in trunk
[web-animations] additive and accumulation interpolation does not work correctly with implicit 0% and 100% keyframes
https://bugs.webkit.org/show_bug.cgi?id=236314
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Add some new WPT tests and mark our PASS results for the "add" case (we still fail for "accumulate").
- web-platform-tests/web-animations/animation-model/combining-effects/effect-composition-expected.txt:
- web-platform-tests/web-animations/animation-model/combining-effects/effect-composition.html:
Source/WebCore:
We incorrectly handled implicit keyframes for the additive and accumulate cases.
The spec says that for implicit 0% and 100% keyframes, a keyframe should be generated with a "neutral" keyframe which,
when added or accumulated with another keyframe, would yield the same style as the keyframe it's composed with. We sort
of did the right thing by cloning the underlying style for those keyframes, but then we would blame them anyway in the
composition case, whereas we should just use the underlying style as-is.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):
- 10:22 PM Changeset in webkit [289453] by
-
- 4 edits in trunk
[web-animations] Animation.commitStyles() should use the non-animated style
https://bugs.webkit.org/show_bug.cgi?id=236315
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark WPT progression.
- web-platform-tests/web-animations/interfaces/Animation/commitStyles-expected.txt:
Source/WebCore:
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::commitStyles):
- 8:59 PM Changeset in webkit [289452] by
-
- 4 edits in trunk/LayoutTests
[GLIB] Remove tests passing from TestExpectations
Unreviewed test gardening.
Also sort lines in TestExpectations.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 6:32 PM Changeset in webkit [289451] by
-
- 4 edits in trunk
FileReaderSync should be exposed to shared workers
https://bugs.webkit.org/show_bug.cgi?id=236317
<rdar://problem/88644122>
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
Rebaseline WPT test that is now passing.
- web-platform-tests/workers/semantics/interface-objects/003.any.sharedworker-expected.txt:
Source/WebCore:
FileReaderSync should be exposed to shared workers:
No new test, rebaselined existing one.
- fileapi/FileReaderSync.idl:
- 5:54 PM Changeset in webkit [289450] by
-
- 4 edits1 add in trunk
[JSC] YarrJIT inlining should be disabled when we have DotStarEnclosure
https://bugs.webkit.org/show_bug.cgi?id=236332
rdar://88483574
Reviewed by Michael Saboff.
JSTests:
- stress/yarr-inlining-dot-star-enclosure.js: Added.
(test):
Source/JavaScriptCore:
YarrJITRegisters::initialStart can be used when m_pattern.m_saveInitialStartValue is true while
it is not defined in YarrJIT inlining. As a result, we emit broken code using InvalidGPRReg.
This patch makes canInline false when m_pattern.m_saveInitialStartValue is true.
- yarr/YarrJIT.cpp:
- yarr/YarrJITRegisters.h:
- 4:35 PM Changeset in webkit [289449] by
-
- 7 edits in trunk/Source/WebKit
[Playstation] Fix build break after r289247 if ENABLE_SERVICE_WORKER is off
https://bugs.webkit.org/show_bug.cgi?id=236321
Patch by Jigen Zhou <jigen.zhou@sony.com> on 2022-02-08
Reviewed by Chris Dumez.
Unreviewed, build fix for playstation platform after r289247 for support of sharing Shared Workers.
This patch resolves compiling errors caused by unknow type name and undeclared identifiers,
and it also fixes linking error by making methods WebProcessProxy::createForWorkers and
WebProcessPool::userContentControllerIdentifierForWorkers() available when ENABLE_SERVICE_WORKER is off
- NetworkProcess/SharedWorker/WebSharedWorkerServer.h:
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h:
- UIProcess/WebProcessPool.cpp:
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp:
- 4:26 PM Changeset in webkit [289448] by
-
- 1 copy in tags/Safari-613.1.16.3.1
Tag Safari-613.1.16.3.1.
- 4:19 PM Changeset in webkit [289447] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Set LineBox::setBaselineType when the line is computed to be IdeographicBaseline
https://bugs.webkit.org/show_bug.cgi?id=236310
Reviewed by Antti Koivisto.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
- 4:17 PM Changeset in webkit [289446] by
-
- 1 copy in tags/Safari-613.1.16.0.5
Tag Safari-613.1.16.0.5.
- 4:14 PM Changeset in webkit [289445] by
-
- 1 copy in tags/Safari-613.1.16.1.4
Tag Safari-613.1.16.1.4.
- 4:14 PM Changeset in webkit [289444] by
-
- 1 copy in tags/Safari-613.1.16.2.1
Tag Safari-613.1.16.2.1.
- 3:49 PM Changeset in webkit [289443] by
-
- 3 edits2 adds in trunk
REGRESSION (15.4): Angular virtual scrollers no longer work (because of contain:strict)
https://bugs.webkit.org/show_bug.cgi?id=236260
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-08
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/contain-paint-049-expected.txt: Added.
- web-platform-tests/css/css-contain/contain-paint-049.html: Added.
Source/WebCore:
Paint containment did not allow collecting scrollable overflow, breaking scrolling
of the container contents, this patch fixes that.
Test: imported/w3c/web-platform-tests/css/css-contain/contain-paint-049.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::addOverflowFromChild):
- 3:30 PM Changeset in webkit [289442] by
-
- 1 copy in releases/WPE WebKit/webkit-2.34.5
WPE WebKit 2.34.5
- 3:11 PM Changeset in webkit [289441] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.34.5 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.34.5
- 3:07 PM Changeset in webkit [289440] by
-
- 1 copy in tags/Safari-613.1.16.31.1
Tag Safari-613.1.16.31.1.
- 3:06 PM Changeset in webkit [289439] by
-
- 3 edits in branches/safari-613.1.16.31-branch/Source/JavaScriptCore
Cherry-pick r289024. rdar://problem/88654211
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp: (JSC::SecureARM64EHashPins::initializeAtStartup): (JSC::SecureARM64EHashPins::allocatePinForCurrentThread): (JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::pinForCurrentThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:55 PM Changeset in webkit [289438] by
-
- 9 edits in branches/safari-613.1.16.31-branch/Source
Versioning.
WebKit-7613.1.16.31.1
- 2:51 PM Changeset in webkit [289437] by
-
- 3 edits in trunk/Source/WebCore
Grid may be empty in certain scenarios
https://bugs.webkit.org/show_bug.cgi?id=234578
Patch by Brandon Stewart <Brandon> on 2022-02-08
Reviewed by Darin Adler.
Add check to handle legend elements when inside a CSS Grid. The legend element should not be
added to aspectRatioBlockSizeDependentGridItems.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
- rendering/RenderGrid.h:
- 2:43 PM Changeset in webkit [289436] by
-
- 2 edits in trunk/Source/WebKit
[WebAuthn] Use AuthenticationServicesAgent for WebAuthn calls on iOS
https://bugs.webkit.org/show_bug.cgi?id=236151
rdar://87908259
Reviewed by Brent Fulgham.
This patch starts using the ASC apis to make WebAuthn calls on iOS the
same way they are made on macOS. Some cleanup work will be needed to
deprecate the WebAuthn process after this change is made.
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest): Deleted.
(WebKit::WebAuthenticatorCoordinatorProxy::isUserVerifyingPlatformAuthenticatorAvailable): Deleted.
- 2:35 PM Changeset in webkit [289435] by
-
- 1 copy in branches/safari-613.1.16.31-branch
New branch.
- 2:27 PM Changeset in webkit [289434] by
-
- 1 copy in releases/WebKitGTK/webkit-2.34.5
WebKitGTK 2.34.5
- 2:25 PM Changeset in webkit [289433] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34
.:
Unreviewed. Update OptionsGTK.cmake and NEWS for the 2.34.5 release
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.34.5 release
- gtk/NEWS: Add release notes for 2.34.5
- 2:25 PM Changeset in webkit [289432] by
-
- 6 edits in releases/WebKitGTK/webkit-2.34
Allow building with ICU 60
https://bugs.webkit.org/show_bug.cgi?id=235367
Unreviewed build fix.
Turns out we can reduce our ICU requirement from ICU 61 to ICU 60 with only minimal changes.
Patch by Michael Catanzaro <Michael Catanzaro> on 2022-02-08
.:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/JavaScriptCore:
- runtime/IntlCache.cpp:
- runtime/IntlCache.h:
- 2:25 PM Changeset in webkit [289431] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34
Merge r289370 - [WPE] Running distcheck with USE_SOUP2=OFF fails to install documentation
https://bugs.webkit.org/show_bug.cgi?id=236235
Reviewed by Carlos Garcia Campos.
- Source/PlatformWPE.cmake: Use WPE_API_DOC_VERSION instead of WPE_API_VERSION for the documentation.
- 2:25 PM Changeset in webkit [289430] by
-
- 5 edits in releases/WebKitGTK/webkit-2.34/Source/WebKit
Merge r289369 - [GTK][WPE] Crash at WebKit::bindA11y() in WebKitGTK 2.35.2
https://bugs.webkit.org/show_bug.cgi?id=236144
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-02-08
Reviewed by Adrian Perez de Castro.
ATSPI stopped using an abstract socket but we are still assuming the a11y bus address is an abstract socket,
even when the path is not really used after all. However, just handling the case of the socket being a normal
unix socket is not enough, because the actual socket path is not mounted in the xdg-dbus-proxy sandbox, so it
fails to connect to the original a11y bus.
- UIProcess/Launcher/ProcessLauncher.h: Rename extraWebProcessSandboxPaths as extraSandboxPaths.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::XDGDBusProxyLauncher::setAddress): Remove the DBusAddressType parameter. Check the address looks valid
and just store the result of dbusAddressToPath() in m_path.
(WebKit::XDGDBusProxyLauncher::launch): Do not require m_path to be non-null and add it to the sanbox.
(WebKit::XDGDBusProxyLauncher::dbusAddressToPath): Only return the path for normal unix sockets.
(WebKit::bindDBusSession): Remove the DBusAddressType parameter passed to dbusAddressToPath().
(WebKit::bindA11y): Check proxy path is not null before setting a11y bus address in display.
(WebKit::addExtraPaths): Helper to add extra paths to the sandbox.
(WebKit::bubblewrapSpawn): Call addExtraPaths() for WebProcess and DBusProxy types.
- UIProcess/Launcher/glib/FlatpakLauncher.cpp:
(WebKit::flatpakSpawn): Use extraSandboxPaths.
- UIProcess/glib/WebProcessProxyGLib.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions): Ditto.
- 2:25 PM Changeset in webkit [289429] by
-
- 8 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r289154 - [Flatpak SDK] Update to FDO 21.08.10 and GStreamer 1.20 releases
https://bugs.webkit.org/show_bug.cgi?id=236136
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-05
Reviewed by Adrian Perez de Castro.
Switch GStreamer 1.19 version checks to 1.20 now that it is officially released. Also
include a couple fixes that are needed with GStreamer 1.20 and one that is useful whatever
the GStreamer version:
- GStreamer 1.20 ships a vp8alphadecodebin element able to handle video/x-vp8 caps, so our libwebrtc decoder factory needs to account for its presence, in addition to vp8dec.
- With GStreamer 1.20 media/media-source/media-source-seek-back.html started racy crashing in the VideoTrackPrivateGStreamer configuration update, where the track was disconnected (hence its stream was cleared) and then a GObject notification was emitted by decodebin3. We should actually disconnect the GObject signal handlers before clearing the stream, to prevent potential null pointer access.
- platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::handleNewDeinterleavePad):
- platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
(WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad):
- platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::AudioTrackPrivateGStreamer::disconnect):
- platform/graphics/gstreamer/GStreamerCommon.h:
- platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):
- platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:
(WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::VideoTrackPrivateGStreamer::disconnect):
- platform/mediastream/libwebrtc/gstreamer/GStreamerVideoDecoderFactory.cpp:
(WebCore::VP8Decoder::Create):
- 2:21 PM Changeset in webkit [289428] by
-
- 3 edits in trunk/Tools
[EWS] Embed added/modified/deleted status into changed files
https://bugs.webkit.org/show_bug.cgi?id=236051
Reviewed by Aakash Jain.
GitHub's API includes whether a file was added, modified or deleted.
We don't include this information in source changes, we should.
- Tools/CISupport/ews-build/events.py:
(GitHubEventHandlerNoEdits.file_with_mod_sign): Added.
(GitHubEventHandlerNoEdits._get_pr_files): Copied from buildbot, modified to include
file modification status.
- Tools/CISupport/ews-build/steps.py:
(FindModifiedLayoutTests): Remove FIXME
Canonical link: https://commits.webkit.org/246988@main
- 2:14 PM Changeset in webkit [289427] by
-
- 4 edits in trunk/Source/WebCore
Initialize the AXIsolatedObject AccessibilityText property lazily.
https://bugs.webkit.org/show_bug.cgi?id=236276
<rdar://problem/88604453>
Reviewed by Chris Fleizach.
Computation of the AccessibilitytText property may be very expensive and
if performed during the creation of IsolatedObjects may cause crashes
since it may invoke textUnderElement while page layout is in progress.
For these reasons, we are computing and caching this property on first
request.
This patch is a sequel to https://bugs.webkit.org/show_bug.cgi?id=236115.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::accessibilityText const):
(WebCore::AXIsolatedObject::getOrRetrievePropertyValue):
(WebCore::AXIsolatedObject::innerHTML const):
(WebCore::AXIsolatedObject::outerHTML const):
(WebCore::AXIsolatedObject::getOrRetrieveStringPropertyValue):
Replaced by getOrRetrievePropertyValue<String>.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::descriptionAttributeValue const):
(WebCore::AXIsolatedObject::titleAttributeValue const):
- 2:06 PM Changeset in webkit [289426] by
-
- 6 edits in trunk
[css-logical] [css-animations] changing "direction" or "writing-mode" should recompute keyframes
https://bugs.webkit.org/show_bug.cgi?id=236293
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark WPT progressions.
- web-platform-tests/css/css-logical/animation-002-expected.txt:
Source/WebCore:
We need to recompute keyframes based on the matching @keyframes rule in case an element running
a CSS Animation changes either "direction" or "writing-mode".
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::propertyAffectingLogicalPropertiesDidChange):
- animation/KeyframeEffect.h:
- animation/KeyframeEffectStack.cpp:
(WebCore::KeyframeEffectStack::applyKeyframeEffects):
- 1:45 PM Changeset in webkit [289425] by
-
- 8 edits in trunk/Source/WebCore
[LFC][Integration] LineIteratorModernPath::baselineType should consult Display::Line
https://bugs.webkit.org/show_bug.cgi?id=236308
Reviewed by Antti Koivisto.
LineBox -> Display::Line -> LineIteratorModernPath (and the soon-to-be-removed LayoutIntegration::Line middleman).
- layout/formattingContexts/inline/InlineLineBox.h:
(WebCore::Layout::LineBox::baselineType const):
(WebCore::Layout::LineBox::setBaselineType):
- layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::baselineType const):
(WebCore::InlineDisplay::Line::Line):
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::InlineDisplayLineBuilder::build const):
- layout/integration/InlineIteratorLineModernPath.h:
(WebCore::InlineIterator::LineIteratorModernPath::baselineType const):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
- layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::baselineType const):
- layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
- 1:40 PM Changeset in webkit [289424] by
-
- 3 edits in trunk/LayoutTests/imported/w3c
Resync workers/modules/shared-worker-import-meta.html from upstream WPT
https://bugs.webkit.org/show_bug.cgi?id=236302
Reviewed by Yusuke Suzuki.
Resync workers/modules/shared-worker-import-meta.html from upstream WPT after https://github.com/web-platform-tests/wpt/pull/32704.
- web-platform-tests/workers/modules/shared-worker-import-meta-expected.txt:
- web-platform-tests/workers/modules/shared-worker-import-meta.html:
- 1:33 PM Changeset in webkit [289423] by
-
- 4 edits in trunk/Tools
[git-webkit] Autostash when pulling (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=235861
<rdar://problem/88298948>
Unreviewed follow-up fix.
Accidently landed a previous iteration of the change.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.Cache.clear): Handle empty cache.
(Git.pull): Only autostash when rebasing.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
- 1:31 PM Changeset in webkit [289422] by
-
- 1 edit in branches/safari-613-branch/Source/WebCore/animation/KeyframeEffect.cpp
Apply patch. rdar://problem/82516118
- 1:20 PM Changeset in webkit [289421] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r288944. rdar://problem/88059633
[LFC][IFC] Using Fontcascade::spaceWidth to subtract the trailing space width may result in incorrect layout
https://bugs.webkit.org/show_bug.cgi?id=235937
<rdar://88059633>
Reviewed by Antti Koivisto and Simon Fraser.
Source/WebCore:
Since Fontcascade::spaceWidth always consult the primary font, it may return unexpected width value when (in rare cases)
the primary font does not have a space glyph. Legacy line layout works as expected as it always runs a full width
computation on the space character (instead of directly calling FontCascade::spaceWidth).
- layout/formattingContexts/inline/InlineItemsBuilder.cpp: (WebCore::Layout::InlineItemsBuilder::computeInlineTextItemWidths):
- layout/formattingContexts/inline/text/TextUtil.cpp: (WebCore::Layout::TextUtil::width): (WebCore::Layout::TextUtil::spaceWidth):
- layout/formattingContexts/inline/text/TextUtil.h:
LayoutTests:
- platform/mac-bigsur/fonts/monospace-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:20 PM Changeset in webkit [289420] by
-
- 4 edits in branches/safari-613-branch/Source/WebCore/layout/formattingContexts/inline
Cherry-pick r288055. rdar://problem/88059633
[LFC][IFC] imported/w3c/web-platform-tests/css/css-text/word-break/word-break-normal-ar-000.html fails with incorrect run position
https://bugs.webkit.org/show_bug.cgi?id=235011
Reviewed by Antti Koivisto.
IFC (inherited from simple line layout) uses this technique of measuring the content with the trailing whitespace
and then simply subtract the whitespace width. It enables us to keep pushing content to the line without re-measuring it each time.
(the "non-whitespace + whitespace" pattern is extremely common for IFC content).
However in some cases when the trailing whitespace is trimmed, subtracting the trimmed width from the
content width instead of measuring it produces a visually incorrect result.
This patch fixes the most obvious cases when the incorrect width turns into an offset for the RTL content.
- layout/formattingContexts/inline/InlineLine.cpp: (WebCore::Layout::Line::TrimmableTrailingContent::remove): (WebCore::Layout::Line::Run::removeTrailingLetterSpacing): (WebCore::Layout::Line::Run::removeTrailingWhitespace):
- layout/formattingContexts/inline/InlineLine.h:
- layout/formattingContexts/inline/text/TextUtil.cpp: (WebCore::Layout::TextUtil::width):
- layout/formattingContexts/inline/text/TextUtil.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:16 PM Changeset in webkit [289419] by
-
- 4 edits in trunk/Source
http/tests/cache-storage/cache-origins.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=236263
Reviewed by Darin Adler.
Source/WebCore:
Drop workaround landed in r289247 to try and maintain HashMap ordering.
- page/SecurityOriginData.h:
(WebCore::add):
Source/WebKit:
Update CacheStorage::Engine::representation() (which is used by the layout tests) to return
origins in a stable order in order to address test flakiness.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::representation):
- 12:45 PM Changeset in webkit [289418] by
-
- 5 edits2 moves in trunk/Source/WebCore
[GTK][WPE] Fallback path for WebGL rendering with ANGLE is incorrectly scheduling on the compositor thread
https://bugs.webkit.org/show_bug.cgi?id=236290
Reviewed by Alejandro G. Castro.
Fix the WebGL ANGLE fallback path on nicosia to not incorrectly
schedule on the compositor thread.
No new tests, no change in behaviour.
- platform/TextureMapper.cmake:
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp: Renamed from Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLEPipe.cpp.
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h: Renamed from Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLEPipe.h.
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::GraphicsContextGLTextureMapper::GraphicsContextGLTextureMapper):
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLANGLE::platformDisplay const):
(WebCore::GraphicsContextGLANGLE::platformConfig const):
(WebCore::GraphicsContextGLANGLE::makeContextCurrent):
- 12:42 PM Changeset in webkit [289417] by
-
- 35 edits3 adds in trunk
[JSC] move function wrapping logic to a new Function type
https://bugs.webkit.org/show_bug.cgi?id=235382
Reviewed by Yusuke Suzuki.
JSTests:
Adds a new file testing CopyNameAndLength stuff in the ShadowRealm proposal,
and fix up assertions about this in shadow-realm-evaluate.js
- stress/shadow-realm-evaluate.js:
- stress/shadow-realm-remote-function-copy-length-and-name.js: Added.
Source/JavaScriptCore:
In this initial patch, there is still a lot of JS-builtin machinery,
including some duplicated functionality. Additionally, JIT support
has not been incorporated yet.
Broadly, the idea is that there are custom hooks for calling a
JSRemoteFunction, which perform the wrapping functionality. This avoids
the need for allocating closures which contain the wrapping logic.
TODO:
- JIT/DFG/FTL support
- structure caching (unnecessary since these are not constructors?)
- improved baseline perf
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- assembler/LinkBuffer.h:
- builtins/BuiltinNames.h:
- builtins/ShadowRealmPrototype.js:
- bytecode/LinkTimeConstant.h:
- dfg/DFGSpeculativeJIT.cpp:
- ftl/FTLLowerDFGToB3.cpp:
- heap/Heap.cpp:
- heap/Heap.h:
- inspector/JSInjectedScriptHost.cpp:
- interpreter/Interpreter.cpp:
- jit/AssemblyHelpers.h:
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/ThunkGenerators.cpp:
- jit/ThunkGenerators.h:
- jsc.cpp:
- runtime/ErrorInstance.cpp:
- runtime/FunctionPrototype.cpp:
- runtime/InternalFunction.cpp:
- runtime/Intrinsic.cpp:
- runtime/Intrinsic.h:
- runtime/JSCast.h:
- runtime/JSFunction.cpp:
- runtime/JSFunction.h:
- runtime/JSFunctionInlines.h:
- runtime/JSGlobalObject.cpp:
- runtime/JSGlobalObject.h:
- runtime/JSRemoteFunction.cpp: Added.
- runtime/JSRemoteFunction.h: Added.
- runtime/VM.cpp:
- runtime/VM.h:
- 12:25 PM Changeset in webkit [289416] by
-
- 17 edits2 adds in trunk
Web Inspector: [Flexbox] Add support for showing/hiding flex container overlays and basic overlay drawing
https://bugs.webkit.org/show_bug.cgi?id=236013
<rdar://87893201>
Reviewed by Patrick Angle.
Source/JavaScriptCore:
Add new commands to show and hide flex overlays.
- inspector/protocol/DOM.json:
Source/WebCore:
Test: inspector/dom/showFlexOverlay.html
- The test follows the example for checking grid overlays at inspector/dom/showGridOverlay.html
Implement backend commands to toggle the visibility of a specialized page overlay shown on top of a flex container.
At this stage, the overlay consists of an outline around the bounding box of the flex container.
Future patches will add more detail regarding flex items and gaps between them.
This patch follows closely the example for toggling the visibility of CSS Grid overlays implemented in
https://bugs.webkit.org/show_bug.cgi?id=221062
- inspector/InspectorController.cpp:
(WebCore::InspectorController::flexOverlayCount const):
- inspector/InspectorController.h:
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::getHighlight):
(WebCore::InspectorOverlay::shouldShowOverlay const):
(WebCore::InspectorOverlay::removeFlexOverlayForNode):
(WebCore::InspectorOverlay::setFlexOverlayForNode):
(WebCore::InspectorOverlay::clearFlexOverlayForNode):
(WebCore::InspectorOverlay::clearAllFlexOverlays):
- Maintain a list of active flex overlays. A node can have only one flex overlay at a time.
(WebCore::InspectorOverlay::drawFlexOverlay):
(WebCore::InspectorOverlay::buildFlexOverlay):
- inspector/InspectorOverlay.h:
(WebCore::InspectorOverlay::flexOverlayCount const):
(WebCore::InspectorOverlay::Highlight::FlexHighlightOverlay::encode const):
(WebCore::InspectorOverlay::Highlight::FlexHighlightOverlay::decode):
- The signature of the flex overlay includes the color for the outline and a quad expressing the bounding box of the flex container.
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::showFlexOverlay):
(WebCore::InspectorDOMAgent::hideFlexOverlay):
- Translate protocol commands into InspectorOverlay method calls.
- inspector/agents/InspectorDOMAgent.h:
- testing/Internals.cpp:
(WebCore::Internals::inspectorFlexOverlayCount):
- testing/Internals.h:
- testing/Internals.idl:
- Helper used in testing to check the number of shown flex overlays.
Source/WebKit:
Add basic logic to draw a flex overlay on top of a flex container on iOS/iPadOS. Used by Web Inspector.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<InspectorOverlay::Highlight>::encode):
(IPC::ArgumentCoder<InspectorOverlay::Highlight>::decode):
- UIProcess/Inspector/ios/WKInspectorHighlightView.mm:
(-[WKInspectorHighlightView drawRect:]):
LayoutTests:
- inspector/dom/showFlexOverlay-expected.txt: Added.
- inspector/dom/showFlexOverlay.html: Added.
- inspector/dom/showGridOverlay.html:
- Drive-by clean-up of out-of-context comments.
- 11:59 AM Changeset in webkit [289415] by
-
- 5 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288090. rdar://problem/87601499
Frequent GPU process jetsams due to RemoteRenderingBackendProxy not claiming ownership of SharedMemory buffers
https://bugs.webkit.org/show_bug.cgi?id=235226
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-17
Reviewed by Simon Fraser.
Claim memory from SharedBitmaps and SharedMemory that RemoteRenderingBackendProxy
asks and receives from RemoteRenderingBackend. This is not very good,
as GPUP allocates most of the memory and thus might jetsam
before WP claims them. However, that is a bigger change to be done
after this one.
No new tests, hard to test currently.
- Shared/ShareableBitmap.cpp: (WebKit::ShareableBitmap::Handle::takeOwnershipOfMemory const):
- Shared/ShareableBitmap.h:
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp: (WebKit::RemoteRenderingBackendProxy::getShareableBitmap): (WebKit::RemoteRenderingBackendProxy::getFilteredImage):
- WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp: (WebKit::RemoteResourceCacheProxy::recordNativeImageUse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:55 AM Changeset in webkit [289414] by
-
- 2 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r289076. rdar://problem/88269480
Unreviewed, remove UnlinkedMetadataTable::offsetInMetadataTable since it is no longer used
https://bugs.webkit.org/show_bug.cgi?id=236063
Follow-up after Saam's comment.
- bytecode/UnlinkedMetadataTable.h: (JSC::UnlinkedMetadataTable::offsetInMetadataTable): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:55 AM Changeset in webkit [289413] by
-
- 5 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r289037. rdar://problem/88269480
[JSC] Use MetadataTable instead of UnlinkedMetadataTable
https://bugs.webkit.org/show_bug.cgi?id=236063
rdar://88269480
Reviewed by Robin Morisset.
Use MetadataTable from profiled CodeBlock instead of UnlinkedMetadataTable in concurrent JIT compiler.
- bytecode/MetadataTable.h: (JSC::MetadataTable::offsetInMetadataTable):
- bytecode/UnlinkedMetadataTable.h: (JSC::UnlinkedMetadataTable::offsetInMetadataTable):
- jit/JITInlines.h: (JSC::JIT::emitValueProfilingSite): (JSC::JIT::loadPtrFromMetadata): (JSC::JIT::load32FromMetadata): (JSC::JIT::load8FromMetadata): (JSC::JIT::store8ToMetadata): (JSC::JIT::store32ToMetadata): (JSC::JIT::materializePointerIntoMetadata):
- jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_resolve_scope): (JSC::JIT::emit_op_get_from_scope):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:55 AM Changeset in webkit [289412] by
-
- 3 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288435. rdar://problem/83668578
MediaStream canvas.captureStream() playback to LocalSampleBufferDisplayLayer is flaky
https://bugs.webkit.org/show_bug.cgi?id=230623
<rdar://problem/83668578>
Reviewed by Kimmo Kinnunen.
There are a few issues when creating the video element, setting the srcObject and playing it right away.
The first thing is that we try to render the video element while thinking that it might be video accelerated
(it is always the case for MediaStreamTrack based tracks), but the video element is asynchronously updating whether it is accelerated.
Following what other MediaPlayerPrivate are doing, when MediaPlayerPrivateMediaStreamAVFObjC has set up its video layers,
we schedule a call to renderingModeChanged which will trigger a relayout.
We also ensure, when the layer is fully initialized to set all values (bounds, hide states) as otherwise, this might be lost on GPUProcess
which currently does not register a RemoteSampleBufferDisplayLayer at the time the corresponding IPC message is received.
The additional issue is in the case the MediaStreamTrack source only generates one frame for some time.
In that case, and if the frame is enqueueud while setting up the video layers, we were not rendering this frame.
To fix this, when the video layers are ready, we reenqueue the last video frame as neeeded.
Manually tested.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [289411] by
-
- 11 edits1 add in trunk
[git-webkit] Allow repositories to declare their bug trackers
https://bugs.webkit.org/show_bug.cgi?id=236306
<rdar://problem/88633018>
Reviewed by Dewei Zhu.
- metadata/trackers.json: Added.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:
(Tracker.init): Raise correct exception.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.init): Raise correct exception.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tracker.py:
(Tracker.from_json): Handle list or tuple input.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git): Use shared METADATA declaration.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.init): Register any bug trackers associated with the repository.
Canonical link: https://commits.webkit.org/246978@main
- 11:32 AM Changeset in webkit [289410] by
-
- 2 edits in trunk/Source/WebCore
Make HTMLToken::beginStartTag tag an 8 bit character
https://bugs.webkit.org/show_bug.cgi?id=236283
Reviewed by Sam Weinig.
HTMLToken::beginStartTag is only ever called with an ASCII lowercase
letter. It can take an LChar instead of a UChar, and we can avoid
updating m_data8BitCheck.
- html/parser/HTMLToken.h:
(WebCore::HTMLToken::beginStartTag):
- 11:30 AM Changeset in webkit [289409] by
-
- 3 edits in trunk/Source/WebCore
[WebXR] Ensure only one frame update can be requested with the device at any time
https://bugs.webkit.org/show_bug.cgi?id=236247
Patch by Ada Chan <ada.chan@apple.com> on 2022-02-08
Reviewed by Dean Jackson.
Rename WebXRSession::requestFrame() to WebXRSession::requestFrameIfNeeded()
with logic added to determine whether a new frame update request should be
sent to the device. The boolean m_isDeviceFrameRequestPending tracks whether
a frame request is pending with the device, and requestFrameIfNeeded() should
bail early if that boolean is true.
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::requestAnimationFrame):
(WebCore::WebXRSession::updateSessionVisibilityState):
(WebCore::WebXRSession::requestFrameIfNeeded):
(WebCore::WebXRSession::onFrame):
(WebCore::WebXRSession::requestFrame): Deleted.
- Modules/webxr/WebXRSession.h:
- 11:29 AM Changeset in webkit [289408] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
- gpu-process/TestExpectations:
- 11:22 AM Changeset in webkit [289407] by
-
- 3 edits in branches/safari-613.1.16.2-branch/Source/WebCore
Cherry-pick r288539. rdar://problem/87986840
Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:21 AM Changeset in webkit [289406] by
-
- 9 edits in branches/safari-613.1.16.2-branch/Source
Versioning.
WebKit-7613.1.16.2.1
- 11:18 AM Changeset in webkit [289405] by
-
- 3 edits in branches/safari-613.1.16.3-branch/Source/JavaScriptCore
Cherry-pick r289354. rdar://problem/88611690
Wasm crash on https://copy.sh/v86/?profile=dsl
https://bugs.webkit.org/show_bug.cgi?id=236037
rdar://88358719
Reviewed by Mark Lam.
Lower stack args in Air had a bug where it was emitting a constant
materialization at the wrong instruction offset for certain types
of spill instructions. This happens when we have a stack slot that
is 8 bytes wide, but we're emitting a zero def Move32. We need to
zero the upper 4 bytes. However, there is also code inside lower
stack args that uses the temp register when encountering offsets
that are too large to encode in a single instruction. However,
this offset materialization code for the second Move32 to zero
the upper bytes was happening before the actual store. For example,
we'd end up with:
movz x16, #k
movz x16, #k2
stur x1, [x16]
stur zr, [x16]
instead of
movz x16, #k
stur x1, [x16]
movz x16, #k2
stur zr, [x16]
- b3/air/AirLowerStackArgs.cpp: (JSC::B3::Air::lowerStackArgs):
- b3/air/testair.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:18 AM Changeset in webkit [289404] by
-
- 3 edits in branches/safari-613.1.16.3-branch/Source/JavaScriptCore
Cherry-pick r289024. rdar://problem/88222677
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp: (JSC::SecureARM64EHashPins::initializeAtStartup): (JSC::SecureARM64EHashPins::allocatePinForCurrentThread): (JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::pinForCurrentThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:18 AM Changeset in webkit [289403] by
-
- 3 edits in branches/safari-613.1.16.3-branch/Source/WebCore
Cherry-pick r288539. rdar://problem/87986840
Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:15 AM Changeset in webkit [289402] by
-
- 17 edits in trunk/LayoutTests
Unreviewed gardening.
LayoutTests/imported/mozilla:
- svg/opacity-and-gradient-02.svg: Expand pixel range based on EWS run.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-backgrounds/border-image-repeat-space-7.html: Expand pixel range based on EWS data.
- web-platform-tests/css/css-text/shaping/shaping-arabic-diacritics-001.html:
LayoutTests:
Reflecting pixel diffs from EWS run.
- css1/basic/class_as_selector.html:
- css3/background/background-repeat-round-auto1.html:
- css3/background/background-repeat-space-content.html:
- css3/color/box-shadows.html:
- css3/color/gradients.html:
- fast/css/heightless-list-item.html:
- fast/css/object-position/object-position-img-svg.html:
- fast/gradients/alpha-premultiplied.html:
- fast/text/simple-line-layout-line-box-contain-glyphs.html:
- fast/text/simple-line-layout-text-position-with-stroke.html:
- svg/animations/multiple-animateTransform-additive-sum.svg:
- 11:14 AM Changeset in webkit [289401] by
-
- 3 edits in branches/safari-613.1.16.0-branch/Source/JavaScriptCore
Cherry-pick r289354. rdar://problem/88611690
Wasm crash on https://copy.sh/v86/?profile=dsl
https://bugs.webkit.org/show_bug.cgi?id=236037
rdar://88358719
Reviewed by Mark Lam.
Lower stack args in Air had a bug where it was emitting a constant
materialization at the wrong instruction offset for certain types
of spill instructions. This happens when we have a stack slot that
is 8 bytes wide, but we're emitting a zero def Move32. We need to
zero the upper 4 bytes. However, there is also code inside lower
stack args that uses the temp register when encountering offsets
that are too large to encode in a single instruction. However,
this offset materialization code for the second Move32 to zero
the upper bytes was happening before the actual store. For example,
we'd end up with:
movz x16, #k
movz x16, #k2
stur x1, [x16]
stur zr, [x16]
instead of
movz x16, #k
stur x1, [x16]
movz x16, #k2
stur zr, [x16]
- b3/air/AirLowerStackArgs.cpp: (JSC::B3::Air::lowerStackArgs):
- b3/air/testair.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:14 AM Changeset in webkit [289400] by
-
- 3 edits in branches/safari-613.1.16.0-branch/Source/JavaScriptCore
Cherry-pick r289024. rdar://problem/88222677
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp: (JSC::SecureARM64EHashPins::initializeAtStartup): (JSC::SecureARM64EHashPins::allocatePinForCurrentThread): (JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::pinForCurrentThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:14 AM Changeset in webkit [289399] by
-
- 3 edits in branches/safari-613.1.16.0-branch/Source/WebCore
Cherry-pick r288539. rdar://problem/87986840
Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:14 AM Changeset in webkit [289398] by
-
- 9 edits in branches/safari-613.1.16.3-branch/Source
Versioning.
WebKit-7613.1.16.3.1
- 11:09 AM Changeset in webkit [289397] by
-
- 9 edits in branches/safari-613.1.16.0-branch/Source
Versioning.
WebKit-7613.1.16.0.5
- 10:57 AM Changeset in webkit [289396] by
-
- 17 edits in trunk
Conversion to a color space with a smaller gamut should perform gamut mapping
https://bugs.webkit.org/show_bug.cgi?id=236200
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update tests to include more examples that force gamut mapping and update the results
of a few existing ones to account for the new algorithm.
- web-platform-tests/css/css-color/parsing/color-mix-computed-expected.txt:
- web-platform-tests/css/css-color/parsing/color-mix-computed.html:
- web-platform-tests/css/css-color/parsing/color-mix-valid-expected.txt:
- web-platform-tests/css/css-color/parsing/color-mix-valid.html:
- web-platform-tests/css/css-color/parsing/relative-color-computed-expected.txt:
- web-platform-tests/css/css-color/parsing/relative-color-computed.html:
- web-platform-tests/css/css-color/parsing/relative-color-valid-expected.txt:
- web-platform-tests/css/css-color/parsing/relative-color-valid.html:
Source/WebCore:
CSS Color now defines that gamut mapping should happen when converting to an RGB color space
with bounded gamut that is smaller than the origin color's color space. Specifically, it
specifies the use of a new "CSS gamut mapping algorithm" https://drafts.csswg.org/css-color/#css-gamut-mapping
which implements a relative colorimetric intent mapping with colors inside the destination
gamut unchanged.
The previous behavior we implemented was to clip out of gamut colors to the gamut (e.g.
color(srgb 1.4 -0.2 .5) would become color(srgb 1 0 .5)) which can lead to very odd results.
To keep things simple, the gamut mapping has been incorporated directly into the main color
conversion pipeline, replacing the call to makeFromComponentsClampingExceptAlpha in toBounded()
with one implements the new algorithm. To accomadate this, the pipeline was modified so that
the matrix conversions now only happen to/from extended-linear and XYZ color types, rather than
the old behavior which allowed shortcuting from bounded-linear, which was ok because the clip
would result in the same value. Since conversion from bounded-linear to extended-linear is free
(just a type change, no conversion), the only additional cost here is the gamut mapping.
The implementation of the CSS gamut mapping algorithm itself is a naive iterative bisection
implementation based on the psuedo-code from the spec. As an optimization in the future, we should
consider implementing an analytic solution, which will be more complicated, but likely faster.
Currently, the only place where the effect of this new gamut mapping behavior will be visible is
via functions that explicitly convert to a bounded color space, specifically the CSS color-mix()
function and relative color syntax. Ultimately, we should also be using this to map CSS colors
to the output color space of the screen / HTML canvas, but finding the right place to do that
is not a part of this initial change.
- platform/graphics/ColorConversion.cpp:
(WebCore::ColorConversion<Lab<float>, XYZA<float, WhitePoint::D50>>::convert):
(WebCore::ColorConversion<OKLab<float>, XYZA<float, WhitePoint::D65>>::convert):
Add call to makeFromComponentsClampingExceptAlpha at the end of conversion to Lab/OKLab
as the conversion functions can produce lightness values just ever so less than 0.
In practice, only the lightness value is bounded, so it is the only thing that actually
gets clamped thanks to the constexpr nature of clampedComponent().
- platform/graphics/ColorConversion.h:
(WebCore::computeDeltaEOK):
Add implementation of the deltaEOK algorithm.
(WebCore::ClipGamutMapping::mapToBoundedGamut):
Add implementation of the degenerate gamut mapping algorithm.
(WebCore::CSSGamutMapping::mapToBoundedGamut):
Add implementation of the CSS gamut mapping algorithm.
(WebCore::ColorConversion::convert):
Add a new step to the main pipeline that explicitly handles bounds conversions to/from
extended-linear so that the matrix conversions can rely on always working in extended space.
(WebCore::ColorConversion::toBounded):
Replace call to clamp with call out to gamut mapping algorithm.
(WebCore::ColorConversion::handleMatrixConversion):
Replace makeFromComponentsClampingExceptAlpha with makeFromComponents now that all conversions
are in the extended space and clamping is no-op.
- platform/graphics/ColorTypes.h:
(WebCore::inGamut):
(WebCore::colorIfInGamut):
(WebCore::clipToGamut):
Add some helpers to check/convert/clip to the bounded gamut of RGB types.
Tools:
- TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Update color conversion tests to account for gamut mapping and add a new test
that bypasses gamut mapping by converting to extended sRGB.
LayoutTests:
- platform/gtk/TestExpectations:
Add more tests that are only failing on the GTK bots due to a small floating point issues that needs further investigation.
- 10:55 AM Changeset in webkit [289395] by
-
- 3 edits in branches/safari-613.1.16.1-branch/Source/JavaScriptCore
Cherry-pick r289354. rdar://problem/88611690
Wasm crash on https://copy.sh/v86/?profile=dsl
https://bugs.webkit.org/show_bug.cgi?id=236037
rdar://88358719
Reviewed by Mark Lam.
Lower stack args in Air had a bug where it was emitting a constant
materialization at the wrong instruction offset for certain types
of spill instructions. This happens when we have a stack slot that
is 8 bytes wide, but we're emitting a zero def Move32. We need to
zero the upper 4 bytes. However, there is also code inside lower
stack args that uses the temp register when encountering offsets
that are too large to encode in a single instruction. However,
this offset materialization code for the second Move32 to zero
the upper bytes was happening before the actual store. For example,
we'd end up with:
movz x16, #k
movz x16, #k2
stur x1, [x16]
stur zr, [x16]
instead of
movz x16, #k
stur x1, [x16]
movz x16, #k2
stur zr, [x16]
- b3/air/AirLowerStackArgs.cpp: (JSC::B3::Air::lowerStackArgs):
- b3/air/testair.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289394] by
-
- 3 edits in branches/safari-613.1.16.1-branch/Source/JavaScriptCore
Cherry-pick r289024. rdar://problem/88222677
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp: (JSC::SecureARM64EHashPins::initializeAtStartup): (JSC::SecureARM64EHashPins::allocatePinForCurrentThread): (JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::pinForCurrentThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289393] by
-
- 2 edits in branches/safari-613.1.16.1-branch/Source/WebCore
Cherry-pick r288933. rdar://problem/87402941
Crash under ScrollingCoordinatorMac::hasNodeWithAnimatedScrollChanged()
https://bugs.webkit.org/show_bug.cgi?id=235989
<rdar://87402941>
Reviewed by Wenson Hsieh.
Crash data suggest that m_scrollingCoordinator can be null in ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged(),
which is true if the scrolling tree keeps ThreadedScrollingTree alive longer than the scrolling coordinator.
As in the other functions in this file, early return if m_scrollingCoordinator is null.
- page/scrolling/ThreadedScrollingTree.cpp: (WebCore::ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289392] by
-
- 7 edits in branches/safari-613.1.16.1-branch/Source
Cherry-pick r288922. rdar://problem/88172449
[WP] Remove PostScript conversion code
https://bugs.webkit.org/show_bug.cgi?id=235892
<rdar://88172449>
Reviewed by Tim Horton.
The WebContent process no longer has access to the PostScript conversion service, so there is no need to keep this code.
Source/WebCore:
- loader/cache/CachedImage.cpp: (WebCore::CachedImage::convertedDataIfNeeded const):
- platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::convertPostScriptDataToPDF): Deleted.
- platform/graphics/cg/PDFDocumentImage.h:
Source/WebKit:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::pluginInfo): (WebKit::PDFPlugin::streamDidReceiveResponse): (WebKit::PDFPlugin::manualStreamDidReceiveResponse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289391] by
-
- 2 edits in branches/safari-613.1.16.1-branch/Source/WebKit
Cherry-pick r288848. rdar://problem/86950638
Web Inspector: [Cocoa] Crash in WebKit::WebInspectorUIProxy::attachmentViewDidChange
https://bugs.webkit.org/show_bug.cgi?id=235842
Reviewed by Timothy Hatcher.
Speculatively fix an occasional crash in WebKit::WebInspectorUIProxy::attachmentViewDidChange by ensuring that
the WebInspectorUIProxy still exists before callingattachmentViewDidChange.
Currently we are sometimes crashing while attempting to
m_objCAdapter.get(), which is the first use of a
member variable inWebInspectorUIProxy::attachmentViewDidChange. This retain pointer should never be able to
not exists, since it storingnilis a valid state. This points to the WebInspectorUIProxy itself no longer
existing. The fix is to check that we actually have aWebInspectorUIProxybefore calling
attachmentViewDidChange. This is also just good practice sinceWebPageProxy::inspector()is also able to
returnnullptrunder certain circumstances, and all other calls to it are guarded to check if the
WebInspectorUIProxy is still around first.
- UIProcess/Cocoa/WebViewImpl.mm: (WebKit::WebViewImpl::setInspectorAttachmentView):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289390] by
-
- 3 edits in branches/safari-613.1.16.1-branch/Source/WebKit
Cherry-pick r288825. rdar://problem/88172449
[WP] Remove PostScript conversion code
https://bugs.webkit.org/show_bug.cgi?id=235892
<rdar://88172449>
Reviewed by Brent Fulgham.
The WebContent process no longer has access to the PostScript conversion service, so there is no need to keep this code.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::streamDidFinishLoading): (WebKit::PDFPlugin::manualStreamDidFinishLoading): (WebKit::PDFPlugin::convertPostScriptDataIfNeeded): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289389] by
-
- 2 edits in branches/safari-613.1.16.1-branch/Source/WebKit
Cherry-pick r288776. rdar://problem/88214729
[macOS][WP] Temporarily add syscall to sandbox
https://bugs.webkit.org/show_bug.cgi?id=235841
<rdar://88197549>
Reviewed by Brent Fulgham.
Temporarily add syscall to sandbox in the WebContent process on macOS. This can be removed when <rdar://88210738> is fixed.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:55 AM Changeset in webkit [289388] by
-
- 3 edits in branches/safari-613.1.16.1-branch/Source/WebCore
Cherry-pick r288539. rdar://problem/87986840
Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:49 AM Changeset in webkit [289387] by
-
- 9 edits in branches/safari-613.1.16.1-branch/Source
Versioning.
WebKit-7613.1.16.1.4
- 10:36 AM Changeset in webkit [289386] by
-
- 6 edits in trunk/Tools
[git-webkit] Autostash when pulling
https://bugs.webkit.org/show_bug.cgi?id=235861
<rdar://problem/88298948>
Reviewed by Ryosuke Niwa.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.pull): Pass --autostash when pulling and resetting timestamps.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Handle --autostash.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
Canonical link: https://commits.webkit.org/246972@main
- 10:20 AM Changeset in webkit [289385] by
-
- 3 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r289354. rdar://problem/88611690
Wasm crash on https://copy.sh/v86/?profile=dsl
https://bugs.webkit.org/show_bug.cgi?id=236037
rdar://88358719
Reviewed by Mark Lam.
Lower stack args in Air had a bug where it was emitting a constant
materialization at the wrong instruction offset for certain types
of spill instructions. This happens when we have a stack slot that
is 8 bytes wide, but we're emitting a zero def Move32. We need to
zero the upper 4 bytes. However, there is also code inside lower
stack args that uses the temp register when encountering offsets
that are too large to encode in a single instruction. However,
this offset materialization code for the second Move32 to zero
the upper bytes was happening before the actual store. For example,
we'd end up with:
movz x16, #k
movz x16, #k2
stur x1, [x16]
stur zr, [x16]
instead of
movz x16, #k
stur x1, [x16]
movz x16, #k2
stur zr, [x16]
- b3/air/AirLowerStackArgs.cpp: (JSC::B3::Air::lowerStackArgs):
- b3/air/testair.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:20 AM Changeset in webkit [289384] by
-
- 2 edits in branches/safari-613-branch/LayoutTests
Cherry-pick r287055. rdar://problem/86488039
REGRESSION (r286982): ASSERTION FAILED: clipRectsContext.rootLayer == m_clipRectsCache->m_clipRectsRoot[clipRectsType]
https://bugs.webkit.org/show_bug.cgi?id=234315
Unreviewed test gardening.
- TestExpectations: Skip the test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:53 AM Changeset in webkit [289383] by
-
- 7 edits in trunk/Source/WebCore
[WebCore] JSValueInWrappedObject is not correct for concurrent GC
https://bugs.webkit.org/show_bug.cgi?id=236277
rdar://88366849
Reviewed by Saam Barati.
JSValueInWrappedObject is broken for concurrent GC's marking. It is using std::variant<> to store Weak / JSValue,
which is not safe if concurrent GC reads it while changing that std::variant. This patch fixes several problems
in JSValueInWrappedObject.
- We must not use std::variant here since concurrent access can happen. We have both JSValue and Weak, and change Weak after fully initialize WeakImpl's content in Weak. To ensure that, we emit storeStoreBarrier before setting Weak to the JSValueInWrappedObject's field.
- Assignment operator & copy constructor are basically wrong for this class as we need a write-barrier to set a value to the field. We remove them and make it explicit that we do not have write-barrier, which reveals that IDBRequest has a semantic bug.
- We also add clear() instead of assigning empty JSValueInWrappedObject. And we ensure that this new clear() works well with concurrent GC threads: we clear the underlying WeakImpl* pointer to nullptr. But since WeakImpl* is kept alive until GC clears weak-related things in its end phase, concurrent GC thread can access the old WeakImpl*.
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):
(WebCore::IDBRequest::setResultToUndefined):
(WebCore::IDBRequest::willIterateCursor):
(WebCore::IDBRequest::didOpenOrIterateCursor):
- Modules/paymentrequest/PaymentMethodChangeEvent.cpp:
- Modules/paymentrequest/PaymentResponse.cpp:
(WebCore::PaymentResponse::setDetailsFunction):
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::getChannelData):
(WebCore::AudioBuffer::visitChannelWrappers):
- bindings/js/JSValueInWrappedObject.h:
(WebCore::JSValueInWrappedObject::JSValueInWrappedObject):
(WebCore::JSValueInWrappedObject::operator JSC::JSValue const):
(WebCore::JSValueInWrappedObject::visit const):
(WebCore::JSValueInWrappedObject::setWeakly):
(WebCore::JSValueInWrappedObject::set):
(WebCore::JSValueInWrappedObject::clear):
(WebCore::JSValueInWrappedObject::setWithoutBarrier):
(WebCore::cachedPropertyValue):
(WebCore::JSValueInWrappedObject::makeValue): Deleted.
(WebCore::JSValueInWrappedObject::operator=): Deleted.
- 9:51 AM Changeset in webkit [289382] by
-
- 2 edits in trunk/Source/WTF
[macOS] Update requirements for ScreenCaptureKit
https://bugs.webkit.org/show_bug.cgi?id=236304
rdar://88593324
Reviewed by Youenn Fablet.
- wtf/PlatformHave.h:
- 9:14 AM Changeset in webkit [289381] by
-
- 10 edits2 adds in trunk
LibWebRTCCodecs SharedVideoFrameWriters can deadlock in case of GPUProcess crash
https://bugs.webkit.org/show_bug.cgi?id=236132
Reviewed by Eric Carlson.
Source/WebKit:
When sending sampels through SharedVideoFrameWriters, we might lock on a binary semaphore controlled by GPUProcess.
It is not always the case that the semaphore will unblock in case of GPUProcess crash for instance.
To prevent this, whenever we detect a GPUProcess crash, we disable SharedVideoFrameWriters, which has the effect of
disabling semaphore wait for future call and unlocking any current wait by calling semaphore.signal.
Then, the SharedVideoFrameWriter is recreated as needed by owner classes such as LibWebRTCCodecs or SampleBufferDisplayLayer.
In the case of LibWebRTCCodecs, we further reduce locking cases by introducing a lock dedicated to encoders.
Previously, the lock for encoders was also encompassing the codecs connection and the decoders.
Test: webrtc/vp8-then-h264-gpu-process-crash.html
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
- WebProcess/GPU/webrtc/SharedVideoFrame.cpp:
- WebProcess/GPU/webrtc/SharedVideoFrame.h:
LayoutTests:
- platform/gtk/TestExpectations: Skip test as it is crashing in GTK bot.
- webrtc/vp8-then-h264-gpu-process-crash-expected.txt: Added.
- webrtc/vp8-then-h264-gpu-process-crash.html: Added.
- 9:03 AM Changeset in webkit [289380] by
-
- 2 edits in trunk/Source/WebKit
Reduce allocations and increase thread safety of constructedPath
https://bugs.webkit.org/show_bug.cgi?id=236286
<rdar://86904276>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-08
Reviewed by Chris Dumez.
- UIProcess/API/APIContentRuleListStore.cpp:
(API::constructedPathPrefix):
(API::ContentRuleListStore::getAvailableContentRuleListIdentifiers):
- 8:57 AM Changeset in webkit [289379] by
-
- 7 edits2 moves in trunk/Source/WebKit
Rename ImageBufferShareableIOSurfaceBackend to ImageBufferRemoteIOSurfaceBackend
https://bugs.webkit.org/show_bug.cgi?id=236267
Reviewed by Tim Horton.
Most of the functions on ImageBufferShareableIOSurfaceBackend are stubs that RELEASE_ASSERT;
it's "remote" role is more important that it's "shareable" role, so rename it.
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/graphics/PlatformImageBufferShareableBackend.h:
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp: Renamed from Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp.
(WebKit::ImageBufferRemoteIOSurfaceBackend::calculateSafeBackendSize):
(WebKit::ImageBufferRemoteIOSurfaceBackend::calculateMemoryCost):
(WebKit::ImageBufferRemoteIOSurfaceBackend::calculateExternalMemoryCost):
(WebKit::ImageBufferRemoteIOSurfaceBackend::create):
(WebKit::ImageBufferRemoteIOSurfaceBackend::createImageBufferBackendHandle const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::context const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::backendSize const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::bytesPerRow const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::copyNativeImage const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::copyImage const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::draw):
(WebKit::ImageBufferRemoteIOSurfaceBackend::drawPattern):
(WebKit::ImageBufferRemoteIOSurfaceBackend::toDataURL const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::toData const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::getPixelBuffer const):
(WebKit::ImageBufferRemoteIOSurfaceBackend::putPixelBuffer):
- WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h: Renamed from Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h.
- 8:55 AM Changeset in webkit [289378] by
-
- 5 edits in trunk
Enable GPU Process for WebGL by default on iOS
https://bugs.webkit.org/show_bug.cgi?id=236218
Reviewed by Kimmo Kinnunen.
Tools:
- WebKitTestRunner/TestOptions.cpp: Add new static representing whether full GPU Process is enabled.
(WTR::TestOptions::defaults):
LayoutTests:
- platform/ios-simulator/TestExpectations: read-pixels-test.html is no longer slow.
- platform/ios-wk2/TestExpectations:
- 8:23 AM Changeset in webkit [289377] by
-
- 6 edits in trunk
Return 'none' for the computed style of mask when there are no mask images
https://bugs.webkit.org/show_bug.cgi?id=236265
<rdar://88178304>
Patch by Matt Woodrow <Matt Woodrow> on 2022-02-08
Reviewed by Dean Jackson.
Source/WebCore:
Rather than returning all the longhand properties, return 'none' if there are no
mask images. This no longer matches the behaviour of the 'background' property, but
better matches what other UAs do.
Ideally we'd return the smallest possible canonical representation of the non-initial
property values, but this is a much simpler change to fix a compat regression.
Test: fast/masking/parsing-mask.html
Updates expected results to match new behavior.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::getLayerCount):
(WebCore::ComputedStyleExtractor::getFillLayerPropertyShorthandValue):
(WebCore::ComputedStyleExtractor::getBackgroundShorthandValue):
(WebCore::ComputedStyleExtractor::getMaskShorthandValue):
- css/CSSComputedStyleDeclaration.h:
LayoutTests:
- fast/masking/parsing-mask-expected.txt:
- fast/masking/parsing-mask.html:
Updated expected results to expect 'none' for all cases where there isn't an actual mask
image.
- 7:55 AM Changeset in webkit [289376] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Add support for ideographic baseline on atomic inline level boxes
https://bugs.webkit.org/show_bug.cgi?id=236258
Reviewed by Antti Koivisto.
This is in preparation for adding vertical writing mode support (now we pass all the replaced tests under imported/w3c/web-platform-tests/css/css-writing-modes).
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable): see RenderBox::baselinePosition() for the math.
- 7:06 AM Changeset in webkit [289375] by
-
- 2 edits in trunk/LayoutTests
[GTK] Garden tests failing after r288070
Unreviewed test gardening.
- platform/gtk/TestExpectations:
- 6:55 AM Changeset in webkit [289374] by
-
- 7 edits in trunk/Source/WebCore
[LFC][IFC] Take writing direction into account when applying RenderBlockFlow end padding quirk
https://bugs.webkit.org/show_bug.cgi?id=236280
Reviewed by Antti Koivisto.
In vertical writing mode the overflow should be expanded in the vertical direction if applicable.
- layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::contentLogicalWidth const):
(WebCore::InlineDisplay::Line::Line):
(WebCore::InlineDisplay::Line::contentWidth const): Deleted.
- layout/integration/InlineIteratorLineModernPath.h:
(WebCore::InlineIterator::LineIteratorModernPath::contentLogicalRight const):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::lineOverflowLogicalWidth):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
(WebCore::LayoutIntegration::lineOverflowWidth): Deleted.
- layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::contentLogicalWidth const):
(WebCore::LayoutIntegration::Line::contentWidth const): Deleted. -> this is a logical width value.
- layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
- platform/graphics/FloatRect.h:
(WebCore::FloatRect::shiftMaxYEdgeBy):
- 6:35 AM Changeset in webkit [289373] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Take isHorizontalWritingMode value into account when converting incoming margin/border/padding values
https://bugs.webkit.org/show_bug.cgi?id=236285
Reviewed by Antti Koivisto.
(WebCore::LayoutIntegration::logicalMargin):
(WebCore::LayoutIntegration::logicalBorder):
(WebCore::LayoutIntegration::logicalPadding):
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::updateInlineBoxDimensions):
- 6:26 AM Changeset in webkit [289372] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] LineBoxBuilder::setBaselineAndLayoutBounds should handle atomic inline level boxes too
https://bugs.webkit.org/show_bug.cgi?id=236255
Reviewed by Antti Koivisto.
Call setBaselineAndLayoutBounds with atomic type of inline level boxes.
This is in preparation for adding support for ideographic baseline on atomic inline level boxes.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::setBaselineAndLayoutBounds const):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
- 6:19 AM Changeset in webkit [289371] by
-
- 4 edits in trunk/Source/WebKit
GPUP WebGL RELEASE_LOGs errorneously for unhandled messages
https://bugs.webkit.org/show_bug.cgi?id=236288
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-08
Reviewed by Antti Koivisto.
Remove a RELEASE_LOG when GPUProcessConnection sees a RemoteGraphicsContextGLProxy
message that was not delivered to a specific instance.
This is business as usual, as the proxy intends to be asynchronous and can be destroyed
without coordinating with the GPUP side. The Proxy object cannot know at which point
of time a message to it might be delivered.
Move the message handling to RemoteGraphicsContextGLProxy static method,
so that the RELEASE_LOG does not get added erroneosly again.
- WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::dispatchMessage):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::handleMessageToRemovedDestination):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- 6:11 AM WebKitGTK/2.34.x edited by
- (diff)
- 6:07 AM Changeset in webkit [289370] by
-
- 2 edits in trunk
[WPE] Running distcheck with USE_SOUP2=OFF fails to install documentation
https://bugs.webkit.org/show_bug.cgi?id=236235
Reviewed by Carlos Garcia Campos.
- Source/PlatformWPE.cmake: Use WPE_API_DOC_VERSION instead of WPE_API_VERSION for the documentation.
- 5:46 AM Changeset in webkit [289369] by
-
- 5 edits in trunk/Source/WebKit
[GTK][WPE] Crash at WebKit::bindA11y() in WebKitGTK 2.35.2
https://bugs.webkit.org/show_bug.cgi?id=236144
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-02-08
Reviewed by Adrian Perez de Castro.
ATSPI stopped using an abstract socket but we are still assuming the a11y bus address is an abstract socket,
even when the path is not really used after all. However, just handling the case of the socket being a normal
unix socket is not enough, because the actual socket path is not mounted in the xdg-dbus-proxy sandbox, so it
fails to connect to the original a11y bus.
- UIProcess/Launcher/ProcessLauncher.h: Rename extraWebProcessSandboxPaths as extraSandboxPaths.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::XDGDBusProxyLauncher::setAddress): Remove the DBusAddressType parameter. Check the address looks valid
and just store the result of dbusAddressToPath() in m_path.
(WebKit::XDGDBusProxyLauncher::launch): Do not require m_path to be non-null and add it to the sanbox.
(WebKit::XDGDBusProxyLauncher::dbusAddressToPath): Only return the path for normal unix sockets.
(WebKit::bindDBusSession): Remove the DBusAddressType parameter passed to dbusAddressToPath().
(WebKit::bindA11y): Check proxy path is not null before setting a11y bus address in display.
(WebKit::addExtraPaths): Helper to add extra paths to the sandbox.
(WebKit::bubblewrapSpawn): Call addExtraPaths() for WebProcess and DBusProxy types.
- UIProcess/Launcher/glib/FlatpakLauncher.cpp:
(WebKit::flatpakSpawn): Use extraSandboxPaths.
- UIProcess/glib/WebProcessProxyGLib.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions): Ditto.
- 5:25 AM Changeset in webkit [289368] by
-
- 4 edits in trunk/Source/WebCore
AX: When updating the isolated tree with a remove and add of the same object, the wrapper is not re-attached
https://bugs.webkit.org/show_bug.cgi?id=236273
Reviewed by Andres Gonzalez.
In AXIsolatedTree::applyPendingChanges, we process node and subtree
removals before tree additions. When doing these removals, we detach
the object and wrapper from each other. This is fine unless that same
object is slated to be added again (e.g. it was moved in the DOM), as
we don't always re-attach a wrapper. [WebAccessibilityObjectWrapperBase axBackingObject]
will always return nil for objects in this state.
In this patch, when processing m_pendingAppends, we now attach a
wrapper to any object that has becomeisDetached(i.e. the object
has no wrapper, or the object has a wrapper but the wrapper does not
point at the object).
Fixes ~15 tests in isolated tree mode.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::applyPendingChanges):
- accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::isDetached const):
- 4:43 AM Changeset in webkit [289367] by
-
- 10 edits in trunk
[GStreamer] Test webkit/WebKitWebView/display-usermedia-permission-request times out
https://bugs.webkit.org/show_bug.cgi?id=235955
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-08
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
The RealtimeMediaSource representing the GStreamer mock display source now correctly
reflects the corresponding capture device type (either Window or Screen). As that source
actually wraps a MockRealtimeVideoSourceGStreamer, a couple more methods from
RealtimeMediaSource had to be overridden.
- platform/mediastream/RealtimeMediaSource.h: Allow subclasses to override setMuted and isProducingData.
- platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp: Handle SystemAudio as
Speaker devices, for now.
(WebCore::GStreamerCaptureDeviceManager::refreshCaptureDevices):
- platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp: Refactor, leveraging the
new has{Audio,Video} methods.
(mediaStreamTrackPrivateGetTags):
(webkitMediaStreamNew):
(webkitMediaStreamSrcAddTrack):
(webkitMediaStreamSrcSetStream):
(webkitMediaStreamSrcConfigureAudioTracks):
- platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp: Map source type to
capture device type, proxy mute configuration and ending logic to wrapped source.
(WebCore::MockDisplayCaptureSourceGStreamer::create):
(WebCore::MockDisplayCaptureSourceGStreamer::MockDisplayCaptureSourceGStreamer):
(WebCore::MockDisplayCaptureSourceGStreamer::requestToEnd):
(WebCore::MockDisplayCaptureSourceGStreamer::setMuted):
- platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.h:
Source/WebKit:
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewConfigureMediaCapture): Don't notify display capture updates as camera capture
updates.
Tools:
- TestWebKitAPI/glib/TestExpectations.json: Unflag test now passing.
- 4:32 AM Changeset in webkit [289366] by
-
- 2 edits in trunk/Source/WebKit
[WPE] Developer extras are always enabled by default
https://bugs.webkit.org/show_bug.cgi?id=236295
Reviewed by Carlos Garcia Campos.
No new tests.
- UIProcess/API/wpe/WPEView.cpp:
(View::View): Remove call to unconditionally set the developer extras setting.
- 4:26 AM Changeset in webkit [289365] by
-
- 7 edits in trunk/Source/WebCore
RealtimeOutgoingVideoSourceCocoa rotation session should not use IOSurface
https://bugs.webkit.org/show_bug.cgi?id=236139
Reviewed by Eric Carlson.
Introduce a parameter to use IOSurface or not in ImageRotationSessionVT.
Make use of that parameter in RealtimeOutgoingVideoSourceCocoa to disable IOSurface use.
Covered by existing tests.
- platform/graphics/cv/CVUtilities.h:
- platform/graphics/cv/CVUtilities.mm:
(WebCore::createIOSurfaceCVPixelBufferPool):
(WebCore::createInMemoryCVPixelBufferPool):
- platform/graphics/cv/ImageRotationSessionVT.h:
- platform/graphics/cv/ImageRotationSessionVT.mm:
(WebCore::ImageRotationSessionVT::ImageRotationSessionVT):
(WebCore::ImageRotationSessionVT::rotate):
- platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:
(WebCore::RealtimeOutgoingVideoSourceCocoa::rotatePixelBuffer):
- 3:59 AM Changeset in webkit [289364] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/master.cfg
[ews] Do not configure GitHub hooks on local testing instance
https://bugs.webkit.org/show_bug.cgi?id=236266
Reviewed by Jonathan Bedard.
- Tools/CISupport/ews-build/master.cfg:
Canonical link: https://commits.webkit.org/246952@main
- 3:53 AM Changeset in webkit [289363] by
-
- 4 edits in trunk/Source
Adding new files fails to compile after SharedWorkerObjectConnection.h changes
https://bugs.webkit.org/show_bug.cgi?id=236294
Add forward declarations and includes.
Unreviewed build fix.
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-08
Source/WebCore:
- workers/shared/SharedWorkerObjectConnection.h:
Source/WebKit:
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h:
- 3:33 AM Changeset in webkit [289362] by
-
- 6 edits in trunk/Source
MediaSampleAVFObjC::createImageSample should take a presentationTime as parameter
https://bugs.webkit.org/show_bug.cgi?id=236067
Reviewed by Eric Carlson.
Source/WebCore:
Add additional parameters to createImageSample that will be used by WebKit.
No change of behavior.
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
(WebCore::MediaSampleAVFObjC::createImageSample):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::createImageSample):
Source/WebKit:
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::videoSampleAvailable):
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
(WebKit::RemoteSampleBufferDisplayLayer::enqueueSample):
- 3:28 AM Changeset in webkit [289361] by
-
- 6 edits in trunk/Source/WebKit
SharedVideoFrameReader could directly take a IPCHandle
https://bugs.webkit.org/show_bug.cgi?id=236068
Reviewed by Eric Carlson.
Move more code in SharedVideoFrameReader::setSharedMemory, as a refactoring.
- GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::LibWebRTCCodecsProxy::setSharedVideoFrameMemory):
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::setSharedVideoFrameMemory):
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
(WebKit::RemoteSampleBufferDisplayLayer::setSharedVideoFrameMemory):
- WebProcess/GPU/webrtc/SharedVideoFrame.cpp:
(WebKit::SharedVideoFrameReader::setSharedMemory):
- WebProcess/GPU/webrtc/SharedVideoFrame.h:
(WebKit::SharedVideoFrameReader::setSharedMemory): Deleted.
- 1:53 AM Changeset in webkit [289360] by
-
- 3 edits in trunk/Source/WebCore
RenderLayer: Simplify RenderElement::paint() calls
https://bugs.webkit.org/show_bug.cgi?id=236192
Reviewed by Simon Fraser.
Introduce "paintOffsetForRenderer(fragment, localPaintingInfo)" inline helper:
return toLayoutPoint(fragment.layerBounds.location() - rendererLocation() + localPaintingInfo.subpixelOffset)
Avoid repeating this formula in various places in RenderLayer - unify it.
Covered by existing tests, no change in behaviour.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintChildClippingMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::collectEventRegionForFragments):
- rendering/RenderLayer.h:
(WebCore::RenderLayer::paintOffsetForRenderer const):
Feb 7, 2022:
- 9:47 PM Changeset in webkit [289359] by
-
- 9 edits in trunk/Source/JavaScriptCore
[JSC] Convert JSString's non-atomic WTF::String to atomic string while concurrent compilers / heap threads run
https://bugs.webkit.org/show_bug.cgi?id=236262
Reviewed by Saam Barati.
Inspired from r289177. This patch introduces a new protocol which allows us to replace JSString's underlying non-atomic String
to atomic String if we once call toIdentifier / toAtomString.
We had a problem that,
- We have a JSString, which has a "test" WTF::String.
- We already have "test" atomic string in the table.
- Then, when we call JSString::toIdentifier, we know that there is an atomic "test" string, but we cannot replace the current JSString's WTF::String because it can be accessed concurrently from concurrent compilers and GC heap helpers.
- Thus, JSString keeps non atomic "test" WTF::String.
But this means that we need to lookup atom string table every time we would like to get an atom string from this JSString.
So, in this patch, we introduce a new protocol, which allows swapping existing WTF::String with an atom string.
When we found that JSString has a WTF::String and we already have atom string in the table with the same content (when calling
toIdentifier / toAtomString), we attempt to replace JSString's WTF::String with the atom string, but *keep the old string in JSC::Heap's
vector called m_possiblyAccessedStringsFromConcurrentThreads. Then, we can keep these strings alive until next GC ends. This ensures that
all concurrent compilers / heap helpers can keep accessing to the old strings. And then, in the GC finalize, we clear this vector since
resumed concurrent compilers and GC heap helpers will not touch these old strings in the next GC cycle. Only case we have a problem is
that we keep having StringImpl* of the old string after GC safepoint in the concurrent compiler, and the only use of that is
DFG::Graph::m_copiedStrings. So, I changed the code not to keep old StringImpl* in DFG::Graph::m_copiedStrings. Also, note that we do
this only when we convert non-atom string to atom string so all UniquedStringImpl* from JSString* (it is atom ones) does not matter since
they are already atom one: they will not be replaced.
This does not increase memory usage, rather, improve memory usage since this kept string was anyway held by the wrapper's JSString at least
until the next GC run. And we clear m_possiblyAccessedStringsFromConcurrentThreads in the next GC run, so we can shrink memory.
It improves Speedometer2 by 0.2%.
----------------------------------------------------------------------------------------------------------------------------------
| subtest | ms | ms | b / a | pValue (significance using False Discovery Rate) |
----------------------------------------------------------------------------------------------------------------------------------
| Elm-TodoMVC |106.193333 |105.690000 |0.995260 | 0.050074 |
| VueJS-TodoMVC |21.671667 |21.741667 |1.003230 | 0.715305 |
| EmberJS-TodoMVC |113.146667 |110.871667 |0.979893 | 0.000000 (significant) |
| BackboneJS-TodoMVC |42.481667 |42.346667 |0.996822 | 0.358040 |
| Preact-TodoMVC |15.796667 |16.016667 |1.013927 | 0.226011 |
| AngularJS-TodoMVC |117.568333 |117.345000 |0.998100 | 0.543369 |
| Vanilla-ES2015-TodoMVC |58.348333 |57.905000 |0.992402 | 0.000381 (significant) |
| Inferno-TodoMVC |54.656667 |54.946667 |1.005306 | 0.254310 |
| Flight-TodoMVC |61.106667 |61.141667 |1.000573 | 0.880780 |
| Angular2-TypeScript-TodoMVC |37.030000 |37.065000 |1.000945 | 0.918550 |
| VanillaJS-TodoMVC |47.741667 |47.911667 |1.003561 | 0.497675 |
| jQuery-TodoMVC |205.251667 |203.903333 |0.993431 | 0.000420 (significant) |
| EmberJS-Debug-TodoMVC |312.448333 |308.848333 |0.988478 | 0.000020 (significant) |
| React-TodoMVC |78.381667 |78.268333 |0.998554 | 0.654647 |
| React-Redux-TodoMVC |131.246667 |131.626667 |1.002895 | 0.138912 |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |57.860000 |57.533333 |0.994354 | 0.156536 |
----------------------------------------------------------------------------------------------------------------------------------
a mean = 290.61106
b mean = 291.21768
pValue = 0.1419936818
(Bigger means are better.)
1.002 times better
Results ARE NOT significant
- bytecompiler/BytecodeGenerator.cpp:
(JSC::prepareJumpTableForStringSwitch):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGGraph.h:
- dfg/DFGLazyJSValue.cpp:
(JSC::DFG::CrossThreadStringTranslator::hash):
(JSC::DFG::CrossThreadStringTranslator::equal):
(JSC::DFG::CrossThreadStringTranslator::translate):
(JSC::DFG::LazyJSValue::tryGetString const):
- dfg/DFGLazyJSValue.h:
(JSC::DFG::LazyJSValue::knownStringImpl):
- heap/Heap.cpp:
(JSC::Heap::finalize):
- heap/Heap.h:
(JSC::Heap::appendPossiblyAccessedStringFromConcurrentThreads):
- runtime/JSString.h:
(JSC::JSString::swapToAtomString const):
(JSC::JSString::toIdentifier const):
(JSC::JSString::toAtomString const):
- 8:59 PM Changeset in webkit [289358] by
-
- 3 edits1 copy in trunk/Source/WTF
Unreviewed, reverting r289256.
https://bugs.webkit.org/show_bug.cgi?id=236284
EWS is reporting build failures
Reverted changeset:
"Replace "Copy WTF Headers" with native build phases"
https://bugs.webkit.org/show_bug.cgi?id=235744
https://commits.webkit.org/r289256
- 8:43 PM Changeset in webkit [289357] by
-
- 8 edits in trunk/Source/WebCore
Unreviewed, reverting r289227.
https://bugs.webkit.org/show_bug.cgi?id=236282
Crash on AS debug builds
Reverted changeset:
"Move
DocumentTimeline::runningAnimationsForRendererAreAllAccelerated()
to Styleable"
https://bugs.webkit.org/show_bug.cgi?id=236239
https://commits.webkit.org/r289227
- 8:24 PM Changeset in webkit [289356] by
-
- 8 edits2 deletes in trunk/Source/WebCore
Remove HTMLSourceTracker
https://bugs.webkit.org/show_bug.cgi?id=236259
Reviewed by Geoffrey Garen.
Since the removal of the XSS Auditor in bug 230499, the tracking of
attribute locations that HTMLSourceTracker does is unused.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizerLoop):
- html/parser/HTMLDocumentParser.h:
- html/parser/HTMLSourceTracker.cpp: Removed.
- html/parser/HTMLSourceTracker.h: Removed.
- html/parser/HTMLToken.h:
(WebCore::HTMLToken::beginAttribute):
(WebCore::HTMLToken::endAttribute):
(WebCore::HTMLToken::setAttributeBaseOffset): Deleted.
- html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::processToken):
- html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::setTokenAttributeBaseOffset): Deleted.
- 7:31 PM Changeset in webkit [289355] by
-
- 4 edits in trunk/Source/WebCore
Prevent removal of isolated objects from a different parent than the current parent.
https://bugs.webkit.org/show_bug.cgi?id=236250
<rdar://problem/88585928>
Reviewed by Chris Fleizach.
AXObjectCache::remove may be called for an object after that object has
been re-parented. In those cases, we don't want to remove the corresponding
isolated object from its new location in the tree.
In addition, AXIsolatedTree:removeSubtreeFromNodeMap now properly updates
the children IDs for the parent of the object being removed.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::remove):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::nodeChangeForObject):
(WebCore::AXIsolatedTree::queueChange):
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
(WebCore::AXIsolatedTree::nodeAncestryChanges):
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::removeNode):
(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):
- accessibility/isolatedtree/AXIsolatedTree.h:
(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):
- 7:00 PM Changeset in webkit [289354] by
-
- 3 edits in trunk/Source/JavaScriptCore
Wasm crash on https://copy.sh/v86/?profile=dsl
https://bugs.webkit.org/show_bug.cgi?id=236037
rdar://88358719
Reviewed by Mark Lam.
Lower stack args in Air had a bug where it was emitting a constant
materialization at the wrong instruction offset for certain types
of spill instructions. This happens when we have a stack slot that
is 8 bytes wide, but we're emitting a zero def Move32. We need to
zero the upper 4 bytes. However, there is also code inside lower
stack args that uses the temp register when encountering offsets
that are too large to encode in a single instruction. However,
this offset materialization code for the second Move32 to zero
the upper bytes was happening before the actual store. For example,
we'd end up with:
movz x16, #k
movz x16, #k2
stur x1, [x16]
stur zr, [x16]
instead of
movz x16, #k
stur x1, [x16]
movz x16, #k2
stur zr, [x16]
- b3/air/AirLowerStackArgs.cpp:
(JSC::B3::Air::lowerStackArgs):
- b3/air/testair.cpp:
- 6:58 PM Changeset in webkit [289353] by
-
- 21 edits2 adds in trunk
Add PushService
https://bugs.webkit.org/show_bug.cgi?id=235857
Reviewed by Brady Eidson.
Source/WebKit:
This adds PushService to webpushd. It handles requests to create, remove, and get push
subscriptions. It also decrypts incoming pushes and pass them back to the UI process via the
existing machinery in WebPushDaemon.
PushService primarily interacts with two objects:
- PushServiceConnection: this creates and removes push subscriptions from the push server. It also receives incoming pushes from the push server.
- PushDatabase: this persists push subscriptions to disk.
Several things are not yet implemented; for instance, we currently always grant a page the
permission to receive pushes. This will be fixed in future patches.
Covered by new API tests. The current tests use a MockPushServiceConnection that vends
subscription with fixed data, but this can be improved in the future.
- Shared/API/Cocoa/WKMain.h:
- Shared/API/Cocoa/WKMain.mm:
(WKWebPushDaemonMain):
- Shared/Cocoa/WebPushMessageCocoa.mm: add ability to distinguish between an empty vs. null payload.
(WebKit::WebPushMessage::fromDictionary):
(WebKit::WebPushMessage::toDictionary const):
- Shared/WebPushDaemonConstants.h:
(WebKit::WebPushD::messageTypeSendsReply):
- Shared/WebPushMessage.h:
(WebKit::WebPushMessage::decode):
- WebKit.xcodeproj/project.pbxproj:
- webpushd/MockPushServiceConnection.h:
- webpushd/MockPushServiceConnection.mm:
(WebPushD::MockPushServiceConnection::generateClientKeys):
(WebPushD::MockPushServiceConnection::subscribe):
(WebPushD::MockPushServiceConnection::unsubscribe):
- webpushd/PushService.h: Added.
(WebPushD::PushService::connection):
(WebPushD::PushService::database):
(WebPushD::PushService::didReceivePushMessage):
- webpushd/PushService.mm: Added.
(WebPushD::updateTopicLists):
(WebPushD::PushService::create):
(WebPushD::PushService::createMockService):
(WebPushD::PushService::PushService):
(WebPushD::makePushSubscriptionFromRecord):
(WebPushD::makePushTopic):
(WebPushD::PushServiceRequest::bundleIdentifier):
(WebPushD::PushServiceRequest::scope):
(WebPushD::PushServiceRequest::PushServiceRequest):
(WebPushD::PushServiceRequestImpl::PushServiceRequestImpl):
(WebPushD::PushServiceRequestImpl::fulfill):
(WebPushD::PushServiceRequestImpl::reject):
(WebPushD::GetSubscriptionRequest::GetSubscriptionRequest):
(WebPushD::GetSubscriptionRequest::startInternal):
(WebPushD::SubscribeRequest::SubscribeRequest):
(WebPushD::SubscribeRequest::startImpl):
(WebPushD::SubscribeRequest::attemptToRecoverFromTopicAlreadyInFilterError):
(WebPushD::UnsubscribeRequest::UnsubscribeRequest):
(WebPushD::UnsubscribeRequest::startInternal):
(WebPushD::PushService::enqueuePushServiceRequest):
(WebPushD::PushService::finishedPushServiceRequest):
(WebPushD::PushService::getSubscription):
(WebPushD::PushService::didCompleteGetSubscriptionRequest):
(WebPushD::PushService::subscribe):
(WebPushD::PushService::didCompleteSubscribeRequest):
(WebPushD::PushService::unsubscribe):
(WebPushD::PushService::didCompleteUnsubscribeRequest):
(WebPushD::makeRawPushMessage):
(WebPushD::PushService::didReceivePushMessage):
- webpushd/PushServiceConnection.h:
- webpushd/PushServiceConnection.mm:
(WebPushD::PushServiceConnection::generateClientKeys):
- webpushd/WebPushDaemon.h:
- webpushd/WebPushDaemon.mm:
(WebPushD::MessageInfo::injectEncryptedPushMessageForTesting::encodeReply):
(WebPushD::Daemon::startMockPushService):
(WebPushD::Daemon::startPushService):
(WebPushD::Daemon::setPushService):
(WebPushD::Daemon::runAfterStartingPushService):
(WebPushD::Daemon::decodeAndHandleMessage):
(WebPushD::Daemon::injectEncryptedPushMessageForTesting):
(WebPushD::Daemon::handleIncomingPush):
(WebPushD::Daemon::getPendingPushMessages):
(WebPushD::Daemon::subscribeToPushService):
(WebPushD::Daemon::unsubscribeFromPushService):
(WebPushD::Daemon::getPushSubscription):
(WebPushD::Daemon::getPushPermissionState):
- webpushd/WebPushDaemonMain.h:
- webpushd/WebPushDaemonMain.mm:
(WebKit::WebPushDaemonMain):
- webpushd/com.apple.webkit.webpushd.mac.plist:
- webpushd/webpushd.cpp:
(main):
Source/WTF:
Add PushAPIEnabled to WebKitLegacy so we can enable it on in API tests via _WKExperimentalFeature.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
Tools:
- Modifed the existing injected push test to inject different types of real push objects from APS (an empty push, an aesgcm-encrypted push, and an aes128gcm-encrypted push).
- Add a few basic test cases for subscribing and unsubscribing from push.
- TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
(-[NotificationScriptMessageHandler setMessageHandler:]):
(-[NotificationScriptMessageHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::testWebPushDaemonPList):
(TestWebKitAPI::createMessageDictionary):
(TestWebKitAPI::sendMessageToDaemon):
(TestWebKitAPI::sendMessageToDaemonWaitingForReply):
(TestWebKitAPI::sendConfigurationWithAuditToken):
(TestWebKitAPI::TEST):
(TestWebKitAPI::function): Deleted.
- 6:58 PM Changeset in webkit [289352] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r289150. rdar://problem/88521016
Don't use adattributiond on iOS
https://bugs.webkit.org/show_bug.cgi?id=236157
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-04
Reviewed by John Wilander.
It is still having configuration issues such as rdar://88334217
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp: (WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:58 PM Changeset in webkit [289351] by
-
- 4 edits in branches/safari-613-branch/Source/bmalloc
Cherry-pick r289144. rdar://problem/88585404
[libpas] allocation failure crash should be PAS_NEVER_INLINE
https://bugs.webkit.org/show_bug.cgi?id=236164
Reviewed by Saam Barati.
We introduce pas_allocation_result_crash_on_error function which can leave OOM crash
information in the crash log. To keep this non-inlined, we annotate it PAS_NEVER_INLINE.
- libpas/src/libpas/pas_allocation_result.h: (pas_allocation_result_crash_on_error):
- libpas/src/libpas/pas_utils.c: (pas_panic_on_out_of_memory_error):
- libpas/src/libpas/pas_utils.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:58 PM Changeset in webkit [289350] by
-
- 4 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r289123. rdar://problem/88501750
[iOS][macOS] Adjust sysctl sandbox access
https://bugs.webkit.org/show_bug.cgi?id=236082
<rdar://problem/88436174>
Reviewed by Brent Fulgham.
Adjust sysctl sandbox access based on telemetry.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:58 PM Changeset in webkit [289349] by
-
- 6 edits in branches/safari-613-branch
Cherry-pick r289108. rdar://problem/88599722
HTMLMediaElement should dispatch the resize event asynchronously
https://bugs.webkit.org/show_bug.cgi?id=230895
Reviewed by Darin Adler.
Source/WebCore:
The HTMLMediaElement is currently queueing a task to dispatch the resize event in the post layout phase.
There is no need to run it synchronously and we could move it to another queue were it will be run
asynchronously as it was done for other similar tasks in the past.
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::layoutSizeChanged):
LayoutTests:
- media/modern-media-controls/media-controller/media-controller-resize.html: Remove the event listener to avoid an extra notification.
- platform/mac/TestExpectations: Unskipped tests that pass now.
- platform/wincairo/TestExpectations: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:58 PM Changeset in webkit [289348] by
-
- 5 edits in branches/safari-613-branch/Source
Cherry-pick r289081. rdar://problem/87163253
Delay writing origin file in NetworkStorageManager
https://bugs.webkit.org/show_bug.cgi?id=235897
rdar://87163253
Reviewed by Geoffrey Garen.
Revert r288924 that delays writing origin file to when OriginStorageManager is destroyed, and take a different
approach that schedules a async task to write origin file. PLT results show that the new approach can also make
up for PLT regresion caused by r286936, where network process started to write origin file before replying sync
storage message from web process.
- NetworkProcess/storage/NetworkStorageManager.cpp: (WebKit::NetworkStorageManager::localOriginStorageManager):
- NetworkProcess/storage/OriginStorageManager.cpp: (WebKit::OriginStorageManager::OriginStorageManager): (WebKit::OriginStorageManager::~OriginStorageManager): Deleted.
- NetworkProcess/storage/OriginStorageManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289081 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:58 PM Changeset in webkit [289347] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r289072. rdar://problem/88439656
[iOS][WP] Add access to required syscalls
https://bugs.webkit.org/show_bug.cgi?id=236087
<rdar://problem/88439656>
Reviewed by Brent Fulgham.
Add access to required syscalls which are rarely used. This is based on recent telemetry.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289072 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:58 PM Changeset in webkit [289346] by
-
- 7 edits in branches/safari-613-branch/Source
Cherry-pick r289062. rdar://problem/87617695
Crash at com.apple.WebKit: WebKit::RemoteLayerBackingStore::display
https://bugs.webkit.org/show_bug.cgi?id=236003
Source/WebCore:
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-03
Reviewed by Simon Fraser.
- platform/graphics/GraphicsLayerContentsDisplayDelegate.h: Add a comment not to call PlatformCALayer::setBackingStoreAttached()
- platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm: Clear the PlatformCALayer contents in more explicit way.
Source/WebKit:
<rdar://87617695>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-03
Reviewed by Simon Fraser.
Using UI-side compositing, following chain would be the cause a crash:
PlatformCALayerRemote::recursiveBuildTransaction
RemoteLayerBackingStore::display
PlatformCALayer::platformCALayerLayerDisplay
WebProcessGraphicsContextGLCocoa.mm DisplayBufferDisplayDelegate::display
PlatformCALayer::setContents(nullptr)
The nullptr contents happens when the WebGL context does not have
display buffer yet or when the display buffer creation would fail.
Setting empty layer contents would destroy the RemoteLayerBackingStore,
even though the callstack is in process of displaying the layer to the
backing store.
When setting PlatformCALayer contents "empty", clear the backing store instead
of removing the backing store.
Tested by LayoutTests/webgl (under ASAN, ios simulator)
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm:
- WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp: (WebKit::PlatformCALayerRemote::setContents):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289345] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r289060. rdar://problem/86337125
null ptr deref in RenderTreeBuilder::Block::attachIgnoringContinuation
https://bugs.webkit.org/show_bug.cgi?id=234170
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-03
Reviewed by Antti Koivisto.
Source/WebCore:
When an element with "display: contents" is put into the top layer, its computed style for
the display property becomes "block" [1]. However, RenderTreeUpdater::updateElementRenderer
does not manage well this transition. In particular, a null ptr deref happens for some
special configuration involving a <dialog style="display: contents">. To work around that
issue, always force tearing down renderers when updating an element in the top layer.
Test: fast/layers/top-layer-display-contents-crash.html
- rendering/updating/RenderTreeUpdater.cpp: (WebCore::RenderTreeUpdater::updateElementRenderer): Always force tearing down renderers for top layer element.
LayoutTests:
Add regression test.
- fast/css/top-layer-display-contents-crash-expected.txt: Added.
- fast/css/top-layer-display-contents-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289060 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289344] by
-
- 3 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r289052. rdar://problem/88382949
[GPUP] Add read access to sysctl properties
https://bugs.webkit.org/show_bug.cgi?id=236018
<rdar://problem/88382949>
Reviewed by Darin Adler.
Add read access to sysctl properties based on telemetry.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289343] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r289026. rdar://problem/87358372
Remove debug log accidentally added with r289018
https://bugs.webkit.org/show_bug.cgi?id=236000
- NetworkProcess/cocoa/NetworkSessionCocoa.mm: (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289342] by
-
- 3 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r289024. rdar://problem/88222677
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp: (JSC::SecureARM64EHashPins::initializeAtStartup): (JSC::SecureARM64EHashPins::allocatePinForCurrentThread): (JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h: (JSC::SecureARM64EHashPins::pinForCurrentThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289341] by
-
- 5 edits1 move1 add1 delete in branches/safari-613-branch
Cherry-pick r289021. rdar://problem/88599774
CSP: Fix matching wildcard hosts
https://bugs.webkit.org/show_bug.cgi?id=235992
Reviewed by Kate Cheney.
LayoutTests/imported/w3c:
Update expectations.
- web-platform-tests/content-security-policy/img-src/img-src-full-host-wildcard-blocked.sub-expected.txt:
Source/WebCore:
As per the spec wildcard hosts must include the leading '.' for matches:
https://www.w3.org/TR/CSP3/#match-hosts.
Test: http/tests/security/contentSecurityPolicy/image-full-host-wildcard-blocked.html
- page/csp/ContentSecurityPolicySource.cpp: (WebCore::ContentSecurityPolicySource::hostMatches const):
LayoutTests:
Rewrite test to expect CSP3 compliant behavior.
- http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/image-full-host-wildcard-blocked-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/image-full-host-wildcard-blocked.html: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed.html.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289340] by
-
- 40 edits1 add in branches/safari-613-branch/Source
Cherry-pick r289018. rdar://problem/87358372
Use private relay for all subresources if the main document main resource was loaded using private relay
https://bugs.webkit.org/show_bug.cgi?id=236000
Source/WebCore:
<rdar://87358372>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-02
Reviewed by Brady Eidson.
This can be manually tested using instructions in the radar.
- loader/DocumentLoader.h: (WebCore::DocumentLoader::setMainResourceWasPrivateRelayed): (WebCore::DocumentLoader::mainResourceWasPrivateRelayed const):
Source/WebCore/PAL:
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-02
Reviewed by Brady Eidson.
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-02
Reviewed by Brady Eidson.
- NetworkProcess/Downloads/PendingDownload.cpp: (WebKit::PendingDownload::didReceiveResponse):
- NetworkProcess/Downloads/PendingDownload.h:
- NetworkProcess/NetworkCORSPreflightChecker.cpp: (WebKit::NetworkCORSPreflightChecker::didReceiveResponse):
- NetworkProcess/NetworkCORSPreflightChecker.h:
- NetworkProcess/NetworkDataTask.cpp: (WebKit::NetworkDataTask::didReceiveResponse):
- NetworkProcess/NetworkDataTask.h:
- NetworkProcess/NetworkDataTaskBlob.cpp: (WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):
- NetworkProcess/NetworkLoad.cpp: (WebKit::NetworkLoad::didReceiveResponse): (WebKit::NetworkLoad::notifyDidReceiveResponse):
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkLoadClient.h:
- NetworkProcess/NetworkLoadParameters.h:
- NetworkProcess/NetworkResourceLoadParameters.cpp: (WebKit::NetworkResourceLoadParameters::encode const): (WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::transferToNewWebProcess): (WebKit::NetworkResourceLoader::didReceiveResponse): (WebKit::NetworkResourceLoader::sendDidReceiveResponsePotentiallyInNewBrowsingContextGroup): (WebKit::NetworkResourceLoader::didFinishWithRedirectResponse): (WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/PingLoad.cpp: (WebKit::PingLoad::didReceiveResponse):
- NetworkProcess/PingLoad.h:
- NetworkProcess/PreconnectTask.cpp: (WebKit::PreconnectTask::didReceiveResponse):
- NetworkProcess/PreconnectTask.h:
- NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp: (WebKit::ServiceWorkerFetchTask::processResponse):
- NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp: (WebKit::ServiceWorkerNavigationPreloader::loadWithCacheEntry): (WebKit::ServiceWorkerNavigationPreloader::willSendRedirectedRequest): (WebKit::ServiceWorkerNavigationPreloader::didReceiveResponse):
- NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.h:
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp: (WebKit::ServiceWorkerSoftUpdateLoader::didReceiveResponse):
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: (WebKit::NetworkCache::SpeculativeLoad::didReceiveResponse):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): (WebKit::NetworkDataTaskCocoa::didReceiveResponse):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm: (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
- Shared/PrivateRelayed.h: Added.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::addParametersShared):
- WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::mainFrameMainResource const): (WebKit::WebResourceLoader::willSendRequest): (WebKit::WebResourceLoader::didReceiveResponse):
- WebProcess/Network/WebResourceLoader.h:
- WebProcess/Network/WebResourceLoader.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289339] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288957. rdar://problem/88300200
[iOS][WP] Add access in sandbox to Mach message
https://bugs.webkit.org/show_bug.cgi?id=236021
<rdar://88300200>
Reviewed by Brent Fulgham.
Add access in sandbox to required Mach message in the WebContent process on iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289338] by
-
- 5 edits2 adds in branches/safari-613-branch
Cherry-pick r288949. rdar://problem/88226432
ServiceWorkerNavigationPreloader should only be used once
https://bugs.webkit.org/show_bug.cgi?id=235882
<rdar://88226432>
Reviewed by Chris Dumez.
Source/WebKit:
In case service worker preload is being used and related service worker context crashes (or service worker context sends bad messages),
We can end up in a bad state where we will ask the preload twice for the same response (once for good, and the next one as we go to didNotHandle case).
To prevent this, we add checks in loadResponseFromPreloader and loadBodyFromPreloader.
As part of this investigation, I found out that ServiceWorkerNavigationPreloader is not correctly handling the case of preload responses coming from cache.
In particular, no body will be given since we return early in waitForBody in case the preload network load is null.
Prevent this by making sure waitForBody calls the response completion handler if available, even if the preload network load is null.
And update the response body callback before executing the response completion handler to make sure data received synchronously from the preload is given to the service worker fetch task.
Test: http/wpt/service-workers/fetch-service-worker-preload-cache.https.html
- NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
- NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp:
LayoutTests:
- http/wpt/service-workers/fetch-service-worker-preload-cache.https-expected.txt: Added.
- http/wpt/service-workers/fetch-service-worker-preload-cache.https.html: Added.
- http/wpt/service-workers/resources/fetch-service-worker-preload-script.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289337] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288933. rdar://problem/87402941
Crash under ScrollingCoordinatorMac::hasNodeWithAnimatedScrollChanged()
https://bugs.webkit.org/show_bug.cgi?id=235989
<rdar://87402941>
Reviewed by Wenson Hsieh.
Crash data suggest that m_scrollingCoordinator can be null in ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged(),
which is true if the scrolling tree keeps ThreadedScrollingTree alive longer than the scrolling coordinator.
As in the other functions in this file, early return if m_scrollingCoordinator is null.
- page/scrolling/ThreadedScrollingTree.cpp: (WebCore::ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289336] by
-
- 4 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288924. rdar://problem/87163253
Write origin file when OriginStorageManager is destroyed
https://bugs.webkit.org/show_bug.cgi?id=235897
rdar://87163253
Reviewed by Darin Adler.
The first WebStorage message sent from web process to network process is sync, and writing origin file when
creating OriginStorageManager will delay the reply. Since we can get the origin information from in-memory map
when OriginStorageManager is present, we may delay the write to until when OriginStorageManager is destroyed.
This fixes the PLT regression from r286936.
- NetworkProcess/storage/NetworkStorageManager.cpp: (WebKit::NetworkStorageManager::localOriginStorageManager):
- NetworkProcess/storage/OriginStorageManager.cpp: (WebKit::OriginStorageManager::OriginStorageManager): (WebKit::OriginStorageManager::~OriginStorageManager):
- NetworkProcess/storage/OriginStorageManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289335] by
-
- 7 edits in branches/safari-613-branch/Source
Cherry-pick r288922. rdar://problem/88172449
[WP] Remove PostScript conversion code
https://bugs.webkit.org/show_bug.cgi?id=235892
<rdar://88172449>
Reviewed by Tim Horton.
The WebContent process no longer has access to the PostScript conversion service, so there is no need to keep this code.
Source/WebCore:
- loader/cache/CachedImage.cpp: (WebCore::CachedImage::convertedDataIfNeeded const):
- platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::convertPostScriptDataToPDF): Deleted.
- platform/graphics/cg/PDFDocumentImage.h:
Source/WebKit:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::pluginInfo): (WebKit::PDFPlugin::streamDidReceiveResponse): (WebKit::PDFPlugin::manualStreamDidReceiveResponse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289334] by
-
- 4 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288898. rdar://problem/87785042
Protect NetworkConnectionToWebProcess::createFetchTask from a null service worker connection
https://bugs.webkit.org/show_bug.cgi?id=235878
<rdar://87785042>
Reviewed by Chris Dumez.
After https://bugs.webkit.org/show_bug.cgi?id=234179, there is no guarantee that we have a SWServer/SWServerConnection per session ID.
This is only guaranteed if there is a corresponding network session.
We add null pointer checks to NetworkConnectionToWebProcess::swConnection() which now returns a pointer.
- NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::createFetchTask): (WebKit::NetworkConnectionToWebProcess::swConnection):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp: (WebKit::ServiceWorkerFetchTask::softUpdateIfNeeded):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289333] by
-
- 10 edits in branches/safari-613-branch/Source
Cherry-pick r288885. rdar://problem/88591342
Enhance sanitizeStackForVM() to assist with crash analysis.
https://bugs.webkit.org/show_bug.cgi?id=235752
rdar://81014601
Reviewed by Michael Saboff.
Source/JavaScriptCore:
- Remove the AssemblyHelpers version of sanitizeStack. Instead, make the 3 JIT operation functions call sanitizeStackForVM() instead. This ensures that sanitizeStack crashes are not obscured as generic JIT crashes.
- Add sanity check RELEASE_ASSERTs to VM::setLastStackTop() with a capture of the relevant variables for crash analysis.
- Fix logSanitizeStack() so that it no longer relies on vm.topCallFrame. vm.topCallFrame may not be properly initialized at all the places that sanitizeStackForVM() is called.
- Add a JSLock check to sanitizeStackForVM(), and return early if not owned by the current thread. If the JSLock is not owned by the current thread, we can't rely on vm.lastStackTop() being a sane value. Hence, it's not possible to do stack sanitization correctly.
Add sanity check RELEASE_ASSERTs to sanitizeStackForVM() with a capture of
the relevant variables for crash analysis.
- jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::sanitizeStackInline): Deleted.
- jit/AssemblyHelpers.h:
- jit/JITOperations.cpp: (JSC::JSC_DEFINE_JIT_OPERATION):
- jit/ThunkGenerators.cpp: (JSC::slowPathFor):
- runtime/JSLock.cpp: (JSC::JSLock::didAcquireLock): (JSC::JSLock::grabAllLocks):
- runtime/VM.cpp: (JSC::VM::VM): (JSC::VM::setLastStackTop): (JSC::logSanitizeStack): (JSC::sanitizeStackForVM):
- runtime/VM.h:
Source/WTF:
- wtf/Threading.h: (WTF::Thread::savedStackPointerAtVMEntry const): (WTF::Thread::savedLastStackTop const): (WTF::Thread::savedStackPointerAtVMEntry): Deleted. (WTF::Thread::savedLastStackTop): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [289332] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r288881. rdar://problem/80246192
Animation from scale(0) has missing backing store
https://bugs.webkit.org/show_bug.cgi?id=227733
<rdar://problem/80246192>
Reviewed by Simon Fraser.
Source/WebCore:
Use the style recorded before we applied animations to this element the last
time we resolved style for keyframes that don't set a value for the "transform"
property.
- animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::computeExtentOfTransformAnimation const):
LayoutTests:
Add a new test which animates two squares, one on top of each other. The bottom square uses an animation
that has an explicit "from" value of scale(0) and an explicit "to" value of scale(1) and is black. The top
square uses an animation that has an explicit "from" value of scale(0) but no explicit "to" value, thus
animating to scale(1) as well, and is white, matching the background color.
The bug we are fixing is that the square with an implicit "to" value would not yield a visible animation
since we wouldn't account for the scale(1) target value and assuming we're never animating to a non-0
value.
This test assumes that both animations run at the same time and thus the white square will always cover
the black square (which is smaller to ensure no issues at the edges) and yield a completely white page.
- webanimations/accelerated-transform-animation-from-scale-zero-and-implicit-to-kefyrame-expected.html: Added.
- webanimations/accelerated-transform-animation-from-scale-zero-and-implicit-to-kefyrame.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289331] by
-
- 5 edits2 adds in branches/safari-613-branch
Cherry-pick r288879. rdar://problem/88322836
[css-cascade] Fix removal of not yet loaded CSS @import
https://bugs.webkit.org/show_bug.cgi?id=235930
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Add new test.
- web-platform-tests/css/css-cascade/import-removal-expected.html: Added.
- web-platform-tests/css/css-cascade/import-removal.html: Added.
Source/WebCore:
When removing a not yet loaded CSS @import, the hasPendingSheet() flag
was not cleared. This resulted in a completely blank page.
This patch makes sure to cancel the load before deleting the rule.
Test: imported/w3c/web-platform-tests/css/css-cascade/import-removal.html
- css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::cancelLoad):
- css/StyleRuleImport.h:
- css/StyleSheetContents.cpp: (WebCore::StyleSheetContents::wrapperDeleteRule):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289330] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288874. rdar://problem/88217815
AX: nullptr crash under AccessibilityRenderObject::computeAccessibilityIsIgnored
https://bugs.webkit.org/show_bug.cgi?id=235945
rdar://88217815
Reviewed by Andres Gonzalez.
This is similar to https://bugs.webkit.org/show_bug.cgi?id=161276.
- accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):
m_renderer is a WeakPtr and can become null during parentObjectUnignored call, same as
the case below.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289329] by
-
- 5 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288867. rdar://problem/86320218
Fix handling of access key events
https://bugs.webkit.org/show_bug.cgi?id=234147
<rdar://problem/86320218>
Reviewed by David Kilzer.
Improve focus handling for HTMLElement-based elements to ensure accessKey events
are properly dispatched.
- accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::press): Ensure correct object is used after 'accessKeyAction' is invoked.
- dom/EventDispatcher.cpp: (WebCore::callDefaultEventHandlersInBubblingOrder) Protect element during default event bubbling.
- html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::reportValidity): Ensure correct element is used after focus event.
- page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey): Ensure correct object is used after 'accessKeyAction' is invoked.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288867 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289328] by
-
- 2 edits in branches/safari-613-branch/Source/bmalloc
Cherry-pick r288866. rdar://problem/88303899
[libpas] get_num_free_bytes_for_each_heap_callback() is called with
argpointing to uninitialized stack memory
<https://webkit.org/b/235931>
<rdar://problem/88303899>
Reviewed by Yusuke Suzuki.
- libpas/src/libpas/pas_all_heaps.c: (pas_all_heaps_get_num_free_bytes):
- Initialize
resultstack variable to zero.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288866 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289327] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288864. rdar://problem/87192657
[iOS] Don't register undo actions in undoManager overridden by WKWebView client
https://bugs.webkit.org/show_bug.cgi?id=235928
<rdar://problem/87192657>
Patch by Matt Gilligan <matthew_gilligan@apple.com> on 2022-01-31
Reviewed by Tim Horton.
- UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::registerEditCommand): Use -[WKContentView undoManagerForWebView] rather than -undoManager to prevent registering actions in an undo manager overridden by a WKWebView subclass. This ensures that all actions are registered in the same manager. If the client has disabled groupsByEvent on the overridden undoManager, this prevents an exception from being thrown due to registering actions outside of an undo group.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288864 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289326] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288860. rdar://problem/88584471
[iOS] Clean up some issues in the 'com.apple.WebKit.adattributiond.sb' sandbox
https://bugs.webkit.org/show_bug.cgi?id=235929
<rdar://88081007>
Patch by Brent Fulgham <Brent Fulgham> on 2022-01-31
Reviewed by Alex Christensen.
Revise a few syntax issues in the sandbox.
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289325] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288848. rdar://problem/86950638
Web Inspector: [Cocoa] Crash in WebKit::WebInspectorUIProxy::attachmentViewDidChange
https://bugs.webkit.org/show_bug.cgi?id=235842
Reviewed by Timothy Hatcher.
Speculatively fix an occasional crash in WebKit::WebInspectorUIProxy::attachmentViewDidChange by ensuring that
the WebInspectorUIProxy still exists before callingattachmentViewDidChange.
Currently we are sometimes crashing while attempting to
m_objCAdapter.get(), which is the first use of a
member variable inWebInspectorUIProxy::attachmentViewDidChange. This retain pointer should never be able to
not exists, since it storingnilis a valid state. This points to the WebInspectorUIProxy itself no longer
existing. The fix is to check that we actually have aWebInspectorUIProxybefore calling
attachmentViewDidChange. This is also just good practice sinceWebPageProxy::inspector()is also able to
returnnullptrunder certain circumstances, and all other calls to it are guarded to check if the
WebInspectorUIProxy is still around first.
- UIProcess/Cocoa/WebViewImpl.mm: (WebKit::WebViewImpl::setInspectorAttachmentView):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289324] by
-
- 4 edits in branches/safari-613-branch/Source
Cherry-pick r288831. rdar://problem/88268450
[iOS] SharePlay is shown prominently for system-provided Share Sheets
https://bugs.webkit.org/show_bug.cgi?id=235895
rdar://88268450
Reviewed by Wenson Hsieh.
Source/WebKit:
Content shared using the Web Share API should not display a SharePlay action.
- UIProcess/Cocoa/WKShareSheet.mm: (-[WKShareSheet presentWithShareDataArray:inRect:]):
Use
-[UIActivityViewController setExcludedActivityTypes:]to ensure
a SharePlay action is not displayed.
Source/WTF:
- wtf/PlatformHave.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289323] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r288827. rdar://problem/87815745
Source/WebCore:
Changed playbackRate and defaultPlaybackRate from unrestricted double
to double.
https://bugs.webkit.org/show_bug.cgi?id=235174
rdar://problem/87815745
Patch by Takeshi Sone <takeshi.sone@gmail.com> on 2022-01-31
Reviewed by Eric Carlson.
Test: media/video-playbackrate-undefined.html
- html/HTMLMediaElement.idl:
LayoutTests:
Added a test to verify that setting undefined to video.playbackRate
raises an exception.
https://bugs.webkit.org/show_bug.cgi?id=235174
rdar://problem/87815745
Patch by Takeshi Sone <takeshi.sone@gmail.com> on 2022-01-31
Reviewed by Eric Carlson.
- media/video-playbackrate-undefined-expected.txt: Added.
- media/video-playbackrate-undefined.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289322] by
-
- 3 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288825. rdar://problem/88172449
[WP] Remove PostScript conversion code
https://bugs.webkit.org/show_bug.cgi?id=235892
<rdar://88172449>
Reviewed by Brent Fulgham.
The WebContent process no longer has access to the PostScript conversion service, so there is no need to keep this code.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::streamDidFinishLoading): (WebKit::PDFPlugin::manualStreamDidFinishLoading): (WebKit::PDFPlugin::convertPostScriptDataIfNeeded): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289321] by
-
- 8 edits2 adds in branches/safari-613-branch
Cherry-pick r288801. rdar://problem/88186663
(REGRESSION)[IFC][RTL] wpt/css/css-text/white-space/trailing-space-and-text-alignment-rtl-003.html
https://bugs.webkit.org/show_bug.cgi?id=235823
<rdar://problem/88186663>
Reviewed by Antti Koivisto.
Source/WebCore:
Reset the trailing whitespace bidi level before handing them over to visual reordering.
see https://unicode.org/reports/tr9/#L1
"L1. On each line, reset the embedding level of the following characters to the paragraph embedding level:
...
Any sequence of whitespace characters ... at the end of the line."
It ensures that
<div style="width: 2ch; direction: rtl">AB C</div>
and
<div style="direction: rtl">AB </div>
both have the trailing whitespace positioned _visually_ as trailing (and not leading) content.
After the bidi paragraph processing "AB C" gets a uniform bidi level of 2, while "AB " is split into "AB" and " "
with bidi levels of 2 and 1 respectively.
In the latter case, the difference in bidi levels makes the runs flip visually at reordering.
It makes the trailing whitespace "pushed" to the left side of the "AB" making it _visually_ trailing (the content renders as " AB").
However in case of "AB C" with the line breaking position after " ", we would end up with a single run of "AB " with the bidi level of 2.
This run would render as "AB " turning the trailing whitespace into a _visually_ leading whitespace.
In this patch we ensure that the trailing (non-collapsible) whitespace runs
- are detached from their adjoining non-whitespace text runs and
- they get their bidi levels reset
Test: fast/text/rtl-pre-wrap-hanging-offset.html
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp: (WebCore::Layout::InlineDisplayLineBuilder::build const):
LayoutTests:
- fast/text/rtl-pre-wrap-hanging-offset-expected.html: Added.
- fast/text/rtl-pre-wrap-hanging-offset.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289320] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r288800. rdar://problem/88241513
[LFC][IFC] Do not break content at an inline box boundary
https://bugs.webkit.org/show_bug.cgi?id=235868
Reviewed by Antti Koivisto.
Source/WebCore:
Handle nested inline boxes, when the breaking position is between at an inline box boundary.
e.g.
<div style="width: 1px"><span><span><span>this_content_overflow</span></span></span></div>
while the breaking position is between the 3rd <span> and the letter 't', we should not let the first
line have all the <span><span><span> content only, but instead find a more reasonable breaking position by
looking at the previous runs.
This patch expands "findTrailingRunIndex" to find multiple, subsequent (nested) inline boxes.
Test: fast/inline/nested-inline-box-with-word-break.html
- layout/formattingContexts/inline/InlineContentBreaker.cpp: (WebCore::Layout::findTrailingRunIndex):
LayoutTests:
- fast/inline/nested-inline-box-with-word-break-expected.html: Added.
- fast/inline/nested-inline-box-with-word-break.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289319] by
-
- 12 edits2 adds in branches/safari-613-branch
Cherry-pick r288789. rdar://problem/88043325
Capturing WebGL canvas through peer connection shows the image flipped
https://bugs.webkit.org/show_bug.cgi?id=235600
<rdar://problem/88043325>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-29
Reviewed by Dean Jackson.
Source/WebCore:
Mirror and rotate the WebGL image at the source since WebRTC
does not support mirroring.
Test: webrtc/canvas-to-peer-connection.html
- platform/graphics/cocoa/GraphicsContextGLCocoa.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::GraphicsContextGLCocoa::paintCompositedResultsToMediaSample):
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm: (WebCore::IOSurface::setOwnershipIdentity):
- platform/graphics/cv/CVUtilities.h:
- platform/graphics/cv/CVUtilities.mm: (WebCore::setOwnershipIdentityForCVPixelBuffer):
LayoutTests:
Test sending WebGL image through a peer connection to a local video
and assert that the image is as drawn.
- platform/glib/TestExpectations:
- webrtc/canvas-to-peer-connection-expected.txt: Added.
- webrtc/canvas-to-peer-connection.html: Added.
- webrtc/routines.js:
- webrtc/video-replace-track.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288789 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289318] by
-
- 7 edits2 adds in branches/safari-613-branch
Cherry-pick r288783. rdar://problem/88052073
REGRESSION(r281687): Space widths have synthetic bold applied to them in the fast text codepath but not the complex text codepath
https://bugs.webkit.org/show_bug.cgi?id=235755
<rdar://problem/88052073>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-fonts/synthetic-bold-space-width-expected.html: Added.
- web-platform-tests/css/css-fonts/synthetic-bold-space-width.html: Added.
Source/WebCore:
r281687 made Font::widthForGlyph() return the non-synthetically-expanded width,
instead of the synthetically-expanded width.
I think this is philosophically correct, because Font::widthForGlyph() is called before shaping,
and shaping requires the original width. If some custom code is asking for the width of specific
characters without going through WidthIterator or ComplexTextController, that code needs to
determine whether or not it's going to run shaping, and thus when it should be adding in the
synthetic offset.
adjustGlyphsAndAdvances() used to subtract out the synthetic offset because it was expecting
Font::widthForGlyph() to return the already-expanded width. So, the solution is just stop subtracting
the offset, because it hasn't been applied in the first place.
Test: imported/w3c/web-platform-tests/css/css-fonts/synthetic-bold-space-width.html
- platform/graphics/ComplexTextController.cpp: (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
- platform/graphics/Font.h:
LayoutTests:
- platform/mac/fast/text/atsui-multiple-renderers-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289317] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288776. rdar://problem/88214729
[macOS][WP] Temporarily add syscall to sandbox
https://bugs.webkit.org/show_bug.cgi?id=235841
<rdar://88197549>
Reviewed by Brent Fulgham.
Temporarily add syscall to sandbox in the WebContent process on macOS. This can be removed when <rdar://88210738> is fixed.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289316] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288754. rdar://problem/88035818
Ensure session is added in network process when it creates connection to web process
https://bugs.webkit.org/show_bug.cgi?id=235754
Reviewed by Chris Dumez.
In NetworkProcess::CreateNetworkConnectionToWebProcess, if the session that web process is using is not added
yet, WorkQueueMessageReceiver cannot be added to the connection and storage messages will be dropped. Usually
session is added in NetworkProcess::AddWebsiteDataStore, which is sent from UI process before
NetworkProcess::CreateNetworkConnectionToWebProcess; but CreateNetworkConnectionToWebProcess message has
DispatchMessageEvenWhenWaitingForSyncReply flag set, so it might get processed earlier.
To fix the issue, now we send set DispatchMessageEvenWhenWaitingForSyncReply flag on AddWebsiteDataStore message
too, so it's processed before CreateNetworkConnectionToWebProcess.
- UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::addSession):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [289315] by
-
- 3 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288711. rdar://problem/88160246
[iOS][macOS] Removed unneeded telemetry
https://bugs.webkit.org/show_bug.cgi?id=235742
Reviewed by Darin Adler.
Remove some telemetry we have sufficient data for.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288711 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289314] by
-
- 2 edits in branches/safari-613-branch/Source/WTF
Cherry-pick r288706. rdar://problem/88152385
Change version number for HAVE_PASSKIT_DEFAULT_SHIPPING_METHOD
https://bugs.webkit.org/show_bug.cgi?id=235732
<rdar://problem/88152385>
Reviewed by Wenson Hsieh.
- wtf/PlatformHave.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289313] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288659. rdar://problem/88593390
Unreviewed, reverting r288614.
Caused layout test crashes
Reverted changeset:
"REGRESSION(r287684) speedtest.net uses many GB of memory"
https://bugs.webkit.org/show_bug.cgi?id=235615
https://commits.webkit.org/r288614
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289312] by
-
- 20 edits in branches/safari-613-branch
Cherry-pick r288631. rdar://problem/88020080
Unreviewed, revert r286855 as it caused form submission issues
https://bugs.webkit.org/show_bug.cgi?id=235645
<rdar://88020080>
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt:
Source/WebCore:
- html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked): (WebCore::HTMLInputElement::didChangeForm): (WebCore::HTMLInputElement::insertedIntoAncestor): (WebCore::HTMLInputElement::removedFromAncestor): (WebCore::HTMLInputElement::checkedRadioButtonForGroup const):
- html/InputType.h: (WebCore::InputType::willUpdateCheckedness): Deleted.
- html/RadioInputType.cpp: (WebCore::RadioInputType::valueMissing const): (WebCore::RadioInputType::willUpdateCheckedness): Deleted.
- html/RadioInputType.h:
LayoutTests:
- fast/forms/radio/ValidityState-valueMissing-radio-expected.txt:
- fast/forms/radio/ValidityState-valueMissing-radio.html:
- fast/forms/radio/radio-live-validation-style-expected.txt:
- fast/forms/radio/radio-live-validation-style.html:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289311] by
-
- 4 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288620. rdar://problem/87771490
[MacOS] Set kAudioOutputUnitProperty_CurrentDevice on CoreAudioSharedUnit outputBus
https://bugs.webkit.org/show_bug.cgi?id=235632
<rdar://87771490>
Reviewed by Eric Carlson.
When VPIO is used for rendering audio, it is not always updating the audio route when system default speaker is updated.
While it is doing so when capturing using the built-in microphone, it is not doing so with BT microphones.
To make it reliable, we are now setting kAudioOutputUnitProperty_CurrentDevice on the output bus to the default output device.
Whenever we detect a change of default output device, we reconfigure the audio unit to select the new default output device.
Manually tested.
- platform/mediastream/mac/BaseAudioSharedUnit.cpp: (WebCore::BaseAudioSharedUnit::devicesChanged):
- platform/mediastream/mac/BaseAudioSharedUnit.h: (WebCore::BaseAudioSharedUnit::setOutputDeviceID): (WebCore::BaseAudioSharedUnit::validateOutputDevice):
- platform/mediastream/mac/CoreAudioCaptureSource.cpp: (WebCore::CoreAudioSharedUnit::setupAudioUnit): (WebCore::CoreAudioSharedUnit::validateOutputDevice):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289310] by
-
- 3 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288617. rdar://problem/88046988
ASSERTION FAILED: !hasPendingSheets() under WebCore::Style::Scope::~Scope()
https://bugs.webkit.org/show_bug.cgi?id=235612
<rdar://problem/88046988>
Reviewed by Alan Bujtas.
- dom/Document.cpp: (WebCore::Document::didRemoveAllPendingStylesheet):
Don't try to scroll to anchor if we don't have a view. This avoids hitting ASSERT(!m_inRemovedLastRefFunction)
trying to ref the document during teardown (with refererencing node count still non-zero).
- dom/InlineStyleSheetOwner.cpp: (WebCore::InlineStyleSheetOwner::removedFromDocument):
Ensure we always remove the Element from the pending sheet list when it is removed from the document.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289309] by
-
- 12 edits in branches/safari-613-branch
Cherry-pick r288605. rdar://problem/87948317
REGRESSION (iOS 15.2): Loading gets stuck after back-navigation involving COOP header
https://bugs.webkit.org/show_bug.cgi?id=235475
<rdar://problem/87948317>
Reviewed by Geoffrey Garen.
Source/WebCore:
Make sure ShouldTreatAsContinuingLoad is properly propagated for back/forward navigations,
not just regular loadRequests.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadURL): (WebCore::FrameLoader::loadWithNavigationAction): (WebCore::FrameLoader::loadPostRequest): (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): (WebCore::FrameLoader::loadDifferentDocumentItem):
- loader/FrameLoader.h:
Source/WebKit:
WebPageProxy::continueNavigationInNewProcess() was failing to pass the identifier of the
NetworkResourceLoader that needs to be resumed to ProvisionalPageProxy::goToBackForwardItem().
It was only passing it to ProvisionalPageProxy::loadRequest(), which is used for non-back/forward
navigations. As a result, in case of COOP process-swap on back/forward navigation, the network
process would start a fresh load instead of resuming the existing one. The fresh load would get
a COOP header and thus trigger yet another process swap (and so on in a loop).
Also fix an issue where ProvisionalPageProxy::goToBackForwardItem() would always use
ShouldTreatAsContinuingLoad::YesAfterNavigationPolicyDecision even in the case of a COOP
process-swap. In the case of a COOP process-swap, we should pass in
ShouldTreatAsContinuingLoad::YesAfterProvisionalLoadStarted. This was causing us to
do an extra call to didStartProvisionalLoad() and was causing the new API test to hit
an assertion on debug builds.
Covered by new API test.
- UIProcess/ProvisionalPageProxy.cpp: (WebKit::ProvisionalPageProxy::goToBackForwardItem):
- UIProcess/ProvisionalPageProxy.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::launchProcessForReload): (WebKit::WebPageProxy::goToBackForwardItem): (WebKit::WebPageProxy::continueNavigationInNewProcess): (WebKit::WebPageProxy::triggerBrowsingContextGroupSwitchForNavigation):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::loadRequest): (WebKit::WebPage::loadData): (WebKit::WebPage::goToBackForwardItem):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289308] by
-
- 16 edits in branches/safari-613-branch
Cherry-pick r288590. rdar://problem/87984277
Disable input-security CSS property
https://bugs.webkit.org/show_bug.cgi?id=235557
rdar://87984277
Reviewed by Dean Jackson.
Source/WebCore:
CSSWG is planning to remove input-security from CSS UI 4
(https://github.com/w3c/csswg-drafts/issues/6788).
Keep the property around as an experimental feature, so that
it can be used in the UA stylesheet, and easily turned on if the
resolution is not finalized.
- css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSProperties.json:
- css/parser/CSSParserContext.cpp: (WebCore::CSSParserContext::CSSParserContext):
Enable input-security when parsing the UA stylesheet, as it is used to
obscure text in password inputs.
(WebCore::operator==):
(WebCore::add):
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):
- css/parser/CSSParserContext.h:
- css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
Source/WebKitLegacy/win:
Add support for tests enabling the CSSInputSecurityEnabled preference.
- WebPreferences.cpp: (WebPreferences::cssInputSecurityEnabled):
- WebPreferences.h:
- WebView.cpp: (WebView::notifyPreferencesChanged):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
Make input-security a disabled-by-default experimental feature.
Tools:
- DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults):
Add default for WebKitLegacy on Windows.
LayoutTests:
- fast/css/computed-text-security-for-input-security.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289307] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288586. rdar://problem/87994712
[macOS] Observe CFNetwork preference domain
https://bugs.webkit.org/show_bug.cgi?id=235603
<rdar://87994712>
Reviewed by Darin Adler.
Since the Networking process is now using CF prefs direct mode, the CFNetwork preference domain should be observed for changes.
- UIProcess/Cocoa/PreferenceObserver.mm: (-[WKPreferenceObserver init]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289306] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r288564. rdar://problem/87268956
REGRESSION(r281419): iCloud.com Notes web app fonts render incorrectly
https://bugs.webkit.org/show_bug.cgi?id=235559
<rdar://problem/87268956>
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/html/canvas/element/drawing-text-to-the-canvas/null-character-expected.txt: Added.
- web-platform-tests/html/canvas/element/drawing-text-to-the-canvas/null-character.html: Added.
Source/WebCore:
Chrome and Firefox render U+0000 NULL as invisible. We should do the same, despite it technically being classified as a control character.
Test: imported/w3c/web-platform-tests/html/canvas/element/drawing-text-to-the-canvas/null-character.html
- platform/graphics/WidthIterator.cpp: (WebCore::WidthIterator::applyCSSVisibilityRules):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289305] by
-
- 4 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288553. rdar://problem/87976757
Missing EnabledBySetting=WebXREnabled where Conditional=WEBXR exists
https://bugs.webkit.org/show_bug.cgi?id=235527
Reviewed by Darin Adler.
Manually tested.
- Modules/webxr/XRFrameRequestCallback.idl:
- html/canvas/WebGLContextAttributes.idl:
- html/canvas/WebGLRenderingContextBase.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289304] by
-
- 3 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288549. rdar://problem/86452550
Unreviewed, reverting r282374.
https://bugs.webkit.org/show_bug.cgi?id=235587
Introduced perf regression
Reverted changeset:
"Playback stops although the progress bar moves"
https://bugs.webkit.org/show_bug.cgi?id=230210
https://commits.webkit.org/r282374
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288549 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289303] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r288547. rdar://problem/87824766
(REGRESSION r287485) [LFC][IFC] Incorrect RTL content position when intrusive float is present
https://bugs.webkit.org/show_bug.cgi?id=235547
<rdar://87824766>
Reviewed by Antti Koivisto.
Source/WebCore:
The float box coordinates are always visual. They need to be converted to
logical to be able to properly constrain the available space on the current line.
Test: fast/inline/intrusive-float-with-rtl-content.html
- layout/formattingContexts/inline/InlineLineBuilder.cpp: (WebCore::Layout::LineBuilder::floatConstraints const):
LayoutTests:
- fast/inline/intrusive-float-with-rtl-content-expected.html: Added.
- fast/inline/intrusive-float-with-rtl-content.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289302] by
-
- 5 edits2 adds in branches/safari-613-branch
Cherry-pick r288543. rdar://problem/84958961
REGRESSION(r282320): [Cocoa] User-installed fonts don't work in the GPU Process (in WKWebView)
https://bugs.webkit.org/show_bug.cgi?id=235449
<rdar://problem/84958961>
Reviewed by Darin Adler.
Source/WebCore/PAL:
- pal/spi/cf/CoreTextSPI.h:
Source/WebKit:
The reason for this bug was I was misusing kCTFontOptionsSystemUIFont. I thought this flag just
meant "allow the creation of system fonts" but it turns out it means something more subtle than
that. Instead of unconditionally specifying this flag, we should just pull out the options field
from the source font (which will include that flag if the font was a system font) and use that
instead.
Test: fast/text/user-installed-canvas.html
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm: (IPC::ArgumentCoder<Ref<WebCore::Font>>::encodePlatformData): (IPC::createCTFont): (IPC::ArgumentCoder<Ref<WebCore::Font>>::decodePlatformData):
LayoutTests:
- fast/text/user-installed-canvas-expected.html: Added.
- fast/text/user-installed-canvas.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289301] by
-
- 3 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288539. rdar://problem/87986840
Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:55 PM Changeset in webkit [289300] by
-
- 5 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288536. rdar://problem/87981122
REGRESSION (r286932): Fixed position elements jiggle sometimes (Twitter, Facebook)
https://bugs.webkit.org/show_bug.cgi?id=235543
<rdar://87981122>
Reviewed by Tim Horton.
In r286932 we ensure that the scrolling layer's position gets committed in the scrolling
thread to reduce stutters. However, we also have to do the same for fixed and sticky
layers, because they need to committed in synchrony with the scrolling layer.
Also change some 'override' to 'final' and add locking annotations.
- page/scrolling/cocoa/ScrollingTreeFixedNode.h:
- page/scrolling/cocoa/ScrollingTreeFixedNode.mm: (WebCore::ScrollingTreeFixedNode::applyLayerPositions):
- page/scrolling/cocoa/ScrollingTreeStickyNodeCocoa.h:
- page/scrolling/cocoa/ScrollingTreeStickyNodeCocoa.mm: (WebCore::ScrollingTreeStickyNodeCocoa::applyLayerPositions):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289299] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288493. rdar://problem/82554226
REGRESSION (iOS 15): HTMLAudioElement fails to load new audio when device is locked or safari is in background
https://bugs.webkit.org/show_bug.cgi?id=229688
<rdar://problem/82554226>
Unreviewed, adress post-review feedback.
- platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::updateSessionState):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289298] by
-
- 4 edits in branches/safari-613-branch
Cherry-pick r288478. rdar://problem/72567903
Regression (r286936): SessionStorage data is not cleared when deleting website data by modification time
https://bugs.webkit.org/show_bug.cgi?id=235542
Reviewed by Chris Dumez.
Source/WebKit:
The old behavior before r286936 is to delete SessionStorage data regardless of the modifiedSince parameter.
r286936 made it check modifiedSince and perform deleteion when modifiedSince time is -Walltime::infinity. This
patch corrects it by deleting SessionStorage data when modifiedSince time is in the past.
API test: SessionStorage.ClearByModificationTime
- NetworkProcess/storage/OriginStorageManager.cpp: (WebKit::OriginStorageManager::StorageBucket::deleteData):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/SessionStorage.mm: (TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288478 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289297] by
-
- 9 edits2 adds in branches/safari-613-branch
Cherry-pick r288466. rdar://problem/82554226
REGRESSION (iOS 15): HTMLAudioElement fails to load new audio when device is locked or safari is in background
https://bugs.webkit.org/show_bug.cgi?id=229688
<rdar://problem/82554226>
Reviewed by Jer Noble.
Source/WebCore:
An iOS application loses its NowPlaying status as soon as the AudioSession category
is set to Ambient, and it can only get it back again by changing the category
to Playback *and* starting playback. When an application is in the background, however,
it can't start playback unless it *already* has NowPlaying status. So, ipso facto,
background playback will always fail once the category is set to Ambient.
If an AudioSession's category is set to Playback when it is activated, it will
interrupt another application playing audio, activate Bluetooth routes, etc.
This means WebKit has to relinquish Playback when a page is unable to produce audio
because AVFoundation automatically activates the audio session when playback starts
- even if the AVPlayer is muted or has no audio.
To allow pages that were playing audio when WebKit went into the background to
continue to play after switching urls or activating another media element, add a
grace period when switch from Playback to Ambient.
Test: media/audio-session-category.html
- platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::updateSessionState):
Source/WebKit:
- WebProcess/GPU/media/RemoteAudioSession.cpp: (WebKit::RemoteAudioSession::category const): Return the most recently set category on all platforms so it is possible to test.
LayoutTests:
- fast/mediasession/metadata/audio-track-enabled.html: Wait longer for the audio session category to be reset.
- media/audio-session-category-expected.txt: Added.
- media/audio-session-category.html: Added.
- platform/gtk/TestExpectations: Skip new test.
- platform/mac-wk1/TestExpectations: Skip new test, MediaStream isn't supported on WK1.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289296] by
-
- 9 edits in branches/safari-613-branch/Source/ThirdParty/libwebrtc
Cherry-pick r288464. rdar://problem/87884184
Cherry-pick WebRTC 235826 change
https://bugs.webkit.org/show_bug.cgi?id=235510
<rdar://87884184>
Reviewed by Eric Carlson.
Cherry-picking above fixing for compliance.
- Source/webrtc/media/engine/webrtc_media_engine.cc:
- Source/webrtc/media/engine/webrtc_media_engine.h:
- Source/webrtc/media/engine/webrtc_media_engine_unittest.cc:
- Source/webrtc/media/engine/webrtc_video_engine.cc:
- Source/webrtc/media/engine/webrtc_video_engine.h:
- Source/webrtc/media/engine/webrtc_voice_engine.cc:
- Source/webrtc/modules/rtp_rtcp/source/rtp_header_extension_map.cc:
- Source/webrtc/modules/rtp_rtcp/source/rtp_header_extension_map_unittest.cc:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289295] by
-
- 5 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288463. rdar://problem/87977499
file.stream() is slow and CPU-bound
https://bugs.webkit.org/show_bug.cgi?id=235448
Reviewed by Alex Christensen.
We introduce a ReadAsBinaryChunks mode to prevent storing the whole file in memory.
Use this in Blob stream implementation.
The new implementation is much faster for big files given it does not need to keep in memory the whole file.
Covered by existing tests.
- fileapi/Blob.cpp:
- fileapi/FileReaderLoader.cpp:
- fileapi/FileReaderLoader.h:
- fileapi/FileReaderLoaderClient.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289294] by
-
- 3 edits in branches/safari-613-branch/Source/ThirdParty/libwebrtc
Cherry-pick r288461. rdar://problem/87969456
Reject large number of WebRTC audio channels
https://bugs.webkit.org/show_bug.cgi?id=235511
Reviewed by Eric Carlson.
Cherry-picking WebRTC upstream fix for compliance.
- Source/webrtc/pc/webrtc_sdp.cc:
- Source/webrtc/pc/webrtc_sdp_unittest.cc:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289293] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288439. rdar://problem/88592095
Reconfiguring the CoreAudioSharedUnit should take into account that there is a speaker sample producer
https://bugs.webkit.org/show_bug.cgi?id=235397
<rdar://problem/87819949>
Reviewed by Eric Carlson and Geoff Garen.
Address post-commit comments.
Introduce a boolean to make high priority thread callbacks no-ops when reconfiguring the audio unit.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289292] by
-
- 12 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288387. rdar://problem/87468788
Inject Launch Services database before NSApplication is initialized
https://bugs.webkit.org/show_bug.cgi?id=235186
<rdar://87468788>
Reviewed by Chris Dumez.
To avoid the main thread getting stuck, the Launch Services database should be injected before NSApplication
is initialized, since the initialization now depends on the database. To make sure also prewarmed WebContent
processes are receiving the Launch Services database, the WebsiteDataStore method
sendNetworkProcessXPCEndpointToProcess is moved to the class NetworkProcessProxy, since prewarmed processes
will not have a data store initially. This allows us to simplify the code, since we are no longer depending
on having a Website data store before sending the XPC endpoint.
- UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didFinishLaunching):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: (WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToProcess): (WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToProcess const): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::platformDidReceiveLoadParameters):
- WebProcess/cocoa/LaunchServicesDatabaseManager.h:
- WebProcess/cocoa/LaunchServicesDatabaseManager.mm: (WebKit::LaunchServicesDatabaseManager::waitForDatabaseUpdate):
- WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289291] by
-
- 6 edits2 adds in branches/safari-613-branch
Cherry-pick r288362. rdar://problem/87832940
WPT version of css/css-cascade/parsing/layer-import-parsing.html crashes with nullptr
https://bugs.webkit.org/show_bug.cgi?id=235434
rdar://87832940
Reviewed by Alan Bujtas.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-cascade/parsing/layer-import-parsing.html:
Update to WPT version.
Source/WebCore:
Test: fast/css/insert-import-rule-crash.html
- css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::setCSSStyleSheet):
Null check the parent stylesheet. It can be null if the rule has been removed.
- dom/InlineStyleSheetOwner.cpp: (WebCore::InlineStyleSheetOwner::startLoadingDynamicSheet):
Also fix a debug assert in addPendingSheet, this can get called multiple times.
LayoutTests:
- fast/css/insert-import-rule-crash-expected.txt: Added.
- fast/css/insert-import-rule-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289290] by
-
- 13 edits in branches/safari-613-branch/Source/bmalloc
Cherry-pick r288342. rdar://problem/87249133
[libpas] medium directory lookup should bail if begin_index is zero to catch races with expendable memory decommit (cherry pick 434465bfb8e0c285d6763cf6aa0e04982199f824)
https://bugs.webkit.org/show_bug.cgi?id=235280
Reviewed by Yusuke Suzuki.
I've been seeing crashes in pas_segregated_heap_ensure_allocator_index where the directory that is
passed to the function doesn't match the size. The most likely reason why this is happening is that
the medium directory lookup raced with expendable memory decommit and returned the wrong directory.
To figure out how this happens, I added a bunch of tests to ExpendableMemoryTests. This change
includes various small fixes (like removing assertions) that were found by doing such testing, and it
also includes a test and a change that I think exactly catches what is going on:
- Expendable memory is decommitted so that the medium lookup sees begin_index == 0, but end_index still has its original value. This will cause it to return a tuple that is for a too-large size class.
- Some other thread rematerializes the expendable memory right after the medium lookup finishes, but before it loads the directory.
- The medium lookup finally loads the directory from the tuple, and now sees a non-NULL directory, so it thinks that everything is fine.
This race barely "works" since:
- Any other field in the medium tuple being zero would cause the medium lookup to fail, which would then cause a slow path that rematerializes expendable memory under a lock.
- Rematerialization of expendable memory adjusts the mutation count, so this race would only go undetected if the rematerialization happened after the medium lookup search but before when the medium lookup loads the directory.
The solution is to just have the medium lookup fail if begin_index == 0. Begin_index can never
legitimately be zero, because there's no way that a size class would want to be responsible for both
index 0 (i.e. the zero-byte object) and objects big enough to require medium lookup.
This adds new tests. While running those new tests, I found and fixed two other bugs:
- Recomputation of the index_to_small_allocator_index table subtly mishandles the cached_index case. Previously, it was only special-casing it only when the directory was not participating in lookup tables at all, but actually it needs to special-case it anytime that the directory doesn't otherwise think that it should set the entry at cached_index.
- Expendable memory commit/decommit was playing fast-and-loose with version numbers. This fixes it so that there is a global monotonically increasing version number.
- libpas/src/libpas/bmalloc_heap.c: (bmalloc_flex_heap_ref_get_heap): (bmalloc_auxiliary_heap_ref_get_heap): (bmalloc_get_heap):
- libpas/src/libpas/bmalloc_heap.h:
- libpas/src/libpas/pas_expendable_memory.c: (pas_expendable_memory_state_version_next): (pas_expendable_memory_construct): (pas_expendable_memory_commit_if_necessary): (scavenge_impl): (pas_expendable_memory_scavenge):
- libpas/src/libpas/pas_expendable_memory.h:
- libpas/src/libpas/pas_scavenger.c: (handle_expendable_memory): (scavenger_thread_main): (pas_scavenger_decommit_expendable_memory): (pas_scavenger_fake_decommit_expendable_memory):
- libpas/src/libpas/pas_scavenger.h:
- libpas/src/libpas/pas_segregated_heap.c: (medium_directory_tuple_for_index_impl): (pas_segregated_heap_medium_directory_tuple_for_index): (pas_segregated_heap_medium_allocator_index_for_index): (recompute_size_lookup): (rematerialize_size_lookup_set_medium_directory_tuple): (pas_segregated_heap_ensure_allocator_index): (check_size_lookup_recomputation_set_medium_directory_tuple): (check_size_lookup_recomputation_dump_directory): (check_size_lookup_recomputation): (check_size_lookup_recomputation_if_appropriate): (pas_segregated_heap_ensure_size_directory_for_size):
- libpas/src/libpas/pas_segregated_heap.h:
- libpas/src/libpas/pas_segregated_size_directory.h: (pas_segregated_size_directory_get_tlc_allocator_index):
- libpas/src/libpas/pas_try_allocate_primitive.h: (pas_try_allocate_primitive_impl_casual_case): (pas_try_allocate_primitive_impl_inline_only):
- libpas/src/test/ExpendableMemoryTests.cpp: (std::testRage): (std::testRematerializeAfterSearchOfDecommitted): (std::testBasicSizeClass): (addExpendableMemoryTests):
- libpas/src/test/TestHarness.cpp: (RuntimeConfigTestScope::RuntimeConfigTestScope):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289289] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288327. rdar://problem/87423185
[macOS] Various tests hit debug assertions under
SearchBuffer::searchafter system ICU changes
https://bugs.webkit.org/show_bug.cgi?id=235413
rdar://87423185
Reviewed by Darin Adler.
After upgrading the system ICU version to ICU 70, many layout tests that attempt to use TextIterator on macOS
(e.g. tests inaccessibility/mac) hit debug assertions underneathWebCore::SearchBuffer::search; this is
because ICU now emitsU_USING_DEFAULT_WARNINGas the error code when callingusearch_next(), instead of
U_ZERO_ERROR, like it did in previous versions.
This warning is propagated due to ICU falling back to the root locale (
kRootLocaleName) when creating an
icu::BreakIterator, and appears to be benign. We can address this by relaxing the debug assertion in this
method to just check that the error code indicates success (i.e. "warning, or no error"), rather than strictly
being equal toU_ZERO_ERROR.
- editing/TextIterator.cpp: (WebCore::SearchBuffer::search):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289288] by
-
- 5 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288296. rdar://problem/88593227
Disable fallback path to WebRTC platform sockets
https://bugs.webkit.org/show_bug.cgi?id=235402
Reviewed by Eric Carlson.
We should not fallback to the legacy WebRTC socket code path in Cocoa ports.
Instead, if we cannot create the corresponding sockets (in case of ssltcp candidates for instance),
we mark the socket as closed.
Minor refactoring to show that NetworkRTCUDPSocketCocoa code path should always be successful.
Manually tested on meet.google.com which can make use of ssltcp candidates.
- NetworkProcess/webrtc/NetworkRTCProvider.cpp:
- NetworkProcess/webrtc/NetworkRTCProvider.h:
- NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm:
- NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288296 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289287] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r288233. rdar://problem/87781796
Add visibility: visible to modal dialogs in UA sheet
https://bugs.webkit.org/show_bug.cgi?id=235369
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-in-visibility-hidden-expected.txt: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-in-visibility-hidden.html: Added.
Source/WebCore:
Test: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-in-visibility-hidden.html
- css/dialog.css: (dialog:-internal-modal-dialog):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289286] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288223. rdar://problem/87741289
Assertion is not acquired in network process when setting database journal mode
https://bugs.webkit.org/show_bug.cgi?id=235340
Setting database journal mode requires lock, so network process needs to stay active by holding assertion.
Reviewed by Chris Dumez.
- platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::useWALJournalMode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289285] by
-
- 2 edits in branches/safari-613-branch/JSTests
Cherry-pick r288213. rdar://problem/87538657
Unreviewed, skip new test max-typed-array-length-toString.js when memory-limited
https://bugs.webkit.org/show_bug.cgi?id=235217
Patch by Michael Catanzaro <Michael Catanzaro> on 2022-01-19
- stress/max-typed-array-length-toString.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:54 PM Changeset in webkit [289284] by
-
- 4 edits2 adds in branches/safari-613-branch
Cherry-pick r288196. rdar://problem/87768936
[:has() pseudo-class] Compute specificity correctly
https://bugs.webkit.org/show_bug.cgi?id=235351
Reviewed by Alexey Shvayka.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/has-complexity.html:
Fix specificity used in this test.
- web-platform-tests/css/selectors/has-specificity-expected.txt: Added.
- web-platform-tests/css/selectors/has-specificity.html: Added.
Source/WebCore:
"The specificity of an ':is()', ':not()', or ':has()' pseudo-class is replaced by
the specificity of the most specific complex selector in its selector list argument."
Test: imported/w3c/web-platform-tests/css/selectors/has-specificity.html
- css/CSSSelector.cpp: (WebCore::simpleSelectorSpecificityInternal):
Compute :has() specificity like :is() and :not().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289283] by
-
- 9 edits in branches/safari-613-branch/Source
Cherry-pick r288185. rdar://problem/87709485
[Cocoa] Do not change preferred AudioSession buffer size when VPIO is running
https://bugs.webkit.org/show_bug.cgi?id=235317
<rdar://87709485>
Reviewed by Eric Carlson.
Source/WebCore:
Add infra to be notified when audio capture unit is stopped.
Add a check to return early with microphone sample callback if microphone samples are not to be processed.
Manually tested.
- platform/mediastream/mac/BaseAudioSharedUnit.cpp:
- platform/mediastream/mac/BaseAudioSharedUnit.h:
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
- platform/mediastream/mac/CoreAudioCaptureSource.h:
Source/WebKit:
When we stop capturing, we might still use the VPIO unit to render audio.
In that case, it might be problematic to increase the preferred buffer size as:
- Audio unit might stop running, hence stopping audio rendering
- Increasing the preferred buffer size might increase latency which is not a good thing in VPIO usecases.
- GPUProcess/media/RemoteAudioSessionProxy.cpp:
- GPUProcess/media/RemoteAudioSessionProxyManager.cpp:
- GPUProcess/media/RemoteAudioSessionProxyManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289282] by
-
- 14 edits2 adds in branches/safari-613-branch
Cherry-pick r288178. rdar://problem/79296770
REGRESSION (r264352): Mail compose body field does not avoid the keyboard when scrolling after focus
https://bugs.webkit.org/show_bug.cgi?id=235331
rdar://79296770
Reviewed by Tim Horton.
Source/WebKit:
After r264352 added the call to
_page->scheduleFullEditorStateUpdate();during element focus, scrolling to
reveal the selection in the focused body field in Mail stopped working. This is because Mail:
- Sets
firstResponderKeyboardAvoidanceEnabledto NO on the WKScrollView, which prevents automatic inset
adjustment logic in UIKit from taking effect and adding the keyboard height to the bottom system content
inset.
- Manually sets
-contentScrollInseton the WKScrollView during a UIKeyboardDidShowNotification, which occurs
after we've already attempted to zoom to the selection.
...combined with the fact that without the call to
scheduleFullEditorStateUpdate(), the next EditorState
would've arrived only after the keyboard animation finished.
The end result is that we don't end up avoiding the keyboard at all when focusing the body field in Mail
compose. While rdar://87733414 tracks refactoring logic in WebKit2 Mail compose to ensure that the content
scroll insets on WKScrollView are applied during UIKeyboardWillShowNotification instead of after the keyboard
has finished animating in, this patch provides a short-term workaround by restoring pre-r264352 behavior, with
respect to when the element is scrolled into view.
Test: editing/selection/ios/scroll-to-reveal-selection-with-keyboard-avoidance-disabled.html
- Platform/spi/ios/UIKitSPI.h:
Add a declaration for the
-firstResponderKeyboardAvoidanceEnabledSPI property on non-internal iOS SDKs.
- UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _keyboardDidShow:]):
Plumb this through to the WKContentView, so we can zoom/scroll to the focused element if needed.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView cleanUpInteraction]): (-[WKContentView _keyboardDidShow]):
If we previously deferred the call to
-_zoomToRevealFocusedElementdue to the keyboard still animating in,
schedule a call to it now on a 0-delay timer; this delay is necessary to ensure that this zoom occurs *after*
Mail has already set the content inset, which also happens underneath a "KeyboardDidShow" notification.
(-[WKContentView _zoomToRevealFocusedElement]):
In the case where the (presumably internal) client has set
firstResponderKeyboardAvoidanceEnabledto NO and
the keyboard is animating in, defer the actual call into the web view to-_zoomToRevealFocusedElementuntil
after the keyboard animation is finished. This ensures compatibility with existant logic in Mail for manually
setting the content scroll inset on the WKScrollView after the keyboard animation is complete.
(-[WKContentView resetShouldZoomToFocusRectAfterShowingKeyboard]):
(-[WKContentView _elementDidBlur]):
Tools:
Add support for a UIScriptController hook to override
firstResponderKeyboardAvoidanceEnabledon WKScrollView.
See LayoutTests for more details.
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.h: (WTR::UIScriptController::setScrollViewKeyboardAvoidanceEnabled):
- WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues):
- WebKitTestRunner/ios/UIScriptControllerIOS.h:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptControllerIOS::setScrollViewKeyboardAvoidanceEnabled):
LayoutTests:
Add a layout test that (at least) exercises the newly added codepath, where focusing an editor when the scroll
view hasfirstResponderKeyboardAvoidanceEnabledset to NO will still allow us to scroll to the selection.
- editing/selection/ios/scroll-to-reveal-selection-with-keyboard-avoidance-disabled-expected.txt: Added.
- editing/selection/ios/scroll-to-reveal-selection-with-keyboard-avoidance-disabled.html: Added.
- resources/ui-helper.js: (window.UIHelper.setScrollViewKeyboardAvoidanceEnabled):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289281] by
-
- 41 edits1 add in branches/safari-613-branch
Cherry-pick r288132. rdar://problem/87569029
CSP: Improve handling of multiple policies
https://bugs.webkit.org/show_bug.cgi?id=235199
Reviewed by Kate Cheney.
LayoutTests/imported/w3c:
Add new test expectations with more passes.
- web-platform-tests/content-security-policy/script-src/script-src-multiple-policies-one-using-hashing-algorithms-expected.txt:
- web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-error-event-fires-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-inline-style-nonce-blocked-error-event-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-multiple-policies-multiple-hashing-algorithms-expected.txt: Added.
Source/WebCore:
This fixes many issues with multiple CSP policies.
To quote the spec for script-src:
Their behavior will be blocked unless every policy allows inline script, either implicitly by not
specifying a script-src (or default-src) directive, or explicitly, by specifying "unsafe-inline",
a nonce-source or a hash-source that matches the inline block.
The previous structure was many distinct calls to check if there was a nonce in any policy, then if there
was a hash in any policy, etc, rather than actually checking the policies as a whole to know if they
allow or block a behavior. This lead to various issues where polices were not properly respected and where
reports were inaccurate.
The allScriptPoliciesAllow() function did try to consider all policies but was not very flexible and had buggy
behavior like for each policy it would call findHashOfContentInPolicies() meaning hashes from other policies
incorrectly applied to the current policy, plus general inefficiency of hashing the same content many
times over.
The new behavior relies more on passing all required information in a single function call to verify all
policies in a single pass.
- bindings/js/CachedScriptFetcher.cpp: (WebCore::CachedScriptFetcher::requestScriptWithCache const):
- dom/InlineStyleSheetOwner.cpp: (WebCore::InlineStyleSheetOwner::createSheet):
- dom/ScriptElement.cpp: (WebCore::ScriptElement::requestModuleScript): (WebCore::ScriptElement::executeClassicScript):
- dom/StyledElement.cpp: (WebCore::StyledElement::styleAttributeChanged):
- html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process):
- loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::isAllowedByContentSecurityPolicy):
- loader/ResourceLoaderOptions.h:
- loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const):
- page/csp/ContentSecurityPolicy.cpp: (WebCore::parseSubResourceIntegrityIntoDigests): (WebCore::generateHashesForContent): (WebCore::ContentSecurityPolicy::allowJavaScriptURLs const): (WebCore::ContentSecurityPolicy::allowInlineEventHandlers const): (WebCore::ContentSecurityPolicy::allowNonParserInsertedScripts const): (WebCore::ContentSecurityPolicy::allowInlineScript const): (WebCore::ContentSecurityPolicy::allowInlineStyle const): (WebCore::ContentSecurityPolicy::allowScriptFromSource const): (WebCore::ContentSecurityPolicy::allowStyleFromSource const): (WebCore::ContentSecurityPolicy::allScriptPoliciesAllow const): Deleted. (WebCore::ContentSecurityPolicy::findHashOfContentInPolicies const): Deleted. (WebCore::ContentSecurityPolicy::checkHashAndReportViolation const): Deleted.
- page/csp/ContentSecurityPolicy.h:
- page/csp/ContentSecurityPolicyDirectiveList.cpp: (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeInlineScriptElement const): (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForInlineJavascriptURL const): (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForInlineEventHandlers const): (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForNonParserInsertedScripts const): (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeInlineStyleElement const): (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeInlineStyleAttribute const): (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForScript const): (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForStyle const): (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeHashScript const): Deleted. (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeHashStyle const): Deleted. (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForParserInsertedScript const): Deleted. (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForUnsafeInlineScriptAttribute const): Deleted. (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForScriptHash const): Deleted. (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForStyleHash const): Deleted.
- page/csp/ContentSecurityPolicyDirectiveList.h:
LayoutTests:
Update test expectations, Some newly passing tests are no longer skipped and some have new reports.
- TestExpectations:
- http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-in-enforced-policy-and-not-in-report-only-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-multiple-policies-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-in-enforced-policy-and-not-in-report-only-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-multiple-policies-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-in-enforced-policy-and-not-in-report-only-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-multiple-policies-expected.txt:
- http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt:
- http/tests/security/contentSecurityPolicy/javascript-url-blocked-by-default-src-star-expected.txt:
- http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/window-open-javascript-url-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/window-open-javascript-url-with-target-blocked-expected.txt:
- platform/glib/TestExpectations:
- platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-report-only-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289280] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288128. rdar://problem/87711220
Copy com.apple.WebKit.adattributiond.sb into place with other iOS sandbox profiles
https://bugs.webkit.org/show_bug.cgi?id=235320
<rdar://87711220>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-01-18
Reviewed by Per Arne Vollan.
Ever since r287100 we are using the sandbox profile, but it doesn't exist so we just crash.
- WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288128 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289279] by
-
- 4 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288124. rdar://problem/87721737
Reduce failure timer in CoreAudioSharedUnit in the case we only render audio samples
https://bugs.webkit.org/show_bug.cgi?id=235318
Reviewed by Eric Carlson.
As shown in https://bugs.webkit.org/show_bug.cgi?id=235317, it might be possible for a VPIO that is only used for
audio rendering to fail sometimes. Waiting for 10 seconds in that case is very long, so we reduce the verification delay to 2 seconds.
Manually tested.
- platform/mediastream/mac/BaseAudioSharedUnit.cpp:
- platform/mediastream/mac/BaseAudioSharedUnit.h:
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289278] by
-
- 2 edits in branches/safari-613-branch/JSTests
Cherry-pick r288120. rdar://problem/87538657
Gardening: resolve test failure on CLoop.
Not reviewed.
Change test to not rely on WebAssembly.
- stress/max-typed-array-length-toString.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289277] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288110. rdar://problem/87699178
BaseAudioSharedUnit::devicesChanged is failing capture too much in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=235288
Reviewed by Eric Carlson.
Manually tested.
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.h: In GPUProcess, we do not need to filter tap enabled devices, since this may filter out valid devices, which may break capture. Given we only need to filter tap enabled devices in the process that enumerates devices for selecting the one to use, We can reverse the default value to not filter, and enable the filtering in UIProcess as done currently based on whether capturing in GPUProcess or not.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289276] by
-
- 9 edits in branches/safari-613-branch/Source
Cherry-pick r288076. rdar://problem/83863292
Ensure in flight layer transactions don't accumulate further canvas drawing
https://bugs.webkit.org/show_bug.cgi?id=231163
<rdar://problem/83863292>
Reviewed by Simon Fraser.
Source/WebCore:
When UI side compositing is enabled (as it is on iOS), we build a
layer tree transaction in RemoteLayerTreeDrawingArea::updateRendering to
send off to the UI process. At a high level, updateRendering does this:
- Run any requestAnimationFrame callbacks
- Iterate over the composited layers to draw their contents into the layer backing stores
- Dispatch a task to a different thread to flush the contexts of the layer backing stores and then send the transaction to the UI process
Step 3 is done off a separate task as an optimization, to get the
drawing work queued up by step 2 happening in parallel to any work the
page may day once updateRendering is finished. This can be a problem
when:
- GPU process canvas rendering is enabled (but DOM rendering is disabled)
- we have accelerated ImageBuffers for both layer backing stores and canvas backing stores
- the page does canvas drawing between steps 2 and 3, which affects the contents of a canvas backing store IOSurface that was drawn into a layer backing store IOSurface while building the transaction
The way we draw the canvas contents into the layer is by creating a
CGImage from the canvas backing store ImageBuffer's IOSurface.
Normally, if we draw into an IOSurface that has been wrapped by a
CGImage, this will cause the CGImage to obtain a unique copy of the
IOSurface's pixels, rather than continue holding on to the IOSurface
itself.
When the drawing of this CGImage on to the layer backing store
IOSurface happens, the "draw image" command is queued up to be
processed later. It's only when the flush happens in step 3 above that
the drawing occurs. This means that the CGImage wrapping the IOSurface
exists until that flush.
But while the CGImage does exist, it's in the Web process, and the
canvas drawing on to the same IOSurface happens in the GPU process.
Since QuartzCore doesn't know of its existence, it doesn't cause the
copy-on-write to occur. The effect of this is that subsequent page
drawing on to the canvas can make its way into the layer transaction
unexpectedly.
This patch induces the copy-on-write in the Web process when needed,
by tracking whether a canvas has been drawn into a layer backing
store and the layer transaction flush hasn't happened yet. Just before
we do any more drawing on the canvas, if we are in this state, we
perform a no-op drawing command on the IOSurface, then flush, to make
the CGImage copy the IOSurface data out.
- html/HTMLCanvasElement.cpp: (WebCore::imageDrawingRequiresGuardAgainstUseByPendingLayerTransaction): We only need to induce the CGImage copy-on-write behavior if both the layer and canvas backing stores are accelerated, the canvas ImageBuffer is remote, and the layer ImageBuffer is not remote. (WebCore::HTMLCanvasElement::paint): (WebCore::HTMLCanvasElement::drawingContext const): Use drawingContext as a convenient single place to check whether we are performing the first drawing command before the layer tree transaction flush has happened.
- html/HTMLCanvasElement.h:
- page/Page.h: (WebCore::Page::setIsAwaitingLayerTreeTransactionFlush): (WebCore::Page::isAwaitingLayerTreeTransactionFlush const):
- platform/graphics/ImageBufferBackend.h: (WebCore::ImageBufferBackend::ensureNativeImagesHaveCopiedBackingStore):
- platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp: (WebCore::ImageBufferIOSurfaceBackend::ensureNativeImagesHaveCopiedBackingStore): The flush is needed since the CGImage wrapping the IOSurface will only copy the pixel data out once the no-op drawing command is processed.
- platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::willCommitLayerTree): (WebKit::WebPage::didFlushLayerTreeAtTime): Inform the WebCore::Page about the state of the layer tree transaction building.
- WebProcess/WebPage/WebPage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289275] by
-
- 3 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288053. rdar://problem/85760433
Unable to playback portrait videos on HTML canvas elements
https://bugs.webkit.org/show_bug.cgi?id=235238
Reviewed by Jer Noble.
We need to make sure the destination pixel buffer is IOSurface-backed.
Otherwise, VTImageRotationSession cannot rotate a pixel buffer with
a compressed pixel format.
Manually tested.
Layout tests for this exist, but unless they run on an iPhone 12 or
later HW, they won't fail. For example:
- media/video-orientation-canvas.html
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastPixelBuffer):
- platform/graphics/cv/ImageRotationSessionVT.mm: (WebCore::ImageRotationSessionVT::rotate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289274] by
-
- 3 edits1 add in branches/safari-613-branch
Cherry-pick r288037. rdar://problem/87538657
JSStringJoiner's constructor should take a size_t length.
https://bugs.webkit.org/show_bug.cgi?id=235217
rdar://87538657
Reviewed by Yusuke Suzuki.
JSTests:
- stress/max-typed-array-length-toString.js: Added.
Source/JavaScriptCore:
Also removed an unnecessary exception check in JSStringJoiner::append().
This is because appendWithoutSideEffects() cannot throw any exceptions.
- runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::append):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289273] by
-
- 12 edits6 adds in branches/safari-613-branch
Cherry-pick r288031. rdar://problem/82997136
[Cocoa] rVFC() isn't called for initial video load
https://bugs.webkit.org/show_bug.cgi?id=235006
Reviewed by Eric Carlson.
Source/WebCore:
Tests: media/request-video-frame-loadstart.html
media/request-video-frame-seek.html
Add a new utility class, QueuedVideoOutput, which will pull pixel buffers out of an AVPlayerItemVideoOutput
pre-emptively. Once those pixel buffers are enqueued locally, their associated timing information can be used to
fire a callback for that buffer's display time.
Previously, paints were blocked from pulling new pixel buffers from the video output. With the QueuedVideoOutput
class, this is no longer necessary. The QueuedVideoOutput will notify its client when the image for currentTime
changes, and other clients can freely ask for the currentTime's image.
To curb runaway memory growth, frames are purged as soon as a new image for the current time is available, and when
the video output signals that its own queues were purged.
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::cancelVideoFrameCallback): (WebCore::HTMLVideoElement::serviceRequestVideoFrameCallbacks):
- html/HTMLVideoElement.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame const): (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoFullscreenInlineImage): (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer): (WebCore::MediaPlayerPrivateAVFoundationObjC::startVideoFrameMetadataGathering): (WebCore::MediaPlayerPrivateAVFoundationObjC::checkNewVideoFrameMetadata): (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput): (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoOutput): (WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastPixelBuffer): (WebCore::MediaPlayerPrivateAVFoundationObjC::videoOutputHasAvailableFrame): (WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage): (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): (WebCore::MediaPlayerPrivateAVFoundationObjC::pixelBufferForCurrentTime): (WebCore::MediaPlayerPrivateAVFoundationObjC::nativeImageForCurrentTime): (WebCore::MediaPlayerPrivateAVFoundationObjC::colorSpace): (WebCore::MediaPlayerPrivateAVFoundationObjC::outputMediaDataWillChange): (WebCore::globalPullDelegateQueue): Deleted. (WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange): Deleted. (-[WebCoreAVFPullDelegate initWithPlayer:]): Deleted. (-[WebCoreAVFPullDelegate outputMediaDataWillChange:]): Deleted. (-[WebCoreAVFPullDelegate outputSequenceWasFlushed:]): Deleted.
- platform/graphics/avfoundation/objc/QueuedVideoOutput.h: Added.
- platform/graphics/avfoundation/objc/QueuedVideoOutput.mm: Added. (-[WebQueuedVideoOutputDelegate initWithParent:]): (-[WebQueuedVideoOutputDelegate outputMediaDataWillChange:]): (-[WebQueuedVideoOutputDelegate outputSequenceWasFlushed:]): (-[WebQueuedVideoOutputDelegate observeValueForKeyPath:ofObject:change:context:]): (WebCore::globalOutputDelegateQueue): (WebCore::QueuedVideoOutput::create): (WebCore::QueuedVideoOutput::QueuedVideoOutput): (WebCore::QueuedVideoOutput::~QueuedVideoOutput): (WebCore::QueuedVideoOutput::invalidate): (WebCore::decltype): (WebCore::QueuedVideoOutput::hasImageForTime const): (WebCore::QueuedVideoOutput::takeVideoFrameEntryForTime): (WebCore::QueuedVideoOutput::addCurrentImageChangedObserver): (WebCore::QueuedVideoOutput::configureNextImageObserver): (WebCore::QueuedVideoOutput::imageForCurrentTimeChanged): (WebCore::QueuedVideoOutput::addVideoFrameEntries): (WebCore::QueuedVideoOutput::purgeVideoFrameEntries): (WebCore::QueuedVideoOutput::purgeImagesBeforeTime): (WebCore::QueuedVideoOutput::rateChanged):
Source/WebCore/PAL:
- pal/spi/cocoa/AVFoundationSPI.h:
LayoutTests:
- media/request-video-frame-loadstart-expected.txt: Added.
- media/request-video-frame-loadstart.html: Added.
- media/request-video-frame-seek-expected.txt: Added.
- media/request-video-frame-seek.html: Added.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289272] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r288003. rdar://problem/85505101
Only apply automatic minimum block-size aspect-ratio rules to non-replaced elements
https://bugs.webkit.org/show_bug.cgi?id=235058
<rdar://85505101>
Reviewed by Alan Bujtas.
Source/WebCore:
The rules in https://www.w3.org/TR/css-sizing-4/#aspect-ratio-minimum
that define the automatic minimum size of an element subject to an
aspect-ratio only apply if the element is non-replaced.
In constrainLogicalHeightByMinMax specifically, when min-height is
auto, after applying the aspect-ratio to produce an automatic minimum
height, we bump it up to the content height if the element has
children. This, presumably, is to account for the way the height of a
block is computed in CSS 2.2. (As CSS 2.2 doesn't have an auto value
for min-height, and a CSS Block Layout module has not been written in
terms of CSS Sizing concepts, there is no clear definition of
automatic minimum sizing for blocks at the moment.) If we erroneously
apply this to a replaced element, such as an image or video, it can
get a computed min-height equal to the intrinsic height of the image,
which may be much larger than expected.
This commit adds an is<RenderReplaced>() check for both automatic
minimum logical width and height calculations, although I was unable to
produce a test to exercise the logical width case (which does not take
the intrinsic size into account when computing the automatic minimum).
Test: fast/css/aspect-ratio-min-height-replaced.html
- rendering/RenderBox.cpp: (WebCore::RenderBox::constrainLogicalWidthInFragmentByMinMax const): (WebCore::RenderBox::constrainLogicalHeightByMinMax const):
LayoutTests:
Test that replaced elements with child content (in this case, a
<video> element's controls in the UA shadow tree) don't influence the
automatic minimum size calculation.
- fast/css/aspect-ratio-min-height-replaced-expected.html: Added.
- fast/css/aspect-ratio-min-height-replaced.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288003 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:53 PM Changeset in webkit [289271] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r287995. rdar://problem/87458502
Avoid unnecessary call to windowScreenDidChange
https://bugs.webkit.org/show_bug.cgi?id=235198
<rdar://87458502>
Reviewed by Geoffrey Garen.
It is a page load performance progression to avoid this call in initWithDrawingAreaProxy.
- UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (-[WKOneShotDisplayLinkHandler initWithDrawingAreaProxy:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289270] by
-
- 3 edits in branches/safari-613-branch/Source/bmalloc
Cherry-pick r287994. rdar://problem/87055595
[libpas] pas_segregated_page_lock_with_mode in try_lock mode should check that the page still uses the lock after the try_lock
https://bugs.webkit.org/show_bug.cgi?id=235203
Reviewed by Yusuke Suzuki.
The bug I was trying to find by assertions in bug 235190 is that lock_with_mode has an incorrect
implementation of the try_lock case. It forgets to check if the lock it acquired is the right one
after locking.
I don't know how to test this without writing a test that is very gross. It's a super subtle race
condition - one that would be hard to reliably trigger even if I used the race_test_hooks
functionality.
- libpas/src/libpas/pas_local_allocator.c: (stop_impl):
- libpas/src/libpas/pas_segregated_page_inlines.h: (pas_segregated_page_switch_lock_with_mode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289269] by
-
- 6 edits1 add in branches/safari-613-branch
Cherry-pick r287992. rdar://problem/74845918
Crash in Document::updateStyleIfNeeded() when removing a node containing the drag caret
https://bugs.webkit.org/show_bug.cgi?id=235184
rdar://74845918
Reviewed by Darin Adler.
Source/WebCore:
While performing drag and drop over editable content, DragCaretController handles updating and painting a drag
caret, which indicates where the dragged content will be inserted upon drop. If the node containing this drag
caret is disconnected,DragCaretController::nodeWillBeRemoved()resets the drag caret position and issues a
repaint on the renderer responsible for drawing the drag caret. This call tonodeWillBeRemoved()occurs in the
middle of node removal, so it's encapsulated by aScriptDisallowedScope::InMainThreadscope which causes a
release assertion in WebKit2 if anything tries to trigger layout or style updates.
Currently, if the node being removed would cause the caret position to be removed as well, DragCaretController
calls intosetCaretPosition()with a null visible position, which then calls intoinvalidateCaretRectwith
the current caret position's anchor node. In turn,invalidateCaretRectcontains logic to issue a repaint on
the anchor node's renderer if the node is editable. However, to check whether the node is editable, we use the
helper functionWebCore::isEditableNode(), which triggers a style update if needed, only in the case where:
- A style recalc is needed, and...
- The document contains an element with the
-webkit-user-modifyCSS property.
As such, dirtying element styles right before removing the drag caret's anchor node from the document while
dispatching adragordropevent in an editor with-webkit-user-modify: read-write;is sufficient to
trigger the release assertion and cause a crash.
To address this, instead of calling
clear()inside ofDragCaretController::nodeWillBeRemoved(), we can
instead directly invalidate the caret rect using the current drag caret anchor (passing intruefor
caretRectChanged()since we already know that the drag caret is being cleared out), and then reset the current
drag caret position and caret rect. This allows us to avoid theisEditableNode()check in this scenario when
deciding whether to trigger paint invalidation, which is unnecessary because we already know that the node
containing the caret is being removed, so the renderer is going to be repainted anyways. We also pull this logic
out into a separate helper method,clearCaretPositionWithoutUpdatingStyle(), to make it clear that we must
avoid triggering style recalc here.
Test: DragAndDropTests.DoNotCrashWhenRemovingNodeOnDrop
- editing/FrameSelection.cpp: (WebCore::DragCaretController::nodeWillBeRemoved): (WebCore::DragCaretController::clearCaretPositionWithoutUpdatingStyle):
- editing/FrameSelection.h:
Tools:
Add a test to exercise the crash using drag and drop in WebKit2, on both iOS and macOS.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/remove-node-on-drop.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm: (TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287992 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289268] by
-
- 4 edits in branches/safari-613-branch/Source/bmalloc
Cherry-pick r287991. rdar://problem/87557006
[libpas] add assertions that we aren't switching to a NULL lock
https://bugs.webkit.org/show_bug.cgi?id=235190
Reviewed by Yusuke Suzuki.
This adds a pas_panic call when pas_local_allocator_stop sees a NULL page->lock_ptr. That's one
possible explanation of a very rare crash I'm seeing where return_memory_to_page fails its assertion
that we are holding the page lock.
This also adds TESTING asserts in a bunch of other places. The PAS_TESTING_ASSERTS about this are in
places that are perf-sensitive, so we probably cannot assert in production. The hope behind those is
that it will help to catch this issue in test_pas.
- libpas/src/libpas/pas_local_allocator.c: (stop_impl):
- libpas/src/libpas/pas_segregated_page.c: (pas_segregated_page_switch_lock_and_rebias_while_ineligible_impl):
- libpas/src/libpas/pas_segregated_page_inlines.h: (pas_segregated_page_lock_with_unbias_not_utility): (pas_segregated_page_lock_with_unbias): (pas_segregated_page_lock): (pas_segregated_page_switch_lock_impl): (pas_segregated_page_switch_lock_with_mode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287991 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289267] by
-
- 4 edits2 adds in branches/safari-613-branch
Cherry-pick r287981. rdar://problem/84069534
REGRESSION (r278561): Right clicking a link selects the full line with unrelated text
https://bugs.webkit.org/show_bug.cgi?id=235172
<rdar://84069534>
Reviewed by Dean Jackson.
Source/WebCore:
r278561 slightly change highlightStateForTextBox's behavior which now (correctly) returns HighlightState::None when the
RenderText content is not part of the current selection. Prior to r278561, it returned the RenderText's original selection state
which in this case was HighlightState::End.
<div><span>A<br>B<span style="position: absolute"></span></span>C</div>
In this specific case when we select the outer <span>, we end up with the following selection states for the generated line boxes:
(B) -> "Inside"
(C) -> "None"
while previously (C) came back as "End" (note that the absolute positioned element does not generate line boxes).
Now as Line::selectionState traverses through the line boxes, it comes across an unexpected "Inside -> None" transition at the selection end boundary (B -> C)
which incorrectly leaves the line state in "Inside" and we paint the selection all the way to the end of the block.
Test: fast/editing/selection-with-absolute-positioned-empty-content.html
- layout/integration/InlineIteratorLine.cpp: (WebCore::InlineIterator::Line::selectionState const):
LayoutTests:
- fast/editing/selection-with-absolute-positioned-empty-content-expected.txt: Added.
- fast/editing/selection-with-absolute-positioned-empty-content.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287981 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289266] by
-
- 6 edits2 adds in branches/safari-613-branch
Cherry-pick r287970. rdar://problem/87423294
PCM: Same-site triggering events should support ephemeral measurement
https://bugs.webkit.org/show_bug.cgi?id=235160
<rdar://87423294>
Reviewed by Alex Christensen.
Source/WebCore:
We added ephemeral measurement for direct response advertising in https://bugs.webkit.org/show_bug.cgi?id=228984.
We added support for same-site triggering events in https://bugs.webkit.org/show_bug.cgi?id=233173.
These two features should work together.
The bug was that WebKit::NetworkSession::handlePrivateClickMeasurementConversion()
only checked for cross-site triggering events when handling ephemeral measurements.
Test: http/tests/privateClickMeasurement/triggering-event-with-attribution-source-through-fetch-keepalive-ephemeral.html
- loader/PrivateClickMeasurement.cpp: (WebCore::PrivateClickMeasurement::isNeitherSameSiteNorCrossSiteTriggeringEvent):
New convenience function to enhance readability in
WebKit::NetworkSession::handlePrivateClickMeasurementConversion().
- loader/PrivateClickMeasurement.h:
Source/WebKit:
We added ephemeral measurement for direct response advertising in https://bugs.webkit.org/show_bug.cgi?id=228984.
We added support for same-site triggering events in https://bugs.webkit.org/show_bug.cgi?id=233173.
These two features should work together.
- NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::handlePrivateClickMeasurementConversion):
This function previously only checked for cross-site triggering events when
handling ephemeral measurements. Now it also checks for same-site triggering
events.
LayoutTests:
- http/tests/privateClickMeasurement/triggering-event-with-attribution-source-through-fetch-keepalive-ephemeral-expected.txt: Added.
- http/tests/privateClickMeasurement/triggering-event-with-attribution-source-through-fetch-keepalive-ephemeral.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289265] by
-
- 12 edits5 adds in branches/safari-613-branch/Source/bmalloc
Cherry-pick r287968. rdar://problem/87256207
[libpas] thread_local_cache should not be allocated in the compact heap (cherry pick 11afcedfb5968f6894379ff1a41dd449ba7745f6)
https://bugs.webkit.org/show_bug.cgi?id=235096
Reviewed by Yusuke Suzuki.
Thread local caches can get quite large because of how libpas uses them, we can allocate one per
thread, and we reallocate them with exponential resizing, so there's a lot of wasted space and a
decent amount of fragmentation. This shows up as occasional crashes trying to allocate a thread local
cache out of the compact heap.
This moves thread local caches out of the compact heap. They were only ever there because partial views
sometimes need to point to the local_allocator's bitvector, but that's part of the thread local cache.
So, that means that either the partial views' bits pointer cannot be a compact pointer, or the
thread_local_cache needs to be in the compact heap. So, the thread_local_cache ended up in the compact
heap to keep that pointer small.
This change works around the problem: it's rare that the partial views' bits pointer points at
the local_allocator's bits, and none of the fast path cases where we access that pointer will ever see
it in that state. So, this makes the pointer either point to a utility-heap-allocated box that contains
the full pointer, or it points at the actual array allocated in the compact heap. The utility heap is
in the compact heap, so the compact pointer can point at either one. The implementation of this is
encapsulated as pas_lenient_compact_ptr. It's a bit gross; storing to it only works when you're holding
the heap lock, for example.
This is perf-neutral on Speedometer. This is perf-neutral on JS2 cli with full JSC isoheaps (i.e. the
patch from bug 231938). It's a 0.4% regression on RAMification with full JSC isoheaps, but I'm not
going to worry about that because trunk doesn't have full JSC isoheaps, and JSC isoheaps requires some
change like this to work reliably (currently it'll randomly run out of compact heap).
- bmalloc.xcodeproj/project.pbxproj:
- libpas/libpas.xcodeproj/project.pbxproj:
- libpas/src/libpas/pas_enumerate_segregated_heaps.c: (enumerate_partial_view):
- libpas/src/libpas/pas_full_alloc_bits_inlines.h: (pas_full_alloc_bits_create_for_partial_but_not_primordial): (pas_full_alloc_bits_create_for_partial):
- libpas/src/libpas/pas_lenient_compact_ptr.h: Added.
- libpas/src/libpas/pas_lenient_compact_ptr_inlines.h: Added.
- libpas/src/libpas/pas_lenient_compact_unsigned_ptr.c: Added.
- libpas/src/libpas/pas_lenient_compact_unsigned_ptr.h: Added.
- libpas/src/libpas/pas_local_allocator.c: (pas_local_allocator_move):
- libpas/src/libpas/pas_local_allocator_inlines.h: (pas_local_allocator_set_up_free_bits): (pas_local_allocator_start_allocating_in_primordial_partial_view): (pas_local_allocator_bless_primordial_partial_view_before_stopping):
- libpas/src/libpas/pas_segregated_partial_view.c: (pas_segregated_partial_view_create): (compute_summary):
- libpas/src/libpas/pas_segregated_partial_view.h:
- libpas/src/libpas/pas_segregated_view_allocator_inlines.h: (pas_segregated_view_will_start_allocating):
- libpas/src/libpas/pas_thread_local_cache.c: (deallocate): (allocate_cache):
- libpas/src/test/LotsOfHeapsAndThreads.cpp: Added. (std::testLotsOfHeapsAndThreads): (addLotsOfHeapsAndThreadsTests):
- libpas/src/test/TestHarness.cpp: (main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289264] by
-
- 15 edits in branches/safari-613-branch/Source
Cherry-pick r287959. rdar://problem/80213097
Add to Contact menu item does nothing on mac.
https://bugs.webkit.org/show_bug.cgi?id=235154
Source/WebCore:
Reviewed by Tim Horton.
Add to Context menu item for telephone numbers did not actually show the contact card.
This was because the delgate did not tell the menu where to display the card from, so it just failed.
Plumbing that information through fixes the issue.
- page/ChromeClient.h: (WebCore::ChromeClient::handleTelephoneNumberClick):
- page/mac/ServicesOverlayController.mm: (WebCore::ServicesOverlayController::handleClick):
Source/WebKit:
rdar://80213097
Reviewed by Tim Horton.
Add to Context menu item for telephone numbers did not actually show the contact card.
This was because the delgate did not tell the menu where to display the card from, so it just failed.
Plumbing that information through fixes the issue.
- Platform/mac/MenuUtilities.h:
- Platform/mac/MenuUtilities.mm: (-[WKEmptyPresenterHighlightDelegate initWithRect:]): (-[WKEmptyPresenterHighlightDelegate revealContext:rectsForItem:]): (-[WKEmptyPresenterHighlightDelegate revealContext:shouldUseDefaultHighlightForItem:]): (WebKit::menuForTelephoneNumber):
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::showTelephoneNumberMenu):
- WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::handleTelephoneNumberClick):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::handleTelephoneNumberClick):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287959 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289263] by
-
- 2 edits in branches/safari-613-branch/Source/WebKitLegacy/mac
Cherry-pick r287951. rdar://problem/83501315
_paintBehaviorForDestinationContext should consider kCGContextTypeDisplayList type contexts as potentially being snapshots
https://bugs.webkit.org/show_bug.cgi?id=234626
<rdar://83501315>
Patch by Matt Woodrow <Matt Woodrow> on 2022-01-12
Reviewed by Simon Fraser.
_paintBehaviorForDestinationContext currently always returns
Normalfor contexts that aren't a bitmap context.
AppKit now provides a context that is of type kCGContextTypeDisplayList, and we want to still potentially consider it a
snapshot paint (if the other conditions below are met). This ensure images are sync decoded for consumers that just
want a single paint.
- WebView/WebFrame.mm: (-[WebFrame _paintBehaviorForDestinationContext:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289262] by
-
- 4 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r287939. rdar://problem/85082354
Correctly dirty z-order lists when showing a modal dialog
https://bugs.webkit.org/show_bug.cgi?id=232762
<rdar://problem/85082354>
Reviewed by Alan Bujtas.
When showing a dialog element which is split into continuations, we need to ensure
to call establishesTopLayerWillChange()/establishesTopLayerDidChange() on the
layers of all the continuation renderers.
- dom/Element.cpp: (WebCore::forEachRenderLayer): Call the provided function on the layers for all the associated render objects. It's a little cumbersome because layers relate to RenderLayerModelObject, but continuations relate to RenderBoxModelObject. (WebCore::Element::addToTopLayer): (WebCore::Element::removeFromTopLayer): (WebCore::renderLayerForElement): Deleted.
- rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::forRendererAndContinuations):
- rendering/RenderBoxModelObject.h: Provider a static helper to call a function on a renderer and all its continuations, if any.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289261] by
-
- 10 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r287930. rdar://problem/85790203
[iOS] Page loading hangs for ~10s on WebProcess launch
https://bugs.webkit.org/show_bug.cgi?id=235089
Reviewed by Eric Carlson.
WebPage::setMuted() will result in calling into the current audioCaptureFactory,
which will be by default CoreAudioAudioCaptureFactory unless replaced.
CoreAudioAudioCaptureFactory will in turn call into AVAudioSession, which will block
for multiple seconds due to the WebContent process sandbox.
Change the order in which these calls occur by configuring the audioCaptureFactory
in platformInitialize(), which occurs near the top of the constructor. This requires
access to the WebPageCreationParameters passed into the constructor, modify that method
to take a WebPageCreationParameters, and modify all the platform-specific definitions of
that method.
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::platformInitialize):
- WebProcess/WebPage/WebPage.cpp: (WebKit::m_appHighlightsVisible):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/gtk/WebPageGtk.cpp: (WebKit::WebPage::platformInitialize):
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::platformInitialize): Deleted.
- WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::platformInitializeAccessibility): (WebKit::WebPage::platformInitialize): Deleted.
- WebProcess/WebPage/playstation/WebPagePlayStation.cpp: (WebKit::WebPage::platformInitialize):
- WebProcess/WebPage/win/WebPageWin.cpp: (WebKit::WebPage::platformInitialize):
- WebProcess/WebPage/wpe/WebPageWPE.cpp: (WebKit::WebPage::platformInitialize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289260] by
-
- 5 edits in branches/safari-613-branch/Source
Cherry-pick r287914. rdar://problem/85451366
Protect DocumentLoader when a reference to its members is used.
https://bugs.webkit.org/show_bug.cgi?id=233464
Patch by Frédéric Wang <fwang@igalia.com> on 2022-01-12
Reviewed by Brady Eidson.
Source/WebCore:
No new tests, due to our infra (bug 127676).
- loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ensure that DocumentLoader loader remains alive while DocumentLoader::m_mainDocumentError is used.
Source/WebKit:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didFinishLoadForFrame): If the navigationID is obsolete, skip update of the page load state to avoid failure of debug ASSERT.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): Ensure that DocumentLoader loader remains alive while DocumentLoader::m_request is used.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289259] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r287899. rdar://problem/83925935
DataURLResourceMediaLoader decodes the URL repeatedly during a video playback
https://bugs.webkit.org/show_bug.cgi?id=234940
Reviewed by Darin Adler.
In r264864, we adopted a new SPI to tell AVFoundation that the entire file is available for custom URLs.
As a result, during a video playback, AVFoundation will request small data ranges instead of "caching"
the whole file again.
However, that leads to efficiency issue for DataURLResourceMediaLoader. Because it needs to decode the whole
URL when AVFoundation requests a data range, which is inefficient when the URL is very long.
This patch reverts the change in r264864 for the DataURLResourceMediaLoader case to fix the performance issue.
If DataURLDecoder::decode() supports decoding a data range in the future, we can change it back for better
memory efficiency.
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: (WebCore::WebCoreAVFResourceLoader::responseReceived):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289258] by
-
- 7 edits in branches/safari-613-branch
Cherry-pick r287891. rdar://problem/85345180
REGRESSION (r283723): Web Inspector: CSS declarations unexpectedly removed when editing property value
https://bugs.webkit.org/show_bug.cgi?id=233195
Reviewed by Devin Rousso.
Source/WebInspectorUI:
Re-attach CSS property if it was detached while editing.
CSSProperty is detached when focusing on property name and deleting it. Consequent edits of the detached
CSSProperty were not saved. This patch re-attaches detached property at the previous position.
- UserInterface/Models/CSSProperty.js: (WI.CSSProperty.prototype.set name):
- UserInterface/Models/CSSStyleDeclaration.js: (WI.CSSStyleDeclaration.prototype.newBlankProperty): (WI.CSSStyleDeclaration.prototype.insertProperty): Introduce this method since the logic is used in two different places now.
LayoutTests:
Test removing CSS property name.
- inspector/css/modify-css-property-expected.txt:
- inspector/css/modify-css-property.html:
- inspector/css/resources/modify-css-property.css: (.rule-e):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:52 PM Changeset in webkit [289257] by
-
- 4 edits in branches/safari-613-branch
Cherry-pick r287847. rdar://problem/86488039
ASSERTION FAILED in RenderLayer::updateClipRects
https://bugs.webkit.org/show_bug.cgi?id=234315
Reviewed by Simon Fraser.
Source/WebCore:
In clippingRootForPainting(), the dialog element uses the top layer as its clipping root layer.
When it caculates the clip rects, it caculates all its ancestors' clip rects and caches them
including the clipping root layer. However, if the ancestor is a transformed layer, it should be
treated as a root layer. When the transformed layer updates its clip rects, the root layer won't
match the one in cache. This patch stops the dialog descendant propagating its clipping root layer
to the ancestors' in cache.
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::clipCrossesPaintingBoundary const):
LayoutTests:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287847 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:13 PM Changeset in webkit [289256] by
-
- 3 edits1 delete in trunk/Source/WTF
Replace "Copy WTF Headers" with native build phases
https://bugs.webkit.org/show_bug.cgi?id=235744
Reviewed by Alexey Proskuryakov.
Replace the rsync-based script that copied WTF headers with Xcode-native copy file phases.
Unfortunately, this entails having separate build phases for each subdirectory of <wtf/...>.
Workspace builds may have dependencies on individual headers in WTF, and the native copy
phases provide the build system with enough information to form those task dependencies.
- Configurations/WTF.xcconfig: Set PRIVATE_HEADERS_FOLDER_PATH.
- Configurations/CopyWTFHeaders.xcconfig: Removed.
- WTF.xcodeproj/project.pbxproj: Remove "Copy WTF Headers" and add copy file phases.
- 6:05 PM Changeset in webkit [289255] by
-
- 8 edits in trunk
Always sync ResourceRequest isAppInitiated request with NSURLRequest attribution value
https://bugs.webkit.org/show_bug.cgi?id=236167
<rdar://88490742>
Reviewed by Darin Adler.
Source/WebCore:
We should always keep the state of our 'isAppInitiated' flag in sync with the underlying
NSURLRequest object. This also corrects a problem where the 'setIsAppInitiated' method
does not mark the platform URL request as dirty, so it does not update with the correct
state of the flag.
Tests: New TestWebKitAPI Test (AppPrivacyReport.NSURLRequestConstructorAttribution)
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::setIsAppInitiated):
- platform/network/ResourceRequestBase.h:
- platform/network/cf/ResourceRequest.h:
- platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::copyRequestWithStorageSession):
- rendering/RenderThemeIOS.mm:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme:
- TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm:
- 5:45 PM Changeset in webkit [289254] by
-
- 2 edits in trunk/Source/WTF
WTF::HashAndUTF8CharactersTranslator::translate() falls through ASSERT_NOT_REACHED()
<https://webkit.org/b/234944>
<rdar://problem/87230618>
Reviewed by Darin Adler.
- wtf/text/AtomStringImpl.cpp:
(WTF::HashAndUTF8CharactersTranslator::translate):
- Change ASSERT_NOT_REACHED() to RELEASE_ASSERT_NOT_REACHED().
- 5:33 PM Changeset in webkit [289253] by
-
- 11 edits in trunk/LayoutTests
Unreviewed gardening.
Add fuzzy data to tests.
- compositing/patterns/direct-pattern-compositing-cover.html:
- compositing/patterns/direct-pattern-compositing-size.html:
- css3/calc/block-mask-overlay-image-outset.html:
- fast/backgrounds/background-opaque-clipped-gradients.html:
- fast/borders/border-image-repeat-stretch.html:
- fast/layers/overflow-scroll-transform-border-radius.html:
- fast/text/international/system-language/hindi-system-font-punctuation.html:
- fast/text/simple-lines-float.html:
- http/tests/security/svg-image-with-cached-remote-image.html:
- svg/clip-path/clip-opacity.html:
- 5:13 PM Changeset in webkit [289252] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, non-unified build fixes after 246907@main
https://bugs.webkit.org/show_bug.cgi?id=236256
- style/ContainerQueryEvaluator.cpp:
- style/ContainerQueryEvaluator.h:
- 5:13 PM Changeset in webkit [289251] by
-
- 2 edits in trunk/Tools
[webkitscmpy] Adopt webkitbugspy for GitHub issues (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=235899
<rdar://problem/88280520>
Reviewed by Dewei Zhu.
- Tools/Scripts/webkitpy/init.py: Add webkitbugspy as a local dependency,
bump local dependency version dependencies.
Canonical link: https://commits.webkit.org/246935@main
- 5:13 PM Changeset in webkit [289250] by
-
- 7 edits in trunk/Tools
[webkitscmpy] Adopt webkitbugspy for GitHub issues (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=235899
<rdar://problem/88280520>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Add webkitbugspy dependency.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub): Build on top of webkitbugspy's mock GitHub server.
(GitHub.init): Pass mock environment to base class.
(GitHub.request): Let webkitbugspy handle issues.
(GitHub.enter): Deleted.
(GitHub.exit): Deleted.
(GitHub._users): Deleted.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.PRGenerator.PullRequest): Linked issue should be an "issue" object.
(GitHub.PRGenerator.create): Ditto.
(GitHub.PRGenerator.update): Ditto.
(GitHub.PRGenerator._contributor): Leverage webkitbugpy to retrieve information
about unknown contributors.
(GitHub.PRGenerator.comment): Leverage webkitbugspy to create comments.
(GitHub.PRGenerator.comments): Leverage webkitbugspy to retrieve comments.
(GitHub.init): Construct a tracker, populate it's user mapping.
(GitHub.credentials): Leverage webkitbugspy to retrieve credentials.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
(TestLandGitHub.webserver): Create a mock issue.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
(TestNetworkPullRequestGitHub.webserver): Create a mock issue.
Canonical link: https://commits.webkit.org/246934@main
- 5:13 PM Changeset in webkit [289249] by
-
- 7 edits in trunk/Tools
[webkitscmpy] Adopt webkitbugspy for GitHub issues (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=235899
<rdar://problem/88280520>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.Encoder.default): Handle API url regexes.
(Tracker.init): Match API urls.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/mocks/github.py:
(GitHub.init): Spell "username" correctly.
(GitHub._issue): Handle case where assignee or watchers is undefined.
(GitHub.request): Rename "api_host" to "api_remote" to match webkitscmpy.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/github_unittest.py:
(TestGitHub.test_link):
Canonical link: https://commits.webkit.org/246933@main
- 4:22 PM Changeset in webkit [289248] by
-
- 9 edits5 adds in trunk
AX: Move node-dependent role computation to AccessibilityNodeObject from AccessibilityRenderObject
https://bugs.webkit.org/show_bug.cgi?id=236166
Reviewed by Chris Fleizach.
Source/WebCore:
AccessibilityRenderObject::determineAccessibilityRole has a lot of
logic for computing the object's role that depends only on the node
associated with the object, not the renderer. This means that objects
that typically have renderers but sometimes don't (e.g. objects with
hidden+aria-hidden="false", objects withdisplay: contents)
can't have these roles, which is wrong.
This patch improves this by moving these node-dependent role
calcuations to a new determineAccessibilityRoleFromNode function, and
changing AccessibilityRenderObject to use that.
Test: accessibility/aria-visible-element-roles.html
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
Added.
(WebCore::AccessibilityNodeObject::isDescendantOfElementType const):
(WebCore::AccessibilityNodeObject::isFileUploadButton const):
Moved to AccessibilityObject.
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isButton const):
Remove unnecessary whitespace.
(WebCore::AccessibilityObject::isFileUploadButton const):
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
If properties of m_renderer don't yield a role, fallback to
determineAccessibilityRoleFromNode.
(WebCore::AccessibilityRenderObject::isDescendantOfElementType const):
Moved to AccessibilityNodeObject.
- accessibility/AccessibilityRenderObject.h:
LayoutTests:
Add test to verify ARIA visible objects (e.g. those with
hiddenand
aria-hidden="false") compute their role and subrole properly based
on their DOM element.
- accessibility/aria-visible-element-roles.html: Added.
- platform/glib/accessibility/aria-visible-element-roles-expected.txt: Added.
- platform/mac-wk1/accessibility/aria-visible-element-roles-expected.txt: Added.
- platform/mac-wk2/accessibility/aria-visible-element-roles-expected.txt: Added.
- platform/win/accessibility/aria-visible-element-roles-expected.txt: Added.
- platform/mac-wk2/accessibility/roles-exposed-expected.txt:
This patch results in a progression in computing the role of these
inputs, which before were all consided to be AXGroup:
- input[type='date']
- input[type='datetime-local']
- input[type='month']
- input[type='time']
- input[type='week']
- 4:18 PM Changeset in webkit [289247] by
-
- 82 edits6 copies27 adds2 deletes in trunk
Add support for sharing Shared Workers (including across WebProcesses)
https://bugs.webkit.org/show_bug.cgi?id=235958
<rdar://problem/88330666>
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline existing WPT tests involving shared workers.
- web-platform-tests/content-security-policy/connect-src/shared-worker-connect-src-allowed.sub-expected.txt:
- web-platform-tests/content-security-policy/connect-src/shared-worker-connect-src-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/inside-worker/sharedworker-report-only.sub-expected.txt:
- web-platform-tests/content-security-policy/inside-worker/sharedworker-script-src.sub-expected.txt:
- web-platform-tests/content-security-policy/script-src/worker-set-timeout.sub-expected.txt:
- web-platform-tests/html/browsers/offline/appcache/workers/appcache-worker.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/shared-workers.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/worker-inheritance.sub.https-expected.txt:
- web-platform-tests/service-workers/service-worker/claim-shared-worker-fetch.https-expected.txt:
- web-platform-tests/workers/SharedWorker_dataUrl-expected.txt:
- web-platform-tests/workers/modules/shared-worker-import-blob-url.window-expected.txt:
- web-platform-tests/workers/modules/shared-worker-import-data-url-cross-origin-expected.txt:
- web-platform-tests/workers/modules/shared-worker-import-data-url.window-expected.txt:
- web-platform-tests/workers/modules/shared-worker-import-referrer-expected.txt:
- web-platform-tests/workers/modules/shared-worker-import.window-expected.txt:
- web-platform-tests/workers/modules/shared-worker-options-credentials-expected.txt:
- web-platform-tests/workers/semantics/multiple-workers/004-expected.txt:
- web-platform-tests/workers/semantics/multiple-workers/008-expected.txt:
- web-platform-tests/workers/shared-worker-from-blob-url.window-expected.txt:
- web-platform-tests/workers/shared-worker-name-via-options-expected.txt:
- web-platform-tests/workers/shared-worker-options-mismatch-expected.txt:
- web-platform-tests/xhr/open-url-redirected-sharedworker-origin-expected.txt:
Source/WebCore:
Add support for sharing Shared Workers, including across WebProcesses. The architecture
is modeled after the one we use for Service Workers since they are very similar. I tried
sharing as much code as possible with Service Workers but some more work can probably be
done in this area.
With this change, shared workers should be mostly functional and spec compliant. However,
the feature remains disabled by default for now as there are still WPT tests failures I
need to investigate. Also, I need to implement a better process suspension logic on iOS
to replace the hack I added in this patch (to make the tests run reliably on iOS).
As with Service Workers, Shared Workers are partitioned by (Top Origin + Frame Origin)
for privacy reasons. This is achieved via the SharedWorkerKey object that we use as
HashMap key.
No new tests, covered by existing WPT tests.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/Logging.h:
- workers/shared/SharedWorker.cpp:
(WebCore::SharedWorker::fromIdentifier):
(WebCore::SharedWorker::create):
(WebCore::SharedWorker::SharedWorker):
(WebCore::SharedWorker::~SharedWorker):
(WebCore::SharedWorker::didFinishLoading):
(WebCore::SharedWorker::virtualHasPendingActivity const):
(WebCore::SharedWorker::stop):
(WebCore::SharedWorker::terminate): Deleted.
- workers/shared/SharedWorker.h:
- workers/shared/SharedWorker.idl:
- workers/shared/SharedWorkerKey.h: Added.
(WebCore::SharedWorkerKey::hash const):
(WebCore::SharedWorkerKey::encode const):
(WebCore::SharedWorkerKey::decode):
(WebCore::operator==):
(WTF::DefaultHash<WebCore::SharedWorkerKey>::hash):
(WTF::DefaultHash<WebCore::SharedWorkerKey>::equal):
(WTF::HashTraits<WebCore::SharedWorkerKey>::constructDeletedValue):
(WTF::HashTraits<WebCore::SharedWorkerKey>::isDeletedValue):
- workers/shared/SharedWorkerManager.cpp: Removed.
(WebCore::SharedWorkerManager::singleton): Deleted.
(WebCore::SharedWorkerManager::connect): Deleted.
(WebCore::SharedWorkerManager::scriptLoadFailed): Deleted.
(WebCore::SharedWorkerManager::scriptLoadedSuccessfully): Deleted.
- workers/shared/SharedWorkerManager.h: Removed.
- workers/shared/SharedWorkerObjectConnection.cpp:
(WebCore::SharedWorkerObjectConnection::fetchScriptInClient):
(WebCore::SharedWorkerObjectConnection::notifyWorkerObjectOfLoadCompletion):
(WebCore::SharedWorkerObjectConnection::postExceptionToWorkerObject):
- workers/shared/SharedWorkerObjectConnection.h:
- workers/shared/SharedWorkerObjectIdentifier.h: Copied from Source/WebCore/workers/shared/SharedWorkerObjectConnection.cpp.
- workers/shared/SharedWorkerScriptLoader.cpp:
(WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
(WebCore::SharedWorkerScriptLoader::load):
(WebCore::SharedWorkerScriptLoader::notifyFinished):
- workers/shared/SharedWorkerScriptLoader.h:
(WebCore::SharedWorkerScriptLoader::options const):
(WebCore::SharedWorkerScriptLoader::identifier const): Deleted.
(WebCore::SharedWorkerScriptLoader::options): Deleted.
- workers/shared/context/SharedWorkerContextManager.cpp: Added.
(WebCore::SharedWorkerContextManager::singleton):
(WebCore::SharedWorkerContextManager::sharedWorker const):
(WebCore::SharedWorkerContextManager::stopSharedWorker):
(WebCore::SharedWorkerContextManager::stopAllSharedWorkers):
(WebCore::SharedWorkerContextManager::setConnection):
(WebCore::SharedWorkerContextManager::connection const):
(WebCore::SharedWorkerContextManager::registerSharedWorkerThread):
(WebCore::SharedWorkerContextManager::Connection::postConnectEvent):
(WebCore::SharedWorkerContextManager::Connection::terminateSharedWorker):
- workers/shared/context/SharedWorkerContextManager.h: Added.
(WebCore::SharedWorkerContextManager::Connection::~Connection):
(WebCore::SharedWorkerContextManager::Connection::isClosed const):
(WebCore::SharedWorkerContextManager::Connection::setAsClosed):
- workers/shared/context/SharedWorkerThreadProxy.cpp:
(WebCore::generateWorkerParameters):
(WebCore::SharedWorkerThreadProxy::SharedWorkerThreadProxy):
(WebCore::SharedWorkerThreadProxy::~SharedWorkerThreadProxy):
(WebCore::SharedWorkerThreadProxy::notifyNetworkStateChange):
(WebCore::SharedWorkerThreadProxy::postExceptionToWorkerObject):
(WebCore::SharedWorkerThreadProxy::createCacheStorageConnection):
(WebCore::SharedWorkerThreadProxy::createRTCDataChannelRemoteHandlerConnection):
(WebCore::SharedWorkerThreadProxy::postTaskToLoader):
(WebCore::SharedWorkerThreadProxy::postTaskForModeToWorkerOrWorkletGlobalScope):
(WebCore::SharedWorkerThreadProxy::networkStateChanged):
(WebCore::SharedWorkerThreadProxy::startWorkerGlobalScope): Deleted.
(WebCore::SharedWorkerThreadProxy::terminateWorkerGlobalScope): Deleted.
(WebCore::SharedWorkerThreadProxy::postMessageToWorkerGlobalScope): Deleted.
(WebCore::SharedWorkerThreadProxy::postTaskToWorkerGlobalScope): Deleted.
(WebCore::SharedWorkerThreadProxy::hasPendingActivity const): Deleted.
(WebCore::SharedWorkerThreadProxy::workerObjectDestroyed): Deleted.
(WebCore::SharedWorkerThreadProxy::suspendForBackForwardCache): Deleted.
(WebCore::SharedWorkerThreadProxy::resumeForBackForwardCache): Deleted.
(WebCore::SharedWorkerThreadProxy::workerGlobalScopeDestroyed): Deleted.
(WebCore::SharedWorkerThreadProxy::postMessageToWorkerObject): Deleted.
(WebCore::SharedWorkerThreadProxy::confirmMessageFromWorkerObject): Deleted.
(WebCore::SharedWorkerThreadProxy::reportPendingActivity): Deleted.
(WebCore::SharedWorkerThreadProxy::workerGlobalScopeDestroyedInternal): Deleted.
- workers/shared/context/SharedWorkerThreadProxy.h:
Source/WebKit:
Add support for sharing Shared Workers, including across WebProcesses. The architecture
is modeled after the one we use for Service Workers since they are very similar. I tried
sharing as much code as possible with Service Workers but some more work can probably be
done in this area.
With this change, shared workers should be mostly functional and spec compliant. However,
the feature remains disabled by default for now as there are still WPT tests failures I
need to investigate. Also, I need to implement a better process suspension logic on iOS
to replace the hack I added in this patch (to make the tests run reliably on iOS).
As with Service Workers, Shared Workers are partitioned by (Top Origin + Frame Origin)
for privacy reasons. This is achieved via the SharedWorkerKey object that we use as
HashMap key.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::m_schemeRegistry):
(WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::establishSharedWorkerContextConnection):
(WebKit::NetworkConnectionToWebProcess::establishSharedWorkerServerConnection):
(WebKit::NetworkConnectionToWebProcess::closeSharedWorkerContextConnection):
(WebKit::NetworkConnectionToWebProcess::unregisterSharedWorkerConnection):
(WebKit::NetworkConnectionToWebProcess::sharedWorkerServerToContextConnectionIsNoLongerNeeded):
(WebKit::NetworkConnectionToWebProcess::sharedWorkerConnection):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::ensureSharedWorkerServer):
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::sharedWorkerServer):
- NetworkProcess/SharedWorker/WebSharedWorker.cpp: Copied from Source/WebKit/WebProcess/Storage/WebSharedWorkerObjectConnection.cpp.
(WebKit::WebSharedWorker::WebSharedWorker):
(WebKit::WebSharedWorker::~WebSharedWorker):
(WebKit::WebSharedWorker::fromIdentifier):
(WebKit::WebSharedWorker::registrableDomain const):
- NetworkProcess/SharedWorker/WebSharedWorker.h: Added.
(WebKit::WebSharedWorker::identifier const):
(WebKit::WebSharedWorker::key const):
(WebKit::WebSharedWorker::workerOptions const):
(WebKit::WebSharedWorker::origin const):
(WebKit::WebSharedWorker::url const):
(WebKit::WebSharedWorker::sharedWorkerObjects):
(WebKit::WebSharedWorker::isRunning const):
(WebKit::WebSharedWorker::markAsRunning):
(WebKit::WebSharedWorker::fetchResult const):
(WebKit::WebSharedWorker::setFetchResult):
(WebKit::WebSharedWorker::didFinishFetching const):
- NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp: Added.
(WebKit::WebSharedWorkerServer::WebSharedWorkerServer):
(WebKit::WebSharedWorkerServer::sessionID):
(WebKit::WebSharedWorkerServer::requestSharedWorker):
(WebKit::WebSharedWorkerServer::didFinishFetchingSharedWorkerScript):
(WebKit::WebSharedWorkerServer::needsContextConnectionForRegistrableDomain const):
(WebKit::WebSharedWorkerServer::createContextConnection):
(WebKit::WebSharedWorkerServer::addContextConnection):
(WebKit::WebSharedWorkerServer::removeContextConnection):
(WebKit::WebSharedWorkerServer::contextConnectionCreated):
(WebKit::WebSharedWorkerServer::sharedWorkerObjectIsGoingAway):
(WebKit::WebSharedWorkerServer::shutDownSharedWorker):
(WebKit::WebSharedWorkerServer::addConnection):
(WebKit::WebSharedWorkerServer::removeConnection):
(WebKit::WebSharedWorkerServer::contextConnectionForRegistrableDomain const):
(WebKit::WebSharedWorkerServer::postExceptionToWorkerObject):
- NetworkProcess/SharedWorker/WebSharedWorkerServer.h: Added.
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.cpp: Added.
(WebKit::WebSharedWorkerServerConnection::WebSharedWorkerServerConnection):
(WebKit::WebSharedWorkerServerConnection::~WebSharedWorkerServerConnection):
(WebKit::WebSharedWorkerServerConnection::messageSenderConnection const):
(WebKit::WebSharedWorkerServerConnection::sessionID):
(WebKit::WebSharedWorkerServerConnection::session):
(WebKit::WebSharedWorkerServerConnection::requestSharedWorker):
(WebKit::WebSharedWorkerServerConnection::sharedWorkerObjectIsGoingAway):
(WebKit::WebSharedWorkerServerConnection::fetchScriptInClient):
(WebKit::WebSharedWorkerServerConnection::notifyWorkerObjectOfLoadCompletion):
(WebKit::WebSharedWorkerServerConnection::postExceptionToWorkerObject):
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h: Added.
(WebKit::WebSharedWorkerServerConnection::server):
(WebKit::WebSharedWorkerServerConnection::server const):
(WebKit::WebSharedWorkerServerConnection::webProcessIdentifier const):
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.messages.in: Added.
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp: Added.
(WebKit::WebSharedWorkerServerToContextConnection::WebSharedWorkerServerToContextConnection):
(WebKit::WebSharedWorkerServerToContextConnection::~WebSharedWorkerServerToContextConnection):
(WebKit::WebSharedWorkerServerToContextConnection::webProcessIdentifier const):
(WebKit::WebSharedWorkerServerToContextConnection::ipcConnection const):
(WebKit::WebSharedWorkerServerToContextConnection::messageSenderConnection const):
(WebKit::WebSharedWorkerServerToContextConnection::messageSenderDestinationID const):
(WebKit::WebSharedWorkerServerToContextConnection::connectionIsNoLongerNeeded):
(WebKit::WebSharedWorkerServerToContextConnection::postExceptionToWorkerObject):
(WebKit::WebSharedWorkerServerToContextConnection::launchSharedWorker):
(WebKit::WebSharedWorkerServerToContextConnection::postConnectEvent):
(WebKit::WebSharedWorkerServerToContextConnection::terminateSharedWorker):
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.h: Added.
- NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.messages.in: Added.
- Platform/Logging.h:
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
- Sources.txt:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::terminateUnresponsiveServiceWorkerProcesses):
(WebKit::NetworkProcessProxy::establishSharedWorkerContextConnectionToNetworkProcess):
(WebKit::NetworkProcessProxy::establishServiceWorkerContextConnectionToNetworkProcess):
(WebKit::NetworkProcessProxy::serviceWorkerContextConnectionNoLongerNeeded):
(WebKit::NetworkProcessProxy::sharedWorkerContextConnectionNoLongerNeeded):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setUserAgent):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishServiceWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::removeFromWorkerProcesses):
(WebKit::WebProcessPool::establishSharedWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::userContentControllerIdentifierForWorkers):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::updateWorkerUserAgent):
(WebKit::WebProcessPool::terminateServiceWorkers):
(WebKit::WebProcessPool::workerProcesses):
(WebKit::WebProcessPool::updateProcessAssertions):
(WebKit::WebProcessPool::isServiceWorkerPageID const):
(WebKit::WebProcessPool::serviceWorkerProxiesCount const):
(WebKit::WebProcessPool::hasServiceWorkerForegroundActivityForTesting const):
(WebKit::WebProcessPool::hasServiceWorkerBackgroundActivityForTesting const):
(WebKit::WebProcessPool::removeFromServiceWorkerProcesses): Deleted.
(WebKit::WebProcessPool::userContentControllerIdentifierForServiceWorkers): Deleted.
(WebKit::WebProcessPool::updateServiceWorkerUserAgent): Deleted.
(WebKit::WebProcessPool::serviceWorkerProcesses): Deleted.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createForWorkers):
(WebKit::WebProcessProxy::didBecomeUnresponsive):
(WebKit::WebProcessProxy::didStartProvisionalLoadForMainFrame):
(WebKit::WebProcessProxy::setWorkerUserAgent):
(WebKit::WebProcessProxy::updateWorkerPreferencesStore):
(WebKit::WebProcessProxy::updateWorkerProcessAssertion):
(WebKit::WebProcessProxy::establishSharedWorkerContext):
(WebKit::WebProcessProxy::registerServiceWorkerClientProcess):
(WebKit::WebProcessProxy::unregisterServiceWorkerClientProcess):
(WebKit::WebProcessProxy::startServiceWorkerBackgroundProcessing):
(WebKit::WebProcessProxy::endServiceWorkerBackgroundProcessing):
(WebKit::WebProcessProxy::disableWorkers):
(WebKit::WebProcessProxy::enableWorkers):
(WebKit::WebProcessProxy::createForServiceWorkers): Deleted.
(WebKit::WebProcessProxy::setServiceWorkerUserAgent): Deleted.
(WebKit::WebProcessProxy::updateServiceWorkerPreferencesStore): Deleted.
(WebKit::WebProcessProxy::updateServiceWorkerProcessAssertion): Deleted.
(WebKit::WebProcessProxy::disableServiceWorkers): Deleted.
(WebKit::WebProcessProxy::enableServiceWorkers): Deleted.
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::isRunningSharedWorkers const):
(WebKit::WebProcessProxy::isStandaloneSharedWorkerProcess const):
(WebKit::WebProcessProxy::isRunningWorkers const):
(WebKit::WebProcessProxy::hasServiceWorkerPageProxy):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
- WebProcess/Network/NetworkProcessConnection.h:
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp: Added.
(WebKit::WebSharedWorkerContextManagerConnection::WebSharedWorkerContextManagerConnection):
(WebKit::m_userContentController):
(WebKit::WebSharedWorkerContextManagerConnection::establishConnection):
(WebKit::WebSharedWorkerContextManagerConnection::postExceptionToWorkerObject):
(WebKit::WebSharedWorkerContextManagerConnection::updatePreferencesStore):
(WebKit::WebSharedWorkerContextManagerConnection::launchSharedWorker):
(WebKit::WebSharedWorkerContextManagerConnection::close):
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.h: Added.
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.messages.in: Added.
- WebProcess/Storage/WebSharedWorkerObjectConnection.cpp:
(WebKit::WebSharedWorkerObjectConnection::WebSharedWorkerObjectConnection):
(WebKit::WebSharedWorkerObjectConnection::~WebSharedWorkerObjectConnection):
(WebKit::WebSharedWorkerObjectConnection::requestSharedWorker):
(WebKit::WebSharedWorkerObjectConnection::sharedWorkerObjectIsGoingAway):
- WebProcess/Storage/WebSharedWorkerObjectConnection.h:
- WebProcess/Storage/WebSharedWorkerObjectConnection.messages.in: Added.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::establishSharedWorkerContextConnectionToNetworkProcess):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
LayoutTests:
Rebaseline existing WPT tests involving shared workers.
- TestExpectations:
- platform/gtk-wk2/imported/w3c/web-platform-tests/content-security-policy/inside-worker/sharedworker-connect-src.sub-expected.txt: Added.
- platform/gtk-wk2/imported/w3c/web-platform-tests/content-security-policy/inside-worker/sharedworker-report-only.sub-expected.txt: Added.
- platform/gtk-wk2/imported/w3c/web-platform-tests/content-security-policy/inside-worker/sharedworker-script-src.sub-expected.txt: Added.
- platform/gtk-wk2/imported/w3c/web-platform-tests/workers/modules/shared-worker-import-blob-url.window-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/modules/shared-worker-import-blob-url.window-expected.txt.
- platform/gtk-wk2/imported/w3c/web-platform-tests/workers/modules/shared-worker-import-data-url.window-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/modules/shared-worker-import-data-url.window-expected.txt.
- platform/gtk-wk2/imported/w3c/web-platform-tests/workers/modules/shared-worker-import.window-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/modules/shared-worker-import.window-expected.txt.
- platform/gtk-wk2/imported/w3c/web-platform-tests/workers/modules/shared-worker-options-credentials-expected.txt: Added.
- platform/gtk-wk2/imported/w3c/web-platform-tests/xhr/open-url-redirected-sharedworker-origin-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/xhr/open-url-redirected-sharedworker-origin-expected.txt.
- 3:17 PM Changeset in webkit [289246] by
-
- 13 edits in trunk/Source
Update hover state based on pointer type.
https://bugs.webkit.org/show_bug.cgi?id=236249
Reviewed by Tim Horton.
Source/WebCore:
- dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):
- dom/Element.cpp:
(WebCore::Element::setHovered):
- dom/Element.h:
- html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::setHovered):
- html/HTMLLabelElement.h:
- html/HTMLTextFormControlElement.cpp:
(WebCore::pointerTypeFromHitTestRequest):
(WebCore::showPlaceholderForPointer):
(WebCore::HTMLTextFormControlElement::setHovered):
(WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible const):
- html/HTMLTextFormControlElement.h:
- html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::setHovered):
- html/shadow/SpinButtonElement.h:
- page/EventHandler.cpp:
(addPointerTypeToHitTestRequest):
(WebCore::EventHandler::handleMouseMoveEvent):
Source/WebKit:
- UIProcess/ios/WKMouseGestureRecognizer.mm:
(pointerTypeForUITouchType):
(-[WKMouseGestureRecognizer createMouseEventWithType:wasCancelled:]):
(-[WKMouseGestureRecognizer checkTouches:]):
- 3:13 PM Changeset in webkit [289245] by
-
- 21 edits2 deletes in trunk
Unreviewed, reverting r289239.
https://bugs.webkit.org/show_bug.cgi?id=236264
broke builds on older internal SDKs
Reverted changeset:
"Add PushService"
https://bugs.webkit.org/show_bug.cgi?id=235857
https://commits.webkit.org/r289239
- 3:06 PM Changeset in webkit [289244] by
-
- 3 edits1 delete in trunk/LayoutTests
Unreviewed, rename test in TestExpectations to match the actual test name.
The test was likely renamed but TestExpectations were not updated accordingly.
As per the bots, the test is still flaky.
- TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio-lazy.tentative-expected.txt: Removed.
- 3:05 PM Changeset in webkit [289243] by
-
- 15 edits in trunk/Tools
[webkitbugspy] Assign and close issues
https://bugs.webkit.org/show_bug.cgi?id=235835
<rdar://problem/88203672>
Reviewed by Dewei Zhu.
Allow webkitbugspy to edit the assignee and open or close issues.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:
(Tracker.set): Send a put request to modify assignee or bug state.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.set): Send a patch request to modify assignee or bug state.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/issue.py:
(Issue.open): Re-open a closed issue, provide an optional reason.
(Issue.close): Close an open issue, with an optional reason.
(Issue.assign): Assign issue to the provided user, along with an optional reason.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/mocks/bugzilla.py:
(Bugzilla._issue): Edit mocked representation of an issue.
(Bugzilla.request): Handle put request modifying issue.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/mocks/github.py:
(GitHub._issue): Edit mocked representation of an issue.
(GitHub.request): Handle patch request modifying issue.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/mocks/radar.py:
(RadarModel.Person.init): Accept dictionary.
(RadarModel.init): Correct 'state' values, mock radar parameters.
(RadarModel.commit_changes): Modify assignee and state.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/radar.py:
(Priority): Add radar priority integers.
(Tracker.set): Modify assignee and state.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/bugzilla_unittest.py:
(TestBugzilla.test_assign):
(TestBugzilla.test_assign_why):
(TestBugzilla.test_state):
(TestBugzilla.test_state_why):
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/github_unittest.py:
(TestGitHub.test_assign):
(TestGitHub.test_assign_why):
(TestGitHub.test_state):
(TestGitHub.test_state_why):
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/radar_unittest.py:
(TestRadar.test_assign):
(TestRadar.test_assign_why):
(TestRadar.test_state):
(TestRadar.test_state_why):
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tracker.py:
(Tracker.set): Generic API for Issues to modify their representation in their
respective tracker.
Canonical link: https://commits.webkit.org/246927@main
- 3:03 PM Changeset in webkit [289242] by
-
- 2 edits in trunk/Source/WebKit
Improve fullscreen transition when going to/from fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236058
rdar://88415100
Reviewed by Dean Jackson.
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]):
- 2:27 PM Changeset in webkit [289241] by
-
- 4 edits2 adds in trunk
Updating grid gap value does not recalculate styles
https://bugs.webkit.org/show_bug.cgi?id=233252
<rdar://problem/85727334>
Reviewed by Simon Fraser.
Source/WebCore:
Both column and row gap style value change need to initiate layout in order to update their geometries.
Test: fast/dynamic/gap-style-change-should-initiate-layout.html
- rendering/style/RenderStyle.cpp:
(WebCore::rareNonInheritedDataChangeRequiresLayout):
LayoutTests:
- fast/dynamic/gap-style-change-should-initiate-layout-expected.html: Added.
- fast/dynamic/gap-style-change-should-initiate-layout.html: Added.
- 2:26 PM Changeset in webkit [289240] by
-
- 14 edits in trunk
Tidy up some ImageBuffer-related classes
https://bugs.webkit.org/show_bug.cgi?id=236170
Reviewed by Darin Adler.
Source/WebCore:
Remove some forward declarations in ImageBuffer.h unused by ImageBuffer.
DisplayList::ImageBuffer can be final.
ImageBufferCGBitmapBackend can be final.
No need to WEBCORE_EXPORT ImageBufferCGBitmapBackend functions now that TestWebKitAPI
is using ImageBuffer functions.
- html/canvas/CanvasRenderingContext2DBase.h:
- platform/graphics/ImageBuffer.h:
- platform/graphics/cg/ImageBufferCGBitmapBackend.h:
- platform/graphics/displaylists/DisplayListImageBuffer.h:
(WebCore::DisplayList::ImageBuffer::create): Deleted.
(WebCore::DisplayList::ImageBuffer::ImageBuffer): Deleted.
(WebCore::DisplayList::ImageBuffer::~ImageBuffer): Deleted.
Source/WebKit:
CGDisplayListImageBufferBackend can be final.
ImageBufferShareableBitmapBackend can be final.
Functions on ImageBufferShareableIOSurfaceBackend can be final.
- Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h:
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
(WebKit::ImageBufferShareableBitmapBackend::setOwnershipIdentity): Deleted.
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h:
Tools:
ImageBufferTests should use the functions on ImageBuffer, not WebCore-internal
classes.
- TestWebKitAPI/Tests/WebCore/ImageBufferTests.cpp:
(TestWebKitAPI::TEST):
- 2:07 PM Changeset in webkit [289239] by
-
- 21 edits2 adds in trunk
Add PushService
https://bugs.webkit.org/show_bug.cgi?id=235857
Reviewed by Brady Eidson.
Source/WebKit:
This adds PushService to webpushd. It handles requests to create, remove, and get push
subscriptions. It also decrypts incoming pushes and pass them back to the UI process via the
existing machinery in WebPushDaemon.
PushService primarily interacts with two objects:
- PushServiceConnection: this creates and removes push subscriptions from the push server. It also receives incoming pushes from the push server.
- PushDatabase: this persists push subscriptions to disk.
Several things are not yet implemented; for instance, we currently always grant a page the
permission to receive pushes. This will be fixed in future patches.
Covered by new API tests. The current tests use a MockPushServiceConnection that vends
subscription with fixed data, but this can be improved in the future.
- Shared/API/Cocoa/WKMain.h:
- Shared/API/Cocoa/WKMain.mm:
(WKWebPushDaemonMain):
- Shared/Cocoa/WebPushMessageCocoa.mm: add ability to distinguish between an empty vs. null payload.
(WebKit::WebPushMessage::fromDictionary):
(WebKit::WebPushMessage::toDictionary const):
- Shared/WebPushDaemonConstants.h:
(WebKit::WebPushD::messageTypeSendsReply):
- Shared/WebPushMessage.h:
(WebKit::WebPushMessage::decode):
- WebKit.xcodeproj/project.pbxproj:
- webpushd/MockPushServiceConnection.h:
- webpushd/MockPushServiceConnection.mm:
(WebPushD::MockPushServiceConnection::generateClientKeys):
(WebPushD::MockPushServiceConnection::subscribe):
(WebPushD::MockPushServiceConnection::unsubscribe):
- webpushd/PushService.h: Added.
(WebPushD::PushService::connection):
(WebPushD::PushService::database):
(WebPushD::PushService::didReceivePushMessage):
- webpushd/PushService.mm: Added.
(WebPushD::updateTopicLists):
(WebPushD::PushService::create):
(WebPushD::PushService::createMockService):
(WebPushD::PushService::PushService):
(WebPushD::makePushSubscriptionFromRecord):
(WebPushD::makePushTopic):
(WebPushD::PushServiceRequest::bundleIdentifier):
(WebPushD::PushServiceRequest::scope):
(WebPushD::PushServiceRequest::PushServiceRequest):
(WebPushD::PushServiceRequestImpl::PushServiceRequestImpl):
(WebPushD::PushServiceRequestImpl::fulfill):
(WebPushD::PushServiceRequestImpl::reject):
(WebPushD::GetSubscriptionRequest::GetSubscriptionRequest):
(WebPushD::GetSubscriptionRequest::startInternal):
(WebPushD::SubscribeRequest::SubscribeRequest):
(WebPushD::SubscribeRequest::startImpl):
(WebPushD::SubscribeRequest::attemptToRecoverFromTopicAlreadyInFilterError):
(WebPushD::UnsubscribeRequest::UnsubscribeRequest):
(WebPushD::UnsubscribeRequest::startInternal):
(WebPushD::PushService::enqueuePushServiceRequest):
(WebPushD::PushService::finishedPushServiceRequest):
(WebPushD::PushService::getSubscription):
(WebPushD::PushService::didCompleteGetSubscriptionRequest):
(WebPushD::PushService::subscribe):
(WebPushD::PushService::didCompleteSubscribeRequest):
(WebPushD::PushService::unsubscribe):
(WebPushD::PushService::didCompleteUnsubscribeRequest):
(WebPushD::makeRawPushMessage):
(WebPushD::PushService::didReceivePushMessage):
- webpushd/PushServiceConnection.h:
- webpushd/PushServiceConnection.mm:
(WebPushD::PushServiceConnection::generateClientKeys):
- webpushd/WebPushDaemon.h:
- webpushd/WebPushDaemon.mm:
(WebPushD::MessageInfo::injectEncryptedPushMessageForTesting::encodeReply):
(WebPushD::Daemon::startMockPushService):
(WebPushD::Daemon::startPushService):
(WebPushD::Daemon::setPushService):
(WebPushD::Daemon::runAfterStartingPushService):
(WebPushD::Daemon::decodeAndHandleMessage):
(WebPushD::Daemon::injectEncryptedPushMessageForTesting):
(WebPushD::Daemon::handleIncomingPush):
(WebPushD::Daemon::getPendingPushMessages):
(WebPushD::Daemon::subscribeToPushService):
(WebPushD::Daemon::unsubscribeFromPushService):
(WebPushD::Daemon::getPushSubscription):
(WebPushD::Daemon::getPushPermissionState):
- webpushd/WebPushDaemonMain.h:
- webpushd/WebPushDaemonMain.mm:
(WebKit::WebPushDaemonMain):
- webpushd/com.apple.webkit.webpushd.mac.plist:
- webpushd/webpushd.cpp:
(main):
Source/WTF:
Add PushAPIEnabled to WebKitLegacy so we can enable it on in API tests via _WKExperimentalFeature.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
Tools:
- Modifed the existing injected push test to inject different types of real push objects from APS (an empty push, an aesgcm-encrypted push, and an aes128gcm-encrypted push).
- Add a few basic test cases for subscribing and unsubscribing from push.
- TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
(-[NotificationScriptMessageHandler setMessageHandler:]):
(-[NotificationScriptMessageHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::testWebPushDaemonPList):
(TestWebKitAPI::createMessageDictionary):
(TestWebKitAPI::sendMessageToDaemon):
(TestWebKitAPI::sendMessageToDaemonWaitingForReply):
(TestWebKitAPI::sendConfigurationWithAuditToken):
(TestWebKitAPI::TEST):
(TestWebKitAPI::function): Deleted.
- 1:19 PM Changeset in webkit [289238] by
-
- 11 edits3 adds in trunk
AX: The isolated tree needs to fix-up table cell parent relationships
https://bugs.webkit.org/show_bug.cgi?id=236156
Reviewed by Chris Fleizach.
Source/WebCore:
Tables are not very navigable by AX clients in isolated tree mode.
This is because our current representation of table elements doesn't
perfectly follow the normal parent-child relationship of other elements,
i.e. some non-row elements can return cells from children(), but the cells
must regard their row as the "real" parent.
We've had to work around this in the live tree in AccessibilityObject::insertChild, too:
In this patch, when creating an isolated object, we override the "assumed" parent ID
to the correct parent ID for cell-like elements.
Test: accessibility/table-search-traversal.html
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::parentIDForObject):
Added.
(WebCore::AXIsolatedTree::nodeChangeForObject):
Call parentIDForObject to determine the correct parent for the
to-be-created isolated object.
- accessibility/isolatedtree/AXIsolatedTree.h:
Tools:
Add AccessibilityUIElement::role implementation for use in new
accessibility/table-search-traversal.html test.
- DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::role):
Added implementation.
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::role):
Added implementation.
LayoutTests:
Add test verifying the the new, more correct isolated tree behavior.
- platform/glib/TestExpectations:
- platform/win/TestExpectations:
Skip new accessibility/table-search-traversal.html test due to
missing AccessibilityUIElement::uiElementForSearchPredicate implementation.
- platform/ios/TestExpectations:
Enable new accessibility/table-search-traversal.html test.
- accessibility/table-search-traversal.html: Added.
- platform/ios/accessibility/table-search-traversal-expected.txt: Added.
- platform/mac/accessibility/table-search-traversal-expected.txt: Added.
- platform/ios/imported/blink/accessibility/link-inside-label-expected.txt:
This patch implements AccessibilityUIElement::role on iOS, which
changes this test's output (in a positive way).
- 12:18 PM Changeset in webkit [289237] by
-
- 12 edits in trunk/Source
Add PageClient plumbing for video frame extraction
https://bugs.webkit.org/show_bug.cgi?id=236100
rdar://86237608
Reviewed by Eric Carlson.
Source/WebCore:
Add a method to grab the AVPlayerViewController from a VideoFullscreenInterfaceAVKit. See WebKit/ChangeLog for
more details.
- platform/ios/VideoFullscreenInterfaceAVKit.h:
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerViewController avPlayerViewController]):
(VideoFullscreenInterfaceAVKit::avPlayerViewController const):
Source/WebKit:
Finish off support for fullscreen video extraction by adding a new iOS PageClient hook, and calling into it
after grabbing a video frame from the GPU process when the video extraction timer fires.
- UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::findInterface const):
(WebKit::VideoFullscreenManagerProxy::playerViewController const):
(WebKit::VideoFullscreenManagerProxy::findInterface): Deleted.
Mark this method as
const, so that we can invoke it fromVideoFullscreenManagerProxy::playerViewController.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::updateFullscreenVideoExtraction):
(WebKit::WebPageProxy::fullscreenVideoExtractionTimerFired):
Request video frame data from the GPU process and hand it over to the page client along with the
AVPlayerViewController corresponding to the current fullscreen video.
- UIProcess/PageClient.h:
(WebKit::PageClient::isFullscreenVideoExtractionEnabled const):
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::beginFullscreenVideoExtraction):
(WebKit::PageClientImpl::cancelFullscreenVideoExtraction):
(WebKit::PageClientImpl::isFullscreenVideoExtractionEnabled const):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
Add a new WebKitAdditions extension point that contains the implementations of the three methods below; when
compiling without WebKitAdditions, we simply stub out these methods.
(-[WKContentView beginFullscreenVideoExtraction:playerViewController:]):
(-[WKContentView cancelFullscreenVideoExtraction:]):
(-[WKContentView isFullscreenVideoExtractionEnabled]):
- 11:57 AM Changeset in webkit [289236] by
-
- 4 edits in trunk
WorkerGlobalScope.importScripts() should protect blob urls that were passed in until the imports are done
https://bugs.webkit.org/show_bug.cgi?id=236168
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline WPT test that is now passing.
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/blob-url.worker-expected.txt:
Source/WebCore:
No new tests, rebaselined existing test.
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::importScripts):
- 11:42 AM Changeset in webkit [289235] by
-
- 4 edits in trunk/Source
[model] improve sizing on iOS
https://bugs.webkit.org/show_bug.cgi?id=236234
<rdar://problem/88569898>
Reviewed by Darin Adler.
Source/WebCore/PAL:
Add newly-used -[ASVInlinePreview setFrameWithinFencedTransaction:] SPI on iOS.
- pal/spi/ios/SystemPreviewSPI.h:
Source/WebKit:
We must install the fence and invalidate it on the main queue and call
-[ASVInlinePreview setFrameWithinFencedTransaction:] to complete the
resizing process on iOS.
- UIProcess/ios/WKModelView.mm:
(-[WKModelView updateBounds]):
- 11:36 AM Changeset in webkit [289234] by
-
- 4 edits in trunk/LayoutTests
[css-logical] css/css-logical/animation-003.tentative is no longer a failure
https://bugs.webkit.org/show_bug.cgi?id=236242
Unreviewed test gardening following a likely progression with bug 218092.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-logical/animation-003.tentative-expected.txt:
LayoutTests:
- 10:44 AM Changeset in webkit [289233] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Enable sandbox state rules for Mach messages
https://bugs.webkit.org/show_bug.cgi?id=236027
<rdar://problem/88387937>
Reviewed by Brent Fulgham.
Until <rdar://85931614> has been fixed, we can enable sandbox state rules for Mach messages with a minor workaround.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 10:26 AM Changeset in webkit [289232] by
-
- 3 edits in trunk/Source/WebKit
Setup alternate mouse gesture recognizer.
https://bugs.webkit.org/show_bug.cgi?id=236127
Reviewed by Tim Horton.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(shouldEnableAlternativeMouseGestureRecognizers):
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
(-[WKContentView deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:]):
(-[WKContentView setUpMouseGestureRecognizer]):
(-[WKContentView _configureMouseGestureRecognizer]):
- 10:20 AM Changeset in webkit [289231] by
-
- 5 edits in trunk/Source/WebKit
Remove cfprefs shmem access
https://bugs.webkit.org/show_bug.cgi?id=231068
<rdar://73520381>
Reviewed by Brent Fulgham.
After enabling CFPrefs direct mode, we can remove cfprefs shmem access.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 10:16 AM Changeset in webkit [289230] by
-
- 2 edits in trunk/Websites/webkit.org
Unreviewed, make <dialog> demos dark theme work in iframes
Add rules for <body>.
- demos/dialog-element/dark-theme.css:
(@media (prefers-color-scheme: dark) body):
- 10:04 AM Changeset in webkit [289229] by
-
- 1 copy in branches/safari-614.1.3-branch
New branch.
- 10:02 AM Changeset in webkit [289228] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.4
- 10:00 AM Changeset in webkit [289227] by
-
- 8 edits in trunk/Source/WebCore
Move DocumentTimeline::runningAnimationsForRendererAreAllAccelerated() to Styleable
https://bugs.webkit.org/show_bug.cgi?id=236239
Reviewed by Dean Jackson.
This method has nothing to do with DocumentTimeline and everything to do with Styleable and its associated
effect stack. This also allows us to remove WebAnimation::isRunningAccelerated() since we don't need to go
through the animation as we iterate over keyframe effects directly.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::runningAnimationsForRendererAreAllAccelerated const): Deleted.
- animation/DocumentTimeline.h:
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::isRunningAccelerated const): Deleted.
- animation/WebAnimation.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::hasRunningAcceleratedAnimations const):
- style/Styleable.cpp:
(WebCore::Styleable::runningAnimationsAreAllAccelerated const):
- style/Styleable.h:
- 9:46 AM Changeset in webkit [289226] by
-
- 6 edits in trunk
[css-logical] [web-animations] changing direction or writing-mode should clear computed keyframes
https://bugs.webkit.org/show_bug.cgi?id=236241
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark WPT progressions.
- web-platform-tests/css/css-logical/animation-001-expected.txt:
Source/WebCore:
Any time the "direction" or "writing-mode" property changes, we must clear the computed keyframes
as we should re-resolve any logical properties used on the source keyframes.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::propertyAffectingLogicalPropertiesDidChange):
- animation/KeyframeEffect.h:
- animation/KeyframeEffectStack.cpp:
(WebCore::KeyframeEffectStack::applyKeyframeEffects):
- 9:35 AM Changeset in webkit [289225] by
-
- 12 edits in trunk/Source/WebCore
Remove unnecessary DocumentTimeline.h includes
https://bugs.webkit.org/show_bug.cgi?id=236236
Reviewed by Dean Jackson.
- css/CSSComputedStyleDeclaration.cpp:
- dom/Element.cpp:
- dom/PseudoElement.cpp:
- history/CachedFrame.cpp:
- page/Frame.cpp:
- page/Page.cpp:
- rendering/RenderElement.cpp:
- rendering/RenderLayer.cpp:
- rendering/RenderLayerBacking.cpp:
- rendering/updating/RenderTreeUpdater.cpp:
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
- 9:33 AM Changeset in webkit [289224] by
-
- 2 edits in trunk/LayoutTests
[GTK] Remove failure expections for newly passing tests. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=236243
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-02-07
- platform/gtk/TestExpectations:
- 9:01 AM Changeset in webkit [289223] by
-
- 12 edits in trunk/Source
[WebXR] Handle updating session visibility state from PlatformXRCoordinator
https://bugs.webkit.org/show_bug.cgi?id=236150
Patch by Ada Chan <ada.chan@apple.com> on 2022-02-07
Reviewed by Dean Jackson.
Source/WebCore:
Add EnumTraits for PlatformXR::VisibilityState
- platform/xr/PlatformXR.h:
Source/WebKit:
Add plumbing to allow PlatformXRCoordinator to communicate session visibility
state changes to XRDeviceProxy.
- Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
(headers_for_type):
- Shared/XR/XRDeviceProxy.cpp:
(WebKit::XRDeviceProxy::updateSessionVisibilityState):
Notify the PlatformXR::TrackingAndRenderingClient about the visibility state change.
- Shared/XR/XRDeviceProxy.h:
- UIProcess/XR/PlatformXRCoordinator.h:
Introduce a new protocol for PlatformXRCoordinator to communicate back
to PlatformXRSystem. This protocol so far has methods for notifying the
end of a session and visibility state changes in the session.
- UIProcess/XR/PlatformXRSystem.cpp:
(WebKit::PlatformXRSystem::initializeTrackingAndRendering):
startSession() now takes in the PlatformXRSystem instance as it now implements
SessionEventClient.
(WebKit::PlatformXRSystem::sessionDidEnd):
(WebKit::PlatformXRSystem::sessionDidUpdateVisibilityState):
- UIProcess/XR/PlatformXRSystem.h:
- WebProcess/XR/PlatformXRSystemProxy.cpp:
(WebKit::PlatformXRSystemProxy::sessionDidUpdateVisibilityState):
- WebProcess/XR/PlatformXRSystemProxy.h:
- WebProcess/XR/PlatformXRSystemProxy.messages.in:
- 8:21 AM Changeset in webkit [289222] by
-
- 37 edits2 adds in trunk
[CSS Container Queries] Add ContainerQueryEvaluator
https://bugs.webkit.org/show_bug.cgi?id=236096
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/animation-container-type-dynamic-expected.txt:
- web-platform-tests/css/css-contain/container-queries/animation-nested-animation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/animation-nested-transition-expected.txt:
- web-platform-tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
- web-platform-tests/css/css-contain/container-queries/auto-scrollbars-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom.tentative-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-name-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-size-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/display-contents-expected.txt:
- web-platform-tests/css/css-contain/container-queries/display-none-expected.txt:
- web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt:
- web-platform-tests/css/css-contain/container-queries/font-relative-units-expected.txt:
- web-platform-tests/css/css-contain/container-queries/get-animations-expected.txt:
- web-platform-tests/css/css-contain/container-queries/iframe-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/inline-size-containment-expected.txt:
- web-platform-tests/css/css-contain/container-queries/inline-size-containment-vertical-rl-expected.txt:
- web-platform-tests/css/css-contain/container-queries/orthogonal-wm-container-query-expected.txt:
- web-platform-tests/css/css-contain/container-queries/percentage-padding-orthogonal-expected.txt:
- web-platform-tests/css/css-contain/container-queries/query-content-box-expected.txt:
- web-platform-tests/css/css-contain/container-queries/query-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/reattach-container-with-dirty-child-expected.txt:
- web-platform-tests/css/css-contain/container-queries/size-container-no-principal-box-expected.txt:
- web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/top-layer-dialog-expected.txt:
- web-platform-tests/css/css-contain/container-queries/top-layer-nested-dialog-expected.txt:
- web-platform-tests/css/css-contain/container-queries/transition-scrollbars-expected.txt:
- web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
- web-platform-tests/css/css-contain/container-queries/viewport-units-expected.txt:
Source/WebCore:
Add ContainerQueryEvaluator. Initially it evaluates simple min/max-width/height queries.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- style/ContainerQueryEvaluator.h: Added.
- style/ContainerQueryEvaluator.cpp: Added.
(WebCore::Style::ContainerQueryEvaluator::ContainerQueryEvaluator):
(WebCore::Style::computeLength):
(WebCore::Style::ContainerQueryEvaluator::evaluate const):
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::containerQueryMatches):
Start to actually evaluate container queries.
LayoutTests:
- 8:01 AM Changeset in webkit [289221] by
-
- 10 edits in trunk/Source/WebKit
Add a helper method on VideoFullscreenManagerProxy to request video frame data
https://bugs.webkit.org/show_bug.cgi?id=236094
Reviewed by Darin Adler.
Add a helper method on VideoFullscreenManagerProxy to asynchronously grab an image bitmap for the fullscreen
video corresponding to the given PlaybackSessionContextIdentifier, by sending IPC to the GPU process. This
mechanism will be used in a subsequent patch to support "fullscreen video extraction", which involves capturing
image data for paused, fullscreen videos.
See below for more details.
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::requestBitmapImageForCurrentTime):
- GPUProcess/GPUProcess.h:
- GPUProcess/GPUProcess.messages.in:
- GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::bitmapImageForCurrentTime):
- GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::requestBitmapImageForCurrentTime):
Map the given PlaybackSessionContextIdentifier to a MediaPlayerIdentifier, and then send the (web process ID,
media player ID) identifier pair to the GPU process to request frame data for the given media player.
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::requestBitmapImageForCurrentTime):
- UIProcess/GPU/GPUProcessProxy.h:
- 7:40 AM Changeset in webkit [289220] by
-
- 2 edits in trunk/Source/WebCore
Improve DocumentTimeline::animationCanBeRemoved()
https://bugs.webkit.org/show_bug.cgi?id=236230
Reviewed by Dean Jackson.
While fixing bug 236229, it appeared that DocumentTimeline::animationCanBeRemoved() could be improved while
creating the "animations" list:
- the name should make it clear that the purpose here is to create a list of animations that are protected since otherwise we wouldn't need that specific loop and could just run the code below directly,
- calling isRelevant() on the effect's animation is redundant since animations are guaranteed to be relevant if found within the effect stack,
- since we now know that we would add all animations associated with an effect in the effect stack, we could use Vector::map() to create the list since the lengths would match.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animationCanBeRemoved):
- 7:30 AM Changeset in webkit [289219] by
-
- 7 edits in trunk/Source/WebCore
Fix some compilation warnings coming from unhandled execution paths for unexpected enum values
https://bugs.webkit.org/show_bug.cgi?id=236228
Reviewed by Darin Adler.
No new tests. This should not change behavior.
- animation/CompositeOperationOrAuto.h:
(WebCore::toCompositeOperationOrAuto):
- bindings/js/JSCSSStyleValueCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSCSSTransformComponentCustom.cpp:
(WebCore::toJSNewlyCreated):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForAnimationComposition):
- css/CSSUnits.cpp:
(WebCore::unitCategory):
(WebCore::canonicalUnitTypeForCategory):
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::receiverCapabilities):
(WebCore::LibWebRTCProvider::senderCapabilities):
- 7:27 AM Changeset in webkit [289218] by
-
- 2 edits in trunk
[CMake] REGRESSION(r288994): Linker does not get passed --disable-new-dtags
https://bugs.webkit.org/show_bug.cgi?id=236205
Reviewed by Darin Adler.
- Source/cmake/OptionsCommon.cmake: Arrange passing --disable-new-dtags to linkers that
are known to support the option. While at it, reorganize a bit how detected linker/archiver
features are printed out for better readability.
- 7:22 AM Changeset in webkit [289217] by
-
- 2 edits in trunk/Tools
[webkitcorepy] Autoinstaller may fail to install wheels
https://bugs.webkit.org/show_bug.cgi?id=236174
Reviewed by Jonathan Bedard.
Upgrading
packagingmodule autoinstalls abi3 universal2 wheel
distributions that were previously being skipped.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py:
- 7:10 AM Changeset in webkit [289216] by
-
- 7 edits in trunk
[css-logical] [web-animations] Add support for logical properties in JS-originated animations
https://bugs.webkit.org/show_bug.cgi?id=236229
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark WPT progressions.
- web-platform-tests/css/css-logical/animation-001-expected.txt:
- web-platform-tests/web-animations/interfaces/Animation/commitStyles-expected.txt:
- web-platform-tests/web-animations/timing-model/timelines/update-and-send-events-replacement-expected.txt:
Source/WebCore:
We need to resolve logical properties when parsing keyframes provided by the Web Animations bindings
and when considering whether an animation can be removed based on properties found on the effect stack.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animationCanBeRemoved):
- animation/KeyframeEffect.cpp:
(WebCore::processKeyframeLikeObject):
- 6:48 AM Changeset in webkit [289215] by
-
- 2 edits in trunk/Source/WebCore
Remove RenderObject::documentTimeline()
https://bugs.webkit.org/show_bug.cgi?id=236225
Reviewed by Dean Jackson.
Following some recent DocumentTimeline / Styleable refactoring (see bugs
236176, 236204 and 236224), this method is no longer in use.
- rendering/RenderObject.h:
(WebCore::RenderObject::documentTimeline const): Deleted.
- 6:45 AM Changeset in webkit [289214] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] WritingMode::LeftToRight expects line content flipped within the line
https://bugs.webkit.org/show_bug.cgi?id=236207
Reviewed by Antti Koivisto.
Vertical writing mode requires to
- flip the line coordinate inside the block
- but also to flip the content coordinate inside the line box, where vertical-lr expects the content top (which turns into the visual left) to be relative to the bottom of the line.
In this patch we decouple the line and the line content flipping logic. It helps to reason about the
type of coordinate translations at different levels (line inside the block and content inside the line).
This patch fixes the vertical-align tests under imported/w3c/web-platform-tests/css/css-writing-modes.
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::flipLogicalRectToVisualForWritingModeWithinLine const):
(WebCore::Layout::InlineDisplayContentBuilder::flipLogicalRectToVisualForWritingMode): Deleted.
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::InlineDisplayLineBuilder::build const):
(WebCore::Layout::InlineDisplayLineBuilder::flipLogicalLineRectToVisualForWritingMode const):
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.h:
- 6:23 AM Changeset in webkit [289213] by
-
- 2 edits in trunk/Source/WebCore
[LBSE] Introduce RenderSVGModelObject aware geometry-query helpers in RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=236184
Reviewed by Rob Buis.
Let clippingLayerBox() take a RenderLayerModelObject instead of a RenderBox, to
allow for a RenderSVGModelObject specific implementation. Furthermore, introduce
rendererBorderBoxRect(), which can be used instead of renderBox()->borderBoxRect()
to query geometry in the CSS coordinate system. RenderSVGModelObject specifically offers
a 'borderBoxRectEquivalent()' method, returning SVG geometry information in the desired
CSS coordinate system - which is expected in the layer/compositing subsystem.
Covered by existing tests, no change in behaviour.
- rendering/RenderLayerBacking.cpp:
(WebCore::rendererBorderBoxRect):
(WebCore::clippingLayerBox):
(WebCore::RenderLayerBacking::updateChildrenTransformAndAnchorPoint):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::offsetRelativeToRendererOriginForDescendantLayers const):
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::transformMatrixForProperty const):
- 6:06 AM Changeset in webkit [289212] by
-
- 7 edits in trunk/Source/WebCore
Refactor DocumentTimeline::isRunningAcceleratedAnimationOnRenderer() into a Styleable method
https://bugs.webkit.org/show_bug.cgi?id=236224
Reviewed by Dean Jackson.
This method has nothing to do with DocumentTimeline, so let's instead expose it on Styleable.
While we're at it, since it's only ever called with CSSPropertyTransform as a parameter, let's
make it specific to that property.
Next, we'll make that method account for other transform-related properties in bug 236019.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::isRunningAcceleratedAnimationOnRenderer const): Deleted.
- animation/DocumentTimeline.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::currentTransform const):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
- style/Styleable.cpp:
(WebCore::Styleable::isRunningAcceleratedTransformAnimation const):
- style/Styleable.h:
- 5:57 AM Changeset in webkit [289211] by
-
- 11 edits3 adds2 deletes in trunk
[Web Animations] Starting a transform animation with a 1ms delay doesn't run it accelerated
https://bugs.webkit.org/show_bug.cgi?id=236080
<rdar://problem/88432373>
Reviewed by Dean Jackson.
Source/WebCore:
Accelerated animations can only be started if the keyframe effect's renderer is composited.
Keyframe effects enqueue a list of accelerated actions (play, pause, seek, stop, etc.) when
they can be accelerated, and these actions are performed in sync as the document timeline
is finishing up its "update animations and send events" procedure as we update the page
rendering.
When an animation is started _without_ a delay, the machinery to consider making a renderer
composited happens _before_ we update animations and send events, and since at this stage the
new animation's effect is already in its target's effect stack because it is immediately
"relevant" (per the Web Animations terminology) and targets a property that can be accelerated,
its renderer is indeed composited.
Thus by the time we consider starting this animation's effect with acceleration, it is in a
condition to do so since its renderer is already composited.
However, when an animation is started _with_ a delay, it is not immediately "relevant" and thus
won't appear in its target's effect stack. That will happen once we run the "update animations
and send events procedure" the next time we update the page rendering. But before that, the
effect's renderer will be considered to be made composited and _will not_ be because at this
point there is no effect animating a property that can be accelerated.
As we eventually run the "update animations and send events" procedure, we'll enqueue an
accelerated action to play the animation now that it became relevant, and when that procedure
completes and we try to apply that accelerated action, we'll fail to start an accelerated
animation since the renderer is not composited.
To address this, we only enqueue accelerated actions when the renderer is composited, thus
matching the condition to actually be able to apply this action.
This means we no longer need the animationDidPlay() on effects since we wouldn't be able to
honor enqueuing a "play" accelerated action since the renderer won't be composited yet at this
time in the vast majority of cases.
Test: webanimations/transform-animation-with-delay-yields-accelerated-animation.html
- animation/AnimationEffect.h:
(WebCore::AnimationEffect::animationDidTick):
(WebCore::AnimationEffect::animationDidPlay): Deleted.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::updateAcceleratedActions):
(WebCore::KeyframeEffect::animationDidPlay): Deleted.
- animation/KeyframeEffect.h:
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::play):
- animation/AnimationEffect.h:
(WebCore::AnimationEffect::animationDidTick):
(WebCore::AnimationEffect::animationDidPlay): Deleted.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::updateAcceleratedActions):
(WebCore::KeyframeEffect::animationDidPlay): Deleted.
- animation/KeyframeEffect.h:
(WebCore::KeyframeEffect::isAboutToRunAccelerated const):
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::play):
LayoutTests:
Add a test that runs a "transform" animation with a small delay and checks that it yielded
an accelerated animation. We also rewrite some existing tests to use internals.acceleratedAnimationsForElement()
since relying on a layer tree dump was not reliable, which also resolves some platform-specific
issues.
- platform/glib/TestExpectations:
- platform/gtk/webanimations/partly-accelerated-transition-by-removing-property-expected.txt: Removed.
- platform/mac-wk1/webanimations/partly-accelerated-transition-by-removing-property-expected.txt: Removed.
- platform/win/TestExpectations:
- webanimations/accelerated-css-transition-with-easing-y-axis-above-1.html: Make sure overflow doesn't cause an image failure.
- webanimations/partly-accelerated-transition-by-removing-property-expected.txt:
- webanimations/partly-accelerated-transition-by-removing-property.html: Rewrite test to check on the accelerated
animation count and ensure the element is already composited to make the test work on WK1 and GTK.
- webanimations/resources/request-frames-until-true.js: Added.
(const.requestFramesUntilTrue.async resolveCondition):
- webanimations/transform-animation-with-delay-yields-accelerated-animation-expected.txt: Added.
- webanimations/transform-animation-with-delay-yields-accelerated-animation.html: Added.
- 5:53 AM Changeset in webkit [289210] by
-
- 7 edits1 copy in trunk/Source/WebCore
[LBSE] Generalize RenderLayer::renderBoxLocation(), adding support for SVG layers
https://bugs.webkit.org/show_bug.cgi?id=236186
Reviewed by Rob Buis.
The layer-aware RenderSVGModelObject exposes a 'layoutLocation()' method which mimics
the CSS 'location()' of a RenderBox -- the layout procedure itself takes care of
computing these quantities in the correct CSS coordinate system. Therefore, in
RenderLayer we can use RenderSVGModelObject layoutLocation() as drop-in replacment
for the location() method of a RenderBox when handling SVG primitives, while
keeping the rest of RenderLayer as much "SVG unaware" as possible.
renderBoxLocation() is renamed to rendererLocation() and extended to support
RenderSVGModelObject. To keep rendererLocation() inline, RenderLayer needs to
include RenderSVGModelObject, which currently includes the RenderLayer header.
Fix that, by including RenderBox.h and inlining the 'element()' function, in
RenderSVGModelObjectInlines.h - in the same spirit as RenderSVGShapeInlines.h.
Covered by existing tests, no change in behaviour.
- Headers.cmake: Add new PrivateHeaders: RenderSVGModelObject.h / SVGBoundingBoxComputation.h / SVGRenderSupport.h.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintChildClippingMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::collectEventRegionForFragments):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestContents const):
- rendering/RenderLayer.h:
(WebCore::RenderLayer::rendererLocation const):
(WebCore::RenderLayer::renderBoxLocation const): Deleted.
- rendering/svg/RenderSVGModelObject.h:
(WebCore::RenderSVGModelObject::element const): Deleted.
- rendering/svg/RenderSVGModelObjectInlines.h: Copied from Source/WebCore/rendering/svg/RenderSVGShapeInlines.h.
(WebCore::RenderSVGModelObject::element const):
- rendering/svg/RenderSVGShapeInlines.h:
- 5:51 AM Changeset in webkit [289209] by
-
- 4 edits in trunk
[Forms] Use min as default value when min > max for input type="range"
https://bugs.webkit.org/show_bug.cgi?id=236223
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update the sub test expectation that is now passing.
- web-platform-tests/html/semantics/forms/the-input-element/range-expected.txt:
Source/WebCore:
As per spec https://html.spec.whatwg.org/multipage/input.html#concept-input-value-default-range,
in the case of "the maximum is less than the minimum, in which case the default value is the minimum".
- html/RangeInputType.cpp:
(WebCore::ensureMaximum):
(WebCore::RangeInputType::createStepRange const):
- 5:49 AM Changeset in webkit [289208] by
-
- 2 edits in trunk/Source/WebCore
Remove unused CSSCalcExpressionNodeParser::parseValueTerm from CSSCalcExpressionNodeParser.h.
https://bugs.webkit.org/show_bug.cgi?id=236226
Reviewed by Darin Adler.
CSSCalcExpressionNodeParser::parseCalcValue replaces CSSCalcExpressionNodeParser::parseValueTerm
in r253079, but parseValueTerm still remains in CSSCalcExpressionNodeParser.h.
No new tests, no new behaviors.
- css/calc/CSSCalcExpressionNodeParser.h:
- 4:51 AM Changeset in webkit [289207] by
-
- 2 edits in trunk/Source/WebCore
[LBSE] Apply position / size to SVG layers
https://bugs.webkit.org/show_bug.cgi?id=236187
Reviewed by Rob Buis.
Teach RenderLayer::updateLayerPosition() about RenderSVGModelObject
derived renderers that create layers. Grab size and position information
from the SVG render tree, just as done for CSS boxes in the render tree.
To minimize the RenderLayer changes, and most importantly to let SVG
look like a regular CSS object from the outside a compatibility layer
is exposed offering methods such as 'frameRectEquivalent()',
'visualOverflowRectEquivalent()' and offers utility methods such as
'applyTopLeftLocationOffsetEquivalent(localPoint)'. The terminology
stems from CSS and is usually not present in SVG -- however to simplify
the RenderLayer implementation and emphazise the analogy between
RenderBox and RenderSVGModelObject the utility methods help a lot.
SVG no longer looks special and one doesn't need to think hard what
the best matching equivalent to a 'visualOverflowRect' in SVG, or
if coordinate system origins are identical or not, etc.
Covered by existing tests, no change in behaviour.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::recursiveUpdateLayerPositions):
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::calculateClipRects const):
- 3:47 AM Changeset in webkit [289206] by
-
- 6 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Unreviewed non-unified build fixes.
- Modules/webxr/XRReferenceSpaceEvent.cpp: Add missing wtf/IsoMallocInlines.h header.
- Modules/webxr/XRReferenceSpaceEvent.h: Add missing wtf/IsoMalloc.h header.
- css/calc/CSSCalcOperationNode.cpp: Add missing Logging.h header.
- css/calc/CSSCalcPrimitiveValueNode.cpp: Ditto.
- layout/formattingContexts/FormattingQuirks.cpp: Add missing LayoutState.h header.
- 3:40 AM Changeset in webkit [289205] by
-
- 2 edits in trunk/Source/WebCore
[LBSE] Suppress non-foreground paint phases for SVG shapes & images
https://bugs.webkit.org/show_bug.cgi?id=236189
Reviewed by Rob Buis.
Suppress all paint phases except PaintPhase::Foreground for SVG primitives
such as paths, rects, images, etc. - all but RenderSVGContainer. We still
have to propagate the paint phases down the SVG render tree through the
container hierachy, as there could be <foreignObject> elements that do
need all paint phases.
If this ever turns out as bottleneck we can keep track of the presence
of <foreignObject> elements in a SVG subtree and only selectively propagate
the paint phases to those leafs that need them.
This optimization was used and tested with all SVG pixel tests in
the downstream branch -- so it's well tested that this works fine.
Covered by existing tests, no change in behaviour.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintForegroundForFragments):
- 3:36 AM Changeset in webkit [289204] by
-
- 2 edits in trunk/Source/WebCore
[LBSE] Extend overflow/clip rect handling for SVG layers
https://bugs.webkit.org/show_bug.cgi?id=236188
Reviewed by Rob Buis.
Non-visible overflow implies a clip, that potentially influences the layer
geometry. The 'foregroundRect' is intersected with the 'overflowClipRect'
of the renderer - usually provided via RenderBox::overflowClipRect().
The CSS overflow handling is applicable to SVG as well, most noticeable
the outermost <svg> element (RenderSVGRoot), already uses the CSS overflow
handling, as it is RenderBox derived (via its RenderReplaced inheritance)
and not RenderSVGModelObject derived.
However inner <svg> elements (RenderSVGViewportContainer) and <marker>
elements also require overflow handling -- this patch allows them to
participate in the layer overflow handling and therefore extends both
RenderLayer::calculateClipRects() and RenderLayer::calculateRects()
to support RenderSVGModelObject.
Covered by existing tests, no change in behaviour.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
- 3:12 AM Changeset in webkit [289203] by
-
- 4 edits2 adds in trunk
Bail out early in stopForUserCancel
https://bugs.webkit.org/show_bug.cgi?id=223536
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-07
Reviewed by Darin Adler.
Source/WebCore:
Bail out early in stopForUserCancel in case
the frame is already in the process of stopping.
Test: fast/loader/commit-provisional-load-crash.html
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopForBackForwardCache):
(WebCore::FrameLoader::stopForUserCancel):
- loader/FrameLoader.h:
LayoutTests:
Add test for this.
- fast/loader/commit-provisional-load-crash-expected.txt: Added.
- fast/loader/commit-provisional-load-crash.html: Added.
- 2:25 AM Changeset in webkit [289202] by
-
- 11 edits in trunk
[WebDriver] Add support for shadow roots
https://bugs.webkit.org/show_bug.cgi?id=230614
<rdar://problem/83667535>
Reviewed by Adrian Perez de Castro.
Source/WebDriver:
Add implementation of new shadow root commands.
- CommandResult.cpp:
(WebDriver::CommandResult::httpStatusCode const): Handle NoSuchShadowRoot and DetachedShadowRoot errors
(WebDriver::CommandResult::errorString const): Ditto.
- CommandResult.h:
- Session.cpp:
(WebDriver::Session::shadowRootIdentifier): Return shadow root identifier.
(WebDriver::Session::createShadowRoot): Create shadow root elment using the shadow root identifier.
(WebDriver::Session::findElements): Add ElementIsShadowRoot parameters to handle DetachedShadowRoot error.
(WebDriver::Session::getElementShadowRoot): Return the element shadow root.
- Session.h:
- WebDriverService.cpp:
(WebDriver::WebDriverService::findElement): Pass ElementIsShadowRoot::No to Session::findElements().
(WebDriver::WebDriverService::findElements): Ditto.
(WebDriver::WebDriverService::findElementFromElement): Ditto.
(WebDriver::WebDriverService::findElementsFromElement): Ditto.
(WebDriver::WebDriverService::findElementFromShadowRoot):
(WebDriver::WebDriverService::findElementsFromShadowRoot):
(WebDriver::WebDriverService::getElementShadowRoot):
- WebDriverService.h:
Source/WebKit:
Use querySelectorAll() instead of getElementsByTagName() because it is also available for shadow root.
- UIProcess/Automation/atoms/FindNodes.js:
(tryToFindNode):
WebDriverTests:
Update test expectations.
- TestExpectations.json:
- 1:22 AM Changeset in webkit [289201] by
-
- 6 edits in trunk
[Forms] Alias appearance <compat-auto> keywords to 'auto'
https://bugs.webkit.org/show_bug.cgi?id=235944
Reviewed by Aditya Keerthi.
Source/WebCore:
This CL alias the <compat-auto> keywords 'auto'. We need to address the cases of MenuList, button,
square-button, push-button and slider-horizontal etc. separately.
Spec ref: https://drafts.csswg.org/css-ui-4/#typedef-appearance-compat-auto
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustAppearanceWithElementType const):
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
- rendering/RenderTheme.h:
LayoutTests:
Unskip tests in test expactation files that are now passing.
- TestExpectations:
- platform/gtk/TestExpectations:
Feb 6, 2022:
- 9:45 PM Changeset in webkit [289200] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r286936): Crash in WebKit::OriginStorageManager::StorageBucket::deleteLocalStorageData
https://bugs.webkit.org/show_bug.cgi?id=236209
Reviewed by Darin Adler.
Add null check for modificationTime returned by FileSystem::fileModificationTime.
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::deleteLocalStorageData):
- 9:29 PM Changeset in webkit [289199] by
-
- 5 edits in trunk/Source
Unreviewed, non-unified build fixes
https://bugs.webkit.org/show_bug.cgi?id=236216
Source/JavaScriptCore:
This missing include was causing non-unified builds to fail linking
libWPEWebkit with undefined JSC::Structure::get(...) after dropping
gold as the default linker in 246713@main.
- wasm/js/JSWebAssemblyException.cpp:
Source/WebCore:
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.h:
- workers/shared/context/SharedWorkerThread.cpp:
- 9:02 PM Changeset in webkit [289198] by
-
- 2 edits in trunk/Source/WebCore
Address a post-commit review comment after r289171.
Reviewed by Darin Adler.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
- 8:42 PM Changeset in webkit [289197] by
-
- 2 edits in trunk/Tools
REGRESSION(r288878) webkitpy.layout_tests.controllers.layout_test_finder_legacy_unittest.LayoutTestFinderTests tests are failing with Windows Python
https://bugs.webkit.org/show_bug.cgi?id=236043
<rdar://problem/88449289>
Reviewed by Darin Adler.
Since r288878 started to use pyfakefs, Port.relative_test_filename
didn't work as expected in unit tests with Windows Python because
TestPort.layout_tests_dir returned Unix-style path while the path
name of layout test is Windows-style path.
- Scripts/webkitpy/port/test.py: Use abspath to convert Unix-style
path to Windows-style for Windows Python.
- 8:18 PM Changeset in webkit [289196] by
-
- 3 edits in trunk/LayoutTests
media/media-source/media-webm-vorbis-partial.html is failing
https://bugs.webkit.org/show_bug.cgi?id=236211
rdar://88298267
Reviewed by Darin Adler.
The manifest data was incorrect, the webm cluster size is 10004 bytes long.
Expand the test so it's consistent with the webm/opus one.
- media/media-source/content/test-vorbis-manifest.json:
- media/media-source/media-webm-vorbis-partial.html:
- 7:58 PM Changeset in webkit [289195] by
-
- 3 edits in trunk/Source/WebCore
[GTK][WPE] Unreviewed build fix for Debian Stable after r288872
https://bugs.webkit.org/show_bug.cgi?id=236215
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::timeout):
- platform/graphics/PlatformDisplay.cpp:
- 7:44 PM Changeset in webkit [289194] by
-
- 7 edits in trunk
Update serialization of rgb() functions with none components to latest spec
https://bugs.webkit.org/show_bug.cgi?id=236210
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update tests for new serialization behavior.
- web-platform-tests/css/css-color/parsing/color-computed.html:
- web-platform-tests/css/css-color/parsing/color-valid.html:
- web-platform-tests/css/css-color/parsing/relative-color-computed.html:
- web-platform-tests/css/css-color/parsing/relative-color-valid.html:
Source/WebCore:
The CSS Color spec now states that rgb() with none components should serialize none
compoonents as 0. This means we can remove a bunch of special serialization code
and use the old code path once again.
- platform/graphics/ColorSerialization.cpp:
(WebCore::serializationForCSS):
(WebCore::decimalDigit):
(WebCore::fractionDigitsForFractionalAlphaValue):
(WebCore::legacyRGBComponent): Deleted.
(WTF::StringTypeAdapter<WebCore::LegacyRGBComponent>::StringTypeAdapter): Deleted.
(WTF::StringTypeAdapter<WebCore::LegacyRGBComponent>::length const): Deleted.
(WTF::StringTypeAdapter<WebCore::LegacyRGBComponent>::is8Bit const): Deleted.
(WTF::StringTypeAdapter<WebCore::LegacyRGBComponent>::writeTo const): Deleted.
(WTF::StringTypeAdapter<WebCore::LegacyRGBComponent>::buffer const): Deleted.
- 7:43 PM Changeset in webkit [289193] by
-
- 3 edits10 deletes in trunk/LayoutTests
Remove duplicate tests that have been upstreamed to WPT
https://bugs.webkit.org/show_bug.cgi?id=236214
Reviewed by Darin Adler.
- fast/css/parsing-color-contrast-expected.txt: Removed.
- fast/css/parsing-color-contrast.html: Removed.
- fast/css/parsing-color-function-expected.txt: Removed.
- fast/css/parsing-color-function.html: Removed.
- fast/css/parsing-color-mix-expected.txt: Removed.
- fast/css/parsing-color-mix.html: Removed.
- fast/css/parsing-lab-colors-expected.txt: Removed.
- fast/css/parsing-lab-colors.html: Removed.
- fast/css/parsing-relative-color-syntax-expected.txt: Removed.
- fast/css/parsing-relative-color-syntax.html: Removed.
These have all been added to wpt's css/css-color test suite.
- platform/glib/TestExpectations:
- platform/win/TestExpectations:
Update to account for removed tests.
- 6:01 PM Changeset in webkit [289192] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] LineBox should hold on to its logical rect
https://bugs.webkit.org/show_bug.cgi?id=236201
Reviewed by Antti Koivisto.
Now that the Display::Line has all visual coords, we don't have a way to retrieve the line's logical rect
(we never did, it just happened to match the Display::Line's rect).
This is also in preparation for adding vertical writing mode support.
- layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- layout/formattingContexts/inline/InlineLineBox.h:
(WebCore::Layout::LineBox::logicalRect const):
(WebCore::Layout::LineBox::setLogicalRect):
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::build):
- layout/formattingContexts/inline/InlineLineBoxBuilder.h:
- 5:50 PM Changeset in webkit [289191] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] Logical rect for text run does not require the parent inline box's FontMetrics:ascent
https://bugs.webkit.org/show_bug.cgi?id=236195
Reviewed by Antti Koivisto.
Let's compute the text run's logical top using the parent inline box geometry only.
This patch also renames InlineLevelBox::baseline to ascent to indicate that it's an ascent value.
- layout/formattingContexts/inline/InlineLevelBox.h:
(WebCore::Layout::InlineLevelBox::ascent const):
(WebCore::Layout::InlineLevelBox::setAscent):
(WebCore::Layout::InlineLevelBox::baseline const): Deleted.
(WebCore::Layout::InlineLevelBox::setBaseline): Deleted.
- layout/formattingContexts/inline/InlineLineBox.cpp:
(WebCore::Layout::LineBox::logicalRectForTextRun const):
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::setBaselineAndLayoutBounds const):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::computeLogicalHeightAndAlign const):
(WebCore::Layout::LineBoxVerticalAligner::simplifiedVerticalAlignment const):
(WebCore::Layout::LineBoxVerticalAligner::computeLineBoxLogicalHeight const):
(WebCore::Layout::LineBoxVerticalAligner::computeRootInlineBoxVerticalPosition const):
(WebCore::Layout::LineBoxVerticalAligner::alignInlineLevelBoxes const):
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::InlineDisplayLineBuilder::build const):
- 4:38 PM Changeset in webkit [289190] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r289060 - null ptr deref in RenderTreeBuilder::Block::attachIgnoringContinuation
https://bugs.webkit.org/show_bug.cgi?id=234170
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-03
Reviewed by Antti Koivisto.
Source/WebCore:
When an element with "display: contents" is put into the top layer, its computed style for
the display property becomes "block" [1]. However, RenderTreeUpdater::updateElementRenderer
does not manage well this transition. In particular, a null ptr deref happens for some
special configuration involving a <dialog style="display: contents">. To work around that
issue, always force tearing down renderers when updating an element in the top layer.
[1] https://fullscreen.spec.whatwg.org/#new-stacking-layer
Test: fast/layers/top-layer-display-contents-crash.html
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateElementRenderer): Always force tearing down renderers
for top layer element.
LayoutTests:
Add regression test.
- fast/css/top-layer-display-contents-crash-expected.txt: Added.
- fast/css/top-layer-display-contents-crash.html: Added.
- 4:33 PM Changeset in webkit [289189] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Check if fallback font glyphs initiate ideographic baseline
https://bugs.webkit.org/show_bug.cgi?id=236182
Reviewed by Antti Koivisto.
This patch is in preparation for supporting vertical writing mode.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::fallbackFontHasVerticalGlyph):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
- layout/formattingContexts/inline/InlineLineBoxBuilder.h:
- 4:16 PM Changeset in webkit [289188] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r288937 - Check AccessibilityRenderObject::m_renderer for null before using it.
https://bugs.webkit.org/show_bug.cgi?id=235950
<rdar://problem/88326438>
Reviewed by Chris Fleizach.
AccessibilityRenderObject::m_renderer is a WeakPtr that can become null
due to a variety of changes in the render tree. This patch fixes a
number of cases where AccessibilityRenderObject::m_renderer was being
used without checking for null which leads to crashes such as:
https://bugs.webkit.org/show_bug.cgi?id=235945
https://bugs.webkit.org/show_bug.cgi?id=235827
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::parentObjectIfExists const):
(WebCore::AccessibilityRenderObject::selection const):
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::documentLinks):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
- 4:16 PM Changeset in webkit [289187] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebCore
Merge r288874 - AX: nullptr crash under AccessibilityRenderObject::computeAccessibilityIsIgnored
https://bugs.webkit.org/show_bug.cgi?id=235945
rdar://88217815
Reviewed by Andres Gonzalez.
This is similar to https://bugs.webkit.org/show_bug.cgi?id=161276.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):
m_renderer is a WeakPtr and can become null during parentObjectUnignored call, same as
the case below.
- 4:16 PM Changeset in webkit [289186] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r288672 - jsc_fuz/wktr: crash with new XRReferenceSpaceEvent(, {referenceSpace})
https://bugs.webkit.org/show_bug.cgi?id=235456
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-01-27
Reviewed by Chris Dumez.
Source/WebCore:
FastMalloc.h specifies that each derived class needs to be annotated as well with WTF_MAKE_ISO_ALLOCATED
if the base class is annotated with WTF_MAKE_ISO_ALLOCATED.
After doing this, the crash in WebCore::Event::operator new(unsigned long) is no longer reproducible.
However, this caused ASSERT(m_transform) to be hit in debug builds with the attached test case.
The XRReferenceSpaceEvent spec specifies the transform attribute as nullable
(https://immersive-web.github.io/webxr/#dictdef-xrreferencespaceeventinit), so this patch updates the
XRReferenceSpaceEvent IDL and implementation to match the spec, and removes the ASSERT accordingly.
Test: webxr/xr-reference-space-event-crash.html
- Modules/webxr/XRReferenceSpaceEvent.cpp:
(WebCore::XRReferenceSpaceEvent::XRReferenceSpaceEvent):
(WebCore::XRReferenceSpaceEvent::transform const):
- Modules/webxr/XRReferenceSpaceEvent.h:
- Modules/webxr/XRReferenceSpaceEvent.idl:
LayoutTests:
- webxr/xr-reference-space-event-crash.html: Added.
- 3:45 PM Changeset in webkit [289185] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r288589 - XPath::Step::nodesInAxis(): add null checks after Attr::ownerElement() calls
https://bugs.webkit.org/show_bug.cgi?id=235500
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import WPT tests from https://github.com/web-platform-tests/wpt/pull/32544.
- web-platform-tests/domxpath/xpath-evaluate-crash-expected.txt: Added.
- web-platform-tests/domxpath/xpath-evaluate-crash.html: Added.
Source/WebCore:
This patch adds null checks for results of Attr::ownerElement() to avoid crashes
when evaluating XPath expressions with an orphaned Attr as the context node.
Inspired by the recent Blink fix [1], yet this change covers all null pointer
dereferencing sites, as proven by the updated test.
[1] https://bugs.chromium.org/p/chromium/issues/detail?id=1236967
Test: imported/w3c/web-platform-tests/domxpath/xpath-evaluate-crash.html
- xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis const):
- 3:42 PM Changeset in webkit [289184] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r288423 - m_lastStyleChangeEventStyle null ptr deref for accelerated CSS Animation with no duration and an implicit keyframe
https://bugs.webkit.org/show_bug.cgi?id=235394
<rdar://problem/87701738>
Reviewed by Antti Koivisto.
Source/WebCore:
Test: webanimations/accelerated-animation-without-duration-crash.html
In r287827, the fix for bug 235014, we stopped filling implicit keyframes for CSS Animations at creation
time such that the output of getKeyframes() would correctly account for the missing keyframes. This meant
that we have to fill in those implicit keyframes when running an accelerated animation before we pass it
on to GraphicsLayer.
We would always use the value stored by lastStyleChangeEventStyle() with an assert that this value was
never null. However, in the case of an animation that is not relevant, such as a CSS Animation with no
duration, we've never had a chance to set that style since Style::TreeResolver::createAnimatedElementUpdate()
would not see any "relevant" (a term defined by the Web Animations specification to specify an animation
that has an effect on its target) animations.
We now use the renderer's style as a fallback, which is guaranteed to be defined at this stage.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::applyPendingAcceleratedActions):
LayoutTests:
New test, created by Gabriel Nava Marino, that creates an accelerated animation with no
duration and with implicit keyframes that would crash prior to this patch.
- webanimations/accelerated-animation-without-duration-crash-expected.txt: Added.
- webanimations/accelerated-animation-without-duration-crash.html: Added.
- 2:28 PM Changeset in webkit [289183] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Add initial ideographic baseline support
https://bugs.webkit.org/show_bug.cgi?id=236177
Reviewed by Antti Koivisto.
This patch is in preparation for supporting vertical writing mode.
We don't know in advance if the style/content requires ideographic or alphabetic baseline, so
either we pre-compute it by going through all the individual runs or post-adjust it
by looping through the newly constructed inline boxes (which most of the time is the root inline box only).
This patch implements the post-adjust version where after constructInlineLevelBoxes(), we call
adjustIdeographicBaselineIfApplicable and reset the ascent/descent values accordingly.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::build):
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
(WebCore::Layout::computedHeightAndLayoutBounds):
(WebCore::Layout::LineBoxBuilder::setVerticalGeometryForLineBreakBox const):
(WebCore::Layout::LineBoxBuilder::setInitialVerticalGeometryForInlineBox const):
- 2:21 PM Changeset in webkit [289182] by
-
- 4 edits1 add in trunk
[Wasm] ref.null check should be done first in B3 call_ref
https://bugs.webkit.org/show_bug.cgi?id=236206
Reviewed by Mark Lam.
JSTests:
- wasm.yaml:
- wasm/function-references-spec-tests/call-null-ref.wast.js: Added.
Source/JavaScriptCore:
We should first check ref.null before loading data from the reference in B3 call_ref.
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addCallRef):
- 1:10 PM Changeset in webkit [289181] by
-
- 4 edits in trunk
[css-logical] Animations should convert logical properties to their physical equivalents
https://bugs.webkit.org/show_bug.cgi?id=218092
<rdar://problem/70579530>
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark WPT progressions.
- web-platform-tests/css/css-logical/animation-002-expected.txt:
Source/WebCore:
When computing the keyframe styles for a CSS animation, resolve the logical properties
to their physical equivalent.
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::styleForKeyframe):
- 12:59 PM Changeset in webkit [289180] by
-
- 5 edits3 adds in releases/WebKitGTK/webkit-2.34
Merge r288362 - WPT version of css/css-cascade/parsing/layer-import-parsing.html crashes with nullptr
https://bugs.webkit.org/show_bug.cgi?id=235434
rdar://87832940
Reviewed by Alan Bujtas.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-cascade/parsing/layer-import-parsing.html:
Update to WPT version.
Source/WebCore:
Test: fast/css/insert-import-rule-crash.html
- css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::setCSSStyleSheet):
Null check the parent stylesheet. It can be null if the rule has been removed.
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::startLoadingDynamicSheet):
Also fix a debug assert in addPendingSheet, this can get called multiple times.
LayoutTests:
- fast/css/insert-import-rule-crash-expected.txt: Added.
- fast/css/insert-import-rule-crash.html: Added.
- 12:46 PM Changeset in webkit [289179] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r288217 - Null check player in taintsOrigin
https://bugs.webkit.org/show_bug.cgi?id=234257
Patch by Rob Buis <rbuis@igalia.com> on 2022-01-19
Reviewed by Youenn Fablet.
Source/WebCore:
Null check player in taintsOrigin.
Test: fast/media/createImageBitmap-from-video-crash.html
- html/ImageBitmap.cpp:
(WebCore::taintsOrigin):
LayoutTests:
- fast/media/createImageBitmap-from-video-crash-expected.txt: Added.
- fast/media/createImageBitmap-from-video-crash.html: Added.
- 12:42 PM Changeset in webkit [289178] by
-
- 6 edits in trunk/Source/WebCore
[web-animations] DocumentTimeline::computeExtentOfAnimation() should be defined on Styleable
https://bugs.webkit.org/show_bug.cgi?id=236204
Reviewed by Dean Jackson.
There is no need to go through the DocumentTimeline to compute the animated
bounds for a renderer. Styleable is a more appropriate place for this.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::computeExtentOfAnimation const): Deleted.
- animation/DocumentTimeline.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
- style/Styleable.cpp:
(WebCore::Styleable::computeAnimationExtent const):
- style/Styleable.h:
- 12:37 PM Changeset in webkit [289177] by
-
- 3 edits in trunk/Source/JavaScriptCore
Cache the most recent AtomString produced by JSString::toIdentifier
https://bugs.webkit.org/show_bug.cgi?id=236124
Reviewed by Yusuke Suzuki.
JSString::toIdentifier does not store the result of atomizing its string
value, except when it is a rope. We can often end up atomizing the same
JSString a number of times.
This patch caches the last atomized string produced from
JSString::toIdentifier in a given VM. From local testing, this is a 0.5%
Speedometer2 improvement on an M1 MacBook Air, although surprisingly is
neutral on a recent Intel MacBook Pro.
- runtime/JSString.h:
(JSC::JSRopeString::toIdentifier const):
(JSC::JSString::toIdentifier const):
- runtime/VM.h:
- 12:25 PM Changeset in webkit [289176] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/JavaScriptCore
Unreviewed non-unified build fix.
- runtime/DeferredWorkTimer.h: Add missing JSCast.h header inclusion.
- 12:04 PM Changeset in webkit [289175] by
-
- 2 edits in trunk/Source/JavaScriptCore
[WASM] Fix clang tidy bugprone-move-forwarding-reference static analyzer warnings in WasmLLIntGenerator.cpp
<https://webkit.org/b/236202>
<rdar://problem/88545940>
Reviewed by Yusuke Suzuki.
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::ControlType::ControlType):
- Replace WTFMove() with std::forward<>().
- 11:32 AM Changeset in webkit [289174] by
-
- 14 edits in releases/WebKitGTK/webkit-2.34
Merge r289129 - [GTK] Crash when starting DND on touchscreen
https://bugs.webkit.org/show_bug.cgi?id=235694
Reviewed by Adrian Perez de Castro.
Source/WebCore:
- page/DragController.cpp:
(WebCore::DragController::startDrag):
Skip drags for touch events on GTK.
- platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::isTouchEvent const):
Source/WebKit:
Drag-n-drop on touch has never worked correctly in GTK, and is usually
just disabled. Do the same thing and ignore it for synthesized mouse
events.
- Shared/NativeWebMouseEvent.h:
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
- Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode const):
(WebKit::WebMouseEvent::decode):
- Shared/WebMouseEvent.h:
(WebKit::WebMouseEvent::isTouchEvent const):
- Shared/gtk/NativeWebMouseEventGtk.cpp:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseTouchRelease):
(webkitWebViewBaseTouchDragUpdate):
(webkitWebViewBaseTouchDragEnd):
(webkitWebViewBaseSynthesizeMouseEvent):
- UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
- UIProcess/gtk/PointerLockManager.cpp:
(WebKit::PointerLockManager::handleMotion):
Tools:
- TestWebKitAPI/glib/CMakeLists.txt: Define BUILDING_TestWebKit
- 11:25 AM Changeset in webkit [289173] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, follow-up after r289172
https://bugs.webkit.org/show_bug.cgi?id=236180
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- 11:17 AM Changeset in webkit [289172] by
-
- 6 edits in trunk
[WTF] Make Bitmap constexpr friendly
https://bugs.webkit.org/show_bug.cgi?id=236180
Reviewed by Darin Adler.
Source/JavaScriptCore:
This patch makes Bitmap more constexpr friendly so that JSGlobalObjectFunctions's
functions can compile Bitmap as constexpr, which avoids possible race condition.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::makeCharacterBitmap):
(JSC::JSC_DEFINE_HOST_FUNCTION):
Source/WTF:
Attach constexpr to constructor and methods if it is possible.
- wtf/Bitmap.h:
(WTF::WordType>::set):
(WTF::WordType>::testAndSet):
(WTF::WordType>::testAndClear):
(WTF::WordType>::clear):
(WTF::WordType>::invert):
(WTF::WordType>::nextPossiblyUnset const):
(WTF::WordType>::isEmpty const):
(WTF::WordType>::isFull const):
(WTF::WordType>::merge):
(WTF::WordType>::filter):
(WTF::WordType>::exclude):
(WTF::WordType>::subsumes const):
(WTF::WordType>::mergeAndClear):
(WTF::WordType>::setAndClear):
(WTF::= const):
(WTF::=):
(WTF::WordType>::Bitmap): Deleted.
Tools:
- TestWebKitAPI/Tests/WTF/Bitmap.cpp:
- 11:00 AM Changeset in webkit [289171] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Introduce LineBoxBuilder::setBaselineAndLayoutBounds/layoutBoundsMetricsForInlineBox
https://bugs.webkit.org/show_bug.cgi?id=236183
Reviewed by Antti Koivisto.
This patch is in preparation for adding ideographic baseline support. It helps to
simplify the ideographic baseline adjustment by just making the following call
setBaselineAndLayoutBounds(inlineBox, layoutBoundsMetricsForInlineBox(inlineBox, IdeographicBaseline));
to adjust the inline box's vertical geometry when in vertical writing mode.
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustLayoutBoundsWithFallbackFonts const):
(WebCore::Layout::layoutBoundsMetricsForInlineBox):
(WebCore::Layout::LineBoxBuilder::setBaselineAndLayoutBounds const):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::adjustVerticalGeometryForInlineBoxWithFallbackFonts const): Deleted.
(WebCore::Layout::computedHeightAndLayoutBounds): Deleted.
(WebCore::Layout::LineBoxBuilder::setVerticalGeometryForLineBreakBox const): Deleted.
(WebCore::Layout::LineBoxBuilder::setInitialVerticalGeometryForInlineBox const): Deleted.
- layout/formattingContexts/inline/InlineLineBoxBuilder.h:
- 9:33 AM Changeset in webkit [289170] by
-
- 10 edits in trunk
AX: Add internal-only flag to enable WIP display: contents support
https://bugs.webkit.org/show_bug.cgi?id=236179
Reviewed by Chris Fleizach.
Source/WebCore:
Shipping half-done accessibility support for display: contents will
probably be a worse experience than status quo in some scenarios, so
we should gate it behind an internal-only feature flag until we're
confident it's ready.
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setCSSDisplayContentsAXSupportEnabled):
(WebCore::RuntimeEnabledFeatures::cssDisplayContentsAXSupportEnabled const):
Source/WebKitLegacy/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(-[WebPreferences cssDisplayContentsAXSupportEnabled]):
(-[WebPreferences setCSSDisplayContentsAXSupportEnabled:]):
- WebView/WebPreferencesPrivate.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
- DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
- 8:14 AM Changeset in webkit [289169] by
-
- 4 edits2 adds in trunk/Tools
Adjust
platformResetStateToConsistentValuesto avoid grabbing the general pasteboard when possible
https://bugs.webkit.org/show_bug.cgi?id=236196
Reviewed by Darin Adler.
For reasons that are still unknown, when running layout tests in the iOS 15.4 simulator, the iOS simulator's
pastedsometimes gets into a state where the work queue (com.apple.pasteboard.PBPasteboardModel-work-queue)
gets permanently stuck while attempting to save pasteboard items.
Once in this state, all subsequent layout tests will time out (regardless of whether the tests themselves
exercise copy and paste), since the process of resetting the harness to a consistent state always tries to clear
the general pasteboard by settingitemsto an empty array. This means that every layout test that tries to
start after getting into the above state will hang during state reset, before it even gets a chance to load the
layout test.
To avoid this, only clear the general pasteboard if the test actually attempted to add data to the pasteboard.
While this doesn't fix a large number of editing and copy/paste-related layout tests on iOS 15.4, it does allow
us to skip these tests for now and continue running the remaining layout tests.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::pasteboardConsistencyEnforcer):
- WebKitTestRunner/ios/UIPasteboardConsistencyEnforcer.h: Added.
Add a helper class that listens for notifications whenever the contents of any pasteboard changes; if the name
of the changed pasteboard matches, we clear out its items when-clearPasteboardis invoked. It's critical to
pass only a pasteboard name here instead of a pasteboard itself, since even calling+generalPasteboardcauses
the test to hang.
- WebKitTestRunner/ios/UIPasteboardConsistencyEnforcer.mm: Added.
(-[UIPasteboardConsistencyEnforcer initWithPasteboardName:]):
(-[UIPasteboardConsistencyEnforcer clearPasteboard]):
(-[UIPasteboardConsistencyEnforcer pasteboardChanged:]):
- 7:39 AM Changeset in webkit [289168] by
-
- 2 edits in trunk/Source/WebCore
[css-transitions] remove duplicate code dealing with completed transitions
https://bugs.webkit.org/show_bug.cgi?id=236198
Reviewed by Dean Jackson.
We already mark transitions as completed in DocumentTimeline::transitionDidComplete()
and doing this again in updateCSSTransitionsForStyleableAndProperty() is unnecessary.
- style/Styleable.cpp:
(WebCore::updateCSSTransitionsForStyleableAndProperty):
- 7:17 AM Changeset in webkit [289167] by
-
- 4 edits in trunk
[css-logical] [css-transitions] Resolve logic properties when compiling the list of transition properties
https://bugs.webkit.org/show_bug.cgi?id=236197
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark WPT progressions.
- web-platform-tests/css/css-logical/animation-004-expected.txt:
Source/WebCore:
In r289161 we added initial support for transitions of logical properties. However, we would resolve the
transition-property in updateCSSTransitionsForStyleableAndProperty() whereas we should resolve them earlier
when compiling the list of transition-property values found in the previous style and the new style.
- style/Styleable.cpp:
(WebCore::keyframeEffectForElementAndProperty):
(WebCore::compileTransitionPropertiesInStyle):
(WebCore::updateCSSTransitionsForStyleableAndProperty):
- 4:34 AM Changeset in webkit [289166] by
-
- 6 edits2 adds in trunk
Object literal doesn't properly resolve name clash between an accessor and a constant property
https://bugs.webkit.org/show_bug.cgi?id=220574
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-02-06
Reviewed by Yusuke Suzuki.
JSTests:
- stress/class-static-accessor-name-clash-with-field.js: Added.
- stress/object-literal-accessor-name-clash-with-constant.js: Added.
Source/JavaScriptCore:
The spec [1] calls DefineOwnProperty for every property node, whether it's a
getter, a setter, or a value. JSC attempts to reduce emitted bytecodes by setting
up a getter and a setter at once.
However, there is a slower path that exactly matches the spec, which was called only
if a spread syntax or a computed property was encountered. With this patch, the slower
path is also taken in case of a constant property (including a shorthand) with the
same name as an accessor.
That causes an incomplete accessor descriptor to correctly overwrite the existing
data one, which aligns JSC with V8 and SpiderMonkey.
This bug doesn't exist for static class fields and accessors because initialization
of class fields is deferred [2] and they always overwrite eponymous static methods /
accessors, no matter the order in source code. No reproduction for private elements either.
[1]: https://tc39.es/ecma262/#sec-runtime-semantics-methoddefinitionevaluation (step 11 of "get", step 10 of "set")
[2]: https://tc39.es/ecma262/#sec-runtime-semantics-classdefinitionevaluation (step 31.a)
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode):
LayoutTests:
Adjusted test now passes on V8 and SpiderMonkey as well.
- js/class-syntax-method-names-expected.txt:
- js/script-tests/class-syntax-method-names.js:
Feb 5, 2022:
- 4:54 PM Changeset in webkit [289165] by
-
- 19 edits2 copies4 moves7 adds16 deletes in trunk/LayoutTests
Resync web-platform-tests/dom from upstream
https://bugs.webkit.org/show_bug.cgi?id=236147
Reviewed by Darin Adler.
Resync web-platform-tests/dom from upstream 893e71aa9c0a97d259ff.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/dom/eventPathRemoved-expected.txt: Added.
- web-platform-tests/dom/eventPathRemoved.html: Added.
- web-platform-tests/dom/events/AddEventListenerOptions-once-expected.txt: Removed.
- web-platform-tests/dom/events/AddEventListenerOptions-passive-expected.txt: Removed.
- web-platform-tests/dom/events/Event-constructors-expected.txt: Removed.
- web-platform-tests/dom/events/EventTarget-add-remove-listener-expected.txt: Removed.
- web-platform-tests/dom/events/EventTarget-addEventListener-expected.txt: Removed.
- web-platform-tests/dom/events/EventTarget-removeEventListener-expected.txt: Removed.
- web-platform-tests/dom/events/ProgressEvent-expected.txt: Removed.
- web-platform-tests/dom/events/ProgressEvent.html: Removed.
- web-platform-tests/dom/events/document-level-touchmove-event-listener-passive-by-default.tentative-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/document-level-touchmove-event-listener-passive-by-default-expected.txt.
- web-platform-tests/dom/events/document-level-wheel-event-listener-passive-by-default-expected.txt: Removed.
- web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any-expected.txt: Removed.
- web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.worker-expected.txt: Removed.
- web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.window-expected.txt: Added.
- web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.window.html: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.html.
- web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.js.
- web-platform-tests/dom/events/focus-event-document-move-expected.txt: Removed.
- web-platform-tests/dom/events/resources/w3c-import.log:
- web-platform-tests/dom/events/scrolling/overscroll-deltas-expected.txt: Added.
- web-platform-tests/dom/events/w3c-import.log:
- web-platform-tests/dom/idlharness-shadowrealm.window-expected.txt: Added.
- web-platform-tests/dom/idlharness-shadowrealm.window.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.worker.html.
- web-platform-tests/dom/idlharness-shadowrealm.window.js: Added.
- web-platform-tests/dom/idlharness.any.serviceworker-expected.txt:
- web-platform-tests/dom/idlharness.any.sharedworker-expected.txt: Added.
- web-platform-tests/dom/idlharness.any.sharedworker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.html.
- web-platform-tests/dom/idlharness.any.worker-expected.txt:
- web-platform-tests/dom/idlharness.window-expected.txt:
- web-platform-tests/dom/nodes/Document-characterSet-normalization-expected.txt: Removed.
- web-platform-tests/dom/nodes/Node-cloneNode-expected.txt: Removed.
- web-platform-tests/dom/nodes/Node-insertBefore-expected.txt:
- web-platform-tests/dom/nodes/Node-insertBefore.html:
- web-platform-tests/dom/nodes/getElementsByClassNameFrame-expected.txt: Removed.
- web-platform-tests/dom/ranges/Range-mutations-expected.txt: Removed.
- web-platform-tests/dom/ranges/Range-mutations.html: Removed.
- web-platform-tests/dom/ranges/Range-test-iframe-expected.txt: Removed.
- web-platform-tests/dom/traversal/support/w3c-import.log:
- web-platform-tests/dom/w3c-import.log:
- web-platform-tests/interfaces/dom.idl:
LayoutTests:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 4:14 PM Changeset in webkit [289164] by
-
- 3 edits1 add in trunk
Attempting to Set JSArray's read-only "length" should throw even with current Value
https://bugs.webkit.org/show_bug.cgi?id=221177
Reviewed by Saam Barati.
JSTests:
- stress/array-prototype-methods-set-length.js: Added.
Source/JavaScriptCore:
As per OrdinarySet algorithm [1]. To achieve that, while ensuring no error is thrown
if read-only "length" isn't actually changed via DefineOwnProperty [2], this patch
movesnewLength == oldLengthcheck to JSArray::defineOwnProperty().
That is guaranteed to be correct because:
a) it's the only caller of setLengthWithArrayStorage() that performs DefineOwnProperty,
while others implement Set;
b) there can't possibly be array indices that JSArray::defineOwnProperty() has to remove,
and even the spec a shortcut here [3].
All code paths in pop() / shift() / push() / unshift() are covered by the newly added test,
as well as JSArray's DefineOwnProperty, while slice() / splice() / etc were vetted to
Set "length" according to the spec.
Aligns JSC with SpiderMonkey and partly with V8, which is correct for Object.freeze()
but not forObject.defineProperty(array, "length", { writable: false }).
[1]: https://tc39.es/ecma262/#sec-ordinarysetwithowndescriptor (step 2.a)
[2]: https://tc39.es/ecma262/#sec-validateandapplypropertydescriptor (step 5 and 7)
[3]: https://tc39.es/ecma262/#sec-arraysetlength (step 11)
- runtime/JSArray.cpp:
(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::setLengthWithArrayStorage):
- 3:42 PM Changeset in webkit [289163] by
-
- 2 edits in trunk/Source/WebCore
[LBSE] Handle RenderSVGShape in SVGRenderSupport::applyStrokeStyleToContext()
https://bugs.webkit.org/show_bug.cgi?id=236077
Reviewed by Darin Adler.
Activate path length calculation for RenderSVGShape -- this bit
was missing when the layer-aware RenderSVGShape implementation was
upstreamed in r287832.
Currently the functionality is not observable, as we don't create
LBSE renderers yet.
Covered by existing tests, no change in behaviour.
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::applyStrokeStyleToContext):
- 3:39 PM Changeset in webkit [289162] by
-
- 2 edits in trunk/Source/WTF
[WTF] Fix clang tidy bugprone-move-forwarding-reference static analyzer warnings in CompletionHandler.h
<https://webkit.org/b/236181>
<rdar://problem/88529996>
Reviewed by Chris Dumez.
- wtf/CompletionHandler.h:
(WTF::CompletionHandler<Out):
(WTF::CompletionHandlerWithFinalizer<Out):
- Replace WTFMove() with std::forward<>().
- 1:25 PM Changeset in webkit [289161] by
-
- 4 edits in trunk
[CSS transition] can't use CSS logical properties in transition syntax
https://bugs.webkit.org/show_bug.cgi?id=232361
<rdar://problem/84958347>
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Mark some WPT progressions. The new FAIL result isn't a real regression, that test
simply passed by virtue of not ever starting a transition for a logical property.
- web-platform-tests/css/css-logical/animation-004-expected.txt:
Source/WebCore:
Resolve logical properties when considering properties that should trigger a transition.
To do so, we must pass the newly-set style to some methods such that they may be able to
reolve logical properties as well.
- style/Styleable.cpp:
(WebCore::keyframeEffectForElementAndProperty):
(WebCore::transitionMatchesProperty):
(WebCore::updateCSSTransitionsForStyleableAndProperty):
- 11:44 AM Changeset in webkit [289160] by
-
- 5 edits in trunk/Source/WebKit
Refactor RemoteLayerBackingStoreCollection to have a single backing store traversal function
https://bugs.webkit.org/show_bug.cgi?id=236040
Reviewed by Tim Horton.
Instead of traversing m_liveBackingStore and m_unparentedBackingStore in two places (from the volatilityTimerFired()
and from tryMarkAllBackingStoreVolatile()), factor into a single function with two behavior flags.
Also make VolatilityMarkingFlags an OptionSet<> and add an option to consider last display time.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::RemoteLayerBackingStore):
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable):
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::tryMarkAllBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatileImmediately): Deleted.
- 10:06 AM Changeset in webkit [289159] by
-
- 21 edits2 copies in trunk
Thread suspend and resume should take a global lock to avoid deadlock
https://bugs.webkit.org/show_bug.cgi?id=236159
Reviewed by Geoffrey Garen.
Source/bmalloc:
Introduce pas_thread_suspend_lock and take it when suspending and resuming threads.
- CMakeLists.txt:
- bmalloc.xcodeproj/project.pbxproj:
- libpas/src/libpas/pas_scavenger.c:
(scavenger_thread_main):
(pas_scavenger_clear_all_caches):
- libpas/src/libpas/pas_thread_local_cache.c:
(pas_thread_local_cache_for_all):
- libpas/src/libpas/pas_thread_local_cache.h:
- libpas/src/libpas/pas_thread_suspend_lock.c: Copied from Source/WTF/wtf/ThreadMessage.cpp.
- libpas/src/libpas/pas_thread_suspend_lock.h: Copied from Source/WTF/wtf/ThreadMessage.cpp.
Source/JavaScriptCore:
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::tryCopyOtherThreadStack):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
- heap/MachineStackMarker.h:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::takeSample):
- runtime/VMTraps.cpp:
- wasm/WasmMachineThreads.cpp:
(JSC::Wasm::resetInstructionCacheOnAllThreads):
Source/WTF:
This patch introduces a global lock which should be taken while suspending and resuming a thread.
It is possible that two different threads suspend and resume threads. And if threads suspend
each other without critical section, it can cause a dead lock.
To avoid this problem, we introduce a global lock which should be taken when suspending and resuming
threads. Since libpas is also using thread suspension, we expose a global pas_thread_suspend_lock
when libpas is used, and we use this lock in WTF's Thread suspension code.
- wtf/ThreadMessage.cpp:
(WTF::sendMessageScoped):
- wtf/ThreadMessage.h:
(WTF::sendMessage):
- wtf/Threading.cpp:
(WTF::ThreadSuspendLocker::ThreadSuspendLocker):
(WTF::ThreadSuspendLocker::~ThreadSuspendLocker):
- wtf/Threading.h:
- wtf/posix/ThreadingPOSIX.cpp:
(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):
- wtf/win/ThreadingWin.cpp:
(WTF::Thread::suspend):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):
Tools:
- TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
(runThreadMessageTest):
- 9:51 AM Changeset in webkit [289158] by
-
- 2 edits in trunk/Source/WebCore
[Web Animations] Address KeyframeEffect::isAboutToRunAccelerated() FIXME
https://bugs.webkit.org/show_bug.cgi?id=236178
Reviewed by Dean Jackson.
The canBeAccelerated() function catches all the cases to determine whether an effect
can be accelerated prior to being committed to a GraphicsLayerCA animation.
- animation/KeyframeEffect.h:
(WebCore::KeyframeEffect::isAboutToRunAccelerated const):
- 8:37 AM Changeset in webkit [289157] by
-
- 6 edits4 adds in trunk
[RenderTreeBuilder] Clean up column spanners when style change affects containing block
https://bugs.webkit.org/show_bug.cgi?id=236042
<rdar://83975391>
Reviewed by Antti Koivisto.
Source/WebCore:
In addition to removing the leftover spanners after style change, this patch also expands on the type of style changes that may affect
subtree state inside a multicolumn flow.
Tests: fast/multicol/leftover-spanner-on-style-change-crash.html
fast/multicol/leftover-spanner-on-style-change-crash2.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::adjustFragmentedFlowStateOnContainingBlockChangeIfNeeded):
- rendering/RenderElement.h:
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):
LayoutTests:
- fast/multicol/leftover-spanner-on-style-change-crash-expected.txt: Added.
- fast/multicol/leftover-spanner-on-style-change-crash.html: Added.
- fast/multicol/leftover-spanner-on-style-change-crash2-expected.txt: Added.
- fast/multicol/leftover-spanner-on-style-change-crash2.html: Added.
- 8:35 AM Changeset in webkit [289156] by
-
- 6 edits in trunk/Source/WebCore
[Web Animations] DocumentTimeline::getAnimatedStyle() should be on Styleable
https://bugs.webkit.org/show_bug.cgi?id=236176
Reviewed by Dean Jackson.
There is no need to go through the DocumentTimeline to compute the animated
style for a renderer. Styleable is a more appropriate place for this.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::animatedStyleForRenderer): Deleted.
- animation/DocumentTimeline.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::animatedStyle):
- style/Styleable.cpp:
(WebCore::Styleable::computeAnimatedStyle const):
- style/Styleable.h:
- 8:28 AM Changeset in webkit [289155] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Move all the line box vertical alignment logic to LineBoxVerticalAligner
https://bugs.webkit.org/show_bug.cgi?id=236171
Reviewed by Antti Koivisto.
This patch is in preparation for adding ideographic baseline support (vertical writing mode).
LineBoxBuilder::constructAndAlignInlineLevelBoxes has grown large and it's time to move some
code out of this function (the "align" part). Now all the vertical alignment logic, including
the check for simplified vertical alignment is part of the LineBoxVerticalAligner class.
While in this patch we initiate an extra loop on LineBox::nonRootInlineLevelBoxes(), it may very well be a
perf win for the most common cases where the root inline box has no child inline boxes at all
(as previously we called updateCanUseSimplifiedAlignment() on every text run by passing in the parent inline box).
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::build):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes): Deleted.
- layout/formattingContexts/inline/InlineLineBoxBuilder.h:
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::LineBoxVerticalAligner):
(WebCore::Layout::LineBoxVerticalAligner::computeLogicalHeightAndAlign const):
(WebCore::Layout::LineBoxVerticalAligner::canUseSimplifiedAlignmentForInlineLevelBox): Deleted.
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.h:
(WebCore::Layout::LineBoxVerticalAligner::formattingContext const):
(WebCore::Layout::LineBoxVerticalAligner::layoutState const):
- 3:24 AM WebKitGTK/2.34.x edited by
- (diff)
- 1:25 AM Changeset in webkit [289154] by
-
- 16 edits3 deletes in trunk
[Flatpak SDK] Update to FDO 21.08.10 and GStreamer 1.20 releases
https://bugs.webkit.org/show_bug.cgi?id=236136
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-05
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Switch GStreamer 1.19 version checks to 1.20 now that it is officially released. Also
include a couple fixes that are needed with GStreamer 1.20 and one that is useful whatever
the GStreamer version:
- GStreamer 1.20 ships a vp8alphadecodebin element able to handle video/x-vp8 caps, so our libwebrtc decoder factory needs to account for its presence, in addition to vp8dec.
- With GStreamer 1.20 media/media-source/media-source-seek-back.html started racy crashing in the VideoTrackPrivateGStreamer configuration update, where the track was disconnected (hence its stream was cleared) and then a GObject notification was emitted by decodebin3. We should actually disconnect the GObject signal handlers before clearing the stream, to prevent potential null pointer access.
- platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::handleNewDeinterleavePad):
- platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
(WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad):
- platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::AudioTrackPrivateGStreamer::disconnect):
- platform/graphics/gstreamer/GStreamerCommon.h:
- platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
(WebCore::ImageDecoderGStreamer::InnerDecoder::connectDecoderPad):
- platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:
(WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::VideoTrackPrivateGStreamer::disconnect):
- platform/mediastream/libwebrtc/gstreamer/GStreamerVideoDecoderFactory.cpp:
(WebCore::VP8Decoder::Create):
Tools/buildstream:
Update from GStreamer 1.18.5 to 1.20.0, along with the FDO SDK 21.08.10 release, allowing us
to remove 3 vendored patches, all upstreamed.
- elements/freedesktop-sdk.bst:
- elements/sdk/gst-libav.bst:
- elements/sdk/gst-plugins-bad.bst:
- elements/sdk/gst-plugins-base.bst:
- elements/sdk/gst-plugins-good.bst:
- elements/sdk/gst-plugins-ugly.bst:
- elements/sdk/gstreamer.bst:
- patches/0001-binutils-import-upstream-patches-for-thin-archive-su.patch: Removed.
- patches/gst-plugins-bad-0001-debugutils-Add-fakeaudiosink-element.patch: Removed.
- patches/gstreamer-0001-devicemonitor-Stop-only-the-already-started-provider.patch: Removed.
- 12:10 AM Changeset in webkit [289153] by
-
- 18 edits in trunk/Source
Notification refactoring
https://bugs.webkit.org/show_bug.cgi?id=236169
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No behavior change)
Some "no behavior change" refactors broken out from an upcoming larger patch, including:
- Make Notification objects reliant on ScriptExecutionContext instead of Document
- Give them a direct path to a NotificationClient instead of having to go through a Page's NotificationController
- Give ScriptExecutionContext's a sessionID() accessor for future use
- Some Notification object threading hardening
- Modules/notifications/Notification.cpp:
(WebCore::Notification::create):
(WebCore::Notification::Notification):
(WebCore::Notification::show):
(WebCore::Notification::close):
(WebCore::Notification::clientFromContext):
(WebCore::Notification::stop):
(WebCore::Notification::dispatchErrorEvent):
(WebCore::Notification::permission):
(WebCore::Notification::requestPermission):
(WebCore::Notification::data const):
(WebCore::Notification::document const): Deleted.
- Modules/notifications/Notification.h:
- Modules/notifications/NotificationClient.h:
- Modules/notifications/NotificationData.h:
(WebCore::NotificationData::encode const):
(WebCore::NotificationData::decode):
- dom/Document.cpp:
(WebCore::Document::notificationClient):
(WebCore::Document::sessionID const):
- dom/Document.h:
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::isServiceWorkerGlobalScope const):
(WebCore::ScriptExecutionContext::notificationClient):
(WebCore::ScriptExecutionContext::sessionID const):
- workers/WorkerThread.h:
- workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::create):
(WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):
- workers/service/ServiceWorkerGlobalScope.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::generateWorkerParameters):
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
(WebCore::m_notificationClient):
(WebCore::ServiceWorkerThread::createWorkerGlobalScope):
- workers/service/context/ServiceWorkerThread.h:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
- workers/service/context/ServiceWorkerThreadProxy.h:
Source/WebKit:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):
Feb 4, 2022:
- 11:26 PM Changeset in webkit [289152] by
-
- 9 edits in trunk
WeakRef deref can return null instead of undefined
https://bugs.webkit.org/show_bug.cgi?id=235880
Reviewed by Sam Weinig and Alexey Shvayka.
JSTests:
- stress/v8-finalizationregistry-and-weakref.js:
(setTimeout):
Source/JavaScriptCore:
WeakRef#deref should return undefined[1] when a wrapped object is collected.
[1]: https://tc39.es/ecma262/#sec-weakrefderef
- runtime/WeakObjectRefPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
LayoutTests:
- js/script-tests/weakref-async-is-collected.js:
(async test):
- js/script-tests/weakref-eventually-collects-values.js:
(let.weakRefs.async test):
- js/script-tests/weakref-finalizationregistry.js:
(async test):
- js/script-tests/weakref-microtasks-dont-collect.js:
(async test):
- 10:38 PM Changeset in webkit [289151] by
-
- 5 edits2 adds in trunk
ch unit fallback size doesn't match the spec
https://bugs.webkit.org/show_bug.cgi?id=236073
<rdar://problem/88513297>
Reviewed by Cameron McCormack.
Source/WebCore:
The spec (https://drafts.csswg.org/css-values-4/#ch) says:
In the cases where it is impossible or impractical to determine the measure of the â0â glyph, it must be assumed to be 0.5em wide
Test: fast/text/ch-unit-without-zero-glyph.html
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeUnzoomedNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
- platform/graphics/Font.cpp:
(WebCore::Font::platformGlyphInit):
- platform/graphics/FontMetrics.h:
(WebCore::FontMetrics::zeroWidth const):
(WebCore::FontMetrics::reset):
LayoutTests:
This can't be a WPT test because it uses an SVG font which we're the only browser to support.
- fast/text/ch-unit-without-zero-glyph-expected.html: Added.
- fast/text/ch-unit-without-zero-glyph.html: Added.
- 10:11 PM Changeset in webkit [289150] by
-
- 2 edits in trunk/Source/WebKit
Don't use adattributiond on iOS
https://bugs.webkit.org/show_bug.cgi?id=236157
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-04
Reviewed by John Wilander.
It is still having configuration issues such as rdar://88334217
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):
- 9:32 PM Changeset in webkit [289149] by
-
- 9 edits in trunk/Source/WebCore
Update MediaStreamTrack understanding of source type
https://bugs.webkit.org/show_bug.cgi?id=236165
<rdar://problem/88513632>
Reviewed by Jer Noble.
Before bug 235838, RealtimeMediaSource::Type was either Audio or Video. That bug
added new types for screen, window, and system audio capture, but MediaStreamTrack
wasn't updated to account for them. Instead of checking a source's type, use the new
hasAudioand 'hasVideo` methods.
No new tests, covered by existing tests.
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::getAudioTracks const):
(WebCore::MediaStream::getVideoTracks const):
(WebCore::MediaStream::filteredTracks const):
(WebCore::MediaStream::trackVectorForType const): Deleted.
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::~MediaStreamTrack):
(WebCore::MediaStreamTrack::kind const):
(WebCore::MediaStreamTrack::setContentHint):
(WebCore::MediaStreamTrack::trackEnded):
(WebCore::MediaStreamTrack::isCapturingAudio const):
- Modules/mediastream/MediaStreamTrack.h:
(WebCore::MediaStreamTrack::hasVideo const):
(WebCore::MediaStreamTrack::hasAudio const):
- platform/mediastream/MediaStreamTrackPrivate.h:
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::setType):
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp:
(WebCore::sourceTypeForDevice):
(WebCore::DisplayCaptureSourceCocoa::DisplayCaptureSourceCocoa): Set the correct
source type.
- 8:04 PM Changeset in webkit [289148] by
-
- 2 edits in trunk/Source/WTF
Make isNaNConstExpr actually constexpr
https://bugs.webkit.org/show_bug.cgi?id=236162
Reviewed by Darin Adler.
- wtf/MathExtras.h:
(WTF::isNaNConstExpr): Add missing constexpr.
- 7:30 PM Changeset in webkit [289147] by
-
- 7 edits in trunk/Source/WebKit
[AX] Stop creating sandbox extensions for preference services
https://bugs.webkit.org/show_bug.cgi?id=232956
<rdar://problem/85260698>
Reviewed by Geoffrey Garen.
Stop creating sandbox extensions for preference services when AX is enabled. There have been many code changes
related to updating AX preferences in the WebContent process, which is why we think this is not needed anymore.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::registerNotificationObservers):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- WebProcess/com.apple.WebProcess.sb.in:
- 6:54 PM Changeset in webkit [289146] by
-
- 9 edits in trunk/Source/WebKit
Lay the groundwork for markLayersVolatileImmediatelyIfPossible() being an asynchronous operation
https://bugs.webkit.org/show_bug.cgi?id=236034
Reviewed by Tim Horton.
With DOM rendering in the GPU Process, markLayersVolatileImmediatelyIfPossible() will need
to do IPC to mark surfaces volatile, and we want that to be async IPC. So change the plumbing from
WebPage to RemoteLayerBackingStoreCollection to be callback-based, with a completion handler.
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::tryMarkAllBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatileImmediatelyIfPossible): Deleted.
- WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::tryMarkLayersVolatile):
- WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::markLayersVolatileImmediatelyIfPossible): Deleted.
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::tryMarkLayersVolatile):
(WebKit::RemoteLayerTreeDrawingArea::markLayersVolatileImmediatelyIfPossible): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::tryMarkLayersVolatile):
(WebKit::WebPage::layerVolatilityTimerFired):
(WebKit::WebPage::markLayersVolatile):
(WebKit::WebPage::markLayersVolatileOrRetry):
(WebKit::WebPage::tryMarkLayersVolatileCompletionHandler):
(WebKit::WebPage::markLayersVolatileImmediatelyIfPossible): Deleted.
- WebProcess/WebPage/WebPage.h:
- 5:55 PM Changeset in webkit [289145] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] Use os_unfair_lock instead of spinlock
https://bugs.webkit.org/show_bug.cgi?id=236158
Reviewed by Geoffrey Garen.
os_unfair_lock is very fast while it can properly suspend threads.
A/B test result was neutral on Speedometer2 and JetStream2. So, to
reduce unnecessary CPU spins, let's replace spinlock with os_unfair_lock
if it is supported (if OS is Darwin).
- libpas/src/libpas/pas_config.h:
- 4:51 PM Changeset in webkit [289144] by
-
- 4 edits in trunk/Source/bmalloc
[libpas] allocation failure crash should be PAS_NEVER_INLINE
https://bugs.webkit.org/show_bug.cgi?id=236164
Reviewed by Saam Barati.
We introduce pas_allocation_result_crash_on_error function which can leave OOM crash
information in the crash log. To keep this non-inlined, we annotate it PAS_NEVER_INLINE.
- libpas/src/libpas/pas_allocation_result.h:
(pas_allocation_result_crash_on_error):
- libpas/src/libpas/pas_utils.c:
(pas_panic_on_out_of_memory_error):
- libpas/src/libpas/pas_utils.h:
- 4:48 PM Changeset in webkit [289143] by
-
- 2 edits in trunk/Tools
Add test for the fix in https://bugs.webkit.org/show_bug.cgi?id=235928
https://bugs.webkit.org/show_bug.cgi?id=236152
Patch by Matt Gilligan <matthew_gilligan@apple.com> on 2022-02-04
Reviewed by Tim Horton.
- TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
- 4:28 PM Changeset in webkit [289142] by
-
- 2 edits in trunk/Source/WebCore
[macOS] ScreenCaptureKitCaptureSource only outputs one frame
https://bugs.webkit.org/show_bug.cgi?id=236161
<rdar://problem/88510634>
Reviewed by Jer Noble.
Don't WTFMove() a lambda-captured variable if the lambda will be called again.
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
(WebCore::ScreenCaptureKitCaptureSource::frameAvailableHandler):
- 4:05 PM Changeset in webkit [289141] by
-
- 65 edits in trunk/LayoutTests/imported/w3c
Unreviewed, land missing baseline for Shared Worker test.
Patch by Chris Dumez <Chris Dumez> on 2022-02-04
- web-platform-tests/service-workers/service-worker/claim-shared-worker-fetch.https-expected.txt: Added.
- 3:39 PM Changeset in webkit [289140] by
-
- 19 edits in trunk
REGRESSION(r280077): [GTK] It caused 155 new test failures
https://bugs.webkit.org/show_bug.cgi?id=228153
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-02-04
Reviewed by Michael Catanzaro.
Source/WebKit:
Pass the GTKSettingsState in the WebProcessCreationParameters rather
than the WebPageCreationParameters, to ensure the correct GTK settings
are always applied in a new WebProcess.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_appHighlightsVisible):
(WebKit::WebPage::reinitializeWebPage):
- WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
Tools:
Move initializeGtkSettings() from the InjectedBundle to the test runner,
since GTK settings are automatically propagated from the UI process to
the web processes.
- WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::activateFonts):
(WTR::initializeGtkSettings): Deleted.
- WebKitTestRunner/gtk/main.cpp:
(initializeGtkSettings):
(main):
LayoutTests:
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations: Garden tests that no longer fail.
- platform/gtk/css1/font_properties/font-expected.txt:
- platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/css-fonts/animations/system-fonts-expected.txt:
- platform/wpe/TestExpectations:
- 3:21 PM Changeset in webkit [289139] by
-
- 9 edits3 adds in trunk
Add PushDatabase
https://bugs.webkit.org/show_bug.cgi?id=234194
Reviewed by Brady Eidson.
Source/WebCore:
This adds a persistence layer for push subscriptions stored in webpushd. The operations
that we support for now are:
- inserting a record (used when subscribing)
- removing a record (used when unsubscribing)
- retrieving a record (used when receiving a push)
- enumerating all records by wake state (used to provide the push service the list of all topics that we are subscribed to by wake state)
There are two basic data types in this data model:
- Subscriptions, which are uniquely identified by (bundleID, serviceWorkerScope). This stores data that is unique to each subscription, e.g. encryption keys and the HTTP endpoint used by the server to send pushes to this subscription.
- SubscriptionSets, which encompass one or more Subscriptions, and are uniquely identified by (bundleID, securityOrigin). This stores state this common to multiple subscriptions, e.g. whether or not all pushes sent by a particular origin should be non-waking.
For instance, suppose webkit.org in Safari has two service worker registrations scoped to
webkit.org/foo and webkit.org/bar. Each registration has successfully registered for push.
This would result in three rows in the database:
- Subscription row identified by (bundleID=safari, scope=webkit.org/foo)
- Subscription row identified by (bundleID=safari, scope=webkit.org/bar)
- SubscriptionSet row identified by (bundleID=safari, securityOrigin=webkit.org)
Both subscriptions (1) and (2) are part of the subscription set (3).
Covered by new API tests.
- Headers.cmake:
- Modules/push-api/PushDatabase.cpp: Added.
(WebCore::PushRecord::isolatedCopy const):
(WebCore::PushRecord::isolatedCopy):
(WebCore::openAndMigrateDatabaseImpl):
(WebCore::openAndMigrateDatabase):
(WebCore::PushDatabase::create):
(WebCore::PushDatabase::PushDatabase):
(WebCore::PushDatabase::~PushDatabase):
(WebCore::PushDatabase::dispatchOnWorkQueue):
(WebCore::PushDatabase::cachedStatementOnQueue):
(WebCore::bindExpirationTime):
(WebCore::expirationTimeFromValue):
(WebCore::completeOnMainQueue):
(WebCore::PushDatabase::insertRecord):
(WebCore::PushDatabase::removeRecordByIdentifier):
(WebCore::makePushRecordFromRow):
(WebCore::PushDatabase::getRecordByTopic):
(WebCore::PushDatabase::getRecordByBundleIdentifierAndScope):
(WebCore::PushDatabase::getIdentifiers):
(WebCore::PushDatabase::getTopicsByWakeState):
- Modules/push-api/PushDatabase.h: Added.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/Logging.h:
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::inMemoryPath):
(WebCore::SQLiteDatabase::open):
- platform/sql/SQLiteDatabase.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/PushDatabase.cpp: Added.
(TestWebKitAPI::getTopicsByWakeStateSync):
(TestWebKitAPI::PushDatabaseTest::insertRecord):
(TestWebKitAPI::PushDatabaseTest::removeRecordByRowIdentifier):
(TestWebKitAPI::PushDatabaseTest::getRecordByTopic):
(TestWebKitAPI::PushDatabaseTest::getRecordByBundleIdentifierAndScope):
(TestWebKitAPI::PushDatabaseTest::getRowIdentifiers):
(TestWebKitAPI::PushDatabaseTest::getTopicsByWakeState):
(TestWebKitAPI::operator==):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::makeTemporaryDatabasePath):
(TestWebKitAPI::TEST):
- 2:49 PM Changeset in webkit [289138] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r289124.
https://bugs.webkit.org/show_bug.cgi?id=236160
Introduced crash
Reverted changeset:
"[macOS][WP] Add telemetry for syscalls used during launch"
https://bugs.webkit.org/show_bug.cgi?id=235865
https://commits.webkit.org/r289124
- 2:17 PM Changeset in webkit [289137] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Block access to syscalls that are only used during launch
https://bugs.webkit.org/show_bug.cgi?id=236102
<rdar://problem/88454893>
Reviewed by Brent Fulgham.
On iOS, block access to 12 Unix syscalls and 4 Mach syscalls after the WebContent process has finished launching.
These syscalls are only used during launch.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 1:34 PM Changeset in webkit [289136] by
-
- 1 copy in tags/Safari-614.1.2
Tag Safari-614.1.2.
- 1:29 PM Changeset in webkit [289135] by
-
- 6 edits2 deletes in trunk
Unreviewed, reverting r289098.
https://bugs.webkit.org/show_bug.cgi?id=236154
caused some unexpected crashes
Reverted changeset:
"[RenderTreeBuilder] Clean up column spanners when style
change affects containing block"
https://bugs.webkit.org/show_bug.cgi?id=236042
https://commits.webkit.org/r289098
- 11:50 AM Changeset in webkit [289134] by
-
- 19 edits in trunk/Source
Remember whether cached main resources used private relay when considering whether to call _setPrivacyProxyFailClosed
https://bugs.webkit.org/show_bug.cgi?id=236125
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-04
Reviewed by Geoffrey Garen.
Source/WebCore:
Use an unused bit on disk to remember whether the response was originally received over private relay.
Also, instead of remembering on the main frame's DocumentLoader, remember on the WebProcess.
This makes it so if you enter the same URL twice, which loads from the MemoryCache from different WebCore::Pages, it still remembers.
If you load a different domain, it will load in a different WebProcess anyways, at which point you will not be using the same MemoryCache.
- loader/DocumentLoader.h:
(WebCore::DocumentLoader::setMainResourceWasPrivateRelayed): Deleted.
(WebCore::DocumentLoader::mainResourceWasPrivateRelayed const): Deleted.
Source/WebKit:
- NetworkProcess/NetworkLoadParameters.h:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::makeEntry):
(WebKit::NetworkCache::Cache::store):
(WebKit::NetworkCache::Cache::update):
- NetworkProcess/cache/NetworkCache.h:
- NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::Entry):
(WebKit::NetworkCache::Entry::encodeAsStorageRecord const):
(WebKit::NetworkCache::Entry::decodeStorageRecord):
- NetworkProcess/cache/NetworkCacheEntry.h:
(WebKit::NetworkCache::Entry::privateRelayed const):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::didReceiveResponse):
(WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
- NetworkProcess/cache/PrefetchCache.cpp:
(WebKit::PrefetchCache::Entry::Entry):
(WebKit::PrefetchCache::store):
- NetworkProcess/cache/PrefetchCache.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::addParametersShared):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResponse):
- WebProcess/WebProcess.h:
(WebKit::WebProcess::setHadMainFrameMainResourcePrivateRelayed):
(WebKit::WebProcess::hadMainFrameMainResourcePrivateRelayed const):
- 11:46 AM Changeset in webkit [289133] by
-
- 2 edits in trunk/Tools
Unreviewed, reverting r289067.
https://bugs.webkit.org/show_bug.cgi?id=236149
Broke WinCairo LayoutTests
Reverted changeset:
"REGRESSION(r288878)
webkitpy.layout_tests.controllers.layout_test_finder_legacy_unittest.LayoutTestFinderTests
tests are failing with Windows Python"
https://bugs.webkit.org/show_bug.cgi?id=236043
https://commits.webkit.org/r289067
- 11:36 AM Changeset in webkit [289132] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Input geometry to layout (BoxGeometry) should be all logical
https://bugs.webkit.org/show_bug.cgi?id=236120
Reviewed by Antti Koivisto.
Now (after adding support for inline base direction), it's clear that BoxGeometry, as input to inline line layout,
should hold logical values only (this is somewhat of a revert of r269818).
It also fixes ~40 tests under imported/w3c/web-platform-tests/css/css-writing-modes.
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions): We need logical vs. visual flip based on
in what writing direction the box lives in and not what it establishes for its descendants.
- 11:19 AM Changeset in webkit [289131] by
-
- 4 edits in trunk/Source/WebCore
Cache some expensive AXIsolatedObject properties lazily.
https://bugs.webkit.org/show_bug.cgi?id=236115
<rdar://problem/88467667>
Reviewed by Chris Fleizach.
Some properties can be very expensive to compute for every object, and
may not even be used by the clients. Furthermore
descriptionAttributeValue() and titleAttributeValue() call
textUnderElement() which may crash if it is called in the middle of a
layout. This is the actual cause of
https://bugs.webkit.org/show_bug.cgi?id=220446.
In this patch, we delay the computation and caching of these two
properties until they are first requested. This solves both the wasteful
computation if these properties are not used, and more importantly the
crash in the above mentioned bug.
This is a follow up change to:
https://bugs.webkit.org/show_bug.cgi?id=236053
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::getOrRetrieveStringPropertyValue):
New method to lazily retrieve and cache any String property.
(WebCore::AXIsolatedObject::innerHTML const): Uses getOrRetrieveStringPropertyValue.
(WebCore::AXIsolatedObject::outerHTML const): Dito.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::initializePlatformProperties):
No longer caches the above mentioned properties.
(WebCore::AXIsolatedObject::descriptionAttributeValue const): Uses getOrRetrieveStringPropertyValue.
(WebCore::AXIsolatedObject::titleAttributeValue const): Dito.
- 10:58 AM Changeset in webkit [289130] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r289069.
https://bugs.webkit.org/show_bug.cgi?id=236146
Introduced sandbox violation
Reverted changeset:
"[iOS][WP] Enable sandbox state rules for Mach messages"
https://bugs.webkit.org/show_bug.cgi?id=236027
https://commits.webkit.org/r289069
- 10:53 AM Changeset in webkit [289129] by
-
- 14 edits in trunk
[GTK] Crash when starting DND on touchscreen
https://bugs.webkit.org/show_bug.cgi?id=235694
Reviewed by Adrian Perez de Castro.
Source/WebCore:
- page/DragController.cpp:
(WebCore::DragController::startDrag):
Skip drags for touch events on GTK.
- platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::isTouchEvent const):
Source/WebKit:
Drag-n-drop on touch has never worked correctly in GTK, and is usually
just disabled. Do the same thing and ignore it for synthesized mouse
events.
- Shared/NativeWebMouseEvent.h:
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
- Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode const):
(WebKit::WebMouseEvent::decode):
- Shared/WebMouseEvent.h:
(WebKit::WebMouseEvent::isTouchEvent const):
- Shared/gtk/NativeWebMouseEventGtk.cpp:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseTouchRelease):
(webkitWebViewBaseTouchDragUpdate):
(webkitWebViewBaseTouchDragEnd):
(webkitWebViewBaseSynthesizeMouseEvent):
- UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
- UIProcess/gtk/PointerLockManager.cpp:
(WebKit::PointerLockManager::handleMotion):
Tools:
- TestWebKitAPI/glib/CMakeLists.txt: Define BUILDING_TestWebKit
- 10:50 AM Changeset in webkit [289128] by
-
- 6 edits in trunk/Source
Revert some structured binding workarounds with Clang
https://bugs.webkit.org/show_bug.cgi?id=236098
Reviewed by Sam Weinig.
Revert structured bindings workarounds made in r288309, r261572, r249524 now that this is fixed in clang.
Source/WebCore:
- Modules/indexeddb/server/MemoryObjectStore.cpp:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
- inspector/agents/InspectorNetworkAgent.cpp:
Source/WebKit:
- NetworkProcess/storage/StorageAreaBase.cpp:
- 10:42 AM Changeset in webkit [289127] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r289125.
https://bugs.webkit.org/show_bug.cgi?id=236145
Introduced sandbox violation
Reverted changeset:
"[iOS][WP] Block access to syscalls that are only used during
launch"
https://bugs.webkit.org/show_bug.cgi?id=236102
https://commits.webkit.org/r289125
- 10:23 AM Changeset in webkit [289126] by
-
- 1 edit5 adds in trunk/Websites/webkit.org
Add <dialog> element demos for blog post
https://bugs.webkit.org/show_bug.cgi?id=236143
Reviewed by Simon Fraser.
- demos/dialog-element/confirmation-dialog-basic.html: Added.
- demos/dialog-element/confirmation-dialog-form.html: Added.
- demos/dialog-element/dark-theme.css: Added.
(body):
(@media (prefers-color-scheme: dark) dialog):
- demos/dialog-element/styled-dialog.html: Added.
- 10:21 AM Changeset in webkit [289125] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Block access to syscalls that are only used during launch
https://bugs.webkit.org/show_bug.cgi?id=236102
<rdar://problem/88454893>
Reviewed by Brent Fulgham.
On iOS, block access to 12 Unix syscalls and 4 Mach syscalls after the WebContent process has finished launching.
These syscalls are only used during launch.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 10:19 AM Changeset in webkit [289124] by
-
- 2 edits in trunk/Source/WebKit
[macOS][WP] Add telemetry for syscalls used during launch
https://bugs.webkit.org/show_bug.cgi?id=235865
<rdar://problem/88228583>
Reviewed by Brent Fulgham.
Add telemetry in the WebContent process' sandbox on macOS to determine which syscalls are used only during launch.
- WebProcess/com.apple.WebProcess.sb.in:
- 10:17 AM Changeset in webkit [289123] by
-
- 4 edits in trunk/Source/WebKit
[iOS][macOS] Adjust sysctl sandbox access
https://bugs.webkit.org/show_bug.cgi?id=236082
<rdar://problem/88436174>
Reviewed by Brent Fulgham.
Adjust sysctl sandbox access based on telemetry.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- 9:26 AM Changeset in webkit [289122] by
-
- 9 edits2 adds in trunk
Gradients don't correctly interpolate missing/none color components correctly
https://bugs.webkit.org/show_bug.cgi?id=236025
Reviewed by Simon Fraser.
Source/WebCore:
Test: fast/gradients/gradient-with-missing-components.html
- platform/graphics/Color.cpp:
(WebCore::Color::anyComponentIsNone const):
- platform/graphics/Color.h:
Add helper to check if any component is 'none'.
- platform/graphics/ColorComponents.h:
(WebCore::operator==):
Update operator== for ColorComponents to be none-aware and treat
two components that are both none as equal.
- platform/graphics/ColorTypes.h:
(WebCore::assertInRange):
(WebCore::constexprIsNaN): Deleted.
Adopt shared version of the constexpr isnan.
- platform/graphics/cg/GradientRendererCG.cpp:
(WebCore::anyComponentIsNone):
(WebCore::GradientRendererCG::pickStrategy const):
(WebCore::GradientRendererCG::makeShading const):
Use the CGShaderRef strategy if any component of any stop is none, as it
is the only one that currently supports it correctly. Ensure none is preserved
by utilizing the unresolved component values. This can be optimized in the
future by preprocessing the color stops to pre-resolve the none components,
even allowing the CGGradientRef path to be used for supported cases.
Source/WTF:
Move isNaNConstExpr to MathExtras.h from WebCore so it can used in multiple places.
- wtf/MathExtras.h:
(WTF::isNaNConstExpr):
LayoutTests:
Add tests of gradients with explicit 'none' components in some of the colors.
- fast/gradients/gradient-with-missing-components-expected.html: Added.
- fast/gradients/gradient-with-missing-components.html: Added.
- 9:06 AM Changeset in webkit [289121] by
-
- 5 edits5 adds in trunk
Fix App Privacy Report redirect attribution
https://bugs.webkit.org/show_bug.cgi?id=236111
Reviewed by Brent Fulgham.
Source/WebCore:
Test: http/tests/app-privacy-report/user-attribution-redirect.html
Test: http/tests/app-privacy-report/app-attribution-redirect.html
- platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
Source/WebKit:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
LayoutTests:
- http/tests/app-privacy-report/resources/redirect.js: Added.
- http/tests/app-privacy-report/app-attribution-redirect-expected.txt: Added.
- http/tests/app-privacy-report/app-attribution-redirect.html: Added.
- http/tests/app-privacy-report/user-attribution-redirect-expected.txt: Added.
- http/tests/app-privacy-report/user-attribution-redirect.html: Added.
- 9:04 AM Changeset in webkit [289120] by
-
- 1 edit1 add in trunk/LayoutTests/imported/w3c
Unreviewed, land missing baseline for Shared Worker test.
- web-platform-tests/service-workers/service-worker/claim-shared-worker-fetch.https-expected.txt: Added.
- 9:02 AM Changeset in webkit [289119] by
-
- 12 edits2 adds in trunk/LayoutTests
Unreviewed, unskip more Shared Worker layout tests on WK2.
LayoutTests/imported/w3c:
- web-platform-tests/content-security-policy/connect-src/shared-worker-connect-src-allowed.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/connect-src/shared-worker-connect-src-blocked.sub-expected.txt: Added.
- web-platform-tests/eventsource/shared-worker/eventsource-close-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-constructor-non-same-origin-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-eventtarget-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-onmessage-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-onopen-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-prototype-expected.txt:
- web-platform-tests/eventsource/shared-worker/eventsource-url-expected.txt:
LayoutTests:
- TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 8:50 AM Changeset in webkit [289118] by
-
- 3 edits in trunk/Tools/buildstream
[Flatpak SDK] Extension points for the Flatpak Sparkle-CDM extension
https://bugs.webkit.org/show_bug.cgi?id=235490
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-04
Reviewed by Adrian Perez de Castro.
Allow Sparkle-CDM extension in Sdk/Platform runtimes. A follow-up patch will add support for
the extension installation.
- elements/flatpak/platform.bst:
- elements/flatpak/sdk.bst:
- 8:41 AM Changeset in webkit [289117] by
-
- 145 edits in trunk/Source/WebCore
[WebIDL] Rename Document / ScriptExecutionContext / GlobalObject values of [*CallWith] to include "Current"
https://bugs.webkit.org/show_bug.cgi?id=236137
Reviewed by Chris Dumez.
Before this change, _current_ realm was kinda an implicit default, which didn't
match all newer standards that use _relevant_ per recommendation for spec authors [1].
Making _relevant_ a default isn't feasible either: there are plenty usages of
[CallWith=GlobalObject] for converting JS values to WebIDL, which are correct,
and some older specs like IndexedDB require it.
Since there is no way for static operations / attributes to acquire a _relevant_
realm, this patch asserts that Relevant* values aren't used with them.
That could probably be expanded for constructors, given their "prototype"s are
unforgeable, yet before doing that we should investigate how other vendors are
handling cross-realm NewTarget.
[1] https://html.spec.whatwg.org/multipage/webappapis.html#realms-settings-objects-global-objects:concept-relevant-everything-2
No new tests, no behavior change.
- Modules/WebGPU/GPUAdapter.idl:
- Modules/applepay/ApplePaySession.idl:
- Modules/applepay/ApplePaySetup.idl:
- Modules/beacon/Navigator+Beacon.idl:
- Modules/cache/WindowOrWorkerGlobalScope+Caches.idl:
- Modules/encryptedmedia/MediaKeyStatusMap.idl:
- Modules/encryptedmedia/MediaKeySystemAccess.idl:
- Modules/encryptedmedia/MediaKeys.idl:
- Modules/encryptedmedia/Navigator+EME.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeys.idl:
- Modules/entriesapi/DOMFileSystem.idl:
- Modules/entriesapi/FileSystemDirectoryEntry.idl:
- Modules/entriesapi/FileSystemDirectoryReader.idl:
- Modules/entriesapi/FileSystemEntry.idl:
- Modules/entriesapi/FileSystemFileEntry.idl:
- Modules/entriesapi/HTMLInputElement+EntriesAPI.idl:
- Modules/fetch/FetchBody.idl:
- Modules/fetch/FetchRequest.idl:
- Modules/fetch/FetchResponse.idl:
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBFactory.idl:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBKeyRange.idl:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/mediacapabilities/MediaCapabilities.idl:
- Modules/mediarecorder/MediaRecorder.idl:
- Modules/mediasession/MediaMetadata.idl:
- Modules/mediasession/MediaSessionPlaylistMixin.idl:
- Modules/mediasource/DOMURL+MediaSource.idl:
- Modules/mediasource/MediaSource.idl:
- Modules/mediastream/MediaStream.idl:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/RTCRtpReceiver.idl:
- Modules/mediastream/RTCRtpSFrameTransform.idl:
- Modules/mediastream/RTCRtpScriptTransform.idl:
- Modules/mediastream/RTCRtpScriptTransformer.idl:
- Modules/mediastream/RTCRtpSender.idl:
- Modules/notifications/Notification.idl:
- Modules/paymentrequest/MerchantValidationEvent.idl:
- Modules/paymentrequest/PaymentRequest.idl:
- Modules/paymentrequest/PaymentResponse.idl:
- Modules/push-api/PushManager.idl:
- Modules/push-api/PushMessageData.idl:
- Modules/push-api/PushSubscription.idl:
- Modules/speech/SpeechRecognition.idl:
- Modules/speech/SpeechSynthesisUtterance.idl:
- Modules/streams/WritableStream.idl:
- Modules/streams/WritableStreamSink.idl:
- Modules/webaudio/AudioBuffer.idl:
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/AudioWorkletNode.idl:
- Modules/webaudio/AudioWorkletProcessor.idl:
- Modules/webaudio/BaseAudioContext.idl:
- Modules/webaudio/IIRFilterNode.idl:
- Modules/webaudio/OfflineAudioContext.idl:
- Modules/webauthn/PublicKeyCredential.idl:
- Modules/websockets/WebSocket.idl:
- Modules/webxr/WebXRFrame.idl:
- Modules/webxr/WebXRSystem.idl:
- animation/Animatable.idl:
- animation/DocumentTimeline.idl:
- animation/KeyframeEffect.idl:
- bindings/scripts/CodeGenerator.pm:
(ExtendedAttributeContains):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributeGetterBodyDefinition):
(GenerateCallWith):
(GenerateParametersCheck):
- bindings/scripts/IDLAttributes.json:
- bindings/scripts/test/JS/*: Updated.
- bindings/scripts/test/TestInterface.idl:
- bindings/scripts/test/TestLegacyFactoryFunction.idl:
- bindings/scripts/test/TestMixinInterface.idl:
- bindings/scripts/test/TestObj.idl:
- bindings/scripts/test/TestPromiseRejectionEvent.idl:
- bindings/scripts/test/TestSupplemental.idl:
- crypto/SubtleCrypto.idl:
- css/DOMCSSNamespace+CSSPainting.idl:
- css/DOMCSSNamespace+CSSPropertiesandValues.idl:
- css/DOMCSSNamespace.idl:
- css/DOMMatrix.idl:
- css/DOMMatrixReadOnly.idl:
- css/FontFace.idl:
- css/FontFaceSet.idl:
- dom/AbortController.idl:
- dom/AbortSignal.idl:
- dom/BroadcastChannel.idl:
- dom/Comment.idl:
- dom/DataTransfer.idl:
- dom/DataTransferItem.idl:
- dom/DeviceMotionEvent.idl:
- dom/DeviceOrientationEvent.idl:
- dom/Document.idl:
- dom/DocumentFragment.idl:
- dom/Element.idl:
- dom/ErrorEvent.idl:
- dom/EventTarget.idl:
- dom/MessageChannel.idl:
- dom/MessagePort.idl:
- dom/MouseEvent.idl:
- dom/Range.idl:
- dom/Text.idl:
- fileapi/Blob.idl:
- fileapi/File.idl:
- fileapi/FileReader.idl:
- fileapi/FileReaderSync.idl:
- html/DOMURL.idl:
- html/HTMLAudioElement.idl:
- html/HTMLCanvasElement.idl:
- html/HTMLFrameElement.idl:
- html/HTMLImageElement.idl:
- html/HTMLOptionElement.idl:
- html/HTMLOutputElement.idl:
- html/MediaController.idl:
- html/OffscreenCanvas.idl:
- html/track/DataCue.idl:
- html/track/TextTrackCue.idl:
- html/track/VTTCue.idl:
- html/track/VTTRegion.idl:
- inspector/CommandLineAPIHost.idl:
- inspector/InspectorAuditAccessibilityObject.idl:
- inspector/InspectorAuditResourcesObject.idl:
- page/DOMWindow.idl:
- page/EventSource.idl:
- page/IntersectionObserver.idl:
- page/NavigatorServiceWorker.idl:
- page/NavigatorShare.idl:
- page/Performance+UserTiming.idl:
- page/PerformanceMark.idl:
- page/PerformanceMeasure.idl:
- page/PerformanceObserver.idl:
- page/RemoteDOMWindow.idl:
- page/ResizeObserver.idl:
- page/WindowOrWorkerGlobalScope.idl:
- testing/Internals.idl:
- testing/ServiceWorkerInternals.idl:
- testing/WebXRTest.idl:
- workers/DedicatedWorkerGlobalScope.idl:
- workers/Worker.idl:
- workers/service/FetchEvent.idl:
- workers/service/ServiceWorker.idl:
- workers/service/ServiceWorkerClient.idl:
- workers/service/ServiceWorkerClients.idl:
- workers/service/ServiceWorkerRegistration.idl:
- workers/shared/SharedWorker.idl:
- worklets/PaintWorkletGlobalScope.idl:
- xml/DOMParser.idl:
- xml/XMLHttpRequest.idl:
- 8:35 AM Changeset in webkit [289116] by
-
- 48 edits32 copies11 moves46 adds22 deletes in trunk
Fix WPT test importer and resync web-platform-tests/workers from upstream
https://bugs.webkit.org/show_bug.cgi?id=236101
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Resync web-platform-tests/workers from upstream a9f3552a2b771569201879ef1.
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/workers: Updated.
Tools:
Fix WPT test importer because:
- It wasn't creating tests with sharedworker.html suffix for .js tests with:
- META: global=sharedworker
- META: global=worker
- It was wrongly creating tests with a serviceworker.html suffix for .js tests with:
- META: global=dedicatedworker
- META without a global (upstream WPT only generates a .html and .worker.html in such case)
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.init):
(TestImporter.readEnvironmentsForTemplateTest):
LayoutTests:
- 8:20 AM Changeset in webkit [289115] by
-
- 2 edits3 deletes in trunk/LayoutTests
Unreviewed, drop badly imported test due to WPT importer bug getting fixed in Bug 236101.
LayoutTests/imported/w3c:
- web-platform-tests/css/filter-effects/idlharness.any.serviceworker-expected.txt: Removed.
- web-platform-tests/css/filter-effects/idlharness.any.serviceworker.html: Removed.
LayoutTests:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/filter-effects/idlharness.any.serviceworker-expected.txt: Removed.
- 8:06 AM Changeset in webkit [289114] by
-
- 2 edits7 adds in trunk/Source/WebKit
Import APSConnection-related SPI
https://bugs.webkit.org/show_bug.cgi?id=235856
Reviewed Youenn Fablet.
This imports the SPI declarations necessary to build against ApplePushService in WebKit. It
also includes a PushServiceConnection interface that can sit in front of APSConnection, and
a fake interface that will be fleshed out for testing purposes.
- Platform/spi/Cocoa/ApplePushServiceSPI.h: Added.
- WebKit.xcodeproj/project.pbxproj:
- webpushd/ApplePushServiceConnection.h: Added.
- webpushd/ApplePushServiceConnection.mm: Added.
(-[_WKAPSConnectionDelegate initWithConnection:]):
(-[_WKAPSConnectionDelegate connection:didReceivePublicToken:]):
(-[_WKAPSConnectionDelegate connection:didReceiveIncomingMessage:]):
(WebPushD::ApplePushServiceConnection::ApplePushServiceConnection):
(WebPushD::makeTokenInfo):
(WebPushD::ApplePushServiceConnection::subscribe):
(WebPushD::ApplePushServiceConnection::unsubscribe):
(WebPushD::ApplePushServiceConnection::enabledTopics):
(WebPushD::ApplePushServiceConnection::ignoredTopics):
(WebPushD::ApplePushServiceConnection::opportunisticTopics):
(WebPushD::ApplePushServiceConnection::nonWakingTopics):
(WebPushD::ApplePushServiceConnection::setEnabledTopics):
(WebPushD::ApplePushServiceConnection::setIgnoredTopics):
(WebPushD::ApplePushServiceConnection::setOpportunisticTopics):
(WebPushD::ApplePushServiceConnection::setNonWakingTopics):
(WebPushD::ApplePushServiceConnection::setTopicLists):
- webpushd/MockPushServiceConnection.h: Added.
- webpushd/MockPushServiceConnection.mm: Added.
(WebPushD::MockPushServiceConnection::MockPushServiceConnection):
(WebPushD::MockPushServiceConnection::subscribe):
(WebPushD::MockPushServiceConnection::unsubscribe):
(WebPushD::MockPushServiceConnection::enabledTopics):
(WebPushD::MockPushServiceConnection::ignoredTopics):
(WebPushD::MockPushServiceConnection::opportunisticTopics):
(WebPushD::MockPushServiceConnection::nonWakingTopics):
(WebPushD::MockPushServiceConnection::setEnabledTopics):
(WebPushD::MockPushServiceConnection::setIgnoredTopics):
(WebPushD::MockPushServiceConnection::setOpportunisticTopics):
(WebPushD::MockPushServiceConnection::setNonWakingTopics):
(WebPushD::MockPushServiceConnection::setTopicLists):
- webpushd/PushServiceConnection.h: Added.
- webpushd/PushServiceConnection.mm: Added.
(WebPushD::PushServiceConnection::startListeningForPushMessages):
(WebPushD::PushServiceConnection::didReceivePushMessage):
- 8:05 AM Changeset in webkit [289113] by
-
- 3 edits in trunk/Source/WebKit
[iOS][macOS] Adjust sandbox access to system-fcntl
https://bugs.webkit.org/show_bug.cgi?id=236095
<rdar://problem/88448068>
Reviewed by Brent Fulgham.
Adjust sandbox access in the WebContent process to system-fcntl based on telemetry.
This patch is blocking access to some unused fcntl commands, as well as blocking
access to fcntl commands that are only used when AppCache is enabled. This is
achieved by using sandbox state variables.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 7:47 AM Changeset in webkit [289112] by
-
- 6 edits1 delete in trunk
Unreviewed, reverting r288996.
https://bugs.webkit.org/show_bug.cgi?id=236141
Causing debug asserts
Reverted changeset:
"No breakpoints hit on github.com, and some are invalid"
https://bugs.webkit.org/show_bug.cgi?id=235607
https://commits.webkit.org/r288996
- 6:56 AM Changeset in webkit [289111] by
-
- 3 edits in trunk/Tools
[EWS] Rename CompileJSCWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=236104
<rdar://problem/88455463>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(CompileWebKit.evaluateCommand):
(AnalyzeCompileWebKitResults.analyzeResults):
(CompileJSCWithoutChange): Renamed from CompileJSCWithoutPatch.
(CompileJSCWithoutPatch): Rename to CompileJSCWithoutChange.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/246808@main
- 6:50 AM Changeset in webkit [289110] by
-
- 3 edits in trunk/Tools
[EWS] Rename RunWebKitTestsWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=236107
<rdar://problem/88459194>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(ReRunWebKitTests.evaluateCommand):
(RunWebKitTestsWithoutChange): Renamed from RunWebKitTestsWithoutPatch.
(RunWebKitTestsWithoutPatch): Renamed to RunWebKitTestsWithoutChange.
(RunWebKitTestsWithoutChangeRedTree): Renamed from RunWebKitTestsWithoutPatchRedTree.
(RunWebKitTestsWithoutPatchRedTree): Renamed to RunWebKitTestsWithoutChangeRedTree.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/246807@main
- 5:52 AM Changeset in webkit [289109] by
-
- 5 edits in trunk/Source/WebCore
[GTK][WPE] Use a Vector when defining the EGLImage attributes in the createImage
https://bugs.webkit.org/show_bug.cgi?id=236133
Patch by Alejandro G. Castro <alex@igalia.com> on 2022-02-04
Reviewed by Žan Doberšek.
No new tests, no change in behaviour
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createImage const): Replace the parameter
of createImage with a Vector, and use map to transform in case we
have to use the extension function.
- platform/graphics/egl/GLContextEGL.h: Ditto.
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:
(WebCore::TextureMapperPlatformLayerBuffer::TextureMapperPlatformLayerBuffer):
Fix a warning caused by the order of the parameter initialization.
- platform/graphics/texmap/TextureMapperPlatformLayerDmabuf.cpp:
(WebCore::TextureMapperPlatformLayerDmabuf::validateTexture):
Replace the C array with a Vector object.
- 3:58 AM Changeset in webkit [289108] by
-
- 6 edits in trunk
HTMLMediaElement should dispatch the resize event asynchronously
https://bugs.webkit.org/show_bug.cgi?id=230895
Reviewed by Darin Adler.
Source/WebCore:
The HTMLMediaElement is currently queueing a task to dispatch the resize event in the post layout phase.
There is no need to run it synchronously and we could move it to another queue were it will be run
asynchronously as it was done for other similar tasks in the past.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::layoutSizeChanged):
LayoutTests:
- media/modern-media-controls/media-controller/media-controller-resize.html: Remove the event
listener to avoid an extra notification.
- platform/mac/TestExpectations: Unskipped tests that pass now.
- platform/wincairo/TestExpectations: Ditto.
- 12:14 AM Changeset in webkit [289107] by
-
- 2 edits in trunk/Source/WebCore
Fix for non-unified builds after r286821 (245056@main)
https://bugs.webkit.org/show_bug.cgi?id=236129
Unreviewed, fixes missing header.
- workers/shared/SharedWorkerScriptLoader.h:
Feb 3, 2022:
- 11:16 PM Changeset in webkit [289106] by
-
- 15 edits5 adds in trunk/Source/WebCore
[GTK][WPE] Use dmabuf when possible to transfer ANGLE rendering to the compositor
https://bugs.webkit.org/show_bug.cgi?id=235946
Reviewed by Žan Doberšek.
Use dmabuf when available to transfer ANGLE WebGL rendering contents
to the compositor.
No new tests, no change in behaviour.
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- SourcesGTK.txt:
- SourcesWPE.txt:
- platform/TextureMapper.cmake:
- platform/graphics/OpenGLShims.cpp:
(WebCore::initializeOpenGLShims):
- platform/graphics/OpenGLShims.h:
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::prepareTextureImpl):
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::GLContextEGL):
(WebCore::GLContextEGL::createImage const):
(WebCore::GLContextEGL::destroyImage const):
- platform/graphics/egl/GLContextEGL.h:
- platform/graphics/gbm/GBMDevice.cpp: Added.
(WebCore::threadSpecificDevice):
(WebCore::GBMDevice::get):
(WebCore::GBMDevice::GBMDevice):
(WebCore::GBMDevice::~GBMDevice):
- platform/graphics/gbm/GBMDevice.h: Added.
(WebCore::GBMDevice::device const):
- platform/graphics/nicosia/texmap/NicosiaGCGLANGLEPipe.cpp:
(Nicosia::GCGLANGLEPipeSource::swapBuffersIfNeeded):
- platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::EGLImageBacking):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::~EGLImageBacking):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::format const):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::stride const):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::releaseResources):
(WebCore::GraphicsContextGLANGLE::EGLImageBacking::reset):
(WebCore::GraphicsContextGLANGLE::~GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLANGLE::reshapeDisplayBufferBacking):
- platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
(WebCore::TextureMapperPlatformLayerBuffer::textureVariant const):
(WebCore::TextureMapperPlatformLayerBuffer::size const):
(WebCore::TextureMapperPlatformLayerBuffer::textureVariant): Deleted.
- platform/graphics/texmap/TextureMapperPlatformLayerDmabuf.cpp: Added.
(WebCore::createFourCC):
(WebCore::fourCCToGLFormat):
(WebCore::formatHasAlpha):
(WebCore::TextureMapperPlatformLayerDmabuf::TextureMapperPlatformLayerDmabuf):
(WebCore::m_fd):
(WebCore::TextureMapperPlatformLayerDmabuf::~TextureMapperPlatformLayerDmabuf):
(WebCore::TextureMapperPlatformLayerDmabuf::validateTexture):
(WebCore::TextureMapperPlatformLayerDmabuf::paintToTextureMapper):
(WebCore::TextureMapperPlatformLayerDmabuf::clone):
- platform/graphics/texmap/TextureMapperPlatformLayerDmabuf.h: Added.
- 10:58 PM Changeset in webkit [289105] by
-
- 16 edits in trunk/LayoutTests/imported/w3c
Pull selective WPT tests in preparation of https://bugs.webkit.org/show_bug.cgi?id=235685
These remove the empty <meta name="flags">.
- web-platform-tests/css/css-flexbox/align-content-001.htm:
- web-platform-tests/css/css-flexbox/align-content-002.htm:
- web-platform-tests/css/css-flexbox/align-content-003.htm:
- web-platform-tests/css/css-flexbox/align-content-004.htm:
- web-platform-tests/css/css-flexbox/align-content-005.htm:
- web-platform-tests/css/css-flexbox/align-items-001.htm:
- web-platform-tests/css/css-flexbox/align-items-002.htm:
- web-platform-tests/css/css-flexbox/align-items-003.htm:
- web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-017.html:
- web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-018.html:
- web-platform-tests/css/css-values/angle-units-002.html:
- web-platform-tests/css/css-values/angle-units-003.html:
- web-platform-tests/css/css-values/angle-units-004.html:
- web-platform-tests/css/css-values/angle-units-005.html:
Convert tabs to spaces.
- web-platform-tests/css/css-variables/vars-background-shorthand-001.html:
- 10:37 PM Changeset in webkit [289104] by
-
- 14 edits in trunk/Source
Delete SelectionAcrossShadowBoundariesEnabled
https://bugs.webkit.org/show_bug.cgi?id=235993
Reviewed by Darin Adler.
Source/WebCore:
Delete this runtime flag which has always been enabled for a while.
- editing/Editor.cpp:
(WebCore::Editor::selectedText const):
(WebCore::Editor::selectedTextForDataTransfer const):
- editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::selectionInHTMLFormat):
- editing/gtk/EditorGtk.cpp:
(WebCore::Editor::writeSelectionToPasteboard):
- editing/libwpe/EditorLibWPE.cpp:
(WebCore::Editor::writeSelectionToPasteboard):
- editing/mac/EditorMac.mm:
(WebCore::Editor::writeImageToPasteboard):
- loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createFromSelection):
Source/WebKitLegacy/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(-[WebPreferences keygenElementEnabled]):
(-[WebPreferences selectionAcrossShadowBoundariesEnabled]):
(-[WebPreferences setSelectionAcrossShadowBoundariesEnabled:]):
(-[WebPreferences isXSSAuditorEnabled]):
- WebView/WebPreferencesPrivate.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 10:35 PM Changeset in webkit [289103] by
-
- 4 edits in trunk/Source/WebKit
Plumb pointer type though native to web events.
https://bugs.webkit.org/show_bug.cgi?id=236118
Reviewed by Tim Horton.
- Shared/NativeWebMouseEvent.h:
- Shared/ios/NativeWebMouseEventIOS.mm:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
- UIProcess/ios/WKMouseGestureRecognizer.mm:
(-[WKMouseGestureRecognizer createMouseEventWithType:wasCancelled:]):
- 7:13 PM Changeset in webkit [289102] by
-
- 2 edits in trunk/Source/WebCore
Add pen type for HitTestRequest.
https://bugs.webkit.org/show_bug.cgi?id=236112
Reviewed by Tim Horton.
- rendering/HitTestRequest.h:
(WebCore::HitTestRequest::mouseEvent const):
(WebCore::HitTestRequest::penEvent const):
- 6:53 PM Changeset in webkit [289101] by
-
- 5 edits7 adds in trunk
Two bopomofo tone marks are not moved to the correct place in vertical text with a particular bopomofo font
https://bugs.webkit.org/show_bug.cgi?id=235257
<rdar://problem/87625596>
Reviewed by Darin Adler.
.:
Thank you so much to Bobby Tung and But Ko for reporting this bug and providing a test font for it!!!
- metadata/contributors.json:
Source/WebCore:
Turns out one of our character data tables was missing some characters.
I really dislike these kinds of fixes, because it's just perpetuating the fact that WebKit has big tables of characters
in its source code. A long-term fix would be a systemic replacement of this entire table with either Unicode property
lookup, or more ideally, removing the need for it in the first place. Unfortunately, at this point in the release cycle,
this fix probably needs to be smaller and more targetted.
Tests: fast/text/bopomofo-tone-marks-2.html
fast/text/bopomofo-tone-marks.html
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::isCJKIdeographOrSymbol):
LayoutTests:
This can't be a WPT test because we only have permission to add the test font to the WebKit repository.
Thank you so much to Bobby Tung and But Ko for reporting this bug and providing a test font for it!!!
- fast/text/bopomofo-tone-marks-2-expected-mismatch.html: Added.
- fast/text/bopomofo-tone-marks-2.html: Added.
- fast/text/bopomofo-tone-marks-expected-mismatch.html: Added.
- fast/text/bopomofo-tone-marks.html: Added.
- fast/text/resources/BopomofoGposSubset-Regular/BopomofoGposSubset-Regular.ttf: Added.
- fast/text/resources/BopomofoGposSubset-Regular/LICENSE: Added.
- 6:45 PM Changeset in webkit [289100] by
-
- 12 edits in trunk/Source
Teach VideoFullscreenInterface to keep track of its corresponding MediaPlayer's MediaPlayerIdentifier
https://bugs.webkit.org/show_bug.cgi?id=236090
Reviewed by Eric Carlson.
Source/WebCore:
Add plumbing for an optional MediaPlayerIdentifier through the video fullscreen model. This identifier is
invalidated uponloadstart, and updated once we observeloadedmetadata, which ensures that if the media
engine (and media player) changes out from underneath the video fullscreen model, we still keep the new player
ID up to date.
See WebKit/ChangeLog for more details.
- platform/cocoa/VideoFullscreenModel.h:
(WebCore::VideoFullscreenModelClient::setPlayerIdentifier):
- platform/cocoa/VideoFullscreenModelVideoElement.h:
- platform/cocoa/VideoFullscreenModelVideoElement.mm:
(WebCore::VideoFullscreenModelVideoElement::updateForEventName):
(WebCore::VideoFullscreenModelVideoElement::observedEventNames):
Additionally listen for
loadstartEventandloadedmetadataEvent(see above).
(WebCore::VideoFullscreenModelVideoElement::setPlayerIdentifier):
- platform/ios/VideoFullscreenInterfaceAVKit.h:
- platform/mac/VideoFullscreenInterfaceMac.h:
(WebCore::VideoFullscreenInterfaceMac::playerIdentifier const):
Source/WebKit:
Add an IPC message between VideoFullscreenManager and VideoFullscreenManagerProxy to update the media player ID
corresponding to a given PlaybackSessionContextIdentifier. This is sent if the underlying media player changes
(and subsequently firesloadstartandloadedmetadataevents), and also sent upon entering fullscreen video.
In a future patch, this mechanism will be used to teach VideoFullscreenManagerProxy to grab an image bitmap from
the GPU process for a given PlaybackSessionContextIdentifier.
- UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::setPlayerIdentifier):
- WebProcess/cocoa/VideoFullscreenManager.h:
- WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenInterfaceContext::setPlayerIdentifier):
(WebKit::VideoFullscreenManager::enterVideoFullscreenForVideoElement):
(WebKit::VideoFullscreenManager::setPlayerIdentifier):
- 6:26 PM Changeset in webkit [289099] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, reverting r289096.
https://bugs.webkit.org/show_bug.cgi?id=236114
will break build
Reverted changeset:
"[WebAuthn] Remove misspelled constant
"LocalAuthenticatiorAccessGroup""
https://bugs.webkit.org/show_bug.cgi?id=235894
https://commits.webkit.org/r289096
- 6:24 PM Changeset in webkit [289098] by
-
- 6 edits2 adds in trunk
[RenderTreeBuilder] Clean up column spanners when style change affects containing block
https://bugs.webkit.org/show_bug.cgi?id=236042
<rdar://83975391>
Reviewed by Antti Koivisto.
Source/WebCore:
In addition to removing the leftover spanners after style change, this patch also expands on the type of style changes that may affect the subtree state inside a multicolumn flow.
Test: fast/multicol/leftover-spanner-on-style-change-crash.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::adjustFragmentedFlowStateOnContainingBlockChangeIfNeeded):
- rendering/RenderElement.h:
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):
LayoutTests:
- fast/multicol/leftover-spanner-on-style-change-crash-expected.txt: Added.
- fast/multicol/leftover-spanner-on-style-change-crash.html: Added.
- 6:22 PM Changeset in webkit [289097] by
-
- 3 edits in trunk/Source/WebCore
AXIsolatedTree::updateChildren removes subtrees that should instead be moved
https://bugs.webkit.org/show_bug.cgi?id=236057
Reviewed by Andres Gonzalez.
In AXIsolatedTree::updateChildren, we can sometimes remove subtrees from the nodemap that are
queued to be added somewhere else in the tree. Specifically, this can happen when:
- Object 123 is considered to be a new child based on the live AX tree, and we collect node changes for it.
- Object 123 is currently a member of a subtree of some other object in oldChildrenIDs.
- Because of 2, Object 123 is removed from the node map in removeSubtreeFromNodeMap
- We try to queue the addition of this node somewhere in tree in queueChange, but ASSERT because Object 123 is not in the nodemap anymore.
This causes us to hit ASSERT(m_nodeMap.contains(objectID) in AXIsolatedTree::queueChange(const NodeChange&).
This patch fixes this problem by keeping track of the IDs we are queuing for addition
to the tree and making sure we don't remove those IDs.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::queueChange):
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
(WebCore::AXIsolatedTree::nodeAncestryChanges):
Keep track of IDs we are queueing changes for.
(WebCore::AXIsolatedTree::updateChildren):
Keep track of IDs we are queueing changes for and don't remove them,
even if they are part of oldChildrenIDs.
(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):
- accessibility/isolatedtree/AXIsolatedTree.h:
(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):
Accept another paramter listing IDs to keep.
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
Keep track of IDs we are queueing changes for.
- 6:09 PM Changeset in webkit [289096] by
-
- 2 edits in trunk/Source/WebCore
[WebAuthn] Remove misspelled constant "LocalAuthenticatiorAccessGroup"
https://bugs.webkit.org/show_bug.cgi?id=235894
rdar://88104045
Reviewed by Darin Adler.
This change removes a constant with a misspelled variable name after all
downstream usage is removed.
- Modules/webauthn/WebAuthenticationConstants.h:
- 5:41 PM Changeset in webkit [289095] by
-
- 1 copy in tags/Safari-613.1.14.5.8
Tag Safari-613.1.14.5.8.
- 5:40 PM Changeset in webkit [289094] by
-
- 20 edits in branches/safari-613.1.14.5-branch/Source
Cherry-pick r289091. rdar://problem/88387438
WebKit projects have incorrect install name for the frameworks for Catalyst builds with the system content path
https://bugs.webkit.org/show_bug.cgi?id=236105
Reviewed by Saam Barati.
Source/JavaScriptCore:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to use JAVASCRIPTCORE_FRAMEWORKS_DIR, which doesn't have the
system content path prefix.
- Configurations/JavaScriptCore.xcconfig:
Source/ThirdParty/ANGLE:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to not use the system content path prefix.
- Configurations/ANGLE-dynamic.xcconfig:
Source/ThirdParty/libwebrtc:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to not use the system content path prefix.
- Configurations/libwebrtc.xcconfig:
Source/WebCore:
Added WK_USE_ALTERNATE_FRAMEWORKS_DIR based computation to the WEBCORE_FRAMEWORKS_DIR production.
This allowed the simplification of NORMAL_PRODUCTION_FRAMEWORKS_DIR.
Changed DYLIB_INSTALL_NAME_BASE_PLATFORM for Catalyst builds to use WEBCORE_FRAMEWORKS_DIR.
- Configurations/WebCore.xcconfig:
Source/WebKit:
Refactored build variable computation so that WEBKIT_FRAMEWORKS_DIR doesn't have the system content path
prepended. This refactoring includes:
- Created INSTALL_PATH_PREFIX to have the system content path when in use.
- Changed WEBKIT_FRAMEWORKS_DIR computation to eliminate the inclusion the SYSTEM_CONTENT_PATH.
- Added INSTALL_PATH_PREFIX to the various INSTALL_PATH computations.
- Changed the various DYLIB_INSTALL_NAME_BASE computations for Catalyst builds to use WEBKIT_FRAMEWORKS_DIR.
- Configurations/Base.xcconfig:
- Configurations/BaseTarget.xcconfig:
- Configurations/BaseXPCService.xcconfig:
- Configurations/Shim.xcconfig:
- Configurations/WebKit.xcconfig:
- Configurations/WebKitSwift.xcconfig:
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
Source/WebKitLegacy/mac:
Refactored build variable computation so that WEBKIT_LEGACY_FRAMEWORKS_DIR doesn't have the system content path
prepended. This refactoring includes:
- Created INSTALL_PATH_PREFIX to have the system content path when in use.
- Changed WEBKIT_LEGACY_FRAMEWORKS_DIR computation to eliminate the inclusion the SYSTEM_CONTENT_PATH.
- Reworked INSTALL_PATH to use INSTALL_PATH_PREFIX in the main productions instead of each of variants.
- Changed DYLIB_INSTALL_NAME_BASE computation for Catalyst builds to use WEBKIT_LEGACY_FRAMEWORKS_DIR.
- Configurations/Base.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289091 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:32 PM Changeset in webkit [289093] by
-
- 7 edits in trunk/Tools
[XCBuild] Add headers-only dependencies to projects in Tools/
https://bugs.webkit.org/show_bug.cgi?id=235751
Reviewed by Alexey Proskuryakov.
Many projects in Tools/ depend on WebKit.framework or other products which are upstream in
the build graph. In Make-based sequential builds, WebKit and friends would always build
before Tools; in workspaces, the targets may build in any order.
Add "product dependencies" build phases to targets which do not express
their dependencies through linker options, in the same manner as
https://commits.webkit.org/246026@main.
The legacy build system doesn't understand the "Product Dependencies" phase and thinks we're
trying to copy our own build products, so add an EXCLUDED_SOURCE_FILE_NAMES setting as a
workaround.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Add product dependencies.
- DumpRenderTree/mac/Configurations/Base.xcconfig: Add WK_WHICH_BUILD_SYSTEM.
- DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig: Legacy support.
- TestWebKitAPI/Configurations/Base.xcconfig: Legacy support.
- TestWebKitAPI/Configurations/TestWTFLibrary.xcconfig: Add WK_WHICH_BUILD_SYSTEM.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add product dependencies.
- 5:27 PM Changeset in webkit [289092] by
-
- 9 edits in branches/safari-613.1.14.5-branch/Source
Versioning.
WebKit-7613.1.14.5.8
- 5:16 PM Changeset in webkit [289091] by
-
- 20 edits in trunk/Source
WebKit projects have incorrect install name for the frameworks for Catalyst builds with the system content path
https://bugs.webkit.org/show_bug.cgi?id=236105
Reviewed by Saam Barati.
Source/JavaScriptCore:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to use JAVASCRIPTCORE_FRAMEWORKS_DIR, which doesn't have the
system content path prefix.
- Configurations/JavaScriptCore.xcconfig:
Source/ThirdParty/ANGLE:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to not use the system content path prefix.
- Configurations/ANGLE-dynamic.xcconfig:
Source/ThirdParty/libwebrtc:
Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to not use the system content path prefix.
- Configurations/libwebrtc.xcconfig:
Source/WebCore:
Added WK_USE_ALTERNATE_FRAMEWORKS_DIR based computation to the WEBCORE_FRAMEWORKS_DIR production.
This allowed the simplification of NORMAL_PRODUCTION_FRAMEWORKS_DIR.
Changed DYLIB_INSTALL_NAME_BASE_PLATFORM for Catalyst builds to use WEBCORE_FRAMEWORKS_DIR.
- Configurations/WebCore.xcconfig:
Source/WebKit:
Refactored build variable computation so that WEBKIT_FRAMEWORKS_DIR doesn't have the system content path
prepended. This refactoring includes:
- Created INSTALL_PATH_PREFIX to have the system content path when in use.
- Changed WEBKIT_FRAMEWORKS_DIR computation to eliminate the inclusion the SYSTEM_CONTENT_PATH.
- Added INSTALL_PATH_PREFIX to the various INSTALL_PATH computations.
- Changed the various DYLIB_INSTALL_NAME_BASE computations for Catalyst builds to use WEBKIT_FRAMEWORKS_DIR.
- Configurations/Base.xcconfig:
- Configurations/BaseTarget.xcconfig:
- Configurations/BaseXPCService.xcconfig:
- Configurations/Shim.xcconfig:
- Configurations/WebKit.xcconfig:
- Configurations/WebKitSwift.xcconfig:
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
Source/WebKitLegacy/mac:
Refactored build variable computation so that WEBKIT_LEGACY_FRAMEWORKS_DIR doesn't have the system content path
prepended. This refactoring includes:
- Created INSTALL_PATH_PREFIX to have the system content path when in use.
- Changed WEBKIT_LEGACY_FRAMEWORKS_DIR computation to eliminate the inclusion the SYSTEM_CONTENT_PATH.
- Reworked INSTALL_PATH to use INSTALL_PATH_PREFIX in the main productions instead of each of variants.
- Changed DYLIB_INSTALL_NAME_BASE computation for Catalyst builds to use WEBKIT_LEGACY_FRAMEWORKS_DIR.
- Configurations/Base.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
- 5:06 PM Changeset in webkit [289090] by
-
- 9 edits1 move in trunk/Source/WebKit
Add plumbing to inform WebPageProxy when videos play, pause, seek, and enter or exit fullscreen
https://bugs.webkit.org/show_bug.cgi?id=236083
Reviewed by Eric Carlson.
Add several methods on WebPageProxy which are called from both VideoFullscreenManagerProxy as well as
PlaybackSessionManagerProxy; in future patches, these will be used to detect when a fullscreen video has been
paused for at least 250 ms, and call out to the page client to perform "video frame extraction".
No change in behavior (yet).
- Shared/Cocoa/PlaybackSessionContextIdentifier.h: Renamed from Source/WebKit/WebProcess/cocoa/PlaybackSessionContextIdentifier.h.
Move this from Source/WebKit/WebProcess/cocoa to Shared/Cocoa. This enum type is passed around in media code in
both the UI and web processes, so it should be in the Shared folder instead of the WebProcess folder.
- UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionManagerProxy::currentTimeChanged):
(WebKit::PlaybackSessionManagerProxy::rateChanged):
(WebKit::PlaybackSessionManagerProxy::isPaused const):
Add a helper method to return whether or not the session for a given PlaybackSessionContextIdentifier is paused
(that is, neither playing nor stalled).
- UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
Drive-by fix: remove an unused member variable.
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::didExitFullscreen):
(WebKit::VideoFullscreenManagerProxy::didEnterFullscreen):
Add another version of these methods that includes the session context ID as an argument.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::didChangePlaybackRate):
(WebKit::WebPageProxy::didChangeCurrentTime):
(WebKit::WebPageProxy::updateFullscreenVideoExtraction):
(WebKit::WebPageProxy::fullscreenVideoExtractionTimerFired):
- UIProcess/WebPageProxy.cpp:
(WebKit::m_fullscreenVideoExtractionTimer):
(WebKit::WebPageProxy::didEnterFullscreen):
(WebKit::WebPageProxy::didExitFullscreen):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::m_notificationManagerMessageHandler): Deleted.
- UIProcess/WebPageProxy.h:
- WebKit.xcodeproj/project.pbxproj:
- 4:35 PM WebKitGTK/2.34.x edited by
- (diff)
- 4:22 PM Changeset in webkit [289089] by
-
- 3 edits in trunk/Tools
[EWS] Rename RunJSCTestsWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=236106
<rdar://problem/88457767>
Reviewed by Alexey Proskuryakov.
- Tools/CISupport/ews-build/steps.py:
(RunJavaScriptCoreTests.evaluateCommand):
(RunJSCTestsWithoutChange): Renamed from RunJSCTestsWithoutPatch.
(RunJSCTestsWithoutPatch): Renamed to RunJSCTestsWithoutChange.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/246789@main
- 3:47 PM Changeset in webkit [289088] by
-
- 26 edits in releases/WebKitGTK/webkit-2.34
Merge r286094 - Report the initiating url instead of the redirected one
https://bugs.webkit.org/show_bug.cgi?id=233037
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-11-20
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
- web-platform-tests/content-security-policy/securitypolicyviolation/img-src-redirect.sub-expected.txt:
Source/WebCore:
As per the spec, blockedURI should use the requested URL of original request instead of redirected location.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::isAllowedByContentSecurityPolicy):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const):
(WebCore::CachedResourceLoader::canRequestAfterRedirection const):
(WebCore::CachedResourceLoader::updateRequestAfterRedirection):
- loader/cache/CachedResourceLoader.h:
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowChildContextFromSource const):
(WebCore::ContentSecurityPolicy::allowScriptFromSource const):
(WebCore::ContentSecurityPolicy::allowImageFromSource const):
(WebCore::ContentSecurityPolicy::allowStyleFromSource const):
(WebCore::ContentSecurityPolicy::allowFontFromSource const):
(WebCore::ContentSecurityPolicy::allowManifestFromSource const):
(WebCore::ContentSecurityPolicy::allowMediaFromSource const):
- page/csp/ContentSecurityPolicy.h:
Source/WebKit:
Pass pre-redirect URL to allowChildContextFromSource() and allowScriptFromSource().
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):
LayoutTests:
- TestExpectations: Unskip imported/w3c/web-platform-tests/content-security-policy/securitypolicyviolation/img-src-redirect.sub.html
- http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/font-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/image-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/script-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/stylesheet-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/svg-font-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/svg-image-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/track-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/xsl-redirect-blocked-expected.txt:
- 3:46 PM Changeset in webkit [289087] by
-
- 8 edits2 adds in releases/WebKitGTK/webkit-2.34
Merge r285320 - Form action with a redirect should report correct blocked URI
https://bugs.webkit.org/show_bug.cgi?id=232660
<rdar://problem/84969024>
Patch by Kate Cheney <Kate Cheney> on 2021-11-04
Reviewed by Brent Fulgham.
Source/WebCore:
We currently report the blocked URI as the target of a redirect, per
the spec it should actually be the initiating url.
Test: http/tests/security/contentSecurityPolicy/form-action-redirect-with-correct-blocked-uri.html
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willSendRequest):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkIfFormActionAllowedByCSP const):
- loader/FrameLoader.h:
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowResourceFromSource const):
(WebCore::ContentSecurityPolicy::allowFormAction const):
- page/csp/ContentSecurityPolicy.h:
LayoutTests:
- http/tests/security/contentSecurityPolicy/form-action-redirect-with-correct-blocked-uri-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/form-action-redirect-with-correct-blocked-uri.html: Added.
- http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked-expected.txt:
Update console logging to report the correct URL.
- 3:45 PM Changeset in webkit [289086] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
- gpu-process/TestExpectations: Tests are no longer crashing.
- 3:27 PM Changeset in webkit [289085] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] MultiDeleteByOffset should not define value
https://bugs.webkit.org/show_bug.cgi?id=236103
Reviewed by Saam Barati.
MultiDeleteByOffset should not define any values in clobberizing.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- 3:21 PM Changeset in webkit [289084] by
-
- 2 edits in trunk
Add Elliott Williams to contributors.json
- 3:14 PM WebKitGTK/2.34.x edited by
- (diff)
- 3:14 PM Changeset in webkit [289083] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebKit
Merge r288809 - REGRESSION(r288644): [GTK4] Criticals when using pinch zoom
https://bugs.webkit.org/show_bug.cgi?id=235883
Reviewed by Carlos Garcia Campos.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseZoomBegin):
Only cancel the click gesture on GTK3. We don't use g_object_set_data() on GTK4.
- 3:13 PM WebKitGTK/2.34.x edited by
- (diff)
- 3:13 PM Changeset in webkit [289082] by
-
- 2 edits in releases/WebKitGTK/webkit-2.34/Source/WebKit
Merge r288644 - [GTK3] Pinch zooming from a link activates it
https://bugs.webkit.org/show_bug.cgi?id=235639
Reviewed by Carlos Garcia Campos.
Turns out gestures behave differently between GTK3 and 4. On GTK4 it works
fine, but on GTK3 starting a pinch zoom triggers the multipress gesture
when one finger is down, and completes it when the second finger is down.
This results in a bogus click, with no way to prevent it as it happens
before any of the zoom callbacks are called. Since we can't know if there
will be a zoom afterwards or not, we can't do anything about it.
However, what we can do is reorder these gestures. In GTK3 the order the
gestures are processed in depends on which order they were created in.
At that point, there's a problem with the fact the gestures are grouped.
Grouping means that these 2 gestures are triggered at the same time. While
somehow the press gesture is still triggered without grouping with the
original order, they become properly decoupled in reverse order and
ungrouped.
At that point, we can safely cancel the press gesture when the zoom gesture
starts, and fix the issue.
This seems to still work fine for GTK4.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseZoomBegin):
(webkitWebViewBaseConstructed):
- 3:09 PM Changeset in webkit [289081] by
-
- 5 edits in trunk/Source
Delay writing origin file in NetworkStorageManager
https://bugs.webkit.org/show_bug.cgi?id=235897
rdar://87163253
Reviewed by Geoffrey Garen.
Revert r288924 that delays writing origin file to when OriginStorageManager is destroyed, and take a different
approach that schedules a async task to write origin file. PLT results show that the new approach can also make
up for PLT regresion caused by r286936, where network process started to write origin file before replying sync
storage message from web process.
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::localOriginStorageManager):
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::OriginStorageManager):
(WebKit::OriginStorageManager::~OriginStorageManager): Deleted.
- NetworkProcess/storage/OriginStorageManager.h:
- 3:09 PM WebKitGTK/2.34.x edited by
- (diff)
- 2:27 PM Changeset in webkit [289080] by
-
- 9 edits in releases/WebKitGTK/webkit-2.34
Merge r288609 - [GTK] REGRESSION: Touch scrolling is broken
https://bugs.webkit.org/show_bug.cgi?id=235436
Reviewed by Chris Lord.
Source/WebKit:
Remove webkitWebViewBaseSetWheelHasPreciseDeltas(), instead add a parameter
to webkitWebViewBaseSynthesizeWheelEvent() that specifies whether the event
should have precise deltas or not.
Correct the touch swipe velocity, since it won't get multiplied by
pixelsPerLineStep().
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::navigationGestureDidBegin):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseZoomBegin):
(webkitWebViewBaseTouchDragBegin):
(webkitWebViewBaseTouchDragUpdate):
(webkitWebViewBaseTouchSwipe):
(webkitWebViewBaseSynthesizeWheelEvent):
(webkitWebViewBaseSetWheelHasPreciseDeltas): Deleted.
- UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:
(WebKit::WebAutomationSession::platformSimulateWheelInteraction):
Tools:
Stop using webkitWebViewBaseSetWheelHasPreciseDeltas(), instead pass the correct parameter into
webkitWebViewBaseSynthesizeWheelEvent().
- WebKitTestRunner/EventSenderProxy.h:
- WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::~EventSenderProxy):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::continuousMouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
(WTR::EventSenderProxy::setWheelHasPreciseDeltas):
- 2:27 PM Changeset in webkit [289079] by
-
- 12 edits in releases/WebKitGTK/webkit-2.34
Merge r282952 - [GTK] Allow sending precise mouse wheel events in LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=230541
Reviewed by Tim Horton.
Source/WebKit:
Add code to be able to send precise synthetic mouse-wheel events in GTK.
- Shared/NativeWebWheelEvent.h:
- Shared/gtk/NativeWebWheelEventGtk.cpp:
(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSynthesizeWheelEvent):
(webkitWebViewBaseSetWheelHasPreciseDeltas):
- UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
Tools:
Add API to be able to send precise mouse-wheel events in EventSender.
- WebKitTestRunner/EventSenderProxy.h:
- WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
- WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::setWheelHasPreciseDeltas):
- WebKitTestRunner/InjectedBundle/EventSendingController.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveMessageFromInjectedBundle):
- WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::toWebKitGLibAPI):
(WTR::EventSenderProxy::~EventSenderProxy):
(WTR::EventSenderProxy::setWheelHasPreciseDeltas):
- 2:12 PM Changeset in webkit [289078] by
-
- 2 edits in trunk/Source/WebCore
LocalStorage values should be 8-bit strings in memory if possible
https://bugs.webkit.org/show_bug.cgi?id=235484
Reviewed by Chris Dumez.
LocalStorage values are stored into a SQLite column as 16-bit strings and are deserialized
back into memory as 16-bit strings. To save memory, this makes it so that we deserialize the
string into an 8-bit string in memory if possible.
Estimated win of ~3MB on Membuster5.
- platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::columnBlobAsString):
- 1:47 PM Changeset in webkit [289077] by
-
- 15 edits1 add in trunk
[git-webkit] Configure default branch management
https://bugs.webkit.org/show_bug.cgi?id=235378
<rdar://problem/87989533>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/decorators.py:
(hybridmethod.get): Forward certain attributes, namely those used by Memoize.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git):
(Git.config): Add project config to fall back on.
(Git.url): Move memoize to config.
(Git.checkout): Clear Git.config, since that owns memoization.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.parser): Add --overwrite and --append flags.
(PullRequest.create_commit): Either amend an existing commit or create a new one,
depending on the repository settings and arguments passed.
(PullRequest.main): Only keep track of branch history if the user explicitly requests
it or we're using an overwrite workflow with a user owned fork. If repository settings
indicate such branches should never be created, return an error if the user attempts to do so.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Add project config to repository config, prompt the user about their prefered
history retention strategy if the project is using an overwrite workflow.
(Setup.parser): Use the project's default merge behavior.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:
Canonical link: https://commits.webkit.org/246783@main
- 1:42 PM Changeset in webkit [289076] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, remove UnlinkedMetadataTable::offsetInMetadataTable since it is no longer used
https://bugs.webkit.org/show_bug.cgi?id=236063
Follow-up after Saam's comment.
- bytecode/UnlinkedMetadataTable.h:
(JSC::UnlinkedMetadataTable::offsetInMetadataTable): Deleted.
- 1:34 PM Changeset in webkit [289075] by
-
- 24 edits2 copies in trunk
[Forms] Value doesn't change for stepUp()/stepDown() with out of range values
https://bugs.webkit.org/show_bug.cgi?id=235509
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/the-input-element/input-stepdown-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/input-stepup-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/range-expected.txt:
Source/WebCore:
For input type number, WebKit throws "invalid state" Error when the value is greater than
max when calling stepUp() or less than min when calling stepDown(). According to section 10
in https://html.spec.whatwg.org/multipage/input.html#dom-input-stepup,
we should do "return", which indicates that value doesn't change.
- html/InputType.cpp:
(WebCore::InputType::applyStep):
LayoutTests:
Update expectation files.
- fast/forms/date/date-stepup-stepdown-expected.txt:
- fast/forms/date/date-stepup-stepdown.html:
- fast/forms/datetimelocal/datetimelocal-stepup-stepdown-expected.txt:
- fast/forms/datetimelocal/datetimelocal-stepup-stepdown.html:
- fast/forms/month/month-stepup-stepdown-expected.txt:
- fast/forms/month/month-stepup-stepdown.html:
- fast/forms/number/number-stepup-stepdown-expected.txt:
- fast/forms/number/number-stepup-stepdown.html:
- fast/forms/range/range-stepup-stepdown-expected.txt:
- fast/forms/range/range-stepup-stepdown.html:
- fast/forms/time/time-stepup-stepdown-expected.txt:
- fast/forms/time/time-stepup-stepdown.html:
- fast/forms/week/week-stepup-stepdown-expected.txt:
- fast/forms/week/week-stepup-stepdown.html:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-stepdown-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-stepdown-expected.txt.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-stepup-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-stepup-expected.txt.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
- 1:32 PM Changeset in webkit [289074] by
-
- 15 edits8 adds in trunk
Implement CSS overscroll-behavior for synchronous scroll
https://bugs.webkit.org/show_bug.cgi?id=222968
Reviewed by Simon Fraser.
Source/WebCore:
Tests: fast/scrolling/sync-scroll-overscroll-behavior-element.html
fast/scrolling/sync-scroll-overscroll-behavior-iframe.html
fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element.html
fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-iframe.html
Split up patch by Cathie Chen and Frederic Wang. Add function for blocking scroll chaining
and filtering scroll delta depending on the values of overscroll behavior for a scrollable
area. This patch is for synchronous scrolling only.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEventInternal):
(WebCore::scrollViaNonPlatformEvent):
(WebCore::EventHandler::handleWheelEventInAppropriateEnclosingBox):
(WebCore::EventHandler::scrollableAreaCanHandleEvent):
- page/EventHandler.h:
- page/mac/EventHandlerMac.mm:
(WebCore::findEnclosingScrollableContainer):
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::eventForPropagation const):
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::deltaForPropagation const):
(WebCore::ScrollableArea::shouldBlockScrollPropagation const):
- platform/ScrollableArea.h:
(WebCore::ScrollableArea::horizontalOverscrollBehaviorPreventsPropagation const):
(WebCore::ScrollableArea::verticalOverscrollBehaviorPreventsPropagation const):
- platform/ScrollingEffectsController.h:
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::allowsVerticalStretching const):
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching const):
- platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::wheelDeltaBiasingTowardsVertical):
LayoutTests:
- fast/scrolling/sync-scroll-overscroll-behavior-element-expected.txt: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-element.html: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-iframe-expected.txt: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-iframe.html: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element-expected.txt: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element.html: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-iframe-expected.txt: Added.
- fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-iframe.html: Added.
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 1:30 PM Changeset in webkit [289073] by
-
- 6 edits8 deletes in trunk
Unreviewed, reverting r288902.
Broke compile-webkit for iOS-15-Simulator
Reverted changeset:
"Import APSConnection-related SPI"
https://bugs.webkit.org/show_bug.cgi?id=235856
https://commits.webkit.org/r288902
- 1:23 PM Changeset in webkit [289072] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Add access to required syscalls
https://bugs.webkit.org/show_bug.cgi?id=236087
<rdar://problem/88439656>
Reviewed by Brent Fulgham.
Add access to required syscalls which are rarely used. This is based on recent telemetry.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 1:06 PM Changeset in webkit [289071] by
-
- 5 edits5 adds in trunk
ANGLE Metal and ANGLE OpenGL cannot be initialised one after the other
https://bugs.webkit.org/show_bug.cgi?id=236030
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-03
Reviewed by Dean Jackson.
Source/WebCore:
Test: webgl/pending/conformance2/misc/webgl2-after-webgl1-bug.html
Remove the power-preference specific native displays.
Add a native display for opengl, and use the default
one for Metal.
After the recent ANGLE roll, ANGLE uses (native display, power preference)
as the key to look up EGLDisplays.
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::releaseThreadResources):
- platform/graphics/angle/GraphicsContextGLANGLE.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::initializeEGLDisplay):
LayoutTests:
- webgl/pending/conformance2/misc/webgl2-after-webgl1-bug-expected.txt: Added.
- webgl/pending/conformance2/misc/webgl2-after-webgl1-bug.html: Added.
- webgl/resources/pending_webgl_test_files/conformance2/misc/webgl2-after-webgl1-bug.html: Added.
- 1:05 PM Changeset in webkit [289070] by
-
- 9 edits in releases/WebKitGTK/webkit-2.34/Source/JavaScriptCore
Merge r287421 - Make DeferredWorkTimer::addPendingWork() return a Ticket.
https://bugs.webkit.org/show_bug.cgi?id=234628
rdar://84260429
Reviewed by Yusuke Suzuki.
- Make Ticket a unique token instead of the JSObject* target object. The Ticket is now a pointer to the TicketData in the pending work list.
- Instead of taking a Ticket argument, DeferredWorkTimer::addPendingWork() now
takes a JSObject*
targetargument explicitly, and returns the Ticket for the added TicketData instead.
All the relevant DeferredWorkTimer APIS already take a Ticket as an argument.
This ensures that addPendingWork() is called before we start doing work with
these APIs (especially scheduleWorkSoon()).
- Previously, addPendingWork() will only save one instance of TicketData for a given JSObject* key. With this patch, we'll register a new TicketData instance for every call to addPendingWork(), and return a unique Ticket for it.
This is needed because it may be possible for 2 different clients to call
addPendingWork() and scheduleWorkSoon() with the same target JSObject* but with
different sets of dependencies.
Secondly, even is the both sets of dependencies are identical, a client may
call addPendingWork() and scheduleWorkSoon() with the same JSObject* target
more than once because it intended to schedule more than 1 task to run.
Note that DeferredWorkTimer::doWork() consumes the corresponding TicketData
(i.e. removes it from the m_pendingTickets list) for each task as it is run.
To ensure that the dependencies for each task is protected, we'll either need
to ref count the TicketData for the same target object (and hold off on removing
it from the list), or we'll need to register a different TicketData instance
for each task. Ref counting can solve the second issue above, but does not
solve the first. So, this patch goes with the more generic solution to allow
each task to have its own TicketData instance (and, its own unique Ticket).
- Previously, if the client cancels pending work, we would remove the TicketData immediately from the m_pendingTickets list. This opens up an opportunity for the same TicketData memory to be re-allocated by another client. This, in turn, would make the Ticket token not unique and potentially allow a cancelled ticket to be reused before DeferredWorkTimer::doWork() is called.
This patch changes DeferredWorkTimer::cancelPendingWork() to only clear the
contents of the TicketData instead. TicketData::scriptExecutionOwner being
null is used as an indication that the ticket has been cancelled. Since the
TicketData itself is not "freed" yet, all TicketData will remain unique until
DeferredWorkTimer::doWork().
Consequently, DeferredWorkTimer::doWork() will now check for cancelled tickets
and remove them from the m_pendingTickets list.
- JSFinalizationRegistry was previously calling DeferredWorkTimer::hasPendingWork() to check if it has already scheduled a task, so as not to reschedule again until after the previously scheduled task has been run. This does not play nice with the new Ticket API, because this hasPendingWork() check needs to be done before calling addPendingWork(), and hence, the Ticket is not available yet.
Fortunately, JSFinalizationRegistry should know if it has already scheduled
a task itself. This patch adds a m_hasAlreadyScheduledWork flag to
JSFinalizationRegistry that can be used for this check instead.
- jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
- runtime/DeferredWorkTimer.cpp:
(JSC::DeferredWorkTimer::TicketData::TicketData):
(JSC::DeferredWorkTimer::TicketData::vm):
(JSC::DeferredWorkTimer::TicketData::cancel):
(JSC::DeferredWorkTimer::doWork):
(JSC::DeferredWorkTimer::addPendingWork):
(JSC::DeferredWorkTimer::hasPendingWork):
(JSC::DeferredWorkTimer::hasDependancyInPendingWork):
(JSC::DeferredWorkTimer::cancelPendingWork):
- runtime/DeferredWorkTimer.h:
(JSC::DeferredWorkTimer::TicketData::target):
- runtime/JSFinalizationRegistry.cpp:
(JSC::JSFinalizationRegistry::finalizeUnconditionally):
- runtime/JSFinalizationRegistry.h:
- wasm/WasmStreamingCompiler.cpp:
(JSC::Wasm::StreamingCompiler::StreamingCompiler):
(JSC::Wasm::StreamingCompiler::~StreamingCompiler):
(JSC::Wasm::StreamingCompiler::didComplete):
(JSC::Wasm::StreamingCompiler::fail):
(JSC::Wasm::StreamingCompiler::cancel):
- wasm/WasmStreamingCompiler.h:
- wasm/js/JSWebAssembly.cpp:
(JSC::JSWebAssembly::webAssemblyModuleValidateAsync):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync):
- 12:50 PM Changeset in webkit [289069] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Enable sandbox state rules for Mach messages
https://bugs.webkit.org/show_bug.cgi?id=236027
<rdar://problem/88387937>
Reviewed by Brent Fulgham.
After <rdar://85931614> has been fixed, we can enable sandbox state rules for Mach messages.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 12:29 PM Changeset in webkit [289068] by
-
- 2 edits in trunk/LayoutTests
[Win] Update expectations for failing CSP test
https://bugs.webkit.org/show_bug.cgi?id=236093
Unreviewed expectations update.
- platform/win/TestExpectations:
- 12:15 PM Changeset in webkit [289067] by
-
- 2 edits in trunk/Tools
REGRESSION(r288878) webkitpy.layout_tests.controllers.layout_test_finder_legacy_unittest.LayoutTestFinderTests tests are failing with Windows Python
https://bugs.webkit.org/show_bug.cgi?id=236043
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/port/base.py:
(Port.relative_test_filename): Normalize filename with
TEST_PATH_SEPARATOR before comparing with layout_tests_dir().
- 11:59 AM Changeset in webkit [289066] by
-
- 2 edits in trunk/Source/bmalloc
Fix BSD compilation after r289056
https://bugs.webkit.org/show_bug.cgi?id=236086
Unreviewed, fixes missing header in BSD systems.
The include is moved up so it is included in both UNIX and BSD systems,
as adding the include in both #if triggers a code style warning (header
included twice), even though the includes are guarded.
- bmalloc/AvailableMemory.cpp:
- 11:50 AM Changeset in webkit [289065] by
-
- 4 edits in trunk/Source/WebKit
Rename NetworkConnectionToWebProcess::serverToContextConnectionNoLongerNeeded()
https://bugs.webkit.org/show_bug.cgi?id=236088
Reviewed by Darin Adler.
Rename NetworkConnectionToWebProcess::serverToContextConnectionNoLongerNeeded() to make it clear it is for the
service worker connection, to avoid confusing with the shared workers.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::serviceWorkerServerToContextConnectionNoLongerNeeded):
(WebKit::NetworkConnectionToWebProcess::serverToContextConnectionNoLongerNeeded): Deleted.
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::connectionIsNoLongerNeeded):
- 11:46 AM Changeset in webkit [289064] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: [Flexbox] Add setting to guard Flexbox Inspector feature
https://bugs.webkit.org/show_bug.cgi?id=236091
<rdar://problem/88443529>
Reviewed by Patrick Angle.
- UserInterface/Base/Setting.js:
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createEngineeringSettingsView):
- 11:44 AM Changeset in webkit [289063] by
-
- 10 edits2 moves in trunk/Source/WebKit
Rename ServiceWorkerInitializationData / ServiceWorkerInformation so they can be reused by shared workers
https://bugs.webkit.org/show_bug.cgi?id=236089
Reviewed by Alex Christensen.
- Shared/RemoteWorkerInitializationData.cpp: Renamed from Source/WebKit/Shared/ServiceWorkerInitializationData.cpp.
(WebKit::RemoteWorkerInitializationData::encode const):
(WebKit::RemoteWorkerInitializationData::decode):
- Shared/RemoteWorkerInitializationData.h: Renamed from Source/WebKit/Shared/ServiceWorkerInitializationData.h.
- Sources.txt:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::enableServiceWorkers):
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::hasServiceWorkerPageProxy):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::establishServiceWorkerContextConnectionToNetworkProcess):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 11:18 AM Changeset in webkit [289062] by
-
- 7 edits in trunk/Source
Crash at com.apple.WebKit: WebKit::RemoteLayerBackingStore::display
https://bugs.webkit.org/show_bug.cgi?id=236003
Source/WebCore:
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-03
Reviewed by Simon Fraser.
- platform/graphics/GraphicsLayerContentsDisplayDelegate.h:
Add a comment not to call PlatformCALayer::setBackingStoreAttached()
- platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm:
Clear the PlatformCALayer contents in more explicit way.
Source/WebKit:
<rdar://87617695>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-02-03
Reviewed by Simon Fraser.
Using UI-side compositing, following chain would be the cause a crash:
PlatformCALayerRemote::recursiveBuildTransaction
RemoteLayerBackingStore::display
PlatformCALayer::platformCALayerLayerDisplay
WebProcessGraphicsContextGLCocoa.mm DisplayBufferDisplayDelegate::display
PlatformCALayer::setContents(nullptr)
The nullptr contents happens when the WebGL context does not have
display buffer yet or when the display buffer creation would fail.
Setting empty layer contents would destroy the RemoteLayerBackingStore,
even though the callstack is in process of displaying the layer to the
backing store.
When setting PlatformCALayer contents "empty", clear the backing store instead
of removing the backing store.
Tested by LayoutTests/webgl (under ASAN, ios simulator)
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm:
- WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::setContents):
- 11:01 AM Changeset in webkit [289061] by
-
- 7 edits in trunk/Source
Move and rename ServiceWorkerThreadProxy::setupPageForServiceWorker()
https://bugs.webkit.org/show_bug.cgi?id=236085
Reviewed by Darin Adler.
Move and rename ServiceWorkerThreadProxy::setupPageForServiceWorker() so that it can be reused for shared workers.
Source/WebCore:
- page/Page.cpp:
(WebCore::Page::setupForRemoteWorker):
- page/Page.h:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::setupPageForServiceWorker): Deleted.
- workers/service/context/ServiceWorkerThreadProxy.h:
Source/WebKit:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):
- 10:46 AM Changeset in webkit [289060] by
-
- 3 edits2 adds in trunk
null ptr deref in RenderTreeBuilder::Block::attachIgnoringContinuation
https://bugs.webkit.org/show_bug.cgi?id=234170
Patch by Frédéric Wang <fwang@igalia.com> on 2022-02-03
Reviewed by Antti Koivisto.
Source/WebCore:
When an element with "display: contents" is put into the top layer, its computed style for
the display property becomes "block" [1]. However, RenderTreeUpdater::updateElementRenderer
does not manage well this transition. In particular, a null ptr deref happens for some
special configuration involving a <dialog style="display: contents">. To work around that
issue, always force tearing down renderers when updating an element in the top layer.
[1] https://fullscreen.spec.whatwg.org/#new-stacking-layer
Test: fast/layers/top-layer-display-contents-crash.html
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateElementRenderer): Always force tearing down renderers
for top layer element.
LayoutTests:
Add regression test.
- fast/css/top-layer-display-contents-crash-expected.txt: Added.
- fast/css/top-layer-display-contents-crash.html: Added.
- 10:01 AM Changeset in webkit [289059] by
-
- 4 edits in trunk
[WebAuthn] Allow use of hardware-fixed credentials while using alternate store
https://bugs.webkit.org/show_bug.cgi?id=235923
rdar://88102108
Reviewed by Brent Fulgham.
Source/WebKit:
This patch allows use of credentials created before a user started using
the alternate credential store by searching regardless of status when
querying credentials.
Added API test + tested manually.
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticatorInternal::getExistingCredentials):
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserVerification):
Tools:
Add new test for querying credentials created both before and after enabling
alternative credential store.
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::WebCore::addKeyToKeychain):
(TestWebKitAPI::WebCore::cleanUpKeychain):
(TestWebKitAPI::TEST):
- 9:58 AM Changeset in webkit [289058] by
-
- 12 edits2 adds in trunk
Implement AbortSignal.timeout()
https://bugs.webkit.org/show_bug.cgi?id=236039
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import AbortSignal.timeout() tests from upstream WPT.
- web-platform-tests/dom/abort/AbortSignal.any-expected.txt:
- web-platform-tests/dom/abort/AbortSignal.any.js:
(async_test.t.signal.onabort.t.step_func_done):
(async_test.t.string_appeared_here.signal.onabort.t.step_func):
- web-platform-tests/dom/abort/AbortSignal.any.worker-expected.txt:
- web-platform-tests/dom/abort/abort-signal-timeout-expected.txt: Added.
- web-platform-tests/dom/abort/abort-signal-timeout.html: Added.
- web-platform-tests/dom/abort/w3c-import.log:
Source/WebCore:
Implement the new AbortSignal.timeout() as per:
Test: imported/w3c/web-platform-tests/dom/abort/abort-signal-timeout.html
- bindings/js/JSAbortSignalCustom.cpp:
(WebCore::JSAbortSignalOwner::isReachableFromOpaqueRoots):
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::timeout):
(WebCore::AbortSignal::eventListenersDidChange):
- dom/AbortSignal.h:
- dom/AbortSignal.idl:
- page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
- page/DOMTimer.h:
- 8:38 AM Changeset in webkit [289057] by
-
- 5 edits in trunk/Source/WebCore
Flaky scope.assertNoException() assertion in ~JSExecState when running workers WPT tests
https://bugs.webkit.org/show_bug.cgi?id=235978
Reviewed by Yusuke Suzuki.
Because Web workers can be terminated at any point, it is possible for JSExecState::loadModule()
to get a termination exception, which would incorrectly cause it to assert and crash in debug.
This patch updates the code so that termination exceptions are properly dealt with instead of
crashing.
No new tests, covered by imported/w3c/web-platform-tests/workers that flakily crash in
debug.
- bindings/js/JSDOMExceptionHandling.cpp:
(WebCore::reportException):
- bindings/js/JSExecState.h:
(WebCore::JSExecState::call):
(WebCore::JSExecState::evaluate):
(WebCore::JSExecState::profiledCall):
(WebCore::JSExecState::profiledEvaluate):
(WebCore::JSExecState::linkAndEvaluateModule):
(WebCore::JSExecState::~JSExecState):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
- workers/WorkerOrWorkletScriptController.cpp:
(WebCore::WorkerOrWorkletScriptController::loadModuleSynchronously):
- 7:29 AM Changeset in webkit [289056] by
-
- 2 edits in trunk/Source/bmalloc
Fix undefined behavior when querying linux memory size
https://bugs.webkit.org/show_bug.cgi?id=228280
Reviewed by Mark Lam.
When running JSC compiled with the undefined behavior sanitizer enabled in a 32 bits machine:
../../Source/bmalloc/bmalloc/AvailableMemory.cpp:115:60: runtime error:
signed integer overflow: 32839056 * 4096 cannot be represented in type 'long int'
This patch slighly rewrites how the available memory is calculated to
use sysinfo (like it's done for FREEBSD).
- bmalloc/AvailableMemory.cpp:
(bmalloc::LinuxMemory::singleton):
(bmalloc::computeAvailableMemory):
(bmalloc::memoryStatus):
- 7:23 AM Changeset in webkit [289055] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Add file-ioctl telemetry
https://bugs.webkit.org/show_bug.cgi?id=236031
<rdar://88334007>
Reviewed by Darin Adler.
Add file-ioctl telemetry in the WebContent process on iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 7:21 AM Changeset in webkit [289054] by
-
- 16 edits8 copies21 adds in trunk
Start connecting SharedWorker to the WebKit2 layer
https://bugs.webkit.org/show_bug.cgi?id=236052
Reviewed by Darin Adler.
Source/WebCore:
Start connecting SharedWorker to the WebKit2 layer with a provider / connection, similarly to what is done
for service workers.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- workers/shared/SharedWorker.cpp:
(WebCore::mainThreadConnection):
(WebCore::SharedWorker::create):
- workers/shared/SharedWorkerManager.h:
- workers/shared/SharedWorkerObjectConnection.cpp: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
- workers/shared/SharedWorkerObjectConnection.h: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
- workers/shared/SharedWorkerProvider.cpp: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
(WebCore::SharedWorkerProvider::singleton):
(WebCore::SharedWorkerProvider::setSharedProvider):
- workers/shared/SharedWorkerProvider.h: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
(WebCore::SharedWorkerProvider::~SharedWorkerProvider):
- workers/shared/SharedWorkerScriptLoader.h:
Source/WebKit:
Start connecting SharedWorker to the WebKit2 layer with a provider / connection, similarly to what is done
for service workers.
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::sharedWorkerConnection):
- WebProcess/Network/NetworkProcessConnection.h:
- WebProcess/Storage/WebSharedWorkerObjectConnection.cpp: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
(WebKit::WebSharedWorkerObjectConnection::messageSenderConnection const):
(WebKit::WebSharedWorkerObjectConnection::requestSharedWorker):
- WebProcess/Storage/WebSharedWorkerObjectConnection.h: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
- WebProcess/Storage/WebSharedWorkerProvider.cpp: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
(WebKit::WebSharedWorkerProvider::singleton):
(WebKit::WebSharedWorkerProvider::sharedWorkerConnection):
- WebProcess/Storage/WebSharedWorkerProvider.h: Copied from Source/WebCore/workers/shared/SharedWorkerManager.h.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
LayoutTests:
Skip pure SharedWorkers tests on WK1 since we will only implement this for WebKit2 in the short term.
Land WK1-specific baselines for tests that use SharedWorkers but also cover other things.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk1/imported/w3c/web-platform-tests/content-security-policy/script-src/worker-importscripts.sub-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/content-security-policy/script-src/worker-set-timeout.sub-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/offline/appcache/workers/appcache-worker.https-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/webappapis/the-windoworworkerglobalscope-mixin/Worker_Self_Origin-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/webmessaging/broadcastchannel/workers-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/workers/abrupt-completion-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/workers/semantics/multiple-workers/001-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/workers/semantics/run-a-worker/003-expected.txt: Added.
- platform/win/TestExpectations:
- 7:19 AM Changeset in webkit [289053] by
-
- 2 edits in trunk/Source/WebKit
[iOS][GPUP] Add access to sysctl property
https://bugs.webkit.org/show_bug.cgi?id=235973
<rdar://problem/88345212>
Reviewed by Darin Adler.
Add access to required sysctl property "hw.ncpu" in the GPU process on iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- 7:14 AM Changeset in webkit [289052] by
-
- 3 edits in trunk/Source/WebKit
[GPUP] Add read access to sysctl properties
https://bugs.webkit.org/show_bug.cgi?id=236018
<rdar://problem/88382949>
Reviewed by Darin Adler.
Add read access to sysctl properties based on telemetry.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- 6:51 AM Changeset in webkit [289051] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] imported/w3c/web-platform-tests/css/css-writing-modes/text-align-vlr* tests are failing
https://bugs.webkit.org/show_bug.cgi?id=236059
Reviewed by Antti Koivisto.
Content (alignment) offset should be flipped for vertical writing mode.
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::flipLogicalRectToVisualForWritingMode):
(WebCore::Layout::InlineDisplayContentBuilder::movePointHorizontallyForWritingMode const):
- layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
- 6:31 AM Changeset in webkit [289050] by
-
- 7 edits1 delete in trunk/Source/WebKit
MediaRecorderPrivate should not need to create IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=235953
Reviewed by Eric Carlson.
Make use of SharedVideoFrameReader and SharedVideoFrameWriter between SampleBufferDisplayLayer and RemoteSampleBufferDisplayLayer.
Covered by existing MediaRecorder tests.
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::videoSampleAvailable):
(WebKit::RemoteMediaRecorder::setSharedVideoFrameSemaphore):
(WebKit::RemoteMediaRecorder::setSharedVideoFrameMemory):
- GPUProcess/webrtc/RemoteMediaRecorder.h:
- GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::videoSampleAvailable):
(WebKit::MediaRecorderPrivate::copySharedVideoFrame):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.mm: Removed.
- 6:07 AM Changeset in webkit [289049] by
-
- 3 edits2 adds in trunk
RealtimeIncomingVideoSourceCocoa should not need to create IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=235952
Reviewed by Eric Carlson.
Source/WebCore:
Test: webrtc/vp8-then-h264.html
- platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
Instead of using an IOSurface-based buffer pool, we use a regular memory buffer pool.
A follow-up should probably remove the need to convert YUV420 webrtc video frames to NV12 CVPixelBuffers in RealtimeIncomingVideoSourceCocoa,
so as to leave that to when copying the webrtc video frames into shared memory buffers used for IPC.
LayoutTests:
- webrtc/vp8-then-h264-expected.txt: Added.
- webrtc/vp8-then-h264.html: Added.
- 6:02 AM Changeset in webkit [289048] by
-
- 6 edits in trunk
Incorrect KeyframesEffect generated for background
https://bugs.webkit.org/show_bug.cgi?id=229398
<rdar://problem/82516118>
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Mark WPT progressions.
- web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
- web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt:
- web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:
Source/WebCore:
Our keyframe merging code when dealing with input from the Web Animations JS API was incorrect.
First, we would iterate over proprties on a keyframe based on the MutableStyleProperties object we
use instead of the HashMap<CSSPropertyID, String> map we use to keep track of the properties set
on the keyframe and its original string value (which we use to return the exact same string when
getKeyframes() is called).
This was incorrect because calling MutableStyleProperties::setProperty() expands shorthands into
longhands, so our property count wouldn't accurate.
Second, honestly I have no idea what I was thinking when I wrote this code as it only ever worked
with a single property on the kefyrame to merge. We now correctly merge all properties from the
keyframe-to-merge into the previous keyframe by using MutableStyleProperties::mergeAndOverrideOnConflict()
and then iterate over all known properties in the HashMap<CSSPropertyID, String> to merge the
properties and strings input.
- animation/KeyframeEffect.cpp:
(WebCore::processPropertyIndexedKeyframes):
- 5:45 AM Changeset in webkit [289047] by
-
- 1 edit1 add in trunk/WebDriverTests
Unreviewed. Add another missing file after r288871.
- imported/w3c/tools/webdriver/webdriver/bidi/error.py: Added.
- 5:43 AM Changeset in webkit [289046] by
-
- 2 edits in trunk/Source/WebCore
[GTK][a11y] Test /webkit/WebKitAccessibility/accessible/children-changed times out
https://bugs.webkit.org/show_bug.cgi?id=236070
Reviewed by Adrian Perez de Castro.
This happens because when the new node is added the a11y object children are not updated and the wrapper for the
new child is not created.
- accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification): Call updateChildrenIfNecessary on AXChildrenChanged.
- 5:42 AM Changeset in webkit [289045] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE][a11y] Handle parameter of org.a11y.atspi.Text.RemoveSelection
https://bugs.webkit.org/show_bug.cgi?id=236079
Reviewed by Adrian Perez de Castro.
- accessibility/atspi/AccessibilityObjectTextAtspi.cpp:
- 5:23 AM Changeset in webkit [289044] by
-
- 2 edits in trunk/Source/WebCore
Crash in AXIsolatedObject::associatedAXObject.
https://bugs.webkit.org/show_bug.cgi?id=236053
<rdar://problem/88413232>
Reviewed by Darin Adler.
The crash occurs because we are using an axObject pointer after we call
updateBackingStore() which may destroy the object pointed to by axObject.
This was added as a fix for
https://bugs.webkit.org/show_bug.cgi?id=220446
So I will submit a follow up patch with the correct fix for that bug as well.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::associatedAXObject const):
- 5:21 AM Changeset in webkit [289043] by
-
- 3 edits in trunk/Source/WebCore
Add specialize type traits to GLContext
https://bugs.webkit.org/show_bug.cgi?id=236076
Reviewed by Alejandro G. Castro.
Make GLContext downcastable.
No new tests, no change in behaviour.
- platform/graphics/GLContext.h:
- platform/graphics/egl/GLContextEGL.h:
- 5:11 AM Changeset in webkit [289042] by
-
- 2 edits in trunk/Tools
WebDriver: selenium tests are executed more than once
https://bugs.webkit.org/show_bug.cgi?id=236075
Reviewed by Darin Adler.
I think this happens since we updated the pytest version. Pytest is now collecting test files that don't
contain any test like init.py files. When that's given to the runner all the tests under the directory are
executed.
- Scripts/webkitpy/webdriver_tests/pytest_runner.py:
(CollectRecorder.pytest_collectreport): Do not include files with no tests.
- 5:06 AM Changeset in webkit [289041] by
-
- 15 edits in trunk/Source/WebCore
[atspi] missing-braces clang warnings
https://bugs.webkit.org/show_bug.cgi?id=236074
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-03
Reviewed by Darin Adler.
Wrap structure padding in braces.
- accessibility/atspi/AccessibilityAtspi.cpp:
- accessibility/atspi/AccessibilityObjectActionAtspi.cpp:
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
- accessibility/atspi/AccessibilityObjectComponentAtspi.cpp:
- accessibility/atspi/AccessibilityObjectDocumentAtspi.cpp:
- accessibility/atspi/AccessibilityObjectHyperlinkAtspi.cpp:
- accessibility/atspi/AccessibilityObjectHypertextAtspi.cpp:
- accessibility/atspi/AccessibilityObjectImageAtspi.cpp:
- accessibility/atspi/AccessibilityObjectSelectionAtspi.cpp:
- accessibility/atspi/AccessibilityObjectTableAtspi.cpp:
- accessibility/atspi/AccessibilityObjectTableCellAtspi.cpp:
- accessibility/atspi/AccessibilityObjectTextAtspi.cpp:
- accessibility/atspi/AccessibilityObjectValueAtspi.cpp:
- accessibility/atspi/AccessibilityRootAtspi.cpp:
- 3:39 AM Changeset in webkit [289040] by
-
- 1 edit4 adds in trunk/WebDriverTests
Unreviewed. Add missing files after r283798.
- imported/selenium/py/selenium/webdriver/common/bidi/init.py: Added.
- imported/selenium/py/selenium/webdriver/common/bidi/cdp.py: Added.
- imported/selenium/py/selenium/webdriver/remote/script_key.py: Added.
- 3:30 AM Changeset in webkit [289039] by
-
- 1 edit2 adds in trunk/WebDriverTests
Unreviewed. Add missing file after r288871.
- imported/w3c/webdriver/tests/bidi/session_subscribe/subscribe.py: Added.
- 2:13 AM Changeset in webkit [289038] by
-
- 6 edits in trunk/Source/WebKit
SampleBufferDiplayLayer should not need to create IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=235954
Reviewed by Eric Carlson.
Make use of SharedVideoFrameReader and SharedVideoFrameWriter between SampleBufferDisplayLayer and RemoteSampleBufferDisplayLayer.
Manually tested.
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.messages.in:
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h:
- 2:07 AM Changeset in webkit [289037] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Use MetadataTable instead of UnlinkedMetadataTable
https://bugs.webkit.org/show_bug.cgi?id=236063
rdar://88269480
Reviewed by Robin Morisset.
Use MetadataTable from profiled CodeBlock instead of UnlinkedMetadataTable in concurrent JIT compiler.
- bytecode/MetadataTable.h:
(JSC::MetadataTable::offsetInMetadataTable):
- bytecode/UnlinkedMetadataTable.h:
(JSC::UnlinkedMetadataTable::offsetInMetadataTable):
- jit/JITInlines.h:
(JSC::JIT::emitValueProfilingSite):
(JSC::JIT::loadPtrFromMetadata):
(JSC::JIT::load32FromMetadata):
(JSC::JIT::load8FromMetadata):
(JSC::JIT::store8ToMetadata):
(JSC::JIT::store32ToMetadata):
(JSC::JIT::materializePointerIntoMetadata):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emit_op_get_from_scope):
- 1:18 AM Changeset in webkit [289036] by
-
- 1 copy in releases/WebKitGTK/webkit-2.35.2
WebKitGTK 2.35.2
- 1:16 AM Changeset in webkit [289035] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.35.2 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.35.2.
- 12:52 AM Changeset in webkit [289034] by
-
- 3 edits in trunk/Tools
Allow using STIX Two in layout tests
https://bugs.webkit.org/show_bug.cgi?id=236048
Reviewed by Darin Adler.
Add the fonts to the allow-list.
- DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::allowedFontFamilySet):
- 12:41 AM Changeset in webkit [289033] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed. Fix GTK make distcheck
Move mac specific file from Sources.txt to SourcesCocoa.txt
- Sources.txt:
- SourcesCocoa.txt:
- 12:35 AM Changeset in webkit [289032] by
-
- 29 edits1 delete in trunk
Transform interpolation should blend between shared transform function primitives
https://bugs.webkit.org/show_bug.cgi?id=235311
<rdar://problem/88012700>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Mark some tests as newly passing.
- web-platform-tests/css/css-transforms/animation/list-interpolation-expected.txt:
- web-platform-tests/css/css-transforms/animation/matrix-interpolation-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-002-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-verify-reftests-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-translate-composition-expected.txt:
Source/WebCore:
No new tests. This is covered by existing WPT tests.
Allow direct interpolation between mismatching transform functions that share a primitive.
This fixes many tests expecting a certain computed transformation matrix in WPT, but also
allows using hardware animations more often for the CoreAnimation backend.
Rotation, scale, and translate are the only functions that have shared primitives, so they
are the only ones in this change to allow for this new behavior.
When determining if a list of keyframes has shared compatible lists of transforms, return
the vector of primitives that can represent them. In addition code for calculating big
rotations has been removed, because it was unused.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::gSharedPrimitivesForTransformKeyframe): Added.
(WebCore::GraphicsLayer::getSharedPrimitivesForTransformKeyframes): Added.
- platform/graphics/GraphicsLayer.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Modified to take a vector of shared
primitive types instead of a pointer to an array of operations.
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::addAnimation): Use new method.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::addAnimation): Ditto.
- platform/graphics/transforms/Matrix3DTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::blend): Use the new sharedPrimitiveType method
to determine if the two operations can blend.
- platform/graphics/transforms/MatrixTransformOperation.cpp:
(WebCore::MatrixTransformOperation::blend): Ditto.
- platform/graphics/transforms/PerspectiveTransformOperation.cpp:
(WebCore::PerspectiveTransformOperation::blend): Ditto.
- platform/graphics/transforms/RotateTransformOperation.cpp:
(WebCore::RotateTransformOperation::blend): Ditto.
- platform/graphics/transforms/RotateTransformOperation.h:
- platform/graphics/transforms/ScaleTransformOperation.cpp:
(WebCore::ScaleTransformOperation::blend): Ditto.
- platform/graphics/transforms/ScaleTransformOperation.h:
- platform/graphics/transforms/SkewTransformOperation.cpp:
(WebCore::SkewTransformOperation::blend): Ditto.
- platform/graphics/transforms/TransformOperation.cpp:
(WebCore::TransformOperation::sharedPrimitiveType const):
- platform/graphics/transforms/TransformOperation.h:
(WebCore::TransformOperation::primitiveType const): Added this virtual function which
return the type for the base class. Rotation, scale, and translate specialize this to
return a compatible primitive type.
- platform/graphics/transforms/TransformOperations.cpp:
(WebCore::TransformOperations::operationsMatch const): Modified to check whether operations
share primitives.
- platform/graphics/transforms/TranslateTransformOperation.cpp:
(WebCore::TranslateTransformOperation::blend): Use the new sharedPrimitiveType method.
- platform/graphics/transforms/TranslateTransformOperation.h:
LayoutTests:
Remove a duplicated baseline.
- platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt: Removed.
- 12:15 AM Changeset in webkit [289031] by
-
- 6 edits2 adds in trunk/Source/WebCore
Create PDFDocument stub
https://bugs.webkit.org/show_bug.cgi?id=235970
Reviewed by Brent Fulgham.
Create an empty stub with an iframe where the viewer will be loaded.
Changing about:blank?file= to https://mozilla.github.io/pdf.js/web/viewer.html?file= is one way
to test the stub.
That stub is guarded behind the PDF.js viewer internal setting which is only enabled in captive portal mode.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
- dom/Document.h:
(WebCore::Document::isPDFDocument const):
- html/PDFDocument.cpp: Added.
(WebCore::PDFDocument::PDFDocument):
(WebCore::m_viewerRendered):
(WebCore::PDFDocumentParser::document const):
(WebCore::PDFDocumentParser::appendBytes):
(WebCore::PDFDocumentParser::finish):
(WebCore::PDFDocument::createParser):
(WebCore::PDFDocument::createDocumentStructure):
(WebCore::PDFDocument::updateDuringParsing):
(WebCore::PDFDocument::finishedParsing):
- html/PDFDocument.h: Added.
(isType):
Feb 2, 2022:
- 11:33 PM Changeset in webkit [289030] by
-
- 2 edits in trunk
Unreviewed. [GTK] Apply the same cmake changes of r289029 to GTK port
- Source/cmake/OptionsGTK.cmake:
- 11:05 PM Changeset in webkit [289029] by
-
- 31 edits in trunk
[WPE] Fix for non-unified builds with ACCESSIBILITY=OFF
https://bugs.webkit.org/show_bug.cgi?id=236024
Reviewed by Darin Adler.
.:
- Source/cmake/OptionsWPE.cmake:
Source/WebCore:
- accessibility/atspi/AXObjectCacheAtspi.cpp:
- accessibility/atspi/AccessibilityAtspi.cpp:
- accessibility/atspi/AccessibilityAtspi.h:
- accessibility/atspi/AccessibilityAtspiEnums.h:
- accessibility/atspi/AccessibilityObjectActionAtspi.cpp:
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
- accessibility/atspi/AccessibilityObjectAtspi.h:
- accessibility/atspi/AccessibilityObjectComponentAtspi.cpp:
- accessibility/atspi/AccessibilityObjectDocumentAtspi.cpp:
- accessibility/atspi/AccessibilityObjectHyperlinkAtspi.cpp:
- accessibility/atspi/AccessibilityObjectHypertextAtspi.cpp:
- accessibility/atspi/AccessibilityObjectImageAtspi.cpp:
- accessibility/atspi/AccessibilityObjectSelectionAtspi.cpp:
- accessibility/atspi/AccessibilityObjectTableAtspi.cpp:
- accessibility/atspi/AccessibilityObjectTableCellAtspi.cpp:
- accessibility/atspi/AccessibilityObjectTextAtspi.cpp:
- accessibility/atspi/AccessibilityObjectValueAtspi.cpp:
- accessibility/atspi/AccessibilityRootAtspi.cpp:
- accessibility/atspi/AccessibilityRootAtspi.h:
- editing/atspi/FrameSelectionAtspi.cpp:
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setSelectedState):
- page/Page.h:
Tools:
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/atspi/AccessibilityControllerAtspi.cpp:
- WebKitTestRunner/InjectedBundle/atspi/AccessibilityNotificationHandler.cpp:
- WebKitTestRunner/InjectedBundle/atspi/AccessibilityNotificationHandler.h:
- WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
- 10:36 PM Changeset in webkit [289028] by
-
- 31 edits1 delete in trunk
[GTK][a11y] Set platform name to atspi in WTR
https://bugs.webkit.org/show_bug.cgi?id=232227
Reviewed by Adrian Perez de Castro.
Tools:
- WebKitTestRunner/InjectedBundle/atspi/AccessibilityControllerAtspi.cpp:
(WTR::AccessibilityController::platformName): Use atspi instead of atk.
LayoutTests:
Update tests to use atspi instead of atk.
- accessibility/add-children-pseudo-element.html:
- accessibility/aria-hidden-false-works-in-subtrees.html:
- accessibility/aria-label-on-label-element.html:
- accessibility/aria-option-role.html:
- accessibility/auto-fill-crash.html:
- accessibility/combo-box-collapsed-selection-changed.html:
- accessibility/content-editable-as-textarea.html:
- accessibility/focusable-inside-hidden.html:
- accessibility/form-control-value-settable.html:
- accessibility/gtk/caret-offsets-and-extraneous-white-spaces.html:
- accessibility/gtk/caret-offsets.html:
- accessibility/gtk/resources/atk-helpers.js: Removed.
- accessibility/gtk/text-in-span-block-in-a-block.html:
- accessibility/ignore-spacer-elements.html:
- accessibility/insert-children-assert.html:
- accessibility/list-detection.html:
- accessibility/menu-list-sends-change-notification.html:
- accessibility/radio-button-title-label.html:
- accessibility/render-counter-text.html:
- accessibility/roles-computedRoleString.html:
- accessibility/roles-exposed.html:
- accessibility/secure-textfield-title-ui.html:
- accessibility/select-element-at-index.html:
- accessibility/svg-bounds.html:
- accessibility/table-column-headers-with-captions.html:
- accessibility/table-fallback-roles-expose-element-attributes.html:
- accessibility/table-with-footer-section-above-body.html:
- platform/glib/accessibility/platform-name-expected.txt:
- resources/accessibility-helper.js:
(platformValueForW3CName):
(platformValueForW3CDescription):
(platformRoleForComboBox):
(platformRoleForStaticText):
(spinnerForTextInput):
- 10:06 PM Changeset in webkit [289027] by
-
- 2 edits in trunk/Source/ThirdParty
[XCBuild] Users of libgtest.a depend on headers from gtest.framework
https://bugs.webkit.org/show_bug.cgi?id=236045
Patch by Elliott Williams <Elliott Williams> on 2022-02-02
Reviewed by Alexey Proskuryakov.
In Make-based sequential builds, gtest's dynamic target builds, even though we don't use
it. Downstream projects were relying on that target to build and produce a gtest.framework
with headers in it.
Instead, configure gtest's static target to copy the project's
includedirectory into
build products. Headers are copied to $BUILT_PRODUCTS_DIR/usr/lib/include/gtest.
- gtest/xcode/gtest.xcodeproj/project.pbxproj: Added folder reference to
include.
- 9:32 PM Changeset in webkit [289026] by
-
- 2 edits in trunk/Source/WebKit
Remove debug log accidentally added with r289018
https://bugs.webkit.org/show_bug.cgi?id=236000
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
- 9:07 PM Changeset in webkit [289025] by
-
- 3 edits in trunk/Tools
[MiniBrowser][Win][WK2] Show MessageBox for alert, confirm and prompt
https://bugs.webkit.org/show_bug.cgi?id=236047
Reviewed by Don Olmstead.
- MiniBrowser/win/WebKitBrowserWindow.cpp:
(createWKString):
(WebKitBrowserWindow::WebKitBrowserWindow):
(WebKitBrowserWindow::runJavaScriptAlert):
(WebKitBrowserWindow::runJavaScriptConfirm):
(WebKitBrowserWindow::runJavaScriptPrompt):
- MiniBrowser/win/WebKitBrowserWindow.h:
- 8:16 PM Changeset in webkit [289024] by
-
- 3 edits in trunk/Source/JavaScriptCore
SecureARM64EHashPins should check g_jscConfig.useFastJITPermissions
https://bugs.webkit.org/show_bug.cgi?id=236055
<rdar://88222677>
Reviewed by Mark Lam.
- assembler/SecureARM64EHashPins.cpp:
(JSC::SecureARM64EHashPins::initializeAtStartup):
(JSC::SecureARM64EHashPins::allocatePinForCurrentThread):
(JSC::SecureARM64EHashPins::deallocatePinForCurrentThread):
- assembler/SecureARM64EHashPinsInlines.h:
(JSC::SecureARM64EHashPins::pinForCurrentThread):
- 6:19 PM Changeset in webkit [289023] by
-
- 11 edits1 copy in trunk/Source/WebCore
Move connect event dispatch logic to SharedWorkerGlobalScope
https://bugs.webkit.org/show_bug.cgi?id=236038
Reviewed by Darin Adler.
Move connect event dispatch logic to SharedWorkerGlobalScope and add logging.
- WebCore.xcodeproj/project.pbxproj:
- platform/Logging.h:
- workers/shared/SharedWorkerGlobalScope.cpp:
(WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
(WebCore::SharedWorkerGlobalScope::thread):
(WebCore::SharedWorkerGlobalScope::close):
(WebCore::SharedWorkerGlobalScope::postConnectEvent):
- workers/shared/SharedWorkerGlobalScope.h:
- workers/shared/SharedWorkerIdentifier.h: Copied from Source/WebCore/workers/shared/context/SharedWorkerThread.h.
- workers/shared/SharedWorkerManager.cpp:
(WebCore::SharedWorkerManager::scriptLoadedSuccessfully):
- workers/shared/context/SharedWorkerThread.cpp:
(WebCore::SharedWorkerThread::SharedWorkerThread):
(WebCore::SharedWorkerThread::createWorkerGlobalScope):
- workers/shared/context/SharedWorkerThread.h:
(WebCore::SharedWorkerThread::identifier const):
- workers/shared/context/SharedWorkerThreadProxy.cpp:
(WebCore::SharedWorkerThreadProxy::startWorkerGlobalScope):
(WebCore::SharedWorkerThreadProxy::identifier const):
- workers/shared/context/SharedWorkerThreadProxy.h:
- 6:17 PM Changeset in webkit [289022] by
-
- 17 edits in trunk
CSP: Implement wasm-unsafe-eval
https://bugs.webkit.org/show_bug.cgi?id=235408
Reviewed by Kate Cheney.
LayoutTests/imported/w3c:
Update expectations with new passes.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any.serviceworker-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any.worker-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any.serviceworker-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any.worker-expected.txt:
Source/WebCore:
This is similar to 'unsafe-eval' except limited in scope to WebAssembly.
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::checkWasmEval):
(WebCore::ContentSecurityPolicyDirectiveList::create):
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::ContentSecurityPolicySourceList::parseSource):
- page/csp/ContentSecurityPolicySourceList.h:
(WebCore::ContentSecurityPolicySourceList::allowWasmEval const):
- page/csp/ContentSecurityPolicySourceListDirective.h:
(WebCore::ContentSecurityPolicySourceListDirective::allowWasmEval const):
LayoutTests:
Update expectations with new CSP message.
- http/tests/security/contentSecurityPolicy/WebAssembly-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-about-blank-iframe-expected.txt:
- http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-external-script-expected.txt:
- http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-subframe-expected.txt:
- 6:00 PM Changeset in webkit [289021] by
-
- 5 edits1 move1 add1 delete in trunk
CSP: Fix matching wildcard hosts
https://bugs.webkit.org/show_bug.cgi?id=235992
Reviewed by Kate Cheney.
LayoutTests/imported/w3c:
Update expectations.
- web-platform-tests/content-security-policy/img-src/img-src-full-host-wildcard-blocked.sub-expected.txt:
Source/WebCore:
As per the spec wildcard hosts must include the leading '.' for matches:
https://www.w3.org/TR/CSP3/#match-hosts.
Test: http/tests/security/contentSecurityPolicy/image-full-host-wildcard-blocked.html
- page/csp/ContentSecurityPolicySource.cpp:
(WebCore::ContentSecurityPolicySource::hostMatches const):
LayoutTests:
Rewrite test to expect CSP3 compliant behavior.
- http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed-expected.txt: Removed.
- http/tests/security/contentSecurityPolicy/image-full-host-wildcard-blocked-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/image-full-host-wildcard-blocked.html: Renamed from LayoutTests/http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed.html.
- 5:03 PM Changeset in webkit [289020] by
-
- 7 edits1 add in trunk
Speed-up JSON.stringify() by avoiding "toJSON" property lookups
https://bugs.webkit.org/show_bug.cgi?id=235996
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-02-02
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/json-stringify-many-objects-to-json.js:
Make this test a little more realistic by moving "toJSON" onto prototype.
- microbenchmarks/vanilla-todomvc-json-stringify.js: Added.
Source/JavaScriptCore:
Speedometer2/Vanilla* subtests are highly reliant on JSON.stringify() for "storage":
it accounts for 10-15% of running time. EmberJS* subtests rely on JSON.stringify() as
well, although they are significantly slower overall, and also encounter only a few
different structures.
This patch caches "toJSON" properties on Structure's rare data; it's the same technique
we are using in toPrimitive() to avoid "toString" / "valueOf" lookups. The microbenchmark,
which was carefully extracted from Speedometer2/Vanilla* subtests, progressed by 3.7%.
While we could come up with a solution that doesn't involve creating StructureRareData
for all structures we stringify, like keeping a list of StructureIDs w/o "toJSON" method,
which will be correct as long asm_hasFastObjectProperties || m_isJSArrayis true for all
seen objects, that would probably miss some edge case, won't persist between JSON.stringify()
calls, and won't speed-up structures with "toJSON" methods like Dates.
- runtime/CachedSpecialPropertyAdaptiveStructureWatchpoint.cpp:
(JSC::CachedSpecialPropertyAdaptiveStructureWatchpoint::fireInternal):
- runtime/JSONObject.cpp:
(JSC::Stringifier::toJSON):
- runtime/StructureRareData.cpp:
(JSC::StructureRareData::cacheSpecialPropertySlow):
(JSC::CachedSpecialPropertyAdaptiveInferredPropertyValueWatchpoint::handleFire):
- runtime/StructureRareData.h:
- 4:59 PM Changeset in webkit [289019] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/87830583
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:58 PM Changeset in webkit [289018] by
-
- 40 edits1 add in trunk/Source
Use private relay for all subresources if the main document main resource was loaded using private relay
https://bugs.webkit.org/show_bug.cgi?id=236000
Source/WebCore:
<rdar://87358372>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-02
Reviewed by Brady Eidson.
This can be manually tested using instructions in the radar.
- loader/DocumentLoader.h:
(WebCore::DocumentLoader::setMainResourceWasPrivateRelayed):
(WebCore::DocumentLoader::mainResourceWasPrivateRelayed const):
Source/WebCore/PAL:
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-02
Reviewed by Brady Eidson.
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
Patch by Alex Christensen <achristensen@webkit.org> on 2022-02-02
Reviewed by Brady Eidson.
- NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::didReceiveResponse):
- NetworkProcess/Downloads/PendingDownload.h:
- NetworkProcess/NetworkCORSPreflightChecker.cpp:
(WebKit::NetworkCORSPreflightChecker::didReceiveResponse):
- NetworkProcess/NetworkCORSPreflightChecker.h:
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::didReceiveResponse):
- NetworkProcess/NetworkDataTask.h:
- NetworkProcess/NetworkDataTaskBlob.cpp:
(WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::didReceiveResponse):
(WebKit::NetworkLoad::notifyDidReceiveResponse):
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkLoadClient.h:
- NetworkProcess/NetworkLoadParameters.h:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::transferToNewWebProcess):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::sendDidReceiveResponsePotentiallyInNewBrowsingContextGroup):
(WebKit::NetworkResourceLoader::didFinishWithRedirectResponse):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::didReceiveResponse):
- NetworkProcess/PingLoad.h:
- NetworkProcess/PreconnectTask.cpp:
(WebKit::PreconnectTask::didReceiveResponse):
- NetworkProcess/PreconnectTask.h:
- NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::processResponse):
- NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp:
(WebKit::ServiceWorkerNavigationPreloader::loadWithCacheEntry):
(WebKit::ServiceWorkerNavigationPreloader::willSendRedirectedRequest):
(WebKit::ServiceWorkerNavigationPreloader::didReceiveResponse):
- NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.h:
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
(WebKit::ServiceWorkerSoftUpdateLoader::didReceiveResponse):
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::didReceiveResponse):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::didReceiveResponse):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
- Shared/PrivateRelayed.h: Added.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::addParametersShared):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::mainFrameMainResource const):
(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
- WebProcess/Network/WebResourceLoader.h:
- WebProcess/Network/WebResourceLoader.messages.in:
- 4:56 PM Changeset in webkit [289017] by
-
- 8 edits in trunk/Source
[Xcode] Fix redundant execution of "Check VTables..." script
https://bugs.webkit.org/show_bug.cgi?id=236032
Patch by Elliott Williams <Elliott Williams> on 2022-02-02
Reviewed by Jonathan Bedard.
Source/JavaScriptCore:
Tools/Scripts/check-for-weak-vtables-and-externals already touches a timestamp file after
every execution. Add it as an output file to all "Check For Weak VTables and Externals"
script phases.
These script phases already list their respective executables as inputs. This change shaves
a few seconds off the null build time.
- JavaScriptCore.xcodeproj/project.pbxproj: Add timestamp file to script phase.
Source/ThirdParty/libwebrtc:
- libwebrtc.xcodeproj/project.pbxproj: Add timestamp file to script phase.
Source/WebKit:
- WebKit.xcodeproj/project.pbxproj: Add timestamp file to script phase.
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj: Add timestamp file to script phase.
- 4:48 PM Changeset in webkit [289016] by
-
- 2 edits in trunk/Source/WebCore
[GLIB] Unreviewed debug buildfix after r288872
https://bugs.webkit.org/show_bug.cgi?id=236036
The actual issue was the roleNames array provided to SortedArrayMap
constructor wasn't fully ordered, making isSortedConstExpr to fail,
generating the call to WTFReport..., which is non-constexpr and thus
the compile failure.
This commit revert the previous fix from r288990 and fix the ordering of
roleNames.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::localizedRoleName):
- 4:34 PM Changeset in webkit [289015] by
-
- 3 edits in trunk/Tools
[EWS] Rename CompileWebKitWithoutPatch to CompileWebKitWithoutChange
https://bugs.webkit.org/show_bug.cgi?id=235949
<rdar://problem/88325688>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(CompileWebKit.evaluateCommand): Rename CompileWebKitWithoutPatch
to CompileWebKitWithoutChange.
(CompileWebKitWithoutChange): Ditto.
(AnalyzeCompileWebKitResults.analyzeResults): Ditto.
(ReRunWebKitTests.evaluateCommand): Rename CompileWebKitWithoutPatch
to CompileWebKitWithoutChange, only retry if build is for a patch.
(RunWebKitTestsRedTree.evaluateCommand): Ditto.
(RunWebKitTestsRepeatFailuresRedTree.evaluateCommand): Ditto.
(ReRunAPITests.evaluateCommand): Ditto.
(CompileWebKitWithoutPatch): Renamed to CompileWebKitWithoutChange.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/246724@main
- 4:32 PM Changeset in webkit [289014] by
-
- 6 edits in trunk/Source/WebCore
Keyframe resolution methods should use reference instead of pointer parameters
https://bugs.webkit.org/show_bug.cgi?id=236020
Reviewed by Dean Jackson.
The Style::Resolver::styleForKeyframe() method would take in a
const RenderStyle*
and aconst StyleRuleKeyframe*but these parameters were used without null checks.
This patch changes this method signature to take in references instead, which involves
also changing the signature for Style::Resolver::keyframeStylesForAnimation().
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::getKeyframes):
(WebCore::KeyframeEffect::updateBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSAnimationBlendingKeyframes):
(WebCore::KeyframeEffect::applyPendingAcceleratedActions):
- rendering/style/KeyframeList.cpp:
(WebCore::KeyframeList::fillImplicitKeyframes):
- rendering/style/KeyframeList.h:
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::styleForKeyframe):
(WebCore::Style::Resolver::keyframeStylesForAnimation):
- style/StyleResolver.h:
- 4:30 PM Changeset in webkit [289013] by
-
- 2 edits in trunk/Websites/webkit.org
Improve color contrast of dark mode syntax highlighting
https://bugs.webkit.org/show_bug.cgi?id=236041
Reviewed by Simon Fraser.
- wp-content/themes/webkit/style.css:
(@media(prefers-color-scheme:dark) :root):
- 4:09 PM Changeset in webkit [289012] by
-
- 5 edits in trunk/Source/WebKit
Remove OriginStorageManager if it's not in use
https://bugs.webkit.org/show_bug.cgi?id=236029
Reviewed by Darin Adler.
We should remove OriginStorageManager if it does not contains in-memory data and its origin data is not being
used by any web process.
- NetworkProcess/storage/FileSystemStorageManager.cpp:
(WebKit::FileSystemStorageManager::isActive const):
- NetworkProcess/storage/FileSystemStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::stopReceivingMessageFromConnection):
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::connectionClosed):
(WebKit::OriginStorageManager::StorageBucket::isActive const):
- 4:07 PM Changeset in webkit [289011] by
-
- 1 copy in tags/Safari-613.1.16.0.4
Tag Safari-613.1.16.0.4.
- 4:07 PM Changeset in webkit [289010] by
-
- 1 copy in tags/Safari-613.1.16.1.3
Tag Safari-613.1.16.1.3.
- 4:05 PM Changeset in webkit [289009] by
-
- 1 delete in tags/Safari-613.1.16.0.4
Delete tag.
- 4:05 PM Changeset in webkit [289008] by
-
- 1 delete in tags/Safari-613.1.16.1.3
Delete tag.
- 3:57 PM Changeset in webkit [289007] by
-
- 5 edits2 adds in trunk
Percentage word spacing doesn't incorporate synthetic bold expansion
https://bugs.webkit.org/show_bug.cgi?id=236007
Reviewed by Alan Bujtas.
Source/WebCore:
The solution is to copy the approach in https://trac.webkit.org/changeset/288944/webkit
to make sure the space glyph works correctly with synthetic bold and fallback fonts.
This also renames FontCascade::spaceWidth() to FontCascade::widthOfSpaceString(),
so it's more clear what it's actually doing.
Test: fast/text/synthetic-bold-percentage-word-spacing.html
- platform/graphics/FontCascade.h:
(WebCore::FontCascade::metricsOfPrimaryFont const):
(WebCore::FontCascade::spaceWidth const): Deleted.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setWordSpacing):
LayoutTests:
- fast/text/synthetic-bold-percentage-word-spacing-expected.html: Added.
- fast/text/synthetic-bold-percentage-word-spacing.html: Added.
- 3:55 PM Changeset in webkit [289006] by
-
- 2 edits in branches/safari-613.1.16.1-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/87830583
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:50 PM Changeset in webkit [289005] by
-
- 1 copy in tags/Safari-612.4.9.0.4
Tag Safari-612.4.9.0.4.
- 3:49 PM Changeset in webkit [289004] by
-
- 1 copy in tags/Safari-612.4.9.1.8
Tag Safari-612.4.9.1.8.
- 3:43 PM Changeset in webkit [289003] by
-
- 1 copy in tags/Safari-613.1.16.1.3
Tag Safari-613.1.16.1.3.
- 3:42 PM Changeset in webkit [289002] by
-
- 1 copy in tags/Safari-613.1.16.0.4
Tag Safari-613.1.16.0.4.
- 3:27 PM Changeset in webkit [289001] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Crash on several pages after r287986
https://bugs.webkit.org/show_bug.cgi?id=236033
Reviewed by Tim Horton.
I noticed that Safari crashes when opening https://linux.die.net/man/3/localtime.
This is happening after r287986: we are calling [self release], but the [JSValue dealloc]
cannot work if _context is nil. We should add a guard.
- API/JSValue.mm:
(-[JSValue dealloc]):
- API/tests/testapi.mm:
(testObjectiveCAPIMain):
- 3:25 PM Changeset in webkit [289000] by
-
- 7 edits1 move in trunk/Source/WebCore
Move TransferredMessagePort to its own header
https://bugs.webkit.org/show_bug.cgi?id=236028
Reviewed by Geoffrey Garen.
Move TransferredMessagePort to its own header so that Shared Worker doesn't need to include the whole MessageWithMessagePorts.h header.
It also facilitates passing a TransferredMessagePort in IPC, which will be needed.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- dom/MessagePort.cpp:
(WebCore::MessagePort::postMessage):
(WebCore::MessagePort::disentanglePorts):
(WebCore::MessagePort::entanglePorts):
- dom/MessagePort.h:
- dom/messageports/MessageWithMessagePorts.h:
- dom/messageports/TransferredMessagePort.h: Copied from Source/WebCore/dom/messageports/MessageWithMessagePorts.h.
- 3:04 PM Changeset in webkit [288999] by
-
- 24 edits in trunk
Web Inspector: didShowExtensionTab needs to pass the frameID of the tab
https://bugs.webkit.org/show_bug.cgi?id=236023
rdar://problem/88383984
Reviewed by BJ Burg.
Source/WebCore:
- inspector/InspectorFrontendClient.h:
(WebCore::InspectorFrontendClient::didShowExtensionTab):
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::didShowExtensionTab):
- inspector/InspectorFrontendHost.h:
- inspector/InspectorFrontendHost.idl:
Source/WebInspectorUI:
- UserInterface/Views/WebInspectorExtensionTabContentView.js:
(WI.WebInspectorExtensionTabContentView.prototype._maybeDispatchDidShowExtensionTab):
(WI.WebInspectorExtensionTabContentView):
Source/WebKit:
- UIProcess/API/APIInspectorExtensionClient.h:
(API::InspectorExtensionClient::didShowExtensionTab):
- UIProcess/API/Cocoa/_WKInspectorExtensionDelegate.h:
- UIProcess/Inspector/Cocoa/InspectorExtensionDelegate.h:
- UIProcess/Inspector/Cocoa/InspectorExtensionDelegate.mm:
(WebKit::InspectorExtensionDelegate::InspectorExtensionDelegate):
(WebKit::InspectorExtensionDelegate::InspectorExtensionClient::didShowExtensionTab):
- UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:
(WebKit::WebInspectorUIExtensionControllerProxy::didShowExtensionTab):
- UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.h:
- UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.messages.in:
- WebProcess/Inspector/RemoteWebInspectorUI.cpp:
(WebKit::RemoteWebInspectorUI::didShowExtensionTab):
- WebProcess/Inspector/RemoteWebInspectorUI.h:
- WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::didShowExtensionTab):
- WebProcess/Inspector/WebInspectorUI.h:
- WebProcess/Inspector/WebInspectorUIExtensionController.cpp:
(WebKit::WebInspectorUIExtensionController::didShowExtensionTab):
- WebProcess/Inspector/WebInspectorUIExtensionController.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKInspectorExtension.mm:
(-[InspectorExtensionDelegateForTestingInspectorExtension inspectorExtension:didShowTabWithIdentifier:withFrameHandle:]):
(-[InspectorExtensionDelegateForTestingInspectorExtension inspectorExtension:didShowTabWithIdentifier:]): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/WKInspectorExtensionDelegate.mm:
(-[InspectorExtensionDelegateForTesting inspectorExtension:didShowTabWithIdentifier:withFrameHandle:]):
(-[InspectorExtensionDelegateForTesting inspectorExtension:didShowTabWithIdentifier:]): Deleted.
- 2:37 PM Changeset in webkit [288998] by
-
- 2 edits in branches/safari-613.1.16.0-branch/Source/WebCore
Cherry-pick r288667. rdar://problem/87830583
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp: (WebCore::CachedRawResource::updateBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:30 PM Changeset in webkit [288997] by
-
- 2 edits in trunk/Source/WebInspectorUI
WebInspector: Add additional image MIME types to frontend
https://bugs.webkit.org/show_bug.cgi?id=235977
Reviewed by Patrick Angle.
Add MIME types around JPEG 2000, JPEG XL and AVIF. Sort the listings based on the file
extension to make it easier to spot missing image formats.
- UserInterface/Base/MIMETypeUtilities.js:
(WI.mimeTypeForFileExtension):
(WI.fileExtensionForMIMEType):
- 2:13 PM Changeset in webkit [288996] by
-
- 6 edits1 add in trunk
No breakpoints hit on github.com, and some are invalid
https://bugs.webkit.org/show_bug.cgi?id=235607
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
Added test case in: inspector/debugger/breakpoints/resolved-dump-all-pause-locations.html
Previously not all line terminations resulted in setting the
m_lineStartto the current m_code, which meant
that the location for pause-able locations and stack traces were inaccurate when they were on a line that
terminated multi-line comments, strings, or template strings. We now always update m_lineStart when shifting for
a line terminator, instead of only when the terminator appears outside a string or comment.
- debugger/Breakpoint.cpp:
(JSC::Breakpoint::resolve):
- The existing assertions were somewhat in conflict with each other. If we permit the line number to increase,
there is no guarantee that the column number will remain the same or increase, which can now more easily occur
with multi-line strings. Instead, we should make sure that the overall offset has increase.
- parser/Lexer.cpp:
(JSC::Lexer<T>::shiftLineTerminator):
(JSC::Lexer<T>::lexWithoutClearingLineTerminator):
(JSC::Lexer<T>::scanTemplateString):
- Make sure the token start offset and start line offset are correctly set for strings.
LayoutTests:
Add test cases for resolving breakpoints on lines that begin with the end of multi-line strings, comments, and
template strings.
- inspector/debugger/breakpoints/resolved-dump-all-pause-locations-expected.txt:
- inspector/debugger/breakpoints/resolved-dump-all-pause-locations.html:
- inspector/debugger/breakpoints/resources/dump-multiline.js: Added.
- 1:53 PM Changeset in webkit [288995] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] YarrJIT m_checkedOffset should be pre-computed and stored to Yarr op
https://bugs.webkit.org/show_bug.cgi?id=235932
Reviewed by Keith Miller.
Instead of adhocly calculating m_checkedOffset while generating the machine code,
let's just pre-compute it and store it to Yarr JIT IR so that we can simplify
m_checkedOffset handling. This paves the way to also pre-compute safe-length
so that we can skip some of length check in parenthesized-assertions.
- yarr/YarrJIT.cpp:
- 1:41 PM Changeset in webkit [288994] by
-
- 2 edits in trunk
[CMake] Stop defaulting to ld.gold
https://bugs.webkit.org/show_bug.cgi?id=235476
Reviewed by Michael Catanzaro.
Remove the USE_LD_GOLD option, and let the build use by default the system linker.
The output from running the linker with -Wl,--version is matched to determine which linker
is currently in use, and set variables LD_SUPPORTS_<feature> accordingly. This is needed
because not all of them support certain features and after a few attempts at doing feature
checks it was becoming clear that on one hand the checks were getting gnarly, and on the
other hand vetting certain linkers provides a stronger guarantee of sucessful builds.
Similarly, extend the check used to determine whether the static library archiver supports
thin archivers to cover the one included with LLVM (llvm-ar), and enable usage of think
archivers if they can be both created by the archiver and consumed by the linker. Previously
the build system was enabling thin archives without knowing whether the linker would succeed
using them.
- Source/cmake/OptionsCommon.cmake:
- 1:38 PM Changeset in webkit [288993] by
-
- 2 edits in trunk/Source/WTF
[JSC] Remove compiler warning in TrailingArray.h
https://bugs.webkit.org/show_bug.cgi?id=236014
Patch by Xan Lopez <Xan Lopez> on 2022-02-02
Reviewed by Yusuke Suzuki.
- wtf/TrailingArray.h:
(WTF::TrailingArray::TrailingArray): cast the std::distance result
to size_t, we want to compare the absolute value of the distance
with the 'unsigned int' size.
- 1:10 PM Changeset in webkit [288992] by
-
- 20 edits in trunk
CSP: Fix returned WebAssembly error type when blocked
https://bugs.webkit.org/show_bug.cgi?id=235319
Reviewed by Kate Cheney.
LayoutTests/imported/w3c:
Update expectations with more passes.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-blocks-wasm.any-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-blocks-wasm.any.serviceworker-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-blocks-wasm.any.worker-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any.serviceworker-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any.worker-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-blocks-wasm.any-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-blocks-wasm.any.serviceworker-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-blocks-wasm.any.worker-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any.serviceworker-expected.txt:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any.worker-expected.txt:
Source/JavaScriptCore:
As per the spec it should return WebAssembly.CompileError.
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::tryCreate):
LayoutTests:
Update expectations.
- http/tests/security/contentSecurityPolicy/WebAssembly-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-about-blank-iframe-expected.txt:
- http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-external-script-expected.txt:
- http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-subframe-expected.txt:
- 1:08 PM Changeset in webkit [288991] by
-
- 16 edits in trunk
[GPU Process] Remove DisplayList::Replayer::Delegate and DisplayList::RecorderImpl::Delegate
https://bugs.webkit.org/show_bug.cgi?id=235939
Reviewed by Wenson Hsieh.
Source/WebCore:
These classes are abstract classes and they are not overridden by any
client right now. These unused classes should be removed after the display
list stream connection refactoring.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::displayListForTextRun const):
- platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::changeDestinationImageBuffer): Deleted.
(WebCore::ImageBuffer::prepareToAppendDisplayListItems): Deleted.
- platform/graphics/displaylists/DisplayListDrawingContext.cpp:
(WebCore::DisplayList::DrawingContext::DrawingContext):
- platform/graphics/displaylists/DisplayListDrawingContext.h:
(WebCore::DisplayList::DrawingContext::DrawingContext):
- platform/graphics/displaylists/DisplayListImageBuffer.h:
(WebCore::DisplayList::ImageBuffer::ImageBuffer):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::RecorderImpl):
(WebCore::DisplayList::RecorderImpl::recordResourceUse):
(WebCore::DisplayList::RecorderImpl::canAppendItemOfType const): Deleted.
(WebCore::DisplayList::RecorderImpl::canDrawImageBuffer const): Deleted.
(WebCore::DisplayList::RecorderImpl::renderingMode const): Deleted.
- platform/graphics/displaylists/DisplayListRecorderImpl.h:
(WebCore::DisplayList::RecorderImpl::append):
(WebCore::DisplayList::RecorderImpl::Delegate::~Delegate): Deleted.
(WebCore::DisplayList::RecorderImpl::Delegate::canAppendItemOfType): Deleted.
(WebCore::DisplayList::RecorderImpl::Delegate::recordNativeImageUse): Deleted.
(WebCore::DisplayList::RecorderImpl::Delegate::isCachedImageBuffer const): Deleted.
(WebCore::DisplayList::RecorderImpl::Delegate::recordFontUse): Deleted.
(WebCore::DisplayList::RecorderImpl::Delegate::recordImageBufferUse): Deleted.
(WebCore::DisplayList::RecorderImpl::Delegate::renderingMode const): Deleted.
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::Replayer::Replayer):
(WebCore::DisplayList::applyImageBufferItem):
(WebCore::DisplayList::applyNativeImageItem):
(WebCore::DisplayList::applySetStateItem):
(WebCore::DisplayList::applyFontItem):
(WebCore::DisplayList::Replayer::applyItem):
- platform/graphics/displaylists/DisplayListReplayer.h:
(WebCore::DisplayList::Replayer::Delegate::~Delegate): Deleted.
(WebCore::DisplayList::Replayer::Delegate::apply): Deleted.
(WebCore::DisplayList::Replayer::Delegate::didCreateMaskImageBuffer): Deleted.
(WebCore::DisplayList::Replayer::Delegate::didResetMaskImageBuffer): Deleted.
(WebCore::DisplayList::Replayer::Delegate::recordResourceUse): Deleted.
Source/WebKit:
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordResourceUse):
(WebKit::RemoteDisplayListRecorderProxy::canDrawImageBuffer const): Deleted.
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
Tools:
- TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
- 12:54 PM Changeset in webkit [288990] by
-
- 2 edits in trunk/Source/WebCore
[GLIB] Unreviewed debug buildfix after r288872
https://bugs.webkit.org/show_bug.cgi?id=236036
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::localizedRoleName):
- 12:51 PM Changeset in webkit [288989] by
-
- 12 edits in trunk
Unmute link errors for ES module scripts
https://bugs.webkit.org/show_bug.cgi?id=235925
Patch by Asumu Takikawa <asumu@igalia.com> on 2022-02-02
Reviewed by Yusuke Suzuki.
LayoutTests/imported/w3c:
Adjust test expectations for error handling changes.
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-2-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/error-type-3-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-2-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-3-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7-expected.txt:
Source/WebCore:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld):
- 12:49 PM Changeset in webkit [288988] by
-
- 2 edits in trunk/Tools
Bring up additional test queues on Big Sur
https://bugs.webkit.org/show_bug.cgi?id=235446
Unreviewed infrastructure fix.
- CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Move the performance queue to the Big Sur section of the dashboard.
- 12:41 PM Changeset in webkit [288987] by
-
- 6 edits in branches/safari-613-branch
Cherry-pick r288955. rdar://problem/88359001
Unreviewed, reverting r286988.
https://bugs.webkit.org/show_bug.cgi?id=236006
Broke form submission for multiple <input type='image'>
Reverted changeset:
"A FormData constructed in the form's submit event listener
shouldn't include the submitter"
https://bugs.webkit.org/show_bug.cgi?id=234069
https://commits.webkit.org/r286988
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:41 PM Changeset in webkit [288986] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r288423. rdar://problem/87701738
m_lastStyleChangeEventStyle null ptr deref for accelerated CSS Animation with no duration and an implicit keyframe
https://bugs.webkit.org/show_bug.cgi?id=235394
<rdar://problem/87701738>
Reviewed by Antti Koivisto.
Source/WebCore:
Test: webanimations/accelerated-animation-without-duration-crash.html
In r287827, the fix for bug 235014, we stopped filling implicit keyframes for CSS Animations at creation
time such that the output of getKeyframes() would correctly account for the missing keyframes. This meant
that we have to fill in those implicit keyframes when running an accelerated animation before we pass it
on to GraphicsLayer.
We would always use the value stored by lastStyleChangeEventStyle() with an assert that this value was
never null. However, in the case of an animation that is not relevant, such as a CSS Animation with no
duration, we've never had a chance to set that style since Style::TreeResolver::createAnimatedElementUpdate()
would not see any "relevant" (a term defined by the Web Animations specification to specify an animation
that has an effect on its target) animations.
We now use the renderer's style as a fallback, which is guaranteed to be defined at this stage.
- animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::applyPendingAcceleratedActions):
LayoutTests:
New test, created by Gabriel Nava Marino, that creates an accelerated animation with no
duration and with implicit keyframes that would crash prior to this patch.
- webanimations/accelerated-animation-without-duration-crash-expected.txt: Added.
- webanimations/accelerated-animation-without-duration-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:40 PM Changeset in webkit [288985] by
-
- 4 edits in trunk/Source/WebCore
Fixes for non-unified builds after r288868
https://bugs.webkit.org/show_bug.cgi?id=235984
Reviewed by Chris Dumez.
- layout/integration/InlineIteratorInlineBox.cpp:
- rendering/RenderBlockFlow.cpp:
- rendering/RenderInline.cpp:
- 12:40 PM Changeset in webkit [288984] by
-
- 12 edits in branches/safari-613-branch/Source/WebKit
Apply patch. rdar://problem/86150540
- 12:33 PM Changeset in webkit [288983] by
-
- 6 edits in branches/safari-613.1.16.1-branch
Cherry-pick r288955. rdar://problem/88359001
Unreviewed, reverting r286988.
https://bugs.webkit.org/show_bug.cgi?id=236006
Broke form submission for multiple <input type='image'>
Reverted changeset:
"A FormData constructed in the form's submit event listener
shouldn't include the submitter"
https://bugs.webkit.org/show_bug.cgi?id=234069
https://commits.webkit.org/r286988
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:33 PM Changeset in webkit [288982] by
-
- 3 edits2 adds in branches/safari-613.1.16.1-branch
Cherry-pick r288423. rdar://problem/87701738
m_lastStyleChangeEventStyle null ptr deref for accelerated CSS Animation with no duration and an implicit keyframe
https://bugs.webkit.org/show_bug.cgi?id=235394
<rdar://problem/87701738>
Reviewed by Antti Koivisto.
Source/WebCore:
Test: webanimations/accelerated-animation-without-duration-crash.html
In r287827, the fix for bug 235014, we stopped filling implicit keyframes for CSS Animations at creation
time such that the output of getKeyframes() would correctly account for the missing keyframes. This meant
that we have to fill in those implicit keyframes when running an accelerated animation before we pass it
on to GraphicsLayer.
We would always use the value stored by lastStyleChangeEventStyle() with an assert that this value was
never null. However, in the case of an animation that is not relevant, such as a CSS Animation with no
duration, we've never had a chance to set that style since Style::TreeResolver::createAnimatedElementUpdate()
would not see any "relevant" (a term defined by the Web Animations specification to specify an animation
that has an effect on its target) animations.
We now use the renderer's style as a fallback, which is guaranteed to be defined at this stage.
- animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::applyPendingAcceleratedActions):
LayoutTests:
New test, created by Gabriel Nava Marino, that creates an accelerated animation with no
duration and with implicit keyframes that would crash prior to this patch.
- webanimations/accelerated-animation-without-duration-crash-expected.txt: Added.
- webanimations/accelerated-animation-without-duration-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:33 PM Changeset in webkit [288981] by
-
- 12 edits in branches/safari-613.1.16.1-branch/Source/WebKit
Apply patch. rdar://problem/86150540
- 12:28 PM Changeset in webkit [288980] by
-
- 6 edits in branches/safari-613.1.16.0-branch
Cherry-pick r288955. rdar://problem/88359001
Unreviewed, reverting r286988.
https://bugs.webkit.org/show_bug.cgi?id=236006
Broke form submission for multiple <input type='image'>
Reverted changeset:
"A FormData constructed in the form's submit event listener
shouldn't include the submitter"
https://bugs.webkit.org/show_bug.cgi?id=234069
https://commits.webkit.org/r286988
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:28 PM Changeset in webkit [288979] by
-
- 3 edits2 adds in branches/safari-613.1.16.0-branch
Cherry-pick r288423. rdar://problem/87701738
m_lastStyleChangeEventStyle null ptr deref for accelerated CSS Animation with no duration and an implicit keyframe
https://bugs.webkit.org/show_bug.cgi?id=235394
<rdar://problem/87701738>
Reviewed by Antti Koivisto.
Source/WebCore:
Test: webanimations/accelerated-animation-without-duration-crash.html
In r287827, the fix for bug 235014, we stopped filling implicit keyframes for CSS Animations at creation
time such that the output of getKeyframes() would correctly account for the missing keyframes. This meant
that we have to fill in those implicit keyframes when running an accelerated animation before we pass it
on to GraphicsLayer.
We would always use the value stored by lastStyleChangeEventStyle() with an assert that this value was
never null. However, in the case of an animation that is not relevant, such as a CSS Animation with no
duration, we've never had a chance to set that style since Style::TreeResolver::createAnimatedElementUpdate()
would not see any "relevant" (a term defined by the Web Animations specification to specify an animation
that has an effect on its target) animations.
We now use the renderer's style as a fallback, which is guaranteed to be defined at this stage.
- animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::applyPendingAcceleratedActions):
LayoutTests:
New test, created by Gabriel Nava Marino, that creates an accelerated animation with no
duration and with implicit keyframes that would crash prior to this patch.
- webanimations/accelerated-animation-without-duration-crash-expected.txt: Added.
- webanimations/accelerated-animation-without-duration-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:27 PM Changeset in webkit [288978] by
-
- 9 edits in branches/safari-613.1.16.1-branch/Source
Versioning.
WebKit-7613.1.16.1.3
- 12:06 PM Changeset in webkit [288977] by
-
- 4 edits2 adds in trunk
REGRESSION(r288865): SourceImage should never sink its ImageBuffer to a NativeImage
https://bugs.webkit.org/show_bug.cgi?id=236005
Reviewed by Simon Fraser.
Source/WebCore:
The r288865 changes SourceImage::nativeImage() such that if the image
variant has an ImageBuffer, it will sink this ImageBuffer into a NativeImage
and return this NativeImage to the caller. This was incorrect change
because this would invalidate the ImageBufferBackend of the SourceImage.
The fix is to copy the ImageBuffer to a NativeImage (DontCopyBackingStore)
and store it into another image variant. This will keep the ImageBuffer
valid and will prevent subsequent conversion if this function is called
multiple times.
Similar changes should be applied to SourceImage::imageBuffer().
Test: svg/custom/pattern-multiple-referencing.html
- platform/graphics/SourceImage.cpp:
(WebCore::nativeImageOf):
(WebCore::SourceImage::nativeImageIfExists const):
(WebCore::SourceImage::nativeImage const):
(WebCore::imageBufferOf):
(WebCore::SourceImage::imageBufferIfExists const):
(WebCore::SourceImage::imageBuffer const):
- platform/graphics/SourceImage.h:
LayoutTests:
- svg/custom/pattern-multiple-referencing-expected.txt: Added.
- svg/custom/pattern-multiple-referencing.html: Added.
- 11:58 AM Changeset in webkit [288976] by
-
- 9 edits in branches/safari-613.1.16.0-branch/Source
Versioning.
WebKit-7613.1.16.0.4
- 11:56 AM Changeset in webkit [288975] by
-
- 8 edits4 moves1 add in trunk/Source/WebCore
Move SharedWorkerThread & SharedWorkerProxy to workers/shared/context/
https://bugs.webkit.org/show_bug.cgi?id=236017
Reviewed by Youenn Fablet.
Move SharedWorkerThread & SharedWorkerProxy to workers/shared/context/, for consistency with service workers.
Also rename SharedWorkerProxy to SharedWorkerThreadProxy.
- CMakeLists.txt:
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- workers/shared/SharedWorker.cpp:
(WebCore::SharedWorker::SharedWorker):
- workers/shared/SharedWorker.h:
- workers/shared/SharedWorkerManager.cpp:
- workers/shared/context/SharedWorkerThread.cpp: Renamed from Source/WebCore/workers/shared/SharedWorkerThread.cpp.
- workers/shared/context/SharedWorkerThread.h: Renamed from Source/WebCore/workers/shared/SharedWorkerThread.h.
- workers/shared/context/SharedWorkerThreadProxy.cpp: Renamed from Source/WebCore/workers/shared/SharedWorkerProxy.cpp.
- workers/shared/context/SharedWorkerThreadProxy.h: Renamed from Source/WebCore/workers/shared/SharedWorkerProxy.h.
- 11:51 AM Changeset in webkit [288974] by
-
- 7 edits in trunk/Source/WebCore
Support sending WorkerOptions over IPC
https://bugs.webkit.org/show_bug.cgi?id=236026
Reviewed by Sam Weinig.
Support sending WorkerOptions over IPC, as this is will needed by Shared Workers.
- workers/WorkerGlobalScopeProxy.h:
- workers/WorkerOptions.h:
(WebCore::WorkerOptions::encode const):
(WebCore::WorkerOptions::decode):
- workers/WorkerType.h:
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerRegistrationOptions.h:
- workers/service/server/SWServerWorker.h:
- 11:30 AM Changeset in webkit [288973] by
-
- 2 edits in trunk/Source/WTF
Enable overflow:clip feature
https://bugs.webkit.org/show_bug.cgi?id=236008
Patch by Rob Buis <rbuis@igalia.com> on 2022-02-02
Reviewed by Simon Fraser.
Enable overflow:clip feature.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 11:13 AM Changeset in webkit [288972] by
-
- 9 edits3 adds in trunk/Source
Move and rename ServiceWorkerFrameLoaderClient & ServiceWorkerLibWebRTCProvider
https://bugs.webkit.org/show_bug.cgi?id=236016
Reviewed by Youenn Fablet.
Move and rename ServiceWorkerFrameLoaderClient & ServiceWorkerLibWebRTCProvider so that they can be reused by Shared Workers.
Source/WebCore:
- loader/FrameLoaderClient.h:
Source/WebKit:
- Platform/Logging.h:
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
- WebProcess/Storage/RemoteWorkerFrameLoaderClient.cpp: Added.
(WebKit::RemoteWorkerFrameLoaderClient::RemoteWorkerFrameLoaderClient):
(WebKit::RemoteWorkerFrameLoaderClient::createDocumentLoader):
- WebProcess/Storage/RemoteWorkerFrameLoaderClient.h: Added.
(isType):
- WebProcess/Storage/RemoteWorkerLibWebRTCProvider.h: Added.
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):
(WebKit::WebSWContextManagerConnection::continueDidReceiveFetchResponse):
(): Deleted.
(WebKit::ServiceWorkerFrameLoaderClient::ServiceWorkerFrameLoaderClient): Deleted.
(WebKit::ServiceWorkerFrameLoaderClient::createDocumentLoader): Deleted.
- WebProcess/Storage/WebSWContextManagerConnection.h:
(isType): Deleted.
- 10:54 AM Changeset in webkit [288971] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Generate webrtc encoder src pad template based on supported platform encoders
https://bugs.webkit.org/show_bug.cgi?id=235964
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-02
Reviewed by Xabier Rodriguez-Calvar.
Without this patch there was no guarantee the encoder would setup correctly in case the
encoder matching the requested caps is not available at runtime.
- platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp:
(Encoders::registerEncoder):
(createSrcPadTemplateCaps):
(webkit_webrtc_video_encoder_class_init):
- 10:50 AM Changeset in webkit [288970] by
-
- 6 edits in trunk/Source
Update computation of FAST_TLS base.
https://bugs.webkit.org/show_bug.cgi?id=235934
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::loadFromTLS32):
(JSC::MacroAssemblerARM64::loadFromTLS64):
(JSC::MacroAssemblerARM64::storeToTLS32):
(JSC::MacroAssemblerARM64::storeToTLS64):
- assembler/SecureARM64EHashPinsInlines.h:
(JSC::SecureARM64EHashPins::keyForCurrentThread):
- offlineasm/arm64.rb:
Source/WTF:
- wtf/PlatformHave.h:
- 10:46 AM Changeset in webkit [288969] by
-
- 2 edits in trunk/Tools
[git-webkit] Improve user prompts (Part 5)
https://bugs.webkit.org/show_bug.cgi?id=235655
<rdar://problem/88082697>
Reviewed by Aakash Jain and Dewei Zhu.
- Tools/Scripts/git-webkit: Log to 'info' not 'warning.'
Canonical link: https://commits.webkit.org/246698@main
- 10:46 AM Changeset in webkit [288968] by
-
- 7 edits in trunk/Tools
[git-webkit] Improve user prompts (Part 4)
https://bugs.webkit.org/show_bug.cgi?id=235655
<rdar://problem/88082697>
Reviewed by Aakash Jain and Dewei Zhu.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:
(Branch.main): Make it clear why we're prompting the user for a branch name.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py:
(TestBranch.test_prompt_git):
Canonical link: https://commits.webkit.org/246697@main
- 10:46 AM Changeset in webkit [288967] by
-
- 5 edits in trunk/Tools
[git-webkit] Improve user prompts (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=235655
<rdar://problem/88082697>
Reviewed by Aakash Jain and Dewei Zhu.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Make it clear to users that configurations are being set only
on the local repository.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:
Canonical link: https://commits.webkit.org/246696@main
- 10:46 AM Changeset in webkit [288966] by
-
- 5 edits in trunk/Tools
[git-webkit] Improve user prompts (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=235655
<rdar://problem/88082697>
Reviewed by Aakash Jain and Dewei Zhu.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py:
(Terminal.input): Gracefully handle keyboard interrupt
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/terminal_unittest.py:
(TerminalTests.test_interrupt):
Canonical link: https://commits.webkit.org/246695@main
- 10:45 AM Changeset in webkit [288965] by
-
- 5 edits in trunk/Tools
[git-webkit] Improve user prompts (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=235655
<rdar://problem/88082697>
Reviewed by Aakash Jain and Dewei Zhu.
- Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py: Use token form url.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py: Use token form url.
Canonical link: https://commits.webkit.org/246694@main
- 10:44 AM Changeset in webkit [288964] by
-
- 3 edits in trunk/Source/WebCore
CSSPropertyAnimation::animatableShorthandsAffectingProperty() is unused
https://bugs.webkit.org/show_bug.cgi?id=236022
Reviewed by Dean Jackson.
This method is a remnant from the legacy animation engine and should be removed.
- animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty): Deleted.
- animation/CSSPropertyAnimation.h:
- animation/CSSPropertyAnimation.cpp:
(WebCore::gatherEnclosingShorthandProperties): Deleted.
(WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty): Deleted.
- animation/CSSPropertyAnimation.h:
- 10:42 AM Changeset in webkit [288963] by
-
- 5 edits in trunk/Source/WebCore
Make modifications to the isolated Tree atomic.
https://bugs.webkit.org/show_bug.cgi?id=235683
<rdar://problem/88108412>
Reviewed by Chris Fleizach.
Covered by existing tests.
The isolated tree is currently updated in a non-atomic fashion, i.e.,
nodes are added or removed while clients are accessing the tree in an
inconsistent state. The idea of this patch is to make all necessary
changes in the tree in one atomic operation while the client thread,
or AX secondary thread, is blocked. To accomplish this and still be
responsive to client's requests on the AX thread, it is necessary that
all the processing in preparation for the update of the isolated tree
happens on the main thread without blocking the AX thread, and then do
the update of the tree in one atomic operation.
- accessibility/AXLogger.cpp:
(WebCore::operator<<):
Rearranged the properties of the AXCoreObject to log most relevant on top.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):
Removed AXTRACE from this method since it is called so often that it is
just noise in the log.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::generateSubtree):
It now collects all the changes to be perform and queues them in one
operation under lock.
(WebCore::AXIsolatedTree::nodeChangeForObject):
(WebCore::AXIsolatedTree::queueChange):
Queues one single change, must be called under lock.
(WebCore::AXIsolatedTree::queueChangesAndRemovals):
Queues all necessary changes to the isolated tree, additions and removals.
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
Collects on the main thread all the additions/changes to be done to the
isolated tree.
(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::nodeAncestryChanges):
Connects a new isolated node to the existing hierarchy.
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):
(WebCore::AXIsolatedTree::updateChildrenIDs): Deleted.
(WebCore::AXIsolatedTree::createSubtree): Deleted.
Replaced with collectNodeChanges and queueChangesAndRemovals.
(WebCore::AXIsolatedTree::updateSubtree): Deleted, not used.
(WebCore::AXIsolatedTree::removeSubtree): Deleted, not used.
- accessibility/isolatedtree/AXIsolatedTree.h:
(WebCore::AXIsolatedTree::queueChangesAndRemovals):
- 10:32 AM Changeset in webkit [288962] by
-
- 2 edits in trunk/Tools
REGRESSION (r288869): webkitpy.w3c.test_converter_unittest.W3CTestConverterTest.test_convert_prefixed_properties is failing
https://bugs.webkit.org/show_bug.cgi?id=235961
<rdar://problem/88332029>
Reviewed by Ryan Haddad.
- Scripts/webkitpy/w3c/test_converter_unittest.py:
(test_convert_prefixed_properties): Correct magic constant for number of tests.
(generate_test_content): Simplify, add clear assertion to catch in future.
- 10:14 AM Changeset in webkit [288961] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix the macOS build after r288956
https://bugs.webkit.org/show_bug.cgi?id=235991
- UIProcess/Cocoa/WebViewImpl.h:
- 10:10 AM Changeset in webkit [288960] by
-
- 2 edits in trunk/Source/WebCore
null ptr deref in Editor::pasteWithPasteboard
https://bugs.webkit.org/show_bug.cgi?id=235966
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-02
Reviewed by Wenson Hsieh.
Add an additional check as pasteAsFragment's dispatchEvent can end up removing the client.
No new tests due to requiring Node web server (and cannot reproduce in LayoutTests/http/tests).
- editing/mac/EditorMac.mm:
(WebCore::Editor::pasteWithPasteboard):
- 10:05 AM Changeset in webkit [288959] by
-
- 5 edits55 adds in trunk/LayoutTests
WPT: Import WebAssembly CSP tests
https://bugs.webkit.org/show_bug.cgi?id=235319
Reviewed by Kate Cheney.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-blocks-wasm.any-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-blocks-wasm.any.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-blocks-wasm.any.js: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-blocks-wasm.any.js.headers: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-blocks-wasm.any.serviceworker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-blocks-wasm.any.serviceworker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-blocks-wasm.any.worker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-blocks-wasm.any.worker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-unsafe-eval-allows-wasm.any-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-unsafe-eval-allows-wasm.any.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-unsafe-eval-allows-wasm.any.js: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-unsafe-eval-allows-wasm.any.js.headers: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-unsafe-eval-allows-wasm.any.serviceworker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-unsafe-eval-allows-wasm.any.serviceworker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-unsafe-eval-allows-wasm.any.worker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-unsafe-eval-allows-wasm.any.worker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any.js: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any.js.headers: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any.serviceworker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any.serviceworker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any.worker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/default-src-wasm-unsafe-eval-allows-wasm.any.worker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-blocks-wasm.any-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-blocks-wasm.any.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-blocks-wasm.any.js: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-blocks-wasm.any.js.headers: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-blocks-wasm.any.serviceworker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-blocks-wasm.any.serviceworker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-blocks-wasm.any.worker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-blocks-wasm.any.worker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-spv-asynch.any.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-spv-asynch.any.js: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-spv-asynch.any.js.headers: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-spv-asynch.any.serviceworker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-spv-asynch.any.worker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-unsafe-eval-allows-wasm.any-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-unsafe-eval-allows-wasm.any.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-unsafe-eval-allows-wasm.any.js: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-unsafe-eval-allows-wasm.any.js.headers: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-unsafe-eval-allows-wasm.any.serviceworker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-unsafe-eval-allows-wasm.any.serviceworker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-unsafe-eval-allows-wasm.any.worker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-unsafe-eval-allows-wasm.any.worker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any.js: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any.js.headers: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any.serviceworker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any.serviceworker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any.worker-expected.txt: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/script-src-wasm-unsafe-eval-allows-wasm.any.worker.html: Added.
- web-platform-tests/content-security-policy/wasm-unsafe-eval/w3c-import.log: Added.
LayoutTests:
Skip CSP tests that time out.
- TestExpectations:
- platform/mac-wk1/TestExpectations:
- 10:03 AM Changeset in webkit [288958] by
-
- 2 edits in trunk/Tools
[EWS] unit tests have become slower
https://bugs.webkit.org/show_bug.cgi?id=235364
<rdar://problem/88073408>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps_unittest.py: Mock
time.sleep when testing PushCommitToWebKitRepo.
Canonical link: https://commits.webkit.org/246687@main
- 9:54 AM Changeset in webkit [288957] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Add access in sandbox to Mach message
https://bugs.webkit.org/show_bug.cgi?id=236021
<rdar://88300200>
Reviewed by Brent Fulgham.
Add access in sandbox to required Mach message in the WebContent process on iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 9:52 AM Changeset in webkit [288956] by
-
- 6 edits in trunk/Source/WebKit
Adjust some Live Text code to only use VKC-prefixed VisionKit classes if ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)
https://bugs.webkit.org/show_bug.cgi?id=235991
Reviewed by Megan Gardner.
Rather than creating VKCImageAnalysis/VKCImageAnalyzer/VKCImageAnalyzerRequest and statically casting to
VKImageAnalysis/VKImageAnalyzer/VKImageAnalyzerRequest respectively, add a typedef that abstracts away the
differing VK/VKC prefixes behind CocoaImage(Analysis|Analyzer|AnalyzerRequest), and use this typedef everywhere
we currently use the VK-prefixed types.
Since the VK-prefixed classes are being entirely removed and replaced with VKC-prefixed classes at some point,
this allows us to be consistent (at least, within a given OS version) about the VisionKit object types we're
creating and passing around in Live Text code.
No change in behavior.
- Platform/cocoa/TextRecognitionUtilities.h:
- Platform/cocoa/TextRecognitionUtilities.mm:
(WebKit::createImageAnalyzer):
(WebKit::createImageAnalyzerRequest):
(WebKit::makeTextRecognitionResult):
(WebKit::hasVisionKitCorePrefixedClasses): Deleted.
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::ensureImageAnalyzer):
(WebKit::createImageAnalyzerRequest):
(WebKit::WebViewImpl::requestTextRecognition):
(WebKit::WebViewImpl::computeHasImageAnalysisResults):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView imageAnalyzer]):
(-[WKContentView createImageAnalyzerRequest:image:imageURL:]):
(-[WKContentView createImageAnalyzerRequest:image:]):
(-[WKContentView _updateContextMenuForMachineReadableCodeForImageAnalysis:]):
(-[WKContentView requestTextRecognition:imageData:identifier:completionHandler:]):
(-[WKContentView imageAnalysisGestureDidBegin:]):
(-[WKContentView _completeImageAnalysisRequestForContextMenu:requestIdentifier:hasTextResults:]):
(-[WKContentView imageAnalysisGestureDidTimeOut:]):
- 9:19 AM Changeset in webkit [288955] by
-
- 6 edits in trunk
Unreviewed, reverting r286988.
https://bugs.webkit.org/show_bug.cgi?id=236006
Broke form submission for multiple <input type='image'>
Reverted changeset:
"A FormData constructed in the form's submit event listener
shouldn't include the submitter"
https://bugs.webkit.org/show_bug.cgi?id=234069
https://commits.webkit.org/r286988
- 8:57 AM Changeset in webkit [288954] by
-
- 9 edits in trunk/Source
RealtimeVideoSource::adaptVideoSample should not create IOSurfaces when running in WebProcess
https://bugs.webkit.org/show_bug.cgi?id=236011
<rdar://88367968>
Reviewed by Eric Carlson.
Source/WebCore:
Add a way to not use IOSurfaces when using ImageTransferSessionVT.
Use this in RealtimeVideoSource to toggle IOSurface use on and off when downsampling samples.
Covered by existing tests.
- platform/graphics/cv/CVUtilities.h:
- platform/graphics/cv/CVUtilities.mm:
- platform/graphics/cv/ImageTransferSessionVT.h:
- platform/graphics/cv/ImageTransferSessionVT.mm:
- platform/mediastream/RealtimeVideoSource.cpp:
- platform/mediastream/RealtimeVideoSource.h:
Source/WebKit:
Disable IOSurface use for WebProcess RealtimeVideoSources.
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
- 8:43 AM Changeset in webkit [288953] by
-
- 2 edits in trunk/Source/WebCore
AX: Display startObject and anchorObject objectID when logging AccessibilitySearchCriteria from AXLogger
https://bugs.webkit.org/show_bug.cgi?id=235997
Reviewed by Chris Fleizach.
With this patch, logging AccessibilitySearchCriteria will look like:
(SearchCriteria 0x2a7d13a80
(anchorObject 0x315ba9980, ID 492)
(startObject 0x0, ID 0)
...truncated...
This will help us correlate the IDs of anchorObject and startObject with other
log statements.
- accessibility/AXLogger.cpp:
(WebCore::operator<<):
- 7:37 AM Changeset in webkit [288952] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/loadConfig.py
[ews] Read buildbot try credentials from passwords.json instead of env variables
https://bugs.webkit.org/show_bug.cgi?id=236015
Reviewed by Jonathan Bedard.
- Tools/CISupport/ews-build/loadConfig.py:
(loadBuilderConfig):
Canonical link: https://commits.webkit.org/246681@main
- 5:20 AM Changeset in webkit [288951] by
-
- 21 edits4 adds in trunk/Source
LibWebRTCCodecs should not need to create IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=235951
<rdar://problem/88326654>
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
Introduce helper routines to copy a webrtc VideoFrame into a memory buffer and get a CVPixelBuffer from a webrtc VideoFrame.
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
- Source/webrtc/sdk/WebKit/WebKitUtilities.h:
- Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
Source/WebCore:
Introduce SharedVideoFrameInfo as a helper class to serialize a CVPixelBuffer into memory and create a CVPixelBuffer from reading memory.
Covered by existing webrtc tests.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/cocoa/SharedVideoFrameInfo.h: Added.
- platform/cocoa/SharedVideoFrameInfo.mm: Added.
- platform/cocoa/CoreVideoSoftLink.cpp:
- platform/cocoa/CoreVideoSoftLink.h:
- platform/graphics/RemoteVideoSample.cpp:
- platform/graphics/RemoteVideoSample.h:
Source/WebKit:
Introduce SharedVideoFrameWriter and SharedVideoFrameReader to support shared memory sending of CVPixelBuffers that are non IOSurface backed.
To do so, we make use of SharedVideoFrameInfo from WebCore.
What we do is:
- When getting a frame, allocate a shared memory that is big enough to copy its data and info in it. Create a semaphore to sync reader and writer.
- If we allocate shared memory/semphore, send them over IPC to the SharedVideoFrameReader.
- Wait for semaphore to tell us reader is fine for writing.
- Write SharedVideoFrameInfo into the shared memory, then copy the raw bytes into the shared memory.
- Send through IPC the video frame, no MacSendRight means to read the shared memory.
On reader side, for every frame that does not have an IOSurface, we read the shared memory, create an IOSurface from it and notify WebProcess that it can write the next frame.
In memory buffers are used for black frames at least.
webrtc/video-mute.html covers the patch.
- GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in:
- GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
- WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
- WebProcess/GPU/webrtc/SharedVideoFrame.cpp: Added.
- WebProcess/GPU/webrtc/SharedVideoFrame.h: Added.
- 2:30 AM Changeset in webkit [288950] by
-
- 60 edits in trunk
Clarify that some UUID routines are dedicated to UUID v4
https://bugs.webkit.org/show_bug.cgi?id=235430
Reviewed by Darin Adler.
Source/WebCore:
No change of behavior, this is renaming only.
- Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::CDMSessionClearKey):
- Modules/entriesapi/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::DOMFileSystem):
- Modules/highlight/AppHighlightStorage.cpp:
(WebCore::createAppHighlightRangeData):
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::generateUUID):
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::MediaDevices):
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::create):
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::generateDatabaseFileName):
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::registerRoot):
(WebCore::AccessibilityAtspi::registerObject):
(WebCore::AccessibilityAtspi::registerHyperlink):
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::copyPropertiesFromSource):
(WebCore::KeyframeEffect::updateBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSTransitionBlendingKeyframes):
- dom/Document.cpp:
(WebCore::Document::originIdentifierForPasteboard const):
(WebCore::Document::didInsertAttachmentElement):
- fileapi/BlobURL.cpp:
(WebCore::BlobURL::createBlobURL):
- html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::ensureUniqueIdentifier):
- loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory):
- page/Crypto.cpp:
(WebCore::Crypto::randomUUID const):
- platform/ScriptExecutionContextIdentifier.h:
(WebCore::ProcessQualified<UUID>::generate):
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
(WebCore::CDMSessionAVFoundationCF::CDMSessionAVFoundationCF):
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::update):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateAnimations):
- platform/mediastream/MediaStreamPrivate.h:
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::create):
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::RealtimeMediaSource):
- platform/mediastream/gstreamer/GStreamerDisplayCaptureDeviceManager.cpp:
(WebCore::GStreamerDisplayCaptureDeviceManager::computeCaptureDevices):
- platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(webkitMediaStreamSrcPostStreamCollection):
- platform/mediastream/ios/ReplayKitCaptureSource.mm:
(WebCore::screenDeviceUUID):
- testing/Internals.cpp:
(WebCore::Internals::isDocumentAlive const):
- testing/MockCDMFactory.cpp:
(WebCore::MockCDMInstanceSession::requestLicense):
Source/WebDriver:
- glib/SessionHostGlib.cpp:
(WebDriver::SessionHost::startAutomationSession):
- socket/SessionHostSocket.cpp:
(WebDriver::SessionHost::startAutomationSession):
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::ensureSession):
- NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::Cache::toRecordInformation):
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::open):
- NetworkProcess/webrtc/NetworkMDNSRegister.cpp:
(WebKit::NetworkMDNSRegister::registerMDNSName):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _insertAttachmentWithFileWrapper:contentType:completion:]):
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::handleForWebPageProxy):
(WebKit::WebAutomationSession::handleForWebFrameID):
- UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
- UIProcess/Cocoa/WKShareSheet.mm:
(+[WKShareSheet createRandomSharingDirectoryForFile:]):
- UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
(WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
- UIProcess/WebAuthentication/Virtual/VirtualAuthenticatorManager.cpp:
(WebKit::VirtualAuthenticatorManager::createAuthenticator):
- UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::WaylandCompositor):
- UIProcess/ios/WKModelView.mm:
(-[WKModelView createFileForModel:]):
- WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::createUUID):
- WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:
(WebKit::ARKitInlinePreviewModelPlayerMac::createFile):
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::openWithPreview):
(WebKit::PDFPlugin::openWithNativeApplication):
Source/WebKitLegacy:
- WebCoreSupport/NetworkStorageSessionMap.cpp:
(NetworkStorageSessionMap::ensureSession):
Source/WTF:
Rename UUID::create to UUID::createVersion4.
Add a UUID::parseVersion4 that validates the parsed UUID is a v4.
Rename createCanonicalUUIDString to createVersion4UUIDString for consistency.
Update UUID constructor to generate a UUID v4 as per spec.
Update UUID::toString to generate a string representation of any UUID, and not specifically to v4.
- wtf/Identified.h:
(WTF::UUIDIdentified::UUIDIdentified):
- wtf/URL.cpp:
(WTF::URL::fakeURLWithRelativePart):
- wtf/UUID.cpp:
(WTF::UUID::UUID):
(WTF::UUID::toString const):
(WTF::UUID::parse):
(WTF::UUID::parseVersion4):
(WTF::createVersion4UUIDString):
(WTF::isVersion4UUID):
(WTF::createCanonicalUUIDString): Deleted.
- wtf/UUID.h:
(WTF::UUID::createVersion4):
(WTF::UUID::create): Deleted.
- wtf/glib/FileSystemGlib.cpp:
(WTF::FileSystemImpl::openTemporaryFile):
Tools:
- TestWebKitAPI/Tests/WTF/UUID.cpp:
(parseAndStringifyUUID):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(waitUntilNetworkProcessIsResponsive):
- TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::saltForOrigin):
- 2:15 AM Changeset in webkit [288949] by
-
- 5 edits2 adds in trunk
ServiceWorkerNavigationPreloader should only be used once
https://bugs.webkit.org/show_bug.cgi?id=235882
<rdar://88226432>
Reviewed by Chris Dumez.
Source/WebKit:
In case service worker preload is being used and related service worker context crashes (or service worker context sends bad messages),
We can end up in a bad state where we will ask the preload twice for the same response (once for good, and the next one as we go to didNotHandle case).
To prevent this, we add checks in loadResponseFromPreloader and loadBodyFromPreloader.
As part of this investigation, I found out that ServiceWorkerNavigationPreloader is not correctly handling the case of preload responses coming from cache.
In particular, no body will be given since we return early in waitForBody in case the preload network load is null.
Prevent this by making sure waitForBody calls the response completion handler if available, even if the preload network load is null.
And update the response body callback before executing the response completion handler to make sure data received synchronously from the preload is given to the service worker fetch task.
Test: http/wpt/service-workers/fetch-service-worker-preload-cache.https.html
- NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
- NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp:
LayoutTests:
- http/wpt/service-workers/fetch-service-worker-preload-cache.https-expected.txt: Added.
- http/wpt/service-workers/fetch-service-worker-preload-cache.https.html: Added.
- http/wpt/service-workers/resources/fetch-service-worker-preload-script.py:
- 2:07 AM Changeset in webkit [288948] by
-
- 6 edits in trunk/Source/WebCore
[GStreamer] Add support for custom message handling in simpleBusMessageCallback
https://bugs.webkit.org/show_bug.cgi?id=235822
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-02
Reviewed by Xabier Rodriguez-Calvar.
Refactor most custom GStreamer message handlers to rely on the common "simple" handler,
which can now be augmented with an optional closure to do further message processing.
- platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::handleMessage):
(WebCore::messageCallback): Deleted.
- platform/audio/gstreamer/AudioDestinationGStreamer.h:
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::disconnectSimpleBusMessageCallback):
(WebCore::CustomMessageHandlerHolder::CustomMessageHandlerHolder):
(WebCore::connectSimpleBusMessageCallback):
(WebCore::simpleBusMessageCallback): Deleted.
- platform/graphics/gstreamer/GStreamerCommon.h:
(WebCore::connectSimpleBusMessageCallback):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- 1:12 AM Changeset in webkit [288947] by
-
- 6 edits2 adds in trunk
scroll-margin-top doesn't work on inline elements
https://bugs.webkit.org/show_bug.cgi?id=235933
<rdar://87983307>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-scroll-snap/scroll-target-margin-006-expected.txt: Added.
- web-platform-tests/css/css-scroll-snap/scroll-target-margin-006.html: Added.
Source/WebCore:
Test: imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-005.html
Move the implementation of absoluteAnchorRectWithScrollMargin which actually processes
the CSS scroll-margin property to RenderElement. This allows it to be used for inline
as well as block elements. The specification says it should apply to both. The box
sizes passed in here do not matter too much, because the Length should never be a
percentage.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteAnchorRectWithScrollMargin const): Deleted.
- rendering/RenderBox.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::absoluteAnchorRectWithScrollMargin const):
- rendering/RenderElement.h:
- 12:40 AM Changeset in webkit [288946] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34
Merge r286308 - Scripting attributes are sometimes not properly stripped from elements when JS is disabled
https://bugs.webkit.org/show_bug.cgi?id=233642
<rdar://63180952>
Reviewed by Geoffrey Garen.
Source/WebCore:
HTMLConstructionSite::mergeAttributesFromTokenIntoElement() was not properly stripping scripting
Element attributes when scripting is disabled, unlike other code paths in HTMLConstructionSite().
Covered by new API tests.
- html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm:
(TEST):
- 12:22 AM Changeset in webkit [288945] by
-
- 3 edits1 add in trunk
[JSC] wasm atomic opcodes should be rejected if alignment is not equal to natural width
https://bugs.webkit.org/show_bug.cgi?id=235990
Reviewed by Saam Barati.
JSTests:
- wasm/stress/invalid-atomic-alignment.js: Added.
(async buildAndThrow):
Source/JavaScriptCore:
While normal load and store can accept larger alignment than an access width,
wasm module validator rejects if atomic ops' alignment is not equal to an access width.
This patch applies this restriction.
No runtime semantics change since atomic ops are always checked against an access width alignment.
- wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::atomicLoad):
(JSC::Wasm::FunctionParser<Context>::atomicStore):
(JSC::Wasm::FunctionParser<Context>::atomicBinaryRMW):
(JSC::Wasm::FunctionParser<Context>::atomicCompareExchange):
(JSC::Wasm::FunctionParser<Context>::atomicWait):
(JSC::Wasm::FunctionParser<Context>::atomicNotify):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):
Feb 1, 2022:
- 9:50 PM Changeset in webkit [288944] by
-
- 5 edits2 adds in trunk
[LFC][IFC] Using Fontcascade::spaceWidth to subtract the trailing space width may result in incorrect layout
https://bugs.webkit.org/show_bug.cgi?id=235937
<rdar://88059633>
Reviewed by Antti Koivisto and Simon Fraser.
Source/WebCore:
Since Fontcascade::spaceWidth always consult the primary font, it may return unexpected width value when (in rare cases)
the primary font does not have a space glyph. Legacy line layout works as expected as it always runs a full width
computation on the space character (instead of directly calling FontCascade::spaceWidth).
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::computeInlineTextItemWidths):
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::width):
(WebCore::Layout::TextUtil::spaceWidth):
- layout/formattingContexts/inline/text/TextUtil.h:
LayoutTests:
- platform/mac-bigsur/fonts/monospace-expected.txt: Added.
- 9:38 PM Changeset in webkit [288943] by
-
- 2 edits in trunk/Tools
Update watchOS simulators to run on the newer 44mm display
https://bugs.webkit.org/show_bug.cgi?id=235986
Reviewed by Ryan Haddad.
- Scripts/webkitpy/port/watch_simulator.py:
(WatchSimulatorPort):
- 9:12 PM Changeset in webkit [288942] by
-
- 60 edits in trunk/Source
Rename FontCascade::fontMetrics() and RenderStyle::fontMetrics() to fontMetricsOfPrimaryFont()
https://bugs.webkit.org/show_bug.cgi?id=235938
Unreviewed.
Source/WebCore:
Addressing post-review comments.
No new tests because there is no behavior change.
- accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(baselinePositionForRenderObject):
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::equalForLengthResolution):
- display/css/DisplayBoxPainter.cpp:
(WebCore::Display::BoxPainter::paintBoxContent):
- display/css/DisplayStyle.h:
(WebCore::Display::Style::metricsOfPrimaryFont const):
(WebCore::Display::Style::fontMetricsOfPrimaryFont const): Deleted.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createInnerTextStyle):
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::FontProxy::metricsOfPrimaryFont const):
(WebCore::CanvasRenderingContext2DBase::drawTextUnchecked):
(WebCore::CanvasRenderingContext2DBase::measureTextInternal):
(WebCore::CanvasRenderingContext2DBase::textOffset):
(WebCore::CanvasRenderingContext2DBase::FontProxy::fontMetricsOfPrimaryFont const): Deleted.
- html/canvas/CanvasRenderingContext2DBase.h:
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::drawRulers):
(WebCore::InspectorOverlay::drawElementTitle):
(WebCore::expectedSizeForLayoutLabel):
(WebCore::drawLayoutLabel):
- layout/formattingContexts/inline/InlineFormattingQuirks.cpp:
(WebCore::Layout::InlineFormattingQuirks::initialLineHeight const):
- layout/formattingContexts/inline/InlineLevelBox.h:
(WebCore::Layout::m_style):
(WebCore::Layout::InlineLevelBox::preferredLineHeight const):
(WebCore::Layout::InlineLevelBox::primarymetricsOfPrimaryFont const):
(WebCore::Layout::InlineLevelBox::primaryfontMetricsOfPrimaryFont const): Deleted.
- layout/formattingContexts/inline/InlineLineBox.cpp:
(WebCore::Layout::LineBox::logicalRectForTextRun const):
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::setVerticalGeometryForLineBreakBox const):
(WebCore::Layout::LineBoxBuilder::setInitialVerticalGeometryForInlineBox const):
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::computeLineBoxLogicalHeight const):
(WebCore::Layout::LineBoxVerticalAligner::computeRootInlineBoxVerticalPosition const):
(WebCore::Layout::LineBoxVerticalAligner::alignInlineLevelBoxes const):
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::floatWidthForSimpleText const):
(WebCore::FontCascade::floatWidthForComplexText const):
- platform/graphics/FontCascade.h:
(WebCore::FontCascade::metricsOfPrimaryFont const):
(WebCore::FontCascade::fontMetricsOfPrimaryFont const): Deleted.
- platform/win/DragImageWin.cpp:
(WebCore::createDragImageForLink):
- platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::calculatePositionAndSize):
(WebCore::PopupMenuWin::paint):
- rendering/CaretRectComputation.cpp:
(WebCore::computeCaretRectForEmptyElement):
(WebCore::computeCaretRectForBox):
- rendering/LegacyEllipsisBox.cpp:
(WebCore::LegacyEllipsisBox::paint):
(WebCore::LegacyEllipsisBox::paintMarkupBox):
(WebCore::LegacyEllipsisBox::nodeAtPoint):
- rendering/LegacyInlineBox.cpp:
(WebCore::LegacyInlineBox::logicalHeight const):
- rendering/LegacyInlineFlowBox.cpp:
(WebCore::LegacyInlineFlowBox::addToLine):
(WebCore::placeChildInlineBoxesInBlockDirection):
(WebCore::LegacyInlineFlowBox::placeBoxesInBlockDirection):
- rendering/LegacyLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun):
- rendering/LegacyRootInlineBox.cpp:
(WebCore::LegacyRootInlineBox::lineSnapAdjustment const):
(WebCore::LegacyRootInlineBox::ascentAndDescentForBox const):
(WebCore::LegacyRootInlineBox::verticalPositionForBox):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::baselinePosition const):
(WebCore::RenderBlock::inlineBlockBaseline const):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::adjustInitialLetterPosition):
(WebCore::RenderBlockFlow::firstLineBaseline const):
(WebCore::RenderBlockFlow::inlineBlockBaseline const):
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintReplaced):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::setImageSizeForAltText):
(WebCore::RenderImage::paintReplaced):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::mayAffectLayout const):
(WebCore::RenderInline::baselinePosition const):
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::baselinePosition const):
- rendering/RenderListBox.cpp:
(WebCore::itemOffsetForAlignment):
(WebCore::RenderListBox::itemHeight const):
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::layout):
(WebCore::RenderListMarker::updateContent):
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::updateMargins):
(WebCore::RenderListMarker::relativeMarkerRect):
- rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layoutBlock):
- rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::adjustMenuListButtonStyle const):
- rendering/TextBoxPainter.cpp:
(WebCore::TextBoxPainter::paintForeground):
(WebCore::TextBoxPainter::paintCompositionUnderline):
(WebCore::TextBoxPainter::calculateDocumentMarkerBounds):
(WebCore::TextBoxPainter::textOriginFromPaintRect const):
- rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintBackgroundDecorations):
(WebCore::TextDecorationPainter::paintForegroundDecorations):
(WebCore::TextDecorationPainter::paintLineThrough):
- rendering/TextPainter.cpp:
(WebCore::TextPainter::paintTextAndEmphasisMarksIfNeeded):
- rendering/line/LineInlineHeaders.h:
(WebCore::requiresLineBoxForContent):
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::axisHeight):
(WebCore::toUserUnits):
- rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::verticalParameters):
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::verticalParameters const):
- rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::verticalParameters const):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::metricsOfPrimaryFont const):
(WebCore::RenderStyle::computeLineHeight const):
(WebCore::RenderStyle::fontMetricsOfPrimaryFont const): Deleted.
- rendering/style/RenderStyle.h:
- rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::positionForPoint):
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::selectionRectForTextFragment const):
(WebCore::SVGInlineTextBox::paintDecorationWithStyle):
(WebCore::SVGInlineTextBox::paintTextWithShadows):
(WebCore::SVGInlineTextBox::calculateBoundaries const):
(WebCore::SVGInlineTextBox::nodeAtPoint):
- rendering/svg/SVGTextLayoutEngineBaseline.cpp:
(WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift const):
(WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift const):
(WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation const):
- rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::SVGTextMetrics):
- rendering/svg/SVGTextQuery.cpp:
(WebCore::calculateGlyphBoundaries):
- rendering/updating/RenderTreeBuilderFirstLetter.cpp:
(WebCore::styleForFirstLetter):
- style/InlineTextBoxStyle.cpp:
(WebCore::visualOverflowForDecorations):
- style/StyleResolveForFontRaw.cpp:
(WebCore::Style::resolveForFontRaw):
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS const):
(WebCore::SVGLengthContext::convertValueFromEXSToUserUnits const):
Source/WebKit:
Addressing post-review comments.
- WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
(WebKit::WebPopupMenu::setUpPlatformData):
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::dictionaryPopupInfoForRange):
Source/WebKitLegacy/mac:
- WebView/WebImmediateActionController.mm:
(+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
Source/WebKitLegacy/win:
- FullscreenVideoController.cpp:
(FullscreenVideoController::draw):
- 9:08 PM Changeset in webkit [288941] by
-
- 5 edits in trunk/Source/WebCore
Unreviewed, non-unified buildfix after latest accessibility commits
https://bugs.webkit.org/show_bug.cgi?id=235999
- accessibility/atspi/AccessibilityAtspi.cpp:
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
- accessibility/atspi/AccessibilityObjectSelectionAtspi.cpp:
- accessibility/atspi/AccessibilityObjectTableAtspi.cpp:
- 9:00 PM Changeset in webkit [288940] by
-
- 3 edits in trunk/Source/WebKit
Share more WebPage code related to marking layers volatile
https://bugs.webkit.org/show_bug.cgi?id=235985
Reviewed by Chris Dumez.
Factor code common between WebPage::layerVolatilityTimerFired() and WebPage::markLayersVolatile()
into a helper function, using an enum for the "stop reason" to allow for descriptive logging.
No behavior change.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::markLayersVolatileImmediatelyIfPossible):
(WebKit::WebPage::layerVolatilityTimerFired):
(WebKit::WebPage::markLayersVolatile):
(WebKit::WebPage::markLayersVolatileOrRetry):
- WebProcess/WebPage/WebPage.h:
- 8:04 PM Changeset in webkit [288939] by
-
- 5 edits1 delete in trunk
Unreviewed, reverting r288914.
https://bugs.webkit.org/show_bug.cgi?id=235998
Broke some layout tests
Reverted changeset:
"[LFC][IFC] Using Fontcascade::spaceWidth to subtract the
trailing space width may result in incorrect layout"
https://bugs.webkit.org/show_bug.cgi?id=235937
https://commits.webkit.org/r288914
- 6:49 PM Changeset in webkit [288938] by
-
- 19 edits1 move in trunk/Source
Rename ServiceWorkerFetchResult to WorkerFetchResult and make it more generic
https://bugs.webkit.org/show_bug.cgi?id=235983
Reviewed by Geoffrey Garen.
Rename ServiceWorkerFetchResult to WorkerFetchResult and make it more generic so that it can be reused by Shared Workers.
Source/WebCore:
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- workers/service/SWClientConnection.cpp:
(WebCore::SWClientConnection::startScriptFetchForServer):
- workers/service/SWClientConnection.h:
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
(WebCore::ServiceWorkerContainer::notifyFailedFetchingScript):
- workers/service/ServiceWorkerFetchResult.h: Removed.
(WebCore::ServiceWorkerFetchResult::isolatedCopy const): Deleted.
(WebCore::serviceWorkerFetchError): Deleted.
(WebCore::ServiceWorkerFetchResult::encode const): Deleted.
(WebCore::ServiceWorkerFetchResult::decode): Deleted.
- workers/service/WorkerSWClientConnection.cpp:
(WebCore::WorkerSWClientConnection::finishFetchingScriptInServer):
- workers/service/WorkerSWClientConnection.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::Connection::finishFetchingScriptInServer):
(WebCore::SWServer::startScriptFetch):
(WebCore::SWServer::scriptFetchFinished):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::scriptFetchFinished):
- workers/service/server/SWServerJobQueue.h:
- workers/service/server/SWServerRegistration.h:
- workers/WorkerFetchResult.h: Added.
Source/WebKit:
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
(WebKit::ServiceWorkerSoftUpdateLoader::~ServiceWorkerSoftUpdateLoader):
(WebKit::ServiceWorkerSoftUpdateLoader::fail):
(WebKit::ServiceWorkerSoftUpdateLoader::didFinishLoading):
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.h:
- NetworkProcess/ServiceWorker/WebSWServerConnection.messages.in:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::finishFetchingScriptInServer):
- WebProcess/Storage/WebSWClientConnection.h:
- 6:47 PM Changeset in webkit [288937] by
-
- 2 edits in trunk/Source/WebCore
Check AccessibilityRenderObject::m_renderer for null before using it.
https://bugs.webkit.org/show_bug.cgi?id=235950
<rdar://problem/88326438>
Reviewed by Chris Fleizach.
AccessibilityRenderObject::m_renderer is a WeakPtr that can become null
due to a variety of changes in the render tree. This patch fixes a
number of cases where AccessibilityRenderObject::m_renderer was being
used without checking for null which leads to crashes such as:
https://bugs.webkit.org/show_bug.cgi?id=235945
https://bugs.webkit.org/show_bug.cgi?id=235827
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::parentObjectIfExists const):
(WebCore::AccessibilityRenderObject::selection const):
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::documentLinks):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
- 6:45 PM Changeset in webkit [288936] by
-
- 6 edits in trunk/Source/WebCore
Replace WebCore::topOriginURL() to SecurityOrigin::toURL()
https://bugs.webkit.org/show_bug.cgi?id=235987
Reviewed by Geoffrey Garen.
Replace WebCore::topOriginURL() to SecurityOrigin::toURL() so that it can be reused by Shared Workers.
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::toURL const):
- page/SecurityOrigin.h:
- page/SecurityOriginData.cpp:
(WebCore::SecurityOriginData::toURL const):
- page/SecurityOriginData.h:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::setupPageForServiceWorker):
(WebCore::topOriginURL): Deleted.
- 6:08 PM Changeset in webkit [288935] by
-
- 12 edits in trunk/Source/WebKit
Rename some service worker functions that have names that are too generic
https://bugs.webkit.org/show_bug.cgi?id=235988
Reviewed by Darin Adler.
Rename some service worker functions that have names that are too generic and will cause
confusion with shared workers.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::serverToContextConnectionNoLongerNeeded):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::ensureSWServer):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::establishServiceWorkerContextConnectionToNetworkProcess):
(WebKit::NetworkProcessProxy::serviceWorkerContextConnectionNoLongerNeeded):
(WebKit::NetworkProcessProxy::establishWorkerContextConnectionToNetworkProcess): Deleted.
(WebKit::NetworkProcessProxy::workerContextConnectionNoLongerNeeded): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishServiceWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess): Deleted.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::establishServiceWorkerContext):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::establishServiceWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcess::establishWorkerContextConnectionToNetworkProcess): Deleted.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 6:02 PM Changeset in webkit [288934] by
-
- 7 edits in trunk/Source
The default values for a couple of Live Text-related features should respect system feature flags
https://bugs.webkit.org/show_bug.cgi?id=235980
rdar://88349726
Reviewed by Tim Horton.
Source/WebKit:
Split the extant
TextRecognitionEnhancementsfeature flag into two flags: one to control enablement of the
"image analysis queue", and another to control Live Text behaviors (still referred to as "text recognition
enhancements"). Add WebKitAdditions integration points to allow the default values for these two flags to read
from system feature flags.
- Platform/cocoa/TextRecognitionUtilities.h:
- Platform/cocoa/TextRecognitionUtilities.mm:
(WebKit::textRecognitionEnhancementsSystemFeatureEnabled):
(WebKit::imageAnalysisQueueSystemFeatureEnabled):
(WebKit::isLiveTextAvailableAndEnabled):
(WebKit::isLiveTextEnabled): Deleted.
(WebKit::requestImageAnalysisWithIdentifier): Deleted.
- Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:
(WebKit::defaultTextRecognitionEnhancementsEnabled):
(WebKit::defaultImageAnalysisQueueEnabled):
- Shared/WebPreferencesDefaultValues.h:
Source/WTF:
Add a new feature flag, and add default values for both features. See WebKit/ChangeLog for more details.
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 5:41 PM Changeset in webkit [288933] by
-
- 2 edits in trunk/Source/WebCore
Crash under ScrollingCoordinatorMac::hasNodeWithAnimatedScrollChanged()
https://bugs.webkit.org/show_bug.cgi?id=235989
<rdar://87402941>
Reviewed by Wenson Hsieh.
Crash data suggest that m_scrollingCoordinator can be null in ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged(),
which is true if the scrolling tree keeps ThreadedScrollingTree alive longer than the scrolling coordinator.
As in the other functions in this file, early return if m_scrollingCoordinator is null.
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::hasNodeWithAnimatedScrollChanged):
- 5:41 PM Changeset in webkit [288932] by
-
- 1 copy in tags/Safari-613.1.16.0.3
Tag Safari-613.1.16.0.3.
- 5:32 PM Changeset in webkit [288931] by
-
- 6 edits in trunk/Source/WebCore
Fix build error with VIDEO=ON
https://bugs.webkit.org/show_bug.cgi?id=235982
Reviewed by Eric Carlson.
- Modules/WebGPU/GPUExternalTextureDescriptor.idl:
- Modules/webcodecs/VideoColorPrimaries.idl:
- Modules/webcodecs/VideoMatrixCoefficients.idl:
- Modules/webcodecs/VideoTransferCharacteristics.idl:
- platform/MediaSample.h:
- 5:18 PM Changeset in webkit [288930] by
-
- 4 edits in trunk/Source
Add setting to toggle PDF.js viewer
https://bugs.webkit.org/show_bug.cgi?id=235972
Reviewed by Tim Horton.
This setting is enabled only in CaptivePortalMode.
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 4:47 PM Changeset in webkit [288929] by
-
- 13 edits in trunk
Forward messages from NetworkProcess to webpushd
https://bugs.webkit.org/show_bug.cgi?id=235855
Reviewed by Brent Fulgham.
Source/WebCore:
Make ExceptionData use modern encoding since the daemon IPC encoder doesn't support legacy
encoding.
- dom/ExceptionData.h:
(WebCore::ExceptionData::decode):
Source/WebKit:
This forwards PushManager and PushSubscription-related IPC from NetworkProcess to webpushd.
The implementations in webpushd are stubs in this patch, and as a result there are no new
tests. The implementations and tests will be filled out in a future patch.
- NetworkProcess/Notifications/NetworkNotificationManager.cpp:
(WebKit::NetworkNotificationManager::subscribeToPushService):
(WebKit::NetworkNotificationManager::unsubscribeFromPushService):
(WebKit::NetworkNotificationManager::getPushSubscription):
(WebKit::NetworkNotificationManager::getPushPermissionState):
- NetworkProcess/Notifications/NetworkNotificationManager.h:
- NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::subscribeToPushService):
(WebKit::WebSWServerConnection::unsubscribeFromPushService):
(WebKit::WebSWServerConnection::getPushSubscription):
(WebKit::WebSWServerConnection::getPushPermissionState):
- Shared/WebPushDaemonConstants.h:
(WebKit::WebPushD::messageTypeSendsReply):
- webpushd/WebPushDaemon.h:
- webpushd/WebPushDaemon.mm:
(WebPushD::MessageInfo::subscribeToPushService::encodeReply):
(WebPushD::MessageInfo::unsubscribeFromPushService::encodeReply):
(WebPushD::MessageInfo::getPushSubscription::encodeReply):
(WebPushD::MessageInfo::getPushPermissionState::encodeReply):
(WebPushD::Daemon::decodeAndHandleMessage):
(WebPushD::Daemon::subscribeToPushService):
(WebPushD::Daemon::unsubscribeFromPushService):
(WebPushD::Daemon::getPushSubscription):
(WebPushD::Daemon::getPushPermissionState):
LayoutTests:
Update existing tests to test for AbortError, since that's the exception type specified in
the spec.
- http/wpt/push-api/pushManager.any.js:
(promise_test.async test):
- 4:46 PM Changeset in webkit [288928] by
-
- 12 edits in branches/safari-613.1.16.0-branch/Source/WebKit
Apply patch. rdar://problem/86150540
- 4:44 PM Changeset in webkit [288927] by
-
- 9 edits in branches/safari-613.1.16.0-branch/Source
Versioning.
WebKit-7613.1.16.0.3
- 4:28 PM Changeset in webkit [288926] by
-
- 1 copy in tags/Safari-614.1.1.4
Tag Safari-614.1.1.4.
- 4:23 PM Changeset in webkit [288925] by
-
- 10 edits in trunk
Mitigate hangs underneath -requestAutocorrectionContextWithCompletionHandler: when focusing text fields
https://bugs.webkit.org/show_bug.cgi?id=235963
rdar://70152487
Reviewed by Tim Horton.
Source/WebKit:
After focusing an input field, UIKit attempts to invoke
-requestAutocorrectionContextWithCompletionHandler:on
WKContentView up to 5 times, back to back. In WebKit, we handle this like sync IPC by waiting up to 1 second for
a response (this is done because UIKit would otherwise lock the main thread altogether after calling this
method, which results in a permanent deadlock in the UI process).
In the case where the web process is also sending a sync message to the UI process at the same time (for
instance, when spinning up the GPU or web authn process), this results in back-to-back 1 second deadlocks, for a
total UI process hang time of up to 5 seconds (as observed on an iPad with hardware keyboard attached).
This patch attempts to reduce hangs in
-[WKContentView requestAutocorrectionContextWithCompletionHandler:]by
introducing a mechanism that throttles redundant-requestAutocorrectionContextWithCompletionHandler:requests
during the same runloop by immediately returning the last received autocorrection context instead of repeatedly
waiting on synchronous IPC message responses. Combined with another mechanism that preemptively sends an
autocorrection context when an input view is shown, this means that we will (mostly) no longer hang when
focusing an input field, or hang for at most 1 second (instead of 5) in the case where we happen to deadlock.
See comments below for more details.
Test: AutocorrectionTests.AutocorrectionContextBeforeAndAfterEditing
- UIProcess/ios/WKContentViewInteraction.h:
Add a new flag,
_autocorrectionContextNeedsUpdate, that tracks whether or not it's safe to reply to
-requestAutocorrectionContextWithCompletionHandler:using the last-received WebAutocorrectionContext data that
was cached in the UI process.
This flag is unset after receiving a WebAutocorrectionContext, and set when any asynchronous text input methods
on WKContentView have been invoked, which may cause the autocorrection context to change. This is important in
order to preserve the existing behavior that a call to-requestAutocorrectionContextWithCompletionHandler:
immediately after calling a method like-insertText:or-selectAll:will not immediately return with a stale
autocorrection context.
The flag is also unset after the current runloop finishes, ensuring that this hack is limited to back-to-back
autocorrection contexts where editing actions are not dispatched in between each request. In the future, we may
be able to make this caching policy more aggressive, by removing this invalidation, which would allow us to keep
using the same autocorrection context data until we either learn about a programmatic selection change in the UI
process, or the WebKit client (in the UI process) has triggered editing or selection.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setUpInteraction]):
(-[WKContentView cleanUpInteraction]):
(-[WKContentView replaceText:withText:]):
(-[WKContentView selectWordBackward]):
(-[WKContentView pasteForWebView:]):
(-[WKContentView _pasteAsQuotationForWebView:]):
(-[WKContentView selectForWebView:]):
(-[WKContentView selectAllForWebView:]):
(-[WKContentView changeSelectionWithGestureAt:withGesture:withState:withFlags:]):
(-[WKContentView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:withFlags:]):
(-[WKContentView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
(-[WKContentView selectPositionAtPoint:completionHandler:]):
(-[WKContentView _selectPositionAtPoint:stayingWithinFocusedElement:completionHandler:]):
(-[WKContentView selectPositionAtBoundary:inDirection:fromPoint:completionHandler:]):
(-[WKContentView moveSelectionAtBoundary:inDirection:completionHandler:]):
(-[WKContentView selectTextWithGranularity:atPoint:completionHandler:]):
(-[WKContentView beginSelectionInDirection:completionHandler:]):
(-[WKContentView updateSelectionWithExtentPoint:completionHandler:]):
(-[WKContentView updateSelectionWithExtentPoint:withBoundary:completionHandler:]):
(-[WKContentView replaceDictatedText:withText:]):
(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
(-[WKContentView _handleAutocorrectionContext:]):
(-[WKContentView beginSelectionChange]):
(-[WKContentView insertTextSuggestion:]):
(-[WKContentView _setMarkedText:highlights:selectedRange:]):
(-[WKContentView insertText:]):
(-[WKContentView insertText:alternatives:style:]):
(-[WKContentView _focusTextInputContext:placeCaretAt:completionHandler:]):
(-[WKContentView _willBeginTextInteractionInTextInputContext:]):
(-[WKContentView executeEditCommandWithCallback:]):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
(-[WKContentView _elementDidBlur]):
(-[WKContentView _selectionChanged]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::requestAutocorrectionContext):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestDOMPasteAccess):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setIsShowingInputViewForFocusedElement):
(WebKit::WebPage::preemptivelySendAutocorrectionContext):
Pull out logic that preemptively computes and sends WebAutocorrectionContexts to the UI process (in anticipation
of synchronous IPC) into an appropriately-named helper method; additionally, call this new helper method when
the keyboard has been shown, following element focus in the UI process.
(WebKit::WebPage::handleAutocorrectionContextRequest):
(WebKit::WebPage::prepareToRunModalJavaScriptDialog):
(WebKit::WebPage::requestAutocorrectionContext): Deleted.
Drive-by: rename this to
handleAutocorrectionContextRequestfor clarity, since the purpose of this method is
to service a request for autocorrection context that was sent by the UI process.
Tools:
Add a new API test to exercise a scenario that currently isn't covered by existing tests: if the text input
client (i.e. UIKit) calls-requestAutocorrectionContextWithCompletionHandler:, then invokes an asynchronous
API that performs an editing action or changes the selection, and then requests another autocorrection context,
the second autocorrection context should reflect the changes that occurred as a result of the async editing
action.
- TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
- 4:10 PM Changeset in webkit [288924] by
-
- 4 edits in trunk/Source/WebKit
Write origin file when OriginStorageManager is destroyed
https://bugs.webkit.org/show_bug.cgi?id=235897
rdar://87163253
Reviewed by Darin Adler.
The first WebStorage message sent from web process to network process is sync, and writing origin file when
creating OriginStorageManager will delay the reply. Since we can get the origin information from in-memory map
when OriginStorageManager is present, we may delay the write to until when OriginStorageManager is destroyed.
This fixes the PLT regression from r286936.
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::localOriginStorageManager):
- NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::OriginStorageManager):
(WebKit::OriginStorageManager::~OriginStorageManager):
- NetworkProcess/storage/OriginStorageManager.h:
- 4:09 PM Changeset in webkit [288923] by
-
- 1 copy in tags/Safari-613.1.16.1.2
Tag Safari-613.1.16.1.2.
- 4:08 PM Changeset in webkit [288922] by
-
- 7 edits in trunk/Source
[WP] Remove PostScript conversion code
https://bugs.webkit.org/show_bug.cgi?id=235892
<rdar://88172449>
Reviewed by Tim Horton.
The WebContent process no longer has access to the PostScript conversion service, so there is no need to keep this code.
Source/WebCore:
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::convertedDataIfNeeded const):
- platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::convertPostScriptDataToPDF): Deleted.
- platform/graphics/cg/PDFDocumentImage.h:
Source/WebKit:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::pluginInfo):
(WebKit::PDFPlugin::streamDidReceiveResponse):
(WebKit::PDFPlugin::manualStreamDidReceiveResponse):
- 4:07 PM Changeset in webkit [288921] by
-
- 1 copy in tags/Safari-613.1.16.0.2
Tag Safari-613.1.16.0.2.
- 4:01 PM Changeset in webkit [288920] by
-
- 1 copy in tags/Safari-613.1.14.5.7
Tag Safari-613.1.14.5.7.
- 3:59 PM Changeset in webkit [288919] by
-
- 2 edits in branches/safari-613.1.14.5-branch/Source/WebKit
Cherry-pick r288917. rdar://problem/88334496
Catalyst builds of WebKit with system content path put XPCServices and Daemons in the normal location
https://bugs.webkit.org/show_bug.cgi?id=235976
Reviewed by Mark Lam.
The production of WEBKIT_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_YES used the system framework path
instead of using the computed value of NORMAL_WEBKIT_FRAMEWORKS_DIR which includes the Catalyst prefix.
- Configurations/BaseTarget.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288917 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:58 PM Changeset in webkit [288918] by
-
- 9 edits in branches/safari-613.1.14.5-branch/Source
Versioning.
WebKit-7613.1.14.5.7
- 3:53 PM Changeset in webkit [288917] by
-
- 2 edits in trunk/Source/WebKit
Catalyst builds of WebKit with system content path put XPCServices and Daemons in the normal location
https://bugs.webkit.org/show_bug.cgi?id=235976
Reviewed by Mark Lam.
The production of WEBKIT_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_YES used the system framework path
instead of using the computed value of NORMAL_WEBKIT_FRAMEWORKS_DIR which includes the Catalyst prefix.
- Configurations/BaseTarget.xcconfig:
- 3:24 PM Changeset in webkit [288916] by
-
- 2 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Using thin archives with ld.bfd results in linker errors
https://bugs.webkit.org/show_bug.cgi?id=235975
Reviewed by Michael Catanzaro.
Import the two upstream that fix handling of thin archives to apply atop binutils 2.37.
The patches were found from https://sourceware.org/bugzilla/show_bug.cgi?id=28138 and
cherry-picked from the upstream binutils repository.
- elements/freedesktop-sdk.bst: List patch in the sources section.
- patches/0001-binutils-import-upstream-patches-for-thin-archive-su.patch: Added.
- 3:21 PM Changeset in webkit [288915] by
-
- 9 edits in branches/safari-614.1.1-branch/Source
Versioning.
WebKit-7614.1.1.4
- 2:52 PM Changeset in webkit [288914] by
-
- 5 edits2 adds in trunk
[LFC][IFC] Using Fontcascade::spaceWidth to subtract the trailing space width may result in incorrect layout
https://bugs.webkit.org/show_bug.cgi?id=235937
<rdar://88059633>
Reviewed by Antti Koivisto.
Source/WebCore:
Since Fontcascade::spaceWidth always consult the primary font, it may return unexpected width value when (in rare cases)
the primary font does not have a space glyph. Legacy line layout works as expected as it always runs a full width
computation on the space character (instead of directly calling FontCascade::spaceWidth).
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::computeInlineTextItemWidths):
- layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::width):
(WebCore::Layout::TextUtil::spaceWidth):
- layout/formattingContexts/inline/text/TextUtil.h:
LayoutTests:
- platform/mac-bigsur/fonts/monospace-expected.txt: Added.
- 2:47 PM Changeset in webkit [288913] by
-
- 2 edits in trunk/Source/WebCore
MSVC reports "SVGPropertyAnimator.h(94): error C2839: invalid return type 'T *' for overloaded 'operator ->'" with /std:c++20
https://bugs.webkit.org/show_bug.cgi?id=234546
<rdar://problem/86757805>
Reviewed by Darin Adler.
r287300 was a wrong fix that used a raw pointer to work around an
MSVC's RefPtr compilation error. We should use smart pointers for
local variables.
This seems a MSVC bug that the class template argument deduction
doesn't work in this case. Explicitly specifying a class template
argument is a workaround.
- svg/properties/SVGPropertyAnimator.h:
(WebCore::SVGPropertyAnimator::computeInheritedCSSPropertyValue const):
Changed the type of the local variable 'parent' from a raw pointer
to RefPtr<Element>.
- 2:13 PM Changeset in webkit [288912] by
-
- 3 edits in trunk/Source/WebCore
Use more AtomString and un-inline code for ScriptElementCachedScriptFetcher and its subclasses
https://bugs.webkit.org/show_bug.cgi?id=235919
<rdar://problem/88338714>
Address Darin's review comment. nonce in LoadableClassicScript's constructor should also have been
converted to AtomString in r288900.
- dom/LoadableClassicScript.cpp:
(WebCore::LoadableClassicScript::LoadableClassicScript):
- dom/LoadableClassicScript.h:
- 1:51 PM Changeset in webkit [288911] by
-
- 3 edits in trunk/Tools
[EWS] Fix infinate retry on PR with red ToT
https://bugs.webkit.org/show_bug.cgi?id=235971
<rdar://problem/88344438>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.analyzeResults): Update message for PRs,
do not retry if base commit has failed to build.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Only send
emails for patch failures.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/246651@main
- 1:30 PM Changeset in webkit [288910] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288897. rdar://problem/87651247
[Cocoa] "index 0 out of bounds" exception in AVTrackPrivateAVFObjCImpl::videoTrackConfiguration()
https://bugs.webkit.org/show_bug.cgi?id=235918
<rdar://87651247>
Reviewed by Eric Carlson.
Crash data shows a rare exception thrown from inside a static method formatDescriptionFor()
in AVTrackPrivateAVFObjCImpl. The method first queries whether the .formatDescriptions
NSArray property is queryable, then for its count, then retrieves the first object in the
array. It's possible that the array is mutated on a background thread between the count
check and when the first object is retrieved.
To eliminate the possibility that the property is mutated between queries, pull the value
into a RetainPtr and run the query on that retained object. Use -[NSArray firstObject]
rather than -objectAtIndex:0, as the former will return nil if the -count is 0, while the
latter will throw an exception. To guard against the possibility that the
CMFormatDescriptionRef will go out of scope after the return, return the format description
itself wrapped in a RetainPtr as well.
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: (WebCore::formatDescriptionFor): (WebCore::AVTrackPrivateAVFObjCImpl::codec const): (WebCore::AVTrackPrivateAVFObjCImpl::colorSpace const): (WebCore::AVTrackPrivateAVFObjCImpl::sampleRate const): (WebCore::AVTrackPrivateAVFObjCImpl::numberOfChannels const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:30 PM Changeset in webkit [288909] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288844. rdar://problem/88241768
[macOS][WP] Add required syscall
https://bugs.webkit.org/show_bug.cgi?id=235901
<rdar://88241768>
Reviewed by Brent Fulgham.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:09 PM Changeset in webkit [288908] by
-
- 2 edits in trunk/Source/WebKit
[macOS][WP] Add required syscall
https://bugs.webkit.org/show_bug.cgi?id=235828
<rdar://88177392>
Reviewed by Brent Fulgham.
Follow-up fix after r288750. Only allow syscall on older OS versions.
- WebProcess/com.apple.WebProcess.sb.in:
- 1:06 PM Changeset in webkit [288907] by
-
- 3 edits in trunk/Source/WebCore
Refactor KeyframesRuleMap to use AtomString for the key
https://bugs.webkit.org/show_bug.cgi?id=235962
Reviewed by Antti Koivisto.
It was noted during review of https://bugs.webkit.org/show_bug.cgi?id=229437 that we
ought to use an AtomString instead of an AtomStringImpl* as a key for m_keyframesRuleMap.
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::addKeyframeStyle):
(WebCore::Style::Resolver::isAnimationNameValid):
(WebCore::Style::Resolver::keyframeRulesForName const):
- style/StyleResolver.h:
- 12:34 PM Changeset in webkit [288906] by
-
- 9 edits in trunk
[CSS Container Queries] Ensure query containers have valid layout before resolving the subtree
https://bugs.webkit.org/show_bug.cgi?id=235896
Reviewed by Alan Bujtas.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt:
Source/WebCore:
To resolve container queries we need to have up-to-date layout for the query containers before
style resolution advances to their descendants.
With this patch we bounce between style resolution and layout until all query containers are resolved.
- dom/Document.cpp:
(WebCore::Document::resolveStyle):
Loop style resolution/render tree update/layout until we have resolved everything.
- dom/Document.h:
(WebCore::Document::isResolvingContainerQueries const):
- page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::layout):
(WebCore::FrameViewLayoutContext::runOrScheduleAsynchronousTasks):
Don't run post-layout tasks when resolving query containers.
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveComposedTree):
(WebCore::Style::TreeResolver::updateQueryContainer):
Track what has been resolved.
(WebCore::Style::TreeResolver::resolve):
- style/StyleTreeResolver.h:
(WebCore::Style::TreeResolver::hasUnresolvedQueryContainers const):
- style/StyleUpdate.h:
(WebCore::Style::Update::isEmpty const):
- 12:32 PM Changeset in webkit [288905] by
-
- 6 edits in trunk/Source
[GTK][WPE] Fixes for non-unified builds after r288807 and r288820
https://bugs.webkit.org/show_bug.cgi?id=235956
Reviewed by Mark Lam.
Source/JavaScriptCore:
- runtime/FunctionHasExecutedCache.h:
Source/WebCore:
- bindings/js/ScriptModuleLoader.cpp:
(WebCore::rejectWithFetchError):
Source/WTF:
- wtf/GenericHashKey.h:
- 11:59 AM WebKitFlatpakSDK/SpeedUpBuild edited by
- (diff)
- 11:59 AM Changeset in webkit [288904] by
-
- 2 edits in branches/safari-613.1.16.0-branch/Source/WebCore
Cherry-pick r288897. rdar://problem/87651247
[Cocoa] "index 0 out of bounds" exception in AVTrackPrivateAVFObjCImpl::videoTrackConfiguration()
https://bugs.webkit.org/show_bug.cgi?id=235918
<rdar://87651247>
Reviewed by Eric Carlson.
Crash data shows a rare exception thrown from inside a static method formatDescriptionFor()
in AVTrackPrivateAVFObjCImpl. The method first queries whether the .formatDescriptions
NSArray property is queryable, then for its count, then retrieves the first object in the
array. It's possible that the array is mutated on a background thread between the count
check and when the first object is retrieved.
To eliminate the possibility that the property is mutated between queries, pull the value
into a RetainPtr and run the query on that retained object. Use -[NSArray firstObject]
rather than -objectAtIndex:0, as the former will return nil if the -count is 0, while the
latter will throw an exception. To guard against the possibility that the
CMFormatDescriptionRef will go out of scope after the return, return the format description
itself wrapped in a RetainPtr as well.
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: (WebCore::formatDescriptionFor): (WebCore::AVTrackPrivateAVFObjCImpl::codec const): (WebCore::AVTrackPrivateAVFObjCImpl::colorSpace const): (WebCore::AVTrackPrivateAVFObjCImpl::sampleRate const): (WebCore::AVTrackPrivateAVFObjCImpl::numberOfChannels const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:56 AM Changeset in webkit [288903] by
-
- 2 edits in branches/safari-613.1.16.1-branch/Source/WebCore
Cherry-pick r288897. rdar://problem/87651247
[Cocoa] "index 0 out of bounds" exception in AVTrackPrivateAVFObjCImpl::videoTrackConfiguration()
https://bugs.webkit.org/show_bug.cgi?id=235918
<rdar://87651247>
Reviewed by Eric Carlson.
Crash data shows a rare exception thrown from inside a static method formatDescriptionFor()
in AVTrackPrivateAVFObjCImpl. The method first queries whether the .formatDescriptions
NSArray property is queryable, then for its count, then retrieves the first object in the
array. It's possible that the array is mutated on a background thread between the count
check and when the first object is retrieved.
To eliminate the possibility that the property is mutated between queries, pull the value
into a RetainPtr and run the query on that retained object. Use -[NSArray firstObject]
rather than -objectAtIndex:0, as the former will return nil if the -count is 0, while the
latter will throw an exception. To guard against the possibility that the
CMFormatDescriptionRef will go out of scope after the return, return the format description
itself wrapped in a RetainPtr as well.
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: (WebCore::formatDescriptionFor): (WebCore::AVTrackPrivateAVFObjCImpl::codec const): (WebCore::AVTrackPrivateAVFObjCImpl::colorSpace const): (WebCore::AVTrackPrivateAVFObjCImpl::sampleRate const): (WebCore::AVTrackPrivateAVFObjCImpl::numberOfChannels const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:16 AM Changeset in webkit [288902] by
-
- 6 edits9 adds in trunk
Import APSConnection-related SPI
https://bugs.webkit.org/show_bug.cgi?id=235856
Reviewed Youenn Fablet.
Source/WebKit:
This imports the SPI declarations necessary to build against ApplePushService in WebKit. It
also includes a PushServiceConnection interface that can sit in front of APSConnection, and
a fake interface that will be fleshed out for testing purposes.
- Configurations/WebKit.xcconfig:
- Platform/spi/Cocoa/ApplePushServiceSPI.h: Added.
- WebKit.xcodeproj/project.pbxproj:
- webpushd/ApplePushServiceConnection.h: Added.
- webpushd/ApplePushServiceConnection.mm: Added.
(-[_WKAPSConnectionDelegate initWithConnection:]):
(-[_WKAPSConnectionDelegate connection:didReceivePublicToken:]):
(-[_WKAPSConnectionDelegate connection:didReceiveIncomingMessage:]):
(WebPushD::ApplePushServiceConnection::ApplePushServiceConnection):
(WebPushD::makeTokenInfo):
(WebPushD::ApplePushServiceConnection::subscribe):
(WebPushD::ApplePushServiceConnection::unsubscribe):
(WebPushD::ApplePushServiceConnection::enabledTopics):
(WebPushD::ApplePushServiceConnection::ignoredTopics):
(WebPushD::ApplePushServiceConnection::opportunisticTopics):
(WebPushD::ApplePushServiceConnection::nonWakingTopics):
(WebPushD::ApplePushServiceConnection::setEnabledTopics):
(WebPushD::ApplePushServiceConnection::setIgnoredTopics):
(WebPushD::ApplePushServiceConnection::setOpportunisticTopics):
(WebPushD::ApplePushServiceConnection::setNonWakingTopics):
(WebPushD::ApplePushServiceConnection::setTopicLists):
- webpushd/MockPushServiceConnection.h: Added.
- webpushd/MockPushServiceConnection.mm: Added.
(WebPushD::MockPushServiceConnection::MockPushServiceConnection):
(WebPushD::MockPushServiceConnection::subscribe):
(WebPushD::MockPushServiceConnection::unsubscribe):
(WebPushD::MockPushServiceConnection::enabledTopics):
(WebPushD::MockPushServiceConnection::ignoredTopics):
(WebPushD::MockPushServiceConnection::opportunisticTopics):
(WebPushD::MockPushServiceConnection::nonWakingTopics):
(WebPushD::MockPushServiceConnection::setEnabledTopics):
(WebPushD::MockPushServiceConnection::setIgnoredTopics):
(WebPushD::MockPushServiceConnection::setOpportunisticTopics):
(WebPushD::MockPushServiceConnection::setNonWakingTopics):
(WebPushD::MockPushServiceConnection::setTopicLists):
- webpushd/PushServiceConnection.h: Added.
- webpushd/PushServiceConnection.mm: Added.
(WebPushD::PushServiceConnection::startListeningForPushMessages):
(WebPushD::PushServiceConnection::didReceivePushMessage):
Source/WTF:
Add a HAVE macro to guard some of the newer SPI in APSConnection.
- wtf/PlatformHave.h:
WebKitLibraries:
Add an ApplePushService stub so we can build against it with public SDKs.
- WebKitPrivateFrameworkStubs/iOS/15/ApplePushService.framework/ApplePushService.tbd: Added.
- 11:14 AM Changeset in webkit [288901] by
-
- 10 edits in trunk
Unreviewed, reverting r288538.
https://bugs.webkit.org/show_bug.cgi?id=235968
Array#groupByname has web-compat issue
<https://github.com/tc39/proposal-array-grouping/issues/37>
Reverted changeset:
"[JSC] Enable Array#groupBy and Array#groupByToMap"
https://bugs.webkit.org/show_bug.cgi?id=235549
https://commits.webkit.org/r288538
- 11:12 AM Changeset in webkit [288900] by
-
- 10 edits in trunk/Source/WebCore
Use more AtomString and un-inline code for ScriptElementCachedScriptFetcher and its subclasses
https://bugs.webkit.org/show_bug.cgi?id=235919
Reviewed by Darin Adler.
Use more AtomString and moved code from header files to cpp files where appropriate.
- dom/InlineClassicScript.cpp:
(WebCore::InlineClassicScript::InlineClassicScript):
- dom/InlineClassicScript.h:
- dom/LoadableClassicScript.cpp:
(WebCore::LoadableClassicScript::create):
(WebCore::LoadableClassicScript::LoadableClassicScript):
- dom/LoadableClassicScript.h:
- dom/LoadableModuleScript.cpp:
(WebCore::LoadableModuleScript::create):
(WebCore::LoadableModuleScript::LoadableModuleScript):
- dom/LoadableModuleScript.h:
- dom/LoadableScript.h:
(WebCore::LoadableScript::LoadableScript):
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::ScriptElement): Call document() and scriptableDocumentParser() once.
(WebCore::ScriptElement::requestClassicScript):
(WebCore::ScriptElement::requestModuleScript):
- dom/ScriptElementCachedScriptFetcher.h:
(WebCore::ScriptElementCachedScriptFetcher::ScriptElementCachedScriptFetcher):
- 11:11 AM Changeset in webkit [288899] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, reverting r288746.
https://bugs.webkit.org/show_bug.cgi?id=235967
Caused a 5% Speedometer-2 - jQuery-TodoMVC regression.
Reverted changeset:
"Enable inert attribute feature flag"
https://bugs.webkit.org/show_bug.cgi?id=235668
https://commits.webkit.org/r288746
- 11:09 AM Changeset in webkit [288898] by
-
- 4 edits in trunk/Source/WebKit
Protect NetworkConnectionToWebProcess::createFetchTask from a null service worker connection
https://bugs.webkit.org/show_bug.cgi?id=235878
<rdar://87785042>
Reviewed by Chris Dumez.
After https://bugs.webkit.org/show_bug.cgi?id=234179, there is no guarantee that we have a SWServer/SWServerConnection per session ID.
This is only guaranteed if there is a corresponding network session.
We add null pointer checks to NetworkConnectionToWebProcess::swConnection() which now returns a pointer.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::createFetchTask):
(WebKit::NetworkConnectionToWebProcess::swConnection):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::softUpdateIfNeeded):
- 11:03 AM Changeset in webkit [288897] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] "index 0 out of bounds" exception in AVTrackPrivateAVFObjCImpl::videoTrackConfiguration()
https://bugs.webkit.org/show_bug.cgi?id=235918
<rdar://87651247>
Reviewed by Eric Carlson.
Crash data shows a rare exception thrown from inside a static method formatDescriptionFor()
in AVTrackPrivateAVFObjCImpl. The method first queries whether the .formatDescriptions
NSArray property is queryable, then for its count, then retrieves the first object in the
array. It's possible that the array is mutated on a background thread between the count
check and when the first object is retrieved.
To eliminate the possibility that the property is mutated between queries, pull the value
into a RetainPtr and run the query on that retained object. Use -[NSArray firstObject]
rather than -objectAtIndex:0, as the former will return nil if the -count is 0, while the
latter will throw an exception. To guard against the possibility that the
CMFormatDescriptionRef will go out of scope after the return, return the format description
itself wrapped in a RetainPtr as well.
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
(WebCore::formatDescriptionFor):
(WebCore::AVTrackPrivateAVFObjCImpl::codec const):
(WebCore::AVTrackPrivateAVFObjCImpl::colorSpace const):
(WebCore::AVTrackPrivateAVFObjCImpl::sampleRate const):
(WebCore::AVTrackPrivateAVFObjCImpl::numberOfChannels const):
- 10:37 AM Changeset in webkit [288896] by
-
- 11 edits1 delete in trunk
[WebXR] Handle changes in XRSession's visibility state
https://bugs.webkit.org/show_bug.cgi?id=235898
Patch by Ada Chan <ada.chan@apple.com> on 2022-02-01
Reviewed by Sergio Villar Senin.
LayoutTests/imported/w3c:
Update expectation with passing results.
- web-platform-tests/webxr/xrSession_visibilityState.https-expected.txt:
Source/WebCore:
Add a new method in WebXRSession for handling visibility state updates.
When the session regains visibility and there are pending frame update
requests, trigger a frame request. Also dispatch a visibilitychange
event when the visibility state changes.
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::updateSessionVisibilityState):
(WebCore::WebXRSession::onFrame):
Bail early if the visibility state is hidden.
- Modules/webxr/WebXRSession.h:
- Modules/webxr/XRVisibilityState.h:
- platform/xr/PlatformXR.h:
- testing/WebFakeXRDevice.cpp:
(WebCore::SimulatedXRDevice::setVisibilityState):
(WebCore::WebFakeXRDevice::simulateVisibilityChange):
- testing/WebFakeXRDevice.h:
LayoutTests:
Unskip xrSession_visibilityState.https.html
- platform/mac/imported/w3c/web-platform-tests/webxr/xrSession_visibilityState.https-expected.txt: Removed.
- 10:36 AM Changeset in webkit [288895] by
-
- 2 edits in branches/safari-613.1.16.1-branch/Source/WebKit
Cherry-pick r288844. rdar://problem/88241768
[macOS][WP] Add required syscall
https://bugs.webkit.org/show_bug.cgi?id=235901
<rdar://88241768>
Reviewed by Brent Fulgham.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:34 AM Changeset in webkit [288894] by
-
- 39 edits in trunk
[macOS] Expose screen and window capture state to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=235838
<rdar://problem/88207924>
Reviewed by Youenn Fablet.
Source/WebCore:
Updated GetDisplayMediaWindowAndScreen API test.
- Modules/mediastream/MediaDevices.cpp:
(WebCore::toMediaDeviceInfoKind): Add SystemAudio.
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::sourceCaptureState): Differentiate state of window and screen capture tracks.
(WebCore::MediaStreamTrack::updateToPageMutedState): New.
(WebCore::trackTypeForMediaProducerCaptureKind):
(WebCore::trackMatchesKind): Deleted.
- Modules/mediastream/MediaStreamTrack.h:
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::mediaStreamDidFail): Include new source types.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addTrack): Ditto.
(WebCore::LibWebRTCMediaEndpoint::createSourceAndRTCTrack):
- page/MediaProducer.h:
- platform/mediarecorder/MediaRecorderPrivate.cpp:
(WebCore::MediaRecorderPrivate::selectTracks): Include new track types.
- platform/mediastream/CaptureDevice.h:
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp:
(WebCore::DisplayCaptureSourceCocoa::create): Ditto.
- platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp:
(WebCore::DisplayCaptureManagerCocoa::captureDeviceWithPersistentID): Ditto.
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
- testing/Internals.cpp:
(WebCore::Internals::pageMediaState): Update with new and changed type names.
(WebCore::Internals::stopObservingRealtimeMediaSource): Include new track types.
(WebCore::Internals::observeMediaStreamTrack): Ditto.
Source/WebKit:
- GPUProcess/GPUConnectionToWebProcess.cpp:
- UIProcess/API/C/WKPage.cpp:
(WKPageGetMediaState): Rename *DisplayCaptureDevice to *ScreenCaptureDevice. Add enums
for window capture.
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/Cocoa/WKWebView.h: Drive by: fix typo in header doc.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView setMicrophoneCaptureState:completionHandler:]): MediaProducerMediaCaptureKind::Audio
was renamed to MediaProducerMediaCaptureKind::Microphone.
(-[WKWebView setCameraCaptureState:completionHandler:]): MediaProducerMediaCaptureKind::Video
was renamed to MediaProducerMediaCaptureKind::Camera.
(-[WKWebView _stopMediaCapture]): stopMediaCapture takes an optionSet.
(-[WKWebView _displayCaptureSurfaces]): Expose the type(s) of displays surfaces
being captured.
(-[WKWebView _displayCaptureState]): Expose the display capture state.
(-[WKWebView _systemAudioCaptureState]): Expose the system audio capture state.
(-[WKWebView _setDisplayCaptureState:completionHandler:]): Change the display
capture state.
(-[WKWebView _setSystemAudioCaptureState:completionHandler:]): Change the system
audio capture state.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewMediaCaptureStateDidChange): MediaProducer::AudioCaptureMask ->
MediaProducer::MicrophoneCaptureMask.
(webkitWebViewConfigureMediaCapture): Update for MediaProducerMediaCaptureKind changes.
(webkit_web_view_set_microphone_capture_state): Ditto.
(webkit_web_view_set_camera_capture_state): MediaProducerMediaCaptureKind::Video ->
MediaProducerMediaCaptureKind::Camera
(webkit_web_view_set_display_capture_state): Ditto.
(webkit_web_view_get_display_capture_state): MediaState::HasActiveDisplayCaptureDevice ->
MediaState::HasActiveScreenCaptureDevice. MediaState::HasMutedDisplayCaptureDevice ->
MediaState::HasMutedScreenCaptureDevice
- UIProcess/Cocoa/PageClientImplCocoa.h:
- UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::displayCaptureWillChange): KVO support.
(WebKit::PageClientImplCocoa::displayCaptureSurfacesWillChange): Ditto.
(WebKit::PageClientImplCocoa::systemAudioCaptureWillChange): Ditto.
(WebKit::PageClientImplCocoa::displayCaptureChanged): Ditto.
(WebKit::PageClientImplCocoa::displayCaptureSurfacesChanged): Ditto.
(WebKit::PageClientImplCocoa::systemAudioCaptureChanged): Ditto.
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::SourceProxy): Support new types.
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::~SourceProxy): Ditto.
(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): Ditto.
- UIProcess/PageClient.h:
(WebKit::PageClient::displayCaptureWillChange):
(WebKit::PageClient::displayCaptureSurfacesWillChange):
(WebKit::PageClient::systemAudioCaptureWillChange):
(WebKit::PageClient::displayCaptureChanged):
(WebKit::PageClient::displayCaptureSurfacesChanged):
(WebKit::PageClient::systemAudioCaptureChanged):
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::~UserMediaPermissionRequestManagerProxy):
MediaProducerMediaCaptureKind::AudioVideo -> MediaProducerMediaCaptureKind::EveryKind.
(WebKit::UserMediaPermissionRequestManagerProxy::stopCapture): Ditto.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateReportedMediaCaptureState): Deal with new types.
- UIProcess/WebPageProxy.h:
- WebProcess/WebProcess.cpp:
(WebKit::checkDocumentsCaptureStateConsistency):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme:
- TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMediaWindowAndScreen.mm:
(-[DisplayCaptureObserver observeValueForKeyPath:ofObject:change:context:]):
(-[DisplayCaptureObserver waitForDisplayCaptureState:]):
(-[DisplayCaptureObserver waitForDisplayCaptureSurfaces:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/glib/TestExpectations.json: Skip /webkit/WebKitWebView/display-usermedia-permission-request
until someone has a chance to figure out why it times out.
LayoutTests:
- fast/mediastream/get-display-media-muted.html: Update for new and renamed states.
- fast/mediastream/media-stream-page-muted-expected.txt: Ditto.
- fast/mediastream/media-stream-page-muted.html: Ditto.
- 10:29 AM Changeset in webkit [288893] by
-
- 9 edits in branches/safari-613.1.16.1-branch/Source
Versioning.
WebKit-7613.1.16.1.2
- 10:28 AM Changeset in webkit [288892] by
-
- 9 edits in branches/safari-613.1.16.0-branch/Source
Versioning.
WebKit-7613.1.16.0.2
- 10:18 AM Changeset in webkit [288891] by
-
- 3 edits2 adds in trunk
null ptr deref in LayoutIntegrationLineLayout LineLayout::adjustForPagination and LineLayout::visualOverflowBoundingBoxRectFor
https://bugs.webkit.org/show_bug.cgi?id=235907
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-02-01
Reviewed by Antti Koivisto.
Source/WebCore:
m_inlineContent could become nullptr (such as after calling LineLayout::clearInlineContent())
so we add these nullptr checks to protect against an nullptr deref, in a similar way to
how it's done in the other methods.
Test: fast/layoutformattingcontext/visual-overflow-bounding-box-rect-crash.html
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::adjustForPagination):
(WebCore::LayoutIntegration::LineLayout::visualOverflowBoundingBoxRectFor const):
LayoutTests:
- fast/layoutformattingcontext/visual-overflow-bounding-box-rect-crash-expected.txt: Added.
- fast/layoutformattingcontext/visual-overflow-bounding-box-rect-crash.html: Added.
- 9:52 AM Changeset in webkit [288890] by
-
- 7 edits in branches/safari-614.1.2-branch/Source
Cherry-pick r288870. rdar://problem/88318960
Revert OSAllocator behavior to pre-Structure-Allocator change one
https://bugs.webkit.org/show_bug.cgi?id=235940
Reviewed by Mark Lam.
Source/JavaScriptCore:
- jit/ExecutableAllocator.cpp: (JSC::initializeJITPageReservation):
Source/WTF:
Before r288815, OSAllocator::reserveAndCommit can fail only for executable memory.
if (result == MAP_FAILED) {
if (executable)
result = 0;
else
CRASH();
}
However, after r288815, this behavior was changed.
Before r288815,
- ExecutableAllocator uses PageReservation::reserveWithGuardPages / PageReservation::reserve / PageReservation::reserveAndCommitWithGuardPages to reserve memory.
- In ARM64 macOS, we use PageReservation::reserveWithGuardPages.
- PageReservation::reserveWithGuardPages uses OSAllocator::reserveUncommitted.
- OSAllocator::reserveUncommitted used OSAllocator::reserveAndCommit internally before r288815.
- OSAllocator::reserveAndCommit can fail for executable memory.
But after r288815,
- PageReservation::reserveWithGuardPages uses OSAllocator::reserveUncommitted
- OSAllocator::reserveUncommitted now uses OSAllocator::tryReserveUncommitted and crash if it fails.
Thus, r288815 changed the behavior of OSAllocator::reserveUncommitted for executable memory. This is causing a crash when we failed to
allocate JIT memory. And probably, it is happening in SIP-enabled root-installing environment.
In this patch,
- Accepting failure only for executable memory is ugly hack. We should add PageReservation::tryReserveWithGuardPages.
- In PageReservation::tryReserveWithGuardPages we should use OSAllocator::tryReserveUncommitted.
So, this patch reverts the behavior back to pre-r288815 state.
We also fix a bug in tryReserveUncommitted where it handles MAP_FAILED incorrectly. We should not return MAP_FAILED from OSAllocator, instead,
we should return nullptr.
- wtf/OSAllocator.h:
- wtf/PageReservation.h: (WTF::PageReservation::tryReserve): (WTF::PageReservation::tryReserveWithGuardPages): (WTF::PageReservation::tryReserveAndCommitWithGuardPages):
- wtf/posix/OSAllocatorPOSIX.cpp: (WTF::OSAllocator::tryReserveAndCommit): (WTF::OSAllocator::tryReserveUncommitted): (WTF::OSAllocator::reserveAndCommit): (WTF::tryReserveAndCommit): Deleted. (WTF::tryReserveUncommitted): Deleted.
- wtf/win/OSAllocatorWin.cpp: (WTF::OSAllocator::tryReserveUncommitted): (WTF::OSAllocator::reserveUncommitted): (WTF::OSAllocator::tryReserveAndCommit): (WTF::OSAllocator::reserveAndCommit):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:52 AM Changeset in webkit [288889] by
-
- 2 edits in branches/safari-614.1.2-branch/Source/WebKit
Cherry-pick r288860. rdar://problem/88081007
[iOS] Clean up some issues in the 'com.apple.WebKit.adattributiond.sb' sandbox
https://bugs.webkit.org/show_bug.cgi?id=235929
<rdar://88081007>
Patch by Brent Fulgham <Brent Fulgham> on 2022-01-31
Reviewed by Alex Christensen.
Revise a few syntax issues in the sandbox.
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:45 AM Changeset in webkit [288888] by
-
- 1 copy in tags/Safari-614.1.1.3
Tag Safari-614.1.1.3.
- 9:44 AM Changeset in webkit [288887] by
-
- 2 edits in branches/safari-614.1.1-branch/Source/WebKit
Cherry-pick r288860. rdar://problem/88081007
[iOS] Clean up some issues in the 'com.apple.WebKit.adattributiond.sb' sandbox
https://bugs.webkit.org/show_bug.cgi?id=235929
<rdar://88081007>
Patch by Brent Fulgham <Brent Fulgham> on 2022-01-31
Reviewed by Alex Christensen.
Revise a few syntax issues in the sandbox.
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:41 AM Changeset in webkit [288886] by
-
- 9 edits in branches/safari-614.1.1-branch/Source
Versioning.
WebKit-7614.1.1.3
- 9:33 AM Changeset in webkit [288885] by
-
- 10 edits in trunk/Source
Enhance sanitizeStackForVM() to assist with crash analysis.
https://bugs.webkit.org/show_bug.cgi?id=235752
rdar://81014601
Reviewed by Michael Saboff.
Source/JavaScriptCore:
- Remove the AssemblyHelpers version of sanitizeStack. Instead, make the 3 JIT operation functions call sanitizeStackForVM() instead. This ensures that sanitizeStack crashes are not obscured as generic JIT crashes.
- Add sanity check RELEASE_ASSERTs to VM::setLastStackTop() with a capture of the relevant variables for crash analysis.
- Fix logSanitizeStack() so that it no longer relies on vm.topCallFrame. vm.topCallFrame may not be properly initialized at all the places that sanitizeStackForVM() is called.
- Add a JSLock check to sanitizeStackForVM(), and return early if not owned by the current thread. If the JSLock is not owned by the current thread, we can't rely on vm.lastStackTop() being a sane value. Hence, it's not possible to do stack sanitization correctly.
Add sanity check RELEASE_ASSERTs to sanitizeStackForVM() with a capture of
the relevant variables for crash analysis.
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::sanitizeStackInline): Deleted.
- jit/AssemblyHelpers.h:
- jit/JITOperations.cpp:
(JSC::JSC_DEFINE_JIT_OPERATION):
- jit/ThunkGenerators.cpp:
(JSC::slowPathFor):
- runtime/JSLock.cpp:
(JSC::JSLock::didAcquireLock):
(JSC::JSLock::grabAllLocks):
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::setLastStackTop):
(JSC::logSanitizeStack):
(JSC::sanitizeStackForVM):
- runtime/VM.h:
Source/WTF:
- wtf/Threading.h:
(WTF::Thread::savedStackPointerAtVMEntry const):
(WTF::Thread::savedLastStackTop const):
(WTF::Thread::savedStackPointerAtVMEntry): Deleted.
(WTF::Thread::savedLastStackTop): Deleted.
- 9:18 AM Changeset in webkit [288884] by
-
- 5 edits in trunk/Source/WebCore
[GStreamer] Update flags in internal GStreamer source and sink elements
https://bugs.webkit.org/show_bug.cgi?id=235871
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-01
Reviewed by Xabier Rodriguez-Calvar.
For custom source and sinks subclassing GstBin it's good practice to suppress SOURCE and
SINK flags and to keep the subclass flags as matching the element type.
- platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcConstructed):
- platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:
(webKitGLVideoSinkConstructed):
- platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp:
(webKitAudioSinkConstructed):
(webkit_audio_sink_class_init):
- platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(webkitMediaStreamSrcConstructed):
- 9:17 AM Changeset in webkit [288883] by
-
- 4 edits in trunk/Source/WebCore
[GStreamer] Support for vpx in webrtc encoder
https://bugs.webkit.org/show_bug.cgi?id=235870
Patch by Philippe Normand <pnormand@igalia.com> on 2022-02-01
Reviewed by Xabier Rodriguez-Calvar.
Add support for encoding to VP8 and VP9. The encoder is now available outside of the WebRTC
backend, so that it can potentially be auto-plugged (which will be useful for the
MediaRecorder support). In order to allow this metadata and pad templates were also added to
the element.
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::registerWebKitGStreamerElements):
- platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp:
(webkit_webrtc_video_encoder_class_init):
- 8:53 AM Changeset in webkit [288882] by
-
- 4 edits2 adds in trunk
Redefining @keyframes does not work
https://bugs.webkit.org/show_bug.cgi?id=229437
<rdar://problem/82563372>
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Add a new test that reproduces the test content submitted with the bug report where
a <style> element containing a @keyframes rule with a given name is replaced with
another <style> element containing another @keyframes rule with the same name
but different keyframes. The test checks that the animation correctly uses the new
keyframes when querying the computed style.
We also get a fair few new PASS results on a ::marker animation test since that test
sets thetextContentfor a shared<style>element with generated @keyframes rules.
- web-platform-tests/css/css-animations/animation-style-element-replaced-with-keyframes-rule-of-same-name-expected.txt: Added.
- web-platform-tests/css/css-animations/animation-style-element-replaced-with-keyframes-rule-of-same-name.html: Added.
- web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation-expected.txt:
Source/WebCore:
Notify the document upon insertion of a new @keyframes rule such that any running CSS Animation
using that rule name may update its computed keyframes.
Test: imported/w3c/web-platform-tests/css/css-animations/animation-style-element-replaced-with-keyframes-rule-of-same-name.html
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::addKeyframeStyle):
- 8:51 AM Changeset in webkit [288881] by
-
- 3 edits2 adds in trunk
Animation from scale(0) has missing backing store
https://bugs.webkit.org/show_bug.cgi?id=227733
<rdar://problem/80246192>
Reviewed by Simon Fraser.
Source/WebCore:
Use the style recorded before we applied animations to this element the last
time we resolved style for keyframes that don't set a value for the "transform"
property.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::computeExtentOfTransformAnimation const):
LayoutTests:
Add a new test which animates two squares, one on top of each other. The bottom square uses an animation
that has an explicit "from" value of scale(0) and an explicit "to" value of scale(1) and is black. The top
square uses an animation that has an explicit "from" value of scale(0) but no explicit "to" value, thus
animating to scale(1) as well, and is white, matching the background color.
The bug we are fixing is that the square with an implicit "to" value would not yield a visible animation
since we wouldn't account for the scale(1) target value and assuming we're never animating to a non-0
value.
This test assumes that both animations run at the same time and thus the white square will always cover
the black square (which is smaller to ensure no issues at the edges) and yield a completely white page.
- webanimations/accelerated-transform-animation-from-scale-zero-and-implicit-to-kefyrame-expected.html: Added.
- webanimations/accelerated-transform-animation-from-scale-zero-and-implicit-to-kefyrame.html: Added.
- 8:49 AM Changeset in webkit [288880] by
-
- 2 edits in trunk/Source/WebKit
Minor cleanup in RemoteLayerBackingStoreCollection
https://bugs.webkit.org/show_bug.cgi?id=235936
Reviewed by Tim Horton.
Do time math once. Insert a blank line for clarity.
- Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable):
- 8:41 AM Changeset in webkit [288879] by
-
- 5 edits2 adds in trunk
[css-cascade] Fix removal of not yet loaded CSS @import
https://bugs.webkit.org/show_bug.cgi?id=235930
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Add new test.
- web-platform-tests/css/css-cascade/import-removal-expected.html: Added.
- web-platform-tests/css/css-cascade/import-removal.html: Added.
Source/WebCore:
When removing a not yet loaded CSS @import, the hasPendingSheet() flag
was not cleared. This resulted in a completely blank page.
This patch makes sure to cancel the load before deleting the rule.
Test: imported/w3c/web-platform-tests/css/css-cascade/import-removal.html
- css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::cancelLoad):
- css/StyleRuleImport.h:
- css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::wrapperDeleteRule):
- 8:35 AM Changeset in webkit [288878] by
-
- 6 edits in trunk/Tools
Migrate LayoutTestFinder tests from FileSystemMock to pyfakefs
https://bugs.webkit.org/show_bug.cgi?id=235370
<rdar://problem/87785236>
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/init.py:
Register pyfakefs (last Python 2 supporting version).
- Scripts/webkitpy/common/host_mock.py:
(MockHost.init):
Pass kwargs through to MockSystemHost.
- Scripts/webkitpy/layout_tests/controllers/layout_test_finder_legacy_unittest.py:
(LayoutTestFinderTests):
(LayoutTestFinderTests.setUp):
Setup the MockHost with pyfakefs.
(LayoutTestFinderTests.test_find_glob_b):
Uncomment now we don't need to mitigate FileSystemMock bugs.
(LayoutTestFinderTests.test_find_glob_c):
Uncomment now we don't need to mitigate FileSystemMock bugs.
(LayoutTestFinderTests.test_is_w3c_resource_file):
Ensure the directory exists before writing.
- Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RebaselineTest.test_reset_results):
Call fs.clear_written_files before test.
(RebaselineTest.test_missing_results):
Call fs.clear_written_files before test.
(RebaselineTest.test_new_baseline):
Call fs.clear_written_files before test.
- Scripts/webkitpy/port/test.py:
(add_unit_tests_to_mock_filesystem):
Fix this with the real FileSystem class, conditionally deleting files. Remove mock-only
fs.clear_written_files call.
- 8:26 AM WebKitGTK/Debugging edited by
- (diff)
- 8:11 AM Changeset in webkit [288877] by
-
- 3 edits in trunk/Source/WebKit
RemoteRenderingBackendProxy should not be a IPC::MessageSender
https://bugs.webkit.org/show_bug.cgi?id=235935
Reviewed by Wenson Hsieh.
Calling send() in RemoteRenderingBackendProxy fails to send a message to the GPU process,
because it has no connection(), only a StreamClientConnection or the GPUProcessConnection.
So make it not inherit from IPC::MessageSender. Code using send() now explicitly uses
ensureGPUProcessConnection().connection().
(WebKit::RemoteLayerBackingStore::setBufferVolatility):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::~RemoteRenderingBackendProxy):
(WebKit::RemoteRenderingBackendProxy::gpuProcessConnection):
(WebKit::RemoteRenderingBackendProxy::waitForDidCreateImageBufferBackend):
(WebKit::RemoteRenderingBackendProxy::waitForDidFlush):
(WebKit::RemoteRenderingBackendProxy::streamConnection):
(WebKit::RemoteRenderingBackendProxy::messageSenderConnection const): Deleted.
(WebKit::RemoteRenderingBackendProxy::messageSenderDestinationID const): Deleted.
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- 7:51 AM Changeset in webkit [288876] by
-
- 2 edits in trunk/LayoutTests
[BigSur+ wk2 Debug] webrtc/video-mute-vp8.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=230359
<rdar://problem/83203317>
Unreviewed.
Test is no longer flaky on bots.
- platform/mac-wk2/TestExpectations:
- 7:32 AM Changeset in webkit [288875] by
-
- 2 edits in trunk/Tools
[EWS] Trigger embedded builders on pull-requests
https://bugs.webkit.org/show_bug.cgi?id=235913
<rdar://problem/88290964>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/config.json: Pull-requests should trigger embedded builders.
Canonical link: https://commits.webkit.org/246627@main
- 7:12 AM Changeset in webkit [288874] by
-
- 2 edits in trunk/Source/WebCore
AX: nullptr crash under AccessibilityRenderObject::computeAccessibilityIsIgnored
https://bugs.webkit.org/show_bug.cgi?id=235945
rdar://88217815
Reviewed by Andres Gonzalez.
This is similar to https://bugs.webkit.org/show_bug.cgi?id=161276.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):
m_renderer is a WeakPtr and can become null during parentObjectUnignored call, same as
the case below.
- 5:15 AM Changeset in webkit [288873] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. [GTK][WPE] Fix compile warning
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::atspiRole): Add AccessibilityRole::Model to switch.
- 4:29 AM Changeset in webkit [288872] by
-
- 21 edits3 adds6 deletes in trunk
[GTK][WPE] Switch to use ATSPI instead of ATK
https://bugs.webkit.org/show_bug.cgi?id=235942
Reviewed by Adrian Perez de Castro.
.:
Use ATSPI by default.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
LayoutTests:
Update test expectations.
- accessibility/aria-table-attributes.html:
- accessibility/combo-box-collapsed-selection-changed.html:
- accessibility/gtk/caret-browsing-select-focus-expected.txt:
- accessibility/gtk/caret-browsing-select-focus.html:
- accessibility/gtk/caret-browsing-text-focus-expected.txt: Removed.
- accessibility/gtk/caret-browsing-text-focus.html: Removed.
- accessibility/gtk/combobox-descendants-orientation-crash-expected.txt: Removed.
- accessibility/gtk/combobox-descendants-orientation-crash.html: Removed.
- accessibility/gtk/object-attributes-expected.txt:
- accessibility/gtk/spans-paragraphs-and-divs-tree-expected.txt:
- accessibility/menu-list-sends-change-notification.html:
- platform/glib/TestExpectations:
- platform/glib/accessibility/aria-combobox-expected.txt: Added.
- platform/glib/accessibility/aria-combobox-hierarchy-expected.txt:
- platform/glib/accessibility/aria-table-attributes-expected.txt: Removed.
- platform/glib/accessibility/combo-box-collapsed-selection-changed-expected.txt: Added.
- platform/glib/accessibility/content-editable-as-textarea-expected.txt:
- platform/glib/accessibility/lists-expected.txt:
- platform/glib/accessibility/menu-list-sends-change-notification-expected.txt: Removed.
- platform/glib/accessibility/multiselect-list-reports-active-option-expected.txt: Added.
- platform/glib/accessibility/svg-remote-element-expected.txt:
- platform/glib/accessibility/table-attributes-expected.txt:
- platform/glib/accessibility/table-one-cell-expected.txt:
- platform/glib/accessibility/table-sections-expected.txt:
- platform/glib/accessibility/transformed-element-expected.txt:
- platform/gtk/TestExpectations:
- 2:32 AM Changeset in webkit [288871] by
-
- 14 edits2 adds in trunk/WebDriverTests
Unreviewed. Update W3C WebDriver imported tests.
- imported/w3c/importer.json:
- imported/w3c/tools/webdriver/webdriver/bidi/client.py:
- imported/w3c/tools/webdriver/webdriver/client.py:
- imported/w3c/tools/wptrunner/wptrunner/browsers/firefox_android.py:
- imported/w3c/webdriver/tests/conftest.py:
- imported/w3c/webdriver/tests/find_element_from_shadow_root/find.py:
- imported/w3c/webdriver/tests/find_element_from_shadow_root/user_prompts.py:
- imported/w3c/webdriver/tests/find_elements_from_shadow_root/find.py:
- imported/w3c/webdriver/tests/find_elements_from_shadow_root/user_prompts.py:
- imported/w3c/webdriver/tests/print/printcmd.py:
- imported/w3c/webdriver/tests/support/asserts.py:
- imported/w3c/webdriver/tests/support/fixtures.py:
- imported/w3c/webdriver/tests/support/fixtures_bidi.py: Added.
- imported/w3c/webdriver/tests/support/fixtures_http.py: Added.
- 2:26 AM Changeset in webkit [288870] by
-
- 7 edits in trunk/Source
Revert OSAllocator behavior to pre-Structure-Allocator change one
https://bugs.webkit.org/show_bug.cgi?id=235940
Reviewed by Mark Lam.
Source/JavaScriptCore:
- jit/ExecutableAllocator.cpp:
(JSC::initializeJITPageReservation):
Source/WTF:
Before r288815, OSAllocator::reserveAndCommit can fail only for executable memory.
if (result == MAP_FAILED) {
if (executable)
result = 0;
else
CRASH();
}
However, after r288815, this behavior was changed.
Before r288815,
- ExecutableAllocator uses PageReservation::reserveWithGuardPages / PageReservation::reserve / PageReservation::reserveAndCommitWithGuardPages to reserve memory.
- In ARM64 macOS, we use PageReservation::reserveWithGuardPages.
- PageReservation::reserveWithGuardPages uses OSAllocator::reserveUncommitted.
- OSAllocator::reserveUncommitted used OSAllocator::reserveAndCommit internally before r288815.
- OSAllocator::reserveAndCommit can fail for executable memory.
But after r288815,
- PageReservation::reserveWithGuardPages uses OSAllocator::reserveUncommitted
- OSAllocator::reserveUncommitted now uses OSAllocator::tryReserveUncommitted and crash if it fails.
Thus, r288815 changed the behavior of OSAllocator::reserveUncommitted for executable memory. This is causing a crash when we failed to
allocate JIT memory. And probably, it is happening in SIP-enabled root-installing environment.
In this patch,
- Accepting failure only for executable memory is ugly hack. We should add PageReservation::tryReserveWithGuardPages.
- In PageReservation::tryReserveWithGuardPages we should use OSAllocator::tryReserveUncommitted.
So, this patch reverts the behavior back to pre-r288815 state.
We also fix a bug in tryReserveUncommitted where it handles MAP_FAILED incorrectly. We should not return MAP_FAILED from OSAllocator, instead,
we should return nullptr.
- wtf/OSAllocator.h:
- wtf/PageReservation.h:
(WTF::PageReservation::tryReserve):
(WTF::PageReservation::tryReserveWithGuardPages):
(WTF::PageReservation::tryReserveAndCommitWithGuardPages):
- wtf/posix/OSAllocatorPOSIX.cpp:
(WTF::OSAllocator::tryReserveAndCommit):
(WTF::OSAllocator::tryReserveUncommitted):
(WTF::OSAllocator::reserveAndCommit):
(WTF::tryReserveAndCommit): Deleted.
(WTF::tryReserveUncommitted): Deleted.
- wtf/win/OSAllocatorWin.cpp:
(WTF::OSAllocator::tryReserveUncommitted):
(WTF::OSAllocator::reserveUncommitted):
(WTF::OSAllocator::tryReserveAndCommit):
(WTF::OSAllocator::reserveAndCommit):
- 1:33 AM Changeset in webkit [288869] by
-
- 18 edits2 deletes in trunk
Entirely remove support for -apple-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=234672
Reviewed by Simon Fraser.
.:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/WebKitFeatures.cmake:
LayoutTests/imported/w3c:
- web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
Source/WebCore:
- css/CSSProperties.json:
- css/CSSValueKeywords.in:
Source/WTF:
- wtf/PlatformEnableCocoa.h:
Tools:
- Scripts/webkitperl/FeatureList.pm:
LayoutTests:
- fast/text/trailing-word-detection-expected.txt: Removed.
- fast/text/trailing-word-detection.html: Removed.
- platform/glib/TestExpectations:
- platform/win/TestExpectations:
- platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
Jan 31, 2022:
- 11:44 PM Changeset in webkit [288868] by
-
- 59 edits in trunk/Source
Rename FontCascade::fontMetrics() and RenderStyle::fontMetrics() to fontMetricsOfPrimaryFont()
https://bugs.webkit.org/show_bug.cgi?id=235938
Reviewed by Alan Bujtas.
Source/WebCore:
It's probably good to remind people that when they call this function,
they might not be getting what they might think they're getting.
No new tests because there is no behavior change.
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::equalForLengthResolution):
- display/css/DisplayBoxPainter.cpp:
(WebCore::Display::BoxPainter::paintBoxContent):
- display/css/DisplayStyle.h:
(WebCore::Display::Style::fontMetricsOfPrimaryFont const):
(WebCore::Display::Style::fontMetrics const): Deleted.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createInnerTextStyle):
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::FontProxy::fontMetricsOfPrimaryFont const):
(WebCore::CanvasRenderingContext2DBase::drawTextUnchecked):
(WebCore::CanvasRenderingContext2DBase::measureTextInternal):
(WebCore::CanvasRenderingContext2DBase::textOffset):
(WebCore::CanvasRenderingContext2DBase::FontProxy::fontMetrics const): Deleted.
- html/canvas/CanvasRenderingContext2DBase.h:
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::drawRulers):
(WebCore::InspectorOverlay::drawElementTitle):
(WebCore::expectedSizeForLayoutLabel):
(WebCore::drawLayoutLabel):
- layout/formattingContexts/inline/InlineFormattingQuirks.cpp:
(WebCore::Layout::InlineFormattingQuirks::initialLineHeight const):
- layout/formattingContexts/inline/InlineLevelBox.h:
(WebCore::Layout::m_style):
(WebCore::Layout::InlineLevelBox::preferredLineHeight const):
(WebCore::Layout::InlineLevelBox::primaryfontMetricsOfPrimaryFont const):
(WebCore::Layout::InlineLevelBox::primaryFontMetrics const): Deleted.
- layout/formattingContexts/inline/InlineLineBox.cpp:
(WebCore::Layout::LineBox::logicalRectForTextRun const):
- layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::setVerticalGeometryForLineBreakBox const):
(WebCore::Layout::LineBoxBuilder::setInitialVerticalGeometryForInlineBox const):
- layout/formattingContexts/inline/InlineLineBoxVerticalAligner.cpp:
(WebCore::Layout::LineBoxVerticalAligner::computeLineBoxLogicalHeight const):
(WebCore::Layout::LineBoxVerticalAligner::computeRootInlineBoxVerticalPosition const):
(WebCore::Layout::LineBoxVerticalAligner::alignInlineLevelBoxes const):
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::floatWidthForSimpleText const):
(WebCore::FontCascade::floatWidthForComplexText const):
- platform/graphics/FontCascade.h:
(WebCore::FontCascade::fontMetricsOfPrimaryFont const):
(WebCore::FontCascade::fontMetrics const): Deleted.
- rendering/CaretRectComputation.cpp:
(WebCore::computeCaretRectForEmptyElement):
(WebCore::computeCaretRectForBox):
- rendering/LegacyEllipsisBox.cpp:
(WebCore::LegacyEllipsisBox::paint):
(WebCore::LegacyEllipsisBox::paintMarkupBox):
(WebCore::LegacyEllipsisBox::nodeAtPoint):
- rendering/LegacyInlineBox.cpp:
(WebCore::LegacyInlineBox::logicalHeight const):
- rendering/LegacyInlineFlowBox.cpp:
(WebCore::LegacyInlineFlowBox::addToLine):
(WebCore::placeChildInlineBoxesInBlockDirection):
(WebCore::LegacyInlineFlowBox::placeBoxesInBlockDirection):
- rendering/LegacyLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun):
- rendering/LegacyRootInlineBox.cpp:
(WebCore::LegacyRootInlineBox::lineSnapAdjustment const):
(WebCore::LegacyRootInlineBox::ascentAndDescentForBox const):
(WebCore::LegacyRootInlineBox::verticalPositionForBox):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::baselinePosition const):
(WebCore::RenderBlock::inlineBlockBaseline const):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::adjustInitialLetterPosition):
(WebCore::RenderBlockFlow::firstLineBaseline const):
(WebCore::RenderBlockFlow::inlineBlockBaseline const):
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintReplaced):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::setImageSizeForAltText):
(WebCore::RenderImage::paintReplaced):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::mayAffectLayout const):
(WebCore::RenderInline::baselinePosition const):
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::baselinePosition const):
- rendering/RenderListBox.cpp:
(WebCore::itemOffsetForAlignment):
(WebCore::RenderListBox::itemHeight const):
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::layout):
(WebCore::RenderListMarker::updateContent):
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::updateMargins):
(WebCore::RenderListMarker::relativeMarkerRect):
- rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layoutBlock):
- rendering/TextBoxPainter.cpp:
(WebCore::TextBoxPainter::paintForeground):
(WebCore::TextBoxPainter::paintCompositionUnderline):
(WebCore::TextBoxPainter::calculateDocumentMarkerBounds):
(WebCore::TextBoxPainter::textOriginFromPaintRect const):
- rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintBackgroundDecorations):
(WebCore::TextDecorationPainter::paintForegroundDecorations):
(WebCore::TextDecorationPainter::paintLineThrough):
- rendering/TextPainter.cpp:
(WebCore::TextPainter::paintTextAndEmphasisMarksIfNeeded):
- rendering/line/LineInlineHeaders.h:
(WebCore::requiresLineBoxForContent):
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::axisHeight):
(WebCore::toUserUnits):
- rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::verticalParameters):
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::verticalParameters const):
- rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::verticalParameters const):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::fontMetricsOfPrimaryFont const):
(WebCore::RenderStyle::computeLineHeight const):
(WebCore::RenderStyle::fontMetrics const): Deleted.
- rendering/style/RenderStyle.h:
- rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::positionForPoint):
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::selectionRectForTextFragment const):
(WebCore::SVGInlineTextBox::paintDecorationWithStyle):
(WebCore::SVGInlineTextBox::paintTextWithShadows):
(WebCore::SVGInlineTextBox::calculateBoundaries const):
(WebCore::SVGInlineTextBox::nodeAtPoint):
- rendering/svg/SVGTextLayoutEngineBaseline.cpp:
(WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift const):
(WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift const):
(WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation const):
- rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::SVGTextMetrics):
- rendering/svg/SVGTextQuery.cpp:
(WebCore::calculateGlyphBoundaries):
- rendering/updating/RenderTreeBuilderFirstLetter.cpp:
(WebCore::styleForFirstLetter):
- style/InlineTextBoxStyle.cpp:
(WebCore::visualOverflowForDecorations):
- style/StyleResolveForFontRaw.cpp:
(WebCore::Style::resolveForFontRaw):
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS const):
(WebCore::SVGLengthContext::convertValueFromEXSToUserUnits const):
Source/WebKit:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::dictionaryPopupInfoForRange):
Source/WebKitLegacy/mac:
- WebView/WebImmediateActionController.mm:
(+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
- 9:47 PM Changeset in webkit [288867] by
-
- 5 edits in trunk/Source/WebCore
Fix handling of access key events
https://bugs.webkit.org/show_bug.cgi?id=234147
<rdar://problem/86320218>
Reviewed by David Kilzer.
Improve focus handling for HTMLElement-based elements to ensure accessKey events
are properly dispatched.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press): Ensure correct object is used after 'accessKeyAction'
is invoked.
- dom/EventDispatcher.cpp:
(WebCore::callDefaultEventHandlersInBubblingOrder) Protect element during default
event bubbling.
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::reportValidity): Ensure correct element is
used after focus event.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleAccessKey): Ensure correct object is used after
'accessKeyAction' is invoked.
- 8:32 PM Changeset in webkit [288866] by
-
- 2 edits in trunk/Source/bmalloc
[libpas] get_num_free_bytes_for_each_heap_callback() is called with
argpointing to uninitialized stack memory
<https://webkit.org/b/235931>
<rdar://problem/88303899>
Reviewed by Yusuke Suzuki.
- libpas/src/libpas/pas_all_heaps.c:
(pas_all_heaps_get_num_free_bytes):
- Initialize
resultstack variable to zero.
- 6:57 PM Changeset in webkit [288865] by
-
- 26 edits in trunk
[GPU Process] Pattern should hold SourceImage which can be converted to a NativeImage only when needed
https://bugs.webkit.org/show_bug.cgi?id=232411
<rdar://problem/84998738>
Reviewed by Darin Adler.
Source/WebCore:
Make Pattern hold a SourceImage and add getters to retrieve a NativeImage
and an ImageBuffer. In these getters the SourceImage will either return
the current image source or get one from the other if needed.
- html/canvas/CanvasPattern.cpp:
(WebCore::CanvasPattern::create):
(WebCore::CanvasPattern::CanvasPattern):
- html/canvas/CanvasPattern.h:
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::createPattern):
- inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::buildArrayForCanvasPattern):
- platform/graphics/NativeImage.h:
Make NativeImage a thread-safe RefCounted and make its destruction happen
on the main thread. This is similar to what we do for ImageBuffer. And
the reason for this is the message handler in the GPUProcess may create
NativeImages on the main thread as the SourceImages for the Patterns of
the SetState item. These NativeImages will be deleted in the replaying
thread after applying the SetState item.
- platform/graphics/Pattern.cpp:
(WebCore::Pattern::create):
(WebCore::Pattern::Pattern):
- platform/graphics/Pattern.h:
(WebCore::Pattern::encode const):
(WebCore::Pattern::decode):
Add encoding and decoding mehods for Pattern which will be called from
SetState::encode() and SetState::decode().
- platform/graphics/SourceImage.cpp:
(WebCore::SourceImage::nativeImage const):
(WebCore::SourceImage::imageBuffer const):
(WebCore::SourceImage::size const):
(WebCore::SourceImage::nativeImage): Deleted.
(WebCore::SourceImage::imageBuffer): Deleted.
- platform/graphics/SourceImage.h:
Make SourceImage keep the image source it was created with. Get a temporary
image source if it is different from what is stored in m_imageVariant.
- platform/graphics/cairo/PatternCairo.cpp:
(WebCore::Pattern::createPlatformPattern const):
- platform/graphics/cg/PatternCG.cpp:
(WebCore::Pattern::createPlatformPattern const):
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::SetState::SetState):
(WebCore::DisplayList::SetState::apply):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::SetState::stateChange):
(WebCore::DisplayList::SetState::encode const):
(WebCore::DisplayList::SetState::decode):
(WebCore::DisplayList::SetState::strokePatternParameters const): Deleted.
(WebCore::DisplayList::SetState::fillPatternParameters const): Deleted.
(WebCore::DisplayList::SetState::strokePatternImageIdentifier const): Deleted.
(WebCore::DisplayList::SetState::fillPatternImageIdentifier const): Deleted.
Simplify SetState by deleting the PatternData members. Replace these members
by the strokePattern and fillPattern since these patterns can be encoded
and decoded.
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::applySetStateItem):
- platform/graphics/displaylists/DisplayListResourceHeap.h:
Add the helper LocalResourceHeap::getSourceImage() to be used by
applySetStateItem().
- platform/graphics/filters/software/FETileSoftwareApplier.cpp:
(WebCore::FETileSoftwareApplier::apply const):
- rendering/RenderLayerBacking.cpp:
(WebCore::patternForDescription):
- rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
Source/WebKit:
Add the helpers QualifiedResourceHeap::getSourceImage() and
RemoteResourceCache::cachedSourceImage() which will be used by
RemoteDisplayListRecorder::setState() to replace the
RenderingResourceIdentifier of the pattern's tileImage by an actual
SourceImage.
- GPUProcess/graphics/QualifiedResourceHeap.h:
(WebKit::QualifiedResourceHeap::getSourceImage const):
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::setState):
(WebKit::RemoteDisplayListRecorder::drawFilteredImageBuffer):
(WebKit::RemoteDisplayListRecorder::setStateWithQualifiedIdentifiers): Deleted.
- GPUProcess/graphics/RemoteResourceCache.cpp:
(WebKit::RemoteResourceCache::cachedSourceImage const):
- GPUProcess/graphics/RemoteResourceCache.h:
LayoutTests:
Unskip layout tests for gpu process because they are fixed by this change.
- gpu-process/TestExpectations:
- 6:43 PM Changeset in webkit [288864] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Don't register undo actions in undoManager overridden by WKWebView client
https://bugs.webkit.org/show_bug.cgi?id=235928
<rdar://problem/87192657>
Patch by Matt Gilligan <matthew_gilligan@apple.com> on 2022-01-31
Reviewed by Tim Horton.
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::registerEditCommand):
Use -[WKContentView undoManagerForWebView] rather than -undoManager to prevent registering
actions in an undo manager overridden by a WKWebView subclass. This ensures that all
actions are registered in the same manager. If the client has disabled groupsByEvent on the
overridden undoManager, this prevents an exception from being thrown due to registering
actions outside of an undo group.
- 5:57 PM Changeset in webkit [288863] by
-
- 1 copy in tags/Safari-614.1.1.2
Tag Safari-614.1.1.2.
- 5:56 PM Changeset in webkit [288862] by
-
- 9 edits in branches/safari-614.1.1-branch/Source
Versioning.
WebKit-7614.1.1.2
- 5:30 PM Changeset in webkit [288861] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(288052?): editing/execCommand/paste-as-quotation-disconnected-paragraph-ancestor-crash.html makes subsequent test fail, as DumpRenderTree compares to wrong expected result
https://bugs.webkit.org/show_bug.cgi?id=235733
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations: Disabling test to verify cause of test failures.
- 5:19 PM Changeset in webkit [288860] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Clean up some issues in the 'com.apple.WebKit.adattributiond.sb' sandbox
https://bugs.webkit.org/show_bug.cgi?id=235929
<rdar://88081007>
Patch by Brent Fulgham <Brent Fulgham> on 2022-01-31
Reviewed by Alex Christensen.
Revise a few syntax issues in the sandbox.
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb:
- 5:10 PM Changeset in webkit [288859] by
-
- 3 edits in trunk/Source/WebCore
Add to AXLogger the ability to log only from the specified thread.
https://bugs.webkit.org/show_bug.cgi?id=235843
<rdar://problem/88211205>
Reviewed by Chris Fleizach.
No change in functionality, debugging code.
Determine whether to log messages for the invoking thread based on the
value of a static hardcoded variable. It makes figuring out the flow of
method calls and messages when you can log only from the main thread,
off the main thread, or the combination.
- accessibility/AXLogger.cpp:
(WebCore::shouldLog):
(WebCore::AXLogger::AXLogger):
(WebCore::AXLogger::~AXLogger):
(WebCore::AXLogger::log):
(WebCore::AXLogger::add):
(WebCore::operator<<):
- accessibility/AXLogger.h:
- 4:31 PM Changeset in webkit [288858] by
-
- 1 copy in tags/Safari-613.1.16.1.1
Tag Safari-613.1.16.1.1.
- 4:31 PM Changeset in webkit [288857] by
-
- 1 copy in tags/Safari-613.1.16.0.1
Tag Safari-613.1.16.0.1.
- 4:30 PM Changeset in webkit [288856] by
-
- 2 edits in trunk/Source/JavaScriptCore
[RISCV64] Add remaining MacroAssemblerRISCV64 branching operations
https://bugs.webkit.org/show_bug.cgi?id=235886
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-01-31
Reviewed by Yusuke Suzuki.
Provide MacroAssemblerRISCV64 implementations for the remaining
branching operations. When branching on non-overlow conditions, the
implementations remain pretty trivial. For the overflow condition,
a helper method is provided to cover different-sized operations as well
as operation-specific instruction sequences.
- assembler/MacroAssemblerRISCV64.h:
(JSC::MacroAssemblerRISCV64::branchAdd32):
(JSC::MacroAssemblerRISCV64::branchAdd64):
(JSC::MacroAssemblerRISCV64::branchSub32):
(JSC::MacroAssemblerRISCV64::branchSub64):
(JSC::MacroAssemblerRISCV64::branchMul32):
(JSC::MacroAssemblerRISCV64::branchMul64):
(JSC::MacroAssemblerRISCV64::branchNeg32):
(JSC::MacroAssemblerRISCV64::branchNeg64):
(JSC::MacroAssemblerRISCV64::branchForArithmeticOverflow):
- 4:02 PM Changeset in webkit [288855] by
-
- 2 edits in branches/safari-614.1.2-branch/Source/JavaScriptCore
Cherry-pick r288854. rdar://problem/88299213
Try-reserving Structure heap after reserving all the other heaps including JIT heap
https://bugs.webkit.org/show_bug.cgi?id=235922
Reviewed by Saam Barati.
Structure heap should be reserved after reserving all the other heaps including JIT heap.
- runtime/InitializeThreading.cpp: (JSC::initialize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288854 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:50 PM Changeset in webkit [288854] by
-
- 2 edits in trunk/Source/JavaScriptCore
Try-reserving Structure heap after reserving all the other heaps including JIT heap
https://bugs.webkit.org/show_bug.cgi?id=235922
Reviewed by Saam Barati.
Structure heap should be reserved after reserving all the other heaps including JIT heap.
- runtime/InitializeThreading.cpp:
(JSC::initialize):
- 3:29 PM Changeset in webkit [288853] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288829. rdar://problem/87402815
LineLayout::collectOverflow() should null check m_inlineContent
https://bugs.webkit.org/show_bug.cgi?id=235902
rdar://87402815
Reviewed by Alan Bujtas.
Speculative fix but it can be null.
- layout/integration/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::collectOverflow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:29 PM Changeset in webkit [288852] by
-
- 8 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288652. rdar://problem/87169406
[WebAuthn] We should pass extensions to ASC if possible
https://bugs.webkit.org/show_bug.cgi?id=235533
rdar://87169406
Reviewed by Brent Fulgham.
This patch starts passing WebAuthn extensions to ASC if possible,
in order to support the googleLegacyAppidSupport extension, which
is required to register security keys on google.com. It also starts
passing the attestationPreference option, which was not being passed before.
Tested manually. Previous version of patch contained
TestWebKitAPI.WebAuthenticationPanel.PublicKeyCredentialRequestOptionsASC
and TestWebKitAPI.WebAuthenticationPanel.PublicKeyCredentialCreationOptionsASC,
but were removed due to difficulty softlinking from tests.
- Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
- UIProcess/API/Cocoa/_WKAuthenticationExtensionsClientInputs.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm: (authenticationExtensionsClientInputs):
- UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.h:
- UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.mm:
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: (WebKit::toNSString): (WebKit::toASCExtensions): (WebKit::configureRegistrationRequestContext): (WebKit::configurationAssertionRequestContext):
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
- WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:29 PM Changeset in webkit [288851] by
-
- 5 edits2 adds in branches/safari-613-branch
Cherry-pick r288095. rdar://problem/88286876
[LFC][IFC] ASSERT in InlineContentBreaker::tryBreakingPreviousNonOverflowingRuns (!partialRun->length) when webinspector is open
https://bugs.webkit.org/show_bug.cgi?id=235286
Reviewed by Antti Koivisto.
Source/WebCore:
When the overflowing run is non-breakable (in this case an "inline box end" with padding), we try to find a breakable
previous run in the candidate list. If we find such text run, we try to break it by looking at the applicable CSS properties
(e.g. word-break, overflow-wrap). Now text runs with 1 (and 0) length and no adjacent text runs need special handling
as they can't be broken "within word" or at boundary (they treated as "unbreakable").
Test: fast/text/overflow-wrap-assert-with-zero-width-overflowing-content.html
- layout/formattingContexts/inline/InlineContentBreaker.cpp: (WebCore::Layout::InlineContentBreaker::tryBreakingTextRun const): (WebCore::Layout::InlineContentBreaker::tryBreakingPreviousNonOverflowingRuns const): The trailing run starts at the beginning of the run and ends right before at the last character.
LayoutTests:
- fast/text/overflow-wrap-assert-with-zero-width-overflowing-content-expected.txt: Added.
- fast/text/overflow-wrap-assert-with-zero-width-overflowing-content.html: Added.
- platform/ios/fast/text/basic/015-expected.txt: Progressions.
- platform/mac/fast/text/basic/015-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:17 PM Changeset in webkit [288850] by
-
- 2 edits in branches/safari-613-branch/LayoutTests
Unreviewed test gardening, fix a bad merge (r288843)
- platform/mac-wk2/TestExpectations:
- 3:11 PM Changeset in webkit [288849] by
-
- 4 edits in trunk
Collapsed ranges return zero rects in DocumentContext
https://bugs.webkit.org/show_bug.cgi?id=235844
Reviewed by Tim Horton.
Source/WebKit:
Test: DocumentEditingContext.RectsRequestInContentEditableWithDivBreaks
When getting the DocumentContext for a line, followed by a blank line, the blank link will
be represented by a collapsed range. This is a result of the emitCharacter call from representNodeOffsetZero.
This possibly a bug, but rather than try and fix this issue within TextIterator itself, we are
mitigating this issue by instead of using the collapsed range and the resulting non-existent character rect,
using the caret bounding rect. This gives us a more accurate bounding rect for situations like
this that result in collapsed ranges. And this would cover all other situations that might result in
a collapsed range from TextIterator.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDocumentEditingContext):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
- 3:04 PM Changeset in webkit [288848] by
-
- 2 edits in trunk/Source/WebKit
Web Inspector: [Cocoa] Crash in WebKit::WebInspectorUIProxy::attachmentViewDidChange
https://bugs.webkit.org/show_bug.cgi?id=235842
Reviewed by Timothy Hatcher.
Speculatively fix an occasional crash in WebKit::WebInspectorUIProxy::attachmentViewDidChange by ensuring that
the WebInspectorUIProxy still exists before callingattachmentViewDidChange.
Currently we are sometimes crashing while attempting to
m_objCAdapter.get(), which is the first use of a
member variable inWebInspectorUIProxy::attachmentViewDidChange. This retain pointer should never be able to
not exists, since it storingnilis a valid state. This points to the WebInspectorUIProxy itself no longer
existing. The fix is to check that we actually have aWebInspectorUIProxybefore calling
attachmentViewDidChange. This is also just good practice sinceWebPageProxy::inspector()is also able to
returnnullptrunder certain circumstances, and all other calls to it are guarded to check if the
WebInspectorUIProxy is still around first.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::setInspectorAttachmentView):
- 2:52 PM Changeset in webkit [288847] by
-
- 12 edits in trunk/Source/WebKit
[GPU Process] Remove the resource use counters from the remote resource cache
https://bugs.webkit.org/show_bug.cgi?id=235636
Reviewed by Simon Fraser.
The display list items and the resource management messages are both
communicated from the WebProcess and the GPUProcess through the stream
connection. The resources will be sent to the GPUProcess, consumed by
the display items and then released in the right order. So there is no
need anymore for the resource use counters.
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::setStateWithQualifiedIdentifiers):
(WebKit::RemoteDisplayListRecorder::clipToImageBufferWithQualifiedIdentifier):
(WebKit::RemoteDisplayListRecorder::drawGlyphsWithQualifiedIdentifier):
(WebKit::RemoteDisplayListRecorder::drawImageBufferWithQualifiedIdentifier):
(WebKit::RemoteDisplayListRecorder::drawNativeImageWithQualifiedIdentifier):
(WebKit::RemoteDisplayListRecorder::drawPatternWithQualifiedIdentifier):
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::releaseRemoteResource):
(WebKit::RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier):
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- GPUProcess/graphics/RemoteResourceCache.cpp:
(WebKit::RemoteResourceCache::cacheImageBuffer):
(WebKit::RemoteResourceCache::cacheNativeImage):
(WebKit::RemoteResourceCache::cacheFont):
(WebKit::RemoteResourceCache::releaseRemoteResource):
(WebKit::RemoteResourceCache::ensureResourceUseCounter): Deleted.
(WebKit::RemoteResourceCache::maybeRemoveResource): Deleted.
(WebKit::RemoteResourceCache::recordResourceUse): Deleted.
(WebKit::RemoteResourceCache::updateHasActiveDrawables): Deleted.
- GPUProcess/graphics/RemoteResourceCache.h:
(WebKit::RemoteResourceCache::hasActiveDrawables const):
(): Deleted.
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordResourceUse):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::releaseRemoteResource):
(WebKit::RemoteRenderingBackendProxy::recordNativeImageUse): Deleted.
(WebKit::RemoteRenderingBackendProxy::recordFontUse): Deleted.
(WebKit::RemoteRenderingBackendProxy::recordImageBufferUse): Deleted.
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::cacheImageBuffer):
(WebKit::RemoteResourceCacheProxy::cachedImageBuffer const):
(WebKit::RemoteResourceCacheProxy::releaseImageBuffer):
(WebKit::RemoteResourceCacheProxy::recordImageBufferUse):
(WebKit::RemoteResourceCacheProxy::recordNativeImageUse):
(WebKit::RemoteResourceCacheProxy::recordFontUse):
(WebKit::RemoteResourceCacheProxy::releaseNativeImage):
(WebKit::RemoteResourceCacheProxy::clearNativeImageMap):
(WebKit::RemoteResourceCacheProxy::releaseAllRemoteFonts):
(WebKit::RemoteResourceCacheProxy::finalizeRenderingUpdateForFonts):
(WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed):
- WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
- 2:36 PM Changeset in webkit [288846] by
-
- 2 edits in trunk/LayoutTests
WindowServer returned not alive with context:,unresponsive work processor(s)
rdar://problem/86037417
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Temporarily disabling this test.
- 2:24 PM Changeset in webkit [288845] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
Revert "WindowServer returned not alive with context:,unresponsive work processor(s)"
This reverts commit ce81b19378b9a6f103bd3b4a8d126f9a10e49db1.
- 2:13 PM Changeset in webkit [288844] by
-
- 2 edits in trunk/Source/WebKit
[macOS][WP] Add required syscall
https://bugs.webkit.org/show_bug.cgi?id=235901
<rdar://88241768>
Reviewed by Brent Fulgham.
- WebProcess/com.apple.WebProcess.sb.in:
- 2:06 PM Changeset in webkit [288843] by
-
- 2 edits in branches/safari-613-branch/LayoutTests
WindowServer returned not alive with context:,unresponsive work processor(s)
rdar://86037417
Unreviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2022-01-25
- platform/mac-wk2/TestExpectations: Temporarily disabling test.
- 2:02 PM Changeset in webkit [288842] by
-
- 2 edits in branches/safari-613.1.16.0-branch/Source/WebCore
Cherry-pick r288829. rdar://problem/87402815
LineLayout::collectOverflow() should null check m_inlineContent
https://bugs.webkit.org/show_bug.cgi?id=235902
rdar://87402815
Reviewed by Alan Bujtas.
Speculative fix but it can be null.
- layout/integration/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::collectOverflow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:01 PM Changeset in webkit [288841] by
-
- 2 edits in branches/safari-613.1.16.1-branch/Source/WebCore
Cherry-pick r288829. rdar://problem/87402815
LineLayout::collectOverflow() should null check m_inlineContent
https://bugs.webkit.org/show_bug.cgi?id=235902
rdar://87402815
Reviewed by Alan Bujtas.
Speculative fix but it can be null.
- layout/integration/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::collectOverflow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:37 PM Changeset in webkit [288840] by
-
- 8 edits2 deletes in trunk
Delete runtime flag for subresource integrity
https://bugs.webkit.org/show_bug.cgi?id=235876
Reviewed by Darin Adler.
Source/WebCore:
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestClassicScript):
(WebCore::ScriptElement::requestModuleScript):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
- html/HTMLLinkElement.idl:
- html/HTMLScriptElement.idl:
Source/WTF:
Deleted the runtime flag.
- Scripts/Preferences/WebPreferences.yaml:
LayoutTests:
Deleted the test which was testing the behavior of WebKit when subresource integrity is disabled.
- http/tests/subresource-integrity/sri-disabled-with-setting-expected.txt: Removed.
- http/tests/subresource-integrity/sri-disabled-with-setting.html: Removed.
- 1:17 PM Changeset in webkit [288839] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.3
- 1:15 PM Changeset in webkit [288838] by
-
- 2 edits in trunk/Source/JavaScriptCore
[RISCV64] Fix offlineasm lowering of arithmetic branch instructions with address destinations
https://bugs.webkit.org/show_bug.cgi?id=235887
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-01-31
Reviewed by Yusuke Suzuki.
Fix lowering of baddi* and bsubi* instructions in the riscv64 offlineasm
backend. Node.riscCloneWithOperandsLowered() doesn't do the job properly
when the result of the arithmetic operation has to be stored back into
memory. In that case, right now these instructions are lowered into a
sequence that loads from memory, performs the arithmetic operation,
sets up the branch and only then stores the result back into memory,
which means the result never gets written back if the branch is taken.
Most prominently this breaks the execution counter through which JIT
entry is decided.
The riscv64LowerMisplacedAddresses() pass is specialized to cover
baddi* and bsubi* instructions whose destination operand is an address.
A manual sequence is constructed, loading, adding/subtracting, storing
and only then branching on the given condition.
- offlineasm/riscv64.rb:
- 1:01 PM Changeset in webkit [288837] by
-
- 1 copy in branches/safari-614.1.2-branch
New branch.
- 12:51 PM Changeset in webkit [288836] by
-
- 3 edits in trunk/Tools
[EWS] Revert pull request when retrying
https://bugs.webkit.org/show_bug.cgi?id=235825
<rdar://problem/88187688>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(UnApplyPatch.doStepIf): Only run if 'patch_id' is defined.
(UnApplyPatch.hideStepIf): Hide step if we aren't doing it.
(RevertPullRequestChanges): Clean checkout and checkout base hash if
'github.base.sha' is define.
(CompileWebKit.evaluateCommand): Add RevertPullRequestChanges step.
(RunJavaScriptCoreTests.evaluateCommand): Ditto.
(ReRunWebKitTests.evaluateCommand): Ditto.
(RunWebKitTestsRedTree.evaluateCommand): Ditto.
(RunWebKitTestsRepeatFailuresRedTree.evaluateCommand): Ditto.
(ReRunAPITests.evaluateCommand): Ditto.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/246601@main
- 12:43 PM Changeset in webkit [288835] by
-
- 2 edits in trunk/Tools
[Mac] Fix TestWebKitAPI build
https://bugs.webkit.org/show_bug.cgi?id=235906
Reviewed by Tim Horton.
/usr/include/cups/cups.h has this:
# define UniversalPrint 1
And Source/ThirdParty/gtest/include/gtest/gtest-printers.h has this:
void UniversalPrint(const T& value, ::std::ostream* os);
- TestWebKitAPI/config.h:
- 12:40 PM Changeset in webkit [288834] by
-
- 5 edits2 adds in branches/safari-613.1.16.1-branch
Cherry-pick r288095. rdar://problem/88286876
[LFC][IFC] ASSERT in InlineContentBreaker::tryBreakingPreviousNonOverflowingRuns (!partialRun->length) when webinspector is open
https://bugs.webkit.org/show_bug.cgi?id=235286
Reviewed by Antti Koivisto.
Source/WebCore:
When the overflowing run is non-breakable (in this case an "inline box end" with padding), we try to find a breakable
previous run in the candidate list. If we find such text run, we try to break it by looking at the applicable CSS properties
(e.g. word-break, overflow-wrap). Now text runs with 1 (and 0) length and no adjacent text runs need special handling
as they can't be broken "within word" or at boundary (they treated as "unbreakable").
Test: fast/text/overflow-wrap-assert-with-zero-width-overflowing-content.html
- layout/formattingContexts/inline/InlineContentBreaker.cpp: (WebCore::Layout::InlineContentBreaker::tryBreakingTextRun const): (WebCore::Layout::InlineContentBreaker::tryBreakingPreviousNonOverflowingRuns const): The trailing run starts at the beginning of the run and ends right before at the last character.
LayoutTests:
- fast/text/overflow-wrap-assert-with-zero-width-overflowing-content-expected.txt: Added.
- fast/text/overflow-wrap-assert-with-zero-width-overflowing-content.html: Added.
- platform/ios/fast/text/basic/015-expected.txt: Progressions.
- platform/mac/fast/text/basic/015-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:39 PM Changeset in webkit [288833] by
-
- 8 edits in branches/safari-613.1.16.1-branch/Source/WebKit
Cherry-pick r288652. rdar://problem/87169406
[WebAuthn] We should pass extensions to ASC if possible
https://bugs.webkit.org/show_bug.cgi?id=235533
rdar://87169406
Reviewed by Brent Fulgham.
This patch starts passing WebAuthn extensions to ASC if possible,
in order to support the googleLegacyAppidSupport extension, which
is required to register security keys on google.com. It also starts
passing the attestationPreference option, which was not being passed before.
Tested manually. Previous version of patch contained
TestWebKitAPI.WebAuthenticationPanel.PublicKeyCredentialRequestOptionsASC
and TestWebKitAPI.WebAuthenticationPanel.PublicKeyCredentialCreationOptionsASC,
but were removed due to difficulty softlinking from tests.
- Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
- UIProcess/API/Cocoa/_WKAuthenticationExtensionsClientInputs.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm: (authenticationExtensionsClientInputs):
- UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.h:
- UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.mm:
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: (WebKit::toNSString): (WebKit::toASCExtensions): (WebKit::configureRegistrationRequestContext): (WebKit::configurationAssertionRequestContext):
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
- WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:39 PM Changeset in webkit [288832] by
-
- 5 edits2 adds in branches/safari-613.1.16.0-branch
Cherry-pick r288095. rdar://problem/88286876
[LFC][IFC] ASSERT in InlineContentBreaker::tryBreakingPreviousNonOverflowingRuns (!partialRun->length) when webinspector is open
https://bugs.webkit.org/show_bug.cgi?id=235286
Reviewed by Antti Koivisto.
Source/WebCore:
When the overflowing run is non-breakable (in this case an "inline box end" with padding), we try to find a breakable
previous run in the candidate list. If we find such text run, we try to break it by looking at the applicable CSS properties
(e.g. word-break, overflow-wrap). Now text runs with 1 (and 0) length and no adjacent text runs need special handling
as they can't be broken "within word" or at boundary (they treated as "unbreakable").
Test: fast/text/overflow-wrap-assert-with-zero-width-overflowing-content.html
- layout/formattingContexts/inline/InlineContentBreaker.cpp: (WebCore::Layout::InlineContentBreaker::tryBreakingTextRun const): (WebCore::Layout::InlineContentBreaker::tryBreakingPreviousNonOverflowingRuns const): The trailing run starts at the beginning of the run and ends right before at the last character.
LayoutTests:
- fast/text/overflow-wrap-assert-with-zero-width-overflowing-content-expected.txt: Added.
- fast/text/overflow-wrap-assert-with-zero-width-overflowing-content.html: Added.
- platform/ios/fast/text/basic/015-expected.txt: Progressions.
- platform/mac/fast/text/basic/015-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:32 PM Changeset in webkit [288831] by
-
- 4 edits in trunk/Source
[iOS] SharePlay is shown prominently for system-provided Share Sheets
https://bugs.webkit.org/show_bug.cgi?id=235895
rdar://88268450
Reviewed by Wenson Hsieh.
Source/WebKit:
Content shared using the Web Share API should not display a SharePlay action.
- UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithShareDataArray:inRect:]):
Use
-[UIActivityViewController setExcludedActivityTypes:]to ensure
a SharePlay action is not displayed.
Source/WTF:
- wtf/PlatformHave.h:
- 12:31 PM Changeset in webkit [288830] by
-
- 9 edits in branches/safari-613.1.16.1-branch/Source
Versioning.
WebKit-7613.1.16.1.1
- 12:29 PM Changeset in webkit [288829] by
-
- 2 edits in trunk/Source/WebCore
LineLayout::collectOverflow() should null check m_inlineContent
https://bugs.webkit.org/show_bug.cgi?id=235902
rdar://87402815
Reviewed by Alan Bujtas.
Speculative fix but it can be null.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::collectOverflow):
- 12:29 PM Changeset in webkit [288828] by
-
- 9 edits in branches/safari-613.1.16.0-branch/Source
Versioning.
WebKit-7613.1.16.0.1
- 12:08 PM Changeset in webkit [288827] by
-
- 3 edits2 adds in trunk
Source/WebCore:
Changed playbackRate and defaultPlaybackRate from unrestricted double
to double.
https://bugs.webkit.org/show_bug.cgi?id=235174
rdar://problem/87815745
Patch by Takeshi Sone <takeshi.sone@gmail.com> on 2022-01-31
Reviewed by Eric Carlson.
Test: media/video-playbackrate-undefined.html
- html/HTMLMediaElement.idl:
LayoutTests:
Added a test to verify that setting undefined to video.playbackRate
raises an exception.
https://bugs.webkit.org/show_bug.cgi?id=235174
rdar://problem/87815745
Patch by Takeshi Sone <takeshi.sone@gmail.com> on 2022-01-31
Reviewed by Eric Carlson.
- media/video-playbackrate-undefined-expected.txt: Added.
- media/video-playbackrate-undefined.html: Added.
- 11:51 AM Changeset in webkit [288826] by
-
- 3 edits in trunk/Source/WebKit
[iOS][WP] Restrict image decoders
https://bugs.webkit.org/show_bug.cgi?id=234175
<rdar://problem/86650455>
Unreviewed, addressing additional review comments.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- 11:36 AM Changeset in webkit [288825] by
-
- 3 edits in trunk/Source/WebKit
[WP] Remove PostScript conversion code
https://bugs.webkit.org/show_bug.cgi?id=235892
<rdar://88172449>
Reviewed by Brent Fulgham.
The WebContent process no longer has access to the PostScript conversion service, so there is no need to keep this code.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::streamDidFinishLoading):
(WebKit::PDFPlugin::manualStreamDidFinishLoading):
(WebKit::PDFPlugin::convertPostScriptDataIfNeeded): Deleted.
- 11:29 AM Changeset in webkit [288824] by
-
- 1 copy in branches/safari-613.1.16.3-branch
New branch.
- 11:29 AM Changeset in webkit [288823] by
-
- 1 copy in branches/safari-613.1.16.2-branch
New branch.
- 11:29 AM Changeset in webkit [288822] by
-
- 1 copy in branches/safari-613.1.16.1-branch
New branch.
- 11:29 AM Changeset in webkit [288821] by
-
- 1 copy in branches/safari-613.1.16.0-branch
New branch.
- 11:04 AM Changeset in webkit [288820] by
-
- 37 edits1 delete in trunk
Fix handling of module script errors in WebCore
https://bugs.webkit.org/show_bug.cgi?id=218284
Patch by Asumu Takikawa <asumu@igalia.com> on 2022-01-31
Reviewed by Yusuke Suzuki.
LayoutTests/imported/w3c:
Set test expectations to PASS for fixed behavior in module tests.
For import assertion tests, set different error behavior from
load errors getting dispatched.
- web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/charset-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/content-type-checking-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/cors-crossorigin-requests-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/integrity-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/load-error-events-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion-error-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/charset-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/cors-crossorigin-requests-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/integrity-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/load-error-events-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/module-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/module/specifier-error-expected.txt:
Source/WebCore:
According to the HTML spec, script fetch errors get dispatched to the
script (with no error value), but load errors should get reported to
the global object and dispatched with an error value included.
This patch implements that behavior for module scripts.
In addition, reported errors from module scripts are never expected to
be muted. To implement this, we add a fromModule flag to suppress the
error muting in canIncludeErrorDetails.
- bindings/js/JSDOMExceptionHandling.cpp:
(WebCore::reportException):
- bindings/js/JSDOMExceptionHandling.h:
- bindings/js/ModuleFetchFailureKind.h:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::setupModuleScriptHandlers):
(WebCore::ScriptController::callInWorld):
(WebCore::ScriptController::reportExceptionFromScriptError):
- bindings/js/ScriptController.h:
- bindings/js/ScriptModuleLoader.cpp:
(WebCore::rejectWithFetchError):
(WebCore::ScriptModuleLoader::fetch):
(WebCore::rejectPromise):
(WebCore::ScriptModuleLoader::notifyFinished):
- dom/LoadableClassicScript.cpp:
(WebCore::LoadableClassicScript::error const):
(WebCore::LoadableClassicScript::notifyFinished):
- dom/LoadableScript.h:
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeScriptAndDispatchEvent):
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::canIncludeErrorDetails):
(WebCore::ScriptExecutionContext::reportException):
(WebCore::ScriptExecutionContext::dispatchErrorEvent):
- dom/ScriptExecutionContext.h:
- workers/WorkerOrWorkletScriptController.cpp:
(WebCore::WorkerOrWorkletScriptController::loadModuleSynchronously):
(WebCore::WorkerOrWorkletScriptController::loadAndEvaluateModule):
LayoutTests:
Adjust tests expectations to match fixed script loading behvior.
Also add DumpJSConsoleLogInStdErr for flaky test (see bug 182177).
Changed a JS DOM test to match spec behavior.
- TestExpectations:
- js/dom/modules/module-incorrect-relative-specifier-expected.txt:
- js/dom/modules/module-incorrect-relative-specifier.html:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-expected.txt: Removed.
- 10:11 AM Changeset in webkit [288819] by
-
- 1 copy in tags/Safari-614.1.1.1
Tag Safari-614.1.1.1.
- 10:05 AM Changeset in webkit [288818] by
-
- 9 edits in branches/safari-614.1.1-branch/Source
Versioning.
WebKit-7614.1.1.1
- 9:31 AM Changeset in webkit [288817] by
-
- 10 edits in trunk/Source
[iOS][WP] Restrict image decoders
https://bugs.webkit.org/show_bug.cgi?id=234175
Reviewed by Brent Fulgham.
Source/WebCore:
Enable restriced decoding for images.
- platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::createImageSourceOptions):
Source/WebCore/PAL:
Include WebKitAdditions soft link files.
- pal/cf/VideoToolboxSoftLink.cpp:
- pal/cf/VideoToolboxSoftLink.h:
Source/WebKit:
Restrict image decoders in order to enable further sandbox strengthening.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 8:55 AM Changeset in webkit [288816] by
-
- 11 edits in trunk
[WebAuthn] Provide SPI to export/import local credentials
https://bugs.webkit.org/show_bug.cgi?id=234112
rdar://84822000
Reviewed by Brent Fulgham.
Source/WebCore:
This change adds SPI to _WKWebAuthenticationPanel to provide the ability
to import / export local credentials. Constants are used during serialization
as keys.
- Modules/webauthn/WebAuthenticationConstants.h: constants for credential serialization
Source/WebKit:
Covered by new API tests.
This patch adds new SPI to _WKWebAuthenticationPanel.h to import and export local
webauthn credentials. CBOR is used for serialization. WKErrors are used to differentiate
between malformed vs duplicate keys during import.
- UIProcess/API/Cocoa/WKError.h:
- UIProcess/API/Cocoa/WKError.mm:
(localizedDescriptionForErrorCode):
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(+[_WKWebAuthenticationPanel importLocalAuthenticatorCredential:error:]):
(+[_WKWebAuthenticationPanel exportLocalAuthenticatorCredentialWithID:error:]):
Tools:
Add tests for SPI to import / export local webauthn credentials.
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST): New tests for import/export
- 8:05 AM Changeset in webkit [288815] by
-
- 108 edits3 copies2 adds2 deletes in trunk/Source
Reland StructureID overhaul
https://bugs.webkit.org/show_bug.cgi?id=235720
Reviewed by Yusuke Suzuki.
Changes since revert:
Source/JavaScriptCore:
Have StructureAlignedMemoryAllocator keep halving the size of VA
pool it will allocate from until it successfully reserves the
address space.
- 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/GetByIdMetadata.h:
(JSC::GetByIdModeMetadata::GetByIdModeMetadata):
(JSC::GetByIdModeMetadata::clearToDefaultModeWithoutCache):
- bytecode/GetByStatus.cpp:
(JSC::GetByStatus::computeFromLLInt):
- bytecode/InlineAccess.cpp:
(JSC::InlineAccess::rewireStubAsJumpInAccess):
(JSC::InlineAccess::resetStubAsJumpInAccess):
- bytecode/InternalFunctionAllocationProfile.h:
(JSC::InternalFunctionAllocationProfile::offsetOfStructureID):
(JSC::InternalFunctionAllocationProfile::structure):
(JSC::InternalFunctionAllocationProfile::clear):
(JSC::InternalFunctionAllocationProfile::visitAggregate):
(JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase):
(JSC::InternalFunctionAllocationProfile::offsetOfStructure): 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/SpeculatedType.cpp:
(JSC::speculationFromCell):
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::initGetByIdSelf):
(JSC::StructureStubInfo::initPutByIdReplace):
(JSC::StructureStubInfo::initInByIdSelf):
(JSC::StructureStubInfo::addAccessCase):
(JSC::StructureStubInfo::reset):
- bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::inlineAccessBaseStructure):
(JSC::StructureStubInfo::offsetOfInlineAccessBaseStructureID):
(JSC::StructureStubInfo::offsetOfInlineAccessBaseStructure): 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:
(JSC::AbstractSlotVisitor::append):
(JSC::AbstractSlotVisitor::appendHidden):
- heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::runEndPhase):
- heap/Heap.h:
(JSC::Heap::structureIDTable): Deleted.
- heap/IsoAlignedMemoryAllocator.cpp:
(JSC::IsoAlignedMemoryAllocator::IsoAlignedMemoryAllocator):
(JSC::IsoAlignedMemoryAllocator::~IsoAlignedMemoryAllocator):
(JSC::IsoAlignedMemoryAllocator::tryMallocBlock):
(JSC::IsoAlignedMemoryAllocator::freeBlock):
(JSC::IsoAlignedMemoryAllocator::commitBlock):
(JSC::IsoAlignedMemoryAllocator::decommitBlock):
(JSC::IsoAlignedMemoryAllocator::tryAllocateAlignedMemory): Deleted.
(JSC::IsoAlignedMemoryAllocator::freeAlignedMemory): Deleted.
- heap/IsoAlignedMemoryAllocator.h:
- heap/IsoMemoryAllocatorBase.cpp: Copied from Source/JavaScriptCore/heap/IsoAlignedMemoryAllocator.cpp.
(JSC::IsoMemoryAllocatorBase::IsoMemoryAllocatorBase):
(JSC::IsoMemoryAllocatorBase::~IsoMemoryAllocatorBase):
(JSC::IsoMemoryAllocatorBase::releaseMemoryFromSubclassDestructor):
(JSC::IsoMemoryAllocatorBase::tryAllocateAlignedMemory):
(JSC::IsoMemoryAllocatorBase::freeAlignedMemory):
- heap/IsoMemoryAllocatorBase.h: Copied from Source/JavaScriptCore/heap/IsoAlignedMemoryAllocator.h.
- heap/IsoSubspace.cpp:
(JSC::IsoSubspace::IsoSubspace):
(JSC::IsoSubspace::tryAllocateFromLowerTier):
- heap/IsoSubspace.h:
- heap/PreciseAllocation.cpp:
(JSC::PreciseAllocation::tryCreateForLowerTier):
(JSC::PreciseAllocation::createForLowerTier): Deleted.
- heap/PreciseAllocation.h:
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::appendJSCellOrAuxiliary):
- heap/SlotVisitor.h:
- heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::append):
(JSC::SlotVisitor::appendHidden):
- heap/StructureAlignedMemoryAllocator.cpp: Added.
(JSC::StructureAlignedMemoryAllocator::StructureAlignedMemoryAllocator):
(JSC::StructureAlignedMemoryAllocator::~StructureAlignedMemoryAllocator):
(JSC::StructureAlignedMemoryAllocator::dump const):
(JSC::StructureAlignedMemoryAllocator::tryAllocateMemory):
(JSC::StructureAlignedMemoryAllocator::freeMemory):
(JSC::StructureAlignedMemoryAllocator::tryReallocateMemory):
(JSC::StructureMemoryManager::StructureMemoryManager):
(JSC::StructureMemoryManager::tryMallocStructureBlock):
(JSC::StructureMemoryManager::freeStructureBlock):
(JSC::StructureAlignedMemoryAllocator::initializeStructureAddressSpace):
(JSC::StructureAlignedMemoryAllocator::tryMallocBlock):
(JSC::StructureAlignedMemoryAllocator::freeBlock):
(JSC::StructureAlignedMemoryAllocator::commitBlock):
(JSC::StructureAlignedMemoryAllocator::decommitBlock):
- heap/StructureAlignedMemoryAllocator.h: Copied from Source/JavaScriptCore/heap/IsoAlignedMemoryAllocator.h.
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):
(JSC::AssemblyHelpers::emitNonNullDecodeStructureID):
(JSC::AssemblyHelpers::emitLoadStructure):
(JSC::AssemblyHelpers::emitLoadPrototype):
(JSC::AssemblyHelpers::emitRandomThunk):
(JSC::AssemblyHelpers::emitConvertValueToBoolean):
(JSC::AssemblyHelpers::branchIfValue):
- 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: Added.
(JSC::StructureID::nuke const):
(JSC::StructureID::isNuked const):
(JSC::StructureID::decontaminate const):
(JSC::StructureID::operator bool const):
(JSC::StructureID::operator== const):
(JSC::StructureID::operator!= const):
(JSC::StructureID::bits const):
(JSC::StructureID::StructureID):
(JSC::StructureID::isHashTableDeletedValue const):
(JSC::StructureID::decode const):
(JSC::StructureID::encode):
(JSC::StructureIDHash::hash):
(JSC::StructureIDHash::equal):
- runtime/StructureIDBlob.h:
- runtime/StructureIDTable.cpp: Removed.
- runtime/StructureIDTable.h: Removed.
- 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): Deleted.
(JSC::VM::tryGetStructure): Deleted.
- runtime/WriteBarrier.h:
(JSC::WriteBarrierStructureID::WriteBarrierStructureID):
(JSC::WriteBarrierStructureID::get const):
(JSC::WriteBarrierStructureID::operator* const):
(JSC::WriteBarrierStructureID::operator-> const):
(JSC::WriteBarrierStructureID::clear):
(JSC::WriteBarrierStructureID::operator bool const):
(JSC::WriteBarrierStructureID::operator! const):
(JSC::WriteBarrierStructureID::setWithoutWriteBarrier):
(JSC::WriteBarrierStructureID::unvalidatedGet const):
(JSC::WriteBarrierStructureID::value const):
- runtime/WriteBarrierInlines.h:
(JSC::WriteBarrierStructureID::set):
(JSC::WriteBarrierStructureID::setMayBeNull):
(JSC::WriteBarrierStructureID::setEarlyValue):
- 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:
Add a try version of reserveUncommitted and reserveAndCommit
so tryReserveUncommitted can call them if needed.
- wtf/OSAllocator.h:
- wtf/posix/OSAllocatorPOSIX.cpp:
(WTF::tryReserveAndCommit):
(WTF::tryReserveUncommitted):
(WTF::OSAllocator::reserveUncommitted):
(WTF::OSAllocator::tryReserveUncommittedAligned):
(WTF::OSAllocator::reserveAndCommit):
- wtf/win/OSAllocatorWin.cpp:
(WTF::OSAllocator::tryReserveUncommittedAligned):
- 7:14 AM Changeset in webkit [288814] by
-
- 7 edits1 copy2 moves1 add in trunk/Tools
Support additional WPEToolingBackend types
https://bugs.webkit.org/show_bug.cgi?id=235745
Reviewed by Adrian Perez de Castro.
Split up code specific to the fdo backend to allow for additional WPE backend types to be
used. Add some platform defines based on the underlying backend.
This is a precursor to landing a PlayStation variant.
- wpe/backends/CMakeLists.txt:
- wpe/backends/HeadlessViewBackend.cpp:
(WPEToolingBackends::HeadlessInstance::singleton): Deleted.
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): Deleted.
(WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend): Deleted.
(WPEToolingBackends::HeadlessViewBackend::backend const): Deleted.
(WPEToolingBackends::HeadlessViewBackend::snapshot): Deleted.
(WPEToolingBackends::HeadlessViewBackend::updateSnapshot): Deleted.
(WPEToolingBackends::HeadlessViewBackend::vsync): Deleted.
- wpe/backends/HeadlessViewBackend.h:
- wpe/backends/PlatformWPE.cmake:
- wpe/backends/ViewBackend.cpp:
(WPEToolingBackends::ViewBackend::ViewBackend):
- wpe/backends/ViewBackend.h:
- wpe/backends/fdo/HeadlessViewBackendFdo.cpp: Copied from Tools/wpe/backends/HeadlessViewBackend.cpp.
(WPEToolingBackends::HeadlessInstance::singleton):
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::backend const):
(WPEToolingBackends::HeadlessViewBackend::snapshot):
(WPEToolingBackends::HeadlessViewBackend::updateSnapshot):
(WPEToolingBackends::HeadlessViewBackend::vsync):
- wpe/backends/fdo/WindowViewBackend.cpp: Renamed from Tools/wpe/backends/WindowViewBackend.cpp.
- wpe/backends/fdo/WindowViewBackend.h: Renamed from Tools/wpe/backends/WindowViewBackend.h.
- 6:56 AM Changeset in webkit [288813] by
-
- 12 edits in trunk
[CSS Container Queries] Check for query containers when matching rules
https://bugs.webkit.org/show_bug.cgi?id=235881
Reviewed by Antoine Quint.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt:
Source/WebCore:
Skip rules inside container queries when there are no container ancestors.
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::Style::ElementRuleCollector::containerQueryMatches):
Add the matching function.
This patch doesn't yet do any actual container query matching, it just checks
if we are inside a query container.
- style/ElementRuleCollector.h:
- style/RuleSet.h:
(WebCore::Style::RuleSet::containerQueryFor const):
- style/SelectorMatchingState.h:
Add the container stack.
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::popParent):
(WebCore::Style::TreeResolver::resolveComposedTree):
(WebCore::Style::TreeResolver::updateQueryContainer):
Maintain the container stack.
- style/StyleTreeResolver.h:
LayoutTests:
- 6:16 AM Changeset in webkit [288812] by
-
- 3 edits in trunk/Source/WebCore
[GTK][a11y] WTR: use AXMenuItemSelected for menu item selection change with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235890
Reviewed by Adrian Perez de Castro.
ATSPI uses selection-changed signal for both combo box menus and list boxes, but layout tests expect then to be
different events AXMenuItemSelected and AXSelectedChildrenChanged.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::selectionChanged): Call notifyMenuSelectionChanged() for menus.
(WebCore::AccessibilityAtspi::notifyMenuSelectionChanged const): Emit AXMenuItemSelected.
- accessibility/atspi/AccessibilityAtspi.h:
- 5:29 AM Changeset in webkit [288811] by
-
- 2 edits in trunk/Tools/CISupport/ews-build
[ews] Cleanup code by removing patchFailedToBuild and patchFailedTests properties
https://bugs.webkit.org/show_bug.cgi?id=235860
Reviewed by Ryan Haddad.
Cleanup code by removing patchFailedToBuild and patchFailedTests properties. Those were added in very early days of ews bringup, when corresponding steps (e.g.: UnApplyPatchIfRequired) were listed statically in factories.py. Later on we started invoking steps dynamically using addStepsAfterCurrentStep and UnApplyPatchIfRequired is no longer called in factories.py. We can just remove all these patchFailedToBuild and patchFailedTests properties logic.
Also rename UnApplyPatchIfRequired to UnApplyPatch since this step is run only when it is required
- Tools/CISupport/ews-build/steps.py:
(UnApplyPatchIfRequired):
(CompileWebKit.evaluateCommand):
(RunJavaScriptCoreTests.evaluateCommand):
(ReRunWebKitTests.evaluateCommand):
(RunWebKitTestsRedTree.evaluateCommand):
(RunWebKitTestsRepeatFailuresRedTree.evaluateCommand):
(ReRunAPITests.evaluateCommand):
(UnApplyPatchIfRequired.doStepIf): Deleted.
(UnApplyPatchIfRequired.hideStepIf): Deleted.
(CompileWebKitWithoutPatch.doStepIf): Deleted.
(CompileWebKitWithoutPatch.hideStepIf): Deleted.
- Tools/CISupport/ews-build/steps_unittest.py: Updated unit-tests.
Canonical link: https://commits.webkit.org/246587@main
- 4:46 AM Changeset in webkit [288810] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] No longer updating due to expired GPG key
https://bugs.webkit.org/show_bug.cgi?id=235869
Patch by Philippe Normand <pnormand@igalia.com> on 2022-01-31
Reviewed by Adrian Perez de Castro.
Manually synchronize the SDK GPG key in case our local copy is detected as expired.
This patch includes a drive-by fix regarding toolchains updates. Those were always
regenerated when updating the SDK, because the zip path was assumed to be a host path,
whereas it is actually a path in the sandbox.
- flatpak/flatpakutils.py:
(run_sanitized):
(FlatpakObject.flatpak):
(FlatpakObject.flatpak_update):
(FlatpakPackage.install):
(WebkitFlatpak._reset_repository):
(WebkitFlatpak.host_path_to_sandbox_path):
(WebkitFlatpak.sandbox_path_to_host_path):
(WebkitFlatpak.main):
(WebkitFlatpak.check_toolchains_generated):
(FlatpakPackage.update): Deleted.
- 4:16 AM WebKitGTK/2.34.x edited by
- (diff)
- 4:13 AM Changeset in webkit [288809] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r288644): [GTK4] Criticals when using pinch zoom
https://bugs.webkit.org/show_bug.cgi?id=235883
Reviewed by Carlos Garcia Campos.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseZoomBegin):
Only cancel the click gesture on GTK3. We don't use g_object_set_data() on GTK4.
- 2:56 AM Changeset in webkit [288808] by
-
- 7 edits in trunk
[GTK][a11y] Add support for password fields to ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235778
Reviewed by Adrian Perez de Castro.
Source/WebCore:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::postTextStateChangeNotification): Do not return early for password entries.
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::effectiveRole const): Return PasswordText role for password fields.
(WebCore::AccessibilityObjectAtspi::effectiveRoleName const): Ditto.
(WebCore::AccessibilityObjectAtspi::effectiveLocalizedRoleName const): Ditto.
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const): Ignore text control inner text elements.
- accessibility/atspi/AccessibilityObjectTextAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::textInserted): Expose the rendered text in case of password field.
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setInnerTextValue): Ditto.
Tools:
Add test cases for password inputs.
- TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
(testTextIterator):
(testTextSelections):
(testTextStateChanged):
- 12:48 AM Changeset in webkit [288807] by
-
- 16 edits1 add in trunk/Source
[WTF] Add GenericHashKey
https://bugs.webkit.org/show_bug.cgi?id=235872
Reviewed by Darin Adler.
Source/JavaScriptCore:
Use GenericHashKey and WTF::HashSet / WTF::HashMap.
- dfg/DFGCommonData.h:
- dfg/DFGGraph.h:
- dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::Hash::hash):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::Hash::equal):
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::addressOfDoubleConstant):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- runtime/DeferredWorkTimer.cpp:
- runtime/FunctionHasExecutedCache.cpp:
(JSC::FunctionHasExecutedCache::hasExecutedAtOffset):
(JSC::FunctionHasExecutedCache::insertUnexecutedRange):
(JSC::FunctionHasExecutedCache::removeUnexecutedRange):
(JSC::FunctionHasExecutedCache::getFunctionRanges):
- runtime/FunctionHasExecutedCache.h:
(JSC::FunctionHasExecutedCache::FunctionRange::Hash::hash):
(JSC::FunctionHasExecutedCache::FunctionRange::Hash::equal):
- runtime/TypeLocationCache.cpp:
(JSC::TypeLocationCache::getTypeLocation):
- runtime/TypeLocationCache.h:
(JSC::TypeLocationCache::LocationKey::Hash::hash):
(JSC::TypeLocationCache::LocationKey::Hash::equal):
Source/WebCore:
No behavior change. We should use StdMap.
This should be StdMap since it requires ordered iterations by the key, so it should not be a HashMap.
- platform/graphics/avfoundation/objc/QueuedVideoOutput.h:
Source/WTF:
This patch adds GenericHashKey<T>, which can represent any HashTable's key
even if Key does not have Empty / Deleted values. Previously we were using
StdUnorderedSet / StdUnorderedMap instead. But, (1) they are doing similar
thing to GenericHashKey to keep empty or deleted values, and (2) by using
GenericHashKey we can consistently use WTF::HashMap etc. for all possible
cases.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/GenericHashKey.h: Added.
Jan 30, 2022:
- 9:47 PM Changeset in webkit [288806] by
-
- 194 edits1 delete in trunk/LayoutTests
Update LayoutTests/resources/testharness.js to 2021-6-24 version
https://bugs.webkit.org/show_bug.cgi?id=235398
<rdar://problem/88126222>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-30
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Update tests to accommodate the API change:
- assert_throws_js check that the exception is of a particular JS exception type
- assert_throws_dom check that the exception is of a particular DOMException type from a particular global object.
- assert_throws_exactly check that the exception is a specific object.
- IndexedDB-private-browsing/close-in-upgradeneeded.html:
- IndexedDB-private-browsing/idbcursor-advance-invalid.html:
- IndexedDB-private-browsing/idbcursor_advance_index2.html:
- IndexedDB-private-browsing/idbcursor_advance_index3.html:
- IndexedDB-private-browsing/idbcursor_advance_index6.html:
- IndexedDB-private-browsing/idbcursor_advance_index7.html:
- IndexedDB-private-browsing/idbcursor_advance_index8.html:
- IndexedDB-private-browsing/idbcursor_advance_index9.html:
- IndexedDB-private-browsing/idbcursor_advance_objectstore2.html:
- IndexedDB-private-browsing/idbcursor_advance_objectstore3.html:
- IndexedDB-private-browsing/idbcursor_advance_objectstore4.html:
- IndexedDB-private-browsing/idbcursor_advance_objectstore5.html:
- IndexedDB-private-browsing/idbcursor_continue_index2.html:
- IndexedDB-private-browsing/idbcursor_continue_index3.html:
- IndexedDB-private-browsing/idbcursor_continue_index4.html:
- IndexedDB-private-browsing/idbcursor_continue_index7.html:
- IndexedDB-private-browsing/idbcursor_continue_index8.html:
- IndexedDB-private-browsing/idbcursor_continue_invalid.html:
- IndexedDB-private-browsing/idbcursor_continue_objectstore2.html:
- IndexedDB-private-browsing/idbcursor_continue_objectstore3.html:
- IndexedDB-private-browsing/idbcursor_continue_objectstore4.html:
- IndexedDB-private-browsing/idbcursor_continue_objectstore5.html:
- IndexedDB-private-browsing/idbcursor_continue_objectstore6.html:
- IndexedDB-private-browsing/idbcursor_delete_index2.html:
- IndexedDB-private-browsing/idbcursor_delete_index3.html:
- IndexedDB-private-browsing/idbcursor_delete_index4.html:
- IndexedDB-private-browsing/idbcursor_delete_index5.html:
- IndexedDB-private-browsing/idbcursor_delete_objectstore2.html:
- IndexedDB-private-browsing/idbcursor_delete_objectstore3.html:
- IndexedDB-private-browsing/idbcursor_delete_objectstore4.html:
- IndexedDB-private-browsing/idbcursor_delete_objectstore5.html:
- IndexedDB-private-browsing/idbcursor_update_index2.html:
- IndexedDB-private-browsing/idbcursor_update_index3.html:
- IndexedDB-private-browsing/idbcursor_update_index4.html:
- IndexedDB-private-browsing/idbcursor_update_index5.html:
- IndexedDB-private-browsing/idbcursor_update_index6.html:
- IndexedDB-private-browsing/idbcursor_update_index7.html:
- IndexedDB-private-browsing/idbcursor_update_objectstore2.html:
- IndexedDB-private-browsing/idbcursor_update_objectstore3.html:
- IndexedDB-private-browsing/idbcursor_update_objectstore5.html:
- IndexedDB-private-browsing/idbcursor_update_objectstore6.html:
- IndexedDB-private-browsing/idbcursor_update_objectstore7.html:
- IndexedDB-private-browsing/idbcursor_update_objectstore8.html:
- IndexedDB-private-browsing/idbdatabase_createObjectStore11.html:
- IndexedDB-private-browsing/idbdatabase_createObjectStore3.html:
- IndexedDB-private-browsing/idbdatabase_createObjectStore4.html:
- IndexedDB-private-browsing/idbdatabase_createObjectStore6.html:
- IndexedDB-private-browsing/idbdatabase_createObjectStore9-invalidparameters.html:
- IndexedDB-private-browsing/idbdatabase_deleteObjectStore2.html:
- IndexedDB-private-browsing/idbdatabase_deleteObjectStore3.html:
- IndexedDB-private-browsing/idbdatabase_deleteObjectStore4-not_reused.html:
- IndexedDB-private-browsing/idbdatabase_transaction.html:
- IndexedDB-private-browsing/idbdatabase_transaction3.html:
- IndexedDB-private-browsing/idbdatabase_transaction4.html:
- IndexedDB-private-browsing/idbdatabase_transaction5.html:
- IndexedDB-private-browsing/idbfactory_cmp2.html:
- IndexedDB-private-browsing/idbfactory_open9.html:
- IndexedDB-private-browsing/idbindex-multientry-arraykeypath.html:
- IndexedDB-private-browsing/idbindex_count4.html:
- IndexedDB-private-browsing/idbindex_get5.html:
- IndexedDB-private-browsing/idbindex_get6.html:
- IndexedDB-private-browsing/idbindex_get7.html:
- IndexedDB-private-browsing/idbindex_getKey5.html:
- IndexedDB-private-browsing/idbindex_getKey6.html:
- IndexedDB-private-browsing/idbindex_getKey7.html:
- IndexedDB-private-browsing/idbindex_openCursor.html:
- IndexedDB-private-browsing/idbindex_openCursor2.html:
- IndexedDB-private-browsing/idbindex_openKeyCursor.html:
- IndexedDB-private-browsing/idbindex_openKeyCursor2.html:
- IndexedDB-private-browsing/idbindex_openKeyCursor3.html:
- IndexedDB-private-browsing/idbkeyrange_incorrect.html:
- IndexedDB-private-browsing/idbobjectstore_add10.html:
- IndexedDB-private-browsing/idbobjectstore_add11.html:
- IndexedDB-private-browsing/idbobjectstore_add12.html:
- IndexedDB-private-browsing/idbobjectstore_add13.html:
- IndexedDB-private-browsing/idbobjectstore_add15.html:
- IndexedDB-private-browsing/idbobjectstore_add16.html:
- IndexedDB-private-browsing/idbobjectstore_add9.html:
- IndexedDB-private-browsing/idbobjectstore_clear3.html:
- IndexedDB-private-browsing/idbobjectstore_clear4.html:
- IndexedDB-private-browsing/idbobjectstore_count4.html:
- IndexedDB-private-browsing/idbobjectstore_createIndex10.html:
- IndexedDB-private-browsing/idbobjectstore_createIndex11.html:
- IndexedDB-private-browsing/idbobjectstore_createIndex12.html:
- IndexedDB-private-browsing/idbobjectstore_createIndex13.html:
- IndexedDB-private-browsing/idbobjectstore_delete6.html:
- IndexedDB-private-browsing/idbobjectstore_delete7.html:
- IndexedDB-private-browsing/idbobjectstore_deleteIndex.html:
- IndexedDB-private-browsing/idbobjectstore_deleted.html:
- IndexedDB-private-browsing/idbobjectstore_get6.html:
- IndexedDB-private-browsing/idbobjectstore_get7.html:
- IndexedDB-private-browsing/idbobjectstore_openCursor_invalid.html:
- IndexedDB-private-browsing/idbobjectstore_put10.html:
- IndexedDB-private-browsing/idbobjectstore_put11.html:
- IndexedDB-private-browsing/idbobjectstore_put12.html:
- IndexedDB-private-browsing/idbobjectstore_put13.html:
- IndexedDB-private-browsing/idbobjectstore_put15.html:
- IndexedDB-private-browsing/idbobjectstore_put16.html:
- IndexedDB-private-browsing/idbobjectstore_put9.html:
- IndexedDB-private-browsing/key_invalid.html:
- IndexedDB-private-browsing/keypath_invalid.html:
- IndexedDB-private-browsing/transaction-create_in_versionchange.html:
LayoutTests:
Copy testharness.js from imported/w3c/web-platform-tests
Copy idlharness.js from imported/w3c/web-platform-tests because it uses
the new testharness.js APIs.
Copy webidl2.js from imported/w3c/web-platform-tests to resources/WebIDLParser.js
because idlharness uses new webidl2.js logic.
Delete testharness.css, it is now bundled in testharness.js.
Update tests to accommodate the API change:
- assert_throws_js check that the exception is of a particular JS exception type
- assert_throws_dom check that the exception is of a particular DOMException type from a particular global object.
- assert_throws_exactly check that the exception is a specific object.
Previously assert_throws was used and it hid unexpected exception errors.
Same for promise_rejects_*
async_test(f) now warns if f is not a normal function.
Singl page tests need a setup function.
- animations/animation-direction-normal.html:
- animations/animation-direction-reverse.html:
- animations/change-keyframes-name.html:
- animations/play-state-paused.html:
async_test(async function {...}) is incorrect (async test expects normal
function that has asynchronous logic, not a function returning a promise.
Use correct form:
promise_test(async function { ... });
- css-custom-properties-api/registerProperty.html:
Update exception expectation functions.
- editing/pasteboard/datatransfer-idl-expected.txt:
- editing/pasteboard/datatransfer-idl.html:
Update the datatransfer related idls from source, otherwise
tests fail (harness now tests for constructor).
Update the results.
- editing/text-iterator/count-matches-in-frames.html:
- editing/text-iterator/hidden-textarea-selection-quirk.html:
- fast/canvas/webgl/webgl2/bindings.html:
- fast/custom-elements/defined-pseudo-class.html:
- fast/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html:
- fast/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html:
- fast/dom/document-all.html:
- fast/dom/elementFromPoint-parameters.html:
- fast/dom/replaceable-setter-throws-if-defineownproperty-fails.html:
- fast/dom/window-opener-setter-throws-if-defineownproperty-fails-1.html:
- fast/dom/window-opener-setter-throws-if-defineownproperty-fails-2.html:
- fast/events/clipboard-event-constructor.html:
- fast/files/workers/resources/worker-file-reader-sync-bad-parameter.js:
- fast/files/xhr-blob-request.html:
- fast/mediacapturefromelement/CanvasCaptureMediaStream-exceptions.html:
- fast/mediasession/metadata/artworkdownload.html:
- fast/mediastream/screencapture-user-gesture.html:
- fetch/fetch-url-serialization.html:
- http/tests/fetch/fetching-same-resource-with-different-options.html:
- http/tests/fetch/redirectmode-and-preload.html:
- http/tests/navigation/pushstate-at-unique-origin-denied.py:
- http/tests/notifications/notification.html:
- http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https.html:
- http/tests/paymentrequest/payment-is-showing.https.html:
- http/tests/paymentrequest/payment-request-abort-method.https.html:
- http/tests/paymentrequest/payment-request-canmakepayment-method.https.html:
- http/tests/paymentrequest/payment-request-merchant-validation.https.html:
- http/tests/paymentrequest/payment-request-show-method.https.html:
- http/tests/paymentrequest/payment-response-rejects-if-not-active.https.html:
- http/tests/paymentrequest/payment-response-retry-method.https.html:
- http/tests/paymentrequest/rejects_if_not_active.https.html:
- http/tests/paymentrequest/updateWith-method-pmi-handling.https.html:
- http/tests/security/bypassing-cors-checks-for-extension-urls.html:
- http/tests/security/clean-origin-css-exposed-resource-timing.html:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-overrides-xfo.html:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-default-src.html:
- http/tests/security/contentSecurityPolicy/1.1/stylehash-default-src.html:
- http/tests/security/contentSecurityPolicy/script-src-blocked-error-event.html:
- http/tests/security/cross-origin-clean-css-resource-timing.html:
- http/tests/security/cross-origin-css-resource-timing.html:
- http/tests/subresource-integrity/sri-fetch.js:
- http/tests/workers/service/service-worker-crossorigin-fetch.html:
- http/tests/xmlhttprequest/set-bad-headervalue.html:
- intersection-observer/intersection-observer-interface.html:
- js/dom/dom-getters-type-check.html:
- js/dom/legacy-platform-object-defineOwnProperty.html:
- js/dom/post-message-symbol.html:
- js/dom/queue-microtask-window.html:
- media/track/opera/interfaces/TextTrackCue/vertical.html:
- media/track/opera/resources/idlharness.js:
- media/track/texttrackcue/texttrackcue-constructor.html:
- media/track/w3c/interfaces/TextTrackCue/align.html:
- pointerevents/ios/pointer-events-implicit-capture-release-exception.html:
- pointerevents/ios/pointer-events-set-pointer-capture-exceptions.html:
- pointerevents/pointer-id-crash.html:
- resources/WebIDLParser.js:
- resources/idlharness.js:
Update from wpt.
- resources/testharness.css: Removed.
- resources/testharness.js:
Update from wpt.
- storage/websql/openDatabase-deprecation.html:
- streams/readable-byte-stream-controller.js:
- streams/readable-stream-byob-reader.js:
- streams/readable-stream-byob-request.js:
- streams/readable-stream-getReader.html:
- streams/reference-implementation/bad-strategies.html:
- streams/reference-implementation/bad-underlying-sinks.html:
- streams/reference-implementation/transform-stream-expected.txt:
- streams/reference-implementation/transform-stream.html:
- webanimations/accelerated-animation-single-keyframe.html:
- webanimations/frame-rate/animation-frame-rate.html:
- webanimations/scheduling-of-animation-with-steps-timing-function-on-effect.html:
- webanimations/scheduling-of-animation-with-steps-timing-function-on-keyframe.html:
- webanimations/scheduling-of-css-animation-with-explicit-steps-timing-function-on-some-keyframes.html:
- webanimations/scheduling-of-css-animation-with-implicit-steps-timing-function.html:
- webaudio/webaudio-gc.html:
- webrtc/calling-peerconnection-once-closed.html:
- webrtc/certificates-indexeddb.html:
- webrtc/datachannel/creation.html:
- webrtc/datachannel/datachannel-event.html:
- webrtc/datachannel/getStats-no-prflx-remote-candidate.html:
- webrtc/disable-encryption.html:
- webrtc/legacy-api-expected.txt:
- webrtc/pc-detached-document.html:
- webrtc/stun-server-filtering.html:
- 8:19 PM Changeset in webkit [288805] by
-
- 2 edits in trunk/Source/WTF
[WinCairo] 'fileSystemRepresentation' identifier not found in URL.cpp
https://bugs.webkit.org/show_bug.cgi?id=235875
Unreviewed build fix.
Add missing header include.
- wtf/URL.cpp:
(WTF::URL::fileSystemPath const):
- 7:58 PM Changeset in webkit [288804] by
-
- 123 edits20 deletes in trunk
Source/WebCore:
Delete code for keygen element
https://bugs.webkit.org/show_bug.cgi?id=235867
Reviewed by Antti Koivisto and Darin Adler.
Deleted most of code for keygen since it has been always disabled for a while but preserve
the HTML tree builder behavior for compatibility purposes as required by the HTML5 specification.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h: Also remove the entry for HTMLSlotElement which is no longer
used since the runtime flag for enabling shadow DOM had been removed.
- css/html.css:
- css/legacyFormControlsIOS.css:
- css/themeWin.css:
- editing/MarkupAccumulator.cpp:
(WebCore::elementCannotHaveEndTag):
- html/HTMLKeygenElement.cpp: Removed.
- html/HTMLKeygenElement.h: Removed.
- html/HTMLKeygenElement.idl: Removed.
- html/HTMLTagNames.in:
- html/shadow/ShadowPseudoIds.cpp:
(WebCore::ShadowPseudoIds::webkitKeygenSelect): Deleted.
- html/shadow/ShadowPseudoIds.h:
- mathml/MathMLPresentationElement.cpp:
(WebCore::MathMLPresentationElement::isPhrasingContent):
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setKeygenElementEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::keygenElementEnabled const): Deleted.
Source/WebKit:
Delete code for keygen element
https://bugs.webkit.org/show_bug.cgi?id=235867
Reviewed by Antti Koivisto and Darin Adler.
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetRequestVideoFrameCallbackEnabled):
(WKPreferencesGetRequestVideoFrameCallbackEnabled):
(WKPreferencesSetKeygenElementEnabled):
(WKPreferencesGetKeygenElementEnabled):
(WKPreferencesGetXSSAuditorEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/Automation/atoms/ElementAttribute.js:
(isBooleanAttribute):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:
Source/WebKitLegacy/mac:
Delete runtime preference for enabling keygen element
https://bugs.webkit.org/show_bug.cgi?id=235867
Reviewed by Antti Koivisto.
- WebView/WebPreferences.mm:
(-[WebPreferences keygenElementEnabled]):
(-[WebPreferences setKeygenElementEnabled:]):
- WebView/WebPreferencesPrivate.h:
Source/WebKitLegacy/win:
Delete runtime preference for enabling keygen element
https://bugs.webkit.org/show_bug.cgi?id=235867
Reviewed by Antti Koivisto.
- WebPreferenceKeysPrivate.h:
- WebPreferences.cpp:
(WebPreferences::keygenElementEnabled):
(WebPreferences::setKeygenElementEnabled):
- WebView.cpp:
(WebView::notifyPreferencesChanged):
Source/WTF:
Delete code for keygen element
https://bugs.webkit.org/show_bug.cgi?id=235867
Reviewed by Antti Koivisto.
- Scripts/Preferences/WebPreferencesInternal.yaml:
LayoutTests:
Delete code for keygen element
https://bugs.webkit.org/show_bug.cgi?id=235867
Reviewed by Antti Koivisto.
Deleted the relevant keygen tests and rebaselined other tests.
Most of the tests that happens to test keygen elements along side other form control elements
have been updated to expect keygen to behave like HTMLUnknownElement as expected.
- accessibility/content-changed-notification-causes-crash.html:
- accessibility/contenteditable-table-check-causes-crash.html:
- accessibility/duplicate-axrenderobject-crash-expected.txt:
- accessibility/duplicate-axrenderobject-crash.html:
- fast/block/float/float-not-removed-from-first-letter-expected.txt:
- fast/block/float/float-not-removed-from-first-letter.html:
- fast/block/float/split-inline-sibling-of-float-crash.html:
- fast/css/pseudo-required-optional-unapplied.html:
- fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html:
- fast/dom/HTMLKeygenElement/keygen-expected.txt: Removed.
- fast/dom/HTMLKeygenElement/keygen-keytype-expected.txt: Removed.
- fast/dom/HTMLKeygenElement/keygen-keytype.html: Removed.
- fast/dom/HTMLKeygenElement/keygen.html: Removed.
- fast/dom/adopt-node-crash-2-expected.txt:
- fast/dom/adopt-node-crash-2.html:
- fast/dom/attribute-set-before-element-in-tree.html:
- fast/dom/domstring-attribute-reflection-expected.txt:
- fast/dom/domstring-attribute-reflection.html:
- fast/dom/set-custom-validity-with-too-few-arguments-expected.txt:
- fast/dom/set-custom-validity-with-too-few-arguments.html:
- fast/dom/tabindex-defaults-expected.txt:
- fast/dom/tabindex-defaults.html:
- fast/dom/wrapper-classes-expected.txt:
- fast/dom/wrapper-classes.html:
- fast/dynamic/insertAdjacentHTML-allowed-parents.html:
- fast/flexbox/crash-button-keygen.html:
- fast/forms/ValidityState-001-expected.txt:
- fast/forms/ValidityState-001.html:
- fast/forms/autofocus-keygen-expected.txt: Removed.
- fast/forms/autofocus-keygen.html: Removed.
- fast/forms/checkValidity-001-expected.txt:
- fast/forms/checkValidity-001.html:
- fast/forms/fieldset/fieldset-elements-expected.txt:
- fast/forms/fieldset/fieldset-elements-htmlcollection-expected.txt:
- fast/forms/fieldset/fieldset-elements-htmlcollection.html:
- fast/forms/fieldset/fieldset-elements.html:
- fast/forms/form-associated-element-crash3.html:
- fast/forms/form-attribute-expected.txt:
- fast/forms/form-attribute.html:
- fast/forms/form-collection-elements-expected.txt:
- fast/forms/form-collection-elements-order-expected.txt:
- fast/forms/form-collection-elements-order.html:
- fast/forms/form-collection-elements.html:
- fast/forms/form-collection-radio-node-list-expected.txt:
- fast/forms/form-collection-radio-node-list.html:
- fast/forms/label/labelable-elements-expected.txt:
- fast/forms/label/labelable-elements.html:
- fast/forms/label/labels-add-htmlFor-label-expected.txt:
- fast/forms/label/labels-add-htmlFor-label.html:
- fast/forms/label/labels-add-parent-label-expected.txt:
- fast/forms/label/labels-add-parent-label.html:
- fast/forms/label/labels-change-htmlFor-attribute-expected.txt:
- fast/forms/label/labels-change-htmlFor-attribute.html:
- fast/forms/label/labels-multiple-sibling-labels-expected.txt:
- fast/forms/label/labels-multiple-sibling-labels.html:
- fast/forms/label/labels-parent-and-sibling-labels-expected.txt:
- fast/forms/label/labels-parent-and-sibling-labels.html:
- fast/forms/label/labels-remove-htmlFor-attribute-expected.txt:
- fast/forms/label/labels-remove-htmlFor-attribute.html:
- fast/forms/label/labels-remove-htmlFor-label-expected.txt:
- fast/forms/label/labels-remove-htmlFor-label.html:
- fast/forms/label/labels-remove-parent-label-expected.txt:
- fast/forms/label/labels-remove-parent-label.html:
- fast/forms/large-parts.html:
- fast/forms/resources/common.js:
(createFormControlDataSet): Removed keygen form the list of form control elements.
- fast/forms/scrollheight-with-mutation-crash.html:
- fast/forms/setCustomValidity-arguments-expected.txt:
- fast/forms/setCustomValidity-arguments.html:
- fast/forms/setCustomValidity-existence-expected.txt:
- fast/forms/setCustomValidity-existence.html:
- fast/forms/setCustomValidity-null-parameter-expected.txt:
- fast/forms/setCustomValidity-null-parameter.html:
- fast/forms/state-restore-skip-stateless.html:
- fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html:
- fast/forms/validationMessage-expected.txt:
- fast/forms/validationMessage.html:
- fast/forms/willvalidate-expected.txt:
- fast/forms/willvalidate.html:
- fast/html/clone-keygen-expected.txt: Removed.
- fast/html/clone-keygen.html: Removed.
- fast/html/keygen.html: Removed.
- fast/html/marquee-reparent-check.html:
- fast/invalid/residual-style-expected.html:
- fast/invalid/residual-style.html:
- fast/multicol/span/positioned-child-not-removed-crash-expected.txt:
- fast/multicol/span/positioned-child-not-removed-crash.html:
- fast/ruby/float-object-doesnt-crash.html:
- fast/shadow-dom/keygen-shadow-manipulation-expected.txt:
- fast/shadow-dom/keygen-shadow-manipulation.html:
- fast/table/crash-splitColumn-2.html:
- fast/table/multiple-captions-crash3-expected.html:
- fast/table/multiple-captions-crash3.html:
- http/tests/misc/resources/check-keygen-post.py: Removed.
- http/tests/misc/submit-post-keygen-expected.txt: Removed.
- http/tests/misc/submit-post-keygen.html: Removed.
- imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: Removed.
- imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: Removed.
- imported/blink/fast/text/international-iteration-simple-text.html:
- platform/glib/fast/html/keygen-expected.txt: Removed.
- platform/gtk/fast/forms/label/labelable-elements-expected.txt:
- platform/gtk/fast/html/keygen-expected.png: Removed.
- platform/ios-wk2/TestExpectations:
- platform/ios-wk2/fast/forms/label/labelable-elements-expected.txt:
- platform/ios/fast/html/keygen-expected.txt: Removed.
- platform/mac-wk2/fast/forms/label/labelable-elements-expected.txt:
- platform/mac/fast/html/keygen-expected.png: Removed.
- platform/mac/fast/html/keygen-expected.txt: Removed.
- platform/win/TestExpectations:
- platform/wincairo/fast/html/keygen-expected.txt: Removed.
- svg/dom/css-animate-input-foucs-crash-expected.txt:
- svg/dom/css-animate-input-foucs-crash.html:
- 3:24 PM Changeset in webkit [288803] by
-
- 34 edits in trunk
Delete runtime preference for enabling input events
https://bugs.webkit.org/show_bug.cgi?id=235864
Reviewed by Wenson Hsieh.
Source/WebCore:
- dom/InputEvent.idl:
- editing/Editor.cpp:
Source/WTF:
- Scripts/Preferences/WebPreferences.yaml:
LayoutTests:
Updated the tests.
- fast/events/before-input-delete-empty-list-target-ranges.html:
- fast/events/before-input-delete-text-target-ranges.html:
- fast/events/before-input-events-different-start-end-elements.html:
- fast/events/before-input-events-prevent-block-text-direction.html:
- fast/events/before-input-events-prevent-default-in-textfield.html:
- fast/events/before-input-events-prevent-default.html:
- fast/events/before-input-events-prevent-drag-and-drop.html:
- fast/events/before-input-events-prevent-insert-composition.html:
- fast/events/before-input-events-prevent-recomposition.html:
- fast/events/before-input-prevent-biu.html:
- fast/events/before-input-prevent-cut.html:
- fast/events/before-input-prevent-paste.html:
- fast/events/before-input-prevent-typing.html:
- fast/events/before-input-prevent-undo.html:
- fast/events/before-input-replace-text-target-ranges.html:
- fast/events/input-event-insert-link.html:
- fast/events/input-events-drag-and-drop.html:
- fast/events/input-events-fired-when-typing.html:
- fast/events/input-events-forecolor-data.html:
- fast/events/input-events-ime-composition.html:
- fast/events/input-events-ime-recomposition.html:
- fast/events/input-events-insert-by-drop.html:
- fast/events/input-events-paste-data.html:
- fast/events/input-events-paste-rich-datatransfer.html:
- fast/events/input-events-selection-forecolor-data.html:
- fast/events/input-events-spell-checking-datatransfer.html:
- fast/events/input-events-typing-data.html:
- fast/events/ios/input-events-fired-when-typing-in-contenteditable.html:
- 8:57 AM Changeset in webkit [288802] by
-
- 4 edits1 move1 add in trunk/LayoutTests
[GLIB] Update Test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=235826
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-01-30
- platform/glib/tables/mozilla/bugs/adforce_imgis_com-expected.txt: Renamed from LayoutTests/platform/wpe/tables/mozilla/bugs/adforce_imgis_com-expected.txt.
- platform/gtk/accessibility/math-multiscript-attributes-expected.txt:
- platform/gtk/css2.1/t1508-c527-font-08-b-expected.txt: Added.
- platform/gtk/css2.1/t1508-c527-font-10-c-expected.txt:
- platform/wpe/accessibility/math-multiscript-attributes-expected.txt:
- 8:11 AM Changeset in webkit [288801] by
-
- 8 edits2 adds in trunk
(REGRESSION)[IFC][RTL] wpt/css/css-text/white-space/trailing-space-and-text-alignment-rtl-003.html
https://bugs.webkit.org/show_bug.cgi?id=235823
<rdar://problem/88186663>
Reviewed by Antti Koivisto.
Source/WebCore:
Reset the trailing whitespace bidi level before handing them over to visual reordering.
see https://unicode.org/reports/tr9/#L1
"L1. On each line, reset the embedding level of the following characters to the paragraph embedding level:
...
Any sequence of whitespace characters ... at the end of the line."
It ensures that
<div style="width: 2ch; direction: rtl">AB C</div>
and
<div style="direction: rtl">AB </div>
both have the trailing whitespace positioned _visually_ as trailing (and not leading) content.
After the bidi paragraph processing "AB C" gets a uniform bidi level of 2, while "AB " is split into "AB" and " "
with bidi levels of 2 and 1 respectively.
In the latter case, the difference in bidi levels makes the runs flip visually at reordering.
It makes the trailing whitespace "pushed" to the left side of the "AB" making it _visually_ trailing (the content renders as " AB").
However in case of "AB C" with the line breaking position after " ", we would end up with a single run of "AB " with the bidi level of 2.
This run would render as "AB " turning the trailing whitespace into a _visually_ leading whitespace.
In this patch we ensure that the trailing (non-collapsible) whitespace runs
- are detached from their adjoining non-whitespace text runs and
- they get their bidi levels reset
Test: fast/text/rtl-pre-wrap-hanging-offset.html
- layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::InlineDisplayLineBuilder::build const):
LayoutTests:
- fast/text/rtl-pre-wrap-hanging-offset-expected.html: Added.
- fast/text/rtl-pre-wrap-hanging-offset.html: Added.
- 7:58 AM Changeset in webkit [288800] by
-
- 3 edits2 adds in trunk
[LFC][IFC] Do not break content at an inline box boundary
https://bugs.webkit.org/show_bug.cgi?id=235868
Reviewed by Antti Koivisto.
Source/WebCore:
Handle nested inline boxes, when the breaking position is between at an inline box boundary.
e.g.
<div style="width: 1px"><span><span><span>this_content_overflow</span></span></span></div>
while the breaking position is between the 3rd <span> and the letter 't', we should not let the first
line have all the <span><span><span> content only, but instead find a more reasonable breaking position by
looking at the previous runs.
This patch expands "findTrailingRunIndex" to find multiple, subsequent (nested) inline boxes.
Test: fast/inline/nested-inline-box-with-word-break.html
- layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::findTrailingRunIndex):
LayoutTests:
- fast/inline/nested-inline-box-with-word-break-expected.html: Added.
- fast/inline/nested-inline-box-with-word-break.html: Added.
- 5:19 AM Changeset in webkit [288799] by
-
- 5 edits in trunk
[GStreamer] GstStructure to JSON serialization
https://bugs.webkit.org/show_bug.cgi?id=235760
Patch by Philippe Normand <pnormand@igalia.com> on 2022-01-30
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
For GstWebRTC stats logging purposes JSON is a good payload format. As the stats are
initially notified via GstStructures we need a way to export those to JSON, using a new API
in GStreamerCommon.
Covered by API tests.
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::structureValueToJSON):
(WebCore::parseStructureValue):
(WebCore::structureToJSON):
(WebCore::structureToJSONString):
- platform/graphics/gstreamer/GStreamerCommon.h:
Tools:
- TestWebKitAPI/Tests/WebCore/gstreamer/GStreamerTest.cpp:
(TestWebKitAPI::TEST_F):
Jan 29, 2022:
- 10:47 PM Changeset in webkit [288798] by
-
- 9 edits in branches/safari-613-branch/Source
Versioning.
WebKit-7613.1.17
- 9:58 PM Changeset in webkit [288797] by
-
- 18 edits in trunk/Source
Delete runtime preference for enabling request animation frame
https://bugs.webkit.org/show_bug.cgi?id=235866
Reviewed by Darin Adler.
Source/WebCore:
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::serviceRequestAnimationFrameCallbacks):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::ScriptedAnimationController::requestAnimationFrameEnabled const): Deleted.
- dom/ScriptedAnimationController.h:
(WebCore::ScriptedAnimationController::clearDocumentPointer):
- workers/WorkerAnimationController.cpp:
(WebCore::WorkerAnimationController::scheduleAnimation):
(WebCore::WorkerAnimationController::serviceRequestAnimationFrameCallbacks):
Source/WebKit:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetRequestAnimationFrameEnabled):
(WKPreferencesGetRequestAnimationFrameEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setRequestAnimationFrameEnabled:]):
(-[WKPreferences _requestAnimationFrameEnabled]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
Source/WebKitLegacy/mac:
- WebView/WebPreferences.mm:
(-[WebPreferences requestAnimationFrameEnabled]):
(-[WebPreferences setRequestAnimationFrameEnabled:]):
- WebView/WebPreferencesPrivate.h:
Source/WebKitLegacy/win:
- WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::setRequestAnimationFrameEnabled):
(WebPreferences::requestAnimationFrameEnabled):
- WebPreferences.h:
- WebView.cpp:
(WebView::notifyPreferencesChanged):
Source/WTF:
- Scripts/Preferences/WebPreferences.yaml:
- 9:21 PM Changeset in webkit [288796] by
-
- 2 edits1 add in trunk/Tools
Add web push message decryption routines
https://bugs.webkit.org/show_bug.cgi?id=233903
Reviewed by Brady Eidson.
Somehow the unit tests were left out of the original patch that was landed. Adding them back
in this patch.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/PushMessageCrypto.cpp: Added.
(TestWebKitAPI::mustBase64URLDecode):
(TestWebKitAPI::makeAES128GCMClientKeys):
(TestWebKitAPI::TEST):
(TestWebKitAPI::makeAESGCMClientKeys):
- 7:26 PM Changeset in webkit [288795] by
-
- 8 edits2 adds in trunk
[WebIDL] Add a sensible error message for a primitive non-null EventListener
https://bugs.webkit.org/show_bug.cgi?id=235863
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-29
Reviewed by Darin Adler.
Source/WebCore:
This patch moves isObject() check to JSEventListener converter, aligning it with
callback interface converter and removing now unused create() overload, and makes
code generator pass an exception thrower with a user-friendly TypeError message.
Since JSEventListener is quite different from other callback interfaces, we can't
make IsCallbackInterface() recognize it just yet, thus the type name has to be
hard-coded if we want the error message to be consistent with other generated ones.
Test: fast/events/event-listener-not-an-object.html
- bindings/js/JSDOMConvertEventListener.h:
(WebCore::Converter<IDLEventListener<T>>::convert):
- bindings/js/JSEventListener.cpp:
- bindings/js/JSEventListener.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GetArgumentExceptionFunction):
- bindings/scripts/test/JS/*: Updated.
- dom/EventTarget.idl:
Rename EventListener parameter to "listener" to match MDN / Chrome DevTools / matchMedia().
LayoutTests:
- fast/events/event-listener-not-an-object-expected.txt: Added.
- fast/events/event-listener-not-an-object.html: Added.
- 3:15 PM Changeset in webkit [288794] by
-
- 6 edits1 delete in trunk/Source/WebCore
Delete EventQueue.h
https://bugs.webkit.org/show_bug.cgi?id=235862
Reviewed by Wenson Hsieh.
Deleted the useless header file.
- Headers.cmake:
- Modules/indexeddb/IDBDatabase.cpp:
- Modules/indexeddb/IDBRequest.cpp:
- Modules/indexeddb/IDBTransaction.cpp:
- WebCore.xcodeproj/project.pbxproj:
- dom/EventQueue.h: Removed.
- 1:00 PM Changeset in webkit [288793] by
-
- 27 edits3 deletes in trunk/Source/WebCore
Delete most code for beforeload event
https://bugs.webkit.org/show_bug.cgi?id=234804
Reviewed by Antti Koivisto.
Delete code for beforeload event as the event has been disabled successfully in r261946.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- dom/BeforeLoadEvent.cpp: Removed.
- dom/BeforeLoadEvent.h: Removed.
- dom/BeforeLoadEvent.idl: Removed.
- dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded):
- dom/Document.h:
- dom/EventNames.in:
- dom/Node.cpp:
(WebCore::Node::dispatchBeforeLoadEvent): Deleted.
- dom/Node.h:
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet): m_isHandlingBeforeLoad is never true.
- dom/ProcessingInstruction.h:
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestClassicScript): dispatchBeforeLoadEvent always returned true
when beforeload event is disabled, and the element is always connected here.
(WebCore::ScriptElement::requestModuleScript): Ditto.
- html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget): Deleted the no-op code.
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::shouldLoadLink):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectMediaResource):
(WebCore::HTMLMediaElement::selectNextSourceChild):
- html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateWidget):
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::guardedDispatchBeforeLoadEvent): Deleted.
(WebCore::HTMLPlugInElement::pluginWidget const): m_inBeforeLoadEventHandler is never true.
- html/HTMLPlugInElement.h:
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::canLoadURL):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadWithDocumentLoader): Deleted the no-op code.
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement): Document will never have beforeload event listener
but keep the call to dispatchPendingBeforeLoadEvent since we depend on it updating renderer.
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): Keep the only side effect left which is
to update the renderer.
- loader/ImageLoader.h:
- page/Settings.yaml: Deleted the option to enable beforeload event.
- 11:27 AM Changeset in webkit [288792] by
-
- 14 edits in trunk
CSP: Properly block image content in object elements
https://bugs.webkit.org/show_bug.cgi?id=235837
Reviewed by Kate Cheney.
LayoutTests/imported/w3c:
Update expectations with more passes.
- web-platform-tests/content-security-policy/object-src/object-src-url-blocked-expected.txt:
- web-platform-tests/content-security-policy/object-src/object-src-url-embed-blocked-expected.txt:
- web-platform-tests/content-security-policy/object-src/object-src-url-redirect-blocked.sub-expected.txt:
Source/WebCore:
When an image is loaded through an object element it now passes through
the object-src directive check as the spec documents:
https://www.w3.org/TR/CSP3/#directive-object-src
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
- loader/ResourceLoaderOptions.h:
(WebCore::ResourceLoaderOptions::loadedFromPluginElement):
(WebCore::ResourceLoaderOptions::ResourceLoaderOptions):
(WebCore::ResourceLoaderOptions::loadedFromOpaqueSource): Deleted.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowObjectFromSource const):
- page/csp/ContentSecurityPolicy.h:
LayoutTests:
- http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2-expected.txt:
- http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked3-expected.txt:
- 8:43 AM Changeset in webkit [288791] by
-
- 5 edits2 adds in trunk
AX: Isolated tree objects don't update their AXPropertyName::ElementRect or AXPropertyName::BoundingBoxRect in response to dynamic page changes
https://bugs.webkit.org/show_bug.cgi?id=235833
Reviewed by Chris Fleizach.
Source/WebCore:
Because isolated tree objects don't update their
AXPropertyName::ElementRect or AXPropertyName::BoundingBoxRect
anytime after AXIsolatedObject::initializeAttributeData,
any dynamic page change that causes the element to move or change
size will result in the isolated AX object holding out-of-date values
for these properties.
This patch remedies this deferring to the live, main-thread AX object
when serving elementRect and boundingBoxRect.
Test: accessibility/dynamic-changes-update-position.html
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
Stop caching the now removed properties AXPropertyName::ElementRect and AXPropertyName::BoundingBoxRect.
(WebCore::AXIsolatedObject::boundingBoxRect const):
(WebCore::AXIsolatedObject::elementRect const):
Retrieve these values from the main-thread instead of the now removed
AXPropertyName::ElementRect and AXPropertyName::BoundingBoxRect.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.h:
Remove AXPropertyName::ElementRect and AXPropertyName::BoundingBoxRect.
LayoutTests:
Add test reproducing this issue.
- accessibility/dynamic-changes-update-position-expected.txt: Added.
- accessibility/dynamic-changes-update-position.html: Added.
- 6:43 AM Changeset in webkit [288790] by
-
- 7 edits in trunk/Source/WebCore
[LibWebRTC] ifdef cleanups
https://bugs.webkit.org/show_bug.cgi?id=235858
Patch by Philippe Normand <pnormand@igalia.com> on 2022-01-29
Reviewed by Youenn Fablet.
ENABLE(WEB_RTC) does not necessarily imply USE(LIBWEBRTC), so guard libwebrtc-specific files
with explicit USE(LIBWEBRTC) ifdefs.
- Modules/mediastream/STUNMessageParsing.cpp:
- Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.h:
- platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.cpp:
- platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.h:
- 3:49 AM Changeset in webkit [288789] by
-
- 12 edits2 adds in trunk
Capturing WebGL canvas through peer connection shows the image flipped
https://bugs.webkit.org/show_bug.cgi?id=235600
<rdar://problem/88043325>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-29
Reviewed by Dean Jackson.
Source/WebCore:
Mirror and rotate the WebGL image at the source since WebRTC
does not support mirroring.
Test: webrtc/canvas-to-peer-connection.html
- platform/graphics/cocoa/GraphicsContextGLCocoa.h:
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::paintCompositedResultsToMediaSample):
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::setOwnershipIdentity):
- platform/graphics/cv/CVUtilities.h:
- platform/graphics/cv/CVUtilities.mm:
(WebCore::setOwnershipIdentityForCVPixelBuffer):
LayoutTests:
Test sending WebGL image through a peer connection to a local video
and assert that the image is as drawn.
- platform/glib/TestExpectations:
- webrtc/canvas-to-peer-connection-expected.txt: Added.
- webrtc/canvas-to-peer-connection.html: Added.
- webrtc/routines.js:
- webrtc/video-replace-track.html:
Jan 28, 2022:
- 11:34 PM Changeset in webkit [288788] by
-
- 3 edits in trunk/LayoutTests/imported/w3c
css/css-backgrounds/animations/box-shadow-composition.html has failures
https://bugs.webkit.org/show_bug.cgi?id=235773
Unreviewed sync with WPT upstream, our copy of this test was outdated and we in fact pass
all assertions.
- web-platform-tests/css/css-backgrounds/animations/box-shadow-composition-expected.txt:
- web-platform-tests/css/css-backgrounds/animations/box-shadow-composition.html:
- 11:32 PM Changeset in webkit [288787] by
-
- 3 edits17 adds6 deletes in trunk/LayoutTests
[WPT] Update CSS animation tests
https://bugs.webkit.org/show_bug.cgi?id=235759
Unreviewed manual WPT update.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-backgrounds/animations/background-color-animation-non-empty-no-draw-crash-expected.txt: Added.
- web-platform-tests/css/css-backgrounds/animations/background-color-animation-non-empty-no-draw-crash.html: Added.
- web-platform-tests/css/css-backgrounds/animations/background-color-animation-removed-element-crash-expected.txt: Added.
- web-platform-tests/css/css-backgrounds/animations/background-color-animation-removed-element-crash.html: Added.
- web-platform-tests/css/css-backgrounds/animations/background-color-animation-with-mask-expected.txt: Added.
- web-platform-tests/css/css-backgrounds/animations/background-color-animation-with-mask-ref.html: Added.
- web-platform-tests/css/css-backgrounds/animations/background-color-animation-with-mask.html: Added.
- web-platform-tests/css/css-fonts/animations/font-palette-animation-2-expected.html: Removed.
- web-platform-tests/css/css-fonts/animations/font-palette-animation-2.html: Removed.
- web-platform-tests/css/css-fonts/animations/font-palette-animation-3-expected-mismatch.html: Removed.
- web-platform-tests/css/css-fonts/animations/font-palette-animation-3.html: Removed.
- web-platform-tests/css/css-fonts/animations/font-palette-animation-expected.html: Removed.
- web-platform-tests/css/css-fonts/animations/font-palette-animation.html: Removed.
- web-platform-tests/css/css-fonts/animations/system-fonts-expected.txt: Added.
- web-platform-tests/css/css-fonts/animations/system-fonts.html: Added.
- web-platform-tests/css/css-size-adjust/animations/text-size-adjust-interpolation-expected.txt: Added.
- web-platform-tests/css/css-size-adjust/animations/text-size-adjust-interpolation.html: Added.
LayoutTests:
- platform/glib/TestExpectations:
- platform/gtk/imported/w3c/web-platform-tests/css/css-fonts/animations/system-fonts-expected.txt: Added.
- platform/ios/imported/w3c/web-platform-tests/css/css-fonts/animations/system-fonts-expected.txt: Added.
- 11:24 PM Changeset in webkit [288786] by
-
- 51 edits in trunk
[CSS container Queries] Include container queries in RuleSets
https://bugs.webkit.org/show_bug.cgi?id=235763
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/animation-container-size-expected.txt:
- web-platform-tests/css/css-contain/container-queries/animation-container-type-dynamic-expected.txt:
- web-platform-tests/css/css-contain/container-queries/animation-nested-animation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/animation-nested-transition-expected.txt:
- web-platform-tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
- web-platform-tests/css/css-contain/container-queries/auto-scrollbars-expected.txt:
- web-platform-tests/css/css-contain/container-queries/backdrop-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/conditional-container-status-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom.tentative-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-name-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-size-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/counters-flex-circular-expected.txt:
- web-platform-tests/css/css-contain/container-queries/display-contents-expected.txt:
- web-platform-tests/css/css-contain/container-queries/display-none-expected.txt:
- web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt:
- web-platform-tests/css/css-contain/container-queries/font-relative-units-expected.txt:
- web-platform-tests/css/css-contain/container-queries/get-animations-expected.txt:
- web-platform-tests/css/css-contain/container-queries/iframe-invalidation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/ineligible-containment-expected.txt:
- web-platform-tests/css/css-contain/container-queries/inline-size-and-min-width-expected.txt:
- web-platform-tests/css/css-contain/container-queries/inline-size-containment-expected.txt:
- web-platform-tests/css/css-contain/container-queries/inline-size-containment-vertical-rl-expected.txt:
- web-platform-tests/css/css-contain/container-queries/orthogonal-wm-container-query-expected.txt:
- web-platform-tests/css/css-contain/container-queries/percentage-padding-orthogonal-expected.txt:
- web-platform-tests/css/css-contain/container-queries/pseudo-elements-001-expected.txt:
- web-platform-tests/css/css-contain/container-queries/pseudo-elements-003.tentative-expected.txt:
- web-platform-tests/css/css-contain/container-queries/query-content-box-expected.txt:
- web-platform-tests/css/css-contain/container-queries/query-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/reattach-container-with-dirty-child-expected.txt:
- web-platform-tests/css/css-contain/container-queries/size-container-no-principal-box-expected.txt:
- web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
- web-platform-tests/css/css-contain/container-queries/style-change-in-container-expected.txt:
- web-platform-tests/css/css-contain/container-queries/top-layer-dialog-container-expected.txt:
- web-platform-tests/css/css-contain/container-queries/top-layer-dialog-expected.txt:
- web-platform-tests/css/css-contain/container-queries/top-layer-nested-dialog-expected.txt:
- web-platform-tests/css/css-contain/container-queries/transition-scrollbars-expected.txt:
- web-platform-tests/css/css-contain/container-queries/transition-style-change-event-expected.txt:
- web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
- web-platform-tests/css/css-contain/container-queries/viewport-units-dynamic-expected.txt:
- web-platform-tests/css/css-contain/container-queries/viewport-units-expected.txt:
Source/WebCore:
Build the data structures in RuleSets. They are not yet used, all queries behave as if they match.
- style/RuleSet.cpp:
(WebCore::Style::RuleSet::addRule):
- style/RuleSet.h:
- style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::addChildRules):
(WebCore::Style::RuleSetBuilder::addStyleRule):
- style/RuleSetBuilder.h:
LayoutTests:
- 9:33 PM Changeset in webkit [288785] by
-
- 4 edits in trunk/Source
Source/JavaScriptCore:
[WPE] Unreviewed, fix non-unified build after r288758
https://bugs.webkit.org/show_bug.cgi?id=235853
- wasm/WasmBranchHintsSectionParser.cpp:
Source/WebCore:
[WPE] Unreviewed, fix non-unified build after r288759
https://bugs.webkit.org/show_bug.cgi?id=235853
- Modules/webaudio/AudioWorkletNode.cpp:
- 9:22 PM Changeset in webkit [288784] by
-
- 29 edits1 delete in trunk
[WinCairo] WebKitTestRunner should support pixel dump for accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=215041
Reviewed by Don Olmstead.
Source/WebKit:
Windows WebKitTestRunner is using WM_PRINT message to get the
widonws content for the pixel dump support. However, in the
accelerated compositing mode, the compositor in the GPU process
directly renders to the HWND of UI process.
This change added the offscreen rendering mode for the compositor.
In this mode, the rendering results of the compositor are captured
by using glReadPixels in GPU process, and transferred it to UI
process via the non-AC mode code path.
Added WKViewSetUsesOffscreenRendering API to enable the offscreen
rendering mode.
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::createWCLayerTreeHost):
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/GPUConnectionToWebProcess.messages.in:
- GPUProcess/graphics/wc/RemoteWCLayerTreeHost.cpp:
(WebKit::RemoteWCLayerTreeHost::create):
(WebKit::RemoteWCLayerTreeHost::RemoteWCLayerTreeHost):
(WebKit::RemoteWCLayerTreeHost::update):
- GPUProcess/graphics/wc/RemoteWCLayerTreeHost.h:
- GPUProcess/graphics/wc/RemoteWCLayerTreeHost.messages.in:
- GPUProcess/graphics/wc/WCScene.cpp:
(WebKit::WCScene::WCScene):
(WebKit::WCScene::update):
- GPUProcess/graphics/wc/WCScene.h:
- PlatformWin.cmake:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/C/win/WKView.cpp:
(WKViewSetUsesOffscreenRendering):
- UIProcess/API/C/win/WKView.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- UIProcess/wc/DrawingAreaProxyWC.cpp:
(WebKit::DrawingAreaProxyWC::dispatchAfterEnsuringDrawing):
- UIProcess/wc/DrawingAreaProxyWC.h:
- UIProcess/win/PageClientImpl.cpp:
(WebKit::PageClientImpl::usesOffscreenRendering const):
- UIProcess/win/PageClientImpl.h:
- UIProcess/win/WebView.cpp:
(WebKit::WebView::setUsesOffscreenRendering):
(WebKit::WebView::usesOffscreenRendering const):
- UIProcess/win/WebView.h:
- WebProcess/GPU/graphics/wc/RemoteWCLayerTreeHostProxy.cpp:
(WebKit::RemoteWCLayerTreeHostProxy::RemoteWCLayerTreeHostProxy):
(WebKit::RemoteWCLayerTreeHostProxy::ensureGPUProcessConnection):
(WebKit::RemoteWCLayerTreeHostProxy::disconnectGpuProcessIfNeeded):
(WebKit::RemoteWCLayerTreeHostProxy::gpuProcessConnectionDidClose):
(WebKit::RemoteWCLayerTreeHostProxy::update):
(WebKit::RemoteWCLayerTreeHostProxy::didUpdate): Deleted.
- WebProcess/GPU/graphics/wc/RemoteWCLayerTreeHostProxy.h:
- WebProcess/GPU/graphics/wc/RemoteWCLayerTreeHostProxy.messages.in: Removed.
- WebProcess/WebPage/wc/DrawingAreaWC.cpp:
(WebKit::DrawingAreaWC::DrawingAreaWC):
(WebKit::DrawingAreaWC::setNeedsDisplay):
(WebKit::DrawingAreaWC::setNeedsDisplayInRect):
(WebKit::DrawingAreaWC::forceRepaintAsync):
(WebKit::DrawingAreaWC::sendUpdateAC):
(WebKit::DrawingAreaWC::didUpdate):
- WebProcess/WebPage/wc/DrawingAreaWC.h:
Tools:
- WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
- WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::PlatformWebView):
- 8:44 PM Changeset in webkit [288783] by
-
- 7 edits2 adds in trunk
REGRESSION(r281687): Space widths have synthetic bold applied to them in the fast text codepath but not the complex text codepath
https://bugs.webkit.org/show_bug.cgi?id=235755
<rdar://problem/88052073>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-fonts/synthetic-bold-space-width-expected.html: Added.
- web-platform-tests/css/css-fonts/synthetic-bold-space-width.html: Added.
Source/WebCore:
r281687 made Font::widthForGlyph() return the non-synthetically-expanded width,
instead of the synthetically-expanded width.
I think this is philosophically correct, because Font::widthForGlyph() is called before shaping,
and shaping requires the original width. If some custom code is asking for the width of specific
characters without going through WidthIterator or ComplexTextController, that code needs to
determine whether or not it's going to run shaping, and thus when it should be adding in the
synthetic offset.
adjustGlyphsAndAdvances() used to subtract out the synthetic offset because it was expecting
Font::widthForGlyph() to return the already-expanded width. So, the solution is just stop subtracting
the offset, because it hasn't been applied in the first place.
Test: imported/w3c/web-platform-tests/css/css-fonts/synthetic-bold-space-width.html
- platform/graphics/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
- platform/graphics/Font.h:
LayoutTests:
- platform/mac/fast/text/atsui-multiple-renderers-expected.txt:
- 8:22 PM Changeset in webkit [288782] by
-
- 2 edits in trunk/Source/WebKit
Implement CSS overscroll-behavior for iOS
https://bugs.webkit.org/show_bug.cgi?id=233788
Reviewed by Simon Fraser.
Add setting of ScrollView parameters based on overscroll-behavior values.
- UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren):
- 7:29 PM Changeset in webkit [288781] by
-
- 1 copy in tags/Safari-613.1.16
Tag Safari-613.1.16.
- 7:29 PM Changeset in webkit [288780] by
-
- 1 delete in tags/Safari-613.1.16
Delete tag.
- 7:27 PM Changeset in webkit [288779] by
-
- 21 edits1 move3 adds in branches/safari-613-branch/Source
Apply patch. rdar://problem/82627192
- 7:27 PM Changeset in webkit [288778] by
-
- 5 edits in branches/safari-613-branch/Source
Cherry-pick r287961. rdar://problem/86282584
[Re-landing] Update hashThreadState() to exclude opaque_flags.
https://bugs.webkit.org/show_bug.cgi?id=235081
rdar://86282584
Reviewed by Keith Miller.
Source/JavaScriptCore:
Removed some unused code.
- runtime/MachineContext.h: (JSC::MachineContext::stackPointer): (JSC::MachineContext::framePointer): (JSC::MachineContext::instructionPointer): (JSC::MachineContext::linkRegister): (JSC::MachineContext::setStackPointer): Deleted. (JSC::MachineContext::setFramePointer): Deleted. (JSC::MachineContext::setLinkRegister): Deleted.
Source/WTF:
The opaque_flags may be used by the OS, and may be altered without our knowledge.
Hence, our hash should not include the opaque_flags field.
Also remove some unused code.
- wtf/PlatformRegisters.h:
- wtf/threads/Signals.cpp: (WTF::hashThreadState):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:56 PM Changeset in webkit [288777] by
-
- 8 edits9 adds in trunk
Implement CSS overscroll-behavior for asynchronous scroll on Mac
https://bugs.webkit.org/show_bug.cgi?id=220139
Reviewed by Simon Fraser.
Source/WebCore:
Split up patch by Cathie Chen and Frederic Wang. Add function for blocking scroll chaining
and filtering scroll delta depending on the values of overscroll behavior for a scrolling
node. This patch is for asynchronous scrolling only.
Tests: fast/scrolling/mac/async-overscroll-behavior-element.html
fast/scrolling/mac/async-overscroll-behavior-iframe.html
fast/scrolling/mac/async-overscroll-behavior-unscrollable-element.html
fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe.html
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::shouldBlockScrollChainingWithNode):
(WebCore::ScrollingTree::handleWheelEventWithNode):
- page/scrolling/ScrollingTree.h:
- page/scrolling/ScrollingTreeScrollingNode.h:
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsHorizontalStretching const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsVerticalStretching const):
- rendering/RenderLayerCompositor.cpp:
(WebCore::recompositeChangeRequiresGeometryUpdate):
(WebCore::RenderLayerCompositor::rootOrBodyStyleChanged):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresRecompositeLayer const):
LayoutTests:
- fast/scrolling/mac/async-overscroll-behavior-element-expected.txt: Added.
- fast/scrolling/mac/async-overscroll-behavior-element.html: Added.
- fast/scrolling/mac/async-overscroll-behavior-iframe-expected.txt: Added.
- fast/scrolling/mac/async-overscroll-behavior-iframe.html: Added.
- fast/scrolling/mac/async-overscroll-behavior-unscrollable-element-expected.txt: Added.
- fast/scrolling/mac/async-overscroll-behavior-unscrollable-element.html: Added.
- fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe-expected.txt: Added.
- fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe.html: Added.
- fast/scrolling/resources/overscroll-behavior-support.js: Added.
(getDeltas):
(async mouseWheelScrollAndWait):
- 6:42 PM Changeset in webkit [288776] by
-
- 2 edits in trunk/Source/WebKit
[macOS][WP] Temporarily add syscall to sandbox
https://bugs.webkit.org/show_bug.cgi?id=235841
<rdar://88197549>
Reviewed by Brent Fulgham.
Temporarily add syscall to sandbox in the WebContent process on macOS. This can be removed when <rdar://88210738> is fixed.
- WebProcess/com.apple.WebProcess.sb.in:
- 6:15 PM Changeset in webkit [288775] by
-
- 2 edits in trunk/LayoutTests
[ BigSur+ Release wk1 arm64 ] Bots are flaky exiting testing after 500 layout-test failures (235733)
https://bugs.webkit.org/show_bug.cgi?id=235733
Uneviewed test gardening.
- platform/mac-wk1/TestExpectations: Skipping test for mac BigSur and later wk1 arm64 Release because it intermittently causes many tests to fail.
- 6:12 PM Changeset in webkit [288774] by
-
- 2 edits in trunk/Source/WebCore
AX: AccessibilitySlider::inputElement should check if the renderer has become null
https://bugs.webkit.org/show_bug.cgi?id=235827
Reviewed by Chris Fleizach.
After https://bugs.webkit.org/show_bug.cgi?id=235715, we no longer
call the update version of children() from logging. This has made
accessibility/mac/spinbutton-valuedescription.html a constant failure
in debug mode only, since the logging is trying to print an AX tree that
is out of sync with the DOM. This test uses JS to remove an<input>
renderer + node.
Fixes accessibility/mac/spinbutton-valuedescription.html in debug.
- accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::inputElement const):
Null check m_renderer before using it.
(WebCore::AccessibilitySlider::getAttribute const):
(WebCore::AccessibilitySlider::valueForRange const):
(WebCore::AccessibilitySlider::maxValueForRange const):
(WebCore::AccessibilitySlider::minValueForRange const):
Null check the result of inputElement() before dereferencing it.
- 5:23 PM Changeset in webkit [288773] by
-
- 14 edits in trunk
Add SPI to retrieve the rect of a found text range
https://bugs.webkit.org/show_bug.cgi?id=235830
rdar://88193004
Reviewed by Wenson Hsieh.
Source/WebKit:
Clients of found text ranges need a way to determine their position
in the web view. An asynchronous SPI is provided to support this need.
This information is not encoded in the text range itself, as the
position can change due to scrolling in sub-scrollable regions.
Consequently, the position must be obtained by communicating with the
WebProcess.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _requestRectForFoundTextRange:completionHandler:]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestRectForFoundTextRange):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView requestRectForFoundTextRange:completionHandler:]):
- WebProcess/WebPage/WebFoundTextRangeController.cpp:
(WebKit::WebFoundTextRangeController::requestRectForFoundTextRange):
- WebProcess/WebPage/WebFoundTextRangeController.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestRectForFoundTextRange):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Added a test to verify the API works as expected.
The test uses an <iframe> to verify behavior for scrolled
<iframe>s.
- TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
(-[TestSearchAggregator initWithCompletionHandler:]):
(-[TestSearchAggregator foundRange:forSearchString:inDocument:]):
(-[TestSearchAggregator foundRanges]):
(-[TestSearchAggregator count]):
(TEST):
- 5:02 PM Changeset in webkit [288772] by
-
- 2 edits in trunk/Source/WebKit
Update CaptivePortal entitlements to support full GigaCage
https://bugs.webkit.org/show_bug.cgi?id=235834
<rdar://problem/88075019>
Reviewed by Chris Dumez.
The CaptivePortal process, which does not allow JIT, cannot enable GigaCage without
a new entitlement.
- Scripts/process-entitlements.sh:
- 4:54 PM Changeset in webkit [288771] by
-
- 1 copy in tags/Safari-613.1.16
Tag Safari-613.1.16.
- 4:50 PM Changeset in webkit [288770] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288750. rdar://problem/88177392
[macOS][WP] Add required syscall
https://bugs.webkit.org/show_bug.cgi?id=235828
<rdar://88177392>
Reviewed by Darin Adler.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:50 PM Changeset in webkit [288769] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r287844. rdar://problem/87262730
[MacCatalyst] Add syscalls from iOS sandbox
https://bugs.webkit.org/show_bug.cgi?id=234970
<rdar://problem/87262730>
Reviewed by Darin Adler.
Add syscalls from iOS sandbox that are not in the MacCatalyst sandbox, since these are potentially
still needed on MacCatalyst.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:39 PM Changeset in webkit [288768] by
-
- 1 copy in tags/Safari-613.1.14.5.6
Tag Safari-613.1.14.5.6.
- 4:38 PM Changeset in webkit [288767] by
-
- 4 edits in branches/safari-613.1.14.5-branch/Source
Cherry-pick r288766. rdar://problem/88207448
Catalyst builds for WebCore and WebKitLegacy don't create proper symlinks for builds with system content path
https://bugs.webkit.org/show_bug.cgi?id=235839
Reviewed by Saam Barati.
Source/WebCore:
Fixed ALTERNATE_ROOT_PATH to have a proper path for Catalyst builds, but not for normal macOS builds
since they are under WebKit.framework.
- Configurations/WebCore.xcconfig:
Source/WebKitLegacy/mac:
Fixed ALTERNATE_ROOT_PATH and OUTPUT_ALTERNATE_ROOT_PATH to have proper paths for Catalyst builds,
but not for normal macOS builds since they are under WebKit.framework.
- Configurations/WebKitLegacy.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:36 PM Changeset in webkit [288766] by
-
- 4 edits in trunk/Source
Catalyst builds for WebCore and WebKitLegacy don't create proper symlinks for builds with system content path
https://bugs.webkit.org/show_bug.cgi?id=235839
Reviewed by Saam Barati.
Source/WebCore:
Fixed ALTERNATE_ROOT_PATH to have a proper path for Catalyst builds, but not for normal macOS builds
since they are under WebKit.framework.
- Configurations/WebCore.xcconfig:
Source/WebKitLegacy/mac:
Fixed ALTERNATE_ROOT_PATH and OUTPUT_ALTERNATE_ROOT_PATH to have proper paths for Catalyst builds,
but not for normal macOS builds since they are under WebKit.framework.
- Configurations/WebKitLegacy.xcconfig:
- 4:25 PM Changeset in webkit [288765] by
-
- 9 edits in branches/safari-613.1.14.5-branch/Source
Versioning.
WebKit-7613.1.14.5.6
- 4:14 PM Changeset in webkit [288764] by
-
- 9 edits in branches/safari-613-branch/Source
Versioning.
WebKit-7613.1.16
- 4:05 PM Changeset in webkit [288763] by
-
- 8 edits in trunk
Remove showModalDialog-specific logic from JSDOMWindow::getOwnPropertySlot()
https://bugs.webkit.org/show_bug.cgi?id=234282
Reviewed by Yusuke Suzuki.
Source/WebCore:
This change removes showModalDialog-specific logic from JSDOMWindow::getOwnPropertySlot()
in favor of a setter-less CustomValue property onwindow, which returns a function only
if modals are allowed, and can be overriden by userland code.
Since we need to support setCanRunModal(true) being called after DOMWindow is initialized,
[EnabledByQuirk] and friends could not be used. However, once the function was exposed,
there is no point in hiding it, so the CustomValue getter replaces itself with a regular
data property to preserve function's identity (covered by fast/dom/wrapper-identity.html).
The patch makes JSDOMWindow's getOwnPropertySlot() consistent with its getOwnPropertyNames()
regarding the presence of "showModalDialog" property, and fixes JSDOMWindow::getOwnPropertySlot()
being ignored by LLInt when accessing "showModalDialog" from scope, which resulted in exposing
the function even if modals were disallowed.
Test: fast/dom/Window/forbid-showModalDialog.html
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::finishCreation):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
(WebCore::JSC_DEFINE_HOST_FUNCTION):
(WebCore::JSDOMWindow::showModalDialog): Deleted.
- bindings/js/JSDOMWindowCustom.h:
- page/DOMWindow.idl:
LayoutTests:
- fast/dom/Window/forbid-showModalDialog-expected.txt:
- fast/dom/Window/forbid-showModalDialog.html:
- 3:12 PM Changeset in webkit [288762] by
-
- 9 edits in trunk/Source/WebKit
Migrate _UITextSearching implementation to be backed by WebFoundTextRangeController
https://bugs.webkit.org/show_bug.cgi?id=235693
rdar://88117303
Reviewed by Tim Horton.
Migrate _UITextSearching implementation to be backed by
WebFoundTextRangeController to support restoreable find results.
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView scrollRangeToVisible:inDocument:]):
(-[WKWebView didBeginTextSearchOperation]):
(-[WKWebView didEndTextSearchOperation]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::findTextRangesForStringMatches):
(WebKit::WebPageProxy::decorateTextRangeWithStyle):
(WebKit::WebPageProxy::scrollTextRangeToVisible):
(WebKit::WebPageProxy::clearAllDecoratedFoundText):
(WebKit::WebPageProxy::didBeginTextSearchOperation):
(WebKit::WebPageProxy::didEndTextSearchOperation):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView offsetFromPosition:toPosition:]):
(-[WKContentView performTextSearchWithQueryString:usingOptions:resultAggregator:]):
(-[WKContentView decorateFoundTextRange:inDocument:usingStyle:]):
(-[WKContentView scrollRangeToVisible:inDocument:]):
(-[WKContentView clearAllDecoratedFoundText]):
(-[WKContentView didBeginTextSearchOperation]):
(-[WKContentView didEndTextSearchOperation]):
(+[WKFoundTextRange foundTextRangeWithWebFoundTextRange:]):
(-[WKFoundTextRange start]):
(-[WKFoundTextRange end]):
(-[WKFoundTextRange webFoundTextRange]):
(+[WKFoundTextPosition textPositionWithOffset:order:]):
(+[WKFoundTextRange foundTextRangeWithRect:index:]): Deleted.
(+[WKFoundTextPosition textPositionWithIndex:]): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::findTextRangesForStringMatches):
(WebKit::WebPage::decorateTextRangeWithStyle):
(WebKit::WebPage::scrollTextRangeToVisible):
(WebKit::WebPage::clearAllDecoratedFoundText):
(WebKit::WebPage::didBeginTextSearchOperation):
(WebKit::WebPage::didEndTextSearchOperation):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::foundTextRangeController):
- WebProcess/WebPage/WebPage.messages.in:
- 3:06 PM Changeset in webkit [288761] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Enable wasm branch hinting
https://bugs.webkit.org/show_bug.cgi?id=235832
Reviewed by Saam Barati.
https://github.com/WebAssembly/branch-hinting is stage-3 wasm feature.
Flip the flag to enable it.
- runtime/OptionsList.h:
- 1:46 PM Changeset in webkit [288760] by
-
- 4 edits in trunk/Source/WebKit
Add support for decorating and scrolling to ranges in WebFoundTextRangeController
https://bugs.webkit.org/show_bug.cgi?id=235692
rdar://88117232
Reviewed by Wenson Hsieh.
- Shared/WebFoundTextRange.h:
(WTF::HashTraits<WebKit::WebFoundTextRange>::deletedValue):
The empty and deleted values should not be the same.
(WTF::HashTraits<WebKit::WebFoundTextRange>::constructDeletedValue):
(WTF::HashTraits<WebKit::WebFoundTextRange>::isDeletedValue):
- WebProcess/WebPage/WebFoundTextRangeController.cpp:
(WebKit::WebFoundTextRangeController::findTextRangesForStringMatches):
Cache the found ranges and their corresponding SimpleRange, to avoid
unnecessary tree traversal each time we want to decorate or scroll to
a found result.
(WebKit::WebFoundTextRangeController::decorateTextRangeWithStyle):
Found ranges can currently be decorated with 3 styles: "Normal",
"Found", and "Highlighted". The "Found" style is drawn using
document markers. The "Highlighted" style is drawn using a
TextIndicator.
(WebKit::WebFoundTextRangeController::scrollTextRangeToVisible):
Use TemporarySelectionChange to make the range visible.
(WebKit::WebFoundTextRangeController::clearAllDecoratedFoundText):
(WebKit::WebFoundTextRangeController::didBeginTextSearchOperation):
(WebKit::WebFoundTextRangeController::didEndTextSearchOperation):
(WebKit::WebFoundTextRangeController::willMoveToPage):
(WebKit::WebFoundTextRangeController::didMoveToPage):
(WebKit::WebFoundTextRangeController::drawRect):
(WebKit::WebFoundTextRangeController::rectsForTextMatchesInRect):
(WebKit::WebFoundTextRangeController::documentForFoundTextRange const):
Use the frame identifer of the WebFoundTextRange to retrieve the
corresponding Document, so that the range can be appropriately
mapped for decoration/scrolling.
(WebKit::WebFoundTextRangeController::simpleRangeFromFoundTextRange):
A helper method to cache WebFoundTextRanges and SimpleRanges.
- WebProcess/WebPage/WebFoundTextRangeController.h:
- 12:56 PM Changeset in webkit [288759] by
-
- 14 edits1 copy in trunk/Source
ASSERTION FAILED: m_processCallback in WebCore::AudioWorkletProcessor::process
https://bugs.webkit.org/show_bug.cgi?id=235529
Reviewed by Geoffrey Garen and Darin Adler.
Source/WebCore:
m_processCallback stores the JS wrapper for the AudioWorkletProcessor and the crash
was due to that JS wrapper getting garbage collected while the AudioWorkletNode
was still rendering. The JS wrapper for AudioWorkletProcessor is actually created
by AudioWorkletGlobalScope::createProcessor() and the JavaScript does not usually
keep a reference to it.
To address the issue, I added a visitor to the AudioWorkletGlobalScope wrapper
which visits the processors that it created and that still have an associated
AudioWorkletNode owner.
- Modules/webaudio/AudioWorkletGlobalScope.cpp:
(WebCore::AudioWorkletGlobalScope::createProcessor):
(WebCore::AudioWorkletGlobalScope::processorIsNoLongerNeeded):
(WebCore::AudioWorkletGlobalScope::visitProcessors):
- Modules/webaudio/AudioWorkletGlobalScope.h:
- Modules/webaudio/AudioWorkletGlobalScope.idl:
- Modules/webaudio/AudioWorkletNode.cpp:
(WebCore::AudioWorkletNode::~AudioWorkletNode):
- Modules/webaudio/AudioWorkletProcessor.cpp:
(WebCore::AudioWorkletProcessor::create):
(WebCore::AudioWorkletProcessor::AudioWorkletProcessor):
(WebCore::AudioWorkletProcessor::process):
(WebCore::AudioWorkletProcessor::setWrapper):
(WebCore::AudioWorkletProcessor::setProcessCallback): Deleted.
- Modules/webaudio/AudioWorkletProcessor.h:
(WebCore::AudioWorkletProcessor::wrapper):
(WebCore::AudioWorkletProcessor::processCallbackWrapper): Deleted.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSAudioWorkletProcessorCustom.cpp:
(WebCore::JSAudioWorkletProcessor::visitAdditionalChildren):
Source/WTF:
Add template parameter to WeakHashSet to disable threading assertions. This is useful
when the call site is using locking.
- wtf/WeakHashSet.h:
- wtf/WeakPtr.h:
- 12:48 PM Changeset in webkit [288758] by
-
- 10 edits6 adds in trunk
[JSC] Add support for WASM branch hinting proposal
https://bugs.webkit.org/show_bug.cgi?id=235581
Patch by Tom Tartarin <tom@leaningtech.com> on 2022-01-28
Reviewed by Yusuke Suzuki.
JSTests:
Add test for branch hinting custom section
- wasm.yaml:
- wasm/branch-hints/branchHintsModule.wasm: Added.
- wasm/branch-hints/branchHintsSection.js: Added.
(const.module):
Source/JavaScriptCore:
See the proposal for a more detailed description: https://github.com/WebAssembly/branch-hinting.
This allows parsing a "code_annotation.branch_hint" custom section,
as per the code annotation proposal: https://github.com/WebAssembly/annotations.
This section provides per function information about how likely a branch at a
given offset is to be taken. It is similar to branch weight metadata in LLVM.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- runtime/OptionsList.h:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addIf):
(JSC::Wasm::AirIRGenerator::addBranch):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addIf):
(JSC::Wasm::B3IRGenerator::addBranch):
- wasm/WasmBranchHints.h: Added.
(JSC::Wasm::BranchHintMap::add):
(JSC::Wasm::BranchHintMap::getBranchHint const):
(JSC::Wasm::BranchHintMap::isValidKey const):
(JSC::Wasm::isValidBranchHint):
- wasm/WasmBranchHintsSectionParser.cpp: Added.
(JSC::Wasm::BranchHintsSectionParser::parse):
- wasm/WasmBranchHintsSectionParser.h: Added.
(JSC::Wasm::BranchHintsSectionParser::BranchHintsSectionParser):
- wasm/WasmModuleInformation.h:
(JSC::Wasm::ModuleInformation::getBranchHint const):
- wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseCustom):
- 12:19 PM Changeset in webkit [288757] by
-
- 1 copy in tags/Safari-613.1.14.5.5
Tag Safari-613.1.14.5.5.
- 12:18 PM Changeset in webkit [288756] by
-
- 6 edits in branches/safari-613.1.14.5-branch/Source
Cherry-pick r288749. rdar://problem/87928380
Catalyst builds fail for WebCore, WebKi and WebKitLegacy for builds with system content path
https://bugs.webkit.org/show_bug.cgi?id=235821
Reviewed by Saam Barati.
Source/WebCore:
The value of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR for Catalyst builds had the system content prefix
after the Catalyst prefix. I reversed them.
- Configurations/WebCore.xcconfig:
Source/WebKit:
Eliminated the system content prefix from ALTERNATE_ROOT_PATH since it is the old location.
Changed the create symlink script to create the directory path leading up to the symlink because
it isn't created for Catalyst builds.
- Configurations/SDKVariant.xcconfig:
- Configurations/WebKit.xcconfig:
- Scripts/create-symlink-to-altroot.sh:
- WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:09 PM Changeset in webkit [288755] by
-
- 9 edits in branches/safari-613.1.14.5-branch/Source
Versioning.
WebKit-7613.1.14.5.5
- 11:52 AM Changeset in webkit [288754] by
-
- 2 edits in trunk/Source/WebKit
Ensure session is added in network process when it creates connection to web process
https://bugs.webkit.org/show_bug.cgi?id=235754
Reviewed by Chris Dumez.
In NetworkProcess::CreateNetworkConnectionToWebProcess, if the session that web process is using is not added
yet, WorkQueueMessageReceiver cannot be added to the connection and storage messages will be dropped. Usually
session is added in NetworkProcess::AddWebsiteDataStore, which is sent from UI process before
NetworkProcess::CreateNetworkConnectionToWebProcess; but CreateNetworkConnectionToWebProcess message has
DispatchMessageEvenWhenWaitingForSyncReply flag set, so it might get processed earlier.
To fix the issue, now we send set DispatchMessageEvenWhenWaitingForSyncReply flag on AddWebsiteDataStore message
too, so it's processed before CreateNetworkConnectionToWebProcess.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::addSession):
- 11:48 AM Changeset in webkit [288753] by
-
- 3 edits in trunk/Source/WebCore
JSEventListener::replaceJSFunctionForAttributeListener() should not replace m_wrapper unconditionally
https://bugs.webkit.org/show_bug.cgi?id=235658
Unreviewed, follow-up to r288648 based on Geoff's feedback.
Assert that if replaceJSFunctionForAttributeListener() is invoked, m_wrapper is
alive and remains unchanged. Remove writeBarrier() as ensureJSFunction() sets it
up only for functions created from source code.
To meet the expectation for Window-reflecting event handlers, ensure that
setAttributeEventListener() is called with the correct wrapper, and also call it
directly on DOMWindow to improve readability.
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-28
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- bindings/js/JSEventListener.h:
(WebCore::setWindowEventHandlerAttribute):
- 11:47 AM Changeset in webkit [288752] by
-
- 1 edit in branches/safari-613-branch/Source/WTF/wtf/PlatformEnable.h
Apply patch. rdar://problem/88164014
- 11:29 AM Changeset in webkit [288751] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r288591. rdar://problem/87850345
[macOS][WP] Allow mach extension to service
https://bugs.webkit.org/show_bug.cgi?id=235599
<rdar://87850345>
Reviewed by Darin Adler.
Allow mach extension to a service in the WebContent process on macOS.
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:07 AM Changeset in webkit [288750] by
-
- 2 edits in trunk/Source/WebKit
[macOS][WP] Add required syscall
https://bugs.webkit.org/show_bug.cgi?id=235828
<rdar://88177392>
Reviewed by Darin Adler.
- WebProcess/com.apple.WebProcess.sb.in:
- 11:03 AM Changeset in webkit [288749] by
-
- 6 edits in trunk/Source
Catalyst builds fail for WebCore, WebKi and WebKitLegacy for builds with system content path
https://bugs.webkit.org/show_bug.cgi?id=235821
Reviewed by Saam Barati.
Source/WebCore:
The value of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR for Catalyst builds had the system content prefix
after the Catalyst prefix. I reversed them.
- Configurations/WebCore.xcconfig:
Source/WebKit:
Eliminated the system content prefix from ALTERNATE_ROOT_PATH since it is the old location.
Changed the create symlink script to create the directory path leading up to the symlink because
it isn't created for Catalyst builds.
- Configurations/SDKVariant.xcconfig:
- Configurations/WebKit.xcconfig:
- Scripts/create-symlink-to-altroot.sh:
- WebKit.xcodeproj/project.pbxproj:
- 11:01 AM Changeset in webkit [288748] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] YarrJIT optimization for character BM search
https://bugs.webkit.org/show_bug.cgi?id=235738
Reviewed by Saam Barati.
Add micro-optimization of BM search path. Since it is super hot path,
this small improvement offsers 1% in jquery-todomvc-regexp microbenchmark.
ToT Patched
jquery-todomvc-regexp 484.1399+-1.0527 479.0932+-1.0999 definitely 1.0105x faster
- yarr/YarrJIT.cpp:
- 10:33 AM Changeset in webkit [288747] by
-
- 3 edits in trunk/Source/WebKit
Symbols not always properly hidden when using WebKitAdditions to introduce new API
https://bugs.webkit.org/show_bug.cgi?id=235674
<rdar://87999257>
Reviewed by Wenson Hsieh.
Follow-up to r288658 to address post commit feedback from Alexey Proskuryakov.
- UIProcess/API/Cocoa/WKWebpagePreferences.h:
- mac/replace-webkit-additions-includes.py:
(main):
- 10:28 AM Changeset in webkit [288746] by
-
- 2 edits in trunk/Source/WTF
Enable inert attribute feature flag
https://bugs.webkit.org/show_bug.cgi?id=235668
Reviewed by Darin Adler.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 10:09 AM Changeset in webkit [288745] by
-
- 3 edits in trunk/LayoutTests
Add copy-to-clipboard button for fuzzy matching meta tag
https://bugs.webkit.org/show_bug.cgi?id=235665
Reviewed by Darin Adler.
- fast/harness/image-diff-template.html: Add button which cycles through different versions of
the fuzzy match string to allow for both absolute values and a range. Add a button that copies
that text and inserts into meta tag string prior to copying to clipboard.
- fast/harness/image-diff-template-expected.txt:
- 9:37 AM Changeset in webkit [288744] by
-
- 3 edits in trunk/Tools/CISupport/build-webkit-org
Bring up additional test queues on Big Sur
https://bugs.webkit.org/show_bug.cgi?id=235446
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/config.json:
- CISupport/build-webkit-org/factories_unittest.py:
(TestExpectedBuildSteps):
- CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
Canonical link: https://commits.webkit.org/246537@main
- 9:29 AM Changeset in webkit [288743] by
-
- 2 edits3 adds in trunk/Source/WebInspectorUI
Web Inspector: Add another Protocol Version (iOS 15.4)
https://bugs.webkit.org/show_bug.cgi?id=235741
Reviewed by Devin Rousso.
- UserInterface/Models/Animation.js:
(WI.Animation.prototype.requestEffectTarget):
- Update compatibility comment to reflect that the change is not present in iOS 15.4 or earlier.
- UserInterface/Protocol/Legacy/15.4/InspectorBackendCommands.js: Added.
- Versions/Inspector-iOS-15.4.json: Added.
- 9:16 AM Changeset in webkit [288742] by
-
- 4 edits in trunk
[XCBuild] Small corrections to build-webkit and Makefile for workspace builds
https://bugs.webkit.org/show_bug.cgi?id=235747
Patch by Elliott Williams <Elliott Williams> on 2022-01-28
Reviewed by Alexey Proskuryakov.
.:
- Makefile: Set SCRIPTS_PATH correctly from the root of the repo
Tools:
- Scripts/build-webkit: When --use-workspace is passed, assume --xcbuild
- 8:09 AM Changeset in webkit [288741] by
-
- 2 edits in trunk/Source/WebKit
AX: Isolated tree object frames no longer encode content offsets, so hit testing should be updated accordingly
https://bugs.webkit.org/show_bug.cgi?id=235726
Reviewed by Chris Fleizach.
In -[WKAccessibilityWebPageObjectMac accessibilityHitTest], we have a special isolated tree case:
Isolated tree frames have the offset encoded into them so we don't need to undo here.
#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
applyContentOffset = !WebCore::AXObjectCache::isIsolatedTreeEnabled();
#endif
The statement in the comment no longer seems to be true, as not applying this content offset results
in hit testing working incorrectly (the point given to WebCore is too small).
This is because isolated tree hit testing used to use relative frames:
But now doesn't, instead deferring to the live, main-thread AX object, which doesn't use relative frames:
This patch removes this isolated-tree-specific behavior.
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
(-[WKAccessibilityWebPageObject accessibilityHitTest:]):
- 8:00 AM Changeset in webkit [288740] by
-
- 3 edits in trunk/Tools
[EWS] Only make a single request to GitHub when validating PR
https://bugs.webkit.org/show_bug.cgi?id=235716
<rdar://problem/88133197>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(GitHubMixin._is_pr_closed): Accept pr_json, do not make request.
(GitHubMixin._is_pr_obsolete): Ditto.
(ValidateChange.validate_github): Make request and pass json to functions.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/246533@main
- 7:27 AM Changeset in webkit [288739] by
-
- 5 edits in trunk
[GTK][a11y] WTR: implement AccessibilityUIElement::isIgnored() for ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235761
Reviewed by Adrian Perez de Castro.
Source/WebCore:
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::isIgnored const):
- accessibility/atspi/AccessibilityObjectAtspi.h:
Tools:
- WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::AccessibilityUIElement::isIgnored const):
- 7:25 AM Changeset in webkit [288738] by
-
- 4 edits in trunk
[GTK][a11y] Return the list of column/row headers from header cells too with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235711
Reviewed by Adrian Perez de Castro.
Source/WebCore:
We are only returning the list of column/row headers from cells that are not headers for consistency with
chromium. However, our layout tests don't expect that and firefox doesn't do it either.
- accessibility/atspi/AccessibilityObjectTableCellAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::cellRowHeaders const):
(WebCore::AccessibilityObjectAtspi::cellColumnHeaders const):
Tools:
- TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
(testTableBasic):
- 7:22 AM Changeset in webkit [288737] by
-
- 2 edits4 deletes in trunk/LayoutTests
[WPT] Remove outdated Web Animations expectations
https://bugs.webkit.org/show_bug.cgi?id=235767
Unreviewed test gardening.
LayoutTests/imported/w3c:
- web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt: Removed.
- web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt: Removed.
- web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Removed.
LayoutTests:
- platform/glib/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Removed.
- 5:28 AM Changeset in webkit [288736] by
-
- 2 edits in trunk
[WPE] Build error with ACCESSIBILITY=OFF after r288731
https://bugs.webkit.org/show_bug.cgi?id=235764
Reviewed by Adrian Perez de Castro.
- Source/cmake/OptionsWPE.cmake:
- 3:35 AM Changeset in webkit [288735] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/loadConfig.py
[ews] validate-change step fails while running for a try build
https://bugs.webkit.org/show_bug.cgi?id=235750
Reviewed by Jonathan Bedard.
- Tools/CISupport/ews-build/loadConfig.py:
(loadBuilderConfig):
Canonical link: https://commits.webkit.org/246528@main
Jan 27, 2022:
- 11:58 PM Changeset in webkit [288734] by
-
- 20 edits in trunk
Radio buttons with no form owner are not grouped
https://bugs.webkit.org/show_bug.cgi?id=220502
<rdar://problem/73300895>
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more checks are passing.
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt:
Source/WebCore:
Per the HTML specification and to match the behavior of both Gecko and Blink,
radio buttons should still be grouped, even if they are disconnected and not
owned by a form.
This patch aligns our behavior with Gecko and Blink and is based on the following
Blink commit:
No new tests, rebaselined existing tests.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::didChangeForm):
(WebCore::HTMLInputElement::insertedIntoAncestor):
(WebCore::HTMLInputElement::removedFromAncestor):
(WebCore::HTMLInputElement::checkedRadioButtonForGroup const):
- html/InputType.h:
(WebCore::InputType::willUpdateCheckedness):
- html/RadioInputType.cpp:
(WebCore::RadioInputType::valueMissing const):
(WebCore::RadioInputType::willUpdateCheckedness):
- html/RadioInputType.h:
LayoutTests:
- fast/forms/radio/ValidityState-valueMissing-radio-expected.txt:
- fast/forms/radio/ValidityState-valueMissing-radio.html:
- fast/forms/radio/radio-live-validation-style-expected.txt:
- fast/forms/radio/radio-live-validation-style.html:
Update existing tests to reflect behavior change. I have verified that our behavior on those tests
is aligned with both Firefox and Chrome.
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
Rebaseline existing WPT tests now that more checks are passing.
- 11:33 PM Changeset in webkit [288733] by
-
- 3 edits in trunk/Source/WebCore
[WPE] Unreviewed, fix non-unified build after r288672
https://bugs.webkit.org/show_bug.cgi?id=235756
- Modules/webxr/XRReferenceSpaceEvent.cpp:
- loader/ProgressTracker.h:
- 11:31 PM Changeset in webkit [288732] by
-
- 15 edits3 copies2 adds in trunk/Source
Introduce WebFoundTextRange and WebFoundTextRangeController to support restorable find results
https://bugs.webkit.org/show_bug.cgi?id=235691
rdar://88117167
Reviewed by Wenson Hsieh.
Source/WebCore:
- editing/TextIterator.cpp:
(WebCore::findIteratorOptions): Deleted.
- editing/TextIterator.h:
(WebCore::findIteratorOptions):
Moved method into header to share logic.
- page/Page.cpp:
(WebCore::Page::findTextMatches):
Added a way to suppress marking text matches.
- page/Page.h:
Source/WebKit:
To better support the _UITextSearching protocol, WKWebView needs to be
able to restore find-in-page results found in other views with the same
content.
The desired functionality is achieved through the use of two new interfaces:
WebFoundTextRange, which represents a range of found text, and
WebFoundTextRangeController, which will be responsible for finding,
decorating, and scrolling to ranges.
A "found text range" is uniquely identified by a location, length,
frame identifier, and order. The location and length represent a
character range in document corresponding to the frame identifier.
The order represents the relative ordering between ranges - for
example, results in the main frame are ordered before results in a
subframe.
This is the first in a series of patches that implements the interface.
The available methods on WebFoundTextRangeController map one-to-one with
the _UITextSearching protocol. This patch implements the creation of
restorable found ranges.
- Scripts/generate-unified-sources.sh:
Increase unified build files to 120.
- Scripts/webkit/messages.py:
(headers_for_type):
- Shared/WebFindOptions.cpp: Copied from Source/WebKit/Shared/WebFindOptions.h.
(WebKit::core):
- Shared/WebFindOptions.h:
- Shared/WebFoundTextRange.cpp:
(WebKit::WebFoundTextRange::operator== const):
(WebKit::WebFoundTextRange::encode const):
(WebKit::WebFoundTextRange::decode):
- Shared/WebFoundTextRange.h:
(WTF::WebFoundTextRangeHash::hash):
(WTF::WebFoundTextRangeHash::equal):
(WTF::HashTraits<WebKit::WebFoundTextRange>::emptyValue):
(WTF::HashTraits<WebKit::WebFoundTextRange>::constructDeletedValue):
(WTF::HashTraits<WebKit::WebFoundTextRange>::isDeletedValue):
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::decode):
Fix unified source-related build failure.
- Sources.txt:
- UnifiedSources-output.xcfilelist:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/FindController.cpp:
(WebKit::core): Deleted.
- WebProcess/WebPage/FindController.h:
- WebProcess/WebPage/WebFoundTextRangeController.cpp: Added.
(WebKit::WebFoundTextRangeController::WebFoundTextRangeController):
(WebKit::WebFoundTextRangeController::findTextRangesForStringMatches):
Use the FrameTrees's uniqueName as a frame identifier for the found
text range. These names are consistent across web content with the
same markup.
(WebKit::WebFoundTextRangeController::decorateTextRangeWithStyle):
(WebKit::WebFoundTextRangeController::scrollTextRangeToVisible):
(WebKit::WebFoundTextRangeController::clearAllDecoratedFoundText):
(WebKit::WebFoundTextRangeController::didBeginTextSearchOperation):
(WebKit::WebFoundTextRangeController::didEndTextSearchOperation):
(WebKit::WebFoundTextRangeController::willMoveToPage):
(WebKit::WebFoundTextRangeController::didMoveToPage):
(WebKit::WebFoundTextRangeController::mouseEvent):
(WebKit::WebFoundTextRangeController::drawRect):
- WebProcess/WebPage/WebFoundTextRangeController.h: Added.
- 11:05 PM Changeset in webkit [288731] by
-
- 11 edits in trunk
[WPE][a11y] Add option to build with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235701
Reviewed by Adrian Perez de Castro.
.:
- Source/cmake/OptionsWPE.cmake:
Source/WebCore:
- PlatformWPE.cmake:
- SourcesWPE.txt:
Source/WebKit:
- UIProcess/wpe/WebPageProxyWPE.cpp:
(WebKit::WebPageProxy::bindAccessibilityTree):
- WebProcess/WebPage/wpe/WebPageWPE.cpp:
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::platformDetach):
- WebProcess/wpe/WebProcessMainWPE.cpp:
Tools:
- WebKitTestRunner/PlatformWPE.cmake:
- 11:04 PM Changeset in webkit [288730] by
-
- 5 edits in trunk/Source/WebCore
[GTK][a11y] Do not set the accessibility root object on svg image page elements with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235705
Reviewed by Adrian Perez de Castro.
This was needed only because of isolated tree mode.
- accessibility/AccessibilityRenderObject.cpp:
- accessibility/atspi/AXObjectCacheAtspi.cpp:
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
- accessibility/atspi/AccessibilityObjectAtspi.h:
- 11:03 PM Changeset in webkit [288729] by
-
- 2 edits in trunk/Source/WebCore
[GTK][a11y] Ignore span elements with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235704
Reviewed by Adrian Perez de Castro.
Their text contents are exposed as part of the parent object.
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const):
- 11:02 PM Changeset in webkit [288728] by
-
- 20 edits5 adds in trunk
[Model] Allow disabling interaction
https://bugs.webkit.org/show_bug.cgi?id=227621
<rdar://problem/80079703>
Reviewed by Darin Adler.
Source/WebCore:
We add support for the "interactive" IDL property and HTML attribute as discussed
in the <model> explainer at https://github.com/WebKit/explainers/tree/main/model.
If the "interactive" property is "true", then the HTML "interactive" attribute is
set on the element. If the property is "false", then the HTML attribute is absent.
Likewise, if the HTML attribute is present, the property returns "true". If the
HTML attribute is midding, the property returns "false".
Note that the value held by the HTML attribute is not taken into account, its mere
presence is all that is required.
Based on the value of the "interactive" property, we either disable or enable
interaction. On macOS, we check the property in HTMLModelElement::defaultEventHandler()
while on iOS, where dragging is performed entirely in the UI process, we use the
new ModelPlayer::setInteractionEnabled() method.
By default, interaction is disabled.
Tests: model-element/model-element-interactive-dragging.html
model-element/model-element-interactive.html
- Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::isInteractive const):
(WebCore::HTMLModelElement::attributeChanged):
(WebCore::HTMLModelElement::defaultEventHandler):
- Modules/model-element/HTMLModelElement.h:
- Modules/model-element/HTMLModelElement.idl:
- Modules/model-element/ModelPlayer.cpp:
(WebCore::ModelPlayer::setInteractionEnabled):
- Modules/model-element/ModelPlayer.h:
- html/HTMLAttributeNames.in:
Source/WebKit:
Override the new ModelPlayer::setInteractionEnabled() method for the iOS flavor
and send the value up to the UI process such that it may set the matching value
for UIView.userInteractionEnabled on the matching WKModelView.
- UIProcess/Cocoa/ModelElementControllerCocoa.mm:
(WebKit::ModelElementController::setInteractionEnabledForModelElement):
- UIProcess/ModelElementController.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::modelElementSetInteractionEnabled):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WKModelView.mm:
(-[WKModelView initWithModel:]):
- WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.h:
- WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.mm:
(WebKit::ARKitInlinePreviewModelPlayerIOS::setInteractionEnabled):
LayoutTests:
Add two new tests:
- model-element/model-element-interactive.html tests the "interactive" IDL property
and the "interactive" HTML attribute,
- model-element/model-element-interactive-dragging.html tests that the "interactive"
IDL property correctly disables setting the camera by dragging when "false", and allows
it when "true".
We also refactor some code previously found in model-element/model-element-camera.html
to now be in the shared model-element/resources/model-utils.js to ease writing <model>
tests.
- model-element/model-element-camera.html:
- model-element/model-element-interactive-dragging-expected.txt: Added.
- model-element/model-element-interactive-dragging.html: Added.
- model-element/model-element-interactive-expected.txt: Added.
- model-element/model-element-interactive.html: Added.
- model-element/resources/model-utils.js: Added.
(const.makeModel):
(const.bodyAvailability.async return):
(const.bodyAvailability):
(const.readyModel.async test):
(const.assert_cameras_are_equal):
(const.assert_cameras_are_not_equal):
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 11:01 PM Changeset in webkit [288727] by
-
- 3 edits in trunk/Tools
[GTK][a11y] WTR: add implementation for all relation APIs with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235702
Reviewed by Adrian Perez de Castro.
There's more API that is ATK only but should be implemented by ATSPI too.
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex):
(WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageReferencingElementAtIndex):
- 11:00 PM Changeset in webkit [288726] by
-
- 5 edits in trunk/Source/WebCore
[GTK][a11y] Do not set the children count when serializing objects for the ATSPI cache
https://bugs.webkit.org/show_bug.cgi?id=235700
Reviewed by Adrian Perez de Castro.
It's confusing the cache if things don't happen in the expected order. We handle the children by emitting the
children-changed signals. When the children count is set in the cache by AddAccessible signal or as a response
to GetItems, atspi sets the accessible children vector size to the given value. If children-changed:add is
emitted after that, it's considered a new child and the children vector grows. So, we end up with the double of
children, but half of them are just null.
- accessibility/atspi/AccessibilityAtspi.cpp:
(WebCore::AccessibilityAtspi::registerObject): Add the registered object to the update cache list.
(WebCore::AccessibilityAtspi::unregisterObject): Remove the object from the cache and emit RemoveAccessible
signal if needed.
(WebCore::AccessibilityAtspi::parentChanged): Stop registering the objects here, they will be registered when
actually needed. Also don't emit the signal if the object is pending, because AddAccessible will update the cache.
(WebCore::AccessibilityAtspi::childrenChanged): Do not add the pending objects to the cache, we can just emit
the signal now and cache will be updated later.
(WebCore::AccessibilityAtspi::stateChanged): Ditto.
(WebCore::AccessibilityAtspi::textChanged): Ditto.
(WebCore::AccessibilityAtspi::textAttributesChanged): Ditto.
(WebCore::AccessibilityAtspi::textCaretMoved): Ditto.
(WebCore::AccessibilityAtspi::textSelectionChanged): Ditto.
(WebCore::AccessibilityAtspi::valueChanged): Ditto.
(WebCore::AccessibilityAtspi::selectionChanged): Ditto.
(WebCore::AccessibilityAtspi::loadEvent): Ditto.
(WebCore::AccessibilityAtspi::cacheUpdateTimerFired): Copy the list because addToCacheIfNeeded() might add new
items to the that we don't want to process in this iteration.
(WebCore::AccessibilityAtspi::addToCacheIfPending): Deleted.
(WebCore::AccessibilityAtspi::addAccessible): Deleted.
(WebCore::AccessibilityAtspi::removeAccessible): Deleted.
- accessibility/atspi/AccessibilityAtspi.h:
- accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::registerObject): Remove the call to addAccessible, it's now done in AccessibilityAtspi::registerObject.
(WebCore::AccessibilityObjectAtspi::serialize const): Pass -1 as children count to ensure the children vector is
not modified.
- accessibility/atspi/AccessibilityRootAtspi.cpp:
(WebCore::AccessibilityRootAtspi::serialize const): Ditto.
- 10:59 PM Changeset in webkit [288725] by
-
- 2 edits in trunk/Source/WebCore
[GTK][a11y] Keep a reference to the parent wrapper with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235699
Reviewed by Adrian Perez de Castro.
When wrappers are destroyed it doesn't necessarily happen in the tree order, we need to keep the parent alive to
emit the children-changed signal.
- accessibility/atspi/AccessibilityObjectAtspi.h:
- 10:58 PM Changeset in webkit [288724] by
-
- 2 edits in trunk/Source/WebCore
[GTK][a11y] Return null reference for root parent reference if queried before being embedded
https://bugs.webkit.org/show_bug.cgi?id=235698
Reviewed by Adrian Perez de Castro.
Once embedded parent-changed will be emitted.
- accessibility/atspi/AccessibilityRootAtspi.cpp:
(WebCore::AccessibilityRootAtspi::parentReference const):
- 10:53 PM Changeset in webkit [288723] by
-
- 9 edits in trunk/Source
<model> should not be draggable on macOS
https://bugs.webkit.org/show_bug.cgi?id=235697
Reviewed by Dean Jackson.
Source/WebCore:
As part of bug 229246 we added support for dragging <model> elements. However, it did not
work on macOS in practice so we make that explicit.
This is also important leading up to bug 227621, where we'll implement the "interactive"
HTML attribute and IDL property, since disabling dragging over a <model> element to adjust
the camera would trigger a crash under Pasteboard::write() on macOS due to not having an
image set on the pasteboard data.
- Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::supportsDragging const):
(WebCore::HTMLModelElement::isDraggableIgnoringAttributes const):
- Modules/model-element/HTMLModelElement.h:
- Modules/model-element/ModelPlayer.cpp:
(WebCore::ModelPlayer::supportsDragging):
- Modules/model-element/ModelPlayer.h:
- page/DragController.cpp:
(WebCore::modelElementIsDraggable):
Source/WebKit:
Override the ModelPlayer method to disable <model> dragging on macOS.
- WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.h:
- WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:
(WebKit::ARKitInlinePreviewModelPlayerMac::supportsDragging):
- 10:51 PM Changeset in webkit [288722] by
-
- 2 edits in trunk/Source/WebKit
Remove unnecessary build-time branch in ARKitInlinePreviewModelPlayerMac::supportsMouseInteraction()
https://bugs.webkit.org/show_bug.cgi?id=235729
Reviewed by Dean Jackson.
The whole file is wrapped in a #if ENABLE(ARKIT_INLINE_PREVIEW_MAC) statement already.
- WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:
(WebKit::ARKitInlinePreviewModelPlayerMac::supportsMouseInteraction):
- 9:13 PM Changeset in webkit [288721] by
-
- 9 edits in trunk
DocumentContext gives empty rects for blank lines.
https://bugs.webkit.org/show_bug.cgi?id=235695
Reviewed by Wenson Hsieh.
Source/WebCore:
Test: DocumentEditingContext::RectsRequestInContentEditable
When requesting the document context for the end of a document, we would give empty rects for
blank lines. This was because when calculating the absoluteBoundingRect for the range, we
would use a normal unionRect call, which would use the basic unite call, which does not combine
empty rects. And empty rect is defined as a rect that does not have a non-zero hight and width.
Since we were calculating information about <br> lines, this was causing us to union a list of
a single rect, which was an empty rect. This left us with a zero rect after unioning. The solution
is to unionIfNonZero when calculating these rects for DocumentContext. I also took the opportunity
to make some of this code more parallel to other implementations.
- platform/graphics/GeometryUtilities.cpp:
(WebCore::unionRectIfNonZero):
- platform/graphics/GeometryUtilities.h:
- platform/graphics/IntRect.cpp:
(WebCore::IntRect::uniteIfNonZero):
- platform/graphics/IntRect.h:
(WebCore::IntRect::isZero const):
Source/WebKit:
When requesting the document context for the end of a document, we would give empty rects for
blank lines. This was because when calculating the absoluteBoundingRect for the range, we
would use a normal unionRect call, which would use the basic unite call, which does not combine
empty rects. And empty rect is defined as a rect that does not have a non-zero hight and width.
Since we were calculating information about <br> lines, this was causing us to union a list of
a single rect, which was an empty rect. This left us with a zero rect after unioning. The solution
is to unionIfNonZero when calculating these rects for DocumentContext. I also took the opportunity
to make some of this code more parallel to other implementations.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDocumentEditingContext):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST): DocumentEditingContext::RectsRequestInContentEditable
- 7:11 PM Changeset in webkit [288720] by
-
- 9 edits in trunk/Source
Remove ENABLE(HOVER_GESTURE_RECOGNIZER) and related code
https://bugs.webkit.org/show_bug.cgi?id=235749
Source/WebKit:
<rdar://problem/86425437>
Reviewed by Wenson Hsieh.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setUpInteraction]):
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
(-[WKContentView gestureRecognizer:shouldReceivePress:]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView _didCommitLoadForMainFrame]):
(-[WKContentView setUpHoverGestureRecognizer]): Deleted.
(-[WKContentView hoverGestureRecognizerChanged:]): Deleted.
- UIProcess/ios/WKHoverPlatter.h:
- UIProcess/ios/WKHoverPlatter.mm:
- UIProcess/ios/WKHoverPlatterParameters.h:
- UIProcess/ios/WKHoverPlatterParameters.mm:
- WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::mode):
(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
(WebKit::MomentumEventDispatcher::equalizeTailGaps):
- WebProcess/WebPage/MomentumEventDispatcher.h:
Source/WTF:
Reviewed by Wenson Hsieh.
- wtf/PlatformEnableCocoa.h:
- 5:51 PM Changeset in webkit [288719] by
-
- 3 edits in trunk/Tools
[git-webkit] Respect EMAIL_ADDRESS environment variable during setup
https://bugs.webkit.org/show_bug.cgi?id=235748
<rdar://problem/88161757>
Reviewed by Ryan Haddad.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Prefer EMAIL_ADDRESS variable over git config email.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:
Canonical link: https://commits.webkit.org/246512@main
- 5:23 PM Changeset in webkit [288718] by
-
- 2 edits in trunk
[CMake] Do not require GNU Gold usage to enable DEBUG_FISSION
https://bugs.webkit.org/show_bug.cgi?id=235737
Reviewed by Michael Catanzaro.
- Source/cmake/OptionsCommon.cmake: Allow enabling DEBUG_FISSION with any linker.
- 5:08 PM Changeset in webkit [288717] by
-
- 1 copy in tags/Safari-613.1.14.5.4
Tag Safari-613.1.14.5.4.
- 5:07 PM Changeset in webkit [288716] by
-
- 15 edits in branches/safari-613.1.14.5-branch/Source
Cherry-pick r288710. rdar://problem/88100509
com.apple.WebKit.WebAuthn.xpc fails to build with system content path
https://bugs.webkit.org/show_bug.cgi?id=235734
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Adjusted build path variables to handle the case when building for Catalyst.
Did this by refactoring how the optional system content path is added as a prefix to paths.
As a result, modified the create symlink script to not be dependent on the target location,
since it isn't created when doing a catalyst build. Instead the script creates the parent
directory of the symlink if it doesn't exisst.
- Configurations/Base.xcconfig:
- Configurations/JSC.xcconfig:
- Configurations/JavaScriptCore.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/create-symlink-to-altroot.sh:
Source/ThirdParty/libwebrtc:
Added explicit PUBLIC_HEADERS_FOLDER_PATH vavriable. Otherwise we get the
project version with didn't include the "libwebrtc" component.
- Configurations/libwebrtc.xcconfig:
Source/WebCore:
Since WebCore is installed under the WebKit framework on macOS, we don't need a symlink for the
WebCore.framework itself. As a result, modified the create symlink script to not be dependent
on the target location, since it isn't created when doing a catalyst build.
Instead the script creates the parent directory of the symlink if it doesn't exisst.
- Configurations/WebCore.xcconfig:
- Scripts/create-symlink-to-altroot.sh:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
Since we symlink the the whole framework when building the main "WebKit" target,
we can eliminate the create symlink script for the WebAuth target.
Eliminated the setting of ALTERNATE_ROOT_PATH build variables for all XPC services.
- Configurations/BaseXPCService.xcconfig:
- WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:06 PM Changeset in webkit [288715] by
-
- 9 edits in branches/safari-613.1.14.5-branch/Source
Versioning.
WebKit-7613.1.14.5.4
- 4:58 PM Changeset in webkit [288714] by
-
- 2 edits in trunk/Tools
[EWS] Differentiate UAT and production PR processing
https://bugs.webkit.org/show_bug.cgi?id=235669
<rdar://problem/88093065>
Reviewed by Aakash Jain.
- CISupport/ews-build/events.py:
(Events.buildFinished): Append custom_suffix to reported context.
(Events.stepStartedGitHub): Ditto.
Canonical link: https://commits.webkit.org/246510@main
- 4:53 PM Changeset in webkit [288713] by
-
- 1 copy in tags/Safari-614.1.1
Tag Safari-614.1.1.
- 4:44 PM Changeset in webkit [288712] by
-
- 2 edits in trunk/Source/WTF
Unreviewed fix for older macOS builds after r288577.
- wtf/Assertions.h:
- 4:42 PM Changeset in webkit [288711] by
-
- 3 edits in trunk/Source/WebKit
[iOS][macOS] Removed unneeded telemetry
https://bugs.webkit.org/show_bug.cgi?id=235742
Reviewed by Darin Adler.
Remove some telemetry we have sufficient data for.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 4:24 PM Changeset in webkit [288710] by
-
- 15 edits in trunk/Source
com.apple.WebKit.WebAuthn.xpc fails to build with system content path
https://bugs.webkit.org/show_bug.cgi?id=235734
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Adjusted build path variables to handle the case when building for Catalyst.
Did this by refactoring how the optional system content path is added as a prefix to paths.
As a result, modified the create symlink script to not be dependent on the target location,
since it isn't created when doing a catalyst build. Instead the script creates the parent
directory of the symlink if it doesn't exisst.
- Configurations/Base.xcconfig:
- Configurations/JSC.xcconfig:
- Configurations/JavaScriptCore.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/create-symlink-to-altroot.sh:
Source/ThirdParty/libwebrtc:
Added explicit PUBLIC_HEADERS_FOLDER_PATH vavriable. Otherwise we get the
project version with didn't include the "libwebrtc" component.
- Configurations/libwebrtc.xcconfig:
Source/WebCore:
Since WebCore is installed under the WebKit framework on macOS, we don't need a symlink for the
WebCore.framework itself. As a result, modified the create symlink script to not be dependent
on the target location, since it isn't created when doing a catalyst build.
Instead the script creates the parent directory of the symlink if it doesn't exisst.
- Configurations/WebCore.xcconfig:
- Scripts/create-symlink-to-altroot.sh:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
Since we symlink the the whole framework when building the main "WebKit" target,
we can eliminate the create symlink script for the WebAuth target.
Eliminated the setting of ALTERNATE_ROOT_PATH build variables for all XPC services.
- Configurations/BaseXPCService.xcconfig:
- WebKit.xcodeproj/project.pbxproj:
- 4:01 PM Changeset in webkit [288709] by
-
- 1 edit1 add in trunk
Add .clangd similar to .ccls
https://bugs.webkit.org/show_bug.cgi?id=235743
Reviewed by Saam Barati.
This patch adds .clangd local configuration, which is similar to .ccls.
- .clangd: Added.
- 3:29 PM Changeset in webkit [288708] by
-
- 1 edit in trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/editor.py
VSCode needs to be an option for commit message editor in git-webkit
https://bugs.webkit.org/show_bug.cgi?id=235731
Reviewed by Jonathan Bedard.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/editor.py:
(Editor):
(Editor.vscode):
(Editor.programs):
Canonical link: https://commits.webkit.org/246505@main
- 3:24 PM Changeset in webkit [288707] by
-
- 9 edits in trunk
Geolocation API should callback with error if doc is not fully active
https://bugs.webkit.org/show_bug.cgi?id=228319
<rdar://problem/81450315>
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
- web-platform-tests/geolocation-API/non-fully-active.https-expected.txt:
Rebaseline WPT test that is now passing.
Source/WebCore:
Test: imported/w3c/web-platform-tests/geolocation-API/non-fully-active.https.html
- Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::getCurrentPosition):
(WebCore::Geolocation::watchPosition):
Schedule a task to call the error callback if the document is not fully active, as
per the specification:
- dom/TaskSource.h:
As Geolocation task source for the HTML5 event loop, as per the Geolocation
specification.
LayoutTests:
Update existing layout tests to reflect behavior change.
- fast/dom/Geolocation/disconnected-frame-already-expected.txt:
- fast/dom/Geolocation/disconnected-frame-already.html:
Aligns test assertions with the spec. Gecko also passes it.
- TestExpectations: Unskip the WPT test.
- 3:22 PM Changeset in webkit [288706] by
-
- 2 edits in trunk/Source/WTF
Change version number for HAVE_PASSKIT_DEFAULT_SHIPPING_METHOD
https://bugs.webkit.org/show_bug.cgi?id=235732
<rdar://problem/88152385>
Reviewed by Wenson Hsieh.
- wtf/PlatformHave.h:
- 3:18 PM Changeset in webkit [288705] by
-
- 2 edits in trunk/Tools
[EWS] Ignore hooks from closed PRs
https://bugs.webkit.org/show_bug.cgi?id=235666
<rdar://problem/88091611>
Unreviewed follow-up fix.
- Tools/CISupport/ews-build/events.py:
(GitHubEventHandlerNoEdits.handle_pull_request): 'state' is a member of the 'pull_request' dictionary.
- 3:07 PM Changeset in webkit [288704] by
-
- 1 copy in tags/Safari-613.1.15
Tag Safari-613.1.15.
- 2:23 PM Changeset in webkit [288703] by
-
- 2 edits in trunk/Source/WebCore
AXIsolatedObject::children should honor the parameter updateChildrenIfNeeded.
https://bugs.webkit.org/show_bug.cgi?id=235728
<rdar://problem/88149344>
Reviewed by Chris Fleizach.
This will allow to get a more accurate smapshot of the isolated tree
during debugging. For instance it will allow to do AXLOG of the isolated
tree in applyPendingChanges which is currently not possible because
results in infinite recursion.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::children):
- 2:18 PM Changeset in webkit [288702] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: Console: move Preserve Log checkbox navigation item to a gear-with-contextmenu to save space (and match the Network Tab)
https://bugs.webkit.org/show_bug.cgi?id=235541
Reviewed by Patrick Angle.
Also collapse source scope bar into a single button for more space, and align it (and the
filter bar and type scope bar) to the left to better match other tabs.
- UserInterface/Views/LogContentView.js:
(WI.LogContentView):
(WI.LogContentView.prototype.get navigationItems):
(WI.LogContentView.prototype._updateOtherFiltersNavigationItemState): Added.
(WI.LogContentView.prototype._handleOtherFiltersNavigationItemContextMenu): Added.
(WI.LogContentView.prototype._handleClearLogOnNavigateSettingChanged):
(WI.LogContentView.prototype._showHiddenMessagesBannerIfNeeded):
Drive-by: Also reset the message sourceWI.ScopeBarwhen clearing filters.
- UserInterface/Views/LogContentView.css:
(.console-find-banner): Added.
(.message-channel-scope-bar.default-item-selected:not(:hover)): Added.
(.message-channel-scope-bar.default-item-selected:hover): Added.
(.log-scope-bar + .message-channel-scope-bar): Added.
(.console-other-filters-button > .glyph): Added.
(.console-other-filters-button:active > .glyph): Added.
(.console-other-filters-button.active > .glyph): Added.
(.console-other-filters-button.active:active > .glyph): Added.
- UserInterface/Views/ConsoleTabContentView.js:
(WI.ConsoleTabContentView):
Override theflexibleNavigationItemso that there's no expanding space before the filter.
- UserInterface/Views/ConsoleDrawer.js:
(WI.ConsoleDrawer):
Somehow this got overlooked when the constructor ofWI.ContentBrowserwas changed :(
- UserInterface/Views/FindBanner.css:
(.find-banner):
(.find-banner > input[type="search"]):
Add--find-banner-input-margin-startso that this can be overridden by specific clients.
- Localizations/en.lproj/localizedStrings.js:
- 2:11 PM Changeset in webkit [288701] by
-
- 113 edits10 adds in trunk
"Unrecognized Content-Security-Policy directive 'worker-src'."
https://bugs.webkit.org/show_bug.cgi?id=235260
<rdar://problem/83734079>
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
- web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub-expected.txt:
- web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/worker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/worker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/worker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/worker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-classic.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-classic.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-module.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-module.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-classic.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-classic.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-import.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-import.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-module.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-module.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/worker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/worker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/worker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/worker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/script-src-self/worker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/script-src-self/worker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/worker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/worker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/worker-src/dedicated-fallback.sub-expected.txt:
- web-platform-tests/content-security-policy/worker-src/dedicated-none.sub-expected.txt:
- web-platform-tests/content-security-policy/worker-src/dedicated-worker-src-child-fallback-blocked.sub-expected.txt:
- web-platform-tests/content-security-policy/worker-src/dedicated-worker-src-script-fallback.sub-expected.txt:
- web-platform-tests/content-security-policy/worker-src/dedicated-worker-src-self-fallback.sub-expected.txt:
- web-platform-tests/content-security-policy/worker-src/service-none.https.sub-expected.txt:
- web-platform-tests/content-security-policy/worker-src/service-worker-src-child-fallback-blocked.https.sub-expected.txt:
- web-platform-tests/content-security-policy/worker-src/shared-child.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/worker-src/shared-fallback.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/worker-src/shared-list.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/worker-src/shared-none.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/worker-src/shared-self.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/worker-src/shared-worker-src-child-fallback-blocked.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/worker-src/shared-worker-src-child-fallback.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/worker-src/shared-worker-src-default-fallback.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/worker-src/shared-worker-src-script-fallback.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/worker-src/shared-worker-src-self-fallback.sub-expected.txt: Added.
- web-platform-tests/content-security-policy/blob/self-doesnt-match-blob.sub-expected.txt:
- web-platform-tests/content-security-policy/blob/star-doesnt-match-blob.sub-expected.txt:
- web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/worker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-classic.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-classic.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-module.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-module.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-classic.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-classic.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-import.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-import.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-module.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-module.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-import-data.https-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/worker-import-data.http-expected.txt:
- web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/worker-import-data.https-expected.txt:
Source/WebCore:
Implementation of worker-src directive. According to https://www.w3.org/TR/CSP3/#changes-from-level-2
the worker-src directive now restricts URLs that can be loaded by
workers, and defers to child-src if not specified.
- bindings/js/WorkerModuleScriptLoader.cpp:
(WebCore::WorkerModuleScriptLoader::load):
Check worker-src instead of child-src for worker loads.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::isAllowedByContentSecurityPolicy):
- loader/ThreadableLoader.h:
Check worker-src instead of child-src for worker loads.
- page/csp/ContentSecurityPolicy.cpp:
We can remove allowChildContextFromSource which is now fully replaced
by allowWorkerFromSource.
(WebCore::ContentSecurityPolicy::allowWorkerFromSource const):
(WebCore::ContentSecurityPolicy::allowChildContextFromSource const): Deleted.
- page/csp/ContentSecurityPolicy.h:
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::ContentSecurityPolicyDirectiveList::operativeDirectiveForWorkerSrc const):
worker-src defers to child-src, then script-src, then default-src.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForWorker):
(WebCore::ContentSecurityPolicyDirectiveList::addDirective):
- page/csp/ContentSecurityPolicyDirectiveList.h:
- page/csp/ContentSecurityPolicyDirectiveNames.cpp:
- page/csp/ContentSecurityPolicyDirectiveNames.h:
- workers/AbstractWorker.cpp:
(WebCore::AbstractWorker::resolveURL):
- workers/AbstractWorker.h:
We check LegacySchemeRegistry::schemeShouldBypassContentSecurityPolicy
in allowWorkerFromSource, so we don't need to check in in AbstractWorker::resolveURL
anymore. We can also replace the child-src checks with worker-src
ones.
- workers/Worker.cpp:
(WebCore::Worker::create):
- workers/WorkerFontLoadRequest.cpp:
(WebCore::WorkerFontLoadRequest::load):
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::addRegistration):
Block service worker registrations not specified by worker-src.
- workers/shared/SharedWorker.cpp:
(WebCore::SharedWorker::create):
Block shared worker urls not specified by worker-src.
- workers/shared/SharedWorkerScriptLoader.cpp:
(WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
Source/WebKit:
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):
LayoutTests:
Update tests now that worker-src defaults eventually to script-src.
Since this was not the case with child-src, legacy CSP tests do not
expect script-src policies to affect workers. We can fix this by
specifying a separate worker-src policy for these tests to maintain
behavior.
Some wpt tests log random URL strings that change for every test
iteration. For now we can't unskip those.
- http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval.html:
- http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-block-aborts-all-subsequent-imports.html:
- http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked.html:
- http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp.html:
- http/tests/security/contentSecurityPolicy/worker-script-src.html:
- http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-eval.html:
- http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-importScript-redirect-cross-origin.html:
- http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-xhr.html:
- http/tests/security/isolatedWorld/bypass-main-world-csp-worker.html:
- 1:37 PM Changeset in webkit [288700] by
-
- 5 edits in trunk
Default to 32 bit refcount for CanMakeCheckedPtr
https://bugs.webkit.org/show_bug.cgi?id=235723
rdar://86602114
Reviewed by Darin Adler.
Source/WTF:
It is currently uint16_t for no good reason. It is no unreasonable to have an object being referenced
by a large number of other objects.
We just hit the first bug caused by overrunning it (in IFC).
- wtf/CheckedRef.h:
uint16_t -> uint32_t
Tools:
- TestWebKitAPI/Tests/WTF/CheckedPtr.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/CheckedRef.cpp:
- 1:21 PM Changeset in webkit [288699] by
-
- 2 edits in trunk/Source/WebCore
Fix !ENABLE(ACCESSIBILITY) after r288674
https://bugs.webkit.org/show_bug.cgi?id=235727
<rdar://problem/88147878>
Unreviewed build fix.
In r288674 AXObjectCache had updateLoadingProgress added but it wasn't added to the block
of inlined !ENABLE(ACCESSIBILITY) methods further down the file.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::updateLoadingProgress):
- 1:06 PM Changeset in webkit [288698] by
-
- 51 edits3 copies1 move3 adds in trunk
[Payment Request] allow additional payment method specific data to be passed to
complete()
https://bugs.webkit.org/show_bug.cgi?id=235415
<rdar://problem/82970451>
Reviewed by Darin Adler.
Source/WebCore:
This allows for developers/merchants to give additional details to Apple Pay on completion.
Issue: <https://github.com/w3c/payment-request/issues/981>
Spec PR: <https://github.com/w3c/payment-request/pull/982>
Test: http/tests/paymentrequest/ApplePayPaymentCompleteDetails.https.html
- Modules/paymentrequest/PaymentCompleteDetails.h: Added.
- Modules/paymentrequest/PaymentCompleteDetails.idl: Added.
- Modules/paymentrequest/PaymentResponse.h:
- Modules/paymentrequest/PaymentResponse.idl:
- Modules/paymentrequest/PaymentResponse.cpp:
(WebCore::PaymentResponse::complete):
- Modules/paymentrequest/PaymentRequest.h:
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::complete):
- Modules/paymentrequest/PaymentHandler.h:
Add new
dictionary PaymentCompleteDetailsthat's allowed as an optional second argument to
PaymentResponse.prototype.complete. If provided, JSON stringify it and pass the serialized
string data along to the relevantPaymentHandlerfor JSON (re)parsing if the associated
payment method requires it.
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::convertAndValidate):
(WebCore::merge):
(WebCore::ApplePayPaymentHandler::complete):
(WebCore::ApplePayPaymentHandler::retry):
- Modules/applepay/paymentrequest/ApplePayPaymentCompleteDetails.idl: Added.
- Modules/applepay/paymentrequest/ApplePayPaymentCompleteDetails.h: Added.
(WebCore::ApplePayPaymentCompleteDetails::encode const):
(WebCore::ApplePayPaymentCompleteDetails::decode):
Convert the JSON (re)parsed object into aApplePayPaymentCompleteDetails, merging it into
theApplePayPaymentAuthorizationResultpassed to thePaymentCoordinator(see below).
- Modules/applepay/ApplePayPaymentAuthorizationResult.h:
- Modules/applepay/ApplePayPaymentAuthorizationResult.cpp: Added.
(WebCore::ApplePayPaymentAuthorizationResult::isFinalState const):
(WebCore::ApplePayPaymentAuthorizationResult::encode const):
(WebCore::ApplePayPaymentAuthorizationResult::decode):
- Modules/applepay/ApplePaySessionPaymentRequest.h:
- Modules/applepay/ApplePaySessionPaymentRequest.cpp:
(WebCore::isFinalStateResult): Deleted.
- Modules/applepay/ApplePaySession.h:
- Modules/applepay/ApplePaySession.cpp:
(WebCore::convertAndValidate):
(WebCore::ApplePaySession::completePayment):
- Modules/applepay/PaymentCoordinator.h:
- Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::completePaymentSession):
- Modules/applepay/PaymentCoordinatorClient.h:
- loader/EmptyClients.cpp:
- testing/MockPaymentCoordinator.h:
- testing/MockPaymentCoordinator.cpp:
(WebCore::MockPaymentCoordinator::completePaymentSession):
ReplacePaymentAuthorizationResultwithApplePayPaymentAuthorizationResultso that data
doesn't need to be moved between identically shaped structs for sending to the UIProcess.
- Modules/applepay/cocoa/PaymentAPIVersionCocoa.mm:
(WebCore::PaymentAPIVersion::current):
Increment the current version.
- Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.h:
- Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.cpp:
(WebCore::ApplePayAMSUIPaymentHandler::complete):
AMS UI does not allow/require any data to be provided on completion.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Headers.cmake:
- PlatformMac.cmake:
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
This allows for developers/merchants to give additional details to Apple Pay on completion.
Issue: <https://github.com/w3c/payment-request/issues/981>
Spec PR: <https://github.com/w3c/payment-request/pull/982>
- WebProcess/ApplePay/WebPaymentCoordinator.h:
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::completePaymentSession):
- Scripts/webkit/messages.py:
(headers_for_type):
- Shared/WebCoreArgumentCoders.h:
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<WebCore::PaymentAuthorizationResult>::encode): Deleted.
(IPC::ArgumentCoder<WebCore::PaymentAuthorizationResult>::decode): Deleted.
- Shared/ApplePay/WebPaymentCoordinatorProxy.messages.in:
- Shared/ApplePay/WebPaymentCoordinatorProxy.h:
- Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::completePaymentSession):
- Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentSession):
- Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
- Platform/cocoa/PaymentAuthorizationPresenter.h:
- Platform/cocoa/PaymentAuthorizationPresenter.mm:
(WebKit::toPKPaymentAuthorizationStatus):
(WebKit::PaymentAuthorizationPresenter::completePaymentSession):
ReplacePaymentAuthorizationResultwithApplePayPaymentAuthorizationResultso that data
doesn't need to be moved between identically shaped structs for sending to the UIProcess.
- Platform/cocoa/WKPaymentAuthorizationDelegate.h:
- Platform/cocoa/WKPaymentAuthorizationDelegate.mm:
Add some WKA hooks.
Source/WebKitLegacy/mac:
- WebCoreSupport/WebPaymentCoordinatorClient.h:
- WebCoreSupport/WebPaymentCoordinatorClient.mm:
(WebPaymentCoordinatorClient::completePaymentSession):
LayoutTests:
- http/tests/paymentrequest/ApplePayPaymentCompleteDetails.https.html: Added.
- http/tests/paymentrequest/ApplePayPaymentCompleteDetails.https-expected.txt: Added.
- 12:56 PM Changeset in webkit [288697] by
-
- 104 edits in trunk/LayoutTests
Add fuzzy match meta headers to tests
https://bugs.webkit.org/show_bug.cgi?id=235671
Reviewed by Simon Fraser.
LayoutTests/imported/mozilla:
- svg/blend-saturation.svg:
- svg/filters/feComposite-2.svg:
- svg/filters/feFlood-1.svg:
- svg/filters/feFlood-2.svg:
- svg/filters/feImage-1.svg:
- svg/mask-type-01.svg:
- svg/opacity-and-gradient-02.svg:
- svg/text-scale-02.svg:
- svg/text/simple-fill-gradient.svg:
LayoutTests:
Use a conservative range of pixels based on a comparison between an EWS run and a run on an
M1 16" MacBook Pro.
- platform/ios/TestExpectations: a few tests are real failures with accelerated drawing. Mark
as image failures.
- compositing/clipping/border-radius-async-overflow-non-stacking.html: Some of the ranges
were not large enough, and still reported errors on my machine. Expanding range.
- compositing/geometry/css-clip-oversize.html:
- compositing/geometry/scroller-with-clipping-and-foreground-layers.html:
- compositing/masks/compositing-clip-path-and-mask.html:
- compositing/patterns/direct-pattern-compositing-add-text.html:
- compositing/patterns/direct-pattern-compositing-contain.html:
- compositing/patterns/direct-pattern-compositing-padding.html:
- compositing/patterns/direct-pattern-compositing-size.html:
- compositing/patterns/direct-pattern-compositing.html:
- compositing/scrolling/async-overflow-scrolling/border-radius-on-scroll-container.html:
- css3/background/background-repeat-space-border.html:
- css3/background/background-repeat-space-content.html:
- css3/background/background-repeat-space-padding.html:
- css3/blending/background-blend-mode-body-image.html:
- css3/blending/background-blend-mode-body-transparent-color-and-image.html:
- css3/blending/background-blend-mode-body-transparent-image.html:
- css3/filters/filters-on-svg-root.html:
- css3/masking/mask-luminance-gradient.html:
- css3/masking/mask-repeat-space-border.html:
- css3/masking/mask-repeat-space-content.html:
- css3/masking/mask-repeat-space-padding.html:
- fast/attachment/attachment-border-should-stay-inside-attachment.html:
- fast/backgrounds/background-opaque-clipped-gradients.html:
- fast/backgrounds/generated-bck-image-with-small-relative-size.html:
- fast/backgrounds/hidpi-background-image-contain-cover-scale-needs-more-precision.html:
- fast/backgrounds/scaled-gradient-background.html:
- fast/borders/border-painting-inset.html:
- fast/borders/border-painting-outset.html:
- fast/borders/border-radius-on-html.html:
- fast/borders/hidpi-border-painting-groove.html:
- fast/borders/hidpi-border-painting-ridge.html:
- fast/borders/wrong-border-color-when-radius-is-present.html:
- fast/box-shadow/inset-box-shadow.html:
- fast/box-shadow/inset-spread-box-shadow-split-inline.html:
- fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html:
- fast/css/object-fit/object-fit-img-svg2.html:
- fast/gradients/conic-center-outside-box.html:
- fast/gradients/conic-extended-stops.html:
- fast/gradients/conic-from-angle.html:
- fast/gradients/conic-off-center.html:
- fast/gradients/conic-repeating.html:
- fast/gradients/conic-two-hints.html:
- fast/gradients/conic.html:
- fast/gradients/linear-two-hints-angle.html:
- fast/gradients/linear-two-hints.html:
- fast/gradients/radial-two-hints.html:
- fast/images/async-image-background-image-repeated.html:
- fast/images/exif-orientation-background-image-repeat.html:
- fast/images/exif-orientation-svg-feimage.html:
- fast/images/hidpi-image-position-on-device-pixels-with-border-radius.html:
- fast/images/sprite-sheet-image-draw.html:
- fast/inline/inline-background-clip-text-multiline.html:
- fast/shadow-dom/svg-linear-gradient-dynamic-update-href-in-shadow-tree.html:
- fast/shadow-dom/svg-linear-gradient-href-in-shadow-tree.html:
- fast/shadow-dom/svg-radial-gradient-dynamic-update-href-in-shadow-tree.html:
- fast/shadow-dom/svg-radial-gradient-href-in-shadow-tree.html:
- fast/text/empty-shadow.html:
- fast/text/initial-advance-selected-text.html:
- fast/transforms/skew-x-135deg-with-gradient.html:
- fast/transforms/skew-y-135deg-with-gradient.html:
- imported/blink/fast/gradients/large-horizontal-gradient.html:
- imported/blink/fast/gradients/large-vertical-gradient.html:
- imported/blink/svg/custom/fill-fallback-currentcolor-1.svg:
- imported/blink/svg/text/obb-paintserver.html:
- svg/animations/animated-string-href.svg:
- svg/clip-path/clip-opacity.html:
- svg/clip-path/clip-path-shape-rounded-inset-1.svg:
- svg/clip-path/clip-path-shape-rounded-inset-2.svg:
- svg/css/invalid-color-cascade.svg:
- svg/custom/composited-svg-with-opacity.html:
- svg/custom/hidpi-masking-clipping.svg:
- svg/custom/href-svg-namespace-static.svg:
- svg/custom/href-xlink-href-gradient-element.svg:
- svg/custom/local-url-reference-fill.html:
- svg/custom/local-url-reference-radial-gradient.html:
- svg/custom/local-url-reference-srcdoc.html:
- svg/custom/local-url-reference-stroke.html:
- svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop.html:
- svg/dynamic-updates/SVGRadialGradientElement-svgdom-href-prop.html:
- svg/filters/feComposite.svg:
- svg/filters/feImage-element-primitive-subregion.svg:
- svg/gradients/spreadMethod.svg:
- svg/gradients/spreadMethodAlpha.svg:
- svg/gradients/spreadMethodDiagonal.svg:
- svg/gradients/spreadMethodDiagonal2.svg:
- svg/gradients/spreadMethodDiagonal3.svg:
- svg/gradients/spreadMethodDiagonal4.svg:
- svg/gradients/spreadMethodDuplicateStop.svg:
- svg/gradients/spreadMethodReversed.svg:
- svg/gradients/stopAlpha.svg:
- system-preview/badge.html:
- webanimations/opacity-animation.html:
- 12:49 PM Changeset in webkit [288696] by
-
- 8 edits in trunk
[XCBuild] Add missing task dependencies on generate-unified-source-bundles.rb
https://bugs.webkit.org/show_bug.cgi?id=235724
Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.
Source/WebCore:
The targets which generate unified sources all use
/usr/local/include/wtf/Scripts/generate-unified-source-bundles.rb, but do not declare it.
In workspace builds, WTF may not have been built and this header may not exist yet.
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- 12:27 PM Changeset in webkit [288695] by
-
- 1 edit2 adds in trunk/LayoutTests/imported/w3c
Add layout test for Bug 235645
https://bugs.webkit.org/show_bug.cgi?id=235718
Reviewed by Alex Christensen.
- web-platform-tests/html/semantics/forms/the-input-element/radio-multiple-selected-expected.txt: Added.
- web-platform-tests/html/semantics/forms/the-input-element/radio-multiple-selected.html: Added.
- 12:10 PM Changeset in webkit [288694] by
-
- 9 edits in trunk/Source
Unreviewed, reverting r288670.
https://bugs.webkit.org/show_bug.cgi?id=235725
broke TestWebKitAPI.DragAndDropTests.CanStartDragOnModel on
iOS
Reverted changeset:
"<model> should only be draggable on iOS"
https://bugs.webkit.org/show_bug.cgi?id=235697
https://commits.webkit.org/r288670
- 12:07 PM Changeset in webkit [288693] by
-
- 2 edits in trunk/Source/WebCore
AX: Remove ancestor flag initialized ASSERT in AXIsolatedObject::initializeAttributeData
https://bugs.webkit.org/show_bug.cgi?id=235717
Reviewed by Andres Gonzalez.
This patch removes:
ASSERT(isRoot object.ancestorFlagsAreInitialized()); From AXIsolatedObject::initializeAttributeData.
This ASSERT is not very useful, since after
https://bugs.webkit.org/show_bug.cgi?id=235189 we do a single
traversal to compute all flags in the rare but legitimate cases
they aren't already initialized.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
- 12:03 PM Changeset in webkit [288692] by
-
- 21 edits in trunk
Generated xcfilelists contain symlinks when building for macOS
https://bugs.webkit.org/show_bug.cgi?id=235663
rdar://88054903
Source/WebCore:
Introduce a build variable that expands to
Versions/Awhen building for macOS, so that our
input filelists refer to the resolved location of headers and other files inside of
framework bundles. This fixes task dependencies which were not being detected by XCBuild.
Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.
- Configurations/Base.xcconfig:
- Configurations/WebCore.xcconfig:
Source/WebInspectorUI:
Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.
- Configurations/Base.xcconfig:
- Configurations/WebInspectorUIFramework.xcconfig:
Source/WebKit:
Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.
- Configurations/Base.xcconfig:
- Configurations/BaseTarget.xcconfig:
- Configurations/BaseXPCService.xcconfig:
- Configurations/WebKitSwift.xcconfig:
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
Source/WebKitLegacy:
Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.
- Configurations/Base.xcconfig:
- Configurations/BaseTarget.xcconfig:
- Configurations/BaseXPCService.xcconfig:
- Configurations/WebKitSwift.xcconfig:
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
Source/WebKitLegacy/mac:
Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.
- Configurations/Base.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
Tools:
Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.
- DumpRenderTree/mac/Configurations/Base.xcconfig:
- TestWebKitAPI/Configurations/Base.xcconfig:
- WebKitTestRunner/Configurations/Base.xcconfig:
- 11:59 AM Changeset in webkit [288691] by
-
- 3 edits in branches/safari-614.1.1-branch/Source/WebKit
Cherry-pick r288658. rdar://problem/87999257
Symbols not always properly hidden when using WebKitAdditions to introduce new API
https://bugs.webkit.org/show_bug.cgi?id=235674
<rdar://87999257>
Reviewed by Wenson Hsieh.
Surround APIs from WebKitAdditions with
#if ENABLE(API_WEBKIT_ADDITIONS)instead of
#if USE(APPLE_INTERNAL_SDK)and leaving API_WEBKIT_ADDITIONS to be intentionally
undefined. This is because we never want to build the code inside this #if block.
Instead, those blocks are only meant to be replaced by the
replace-webkit-additions-includes.py with the code from WebKitAdditions.
- UIProcess/API/Cocoa/WKWebpagePreferences.h:
- mac/replace-webkit-additions-includes.py: (main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:55 AM Changeset in webkit [288690] by
-
- 8 edits1 add in trunk
ImageAnalysisQueue should prioritize elements that intersect the visible viewport
https://bugs.webkit.org/show_bug.cgi?id=235664
rdar://88131827
Reviewed by Darin Adler.
Source/WebCore:
Make few adjustments to the image analysis queueing mechanism, such that we prioritize analyzing images that
are in the visible document rect over offscreen images. To do this, we turn the current image element queue into
a PriorityQueue instead, which treats images that are in the visible viewport (at enqueueing time) as higher
priority over images that are not in the visible viewport, and otherwise treats images that were queued earlier
as higher priority in the case where both images are either visible or not visible.
Test: ImageAnalysisTests.ImageAnalysisPrioritizesVisibleImages
- page/ImageAnalysisQueue.cpp:
(WebCore::ImageAnalysisQueue::enqueueIfNeeded):
(WebCore::ImageAnalysisQueue::resumeProcessingSoon):
(WebCore::ImageAnalysisQueue::resumeProcessing):
(WebCore::ImageAnalysisQueue::clear):
- page/ImageAnalysisQueue.h:
Swap out the Deque for a PriorityQueue, and introduce ImageAnalysisQueue::Task to represent an image analysis
task (which can be compared against other tasks to determine priority usingfirstIsHigherPriority()below).
(WebCore::ImageAnalysisQueue::firstIsHigherPriority):
Tools:
Add an API test to verify that batch image analysis prioritizes a visible image over another image that appears
first in DOM traversal order, but is offscreen.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
(TestWebKitAPI::processedRequests):
(TestWebKitAPI::processRequestWithResults):
(TestWebKitAPI::makeFakeRequest):
(TestWebKitAPI::makeImageAnalysisRequestSwizzler):
(TestWebKitAPI::processRequestWithError):
Additionally add a mechanism for swizzling out VKImageAnalyzerRequest initialization to return a mock object
(TestVKImageAnalyzerRequest) instead, which can then be used to inspect the CGImage that would've been sent for
analysis. See changes inImageAnalysisTestingUtilities.*below for more information.
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/offscreen-image.html: Added.
- TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.h:
- TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.mm:
(-[TestVKImageAnalyzerRequest initWithCGImage:orientation:requestType:]):
(-[TestVKImageAnalyzerRequest image]):
(-[TestVKImageAnalyzerRequest imageURL]):
(-[TestVKImageAnalyzerRequest setImageURL:]):
(-[TestVKImageAnalyzerRequest pageURL]):
(-[TestVKImageAnalyzerRequest setPageURL:]):
(TestWebKitAPI::createRequest):
- 11:45 AM Changeset in webkit [288689] by
-
- 8 edits in trunk/Source
Disable WebXR experimental feature by default
https://bugs.webkit.org/show_bug.cgi?id=235688
Patch by Ada Chan <ada.chan@apple.com> on 2022-01-27
Reviewed by Tim Horton.
Source/WebKit:
Remove WebKit::defaultWebXREnabled() since it's no longer used.
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultWebXREnabled): Deleted.
- Shared/WebPreferencesDefaultValues.h:
Source/WebKitLegacy/mac:
Remove WebKit::defaultWebXREnabled() since it's no longer used.
- WebView/WebPreferencesDefaultValues.h:
- WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultWebXREnabled): Deleted.
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- 11:35 AM Changeset in webkit [288688] by
-
- 10 edits in trunk/Tools
[webkitbugspy] JSON encode trackers
https://bugs.webkit.org/show_bug.cgi?id=235426
<rdar://problem/87856802>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:
(Tracker.Encoder.default): Encode bugzilla Tracker object.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
(Tracker.Encoder.default): Encode github Tracker object.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/radar.py:
(Tracker.Encoder.default): Encode radar Tracker object.
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/bugzilla_unittest.py:
(TestBugzilla.test_encoding):
(TestBugzilla.test_decoding):
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/github_unittest.py:
(TestGitHub.test_encoding):
(TestGitHub.test_decoding):
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/radar_unittest.py:
(TestRadar.test_encoding):
(TestRadar.test_decoding):
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tracker.py:
(Tracker.Encoder.default): Generic encoding for all Tracker objects.
(Tracker.from_json): Decode dictionary into Tracker objects.
Canonical link: https://commits.webkit.org/246487@main
- 11:25 AM Changeset in webkit [288687] by
-
- 3 edits in branches/safari-612.4.9.1-branch/Source/WebCore
Cherry-pick r288539. rdar://problem/88139659
Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:23 AM Changeset in webkit [288686] by
-
- 8 edits in branches/safari-612.4.9.1-branch/Source
Versioning.
WebKit-7612.4.9.1.8
- 11:16 AM Changeset in webkit [288685] by
-
- 3 edits in branches/safari-612.4.9.0-branch/Source/WebCore
Cherry-pick r288539. rdar://problem/88139598
Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840
Reviewed by Mark Lam.
Apply Ref / RefPtr instead of taking SerializedScriptValue*.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
- loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:14 AM Changeset in webkit [288684] by
-
- 8 edits in branches/safari-612.4.9.0-branch/Source
Versioning.
WebKit-7612.4.9.0.4
- 10:54 AM Changeset in webkit [288683] by
-
- 1 copy in tags/Safari-613.1.14.41.3
Tag Safari-613.1.14.41.3.
- 10:53 AM Changeset in webkit [288682] by
-
- 12 edits in branches/safari-613.1.14.41-branch/Source/WebKit
Cherry-pick r288387. rdar://problem/87468788
Inject Launch Services database before NSApplication is initialized
https://bugs.webkit.org/show_bug.cgi?id=235186
<rdar://87468788>
Reviewed by Chris Dumez.
To avoid the main thread getting stuck, the Launch Services database should be injected before NSApplication
is initialized, since the initialization now depends on the database. To make sure also prewarmed WebContent
processes are receiving the Launch Services database, the WebsiteDataStore method
sendNetworkProcessXPCEndpointToProcess is moved to the class NetworkProcessProxy, since prewarmed processes
will not have a data store initially. This allows us to simplify the code, since we are no longer depending
on having a Website data store before sending the XPC endpoint.
- UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didFinishLaunching):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: (WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToProcess): (WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToProcess const): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::platformDidReceiveLoadParameters):
- WebProcess/cocoa/LaunchServicesDatabaseManager.h:
- WebProcess/cocoa/LaunchServicesDatabaseManager.mm: (WebKit::LaunchServicesDatabaseManager::waitForDatabaseUpdate):
- WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:49 AM Changeset in webkit [288681] by
-
- 9 edits in branches/safari-613.1.14.41-branch/Source
Versioning.
WebKit-7613.1.14.41.3
- 10:27 AM Changeset in webkit [288680] by
-
- 3 edits in trunk/Source/WebCore
Detect failed ThreadableLoader creation in FileReaderLoader.
https://bugs.webkit.org/show_bug.cgi?id=235566
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-01-27
Reviewed by Youenn Fablet.
When we fail to successfully create a ThreadableLoader in FileReaderLoader we should catch
the failure and return early.
- Modules/fetch/FormDataConsumer.cpp:
(WebCore::FormDataConsumer::consumeBlob):
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::start):
- 10:17 AM Changeset in webkit [288679] by
-
- 19 edits2 deletes in trunk/Source
[GTK] Support accent colors
https://bugs.webkit.org/show_bug.cgi?id=235706
Reviewed by Michael Catanzaro.
Source/WebCore:
Use the accent color UI process provides rather than fetching it here.
Remove the last bits of ThemeGtk and stop using foreign drawing for
text selection on GTK3.
Use dark foreground color if the accent color is bright.
- PlatformGTK.cmake:
- SourcesGTK.txt:
- platform/adwaita/ThemeAdwaita.cpp:
(WebCore::Theme::singleton):
(WebCore::ThemeAdwaita::activeSelectionForegroundColor const):
(WebCore::ThemeAdwaita::activeSelectionBackgroundColor const):
(WebCore::ThemeAdwaita::inactiveSelectionForegroundColor const):
(WebCore::ThemeAdwaita::setAccentColor):
- platform/adwaita/ThemeAdwaita.h:
- platform/gtk/ThemeGtk.cpp: Removed.
- platform/gtk/ThemeGtk.h: Removed.
- rendering/RenderThemeAdwaita.cpp:
(WebCore::RenderThemeAdwaita::setAccentColor):
- rendering/RenderThemeAdwaita.h:
Source/WebKit:
Take the accent color from CSS named colors. Handle the colors used in
libadwaita, elementary OS 6.x and 5.x, and the generic selection bg
color that people have been using out of context for a long time.
Track changes the best we can, even though it's not perfect: css_changed()
in GTK4 won't be called unless the CSS change affects the web view itself.
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::accentColor):
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseStyleUpdated):
(webkit_web_view_base_class_init):
- UIProcess/WebPageProxy.h:
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::accentColorDidChange):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reinitializeWebPage):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::setAccentColor):
Source/WTF:
- wtf/PlatformHave.h: Flip HAVE_APP_ACCENT_COLORS for GTK.
- 10:13 AM Changeset in webkit [288678] by
-
- 37 edits in trunk
CSP: Clean up effective-violation handling in reports
https://bugs.webkit.org/show_bug.cgi?id=235602
Reviewed by Kate Cheney.
LayoutTests/imported/w3c:
Updated expectations with more passes.
- web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub-expected.txt:
- web-platform-tests/content-security-policy/frame-src/frame-src-cross-origin-load.sub-expected.txt:
- web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted-expected.txt:
Source/WebCore:
The CSP 3 spec uses the same value for effectiveDirective and
violatedDirective noting that is now now just an alias for historical
purposes. https://www.w3.org/TR/CSP3/#violation-events
I have refactored this so we only pass around a single string instead of constantly
repeating the directive which was error prone.
This does result in a lot of
script-srcchanging toscript-src-elemin reports
however this behavior matches what Chromium is already reporting and it fixes some
WPT results where it expectsframe-srcinstead ofchild-src.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::consoleMessageForViolation):
(WebCore::ContentSecurityPolicy::allowRunningOrDisplayingInsecureContent):
(WebCore::ContentSecurityPolicy::allowJavaScriptURLs const):
(WebCore::ContentSecurityPolicy::allowInlineEventHandlers const):
(WebCore::ContentSecurityPolicy::allowNonParserInsertedScripts const):
(WebCore::ContentSecurityPolicy::allowInlineScript const):
(WebCore::ContentSecurityPolicy::allowInlineStyle const):
(WebCore::ContentSecurityPolicy::allowEval const):
(WebCore::ContentSecurityPolicy::allowFrameAncestors const):
(WebCore::ContentSecurityPolicy::allowPluginType const):
(WebCore::ContentSecurityPolicy::allowObjectFromSource const):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource const):
(WebCore::ContentSecurityPolicy::allowResourceFromSource const):
(WebCore::ContentSecurityPolicy::allowChildContextFromSource const):
(WebCore::ContentSecurityPolicy::allowScriptFromSource const):
(WebCore::ContentSecurityPolicy::allowImageFromSource const):
(WebCore::ContentSecurityPolicy::allowStyleFromSource const):
(WebCore::ContentSecurityPolicy::allowFontFromSource const):
(WebCore::ContentSecurityPolicy::allowManifestFromSource const):
(WebCore::ContentSecurityPolicy::allowMediaFromSource const):
(WebCore::ContentSecurityPolicy::allowConnectToSource const):
(WebCore::ContentSecurityPolicy::allowFormAction const):
(WebCore::ContentSecurityPolicy::allowBaseURI const):
(WebCore::ContentSecurityPolicy::reportViolation const):
- page/csp/ContentSecurityPolicy.h:
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForNonParserInsertedScripts const):
LayoutTests:
Update effective-violation of expectations.
- http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src.html:
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src.html:
- http/tests/security/contentSecurityPolicy/iframe-blocked-when-loaded-via-javascript-url-expected.txt:
- http/tests/security/contentSecurityPolicy/iframe-blocked-when-loaded-via-javascript-url2-expected.txt:
- http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-child-src-expected.txt:
- http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure-expected.txt:
- http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt:
- platform/glib/http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
- 10:04 AM Changeset in webkit [288677] by
-
- 2 edits in trunk/Source/JavaScriptCore
Check the process has the dynamic-codesigning entitlement before trying to allocate a holding JIT region
https://bugs.webkit.org/show_bug.cgi?id=235673
rdar://88094997
Patch by Gavin Phillips <gavin.p@apple.com> on 2022-01-27
Reviewed by Saam Barati.
We only need to allocate a holding JIT region, for processes with the JIT disabled, if that process has the
dynamic-codesigning entitlement. We can skip this allocation if the process doesn't have that entitlement.
- jit/ExecutableAllocator.cpp:
(JSC::ExecutableAllocator::setJITEnabled):
- 9:58 AM Changeset in webkit [288676] by
-
- 2 edits in trunk/Source/WebCore
AXLogger::add should not cause tree updates via children()
https://bugs.webkit.org/show_bug.cgi?id=235715
Reviewed by Chris Fleizach.
AXLogger::add(TextStream&, const RefPtr<AXCoreObject>&, bool) currently
calls the update version of AXCoreObject::children(bool), causing behavior
to potentially be different between builds with logging enabled and logging
disabled.
The logger should only read the current state of the object / tree, never modify it.
- accessibility/AXLogger.cpp:
(WebCore::AXLogger::add):
- 9:49 AM Changeset in webkit [288675] by
-
- 10 edits in trunk
[CSS Container Queries] Basic parsing support for query syntax
https://bugs.webkit.org/show_bug.cgi?id=235712
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
Source/WebCore:
https://drafts.csswg.org/css-contain-3/#at-ruledef-container
Use MediaQueryParser to parse the query syntax. Note that because the limitations
of MediaQueryParser only simple non-nested queries can be parsed for now.
- css/StyleRule.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::filterProperties):
(WebCore::CSSParserImpl::consumeAtRule):
(WebCore::CSSParserImpl::consumeContainerRule):
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeContainerName):
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeSingleContainerName):
- css/parser/CSSPropertyParserHelpers.h:
- css/parser/MediaQueryParser.cpp:
(WebCore::MediaQueryParser::parseContainerQuery):
(WebCore::MediaQueryParser::MediaQueryParser):
(WebCore::MediaQueryParser::readContainerQuery):
(WebCore::MediaQueryParser::handleBlocks):
(WebCore::MediaQueryParser::processToken):
(WebCore::MediaQueryParser::parseInternal):
- css/parser/MediaQueryParser.h:
- 8:51 AM Changeset in webkit [288674] by
-
- 21 edits in trunk
AX ITM: Defer to the tree when determining AX object loading progress
https://bugs.webkit.org/show_bug.cgi?id=235646
Reviewed by Andres Gonzalez.
Source/WebCore:
Currently, we set AXPropertyName::IsLoaded and AXPropertyName::EstimatedLoadingProgress
once in AXIsolatedObject::initializeAttributeData and never update it. This means that
if an object is created while the page is at some non-100% load percentage, AX clients
that request these attributes will always think the object isn't loaded.
This patch removes these two properties and instead defers to the isolated tree associated
with each object when determining the load percentage. Both of these properties were based
on the entire page / document load progress anyways, so it doesn't make sense to set the
same value for all of them.
We track loading progress by changing ProgressTracker to also notify
the page when progress changes, which in turn updates the associated
AXObjectCache with the new progress value.
Covered by accessibility/mac/document-attributes.html which verifies the AXLoad and
AXLoadingProgress attributes.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::updateLoadingProgress):
Added.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::loadingFinished):
(WebCore::AXObjectCache::loadingProgress const):
Added.
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::loadingProgress const):
(WebCore::AccessibilityRenderObject::estimatedLoadingProgress const):
Rename estimatedLoadingProgress methods to loadingProgress.
- accessibility/AccessibilityRenderObject.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::create):
(WebCore::AXIsolatedTree::updateLoadingProgress):
(WebCore::AXIsolatedTree::applyPendingChanges):
Apply m_pendingEstimatedLoadingProgress.
- accessibility/isolatedtree/AXIsolatedTree.h:
(WebCore::AXIsolatedTree::loadingProgress):
Added.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
Handle rename of estimatedLoadingProgress methods to loadingProgress.
- loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::ProgressTracker):
Store a reference to the associated page in new m_page member.
(WebCore::ProgressTracker::progressStarted):
(WebCore::ProgressTracker::progressEstimateChanged):
(WebCore::ProgressTracker::finalProgressComplete):
(WebCore::ProgressTracker::incrementProgress):
Notify the Page when progress changes or completes.
- loader/ProgressTracker.h:
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::progressEstimateChanged const):
Added.
(WebCore::Page::progressFinished const):
Added.
- page/Page.h:
LayoutTests:
- accessibility/mac/document-attributes-expected.txt:
Associated test now uses js-test.js, so modify expectations to include
js-test output (e.g. test description()).
- accessibility/mac/document-attributes.html:
Wait asynchronously for loading to complete ("AXLoaded: 1").
- accessibility/parent-delete.html:
Don't output all attributes, since it's not necessary for the purpose
of the test (which is to ensure calling allAttributes() in this
scenario doesn't cause a crash). Previously, the test output contained
loading AX attributes, so rather than making this test wait for
loading to complete I decided to remove the output all together.
- platform/mac/accessibility/parent-delete-expected.txt:
- 8:03 AM Changeset in webkit [288673] by
-
- 2 edits in trunk/Tools/CISupport/ews-app/ews
[ews] Display status-bubble for try builds (builds for specific ews queues)
https://bugs.webkit.org/show_bug.cgi?id=235679
Reviewed by Jonathan Bedard.
- Tools/CISupport/ews-app/ews/models/build.py:
(Build.save_build): Save the patch information in database.
- Tools/CISupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble):
(StatusBubble._should_show_bubble_for_build):
(StatusBubble._build_bubbles_for_patch):
Canonical link: https://commits.webkit.org/246479@main
- 7:36 AM Changeset in webkit [288672] by
-
- 5 edits2 adds in trunk
jsc_fuz/wktr: crash with new XRReferenceSpaceEvent(, {referenceSpace})
https://bugs.webkit.org/show_bug.cgi?id=235456
Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-01-27
Reviewed by Chris Dumez.
Source/WebCore:
FastMalloc.h specifies that each derived class needs to be annotated as well with WTF_MAKE_ISO_ALLOCATED
if the base class is annotated with WTF_MAKE_ISO_ALLOCATED.
After doing this, the crash in WebCore::Event::operator new(unsigned long) is no longer reproducible.
However, this caused ASSERT(m_transform) to be hit in debug builds with the attached test case.
The XRReferenceSpaceEvent spec specifies the transform attribute as nullable
(https://immersive-web.github.io/webxr/#dictdef-xrreferencespaceeventinit), so this patch updates the
XRReferenceSpaceEvent IDL and implementation to match the spec, and removes the ASSERT accordingly.
Test: webxr/xr-reference-space-event-crash.html
- Modules/webxr/XRReferenceSpaceEvent.cpp:
(WebCore::XRReferenceSpaceEvent::XRReferenceSpaceEvent):
(WebCore::XRReferenceSpaceEvent::transform const):
- Modules/webxr/XRReferenceSpaceEvent.h:
- Modules/webxr/XRReferenceSpaceEvent.idl:
LayoutTests:
- webxr/xr-reference-space-event-crash.html: Added.
- 4:15 AM WebKitGTK/2.34.x edited by
- Add 2 touch fixes to proposed (diff)
- 3:16 AM Changeset in webkit [288671] by
-
- 50 edits44 copies29 moves351 adds3 deletes in trunk
Update WebGL conformance test suite to 2022-01-12
https://bugs.webkit.org/show_bug.cgi?id=235563
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-27
Reviewed by Dean Jackson.
Tools:
Add functionality to Tools/Scripts/update-webgl-conformance-tests:
- Copy http-only tests to http/tests/webgl
- Add template to js-test-pre.js
- Scripts/webkitpy/update_webgl_conformance_tests_lib/js-test-pre-template.js: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/resources/js-test-pre.js.
- Scripts/webkitpy/update_webgl_conformance_tests_lib/main.py:
(_copy_tree):
(main):
LayoutTests:
Update WebGL testsuite to 2022-01-12 9b58fd243d38f4b9c72ab6f75ad701cafc131137.
Additionally:
The import script can now categorize tests to regular tests and small amount of http
tests:
- Remove old http/tests/webgl/1.0.2/
- Add new http/tests/webgl/1.0.x / 2.0.y
- http/tests/webgl/1.0.2/origin-clean-conformance-expected.txt: Removed.
- http/tests/webgl/1.0.2/origin-clean-conformance.html: Removed.
- http/tests/webgl/1.0.2/readPixelsBadArgs-expected.txt: Removed.
- http/tests/webgl/1.0.2/readPixelsBadArgs.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/3x3.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/blue-1x1.jpg: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/bug-32888-texture.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/floatUniformShader.vert: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/fragmentShader.frag: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-256-with-128-alpha.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-256.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-default-gamma.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-gamma0.1.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-gamma1.0.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-gamma2.0.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-gamma4.0.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-gamma9.0.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/green-2x2-16bit.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/noopUniformShader.frag: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/npot-video.mp4: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/npot-video.theora.ogv: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/npot-video.webmvp8.webm: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/pnglib.js: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/red-green.mp4: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/red-green.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/red-green.theora.ogv: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/red-green.webmvp8.webm: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/red-indexed.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-cie-rgb-profile.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-colormatch-profile.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-colorspin-profile.jpg: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-colorspin-profile.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-e-srgb-profile.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-smpte-c-profile.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-srgb-iec61966-2.1-profile.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/tex-image-and-sub-image-2d-with-canvas.js: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/tex-image-and-sub-image-2d-with-image-data.js: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/tex-image-and-sub-image-2d-with-image.js: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/tex-image-and-sub-image-2d-with-video.js: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/vertexShader.vert: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/webgl-test-utils.js: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/webgl-test.js: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/zero-alpha.png: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/00_test_list.txt: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/compressed-tex-image.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/copy-tex-image-2d-formats.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/copy-tex-image-and-sub-image-2d.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/gl-get-tex-parameter.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/gl-pixelstorei.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/gl-teximage.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/mipmap-fbo.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/origin-clean-conformance.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-array-buffer-view.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgb565.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgba4444.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgba5551.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-canvas.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-data-rgb565.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-data-rgba4444.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-data-rgba5551.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-data.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-rgb565.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-rgba4444.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-rgba5551.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-video-rgb565.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba4444.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba5551.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-video.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-uniform-binding-bugs.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-webgl.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-with-format-and-type.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-with-invalid-data.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-input-validation.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-sub-image-2d-bad-args.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-sub-image-2d.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texparameter-test.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-active-bind-2.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-active-bind.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-attachment-formats.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-clear.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-complete.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-formats-test.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-hd-dpi.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-mips.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-npot-video.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-npot.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-size-cube-maps.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-size-limit.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-size.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-sub-image-cube-maps.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-transparent-pixels-initialized.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-upload-cube-maps.html: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/resources/desktop-gl-constants.js: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/resources/js-test-post.js: Removed.
- http/tests/webgl/1.0.2/resources/webgl_test_files/resources/webgl-test-harness.js: Removed.
- http/tests/webgl/1.0.2/texImage2DHTML-expected.txt: Removed.
- http/tests/webgl/1.0.2/texImage2DHTML.html: Removed.
- http/tests/webgl/1.0.2/texSubImage2DHTML-expected.txt: Removed.
- http/tests/webgl/1.0.2/texSubImage2DHTML.html: Removed.
- http/tests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs-expected.txt: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs-expected.txt.
- http/tests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs.html: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs.html.
- http/tests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- http/tests/webgl/1.0.x/conformance/more/functions/texImage2DHTML.html: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML.html.
- http/tests/webgl/1.0.x/conformance/more/functions/texSubImage2DHTML-expected.txt: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/texSubImage2DHTML-expected.txt.
- http/tests/webgl/1.0.x/conformance/more/functions/texSubImage2DHTML.html: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/texSubImage2DHTML.html.
- http/tests/webgl/2.0.y/conformance/more/functions/readPixelsBadArgs-expected.txt: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/readPixelsBadArgs-expected.txt.
- http/tests/webgl/2.0.y/conformance/more/functions/readPixelsBadArgs.html: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/readPixelsBadArgs.html.
- http/tests/webgl/2.0.y/conformance/more/functions/texImage2DHTML-expected.txt: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/texImage2DHTML-expected.txt.
- http/tests/webgl/2.0.y/conformance/more/functions/texImage2DHTML.html: Copied from LayoutTests/webgl/2.0.y/conformance/more/functions/texImage2DHTML.html.
- http/tests/webgl/2.0.y/conformance/more/functions/texSubImage2DHTML-expected.txt: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/texSubImage2DHTML-expected.txt.
- http/tests/webgl/2.0.y/conformance/more/functions/texSubImage2DHTML.html: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/texSubImage2DHTML.html.
- http/tests/webgl/resources/js-test-pre.js: Copied from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/resources/js-test-pre.js.
- http/tests/webgl/resources/webgl_test_files/conformance/more/functions/readPixelsBadArgs.html: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/functions/readPixelsBadArgs.html.
- http/tests/webgl/resources/webgl_test_files/conformance/more/functions/texImage2DHTML.html: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/functions/texImage2DHTML.html.
- http/tests/webgl/resources/webgl_test_files/conformance/more/functions/texSubImage2DHTML.html: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/functions/texSubImage2DHTML.html.
- http/tests/webgl/resources/webgl_test_files/conformance/more/unit.css: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/unit.css.
- http/tests/webgl/resources/webgl_test_files/conformance/more/unit.js: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/unit.js.
- http/tests/webgl/resources/webgl_test_files/conformance/more/util.js: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/util.js.
- http/tests/webgl/resources/webgl_test_files/js/js-test-post.js: Added.
- http/tests/webgl/resources/webgl_test_files/js/js-test-pre.js: Copied from LayoutTests/webgl/resources/webgl_test_files/js/js-test-pre.js.
- http/tests/webgl/resources/webgl_test_files/js/webgl-test-utils.js: Copied from LayoutTests/webgl/resources/webgl_test_files/js/webgl-test-utils.js.
- http/tests/webgl/resources/webgl_test_files/resources/js-test-style.css: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/resources/js-test-style.css.
- http/tests/webgl/resources/webgl_test_files/resources/opengl_logo.jpg: Added.
- http/tests/webgl/resources/webgl_test_files/resources/thunderbird-logo-64x64.png: Added.
- http/tests/webgl/resources/webkit-webgl-test-harness.js: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webkit-webgl-test-harness.js.
- webgl/1.0.x/conformance/canvas/to-data-url-after-composite-expected.txt: Renamed from LayoutTests/webgl/2.0.y/deqp/functional/gles3/multisample-expected.txt.
- webgl/1.0.x/conformance/canvas/to-data-url-after-composite.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_001_to_008-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_001_to_008.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_009_to_016-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_009_to_016.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_017_to_024-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_017_to_024.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_025_to_032-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_025_to_032.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_033_to_040-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_033_to_040.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_041_to_048-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_041_to_048.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_049_to_056-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_049_to_056.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_057_to_064-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_057_to_064.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_065_to_072-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_065_to_072.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_073_to_080-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_073_to_080.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_081_to_088-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_081_to_088.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_089_to_096-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_089_to_096.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_097_to_104-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_097_to_104.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_105_to_112-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_105_to_112.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_113_to_120-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_113_to_120.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_121_to_128-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_121_to_128.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_129_to_136-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_129_to_136.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_137_to_144-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_137_to_144.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_145_to_152-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_145_to_152.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_153_to_160-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_153_to_160.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_161_to_168-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_161_to_168.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_169_to_176-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_169_to_176.html: Added.
- webgl/1.0.x/conformance/ogles/GL/build/build_177_to_178-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/1.0.x/conformance/ogles/GL/build/build_177_to_178.html: Added.
- webgl/1.0.x/conformance/rendering/clear-default-framebuffer-with-scissor-test-expected.txt: Added.
- webgl/1.0.x/conformance/rendering/clear-default-framebuffer-with-scissor-test.html: Added.
- webgl/1.0.x/conformance/rendering/color-mask-should-not-affect-antialiased-framebuffer-resolution-expected.txt: Added.
- webgl/1.0.x/conformance/rendering/color-mask-should-not-affect-antialiased-framebuffer-resolution.html: Added.
- webgl/1.0.x/conformance/textures/misc/format-filterable-renderable-expected.txt: Renamed from LayoutTests/webgl/2.0.y/conformance/textures/misc/origin-clean-conformance-expected.txt.
- webgl/1.0.x/conformance/textures/misc/format-filterable-renderable.html: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs.html.
- webgl/1.0.x/conformance/textures/misc/origin-clean-conformance-offscreencanvas.html: Removed.
- webgl/1.0.x/conformance/textures/misc/png-image-types-expected.txt: Renamed from LayoutTests/webgl/1.0.x/conformance/textures/misc/origin-clean-conformance-expected.txt.
- webgl/1.0.x/conformance/textures/misc/png-image-types.html: Renamed from LayoutTests/webgl/1.0.x/conformance/textures/misc/origin-clean-conformance.html.
- webgl/2.0.y/conformance/canvas/to-data-url-after-composite-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/2.0.y/conformance/canvas/to-data-url-after-composite.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_001_to_008-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_001_to_008.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_009_to_016-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_009_to_016.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_017_to_024-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_017_to_024.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_025_to_032-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_025_to_032.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_033_to_040-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_033_to_040.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_041_to_048-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_041_to_048.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_049_to_056-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_049_to_056.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_057_to_064-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_057_to_064.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_065_to_072-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_065_to_072.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_073_to_080-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_073_to_080.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_081_to_088-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_081_to_088.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_089_to_096-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_089_to_096.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_097_to_104-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_097_to_104.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_105_to_112-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_105_to_112.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_113_to_120-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_113_to_120.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_121_to_128-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_121_to_128.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_129_to_136-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_129_to_136.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_137_to_144-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_137_to_144.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_145_to_152-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_145_to_152.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_153_to_160-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_153_to_160.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_161_to_168-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_161_to_168.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_169_to_176-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_169_to_176.html: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_177_to_178-expected.txt: Added.
- webgl/2.0.y/conformance/ogles/GL/build/build_177_to_178.html: Added.
- webgl/2.0.y/conformance/rendering/clear-default-framebuffer-with-scissor-test-expected.txt: Added.
- webgl/2.0.y/conformance/rendering/clear-default-framebuffer-with-scissor-test.html: Added.
- webgl/2.0.y/conformance/rendering/color-mask-should-not-affect-antialiased-framebuffer-resolution-expected.txt: Added.
- webgl/2.0.y/conformance/rendering/color-mask-should-not-affect-antialiased-framebuffer-resolution.html: Added.
- webgl/2.0.y/conformance/textures/misc/format-filterable-renderable-expected.txt: Renamed from LayoutTests/webgl/2.0.y/conformance/textures/misc/origin-clean-conformance-offscreencanvas-expected.txt.
- webgl/2.0.y/conformance/textures/misc/format-filterable-renderable.html: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs.html.
- webgl/2.0.y/conformance/textures/misc/origin-clean-conformance-offscreencanvas.html: Removed.
- webgl/2.0.y/conformance/textures/misc/origin-clean-conformance.html: Removed.
- webgl/2.0.y/conformance/textures/misc/png-image-types-expected.txt: Renamed from LayoutTests/webgl/1.0.x/conformance/textures/misc/origin-clean-conformance-offscreencanvas-expected.txt.
- webgl/2.0.y/conformance/textures/misc/png-image-types.html: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/texImage2DHTML.html.
- webgl/2.0.y/conformance2/extensions/required-extensions-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/2.0.y/conformance2/extensions/required-extensions.html: Added.
- webgl/2.0.y/conformance2/glsl3/fragment-shader-loop-crash-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/2.0.y/conformance2/glsl3/fragment-shader-loop-crash.html: Added.
- webgl/2.0.y/conformance2/glsl3/reciprocal-sqrt-of-sum-of-squares-crash-expected.txt: Added.
- webgl/2.0.y/conformance2/glsl3/reciprocal-sqrt-of-sum-of-squares-crash.html: Added.
- webgl/2.0.y/conformance2/misc/blend-integer-expected.txt: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
- webgl/2.0.y/conformance2/misc/blend-integer.html: Added.
- webgl/2.0.y/conformance2/rendering/blitframebuffer-unaffected-by-colormask-expected.txt: Added.
- webgl/2.0.y/conformance2/rendering/blitframebuffer-unaffected-by-colormask.html: Added.
- webgl/2.0.y/conformance2/rendering/draw-buffers-sparse-output-locations-expected.txt: Added.
- webgl/2.0.y/conformance2/rendering/draw-buffers-sparse-output-locations.html: Added.
- webgl/2.0.y/conformance2/textures/misc/origin-clean-conformance-offscreencanvas-expected.txt: Removed.
- webgl/2.0.y/conformance2/textures/misc/origin-clean-conformance-offscreencanvas.html: Removed.
- webgl/2.0.y/deqp/functional/gles3/multisample.html: Removed.
- webgl/2.0.y/deqp/functional/gles3/multisample/default_fbo-expected.txt: Added.
- webgl/2.0.y/deqp/functional/gles3/multisample/default_fbo.html: Added.
- webgl/2.0.y/deqp/functional/gles3/multisample/fbo_4_samples-expected.txt: Added.
- webgl/2.0.y/deqp/functional/gles3/multisample/fbo_4_samples.html: Added.
- webgl/2.0.y/deqp/functional/gles3/multisample/fbo_8_samples-expected.txt: Added.
- webgl/2.0.y/deqp/functional/gles3/multisample/fbo_8_samples.html: Added.
- webgl/2.0.y/deqp/functional/gles3/multisample/fbo_max_samples-expected.txt: Added.
- webgl/2.0.y/deqp/functional/gles3/multisample/fbo_max_samples.html: Added.
- webgl/draw-webgl-to-context2d-memory-test-expected.txt:
- webgl/resources/webgl_test_files/conformance/attribs/gl-vertexattribpointer.html:
- webgl/resources/webgl_test_files/conformance/canvas/to-data-url-after-composite.html: Added.
- webgl/resources/webgl_test_files/conformance/context/context-attributes-alpha-depth-stencil-antialias.html:
- webgl/resources/webgl_test_files/conformance/context/methods.html:
- webgl/resources/webgl_test_files/conformance/extensions/ext-texture-compression-bptc.html:
- webgl/resources/webgl_test_files/conformance/extensions/ext-texture-compression-rgtc.html:
- webgl/resources/webgl_test_files/conformance/extensions/s3tc-and-rgtc.html:
- webgl/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html:
- webgl/resources/webgl_test_files/conformance/extensions/webgl-multi-draw.html:
- webgl/resources/webgl_test_files/conformance/extensions/webgl-webcodecs-video-frame.html:
- webgl/resources/webgl_test_files/conformance/glsl/bugs/character-set.html:
- webgl/resources/webgl_test_files/conformance/glsl/constructors/glsl-construct-vec-mat-index.html:
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CG_Data_Types_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CG_Standard_Library_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectBuiltInOveride_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectComma_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectConstFolding1_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectConstFolding2_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectConstruct_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectExtension10_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectExtension1_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectExtension4_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectFull_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectFuncOverload_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectFuncOverload_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectFunction1_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectModule_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectParse1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectParse2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectParse2_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectParseTest1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectParseTest_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectPreprocess5_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectPreprocess8_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectPreprocess9_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectSwizzle1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectSwizzle1_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectSwizzle2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectSwizzle2_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectSwizzle3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectVersion_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/DuplicateVersion1_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/FunctionParam_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/Include_Preprocessor_Directive_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/Low_Level_Assembly_Reserved_Words_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/Main_Parameters_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/ParseTest3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/ParseTest4_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/Permissive_Constant_Conversions_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/Permissive_Scalar_Vector_Expressions_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/TernaryOp_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/Texture_Rectangle_Samplers_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/array10_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/array11_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/array1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/array2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/array3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/array4_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/array5_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/array6_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/array7_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/array8_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/array9_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/attribute1_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/attribute2_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/attribute_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/attribute_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/break_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_001_to_008.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_009_to_016.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_017_to_024.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_025_to_032.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_033_to_040.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_041_to_048.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_049_to_056.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_057_to_064.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_065_to_072.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_073_to_080.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_081_to_088.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_089_to_096.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_097_to_104.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_105_to_112.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_113_to_120.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_121_to_128.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_129_to_136.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_137_to_144.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_145_to_152.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_153_to_160.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_161_to_168.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_169_to_176.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_177_to_178.html: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/comma1_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/comma2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/comma2_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/comma3_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/comment_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/conditional1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/conditional2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/conditional3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/constFunc_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/constructor1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/constructor2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/constructor3_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/continue_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType10_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType11_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType12_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType13_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType19_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType4_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType5_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType6_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType7_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType8_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType9_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/default.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/default.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dowhile_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dvec2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dvec3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/dvec4_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension2_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension3_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension5_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension6_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension7_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension8_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension9_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/float2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/float3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/float4_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/fragmentOnly1_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/fragmentOnly2_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/fragmentOnly3_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/fragmentOnly4_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/fragmentOnly_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/function10_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/function1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/function2_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/function3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/function4_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/function6_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/function7_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/function8_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/function9_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/hvec2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/hvec3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/hvec4_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/identifier1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/identifier2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/identifier3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/if1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/if2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/increment1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/increment2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/increment3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/increment4_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/increment6_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/input.run.txt: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/main1_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/main2_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/main3_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/matrix_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/normal_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser10_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser1_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser4_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser5_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser6_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser7_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser8_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser9_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess0_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess10_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess4_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess6_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess7_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/scoping1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/scoping2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct10_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct11_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct4_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct5_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct6_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct7_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct8_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct9_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/swizzle1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/swizzle2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/swizzle3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/typecast_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/uniform1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/uniform_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/varying1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/varying2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/varying3_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/varying_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/vector_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/version2_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/version3_V100_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/vertexOnly2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/vertexOnly_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/vertex_vert.vert: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/while1_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/while2_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/ogles/GL/build/while_frag.frag: Added.
- webgl/resources/webgl_test_files/conformance/programs/program-test.html:
- webgl/resources/webgl_test_files/conformance/rendering/clear-default-framebuffer-with-scissor-test.html: Added.
- webgl/resources/webgl_test_files/conformance/rendering/color-mask-should-not-affect-antialiased-framebuffer-resolution.html: Added.
- webgl/resources/webgl_test_files/conformance/state/gl-object-get-calls.html:
- webgl/resources/webgl_test_files/conformance/textures/misc/format-filterable-renderable.html: Added.
- webgl/resources/webgl_test_files/conformance/textures/misc/png-image-types.html: Added.
- webgl/resources/webgl_test_files/conformance/textures/misc/video-rotation.html:
- webgl/resources/webgl_test_files/conformance2/context/methods-2.html:
- webgl/resources/webgl_test_files/conformance2/extensions/ext-color-buffer-float.html:
- webgl/resources/webgl_test_files/conformance2/extensions/ext-texture-norm16.html:
- webgl/resources/webgl_test_files/conformance2/extensions/oes-draw-buffers-indexed.html:
- webgl/resources/webgl_test_files/conformance2/extensions/required-extensions.html: Added.
- webgl/resources/webgl_test_files/conformance2/extensions/webgl-multi-draw-instanced-base-vertex-base-instance.html:
- webgl/resources/webgl_test_files/conformance2/glsl3/array-equality.html:
- webgl/resources/webgl_test_files/conformance2/glsl3/fragment-shader-loop-crash.html: Added.
- webgl/resources/webgl_test_files/conformance2/glsl3/matrix-row-major-dynamic-indexing.html:
- webgl/resources/webgl_test_files/conformance2/glsl3/reciprocal-sqrt-of-sum-of-squares-crash.html: Added.
- webgl/resources/webgl_test_files/conformance2/misc/blend-integer.html: Added.
- webgl/resources/webgl_test_files/conformance2/programs/gl-get-frag-data-location.html:
- webgl/resources/webgl_test_files/conformance2/rendering/blitframebuffer-unaffected-by-colormask.html: Added.
- webgl/resources/webgl_test_files/conformance2/rendering/draw-buffers-sparse-output-locations.html: Added.
- webgl/resources/webgl_test_files/conformance2/state/gl-object-get-calls.html:
- webgl/resources/webgl_test_files/conformance2/textures/misc/tex-storage-compressed-formats.html:
- webgl/resources/webgl_test_files/deqp/functional/gles3/es3fMultisampleTests.js:
- webgl/resources/webgl_test_files/deqp/functional/gles3/es3fPrimitiveRestartTests.js:
- webgl/resources/webgl_test_files/deqp/functional/gles3/multisample.html: Removed.
- webgl/resources/webgl_test_files/deqp/functional/gles3/multisample/default_fbo.html: Added.
- webgl/resources/webgl_test_files/deqp/functional/gles3/multisample/fbo_4_samples.html: Added.
- webgl/resources/webgl_test_files/deqp/functional/gles3/multisample/fbo_8_samples.html: Added.
- webgl/resources/webgl_test_files/deqp/functional/gles3/multisample/fbo_max_samples.html: Added.
- webgl/resources/webgl_test_files/js/glsl-conformance-test.js:
- webgl/resources/webgl_test_files/js/js-test-post.js:
- webgl/resources/webgl_test_files/js/js-test-pre.js:
- webgl/resources/webgl_test_files/js/tests/compressed-texture-utils.js:
- webgl/resources/webgl_test_files/js/tests/context-methods.js: Added.
- webgl/resources/webgl_test_files/js/tests/ext-color-buffer-half-float.js:
- webgl/resources/webgl_test_files/js/tests/gl-object-get-calls.js:
- webgl/resources/webgl_test_files/js/tests/tex-image-and-sub-image-2d-with-image-bitmap-from-video.js:
- webgl/resources/webgl_test_files/js/tests/tex-image-and-sub-image-3d-with-image-bitmap-from-video.js:
- webgl/resources/webgl_test_files/js/webgl-test-utils.js:
- webgl/resources/webgl_test_files/resources/red-green.webmvp8.webm:
- webgl/resources/webgl_test_files/resources/video-rotation-0.mp4:
- webgl/resources/webgl_test_files/resources/video-rotation-0.vp9.mp4:
- webgl/resources/webgl_test_files/resources/video-rotation-180.mp4:
- webgl/resources/webgl_test_files/resources/video-rotation-180.vp9.mp4:
- webgl/resources/webgl_test_files/resources/video-rotation-270.mp4:
- webgl/resources/webgl_test_files/resources/video-rotation-270.vp9.mp4:
- webgl/resources/webgl_test_files/resources/video-rotation-90.mp4:
- webgl/resources/webgl_test_files/resources/video-rotation-90.vp9.mp4:
- 3:08 AM Changeset in webkit [288670] by
-
- 9 edits in trunk/Source
<model> should only be draggable on iOS
https://bugs.webkit.org/show_bug.cgi?id=235697
Reviewed by Dean Jackson.
Source/WebCore:
As part of bug 229246 we added support for dragging <model> elements. However, it only
worked on iOS in practice so we make that explicit so that other platforms that do not
have complete support for <model> dragging do not have that feature.
This is also important leading up to bug 227621, where we'll implement the "interactive"
HTML attribute and IDL property, since disabling dragging over a <model> element to adjust
the camera would trigger a crash under Pasteboard::write() on macOS due to not having an
image set on the pasteboard data.
- Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::supportsDragging const):
(WebCore::HTMLModelElement::isDraggableIgnoringAttributes const):
- Modules/model-element/HTMLModelElement.h:
- Modules/model-element/ModelPlayer.cpp:
(WebCore::ModelPlayer::supportsDragging):
- Modules/model-element/ModelPlayer.h:
- page/DragController.cpp:
(WebCore::modelElementIsDraggable):
Source/WebKit:
Override the ModelPlayer method to enable <model> dragging on iOS.
- WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.h:
- WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.mm:
(WebKit::ARKitInlinePreviewModelPlayerIOS::supportsDragging):
- 12:48 AM Changeset in webkit [288669] by
-
- 4 edits in trunk
Avoid setting and clearing :active state when dispatching synthetic click events when possible
https://bugs.webkit.org/show_bug.cgi?id=235672
<rdar://problem/88095418>
Reviewed by Simon Fraser.
Source/WebCore:
Simulated click events are dispatched with two options:
- whether to send associated events mouseover, mouseup, mousedown
- whether to repaint the target element with its pressed look
We currently always set the element's :active state just after when we'd
send the mousedown event, and clear it just after that.
When we dispatch a simulated click event with neither of the above
options set, there's no way to observe the temporary :active state on
the element. We can skip it in that case.
We need to continue clearing clearing the :active state regardless,
because some callers have already set :active and are relying on
simulateClick to clear it.
This patch is a 0.3-0.4% improvement on Speedometer 2.
- dom/SimulatedClick.cpp:
(WebCore::simulateClick):
LayoutTests:
- platform/gtk/inspector/timeline/line-column-expected.txt:
Jan 26, 2022:
- 11:21 PM Changeset in webkit [288668] by
-
- 4 edits in trunk/Source
[Web Inspector] Update return value name for Animation.requestEffectTarget()
https://bugs.webkit.org/show_bug.cgi?id=235661
Reviewed by Devin Rousso.
Source/JavaScriptCore:
I wrongly assumed the name of the return value was important for backward compatibility when
fixing bug 235234, but it's not, so let's use a better name which doesn't make any particular
assumption on the type.
- inspector/protocol/Animation.json:
Source/WebInspectorUI:
Update the parameter name to match the name used in the protocol.
- UserInterface/Models/Animation.js:
(WI.Animation.prototype.requestEffectTarget):
- 10:59 PM Changeset in webkit [288667] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
In other words:
For each update, we did the following steps:
- Set m_data to a new big continuous chunk of data that stores all received data
- Create a view of the new data as a SharedBuffer. This SharedBuffer references the big continuous chunk above
- XHR stores a ref to the view, hence keep the big chunk alive.
Each XHR chunk, although small in data that can be accessed, is actually keeping in memory all temporary created m_data chunks.
Following this change, XHR will now only keeps a reference to the new DataSegment added since the last run rather than the entire previous content.
Fly-by: add some comments describing the running of the method.
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::updateBuffer):
- 10:16 PM Changeset in webkit [288666] by
-
- 11 edits in trunk
[GTK] WTR: Native HTML form validation popover is not supported
https://bugs.webkit.org/show_bug.cgi?id=167579
Reviewed by Carlos Garcia Campos.
This change enables form-validation-related tests. To this end, two APIs called
overridePreference and contentsOfUserInterfaceItem are added to UIScriptController.
Source/WebKit:
WebKitWebViewBase implements contentsOfUserInterfaceItem for UIScriptController
necessary for webkit tests. It returns a font size and an actual message of a validation
bubble in the dictionary format. For overridePreference, we directly call WKPreference API
in WKView.cpp
No new tests since this change is the enabler of existing tests.
- UIProcess/API/C/gtk/WKView.cpp:
(WKViewContentsOfUserInterfaceItem):
- UIProcess/API/C/gtk/WKViewPrivate.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseContentsOfUserInterfaceItem):
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
Tools:
UIScriptController.overridePreference configures the minimum font size of the validation bubbles
and UIScriptController.contentsOfUserInterfaceItem returns an actual bubble message along with its font size
in a json object.
- WebKitTestRunner/TestController.h: Make paltformPreferences public.
- WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
(WTR::UIScriptControllerGtk::overridePreference):
(WTR::toJSONObject):
(WTR::UIScriptControllerGtk::contentsOfUserInterfaceItem const):
- WebKitTestRunner/gtk/UIScriptControllerGtk.h:
LayoutTests:
We configure the minimum font size of the validation bubbles via UIScriptController.overridePreference
and retrieve a message and its font size through UIScriptController.contentsOfUserInterfaceItem.
- platform/gtk/TestExpectations: Enable form validation related tests we can perform with native bubble widgets but skip ones related to HTML-based form validation as Cocoa-based ports do.
- 9:35 PM Changeset in webkit [288665] by
-
- 1 copy in tags/Safari-613.1.14.11.2
Tag Safari-613.1.14.11.2.
- 9:32 PM Changeset in webkit [288664] by
-
- 9 edits in branches/safari-613.1.14.11-branch/Source
Versioning.
WebKit-7613.1.14.11.2
- 8:36 PM Changeset in webkit [288663] by
-
- 2 edits in trunk/Source/WebCore
[WPE] Unreviewed, fix non-unified build after r288640
https://bugs.webkit.org/show_bug.cgi?id=235682
- bindings/js/JSDOMMicrotask.cpp: Add missing header.
- 8:12 PM Changeset in webkit [288662] by
-
- 9 edits in trunk/Source
[WP] Avoid calling IOSurfaceAlignProperty
https://bugs.webkit.org/show_bug.cgi?id=235659
Reviewed by Simon Fraser.
Source/WebCore:
Add information about alignment of bytes per row to IOSurface class.
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::surfaceBytesPerRowAlignment):
(WebCore::IOSurface::bytesPerRowAlignment):
(WebCore::IOSurface::setBytesPerRowAlignment):
Source/WebKit:
Avoid calling IOSurfaceAlignProperty in the WebContent process, since it requires IOKit access.
Information about the alignment of bytes per row of IOSurface will be retrieved in the UI process,
and sent to the WebContent process, where it will be stored.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- Shared/cg/ShareableBitmapCG.cpp:
(WebKit::ShareableBitmap::calculateBytesPerRow):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 7:20 PM Changeset in webkit [288661] by
-
- 6 edits2 deletes in trunk/Source/WebCore
Remove the now-unused JSGlobalObjectTask class
https://bugs.webkit.org/show_bug.cgi?id=235675
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-26
Reviewed by Darin Adler.
It was named quite poorly and replaced with JSMicrotaskCallback.
No new tests, no behavior change.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMGlobalObjectTask.cpp: Removed.
- bindings/js/JSDOMGlobalObjectTask.h: Removed.
- bindings/js/JSDOMWindowBase.cpp:
- bindings/js/JSWorkerGlobalScopeBase.cpp:
- bindings/js/JSWorkletGlobalScopeBase.cpp:
- 6:53 PM Changeset in webkit [288660] by
-
- 2 edits in trunk/Source/WTF
Build failure with GCC 12: MediaTime.h:167:71: error: call to non-'constexpr' function 'WTF::MediaTime& WTF::MediaTime::operator=(const WTF::MediaTime&)'
https://bugs.webkit.org/show_bug.cgi?id=235610
Patch by Michael Catanzaro <Michael Catanzaro> on 2022-01-26
Reviewed by Darin Adler.
The problem is the constexpr constructor calls the non-constexpr copy assignment operator.
This is easy to fix, at the expense of readability, by open-coding the desired values here.
- wtf/MediaTime.h:
(WTF::MediaTime::MediaTime):
- 5:21 PM Changeset in webkit [288659] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, reverting r288614.
Caused layout test crashes
Reverted changeset:
"REGRESSION(r287684) speedtest.net uses many GB of memory"
https://bugs.webkit.org/show_bug.cgi?id=235615
https://commits.webkit.org/r288614
- 5:04 PM Changeset in webkit [288658] by
-
- 3 edits in trunk/Source/WebKit
Symbols not always properly hidden when using WebKitAdditions to introduce new API
https://bugs.webkit.org/show_bug.cgi?id=235674
<rdar://87999257>
Reviewed by Wenson Hsieh.
Surround APIs from WebKitAdditions with
#if ENABLE(API_WEBKIT_ADDITIONS)instead of
#if USE(APPLE_INTERNAL_SDK)and leaving API_WEBKIT_ADDITIONS to be intentionally
undefined. This is because we never want to build the code inside this #if block.
Instead, those blocks are only meant to be replaced by the
replace-webkit-additions-includes.py with the code from WebKitAdditions.
- UIProcess/API/Cocoa/WKWebpagePreferences.h:
- mac/replace-webkit-additions-includes.py:
(main):
- 5:02 PM Changeset in webkit [288657] by
-
- 2 edits in trunk/Tools
[EWS] Ignore hooks from closed PRs
https://bugs.webkit.org/show_bug.cgi?id=235666
<rdar://problem/88091611>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/events.py:
(GitHubEventHandlerNoEdits):
(GitHubEventHandlerNoEdits.handle_pull_request): Ignore hooks coming from closed pull requests.
Canonical link: https://commits.webkit.org/246465@main
- 4:57 PM Changeset in webkit [288656] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (01/14/22?): [macOS Release WK2] imported/w3c/web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-drawImage.html and createImageBitmap-flipY.html are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=235681
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Mark tests as flaky.
- 4:57 PM Changeset in webkit [288655] by
-
- 2 edits in trunk/LayoutTests
ASSERTION FAILED: m_pdfDocument under WebKit::PDFPlugin::installPDFDocument()
https://bugs.webkit.org/show_bug.cgi?id=235660
Unreviewed test gardening.
Speculatively skip fast/replaced/encrypted-pdf-as-object-and-embed.html, which runs right
before a non-PDF test that gets the blame for the crash.
- platform/mac/TestExpectations:
- 4:15 PM Changeset in webkit [288654] by
-
- 4 edits in trunk/Source/WebCore
Make some minor adjustments after r288621
https://bugs.webkit.org/show_bug.cgi?id=235598
rdar://88032375
Reviewed by Darin Adler.
Address some post-commit review comments.
- dom/ImageOverlay.cpp:
(WebCore::ImageOverlay::updateSubtree):
- testing/Internals.cpp:
(WebCore::Internals::installImageOverlay):
- testing/Internals.mm:
(WebCore::Internals::fakeDataDetectorResultForTesting):
- 4:07 PM Changeset in webkit [288653] by
-
- 7 edits in trunk/Tools
Share TestRunner::installFakeHelvetica implementation
https://bugs.webkit.org/show_bug.cgi?id=235657
Reviewed by Darin Adler.
The implementation of TestRunner::installFakeHelvetica was the same for each port. It just
calls into the WTR::installFakeHelvetica function defined in ActivateFonts.h which does the
actual work of installing the font.
- WebKitTestRunner/InjectedBundle/ActivateFonts.h:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::installFakeHelvetica):
- WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::installFakeHelvetica): Deleted.
- WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::installFakeHelvetica): Deleted.
- WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp:
(WTR::TestRunner::installFakeHelvetica): Deleted.
- WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
(WTR::TestRunner::installFakeHelvetica): Deleted.
- 4:03 PM Changeset in webkit [288652] by
-
- 8 edits in trunk/Source/WebKit
[WebAuthn] We should pass extensions to ASC if possible
https://bugs.webkit.org/show_bug.cgi?id=235533
rdar://87169406
Reviewed by Brent Fulgham.
This patch starts passing WebAuthn extensions to ASC if possible,
in order to support the googleLegacyAppidSupport extension, which
is required to register security keys on google.com. It also starts
passing the attestationPreference option, which was not being passed before.
Tested manually. Previous version of patch contained
TestWebKitAPI.WebAuthenticationPanel.PublicKeyCredentialRequestOptionsASC
and TestWebKitAPI.WebAuthenticationPanel.PublicKeyCredentialCreationOptionsASC,
but were removed due to difficulty softlinking from tests.
- Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
- UIProcess/API/Cocoa/_WKAuthenticationExtensionsClientInputs.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(authenticationExtensionsClientInputs):
- UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.h:
- UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.mm:
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::toNSString):
(WebKit::toASCExtensions):
(WebKit::configureRegistrationRequestContext):
(WebKit::configurationAssertionRequestContext):
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
- WebKit.xcodeproj/project.pbxproj:
- 3:56 PM Changeset in webkit [288651] by
-
- 53 edits in trunk/LayoutTests
[GLIB] Update test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=235677
This is mostly rebaselining and updating expectations after r288070
enabled LFC integration for complex text.
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-01-26
- platform/glib/TestExpectations:
- platform/glib/css2.1/t1508-c527-font-00-b-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/css/css-text/white-space/trailing-space-position-001-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/html/dom/elements/the-innertext-and-outertext-properties/getter-expected.txt:
- platform/glib/transforms/2d/hindi-rotated-expected.txt:
- platform/gtk/TestExpectations:
- platform/gtk/fast/block/margin-collapse/045-expected.txt:
- platform/gtk/fast/borders/rtl-border-05-expected.txt:
- platform/gtk/fast/css/word-space-extra-expected.txt:
- platform/gtk/fast/events/updateLayoutForHitTest-expected.txt:
- platform/gtk/fast/forms/large-toggle-elements-expected.txt:
- platform/gtk/fast/forms/select-writing-direction-natural-expected.txt:
- platform/gtk/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
- platform/gtk/fast/frames/iframe-scrolling-attribute-expected.txt:
- platform/gtk/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
- platform/gtk/fast/text/wbr-expected.txt:
- platform/gtk/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt:
- platform/gtk/fast/text/whitespace/pre-wrap-overflow-selection-expected.txt:
- platform/gtk/fast/text/whitespace/span-in-word-space-causes-overflow-expected.txt:
- platform/gtk/fast/text/word-space-expected.txt:
- platform/gtk/fonts/sans-serif-expected.txt:
- platform/gtk/fonts/serif-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/browsers/sandboxing/sandbox-parse-noscript-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/dom/elements/the-innertext-idl-attribute/getter-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/innerText/getter-expected.txt:
- platform/gtk/printing/single-line-must-not-be-split-into-two-pages-expected.txt:
- platform/gtk/scrollbars/overflow-scrollbar-combinations-expected.txt:
- platform/gtk/svg/as-object/object-box-sizing-no-width-height-expected.txt:
- platform/gtk/svg/custom/svg-fonts-without-missing-glyph-expected.txt:
- platform/gtk/svg/custom/svg-fonts-word-spacing-expected.txt:
- platform/gtk/svg/hixie/processing-model/003-expected.txt:
- platform/gtk/svg/hixie/processing-model/004-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug101674-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug113235-1-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug113235-2-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug1188-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug126742-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug14323-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug2267-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug2947-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug2973-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug38916-expected.txt:
- platform/gtk/tables/mozilla/bugs/bug4527-expected.txt:
- platform/gtk/tables/mozilla/core/col_span-expected.txt:
- platform/gtk/tables/mozilla/marvin/x_col_width_rel-expected.txt:
- platform/gtk/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
- platform/gtk/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
- platform/gtk/tables/mozilla/other/wa_table_tr_align-expected.txt:
- platform/gtk/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
- platform/gtk/transforms/3d/general/perspective-units-expected.txt:
- platform/wpe/TestExpectations:
- 3:53 PM Changeset in webkit [288650] by
-
- 11 edits2 adds in trunk
REGRESSION (r281306): Non-breaking space incorrectly collapsed when webkit-nbsp-mode is set to "space"
https://bugs.webkit.org/show_bug.cgi?id=235627
<rdar://88004831>
Reviewed by Antti Koivisto.
Source/WebCore:
"-webkit-nbsp-mode: space" has a peculiar collapsing behavior. It only collapses as leading content
preceded by forced line break.
<div style="-webkit-nbsp-mode: space; width: 0px;">
first_line second_line
</div>
The non-breaking space is collapsed. It does not show on the second line as leading content.
<div style="-webkit-nbsp-mode: space; width: 0px;">
first_line<br>
second_line
</div>
The non-breaking space is NOT collapsed. It shows up as leading content on the second line, indenting the "second_line" text content.
To mimic this legacy behavior, it's easier just to switch back to handling nbsp; as a non-whitespace inline item and
collapse it as leading content (depending on the breaking context).
(as opposed to customize regular whitespace content collapsing behavior just to support this quirk)
Test: fast/text/collapsible-non-breaking-space.html
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::moveToNextNonWhitespacePosition): remove special nbsp; handling
(WebCore::Layout::InlineItemsBuilder::handleTextContent): create an inline text item for the special mon-breaking space content.
- layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::initialize):
(WebCore::Layout::Line::appendTextContent):
- layout/formattingContexts/inline/InlineLine.h:
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::inlineItemWidth const):
(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::LineBuilder::candidateContentForLine):
(WebCore::Layout::LineBuilder::handleInlineContent):
(WebCore::Layout::LineBuilder::rebuildLine):
- layout/formattingContexts/inline/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::isFirstLine const):
- layout/formattingContexts/inline/InlineTextItem.cpp:
(WebCore::Layout::InlineTextItem::isCollapsibleNonBreakingSpace const):
- layout/formattingContexts/inline/InlineTextItem.h:
LayoutTests:
- fast/text/collapsible-non-breaking-space-expected.html: Added.
- fast/text/collapsible-non-breaking-space.html: Added.
- platform/ios/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt: A slight behavior change with trailing content trimming, but
not generally noticeable and very specific to this non-standard property.
- platform/mac/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt:
- 3:29 PM Changeset in webkit [288649] by
-
- 3 edits in trunk/Source/JavaScriptCore
Move leftover JSValue inlines from JSString.h to JSCJSValueInlines.h
https://bugs.webkit.org/show_bug.cgi?id=235662
Reviewed by Yusuke Suzuki.
JSString.h still contains some JSValue inlines from years past
(including toBoolean which doesn't overtly relate to strings at all);
these can be moved to JSCJSValueInlines.h without issue.
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::toBoolean const): Added.
(JSC::JSValue::toString const): Added.
(JSC::JSValue::toStringOrNull const): Added.
(JSC::JSValue::toWTFString const): Added.
- runtime/JSString.h:
(JSC::JSValue::toBoolean const): Deleted.
(JSC::JSValue::toString const): Deleted.
(JSC::JSValue::toStringOrNull const): Deleted.
(JSC::JSValue::toWTFString const): Deleted.
- 3:07 PM Changeset in webkit [288648] by
-
- 2 edits in trunk/Source/WebCore
JSEventListener::replaceJSFunctionForAttributeListener() should not replace m_wrapper unconditionally
https://bugs.webkit.org/show_bug.cgi?id=235658
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-26
Reviewed by Yusuke Suzuki.
This is a follow-up to r287293, which aligns JSEventListener::replaceJSFunctionForAttributeListener()
with JSEventListener::ensureJSFunction() in terms of handling uninitilized lazy event listeners.
Without this change, the microbenchmark in <https://webkit.org/b/234441> consumes 16 GB of memory in
30 seconds and crashes, which even isn't a regression: the same issue was observed before r287293.
According to new microbenchmark samples, I'm hopeful that with this patch, Speedometer2/Inferno-TodoMVC
will progress as promised in r287293.
No new tests, no behavior change.
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::replaceJSFunctionForAttributeListener):
- 2:49 PM Changeset in webkit [288647] by
-
- 4 edits in branches/safari-611.3.10.1-branch/Source
Revert "Cherry-pick r281384. rdar://problem/82195071"
This reverts commit r281392.
- 2:35 PM Changeset in webkit [288646] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r288623) MSVC reports "InspectorDOMAgent.cpp(558,40): error C2059: syntax error: ':'"
https://bugs.webkit.org/show_bug.cgi?id=235667
Unreviewed build fix.
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::pushStyleableElementToFrontend):
(WebCore::InspectorDOMAgent::pushStyleablePathToFrontend):
Don't use GNU extension?:.
- 2:15 PM Changeset in webkit [288645] by
-
- 4 edits in branches/safari-609.4.1.1-branch
Cherry-pick r286308. rdar://problem/85830759
Scripting attributes are sometimes not properly stripped from elements when JS is disabled
https://bugs.webkit.org/show_bug.cgi?id=233642
<rdar://63180952>
Reviewed by Geoffrey Garen.
Source/WebCore:
HTMLConstructionSite::mergeAttributesFromTokenIntoElement() was not properly stripping scripting
Element attributes when scripting is disabled, unlike other code paths in HTMLConstructionSite().
Covered by new API tests.
- html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: (TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:59 PM Changeset in webkit [288644] by
-
- 2 edits in trunk/Source/WebKit
[GTK3] Pinch zooming from a link activates it
https://bugs.webkit.org/show_bug.cgi?id=235639
Reviewed by Carlos Garcia Campos.
Turns out gestures behave differently between GTK3 and 4. On GTK4 it works
fine, but on GTK3 starting a pinch zoom triggers the multipress gesture
when one finger is down, and completes it when the second finger is down.
This results in a bogus click, with no way to prevent it as it happens
before any of the zoom callbacks are called. Since we can't know if there
will be a zoom afterwards or not, we can't do anything about it.
However, what we can do is reorder these gestures. In GTK3 the order the
gestures are processed in depends on which order they were created in.
At that point, there's a problem with the fact the gestures are grouped.
Grouping means that these 2 gestures are triggered at the same time. While
somehow the press gesture is still triggered without grouping with the
original order, they become properly decoupled in reverse order and
ungrouped.
At that point, we can safely cancel the press gesture when the zoom gesture
starts, and fix the issue.
This seems to still work fine for GTK4.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseZoomBegin):
(webkitWebViewBaseConstructed):
- 1:58 PM Changeset in webkit [288643] by
-
- 4 edits in trunk/Source/WebGPU
[WebGPU] Make sure WGSLUnitTests can call into WGSL
https://bugs.webkit.org/show_bug.cgi?id=235630
Reviewed by Dean Jackson.
- WGSL/WGSL.cpp:
(WGSL::staticCheck): Apparently /usr/local/include/AssertMacros.h #defines "check"
(WGSL::check): Deleted.
- WGSL/WGSL.h:
- WGSLUnitTests/WGSLUnitTests.mm:
(-[WGSLUnitTests testExample]):
- 12:51 PM Changeset in webkit [288642] by
-
- 8 edits in branches/safari-609.4.1.1-branch/Source
Versioning.
WebKit-7609.4.1.1.1
- 12:10 PM Changeset in webkit [288641] by
-
- 5 edits in trunk/Source/WebCore
Add an iterator to KeyframeList
https://bugs.webkit.org/show_bug.cgi?id=235652
Reviewed by Darin Adler.
Add an iterator for KeyframeList and remove the keyframes() method which serves no purpose now.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::getKeyframes):
(WebCore::KeyframeEffect::computeCSSAnimationBlendingKeyframes):
(WebCore::KeyframeEffect::computedNeedsForcedLayout):
(WebCore::KeyframeEffect::computeSomeKeyframesUseStepsTimingFunction):
(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):
(WebCore::KeyframeEffect::computeExtentOfTransformAnimation const):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation):
- rendering/style/KeyframeList.cpp:
(WebCore::KeyframeList::copyKeyframes):
- rendering/style/KeyframeList.h:
(WebCore::KeyframeList::operator[] const):
(WebCore::KeyframeList::begin const):
(WebCore::KeyframeList::end const):
(WebCore::KeyframeList::keyframes const): Deleted.
- 12:10 PM Changeset in webkit [288640] by
-
- 21 edits5 adds in trunk
globalThis.queueMicrotask() should report thrown exceptions
https://bugs.webkit.org/show_bug.cgi?id=235614
Reviewed by Geoff Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing.
- web-platform-tests/html/webappapis/microtask-queuing/queue-microtask-exceptions.any-expected.txt:
- web-platform-tests/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.serviceworker-expected.txt:
- web-platform-tests/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.worker-expected.txt:
Source/JavaScriptCore:
- Move JSGlobalObject::hasDebugger() to the header to facilitate inlining as it's used in a rather hot Microtask execution code.
- Export a few Debugger methods for JSDOMMicrotask::run().
- Remove the now-unused createJSMicrotask() overload.
- debugger/Debugger.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::hasDebugger const): Deleted.
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::hasDebugger const):
- runtime/JSMicrotask.cpp:
- runtime/JSMicrotask.h:
Source/WebCore:
This patch introduces WebCore::JSDOMMicrotask so the queueMicrotask() could report
a thrown exception as per spec [1] and to avoid invocation of a userland function
from detached <iframe>, which aligns WebKit with Blink and Gecko.
Both this changes align the callback of queueMicrotask() with generated callback
functions / interfaces (see bug 232387) that are implemented via JSCallbackData.
[1] https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#microtask-queuing:report-the-exception
Tests: imported/w3c/web-platform-tests/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.js
fast/dom/callback-function-detached-frame-queue-microtask.html
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMMicrotask.cpp: Added.
(WebCore::createJSDOMMicrotask):
(WebCore::JSDOMMicrotask::run):
- bindings/js/JSDOMMicrotask.h: Added.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::queueMicrotask):
- bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::queueMicrotask):
- dom/EventLoop.h:
LayoutTests:
- TestExpectations: Unskip 3 WPT tests that are now passing.
- fast/dom/callback-function-detached-frame-queue-microtask-expected.txt: Added.
- fast/dom/callback-function-detached-frame-queue-microtask.html: Added.
- fast/dom/resources/callback-function-detached-frame-queue-microtask-iframe.html: Added.
- inspector/debugger/break-on-uncaught-exception-expected.txt:
- platform/mac-wk1/TestExpectations: Skip Service Worker test.
- 12:06 PM Changeset in webkit [288639] by
-
- 1 copy in tags/Safari-613.1.14.5.3
Tag Safari-613.1.14.5.3.
- 12:01 PM Changeset in webkit [288638] by
-
- 8 edits in branches/safari-611.3.10.1-branch/Source
Revert 609 "Versioning."
- 11:46 AM Changeset in webkit [288637] by
-
- 8 edits in branches/safari-611.3.10.1-branch/Source
Versioning.
WebKit-7609.4.1.1.1
- 11:44 AM Changeset in webkit [288636] by
-
- 3 edits in trunk/Tools
[EWS] Support pull requests in built product management
https://bugs.webkit.org/show_bug.cgi?id=235589
<rdar://problem/88024098>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(ConfigureBuild.add_patch_id_url): Set change_id.
(ConfigureBuild.add_pr_details): Ditto.
(Trigger.propertiesToPassToTriggers): Pass change_id.
(UploadBuiltProduct): Use change_id instead of patch_id.
(TransferToS3): Ditto.
(DownloadBuiltProduct): Ditto.
(DownloadBuiltProductFromMaster): Ditto.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/246450@main
- 11:32 AM Changeset in webkit [288635] by
-
- 3 edits in trunk/Source/WebCore
[Web Animations] Remove remaining PseudoElement.h includes
https://bugs.webkit.org/show_bug.cgi?id=235651
Reviewed by Antti Koivisto.
After the fix for bug 235234, we've successfully removed all use of PseudoElement
under animation/ yet we had some remaining includes of PseudoElement.h.
- animation/DeclarativeAnimation.cpp:
- animation/WebAnimationUtilities.cpp:
- 11:31 AM Changeset in webkit [288634] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/loadConfig.py
[ews] Allow triggering individual EWS queues
https://bugs.webkit.org/show_bug.cgi?id=235620
Reviewed by Jonathan Bedard.
- Tools/CISupport/ews-build/loadConfig.py:
(loadBuilderConfig): Allow ForceScheduler in production, configure it appropriately.
Canonical link: https://commits.webkit.org/246448@main
- 11:24 AM Changeset in webkit [288633] by
-
- 4 edits in branches/safari-613.1.14.5-branch/Source/WebKit
Cherry-pick r288629. rdar://problem/88061283
Build failure - webkit daemons don't need symlink with system content path
https://bugs.webkit.org/show_bug.cgi?id=235648
Reviewed by Darin Adler.
Removed the create symlinks for the WebKit daemons since they are under the symlink for
/System/Library/WebKit.framework.
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
- WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:22 AM Changeset in webkit [288632] by
-
- 3 edits in trunk/Tools
Support workspace builds in build-webkit
https://bugs.webkit.org/show_bug.cgi?id=235550
On Apple platforms,
build-webkit --use-workspacenow builds using WebKit.xcworkspace and
XCBuild. This complements theUSE_WORKSPACE=YESMake flag added in
https://commits.webkit.org/246232@main.
At this time, there is no guarantee of correctness when building with USE_WORKSPACE=YES, and
workspace builds are not checked by builders.
Patch by Elliott Williams <Elliott Williams> on 2022-01-26
Reviewed by Alexey Proskuryakov.
- Scripts/build-webkit: Add --use-workspace flag, correct platform hints in $usage.
- Scripts/webkitdirs.pm: Remove canUseXCBuild, the flag it powered is no longer used.
(buildXCodeWorkspace): Added.
- 11:13 AM Changeset in webkit [288631] by
-
- 20 edits in trunk
Unreviewed, revert r286855 as it caused form submission issues
https://bugs.webkit.org/show_bug.cgi?id=235645
<rdar://88020080>
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt:
Source/WebCore:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::didChangeForm):
(WebCore::HTMLInputElement::insertedIntoAncestor):
(WebCore::HTMLInputElement::removedFromAncestor):
(WebCore::HTMLInputElement::checkedRadioButtonForGroup const):
- html/InputType.h:
(WebCore::InputType::willUpdateCheckedness): Deleted.
- html/RadioInputType.cpp:
(WebCore::RadioInputType::valueMissing const):
(WebCore::RadioInputType::willUpdateCheckedness): Deleted.
- html/RadioInputType.h:
LayoutTests:
- fast/forms/radio/ValidityState-valueMissing-radio-expected.txt:
- fast/forms/radio/ValidityState-valueMissing-radio.html:
- fast/forms/radio/radio-live-validation-style-expected.txt:
- fast/forms/radio/radio-live-validation-style.html:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
- 10:59 AM Changeset in webkit [288630] by
-
- 9 edits in branches/safari-613.1.14.5-branch/Source
Versioning.
WebKit-7613.1.14.5.3
- 10:55 AM Changeset in webkit [288629] by
-
- 4 edits in trunk/Source/WebKit
Build failure - webkit daemons don't need symlink with system content path
https://bugs.webkit.org/show_bug.cgi?id=235648
Reviewed by Darin Adler.
Removed the create symlinks for the WebKit daemons since they are under the symlink for
/System/Library/WebKit.framework.
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
- WebKit.xcodeproj/project.pbxproj:
- 10:04 AM Changeset in webkit [288628] by
-
- 4 edits in branches/safari-611.3.10.1-branch
Cherry-pick r286308. rdar://problem/85830732
Scripting attributes are sometimes not properly stripped from elements when JS is disabled
https://bugs.webkit.org/show_bug.cgi?id=233642
<rdar://63180952>
Reviewed by Geoffrey Garen.
Source/WebCore:
HTMLConstructionSite::mergeAttributesFromTokenIntoElement() was not properly stripping scripting
Element attributes when scripting is disabled, unlike other code paths in HTMLConstructionSite().
Covered by new API tests.
- html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: (TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:01 AM Changeset in webkit [288627] by
-
- 10 edits1 delete in trunk
[CSS Container Queries] container-type property should establish containment for 'size' and 'inline-size' values
https://bugs.webkit.org/show_bug.cgi?id=235638
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-type-containment-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-type-layout-invalidation-expected.txt:
Source/WebCore:
https://drafts.csswg.org/css-contain-3/#container-type
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isLayoutContainmentBox const):
(WebCore::Layout::Box::isSizeContainmentBox const):
- rendering/RenderObject.cpp:
(WebCore::shouldApplyAnyContainment):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::effectiveContainment const):
Add effectiveContaiment function add use it in most places instead of accessing contain()
property value directly.
Apply appropriate containment for container-type. Note that 'inline-size' containment is not
supported yet.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::containsLayout const):
(WebCore::RenderStyle::containsSize const):
(WebCore::RenderStyle::containsStyle const):
(WebCore::RenderStyle::containsPaint const):
LayoutTests:
- 9:58 AM Changeset in webkit [288626] by
-
- 1 copy in branches/safari-609.4.1.1-branch
New branch.
- 9:57 AM Changeset in webkit [288625] by
-
- 8 edits in branches/safari-611.3.10.1-branch/Source
Versioning.
WebKit-7611.3.10.1.16
- 9:49 AM Changeset in webkit [288624] by
-
- 2 edits in trunk
[CMake] Pass -pipe to compilers that support it
https://bugs.webkit.org/show_bug.cgi?id=235641
Reviewed by Darin Adler.
- Source/cmake/WebKitCompilerFlags.cmake: Add -pipe to compiler options where supported.
- 9:41 AM Changeset in webkit [288623] by
-
- 25 edits1 add in trunk
[Web Inspector] Graphics tab should display pseudo-elements for more than ::before and ::after
https://bugs.webkit.org/show_bug.cgi?id=235234
<rdar://87766777>
Reviewed by Devin Rousso.
Source/JavaScriptCore:
Add a new
DOM.Styleabletype to be used as the parameter type forrequestEffectTarget()callbacks.
- inspector/protocol/Animation.json:
- inspector/protocol/DOM.json:
Source/WebCore:
Until now, we would pass the result of KeyframeEffect::targetElementOrPseudoElement() to
InspectorAnimationAgent::willApplyKeyframeEffect(). This meant that the inspector would only
be told of an animation target as an Element or a PseudoElement but not as an Element / PseudoId
pair, thus only allowing ::before and ::after to be represented since only those pseudo-elements
create a PseudoElement.
We now pass a Styleable, which encapsulate an Element / PseudoId pair, to
InspectorAnimationAgent::willApplyKeyframeEffect(). Additionally, the Styleable target is read from
the effect for callbacks provided to requestEffectTarget().
Sadly, we still rely on PseudoElement, but this patch at least removes all use of PseudoElement
from KeyframeEffect and pushes it down to InspectorDOMAgent with a new static method
elementToPushForStyleable() which the new pushStyleableElementToFrontend() and pushStyleablePathToFrontend()
methods use to turn the Styleable to an Element or PseudoElement.
In the future, we would need to further remove PseudoElement from Web Inspector and expose something
similar to Styleable throughout the codebase, or find some other way to encapsulate an Element / PseudoId
pair.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::apply):
(WebCore::KeyframeEffect::targetElementOrPseudoElement const): Deleted.
- animation/KeyframeEffect.h:
(WebCore::KeyframeEffect::target const):
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willApplyKeyframeEffectImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willApplyKeyframeEffect):
- inspector/agents/InspectorAnimationAgent.cpp:
(WebCore::InspectorAnimationAgent::requestEffectTarget):
(WebCore::InspectorAnimationAgent::willApplyKeyframeEffect):
- inspector/agents/InspectorAnimationAgent.h:
- inspector/agents/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::protocolValueForPseudoId):
(WebCore::protocolValueForPseudoId): Deleted.
- inspector/agents/InspectorCSSAgent.h:
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::elementToPushForStyleable):
(WebCore::InspectorDOMAgent::pushStyleableElementToFrontend):
(WebCore::InspectorDOMAgent::pushStyleablePathToFrontend):
- inspector/agents/InspectorDOMAgent.h:
Source/WebInspectorUI:
Add a new
DOMStyleablemodel class to match the newDOM.Styleableprotocol type.
When calling Animation.requestEffectTarget(), we now use this new DOMStyleable class
to display pseudo-elements other than ::before or ::after in the Graphics tab.
- UserInterface/Base/DOMUtilities.js:
(WI.linkifyStyleable):
- UserInterface/Main.html:
- UserInterface/Models/Animation.js:
(WI.Animation.prototype.requestEffectTarget):
- UserInterface/Models/DOMStyleable.js: Added.
(WI.DOMStyleable.prototype.fromPayload):
(WI.DOMStyleable.prototype.get node):
(WI.DOMStyleable.prototype.get pseudoId):
(WI.DOMStyleable.prototype.get displayName):
(WI.DOMStyleable):
- UserInterface/Test.html:
- UserInterface/Views/AnimationCollectionContentView.js:
(WI.AnimationCollectionContentView.prototype._handleContentViewMouseEnter):
- UserInterface/Views/AnimationContentView.js:
(WI.AnimationContentView.prototype._refreshSubtitle):
- UserInterface/Views/AnimationDetailsSidebarPanel.js:
(WI.AnimationDetailsSidebarPanel.prototype._refreshIdentitySection):
LayoutTests:
Check that requestEffectTarget() returns the correct Styleable by checking whether it's defined
or null, and checking itsnodeandpseudoIdmembers.
- inspector/animation/targetChanged-expected.txt:
- inspector/animation/targetChanged.html:
- 8:59 AM Changeset in webkit [288622] by
-
- 7 edits in trunk
[WebAuthn] Add authenticator attachment used during authentication to credential payload
https://bugs.webkit.org/show_bug.cgi?id=235621
rdar://86538235
Reviewed by Dean Jackson.
Source/WebCore:
This patch adds the authenticator attachment used to the credential response in get/create
webauthn calls as described in the merged PR to the spec: https://github.com/w3c/webauthn/pull/1668/files
Modified layout tests to check for authenticator attachment = (cross-platform/platform) where appropriate
and verified response in manual calls.
- Modules/webauthn/PublicKeyCredential.cpp:
(WebCore::PublicKeyCredential::authenticatorAttachment const):
- Modules/webauthn/PublicKeyCredential.h:
- Modules/webauthn/PublicKeyCredential.idl:
LayoutTests:
Modify webauthn layout tests to check for new authenticatorAttachment field.
- http/wpt/webauthn/public-key-credential-get-success-local.https.html:
- http/wpt/webauthn/resources/util.js:
- 8:49 AM Changeset in webkit [288621] by
-
- 14 edits2 adds in trunk
Data detectors sometimes show up in the wrong place when resizing images with Live Text
https://bugs.webkit.org/show_bug.cgi?id=235598
rdar://88032375
Reviewed by Dean Jackson.
Source/WebCore:
On macOS, Live Text data detectors sometimes show up in the wrong place when images are resized; this can happen
in the case where image analysis injects data detection results into the image, but then the image is resized
from underneath the user's mouse cursor. To fix this, add some logic to invalidate ImageOverlayController's
cached data detector highlight information in the case where the image overlay layout has been changed.
Test: fast/images/text-recognition/mac/image-overlay-data-detectors.html
- WebCore.xcodeproj/project.pbxproj:
Have libWebCoreTestSupport additionally link against libPAL, so that we can use PAL's DataDetectorsCore soft-
linking utilities.
- dom/ImageOverlay.cpp:
(WebCore::ImageOverlay::updateSubtree):
Drive-by fix in adjacent code: when installing image overlays in media elements, make sure that we install them
inside the media controls root container by callingensureUserAgentShadowRoot()before inserting the overlay
content; this ensures that we don't end up with a redundant image overlay in the shadow root. Tests for this
will be added in #235623.
(WebCore::ImageOverlay::updateWithTextRecognitionResult):
- page/ImageOverlayController.cpp:
(WebCore::ImageOverlayController::textRecognitionResultsChanged):
(WebCore::ImageOverlayController::hasActiveDataDetectorHighlightForTesting const):
- page/ImageOverlayController.h:
- page/mac/ImageOverlayControllerMac.mm:
(WebCore::ImageOverlayController::textRecognitionResultsChanged):
Add a hook to inform ImageOverlayController when image overlay content changes. If the image overlay host
matches the currently active host element showing data detector highlights, then invalidate the highlights;
these highlights will be recomputed once the user hovers over the data detector elements again.
(WebCore::ImageOverlayController::hasActiveDataDetectorHighlightForTesting const):
Add a testing-only helper method to query whether or not there is an active data detector highlight. See below
for more details.
- testing/Internals.cpp:
Add some more WebCore testing support to make it possible to test data detector highlights in Live Text on
macOS.
(WebCore::makeDataForLine):
(WebCore::Internals::installImageOverlay):
Add an optional argument to provide a list of data detector quads to inject into the overlay host. For now, each
data detector element simply corresponds to a dummyDDScannerResultreturned by the static
fakeDataDetectorResultForTesting()helper below.
(WebCore::Internals::hasActiveDataDetectorHighlight const):
Add an internal testing hook to query whether or not ImageOverlayController is tracking an active data detector
highlight.
- testing/Internals.h:
- testing/Internals.idl:
- testing/Internals.mm:
(WebCore::Internals::fakeDataDetectorResultForTesting):
Source/WebCore/PAL:
Move some soft-linked DataDetectorsCore API out of the iOS-specific define, so that we can call them on macOS.
See WebCore/ChangeLog for more details.
- pal/cocoa/DataDetectorsCoreSoftLink.h:
- pal/cocoa/DataDetectorsCoreSoftLink.mm:
LayoutTests:
Add a layout test to exercise (some) of the changes. This new layout test consists of 4 steps:
- Hover over a data detector in Live Text and confirm that a data detector highlight is activated.
- Resize the image (via script) such that the cursor is no longer over a data detector; confirm that the data
detector highlight is cleared.
- Move over the data detector highlight in the resized image, and confirm that the highlight is once again
activated.
- Move out of the image altogether and confirm that the highlight is deactivated.
- fast/images/text-recognition/mac/image-overlay-data-detectors-expected.txt: Added.
- fast/images/text-recognition/mac/image-overlay-data-detectors.html: Added.
- 8:42 AM Changeset in webkit [288620] by
-
- 4 edits in trunk/Source/WebCore
[MacOS] Set kAudioOutputUnitProperty_CurrentDevice on CoreAudioSharedUnit outputBus
https://bugs.webkit.org/show_bug.cgi?id=235632
<rdar://87771490>
Reviewed by Eric Carlson.
When VPIO is used for rendering audio, it is not always updating the audio route when system default speaker is updated.
While it is doing so when capturing using the built-in microphone, it is not doing so with BT microphones.
To make it reliable, we are now setting kAudioOutputUnitProperty_CurrentDevice on the output bus to the default output device.
Whenever we detect a change of default output device, we reconfigure the audio unit to select the new default output device.
Manually tested.
- platform/mediastream/mac/BaseAudioSharedUnit.cpp:
(WebCore::BaseAudioSharedUnit::devicesChanged):
- platform/mediastream/mac/BaseAudioSharedUnit.h:
(WebCore::BaseAudioSharedUnit::setOutputDeviceID):
(WebCore::BaseAudioSharedUnit::validateOutputDevice):
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioSharedUnit::setupAudioUnit):
(WebCore::CoreAudioSharedUnit::validateOutputDevice):
- 7:54 AM Changeset in webkit [288619] by
-
- 2 edits in trunk/Source/WebCore
AX: Do less work under m_changeLogLock in AXIsolatedTree::clear and AXIsolatedTree::setFocusedNodeID
https://bugs.webkit.org/show_bug.cgi?id=235624
Reviewed by Chris Fleizach.
AXIsolatedTree::clear and AXIsolatedTree::setFocusedNodeID
do work while holding m_changeLogLock that does not require this lock. This
patch moves this work before the lock acquisition so we hold the lock for as short
a time as possible.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::clear):
(WebCore::AXIsolatedTree::setFocusedNodeID):
Move work that doesn't require m_changeLogLock before we acquire the lock.
- 6:45 AM Changeset in webkit [288618] by
-
- 2 edits in trunk/LayoutTests
[iOS] imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html is failing
https://bugs.webkit.org/show_bug.cgi?id=235640
Unreviewed rebase.
- platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- 6:35 AM Changeset in webkit [288617] by
-
- 3 edits in trunk/Source/WebCore
ASSERTION FAILED: !hasPendingSheets() under WebCore::Style::Scope::~Scope()
https://bugs.webkit.org/show_bug.cgi?id=235612
<rdar://problem/88046988>
Reviewed by Alan Bujtas.
- dom/Document.cpp:
(WebCore::Document::didRemoveAllPendingStylesheet):
Don't try to scroll to anchor if we don't have a view. This avoids hitting ASSERT(!m_inRemovedLastRefFunction)
trying to ref the document during teardown (with refererencing node count still non-zero).
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::removedFromDocument):
Ensure we always remove the Element from the pending sheet list when it is removed from the document.
- 6:13 AM Changeset in webkit [288616] by
-
- 28 edits6 copies100 adds in trunk/LayoutTests
Rebase WPT streams tests up to 8d1dc42
https://bugs.webkit.org/show_bug.cgi?id=235580
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Rebased WPT stream tests and expectations from WPT ToT.
- web-platform-tests/streams: Refreshed.
LayoutTests:
- platform/mac-wk1/TestExpectations: Skipping service worker tests.
- 6:11 AM Changeset in webkit [288615] by
-
- 13 edits6 copies9 adds1 delete in trunk/LayoutTests
WebGL conformance tests that are pending upstreaming should not duplicate unmodified files
https://bugs.webkit.org/show_bug.cgi?id=235631
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-26
Reviewed by Antti Koivisto.
Duplicating the unmodified files keeps the pending tests somewhat isolated from the
upstream test updates. However, this is not feasible as the tests refer to bigger files
that are inconvenient to duplicate, such as videos. Also this makes it harder to write new tests,
since if the new pending test starts to use a file, the file would need duplication.
Also if the upstream has modified the shared files, the change done to the pending test needs
to be done anyway.
It is more consistent to use the same helper media, js and css resources for the pending tests
as the conformance test suite snapshot uses.
Remove all unmodified helper css and js files from the pending test directory and
use the unmodified files from the actual test files.
WebGL conformance tests are:
webgl/2.0.y/ -- autogenerated driver html files referencing the actual test suite test files
webgl/resources/webgl_test_files -- the actual test suite files
Move the pending tests similarly:
webgl/pending -- drivers
webgl/pending/resources/webgl_test_files -- old pending actual test files
webgl/resources/pending_webgl_test_files -- new pending actual test files
This way it is easier to refer to the resources from the actual test files.
- webgl/pending/conformance/context/context-attributes-alpha-depth-stencil-antialias-expected.txt:
- webgl/pending/conformance/context/context-attributes-alpha-depth-stencil-antialias.html:
- webgl/pending/conformance/glsl/misc/shader-with-reserved-words-2-expected.txt:
- webgl/pending/conformance/glsl/misc/shader-with-reserved-words-2.html:
- webgl/pending/conformance/glsl/misc/swizzle-as-lvalue-expected.txt:
- webgl/pending/conformance/glsl/misc/swizzle-as-lvalue.html:
- webgl/pending/conformance/textures/misc/tex-image-video-repeated-expected.txt:
- webgl/pending/conformance/textures/misc/tex-image-video-repeated.html:
- webgl/pending/conformance2/glsl3/empty-shader-with-output-expected.txt:
- webgl/pending/conformance2/glsl3/empty-shader-with-output.html:
- webgl/pending/conformance2/glsl3/float-constant-expressions-expected.txt:
- webgl/pending/conformance2/glsl3/float-constant-expressions.html:
- webgl/pending/resources/js-test-pre.js: Removed.
- webgl/pending/resources/webgl_test_files/js/glsl-conformance-test.js: Removed.
- webgl/pending/resources/webgl_test_files/js/js-test-post.js: Removed.
- webgl/pending/resources/webgl_test_files/js/js-test-pre.js: Removed.
- webgl/pending/resources/webgl_test_files/js/webgl-test-utils.js: Removed.
- webgl/pending/resources/webgl_test_files/resources/glsl-feature-tests.css: Removed.
- webgl/pending/resources/webgl_test_files/resources/js-test-style.css: Removed.
- webgl/pending/resources/webkit-webgl-test-harness.js: Removed.
- webgl/resources/pending_webgl_test_files/conformance/context/context-attributes-alpha-depth-stencil-antialias.html: Renamed from LayoutTests/webgl/pending/resources/webgl_test_files/conformance/context/context-attributes-alpha-depth-stencil-antialias.html.
- webgl/resources/pending_webgl_test_files/conformance/glsl/misc/shader-with-reserved-words-2.html: Renamed from LayoutTests/webgl/pending/resources/webgl_test_files/conformance/glsl/misc/shader-with-reserved-words-2.html.
- webgl/resources/pending_webgl_test_files/conformance/glsl/misc/swizzle-as-lvalue.html: Renamed from LayoutTests/webgl/pending/resources/webgl_test_files/conformance/glsl/misc/swizzle-as-lvalue.html.
- webgl/resources/pending_webgl_test_files/conformance/textures/misc/tex-image-video-repeated.html: Renamed from LayoutTests/webgl/pending/resources/webgl_test_files/conformance/textures/misc/tex-image-video-repeated.html.
- webgl/resources/pending_webgl_test_files/conformance2/glsl3/empty-shader-with-output.html: Renamed from LayoutTests/webgl/pending/resources/webgl_test_files/conformance2/glsl3/empty-shader-with-output.html.
- webgl/resources/pending_webgl_test_files/conformance2/glsl3/float-constant-expressions.html: Renamed from LayoutTests/webgl/pending/resources/webgl_test_files/conformance2/glsl3/float-constant-expressions.html.
- 4:56 AM Changeset in webkit [288614] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r287684) speedtest.net uses many GB of memory
https://bugs.webkit.org/show_bug.cgi?id=235615
rdar://87830583
Reviewed by Youenn Fablet.
The regression was introduced with r286937 and is a good example of
errors introduced when attempting to optimise things too early.
CachedRawResource::updateBuffer does a search in the accumulating
resource's SharedBuffer, search that was taking O(log(n)+1) prior r286937
where n is the number of DataView segments in the SharedBuffer.
This was simplified as a O(1) operation by using the combined contiguous
SharedBuffer instead.
However, that caused every single intermediary accumulated buffers to be
kept referenced by the XMLHttpRequest SharedBufferBuilder leading to
massive memory use.
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::updateBuffer):
- 4:18 AM Changeset in webkit [288613] by
-
- 2 edits in trunk/Tools
[GTK] C++20 warnings in TestConsoleMessage
https://bugs.webkit.org/show_bug.cgi?id=235634
Patch by Philippe Normand <pnormand@igalia.com> on 2022-01-26
Reviewed by Adrian Perez de Castro.
Fix ambiguous-reversed-operator warnings. In C++20 comparison operators (like a == b) need
to be declared const, so that reverse comparisons (like b == a) also work as intended.
- TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:
(ConsoleMessageTest::ConsoleMessage::operator== const):
(ConsoleMessageTest::ConsoleMessage::operator==): Deleted.
- 2:24 AM Changeset in webkit [288612] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Do not run testPingPongStackOverflow while running multithreaded MultithreadedMultiVMExecutionTest
https://bugs.webkit.org/show_bug.cgi?id=235633
Reviewed by Mark Lam.
MultithreadedMultiVMExecutionTest is failing occasionally in CLoop test. This is because of the following.
- CLoop is slow, so multithreaded tests are running longly.
- Then, this multithreaded tests overlap with testPingPongStackOverflow.
- testPingPongStackOverflow changes global Options::maxPerThreadStackUsage to test stack-overflow behavior. This test is strongly assuming that there is only one thread using this VM. But this is wrong since MultithreadedMultiVMExecutionTest is running concurrently. Then this configuration change affects on the running MultithreadedMultiVMExecutionTest.
- Stack-overflow error happens in MultithreadedMultiVMExecutionTest if the changed option is observed in that test.
We should not run testPingPongStackOverflow until MultithreadedMultiVMExecutionTest finishes since it assumes
that there is only one user of this VM.
This patch also cleans up / adds diagnosis of failures in MultithreadedMultiVMExecutionTest.
- API/tests/MultithreadedMultiVMExecutionTest.cpp:
(startMultithreadedMultiVMExecutionTest):
(finalizeMultithreadedMultiVMExecutionTest):
- API/tests/testapi.c:
(main):
- 1:47 AM Changeset in webkit [288611] by
-
- 3 edits6 deletes in trunk/LayoutTests
Streams tests try to call ReadableStream.prototype.pipeThrough.call generically
https://bugs.webkit.org/show_bug.cgi?id=235560
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-26
Reviewed by Youenn Fablet.
ReadableStream methods are nowadays defined to accept only ReadableStream instances.
Tests sometimes assert that an exception is thrown. However, the exception being actually thrown is different.
Future testharness.js will check the exception and the test will fail.
- TestExpectations:
- platform/win/TestExpectations:
- streams/brand-checks-expected.txt: Removed.
- streams/brand-checks.html: Removed.
- streams/readable-stream-pipeThrough-expected.txt: Removed.
- streams/readable-stream-pipeThrough.html: Removed.
- streams/reference-implementation/brand-checks-expected.txt: Removed.
- streams/reference-implementation/brand-checks.html: Removed.
- 1:25 AM Changeset in webkit [288610] by
-
- 8 edits in trunk/Source
[Model] Mouse interaction for <model> is flipped in the y-axis
https://bugs.webkit.org/show_bug.cgi?id=235363
<rdar://problem/87772557>
Reviewed by Dean Jackson.
Source/WebCore:
The mouse coordinates we should send up to the ARQL APIs are in the coordinates
of the <model> element with the y-axis flipped.
- Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::flippedLocationInElementForMouseEvent):
(WebCore::HTMLModelElement::dragDidStart):
(WebCore::HTMLModelElement::dragDidChange):
(WebCore::HTMLModelElement::dragDidEnd):
- Modules/model-element/HTMLModelElement.h:
Source/WebKit:
The mouse coordinates consumed by the ARQL APIs are in the coordinates
of the <model> element with the y-axis flipped, so let's label them
as such.
- UIProcess/Cocoa/ModelElementControllerCocoa.mm:
(WebKit::ModelElementController::handleMouseDownForModelElement):
(WebKit::ModelElementController::handleMouseMoveForModelElement):
(WebKit::ModelElementController::handleMouseUpForModelElement):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleMouseDownForModelElement):
(WebKit::WebPageProxy::handleMouseMoveForModelElement):
(WebKit::WebPageProxy::handleMouseUpForModelElement):
- UIProcess/WebPageProxy.messages.in:
- WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:
(WebKit::ARKitInlinePreviewModelPlayerMac::handleMouseDown):
(WebKit::ARKitInlinePreviewModelPlayerMac::handleMouseMove):
(WebKit::ARKitInlinePreviewModelPlayerMac::handleMouseUp):
- 12:10 AM Changeset in webkit [288609] by
-
- 9 edits in trunk
[GTK] REGRESSION: Touch scrolling is broken
https://bugs.webkit.org/show_bug.cgi?id=235436
Reviewed by Chris Lord.
Source/WebKit:
Remove webkitWebViewBaseSetWheelHasPreciseDeltas(), instead add a parameter
to webkitWebViewBaseSynthesizeWheelEvent() that specifies whether the event
should have precise deltas or not.
Correct the touch swipe velocity, since it won't get multiplied by
pixelsPerLineStep().
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::navigationGestureDidBegin):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseZoomBegin):
(webkitWebViewBaseTouchDragBegin):
(webkitWebViewBaseTouchDragUpdate):
(webkitWebViewBaseTouchSwipe):
(webkitWebViewBaseSynthesizeWheelEvent):
(webkitWebViewBaseSetWheelHasPreciseDeltas): Deleted.
- UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:
(WebKit::WebAutomationSession::platformSimulateWheelInteraction):
Tools:
Stop using webkitWebViewBaseSetWheelHasPreciseDeltas(), instead pass the correct parameter into
webkitWebViewBaseSynthesizeWheelEvent().
- WebKitTestRunner/EventSenderProxy.h:
- WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::~EventSenderProxy):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::continuousMouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
(WTR::EventSenderProxy::setWheelHasPreciseDeltas):
- 12:00 AM Changeset in webkit [288608] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Fix WGSLUnitTests build
https://bugs.webkit.org/show_bug.cgi?id=235628
Unreviewed.
- Configurations/WGSLUnitTests.xcconfig:
Jan 25, 2022:
- 11:58 PM Changeset in webkit [288607] by
-
- 4 edits in trunk/Source/WebGPU
Unreviewed, reverting r288606.
https://bugs.webkit.org/show_bug.cgi?id=235629
Should never have been committed
Reverted changeset:
"[WebGPU] Fix WGSLUnitTests build"
https://bugs.webkit.org/show_bug.cgi?id=235628
https://commits.webkit.org/r288606
Patch by Commit Queue <commit-queue@webkit.org> on 2022-01-25
- 11:54 PM Changeset in webkit [288606] by
-
- 4 edits in trunk/Source/WebGPU
[WebGPU] Fix WGSLUnitTests build
https://bugs.webkit.org/show_bug.cgi?id=235628
Unreviewed.
- Configurations/WGSLUnitTests.xcconfig:
- 11:00 PM Changeset in webkit [288605] by
-
- 12 edits in trunk
REGRESSION (iOS 15.2): Loading gets stuck after back-navigation involving COOP header
https://bugs.webkit.org/show_bug.cgi?id=235475
<rdar://problem/87948317>
Reviewed by Geoffrey Garen.
Source/WebCore:
Make sure ShouldTreatAsContinuingLoad is properly propagated for back/forward navigations,
not just regular loadRequests.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::loadDifferentDocumentItem):
- loader/FrameLoader.h:
Source/WebKit:
WebPageProxy::continueNavigationInNewProcess() was failing to pass the identifier of the
NetworkResourceLoader that needs to be resumed to ProvisionalPageProxy::goToBackForwardItem().
It was only passing it to ProvisionalPageProxy::loadRequest(), which is used for non-back/forward
navigations. As a result, in case of COOP process-swap on back/forward navigation, the network
process would start a fresh load instead of resuming the existing one. The fresh load would get
a COOP header and thus trigger yet another process swap (and so on in a loop).
Also fix an issue where ProvisionalPageProxy::goToBackForwardItem() would always use
ShouldTreatAsContinuingLoad::YesAfterNavigationPolicyDecision even in the case of a COOP
process-swap. In the case of a COOP process-swap, we should pass in
ShouldTreatAsContinuingLoad::YesAfterProvisionalLoadStarted. This was causing us to
do an extra call to didStartProvisionalLoad() and was causing the new API test to hit
an assertion on debug builds.
Covered by new API test.
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::goToBackForwardItem):
- UIProcess/ProvisionalPageProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::launchProcessForReload):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::triggerBrowsingContextGroupSwitchForNavigation):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::loadData):
(WebKit::WebPage::goToBackForwardItem):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 9:22 PM Changeset in webkit [288604] by
-
- 56 edits2 copies8 adds in trunk
[macOS] Add new screen and window capture backend
https://bugs.webkit.org/show_bug.cgi?id=234029
Source/WebCore:
rdar://problem/86347726
Reviewed by Jer Noble and Youenn Fablet.
New API test: GetDisplayMediaWindowAndScreen.mm
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- en.lproj/Localizable.strings: Add strings for window and screen prompts.
- platform/mediastream/MediaConstraints.h:
(WebCore::StringConstraint::getExact const): Drive-by: fix logic inversion bug.
(WebCore::StringConstraint::getIdeal const): Ditto.
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::fitnessDistance): Assert if device ID constraint is
not a string.
- platform/mediastream/RealtimeMediaSourceCenter.h:
(WebCore::RealtimeMediaSourceCenter::useScreenCaptureKit const):
(WebCore::RealtimeMediaSourceCenter::setUseScreenCaptureKit):
(WebCore::RealtimeMediaSourceCenter::useMockCaptureDevices const):
(WebCore::RealtimeMediaSourceCenter::setUseMockCaptureDevices):
- platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp:
(WebCore::DisplayCaptureSourceCocoa::create):
(WebCore::DisplayCaptureSourceCocoa::DisplayCaptureSourceCocoa):
(WebCore::DisplayCaptureSourceCocoa::Capturer::setObserver):
(WebCore::DisplayCaptureSourceCocoa::Capturer::capturerIsRunningChanged): Deleted.
- platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h:
(WebCore::CapturerObserver::capturerIsRunningChanged):
(WebCore::CapturerObserver::capturerFailed):
- platform/mediastream/ios/ReplayKitCaptureSource.mm:
(WebCore::ReplayKitCaptureSource::captureStateDidChange):
- platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp:
(WebCore::DisplayCaptureManagerCocoa::updateDisplayCaptureDevices): Use
ScreenCaptureKitCaptureSource when available.
(WebCore::DisplayCaptureManagerCocoa::updateWindowCaptureDevices): Ditto.
(WebCore::DisplayCaptureManagerCocoa::screenCaptureDeviceWithPersistentID): Ditto.
(WebCore::DisplayCaptureManagerCocoa::windowCaptureDeviceWithPersistentID): Ditto.
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.h: Added.
- platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: Added.
(-[WebCoreScreenCaptureKitHelper initWithCallback:]):
(-[WebCoreScreenCaptureKitHelper disconnect]):
(-[WebCoreScreenCaptureKitHelper stream:didStopWithError:]):
(WebCore::usingOldAPI):
(WebCore::ScreenCaptureKitCaptureSource::isAvailable):
(WebCore::ScreenCaptureKitCaptureSource::create):
(WebCore::ScreenCaptureKitCaptureSource::ScreenCaptureKitCaptureSource):
(WebCore::ScreenCaptureKitCaptureSource::~ScreenCaptureKitCaptureSource):
(WebCore::ScreenCaptureKitCaptureSource::start):
(WebCore::ScreenCaptureKitCaptureSource::stop):
(WebCore::ScreenCaptureKitCaptureSource::streamFailedWithError):
(WebCore::ScreenCaptureKitCaptureSource::generateFrame):
(WebCore::ScreenCaptureKitCaptureSource::processSharableContent):
(WebCore::ScreenCaptureKitCaptureSource::findShareableContent):
(WebCore::ScreenCaptureKitCaptureSource::streamConfiguration):
(WebCore::ScreenCaptureKitCaptureSource::startContentStream):
(WebCore::ScreenCaptureKitCaptureSource::intrinsicSize const):
(WebCore::ScreenCaptureKitCaptureSource::updateStreamConfiguration):
(WebCore::ScreenCaptureKitCaptureSource::commitConfiguration):
(WebCore::ScreenCaptureKitCaptureSource::captureQueue):
(WebCore::ScreenCaptureKitCaptureSource::frameAvailableHandler):
(WebCore::ScreenCaptureKitCaptureSource::deviceType const):
(WebCore::ScreenCaptureKitCaptureSource::surfaceType const):
(WebCore::ScreenCaptureKitCaptureSource::screenCaptureDeviceWithPersistentID):
(WebCore::ScreenCaptureKitCaptureSource::screenCaptureDevices):
(WebCore::ScreenCaptureKitCaptureSource::windowCaptureDeviceWithPersistentID):
(WebCore::ScreenCaptureKitCaptureSource::windowCaptureDevices):
(WebCore::ScreenCaptureKitCaptureSource::forEachNSWindow):
- platform/mock/MockMediaDevice.h:
(WebCore::MockMediaDevice::captureDevice const): Make devices enabled by default.
Initialize screen and window devices with the correct type.
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::defaultDevices): Fix window device types.
(WebCore::MockRealtimeMediaSourceCenter::displayDevices):
- platform/mock/MockRealtimeMediaSourceCenter.h:
Source/WebCore/PAL:
rdar://problem/86347726
Reviewed by Jer Noble and Youenn Fablet.
- PAL.xcodeproj/project.pbxproj:
- pal/mac/ScreenCaptureKitSoftLink.h: Added.
- pal/mac/ScreenCaptureKitSoftLink.mm: Added.
Source/WebKit:
rdar://problem/86347726
Reviewed by Jer Noble and Youenn Fablet.
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultScreenCaptureKitEnabled):
- Shared/WebPreferencesDefaultValues.h:
- SourcesCocoa.txt:
- UIProcess/API/Cocoa/WKPreferences.mm: Add _useScreenCaptureKit private preference.
(-[WKPreferences _useScreenCaptureKit]):
(-[WKPreferences _setUseScreenCaptureKit:]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Add private delegate for a
getDisplayMedia-specific prompt.
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _setIndexOfGetDisplayMediaDeviceSelectedForTesting:]): Set the index
of the screen or window device to return for getDisplayMedia without prompting.
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::promptForDisplayCapturePermission): Call new
screen/window capture delegate.
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
- UIProcess/UserMediaPermissionRequestProxy.cpp:
(WebKit::UserMediaPermissionRequestProxy::create):
(WebKit::UserMediaPermissionRequestProxy::promptForGetDisplayMedia): Add parameter
specifying a window or screen capture prompt.
- UIProcess/UserMediaPermissionRequestProxy.h:
(WebKit::UserMediaPermissionRequestProxy::create):
(WebKit::UserMediaPermissionRequestProxy::manager const):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setIndexOfGetDisplayMediaDeviceSelectedForTesting):
- UIProcess/WebPageProxy.h:
- UIProcess/mac/DisplayCaptureSessionManager.h: Added.
(WebKit::DisplayCaptureSessionManager::setIndexOfDeviceSelectedForTesting):
- UIProcess/mac/DisplayCaptureSessionManager.mm: Added.
(WebKit::getMockWindowList):
(WebKit::getCGWindowList):
(WebKit::getWindowList):
(WebKit::alertForWindowSelection):
(WebKit::DisplayCaptureSessionManager::alertForGetDisplayMedia):
(WebKit::DisplayCaptureSessionManager::isAvailable):
(WebKit::DisplayCaptureSessionManager::singleton):
(WebKit::DisplayCaptureSessionManager::DisplayCaptureSessionManager):
(WebKit::DisplayCaptureSessionManager::~DisplayCaptureSessionManager):
(WebKit::DisplayCaptureSessionManager::promptForGetDisplayMedia):
(WebKit::DisplayCaptureSessionManager::deviceSelectedForTesting):
(WebKit::DisplayCaptureSessionManager::showWindowPicker):
(WebKit::DisplayCaptureSessionManager::showScreenPicker):
- UIProcess/mac/UserMediaPermissionRequestProxyMac.h: Added.
- UIProcess/mac/UserMediaPermissionRequestProxyMac.mm: Added.
(WebKit::UserMediaPermissionRequestProxy::create):
(WebKit::UserMediaPermissionRequestProxyMac::UserMediaPermissionRequestProxyMac):
(WebKit::UserMediaPermissionRequestProxyMac::~UserMediaPermissionRequestProxyMac):
(WebKit::UserMediaPermissionRequestProxyMac::promptForGetDisplayMedia):
(WebKit::UserMediaPermissionRequestProxyMac::canPromptForGetDisplayMedia):
- WebKit.xcodeproj/project.pbxproj:
Source/WTF:
rdar://problem/86347726
Reviewed by Jer Noble and Youenn Fablet.
- Scripts/Preferences/WebPreferencesExperimental.yaml: Add UseScreenCaptureKit.
- wtf/PlatformEnableCocoa.h: Define ENABLE_SCREEN_CAPTURE_KIT.
- wtf/PlatformHave.h: Define HAVE_SCREEN_CAPTURE_KIT.
- wtf/cocoa/SoftLinking.h: Add softlink macros that take an API_AVAILABLE check.
Tools:
Reviewed by Jer Noble and Youenn Fablet.
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMediaWindowAndScreen.mm: Added.
(-[WindowAndScreenCaptureTestView haveStream:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewUnderPageBackgroundColor.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WebProcessTerminate.mm:
- TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.h:
- TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.mm:
(-[UserMediaCaptureUIDelegate init]):
(-[UserMediaCaptureUIDelegate setGetDisplayMediaDecision:]):
(-[UserMediaCaptureUIDelegate _webView:requestDisplayCapturePermissionForOrigin:initiatedByFrame:decisionHandler:]):
- 8:15 PM Changeset in webkit [288603] by
-
- 3 edits in trunk/Source/WebGPU
[WebGPU] Build fix for Mac Catalyst
https://bugs.webkit.org/show_bug.cgi?id=235625
Unreviewed.
The WGSL headers and .a file for Mac Catalyst need to not collide with the same files for regular Mac builds.
- Configurations/Base.xcconfig:
- Configurations/WGSL.xcconfig:
- 8:12 PM Changeset in webkit [288602] by
-
- 5 edits in trunk/Source
Shadows are flattened to bitmaps in CGDisplayListImageBufferBackend
https://bugs.webkit.org/show_bug.cgi?id=235617
Reviewed by Wenson Hsieh.
Source/WebCore:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContextCG::fillRect):
(WebCore::GraphicsContextCG::fillRoundedRectImpl):
(WebCore::GraphicsContextCG::fillRectWithRoundedHole):
(WebCore::GraphicsContextCG::canUseShadowBlur const):
- platform/graphics/cg/GraphicsContextCG.h:
Factor out
canUseShadowBlurso that GraphicsContextCG subclasses can
request that we not use WebCore's custom shadow implementation.
Source/WebKit:
- Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:
Disable ShadowBlur for CGDisplayListImageBufferBackend, allowing it to
be recorded as a "shadow" display list item instead of a series of bitmaps.
- 7:14 PM Changeset in webkit [288601] by
-
- 23 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo/TestExpectations:
- platform/wincairo/fast/css/text-overflow-ellipsis-bidi-expected.txt:
- platform/wincairo/fast/css/word-space-extra-expected.txt:
- platform/wincairo/fast/dom/52776-expected.txt:
- platform/wincairo/fast/text/atsui-negative-spacing-features-expected.txt:
- platform/wincairo/fast/text/atsui-spacing-features-expected.txt:
- platform/wincairo/fast/text/basic/015-expected.txt:
- platform/wincairo/fast/text/international/003-expected.txt:
- platform/wincairo/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
- platform/wincairo/fast/text/international/bidi-linebreak-001-expected.txt:
- platform/wincairo/fast/text/international/bidi-linebreak-002-expected.txt:
- platform/wincairo/fast/text/international/bidi-linebreak-003-expected.txt:
- platform/wincairo/fast/text/international/bidi-neutral-run-expected.txt:
- platform/wincairo/fast/text/international/hebrew-vowels-expected.txt:
- platform/wincairo/fast/text/international/hindi-whitespace-expected.txt:
- platform/wincairo/fast/text/international/thai-baht-space-expected.txt:
- platform/wincairo/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
- platform/wincairo/fast/text/midword-break-before-surrogate-pair-2-expected.txt:
- platform/wincairo/fast/text/stroking-decorations-expected.txt:
- platform/wincairo/fast/text/stroking-expected.txt:
- platform/wincairo/fast/text/wbr-expected.txt:
- platform/wincairo/fast/text/wide-zero-width-space-expected.txt:
- 6:13 PM Changeset in webkit [288600] by
-
- 2 edits in trunk/Source/WebCore
Fix non-unified build by adding missing headers to JSKeyframeEffectCustom.cpp
Unreviewed non-unified build fix.
No new tests needed.
- bindings/js/JSKeyframeEffectCustom.cpp: Add missing headers Document.h,
JSDOMConvertObject.h, JSDOMConvertSequences.h, and JSDOMConvertStrings.h.
- 6:08 PM Changeset in webkit [288599] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: build fix for CLoop.
Not reviewed.
Code for the USE(LIBPAS_JIT_HEAP) ExecutableMemoryHandle is only built in when
ENABLE(JIT). Update the header to reflect this so that CLoop builds don't try to
link against it.
- jit/ExecutableMemoryHandle.h:
- 5:37 PM Changeset in webkit [288598] by
-
- 1 copy in tags/Safari-613.1.14.5.2
Tag Safari-613.1.14.5.2.
- 5:36 PM Changeset in webkit [288597] by
-
- 6 edits in branches/safari-613.1.14.5-branch/Source
Cherry-pick r288593. rdar://problem/87906922
Install build failure when using SYSTEM_CONTENT_PATH
https://bugs.webkit.org/show_bug.cgi?id=235609
Reviewed by Filip Pizlo.
Source/ThirdParty/libwebrtc:
Change the Create Symlinks to Alternate Root script to create the links for the headers
for both the install headers and install phases.
- Scripts/create-symlink-to-altroot.sh:
Source/WebKit:
Eliminated the Output Files of the Create Symlink to Alt Root Path script for the targets
adattributiond, GPU, Networking, WebAuthn, webpushd, and the various WebContent targets,
since the symlink to WebKit.framework will be created by the "WebKit" target.
Also fixed the INSTALL_PATH for adattributiond and webpushd to follow the difference between
macOS and iOS.
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
- WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:35 PM Changeset in webkit [288596] by
-
- 9 edits in branches/safari-613.1.14.5-branch/Source
Versioning.
WebKit-7613.1.14.5.2
- 5:26 PM Changeset in webkit [288595] by
-
- 2 edits in trunk/LayoutTests
WindowServer returned not alive with context:,unresponsive work processor(s)
rdar://86037417
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Temporarily disabling test.
- 5:23 PM Changeset in webkit [288594] by
-
- 4 edits in trunk/Source/WebCore
[WebIDL] Remove the now-unused [CustomEnabled] extended attribute
https://bugs.webkit.org/show_bug.cgi?id=235608
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-25
Reviewed by Darin Adler.
It's unlikely we will ever need it, and it's limited to Window only,
and it generates a call to a free function rather than a method.
No new tests, no behavior change.
- bindings/scripts/CodeGeneratorJS.pm:
(NeedsRuntimeCheck):
(GenerateRuntimeEnableConditionalString):
- bindings/scripts/IDLAttributes.json:
- bindings/scripts/preprocess-idls.pl:
(GenerateConstructorAttributes):
- 5:11 PM Changeset in webkit [288593] by
-
- 6 edits in trunk/Source
Install build failure when using SYSTEM_CONTENT_PATH
https://bugs.webkit.org/show_bug.cgi?id=235609
Reviewed by Filip Pizlo.
Source/ThirdParty/libwebrtc:
Change the Create Symlinks to Alternate Root script to create the links for the headers
for both the install headers and install phases.
- Scripts/create-symlink-to-altroot.sh:
Source/WebKit:
Eliminated the Output Files of the Create Symlink to Alt Root Path script for the targets
adattributiond, GPU, Networking, WebAuthn, webpushd, and the various WebContent targets,
since the symlink to WebKit.framework will be created by the "WebKit" target.
Also fixed the INSTALL_PATH for adattributiond and webpushd to follow the difference between
macOS and iOS.
- Configurations/adattributiond.xcconfig:
- Configurations/webpushd.xcconfig:
- WebKit.xcodeproj/project.pbxproj:
- 5:10 PM Changeset in webkit [288592] by
-
- 8 edits3 adds in trunk
[WebIDL] Blob-related methods should use _relevant_ context instead of _current_
https://bugs.webkit.org/show_bug.cgi?id=235279
Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-25
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import WPT tests from TBA.
- web-platform-tests/FileAPI/blob/Blob-methods-from-detached-frame-expected.txt: Added.
- web-platform-tests/FileAPI/blob/Blob-methods-from-detached-frame.html: Added.
- web-platform-tests/FileAPI/support/empty-document.html: Added.
Source/WebCore:
This patch fixes the following methods to rely on _relevant_ global object instead of _current_:
- Blob's slice() / stream() / arrayBuffer() / text() as explicitly required by the File API spec [1]. Before this change, methods from detached <iframe> were throwing when called on a main frame's Blob. Aligns WebKit with Blink and Gecko.
- HTMLCanvasElement's toBlob() as per HTML spec [2]: a task should be queued on _relevant_ document's event loop.
- HTMLCanvasElement's transferControlToOffscreen() / captureStream() per recommendatation for spec authors [4], and to align with toBlob(). transferControlToOffscreen() should certainly pass _relevant_ context, which would be used later for Blob creation.
[1] https://w3c.github.io/FileAPI/#blob-get-stream
[2] https://html.spec.whatwg.org/#canvas-blob-serialisation-task-source
[3] https://html.spec.whatwg.org/multipage/webappapis.html#realms-settings-objects-global-objects:concept-relevant-everything-2
Test: imported/w3c/web-platform-tests/FileAPI/blob/Blob-methods-from-detached-frame.html
Not sure if changes to HTMLCanvasElement methods are even testable.
- fileapi/Blob.cpp:
(WebCore::Blob::slice const):
(WebCore::Blob::loadBlob):
(WebCore::Blob::text):
(WebCore::Blob::arrayBuffer):
(WebCore::Blob::stream):
- fileapi/Blob.h:
- fileapi/Blob.idl:
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::toBlob):
(WebCore::HTMLCanvasElement::transferControlToOffscreen):
(WebCore::HTMLCanvasElement::captureStream):
- html/HTMLCanvasElement.h:
- html/HTMLCanvasElement.idl:
Mark transferControlToOffscreen() as [NewObject].
- 5:01 PM Changeset in webkit [288591] by
-
- 2 edits in trunk/Source/WebKit
[macOS][WP] Allow mach extension to service
https://bugs.webkit.org/show_bug.cgi?id=235599
<rdar://87850345>
Reviewed by Darin Adler.
Allow mach extension to a service in the WebContent process on macOS.
- WebProcess/com.apple.WebProcess.sb.in:
- 4:55 PM Changeset in webkit [288590] by
-
- 16 edits in trunk
Disable input-security CSS property
https://bugs.webkit.org/show_bug.cgi?id=235557
rdar://87984277
Reviewed by Dean Jackson.
Source/WebCore:
CSSWG is planning to remove input-security from CSS UI 4
(https://github.com/w3c/csswg-drafts/issues/6788).
Keep the property around as an experimental feature, so that
it can be used in the UA stylesheet, and easily turned on if the
resolution is not finalized.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSProperties.json:
- css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::CSSParserContext):
Enable input-security when parsing the UA stylesheet, as it is used to
obscure text in password inputs.
(WebCore::operator==):
(WebCore::add):
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):
- css/parser/CSSParserContext.h:
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
Source/WebKitLegacy/win:
Add support for tests enabling the CSSInputSecurityEnabled preference.
- WebPreferences.cpp:
(WebPreferences::cssInputSecurityEnabled):
- WebPreferences.h:
- WebView.cpp:
(WebView::notifyPreferencesChanged):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
Make input-security a disabled-by-default experimental feature.
Tools:
- DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
Add default for WebKitLegacy on Windows.
LayoutTests:
- fast/css/computed-text-security-for-input-security.html:
- 4:31 PM Changeset in webkit [288589] by
-
- 3 edits2 adds in trunk
XPath::Step::nodesInAxis(): add null checks after Attr::ownerElement() calls
https://bugs.webkit.org/show_bug.cgi?id=235500
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import WPT tests from https://github.com/web-platform-tests/wpt/pull/32544.
- web-platform-tests/domxpath/xpath-evaluate-crash-expected.txt: Added.
- web-platform-tests/domxpath/xpath-evaluate-crash.html: Added.
Source/WebCore:
This patch adds null checks for results of Attr::ownerElement() to avoid crashes
when evaluating XPath expressions with an orphaned Attr as the context node.
Inspired by the recent Blink fix [1], yet this change covers all null pointer
dereferencing sites, as proven by the updated test.
[1] https://bugs.chromium.org/p/chromium/issues/detail?id=1236967
Test: imported/w3c/web-platform-tests/domxpath/xpath-evaluate-crash.html
- xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis const):
- 4:14 PM Changeset in webkit [288588] by
-
- 2 edits in trunk/Source/WebCore
Fix some spelling errors in Color functions
https://bugs.webkit.org/show_bug.cgi?id=235618
Reviewed by Wenson Hsieh.
Fix the spelling of outOfLineComponentsEqual and outOfLineComponentsEqualIgnoringSemanticColor.
- platform/graphics/Color.h:
(WebCore::operator==):
(WebCore::outOfLineComponentsEqual):
(WebCore::outOfLineComponentsEqualIgnoringSemanticColor):
(WebCore::equalIgnoringSemanticColor):
(WebCore::outOfLineComponentssEqual): Deleted.
(WebCore::outOfLineComponentssEqualIgnoringSemanticColor): Deleted.
- 3:59 PM Changeset in webkit [288587] by
-
- 4 edits in trunk
Fix the lldb Color formatter
https://bugs.webkit.org/show_bug.cgi?id=235613
Reviewed by Darin Adler.
Source/WebCore:
- platform/graphics/ColorSpace.h:
Tools:
Copy the list of color spaces from ColorSpace.h
- lldb/lldb_webkit.py:
(WebCoreColorProvider._to_string_out_of_line):
- 3:46 PM Changeset in webkit [288586] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Observe CFNetwork preference domain
https://bugs.webkit.org/show_bug.cgi?id=235603
<rdar://87994712>
Reviewed by Darin Adler.
Since the Networking process is now using CF prefs direct mode, the CFNetwork preference domain should be observed for changes.
- UIProcess/Cocoa/PreferenceObserver.mm:
(-[WKPreferenceObserver init]):
- 2:10 PM Changeset in webkit [288585] by
-
- 8 edits7 adds in trunk
Add another test for locale-specific shaping
https://bugs.webkit.org/show_bug.cgi?id=235558
Reviewed by Darin Adler.
Thanks so much to Just van Rossum for contributing the test font!!!
.:
- metadata/contributors.json:
LayoutTests:
This test makes sure the LOCL lookup works correctly, even without font-feature-settings.
- fast/text/locale-shaping-2-expected.html: Added.
- fast/text/locale-shaping-2.html: Added.
- fast/text/locale-shaping-3-expected.html: Added.
- fast/text/locale-shaping-3.html: Added.
- fast/text/resources/langlocatest_cjk/LICENSE: Added.
- fast/text/resources/langlocatest_cjk/langlocatest_cjk.ttf: Added.
- platform/gtk/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
- platform/wpe/TestExpectations:
- 2:09 PM Changeset in webkit [288584] by
-
- 3 edits in trunk/Source/WebCore
Remove unused Document::ListenerType enumerators
https://bugs.webkit.org/show_bug.cgi?id=235049
Reviewed by Sam Weinig.
Except for RESIZE_LISTENER, which just seems to be left behind, legacyType() of EventTarget.cpp
handles all other event types, deleted in this patch, according to the spec [1].
[1] https://dom.spec.whatwg.org/#concept-event-listener-invoke (step 9)
No new tests, no behavior change.
- dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded):
- dom/Document.h:
- 1:55 PM Changeset in webkit [288583] by
-
- 2 edits in trunk/LayoutTests
[macOS arm64] fast/scrolling/mac/j-shaped-scroll-rubberband.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=235605
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Mark test as failing on arm64.
- 1:54 PM Changeset in webkit [288582] by
-
- 4 edits in trunk/LayoutTests
Mavericks: media/track/track-in-band-legacy-api.html fails intermittently
https://bugs.webkit.org/show_bug.cgi?id=123522
Reviewed by Simon Fraser.
Remove expectations since it's not longer happening.
- gpu-process/TestExpectations:
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- 1:49 PM Changeset in webkit [288581] by
-
- 2 edits in trunk/LayoutTests
[macOS arm64] imported/w3c/web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=235084
Unreviewed test gardening.
- platform/mac/TestExpectations: Mark test as failing on arm64.
- 1:36 PM Changeset in webkit [288580] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Collapse blackboxed call frames by default
https://bugs.webkit.org/show_bug.cgi?id=234581
<rdar://problem/86967088>
Reviewed by Devin Rousso.
Remove "Collapse blackboxed call frames" checkbox from the experimental settings
and enable the feature by default.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Setting.js:
- UserInterface/Controllers/CallFrameTreeController.js:
(WI.CallFrameTreeController.prototype.groupBlackboxedCallFrames):
- UserInterface/Controllers/DebuggerManager.js:
(WI.DebuggerManager.prototype.shouldAutoExpandBlackboxedCallFrameGroup):
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
- 1:25 PM Changeset in webkit [288579] by
-
- 4 edits in trunk/LayoutTests
[ Catalina wk1 ews ] media/remote-control-command-seek.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215325
Reviewed by Simon Fraser.
No longer flaking on Catalina or on iOS bots. Remove expectations.
- gpu-process/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 1:24 PM Changeset in webkit [288578] by
-
- 2 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r287990. rdar://problem/86781432
[iOS][Networking] Add access to required network service
https://bugs.webkit.org/show_bug.cgi?id=235188
<rdar://86781432>
Reviewed by Brent Fulgham.
Add access to required network service in the Networking process on iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287990 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:09 PM Changeset in webkit [288577] by
-
- 2 edits in trunk/Source/WTF
[WTF] Make CRASH_WITH_INFO more useful when using GCC
https://bugs.webkit.org/show_bug.cgi?id=235573
Make CRASH_WITH_INFO() print out the additional information instead of silently crash
when WebKit is compiled with GCC.
Reviewed by Yusuke Suzuki.
- wtf/Assertions.h: Add a variant of CRASH_WITH_INFO() which uses VA_OPT for
GCC and Clang; MSVC is left with the existing version as the version currently in
use is not happy about VA_OPT.
(CRASH_WITH_INFO): Deleted inline function for GCC.
(CRASH_WITH_SECURITY_IMPLICATION_AND_INFO): Ditto.
- 12:36 PM Changeset in webkit [288576] by
-
- 7 edits in trunk
[CSS Container Queries] Parsing support for container shorthand property
https://bugs.webkit.org/show_bug.cgi?id=235582
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-computed-expected.txt:
Source/WebCore:
https://drafts.csswg.org/css-contain-3/#container-shorthand
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSProperties.json:
- css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::consumeContainerShorthand):
(WebCore::CSSPropertyParser::parseShorthand):
- css/parser/CSSPropertyParser.h:
- 12:32 PM Changeset in webkit [288575] by
-
- 5 edits in trunk
UIWKDocumentRequestSpatialAndCurrentSelection should limit context to the editable root of the current selection
https://bugs.webkit.org/show_bug.cgi?id=235595
rdar://87835602
Reviewed by Aditya Keerthi.
Source/WebKit:
Adjust the behavior of document editing context requests in the case where the
SpatialAndCurrentSelectionflag
is specified, but no explicittextInputContexthas been given. Instead of using the hit-tested corners of the
spatial request as-is, clamp to the visible start and end positions of the current editable root (only if it
exists).
This adjustment makes this particular request configuration useful for text input clients that just want to
request text input context information for the current editable element in a given rect, but don't already have
a text input element identifier.
Test: DocumentEditingContext.SpatialAndCurrentSelectionRequest_LimitContextToEditableRoot
- Platform/spi/ios/UIKitSPI.h:
Drive-by fix: also clean up a couple of old staging declarations.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDocumentEditingContext):
Tools:
Add a new API test to exercise the change.
- TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
- 12:21 PM Changeset in webkit [288574] by
-
- 2 edits3 adds in trunk/LayoutTests
[CSS Container Queries] Basic parsing support for container-type property
https://bugs.webkit.org/show_bug.cgi?id=235514
Uneviewed, rebaseline for iOS.
- platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- 11:54 AM Changeset in webkit [288573] by
-
- 13 edits in trunk
[JSC] Wasm module import should be done in sync when WebAssembly.instantiate gets module
https://bugs.webkit.org/show_bug.cgi?id=235506
Reviewed by Saam Barati.
LayoutTests/imported/w3c:
- web-platform-tests/wasm/jsapi/constructor/instantiate.any-expected.txt:
- web-platform-tests/wasm/jsapi/constructor/instantiate.any.worker-expected.txt:
Source/JavaScriptCore:
According to the spec, module imports need to be done synchronously when WebAssembly.instantiate
is called with a wasm module[1].
To align our implementation to this behavior, we split WebAssemblyModuleRecord::initializeImportsAndExports
into WebAssemblyModuleRecord::initializeImports and WebAssemblyModuleRecord::initializeExports. The former
does not require CalleeGroups so we can execute before compiling CalleeGroups.
[1]: https://webassembly.github.io/spec/js-api/#asynchronously-instantiate-a-webassembly-module
- runtime/AbstractModuleRecord.cpp:
(JSC::AbstractModuleRecord::evaluate):
- wasm/WasmInstance.h:
(JSC::Wasm::Instance::setOwner):
(JSC::Wasm::Instance::finalizeCreation): Deleted.
- wasm/WasmModuleInformation.h:
(JSC::Wasm::ModuleInformation::hasMemoryImport const):
- wasm/js/JSWebAssembly.cpp:
(JSC::instantiate):
(JSC::resolve): Deleted.
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::JSWebAssemblyInstance):
(JSC::JSWebAssemblyInstance::initializeImports):
(JSC::JSWebAssemblyInstance::finalizeCreation):
- wasm/js/JSWebAssemblyInstance.h:
- wasm/js/WebAssemblyInstanceConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::initializeImports):
(JSC::WebAssemblyModuleRecord::initializeExports):
(JSC::WebAssemblyModuleRecord::initializeImportsAndExports): Deleted.
- wasm/js/WebAssemblyModuleRecord.h:
- 11:52 AM Changeset in webkit [288572] by
-
- 2 edits in trunk/Tools
[git-webkit] Use cwd as default path
https://bugs.webkit.org/show_bug.cgi?id=235048
<rdar://problem/87360213>
Reviewed by Aakash Jain.
Re-landing, infrastructure now handles git-webkit calls appropriately.
- Scripts/git-webkit: Use default path behavior.
- 11:41 AM Changeset in webkit [288571] by
-
- 6 edits in trunk
Deduplication for @keyframes rules should account for animation-composition
https://bugs.webkit.org/show_bug.cgi?id=235596
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Import test recently added in WPT via https://github.com/web-platform-tests/wpt/pull/32495.
We pass them all with the source change.
- web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt:
- web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative.html:
Source/WebCore:
The CSS Animations Level 2 spec recently changed to account for animation-composition
when deduplicating @keyframes rules (see https://github.com/w3c/csswg-drafts/pull/6974).
- animation/CompositeOperation.h:
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::keyframeRulesForName const):
- 11:38 AM Changeset in webkit [288570] by
-
- 6 edits in branches/safari-613-branch
Cherry-pick r288267. rdar://problem/87785288
<dialog> with transformed ancestor asserts under RenderGeometryMap
https://bugs.webkit.org/show_bug.cgi?id=235194
Reviewed by Antti Koivisto.
Source/WebCore:
With this change we reparent the RenderLayers of top layer elements under the RenderView's
layer. This makes the RenderLayer hierarchy a closer match to the containing block
hierarchy, and means that all the existing RenderLayer tree walks that use
parent()/firstChild()/nextSibling() traverse the the "top layer" layers as children of the
RenderView. This in turn means that the various bits of RenderLayer state that track the
state of descendants (e.g. m_hasVisibleDescendant, m_hasSelfPaintingLayerDescendant,
m_hasNotIsolatedBlendingDescendants) reflect descendency in the top-layer-aware hierarchy.
Note that m_hasVisibleDescendant is about the inherited
visibilityproperty which follows
DOM order, but since we consult it during painting-related tree walks, we want this state to
reflect the top-layer-aware tree.
The patch adds top-layer-aware helpers on RenderElement to find the parent and next sibling,
and uses those when parenting layers.
In addition, when the top layer status changes for a RenderLayer, we unparent and
re-parent its layer (which in turn should toggle the relevant dirty bits).
- rendering/RenderElement.cpp: (WebCore::findNextLayer): (WebCore::layerNextSiblingRespectingTopLayer): (WebCore::addLayers): (WebCore::RenderElement::layerParentRespectingTopLayer const): (WebCore::RenderElement::layerNextSiblingRespectingTopLayer const): (WebCore::RenderElement::insertedIntoTree): (WebCore::RenderElement::willBeRemovedFromTree): (WebCore::RenderElement::findNextLayer const): Deleted.
- rendering/RenderElement.h:
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::insertOnlyThisLayer): (WebCore::RenderLayer::stackingContext const): No need for the explicit establishesTopLayer() check. (WebCore::RenderLayer::setHasVisibleContent): (WebCore::RenderLayer::dirtyAncestorChainVisibleDescendantStatus): (WebCore::RenderLayer::setAncestorChainHasVisibleDescendant): (WebCore::RenderLayer::enclosingAncestorForPosition const): No need for the explicit establishesTopLayer() check. (WebCore::RenderLayer::paintLayerWithEffects): Ditto (WebCore::RenderLayer::establishesTopLayerWillChange): (WebCore::RenderLayer::establishesTopLayerDidChange): (WebCore::RenderLayer::clipCrossesPaintingBoundary const): No need for the explicit establishesTopLayer() check. (WebCore::RenderLayer::calculateClipRects const): Ditto
LayoutTests:
- TestExpectations: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-parent-transform.html no longer asserts.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:38 AM Changeset in webkit [288569] by
-
- 4 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288127. rdar://problem/87785288
Clean up some code around RenderElement::addLayers()
https://bugs.webkit.org/show_bug.cgi?id=235272
Reviewed by Darin Adler.
The code that looks for the next layer via render tree traversal is tricky and
hard to understand. Do some initial cleanup prior to fixing it for top layer.
First, use std::optional<> in the static addLayers() to make the beforeChild
finding easier to understand (no longer need a null newObject as the signal that
you've tried to look).
Second, use references in findNextLayer() and rename 'startPoint' to make its
purpose more clear.
- rendering/RenderElement.cpp: (WebCore::addLayers): (WebCore::RenderElement::addLayers): (WebCore::RenderElement::findNextLayer const): (WebCore::RenderElement::findNextLayer): Deleted.
- rendering/RenderElement.h:
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::insertOnlyThisLayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:38 AM Changeset in webkit [288568] by
-
- 4 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r288059. rdar://problem/87785288
Make a function that returns the ordered list of top layer RenderLayers
https://bugs.webkit.org/show_bug.cgi?id=235251
Reviewed by Alan Bujtas.
Factor the code in RenderLayer::rebuildZOrderLists() that generates the list of
top-layer RenderLayers into its own function.
Add Document::hasTopLayerElement() to avoid calling it when there are no top layer
elements.
- dom/Document.h: (WebCore::Document::hasTopLayerElement const):
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::rebuildZOrderLists):
- rendering/RenderLayer.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:38 AM Changeset in webkit [288567] by
-
- 4 edits in branches/safari-613-branch
Cherry-pick r287845. rdar://problem/87785288
REGRESSION(r287683): <dialog> elements inside clipped/overflowed elements are no longer shown
https://bugs.webkit.org/show_bug.cgi?id=234984
Reviewed by Simon Fraser.
Source/WebCore:
Paint at the right place by fixing isContainerForPositioned, also fix clip rects.
- rendering/RenderLayer.cpp: (WebCore::isContainerForPositioned): (WebCore::RenderLayer::enclosingAncestorForPosition const): (WebCore::accumulateOffsetTowardsAncestor): (WebCore::RenderLayer::calculateClipRects const):
LayoutTests:
Enable relevant tests. Set the asserting test as Crash instead of Skipping.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:13 AM Changeset in webkit [288566] by
-
- 33 edits1 copy6 adds2 deletes in branches/safari-613-branch
Cherry-pick r288315. rdar://problem/87601762
Implement WebGL GPU buffer texture upload path for Cocoa getUserMedia camera streams
https://bugs.webkit.org/show_bug.cgi?id=235233
<rdar://problem/87601762>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-20
Reviewed by Youenn Fablet.
Source/WebCore:
Make full texture uploads from MediaStream camera captures use CVPixelBuffers
instead of reading the pixels back.
Implement MediaPlayerInterface::pixelBufferForCurrentTime() for
MediaPlayerPrivateMediaSourceAVFObjC.
Rename functions from pixelBuffer... to videoSample...
Use new type MediaSampleVideoFrame instead of CVPixelBuffer.
MediaSampleVideoFrame contains also the frame orientation. The
orientation is needed as the camera might capture the image
with a rotation or a flip.
To avoid ifdefs, the new API videoSampleForCurrentTime exists
for all platforms, but is currently called only by Cocoa.
Also the type MediaSampleVideoFrame exists for all platforms
but has the frame contents implementation only for Cocoa.
Tested by
fast/mediastream/getUserMedia-to-canvas-1.html
fast/mediastream/getUserMedia-to-canvas-2.html
Currently the "mirrored" part is tested manually, WebKit
does not request mirrored camera image so it is dead code.
- Headers.cmake:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::videoSampleForCurrentTime): (WebCore::MediaPlayer::pixelBufferForCurrentTime): Deleted.
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h: (WebCore::MediaPlayerPrivateInterface::copyVideoTextureToPlatformTexture): (WebCore::MediaPlayerPrivateInterface::videoSampleForCurrentTime): (WebCore::MediaPlayerPrivateInterface::pixelBufferForCurrentTime): Deleted.
- platform/graphics/MediaSampleVideoFrame.h: Added. (WebCore::MediaSampleVideoFrame::orientation const): (WebCore::MediaSampleVideoFrame::pixelBuffer const): (WebCore::MediaSampleVideoFrame::operator== const): (WebCore::MediaSampleVideoFrame::encode const): (WebCore::MediaSampleVideoFrame::decode):
- platform/graphics/avfoundation/MediaSampleVideoFrameAVF.mm: Added. (WebCore::MediaSampleVideoFrame::MediaSampleVideoFrame):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::videoSampleForCurrentTime): (WebCore::MediaPlayerPrivateAVFoundationObjC::pixelBufferForCurrentTime): Deleted.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::videoSampleForCurrentTime): (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pixelBufferForCurrentTime): Deleted.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm: (WebCore::videoOrientation): (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::videoSampleForCurrentTime):
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::GraphicsContextGLCocoa::copyTextureFromMedia):
- platform/graphics/cv/GraphicsContextGLCV.h:
- platform/graphics/cv/GraphicsContextGLCVCocoa.cpp: (WebCore::GraphicsContextGLCVCocoa::GraphicsContextGLCVCocoa): (WebCore::GraphicsContextGLCVCocoa::copyVideoFrameToTexture): (WebCore::GraphicsContextGLCVCocoa::copyPixelBufferToTexture): Deleted.
- platform/graphics/cv/GraphicsContextGLCVCocoa.h:
Source/WebKit:
Rename functions from pixelBuffer... to videoFrame.
Send new type MediaPlayerVideoFrame instead of CVPixelBuffer.
MediaPlayerVideoFrame contains also the frame orientation.
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp: (WebKit::RemoteGraphicsContextGL::copyTextureFromMedia):
- GPUProcess/media/RemoteMediaPlayerProxy.cpp: (WebKit::RemoteMediaPlayerProxy::invalidate): (WebKit::RemoteMediaPlayerProxy::videoFrameForCurrentTimeIfChanged):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm: (WebKit::RemoteMediaPlayerProxy::pixelBufferForCurrentTimeIfChanged): Deleted.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp: (WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime): (WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime): Deleted.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm: (WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime): Deleted.
LayoutTests:
- fast/mediastream/getUserMedia-to-canvas.html:
- webrtc/routines.js: Test camera image rotations in the test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:08 AM Changeset in webkit [288565] by
-
- 6 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: replace gear-with-contextmenu icons used for filtering with filter-with-contextmenu icons
https://bugs.webkit.org/show_bug.cgi?id=235546
Reviewed by Dean Jackson.
- UserInterface/Views/ComputedStyleDetailsPanel.js:
(WI.ComputedStyleDetailsPanel.prototype.initialLayout):
- UserInterface/Views/ComputedStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style > .content > .computed > .details-section.computed-style-properties > .header > .options.filter):
(.sidebar > .panel.details.css-style > .content > .computed > .details-section.computed-style-properties > .header > .options.filter:active): Added.
(.sidebar > .panel.details.css-style > .content > .computed > .details-section.computed-style-properties > .header > .options.filter.active): Added.
(.sidebar > .panel.details.css-style > .content > .computed > .details-section.computed-style-properties > .header > .options.filter.active:active): Added.
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WI.DOMNodeDetailsSidebarPanel.prototype.initialLayout):
- UserInterface/Views/DOMNodeDetailsSidebarPanel.css:
(.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter):
(.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:active): Added.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView):
- UserInterface/Images/Filter.svg: Added.
- 10:50 AM Changeset in webkit [288564] by
-
- 3 edits2 adds in trunk
REGRESSION(r281419): iCloud.com Notes web app fonts render incorrectly
https://bugs.webkit.org/show_bug.cgi?id=235559
<rdar://problem/87268956>
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/html/canvas/element/drawing-text-to-the-canvas/null-character-expected.txt: Added.
- web-platform-tests/html/canvas/element/drawing-text-to-the-canvas/null-character.html: Added.
Source/WebCore:
Chrome and Firefox render U+0000 NULL as invisible. We should do the same, despite it technically being classified as a control character.
https://github.com/w3c/csswg-drafts/pull/6983
Test: imported/w3c/web-platform-tests/html/canvas/element/drawing-text-to-the-canvas/null-character.html
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyCSSVisibilityRules):
- 10:30 AM Changeset in webkit [288563] by
-
- 4 edits in trunk/Tools/CISupport
[buildbot] Detailed bot information should be displayed inside PrintConfiguration step instead of workers page
https://bugs.webkit.org/show_bug.cgi?id=235583
Reviewed by Jonathan Bedard and Ryan Haddad.
- Tools/CISupport/build-webkit-org/steps.py:
(PrintConfiguration): run 'system_profiler SPSoftwareDataType SPHardwareDataType' command in PrintConfiguration.
- Tools/CISupport/ews-build/steps.py: Ditto.
- Tools/CISupport/ews-build/steps_unittest.py: Updated unit-tests.
- Tools/CISupport/build-webkit-org/steps_unittest.py: Updated unit-tests.
Canonical link: https://commits.webkit.org/246391@main
- 9:48 AM Changeset in webkit [288562] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r286669. rdar://problem/81618758
[iOS] Always set audio session preferred input after changing the category
https://bugs.webkit.org/show_bug.cgi?id=232626
rdar://81618758
Reviewed by Youenn Fablet.
- platform/audio/PlatformMediaSessionManager.cpp: (WebCore::PlatformMediaSessionManager::sessionCaptureConfigurationChanged): Schedule a session update so the category and/or preferred input is setup.
- platform/audio/PlatformMediaSessionManager.h:
- platform/audio/ios/AudioSessionIOS.h:
- platform/audio/ios/AudioSessionIOS.mm: (WebCore::AudioSessionIOS::setCategory): Don't set the audio session category unless something has changed. Ask the AVAudioSessionCaptureDeviceManager to set the preferred capture device if that has changed.
- platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
- platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm: (WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUID): Remember the device UID if the configuration is successful. (WebCore::AVAudioSessionCaptureDeviceManager::configurePreferredAudioCaptureDevice): Reset the preferred device if necessary. (WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUIDInternal): Refactored from setPreferredAudioSessionDeviceUID.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp: (WebCore::CoreAudioSharedUnit::captureDeviceChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:48 AM Changeset in webkit [288561] by
-
- 7 edits5 deletes in branches/safari-613-branch
Revert r282746. rdar://problem/87732806
- 9:36 AM Changeset in webkit [288560] by
-
- 6 edits1 add in trunk/Source/WebCore
Refactor KeyframeEffect::getKeyframes()
https://bugs.webkit.org/show_bug.cgi?id=235504
Reviewed by Chris Dumez.
We move all the JS conversion code to a new custom implementation for JSKeyframeEffect::getKeyframes()
such that KeyframeEffect::getKeyframes() is simply in the business of compiling the list of computed
keyframes.
To do this, we start by changing the way the various KeyframeEffect structs are organized. We make
BaseComputedKeyframe extend BaseKeyframe, then ComputedKeyframe extend BaseComputedKeyframe by adding
a map of CSSPropertyID to String values, then ParsedKeyframe can simply extend ComputedKeyframe.
This makes it easy to copy ParsedKeyframe into a ComputedKeyframe for the properties relevant
to the output of getKeyframes().
We also take the opportunity to merge what used to be two methods, getBindingsKeyframes() and getKeyframes(),
into a single method since getKeyframes() is only ever called through the JS bindings.
Finally, we remove the big if/else statement in KeyframeEffect::getKeyframes() to have a small if block
for the case where the keyframes are already set via the setKeyframes() API and return early.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::CSSPropertyIDToIDLAttributeName):
(WebCore::IDLAttributeNameToAnimationPropertyName):
(WebCore::processIterableKeyframes):
(WebCore::processPropertyIndexedKeyframes):
(WebCore::KeyframeEffect::copyPropertiesFromSource):
(WebCore::KeyframeEffect::getKeyframes):
(WebCore::KeyframeEffect::animatedProperties):
(WebCore::KeyframeEffect::animatesProperty const):
(WebCore::CSSPropertyIDToIDLAttributeName): Deleted.
(WebCore::KeyframeEffect::getBindingsKeyframes): Deleted.
- animation/KeyframeEffect.h:
- animation/KeyframeEffect.idl:
- bindings/js/JSKeyframeEffectCustom.cpp: Added.
(WebCore::JSKeyframeEffect::getKeyframes):
- 9:34 AM Changeset in webkit [288559] by
-
- 5 edits in trunk/Source/WebCore
[WPE][GTK] Build error in ARMv7 Neon targets after r286152
https://bugs.webkit.org/show_bug.cgi?id=235410
Reviewed by Simon Fraser.
- platform/graphics/cpu/arm/filters/FEBlendNEON.h:
(WebCore::FEBlend::platformApplySoftware): Deleted.
- platform/graphics/filters/software/FEBlendSoftwareApplier.cpp:
(WebCore::FEBlendSoftwareApplier::apply const):
- platform/graphics/filters/software/FECompositeSoftwareApplier.cpp:
(WebCore::FECompositeSoftwareApplier::applyArithmetic const):
- platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp:
- 9:18 AM Changeset in webkit [288558] by
-
- 2 edits in trunk/Tools
[EWS] Support pull requests in Trigger (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=235545
<rdar://problem/87992990>
Unreviewed follow-up fix.
- Tools/CISupport/ews-build/steps.py:
(Trigger.propertiesToPassToTriggers): Pass ews_revision for patch workflows.
- 9:09 AM Changeset in webkit [288557] by
-
- 4 edits in branches/safari-614.1.1-branch/Source/WebCore
Cherry-pick r288546. rdar://problem/87944391
Add a WebShare policy quirk for Twitter
https://bugs.webkit.org/show_bug.cgi?id=235502
<rdar://87944391>
Reviewed by Chris Dumez.
Disable WebShare policy in case of twitter documents as this is not yet web compatible.
Manually tested.
- page/Navigator.cpp: (WebCore::validateWebSharePolicy): (WebCore::Navigator::canShare): (WebCore::Navigator::share):
- page/Quirks.cpp: (WebCore::isTwitterDocument): (WebCore::Quirks::requiresUserGestureToLoadInPictureInPicture const): (WebCore::Quirks::shouldDisableWebSharePolicy const):
- page/Quirks.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:06 AM Changeset in webkit [288556] by
-
- 14 edits in trunk
[CSS Container Queries] Parsing support for container-name property
https://bugs.webkit.org/show_bug.cgi?id=235564
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-contain/container-queries/container-inheritance-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-name-computed-expected.txt:
- web-platform-tests/css/css-contain/container-queries/container-name-parsing-expected.txt:
- web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
Source/WebCore:
Parse 'container-name' and map it to style.
https://drafts.csswg.org/css-contain-3/#container-name
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/CSSProperties.json:
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeContainerName):
(WebCore::CSSPropertyParser::parseSingleValue):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::containerNames const):
(WebCore::RenderStyle::setContainerNames):
(WebCore::RenderStyle::initialContainerNames):
'container-name' is actually a list of names, that's why the plural.
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):
- rendering/style/StyleRareNonInheritedData.h:
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertContainerName):
- 9:04 AM Changeset in webkit [288555] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.2
- 9:00 AM Changeset in webkit [288554] by
-
- 1 copy in branches/safari-614.1.1-branch
New branch.
- 8:47 AM Changeset in webkit [288553] by
-
- 4 edits in trunk/Source/WebCore
Missing EnabledBySetting=WebXREnabled where Conditional=WEBXR exists
https://bugs.webkit.org/show_bug.cgi?id=235527
Reviewed by Darin Adler.
Manually tested.
- Modules/webxr/XRFrameRequestCallback.idl:
- html/canvas/WebGLContextAttributes.idl:
- html/canvas/WebGLRenderingContextBase.idl:
- 8:46 AM Changeset in webkit [288552] by
-
- 2 edits in trunk/Tools
[EWS] Support pull requests in Trigger
https://bugs.webkit.org/show_bug.cgi?id=235545
<rdar://problem/87992990>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(Trigger.init): Pass flags for patch and pull requests.
(Trigger.propertiesToPassToTriggers): Pass different properties if Triggered by a
pull request verse a patch.
(CompileWebKit.evaluateCommand): Pass flags for patch and pull request to Trigger.
(AnalyzeLayoutTestsResults.retry_build): Ditto.
Canonical link: https://commits.webkit.org/246384@main
- 8:33 AM Changeset in webkit [288551] by
-
- 10 edits in trunk/Source/WebKit
Regression (r235236): NetworkStorageManager sends messages to wrong StorageAreaMap
https://bugs.webkit.org/show_bug.cgi?id=235553
Reviewed by Darin Adler.
Started from r235236, NetworkStorageManager uses StorageAreaMapIdentifier instead of StorageAreaIdentifier as
the message destination (as web process stores StorageAreaMap by StorageAreaMapIdentifier). However, the
destination is not changed accordingly when sending didSetItem, didRemoveItem and didClear messages, so the
messages are dispatched to wrong StorageAreaMaps.
Since these messages are reply for some message sent from StorageAreaMap to NetworkStorageManager (e.g.
didSetItem is reply of setItem), we may just use sendMessageWithAsyncReply when sending original message, and
we don't need to worry about the destination.
- NetworkProcess/WebStorage/StorageManagerSet.cpp:
(WebKit::StorageManagerSet::setItem):
(WebKit::StorageManagerSet::removeItem):
(WebKit::StorageManagerSet::clear):
- NetworkProcess/WebStorage/StorageManagerSet.h:
- NetworkProcess/WebStorage/StorageManagerSet.messages.in:
- NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::setItem):
(WebKit::NetworkStorageManager::removeItem):
(WebKit::NetworkStorageManager::clear):
- NetworkProcess/storage/NetworkStorageManager.h:
- NetworkProcess/storage/NetworkStorageManager.messages.in:
- WebProcess/WebStorage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::setItem):
(WebKit::StorageAreaMap::removeItem):
(WebKit::StorageAreaMap::clear):
- WebProcess/WebStorage/StorageAreaMap.h:
- WebProcess/WebStorage/StorageAreaMap.messages.in:
- 8:20 AM Changeset in webkit [288550] by
-
- 2 edits in trunk/Source/WebCore
Non-unified buildfix after r288546/246378@main
https://bugs.webkit.org/show_bug.cgi?id=235590
Unreviewed build fix.
- page/Navigator.cpp: Add missing include.
- 7:59 AM Changeset in webkit [288549] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, reverting r282374.
https://bugs.webkit.org/show_bug.cgi?id=235587
Introduced perf regression
Reverted changeset:
"Playback stops although the progress bar moves"
https://bugs.webkit.org/show_bug.cgi?id=230210
https://commits.webkit.org/r282374
- 7:52 AM Changeset in webkit [288548] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/steps.py
ews is displaying PR by even on patch based builds
https://bugs.webkit.org/show_bug.cgi?id=235578
Reviewed by Jonathan Bedard.
- Tools/CISupport/ews-build/steps.py:
(ConfigureBuild.add_pr_details):
Canonical link: https://commits.webkit.org/246380@main
- 6:39 AM Changeset in webkit [288547] by
-
- 3 edits2 adds in trunk
(REGRESSION r287485) [LFC][IFC] Incorrect RTL content position when intrusive float is present
https://bugs.webkit.org/show_bug.cgi?id=235547
<rdar://87824766>
Reviewed by Antti Koivisto.
Source/WebCore:
The float box coordinates are always visual. They need to be converted to
logical to be able to properly constrain the available space on the current line.
Test: fast/inline/intrusive-float-with-rtl-content.html
- layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::floatConstraints const):
LayoutTests:
- fast/inline/intrusive-float-with-rtl-content-expected.html: Added.
- fast/inline/intrusive-float-with-rtl-content.html: Added.
- 6:09 AM Changeset in webkit [288546] by
-
- 4 edits in trunk/Source/WebCore
Add a WebShare policy quirk for Twitter
https://bugs.webkit.org/show_bug.cgi?id=235502
<rdar://87944391>
Reviewed by Chris Dumez.
Disable WebShare policy in case of twitter documents as this is not yet web compatible.
Manually tested.
- page/Navigator.cpp:
(WebCore::validateWebSharePolicy):
(WebCore::Navigator::canShare):
(WebCore::Navigator::share):
- page/Quirks.cpp:
(WebCore::isTwitterDocument):
(WebCore::Quirks::requiresUserGestureToLoadInPictureInPicture const):
(WebCore::Quirks::shouldDisableWebSharePolicy const):
- page/Quirks.h:
- 4:00 AM Changeset in webkit [288545] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/send_email.py
[ews] Remove redundant check for test mode in send_email.py
https://bugs.webkit.org/show_bug.cgi?id=235552
Reviewed by Jonathan Bedard.
- Tools/CISupport/ews-build/send_email.py:
Canonical link: https://commits.webkit.org/246377@main
- 1:57 AM Changeset in webkit [288544] by
-
- 9 edits in trunk
[css-grid] Fix grid shorthand expansion of initial values
https://bugs.webkit.org/show_bug.cgi?id=234430
Reviewed by Sergio Villar Senin.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-grid/parsing/grid-shorthand-expected.txt:
- web-platform-tests/css/css-grid/parsing/grid-shorthand-valid-expected.txt:
Source/WebCore:
This CL is to add the InitialValue support when parsing the grid shorthand for 6 grid properties
including grid-auto-columns, grid-auto-flow, grid-auto-rows, grid-template-areas,
grid-template-columns and grid-template-rows. The original code only adds a CSSInitial.
This is an import of chromium change at
https://chromium-review.googlesource.com/c/chromium/src/+/3299364
Apart from fixing wpt test imported/w3c/web-platform-tests/css/css-grid/parsing/grid-shorthand.html,
The CL also updates the expectation file for test
imported/w3c/web-platform-tests/css/css-grid/parsing/grid-shorthand-valid.html. This test fails before
this CL and need to be investigated as a seperated issue. Related bugs have been raised at -
https://bugs.chromium.org/p/chromium/issues/detail?id=1028283 &
https://bugs.webkit.org/show_bug.cgi?id=204611
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeImplicitGridAutoFlow):
(WebCore::CSSPropertyParser::consumeGridShorthand):
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertGridTrackSizeList):
(WebCore::Style::BuilderConverter::convertGridAutoFlow):
LayoutTests:
- fast/css-grid-layout/grid-shorthand-get-set-expected.txt:
- fast/css-grid-layout/grid-shorthand-get-set.html: