Timeline
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: