Timeline
May 9, 2022:
- 11:53 PM Changeset in webkit [294003] by
-
- 2 edits in trunk/Source/WebCore
Check if node is connected after calling mergeWithNeighboringLists
https://bugs.webkit.org/show_bug.cgi?id=240234
Patch by Rob Buis <rbuis@igalia.com> on 2022-05-09
Reviewed by Wenson Hsieh.
Check if node is connected after calling mergeWithNeighboringLists since
DOM mutations can change the DOM tree.
- editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApplyForSingleParagraph):
- 11:52 PM Changeset in webkit [294002] by
-
- 19 edits2 adds in trunk
[cssom] Don't index perspective/transform-origin-* in computed styles
https://bugs.webkit.org/show_bug.cgi?id=239670
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update some test expectations.
Add serialize-all-longhands.html, it still fails due to
https://webkit.org/b/239965 and https://webkit.org/b/239989.
- web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
- web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- web-platform-tests/css/cssom/serialize-all-longhands-expected.txt: Added.
- web-platform-tests/css/cssom/serialize-all-longhands.html: Added.
Source/WebCore:
'perspective-origin' and 'transform-origin' are shorthands in WebKit.
The longhands are 'perspective-origin-x/y' and 'transform-origin-x/y/z'.
But these aren't standard properties, so they serialize to empty string
in computed styles. However, they were still indexed.
This patch stops indexing these longhands, so they won't appear when
iterating a computed style. Also, the shorthands will now be indexed.
Test: fast/css/getComputedStyle/computed-style.html
fast/css/getComputedStyle/computed-style-without-renderer.html
imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml.html
imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer.html
imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html
imported/w3c/web-platform-tests/css/cssom/serialize-all-longhands.html
svg/css/getComputedStyle-basic.xhtml
- css/CSSProperties.json:
Add "computable" flag.
- css/makeprop.pl:
(skippedFromComputedStyle):
(addProperty):
Let "computable" flag override default logic for indexing or not in
computed styles.
Tools:
Add checker for new "computable" flag.
- Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.check_codegen_properties):
LayoutTests:
Update test expectations.
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- svg/css/getComputedStyle-basic-expected.txt:
- 11:48 PM Changeset in webkit [294001] by
-
- 13 edits in trunk
Support ray() shape in offset-path
https://bugs.webkit.org/show_bug.cgi?id=233344
Reviewed by Simon Fraser.
Source/WebCore:
Add support for rendering ray path. Involves getting containing block and offset
of the element from the containing block. Using the size of the containing block
and offset, calculate the length of the ray and create a Line path using the length
and angle. Calculating closest/farthest-side and closest/farthest-corner are simple
but calculating side requires some explanation. First, we get the two possible sides of
the containing block the ray could be intersecting with, based on the angle. To calculate
which side is being intersected, if tan(theta) * top/bottom is outside of the containing
block, this means that the ray is intersecting with the other side. Finally, we calculate
the acute angle based on which side we intersected with. Using the length and angle, we
calculate the length of the hypotenuse, which corresponds with the length of the start point
of the ray to its intersection with a side of the containing block. Test 7 is still failing
due to getting incorrect width of containing block (doesn't happen when animating the path
for some reason). Will implement contain in another patch.
- WebCore.xcodeproj/project.pbxproj:
- rendering/PathOperation.cpp:
(WebCore::toPositiveAngle):
(WebCore::RayPathOperation::getLengthForPath const):
(WebCore::RayPathOperation::pathForReferenceRect const):
- rendering/PathOperation.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setReferenceBoxForPathOperations):
(WebCore::RenderLayer::updateTransform):
- rendering/RenderLayer.h:
- rendering/style/RenderStyle.cpp:
(WebCore::getPathFromPathOperation):
LayoutTests:
- 10:20 PM Changeset in webkit [294000] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, address Darin's feedback on r250361.
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::toIntegerWithoutRounding const):
Normalize away -0 by unconditionally adding positive 0 (instead of making a separate zero check).
- 10:08 PM Changeset in webkit [293999] by
-
- 2 edits in trunk
Introduction.md: Explain active DOM objects
https://bugs.webkit.org/show_bug.cgi?id=240212
Reviewed by Chris Dumez.
Added an elementary description of active DOM objects to Introduction.md.
- Introduction.md:
- 9:41 PM Changeset in webkit [293998] by
-
- 2 edits in trunk/Source/WebCore
Do not use the cached renderer's parent in handleFragmentedFlowStateChange lambda
https://bugs.webkit.org/show_bug.cgi?id=240266
Reviewed by Simon Fraser.
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):
- 8:49 PM Changeset in webkit [293997] by
-
- 9 edits in trunk
Temporal round and total methods should accept string param
https://bugs.webkit.org/show_bug.cgi?id=240249
Reviewed by Yusuke Suzuki.
This patch implements https://github.com/tc39/proposal-temporal/pull/1875,
which allows certain required string options to be passed directly instead of as part of an options object.
Namely:
{Duration, Instant, PlainTime}::roundnow acceptsmallestUnitas a string paramDuration::totalnow acceptsunitas a string param
- stress/temporal-duration.js:
- stress/temporal-instant.js:
- stress/temporal-plaintime.js:
Add test cases.
- test262/expectations.yaml:
Mark 24 test cases passing.
(This number should be 26, but two still fail as the harness expects PlainDateTime and ZonedDateTime to exist.)
- runtime/TemporalDuration.cpp:
(JSC::TemporalDuration::round const):
(JSC::TemporalDuration::total const):
- runtime/TemporalInstant.cpp:
- runtime/TemporalPlainTime.cpp:
(JSC::TemporalPlainTime::round const):
Canonical link: https://commits.webkit.org/250433@main
- 7:52 PM Changeset in webkit [293996] by
-
- 6 edits in trunk
Temporal and Date must reject expanded year -000000
https://bugs.webkit.org/show_bug.cgi?id=240263
Reviewed by Yusuke Suzuki.
As of the following two PRs, -000000 is officially disallowed as a representation of the year zero in ISO date strings.
https://github.com/tc39/ecma262/pull/2550
https://github.com/tc39/proposal-temporal/pull/1992
This patch implements the change for Temporal and Date alike.
- test262/expectations.yaml:
Mark 24 test cases as passing.
- runtime/ISO8601.cpp:
(JSC::ISO8601::parseDate):
- wtf/DateMath.cpp:
(WTF::parseES5DatePortion):
Canonical link: https://commits.webkit.org/250432@main
- 5:16 PM Changeset in webkit [293995] by
-
- 7 edits in branches/safari-613-branch
Cherry-pick r292888. rdar://problem/80059355
[iOS] [WK2] Managed pasteboard should function for all managed domains
https://bugs.webkit.org/show_bug.cgi?id=239319
rdar://80059355
Reviewed by Kate Cheney.
Source/WebCore/PAL:
Add an SPI method on
MCProfileConnection.
- pal/spi/ios/ManagedConfigurationSPI.h:
Source/WebKit:
Unless a WebKit client has specified a data owner for the web view that is not _UIDataOwnerUndefined, fall back
to _UIDataOwnerEnterprise when the current domain of the WKWebView is managed (that is, `-[MCProfileConnection
isURLManaged:]` returns YES for the web view's current URL). This allows managed pasteboard to work for all
WebKit clients, if the current URL is managed.
Test: UIPasteboardTests.PerformAsDataOwnerWithManagedURL
- Platform/spi/ios/UIKitSPI.h:
Drive-by fix: move the staged declarations of
-_dataOwnerForCopyand-_dataOwnerForPasteout of the IPI
section, and into the non-internal SDK section.
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _dataOwnerForPasteboard:]):
Tools:
Add a new API test to verify that we fall back to consulting
-[MCProfileConnection isURLManaged:]when
determining the data owner for copy and paste, unless a data owner is already explicitly set on a view in the
responder chain (specifically, the WKWebView).
- TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: (+[TestUIPasteboard _performAsDataOwner:block:]): (-[TestMCProfileConnection isURLManaged:]): (TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/249658@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:06 PM Changeset in webkit [293994] by
-
- 13 edits in trunk/Source
[iOS] Adjust some viewport behaviors when multitasking mode is enabled
https://bugs.webkit.org/show_bug.cgi?id=240151
rdar://87157773
Reviewed by Tim Horton.
Add a new ViewportConfiguration flag to prefer horizontal scrolling over shrinking to fit when the view layout
size falls under the current "default desktop webpage" of 980pt. See WebKit changes for more details.
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::initialScaleFromSize const):
(WebCore::ViewportConfiguration::webpageParameters):
(WebCore::ViewportConfiguration::imageDocumentParameters):
Pull the magic value representing the "assumed width of most desktop webpages" (980) out into a named constant,
defaultDesktopViewportWidth, so that we can consult it when computing the initial scale.
(WebCore::ViewportConfiguration::description const):
- page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::setPrefersHorizontalScrollingBelowDesktopViewportWidths):
[iOS] Adjust some viewport behaviors when multitasking mode is enabled
https://bugs.webkit.org/show_bug.cgi?id=240151
rdar://87157773
Reviewed by Tim Horton.
Make some adjustments to viewport behaviors when multitasking mode is enabled. See the comments below for more
details. There are no changes in behavior when multitasking mode is disabled; tests for the new behaviors in
multitasking mode will be added in a subsequent patch.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
Add plumbing to inform the web process when "multitasking mode" state changes; we use this bit in WebPage to
determine whether or not we should use multitasking mode viewport behaviors (see below).
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _registerForNotifications]):
(-[WKWebView didMoveToWindow]):
(-[WKWebView _multitaskingModeDidChange:]):
Send IPC to WebPage in these two places, to keep "multitasking mode" state in sync with the native view.
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
Make a minor adjustment here to ignore
oldWebViewWidthInContentViewCoordinateswhen computing a target scale
to zoom to when performing animated resize, in multitasking mode. This is required to prevent us from zooming
in excessively when the width of the view increases, since we'd otherwise attempt to keep the same content in
the page visible by zooming in (for instance, if an image covers most of the visual viewport at a lower view
width, thismin()logic would cause us to zoom in, such that the image would still cover most of the viewport
at a larger width). This behavior is undesirable in multitasking mode.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setIsInMultitaskingMode):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
(WebKit::WebPage::setIsInMultitaskingMode):
Add plumbing to set the
m_isInMultitaskingModeflag on WebPage, and update the viewport configuration flag to
prefer horizontal scrolling below 980pt.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::scaleAfterViewportWidthChange):
Refactor a bit of code here (without changing any behaviors), to make it a bit clearer:
- Rename
userHasChangedPageScaleFactortoscaleToFitContentto better describe how this flag affects the
adjusted target scale during dynamic resize.
- Make the log messages specific to both branches, and also log the adjusted viewport scale instead of the
(currently unused) given
scalein the non-scaleToFitContentcodepath.
(WebKit::WebPage::dynamicViewportSizeUpdate):
Make another "multitasking mode viewport behavior" adjustment here by maintaining the initial scale (only if the
viewport was already at initial scale) when performing dynamic viewport size updates. By default, we currently
adjust the scale such that the same content is still visible at the new viewport size; however, when allowing
horizontal scrolling, this causes us to zoom in excessively when making the window width larger. Instead, when
multitasking mode is enabled, we should try to preserve initial scale when changing window size, such that only
the horizontal scroll amount changes.
(WebKit::WebPage::usesMultitaskingModeViewportBehaviors const):
Add a helper method to encapsulate whether or not multitasking mode viewport behaviors should be used; this
should be true only when both desktop-class viewport behaviors are active, *and* multitasking mode is also
active.
Canonical link: https://commits.webkit.org/250431@main
- 4:50 PM Changeset in webkit [293993] by
-
- 42 edits in trunk/Source/WebCore
Const-ify Node::willRespondTo*Events()
https://bugs.webkit.org/show_bug.cgi?id=240246
Reviewed by Wenson Hsieh.
Constify these four methods, because there's no
reason for them not to be, and because it makes
them usable in a const context in a future patch.
- dom/EventNames.h:
(WebCore::EventNames::isTouchRelatedEventType const):
- dom/EventTarget.cpp:
(WebCore::EventTarget::eventTypes const):
- dom/EventTarget.h:
- dom/Node.cpp:
(WebCore::Node::willRespondToMouseMoveEvents const):
(WebCore::Node::willRespondToTouchEvents const):
(WebCore::Node::willRespondToMouseClickEvents const):
(WebCore::Node::willRespondToMouseWheelEvents const):
- dom/Node.h:
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::willRespondToMouseClickEvents const):
- html/HTMLAnchorElement.h:
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::willRespondToMouseClickEvents const):
- html/HTMLButtonElement.h:
- html/HTMLElement.cpp:
(WebCore::HTMLElement::willRespondToMouseMoveEvents const):
(WebCore::HTMLElement::willRespondToMouseWheelEvents const):
(WebCore::HTMLElement::willRespondToMouseClickEvents const):
- html/HTMLElement.h:
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::willRespondToMouseClickEvents const):
- html/HTMLImageElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::willRespondToMouseClickEvents const):
- html/HTMLInputElement.h:
- html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::willRespondToMouseClickEvents const):
- html/HTMLLabelElement.h:
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::willRespondToMouseClickEvents const):
- html/HTMLPlugInElement.h:
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::willRespondToMouseClickEvents const):
- html/HTMLSelectElement.h:
- html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::willRespondToMouseClickEvents const):
- html/HTMLSummaryElement.h:
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents const):
- html/HTMLTextAreaElement.h:
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents const):
(WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents const):
- html/TextFieldInputType.h:
- html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::willRespondToMouseMoveEvents const):
(WebCore::SliderThumbElement::willRespondToMouseClickEvents const):
- html/shadow/SliderThumbElement.h:
- html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::willRespondToMouseMoveEvents const):
(WebCore::SpinButtonElement::willRespondToMouseClickEvents const):
(WebCore::SpinButtonElement::shouldRespondToMouseEvents const):
- html/shadow/SpinButtonElement.h:
- html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::willRespondToMouseClickEvents const):
(WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents const):
- html/shadow/TextControlInnerElements.h:
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::willRespondToMouseClickEvents const):
- mathml/MathMLElement.h:
- mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::willRespondToMouseClickEvents const):
- mathml/MathMLSelectElement.h:
- svg/SVGAElement.cpp:
(WebCore::SVGAElement::willRespondToMouseClickEvents const):
- svg/SVGAElement.h:
- 4:03 PM Changeset in webkit [293992] by
-
- 4 edits in trunk/Websites/bugs.webkit.org
[bugs.webkit.org] Use GitHub as baseline when diffing
https://bugs.webkit.org/show_bug.cgi?id=240073
<rdar://problem/92741303>
Reviewed by Ryan Haddad and Dewei Zhu.
- Websites/bugs.webkit.org/code-review.js: Use GitHub instead of
Subversion for tip-of-tree baseline, blame and log links.
- Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb: Ditto.
Use GitHub instead of Subversion for tip-of-tree baseline.
Canonical link: https://commits.webkit.org/250429@main
- 4:02 PM Changeset in webkit [293991] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Unreviewed build fix; disable -Wimplicit-fallthrough in libwebrtc
- Configurations/Base.xcconfig:
- 2:17 PM Changeset in webkit [293990] by
-
- 4 edits in trunk/Source
[macOS] HTTP traffic is not filtered in the parental controls filter
https://bugs.webkit.org/show_bug.cgi?id=240180
<rdar://problem/92875540>
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Traditionally, we have not filtered HTTP in the parental controls filter on macOS, since other parts of the system
has taken care of this. This has changed in the most recent macOS version, and WebKit should also filter HTTP in
addition to HTTPS.
- platform/cocoa/ParentalControlsContentFilter.mm:
(WebCore::canHandleResponse):
Source/WTF:
Add HAVE macro which tells us which OS versions are filtering HTTP traffic on behalf of WebKit.
- wtf/PlatformHave.h:
- 1:56 PM Changeset in webkit [293989] by
-
- 5 edits in trunk/Source/WebCore
Cache the viewport size inside SVGLengthContext
https://bugs.webkit.org/show_bug.cgi?id=240157
Reviewed by Alan Bujtas.
Each call to SVGLengthContext::determineViewport() did an ancestor element walk
looking for a viewport element, and some call sites hit this two or more times
(e.g. for width, then height). So cache m_viewportSize in the class, modernizing
the code to use optionals.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::referenceBoxRect const):
- rendering/svg/LegacyRenderSVGRoot.cpp:
(WebCore::LegacyRenderSVGRoot::computeFloatVisibleRectInContainer const):
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::clipPathReferenceBox):
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::valueForLength):
(WebCore::SVGLengthContext::convertValueToUserUnits const):
(WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage const):
(WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits const):
(WebCore::SVGLengthContext::viewportSize const):
(WebCore::SVGLengthContext::computeViewportSize const):
(WebCore::SVGLengthContext::determineViewport const): Deleted.
- svg/SVGLengthContext.h:
- 1:43 PM Changeset in webkit [293988] by
-
- 2 edits in trunk/Source/WebKit
Allow log streaming from webpushd
https://bugs.webkit.org/show_bug.cgi?id=240238
Reviewed by Per Arne Vollan.
log streamoutputs nothing from webpushd because we blocked the diagnosticd service in its
sandbox. We should allow that and also block awdd since it's unlikely that webpushd needs
access to the wireless diagnostics daemon.
- webpushd/mac/com.apple.WebKit.webpushd.sb.in:
Canonical link: https://commits.webkit.org/250425@main
- 1:37 PM Changeset in webkit [293987] by
-
- 16 edits2 adds in trunk
Implement CSS :modal pseudo class
https://bugs.webkit.org/show_bug.cgi?id=240109
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Add and extend tests for :modal pseudo-class.
- web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has-expected.txt: Added.
- web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-show-modal.html:
Source/WebCore:
Test: imported/w3c/web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has.html
Renames :-internal-modal-dialog to :modal and adds :has() invalidation support.
- css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText const):
- css/CSSSelector.h:
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne const):
- css/SelectorCheckerTestFunctions.h:
(WebCore::matchesModalPseudoClass):
(WebCore::matchesModalDialogPseudoClass): Deleted.
- css/SelectorPseudoClassAndCompatibilityElementMap.in:
- css/dialog.css:
(dialog:modal):
(dialog:-internal-modal-dialog): Deleted.
- css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumePseudo):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::JSC_DEFINE_JIT_OPERATION):
(WebCore::SelectorCompiler::addPseudoClassType):
- html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::showModal):
(WebCore::HTMLDialogElement::close):
(WebCore::HTMLDialogElement::removedFromAncestor):
(WebCore::HTMLDialogElement::setIsModal):
- html/HTMLDialogElement.h:
LayoutTests:
Removes :-internal-modal-dialog from internal pseudo classes.
- fast/css/pseudo-class-internal-expected.txt:
- fast/css/pseudo-class-internal.html:
- 1:04 PM Changeset in webkit [293986] by
-
- 4 edits in trunk/Tools
[git-webkit] Verify forks after creation
https://bugs.webkit.org/show_bug.cgi?id=240085
<rdar://problem/92978491>
Reviewed by Stephanie Lewis.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.github): Check parent of fork, wait until fork is created before continuing.
Canonical link: https://commits.webkit.org/250423@main
- 12:40 PM Changeset in webkit [293985] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, build fix for Internal iOS build
https://bugs.webkit.org/show_bug.cgi?id=240206
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateTouchEventTracking):
- 12:10 PM Changeset in webkit [293984] by
-
- 3 edits1 add in trunk/Source/WebKit
WebKit has a broken module in Mac Catalyst
https://bugs.webkit.org/show_bug.cgi?id=240175
rdar://92703419
Patch by Ian Anderson <iana@apple.com> on 2022-05-09
Reviewed by Tim Horton.
Add a module map for Mac Catalyst that excludes WebKit/WebKitLegacy.h,
matching the exclusion from WebKit/WebKit.h.
- Configurations/WebKit.xcconfig:
- Modules/MacCatalyst.modulemap: Added.
- WebKit.xcodeproj/project.pbxproj:
- 11:48 AM Changeset in webkit [293983] by
-
- 1 copy in branches/safari-7614.1.13-branch
New branch.
- 11:27 AM Changeset in webkit [293982] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Update some test expectations for known failures
https://bugs.webkit.org/show_bug.cgi?id=240240
Unreviewed test garderning.
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-05-09
- platform/glib/TestExpectations:
- 10:44 AM Changeset in webkit [293981] by
-
- 2 edits in trunk/Source/WebCore
ASSERT in WebCore::RenderTreeUpdater::updateRenderTree
https://bugs.webkit.org/show_bug.cgi?id=240237
Reviewed by Antti Koivisto.
There are instances where calling findRenderingRoots() in RenderTreeUpdater::commit will
returns two rendering roots, with one of them being an ancestor of the other.
Calling updateRenderTree on the ancestor rendering root could end up removing
the renderer of the descendant rendering root.
This patch merges findRenderingRoots() to RenderTreeUpdater::commit() which, and now we will
ignore the nested root if there is no longer a renderer when it is being processed.
- rendering/updating/RenderTreeUpdater.cpp:
- 10:32 AM Changeset in webkit [293980] by
-
- 5 edits2 adds in trunk
[iOS] Double tapping on YouTube video causes playback to pause instead of seek
https://bugs.webkit.org/show_bug.cgi?id=240222
rdar://92637636
Reviewed by Aditya Keerthi and Kate Cheney.
Add a new layout test. See WebKit/ChangeLog for more details.
- fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text-expected.txt: Added.
- fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text.html: Added.
[iOS] Double tapping on YouTube video causes playback to pause instead of seek
https://bugs.webkit.org/show_bug.cgi?id=240222
rdar://92637636
Reviewed by Aditya Keerthi and Kate Cheney.
Add a new compile-time flag to guard the presence of
-[UITextInteractionAssistant contextMenuInteraction]. See
WebKit/ChangeLog for more details.
- wtf/PlatformHave.h:
[iOS] Double tapping on YouTube video causes playback to pause instead of seek
https://bugs.webkit.org/show_bug.cgi?id=240222
rdar://92637636
Reviewed by Aditya Keerthi and Kate Cheney.
On some recent versions of iOS,
UITextInteractionAssistantinstalls its own context menu interaction by
default. This makes UIKit introduce a_UIRelationshipGestureRecognizerto the gesture recognizer graph when
using WKWebView when the text interaction assistant has been activated in order to implement the asynchronous
context menu configuration API.
Currently, we add a direct failure requirement from the immediately resettable deferring gesture to this new
UIKit relationship gesture. This is problematic, since the context menu interaction will automatically add
failure requirements to other long press gestures on the web view, such as the image analysis gestures that
trigger Live Text analysis when long pressing on images with text. As a result, the set of immediately
resettable gestures is now connected to the set of delayed resettable gestures after the first tap when
performing a double tap gesture. Since theUIWebTouchEventsGestureRecognizeris a part of this immediate reset
subgraph, this means that the touch event gesture recognizer doesn't get reset until about 320 ms after a tap
when the text interaction assistant has been activated, due to this new context menu interaction.
On YouTube.com, this manifests in a double-tap on the main video player being broken since a double tap gesture
only dispatchestouchstartandtouchendon the first tap, and YouTube's script only seeks forwards or
backwards if it observes twotouchstartevents that are close to each other within 350 ms.
To fix this, we simply teach the deferring gesture subgraph partitioning logic in
-deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:to funnel the relationship gesture (i.e.
-gestureRecognizerForFailureRelationships) of the text interaction assistant's context menu interaction into
the delayed reset subgraph instead of the immediate reset subgraph.
Test: fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text.html
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:]):
- UIProcess/ios/WKDeferringGestureRecognizer.mm:
(-[WKDeferringGestureRecognizer shouldDeferGestureRecognizer:]):
Canonical link: https://commits.webkit.org/250418@main
- 9:52 AM Changeset in webkit [293979] by
-
- 3 edits in trunk/Source/WebKit
Create reports for long process launch times
https://bugs.webkit.org/show_bug.cgi?id=240127
Unreviewed, fix typo.
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::connect):
(WebKit::AuxiliaryProcessProxy::didFinishLaunching):
- UIProcess/AuxiliaryProcessProxy.h:
- 9:41 AM Changeset in webkit [293978] by
-
- 2 edits in trunk/Source/WebCore
AXLogger::streamAXCoreObject is missing a null check for AccessibilityObject dynamicDowncast
https://bugs.webkit.org/show_bug.cgi?id=240228
Reviewed by Andres Gonzalez.
When checking if an object has display:contents, we do:
if (auto* axObject = dynamicDowncast<AccessibilityObject>(&object); axObject->hasDisplayContents())
Which does not have a nullcheck for when the dynamicDowncast fails (i.e. because
the object is not an AccessibilityObject).
- accessibility/AXLogger.cpp:
(WebCore::streamAXCoreObject):
- 9:22 AM Changeset in webkit [293977] by
-
- 25 edits2 adds in trunk
Image controls menu button is not appearing for multi-page PDFs
https://bugs.webkit.org/show_bug.cgi?id=240120
rdar://86425721
Reviewed by Megan Gardner.
Source/WebCore:
Test: fast/attachment/attachment-image-controls-basic.html
Refactor image controls button code so it can also be used for PDF
attachments.
- dom/mac/ImageControlsMac.cpp:
(WebCore::ImageControlsMac::handleEvent):
(WebCore::ImageControlsMac::isImageMenuEnabled):
(WebCore::ImageControlsMac::updateImageControls):
(WebCore::ImageControlsMac::tryCreateImageControls):
(WebCore::ImageControlsMac::destroyImageControls):
(WebCore::ImageControlsMac::hasImageControls):
- dom/mac/ImageControlsMac.h:
Handle the PDF case when a click on the image controls button happens.
Move all image controls code to ImageControlsMac where it can be
shared by image and attachment elements.
- html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::parseAttribute):
(WebCore::HTMLAttachmentElement::childShouldCreateRenderer const):
- html/HTMLAttachmentElement.h:
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
(WebCore::HTMLImageElement::setAttachmentElement):
(WebCore::HTMLImageElement::updateImageControls): Deleted.
(WebCore::HTMLImageElement::tryCreateImageControls): Deleted.
(WebCore::HTMLImageElement::destroyImageControls): Deleted.
(WebCore::HTMLImageElement::hasImageControls const): Deleted.
- html/HTMLImageElement.h:
(WebCore::HTMLImageElement::isImageMenuEnabled const):
(WebCore::HTMLImageElement::setImageMenuEnabled):
(WebCore::HTMLImageElement::imageMenuEnabled const): Deleted.
- html/shadow/mac/imageControlsMac.css:
The image controls button was originally offset by 20px from the top
and the right. This causes the image controls button to appear in the
middle of a PDF attachment and be difficult to see. This change makes
it flush against the top right corner for both images and PDFs.
(button#image-controls-button):
- page/ChromeClient.h:
(WebCore::ChromeClient::handlePDFServiceClick):
- rendering/RenderAttachment.cpp:
(WebCore::RenderAttachment::RenderAttachment):
(WebCore::RenderAttachment::layout):
(WebCore::RenderAttachment::layoutShadowContent):
- rendering/RenderAttachment.h:
Add canHaveGeneratedChildren() and canHaveChildren() so that
we render the image controls button in the shadow tree.
- rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
- testing/Internals.cpp:
(WebCore::Internals::hasImageControls const):
Source/WebKit:
Refactor image controls button code so it can also be used for PDF
attachments.
- Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::controlledDataIsEditable const):
We need to make sure PDF attachments are marked as editable so the
context menu gets properly populated.
- Shared/ContextMenuContextData.h:
(WebKit::ContextMenuContextData::ContextMenuContextData):
- UIProcess/API/Cocoa/APIAttachmentCocoa.mm:
(API::Attachment::enclosingImageNSData const):
Remove the image check so we return the PDF NSData in the attachment
case.
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::handlePDFServiceClick):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::handlePDFServiceClick):
Plumbing for handling a click on the image controls button for PDFs.
LayoutTests:
- TestExpectations:
- fast/attachment/attachment-image-controls-basic.html: Added.
- platform/mac-wk2/TestExpectations:
- platform/mac/fast/attachment/attachment-image-controls-basic-expected.txt: Added.
- 8:48 AM Changeset in webkit [293976] by
-
- 4 edits in trunk
Make input placeholder line-height declaration !important
https://bugs.webkit.org/show_bug.cgi?id=240225
Reviewed by Tim Nguyen.
Source/WebCore:
This is the same the changes made in chromium at
https://chromium-review.googlesource.com/c/chromium/src/+/3594234
and Firefox change at
https://phabricator.services.mozilla.com/D116907
- css/html.css:
(input::placeholder):
LayoutTests:
Unskip the test that passes.
- 8:17 AM Changeset in webkit [293975] by
-
- 3 edits2 adds in trunk
REGRESSION (r291817): NativeImage passed to RemoteResourceCacheProxy::recordNativeImageUse may be null
https://bugs.webkit.org/show_bug.cgi?id=239649
rdar://92018859
Reviewed by Dean Jackson.
Test: system-preview/svg-image.html
In the case of an <img> pointing to an SVG resource, the nativeImage() is null. We need to handle this case
properly (filed bug 239673), but for now we can at least not crash.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawSystemImage):
Canonical link: https://commits.webkit.org/250413@main
- 7:57 AM Changeset in webkit [293974] by
-
- 2 edits in trunk/JSTests
Unreviewed test gardening.
- test262/expectations.yaml:
- 7:46 AM Changeset in webkit [293973] by
-
- 2 edits in trunk/Tools
Test262 runner should show progress
https://bugs.webkit.org/show_bug.cgi?id=240181
Reviewed by Yusuke Suzuki.
The progress will appear as something like [42/245669].
- Scripts/test262/Runner.pm:
(processCLI):
(main):
Canonical link: https://commits.webkit.org/250411@main
- 7:18 AM WebKitGTK/2.36.x edited by
- (diff)
- 7:05 AM Changeset in webkit [293972] by
-
- 3 edits in trunk/Source/WebCore
CoreAudioCaptureSource::settingsDidChange should not reconfigure the audio unit if CoreAudioCaptureSource is not started
https://bugs.webkit.org/show_bug.cgi?id=240059
Reviewed by Eric Carlson.
We should only ask to reconfigure when source settings change if the source is actually started.
Otherwise, we can wait for the source to start to actually set the unit values and reconfigure if needed.
To make sure to correctly expose settings, we reset them in CoreAudioCaptureSource::settingsDidChange and in
CoreAudioCaptureSource::initializeToStartProducingData.
We also only use the audio unit sample rate if it is rendering audio, otherwise we can change the sample rate at will.
Manually tested.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
- 3:54 AM Changeset in webkit [293971] by
-
- 2 edits in trunk/Source/WebCore
[Nicosia] Canvas animations don't work with threaded rendering
https://bugs.webkit.org/show_bug.cgi?id=227760
<rdar://problem/80588913>
Reviewed by Adrian Perez de Castro.
Implement Nicosia::CairoOperationRecorder::draImageBuffer(), which is required in order to paint
canvas contents into a GraphicsContext.
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawImageBuffer):
- 3:47 AM Changeset in webkit [293970] by
-
- 4 edits in trunk
[WinCairo][WK1] accessibility/aria-combobox-control-owns-elements.html is crashing after 250325@main
https://bugs.webkit.org/show_bug.cgi?id=240218
<rdar://problem/92929718>
Reviewed by Joanmarie Diggs.
Source/WebCore:
Fix a wrong ASSERT for AriaReflectionForElementReferencesEnabled.
If AriaReflectionForElementReferencesEnabled is disabled, and you set
one of the attributes that have reflection under that flag,
we'll hit an ASSERT in Element::attributeChanged().
The fact that we set such attribute doesn't mean that the flag
has to be enabled.
Removed the ASSERT and added an if to check if the flag is enabled,
otherwise we don't need to do anything with the map.
- dom/Element.cpp:
(WebCore::Element::attributeChanged):
LayoutTests:
- platform/wincairo-wk1/TestExpectations: Mark test as timeout as it
was before r293958.
- 1:41 AM Changeset in webkit [293969] by
-
- 8 edits in trunk/Source
Unreviewed, non-unified build fixes after r293562
Source/WebCore:
- workers/shared/context/SharedWorkerThread.cpp:
- workers/shared/context/SharedWorkerThreadProxy.cpp:
Source/WebKit:
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h:
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp:
(WebKit::WebSharedWorkerContextManagerConnection::launchSharedWorker):
Source/WTF:
- wtf/text/StringCommon.h:
May 8, 2022:
- 11:28 PM Changeset in webkit [293968] by
-
- 4 edits in trunk/Source
[macOS] REGRESSION (r293825): Find highlight snapshots are incorrectly scaled
https://bugs.webkit.org/show_bug.cgi?id=240203
rdar://92892014
Reviewed by Tim Horton.
Source/WebCore:
takeSnapshots() depends on the snapshot ImageBuffer::resolutionScale() to
set the size of the TextIndicatorData image. r293825 scaled the size of
the ImageBuffer before creation and moved the scaling to the GraphicsContext.
So we have correct scaled pixels but the resolutionScale is 1. So we get
enlarged incorrect image.
The fix is to revert r293825 and fix the iOS snapshot without having to
change snapshotFrameRectWithClip().
- page/FrameSnapshotting.cpp:
(WebCore::snapshotFrameRectWithClip):
Source/WebKit:
In getShareableBitmapForImageBufferWithQualifiedIdentifier(), we used to
pass the backendSize as the srcRect and the backendSize as the destRect
to GraphicsContext::drawImageBuffer(). The backendSize is the logicalSize
scaled by the resolutionScale. But in ImageBufferCGBackend::draw() we
scale the srcRect by the resolutionScale one more time. This double-
scaled srcRect draws a srcRect whose size = backendSize * resolutionScale
to a destRect whose size = backendSize. And this results in shrinking the
desired snapshot image by 1 / resolutionScale.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier):
- 11:14 PM Changeset in webkit [293967] by
-
- 18 edits in trunk/Source
Introduce EventTrackingRegions::Event enum
https://bugs.webkit.org/show_bug.cgi?id=240206
Reviewed by Mark Lam.
We noticed that EventNames 260~ AtomStrings are allocated in scrolling thread only because we are using
eventNames() for EventTrackingRegions. But since use of it is limited, we can just use enum instead.
- We can make EventTrackingRegions more efficient by using enum instead of String.
- We can save memory by avoiding EventNames string allocations & AtomStringTable registration.
- We can make this parameter more strictly typed compared to accepting any kind of Strings
- Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(WebKit::dump):
- Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<EventTrackingRegions>::decode):
- Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::eventTrackingTypeForPoint const):
- Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateTouchEventTracking):
- Source/WebCore/page/DebugPageOverlays.cpp:
(WebCore::NonFastScrollableRegionOverlay::drawRect):
- Source/WebCore/page/Page.cpp:
(WebCore::Page::touchEventRectsForEventForTesting):
- Source/WebCore/page/Page.h:
- Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::absoluteEventTrackingRegionsForFrame const):
- Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::dumpProperties const):
- Source/WebCore/page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::computeWheelProcessingSteps):
(WebCore::ScrollingTree::eventTrackingTypeForPoint):
- Source/WebCore/page/scrolling/ScrollingTree.h:
- Source/WebCore/platform/EventTrackingRegions.cpp:
(WebCore::EventTrackingRegions::eventName):
(WebCore::EventTrackingRegions::trackingTypeForPoint):
(WebCore::EventTrackingRegions::uniteSynchronousRegion):
- Source/WebCore/platform/EventTrackingRegions.h:
- Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::touchEventRectsForEvent):
- Source/WebCore/testing/Internals.h:
Canonical link: https://commits.webkit.org/250405@main
- 9:05 PM Changeset in webkit [293966] by
-
- 2 edits in branches/safari-7614.1.12-branch/Source/WebKit
Cherry-pick r293945. rdar://problem/92859012
Fix another internal build
https://bugs.webkit.org/show_bug.cgi?id=240201
<rdar://92859012>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.
Bug 240184 introduced a classic "but I have spaces in my path" bug.
- Configurations/adattributiond.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:05 PM Changeset in webkit [293965] by
-
- 4 edits1 add in branches/safari-7614.1.12-branch/Source/WebGPU
Cherry-pick r293937. rdar://problem/92524485
[WebGPU] Fix build on downlevel OSes in Apple's build system
https://bugs.webkit.org/show_bug.cgi?id=240159
<rdar://problem/92524485>
Reviewed by Alexey Proskuryakov.
Some variables from WebKitTargetConditionals.xcconfig and
PlatformSupport.xcconfig are used, so we have to make sure
we include them. Also refactor the INSTALL_PATH variable a
bit.
- Configurations/Base.xcconfig:
- Configurations/WebGPU.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig: Added.
- WebGPU.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:04 PM Changeset in webkit [293964] by
-
- 2 edits in branches/safari-7614.1.12-branch/Source/WebKit
Cherry-pick r293936. rdar://problem/92859012
Fix adattributiond build in internal build on older macOS
https://bugs.webkit.org/show_bug.cgi?id=240184
<rdar://92859012>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.
We need to search for WK_OVERRIDE_FRAMEWORKS_DIR to find the right frameworks
- Configurations/adattributiond.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:55 PM Changeset in webkit [293963] by
-
- 1 copy in tags/WebKit-7614.1.11.8
Tag WebKit-7614.1.11.8.
- 8:54 PM Changeset in webkit [293962] by
-
- 2 edits in branches/safari-614.1.11-branch/Source/WebKit
Cherry-pick r293945. rdar://problem/92859012
Fix another internal build
https://bugs.webkit.org/show_bug.cgi?id=240201
<rdar://92859012>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.
Bug 240184 introduced a classic "but I have spaces in my path" bug.
- Configurations/adattributiond.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:54 PM Changeset in webkit [293961] by
-
- 4 edits1 add in branches/safari-614.1.11-branch/Source/WebGPU
Cherry-pick r293937. rdar://problem/92524485
[WebGPU] Fix build on downlevel OSes in Apple's build system
https://bugs.webkit.org/show_bug.cgi?id=240159
<rdar://problem/92524485>
Reviewed by Alexey Proskuryakov.
Some variables from WebKitTargetConditionals.xcconfig and
PlatformSupport.xcconfig are used, so we have to make sure
we include them. Also refactor the INSTALL_PATH variable a
bit.
- Configurations/Base.xcconfig:
- Configurations/WebGPU.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig: Added.
- WebGPU.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:54 PM Changeset in webkit [293960] by
-
- 2 edits in branches/safari-614.1.11-branch/Source/WebKit
Cherry-pick r293936. rdar://problem/92859012
Fix adattributiond build in internal build on older macOS
https://bugs.webkit.org/show_bug.cgi?id=240184
<rdar://92859012>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.
We need to search for WK_OVERRIDE_FRAMEWORKS_DIR to find the right frameworks
- Configurations/adattributiond.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:45 PM Changeset in webkit [293959] by
-
- 9 edits in branches/safari-614.1.11-branch/Source
Versioning.
WebKit-7614.1.11.8
- 5:19 PM Changeset in webkit [293958] by
-
- 2 edits in trunk/LayoutTests
[WinCairo][WK1] accessibility/aria-combobox-control-owns-elements.html is crashing after 250325@main
https://bugs.webkit.org/show_bug.cgi?id=240218
<rdar://problem/92929718>
Unreviewed test gardening.
- platform/wincairo-wk1/TestExpectations: Skip it.
Canonical link: https://commits.webkit.org/250404@main
- 10:08 AM Changeset in webkit [293957] by
-
- 2 edits in trunk
Introduction.md: Fix typos found by mcatanzaro
https://bugs.webkit.org/show_bug.cgi?id=240211
Reviewed by Tim Nguyen.
Fixed typos.
- Introduction.md:
- 12:12 AM Changeset in webkit [293956] by
-
- 15 edits in trunk
Avoid resolving style for elements that only inherit changes from parent
https://bugs.webkit.org/show_bug.cgi?id=240132
<rdar://problem/92867346>
Reviewed by Sam Weinig.
Source/WebCore:
When an inherited property changes we need to update all descendant styles too. Currently this
is done by simply running the full style resolution for them including selector matching and
style building steps.
In the common case nothing changes in descendants expect the inherited properties. This patch implements
a fast-path mechanism that allows us to simply copy the relevant properties from the parent, skipping
all the other work. This is possible if we can prove that the value of these properties is not changed
by any rules targeting the child and that there are no other properties affected by this value change.
The mechanism is only implemented for the 'color' property for now. It can be expanded for other properties later.
It would be especially useful for custom properties.
- css/CSSProperties.json:
- css/makeprop.pl:
Add "fast-path-inherited" codegen property that disables the fast-path if the property is explicitly mutated.
(generateInitialValueSetter):
(generateValueSetter):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::fastPathInheritFrom):
Inherit fast path properties.
(WebCore::RenderStyle::fastPathInheritedEqual const):
(WebCore::RenderStyle::nonFastPathInheritedEqual const):
Test for fast-path property changes.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::disallowsFastPathInheritance const):
(WebCore::RenderStyle::setDisallowsFastPathInheritance):
Track if can use the mechanism.
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
- rendering/style/StyleInheritedData.cpp:
(WebCore::StyleInheritedData::operator== const):
(WebCore::StyleInheritedData::fastPathInheritedEqual const):
(WebCore::StyleInheritedData::nonFastPathInheritedEqual const):
(WebCore::StyleInheritedData::fastPathInheritFrom):
- rendering/style/StyleInheritedData.h:
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueFill):
(WebCore::Style::BuilderCustom::applyValueStroke):
- style/StyleBuilderState.cpp:
(WebCore::Style::BuilderState::colorFromPrimitiveValueWithResolvedCurrentColor const):
Color value 'currentcolor' is mostly resolved during use time but in the few places we still resolve it during style building
we need to disable the fast-path, since it makes other properties depend on 'color' property.
- style/StyleChange.cpp:
(WebCore::Style::determineChange):
New style change type for fast-path inheritance.
- style/StyleChange.h:
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::styleForStyleable):
Resolve by just copying properties from the parent.
(WebCore::Style::TreeResolver::computeDescendantsToResolve):
(WebCore::Style::TreeResolver::resolveElement):
(WebCore::Style::TreeResolver::determineResolutionType):
Use fast-path if the only reason we are resolving this element is that some supported inherited property changed.
(WebCore::Style::TreeResolver::resolveComposedTree):
(WebCore::Style::TreeResolver::shouldResolveElement): Deleted.
- style/StyleTreeResolver.h:
Tools:
- Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.check_codegen_properties):